咨询热线:026-490310721

基于ARM处理器S3C2440和Linux的I2C触摸屏设计‘鸭脖在线网址’

本文摘要:第0章随着计算机相关技术的发展ARM嵌入式系统得到了更普遍的应用,与人们生活的融合也更密切。触摸面板设备由于其友好的嵌入性,操作者具有灵活性,输入速度慢,在这样的嵌入领域被广泛利用。嵌入式Linux系统具有开发源代码、核心稳定性、削减性等特征,有很多商业公司和自由软件开发者的眼睛,成为嵌入式系统领域不可或缺的操作系统之一。 触摸屏是输出设备,操作者非常容易学习,可靠性低,不占用多馀的空间,是最常用的便携系统输出设备。

鸭脖在线网址

第0章随着计算机相关技术的发展ARM嵌入式系统得到了更普遍的应用,与人们生活的融合也更密切。触摸面板设备由于其友好的嵌入性,操作者具有灵活性,输入速度慢,在这样的嵌入领域被广泛利用。嵌入式Linux系统具有开发源代码、核心稳定性、削减性等特征,有很多商业公司和自由软件开发者的眼睛,成为嵌入式系统领域不可或缺的操作系统之一。

触摸屏是输出设备,操作者非常容易学习,可靠性低,不占用多馀的空间,是最常用的便携系统输出设备。特别是电阻式触摸屏具有结构非常简单、成本低、透明效果高、工作环境和外界几乎被隔断、不怕灰尘和水分、低分辨率、高速传输反应、一次校正、稳定性低、不浮游等特征,因此在工业控制领域1电阻式触摸面板的工作原理触摸面板安装在显示器的前端,主要由触摸面板检测部和触摸面板控制器两部分组成。

根据工作原理和传输信息的介质,触摸面板可分为电阻式、电容感应式、红外线式、表面声波式。其中的电阻式触摸面板以表面保护层和基层之间的2层半透明导电层氧化铟为目标,这2层导电层分别对应于x、y轴,它们之间绝缘着微小半透明绝缘粒子。当物品被按压到触摸面板上时,不施加压力,触摸面板的两个导电层被连接,触摸面板检测部检测到用户的接触方位时,将取得的方位信息发送到触摸面板控制器TSC2007,处理该写入信号,去除电压信号2硬件构成TSC2007是美国德克萨斯仪器(TI )公司发售的下一代4线式触摸面板控制器,在与触摸面板对应时,如果检测到笔和手指的点接触屏幕,则立即取得该点的方位信号,进行触摸TSC2007是典型的阶段性方法型A/D转换器,以容量再生产为基础,包括采样/维持功能。

TSC2007的插槽几乎与TPSC2003的插槽兼容,具有芯片上温度测量、接触压力测量和预处理三种功能。TSC2007的I2C模块以标准模式、高速模式和超高速模式展开数据传输和通信。为了与其他ARM芯片兼容,不使用S3C2440内置的A/D地下通道,而是使用外宽控制器TSC2007,通过I2C总线方式与S3C2440进行通信。

鸭脖在线网址

在嵌入式系统的I2C总线中,S3C2440是总线上的主机,TSC2007是指,I2C系统有两个插槽,分别是串行数据线SDA和串行时钟线SCL。因此,设计中的S3C2440的GPE14和GPE15分别为I2C总线的SCL和SDA线,其触摸面板控制器模块电路如图1右图所示,图中的SDA和SCL线是双向的。3在触摸屏驱动程序Linux系统中,设备驱动程序是函数的子集,包括设备服务子程序和中断处理程序。

其中的设备服务子程序全部包含与设备相关的代码,各设备服务子程序只处理一个设备或密切相关的设备,接受从与设备相关的软件中抽象出的指令并继续执行。继续执行催促时,具体操作是根据控制器对驱动器取得的模块,利用中断机制调用中断服务子程序,根据设备完成了该催促。设备驱动程序通过结构file_operations与文件系统连接,设备的各种操作者的条目函数存储在结构file_operations中。这包括open ()、release ()、read ()和write。

这样,明确了应用程序不能不考虑操作员是设备还是普通文件而作为文件来处理,具备非常明确统一的I/O模块。该触摸面板的file_operations结构被定义为,本结构的主要作用是为了不同的设备获取完全一致的模块。像应用程序那样,对不同设备展开读书的操作者被用于read函数,导出操作者被用于write函数。

因此,制作触摸屏驱动程序的实际工作并不简单。3.1驱动工作流程首先初始化触摸面板控制器,然后初始化脉宽调制计时器(PWMTIMER ),自由选择计时器4作为时钟,定义10ms中断1次,触摸面板采样时间基准,即10ms 同体的触摸面板中断矢量和计时器中断矢量被传递给调用程序,触摸面板中断处理程序判别触摸面板是否被按下,触摸面板被按下后,向全局变量Flag_Trouch发送Touch_Down 否则,代入Touch_Up计时器中断处理程序识别出Flag_Touch被分配给Touch_Down时,为了控制触摸面板采样,而设置在全局变量StartSample中然后,系统通过S3C2440_get_xy ()获取采样值,对获取的触摸面板数据展开处理。接下来是触摸屏校准,最后中断的释放和注册模块的修理。

其明确的触摸面板驱动的工作流程图如图2右图所示。3.2设备初始化模块设备初始化模块的主要功能是设备初始化、向内核注册设备等。明确的构筑函数是初始化模块利用内核取得的request_irq函数,展开登录触摸笔的按下和摇晃的中断号码,将中断号码和中断服务函数关联起来。使用devfs_register_chrdev函数在系统中注册字符类型设备。

最后注册的计时器被中断,用于控制触摸面板的数据采样。3.3采样值的取得首先开始TSC2007的A/D切换。等一会儿,然后调用S3C2440_get_xy ()函数。该函数获取触摸面板的方位,首先从TSC2007的一条地下路径获取x的坐标值,然后从另一条地下路径获取y的坐标值,判别返回触摸点的坐标值是否在有效范围内,如果在有效范围内,则起作用。

在read函数中,通过调用copy_to_user(buffer,dbuf,length ),可以将内核空间数据复制到用户空间。3.4样本值的处理函数Touch_CoordinateConversion完成了触摸屏的样本值,转换为表明坐标。

亚博最新版本登录

其中,TOUCH_MAX_Y和TOUCH_MIN_Y是触摸面板的x坐标采样值的其次和最小值。x坐标也一样。使用320240的TFT屏幕时,y坐标的切换步骤如下。

本文的触摸面板设计使用3点校准的方法,与2点校准相比,3点校准的模型考虑到改变相位和旋转应用中首先选择3个距离远、不在1行上3个作为校准输入者的独立国家采样点,它们的适当的触摸面板采样坐标为P0(x0,y0 )、P1(x1,y1 )、P2(x2,y2 ) 直角坐标平面的两点p和PD,定义P是触摸面板空间的坐标点,PD是显示器空间的坐标点,P可以经过旋转、比例、旋转得到PD坐标。PD和P点之间不存在线性关系: xD=Ax By C,yD=Dx Ey F。

在同一设备中,其中的a、b、c、d、e、f是常数,称为校准常数,因此在校准触摸面板时,只需求解这6个常数,即可构建触摸面板空间切换到显示空间。3.6在中断释放和注册模块的修理设计中,通过调用s3c2440_ts_cleanup_module0构建中断释放和设备修理,分别在初始化过程中释放。该申请人的IRQ_TIMER4、IRQ_ADC_DONE、IRQ_TC的中断和字符设备的接口函数devfs_register_chrdev ()明确了4结束语句基于S3C2440。

TSC2007的初始化主要是初始化TSC2007与S3C2440的I2C模块连接,在驱动流程中,一按笔,人就中断处理程序,加载x,y坐标,向采样函数输入copy_to_user(buffer 结合实际的硬件平台,根据该嵌入式Linux下的I2C总线模块的触摸面板设计,使用处理样本数据的方法,同时运用改进的校准方法,使该触摸面板驱动更实际。


本文关键词:亚博最新版本登录,基于,ARM,处理器,S3C2440,和,Linux,的,I2C,触摸屏

本文来源:亚博网站注册-www.ronghezs.com