如何校准DAC以提供14位性能

描述

概述

AD5532 32通道,14位电压输出D / A转换器可用于DAC模式(用于访问数字数据的多个模拟表示)或无限 采样保持(ISHA)模式(用于存储和访问模拟数据的模拟表示)。 DAC具有14位单调性,但只有±0.39%的积分非线性。本文介绍如何校准DAC以提供14位性能。

dac

DAC 模式下,所选DAC寄存器通过3线写入串行接口;然后更新该DAC的模拟输出(VOUT)以反映DAC寄存器的新内容。 DAC选择通过五个地址位A0-A4完成。参考电压,OFFS_IN引脚施加的电压和输出放大器的增益相结合,决定了AD5532的输出范围。

ISHA 模式下,输入电压VIN ,被采样并转换成数字字。所选( n )输出缓冲器(增益和偏移级)的同相输入在采集期间与VIN相连,以避免在 n DAC时出现瞬态杂散输出获取正确的代码,最大步长为16μs。然后,更新的DAC输出连接到 n 输出缓冲器的同相输入,并控制其输出电压。由于通道输出电压实际上是具有固定输入的DAC的输出,因此没有与之相关的下垂。只要器件保持通电,输出电压将保持不变,直到该通道再次被寻址为止。

模拟输出限制在VSS + 2 V至VDD - 2 V范围内,因为输出放大器的裕量限制。器件工作在AVCC = 5 V±5%,DVCC = 2.7 V至5.25 V,VSS = -4.75 V至-16.5 V,VDD = 8 V至16.5 V;它需要在REF_IN上提供稳定的+ 3-V基准电压,以及OFFS_IN上的偏移电压。

在DAC工作模式下,AD5532的DAC保证单调至14位(差分非线性<1) LSB) - 理想地适用于闭环控制应用。然而,精度受到节省空间的串DAC结构的限制。 DAC的指定积分非线性(INL)误差是14位器件中满量程(典型值为0.15%)或64(典型值为24.5)最低有效位的最大值的0.39%。因此,我们可以说最坏情况下的DAC积分线性度与8位器件相当,即使它具有14位分辨率。

这种最坏情况的性能水平对于许多应用来说是可以接受的特别是考虑到AD5532可以在任何时候经济而紧凑地存储和读出32个模拟数据点,其分辨率为61万分之一。但是有许多应用,尽管这种性能是必不可少的,但也需要更高的准确性。我们的目的是展示一种方法,使用一个控制器和最多8,192个存储器插槽,校准AD5532的全14位性能,每个DAC最多只有256个校准系数(128个数据点)。图2显示了可以获得的改进类型。

dac

下面介绍基本的DAC架构和校准方法,可以轻松实现以实现1 LSB的INL误差水平。

DAC架构

常见的串DAC 是最古老,最简单的DAC电路概念之一。电阻串DAC实现本质上是单调的,其特点是简单,尺寸小(每个电阻)和低功耗。但是一个主要的缺点是需要2个 N 电阻来直接实现它 - 例如,14位的16,384。为了减少电阻和芯片尺寸,AD5532包含两个128电阻串(7位) - 一个用于7个更高有效位的主串DAC和一个7位子串DAC。基本架构如图3所示(美国专利5,969,657)。子串DAC跨越主串,总是与主串电阻之一并联。

dac

直接乘法电位器式电阻DAC的步长非线性由于子串的变量加载与主串并行。但在AD5532等DAC中,子串的加载在所有级别都是相同的,并且不作为主要误差源处理,而是作为DAC传递函数的特性。子串加载误差为1 LSB。

AD5532 DAC采用上述架构,由7位串主DAC(128电阻)和7位串子组成-DAC(127个电阻),用于桥接主DAC的各个电阻。积分非线性误差(INL)由主DAC电阻的匹配决定。子DAC提供传输功能的较低127个代码。子DAC的线性度可以通过分段线性段来近似。

DAC传递函数:

AD5532上的主DAC通常从DACGND提升50 mV(通过DAC底部的电阻器)。因此DAC的底部通常为50 mV,而DAC的顶部通常为V ref 。图4显示了如何为单个通道导出标称DAC传递函数。

dac

适用于AD5532的标准DAC传递函数为:

dac

其中:

N =十进制的DAC代码值(0

V ref_top = V ref 和V ref_bottom = 50 mV(典型值)

然后输出级放大并偏移V dac 输出,如下所示:

dac

其中:

增益是通常是3.52和 V offs_In 是用户程序的任何内容。

对于V offs_In = 0且V ref = 3 V

V out (零码)= 3.52 * 50mV = 176 mV(典型值)

V out (中等比例)= 3.52 * 1.525V = 5.368 V(典型值)

V out (已满) -scale)= 3.52 * 3V = 10.56V(典型值)

校准方案:

如上所述,此校准方案适用于AD5532系列中的所有器件。整个INL曲线可以被认为是128个分段线性段 - 对应于上部串中的电阻值的偏差 - 然后在下部串中线性插值。因为上电阻串中的小电阻偏差 - 在14位电平产生显着的非线性 - 将在通道与通道之间变化,并且部分之间没有“典型”的INL曲线;每个DAC都需要单独校准。此处列出的校准方案使用 Mx + C 近似对每个段中的校正值生成对低128位代码的校正。 C 是段开头所需的校正, M 是存储到下一段开头的斜率, x 是模拟比率对应于给定的7位代码。

因此,用户可以通过测量每个预期值和实际值之间的差值 C 来开发校准表。在上面128个代码中,计算增量斜率( M ),并将每个值存储在内存中每128个点间隔,如图5所示。然后,在运行时,确定段,因而 C&amp; M ,从高7位开始,计算由低7位确定的内插值,并将校正应用于DAC输入。

dac

校准每128个代码,即每个段,将从最坏情况下的14位电平将INL误差降低到小于±1 LSB,对于未校准的DAC,降低到64 LSB。如果所有校正数据必须存储在比8192字更少的存储器中,则可以通过将校准间隔增加到256或512点来减少校准点的数量 - 但这会降低整体的整体线性度。

图6是校准前AD5532 DAC通道的线性误差图,通常为10位。在所有这些图中,Y轴表示以LSB(1 LSB = 61 ppm)表示的线性误差,而X轴是加载到DAC的14位代码。

dac

图7显示了在执行128点校准后,同一通道上的非线性误差,如上所述。可以看出,INL误差现在在±1 LSB范围内。

dac

图6和图7中的曲线图为25°C。附录A显示了在25°C下实施128点校准方案后-40°C和+ 85°C时的线性误差。最坏情况误差似乎是25°C时的两倍。

如上所述,校准也可以使用较少数量的校准点来实现。附录B中说明了使用较少校准点导致的线性误差的增加。

硬件实现

图8显示了使用AD5532的典型硬件实现。通常,控制器直接写入AD5532,提供寻址和计算校准数据输入值以更新相关通道。

dac

校准方案需要添加一个存储块来存储DAC传递函数中每个段的 M C 校准数据。使用128点校准方案,每个DAC需要存储256个校准系数。

校准完整的AD5532需要存储8192个系数。就存储器大小而言,斜率系数( M )通常需要6位,偏移系数( C )也需要大约6位。如上所述和附录B中所述,可以降低所需的存储器大小,但会牺牲精度。

在将数据写入特定DAC时,控制器会获取输入代码并进入存储器以获取输入代码定义的段的相关 M C 系数。然后控制器执行线性插值以确定要写入DAC的正确代码。

结论

使用简单的插值方案,可以显着提高线性度的性能。 AD5532系列DAC产品。

我们已经证明,在25°C下进行128点校准后,可以实现14位线性性能。预校准线性度通常为8到10位。

升级现有AD5532以提高计算能力系统性能所需的一切就是能够生成校准信息和提供一个存储块来存储校准系数。

附录A.在25°C校准后其他温度下的线性度。

图A1显示了在单个AD5532上进行128点校准后的未校准线性度性能和校准后线性误差通道在25°C。图A2和A3显示了在25°C下校准后的性能与温度的关系。这些图显示了LSB与数字输入代码(x轴)之间的线性误差(Y轴)。

dac

附录B.校准点较少的可实现性能

最佳通过实施128点校准方案,可以通过合理的努力来校准AD5532。为了减少校准时间和存储器要求,可以以总体精度为代价来减少校准点的数量。图B1,2,3,4中的图表将预校准误差与使用128,64,32和16个校准点(25°C)实现的连续降低的改进进行了比较。

dac

我们要感谢Donal Geraghty,Patrick Kirby,John O'Sullivan和Catherine Redmond的宝贵贡献。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分