任何实际的电子应用都会受到多个误差源的影响,这些误差源可以使得最精密的元器件偏离其数据手册所述的行为。当应用信号链没有内置机制来自我调整这些误差时,最大程度降低误差影响的唯一方法是测量误差并系统地予以校准。
开环系统为了实现所需的性能,不使用输出来调整输入端的控制操作,而在闭环系统中,输出依赖于系统的控制操作,系统可以自动实施校正以提高性能。大多数数模转换器(DAC)信号链是"设置后不管"类型的系统,其输出的精度依赖于信号链中每个模块的精度。"设置后不管"型系统是一种开环系统。对于需要高精度的开环系统,校准是推荐的并且极有可能需要。
我们将介绍两种类型的DAC信号链校准:一种是TempCal(工作温度校准),它能提供最佳水平的误差校正;另一种是SpecCal(使用规格进行校准),当无法使用TempCal时,它是有效的备选方案,但不如前者全面。
DAC类型
单极性电压DAC只能提供正输出或负输出。本文将以 AD5676R 为单极性DAC的例子,说明如何进行精确校准。相同的方法可用于对其他类型的DAC进行必要的调整。
双极性电压DAC(如 AD5766 )可以同时实现正输出和负输出。
电流输出DAC通常用于乘法配置(MDAC)以提供可变增益,它们通常需要外部放大器来缓冲固定电阻上产生的电压。
精密电流源DAC (IDAC),例如 AD5770R 和 LTC2662,是一种新类别的DAC,可以在预定义范围内精确设置输出电流,而无需任何额外的外部元器件。
DAC转换函数理论和内部误差
理想数模转换器产生的模拟输出电压或电流与输入数字码严格成比例,而与电源和基准电压变化等干扰性外部影响无关。
对于一个理想电压输出DAC,输入数字码单步增加
对应的输出增加称为LSB,定义如下:
其中:
(VREF+)和(VREF-)分别为正负基准电压。在某些情况下,(VREF-)等于地电压(0 V)。
n为DAC的分辨率,单位为位。
LSBSIZE (V) 是DAC输出的最小增量,单位为伏特。
这意味着,对于任何给定的输入码,一旦知道LSB,就应该能准确地预测DAC的电压输出。
在实践中,DAC输出的精度受到DAC增益和失调误差(内部误差)以及信号链中其他元器件件(系统级误差)的影响。例如,有些DAC集成了输出放大器,而有些DAC则需要外部放大器,这便可能成为额外的误差源。
在数据手册中,最相关的技术规格是在术语部分中定义。对于DAC,该部分列出了失调误差和增益误差等参数。
零电平误差衡量将零电平码(0x0000)载入DAC寄存器时的输出误差。
图1显示了失调和增益误差对单极性电压DAC的转换函数的影响。
增益误差衡量DAC的量程误差,如图1紫线所示。增益误差指DAC转换特性的斜率与理想值的偏差。理想DAC的转换特性以黑色显示。
失调误差是指转换函数线性区内实际输出和理想输出之间的差值,如图1蓝线所示。请注意,蓝色转换函数使用了插值方法以与y轴相交,得到负VOUT,从而确定失调误差。
图1.单极性DAC的失调误差和增益误差的表示。
通过图4的蓝色曲线可以看到增益误差和失调误差的影响。根据其随温度变化而发生的变化,也可定义同样的参数。
零点误差漂移衡量零点误差随温度的变化。
增益误差温度系数衡量增益误差随温度的变化。
失调误差漂移衡量失调误差随温度的变化。
温度变化对电子系统的精度有重要影响。虽然DAC的内部增益和失调误差通常相对于温度来指定,但系统中的其他元器件可能会对输出的总失调和增益产生影响。
因此,即使DAC的INL和DNL非常有竞争力,也要考虑其他误差,尤其是关于温度的误差。最新DAC指定总非调整误差(TUE)来衡量包括所有误差——即INL误差、失调误差、增量误差以及在电源电压和温度范围内的输出漂移——在内的总输出误差。TUE用%FSR表示。
当数据手册未指定DAC的TUE时,可以使用一种称为RSS或和方根的技术来计算TUE,这种技术可用来将不相关的误差源求和以进行误差分析。
还有其他较小的误差源,如输出漂移等,因为其相关影响较小,所以通常予以忽略。
系统中每个元器件的每个规格必须转换为相同的单位。这可以使用表2来完成。
表2.单位转换矩阵
TUE是一个很好的指标,可简明扼要地解释在所有内部误差的影响下,DC DAC输出的精度如何。但是,它没有考虑系统级误差,后者会根据DAC所在的信号链及其环境而不同。
值得注意的是,有些DAC的输出级内置缓冲器/放大器,在这种情况下,数据手册规格反映了二者的影响,将其作为内部误差一部分。
系统级误差
尝试分析给定应用的DAC信号链误差预算时,系统设计人员应考虑并验证不同元器件的贡献,关注系统预期的运行温度。根据最终应用,信号链可能有许多不同的构建模块,包括电源IC、缓冲器或放大器,以及不同类型的有源负载,这些都可能带来系统级误差。
基准电压源
每个DAC都需要依靠基准电压源来操作。基准电压源是影响DAC和整体信号链的精度的主要因素之一。
基准电压源的关键性能规格也是在基准电压源的单独数据手册中定义,例如 ADR45XX系列 ,或作为DAC数据手册的一部分来定义(如果器件内置基准电压源以供用户使用)。
压差有时也称为电源电压裕量,定义为能够使输出电压保持0.1%精度所需的输入电压与输出电压的最小电压差。
温度系数(TC或TCVOUT)指器件的输出电压变化与环境温度变化之间的关系,用25°C时的输出电压进行归一化处理。ADR4520/ADR4525/ADR4530/ADR4533/ADR4540/ADR4550 A级和B级的TCVOUT在下列三个温度下经过全面测试:−40°C、+25°C和+125°C。C级的TCVOUT在下列三个温度下全面测试:0°C、+25°C和+70°C。该参数使用以下两种方法指定。黑盒法是最常用的方法,会考虑整个温度范围的温度系数;而领结法可以计算+25°C时最差情况的斜率,因此对于在+25°C时进行校准的系统更加有用。
对于某些DAC,外部基准电压源的性能比集成基准电压源更好。基准电压直接影响转换函数,因此,该电压的任何变化都会导致转换函数的斜率(即增益)成比例地变化。
值得注意的是,有些DAC内置缓冲基准电压源,在这种情况下,数据手册规格反映了这些内部模块的影响,将其作为内部误差的一部分。
电压调整率
每个充当电源的独立IC都会定义电压调整率,表示输出响应输入的给定变化而发生的变化。这适用于电源、缓冲器和基准电压源IC,无论输入如何,这些器件都应当保持输出电压稳定。在数据手册中,电压调整率通常在环境温度下指定。
负载调整率
负载调整率定义为输出电压随负载电流变化而发生的增量变化。通常会缓冲电压输出,以减轻这种变化的影响。有些DAC可能不缓冲基准输入。因此,当数字码改变时,基准输入阻抗也会改变,导致基准电压改变。其对输出的影响一般很小,但在高精度应用中应当考虑。在数据手册中,负载调整率通常在环境温度下指定。
焊接热阻变化
焊接热阻(SHR)变化与基准电压源的关系最大。它指器件因进行回流焊而引起的输出电压永久变化,用输出电压百分比表示。欲了解更多信息,请参阅ADR45xx系列的数据手册。一般而言,所有IC都会在某种程度上受到SHR变化的影响,但这并不总是可量化的,能否量化在很大程度上取决于应用的具体系统装配。
长期稳定性
长期稳定性定义输出电压随时间的变化,用ppm/1000小时来表示。PCB级老化处理可以提高应用的长期稳定性。
开环校准理论
DAC信号链简图如图2所示。黑框所示的模块显示了一个简化的开环信号链,而灰框所示的模块则是实现闭环信号链所需的额外器件的例子。
图2.DAC信号链简图。
闭环方案需要其他元器件并通过软件操纵数字数据,才能提供更精确的输出。如果因为各种原因(空间、成本等)无法添加这些额外资源,开环解决方案仍然有效——只要它能提供所需的精度。本文解释如何进行开环校准,就是为了帮助应对这种情况。
理论上,通过校准消除增益和失调误差(其在没有外部影响的情况下是恒定的)是很简单的程序。DAC转换函数的线性区域可建模为由以下方程描述的直线:
其中:
y为输出。
m是计入增益误差后转换函数的斜率(如图1紫线所示)。
x为DAC输入。
c为失调电压(如图1蓝线所示)。
理想情况下,m始终为1,c始终为0。实践中会考虑DAC的增益和失调误差,一旦知道,就可以在DAC输入端进行校正,实现更接近理想DAC输出的数字。将数字DAC输入乘以增益误差的倒数,便可消除增益误差。将测得的失调误差的相反数增加到数字DAC输入,便可消除失调误差。
下面的公式显示了如何计算正确的DAC输入以产生所需的电压:
其中:
注意,失调误差可以为正,也可以为负。
如何成功校准DAC信号链
本节以AD5676R为例说明如何实际校准DAC信号链中的失调和增益。所有测量都使用 EVAL-AD5676 评估套件,并且使能AD5676R内部基准电压源。EVAL-AD5676板和测量设置均为我们在示例中测量的信号链的一部分。该信号链的每个元器件(电路板上的电源IC、AD5676R、布局和连接器引入的寄生效应等)都会贡献系统误差。我们的意图是说明如何校准该系统,从而为任何其他系统提供范例。
使用 EVAL-SDP-CB1Z Blackfin® SDP控制板(SDP-B) 来与EVAL-AD5676评估套件上的AD5676R通信,并且使用8位DMM来测量VOUT0的输出电压。使用一个气候箱来控制整个系统(由EVAL-SDP-CB1Z、EVAL-AD5676和内置基准电压源的AD5676R组成)的温度。
EVAL-AD5676按照用户指南所述上电,链路配置如表3所示。
首先评估不同温度下无校准(NoCal)的信号链误差。考虑特定输入码的理想值和测量值的LSB差异,计算输出误差。此误差包括DAC和EVAL-AD5676板上整体信号链的内部误差和外部误差。无校准的输出误差如图3所示。
图3.EVAL-AD5676输出误差(LSB),无校准。
计算失调和增益误差所需的信息以及相应的校正码,位于转换函数中。为此需要两个点:一个数据点接近零点(ZSLIN),另一个接近满量程(FSLIN)。背后的道理是要在DAC的线性区域中工作。此信息通常与INL和DNL规格一起提供,最有可能在规格表的尾注中。例如,对于AD5676R,线性区域是从数字码256到数字码65280。
图4解释了DAC的线性区域。
图4.单极性电压DAC的转换函数和误差。
一旦确定ZSLIN和FSLIN码,我们便可收集校准所需的测量结果,即在这两个数字码的DAC电压输出(ZSLIN处的VOUT和FSLIN处的VOUT),加上这之间的其他几个数字码(¼量程、中间量程和¾量程)。
应在应用的工作温度下收集测量结果。如果这不可能,一旦在环境温度时收集到这两个主要数据点,便可使用信号链中器件的数据手册来推导所需的信息。
信号链中的每个器件都会贡献误差,每片板都不相同,因此应该单独校准。
TempCal:工作温度校准
通过测量应用环境在工作温度时的误差,并在写入DAC以更新输出时进行系统校正,可以实现最佳水平的校准。
为了使用这种方法校准DAC,在系统的预期工作温度下,测量数字码ZSLIN和FSLIN对应的DAC输出。构建转换函数如下:
其中:
VOE = 失调误差(V)
VFS,LIN,ACT = FSLIN的实际输出
VZS,LIN,ACT = ZSLIN的实际输出
VFS,LIN,IDEAL = FSLIN的理想输出
VZS,LIN,IDEAL = ZSLIN的理想输出
注意,失调误差可以为正,也可以为负。
图5显示了EVAL-AD5676评估套件采用TempCal方法所实现的输出误差。
图5.不同温度下使用TempCal的系统输出误差(LSB)。
SpecCal:使用规格进行校准
如果无法测量应用环境在工作温度时的误差,使用AD5676R数据手册和环境温度时校准的DAC转换函数仍可实现高水平的校准。
为了使用这种方法校准DAC,应在环境温度下测量数字码ZSLIN和FSLIN对应的DAC输出。通过计算环境温度下的增益和失调误差并应用公式14,按照TempCal部分所述构建转换函数。
其中:
GEamb = 环境温度下的增益误差
VOE,amb = 环境温度下的失调误差(V)
在环境温度下校准DAC信号链可解决系统级误差。但是,温度变化导致的外部误差变化未予考虑;因此,这种校准方法不如TempCal方法精确。
工作温度变化导致的DAC内部误差(即失调和增益误差)漂移,可以使用数据手册规格来解决。这就是我们所说的SpecCal。失调误差漂移的典型值列在AD5676R数据手册的技术规格表中,失调误差与温度关系的典型性能参数(TPC)表示误差漂移的方向,这取决于环境温度是提高还是降低。
温度导致的增益误差变化由增益误差与温度关系的TPC表示。从图中确定增益误差的% FSR,然后应用公式16。
估算出工作温度下的失调误差和增益误差后,我们便可使用公式17来确定SpecCal输出对应的输入码。
其中:
图6显示了EVAL-AD5676评估套件采用SpecCal方法所实现的输出误差。
图6.不同温度下使用SpecCal的系统输出误差(LSB)。
此例中使用了内部基准电压源。外部基准电压源可能会增加整体误差。基准电压源引起的误差可利用基准电压源数据手册并考虑目标温度时的基准电压漂移来解决。基准电压的变化会改变实际输出范围,从而改变LSB大小。使用外部基准电压源应能解决此问题。温度与输出电压关系的TPC可用来确定基准电压漂移引起的输出范围变化。
其中:
结论
本文概述了DAC信号链误差的一些主要原因,包括数据手册中定义的DAC内部误差,以及随系统而变化且开环应用必须予以考虑的系统级误差。
本文讨论了两种校准方法:一种用于DAC可以在系统工作温度下进行校准的情况,另一种用于无法在工作温度下进行校准,但可以在环境温度下进行测量的情况。第二种方法使用信号链中DAC和其他IC的数据手册中提供的TPC和技术规格来解决增益和失调误差漂移。
TempCal方法可以实现比SpecCal好得多的精度。例如,对于50°C时的EVAL-AD5676板,图7显示TempCal方法实现的精度非常接近理想精度,而SpecCal方法相对于NoCal数据仍然有一定的改进。
图7.NoCal、SpecCal和50°C TempCal的系统输出误差(LSB)。
温度变化对电子系统的精度有重要影响。在系统工作温度进行校准可以消除大部分误差。如果这不可能,可以使用DAC和其他IC的数据手册中提供的信息来解决温度变化问题,实现可接受的精度。