王灵芝课件第七次课adc_第1页
王灵芝课件第七次课adc_第2页
王灵芝课件第七次课adc_第3页
王灵芝课件第七次课adc_第4页
王灵芝课件第七次课adc_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、A/D转换与触摸屏漳州师范学院物理系王灵芝Q1 :A/D与触摸屏接口的不同?Q2: A/D查询与中断Q3:如何判断触摸屏是否按下?主要内容1、概述2、结构与工作原理3、寄存器4、应用举例A/D转换与触摸屏一、S3C2410X的A/D 转换器概述S3C2410X中集成了一个通道10 位A/D 转换器,A/D 转换器自身具有采样保持功能。并且S3C2410X的A/D 转换器支持触摸屏接口。A/D转换器的主要特性:分辨率:10位;精度:1LSB 线性度误差: 1.5-2.0LSB;最大转换速率:500KSPS;输入电压范围:03.3v;系统具有采样保持功能;常规转换和低能源消耗功能;独立/自动的X/

2、Y 坐标转换模式。A/D转换与触摸屏二、A/D转换器结构与工作原理下图为S3C2410 A/D 转换器和触摸屏接口的功能块图。1、结构主要由6部分构成:信号输入通道8转1切换开关A/D转换器控制逻辑中断信号发生器触摸屏接口A/D转换器结构与工作原理3、工作原理(1)A/D 转换时间计算和分辨率当PCLK 频率为50MHz,预分频值是49,10 位数字量的转换时间如下:A/D 转换频率=50MHz /(49+1)=1MHz转换时间=1/(1MHz/5 个周期)=1/200KHz=5usA/D 转换器最大可以工作在2.5MHz 时钟下,所以转换速率可以达到500KSPS。5个时钟周期才可以完成一次

3、转换(2)触摸屏的结构及工作原理触摸屏按其工作原理的不同分为:表面声波屏,电容屏,电阻屏和红外屏。电阻技术触摸屏(2)触摸屏的结构及工作原理(2)触摸屏的结构及工作原理原理:这是一种多层复合薄膜,它以一层玻璃或硬塑料平板作为基层,表面涂有一层透明氧化金属(ITO 氧化铟,透明的导电电阻)导电层,上面再盖有一层外表面硬化处理、光滑防擦的塑料层(电阻层) 、内表面也涂有一层ITO 涂层 、在他们之间有许多细小的(小于1/1000 英寸)的透明隔离点把两层导电层隔开绝缘。 当某一点被按压时,在按压点电阻层与导电层接触,如果在电阻层的一边接电源,另一边接地,便可测量出按压点的电压,从而可算出其坐标。在

4、电阻层的一边接电源在电阻层的一边接地V接ADC四线触摸屏四线触摸屏包含两个阻性层。其中一层在屏幕的左右边缘各有一条垂直总线,另一层在屏幕的底部和顶部各有一条水平总线,如图一。为了在X 轴方向进行测量,将左侧总线偏置为0V,右侧总线偏置为VREF。将顶部或底部总线连接到ADC,当顶层和底层相接触时即可作一次测量。做X轴测量做Y轴测量为了在Y 轴方向进行测量,将顶部总线偏置为VREF,底部总线偏置为0V。将ADC 输入端接左侧总线或右侧总线,当顶层与底层相接触时即可对电压进行测量。下图显示了四线触摸屏在两层相接触时的简化模型。对于四线触摸屏,最理想的连接方法是将偏置为VREF 的总线接ADC 的正

5、参考输入端,并将设置为0V 的总线接ADC 的负参考输入端。测量X坐标:从XP输出电压给X+端,从XM输出地电位给X-端;从YP脚输入按压点电压。控制信号:nYPON=1;nYMON=0nXPON=0;nXMON=1测X输入按压点电压,送A/D转换XP输出电压给X+XM输出地电位给X-端测量Y坐标:从YP输出电压给Y+端,从YM输出地电位给Y-端;从XP脚输入按压点电压。控制信号:nYPON=0;nYMON=1nXPON=1;nXMON=0测Y输入按压点电压,送A/D转换YP输出电压给Y+YM输出地电位给Y-端三、ADC和触摸屏专用寄存器有5个专用寄存器Register Address R/W

6、 Description Reset Value ADCCON0 x58000000 R/W ADC控制寄存器 0 x3FC4 ADCTSC 0 x58000004 R/W 触摸屏控制寄存器0 x058 ADCDLY0 x58000008 R/W ADC起始延迟寄存器0 x00FF ADCDAT00 x5800000CRADC转换数据0寄存器-ADCDAT10 x58000010 RADC转换数据1寄存器- 3、S3C24120X A/D转换器的工作模式有5种:普通转换模式、分离的X/Y坐标转换模式、连续的X/Y坐标转换模式、等待中断模式、静态模式。第2-4种是用于触摸屏。(1)普通转换模式用

7、于一般A/D转换,不是用于触摸屏。转换结束后,其数据在ADCDAT0中的XPDATA域。(2)分离的X/Y坐标转换模式分两步进行X/Y坐标转换,其转换结果分别存于ADCDAT0中的XPDATA域中和ADCDAT1中的YPDATA域中,并且均会产生INT_ADC中断请求。(3)自动(连续)的X/Y坐标转换模式 X坐标转换结束启动Y坐标转换,其转换结果分别存于ADCDAT0中的XPDATA域中和ADCDAT1中的YPDATA域中,然后产生INT_ADC中断请求。(4)等待中断转换模式 在该模式下,转换器等待使用者按压触摸屏,一旦触摸屏被按压,则产生INT_TC触摸屏中断请求。 中断后,在中断处理程

8、序中再将转换器设置为分离的X/Y坐标转换模式、或者连续的X/Y坐标转换模式进行处理。触摸屏接口信号: XP=上拉 XM=高阻 YP=AIN5 YM=接地(5)静态模式当ADCCON中的STDBM设为1时,转换器进入静态模式,停止A/D转换。其数据域的数据保持不变。三、ADC和触摸屏专用寄存器有5个专用寄存器Register Address R/W Description Reset Value ADCCON0 x58000000 R/W ADC控制寄存器 0 x3FC4 ADCTSC 0 x58000004 R/W 触摸屏控制寄存器0 x058 ADCDLY0 x58000008 R/W AD

9、C起始延迟寄存器0 x00FF ADCDAT00 x5800000CRADC转换数据0寄存器-ADCDAT10 x58000010 RADC转换数据1寄存器- ECFLG-转换结束标志(只读)0:转换操作中;1:转换结束PRSCEN-转换器预分频器使能0:停止预分频器;1:使能预分频器PRSCVL-转换器预分频器数值数值N范围:1-255注意:(1)实际除数值为N+1 (2)对N数值的要求:转换速率应该PCLK/5 ADCCON-ADC控制寄存器151413 6ECFLGPRSCENPRSCVL543210SEL_MUXSTDBMREAD_STARTENABLE_STARTSEL_MUX -模

10、拟输入通道选择000:AIN0;001:AIN1010:AIN2011:AIN3 111:AIN7STDBM-备用模式设置0:正常工作模式; 1:备用模式,不做A/D转换READ_START-通过读取启动转换0:停止通过读取启动转换;1:使能通过读取启动转换ENABLE_START-通过设置该位启动转换0:无效;1:启动A/D转换(启动后被清0)注意:如果READ_START为1,则该位无效543210SEL_MUXSTDBMREAD_STARTENABLE_STARTYM_SEN-选择YMON的输出值0:输出0(YM=高阻);1: 输出1(YM=GND)YP_SEN-选择nYPON的输出值0

11、:输出0(YP=外部电压);1:输出1(YP连接AIN5)XM_SEN-选择XMON的输出值0:输出0( XM=高阻);1: 输出1(XM=GND)XP_SEN-选择nXP的输出值0:输出0(XP=外部电压);1:输出1(XP连接AIN7) ADCTSC-ADC触摸屏控制寄存器876543210保留0YM_SENYP_SENXM_SENXP_SENPULL_UPAUTO_PSTXY_PSTPULL-上拉切换使能0:XP上拉使能;1: XP上拉禁止AUTO_PST-自动连续转换X轴和Y轴坐标模式选择0:普通A/D转换;1:连续X/Y轴转换模式XY_PST-手动测量X轴和Y轴坐标模式选择00:无操

12、作模式;01:对X坐标测量;10:对Y坐标测量;11:等待中断模式 ADCTSC-ADC触摸屏控制寄存器876543210保留0YM_SENYP_SENXM_SENXP_SENPULL_UPAUTO_PSTXY_PST31 1615141312111098876543210保留为0起始延迟数值-分两种情况第一情况:对普通转换模式、分离的X/Y轴坐标转换模式、连续的X/Y轴坐标转换模式,为转换延时数值。第二种情况:对中断转换模式,为按压触摸屏后到产生中断请求的延迟时间数值,其时间单位为ms。3、ADCDLY-ADC起始延迟寄存器UPDOWN-等待中断模式的按压状态0:触笔点击;1:触笔提起AUT

13、O_PST-自动X/Y轴转换模式指示0:普通转换模式;1:X/Y轴坐标连续转换XY_PST-手动X/Y轴转换模式指示00:无操作;01:为X轴坐标转换10:为Y轴坐标转换11:为等待中断转换XPDATA9:0:为X轴坐标转换数值、或普通ADC转换数值具体意义由其它位指示。其值为:0-0 x3FF4、ADCDAT0-ADC转换数据0寄存器1514131211109 0UPDOWNAUTO_PSTXY_PST保留(0)XPDATA或普通ADC值UPDOWN-等待中断模式的按压状态0:触笔点击;1:触笔提起AUTO_PST-自动X/Y轴转换模式指示0:普通转换模式;1:X/Y轴坐标连续转换XY_PS

14、T-手动X/Y轴转换模式指示00:无操作; 01:为X轴坐标转换10:为Y轴坐标转换11:为等待中断转换YPDATA9:0:为10位Y轴坐标转换结果其值为:0-0 x3FF5、ADCDAT1-ADC转换数据1寄存器1514131211109 0UPDOWNAUTO_PSTXY_PST保留(0)YPDATA实例一实验内容主要实现对模拟通道0 的转换,通过调节接在通道0 上的可调电阻来改变模拟量的输入,算出相应的电压通过串口将获得的数据回显到串口。设置A/D 采样的时钟频率假定CPU 主时钟的频率为50MHZ,并且将A/D 采样预分频值设为49,下面代码实现该功能:rADCCON = (114)|

15、(496)|(ch3);使能预分频,设置预分频值49启动采样步骤:1) 允许ADC 的时钟输出;rCLKCON = rCLKCON | (115);使能 A/D模块时钟为PCLK时钟2) 将ADCCON 寄存器的BIT0 置1 可以启动转换,当启动转换后,该位会被自动清除。 同时启动转换时还需要指定转换通道。3) 下面代码启动通道0 的采样转换: rADCCON=0 x1|(0 x03);543210SEL_MUXSTDBMREAD_STARTENABLE_START获取转换结果:ECFLG-转换结束标志(只读)0:转换操作中;1:转换结束获取转换结果:当A/D 转换结束后,可以读取ADCDA

16、T 寄存器的内容下面代码等待通道0 的A/D 转换,完毕后读取数据,实现的代码如下:while(!(rADCCON & 0 x8000); /等待,直到A/D 转换结束data= (int)rADCDAT0 & 0 x3ff; /获得转换后的数据151413 6ECFLGPRSCENPRSCVL1514131211109 0UPDOWNAUTO_PSTXY_PST保留(0)XPDATA或普通ADC值int Read_Adc(unsigned char ch) -A/D 读取通道函数参数说明:ch : 决定那个通道被选择主要功能:指定某一通道(ch)进行转换,并读出转换值该函数的代码如下:int

17、 ReadAdc (int ch)int i; static int prevCh=1; rADCCON = (114)|(preScaler6)|(ch3); /setup channel if (prevCh!=ch)rADCCON = (114)|(preScaler6)|(ch3); /setup channel for (i=0;iLOOP;i+); /delay to set up the next channelprevCh=ch;rADCCON|=0 x1; /start ADCwhile (rADCCON & 0 x1); /check if Enable_start is

18、lowwhile (!(rADCCON & 0 x8000); /check if EC(End of Conversion) flag is highreturn ( (int)rADCDAT0 & 0 x3ff );例题:编写程序,对3通道的模拟量连续做10次转换,用查询方式读取转换结果,其数据存于数组中。#define rADCCON (*(volatile unsigned *)0 x58000000)#define rADCDAT0 (*(volatile unsigned *)0 x5800000c)#define pref 49#define ch 3void adc(void)

19、 int adc_data10, i,; rADCCON=(114)|(pref6)|(ch3)|1/允许预分频for(i=0;i10;i+)while(rADCCON&0 x8000=0); /查询转换结束否adc_datai=rADCDAT0&0 x3ff; /读取转换结果 rADCCON|=1; /再次启动转换实例实验目的 了解触摸屏基本概念与原理 掌握S3C2410 的触摸屏控制器的控制实验内容当点击触摸屏时,产生中断,读取X/Y轴电压,自动转换。连续五次取平均值。编程实现触摸屏坐标到LCD 坐标的校准编程实现触摸屏坐标采集以及LCD 坐标的计算触摸屏接口电路图S3C2410 接4 线

20、电阻式触摸屏的电路原理如下图所示。整个触摸屏由模向电阻比和纵向电阻线组成,由nYPON、YMON、nXPON、XMON 四个控制信号控制4 个MOS 管的通断。S3C2410 有8 个模拟输入通道。其中,通道7(AIN7)作为触摸屏接口的X 坐标输入,通道5(AIN5)作为触摸屏接口的Y 坐标输入。在接入S3C2410 触摸屏接口前,它们都通过一个阻容式低通滤器滤除坐标信号噪声。这里的滤波十分重要,如果传递给S3C2410 模拟输入接口的信号中干扰过大,不利于后续的软件处理。在采样过程中,软件只用给特殊寄存器置位,S3C2410的触摸屏控制器就会自动控制触摸屏接口打开或关闭各MOS 管,按顺序

21、完成X 坐标点采集和Y坐标点采集。触摸屏的初始化函数void Touch_Screen_Init(void)功能说明:主要用来初始化S3C2410 的触摸屏控制器主要代码如下void Touch_Screen_Init(void)rADCDLY = (30000); / ADC Start or Interval DelayrADCCON = (114)|(396)|(03)|(02)|(01)|(0); / Enable Prescaler,Prescaler,AIN5/7 fix,Normal,Disable read start,No operation rADCTSC = (08)|(

22、17)|(16)|(05)|(14)|(03)|(02)|(3);/tark / Down,YM:GND,YP:AIN5,XM:Hi-z,XP:AIN7,XP pullup En,Normal,Waiting for interrupt moderSUBSRCPND |= BIT_SUB_TC;rSUBINTMASK& =(BIT_SUB_TC);pISR_ADC = (unsigned)Touch_Screen;rINTMSK &= (BIT_ADC);rINTSUBMSK &= (BIT_SUB_TC);触摸屏中断处理函数void _irq Touch_Screen(void)功能说明:设置触摸屏按下的标志信息,连续读取五次的转换值主要代码如下:void _irq Touch_Screen(void) int i; rINTSUBMSK |= (BIT_SUB_ADC | BIT_SUB_TC); /屏蔽子中断 (ADC and TC) /切换到自动连续的x/y坐标转换模式 rADCTSC=(17)|(16)|(05)|(14)|(13)|(12)|(0); /7 YM=GND, 6 YP is connected with AIN5, 5 XM=Hi-Z, 4 XP is connected wit

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论