ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

高精度ADC选型指南:从ENOB到外围电路设计的完整流程

高精度ADC选型指南:从ENOB到外围电路设计的完整流程 1. 高精度ADC选型先搞清楚你到底在为什么买单做硬件这行十几年我见过太多项目在ADC选型上翻车。有的是因为采样精度不够导致整个数据采集系统报废有的是因为选了一颗“参数漂亮但实际用起来全是坑”的芯片还有的是压根没搞清楚自己需要什么精度就盲目上了24位ADC结果发现有效位数连16位都不到。高精度ADC硬件电路设计选型这件事说简单也简单说复杂也复杂核心就一句话你得知道自己在为什么买单。先把这个话题的边界划清楚。这里聊的是高精度ADC通常指分辨率在16位及以上、用于精密测量、传感器信号采集、工业控制、医疗电子、音频分析等场景的模数转换器。它跟那种单片机内置的12位ADC完全不是一个物种选型逻辑也截然不同。如果你只是做个按键检测或者简单的电压监控那随便选选就行但如果你要做应变片信号采集、热电偶测温、振动分析、精密电流检测这类活ADC选型就是决定项目成败的第一道关卡。为什么这么说因为高精度ADC的选型不是简单地看“多少位”就完事了。一颗标称24位的ADC实际有效位数可能只有17到18位甚至更低。你如果按24位去设计后续的算法和校准流程最后发现噪声底根本压不下去整个系统的精度就被这颗ADC卡死了。更麻烦的是高精度ADC的性能发挥极度依赖外围电路设计——基准源、输入驱动、电源滤波、PCB布局任何一个环节出问题你花大价钱买的高精度ADC就跟普通货色没区别。这篇文章面向的是正在做或准备做高精度数据采集系统的硬件工程师、嵌入式开发者、以及需要选型的项目负责人。我会从实际项目经验出发把ADC选型中最关键的几个参数拆开来讲清楚包括它们背后的物理意义、测试方法、以及在实际电路设计中怎么权衡。同时也会给出具体的选型流程、外围电路设计要点、以及我踩过的那些坑。不管你是刚入行的新手还是做了几年的老手应该都能从中找到对自己有用的东西。2. 核心参数拆解别被数据手册的第一页骗了2.1 分辨率不等于精度有效位数才是硬指标数据手册第一页那个大大的“24-Bit”或者“16-Bit”是最容易让人产生错觉的地方。分辨率只代表ADC输出代码的位数跟实际能分辨多小的信号变化是两码事。真正决定你系统精度的是有效位数ENOB, Effective Number of Bits这个参数通常藏在手册后面的AC特性表里或者需要你自己通过信噪比SNR反推。ENOB的计算公式是ENOB (SNR - 1.76) / 6.02举个例子一颗标称24位的ADC如果手册给出的SNR是105 dB那它的ENOB就是(105 - 1.76) / 6.02 ≈ 17.1位。也就是说这颗ADC实际能提供的有效精度只有17位左右剩下的7位全被噪声吃掉了。你如果按24位去设计后续的滤波和校准算法那就是在跟噪声较劲白费力气。我见过一个典型的翻车案例某团队用一颗24位ADC做称重传感器采集传感器满量程输出20 mV系统要求分辨到1 μV。他们算了一下24位ADC在20 mV满量程下的LSB是20 mV / 2^24 ≈ 1.2 nV觉得绰绰有余。但实际上这颗ADC的ENOB只有17位有效LSB是20 mV / 2^17 ≈ 153 nV再加上前端放大器的噪声和基准源的噪声最终系统分辨率连10 μV都做不到。这就是典型的“被分辨率忽悠了”。所以选型第一步先确定你需要的ENOB而不是分辨率。你需要分辨的最小信号变化量除以系统满量程取以2为底的对数就是你需要的最小ENOB。然后在这个基础上留2到3位的余量去找SNR满足要求的ADC。2.2 信噪比和噪声底决定你能看到多小的信号信噪比SNR是衡量ADC噪声性能的核心指标通常以dB为单位测试条件是输入一个接近满量程的正弦波看输出频谱中信号功率与噪声功率的比值。但这里有个坑手册上的SNR通常是在特定输入频率和采样率下测的你的实际应用条件可能完全不同。比如一颗ADC在1 kSPS采样率下SNR是110 dB但你把采样率提到100 kSPSSNR可能掉到95 dB。原因很简单采样率越高ADC内部开关电容电路的电荷注入噪声和时钟抖动的影响就越大。所以看SNR的时候一定要看清楚测试条件特别是采样率和输入频率这两个参数。除了SNR还要关注噪声底Noise Floor和噪声密度Noise Density。噪声密度通常以nV/√Hz为单位这个参数在低频高精度应用中特别重要。因为你的信号带宽越窄总噪声就越低。比如一颗ADC的噪声密度是10 nV/√Hz你的信号带宽是10 Hz那总噪声就是10 × √10 ≈ 31.6 nV RMS。这个数值直接决定了你能分辨的最小信号。在实际选型中我通常会做一个噪声预算表把ADC噪声、基准源噪声、前端放大器噪声、电阻热噪声全部列出来按RMS方式合成看总噪声是否满足系统要求。这个表看起来麻烦但能帮你避免“选了低噪声ADC却被基准源噪声卡死”的尴尬。2.3 积分非线性与微分非线性线性度决定测量准确度INL积分非线性和DNL微分非线性是衡量ADC线性度的两个关键参数。INL表示ADC实际转换曲线与理想直线的最大偏差通常以LSB为单位。DNL表示相邻代码之间步长的均匀性DNL超过±1 LSB就意味着可能出现失码。对于高精度测量应用INL比DNL更重要。因为INL直接影响你的绝对测量精度而DNL主要影响代码的单调性。一颗INL为±2 LSB的16位ADC在满量程5 V下的绝对误差就是2 × (5 V / 65536) ≈ 153 μV。如果你需要测量精度优于100 μV这颗ADC就不够格。这里有个经验法则INL误差应该小于你系统总误差预算的1/3。比如你的系统要求总误差小于0.01%那ADC的INL贡献应该小于0.003%换算成16位ADC就是约2 LSB。如果ADC的INL不满足这个要求你就需要考虑校准或者换更高精度的型号。需要注意的是INL通常有两种规格典型值和最大值。数据手册首页往往只写典型值看起来很美但最大值可能差好几倍。选型时一定要看最大值因为你要保证的是最坏情况下的性能。2.4 采样率与建立时间速度与精度的权衡高精度ADC的采样率通常不会太高因为高精度和高速本身就是一对矛盾。SAR型ADC在16到18位精度下采样率一般在1 MSPS以内ΔΣ型ADC在24位精度下采样率通常只有几十kSPS。如果你需要同时满足高精度和高速度那就得考虑流水线型或者多通道交织方案但成本和功耗会急剧上升。选型时要区分采样率和输出数据率。对于ΔΣ型ADC输出数据率通常远低于内部调制器采样率因为数字滤波器需要多个采样周期才能输出一个有效结果。比如一颗ΔΣ ADC的内部调制器跑在1 MHz但输出数据率只有10 kSPS那它的有效带宽就只有几kHz。另一个容易被忽略的参数是建立时间Settling Time。在多通道复用应用中ADC从一个通道切换到另一个通道后需要一定的建立时间才能输出有效数据。如果建立时间不够通道间就会产生串扰。选型时要确保ADC的建立时间小于你的通道切换间隔否则就得在软件上做延时或者丢弃前几个采样点。2.5 输入类型与共模电压范围别让前端电路白设计了ADC的输入类型主要分单端和差分两种。高精度应用几乎都选差分输入因为差分输入能有效抑制共模噪声和偶次谐波还能提高动态范围。但差分输入也意味着你的前端电路需要做单端转差分这会增加电路复杂度和噪声。共模电压范围是差分输入ADC的另一个关键参数。很多高精度ADC的输入共模电压不是随便设的而是固定在某个值比如VREF/2你的前端放大器必须输出符合这个共模范围的信号。如果前端放大器的输出共模电压跟ADC不匹配要么加电平转换电路要么换放大器都是麻烦事。我一般会在选型早期就把ADC的输入共模电压要求确定下来然后去找能匹配的放大器。如果找不到合适的就考虑用全差分放大器FDA或者变压器耦合方案。变压器耦合虽然能解决共模问题但低频响应差不适合直流或低频信号采集。2.6 基准源要求ADC的“尺子”必须比它更准ADC的转换结果本质上是输入电压与基准电压的比值。所以基准源的精度和稳定性直接决定了ADC的测量精度。一颗16位ADC配一个精度0.1%的基准源系统精度就被基准源限制在0.1%以内ADC本身的16位精度根本发挥不出来。基准源的关键参数包括初始精度、温度系数、长期漂移和噪声。初始精度可以通过校准消除但温度系数和长期漂移很难校准必须选好。对于高精度应用基准源的温度系数应该小于5 ppm/°C噪声应该小于10 μVpp0.1 Hz到10 Hz。这里有个常见误区很多人觉得基准源随便选个REF5025或者ADR4525就够了。但实际上不同批次、不同封装的基准源性能差异很大而且基准源的噪声在低频段往往被1/f噪声主导数据手册上的噪声指标通常是在特定带宽下测的不一定代表你的实际应用条件。我一般会在选定基准源后实际测一下它在目标带宽内的噪声确认满足要求再批量使用。3. 选型流程与实操方法从需求到型号的完整路径3.1 第一步明确系统精度需求和信号特性选型的第一步不是打开数据手册而是把你的系统需求写清楚。具体包括信号类型直流、低频交流、还是动态信号信号带宽是多少信号幅度范围满量程输入是多少最小需要分辨的信号变化是多少精度要求绝对精度还是相对精度允许的总误差是多少采样率要求需要多高的采样率是单通道还是多通道环境条件工作温度范围是否有强电磁干扰把这些需求列成一张表然后计算你需要的最小ENOB和最小SNR。比如你的信号满量程是10 mV需要分辨到1 μV那需要的动态范围是10 mV / 1 μV 10000取以2为底的对数约13.3位。考虑到噪声和误差余量你至少需要16位ENOB的ADC。3.2 第二步根据ENOB和采样率筛选ADC架构ADC架构决定了它的精度和速度上限。常见的高精度ADC架构有架构典型分辨率典型采样率优势劣势SAR12-18位100 kSPS-5 MSPS速度快、功耗低、无延迟高分辨率下功耗和成本上升ΔΣ16-32位10 SPS-1 MSPS分辨率高、噪声低速度慢、有延迟、需要数字滤波流水线12-16位10 MSPS-1 GSPS速度极快功耗高、成本高、精度中等对于高精度测量应用ΔΣ架构是首选因为它在低频段能提供极高的分辨率和极低的噪声。如果你的信号带宽在几十kHz以内ΔΣ ADC基本是最优解。如果需要更高的采样率比如几百kSPS到几MSPS那就得考虑SAR架构但要注意SAR在高分辨率下的功耗和成本。3.3 第三步对比关键参数建立选型评分表筛选出几款候选ADC后不要只看价格和分辨率要建立一个加权评分表把关键参数按重要性排序。我通常用的评分维度包括ENOB/SNR权重最高直接决定精度INL/DNL影响绝对测量精度输入类型和共模范围决定前端电路复杂度基准源要求影响系统成本和精度功耗电池供电应用要重点考虑封装和引脚影响PCB布局和散热价格和供货量产要考虑的因素每个维度按1到5分打分然后加权求和。这个方法看起来简单但能帮你避免“被某个亮眼参数吸引而忽略整体平衡”的问题。3.4 第四步评估外围电路成本和设计难度ADC选型不只是选ADC本身还要考虑外围电路的成本和设计难度。有些ADC虽然参数漂亮但需要复杂的前端驱动电路、高精度基准源、多路电源轨整体方案成本和设计周期可能远超预期。比如一颗差分输入ADC需要全差分放大器做前端而全差分放大器的噪声和失真会直接影响系统精度。如果放大器的噪声密度是5 nV/√Hz而ADC的噪声密度是10 nV/√Hz那系统总噪声就是√(5² 10²) ≈ 11.2 nV/√Hz比ADC单独使用时只差了12%。但如果放大器的噪声密度是20 nV/√Hz系统总噪声就变成22.4 nV/√Hz直接翻倍ADC的高精度就被浪费了。所以选型时要同步考虑前端放大器的选型确保放大器的噪声和失真不会成为系统瓶颈。我一般会要求放大器的噪声密度小于ADC噪声密度的1/2这样放大器对总噪声的贡献小于12%。3.5 第五步用评估板实测别只看手册数据手册上的参数都是在理想条件下测的实际电路中的性能往往有差距。所以选型的最后一步一定是用评估板实测。评估板的好处是厂商已经帮你做好了基准源、电源滤波和输入驱动你可以快速验证ADC的真实性能。实测时重点看几个指标实际ENOB用正弦波输入做FFT分析看SNR和ENOB是否接近手册值噪声底输入端短路看输出代码的跳动范围计算RMS噪声线性度扫描输入电压看INL和DNL是否满足要求温度漂移在不同温度下测试看精度是否稳定如果评估板实测结果跟手册差距很大先检查测试条件是否匹配比如基准源质量、输入信号纯度、电源噪声等。如果确认是ADC本身的问题那就果断换型号。4. 外围电路设计要点ADC性能的“最后一公里”4.1 基准源电路噪声和稳定性的双重考验基准源是ADC系统的“尺子”它的性能直接决定测量精度。设计基准源电路时要注意以下几点第一基准源的噪声要低。基准源噪声会直接调制到ADC输出上而且无法通过后续滤波消除。对于高精度应用基准源噪声应该小于ADC噪声的1/3。比如ADC的噪声密度是10 nV/√Hz基准源噪声密度应该小于3 nV/√Hz。第二基准源的输出要加滤波。基准源输出通常需要加RC低通滤波截止频率根据你的信号带宽来定。比如信号带宽是10 Hz基准源滤波截止频率可以设在1 Hz左右用10 μF电容和10 kΩ电阻就能实现。但要注意电容的漏电流和介质吸收效应最好用低漏电的钽电容或者薄膜电容。第三基准源的负载调整率要够。ADC的基准输入端会有动态电流需求特别是在转换过程中。如果基准源的负载调整率不好基准电压就会波动影响转换精度。所以基准源输出端要加足够的去耦电容通常建议10 μF到100 μF。4.2 输入驱动电路噪声、带宽和共模的三角平衡输入驱动电路的设计是高精度ADC应用中最容易出问题的环节。核心矛盾是低噪声、高带宽、合适的共模电压三者往往不能同时满足。对于差分输入ADC我通常推荐用全差分放大器FDA做前端。FDA能同时提供差分输出和共模电平控制电路简洁。但选FDA时要注意它的噪声密度、增益带宽积和输出共模范围。如果信号是单端的可以用单端转差分放大器或者变压器耦合。变压器耦合的噪声极低但低频响应差不适合直流信号。单端转差分放大器电路简单但要注意电阻匹配否则会引入偶次谐波失真。输入端的RC滤波也很关键。ADC的开关电容输入会产生电荷注入噪声需要在输入端加RC滤波来吸收。RC截止频率通常设在ADC采样频率的1/10到1/2之间。电阻值不能太大否则会引入热噪声电容值不能太小否则滤波效果不够。我一般用100 Ω电阻和1 nF电容截止频率约1.6 MHz对大多数高精度ADC都适用。4.3 电源与接地噪声控制的根基高精度ADC对电源噪声极其敏感。电源纹波会直接调制到ADC输出上特别是对于没有高PSRR的ADC。所以电源设计要格外小心。第一模拟电源和数字电源要分开。模拟电源给ADC的模拟部分供电数字电源给数字接口供电。两者之间用磁珠或者电感隔离避免数字噪声串到模拟部分。第二LDO的噪声要低。普通LDO的噪声可能在几十μV RMS对于高精度ADC来说太大了。要选低噪声LDO噪声密度小于10 nV/√Hz。如果LDO噪声还是不够低可以在LDO后面加一级RC滤波或者有源滤波。第三接地要干净。高精度ADC的接地策略是模拟地和数字地分开单点连接。模拟地要大面积铺铜减少地阻抗。数字地要远离模拟地避免数字回流路径经过模拟区域。ADC的裸露焊盘如果有要接到模拟地帮助散热和降低噪声。4.4 PCB布局细节决定成败PCB布局对高精度ADC的性能影响巨大很多“ADC性能不达标”的问题最后都追溯到布局不当。以下是我总结的几条关键原则ADC尽量靠近基准源和输入连接器减少走线长度和噪声耦合基准源走线要加屏蔽两侧用地线包围避免被数字信号干扰输入走线要对称差分对走线等长、等宽、紧耦合电源走线要宽减少阻抗和压降时钟走线要远离模拟走线避免时钟噪声耦合到模拟部分ADC下方不要走数字信号线避免通过寄生电容耦合噪声这些原则看起来简单但实际布局时很容易被忽略。我建议在布局完成后用信号完整性仿真工具检查一下关键网络的噪声耦合情况特别是基准源和输入网络。5. 常见问题与排查技巧实录5.1 噪声太大ENOB远低于手册值这是高精度ADC应用中最常见的问题。排查思路如下第一步确认测试条件。检查输入信号是否纯净基准源噪声是否足够低电源纹波是否在允许范围内。很多时候问题不在ADC本身而在测试环境。第二步检查输入驱动电路。放大器的噪声是否过大RC滤波是否合适共模电压是否匹配我遇到过好几次是因为放大器噪声密度太高把ADC的噪声底抬高了。第三步检查PCB布局。基准源走线是否被数字信号干扰输入走线是否对称地平面是否完整用示波器探头靠近ADC输入引脚看是否有明显的数字噪声耦合。第四步检查时钟质量。时钟抖动会直接转化为采样噪声。用相位噪声分析仪测一下时钟的抖动确保满足ADC要求。如果时钟抖动太大考虑换低抖动时钟源或者加时钟滤波器。5.2 通道间串扰严重多通道ADC应用中通道间串扰是另一个常见问题。原因通常是建立时间不够或者多路复用器隔离度不足。解决方法增加通道切换后的延时丢弃前几个采样点或者选择建立时间更短的ADC或者在多路复用器输出端加缓冲放大器减少通道间的负载效应。5.3 温漂导致精度下降高精度ADC系统的温漂通常来自基准源和前端电阻。基准源的温度系数要小于5 ppm/°C电阻要用低温漂的金属膜电阻或者箔电阻。如果温漂还是太大可以考虑在软件上做温度校准用温度传感器监测环境温度查表补偿。5.4 常见问题速查表问题现象可能原因排查方法解决方案ENOB远低于手册值电源噪声大测电源纹波加LDO和RC滤波ENOB远低于手册值基准源噪声大测基准源噪声换低噪声基准源ENOB远低于手册值输入驱动噪声大测放大器噪声换低噪声放大器通道间串扰建立时间不够增加切换延时丢弃前几个采样点温漂大基准源温漂大测不同温度下基准电压换低温漂基准源温漂大电阻温漂大测不同温度下电阻值换低温漂电阻代码跳动大时钟抖动大测时钟相位噪声换低抖动时钟源代码跳动大地平面不完整检查PCB布局优化地平面设计5.5 几个容易被忽略的实操心得心得一ADC的输入阻抗不是无穷大。很多SAR ADC的输入阻抗在采样阶段会降到几kΩ甚至更低如果前端驱动电路的输出阻抗太高就会导致采样误差。所以要在ADC输入端加缓冲放大器或者选择输入阻抗更高的ADC。心得二基准源的去耦电容不是越大越好。太大的去耦电容会导致基准源在上电时充电电流过大可能触发过流保护。而且大电容的介质吸收效应会导致基准电压恢复缓慢。我一般用10 μF钽电容并联100 nF陶瓷电容兼顾低频和高频去耦。心得三ADC的数字接口也会引入噪声。SPI或I2C的时钟和数据线会辐射噪声如果走线靠近模拟部分就会耦合到ADC输出上。所以数字接口走线要远离模拟区域必要时加屏蔽或者串联电阻。心得四评估板的布局不一定适合你的应用。评估板通常为了测试方便布局比较宽松而你的实际产品可能空间受限。所以评估板验证通过后还要在真实PCB上重新验证性能不能直接照搬。心得五ADC的校准不是一劳永逸的。高精度ADC的偏移和增益会随温度和时间漂移需要定期校准。如果系统要求长期稳定性最好设计自动校准电路用高精度基准源定期校准ADC。6. 从选型到量产的完整检查清单6.1 选型阶段检查项在确定ADC型号之前逐项确认以下内容ENOB是否满足系统最小分辨率要求并留有2到3位余量SNR和噪声密度是否在目标带宽内满足要求INL和DNL最大值是否在误差预算内输入类型和共模电压范围是否与前端电路匹配基准源要求是否明确能否找到满足要求的基准源采样率和建立时间是否满足多通道切换需求功耗是否在系统预算内封装和引脚是否适合PCB布局价格和供货是否适合量产6.2 设计阶段检查项在PCB投板之前逐项确认以下内容基准源电路是否加了足够的去耦和滤波输入驱动电路是否满足噪声、带宽和共模要求电源是否分模拟和数字是否加了低噪声LDO接地是否模拟地和数字地分开单点连接PCB布局是否遵循了高精度ADC的布局原则时钟源是否满足抖动要求数字接口走线是否远离模拟区域6.3 调试阶段检查项在系统调试时逐项确认以下内容实际ENOB是否接近手册值噪声底是否在预期范围内通道间串扰是否可接受温漂是否在允许范围内长期稳定性是否满足要求校准流程是否有效这份清单看起来长但每一条都是实际项目中踩过坑总结出来的。我建议在项目每个阶段都拿出来对照检查能帮你避免大部分常见问题。高精度ADC硬件电路设计选型这件事说到底就是在精度、速度、功耗、成本之间找到最佳平衡点。没有哪颗ADC是万能的关键是搞清楚你的系统真正需要什么然后围绕这个需求去选型、设计、验证。我个人的经验是选型阶段多花一天时间做需求分析和参数对比调试阶段就能少花一周时间排查问题。这个投入产出比怎么算都划算。
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进