在前面介绍的d/a转换器中,输入的数字均视为正数即二进制数的所有位都为数值位。根据电路形式或参考电压的极性不同,输出电压或为0v到正满度值,或为0v到负满度值, 这种工作方式称为单极性输出方式。采用单极性输出方式时,数字输出量采用自然二进制码,8位d/a转换器单极性输出时,输入数字量与输出模拟量之间的关系如表1所示。
倒t型电阻网络d/a转换器单极性电压输出的电路如图1所示,其中(a)为单极性反相电压输出电路,vo=-i∑rf;(b)为同相电压输出电路,此时vo=i∑r(1+r2/r1)。
图1 d/a转换器的单极型电压输出(a)反相输出(b)同相输出
表1 8位d/a转换器在单极性输出时的输入/输出关系
数字量
模拟量
msb
lsb
1
1
1
1
1
1
1
1
1
±vref(255/256)
1
0
0
0
0
0
0
0
1
±vref(129/256)
1
0
0
0
0
0
0
0
0
±vref(128/256)
0
1
1
1
1
1
1
1
1
±vref(127/256)
0
0
0
0
0
0
0
0
1
±vref(1/256)
0
0
0
0
0
0
0
0
0
±vref(0/256)
在实际应用中,d/a转换器输入的数字量有正极性也有负极性。这就要求d/a转换器能将不同极性的数字量对应转换为正、负极性的模拟电压,这种工作方式称为双极性输出方式。双极性d/a转换常用的编码有:2的补码、偏移二进制码及符号-数值码(符号位加数码值)等,表2列出了8位2的补码、偏移二进制码与模拟量之间的对应关系。
由表2可见,偏移二进制码与无符号二进制码形式相同,它实际上是将二进制码对应的模拟量的零值偏移至80h,使偏移后的数中,大于128的为正数,而小于128的则为负数。所以,若将单极性8位d/a转换器的输出电压减去(80h所对应的模拟量),就可得到极性正确的偏移二进制码输出电压。
表11.5.2 常用双极型输出模拟量
十进制数
2的补码
偏移二进制码
模拟量
d7
d6
d5
d4
d3
d2
d1
d0
d7
d6
d5
d4
d3
d2
d1
d0
vo/vlsb
127
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
127
126
0
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
126
1
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
-1
-127
1
1
0
0
0
0
0
1
0
0
0
0
0
0
0
1
-127
-128
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-128
若d/a转换器输入数字量是2的补码,那么,需先将它转换为偏移二进制码,然后输入到上述d/a转换电路中就可实现双极性输出。比较表1中2的补码和偏移二进制码可以发现,若将8位2的补码加80h,并舍弃进位就可得偏移二进制码。实现2的补码加80h很简单,只需将高位求反即可。这样,可得到采用2的补码输入的8位双极性输出d/a转换电路,如图2所示。
图2 双极性输出d/a转换器
图中,输入nb是原码的2的补码,最高位取反(加80h)变为偏移二进制码后送入d/a转换器,由d/a转换器输出的模拟量v1经a2组成的第二个求和放大器减去vref/2后,得到极性正确的输出电压vo,即
电路输入2的补码nb与vo满足表2所示的对应关系。