您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 酒店餐饮 > 触摸屏控制芯片ADS7843中文资料[1]
网址::21414861如侵犯您的利益和著作权请发信到【langmanbuluo@163.com】我们将收到信两个工作日内删除!!触摸屏控制芯片ADS7843中文资料ADS7843是一个内置12位模数转换、低导通电阻模拟开关的串行接口芯片。供电电压2.7~5V,参考电压VREF为1V~+VCC,转换电压的输入范围为0~VREF,最高转换速率为125kHz。ADS7843引脚图及引脚功能说明了:ADS7843的引脚配置如图3所示。表1为引脚功能说明,图4为典型应用。aDS7843引脚说明ADS7843典型应用电路2.2ADS7843的内部结构及参考电压模式选择ADS7843之所以能实现对触摸屏的控制,是因为其内部结构很容易实现电极电压的切换,并能进行快速A/D转换。图5所示为其内部结构,A2~A0和SER/为控制寄存器中的控制位,用来进行开关切换和参考电压的选择。ADS7843支持两种参考电压输入模式:一种是参考电压固定为VREF,另一种采取差动模式,参考电压来自驱动电极。这两种模式分别如图6(a)、(b)所示。采用图6(b)的差动模式可以消除开关导通压降带来的影响。表2和表3为两种参考电压输入模式所对应的内部开关状况。2.3ADS7843的控制字及数据传输格式ADS7843的控制字如表4所列,其中S为数据传输起始标志位,该位必为1。A2~A0进行通道选择(见表2和3)。MODE用来选择A/D转换的精度,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),转换速率还可以提高到每次15个时钟周期,如图9所示。2.4A/D转换时序的程序设计ADS7843的典型应用如图4所示。假设μP接口与51单片机的P1.3~P1.7相连,现以一次转换需24个时钟周期为例,介绍A/D转换时序的程序设计。;A/D接口控制线DCLKBITP1.3CSBITP1.4DINBITP1.5BUSYBITP1.6DOUTBITP1.7;A/D通道选择命令字和工作寄存器CHXEQU094H;通道X+的选择控制字CHYEQU0D4H;通道Y+的选择控制字CH3EQU0A4HCH4EQU0E4HAD_CHEQU35H;通道选择寄存器AD_RESULTHEQU36H;存放12bitA/D值AD_RESULTLEQU37H;存放通道CHX+的A/D值CHXAdResultHEQU38HCHXAdResultLEQU39H;存放通道CHY+的A/D值CHYAdResultHEQU3AHCHYAdResultLEQU3BH;采集通道CHX+的程序段(CHXAD)CHXAD:MOVAD_CH,#CHXLCALLAD_RUNMOVCHXAdResultH,AD_RESULTHMOVCHXAdResultL,AD_RESULTLRET;采集通道CHY+的程序段(CHYAD)CHYAD:MOVAD_CH,#CHYLCALLAD_RUNMOVCHYAdResultH,AD_RESULTHMOVCHYAdResultL,AD_RESULTLRET;A/D转换子程序(AD_RUN);输入:AD_CH-模式和通道选择命令字;输出:AD_RESULTH,L;12bit的A/D转换值;使用:R2;辅助工作寄存器AD_RUN:CLRCS;芯片允许CLRDCLKMOVR2,#8;先写8bit命令字MOVA,AD_CHAD_LOOP:MOVC,ACC.7MOVDIN,C;时钟上升沿锁存DINSETBDCLK;开始发送命令字CLRDCLK;时钟脉冲,一共24个RLADJNZR2,AD_LOOPNOPNOPNOPNOPADW0:JNBBUSY,AD_WAIT;等待转换完成SJMPADW1AD_WAIT:LCALLWATCHDOGNOPSJMPADW0CLRDINADW1:MOVR2,#12;开始读取12bit结果SETBDCLKCLRDCLKAD_READ:SETBDCLKCLRDCLK;用时钟的下降沿读取MOVA,AD_RESULTLMOVC,DOUTRLCAMOVAD_RESULTL,AMOVA,AD_RESULTHRLCAMOVAD_RESULTH,ADJNZR2,AD_READMOVR2,#4;最后是没用的4个时钟IGNORE:SETBDCLKCLRDCLKDJNZR2,IGNORESETBCS;禁止芯片ANLAD_RESULTH,#0FH;屏蔽高4bitRET2.5A/D转换结果的数据格式ADS7843转换结果为二进制格式。需要说明的是,在进行公式计算时,参考电压在两种输入模式中是不一样的。而且,如果选取8位的转换精度,1LSB=VREF/256,一次转换完成时间可以提前4个时钟周期,此时串口时钟速率也可以提高一倍。本文来自:DZ3W.COM原文网址:繁體中文English首页走进龙人服务项目成功案例技术支持与下载新闻中心联系我们下载首页最新资讯推荐资料PCB技术PCB软件IC芯片解密SMT技术电路板维修嵌入式开发下载分类每天更新文章标题软件文章搜索热门搜索:PCB抄板芯片解密样机制作抄板软件嵌入式IC资料PCB设计网站首页技术支持与下载最新技术资料[嵌入式技术]正文推荐技术资料类别嵌入式技术PCB抄板软件基础知识制造工艺PCB板极设计IC资料PCB抄板常用软件下载基于S3C2410的ADS7843触摸屏驱动程序设计来源:Internet发布者:站长时间:2009-4-30阅读:1308次触摸屏介绍随着多媒体信息查询的与日俱增,人们越来越多地谈到触摸屏,因为触摸屏不仅适用于中国多媒体信息查询的国情,而且触摸屏具有坚固耐用、反应速度快、节省空间、易于交流等许多优点。利用这种技术,我们用户只要用手指轻轻地碰计算机显示屏上的图符或文字就能实现对主机操作,从而使人机交互更为直截了当,这种技术大大方便了那些不懂电脑操作的用户。一、触摸屏的工作原理为了操作上的方便,人们用触摸屏来代替鼠标或键盘。工作时,我们必须首先用手指或其它物体触摸安装在显示器前端的触摸屏,然后系统根据手指触摸的图标或菜单位置来定位选择信息输入。触摸屏由触摸检测部件和触摸屏控制器组成;触摸检测部件安装在显示器屏幕前面,用于检测用户触摸位置,接受后送触摸屏控制器;而触摸屏控制器的主要作用是从触摸点检测装置上接收触摸信息,并将它转换成触点坐标,再送给CPU,它同时能接收CPU发来的命令并加以执行。二、触摸屏的主要类型从技术原理来区别触摸屏,可分为五个基本种类:矢量压力传感技术触摸屏、电阻技术触摸屏、电容技术触摸屏、红外线技术触摸屏、表面声波技术触摸屏。本文主要介绍在三星S3C2410X微处理器的硬件平台上进行基于嵌入式Linux的触摸屏驱动程序设计。1.硬件设计热门下载推荐CadenceOrCAD10.5单片机反编译工具SPI接口是Motorola推出的一种同步串行接口,采用全双工、四线通信系统,S3C2410X是三星推出的自带触摸屏触摸屏接口的ARM920T内核芯片,ADS7843为Burr-Brown生产的一款性能优异的触摸屏触摸屏控制器。本文采用SPI接口的触摸屏触摸屏控制器ADS7843外接四线电阻式触摸屏触摸屏,这种方式最显著的特点是响应速度更快、灵敏度更高,微处理器与触摸屏触摸屏控制器间的通讯时间大大减少,提高了微处理器的效率。ADS7843与S3C2410的硬件连接如图1所示,鉴于ADS7843差分工作模式的优点,在硬件电路中将其配置为差分模式。图1触摸屏输入系统示意图2.嵌入式Linux系统下的驱动程序设备驱动程序是Linux内核的重要组成部分,控制了操作系统和硬件设备之间的交互。Linux的设备管理是和文件系统紧密结合的,各种设备都以文件的形式存放在/dev目录下,成为设备文件。应用程序可以打开、关闭、读写这些设备文件,对设备的操作就像操作普通的数据文件一样简便。为开发便利、提高效率,本设计采用可安装模块方式开发调试触摸屏驱动程序。设备驱动在加载时首先需要调用入口函数init_module(),该函数完成设备驱动的初始化工作。其中最重要的工作就是向内核注册该设备,对于字符设备调用register_chrdev()完成注册,对于块设备需要调用register_blkdev()完成注册。注册成功后,该设备获得了系统分配的主设备号、自定义的次设备号,并建立起与文件系统的关联。字符设备驱动程序向Linux内核注册登记时,在字符设备向量表chrdevs中增加一个device_struct数据结构条目,这个设备的主设备标识符用作这个向量表的索引。向量表中的每一个条目,即一个device_struct数据结构包括两个元素:一个登记的设备驱动程序的名称的指针和一个指向一组文件操作的指针。这块文件操作本身位于这个设备的字符设备驱动程序中,每一个都处理特定的文件操作,比如打开、读写和关闭。所谓登记,就是将由模块提供的file_operations结构指针填入device_struct数据结构数组的某个表项。登记以后,位于上层的模块(内核)可以“看见”这个模块了。但是,应用程序却还不能“看见”它,因而还不能通过系统调用它。要使应用程序能“看见”这个模块或者它所驱动的设备,就要在文件系统中为其创建一个代表它的节点。通过系统调用mknod()创建代表此项设备的文件节点——设备入口点,就可使一项设备在系统中可见,成为应用程序可以访问的设备。另外,设备驱动在卸载时需要回收相应的资源,令设备的相应寄存器值复位并从系统中注销该设备。Linux操作系统通过系统调用和硬件中断完成从用户空间到内核空间的控制转移。设备驱动模块的功能就是扩展内核的功能,主要完成两部分任务:一个是系统调用,另一个是处理中断。图2是一个设备驱动模块动态挂接、卸载和系统调用的全过程。系统调用部分则是对设备的操作过程,比如open,read,write,ioctl等操作,设备驱动程序所提供的这组入口点由几个结构向系统进行说明,分别是file_operations数据结构、inode数据结构和file数据结构。内核内部通过file结构识别设备,通过file_operations数据结构提供文件系统的入口点函数,也就是访问设备驱动的函数,结构中的每一个成员都对应着一个系统调用。在嵌入式系统POWERPCB2005SP2完全版Genesis2000软件下载相关文章推荐·基板或层压后的多层..·印制板制造过程基板..·印制线路板切片的设..·PCB抄板信号隔离..·PCB板设计制作术..·PCB板设计制作术..·PCB文件PROT..·高速PCB设计(二..·Allegro中元..·PCB抄板之PCB..·高速PCB设计指南..·PCB与电子产品设..·pcb抄板技术:p..·PCB抄板专家详解..的开发中,我们一般仅仅实现其中几个接口函数:read、write、open、ioctl及release就可以完成应用系统需要的功能。写驱动程序的任务之一就是完成file_operations中的函数指针。3.触摸屏驱动程序设计触摸屏驱动程序中重要数据结构typedefstruct{unsignedshortpressure;unsignedshortx;unsignedshorty;
本文标题:触摸屏控制芯片ADS7843中文资料[1]
链接地址:https://www.777doc.com/doc-374137 .html