主题 : MINI210 四线电阻屏怎么驱动 复制链接 | 浏览器收藏 | 打印
嵌入式。把我嵌入吧!
级别: 新手上路
UID: 107511
精华: 0
发帖: 12
金钱: 60 两
威望: 12 点
综合积分: 24 分
注册时间: 2014-08-27
最后登录: 2016-04-12
楼主  发表于: 2015-05-11 14:50

 MINI210 四线电阻屏怎么驱动

看DS,MINI210能够驱动4线电阻屏。driver下也有驱动s3c2410_ts。
我把四线接到ADC1的AIN6~9,menuconfig也已经选中adc和s3c2410_ts,但是触摸屏还是没有反应。
看adc驱动,有一段是选用adc1的:
#if defined(CONFIG_S3C_DEV_ADC1)
    tmp = readl(adc->regs + S3C2410_ADCCON);
    tmp |= S3C64XX_ADCCON_TSSEL;
    writel(tmp, adc->regs + S3C2410_ADCCON);
    adc->regs += 0x1000;
#endif
那么,问题来了,CONFIG_S3C_DEV_ADC1在哪里定义?
级别: 新手上路
UID: 30372
精华: 0
发帖: 6
金钱: 30 两
威望: 6 点
综合积分: 12 分
注册时间: 2010-10-15
最后登录: 2015-05-26
1楼  发表于: 2015-05-14 23:51
同样的问题,希望友善之臂能够做好售后服务工作,谢谢!
级别: 论坛版主
UID: 103400
精华: 0
发帖: 434
金钱: 2235 两
威望: 447 点
综合积分: 868 分
注册时间: 2014-04-24
最后登录: 2016-10-10
2楼  发表于: 2015-05-20 09:59

 回 1楼(yao2008yao) 的帖子

关于一线触摸
随着现代CPU 的频率越来越高,LCD 触摸屏的信号容易受到CPU 的干扰,从而导致
触摸不准确。我们为了解决这个问题,开发了一个单片机程序,功能是将LCD 触摸屏的信
号从模拟信号转换成数字信号来进行传输,从而避免了干扰,实现更好的数据采集。单片机
与主板之间的传输协议,我们称之为一线协议。
工作原理:
一线触摸没有劫持LCD 显示屏,劫持了LCD 背光控制,不使用CPU 自带的触摸屏接
口和CPU 内部的AD 转换,将触摸屏引出的4 根线连到了自己的AD 转换芯片上,即用一
个单片机控制ADS7846 芯片AD 转换,再将数据通过单总线的方式与CPU 通讯。一线触摸
协议还具有LCD 背光开关和亮度调节功能。
硬件上原理图:
如图(以210 为例)所示:底板没有使用CPU 自带的触摸控制引脚连接LCD 驱动板,
只使用了CPU 的一根GPIO(LCD 座子的第31 脚)跟LCD 驱动板通讯。

开发板上对应的设备名:/dev/touchsreen-1wire
Linux 内核驱动中的实现代码:内核在跟单片机设备通讯时(内核空间的数据复制到用
户空间,即单片机,或者把用户空间的数据复制到内核空间),单片机请求获取LCD 触摸屏
的信息,然后获取LCD 的触摸屏数据,最后获取LCD 的背光控制。
有一个简单的状态机,用CPU 的定时器中断来处理一线的GPIO 的读/写,还用了内核的
timer。