设为首页 加入收藏

TOP

ARM-Linux驱动-触摸屏驱动分析
2014-11-24 12:42:39 来源: 作者: 【 】 浏览:0
Tags:ARM-Linux 驱动 触摸屏 分析

1、下面是ADC和触摸屏接口的模块图



当触摸屏接口使用时,XM或YM接触摸屏接口的地


当触摸屏接口不使用时,XM或YM接模拟信号,做普通ADC使用。


2、触摸屏接口的几种操作模式


(1) 正常转换模式


通过设置ADCCON(adc控制寄存器)来完成初始化,并对ADCDAT0数据寄存器进行操作。


(2) 分离XY坐标模式


X坐标模式写X坐标转换数据到ADCDAT0,触摸屏接口产生中断到中断控制寄存器。Y坐标模式写Y坐标转换数据到ADCDAT1,触摸屏接口产生中断到中断控制寄存器。两种模


式可以选择一种模式工作。


相应的引脚连接:



(3) 自动XY坐标模式


触摸屏控制器连续的转换X和Y的坐标,在X坐标转换后的值存入ADCDAT0后,自动将Y坐标转换后的值存入ADCDAT1,触摸屏接口产生中断到中断控制器。


相应的引脚连接:



(4) 等待中断模式


当光标被按下,触摸屏控制器产生中断IRQ_TC,当产生中断信号时,等待中断模式必须被清除。


引脚定义如下:



3、下面是s3c2440触摸屏驱动的分析



从触摸屏被按下到系统相应的过程如下:


(1) 当触摸屏感觉到触摸,触发IRQ_TC中断,然后读取触摸屏控制寄存器的值,判断是否被按下,如果被按下,启动定时器,执行touch_timer_fire()函数启动ADC转换。


(2) ADC转换完成后,会触发IRQ_ADC中断,执行相应的中断处理函数,如果ADC转换次数小于4,再次启动ADC转换;如果ADC转换次数为4,则启动一个系统滴答定时器,执行touch_timer_fire()函数


(3) 执行定时器服务程序时,如果此时触摸屏仍被按下,则上报事件和坐标数据,重复(2);如果没有被按下,上报时间和坐标数据,将触摸屏控制寄存器设置为中断等待状态
可见,触摸屏驱动的服务是一个封闭的循环过程。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇u-boot-2011.06在基于s3c2440开发.. 下一篇S3C2440上touchscreen触摸屏驱动

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·常用meta整理 | 菜鸟 (2025-12-25 01:21:52)
·SQL HAVING 子句:深 (2025-12-25 01:21:47)
·SQL CREATE INDEX 语 (2025-12-25 01:21:45)
·Shell 传递参数 (2025-12-25 00:50:45)
·Linux echo 命令 - (2025-12-25 00:50:43)