1、模拟量输入通道根据应用的不同,可以有不同的结构形式。图4-1是多路模拟量输入通道的一般组成框图。通常,人们把过程工艺参数转换为电量的设备称为传感器或一次仪表。传感器的主要任务是检测。4.1 模拟量输入通道模拟量输入通道图4-1 模拟量输入通道的一般组成框图 在过程控制中,为了避免低电平模拟信号传输带来的麻烦,经常将测量元件的输出信号经过温度变送器、压力变送器和流量变送器等进行变换。它们将温度、压力和流量的电信号变换成010 mA(DDZ-型仪表)或420 mA(DDZ-型仪表)的统一信号,这一部分不属于模拟量输入通道,而常归属于工程检测技术和自动化仪表;但现在的计算机控制系统中许多模拟输入通道
2、中也包含了变送器部分的功能。4.1.1 输入信号的处理输入信号的处理为了保证AD转换的精度,模拟信号在输入到AD之前首先应进行适当的处理。根据需要,信号处理可选择小信号放大、大信号衰减、信号滤波、阻抗匹配、非线性补偿和电流电压转换等方法。1信号滤波信号滤波由于工业现场干扰因素多,来自工业现场的模拟信号中常混杂有干扰信号,应该通过滤波削弱或消除干扰信号。滤波方法有硬件法和软件法之分。硬件方法常用RC滤波器和有源滤波器来滤除高于有用信号频率的那部分干扰,也称之为模拟预滤波;用软件方法可以滤除与有用信号频率重合的那部分干扰,如卡尔曼滤波等。2统一信号电平统一信号电平输入信号可能是毫伏级电压或毫安级电
3、流信号,应将其变成统一的信号电平。例如可变成050 mV的统一小信号电平或05 V(15 V)的大信号电平。即使从变送器来的010 mA或420 mA的标准信号,一般也要经如图4-2所示的电阻网络,进行电流电压变换,变换成050 mV的电压信号,其精度达0.02。图4-2 电阻网络3非线性补偿非线性补偿大多数传感器的输出信号与被测参数之间呈非线性关系,例如:铂铑铂热电偶在01000间电势与温度关系的非线性约为6。非线性的线性化也有硬件和软件两种方法。应用硬件方法时,是利用运放构成负反馈来实现的。例如在DDZ-型仪表的变送器中,就加入了非线性校正电路。除上述几种处理技术外,对不同的模拟信号还可能
4、要进行其他一些处理,例如热电偶测温时要进行冷端补偿,热电阻测温时要用桥路法或恒流法实现电阻电压变换等。4.1.2 多路开关多路开关多路开关又称多路转换器,其作用是将各被测模拟量按某种方式,如顺序切换方式或随机切换方式,分时地输入到公共的放大器或AD转换器上。1多路开关的种类多路开关的种类多路开关有机械触点式和电子式两种。机械触点式多路开关常用的有干簧或湿簧继电器,其原理如图4-3所示。当线圈通电时簧片吸合,开关接通。图4-3 干簧继电器 这类开关具有结构简单,闭合时接触电阻小,断开时阻抗高,工作寿命较长,不受环境温度影响等优点,在小信号中速度的切换场合仍可使用。由单个干簧继电器组成的多路开关均
5、采用开关矩阵方式。如图4-4所示的开关矩阵可对64个点进行检测和选通,X轴和Y轴的选通电路受CPU控制,其程序框图如图4-5所示。图4-4 干簧继电器开关矩阵在计算机控制系统中,目前用得最多的是由晶体管、场效应管或光电耦合开关等组成的电子式无触点开关。这类开关工作频率高,体积小,寿命长。其缺点是导通电阻大,驱动部分和开关元件不独立而影响了小信号的测量精度。常用的电子开关有CMOS、FET单片多路开关,如CD4051、CD4052、CD4053(或MC14501、C511)等以及由TTL电路组成的数据选择器74LS150、74LS151等;也有的将多路开关与AD集成在一个芯片内,如ADC0808
6、、ADC0809、ADC1211等。图4-5 开关矩阵控制程序框图图4-6是单端8路开关CD4051的基本原理图和管脚图。它有三个二进制控制输入端A、B、C,片内有二进制译码器,改变A、B、C的数值可译出8种状态,分别从8路输入中选中一个开关接通。当禁止端inH为高电平时,不论A、B、C为何值,8个通路都不通。表4-1为CD4051真值表。CD4051的数字或模拟信号电平为315V,模拟信号UDD15V,可作为多路开关或反多路开关。图4-6 单片8选1开关CD4051原理图和管脚图表表4-1 CD4051真值表真值表图4-7所示为TTL数据选择器74LS151的原理图和管脚图。其特点是将8位输
7、入数据(1或0)中的某一位选通(8选1),输出其原码或反码。图4-7 数据选择器74LS151原理图和管脚图。图4-8所示为光电耦合开关的一种用法。光电耦合开关是一种以光控制信号的器件,输入端为发光二极管,输出端为光敏三极管。当PIO的某一位为高电平时,经反相后变为低电平,发光二极管导通并发光,使光敏三极管导通,经反相后输出高电平。光电开关能使输入和输出在电气上完全隔离,主要用于抗干扰场合。图4-7 数据选择器74LS151原理图和管脚图 图4-8 光电耦合开关用法之一2多路开关的连接方式多路开关的连接方式多路开关有单端输入、差动输入和伪差动输入等基本连接方式,如图4-9所示。图4-9(a)是
8、单端多路输入方式,一般用于高电平输入信号。由于一个通道传送一路信号,因此通道利用率高。但因这种方式无法消除共模干扰,所以当共模电压Ucm和信号电平Uin相比幅值较大时,不宜采用这种方式。图4-9(b)是差动多路输入连接方式,模拟量双端输入,双端输出接到运算放大器上。由于运算放大器的共模抑制比较高,故其抗共模干扰能力强,一般用于低电平输入、现场干扰较严重、信号源和多路开关距离较远或者输入信号有各自独立的参考电压的场合(这时双端输入能各成回路)。图4-9(c)为伪差动输入。和图4-9(a)的不同点在于模拟地和信号地接成一点,而且应该是所有信号的真正地,也是各输入信号唯一的参考地(也可以浮置于系统地
9、)。由于模拟地和信号地接成一点,这种方式可抑制信号源和多路开关所具有的共模干扰,如工频干扰。它适用于信号源距离较近的场合。在保证全通道使用容量的条件下,采用这种方式提高了对干扰的抑制能力,因此这是一种经济实用的连接方式。图4-9 多路开关的基本连接方式(a)单端多路输入;(b)差动多路输入;(c)伪差动输入在实际应用中,输入信号可能很多,电平高低可能相差很大,这时应将电平分类,对电平相近的通道归类选择切换。为了减少选择切换开关本身的漏电流,可采用干簧开关作一次选择切换、电子开关作二次选择切换的混合系统。3多路开关的选择多路开关的选择选择多路开关时,主要考虑的因素有:通路数目,单端还是差动输入,
10、电平高低,对各通路的寻址方式,开关切换时需要多少时间才能稳定到要求的精度,最大切换速率,各通路间允许的最大串扰误差等。通常要根据数据采集的要求,抓住主要因素,进行具体选择。4.1.3 放大器放大器放大器的功能是将小信号放大或将大信号衰减到适合于AD输入电压要求的范围。在实际应用中,一次仪表的安装环境和输出特性是各种各样和十分复杂的,选用哪种类型的放大器取决于应用场合。对于微弱信号的放大来说,常有以下选择:(1)低漂移运算放大器。它的特点是温度漂移极小(如小于1V),适用于一般的弱信号放大。这类放大器有美国AD公司的ADOP-7和AD517等。(2)仪表放大器。它也称测量放大器或数据放大器。其主
11、要特点是具有很高的共模抑制能力,此外还具有高输入阻抗、较低的失调电压、较少的温度漂移系数及低的输出阻抗,有的还具有增益可调功能。这种放大器是由一组放大器构成的。由于上述优点,这种放大器得到了广泛的应用。例如用于热电偶、应变电桥、流量计量、生物测量以及那些提供微弱信号而有较大共模干扰的场合。这种放大器有AD公司的AD521、AD522、AD612和增益可调的AM-542/543等。(3)隔离放大器。隔离是指切断控制装置与工作现场的电的联系。对数字量广泛采用光电隔离器,而对于弱模拟信号则多采用磁耦合的办法。这种放大器的符号如图4-10所示,放大器分为输入(A)和输出(B)两个独立供电回路。这种放大
12、器有AD公司的Model277。图4-10 隔离放大器符号表示为了降低成本,多路信号可公用一个AD转换器;为保证AD转换器精度,对小信号要放大,而对大信号要衰减。可以每一路都用一个变送器,但这会使成本大大增加。为此,可在AD转换器之前设置一个增益可变的放大器,对不同输入信号用程序来设置相应的放大系数,这就是可编程序放大器。下面介绍两种可编程序放大器的实现方案。1采用增益可调的仪表放大器方案采用增益可调的仪表放大器方案仪表放大器除共模抑制能力强、输入阻抗高、漂移低外,有的还具有增益可调功能,如AM-542、AM-543。图4-11是这种增益可调的方案框图。图4-11 增益可调的仪表放大器方案通常
13、,由于各路模拟信号和AD的电压范围已知,故可算出对应信号源要求的放大系数。可预先将各路放大倍数的等效数字量存入RAM中,当CPU要求输入第n路信号时,则由CPU控制将第n路对应的放大倍数从RAM中取出,经数据总线送入AM-542相应端接点,这样信号便会按预先设定的放大倍数被放大。2放大器并联反馈电阻方案放大器并联反馈电阻方案如图4-12所示,A1、A2组成同相关联差动放大器,A3为起减法作用的差动放大器。电压跟随器A4的输入来自A点,即共模电压Ucm,其输出作为运放A1、A2的电源地端,以使A1、A2的电源电压浮动幅度与Ucm相同,从而大大削弱共模干扰的影响,这就是共模自举技术。信号从Us1、
14、Us2以差动方式输入,放大器差模闭环增益A12R0R,R为R1R8中的一个。R1R8值可以根据不同放大倍数要求,用公式A12R0R来选取,电子开关CD4051选通哪一路电阻,可以由CPU通过程序进行控制。当电阻都不被电子开关选通时,放大倍数为1。当信号源采用单端输入时,运放A2的正输入端通过电阻接地。图4-12 实用可编程序放大器4.1.4 采样保持器采样保持器(SH)1采样保持器采样保持器为了对变化较快,即工作频率较高的模拟信号进行采样,可以在AD前加入采样保持器(SampleHold)。采样保持器又称采样保持放大器(SHA),其原理如图4-13所示。它由模拟开关、储能元件(电容C)和缓冲放
15、大器组成。当施加控制信号后,S闭合,进入采样阶段,模拟信号迅速向电容充电到输入电压值(这个时间越短越好);控制信号去除时,S断开,进入保持阶段,为让AD转换器对保持电容C上的电压进行量化,希望电容维持稳定电压的时间长一些。由于充电时间远小于AD转换时间,保持器的电压下降率又较低,因此大大减小了误差。图4-13 采样保持器的原理图采样保持器的主要性能参数如下所述:(1)获得时间:是指给出采样指令后,跟踪输入信号到满量程并稳定在终值误差带(02%0.005)内变化和滞留的最小时间。(2)孔径时间:是指保持指令给出后到采样开关真正断开所需的时间。(3)输出电压衰减率:是指保持阶段由各种泄漏电压引起的
16、放电速度。(4)直通馈入:输入信号通过采样保持开关的极间电容窜到保持电容上的现象。2.常用的集成采样保持电路及选用原则常用的集成采样保持电路及选用原则常见的集成采样保持器芯片有三类:(1)通用芯片,如AD538K、AD538KS、AD582K、AD583K、LF198LF298LF398等。(2)高速芯片,如THS-0025、THS-0060、THC-0300和THC-1500等。(3)高分辨芯片,如SHA1144和ADC1130等。最常见的有LF398,如图4-14所示。它由场效应管制成,其主要技术指标是:工作电压:5V18V。保持时间小于或等于10s。可与TTL、PMOS和CMOS兼容。当
17、保持电容C0.001F时,保持电压下降率为3mVmin,信号达到0.01的获得时间为25s。图4-14 采样保持器LF398(a)原理图;(b)接线图当逻辑电压基准LR接地时,控制电平与TTL兼容。保持电容C的选择要根据保持步长、获得时间、输出电压下降率等几个参数折中考虑。一般应选聚苯乙烯、聚丙烯、聚四氟乙烯电容,这些电容的介质吸收特性好,保持误差小。选择采样保持器时,主要考虑以下因素:输入信号范围,输入信号变化率和多路开关的切换速率,采样时间应为多少才不会超过误差要求等。当输入信号变化很缓慢,AD转换相对较快时,可以不用采样保持器。4.1.5 模数模数(AD)转换器及其应用转换器及其应用AD
18、转换器在数字电路和微机原理等课程中介绍过,这里仅作简短的回顾并给出几个典型的应用例子。1AD转换器的分类转换器的分类按位数,AD转换器可分为8位、10位、12位、16位和30位等。按转换方式,AD转换器可分为:(1)计算比较式:构造简单,价格便宜,但速度慢,较少采用。(2)双积分式:又称为V-T型电压数字转换器,其精度高,抗干扰能力强,但速度慢,常用在信号变化慢、精度要求高、干扰严重的场合,如高精度数字电压表中。(3)逐次逼近式:转换速度较快,精度也较高,用得最广泛。(4)并行高速AD转换器:转换时间很短,其中有三次积分式AD转换器、全并行比较AD转换器、串并行比较AD转换器等。按输出编码形式
19、,AD转换器还可分为二进制编码型和BCD编码型。如5G14433为312位,双积分式,输出编码为BCD码。应该注意,用DA转换器与软件配合也可实现AD转换器。另外,电压频率变换器VFC也是AD转换器的一种形式。2AD转换器的主要技术指标转换器的主要技术指标(1)分辨率:指AD转换器最低位所具有的数值,如为8位AD转换器,则分辨率为。也有以位数直接来表示分辨率的,即8位、10位和12位AD转换器的分辨率分别为8位、10位和12位等。(2)量程:指所能转换的电压范围,如5V和10V等。(3)转换时间:是指从启动AD转换到获得数字输出为止的时间。逐次逼近式AD转换器的转换时间与位数有关,而双积分AD
20、转换器的转换时间与输入信号的幅值有关。如ADC0809逐次比较或AD转换需要比较8次以确定8位数据中每一位是0还是1,每次比较需8个时钟周期,故一次转换需要64个时钟周期。若时钟频率为640kHz,则转换时间为;若时钟频率为500kHz,则转换时间为。(4)精度:指产生输出量N的理论输入电压与实际输入电压之差。精度有绝对精度和相对精度之分。前者常用数字的位数表示。若满量程为10V,则10位AD转换器的绝对精度为相对精度常用百分数表示,如10位AD转换器的相对精度为请注意分辨率和精度是两个不同的概念,分辨率是指能对转换结果产生影响的最小输入量,而精度是由误差决定的。如AD转换器满量程为10V,其
21、分辨率为9.77mV,但这个变化可能由于温漂、线性不良而引起,故精度未必这么高。AD转换器的技术指标还有工作温度范围、是否外接基准电压和输入逻辑电压等。3典型应用例子典型应用例子AD转换器是专门用来将模拟量转化为数字量的器件,使用时只要连接供电电源,将模拟信号加到输入端,在控制端加一个启动信号,AD转换器就会自动工作,转换完成后芯片会在一个输出引脚给出转换结束信号,通知CPU此时可以读取数据,CPU可通过一条“MOVXA,DPTR”指令读入AD转换结果。这就是AD的应用过程。在应用AD转换器时应把注意力放在AD转换器与CPU的连线问题上,具体应注意几点:(1)输入模拟电压是单端的还是差动的。(
22、2)数据输出线与系统总线的连线问题。如果AD转换器具有可控三态输出门(如ADC0809),则可直接将AD输出数据线与系统数据总线相连;如果AD转换器有三态输出门,但不受外部控制(如AD570)或无三态门,则必须通过IO通道或附加的三态门电路与CPU相连。8位以上AD转换器与CPU相连时还应考虑AD转换器的位数与CPU总线位数匹配问题。(3)启动信号供给问题。有些AD转换器(如AD570、AD571和AD572等)要求有电平启动信号,对于这些芯片,在转换全过程中均要保证启动信号有效;另外一些芯片(如ADC0809和ADC1210等)要求有脉冲启动信号,此时可用“MOVXDPTR,A”指令发出的片
23、选信号或写信号在片内产生启动脉冲。(4)数据读取方式。一般有程序查询方式、CPU等待方式、固定延时方式和中断方式等4种数据读取方式。例4-1 用不带可控三态门的AD转换器实现AD转换,CPU可分别采用程序查询方式和等待方式读取数据。解解 如图4-15,将AD570的15脚接地,则模拟电压为单极性输入。用并行接口8255A作为AD570与系统总线之间的IO通道,其中8255A的端口A连接AD转换器的数据端,工作于输入方式;端口B也工作于输入方式,且PB0接AD570转换结束信号DR,用程序查询PB0即可知AD转换是否完成;端口C工作在输出方式且PC0接AD570的启动信号端BC。工作时置PC0为
24、0,可启动AD,用程序判断PB0是否转换完成,如完成了则由端口A读取转换结果,否则继续查询。图4-15 AD570与CPU连线图下面就是用查询方式读取转换结果的程序段:READAD:MOV A,92H ;A、B口输入,C口输出MOV DPTR,PORTCC;PORTCC为控制口 MOV XDPTR,A MOV A,01H;PC0为1MOV DPTR,PORTC MOV XDPTR,AMOV A,00H;PC0为0,启动ADMOV XDPTR,AZ:MOVDPTR,PORTBMOVXA,DPTR ANLA,01HCJNE A,00H,Z;如果PB0为l再查询MOV A,01H;撤消启动信号MOV
25、 DPTR,PORTCMOVXDPTR,AMOV DPTR,PORTAMOVXA,DPTR;读取AD数据图4-16为CPU工作于固定延时方式的电路图。与图4-15不同的是:在CPU发出转换指令后,不用去查询DR的状态,只要延时足够长的时间,保证在A/D转换结束后再去读取A/D转换结果即可。图4-16 CPU固定延时方式电路图例例4-2 用带可控三态门输出的ADC0809来实现AD转换,分别采用查询法、定时法和中断法读取转换结果。解解 ADC0809内带多路开关和可控三态门输出,特别易于与CPU连接。(1)用查询法读AD转换结果的接口如图4-17所示。首先CPU用“MOVXDPTR,A”指令产生
26、信号ALE和START,其作用是选通输入Uin0Uin7之一并启动AD转换。然后CPU查询转换结束信号EOC状态,判断AD转换是否完成(为1表示已完成)。图4-17 用查询法读A/D转换结果的接口如果转换完成,则CPU用“MOV XA,DPTR”指令产生输出允许信号OE,同时读入数据;如果转换未完成,则继续查询。用查询法读A/D转换结果的程序如下:ADC8:MOV R1,30H ;数据区首址30HR3MOVR2,08H;8路输入 MOVDPTR,7F00H;DPTR指向0809in0通道地址START:MOVXDPTR,A;启动AD转换REOC:JBP1.0,REOC;判断P1.0,P1.01
27、(EOC0)则等待 MOV XA,DPTR;P1.00(EOC1),读入数据 MOV R1,A;存AD转换数据 INC R1;数据区地址加1 INC DPTR;A/D通道口地址加1 DJNZ R2,START;下一通道AD转换 RET(2)用定时法读AD转换结果的接口如图4-18所示。由于ADC0809时钟为500kHz,转换时间为128s,因此启动AD后,再利用程序至少延时128s后就可以直接读入AD转换数据,所以不必查询EOC,故接口电路较为简单。图4-18 用定时法读A/D转换结果的接口设CPU时钟为12MHz,那么接口程序清单如下:ADC8:MOV R1,#30H ;数据区首地址#30
28、HR3 MOVR2,08H;8路输入 MOVDPTR,7F00H;DPTR指向0809in0通道地址START:MOVXDPTR,A;启动AD转换 MOVR6,00H;延时256sTIME:DJNZR6,TIME MOVXA,DPTR;延时时间到,读入数据 MOV R1,A;存AD转换数据 INC R1;数据区地址加1 INC DPTR;口地址加1 DJNZR2,START;下一通道AD转换 RET(3)用中断法读AD转换结果的接口如图4-19所示。本例中用EOC向CPU发中断请求,在中断服务程序中读入数据。图4-19 用中断法读 A/D转换的接口其参考程序清单如下:ORG 0000H AJM
29、P MAIN ORG 0003H;INT0中断矢量 AJMP INT0;转INT0中断程序入口主程序 ORG 0100HMAIN:MOVR0,30H;片内RAM首地址 MOV R2,08H;转换8路A/D SETB IT0;INT0边沿触发 SETB EA;开中断 SETB EX0;允许INT0中断 MOV DPTR,7F00H;选IN0通道地址 MOVX DPTR,A;启动A/D转换WAIT:SJMP WAIT;等待中断以下为INT0中断服务程序:ORG0200HINT0:MOVXA,DPTR;读A/D转换结果MOV R0,A;存数 INC R0;更新存储单元地址 INCDPTR;更新通道地
30、址MOVXDPTR,A;启动A/D转换DJNZ R2,LOOP;巡回未完继续 CLREX0;采集完,关中断LOOP:RETI;中断返回图4-20给出了12位AD转换器AD574与8031单片机的接口电路。根据接线图可知:(1)AD574的CS片选端接锁存器的Q7端,A0端接锁存器的Q1端,RC端接锁存器的Q0端,8031的WR和RD经与非门同AD574的CE端相接,因此,AD574启动12位AD转换的地址为FF7CH;读高8位数据的地址为FF7DH;读低4位数据的地址为FF7FH。(2)128接地表示8031要分两次从AD574读出AD转换后的12位数字量。图4-20 AD574与8031接口
31、电路(3)图中,BIFoff的接法表示10Vin或20Vin被设定为双极性电压输入。若要使10Vin或20Vin被设定为单极性电压输入,接线方式需作相应改变。例例4-3 对于图4-20,试编写程序,使AD574进行12位AD转换,并把转换后的12位数字量存入内部20H和21H单元。设20H单元存放高8位,21H单元存放低4位。解解 程序清单如下:ORG 0000H MOV R0,20H;数据区首地址 MOV DPTR,0FF7CH MOVXDPTR,A;启动AD转换LOOP:JBP1.0,LOOP;转换是否结束?未结束,等待 MOV DPTR,0FF7DH MOVX A,DPTR;读高8位数据
32、 MOVR0,A;存高8位数据 INC DPTR INC DPTR MOVX A,DPTR;读低4位数据 ANL A,OFH;屏蔽高4位随机数 INC R0 MOV R0,A;存低4位数据 END此程序是按查询法来进行编程的。若要提高CPU的利用率,则可改成用中断的方法。接线上,只需将图中的STS端接8031的外中断端即可。以上我们用3个典型例子说明了不同AD转换芯片与不同CPU的连接和应用方法。一般来说,接口芯片的应用都是采用“弄清管脚功能,适当连线和编制相应软件”的方法进行的。模拟量输出通道是在计算机控制系统中实现控制输出的主要手段,其任务是把计算机(单片机)输出的数字形式的控制信号变成模
33、拟的电压、电流信号,驱动相应的执行部件,从而完成计算机的控制目标。显然,模拟输出通道的关键部分是DA转换器(DAC),也就是本节我们讨论的主要内容。4.2 模拟量输出通道模拟量输出通道DAC(DigitalAnalogConverter)的基本任务是根据输入的数字信号,输出相应的、不同大小的模拟信号。例如有一个4位DAC(即输入的数字信号共有4位),输出在07.5V之间。当输入是0000时,输出为0V;当输入是0001时,输出为0.5V;当输入是0010时,输出为1V以此类推,当输入是1111时,输出为7.5V。4.2.1 DAC的工作原理的工作原理1权电阻求和网络权电阻求和网络DAC权电阻求
34、和网络DAC的结构最为简单,也是易于理解的一种电路。图4-21是一个4位权电阻求和网络DAC的示意图,它包括电阻网络、电子开关、基准电源和运算放大器。S3、S2、S1、S0是4个电子开关,它们分别受到数据D3、D2、D1、D0的控制,例如数据是1011,则S2断开,其他开关闭合。由于各个开关所接的电阻阻值不同,因此对输出电压的贡献也是不一样的,可以写出:如果选取RfR,则 虽然权电阻求和网络DAC的结构很简单,但是实际上很少使用这种电路,原因是它要求电阻的阻值很大,且阻值精度必须非常高。例如一个12位的DAC,如果阻值最大的电阻是10k,其阻值精度至少要达到2以内,这是很难做到的。所以实际的电
35、路一般是下面介绍的类型。图4-21 权电阻求和网络DAC2梯形网络梯形网络DAC由于权电阻求和网络DAC的固有缺陷,因此很少实际应用,实际应用的基本上是梯形网络DAC和倒梯形网络DAC,它们都只使用阻值为R和2R的两种电阻,这样就不需要对电阻提出高精度的要求了。如图4-22所示是梯形网络的DAC示意图,这种DAC也包括电阻网络、电子开关、基准电源和运算放大器,但是它的电阻网络与权电阻网络是不同的。图4-22 梯形电阻网络DAC它的工作原理如下:在电阻网络中,有A、B、C等若干个节点,每个节点向左、向下、向右的等效电阻都是2R。假如当前电子开关S0接基准电源Es,S1、S2、S3接地,由于A点左
36、、右两边的等效电阻相当于并联,因此流过A节点下面电阻的电流必然是Es(3R),而流过AB两端电阻的电流就一定是Es(6R),该电流在B节点再次被分流,流过BC两端电阻的电流就一定是Es(12R)。显然,每通过一个节点的电流就只有原来的1/2,最终流过Rf的电流是(Es3R)16,输出Uout变成(EsRf3R)16。若S1接基准电源Es,S0、S2、S3接地,由于分流的环节少了一个,因此输出Uout变成(EsRf3R)8。若S2、S3分别单独接基准电源Es,也可以分别求出输出是(EsRf3R)4和(EsRf3R)2。当电子开关有多个接基准电源Es时,按照叠加定理,其输出应是上述电压值的和,从而
37、可以很好地实现DA转换。3倒梯形网络倒梯形网络DAC如图4-23所示是一个倒梯形的DAC示意图,它的原理与梯形DAC有类似的地方,也是利用等效电路与分流作用实现DA变换的。具体地说:每个节点向下、向左、向右的等效电阻都是2R,如果S3接到运放的输入端,其他开关都接地,则流过Rf的电流是Es(2R);如果S2接到运放的输入端,其他开关都接地,由于该路电流经过一次分流,因此流过Rf的电流是Es(4R)。另外,若S1单独接运放输入端或S0单独接运放输入端,则可以算出流过Rf的电流分别是Es(8R)和Es(16R)。按照叠加定理,还可以算出多个开关接运放输入端时流过Rf的电流,以及最终输出的电压。图4
38、-23 倒梯形电阻网络DAC之所以称这种电路是“倒梯形”,是对比梯形电阻网络的电路图而讲的,它把基准电源Es和运放的位置进行了调换。4.2.2 多路模拟量输出通道的结构形式多路模拟量输出通道的结构形式根据输出保持器的形式,多路模拟量输出通道分为数字保持器和模拟保持器两种。所谓保持,即在新的控制信号到来之前,使本次控制信号维持不变。1数字保持器数字保持器如图4-24所示,每一通道都有一个DA转换器,数字量保持在寄存器中(有的DA转换器内部也具有双缓冲寄存器机构)。这种结构转换速度快,工作可靠,即使一路DA转换器有故障,也不会影响其他通路的工作;缺点是使用的DA转换器较多。但随着大规模集成电路技术
39、的发展,这个缺点正逐步得到克服。图4-24所示的结构在高速低噪声传输时,从微型机到各路REG的输入线要用双绞线对,且数量随位数的增加而增加。因此,为减少连线数量,可采用图4-25所示的数字量串行输出的通道结构。图中,SFR是移位寄存器。图4-24 并行输出的数字保持器图4-25 串行输出的数字保持器2模拟保持器模拟保持器如图4-26所示,这种结构共用一个DA转换器,计算机必须分时地将各路数字量输出到DA转换器中,并且控制多路开关将模拟量送到某一路采样保持器上保持。为了使保持器电压不致下降太多,最好不断刷新。这种结构由于分时工作,因此仅适用于通道数量多但速度不高的场合,另外其可靠性也较差。图4-
40、26 模拟保持器输出通道4.2.3 DA输出方式输出方式1输出电流转换为电压输出电流转换为电压大多数DA转换器的输出信号为电流,所以要外接带反馈电阻的运算放大器才能获得单极性电压信号(尽管有的DA转换器,如0832内已带有一个反馈电阻Rf,但一般仍需外接反馈电阻以便调节输出电压的大小)。如图4-27所示,其输出电压为UoutIoutRf图4-27 DA转换器的单极性电压输出2双极性模拟电压输出双极性模拟电压输出有时执行机构要求输入双极性模拟信号,此时可用图4-28所示的电路来获得双极性模拟电压输出。图4-28 DA转换器的双极性输出图中,out1端的模拟电压为0UREF,通过电阻R对求和点提供
41、0UREF/R的电流。UREF通过2R向点提供UREF(2R)的电流。Uout输出电压为UREFUREF。当DA转换器的输入数据为00H、80H、FFH时,D/A转换关系如表4-2所示。表表4-2 D/A转换器的双极性输出对应关系转换器的双极性输出对应关系4.2.4 失电保护和手动自动无扰动切换失电保护和手动自动无扰动切换1失电保护失电保护所谓失电保护,是指当计算机系统失电时,模拟量输出部分的后备电源自动切入,达到保持输出值而使控制量保持不变的目的。2手动自动无扰动切换手动自动无扰动切换所谓手动自动无扰动切换,是指系统在手动方式和自动方式的相互切换过程中对系统的工况不产生扰动。为了实现自动到手
42、动的切换,应配备手操电源及开关。转换前要用手动或自动方法,使手操电源的输出电压(或电流)和当时的控制电压(或电流)相等,然后将开关切换到手动方式。为了实现手动到自动的切换,应将手动输出电压作为一个采样点定时采样,采样值存放在一个固定单元中。进入自动后,将该值作为控制量的初始值,就可达到无扰动切换的目的。4.2.5 DAC的主要技术指标的主要技术指标DAC(DigitalAnalogConverter)的性能指标是选用DAC芯片型号的依据,也是衡量芯片质量的重要参数。1分辨率分辨率分辨率是指DA转换器能分辨的最小输出模拟增量,它是对输入变化敏感程度的描述,取决于输入数字量的二进制位数。如果数字量
43、的位数是n,则DA转换器的分辨率为2n。因此,数字量位数越多,分辨率也就越高,即转换器对输入量变化的敏感度也就越高。实际应用时,应根据分辨率的要求来选定转换器的位数。2转换精度转换精度转换精度是指转换后所得的实际值和理论值的接近程度。它和分辨率是两个不同的概念。例如,满量程时的理论输出值为10 V,实际输出值是在9.9910.01 V之间,其转换精度为10 mV。分辨率很高的DA转换器并不一定具有很高的精度。3偏移量误差偏移量误差偏移量误差是指输入数字量时,输出模拟量对于零的偏移值。此误差可通过DAC的外接UREF和电位计加以调整。4建立时间建立时间建立时间是描述DA转换速度快慢的一个参数,是
44、指输入数字量转换为输出后,其终值误差达到(12)LSB(最低有效位)时所需的时间,有时也称为稳定时间或转换时间。通常以建立时间来表明转换速度,其值一般为几十纳秒到几微秒。5输出方式输出方式一般为电平输出,其值为510 V,也有高压输出型的为2430 V;还有电流输出型,其值为20 mA3 A。6输入编码输入编码一般输入编码为二进制码、BCD码、双极性时的符号数值码、补码、偏移二进制码等。必要时可在DA转换器前用微处理器进行代码转换。4.2.6 典型应用例子典型应用例子按照输入数字量的位数,DA转换器通常可分为8位、10位和12位三种。本节主要介绍8位的DAC0832、12位的DAC1208这两
45、种DA转换芯片的应用。例例4-4 DAC0832用作波形发生器。试根据图4-29接线,写出产生三角波的程序。解解 由图4-29可以看出,DAC0832采用的是单缓冲单极性的接线方式,它的选通地址为7FFFH。编制三角波产生程序如下:ORG 0100H CLRA MOVDPTR,#7FFFH DOWN:MOVX DPTR,A;线性下降段 INCA JNZDOWN MOVA,0FEH;置上升阶段初值UP:MOVX DPTR,A;线性上升段 DECA JNZUP SJMPDOWN END图4-29 DAC0832单缓冲方式接口执行上述程序将产生05 V的三角波。程序中应注意,在下降段转为上升段时,应
46、赋上升段初值0FEH。三角波频率同样可以通过插入NOP指令或延时程序来改变。8位DAC分辨率比较低,为了提高DAC的分辨率,可采用10位、12位或更多位数的D/A转换器。现以12位DAC1208为例进行说明。DAC1208的内部结构和引脚如图4-30所示。图4-30 DAC1208内部结构和引脚由图4-30可见,DAC1208内部有三个寄存器:一个4位输入寄存器,用于存放12位数字量中的低4位;一个8位输入寄存器,用于存放12位数字量中的高8位;一个12位DAC寄存器,存放上述两个输入寄存器送来的12位数字量。12位DA转换器由12个电子开关和12位T型电阻网络组成,用于完成12位数字量的DA
47、转换。由图4-31可以看出,8位输入寄存器的地址为FFH;4位输入寄存器的地址为FEH;12位DAC寄存器的地址为FCH或FDH。DAC1208的低4位数据线接的是8031数据总线的高4位,所以,在进行低4位数据传送时,应当注意数据所在的正确位置。当然,接线方式可以有多种,也可以不用译码器,直接用线译码编译寄存器的地址。图4-31 8031和DAC1208的连接例例4-5 设内部RAM的20H和21H单元内存放一个12位数字量(20H单元中为低4位,21H单元中为高8位),试根据图4-31编写出将它们进行DA转换的程序。解解 DA转换的程序为:ORG 0000H MOVR0,0FFH;8位输入寄存器地址 MOVR1,21H MOVA,R1;高8位数字量送A MOVX R0,A;高8位数字量送8位输入寄存器 DECR0 DECR1 MOVA,R1;低4位数字量送A SWAP A;A中高低4位互换 MOVXR0,A;低4位数字量送4位输入寄存器 DECR0 MOVX R0,A;启动DA转换 END从例4-4和例4-5中可以看出“软硬结合”的特点。目前微机应用中广泛存在“捏软的”现象,因硬件是“硬的”,不易变动。有什么样的硬件就有什么样的软件,软件是围绕硬件“转”的。