新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于S3C2410微处理器的触摸屏设计

基于S3C2410微处理器的触摸屏设计

作者: 时间:2013-02-19 来源:网络 收藏

基于S3C2410微处理器的触摸屏设计
图4 定时中断服务程序流程图

在s3c2410_ts_init()中的另一个重要任务是执行接口函数s3c2410_ts_open(),在这个函数中初始化缓冲区的头尾指针、状态变量及事件等待队列。

module_exit()

该函数调用s3c2410_ts_exit(),主要任务是撤销驱动程序向内核的登记以及释放申请的中断资源。

接口函数s3c2410_ts_read( )

这个函数实现的任务是将事件队列从设备缓存中读到用户空间的数据缓存中。实现的过程主要是通过一个循环,只有在事件队列的头、尾指针不重合时,才能成功的从tsdev.tail指向的队列尾部读取到一组触摸信息数据,并退出循环。否则调用读取函数的进程就要进入睡眠。

坐标读取函数s3c2410_get_XY()

在定时器中断处理程序中,当查询到与相连的EINT5/GPF5为低电平时,即表示有有效事件,应该调用s3c2410_get_XY()函数采集笔触信息。

ADS7843有多种转换时序,时序规定了芯片与设备及CPU间是如何配合工作的。设计中采用16个时钟周期启动一次转换的坐标转换方式。ADS7843的操作时序如图5所示。坐标的读取是通过多次采集取平均值的方法,以X坐标的读取为例,其读取过程如图6所示。循环过程中的每一步都在8个时钟周期内完成,数据的处理严格按照时序进行,Y坐标的采集与X坐标类似。

基于S3C2410微处理器的触摸屏设计
图5 ADS7843操作时序

基于S3C2410微处理器的触摸屏设计
图6 X坐标采集流程

结语

的设计中,抗干扰设计是难点和重点,直接关系到触摸屏的工作性能。实验发现坐标采集时,丢弃第一次采集值读取的坐标转换值效果较好。本文所介绍的驱动程序已经在博创公司的教学实验设备UP-NETARM2410-S平台上经过实际验证,从数据稳定性和系统负载的角度看,效果良好。同时通过修改程序内部的定时器时钟频率可以改变笔在屏上移动所产生的数据量。

参考文献:

1. 毛德操,胡希明著.Linux内核源代码情景分析.杭州:浙江大学出版社,2001

2. 孙天泽,袁文菊,张海峰等.嵌入式设计及Linux驱动开发指南.北京:电子工业出版社,2005

3. R Love. Linux内核设计与实现. 陈莉君,康华,张波等译.北京:机械工业出版社,2006

4. 殷惠莉,刘少君,黄道平.基于uClinux触摸屏的设计.电子工程师.2004(2) .


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭