LCD屏大集合 1-wire

  • chensy
  • LV4工程师
  • |      2016-09-19 14:31:14
  • 浏览量 6699
  • 回复:1
一线触摸:
  • 在大部分的ARM主控板中,我们发现,直接使用CPU自带的ADC转换器并不能很好的支持大尺寸(7寸以上)的四线电阻触摸屏,市面上一般采用更加专业的USB或串口触摸屏扩展模块来解决。为了节省ARM主控芯片的有限资源以及减少外扩,我们专门开发了只使用一个普通GPIO就可以实现专业触摸效果的替代方案,并把它集成到我们的LCD模块驱动板中,我们称之为“一线触摸(1-Wire)”。它的基本原理是,使用一个低成本的MCU连接一个专业的触控芯片(在此我们使用的是ADS7843或兼容芯片),采集并处理四线电阻模拟信号,并把滤波(未校准)后的稳定原始数据通过GPIO送给ARM主控,经我们长期反复测试,即使在19寸这样大的电阻触摸屏上,也可以实现非常精准的触摸效果,不会出现漂移抖动的现象。
  • 另外,当今12寸以内的LCD显示屏,大都采用了LED背光,我们顺便也把背光调节部分也交给MCU来处理,并设置了统一的调节数值区间,最后通过“一线触摸”的GPIO传给ARM主控,这样在ARM端就可以非常方便的来设置背光了。
  • 与此同时,我们还为我们设计开发的每一款带“一线触摸”的LCD模块设置了编号存储在MCU中,这样通过一线通讯读取到的编号,就可以知道这个LCD模块的具体类型了,也就可以在bootloader和内核中自动匹配相应的LCD驱动参数,以此来实现无需修改任何配置,即插即用带”一线触摸”的LCD模块。
  • 在电容触摸LCD模块中,我们则去掉了电阻触控芯片,而保留了背光调节和存储LCD类型编号这2个功能,因此电容触摸通讯依然是标准的I2C接口。
  • 需要注意的是,我们实现的“一线触摸”的通讯,和通常所说的单总线接口是不同的。在ARM主控端内部,我们实际采用了一路pwm timer(不是pwm管脚哦)来实现固定的通讯频率(9600Hz),详细请查看驱动源代码。
  • 0
  • 收藏
  • 举报
  • 分享
我来回复

登录后可评论,请 登录注册

所有回答 数量:1
炫Q 2016-09-20
还以为是体验帖呢
0   回复
举报
发布
x
收藏成功!点击 我的收藏 查看收藏的全部帖子