1、1第九章第九章 D/AD/A、A/DA/D转换器转换器v主要内容:主要内容:v 模拟量输入输出通道的组成模拟量输入输出通道的组成v D/A转换器的工作原理、连接及编程转换器的工作原理、连接及编程v A/D转换器的工作原理、连接及编程转换器的工作原理、连接及编程20010110110101100工工业业生生产产过过程程传传感感器器放大放大滤波滤波多路转换多路转换&采样保持采样保持A/D转换转换放大放大驱动驱动D/A转换转换输出输出接口接口微微型型计计算算机机执行执行机构机构输入输入接口接口物理量物理量变换变换信号信号处理处理信号信号变换变换I/O接口接口输入通道输入通道输出通道输出通道9.1 概
2、概 述述数数/模(模(D/AD/A)和模)和模/数(数(A/DA/D)转换技术主要用于计算)转换技术主要用于计算机控制和测量仪表中。典型的闭环实时控制系统为:机控制和测量仪表中。典型的闭环实时控制系统为:3n模拟量模拟量连续变化的物理量连续变化的物理量n数字量数字量时间和数值上都离散的量时间和数值上都离散的量模拟模拟/数字转换器数字转换器ADCADCDACDAC数字数字/模拟转换器模拟转换器9.1概述4模/数与数/模转换通道的组成 5传感器传感器:能够把非电物理量转换成电量(电流或电:能够把非电物理量转换成电量(电流或电压)的器件,一般传感器由电容、电阻、电感或敏压)的器件,一般传感器由电容、
3、电阻、电感或敏感材料组成,在外加激励电流或电压的驱动下,不感材料组成,在外加激励电流或电压的驱动下,不同类型的传感器会随不同非电物理量的变化,引起同类型的传感器会随不同非电物理量的变化,引起传感器的组成材料发生改变,使得输出连续变化的传感器的组成材料发生改变,使得输出连续变化的电流或电压与非电物理量的变化成正比。电流或电压与非电物理量的变化成正比。一、传感器(一、传感器(TransducerTransducer)6 7二、信号放大处理 信号放大处理电路,接在A/D转换器与传感器之间,用于解决以下存在问题:v A/D转换器与传感器二者电压不匹配;v如果是电流型输出传感器,要进行变换与放大处理,将
4、电流信号对应变换成电压信号;v传感器工作在现场,可能存在复杂的强电磁波的干扰,通常采用RC低通滤波器,滤除叠加在传感器输出信号上的高频干扰信号,也可采用有源滤波技术,使得滤波特性更好。8三、多路转换开关(Multiplexer)v 一个数据采集系统(A/D转换)往往要采集多路模拟信号;v 通常只用一片A/D转换芯片,轮流选择输入信号进行采集,既节省了硬件开销,又不影响对系统的监测与控制;v 许多A/D转换芯片内部具备多路转换开关,一片A/D转换芯片可以轮流采集多路模拟输入信号,如果A/D转换芯片不具有多路转换功能,则在A/D转换之前外加模拟多路转换开关。9常用的模拟多路开关介绍 CD4051B
5、的基本结构CD4051B采用了CMOS工艺,16脚DIP封装八选一八选一模拟多路开关模拟多路开关 10四、采样保持器(Sample Holder)v在A/D转换器进行采样期间,保持被转换输入信号不变的电路称为采样保持电路;vA/D转换器完成一次转换所需要的时间称为转换时间;v不同A/D转换芯片,其转换时间各异,对于连续变化较快的模拟信号如果不采取采样保持措施,将会引起转换误差;v慢速变化的模拟信号,在A/D转换系统中,完全可以不必采用采样保持电路,而且并不会影响A/D转换的精度。11采样/保持器的基本原理 采样保持器是指在逻辑电平的控制下处于“采样”或“保持”两种工作状态的电路,采样/保持示意
6、图如图10-5所示,在采样状态下,电路的输出跟踪输入模拟信号,在保持状态下,电路的输出保持着前一次采样结束时刻的瞬时输入模拟信号,直到进入下一次采样状态为止。从图10-5中可以看出,经过对Vi的采样,V0的小平台电压值保持到下一次的采样开始,该稳定的“小平台”电压供A/D转换器进行A/D转换。12采样采样/保持示意图保持示意图13五、A/D转换器(Analog to Digit)A/D转换器是模/数转换通道的核心环节,其功能是将模拟输入电信号转换成数字量(二进制数或BCD码等),以便由计算机读取、分析处理,并依据它发出对生产过程的控制信号。14 159.2 D/A转换器芯片及其接口转换器芯片及
7、其接口9.2.1 D/A9.2.1 D/A转换原理与技术指标转换原理与技术指标一、一、D/AD/A转换器的工作原理转换器的工作原理数字量是由一位一位的数位组成的,每个数位都代表一定的权。数字量是由一位一位的数位组成的,每个数位都代表一定的权。D/AD/A转换时,就是把一个数字量的每一位代码按权的大小转换转换时,就是把一个数字量的每一位代码按权的大小转换为相应的模拟量分量,然后用线性叠加原理将各位代码对应的为相应的模拟量分量,然后用线性叠加原理将各位代码对应的模拟输出量相加模拟输出量相加,其和就是与数字量成正比的模拟量。其和就是与数字量成正比的模拟量。在实现时,通常采用在实现时,通常采用T T型
8、网络实现数字量往模拟电流的转换,型网络实现数字量往模拟电流的转换,再利用运算放大器来完成模拟电流到模拟电压的转换。再利用运算放大器来完成模拟电流到模拟电压的转换。Rf 模拟开关模拟开关电阻网络电阻网络VO数字量数字量Vref16D/A变换原理 v运放的放大倍数足够大时,输出电压Vo与输入电压Vin的关系为:fOinRV=-VR式中:式中:Rf 为反馈电阻为反馈电阻 R 为输入电阻为输入电阻 VinRf VoR 17 v若输入端有若输入端有n个支路个支路,则输出电压则输出电压VO与输入与输入电压电压Vi的关系为:的关系为:n0fini=1i1V=-RVRVinRf VOR1式中:式中:Ri 为第
9、为第i支路的输支路的输 入电阻入电阻Rn18v令每个支路的输入电阻为令每个支路的输入电阻为2iRf,并令并令Vin为一为一基准电压基准电压Vref,则有,则有v如果每个支路由一个开关如果每个支路由一个开关Si控制,控制,Si=1表示表示Si合上,合上,Si=0表示表示Si断开,则上式变换为断开,则上式变换为 nn0frefrefiii=1i=1f11V=-RV=-V2 R2n0irefii=11V=-SV2若若Si=1,该项对该项对VO有贡献有贡献若若Si=0,该项对该项对VO无贡献无贡献192R4R8R16R32R64R128R256RVrefRf VOS1S2S3S4S5S6S7S8n与上
10、式相对应的电路如下与上式相对应的电路如下(图中图中n=8):n图中的电阻网络就称为权电阻网络图中的电阻网络就称为权电阻网络20v如果用如果用8位二进制代码来控制图中的位二进制代码来控制图中的S1S8(Di=1时时Si闭合;闭合;Di=0时时Si断开断开),那么根,那么根据二进制代码的不同,输出电压据二进制代码的不同,输出电压VO也不同,也不同,这就构成了这就构成了8位的位的D/A转换器。转换器。v可以看出,当代码在可以看出,当代码在0FFH之间变化时,之间变化时,VO相应地在相应地在0-(255/256)Vref之间变化。之间变化。v为控制电阻网络各支路电阻值的精度,实为控制电阻网络各支路电阻
11、值的精度,实际的际的D/A转换器采用转换器采用R-2R梯形电阻网络梯形电阻网络(见见下页下页),它只用两种阻值的电阻,它只用两种阻值的电阻(R和和2R)。21R-2R梯形电阻网络22D/A转换器的主要技术指标v分辨率分辨率(Resolution)输入的二进制数每输入的二进制数每1个最低有效位个最低有效位(LSB)使输出变使输出变化的程度。化的程度。一般用输入数字量的位数来表示一般用输入数字量的位数来表示:如如8位、位、10位位例:一个满量程为例:一个满量程为5V的的10位位DAC,1 LSB的变化将使输出变化的变化将使输出变化 5/(210-1)=5/1023=0.004888V=4.888m
12、Vv转换精度(误差)转换精度(误差)实际输出值与理论值之间的最大偏差。实际输出值与理论值之间的最大偏差。一般用最小量化阶一般用最小量化阶来度量,如来度量,如1/2 LSB1/2 LSB 也可用满量程的百分比来度量,如也可用满量程的百分比来度量,如0.05%FSR0.05%FSRLSB:Least Significant BitLSB:Least Significant BitFSR:Full Scale Range)FSR:Full Scale Range)239.2.2 典型D/A转换器vDAC0832特性:v8位电流输出型D/A转换器vT型电阻网络v差动输出24DAC0832内部结构内部结
13、构25引脚功能引脚功能vD7D0:输入数据线vILE:输入锁存允许vCS#:片选信号 用于把数据写入到输入锁存器用于把数据写入到输入锁存器vWR1#:写输入锁存器 vWR2#:写DAC寄存器vXFER#:允许输入锁存器的数据传送到DAC寄存器 上述二个信号用于启动转换上述二个信号用于启动转换vVREF:参考电压,-10V+10V,一般为+5V或+10VvIOUT1、IOUT2:D/A转换差动电流输出,接运放的输入vRfb:内部反馈电阻引脚,接运放输出vAGND、DGND:模拟地和数字地 26工作时序vD/A转换可分为两个阶段:CS#=0、WR1#=0、ILE=1,使输入数据锁存到输入寄存器;,
14、使输入数据锁存到输入寄存器;WR2#=0、XFER#=0,数据传送到,数据传送到DAC寄存器,并开始转换。寄存器,并开始转换。写输入写输入寄存器寄存器写写DAC寄存器寄存器27工作方式v单缓冲方式单缓冲方式使输入锁存器或使输入锁存器或DAC寄存器二者之一处于直通寄存器二者之一处于直通。CPU只需一次写入即开始转换。控制比较简单。v双缓冲方式(标准方式)双缓冲方式(标准方式)转换要有两个步骤:v将数据写入输入寄存器CS#=0、WR1#=0、ILE=1v将输入寄存器的内容写入DAC寄存器WR2#=0、XFER#=0 优点:数据接收与D/A转换可异步进行;可实现多个DAC同步转换输出分时写入、同步转
15、换v直通方式直通方式使内部的两个寄存器都处于直通状态。模拟输出始终跟随输入变化。不能直接与数据总线连接不能直接与数据总线连接,需外加并行接口(如74LS373、8255等)。283 3、应用举例、应用举例 例例1 1 如图所示如图所示,用用DAC0832DAC0832产生锯齿波,端口地址为产生锯齿波,端口地址为PORTPORT。VCCILEVrefRfbIout1Iout2XFERWR2DGNDAGNDD0 D7WR1CSIOW+5V+5V15K15K7.5KVOUT MOV DX,PORT Lop1:MOV AL,00H Lop2:OUT DX,AL MOV CX,40 H0:LOOP H0
16、 INC AL CMP AL,0FFH JZ lop1 JMP lop2可以通过延时的办法改变锯齿可以通过延时的办法改变锯齿波的周期,延迟时间不同,波波的周期,延迟时间不同,波形周期不同,锯齿波的斜率就形周期不同,锯齿波的斜率就不同不同29例例2 2 同上题同上题,编写连续三角波的程序编写连续三角波的程序 MOV DX,PORT XOR AL,AL W1:OUT DX,AL INC AL NOP CMP AX,0FFH JNZ W1 W2:OUT DX,AL DEC AL NOP CMP AL,0 JNZ W2 JMP W1304q3q2q1q0 T1 T2 T3 T4 T5 T6 T7 T8
17、 T9 T10 T11 T12 量化量化 2q 3q q 2q 3q 4q 3q 3q 2q 3q 3q q 编码编码 010 011 001 010 011 100 011 011 010 011 011 0011、采样过程:、采样过程:将时间上连续变化的模拟量转变为时间上断续变化的模拟量。将时间上连续变化的模拟量转变为时间上断续变化的模拟量。采样频率采样频率f0大于等于输入信号最高频率大于等于输入信号最高频率fm的的2倍倍。2、保持过程:、保持过程:将采样得到的模拟量的值保持下来。为保证采样精确度,要求将采样得到的模拟量的值保持下来。为保证采样精确度,要求在在A/D转换期间,保持输入模拟量
18、的信号不变。转换期间,保持输入模拟量的信号不变。3、量化过程:、量化过程:以一定的量化单位,把离散的模拟信号转化为离散的阶跃量的以一定的量化单位,把离散的模拟信号转化为离散的阶跃量的过程。通常用过程。通常用“四舍五入四舍五入”的方法使之整量化。的方法使之整量化。4、编码过程:、编码过程:把已经量化的模拟数值用二进制数码(把已经量化的模拟数值用二进制数码(1/0)来表示。)来表示。9.3 A/D转换器芯片转换器芯片31v根据A/D转换原理和特点的不同,可把ADC分成两大类:直接直接ADC和间接间接ADC。直接ADC是将模拟电压直接转换成数字量,常用的有:v逐次逼近式逐次逼近式ADC、计数式ADC
19、、并行转换式ADC等。间接ADC是将模拟电压先转换成中间量,如脉冲周期T、脉冲频率f、脉冲宽度等,再将中间量变成数字量。常见的有:v单积分式ADC、双积分式ADC,V/F转换式ADC等。32v计数式ADC:最简单,但转换速度最慢。v并行转换式ADC:速度最快,但成本最高。v逐次逼近式ADC:转换速度和精度都比较高,且比较简单,价格低,所以在微型机应用系统中最常用。v双积分式ADC:转换精度高,抗干扰能力强,但转换速度慢,一般应用在精度高而速度不高的场合,如测量仪表。vV/F转换式ADC:在转换线性度、精度、抗干扰能力等方面有独特的优点,且接口简单、占用计算机资源少,缺点也是转换速度慢。在一些输
20、出信号动态范围较大或传输距离较远的低速过程的模拟输入通道中应用较为广泛。33D/A+-V Vi i比较器逐次变换寄存器SAR 数字量输出时序及控制逻辑 VC原理:类似天平称重量时的尝试法,逐步用砝码的原理:类似天平称重量时的尝试法,逐步用砝码的累积重量去逼近被称物。累积重量去逼近被称物。9.3.1 逐次逼近型逐次逼近型A/D工作原理工作原理9.3.2 A/D的技术指标的技术指标 分辨率分辨率 量化误差量化误差 转换速度转换速度 精度精度34359.3.3 ADC08099.3.3 ADC0809一、原理框图一、原理框图36D7D0:输出数据线(三态)IN0IN7:8通道(路)模拟输入ADDC、
21、ADDB、ADDA:通道地址(通道选择)ALE:通道地址锁存START:启动转换EOC:转换结束,可用于查询或作为中断申请OE:输出允许(打开输出三态门)CLK:时钟输入(10KHz1.2MHz)VREF(+)、VREF(-):基准参考电压37启动启动地址地址锁存锁存ADDA-ADDCADDA-ADDCALE/STARTALE/STARTEOCEOCOEOED D0-0-D D7 7转换时间转换时间二、工作时序二、工作时序v送通道地址,以选择要转换的模拟输入;送通道地址,以选择要转换的模拟输入;v锁存通道地址到内部地址锁存器;锁存通道地址到内部地址锁存器;v启动启动A/D变换;变换;v判断转换
22、是否结束;判断转换是否结束;v读转换结果读转换结果38二、应用举例二、应用举例例例9-3 ADC0809的查询方式完成对的查询方式完成对IN3通道输通道输入的采集功能。入的采集功能。1)根据连接图写出)根据连接图写出8255的的A口、口、B口、口、C口和口和控制口的地址。控制口的地址。2)写出)写出8255的控制字的控制字3)写出通过)写出通过8255控制连续采样控制连续采样3次,并将平次,并将平均值存入均值存入BUFF单元中的程序。单元中的程序。3940例例2 2 利用利用8255A8255A间接与间接与08090809接口,接口图如图所示。采接口,接口图如图所示。采用查询方式,编写转换通道
23、用查询方式,编写转换通道IN5IN5的模拟量的程序。的模拟量的程序。IORIORIOWIOWA A1 1A A2 2A A0 0A A3 341解解 由接口图分析可知由接口图分析可知8255A8255A的的A A口、口、B B口、口、C C口和控制口口和控制口的地址分别为的地址分别为90H90H、92H92H、94H94H、96H96H,程序片段如下:,程序片段如下:MOV DX,96H MOV DX,96H ;82558255初始化初始化 MOV ALMOV AL,10011000B10011000B OUT DX OUT DX,ALAL MOV DX,92H MOV DX,92H;A/DA
24、/D转换转换 MOV ALMOV AL,05H05H;选择通道;选择通道5 5 OUT DX OUT DX,AL AL MOV DX,96H MOV DX,96H MOV AL MOV AL,01H01H;ALEALE信号有效信号有效 OUT DXOUT DX,ALAL MOV AL MOV AL,00H00H;启动;启动ADAD OUT DX OUT DX,ALAL NOP NOP NOP NOP W W:MOV DX,94H MOV DX,94H IN AL IN AL,DX DX TEST AL TEST AL,00100000B00100000B JZ W JZ W MOV DX,96
25、H MOV DX,96H MOV AL MOV AL,00000101B00000101B;OE=1OE=1,打开三态门,打开三态门 OUT DXOUT DX,ALAL MOV DX,90H MOV DX,90H IN AL IN AL,DX DX;从;从A A口读取数据口读取数据 MOV BLMOV BL,AL AL MOV DX,96H MOV DX,96H MOV AL MOV AL,00000100B00000100B;OE=0 OE=0 OUT DX OUT DX,ALAL42作业9.7、如图所示,为一个A/D转换系统的电路图。ADC0809工作时序如图所示。要求完成下述功能:(1)写出8255A的初始化程序;(2)编写将IN7通道的模拟量转换为数字量,并将结果存入NUMB单元的程序。4344