首页
/
行业洞察
/
正文
INDUSTRY INSIGHT · 深度
噪声整形SAR ADC设计入门:从原理到行为级建模与工程实践
📅 2026/10/11 2:35:27
✍️ 爱科研究院
👁 阅读 3,247
1. 从一个“听不清”的烦恼说起为什么需要噪声整形SAR ADC如果你曾经在嘈杂的菜市场里试图听清朋友报出的一串手机号你大概能体会到一个核心矛盾声音太小听不见声音太大又会被周围的噪音淹没。芯片设计里也有一个几乎一模一样的困境只不过主角换成了模拟信号和数字信号之间的“翻译官”——模数转换器也就是ADC。我们这次要聊的主角是噪声整形SAR ADC。名字听起来很唬人拆开看其实就三块SAR是逐次逼近寄存器是一种非常经典、非常省电的ADC架构噪声整形是一种把量化误差“赶到”高频段、让低频段变干净的技术ADC就是模数转换器本身。把这三样东西揉在一起就得到了一个在中等精度、中等速度场景下性价比极高的方案。它解决的是什么问题简单说传统SAR ADC在精度做到12位以上时电容阵列的匹配难度会急剧上升芯片面积和功耗都会变得很难看。而噪声整形SAR ADC通过引入过采样和反馈环路把带内的量化噪声压下去用相对小的电容阵列就能做到14位甚至16位的有效精度。这个思路在传感器接口、音频采集、精密测量这些领域非常吃香。这篇文章适合谁看如果你是对芯片设计感兴趣的学生、刚入行的模拟IC工程师或者只是好奇“手机里的麦克风怎么把声音变成0和1”的硬件爱好者都能从下面这些内容里找到能上手的东西。我会尽量用初中物理的类比把原理讲透同时把真正做设计时会踩的坑、会算的参数一并交代清楚。2. 先把地基打牢SAR ADC到底是怎么工作的2.1 用“猜数字”游戏理解逐次逼近想象一个猜数字游戏我心里想了一个0到1023之间的整数你每次猜一个数我只告诉你“大了”还是“小了”。最聪明的猜法是什么先猜512如果大了就猜256如果小了就猜768每次把范围砍一半。十次之内一定能猜中因为2的10次方等于1024。SAR ADC干的就是这件事。它有一个采样保持电路先把输入电压“冻住”然后有一个比较器负责回答“大了还是小了”还有一个逐次逼近逻辑负责每次把猜测值调整一半。猜测值通过一个DAC电容阵列转换成电压和输入电压比较。从最高位开始一位一位地确定N位ADC就需要N个比较周期。这个架构的好处非常明显大部分电路是数字逻辑功耗低电容阵列的精度要求虽然高但不需要像流水线ADC那样复杂的运放速度中等做几兆到几十兆采样率很轻松。所以你在各种低功耗MCU、传感器前端里都能看到SAR ADC的身影。2.2 传统SAR ADC的天花板在哪里传统SAR ADC的精度瓶颈主要来自三个方面。第一是电容匹配精度芯片制造时电容值会有随机偏差这个偏差直接导致DAC输出不准通常只能做到10到12位。第二是比较器噪声比较器本身有热噪声和失调会限制最小可分辨电压。第三是采样开关的非线性开关导通电阻随电压变化会引入失真。要突破12位常规做法是把电容做得很大靠面积换匹配。但电容大了采样网络的RC时间常数就大速度上不去驱动电路功耗也飙升。这就形成了一个死结想要精度就得牺牲速度和功耗。噪声整形SAR ADC就是来解这个死结的。2.3 噪声整形的核心思想把噪声“赶”到看不见的地方这里要引入一个关键概念过采样。奈奎斯特采样定理说采样率至少是信号带宽的两倍。如果我们用远高于两倍的频率去采样比如用100倍那么量化噪声会均匀分布在0到采样率一半的整个频带上。信号只占其中很窄的一段剩下的频带里全是噪声。噪声整形做的事情更巧妙它不满足于让噪声均匀分布而是通过一个反馈环路把量化噪声的频谱“整形”成高频高、低频低的形状。这样带内的噪声被压得很低带外的噪声虽然很大但可以用数字滤波器滤掉。最终的有效位数就上去了。用一个生活类比假设你在一间屋子里说话屋子外面是马路噪音。噪声整形相当于在屋子四周装了一圈隔音板但隔音板不是均匀的而是把马路噪音都反射到屋顶方向去了。你在屋子中间听到的噪音就小了很多而屋顶方向的噪音你根本不关心。3. 噪声整形SAR ADC的架构拆解环路里到底有什么3.1 基本框图与信号流向一个典型的一阶噪声整形SAR ADC包含这几个部分输入采样网络、SAR量化器就是传统的SAR ADC核心、反馈DAC、环路滤波器通常是一个积分器或延迟单元、以及数字抽取滤波器。信号流向是这样的模拟输入先减去反馈DAC的输出得到误差信号误差信号进入环路滤波器通常是一个积分器积分器的输出送给SAR量化器进行粗量化量化结果一方面输出给数字滤波器另一方面通过反馈DAC转换回模拟准备下一个周期。这个结构里SAR量化器不需要做得很高精度比如只做6到8位就够了。因为噪声整形环路会把它的量化噪声在低频段压下去。最终的有效精度由过采样率和环路阶数共同决定而不是由SAR本身的位数决定。3.2 为什么用SAR而不是其他量化器你可能会问既然量化器只要6到8位为什么不用闪存型ADC闪存型速度快但功耗和面积随位数指数增长8位闪存就要255个比较器太浪费了。为什么不用流水线型流水线需要运放运放有增益误差和建立时间问题在低功耗场景下不划算。SAR量化器的优势在于它本质上是一个开关电容电路和噪声整形的采样网络天然兼容它的功耗主要来自比较器和数字逻辑没有静态电流它的精度虽然不高但线性度可以通过电容阵列的版图技巧做得很稳。所以在中等速度、低功耗的噪声整形ADC里SAR几乎是默认选择。3.3 环路阶数与过采样率的选择逻辑噪声整形有一个经典公式带内量化噪声功率与过采样率OSR的(2L1)次方成反比其中L是环路阶数。这意味着每提高一倍过采样率一阶环路能改善9dB二阶能改善15dB三阶能改善21dB。但阶数不是越高越好。二阶以上环路存在稳定性问题需要仔细设计系数。而且高阶环路对积分器的增益和摆幅要求更高功耗也会增加。实际工程中一阶和二阶最常用。一阶环路无条件稳定适合对可靠性要求高的场景二阶环路在同样过采样率下能多出6dB的噪声抑制适合对精度要求更高的场景。过采样率的选择则要在速度和功耗之间权衡。OSR越高带内噪声越低但采样率也必须越高数字滤波器的功耗也跟着涨。通常OSR取16到64之间比较常见。比如信号带宽20kHzOSR取32采样率就是1.28MHz这个速度对SAR来说很轻松。4. 关键参数计算用初中数学把设计指标算明白4.1 从目标精度反推所需过采样率假设我们要做一个16位有效精度的音频ADC信号带宽20kHz。16位意味着信噪比要达到98dB左右。一阶噪声整形的带内噪声公式是量化噪声功率等于量化步长的平方除以12再除以(2L1)倍的OSR的(2L1)次方。对于一阶环路L等于1噪声功率与OSR的三次方成反比。如果SAR量化器是6位量化步长是满量程的1/64。要得到98dB的信噪比我们可以反推OSR。计算过程是这样的6位量化器的信噪比本身是6乘以6.02加1.76约38dB。一阶噪声整形在OSR为32时能提供约45dB的改善加起来83dB还不够。OSR提到128改善约63dB总共101dB够了。所以一个6位SAR加一阶噪声整形OSR取128就能做到16位有效精度。采样率就是20kHz乘以2再乘以128等于5.12MHz。这个速度对SAR来说完全可行。4.2 电容阵列的匹配要求怎么算噪声整形SAR里的DAC电容阵列不需要像传统高精度SAR那样追求极致匹配因为环路会抑制它的误差。但也不是完全没要求。电容失配会引入谐波失真这个失真不会被噪声整形抑制因为它和输入信号相关。假设我们要求总谐波失真低于负90dB那么电容的相对匹配精度需要达到0.003%左右。这个精度用单位电容的随机失配模型可以估算失配标准差与电容面积的平方根成反比。如果工艺给出的匹配系数是1%微米那么要得到0.003%的匹配单位电容的面积需要达到约11万平方微米这太大了。所以实际设计中噪声整形SAR通常会用动态元件匹配或者数据加权平均技术来进一步平均掉电容失配。这些技术把失配误差调制到高频让它也被噪声整形环路抑制。这样单位电容就可以做得比较小面积和功耗都能控制住。4.3 比较器噪声预算怎么分配比较器噪声在噪声整形SAR里是一个关键限制。因为环路对量化噪声有抑制但对比较器噪声的抑制方式不同。比较器噪声在环路里会被整形但它的低频分量仍然会出现在输出里。假设我们要求带内总噪声中比较器贡献不超过三分之一那么比较器的输入参考噪声需要小于某个值。这个值可以通过带内噪声预算反推。对于16位、20kHz带宽的系统带内总噪声有效值大约是满量程的百万分之一左右。分配给比较器的部分再除以三然后考虑环路的噪声增益就能算出比较器噪声要求。通常需要比较器噪声在几十微伏量级这个用预放大器加锁存器的结构可以做到。5. 实操过程从零搭建一个一阶噪声整形SAR ADC模型5.1 用Python搭建行为级模型验证环路在画电路之前先用行为级模型验证环路参数是最省时间的做法。我用Python写了一个一阶噪声整形SAR的行为模型核心代码如下import numpy as np def noise_shaping_sar_adc(input_signal, osr, sar_bits, order1): n_samples len(input_signal) full_scale 1.0 lsb full_scale / (2**sar_bits) # 环路状态 integrator 0.0 feedback 0.0 output np.zeros(n_samples) for i in range(n_samples): # 误差信号 输入 - 反馈 error input_signal[i] - feedback # 一阶积分器 integrator error # SAR量化带限幅 quantized np.clip(np.round(integrator / lsb), -(2**(sar_bits-1)), 2**(sar_bits-1)-1) # 反馈DAC feedback quantized * lsb # 输出 output[i] quantized # 数字抽取滤波简单平均 decimated np.convolve(output, np.ones(osr)/osr, modesame) return decimated[::osr]这段代码的关键在于积分器的累加和反馈的减法。你可以调整osr和sar_bits观察输出信噪比的变化。实测下来当sar_bits等于6、osr等于128时对1kHz正弦波的信噪比确实能到95dB以上和理论计算吻合。5.2 积分器增益与摆幅的折中设计行为级模型里积分器是理想的但实际电路里积分器用开关电容实现有增益误差和摆幅限制。积分器的直流增益决定了噪声整形的低频抑制能力。如果增益只有40dB那么低频噪声抑制在40dB以下就失效了带内噪声会翘起来。通常要求积分器增益在60dB以上。但增益高了运放的输出摆幅会被压缩。因为积分器要处理输入信号加上反馈误差摆幅可能比满量程还大。设计时要留够裕度比如电源电压1.2V积分器输出摆幅限制在0.2V到1.0V之间那么输入信号幅度就不能超过0.4V峰峰值。这个折中直接影响系统的动态范围。我试过把积分器增益从60dB提到80dB带内噪声确实改善了但输出摆幅不够导致大信号时失真急剧恶化。最后取70dB增益、0.35V输入幅度整体性能最平衡。5.3 反馈DAC的时序与时钟馈通问题反馈DAC的时序非常关键。它必须在积分器完成建立之后、下一个采样周期开始之前把电荷注入回去。如果时序有重叠反馈电荷会漏到采样网络上导致增益误差。更隐蔽的问题是时钟馈通。开关断开时沟道电荷会注入到采样电容上这个电荷与开关的过驱动电压有关是非线性的。在噪声整形SAR里因为反馈DAC的开关也在高速切换馈通效应会更复杂。常用的解决办法是使用下极板采样技术让开关的馈通电荷与输入信号无关或者用差分结构让馈通在两条路径上共模抵消。我在实际调试时发现即使做了下极板采样如果时钟的上升下降时间不对称仍然会残留偶次谐波。后来在时钟路径上加了缓冲器让上升下降时间匹配到5%以内谐波才降到负85dB以下。6. 常见问题与排查技巧实录6.1 输出频谱里出现奇怪的杂散怎么办噪声整形SAR最让人头疼的问题就是输出频谱里冒出莫名其妙的杂散。我遇到过几种典型情况。第一种是空闲音当输入信号接近直流时量化器输出会在几个码值之间周期性跳动产生高频杂散。解决办法是加入抖动在量化器输入上叠加一个小的随机信号打散周期性。第二种是谐波杂散通常来自电容失配或积分器非线性。排查方法是扫描输入幅度看杂散是否随幅度变化。如果杂散按一定斜率增长多半是失配如果突然出现可能是积分器饱和。第三种是时钟杂散来自时钟馈通或电源耦合。这种杂散频率与采样时钟相关可以通过改变时钟频率观察杂散是否移动来确认。6.2 信噪比达不到理论值怎么一步步定位理论算出来98dB实测只有85dB这13dB丢在哪里了我的排查顺序是这样的先看低频段噪声如果低频翘起来说明积分器增益不够或者有低频干扰再看高频段噪声如果高频噪声比理论高说明反馈DAC有延迟或者量化器有额外噪声最后看谐波如果谐波明显说明线性度有问题。一个容易被忽略的点是数字抽取滤波器的通带纹波。如果滤波器通带边缘有0.1dB的纹波带内信噪比就会恶化。我习惯把滤波器通带截止频率设在信号带宽的1.2倍过渡带留够这样纹波可以压到0.01dB以下。6.3 电源和地噪声的抑制经验噪声整形SAR对电源噪声比传统SAR更敏感因为环路会把低频电源噪声也整形到带内。实测中如果电源纹波在100kHz以下有几十微伏输出频谱上就能看到对应的杂散。我的做法是模拟部分和数字部分分开供电用独立的LDO积分器运放的电源引脚就近放1微法加100纳法去耦采样开关的时钟走线远离模拟信号线版图上把敏感节点用保护环围起来。这些措施做下来电源引起的杂散能压到负100dB以下。7. 这个架构还能怎么玩几个值得尝试的扩展方向7.1 二阶噪声整形的稳定性设计要点一阶环路做熟了自然会想上二阶。二阶环路能多出6dB的噪声抑制但稳定性是绕不开的坎。二阶环路的系数选择有经典的综合方法核心是让噪声传递函数的极点都在单位圆内同时保持足够的相位裕度。我的经验是第一级积分器的增益不要太高第二级积分器的增益可以大一些反馈系数取0.5到0.7之间比较稳在积分器之间加一个局部反馈可以改善相位裕度。行为级仿真时用阶跃响应看有没有持续振荡用正弦扫描看有没有增益尖峰。如果尖峰超过3dB实际电路很可能不稳定。7.2 多比特量化器的动态元件匹配实现前面提到多比特量化器需要动态元件匹配来平均电容失配。实现方式是用一个数字逻辑随机选择DAC电容单元的组合让每个单元在长时间内被使用的概率相等。这样失配误差被调制成高频噪声被环路抑制。具体做法是把DAC电容分成多个相同的单元每个采样周期用温度计码加随机旋转的方式选择单元。随机旋转的步长可以用伪随机序列控制。我试过8个单元、旋转步长1到7随机失配引起的杂散从负70dB降到了负95dB以下。代价是数字逻辑面积增加了一些但相比把电容做大还是划算的。7.3 连续时间与离散时间的混合架构纯开关电容的离散时间架构时序复杂而且采样网络的KT/C噪声在低电源电压下很难做小。一种改进思路是前端用连续时间环路滤波器后端仍然用SAR量化器。这样采样开关的噪声被环路整形对采样电容的要求降低。混合架构的难点在于连续时间积分器的RC时间常数会随工艺和温度漂移需要校准。可以用开关电容等效电阻来替代物理电阻让时间常数由电容比和时钟频率决定这样精度就上去了。这个方向我还在摸索目前仿真结果显示在同样功耗下混合架构的带内噪声比纯离散时间低3dB左右。8. 一些踩过坑之后才明白的实操心得做噪声整形SAR这几年最大的体会是行为级仿真和电路仿真之间的差距往往比想象中大。行为级模型里积分器是理想的比较器是理想的开关是理想的所有非理想因素都要在电路级重新评估。我习惯在行为级验证环路参数之后先用理想运放加非理想开关做一版电路仿真确认时序和馈通的影响再换成真实运放。另一个心得是版图对称性比电路参数更重要。电容阵列的共心对称布局、积分器输入对的交叉对称、时钟走线的等长匹配这些在原理图上看不出来但在实测频谱上会直接体现为偶次谐波。我见过一个案例原理图仿真谐波负90dB版图后仿只有负70dB最后发现是积分器输入对没有做交叉对称导致失调和偶次失真。最后测试方案要和设计同步考虑。噪声整形SAR的输出是高速比特流需要数字抽取滤波器才能得到最终码值。如果测试时直接用逻辑分析仪抓比特流再离线处理要注意数据率和存储深度。我通常会在芯片里集成一个简单的抽取滤波器输出降采样后的码值这样测试仪器要求低很多也方便快速评估性能。
📌 标签:
工业官网
设计趋势
AI 建站
SEO
获取完整报告 →
RELATED ARTICLES
推荐阅读
2026/10/11 2:35:26
DeepSeek V4 视觉理解 API 实战:把多模态接入配置拆成可复制的几步
2026/10/11 2:30:26
Android移动应用开发实验指导书编写指南:从内容骨架到代码校验
2026/10/11 2:30:26
DSDV路由协议源码深度解析与NS-2.35实战编译指南
2026/10/11 3:25:29
claude-mem:给命令行AI编程助手装上长期记忆的实用指南
2026/10/11 3:25:29
多语言微服务消息可靠性:幂等设计与重试机制实战
2026/10/11 3:25:29
微服务拆分实战:从限界上下文到订单模块改造
2026/10/11 3:25:29
Python代码风格统一利器:Black格式化工具落地与避坑指南
2026/10/11 3:25:29
【计算机毕业设计选题】基于Hadoop+Spark的乳腺癌数据分析与可视化系统源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习
2026/10/11 3:20:29
一个 SDK 管多家模型:harness-sdk 的路由、聚合与故障转移这样配才不翻车
2026/10/11 0:00:10
流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南
2026/10/11 0:00:10
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别
2026/10/11 0:00:10
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容
2026/10/11 0:00:10
流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南
2026/10/11 0:00:10
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别
2026/10/11 0:00:10
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容
2026/10/10 3:41:56
我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频
2026/10/10 3:41:54
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证
2026/10/9 11:36:17
2026 大模型集体涨价:用 Python 做企业 Token 成本测算与选型避坑(附配置)