AD转换器及其接口设计.pptx
1一、A/D转换器的基本原理模拟输入量数字输出量0000010100111001011101111v 2v 3v 4v 5v 6v 7vA/D转换器模拟输入量数字输出量第1页/共52页2工作原理特点计数式结构简单、原理清楚转换速度慢、精度低,少用双积分式精度高、转换速度慢,常用逐次逼近式转换速度较快、精度较高常用高速并行式 转换速度快,价格高第2页/共52页3C为计数器控制端:C=1,开始计数;C=0,停止计数。q计数式A/D转换由8位D/A转换器、8位计数器和比较器组成。8位计数器D7-D08位D/A转换器 A-+CLKEOCS开始转换转换结束C比较器ViV0CLR模拟输入电压D/A转换器输出电压数字量输出D0D7计数时钟S=0,使8位计数器清“0”,S=1,使计数器准备计数。第3页/共52页4启动信号S:S端:使8位计数器清“0”,S端:计数器准备计数。8位D/A转换器:数字量00H0V电压输出Vo。当ViVo时,C=1,计数器从0开始计数,只要ViVo,C=1,计数器不断计数,当VoVi时,C=0,计数器停止计数。D7D0为Vi所对应的数字量。实现了A/D转换。C的表示A/D转换结束,可以作为中断请求信号或作为查询用。第4页/共52页5计数式A/D转换时间图第5页/共52页6双积分型ADC又称双斜率ADC。它的工作原理是,对输入模拟电压和参考电压进行两次积分,变换成和输入电压平均值成正比的时间间隔和输入电压平均值成正比的时间间隔,并利利用计数器测出时间间隔用计数器测出时间间隔,计数器的输出就是转换后的数字量,如图所示。积分器积分器:由集成运放和RC积分环节组成,其输入端接控制开关S1。S1由定时信号控制,可以将极性相极性相反反的输入模拟电压和参考电压分别加在积分器,进行两次方向相反方向相反的积分。其输出接比较器的输入端。1.组成q双积分式A/D转换第6页/共52页7检零比较器检零比较器:其作用是检查积分器输出电压过零的时刻检查积分器输出电压过零的时刻。当uO0时,比较器输出uC=0;当uOUf,予以保留此位的“1”。第二个时钟脉冲到来时,SAR 置为11000000码,经过DA转换器产生反馈电压V因Ui Uf,故保留此位“1”。第13页/共52页14第三个时钟脉冲到来时,SAR 状态置为11100000,经DA转换器产生反馈电压V,因UiUf,SAR 此位应置“0”。SAR状态改为11000000。第四个时钟脉冲到来时,SAR 状态又置为11010000,.。第14页/共52页15tU123456781.02410.24Ui5.127.688.968.328.08.168.248.288.30V时钟脉冲12345678逐次逼近比较过程脉冲 1SAR置为 100000002110000003111000001100000041101000011000000511001000611001100711001110811001111逐次逼近式AD转换的过程可用下表说明。第15页/共52页168位逐次逼近AD转换过程次数 SAR中 的数码D/产生的(V)去留码 判断本次操作后SAR中的数码1234567810000000110000001110000011010000110010001100110011001110110011115.127.688.968.328.08.168.248.28,留1,留1,留0,留0,留1,留1,留1,留11000000011000000110000001100000011001000110011001100111011001111第16页/共52页17由上表可见:经过8次比较之后,SAR 的数据寄存器中所建立的数码11001111即为转换结果。数码对应的反馈电压Uf=8.28V,它与输入的模拟电压Ui=8.3V相差0.02V,不过两者的差值已小于1LSB所对应的量化电压0.04V。逐次逼近式AD转换器的转换结果通过数字量输出锁存器并行输出。第17页/共52页18比较三种A/D转换方式计数式A/D转换速度慢,价格低,适用于慢速系统;双积分式A/D转换分辨率高,抗干扰性好,但转换速度较慢,适用于中速系统。逐次逼近型A/D转换精度高、转换速度快、易受干扰。微机系统中大多数采用逐次逼近型A/D转换方法。第18页/共52页19二、A/D转换器的技术指标1.分辨率2.转换精度3.转换时间和转换率第19页/共52页201分辨率指A/D转换器所能分辨的最小模拟输入量,或指转换器满量程模拟输入量被分离的级数。模拟输入量数字输出量0000010100110000010100111v 2v 3v 4v 5v 6v 7v输入 输出0.50.5v0000.51.5v0011.52.5v010、5.56.5v1106.57.5v111在ADC中,模拟量和数字量之间不是一一对应的关系第20页/共52页212转换精度实际输出的数字量与理论输出的数字量之间的偏差。反应ADC的实际输出接近理想输出的精确程度。ADC的分辨率通常用能转换成的数字量位数表示。如:8位A/D转换器的分辨率为8位。10位A/D转换器的分辨率为10位。这种偏差由两部分构成:a:量化误差。量化误差是把连续的模拟量转换为离散的数字量(这一过程称为量化)时必然存在的,是不可避免的。例如,8位ADC,单极性输入05V,数字量为0255,它能分辨的最小输入信号是=5V/25620mV,如4.985.00V输入对应的数字均为255,这是不可避免的。b:器件误差。器件误差是由于器件制造精度、温度漂移等造成的,可以通过提高产品质量来降低。第21页/共52页22 由于在一定范围内的模拟值产生相同的数字量,取该范围内的中间模拟值计算。A/D转换精度用数字量的最低有效位(LSB)来表示。如果模拟量在(/2)范围内,都产生相对应的唯一数字量,称为这个ADC是无误差的,或者称其精度为0LSB。如果模拟量在-+范围内,都产生相对应的唯一数字量,这个ADC的精度为1/2LSB。如果模拟量在(+3/43/4)范围内,都产生相对应的唯一数字量,这个ADC的精度为1/4LSB。第22页/共52页233转换时间和转换率转换时间指完成一次A/D转换所需的时间,从启动信号开始到转换结束,得到稳定数字量的时间。转换率是转换时间的倒数。第23页/共52页24三、A/D转换器及其连接1.A/D转换器分类2.A/D转换器与系统的连接第24页/共52页25 1.A/D转换器分类l 按工作原理分l 按输入方式分l 按输出方式分l 按性能特点分l 按输出是否带三态缓冲分第25页/共52页26l 按模拟量输入方式分单极性ADC、双极性ADCl按数字量输出方式分并行ADC、串行ADCl 按工作原理分计数式ADC、双积分式ADC逐次逼近式ADC、并行式ADC第26页/共52页27l 按性能特点分按分辨率分4位、6位、8位、10位、12位、14位、16位、按转换速度分低速、中速、高速、超高速(转换时间分别为1s、1ms、1us、1ns)按转换精度分低精度、中精度、高精度、超高精度第27页/共52页28l 按输出是否带三态缓冲分带可控三态缓冲ADC如:ADC0809不带可控三态缓冲ADC如:AD570、ADC12102.A/D转换器及其连接1)A/D转换器的典型信号2)A/D转换器各信号与系统的连接第28页/共52页291)A/D转换器的典型信号A/D转换器模拟量输入信号模拟量输入信号A/D转换启动信号A/D转换启动信号转换完成信号转换完成(结束)信号数字量输出信号数字量输出信号2)A/D转换器各信号与系统的连接第29页/共52页30注意A/D转换器允许输入的模拟值范围,不要超出范围A/D转换器模拟量输入信号数字量输出信号A/D转换启动信号转换完成信号为充分发挥A/D转换器的分辨率,输入量应与转换量程相称。模拟量输入信号例如某A/D转换的范围为010V,输入的模拟信号为05V,则应将输入信号放大2倍,再送入A/D进行转换。第30页/共52页31 数字量输出信号r输出不带可控三态缓冲器的ADCr输出带可控三态缓冲器的ADCr输出位数超过微机数据总线的ADC第31页/共52页32PC总线I/O读时序A15A0CLKIORT4T1T2T3TwD7D0执行INAL,DX时:在IOR的上升沿控制三态门,数字量进入CPUr输出不带可控三态缓冲器的ADCPC总线IOR不带可控三态ADC模拟量输入数据线地址线00地址译码三态门1数字量输出不能直接与总线相连。需加三态门才能与数据总线相连。第32页/共52页33q输出带可控三态缓冲器的ADCPC总线I/O读时序A15A0CLKIORT4T1T2T3TwD7D0执行INAL,DX时:在IOR的上升沿打开三态门,数字量进入CPU数据线带可控三态ADC模拟量输入PC总线IOR地址译码地址线001其数字量输出可直接与微机的数据总线相连。第33页/共52页34r输出数字量位数超过微机数据总线的ADCPC总线数据线8位12位ADC模拟量输入12位?ADC的转换结果不能一次进入CPU,需按字节分多次读取。第34页/共52页35总线12位A/D转换器数据线D7D0模拟量输 入IOR低8位三态00地址译码地址线00高4位三态低8位高4位D3D0port_Lport_H11读取转换结果到buffer中:INAl,port_LMOVbuffer,ALINAL,port_HMOVbuffer+1,AL第35页/共52页36A/D转换启动信号8位DAC寄存器8位D/A转换器VREFIOUT2RFBAGNDVCCDGNDDI7DI0LE2IOUT1LE1CSWR1WR2XFERILE1118位输入寄存器q对D/A芯片,只要数字信号进入转换电路,就开始D/A转换,无启动信号。第36页/共52页37q对一个连续的模拟信号进行A/D转换时,在一个数据转换完成之后,应再发启动信号,开始下一个数据的转换。q而A/D芯片,每进行一次数据转换,均受启动信号控制,在启动信号有效之后,才开始一次A/D转换,得到一个数字量。A/D转换器模拟量输入信号数字量输出信号A/D转换启动信号转换完成信号第37页/共52页38A/D启动信号的形式有电平启动和脉冲启动脉冲启动对脉冲启动的ADC,如ADC0804、ADC0809、ADC1210可用CPU执行输出指令时发出的片选信号和写信号组合得到PC总线IOW地址译码地址线001模拟量输入A/D转换器A/D转换启动信号OUTDX,AL第38页/共52页39电平启动对电平启动的ADC,如AD570、AD571、AD572,该信号必须保持到A/D转换结束,中途不能撤除;否则会停止转换,得到错误结果。CPU可通过并行接口对ADC芯片发电平形式的启动信号。PC总线IOW地址译码地址线001模拟量输入A/D转换器OUTDX,ALA/D转换启动信号数据线锁存器第39页/共52页40 转换完成EOC信号A/D转换器模拟量输入信号数字量输出信号A/D转换启动信号转换完成信号A/D转换需要一定时间,在转换完一个数据之后,A/D芯片会发出一个转换完成信号。(相当于输入设备的准备好信号)第40页/共52页41将A/D芯片看作一个输入设备,CPU可采用下列四种方法,读取A/D的转换结果:q程序延时方式(同步方式)q程序查询方式q中断方式q等待方式数字量输出信号A/D转换器模拟量输入信号A/D转换启动信号转换完成信号四种方式对EOC信号的处理各不相同第41页/共52页42q程序延时方式(同步方式)A 程序延时方式下,硬件连线上未利用转换完成信号启动A/D转换读取A/D转换结果延时等待A/D转换结束YN转换下一数据?通过查阅手册了解A/D转换一个数据所需时间,在CPU启动A/D转换之后,执行一个固定延时程序,延时应大于等于A/D的转换时间,然后CPU再读取A/D的转换结果。第42页/共52页43q程序查询方式PC总线IOR地址译码地址线001模拟量输入A/D转换器INAL,DXA/D转换完成信号数据线三态门转换完成EOC信号通过并行端口,送入CPU。在CPU启动A/D转换之后,CPU不断查询A/D的转换结束信号,一旦该信号有效,CPU读取A/D的转换结果。第43页/共52页44启动A/D转换读取A/D转换结果YNNY查询A/D转换结束信号是否有效?转换下一数据?程序查询方式流程第44页/共52页45r中断方式A/D转换器模拟量输入信号数字量输出信号A/D转换启动信号转换完成信号IRQ4PC总线用A/D转换结束信号向微机系统发中断申请,CPU采用中断方式读取A/D转换结果。第45页/共52页46主程序发中断结束命令EOIIRET中断返回开始读取A/D转换结果中断子程设置中断向量设置8259A,允许中断STI开中断设置8259A,禁止中断返回DOSCLI关中断开始N启动A/D转换用HLT指令,等中断转换下一数据?Y第46页/共52页47q等待方式A/D转换器模拟量输入信号数字量输出信号A/D转换启动信号转换完成信号READYCPU用A/D转换结束信号向微机系统发READY信号,当CPU用IN读指令读取结果时,在未转换完成前,READY信号为低电平,将延长CPU的读I/O端口周期;待READY有效,即A/D转换完成之后,再读取转换结果。第47页/共52页48T1T2T3TwT4READYA19A16AD7AD0IO/MA15A8ALERDDT/RDENCLK高IO低MA19A16S6S3D7D0/S6S3A7A08088CPU最小模式下,在T3状态下降沿,检测READY信号,当READY为低电平,增加Tw状态;直到READY为高电平,才进入T4状态第48页/共52页49A/D转换器模拟量输入信号数字量输出信号A/D转换启动信号转换完成信号IOCHRDYPC总线利用IBMPC/XT总线上的IOCHRDY信号:第49页/共52页50A9A0IORCLKD7D0T1T2T3T4IOCKRDYTwTwTwTw在T3状态下降沿,检测IOCKRDY信号,当IOCKRDY为低电平,增加Tw状态直到IOCKRDY为高电平,才进入T4状态第50页/共52页51启动A/D转换读取A/D转换结果YN转换下一数据?等待方式流程思考:程序延时方式和等待方式在硬件连线和软件上的不同之处?启动A/D转换读取A/D转换结果延时等待A/D转换结束YN转换下一数据?程序延时方式流程第51页/共52页52谢谢大家观赏!第52页/共52页