d/a转换就是要将数字量d转换成与之成正比的模拟量v,即:v= r×d ,其中r为比例系数。若d为二进制数,则按权展开后 :
例如:三位二进制数按位权展开:d=d2×22+d1×21+d0×20 。
数模转换(d/a)电路形式是多种多样的,多数采用t型电阻解码网络。现以三位二进制数的数模转换电路说明其工作原理,如图10-3所示。在t型解码网络中,有一个标准电源vref 。二进制数的每一位di(i=0,1,2)对应一个电阻2r,并由该二进制值di控制一个双向电子开关ki,当di=0时ki接地,当di=1时ki接通右边运算放大器求和点∑。下面分析输出电压v。
当d= d2d1d0=111时,所有开关ki均接放大器求和点∑,由于∑是虚地点,从a点看,d点与∑点均为地,所以:
, ,
b点左边的网络电路(图10-3虚框中部分)可简化一个2r的等效电阻,与a点同样原理可得 , ,
再将c点左边网络电路简化为一个2r的等电阻,则有
, ,
最后将整个网络电路等效为一个阻值为r的电阻,则由c点:i =vref/r
总电流:
输出电压:
上述公式,虽然是从d=d2d1d0=111的情况下推出的,但对d取其它值同样成立。如d=d2d1d0=000,由图10-3可知,电子开关ki均接地,所以
,
此结果与公式推导v=vr0×d=0是完全相同。推广到一般情况,对于n位二进制数d, 其输出电压为:
由上式可见,输出电压与二进制数d成线性比例关系。调整运算放大器的反馈电阻r0和参考电压-vref ,就可得到和n位二进制数成线性比例的输出电压v。
将(r-2r)t型电阻网络、二进制数码控制电子开关以其控制电路集成在一个芯片内,便形成了各种型号的d/a芯片。d/a转换芯片的输出方式有两种:电流输出与电压输出。实际使用时,常采用电流输出的d/a芯片外加运算放大器实现电压输出。从连接方式上看,d/a芯片可分为两类,一类是d/a芯片内设置有数据寄存器,具有数据写入选通信号和片选信号输入线,它们可以与80c51单片机直接接口,作为单片机的i/o扩展口。另一类d/a芯片内没有锁存器,输出信号随输入数据变化而变化,因此不能直接与cpu数据总线接口,必须通过并行口和系统连接。