您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 3输入输出与中断技术
Ch.8模拟量的输入输出本章内容模拟量输入输出通道的组成D/A转换器原理及连接使用方法A/D转换器原理及连接使用方法模拟量I/O接口的作用:实际工业生产环境——连续变化的模拟量例如:电压、电流、压力、温度、位移、流量计算机内部——离散的数字量二进制数、十进制数工业生产过程的闭环控制概述模拟量D/A传感器执行元件A/D数字量数字量模拟量模拟量输入(数据采集)模拟量输出(过程控制)计算机8.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)数字量转换为模拟量低通滤波平滑输出波形放大驱动提供足够的驱动电压,电流8.2数/模(D/A)变换器8.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/2LSBtCVFULL08.2.2典型D/A转换器DAC0832特性:8位电流输出型D/A转换器T型电阻网络差动输出引线图见教材p3511234567891020191817161514131211DAC0832CS1WRAGND3DI2DI1DI0DIREFVfbRDGND1OUTI2OUTI7DI6DI5DI4DIXFER2WRILEVCCDAC0832内部结构输入数据~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输出方式DAC0830为电流输出型D/A转换器,要获得模拟电压输出时,需要外接一个运算放大器。(1)单极性模拟电压输出。如果参考电压为+5V,则当数字量N从00H至FFH变化时,对应的模拟电压VO的输出范围是-0~5V,如下图所示。VREFVFBIOUT2IOUT1-+AGNDVODAC083008310832DB+5V(2)双极性模拟电压输出。如果要输出双极性电压,则需在输出端再加一级运算放大器作为偏移电路,如下图所示。当数字量N从00H至FFH变化时,对应的模拟电压VO的输出范围是-5~+5V。VREFVFBIOUT2IOUT1-+AGNDVODAC083008310832DB15k+5V7.5k-+15kVO双缓冲方式的程序段示例本例中三个端口地址的用途: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。应用举例【例1】锯齿波的产生。VREFRFBIOUT2IOUT1-+VO+5VD0~D7DAC0830ILECS1WR2WRXFER8255APA0~PA7PB4PB3PB2PB1PB08086或8088控制程序清单如下:;8255A初始化MOVDX,0E003H;8255A的控制端口地址MOVAL,80H;设置8255A的方式字OUTDX,AL;B口控制DAC的转换MOVDX,0E001H;8255A的B口地址MOVAL,10H;置0830为直通工作方式OUTDX,AL;生成锯齿波MOVDX,0E000H;设置DAC端口号MOVAL,0H;设置初值L1:OUTDX,AL;向DAC送数据INCAL;输出数据加1NOP;延时JMPL1通过AL加1,可得到正向的锯齿波。如要得到负向的锯齿波,则只要将程序中的INCAL改为DECAL即可。可以通过延时的办法改变锯齿波的周期,若延迟时间较短,则可用NOP指令来实现;若延迟时间较长,则可用一个延时子程序。延迟时间不同,波形周期不同,锯齿波的斜率就不同。【例2】三角波的产生。在原有硬件电路的基础上,换用下述程序即可产生三角波。MOVDX,0E000HMOVAL,0H;输出数据从0开始L2:OUTDX,ALINCAL;输出数据加1JNZL2;AL是否加满?未满,继续MOVAL,0FFH;已满,AL置全“1”L3:OUTDX,ALDECAL;输出数据减1JNZL3;AL是再减到“0”?不是,继续JMPL28.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、并行转换式AD
本文标题:3输入输出与中断技术
链接地址:https://www.777doc.com/doc-3125066 .html