一、数模转换器(DAC)原理
数字量转换成模拟量的过程叫做数模转换,简写成D/A,完成这种功能的电路叫做数模转换器,简称DAC。
数模转换器的框图如图所示。
输入的二进制数码存入寄存器,存入寄存器的二进制数,每一位控制着一个模拟开关,模拟开关只有两种可能的输出:或是接地,或是经电阻接基准电压源。它由寄存器中的二进制数控制,模拟开关的输出送到加法网络,二进制数码的每一位都有一定的“权”,这个网络把每位数码变成它的加权电流,并把各位的权电流加起来得到总电流,总电流送入放大器,经放大器放大后得到与之对应的模拟电压,实现数字量与模拟量的转换。
二、集成电路数模转换器的原理及作用
集成电路数模转换器都是二进制输入的,而用运放构成的数模转换器则不受数制和位数的限制。它运用了运放的反相加法器原理,如图1所示。
当运放的增益足够高时,其反相输入端为虚地,其输出电压v0由下式决定:
当VI=V2=V3=V4=V时。如果令Rl=,则Vo=-V(1+2+4+8),构成的是二进制数模转换器。当然,电阻个数还可增加,以构成更多位的转换器。
如增加电阻:
(10+20+40+80)],便可构成两位十进制BCD码数模转换器。其实,用电阻并联的方法分析,也可得出上述结论。
依据上述原理构成的数模转换器的具体电路如图2、图3所示。考虑到运放输出电压范围的限制,在保持上述比例关系不变的前提下,对电阻取值进行了适当处理,其中反馈电阻R的取值可以变化,因为它并不影响转换中相互比例关系,而只影响输出电压的大小。
图中的运放必须采用CMOS型,因CMOS型的输入是高阻,使得选用较宽范围的电阻值和低至几μA的偏置电流,对转换精度几乎没有影响。运放的失调电压一般在2mV内即可,它仅对低电压稍有影响,电压高时就忽略不计了。如要求较高,可使用带调零端的运放。
电阻必须用金属膜电阻,其选用原则是阻值越小的电阻,其精确度要求越高。如大至16MΩ申阳即停有±5%的误差,也仅使最低电压0.039V变为0.037V或0.041V,对满度电压9.96V的误差仅为0.02%,而125kΩ电阻即使只有1%误差,也将使满度电压的误差达O.5%,因此应尽量减少小阻值电阻的误差。
由于输出电压与基准电压极性相反。可以增加一级运放,将负电压转为正电压。还可通过R反的调整使电压大小发生变化,以适应各种场合的需要。
上述数模转换器的输入接口,若采用图示拨码开关,因其导通电阻极小,当然毫无问题。若采用CMOS电路驱动,则应考虑导通电阻的影响。
笔者实测,74HC系列电路高电平输出电阻约50Ω,低电平灌人电阻约40Ω,而CD系列电路的上述电阻均高达200Ω~500Ω。若以5V电源作基准电源,并以74HC系列电路驱动转换器,其导通电阻导致的误差不超过0.04%。
一般可以忽略。同时,还可将5V电源_丁十为5.002V加以补偿。要求较高者也可将125kΩ减为124.95kΩ)、250kΩ减为249.95kΩ等。低电平时电阻两端电压均为0,根本不用考虑。CD系列电路导通电阻太大,建议不采用。
选配电阻时,可在输出端接上数字万用表监测电压。如16MΩ电阻应输出30mV,8MΩ电阻应输出78mV……250Ω)电阻应输出2.5V,125kΩ电阻应输出5V。这样便可将电阻校准。
三、二进制数模转换器电路图
利用电阻二极管网络可将二进制数字信号转换为模拟信号,此模拟信号的大小可以利用模拟式仪表显示出来。如果仪表满量程电流为1,则电阻R1选取为:
式中Ub为电源电压。
四、理想数模转换器(DAC)的重要属性
首先简单介绍一下理想数模转换器(DAC)的属性,然后再深入讨论更为复杂的规范。下图是理想DAC的传递函数,重点列出了我们将要讨论的参数。
无论是DAC还是模数转换器(ADC),任何数据转换器的最基本属性都是其分辨率。对于DAC来说,分辨率描述了可用来代表模拟输出信号的数字域位数。我们可通过分辨率计算代码数量或者可写入转换器的可能输入总数。
应用于数据转换器的内部或外部参考电压非常重要。任何转换器的良好性能都等同于其参考值,因为任何噪声或参考漂移都会在输出端体现。
对于DAC来说,参考电压可设定输出范围和代码间的步长。通常将代码间输出步长描述为“最低有效位加权”或LSB加权。我们可利用代码数量和参考电压计算出如下所示的LSB加权。在理想DAC中,每个代码间转换的间隔都是1LSB。
这里需要一点技巧,但如果是n位,我们实际可计数到的最高数是2n–1。如果您觉得不好理解,可以考虑2位实例。我们可利用2位计数0、1、2和3,但没有4(24)。这种数字规律符合大多数DAC的内部模拟结构,我们将在后续文章中重点讨论。您是否已经被我说服打算订阅该系列文章了呢?现在,完全可通过以下公式计算DAC的满量程输出范围。
最后,我们可定义理想DAC的传递函数:
五、理想DAC的重要属性:
1、由参考输入设定近轨至轨输出,切记满量程输出应为Vref-1LSB;
2、任何两个顺序码的间隔均正好为1LSB;
3、无丢失码,完全单调;
4、代码间的瞬间转换。