作者:陆聪
DAC的全称为Digital to Analog Converter,即数字模拟转换器。它是一种将数字信号转换成模拟信号的电路,例如将数字音频信号转换为声音输出,或者将数字图像信号转换为可显示的图像。DAC也可用于控制电机、电阻、电容等元件的输出量,实现精密调节和控制。在工业现场,例如PLC或者模拟IO口应用中,DAC能够在不同通道上设置不同输出范围,对控制非常有利,这样用户就能够利用完整的16位数字码范围(0至65,535),而不用考虑DAC的输出范围。本文以ADI AD5362为例,介绍快速调整不同通道输出电压范围的方法。
ADI AD536介绍
下图(图1)为AD5362内部框图,它是一款集成8通道16位的DAC,它提供的缓冲电压输出范围为基准电压源的4倍,各DAC的增益和失调可以独立进行调整,以消除误差。该器件分成两组,每组4个DAC,具有更高的灵活性,且每组的输出范围可单独通过一个偏移DAC调节。
图1 AD5362内部框图
利用基准电压选择输出范围
根据AD5362的描述,我们了解到器件内部DAC0-DAC3使用一个基准源VREF0,DAC4-DAC7使用另外一个基准源VREF1,所以可以利用不同的基准电压值来实现不同的DAC输出范围,如下图(图2)所示:
图2 分别使用独立的基准源产生不同的DAC输出范围
使用OFFSET寄存器改变输出范围
选择确定的基准电压源之后就可以选择DAC的电压输出范围,比如选择5V 基准源的时候,DAC的默认输出电压范围是±10V;选择2.5V基准源的时候,DAC的默认输出电压范围是±5V。可以看出DAC的默认输出摆幅是以0V为中心的,但是在某些情况下,如果我们想改变DAC输出电压偏移点该怎么做呢?
AD5362内部有两个OFFSET寄存器:OFS0和OFS1。OFS0控制DAC 0至DAC 3的偏移,OFS1控制DAC 4至DAC 7的偏移。AD5362内部偏移DAC是14位的且默认值为0X2000,也就是8,192,跨度为基准电压值的四倍。用户理论上最多可以将输出范围上移或下移10V,不过输出只能在电源和裕量要求的限制范围内调整。
在使用2.5V电压基准的时候,±5V标称输出可以发生偏移,产生−10V至 0V或0V至+10V输出。但是使用5V基准电压时,产生±10V标称输出,却无法利用偏移DAC寄存器产生0V至+20V输出,因为这超出了电源和裕量限制。DAC输出电压由以下公式决定,值得注意的是OFFSET寄存器是14位的,AD5362本身是16位的,所以需要将OFFSET_CODE乘以4。VSIGGND为相关SIGGND引脚上的电压,通常为0V。
在实际使用中,我们通常根据需要获得的Vout电压反推出0FFSET_CODE,如下图(图3)所示,在给定5V基准电压源的时候,正常输出电压范围是±10V,而我们想要获得-8V-12V电压,65535对应12V电压输出,因此反推出OFFSET_CODE是6553(0X1999)。
图3 利用偏移寄存器调整DAC输出范围
使用增益寄存器M和失调电压寄存器C调整输出电压范围
从上图(图1)内部框图中我们可以看出AD5362的每一个通道都有增益寄存器以及失调电压寄存器,正常来讲AD5362的输出和输入呈现线性关系:Y=MX+C。其中Y为输出,X为输入,M为增益寄存器值,也就是斜率,默认为1(65535),C为失调电压寄存器,默认为0(32768)。M和C寄存器均是16位的,所以1LSB对应的电压位:4*VREF/65535。
下面我们通过一个例子来说明M和C寄存器的作用:假如现在我们准备使用AD5362产生±8V,正常来讲使用4.096V的基准电压源是最合适的(产生±8.192),但是仍然有0.384V的电压是我们使用不到的。为了最大程度上使用DAC的输出动态范围,我们可以改变C寄存器,增加0.192V失调电压,将-8.192V电压变成-8V,即:0.192V/1LSB=768LSB。
负电压移动时,理论上正电压8.192V电压也将增加0.192V失调电压,但这样得到的结果并不是我们想要的,所以需要调整斜率M,将16.384V变成16V,即:65535*(16/16.384)=63999。此时我们只要将M寄存器的值调整为63999即可,对于0至65,535范围内的DAC码,输出电压在±8V之间。
总结
本文以ADI AD5362为例,介绍了调节DAC输出电压范围的几种方式,这些方式同样适用于AD5362的系列姊妹产品AD5360、AD5361和AD5363。在给定的基准电压源下灵活的使用OFFSET寄存器、M、C寄存器或者三者配合使用可以非常完美的输出您想要的电压范围。