资源预览内容
第1页 / 共91页
第2页 / 共91页
第3页 / 共91页
第4页 / 共91页
第5页 / 共91页
第6页 / 共91页
第7页 / 共91页
第8页 / 共91页
第9页 / 共91页
第10页 / 共91页
亲,该文档总共91页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
2020/9/2,1,ARM9嵌入式系统设计基础教程,江苏大学计算机科学与通信工程学院 通 信 工 程 系 陈祖爵 E-mail: TEL: 13775360008,2020/9/2,2,课程理论教学内容安排,第1章 嵌入式系统基础知识 第2章 ARM体系结构 第3章 32 Bit RISC微处理器S3C2410A 第4章 嵌入式系统的存储器系统 第5章 嵌入式系统输入/输出设备接口 第6章 嵌入式系统总线接口 第7章 嵌入式系统网络接口 第8章 嵌入式系统软件及操作系统基础 第9章 ARM汇编语言程序设计基础 第10章 Bootloader设计基础 第11章 Linux操作系统基础 第12章 嵌入式Linux软件设计 第13章 图形用户接口(GUI),2020/9/2,3,第5章 嵌入式系统输入/输出设备接口,5.1通用输入/输出接口4 5.2A/D转换器接口9 5.3D/A转换器接口29 5.4键盘与LED数码管接口41 5.5LCD显示接口51 5.6触摸屏接口 78,2020/9/2,4,5.1通用输入/输出接口,5.1.1通用输入/输出接口原理与结构 5.1.2S3C2410A输入/输出接口编程实例,2020/9/2,5,5.1.1通用输入/输出接口原理与结构,GPIO(General Purpose I/O,通用输入/输出接口)也称为并行I/O(parallel I/O),是最基本的I/O形式,由一组输入引脚、输出引脚或输入/输出引脚组成,CPU对它们能够进行存取操作。有些GPIO引脚能够通过软件编程改变输入/输出方向。 一个双向GPIO端口(D0)的简化功能逻辑图如图5.1.1所示,图中PORT为数据寄存器和DDR(Data Direction Register)为数据方向寄存器。,2020/9/2,6,双向GPIO功能逻辑图,2020/9/2,7,双向GPIO工作原理,DDR设置端口的方向。如果DDR的输出为1,则GPIO端口为输出形式;如果DDR的输出为零,则GPIO端口为输入形式。写入WR-DDR信号能够改变DDR的输出状态。DDR在微控制器地址空间中是一个映射单元。这种情况下,如果需要改变DDR,则需要将恰当的值置于数据总线的第0位(即D0),同时激活WR-DDR信号。读DDR,就能得到DDR的状态,同时激活RD-DDR信号。 如果置PORT引脚为输出,则PORT寄存器控制着该引脚端状态。如果将PORT引脚端设置为输入,则此输入引脚端的状态由引脚端上的逻辑电路层来实现对它的控制。对PORT寄存器的写操作,需要激活WR-PORT信号。PORT寄存器也映射到微控制器的地址空间。需指出,即使当端口设置为输入时,如果对PORT寄存器进行写操作,并不会对该引脚产生影响。但从PORT寄存器的读出,不管端口是什么方向,总会影响该引脚端的状态。,2020/9/2,8,5.1.2S3C2410A输入/输出接口编程实例,S3C2410A共有117个多功能复用输入/输出端口(I/O口),分为端口A端口H共8组。为了满足不同系统设计的需要,每个I/O口可以很容易地通过软件对进行配置。每个引脚的功能必须在启动主程序之前进行定义。如果一个引脚没有使用复用功能,那么它可以配置为I/O口。注意:端口A除了作为功能口外,只能够作为输出口使用。 在S3C2410A中,大多数的引脚端都是复用的,所以对于每一个引脚端都需要定义其功能。为了使用I/O口,首先需要定义引脚的功能。每个引脚端的功能通过端口控制寄存器(PnCON)来定义(配置)。与配置I/O口相关的寄存器包括:端口控制寄存器(GPACONGPHCON)、端口数据寄存器(GPADATGPHDAT)、端口上拉寄存器(GPBUPGPHUP)、杂项控制寄存器以及外部中断控制寄存器(EXTINTN)等。,2020/9/2,9,5.2A/D转换器接口,5.2.1A/D转换的方法和原理5.2.2S3C2410A的A/D转换器,2020/9/2,10,5.2.1A/D转换的方法和原理,A/D转换器(模数转换器)完成电模拟量到数字量的转换。实现A/D转换的方法很多,常用的方法有计数法、双积分法和逐次逼近法等。 1.计数式A/D转换器原理 计数式A/D转换器结构如图5.2.1所示。其中,Vi是模拟输入电压,VO是D/A转换器的输出电压,C是控制计数端,当C=1(高电平)时,计数器开始计数,C=0(低电平)时,则停止计数。D7D0是数字量输出,数字输出量同时驱动一个D/A转换器。,2020/9/2,11,计数式A/D转换器结构,2020/9/2,12,计数式A/D转换器工作原理,计数式A/D转换器的转换过程如下: 首先/CLR(转换信号)有效,计数器复位,输出数字信号为00000000,这个00000000的输出送至8位D/A转换器,8位D/A转换器也输出0V模拟信号。 当/CLR恢复为高电平时计数器准备计数。此时,在比较器输入端上待转换的模拟输入电压Vi大于VO(0V),比较器输出高电平,使计数控制信号C为1。这样,计数器开始计数。 从此计数器的输出不断增加,D/A转换器输入端得到的数字量也不断增加,致使输出电压VO不断上升。在VOVi时,比较器的输出总是保持高电平,计数器不断地计数。 当VO上升到某值时,出现VOVi的情况时,此时,比较器的输出为低电平,使计数控制信号C为0,计数器停止计数。这时候数字输出量D7D0就是与模拟电压等效的数字量。计数控制信号由高变低的负跳变也是A/D转换的结束信号,表示已完成一次A/D转换。 计数式A/D转换器结构简单,但转换速度较慢。,2020/9/2,13,2.双积分式A/D转换器原理,双积分式A/D转换器对输入模拟电压和参考电压进行两次积分,将电压变换成与其成正比的时间间隔,利用时钟脉冲和计数器测出其时间间隔,完成A/D转换。双积分式A/D转换器主要包括积分器、比较器、计数器和标准电压源等部件,其电路结构图如图5.2.2(a)所示。 双积分式A/D转换器的转换过程如下: 1)首先对输入待测的模拟电压Vi进行固定时间的积分; 2)然后转换到标准电压VR进行固定斜率的反向积分(定值积分),如图5.2.2(b)所示。反向积分进行到一定时间,便返回起始值。从图5.2.2(b)中可看出对标准电压VR进行反向积分的时间T2正比于输入模拟电压,输入模拟电压越大,反向积分回到起始值的时间T越长,有Vi(T2/T1)VR。 3)用标准时钟脉冲测定反向积分时间(如计数器),就可以得到对应于输入模拟电压的数字量,实现A/D转换。 双积分式A/D转换器有很强的抗工频干扰能力,转换精度高,但速度较慢。,2020/9/2,14,双积分式A/D转换器电路结构与输出波形,双积分式A/D转换器电路结构图,积分输出波形,2020/9/2,15,3.逐次逼近式A/D转换器原理,逐次逼近式A/D转换器电路结构如图5.2.3所示,其工作过程可与天平称重物类比,图中的电压比较器相当于天平,被测电压Ux相当于重物,基准电压Ur相当于电压法码。该方案具有各种规格的按8421编码的二进制电压法码Ur,根据UxUr,比较器有不同的输出以打开或关闭逐次逼近寄存器的各位。输出从大到小的基准电压法码,与被测电压Ux比较,并逐渐减小其差值,使之逼近平衡。当Ux=Ur时,比较器输出为零,相当于天平平衡,最后以数字显示的平衡值即为被测电压值。 逐次逼近式A/D转换器转换速度快,转换精度较高,对N位A/D转换只需N个时钟脉冲即可完成,可用于测量微秒级的过渡过程的变化,是在计算机系统中采用最多的一种A/D转换方法。,2020/9/2,16,逐次逼近式A/D转换器电路结构,2020/9/2,17,4.A/D转换器的主要指标,(1)分辨率(Resolution) 分辨率用来反映A/D转换器对输入电压微小变化的响应能力,通常用数字输出最低位(LSB)所对应的模拟输入的电平值表示。n位A/D转换能反应1/2n满量程的模拟输入电平。分辨率直接与转换器的位数有关,一般也可简单地用数字量的位数来表示分辨率,即n位二进制数,最低位所具有的权值,就是它的分辨率。 值得注意的是,分辨率与精度是两个不同的概念,不要把两者相混淆。即使分辨率很高,也可能由于温度漂移、线性度等原因,而使其精度不够高。,2020/9/2,18,A/D转换器的精度指标,(2)精度(Accuracy) 精度有绝对精度和相对精度两种表示方法。 绝对精度:在一个转换器中,对应于一个数字量的实际模拟输入电压和理想的模拟输入电压之差并非是一个常数。把它们之间的差的最大值,定义为“绝对误差”。通常以数字量的最小有效位(LSB)的分数值来表示绝对精度,如1LSB。绝对误差包括量化精度和其他所有精度。 相对精度:是指整个转换范围内,任一数字量所对应的模拟输入量的实际值与理论值之差,用模拟电压满量程的百分比表示。 例如,满量程为l0V,10位A/D芯片,若其绝对精度为1/2LSB,则其最小有效位的量化单位为9.77mV,其绝对精度为4.88mV,其相对精度为0.048%。 转换时间:转换时间是指完成一次A/D转换所需的时间,即由发出启动转换命令信号到转换结束信号开始有效的时间间隔。转换时间的倒数称为转换速率。例如AD570的转换时间为25us,其转换速率为40kHz。 量程:指所能转换的模拟输入电压范围,分单极性、双极性; 例:单极性量程0+5V,0+10V,0+20V;双极性量程-5+5V,-10+l0V,2020/9/2,19,5.2.2S3C2410A的A/D转换器,1.S3C2410A A/D转换器和触摸屏接口电路 S3C2410A包含一个8通道的A/D转换器,内部结构见图5.2.4,该电路可以将模拟输入信号转换成10位数字编码(10位分辨率),差分线性误差为1.0 LSB,积分线性误差为2.0 LSB。在A/D转换时钟频率为2.5MHz时,其最大转换率为500KSPS(千采样点每秒),输入电压范围是0-3.3V。A/D转换器支持片上操作、采样保持功能和掉电模式。S3C2410A的A/D转换器和触摸屏接口电路如图5.2.4所示,2020/9/2,20,S3C2410A的A/D转换器和触摸屏接口电路,2020/9/2,21,2.与S3C2410A A/D转换器相关的寄存器,使用S3C2410A的A/D转换器进行模拟信号到数字信号的转换,需要配置以下相关的寄存器。 (1)ADC控制寄存器(ADCCON) ADC控制寄存器(ADCCON)是一个16位的可读/写的寄存器,地址为0 x5800 0000,复位值为0 x3FC4。ADCCON位的功能描述如表5.2.1所列。,2020/9/2,22,ADC控制寄存器(ADCCON)的位功能,2020/9/2,23,(2)ADC触摸屏控制寄存器(ADCTSC),ADC触摸屏控制寄存器(ADCTSC)是一个可读/写的寄存器,地址为0 x5800 0004,复位值为0 x058。ADCTSC的位功能描述如表5.2.2所列。在正常A/D转换时,AUTO_PST和XY_PST都置成0即可,其他各位与触摸屏有关,不需要进行设置。,2020/9/2,24,ADC控制寄存器(ADCTSC)的位功能,2020/9/2,25,(3)ADC启动延时寄存器(ADCDLY),ADC启动延时寄存器(ADCDLY)是一个可读/写的寄存器,地址为0 x5800 0008,复位值为0 x00FF。ADCDLY的位功能描述如表5.2.3所列。,2020/9/2,26,(4)ADC转换数据寄存器(ADCDAT0和ADCDAT1),S3C2410A有ADCDAT0和ADCDAT1两个ADC转换数据寄存器。ADCDAT0和ADCDAT1为只读寄存器,地址分别为0 x5800 000C和0 x5800 0010。在触摸屏应用中,分别使用ADCDAT0和ADCDAT1保存X位置和Y位置的转换数据。对于正常的A/D转换,使用ADCDAT0来保存转换后的数据。 ADC
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号