触摸屏控制器驱动程序设计.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
触摸屏控制器驱动程序设计 在便携式的电子类产品中,触摸屏由于其便、灵活、占用空间少等优点,已 经逐渐取代键盘成为嵌入式计算机系统常选用的人机交互输入设备。 触摸屏输入系统由触摸屏、触摸屏控制器、微控制器及其相应的驱动 程序构成。本文从触摸屏控制器的驱动程序设计着手,介绍触摸屏控制 器 ADS7843 的内部结构及工作原理和在嵌入式 Linux 操作系统中基于 PXA255 微处理器的 ADS7843 驱动程序设计。 1 触摸屏控制器 ADS7843 的介绍 1.1ADS7843 的内部结构 ADS7843 内驻一个多路低导通电阻模拟开关组成的供电-测量电路网络、 12bit 逐次逼近 A/D 转换器和异步串行数据输入输出,ADS7843 根据微 控制器发来的不同测量命令导通相应的模拟开关,以便向触摸屏电极对 提供电压,并把相应电极上的触点坐标位置所对应的电压模拟量引入 A/D 转换器,图 1 为 ADS7843 内部结构图。X+、Y+、X-、Y-为触摸屏电 极模拟电压输入;CS 为 ADS7843 的片选输入信号,低电平有效;DCLK 接 外部时钟输入,为芯片进行 A/D 转换和异步串行数据输入/输出提供时 钟;DIN 串行数据输入端,当 CS 低电平时,输入数据在时钟的上升沿将串 行数据锁存;DOUT 串行数据输出端,在时钟下降沿数据由此移位输出, 当 CS 为高电平时,DOUT 呈高阻态。BUSY 为系统忙标志端,当 CS 为低 电平,且 BUSY 为高电平时,表示 ADS7843 正在进行数据转换;VREF 参考 电压输入端,电压值在+1V 到+VCC 之间变化;PENIRQ 为笔触中断,低电平 有效;IN3、IN4 为辅助 ADC 转换输入通道;+VCC 为电源输入。 图 1ADS7843 内部结构 1.2ADS7843 的转换时序 ADS7843 完成一次数据转换需要与微控制器进行 3 次通信,第一次微处 理器通过异步数据传送向 ADS843 发送控制字,其中包括起始位、通道 选择、8/12 位模式、差分/单端选择和掉电模式选择,其后的两次数据 传送则是微控制器从 ADS7843 取出 16bitA/D 转换结果数据(最后四位 自动补零),每次通信需要 8 个时钟周期,完成一次数据转换共需 24 个时 钟周期,图 2 为 ADS7843 转换时序。 图 2ADS7843 转换时序 2ADS7843 与 PXA255 硬件接口 PXA255 微处理器是 Intel 公司生产的第二代基于 32 位 XScale 微架构的 集成系统芯片(ISOC),PXA255 具有高性能、低功耗等优点,它除了 XScale 微内核外,还集成了许多适用于手持设备市场需要的外围设备。图 3 为 ADS7843 触摸屏控制器与 PXA255 微处理器的硬件连线示意图。当 屏触发生时 ADS7843 向 PXA255 发出中断请求,由 PXA255 响应该中断 请求,启动通信过程,读取 ADS7843 的转换结果,从而得到触摸点的坐标。 ADS7843 各信号的时序受外部输入时钟信号频率的影响,一旦外部输入 时钟频率固定,各信号的时序便完全确定,因此需要配置 PXA255 的接口 信号时序,使之完全符合 ADS7843 的时序。 图 3ADS7843 触摸屏控制器与 PXA255 微处理器的连线示意图 3ADS7843 驱动程序的设计 Linux 作为一个宏内核操作系统,其设备驱动都在内核,即系统空间实现, 实现方式有两种,一种是将有关的设备驱动程序和数据结构静态地连接 在内核映像中;另一种是将具体的设备驱动程序和数据结构独立加以编 译,成为可安装的模块,需要时由应用程序通过系统调用动态地予以安 装或拆卸。设备驱动的实现方法也有两种,一种是轮询(polling)方式,另 一种是中断(inter-rupt)方式,轮询方式对设备的操作完全由 CPU 掌握,外 部设备则完全处于被动状态。中断方式是由外部设备主动提出申请, CPU 响应申请后对外部设备进行处理,是现在常用的设备驱动方式。 Linux 的设备驱动具有两个显著的特点,其一是把所有的设备视为一种 设备文件,每个设备都呈现于文件系统的/dev 目录下,设备驱动与文件 操作具有相同的界面和语义,并通过同一组系统调用进行操作;另一个 显著特点是 Linux 的设备驱动有着分明的层次和结构。 Linux 内核的新近版本为设备入口提供了一种特殊的文件系统,即设备 文件系统 devfs(devicefilesystem)。新的 devfs 机制的优点在于:①各种 设备驱动模块动态地向系统登记,设备初始化时在/dev 目录下创建设备 入口点,移除设备时将其删除。②设备驱动程序可以指定设备名、所 有者和权

文档评论(0)

fangqing12 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档