数/模转换电路(D/A)
一、DAC的基本原理
将输入数字量变换成模拟量输出。 基本思路:将输入的二进制数按其位权的大小先转换成与之成正比的电流量(I),然后将该电流再转换成模拟量电压输出(V),即D→I,I→V输出。
实现数字量—模拟量转换的电路框图:
D/A转换特性图
三位二进制数字量输入和模拟量输出的关系:
图中输出模拟量的最小增量VLSB表示输入数字量中最低位为“1”时的模拟电压大小。
二、四位倒T网络D/A转换器
其特点是只有二种电阻阻值,精度可以做得很高;由于运放的反相输入端为虚地特性,开关切换时流过支路电流不变,只是流向反相端还是流向地端,所以没有过渡过程,转换速很快。
由图可知;网络部分的总电阻为R,而流过参考电源VREF的总电流为:
,而流过每一个节点的电流依次降低一半,即流过每一个支路的电流依次为:
。当输入二进制数的某一位高电平时,对应支路的电流流向反相端,反之流向地。因此流向反相端的电流有:
又因为:
,所以输出电压有:
输入为n位数字量时:
当R=Rf时:
这种D/A转换器的典型产品是AD7520(10位的一片D/A转换器)
三、正负模拟量输出的DAC电路
当正负的数字量输入时,要求有正负的模拟量出。前面我们介绍过,一个正负数可以用补码表示。因此,一个用补码输入的正、负数,如何转换成正、负输出的模拟量呢?
现以一个三位二进制补码为例加以说明,3位二进制补码可以表示为从+3到-4之间的任何一个十进制整数。
三位二进制补码输入时与之对应的偏移码和D/A转换器输出间的关系表:
能得到双极性输出电压的电路如图,它是将补码输入后,最高位求反,并设置了偏移电路来实现双极型电压输出的。
电路说明:当输入补码d2d1d0=000,偏移码=100时,使
=0。因此,应调节RB的值,使IB=IMSB=VB/RB,输出模拟电压为0。
而在其它数字量输入的情况下,输出模拟量有:
,
式中的Imax为偏移码全为1时的总电流。
对n位的双极型D/A转换电路,则有:
输出模拟电压为:
四、集成D/A转换器DAC0832应用举例
特点:8位分辨率,与8位微机兼容,价格低,接口简单,转换控制容易,电路为R-2R T型电阻网络结构等。
外形和内部电路如图:
D7~D0是数字量输入端,VREF外接参考电压,可正、可负。IO
UT1和IOUT2是电流输出端,接运算放大器。内部
和
分别是两个寄存器的锁存控制端,当
由1变0时, D7~D0输入数据送入8位输入寄存器,当
由1变0时,8位输入寄存器的数据锁存至8位DAC寄存器,并使8位DAC转换器的输出发生相应的变化。
DAC0832与8031单片机连接电路:
其中,DAC0832的输入数字量以及转换所需的各控制信号都来自单片机8031。
电路进行两路D/A转换,实现双缓冲器的同步方式连接。其工作原理如下:CPU的P0口P0~P7分时向DAC0832(1)和DAC0832(2)送出要转换的数字量,锁存在各自的输入锁存器中,然后CPU同时向两片DAC0832发出转换控制信号,使两个D/A转换器输入寄存器中的数据打入DAC寄存器,实现同步转换输出模拟量。由于该DAC是电流型输出,所以,用运放实现I/V转换,输出为模拟电压信号。电路采用二级运放放大。如果参考电压VREF为正电压时,第一级运放输出0~-5V模拟电压,而第二级输出-5V~+5V的模拟电压。