对于N位的双极性数模转换器(DAC),其传递函数为:
系统需求以及失调误差指标可决定是否需要校准。虽然16位、16通道的DACAD5360在出厂时已经调校过,但仍有几个毫伏的失调电压。本文将介绍如何利用简单的算法将未知的失调误差降至1 mV(典型值)以下。该技术可以用于工厂校准,也可用于DAC生命周期中任何时候的失调校准。
AD5360的偏置DAC被用来设定输出范围,该输出范围可以是单极性正电压、单极性负电压、双极性中心对称或者双极性不对称。当采用5 V基准时,偏置DAC将输出范围设置到缺省值,即±10 V。此偏置DAC也有一个失调误差。16路DAC输出在出厂时已通过此偏置DAC被调校为缺省值,误差已消除。由于偏置DAC是可变的,故其失调误差将会影响主DAC输出的失调误差。
AD5360的两个特性简化了失调校准:(1)GPIO引脚,可以通过读取一个寄存器来确定其状态;(2)集成式监控多路复用器,可以在软件的控制下将16路DAC输出中的任何一路,或者2个外部电压切换到1个单引脚上。
1 工作原理
失调校准的具体过程:比较器监控两路电压,一路是MON_OUT,其中包含未知失调电压的DAC输出;另一路是SIGGND,即DAC的参考地。比较器的输出将指明该失调电压是高于还是低于SIGGND,然后增加或减小DAC的输出,直到比较器的输出反转,表示DAC的输出逼近SIGGND,当比较器输出连接到GPIO引脚时,通过读取相应的寄存器即可获得其状态。图1为电路原理图。
AD5360的多路复用器将选定的DAC输出连接到 MON_OUT。其开关存在一个虽然较小但还是有一定量导通的电阻RDSON,故从MON_OUT汲取的任何电流都将会在RDS上产生一个压降,从而引起输出误差。为了避免这一点,可利用AD8597 低噪声放大器对MON_OUT进行缓冲。位于放大器后面的低通滤波器减小了高速精密比较器AD790所呈现的噪声,进而防止了伪触发。AD790可工作于±15 V电源下,因此能够与AD5360兼容。此外,AD790最大差分输入电压为15 V,可耐受AD5360的输出电压,无需衰减。在图1中,如果通道失调电压为正值,则比较器输出将为低电平,表明要消除失调电压,就需要降低输出电压;如果通道失调电压为负值,则比较器输出为高电平,表明要消除失调电压,就需要增加输出电压。
2 配置AD5360的监控多路复用器和GPIO
将0x0C002X写入到监控器的专用功能寄存器中,这里X为所需的输出通道,用来激活监控多路复用器并选择所需的通道。此时,MON_OUT将给出与所选通道相同的输出电压。GPIO专用功能寄存器的bit0代表GPIO引脚的状态。
对DAC通道加载0x8000,理想情况下提供与SIGGND(即0 V)相等的电压。本文假定DAC通道的失调电压为负值。读取GPIO寄存器,显示比较器输出为低电平,表明必须增加输入,直到比较器输出反转。随着逐渐增大的代码写入DAC输入寄存器, GPIO寄存器不断被读取,直至比较器的读数反转。图2显示了具体的校准过程,代码为0x8009时,反转发生。AD790有一个最大为0.65 mV的滞后,为了更精确地确定DAC的失调电压,反过来再减小DAC代码。当代码为0x8006时,比较器输出再次发生反转。因此,使输出逼近SIGGND的代码应该位于0x8006和0x8009之间。本文中,代码0x8007是较好的选择,但利用该系统无法确定哪个代码将会实现最佳输出。由于比较器和运算放大器的失调问题,因此无法确定比较器的两个触发点之间究竟哪个代码为最佳结果。但是无论哪种情况,此DAC通道偏离SIGGND的误差通常<1 mV。本文阐述的技术方案,只需要一个软件算法和少量的外部元器件,即可将未知的失调误差减小到1 mV以下。