数模转换器的开环校准技术

描述

原则上,您向DAC提供数字输入,并提供精确的输出电压。实际上,输出电压的精度受DAC和信号链中其他元件的增益和失调误差的影响。系统设计人员必须补偿这些误差,以获得精确的输出电压。这可以通过外部组件和制造后修整来实现。数字校准修改发送到DAC的输入,从而考虑增益和失调误差,从而消除了对外部元件和微调的需求。

开环系统的校准

开环系统没有反馈路径,因此设计人员可以相信输出电压处于正确的值。高精度通常需要具有14至16位分辨率的精密DAC。积分非线性(INL)和微分非线性(DNL)的数据手册规格不包括增益和失调误差。这些误差因设备而异,必须先测量,然后才能删除。这通常作为工厂校准的一部分完成。

图1显示了理想DAC与实际DAC的传递函数。在本例中,当预期输出为0 V时,失调误差会导致输出电压为负,增益误差产生的跨度大于预期范围。

寄存器

图1.DAC 传递函数

传递函数可以建模为由 y = mx +c 描述的直线。

其中:

y 是输出

m 是传递函数的斜率

x 是 DAC 的输入

c 是失调电压

理想DAC的增益(m)为1,失调(c)为0,输出以完美的线性方式跟踪输入。实际DAC具有非理想的增益和失调值,一旦已知即可进行补偿。

以标称输出范围为16 V至0 V的10位DAC为例。当数字输入设置为0时,测量–30 mV输出。当数字输入设置为65,535(满量程)时,将测量10.02 V输出。

由此,我们可以确定:

失调误差为 –30 mV

量程误差为 20 mV – (–30 mV) = 50 mV,实际量程为 10.05V

增益为 10.05 V/10 V = 1.005

补偿增益误差

为了补偿增益误差,DAC的数字输入必须乘以增益误差的倒数:

x 1 = x × (10 V/10.05 V)

其中 x 是所需的输入,x1 是加载到 DAC 的值。输入为 0 和 65,535 将产生 10.05V 跨度,而 0 和 65,209 的输入将产生所需的 10V 跨度。

补偿失调误差

失调误差导致DAC在数字输入为0时产生0 V以外的输出电压。失调误差可以通过在DAC输入中添加或减去一个等效数字来测量和消除。

在本例中,DAC有65,536个可能的代码,输出范围为10.05V。这意味着每 1 LSB(最低有效位)步长为

10.05 V/65536 = 153.35 μV。

在本例中,–30 mV失调相当于(30 mV/153.35 μV)= 196 LSB。因此,写入DAC的值196将产生0 V的输出电压。

将一切整合在一起

补偿增益和失调误差可产生精确的电压。下面的公式显示了如何计算正确的DAC输入以产生所需的电压。

实际DAC输入 = (10 V/10.05 V) × 理想 DAC 输入 + 196

替代选项

在DSP或微处理器中执行这些计算需要额外的开销,这可能既昂贵又耗时。一些DAC包括片内寄存器,允许在DAC中进行计算,从而释放处理器来执行其他功能。AD536x、AD537x、AD538x和AD539x系列密集DAC ™多通道DAC具有8至40个通道,分辨率为12至16位。单电源版本可产生 5V 输出。双电源版本可产生 ±10V 输出。每个器件的每个通道都有专用的m和c寄存器,允许每个通道的增益和失调校准。

图2显示了AD5370 16位、40通道DAC的一个通道。计算 m 和 c 寄存器的值的过程如下所述:

通过将DAC输入设置为零和满量程来测量失调和满量程误差。

通过将范围除以可能的代码数(在本例中为 65536)来计算实际 LSB 大小

从默认的 m 寄存器值中减去与超额跨度对应的 LSB 数。例如,50 V范围内10 mV的超量范围相当于326 LSB

将与偏移量对应的LSB数量添加到默认c寄存器值。例如,–10 mV的失调为65 LSB

现在可以将DAC视为理想值,并计算适当的值以补偿内部和系统误差。

寄存器

图2.AD5370 DAC的单通道

审核编辑:郭婷

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

全部0条评论

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

×
20
完善资料,
赚取积分