SAR ADC校准算法总结

本文介绍了ADC的两种主要校准技术——模拟校准和数字校准,包括模拟自校准、基于扰动的数字校准和基于SplitADC的数字校准技术,以及电容补偿法。模拟自校准通过电容翻转获取偏差,数字校准利用线性系统的可叠加原理进行补偿,SplitADC则通过两个独立ADC的差异进行校准。这些方法各有优缺点,适应不同场景需求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、算法分类

模拟和数字:目前主流的校准技术中包括模拟校准和数字校准技术。

模拟校准技术是通过在模拟电路中增加或修改特定电路结构来达到校准的目的,这种方法通常会较大地提高电路结构的复杂性和电路工作时序的复杂性,ADC 的工作速率也会受到一定限制。

数字校准技术则主要将校准模块放在数字电路中,对模拟电路结构的修改比较少,一般只是需要在模拟电路中增添简单的辅助结构,校准算法的适应性和可移植性较强,集成度也更高。

前台和后台:校准技术根据校准的顺序可分为前台校准和后台校准。

前台校准的意思是先通过某种方法得到电容失配的大小,然后在ADC 正常工作的时候在模拟或者数字域把这些误差补偿回去,所以在 ADC 正常工作前需要一定的时间和步骤来先校准失配。

后台校准的校准过程可以与 ADC 的正常工作过程同时进行,后台校准会根据在ADC 正常工作过程中提取到的非理想因素的近似值对 ADC 进行实时校准。

前台校正的优点是通常实现较为简单,缺点是无法实时跟踪温度、电压、封装或 PCB 压力等变化,后台校正的优点是可以跟踪温度、电压的变化,缺点是校正的收敛速度可能较慢,并且与输入信号相关。

2、典型的校准技术

2.1、模拟自校准

1984年,Hae-Seung Lee 设计了一种针对电荷重分配式 DAC 设计了一种自校准的方法,需要一个校准的 DAC 用于补偿主 DAC,还有一些校准控制单元和误差存储单元。DAC 中各个电容的误差均可通过“电容翻转”的方法来得到其对应的偏差,这属于一种模拟前台校准的方法。

主要原理:SAR ADC 中电容阵列称为 M-DAC,虚线部分是校准电容阵列 Cal-DAC,由 k 位电容组成。

该校准是在 ADC 上电后就进行的,待校准量就是 M-DAC 中每个电容的实际值。SAR ADC 的工作可分为两个工作模式:校准模式和正常工作模式。

校准阶段,电容失配值以 M-DAC 输出误差电压形式表现出来,Cal-DAC 电容阵列通过测量该误差电压值,并将结果保存在 RAM 中。

工作阶段,比较器进行比较时,Cal-DAC 通过接入不同的电容使误差电压加载到 M-DAC 的输出。

具体的推导推荐看原文。

2.2、基于扰动的数字校准技术

基于扰动信号注入的校准原理的本质是利用线性系统的可叠加原理。在欠二进制的冗余 SAR ADC 中,转移特性曲线存在“一对多”映射关系,即一个模拟值对应多个量化的数字量,且不存在丢失模拟输入信号的问题,因此,可以通过在数字域实现校准。

理想ADC加入模拟扰动信号,ADC的转换输出曲线表现出平移的特性,这类似于比较器失调对ADC的影响。当在ADC量化输出用模拟扰动信号对应的数字量对ADC进行补偿时,之前平移的曲线都会重合的理想的转换曲线上。所以,对比较器失调而言,只要知道失调电压对应的数字码,就能在转换曲线上进行补偿。

2.3、基于Split ADC的数字校准技术

2011 年,McNeil 等人将 Split ADC 的校准思想用于 SAR ADC 的校准上。两个独立的 ADC 同时对同一个模拟输入信号进行量化,将两个 ADC 转换出的结果作差,根据差值来修调各自的权重系数。通过 LMS 算法迭代,当差值 Error 逼近于 0 时,则可以认为各权重收敛完成,校准结束。

下图为采用"Split ADC"校准方法的系统框图。图中ADC"A"和"B"分别是两个独立的带有失配的SAR ADC。

对于电容误差而言,不需要得到精确地值,只要迭代的方向是正确的,让和不断向实际的权重值靠近就可以了,直到最后权重误差在精度允许范围之内,校准就完成了。

该校准算法是在后台进行的,不影响前台ADC转换的正常工作,不过在校准完成之前得到的数字输出是错误的。当校准完成后就停止工作,不再进行迭代,若在工作过程因环境或者其他因素的影响导致ADC出现误差,则校准又会重新开始工作。该校准能够做到实时监控,只要ADC工作过程中出现误差就开始工作。

3、小众的校准技术

3.1、改变电容阵列的结构来校准电容失配的校准技术

为方便叙述,以下分析采用单端输入的 12 bit SAR ADC 为例子,改动后的 SAR ADC 电容阵列结构如图所示。

图中未包含用作补齐二进制的不参与量化的单位电容(C),电容阵列输出的 Vout 连接到比较器,为比较器的模拟信号输入。

如图所示,在该SAR ADC中,电容阵列分为两部分,容值较小的6位电容量化低6位的数字码字,其余电容量化高7位的码字。需要说明一下的是,因为低6位电容的容值较小,它们的电容失配对SAR ADC整体的工作性能影响不大,故只假设电容阵列中容值大于或等于32C的电容才有电容失配。

电容阵列中除了低6位电容之外的结构由4个相同的电容子阵列并联而成,每个子阵列都包含如图所示的5位电容。在SAR ADC工作时,其中两个子阵列合并起来可作为对应最高位码字的电容,另一个子阵列可作为次高位码字对应的电容,剩下的1个子阵列可作为高第3位到高第7位码字对应的电容。

电容阵列中共有两个冗余电容,分别是8C和32C。因为容值大于或等于32C的电容是有电容失配的,所以这个32C的冗余电容是为了增加SAR ADC在存在电容失配时对比较错误的容忍度。而8C的冗余电容则是为了在SAR ADC量化低位码字时增加额外的量化范围。

根据电容阵列来看,该SAR ADC量化出的码字共有13位,需要在校准后最终输出结果前将量化的13位码字转换为12位数字码字。

这个校准方法是通过用不同的电容阵列组合多次量化同一个相同模拟输入,然后用数字电路模块对这些量化出来的数字码字求平均来校准电容失配的。同一个模拟输入共需量化四次,各量化阶段的电容阵列接法如下图所示。图中实线方框内的两个子电容阵列作为对应最高位码字结果的电容,虚线框内的子电容阵列对应次高位码字结果的电容。

校准算法的具体工作过程如下:

①模拟信号输入 SAR ADC,ADC 按图中的量化阶段 1 中电容阵列接法先对模拟信号进行一次量化,并将量化出的数字码字结果保存起来;

②将电容阵列的接法换为图中的量化阶段 2 的接法,重新量化一次,并将低 6 位的数字码字结果保存起来;

③将电容阵列的接法换为图中的量化阶段 3 的接法,重新量化一次,并将低 6 位的数字码字结果保存起来;

④将电容阵列的接法换为图中的量化阶段 4 的接法,重新量化一次,并将低 6 位的数字码字结果保存起来;

⑤取出第一次量化的数字码字结果的低 6 位码字,与其余 3 次量化的低 6 位码字结果一起输入数字电路求平均,平均的结果便是完成校准后的数字码字的低 6 位码字;

⑥将上一步得到的低 6 位码字与第一次量化得出的高 7 位码字拼接起来便是完成校准后的 13 位数字码字结果;

⑦将 13位码字通过数字电路转化为 12 位码字,便可得到校准后的 12 位码字结果。

值得一提的是,因为假设只有4个子电容阵列中的电容才带有电容失配,且电容失配只有在DAC进行数模转换并把结果输出给比较器求残差电压之后才会影响SAR ADC输出结果,而且影响体现在带失配的电容对应码字的更低位的码字中,所以子电容阵列的电容失配集中体现在低6位码字中。

在对同一模拟输入信号的4次量化过程中,4个码字的高7位都是一样的,故而只需保存一次。又因为子电容阵列中的电容失配都体现在低6位码字结果中,且在4次量化过程中已通过4种子电容阵列的接法将电容失配的不同影响组合分别用4种低6位码字结果提取了出来,将这4种码字结果平均处理之后便可以将电容失配的影响消除。

3.2、电容补偿法校准

2012 年 Haenzsche提出了这种校准的方法,也是属于模拟前台校准的一种方法,但不同于模拟自校准,电容补偿法校准是基于差分工作的模式,正负两端的 DAC 同时得到校准,以模拟真实的工作情况,不存在共模漂移的问题。

以一个16比特的SAR ADC为例,电容阵列分为两段,如上图所示,只需要校准MSB段即可,校准顺序从低位到高位,因为只有低位的权重匹配好了,高位的校准才有意义。校准前后频谱的SNDR从74.8dB提高到了96.3dB。

具体的校准原理推荐看原文,先总结到这里吧。

### 回答1: 我可以为您提供一个参考算法。首先,使用Matlab中的搜索功能,找到最接近的差分电容板的模型,并使用模型的构建器构建模型。然后,使用Matlab中的优化功能,设置参数,以最小化噪声和最大化精度。最后,使用Matlab中的仿真功能,对模型进行验证,以确保它符合要求。 ### 回答2: 根据问题描述,我们需要使用MATLAB编写一个16位逐次逼近型控制校准算法,其中数字模拟转换器(DAC)是全差分架构的电容型,以分段式结构分为两个段。 首先,我们需要明确校准的目标是什么。对于SARADC校准的主要目标是准确地测量和转换模拟输入信号。为了实现这一目标,我们可以按照以下步骤进行算法设计: 1. 设置逼近精度: - 定义SARADC的模拟输入范围。假设输入范围为Vref+和Vref-之间。 - 根据SARADC的16位分辨率,计算每个比特位的电压量化步长VLSB = (Vref+ - Vref-) / (2^16)。 - 确定所需的校准精度,例如要求误差小于VLSB的1/2。 2. 校准步骤: - 分两段校准策略。第一段校准用于去除基本缺陷,例如微调模拟输入的基准电压(Vref+)和(Vref-),以确保ADC对于理想输入信号有正确的零点和满量程范围。第二段校准用于进一步校准细节,例如增益校准。 - 进行第一段校准: 1. 将SARADC的输入端短接到基准电压(Vref+)或(Vref-)。记录每个比特位的输出结果。 2. 对于每个比特位的输出结果,计算其与期望输出之间的差异,并根据这些差异来调整DAC电容的设置。 3. 重复上述步骤,直到每个比特位的输出都在误差范围内。 - 进行第二段校准: 1. 将SARADC的输入端连接到一个已知的稳定模拟信号源。 2. 对于每个比特位的输出,计算其与输入信号之间的差异,并根据这些差异来调整DAC电容的设置。 3. 重复上述步骤,直到每个比特位的输出都在误差范围内。 3. 进行完整性检查: - 确保校准后的SARADC能够在整个输入范围内以期望的精度输出。 以上是一个简单的16位SARADC校准算法的基本设计思路。在实际编程中,我们可以使用MATLAB的控制算法和数字信号处理工具箱来实现这个算法。需要注意的是,具体的实现细节和参数需要根据具体的硬件和系统要求进行调整。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值