全数字校准在模数转换器中的应用与仿真

描述

之前的文章介绍过DAC几种结构和开关切换策略,但在实际应用中,其性能受到电容阵列的匹配影响,此时需要引入校准技术来优化这一问题。

  背景

首先使用巨霖的通用电路仿真工具PowerExpert画出SARADC中DAC+比较器的理想模型:

模数转换器

由上图所示,前半部分是电容阵列,比较器后是数据寄存器,用来存放每一次比较器数输出的数字码,并送回电容阵列控制开关的切换。在采样阶段电容阵列开关分别接输入信号Vin,此时阵列中每个电容上储存的电荷为:

模数转换器

所有电容存储的电荷量之和为:

模数转换器

在比较阶段转换电容下极板到VrefP/N,通过电荷守恒方程可得:

模数转换器

上式模数转换器为电容的上极板电压,由此可知,输出码等于:

模数转换器

在理想情况下,电容阵列从LSB开始按照二进制加权递增,模数转换器应是精准的二进制值,然而在实际工艺中,电容值会存在失配,导致权重模数转换器偏离理想值,此时输入电压与输出数字码关系为:

模数转换器

此现象在180nm及以下工艺中更加明显。此时就需要一种校准方式解决此问题,通过传统引入冗余位设计虽然可以避免失配,但是会增加转换位数从而增加功耗和比较时间,通过注入校正电荷校准则需要高精度的DAC电路,难以实现且会占用额外面积。

  原理

下面介绍一种名为Split ADC的架构来优化上述问题,该架构将一个SARADC“分裂”成两个,称为通道A和通道B,两个阵列分配从LSB位到MSB位的电容。通过后续动态分配模块实现将比较器决策分配给不同电容段,权重模块将后续校准电路校准后的权重模数转换器与动态分配模块产生的决策模数转换器相乘,然后将上下两通道的相乘结果模数转换器取差模模数转换器送入后续误差比较器,再取共模模数转换器输出以抑制随机噪声。以一个16位高精度的SARADC为例,原理图如下所示:

模数转换器

 动态分配模块

将两个SAR决策逻辑序列模数转换器的输出接到一个动态分配模块,该模块是使用一个4位的LFSR实现,每个转换周期更新一个值,生成新的PRN值。在传统无校准的结构中,每一个电容段只会对应一个权重,如果这个电容段出现了失配,那么输出结果将会出现偏差,而动态分配模块的作用是随机改变电容段和SAR决策逻辑序列模数转换器的映射关系,避免输入信号长期维持在一个模拟量导致某些位的输出数字量无法被校准。可以使用Verilog编写动态分配模块并导入PowerExpert中。

 误差比较模块

误差比较模块将AB两个通道的差模输出作为输入,其中A通道的输出为以下表达式:

模数转换器

前项表示理想权重下的输出,后项表示误差,同理B通道的输出如下:

模数转换器

误差比较器得到的输入为:

模数转换器

上式在实际电路设计中还需要考虑两个通道的输入信号偏移和增益误差,此处忽略。误差比较器的目的就是通过调整模数转换器使得模数转换器等于零,从而使AB两通道的差模输出为0。具体实现是通过LMS算法迭代来逐渐修正模数转换器,下面简单举例介绍LMS算法原理和在误差比较器里面的运用。

假设第五个电容段存在失配,同时也被激活模数转换器,那么子通道A的权重由实际权重0.5变为了模数转换器,误差项模数转换器被送到了模数转换器中,LMS算法检测到模数转换器,于是进行以下迭代:

模数转换器   模数转换器都是步长参数,用来控制收敛速度。 模数转换器后将迭代的模数转换器新权重结果送入乘法器中与电容阵列决策模数转换器相乘,得到校准后的结果。在实际电路设计中,为了高效估计误差参数,会根据多次收集的模数转换器和电容阵列激活信号构建矩阵方程,再使用最小二乘法求解已优化误差参数估计,从而减小功耗,有兴趣的读者可以自行了解。    

  仿真

手动在电容阵列中添加10%的误差,从下面仿真得出的波形可以看出,输出X_out被逐渐缩小,最终稳定在理想权重0.5。

模数转换器

欢迎从官网申请试用我们的软件,过程中的任何疑问可联系support技术人员,期待与您的交流!

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

全部0条评论

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

×
20
完善资料,
赚取积分