触摸屏控制芯片ADS7843中文资料[1].docx

上传人:修**** 文档编号:6873322 上传时间:2022-02-12 格式:DOCX 页数:16 大小:570.81KB
返回 下载 相关 举报
触摸屏控制芯片ADS7843中文资料[1].docx_第1页
第1页 / 共16页
触摸屏控制芯片ADS7843中文资料[1].docx_第2页
第2页 / 共16页
点击查看更多>>
资源描述

《触摸屏控制芯片ADS7843中文资料[1].docx》由会员分享,可在线阅读,更多相关《触摸屏控制芯片ADS7843中文资料[1].docx(16页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、网址:QQ: 21414861如侵犯您的利益和著作权请发信到【langmanbuluo】我们将收到信两个工作日内删除!触摸屏控制芯片ADS7843中文资料ADS7843是一个内置12位模数转换、低导通电阻模拟开关的串行接口芯片。供电电压2.75 V,参考电压VREF为1 V+VCC,转换电压的输入范围为0 VREF,最高转换速率为125 kHz。ADS7843引脚图及引脚功能说明了:ADS7843的引脚配置如图3所示。表1为引脚功能说明,图4为典型应用。aDS7843引脚说明ADS7843典型应用电路2.2 ADS7843的内部结构及参考电压模式选择ADS7843之所以能实现对触摸屏的控制,是

2、因为其内部结构很容易实现电极电压的切换,并能进行快速A/D转换。图5所示为其内部结构,A2A0和SER/为控制寄存器中的控制位,用来进行开关切换和参考电压的选择。ADS7843支持两种参考电压输入模式:一种是参考电压固定为VREF,另一种采取差动模式,参考电压来自驱动电极。这两种模式分别如图6(a)、(b)所示。采用图6(b)的差动模式可以消除开关导通压降带来的影响。表2和表3为两种参考电压输入模式所对应的内部开关状况。2.3 ADS7843的控制字及数据传输格式ADS7843的控制字如表4所列,其中S为数据传输起始标志位,该位必为1。A2A0进行通道选择(见表2和3)。MODE用来选择A/D

3、转换的精度,1选择8位,0选择12位。SER/选择参考电压的输入模式(见表2和3)。PD1、PD0选择省电模式:00省电模式允许,在两次A/D转换之间掉电,且中断允许;01同00,只是不允许中断;10保留;11禁止省电模式。为了完成一次电极电压切换和A/D转换,需要先通过串口往ADS7843发送控制字,转换完成后再通过串口读出电压转换值。标准的一次转换需要24个时钟周期,如图7所示。由于串口支持双向同时进行传送,并且在一次读数与下一次发控制字之间可以重叠,所以转换速率可以提高到每次16个时钟周期,如图8所示。如果条件允许,CPU可以产生15个CLK的话(比如FPGAs和ASICs),转换速率还

4、可以提高到每次15个时钟周期,如图9所示。2.4 A/D转换时序的程序设计ADS7843的典型应用如图4所示。假设P接口与51单片机的P1.3P1.7相连,现以一次转换需24个时钟周期为例,介绍A/D转换时序的程序设计。; A/D 接口控制线DCLK BIT P1.3CS BIT P1.4DIN BIT P1.5BUSY BIT P1.6DOUT BIT P1.7; A/D 通道选择命令字和工作寄存器CHX EQU 094H ;通道X+的选择控制字CHY EQU 0D4H;通道Y+的选择控制字CH3 EQU 0A4HCH4 EQU 0E4HAD_CH EQU 35H ;通道选择寄存器AD_RE

5、SULTH EQU 36H ;存放12 bit A/D值AD_RESULTL EQU 37H; 存放通道CHX+的A/D值CHXAdResultH EQU 38HCHXAdResultL EQU 39H; 存放通道CHY+的A/D值CHYAdResultH EQU 3AHCHYAdResultL EQU 3BH; 采集通道CHX+的程序段(CHXAD)CHXAD: MOV AD_CH,#CHXLCALL AD_RUNMOV CHXAdResultH,AD_RESULTHMOV CHXAdResultL,AD_RESULTLRET; 采集通道CHY+的程序段(CHYAD)CHYAD: MOV A

6、D_CH,#CHYLCALL AD_RUNMOV CHYAdResultH,AD_RESULTHMOV CHYAdResultL,AD_RESULTLRET; A/D转换子程序(AD_RUN); 输入: AD_CH-模式和通道选择命令字; 输出: AD_RESULTH,L ;12 bit的A/D转换值; 使用: R2 ;辅助工作寄存器AD_RUN:CLR CS ; 芯片允许CLR DCLKMOV R2,#8 ;先写8 bit命令字MOV A,AD_CHAD_LOOP:MOV C, ACC.7MOV DIN,C ;时钟上升沿锁存DINSETB DCLK ;开始发送命令字CLR DCLK ;时钟脉

7、冲,一共24个RL ADJNZ R2,AD_LOOPNOPNOPNOPNOPADW0: JNB BUSY,AD_WAIT ;等待转换完成SJMP ADW1AD_WAIT:LCALL WATCHDOGNOPSJMP ADW0CLR DINADW1: MOV R2,#12 ;开始读取12bit结果SETB DCLKCLR DCLKAD_READ:SETB DCLKCLR DCLK ;用时钟的下降沿读取MOV A,AD_RESULTLMOV C,DOUTRLC AMOV AD_RESULTL,AMOV A,AD_RESULTHRLC AMOV AD_RESULTH,ADJNZ R2,AD_READM

8、OV R2,#4 ;最后是没用的4个时钟IGNORE:SETB DCLKCLR DCLKDJNZ R2,IGNORESETB CS ;禁止芯片ANL AD_RESULTH,#0FH ;屏蔽高4 bitRET2.5 A/D转换结果的数据格式ADS7843转换结果为二进制格式。需要说明的是,在进行公式计算时,参考电压在两种输入模式中是不一样的。而且,如果选取8位的转换精度,1LSB=VREF/256,一次转换完成时间可以提前4个时钟周期,此时串口时钟速率也可以提高一倍。本文来自: DZ3W.COM 原文网址:繁體中文 English 首页走进龙人服务项目成功案例技术支持与下载新闻中心联系我们下载首

9、页最新资讯推荐资料PCB技术PCB软件IC芯片解密SMT技术电路板维修嵌入式开发下载分类每天更新窗体顶端软件文章 窗体底端热门搜索: PCB抄板 芯片解密 样机制作 抄板软件 嵌入式 IC资料 PCB设计网站首页 技术支持与下载 最新技术资料嵌入式技术 正文推荐技术资料类别嵌入式技术PCB抄板软件基础知识 制造工艺 PCB板极设计 IC资料 PCB抄板常用软件下载基于S3C2410的ADS7843触摸屏驱动程序设计 来源:Internet 发布者:站长 时间:2009-4-30 阅读:1308次触摸屏介绍 随着多媒体信息查询的与日俱增,人们越来越多地谈到触摸屏,因为触摸屏不仅适用于中国多媒体信

10、息查询的国情,而且触摸屏具有坚固耐用、反应速度快、节省空间、易于交流等许多优点。利用这种技术,我们用户只要用手指轻轻地碰计算机显示屏上的图符或文字就能实现对主机操作,从而使人机交互更为直截了当,这种技术大大方便了那些不懂电脑操作的用户。一、触摸屏的工作原理 为了操作上的方便,人们用触摸屏来代替鼠标或键盘。工作时,我们必须首先用手指或其它物体触摸安装在显示器前端的触摸屏,然后系统根据手指触摸的图标或菜单位置来定位选择信息输入。触摸屏由触摸检测部件和触摸屏控制器组成;触摸检测部件安装在显示器屏幕前面,用于检测用户触摸位置,接受后送触摸屏控制器;而触摸屏控制器的主要作用是从触摸点检测装置上接收触摸信

11、息,并将它转换成触点坐标,再送给CPU,它同时能接收CPU发来的命令并加以执行。 二、触摸屏的主要类型 从技术原理来区别触摸屏,可分为五个基本种类:矢量压力传感技术触摸屏、电阻技术触摸屏、电容技术触摸屏、红外线技术触摸屏、表面声波技术触摸屏。本文主要介绍在三星S3C2410X微处理器的硬件平台上进行基于嵌入式Linux的触摸屏驱动程序设计。1硬件设计 SPI接口是Motorola推出的一种同步串行接口,采用全双工、四线通信系统,S3C2410X是三星推出的自带触摸屏触摸屏接口的ARM920T内核芯片,ADS7843为Burr-Brown生产的一款性能优异的触摸屏触摸屏控制器。本文采用SPI接口

12、的触摸屏触摸屏控制器ADS7843外接四线电阻式触摸屏触摸屏,这种方式最显著的特点是响应速度更快、灵敏度更高,微处理器与触摸屏触摸屏控制器间的通讯时间大大减少,提高了微处理器的效率。ADS7843与S3C2410的硬件连接如图1所示,鉴于ADS7843差分工作模式的优点,在硬件电路中将其配置为差分模式。图1触摸屏输入系统示意图2嵌入式Linux系统下的驱动程序 设备驱动程序是Linux内核的重要组成部分,控制了操作系统和硬件设备之间的交互。Linux的设备管理是和文件系统紧密结合的,各种设备都以文件的形式存放在/dev目录下,成为设备文件。应用程序可以打开、关闭、读写这些设备文件,对设备的操作

13、就像操作普通的数据文件一样简便。为开发便利、提高效率,本设计采用可安装模块方式开发调试触摸屏驱动程序。 设备驱动在加载时首先需要调用入口函数init_module(),该函数完成设备驱动的初始化工作。其中最重要的工作就是向内核注册该设备,对于字符设备调用register_chrdev()完成注册,对于块设备需要调用register_blkdev()完成注册。注册成功后,该设备获得了系统分配的主设备号、自定义的次设备号,并建立起与文件系统的关联。字符设备驱动程序向Linux内核注册登记时,在字符设备向量表chrdevs中增加一个device_struct数据结构条目,这个设备的主设备标识符用作这

14、个向量表的索引。向量表中的每一个条目,即一个device_struct数据结构包括两个元素:一个登记的设备驱动程序的名称的指针和一个指向一组文件操作的指针。这块文件操作本身位于这个设备的字符设备驱动程序中,每一个都处理特定的文件操作,比如打开、读写和关闭。所谓登记,就是将由模块提供的file_operations结构指针填入device_struct数据结构数组的某个表项。登记以后,位于上层的模块(内核)可以“看见”这个模块了。但是,应用程序却还不能“看见”它,因而还不能通过系统调用它。要使应用程序能“看见”这个模块或者它所驱动的设备,就要在文件系统中为其创建一个代表它的节点。通过系统调用mk

15、nod()创建代表此项设备的文件节点设备入口点,就可使一项设备在系统中可见,成为应用程序可以访问的设备。另外,设备驱动在卸载时需要回收相应的资源,令设备的相应寄存器值复位并从系统中注销该设备。 Linux操作系统通过系统调用和硬件中断完成从用户空间到内核空间的控制转移。设备驱动模块的功能就是扩展内核的功能,主要完成两部分任务:一个是系统调用,另一个是处理中断。图2是一个设备驱动模块动态挂接、卸载和系统调用的全过程。系统调用部分则是对设备的操作过程,比如open,read,write,ioctl等操作,设备驱动程序所提供的这组入口点由几个结构向系统进行说明,分别是file_operations数

16、据结构、inode数据结构和file 数据结构。内核内部通过file结构识别设备,通过file_operations数据结构提供文件系统的入口点函数,也就是访问设备驱动的函数,结构中的每一个成员都对应着一个系统调用。在嵌入式系统的开发中,我们一般仅仅实现其中几个接口函数:read、write、open、ioctl及release就可以完成应用系统需要的功能。写驱动程序的任务之一就是完成file_operations中的函数指针。3触摸屏驱动程序设计 触摸屏驱动程序中重要数据结构typedef struct unsigned short pressure; unsigned short x; u

17、nsigned short y; unsigned short pad; TS_RET; typedef struct unsigned int PenStatus; TS_RET bufMAX_TS_BUF;unsigned int head, tail;wait_queue_head_t wq; spinlock_t lock; TS_DEV; static struct file_operations s3c2410_fops = owner: THIS_MODULE, open: s3c2410_ts_open, read: s3c2410_ts_read, release: s3c2

18、410_ts_release,poll: s3c2410_ts_poll, ; 在程序中有三个重要的数据结构:用于表示笔触点数据信息的结构TS_RET,表示ADS7843中有关触摸屏控制器信息的结构TS_DEV,以及驱动程序与应用程序的接口file_operations结构的s3c2410_fops。TS_RET结构体中的信息就是驱动程序提供给上层应用程序使用的信息,用来存储触摸屏的返回值。上层应用程序通过读接口,从底层驱动中读取信息,并根据得到的值进行其他方面的操作。TS_DEV结构用于记录触摸屏运行的各种状态,PenStatus包括PEN_UP、PEN_DOWN和PEN_FLEETING。

19、bufMAX_TS_BUF是用来存放数据信息的事件队列,head、tail分别指向事件队列的头和尾。程序中的笔事件队列是一个环形结构,当有事件加入时,队列头加一,当有事件被取走时,队列尾加一,当头尾位置指针一致时读取笔事件的信息,进程会被安排进入睡眠。wq等待队列,包含一个锁变量和一个正在睡眠进程链表。当有好几个进程都在等待某件事时,Linux会把这些进程记录到这个等待队列。它的作用是当没有笔触事件发生时,阻塞上层的读操作,直到有笔触事件发生。lock使用自旋锁,自旋锁是基于共享变量来工作的,函数可以通过给某个变量设置一个特殊值来获得锁。而其他需要锁的函数则会循环查询锁是否可用。MAX_TS_

20、BUF的值为16,即在没有被读取之前,系统缓冲区中最多可以存放16个笔触数据信息。 s3c2410_fops就是内核对驱动的调用接口,完成了将驱动函数映射为标准接口。上面的这种特殊表示方法不是标准C的语法,而是GNU编译器的一种特殊扩展,它使用名字进行结构字段的初始化,它的好处体现在结构清晰,易于理解,并且避免了结构发生变化带来的许多问题。init_module函数 这是模块的入口函数。在函数内部通过s3c2410_ts_init( )实现模块的初始化工作。在本设计中设备与系统之间以中断方式进行数据交换。整个触摸屏触摸屏的驱动程序处理比较复杂,而且耗时较长,因而触摸屏触摸屏驱动程序不可能在中断

21、服务程序中完成。在Linux操作系统中一般把中断处理切为两个部分或两半。中断处理程序是上半部接收到一个中断,它就立即开始执行,但只做有严格时限的工作,例如对接收的中断进行应答或复位硬件。这些工作都是在所有中断被禁止的情况下完成的,能够被允许稍后完成的工作会推迟到下半部去。在Linux中下半部的实现有多种机制。按触摸屏触摸屏时,从ADS7843输出的数值有一个抖动过程,即从ADS7846输出的数值有一个不稳定时期,这个过程大约为10ms。所以中断处理程序的下半部处理函数采用内核定时器机制,使下半部在中断发生50ms后再作处理。这样有效地避开了ADS7843输出值的不稳定时期,使中断服务程序和中断

22、处理任务串行化,达到了处理时间较长的触摸屏触摸屏事件的目的。驱动程序通过request_irq函数注册并激活一个中断处理程序,以便处理中断。图2 设备驱动在内核中的挂接、卸载和系统调用过程 int reguest_irq(unsigned int irq, void(*handler)(int, void *, struct pt_regs *), unsigned long irq_flags, const char *dev_name, void *dev_id)参数irq表示所要申请的中断号;handler为向系统登记的中断处理子程序,中断产生时由系统来调用;dev_name为设备名;d

23、ev_id为申请时告诉系统的设备标识符;irq_flags是申请时的选项,它决定中断处理程序的一些特性,其中最重要的是中断处理程序是快速处理程序还是慢速处理程序。 本设计中触摸屏触摸屏控制器ADS7843的中断输出通过外部中断5接在中断控制器上,当触摸屏触摸屏上有触摸事件发生时,会引发中断号为IRQ_EINT5的中断服务程序s3c2410_isr_tc()。图3所示为该中断处理程序的流程图。图3触摸屏硬件中断处理程序流程图 在s3c2410_isr_tc()中设定了定时器的定时时间为50ms,并立即激活。因此有触摸屏触摸屏硬件中断的情况下50ms后就会引发定时中断,中断服务程序为ts_time

24、r_handler(),这个程序实现了触摸屏触摸屏中断的下半部,即在过了抖动时间之后如果触摸屏触摸屏确实有有效事件发生则采集触摸屏触摸屏坐标,并将定时器的时间重新设为100ms并重新激活,这样做的目的是如果触摸笔是拖动的情况,以后每100ms采集一次坐标值,并存入缓冲区,如果不是拖动在采集一次坐标值之后,在第二次进入ts_timer_handler()时,查询管脚的状态值,则变为高电平,就将触摸屏触摸屏状态tsdev.PenStatus设为PEN_UP,并释放定时器,为下次触摸屏触摸屏事件做好准备,定时中断服务程序流程图如图4所示。图4 定时中断服务程序流程图 在s3c2410_ts_init

25、()中的另一个重要任务是执行接口函数s3c2410_ts_open(),在这个函数中初始化缓冲区的头尾指针、触摸屏状态变量及触摸屏事件等待队列。module_exit() 该函数调用s3c2410_ts_exit(),主要任务是撤销驱动程序向内核的登记以及释放申请的中断资源。接口函数s3c2410_ts_read( ) 这个函数实现的任务是将事件队列从设备缓存中读到用户空间的数据缓存中。实现的过程主要是通过一个循环,只有在事件队列的头、尾指针不重合时,才能成功的从tsdev.tail指向的队列尾部读取到一组触摸信息数据,并退出循环。否则调用读取函数的进程就要进入睡眠。坐标读取函数s3c2410

26、_get_XY() 在定时器中断处理程序中,当查询到与相连的EINT5/GPF5为低电平时,即表示有有效事件,应该调用s3c2410_get_XY()函数采集笔触信息。ADS7843有多种转换时序,时序规定了芯片与设备及CPU间是如何配合工作的。设计中采用16个时钟周期启动一次转换的坐标转换方式。ADS7843的操作时序如图5所示。坐标的读取是通过多次采集取平均值的方法,。循环过程中的每一步都在8个时钟周期内完成,数据的处理严格按照时序进行,Y坐标的采集与X坐标类似。结束语: 触摸屏作为一种最新的电脑输入设备,它是目前最简单、方便、自然的一种人机交互方式。它赋予了多媒体以崭新的面貌,是极富吸引

27、力的全新多媒体交互设备。触摸屏在我国的应用范围非常广阔,主要是公共信息的查询;如电信局、税务局、银行、电力等部门的业务查询;城市街头的信息查询;此外应用于领导办公、工业控制、军事指挥、电子游戏、点歌点菜、多媒体教学、房地产预售等。将来,触摸屏还要走入家庭。打印本页 | 关闭窗口 | 收藏本文热门下载推荐Cadence OrCAD 10.5 单片机反编译工具 POWERPCB2005 SP2 完全版 Genesis 2000软件下载 相关文章推荐 基板或层压后的多层. 印制板制造过程基板. 印制线路板切片的设. PCB抄板信号隔离. PCB板设计制作术. PCB板设计制作术. PCB文件PROT. 高速PCB设计(二. Allegro中元. PCB抄板之PCB. 高速PCB设计指南. PCB与电子产品设. pcb抄板技术:p. PCB抄板专家详解. 网站地图联系龙人法律声明友情链接版权所有广东龙人计算机系统工程有限公司 主要服务:PCB抄板|芯片解密粤ICP备08012900号

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 标准材料 > 食品加工

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁