文档介绍:基于 AT91RM9200 的触摸屏驱动及三点校正算法
徐杨 12 ,乔卫民 1,赵中 1
(,甘肃兰州 730000 ;
,北京 100039)
摘要:的优势,随着性能的提高和价格的下降,嵌入式系统的应用也更加的普
-Linux操作系统下,基于USB接口的五线电阻触摸屏的嵌入式驱
动程序和一种可用于纠正一些常见机械性误差的触摸屏三点校准算法,驱动的编译配置和算
法的实现。由于校准算法简单、灵活,用软件实现,可降低嵌入式系统中的成本,提高产品
质量。
关键字:AT91RM9200,三点校准算法,驱动程序,触摸屏
中图分类号: 文献标识码:A
0 引言:
伴随着公众对信息查询、检索的大量需求,作为未来人机交互主力军的触摸屏技术,也
越来越受到人们的关注。触摸屏(touchscreen) 既可以作为一个显示终端用于输出,也可
以作为输入设备使用,同时配合简单易用的图形界面、清楚明了的菜单,即使对计算机一无
所知的人,只需轻轻点击几下,就能完成对主机的操作。本文研究将 ARM9 控制器与触摸屏
技术结合起来,讨论嵌入式系统中的触摸屏驱动和触摸屏效验算法,配合使用嵌入式 GUI,
提供一个嵌入式触摸屏的解决方案。
1 触摸屏和 AT91RM9200 简介
触摸屏简介
触摸屏输入系统由触摸检测部件、触摸屏控制器和微控制器组成;触摸检测部件安装在
显示器屏幕前面,用于检测用户触摸位置,接受后送触摸屏控制器;而触摸屏控制器的主要
作用是从触摸点检测装置上接收触摸信息,并将它转换成触点坐标,再送给微控制器,它同
时能接收微控制器发来的命令并加以执行。本文研究所使用的触摸屏控制器是台湾鑫科
(egalax)公司的五线电阻式触摸屏控制器,本文中它就是通过USB接口与ARM系统连接的。
AT91RM9200 简介
AT91RM9200 基于 ARM920T ARM Thumb 处理器,它集成了丰富的系统和应用外设及
标准接口,系统芯片内外集成了各种外围功能模块和标准接口,为各种高性能、大计算量的
嵌入式应用提供了一种灵活的性价比高的解决方案。
2 嵌入式触摸屏驱动
1 usb子系统原理
触摸屏控制器采用的是台湾鑫科(egalax)公司的五线电阻式触摸屏控制器,本文中它
,因此触摸屏驱动程序必须符合ARM-Linux中USB的规范。
ARM-Linux对USB支持可被分为三层。最底层包含主控器,向硬件及其调度设施提供一个
通用接口。中间层处理设备连接和断开,设备的基本初始化,驱动程序的选择,通信通道(管
道)和资源管理。顶层包含支持特定(类)设备的各个驱动程序。本文要讨论的驱动程序就
是位于顶层中的支持特定类的设备驱动程序。
2 触摸屏驱动程序接口
在Linux kernel源码目录中driver/usb/usb-
1
USB驱动程序。我们称为USB骨架。通过它我们仅需要修改少量的部分,就可以完成触摸屏USB
设备的驱动。触摸屏USB驱动首先要做的事就是在初始化函数中调用u