《第十一章 模数和数模转换》由会员分享,可在线阅读,更多相关《第十一章 模数和数模转换(52页珍藏版)》请在金锄头文库上搜索。
1、第十一章 模数和数模转换在工业生产和自动控制领域,常常采用微机进行实在工业生产和自动控制领域,常常采用微机进行实 时控制和数据处理。微机采集的外部信号和被控对象的时控制和数据处理。微机采集的外部信号和被控对象的参数通常是一些在时间和数值方面都是连续变化的模拟参数通常是一些在时间和数值方面都是连续变化的模拟 量,而微机通常只能接收和处理量,而微机通常只能接收和处理“0”“0”、“1”“1”这样的数这样的数 字量,因此必须把这些模拟量转换成数字量,以便微机字量,因此必须把这些模拟量转换成数字量,以便微机 接收处理。微机处理的结果仍然是数字量,而大多数被接收处理。微机处理的结果仍然是数字量,而大多数
2、被 控对象的执行机构不能直接接收数字量信号,所以必须控对象的执行机构不能直接接收数字量信号,所以必须 将微机处理后的数字信号再转换为模拟信号,有时还需将微机处理后的数字信号再转换为模拟信号,有时还需 要功率放大,才能去控制和驱动执行机构,达到控制的要功率放大,才能去控制和驱动执行机构,达到控制的 目的。目的。n将模拟量转换为数字量的过程称为模/数(A/D)转换,完成这一转换功能的器件称为模/数转换器(简称ADC)。n将数字量转换为模拟量的过程称为数/模(D/A)转换,完成这一转换功能的器件称为数/模转换器(简称DAC)。11.1 D/A转换器D/A转换的基本功能是将一个用二进制表示的数 字量转
3、换成相应的模拟量。分辨率(Resolution) 表示DAC对微小模拟信号的分辨能力,它是数字 量的最低有效位(LSB)所对应的模拟值。 , n为二进制数的位数1 2n-1分辨率=一、D/A转换的主要技术指标可见,输入数字量位数越多,分辨率越高。所 以,除上面公式外,在实际应用中,也常用字量的位 数表示D/A转换器的分辨率。精度(Accuracy)表明D/A转换的精确程度,一般用误差大小表示。它 取决于构成转换器的各个部件的误差和稳定性。精度可 分为绝对精度和相对精度。线性误差(Linearity error)实际输出偏离理想线性特性的最大误差与满量程之 比的百分数。由非线性而带来的误差。理想
4、的(即线性 的)转换特性应是相邻两个数字量之间的差为1LSB。建立时间(Setting Time)也称稳定时间,是指从数字输入到稳定输出模拟电 流的时间。二、D/A转换基本原理 基本思想:由于构成数字代码的每一位都有一定的“权重” ,因此为了将数字量转换成模拟量,就必须将每一位 代码按其“权重”转换成相应的模拟量,然后再将代 表各位的模拟量相加,即可得到与该数字量成正比的 模拟量,这就是构成。n = 4位数据: 0000 0V1111 5V 分辨率:5V/15=0.333V/ 每1个最低有效 位n = 8位数据: 00000000 0V11111111 5V 分辨率:5V/255=0.0196
5、 V/每1个最低有 效位例如:0101 22+20=5 0.333V=1.67V数字量模拟量基本原理: 对于有权码,先将每位代码按其权的大小转换 成相应的模拟量,然后将这些模拟量相加,即可得 到与数字量成正比的总模拟量,从而实现了数字/ 模拟转换。0123456001010011100101110111D/A转换器D DD01n-1.vo输入输出vo/VD00011.2 DAC0832DAC0832是美国国家半导体公司采用CMOS工艺生 产的8位D/A转换集成电路芯片。它具有与微机连接简 单、转换控制方便、价格低廉等特点,因而得到了广泛 的应用。一、DAC0832的引脚与结构ADC0832的内
6、部结构:DAC0832采用8位输入寄存器和8位DAC寄存器二次 缓冲方式,这样可以在D/A输出的同时,送入下一个数 据,以便提高转换速度。当输入寄存器的数据送入DAC寄存器后,D/A转换器便开始转换,这两个寄存器有两 个锁存信号/LE1和/LE2,当它们为1时,数据能存入寄 存器,当它们为0时,数据不能存入寄存器。DI7DI0D/A转换器的数字量输入引脚。其中 DI0为最低位,DI7为最高位。CS片选信号输入端,低电平有效。WR1输入寄存器的写信号,低电平有效。ILE输入寄存器选通信号,高电平有效。XFER从输入寄存器向DAC寄存器传送D/A转换数据的控制信号,低电平有效。WR2DAC寄存器的
7、写信号,低电平有效。VCC芯片电源,其值可在+5+15 V之间选取,典型 值取+15 V。AGND模拟信号地。DGND数字信号地。RFB内部反馈电阻引脚,用来外接D/A转换器输出增益调整电位器。 VREFD/A转换器的基准电压,其范围可在10+10 V内选定。该电压精度直接影响着D/A转换精度。 IOUT1D/A转换器输出电流1,当输入全1时, 输出电流最大,约为 ;当输入为全0时,输 出电流最小,即为0。IOUT2D/A转换器输出电流2,它与IOUT1有如 下关系: IOUT1+IOUT2=常数D/A转换没有形式上的启动信号。实际上将数据写入第二级寄存器的控制信号就是D/A转换器的启动 信号
8、。另外,它也没有转换结束信号,D/A转换的过程很快,一般还不到一条指令的执行时间。 ILE信号和CS、WR1共同控制选通输入寄存器。 当CS、WR1均为低电平,而ILE为高电平时,LE1=0, 输入数据被送至8位输入寄存器的输出端;当上述三个 控制信号任一个无效时,LE1变高,输入寄存器将数据锁存,输出端呈保持状态。当XFER和WR2同时有效时,输入寄存器的数据装入DAC寄存器,并同时启动一次D/A转换。ILE=1,/CS=0,/WR1=0时,/LE1=1,否则,/LE1=0;/WR2=0,/XFER=0时,/LE2=1,否则,/LE2=0。二、DAC0832的工作方式DAC0832内部有两个
9、寄存器,能实现三种工作方式:双缓冲、单缓冲和直通方式。DAC0832内部两个寄存器的两个锁存信号LE1和LE2不一定同时有效,它们可以分开控制,也可以同时有效 。当它们同时有效时,数据线上的数据D0D7经输入寄存器立即进入DAC寄存器开始转换这种方式称为单 缓冲方式;对LE1和LE2分步控制称为双缓冲方式; 当LE1和LE2始终为有效时称为直通方式。1、直通工作方式是指两个寄存器的有关控制信号都预先置为有效 ,两个寄存器都开通。只要数字量送到数据输入端, 就立即进入D/A转换器进行转换。这种方式应用较少 。例:DAC0832与CPU的接口。如图所示,由于DAC0832 内部有数据锁存器,其数据
10、输入引脚可直接与CPU的 数据总线相连。图中XFER和WR2接地,即DAC0832 内部的第2级寄存器接成直通式,只由第1级寄存器控 制数据的输入,当CS和WR1同时有效时(ILE始终为有 效的高电平),DI7DI0的数据被送入其内部的D/A转换电路进行转换。 1)如果要求图示系统的VOUT端输出方波,可编程如下:MOVDX,200H;端口地址200H送DXLOOP1:MOVAL,00HOUTDX,AL;将数据0送DAC0832进行转换CALLDELAY;调用延时子程序MOVAL,0FFHOUTDX,AL;将数据FFH送DAC0832进行转换CALLDELAYJMPLOOP1 2)如果要求图示
11、系统的VOUT端输出锯齿波,可编程如下:START: MOV AL,0FFHAGAIN: INC ALOUT 200H,ALCALL DELAY ;JMP AGAIN阶梯的宽度由延时时间决定3)如果要求图示系统的VOUT端输出三角波,可编程如下:若电源电压为5V,波形下限电压为0.5V,上限电压为 2.5V。则下限电压对应的数字量为:0.5256/5=26=1AH 上限电压对应的数字量为: 2.5256/5=128=80H BEGIN: MOV AL,1AH UP : OUT 200H,ALINC ALCMP AL,81HJNZ UPDEC AL DOWN: OUT 200H,ALDEC AL
12、CMP AL,19HJNZ DOWNJMP BEGIN2、单缓冲工作方式是指只有一个寄存器受到控制。这时将另一个寄 存器的有关控制信号预先设置成有效,使之开通,或 者将两个寄存器的控制信号连在一起,两个寄存器作 为一个来使用。 例:假设地址译码为310H,将1000H单元中的数据 送DAC0832转换输出。 电路如图: DAC0832D7D0/WRILEREFIOUT1 IOUT2+-AGNDV0/CS/WR1/WR2/XFER+5V译码器A15A0M/IOMOV BX,1000H MOV AL,BX MOV DX,310H OUT DX,AL单缓的接线方式不是唯一的,但是它必须满足二 个条件
13、:必须受CPU的控制;当CPU执行OUT指令时 /CS、ILE、/XFER、/WR1、/WR2必须同时有效。不执行 OUT指令时有个别控制信号有效是可以的。程序如下:3、双缓冲工作方式是指两个寄存器分别受到控制。当ILE、CS和WR1信 号均有效时,8位数字量被写入输入寄存器,此时并不 进行A/D转换。当WR2和XFER信号均有效时,原来存放在输入寄存器中的数据被写入DAC寄存器,并进入D/A转换 器进行D/A转换。在一次转换完成后到下一次转换开始 之前,由于寄存器的锁存作用,8位D/A转换器的输入数 据保持恒定,因此D/A转换的输出也保持恒定。 DAC0832D7D0/WRILEREFIOU
14、T1 IOUT2+-AGNDV0/CS/WR1 /WR2/XFER+5V译码器A15A0M/IO MOV DX,320H; 输入寄存器的地址为320HMOV AL,DATA;要转换的数为DATAOUT DX,ALINC DX ; DAC寄存器的地址是321HOUT DX,AL ;启动D/A转换例:三、 电压输出电路的连接 DAC0832以电流形式输出转换结果,若要得到电压形式的输 出,需要外加I/V转换电路,常采用运算放大器实现I/V转换。 DAC0832的电压输出电路: (a) 单极性输出;(b) 双极性输出对于单极性输出电路,输出电压为: 式中D为输入数字量的十进制数。因为转换结果IOUT
15、1接运算 放大器的反向端,所以式中有一个负号。若VREF=+5V,当 D=0255(00HFFH)时,VOUT=-(04.98)V。 通过调整运算放大器的调零电位器,可以对D/A芯片进行零点补偿。通过调节外接于反馈回路的电位器RP1,可以调整满 量程。对于双极性输出电路,输出电压的表达式为: 若VREF=+5V,当D=0时,VOUT1=0,VOUT=-5V;当D=128(80H)时,VOUT1=-2.5V,VOUT=0;当D=255(FFH)时,VOUT1=-4.98V,VOUT=4.96V。 除了DAC0832之外还有很多DA芯片,AC0832比较常用。现有10位、12位、14位、16位DA转换芯片,位数越多,价 钱越高。11.3 A/D转换A/DA/D转换器是模拟信号源与计算机或其它数字系统之间联系转换器是模拟信号源与计算机或其它数字系统之间联系的桥梁,它的任务是将连续变化的模拟信号转换为数字信号,以的桥梁,它的任务是将连续变化的模拟信号转换为数字信号,