您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 机械/模具设计 > 电子设计创新训练(提高)第三章 常用AD与DA
第三章常用A/D、D/A转换器应用介绍§3-1常用A/D转换器作为智能设备,经常需要处理模拟量的前向通道与后向通道(即输入与输出),这两个环节需要使用模/数与数/模转换器。一、分类从接口类型分类,分为并口、串口方式及非标准接口;从转换原理分类,又分为比较型与积分型。1、接口方式简介常用的嵌入式系统外围芯片,包括A/D及D/A芯片,大体上使用三类接口规范:并口、串口方式及非标准接口。(1)并口此类接口为计算机硬件典型接口。需要含有:电源、数据总线(一般8位)、地址总线(宽度依据器件存储器数量而定)、控制总线(读、写、片选、时钟、中断、复位等)。此类芯片能够与典型的系统外部总线直接无缝接口(如同8255芯片一样)。如果嵌入式系统没有扩展外部总线,亦可以使用I/O口来模拟总线进行接口。特点是读写控制速度快,控制软件简单;缺点是占用总线,使用了大量的I/O,芯片尺寸大,线路板布线复杂。(2)串口考虑到大部分外设都不需要很高的速度,同时也为节省MCU的I/O,目前多种外设:EEPROM、数字传感器芯片、A/D及D/A芯片、显示模块等都采用串行接口。常用的串行接口有移位寄存器、SPI、I2C、1线接口等。特点是读写控制速度相对较慢,需要一定的控制软件开销;优点是仅使用了少量的I/O,最少只需要1根I/O;芯片尺寸校,线路板布线简单。2、转换原理分类从转换原理分类,分为比较型与积分型。(一)比较型ADC比较型ADC可分为反馈比较型及非反馈(直接)比较型两种。比较型ADC优点是速度快,缺点是很难做到高的位数。高速的并行比较型ADC是非反馈的,N位2进制A/D转换器就需要2(N-1)个比较器。制作工艺困难,价格比较高,仅用于视频等告诉信号处理场合。(简单介绍4个比较器工程3位2进制ADC的原理)智能仪器中常用到的中速中精度的逐次逼近型ADC是反馈型。仅使用一个比较器,采用类似与对分搜索的方法工作。图3-1逐次逼近式转换器原理(二)积分型型ADC常用双积分、V/F、Σ-Δ等类型,以双积分型为例。图3-2双积分ADC双积分式ADC的优点:对R、C及时钟脉冲Tc的长期稳定性无过高要求即可获得很高的转换精度。微分线性度极好,不会有非单调性。因为积分输出是连续的,因此,计数必然是依次进行的,即从本质上说,不会发生丢码现象。积分电路为抑制噪声提供了有利条件。双积分式ADC是测量输入电压在定时积分时间T1内的平均值,对干扰有很强的抑制作用,尤其对正负波形对称的干扰信号抑制效果更好,典型的是抗工频干扰。二、ADC特性参数1、量化特性与量化误差图3-3量化特性及量化误差数字量化最小分辨率=1;一般最小量化误差=1/2。图3-4理想ADC的传输特性和量化误差2、常用性能衡量指标A/D转换器常用以下几项技术指标来评价其质量水平。(1)分辨率ADC的分辨率定义为ADC所能分辨的输入模拟量的最小变化量。(2)转换时间A/D转换器完成一次转换所需的时间定义为A/D转换时间。(3)精度①绝对精度绝对精度定义为:对应于产生一个给定的输出数字码,理想模拟输入电压与实际模拟输入电压的差值。绝对精度由增益误差、偏移误差、非线性误差以及噪声等组成。②相对精度相对精度定义为在整个转换范围内,任一数字输出码所对应的模拟输入实际值与理想值之差与模拟满量程值之比。③偏移误差。ADC的偏移误差定义为使ADC的输出最低位为1,施加到ADC模拟输入端的实际电压与理论值1/2(Vr/2n)(即0.5LSB所对应的电压值)之差(又称为偏移电压)。④增益误差增益误差是指ADC输出达到满量程时,实际模拟输入与理想模拟输入之间的差值,以模拟输入满量程的百分数表示。⑤线性度误差ADC的线性度误差包括积分线性度误差和微分线性度误差两种。a.积分线性度误差积分线性度误差定义为偏移误差和增益误差均已调零后的实际传输特性与通过零点和满量程点的直线之间的最大偏离值,有时也称为线性度误差。b.微分线性度误差积分线性度误差是从总体上来看ADC的数字输出,表明其误差最大值。但是,在很多情况下往往对相邻状态间的变化更感兴趣。微分线性度误差就是说明这种问题的技术参数,它定义为ADC传输特性台阶的宽度(实际的量子值)与理想量子值之间的误差,也就是两个相邻码间的模拟输入量的差值对于Vr/2n的偏离值。图3-5ADC的积分线性度误差图3-6ADC的微分线性度误差与微分线性度误差直接关联的一个ADC的常用术语是失码(MissingCord)或跳码(SkippedCord),也叫做非单调性。这个特性决定了ADC的分辨率高并不一定代表它的先进性度高或者微分非线性小。图3-7ADC的失码现象⑥温度对误差的影响环境温度的改变会造成偏移、增益和线性度误差的变化。一般来讲,目前的芯片制造技术能够对温度漂移进行较好的控制。三、常用ADC芯片接口方法(一)AD574A及其与微处理器的接口图3-8AD57A的管脚图AD574是美国AD公司生产的12位高速逐次逼近型模/数变换器,图3-8所示.片内自备时钟基准源,变换时间快(25μs),数字量输出具有三态缓冲器,可直接与微机的总线接El,又可直接采用双极性模拟信号输入,有着广泛的应用场合,供电电源为±15V,逻辑电源为+5V。引脚:CS:片选,低有效;CE:片允许,高有效。R/C:读/变换,高为读A/D变换结果,低为启动A/D变换;12/8:数据格式,高为12位并行输出,低为8位(或4位)并行输出;A0:字节地址/短周期,高为8位变换/输出低4位,低为12位变换/输出高8位;STS:变换状态,高为正在变换,低为变换结束.STS总共有三种接法:(1)空着:只能在启动变换,25μs以后读A/D结果;(2)接静态端口线:可用查询方法,待STS为低后再读A/D变换结果;(3)接外部中断线:可引起中断后,读A/D变换结果;REFIN:基准输入.REFOUT:内部10V基准输出;BIPOFF:双极性方式时,偏置电压输入端(10V基准);DBII~DB0:12位数据总线.10VIN:单极性0~10V模拟量输入;双极性0~±5V模拟量输入;20VIN:单极性0~20V模拟量输入;双极性0~±10V模拟量输入;AGND:模拟地.图3-9ADC574A单极性和双极性输入接法表3.10AD574的控制状态表及8位数据输出数据格式图3-11AD574A启动转换和读数据时序对芯片的使用要点:必须清晰读懂时序才能编程控制!图3-12AD574A与8031的接口如图3-12是8051单片机与AD574A的接口电路,其中还使用了三态锁存器74LS373和74LS00与非门电路,逻辑控制信号由(、和A0)有8051的数据口P0发出,并由三态锁存器74LS373锁存到输出端Q0、Q1和Q2上,用于控制AD574A的工作过程。AD转换器的数据输出也通过P0数据总线连至8051,由于我们只使用了8位数据口,12位数据分两次读进8051,所以接地。当8051的P3.0查询到STS端转换结束信号后,先将转换后的12位A/D数据的高8位读进8051,然后再将低4位读进8051。其实这里也可以直接采用延时25μs后立即采样的方法读取数据。这里不管AD574A是处在启动、转换和输出结果,使能端CE都必须为1,因此将8051的写控制线和读控制线通过与非门74LS00与AD574A的使能端CE相连。实际操作的时候,也可以直接连接到+5V电源。扩展空间为外部RAM8位寻址。启动一次12位ADC转换时,写命令地址:XXXXX000H;读出高8位数据地址:XXXXX010H;读出低8位数据地址为XXXXX011H。因为只扩展了一个器件,不需要考虑重叠地址问题,此处X可以取任意值,一般取0。编程举例:采用延时取样,读取AD574结果。条件:图3-12,默认MCU为12MHz时钟。#includereg51.h#includeintrins.hunsignedintget_ad574(){unsignedcharpdata*datap;unsignedintx;unsignedchari;*p=0x00;i=25;While(i0)//延时25微秒{_nop_();i=i-1;}p=0x02;x=(*p)*256;//读高位p=0x03;x=x+*p;//并入低位returnx4;//清除低四位0返回}voidmain(){unsignedinty;y=get_ad574;while(1){}}此程序仅为一个采样示例,主函数实际没有使用意义。(二)8路8位分辨率ADC0809及与MCU的直接I/O接口1、简介ADC0809芯片有28条引脚,采用双列直插式封装,如图3-13所示。下面说明各引脚功能。IN0~IN7:8路模拟量输入端。2-1~2-8:8位数字量输出端。ADDA、ADDB、ADDC:3位地址输入线,用于选通8路模拟输入中的一路。ALE:地址锁存允许信号,输入,高电平有效。START:A/D转换启动信号,输入,高电平有效。EOC:A/D转换结束信号,输出,当A/D转换结束时,此端输出一个高电平(转换期间一直为低电平)。OE:数据输出允许信号,输入,高电平有效。当A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。CLK:时钟脉冲输入端。要求时钟频率不高于640KHZ(典型500KHZ,转换时间小于100μs)。REF(+)、REF(-):基准电压。Vcc:电源,单一+5V。GND:地。图3-13ADC0809引脚图ADC0809的工作过程是:首先输入3位地址,并使ALE=1,将地址存入地址锁存器中。此地址经译码选通8路模拟输入之一到比较器。START上升沿将逐次逼近寄存器复位。下降沿启动A/D转换,之后EOC输出信号变低,指示转换正在进行。直到A/D转换完成,EOC变为高电平,指示A/D转换结束,结果数据已存入锁存器,这个信号可用作中断申请。当OE输入高电平时,输出三态门打开,转换结果的数字量输出到数据总线上。图3-14ADC0809内部逻辑图与通道选择表图3-15典型总线方式的ADC0809接口如图3-15,是一个典型的0809总线方式接口电路。需要使用相当多的额外门电路配合,同时占用了MCU的I/O数个接口,在有时这样做是得不偿失的。大多数情况下,可以使用图3-16的I/O模拟总线接口方法。图3-16I/O模拟总线方式的ADC0809接口电路如图3-16,采用延时100微秒读取结果的采样方法,使用10条I/O模拟总线与0809接口。四分频器将MCU的2MHz的ALE信号分频为500KHz,采用计数器或者74LS74分频。2、编程举例:读取8个通道的输入。条件:图3-16。#includereg51.h#includeintrins.hunsignedcharout[8];//8个输入缓冲sbitstart_ale=P3^0;sbitoe=P3^1;get_adc0809(){unsignedcharI,j;for(j=0,j8;j++){P2=j;//输出通道号start_ale=1;start_ale=0;//启动AD并锁地址i=100;While(i0)//延时100微秒{_nop_();i=i-1;}P2=0xff;//输入口置1oe=1;out[j]=P2;oe=0;}}voidmain(){start_ale=0;oe=0;get_adc0809();whlie(1){}}(三)串行接口8位分辨率AD转换器TLC549(TLC548)TLC548和TLC549是以8位开关电容逐次逼近A/D转换器为基础而构造的CMOSA/D转换器。它们设计成能通过3态数据输出和模拟输入与微处理器或外围设备串行接口。TLC548和TLC549仅用输入/输出时钟(I/OCLOCK)和芯片选择(CS)输入作数据控制。TLC548和TLC549提供了片内系统时钟,它通常工作在4MHz且不需要外部元件。片内系统时钟使内部器件的操作独立于串行输入/输出的时序并允许TLC548和TLC549象许多软件和硬件所要求的那样
本文标题:电子设计创新训练(提高)第三章 常用AD与DA
链接地址:https://www.777doc.com/doc-3349875 .html