Ch.10模拟量的输入输出本章内容模拟量输入输出通道的组成D/A转换器原理及连接使用方法A/D转换器原理及连接使用方法模拟量I/O接口的作用:实际工业生产环境——连续变化的模拟量例如:电压、电流、压力、温度、位移、流量计算机内部——离散的数字量二进制数、十进制数工业生产过程的闭环控制概述模拟量D/A传感器执行元件A/D数字量数字量模拟量模拟量输入(数据采集)模拟量输出(过程控制)计算机10.1模拟量I/O通道的组成模拟接口电路的任务模拟电路的任务0010110110101100工业生产过程传感器放大滤波多路转换&采样保持A/D转换放大驱动D/A转换输出接口微型计算机执行机构输入接口物理量变换信号处理信号变换I/O接口输入通道输出通道模拟量输入通道传感器(Transducer)非电量→电压、电流变送器(Transformer)转换成标准的电信号信号处理(SignalProcessing)放大、整形、滤波多路转换开关(Multiplexer)多选一采样保持电路(SampleHolder,S/H)保证变换时信号恒定不变A/D变换器(A/DConverter)模拟量转换为数字量模拟量输出通道D/A变换器(D/AConverter)数字量转换为模拟量低通滤波平滑输出波形放大驱动提供足够的驱动电压,电流10.2数/模(D/A)变换器10.2.1D/A变换器的基本原理及技术指标D/A变换器的基本工作原理组成:模拟开关、电阻网络、运算放大器两种电阻网络:权电阻网络、R-2R梯形电阻网络基本结构如图:VrefRf模拟开关电阻网络VO数字量∑D/A变换原理运放的放大倍数足够大时,输出电压Vo与输入电压Vin的关系为:fOinRV=-VR式中:Rf为反馈电阻R为输入电阻VinRfVo∑R若输入端有n个支路,则输出电压VO与输入电压Vi的关系为:n0fini=1i1V=-RVRVinRfVO∑R1式中:Ri为第i支路的输入电阻Rn…令每个支路的输入电阻为2iRf,并令Vin为一基准电压Vref,则有如果每个支路由一个开关Si控制,Si=1表示Si合上,Si=0表示Si断开,则上式变换为nn0frefrefiii=1i=1f11V=-RV=-V2R2n0irefii=11V=-SV2若Si=1,该项对VO有贡献若Si=0,该项对VO无贡献2R4R8R16R32R64R128R256RVrefRfVOS1S2S3S4S5S6S7S8与上式相对应的电路如下(图中n=8):图中的电阻网络就称为权电阻网络如果用8位二进制代码来控制图中的S1~S8(Di=1时Si闭合;Di=0时Si断开),那么根据二进制代码的不同,输出电压VO也不同,这就构成了8位的D/A转换器。可以看出,当代码在0~FFH之间变化时,VO相应地在0~-(255/256)Vref之间变化。为控制电阻网络各支路电阻值的精度,实际的D/A转换器采用R-2R梯形电阻网络(见下页),它只用两种阻值的电阻(R和2R)。R-2R梯形电阻网络RfViV0…Vrefn-12102R2R2R2RRRRVn-1V2V1V02R+-D/A转换器的主要技术指标分辨率(Resolution)输入的二进制数每±1个最低有效位(LSB)使输出变化的程度。一般用输入数字量的位数来表示:如8位、10位例:一个满量程为5V的10位DAC,±1LSB的变化将使输出变化5/(210-1)=5/1023=0.004888V=4.888mV转换精度(误差)实际输出值与理论值之间的最大偏差。一般用最小量化阶⊿来度量,如±1/2LSB也可用满量程的百分比来度量,如0.05%FSRLSB:LeastSignificantBitFSR:FullScaleRange)转换时间从开始转换到与满量程值相差±1/2LSB所对应的模拟量所需要的时间tV1/2LSBtCVFULL010.2.2典型D/A转换器DAC0832特性:8位电流输出型D/A转换器T型电阻网络差动输出引线图见教材p351DAC0832内部结构输入数据~47~131619121817XFERWR2WR1CSILE&≥1≥1LE1LE2Rfb8位输入寄存器8位DAC寄存器8位D/A转换器VREFIOUT2IOUT1RfbAGND(模拟地)VCC(+5V或+15V)20103911128DAC0832框图DGND(数字地)D0D7~~引脚功能D7~D0:输入数据线ILE:输入锁存允许CS#:片选信号用于把数据写入到输入锁存器WR1#:写输入锁存器WR2#:写DAC寄存器XFER#:允许输入锁存器的数据传送到DAC寄存器上述二个信号用于启动转换VREF:参考电压,-10V~+10V,一般为+5V或+10VIOUT1、IOUT2:D/A转换差动电流输出,接运放的输入Rfb:内部反馈电阻引脚,接运放输出AGND、DGND:模拟地和数字地工作时序D/A转换可分为两个阶段:CS#=0、WR1#=0、ILE=1,使输入数据锁存到输入寄存器;WR2#=0、XFER#=0,数据传送到DAC寄存器,并开始转换。D0D7~CSWR1ILE(高电平)WR2XFER(模拟输出电流变化)写输入寄存器写DAC寄存器工作方式单缓冲方式使输入锁存器或DAC寄存器二者之一处于直通。CPU只需一次写入即开始转换。控制比较简单。见教材p352图。双缓冲方式(标准方式)转换要有两个步骤:将数据写入输入寄存器CS#=0、WR1#=0、ILE=1将输入寄存器的内容写入DAC寄存器WR2#=0、XFER#=0优点:数据接收与D/A转换可异步进行;可实现多个DAC同步转换输出——分时写入、同步转换直通方式使内部的两个寄存器都处于直通状态。模拟输出始终跟随输入变化。不能直接与数据总线连接,需外加并行接口(如74LS373、8255等)。双缓冲方式——同步转换举例A10-A0译码器0832-10832-2port1port2port3双缓冲方式的程序段示例本例中三个端口地址的用途:port1选择0832-1的输入寄存器port2选择0832-2的输入寄存器port3选择0832-1和0832-2的DAC寄存器MOVAL,data;要转换的数据送ALMOVDX,port1;0832-1的输入寄存器地址送DXOUTDX,AL;数据送0832-1的输入寄存器MOVDX,port2;0832-2输入寄存器地址送DXOUTDX,AL;数据送0832-2的输入寄存器MOVDX,port3;DAC寄存器端口地址送DXOUTDX,AL;数据送DAC寄存器,并启动同步转换HLTD/A转换器的应用函数发生器只要往D/A转换器写入按规律变化的数据,即可在输出端获得正弦波、三角波、锯齿波、方波、阶梯波、梯形波等函数波形。直流电机的转速控制用不同的数值产生不同的电压,控制电机的转速其他需要用电压/电流来进行控制的场合例子参见p354-p356。10.3模/数(A/D)转换器用途将连续变化的模拟信号转换为数字信号,以便于计算机进行处理。常用于数据采集系统或数字化声音。A/D转换的四个步骤采样→保持→量化→编码采样/保持:由采样保持电路(S/H)完成量化/编码:由ADC电路完成(ADC:AD变换器)1)采样和保持采样将一个时间上连续变化的模拟量转为时间上断续变化的(离散的)模拟量。或:把一个时间上连续变化的模拟量转换为一个脉冲串,脉冲的幅度取决于输入模拟量。保持将采样得到的模拟量值保持下来,使之等于采样控制脉冲存在的最后瞬间的采样值。目的:A/D转换期间保持采样值恒定不变。对于慢速变化的信号,可省略采样保持电路采样保持电路(S/H)由MOS管采样开关T、保持电容Ch和运放构成的跟随器三部分组成。采样控制信号S(t)=1时,T导通,Vin向Ch充电,Vc和Vout跟踪Vin变化,即对Vin采样。S(t)=0时,T截止,Vout将保持前一瞬间采样的数值不变。+-ChTVoutVin采样控制S(t)采样保持电路的波形VinS(t)Vout进行A/D转换时所用的输入电压,就是对保持下来的采样电压(每次采样结束时的输入电压)进行转换。采样周期的确定采样通常采用等时间间隔采样。采样频率fs不能低于2fimax(fimax为输入信号Vin的最高次谐波分量的频率);fs的上限受计算机的速度、存储容量、器件速度的限制。实际中一般取fs为fimax的4-5倍。2)量化和编码量化就是用基本的量化电平的个数来表示采样到模拟电压值。即把时间上离散而数值上连续的模拟量以一定的准确度变换为时间上、数值上都离散的具有标准量化级的等效数字值。(量化电平的大小取决于A/D变换器的字长)只有当电压值正好等于量化电平的整数倍时,量化后才是准确值,否则量化后的结果都只能是输入模似量的近似值。这种由于量化而产生的误差叫做量化误差。量化误差是由于量化电平的有限性造成的,所以它是原理性误差,只能减小,而无法消除。为减小量化误差,根本的办法是减小量化电平(即增加字长)。编码是把已经量化的模拟数值(它一定是量化电平的整数倍)用二进制码、BCD码或其它码来表示。A/D转换器的分类根据A/D转换原理和特点的不同,可把ADC分成两大类:直接ADC和间接ADC。直接ADC是将模拟电压直接转换成数字量,常用的有:逐次逼近式ADC、计数式ADC、并行转换式ADC等。间接ADC是将模拟电压先转换成中间量,如脉冲周期T、脉冲频率f、脉冲宽度τ等,再将中间量变成数字量。常见的有:单积分式ADC、双积分式ADC,V/F转换式ADC等。各种ADC的优缺点计数式ADC:最简单,但转换速度最慢。并行转换式ADC:速度最快,但成本最高。逐次逼近式ADC:转换速度和精度都比较高,且比较简单,价格低,所以在微型机应用系统中最常用。双积分式ADC:转换精度高,抗干扰能力强,但转换速度慢,一般应用在精度高而速度不高的场合,如测量仪表。V/F转换式ADC:在转换线性度、精度、抗干扰能力等方面有独特的优点,且接口简单、占用计算机资源少,缺点也是转换速度慢。在一些输出信号动态范围较大或传输距离较远的低速过程的模拟输入通道中应用较为广泛。10.3.1工作原理及技术指标逐次逼近型A/D转换器结构:由D/A转换器、比较器和逐次逼近寄存器SAR组成。见P360页图。Vi-+逐次逼近寄存器D/A转换器Vc比较器数字量输出控制电路模拟量输入工作原理类似天平称重量时的尝试法,逐步用砝码的累积重量去逼近被称物体。例如:用8个砝码20g,21g,…,27g,可以称出1~255g之间的物体。现有一物体,用砝码称出其重量(假定重量为176g)。1)ADC从高到低逐次给SAR的每一位“置1”(即加上不同权重的砝码),SAR相当于放法码的称盘;2)每次SAR中的数据经D/A转换为电压VC;3)VC与输入电压Vi比较,若VC≤Vi,保持当前位的‘1’,否则当前位‘置0’;4)从高到低逐次比较下去,直到SAR的每一位都尝试完;5)SAR内的数据就是与Vi相对应的2进制数。主要技术指标精度量化间隔(分辨率)=Vmax/电平数(即满量程值)例:某8位ADC的满量程电压为5V,则其分辨率为5V/255=19.6mV量化误差:用数字(离散)量表示连续量时,由于数字量字长有限而无法精确地表示连续量所造成的误差。(字长越长,精度越高)绝对量化误差=量化间隔/2=(满量程电压/(2n-1))/2相对量化误差=1/2*1/量化电平数目*100%例:满量程电压=10V,A/D变换器位数=10位,则绝对量化误差≈10/211=4.88mV相对量化误差≈1/211*100%=0.049%主要技术指标(续)转换时间转换一次需要的时间。精度越高(字长越长),转换速度越慢。输入动态范围允许转换的电压的范围。如0~5V、-5V~+5V、