ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

高精度ADC选型实战:从分辨率、信噪比到基准源的误差预算与参数计算

高精度ADC选型实战:从分辨率、信噪比到基准源的误差预算与参数计算 高精度ADC选型这件事说简单也简单说复杂能让人掉不少头发。我见过太多项目在ADC选型上翻车——有的是分辨率选高了成本失控有的是信噪比没算够导致采样数据全是毛刺还有的是忽略了输入驱动电路前端运放选错了后面怎么调都出不来精度。这篇内容就把我在实际项目中反复验证过的选型思路和参数计算方法完整梳理一遍从分辨率、信噪比、采样率、输入架构到基准源和前端驱动每个参数都讲清楚它到底影响什么、怎么算、怎么权衡。不管你是刚接触硬件设计的新手还是做过几轮项目但总在精度上卡壳的工程师应该都能从中找到可以直接用的东西。1. 先搞清楚精度到底卡在哪一环很多人一上来就问“选多少位的ADC”这个问题本身就问错了。精度是一个系统级指标ADC只是其中一环。你的信号链里还有传感器、前端调理电路、基准源、PCB布局、电源噪声任何一个环节拖后腿ADC选再高精度也是白搭。所以在打开选型手册之前先把整个信号链的误差预算算一遍搞清楚哪一环是瓶颈。1.1 精度不等于分辨率这是两码事分辨率是ADC输出代码的位数比如16位、24位它只代表你能把满量程分成多少份。精度是测量结果和真实值之间的接近程度包含偏移误差、增益误差、非线性误差、噪声等一堆因素。一个16位ADC的有效位数可能只有14位甚至更低剩下的两位被噪声吃掉了。我通常用一个简单的类比来解释分辨率就像一把尺子上的刻度线数量精度是这把尺子本身准不准。刻度再密尺子本身是歪的量出来的东西也不对。所以在选型时有效位数ENOB比标称分辨率更有参考价值。ENOB可以通过信噪比反推ENOB (SNR - 1.76) / 6.02。比如一颗ADC标称SNR是90dB那它的ENOB大约是14.7位虽然它可能是16位甚至18位的器件。1.2 误差预算怎么分配才合理假设你要做一个温度采集系统要求整体精度达到0.1摄氏度传感器输出范围是0到100摄氏度对应0到2.5V。那你的总误差预算就是0.1/100 0.1%满量程。这0.1%要分给传感器本身、前端调理、ADC、基准源、PCB噪声等所有环节。我的经验分配比例是这样的传感器和前端调理占40%到50%ADC占20%到30%基准源占15%到20%PCB和电源噪声占10%到15%。这个比例不是死的但核心思路是——不要把大部分误差预算压在ADC上因为ADC前面的环节往往更难控制。如果你发现前端调理的误差已经吃掉了大半预算那ADC选再好的也没用得先解决前端的问题。具体到计算假设ADC分配到的误差预算是0.03%满量程那对应到16位ADC满量程65536个码允许的误差大约是20个码。这个数字可以用来反推ADC的INL、DNL和噪声要求。如果ADC的INL标称是正负4LSB那它本身就吃掉了8个码的误差留给噪声的余量就不多了。1.3 什么时候该用高精度ADC什么时候不该不是所有场景都需要高精度ADC。如果你的信号本身噪声就很大比如电机电流采样信号上叠加了几十毫伏的开关噪声那用24位ADC就是浪费。这时候12位或16位、采样率够用、抗混叠设计做好反而更实际。我判断的标准很简单如果信号的有效动态范围小于ADC的ENOB对应的动态范围那就降规格。比如你的信号经过前端调理后有效动态范围只有60dB那ENOB大约10位就够了选12位ADC留点余量正好。选16位以上纯属浪费成本和设计精力。反过来如果是应变片、热电偶、光电二极管这类输出信号微弱、动态范围大的场景那高精度ADC就是刚需。这时候不仅要选高分辨率还要重点关注噪声性能和输入架构。2. 信噪比和有效位数选型时最容易被忽悠的参数信噪比SNR是ADC选型里最核心的参数之一但也是最容易被数据手册“美化”的参数。很多手册标的是典型值测试条件写得含糊实际用起来差距不小。这一章就讲清楚SNR到底怎么看、怎么算、怎么和你的信号匹配。2.1 SNR、SINAD和ENOB的关系SNR是信号功率和噪声功率的比值只考虑噪声不考虑谐波失真。SINAD是信号功率和所有其他频率分量包括噪声和谐波的比值更接近实际使用情况。ENOB从SINAD反推更准确ENOB (SINAD - 1.76) / 6.02。举个例子一颗24位ADC在数据手册里标称SNR是105dBSINAD是100dB。那它的ENOB (100 - 1.76) / 6.02 ≈ 16.3位。也就是说虽然它是24位器件但实际有效精度只有16位左右。剩下的8位被噪声和失真吃掉了。这不是说24位没用而是说你在做误差预算时要用ENOB而不是标称分辨率。我通常会在选型时留一个余量如果系统要求ENOB是14位那我会选SINAD对应ENOB在16位以上的ADC。这样即使在实际电路中SNR有2到3dB的恶化也能满足要求。2.2 噪声密度比总SNR更值得关注数据手册里的SNR通常是在特定输入频率和采样率下测的比如1kHz输入、10kSPS采样率。但你的实际信号频率可能完全不同。这时候噪声密度单位nV/√Hz或μV/√Hz比总SNR更有参考价值。噪声密度乘以√BW带宽就是总噪声RMS值。比如一颗ADC的噪声密度是10nV/√Hz你的信号带宽是1kHz那总噪声RMS 10nV × √1000 ≈ 316nV。如果满量程是2.5V那噪声对应的码数就是316nV / (2.5V / 65536) ≈ 8.3个码。这个数字直接告诉你ADC噪声对精度的影响。我习惯在选型时把噪声密度和信号带宽乘一遍算出实际噪声RMS再和误差预算对比。如果噪声吃掉的码数超过预算的30%那就要考虑换更低噪声的ADC或者降低信号带宽。2.3 信噪比和采样率之间的取舍高采样率通常意味着更高的噪声带宽SNR会下降。很多ADC在低采样率下SNR很好一旦采样率拉高SNR就掉得厉害。这是因为采样率越高内部开关电容电路的噪声带宽越大热噪声和开关噪声都上来了。选型时要看清楚手册里的SNR是在什么采样率下测的。如果手册标称SNR是100dB 10kSPS但你的应用需要100kSPS那实际SNR可能只有90dB甚至更低。这时候要么选一款在高采样率下SNR仍然够用的ADC要么用过采样加数字滤波来换精度。过采样是个很实用的技巧采样率提高4倍SNR改善6dBENOB提高1位。比如你用一颗16位ADC采样率提高到4倍再做数字平均等效ENOB可以到17位。但前提是ADC的噪声主要是白噪声如果是1/f噪声或者谐波失真过采样效果就打折扣。3. 采样率和输入架构匹配信号特性才是关键采样率选高了浪费功耗和成本选低了信号混叠。输入架构选错了前端驱动电路怎么调都不对。这一章讲采样率和输入架构的选型逻辑以及不同架构的适用场景。3.1 采样率不是越高越好够用就行采样率的下限由奈奎斯特定理决定采样率至少是信号最高频率的2倍。但实际工程中我通常建议至少4到5倍留出足够的余量给抗混叠滤波器。抗混叠滤波器需要一定的过渡带如果采样率只是信号频率的2倍那滤波器的过渡带要求就非常陡峭高阶滤波器带来的相位失真和噪声可能比混叠本身更麻烦。举个例子信号最高频率是10kHz如果采样率选20kSPS那抗混叠滤波器需要在10kHz处就开始衰减过渡带极窄至少需要6阶以上的滤波器。如果采样率选50kSPS那滤波器可以在10kHz到25kHz之间有15kHz的过渡带4阶滤波器就够了。设计难度和成本都降下来了。采样率的上限则由功耗、接口速度和后端处理能力决定。高采样率意味着更多的数据量SPI接口速度、MCU的处理能力、存储空间都要跟上。我见过一个项目选了1MSPS的ADC结果MCU的SPI接口跑不到那么快最后只能降速使用白白浪费了ADC的性能。3.2 SAR、Delta-Sigma和流水线架构怎么选这三种架构各有各的适用场景选错了不是不能用而是性价比不对。SAR逐次逼近型是最常见的架构分辨率通常在8到18位采样率从几十kSPS到几MSPS。它的优点是低功耗、无延迟、多路复用方便。缺点是分辨率越高内部电容阵列匹配难度越大成本上升快。适合中高分辨率、中高采样率、多通道扫描的场景比如数据采集卡、工业控制。Delta-SigmaΔΣ架构分辨率高常见16到24位甚至32位但采样率通常较低几十SPS到几百kSPS。它通过过采样和噪声整形把量化噪声推到高频再用数字滤波器滤掉所以低频段噪声极低。缺点是群延迟大不适合需要快速响应的闭环控制。适合高精度、低带宽的场景比如称重、温度、压力、音频。流水线Pipeline架构采样率最高从几MSPS到几GSPS分辨率通常在8到16位。它通过多级流水线并行转换实现高速但功耗和成本都高而且有延迟。适合高速信号采集比如通信、雷达、高速数据采集。我通常的选型逻辑是先看信号带宽如果带宽低于10kHz且需要高精度优先考虑Delta-Sigma如果带宽在10kHz到1MHz之间SAR是首选如果带宽超过1MHz那就得看流水线架构了。3.3 单端、差分和全差分输入的选择单端输入最简单但抗共模干扰能力差适合信号源和ADC共地、噪声环境好的场景。差分输入抗共模干扰能力强适合长线传输、工业环境。全差分输入在差分基础上进一步抑制偶次谐波适合高精度、低失真的场景。我一般建议如果信号源离ADC超过几厘米或者环境有电机、继电器等干扰源优先选差分输入。如果信号源就在ADC旁边而且噪声环境干净单端也能用。全差分输入通常需要额外的差分驱动运放成本和设计复杂度都高但精度和失真性能最好。差分输入的另一个好处是可以用两颗电阻分压来设置共模电压把信号偏置到ADC输入范围的中点。这样即使信号是双极性的也能用单电源ADC采集。4. 基准源和前端驱动精度落地的最后一公里ADC选好了基准源和前端驱动没跟上精度照样出不来。这两块是实际项目中最容易翻车的地方也是数据手册里不会详细教你的部分。4.1 基准源的初始精度和温漂怎么算ADC的转换结果本质上是输入电压和基准电压的比值。基准源的任何误差都会直接反映在转换结果里。基准源的初始精度影响增益误差温漂影响全温度范围内的精度稳定性。假设你的系统工作温度范围是-40到85摄氏度要求全温范围内精度优于0.05%。如果基准源的温漂是10ppm/摄氏度那125摄氏度的温度变化带来的漂移是10 × 125 1250ppm 0.125%。这已经超过了0.05%的预算说明这颗基准源不合格。你需要选温漂在3ppm/摄氏度以下的基准源3 × 125 375ppm 0.0375%留出余量给其他环节。初始精度可以通过校准消除但温漂很难校准除非你有温度传感器做实时补偿。所以选型时温漂比初始精度更重要。我通常优先选温漂低于5ppm/摄氏度的基准源初始精度可以放宽到0.1%以内靠产线校准解决。基准源的噪声也要关注。低频噪声0.1到10Hz会影响低速高精度采集宽带噪声会影响高速采集。基准源噪声直接叠加在ADC输出上和ADC自身噪声是平方和的关系。如果基准源噪声是ADC噪声的一半那总噪声增加约12%。选型时尽量让基准源噪声小于ADC噪声的1/3。4.2 前端驱动运放的选型要点ADC的输入不是理想的高阻抗尤其是SAR ADC采样瞬间会有电荷注入输入阻抗会跳变。如果前端驱动运放的建立时间不够快采样保持电容上的电压还没稳定就被采样了结果就是精度下降。选驱动运放时建立时间和压摆率是两个关键参数。建立时间要小于ADC采样时间的一半压摆率要满足SR 2π × f × Vpp其中f是信号最高频率Vpp是信号峰峰值。比如信号是10kHz、2V峰峰值那SR 2π × 10000 × 2 ≈ 125V/μs。这个要求不低很多通用运放达不到。另外运放的噪声也要考虑。运放噪声和ADC噪声是平方和关系如果运放噪声是ADC噪声的1/2总噪声增加约12%。如果运放噪声和ADC噪声相当总噪声增加约41%。所以运放噪声最好控制在ADC噪声的1/3以内。还有一点容易被忽略运放的输出阻抗和ADC输入阻抗形成分压会带来增益误差。如果运放输出阻抗是10欧姆ADC输入阻抗是1k欧姆那增益误差约1%。这个误差可以通过校准消除但如果输出阻抗随温度变化校准也救不了。所以尽量选输出阻抗低、温度稳定性好的运放。4.3 抗混叠滤波器的设计取舍抗混叠滤波器的作用是滤掉高于奈奎斯特频率的信号防止混叠。但滤波器本身会引入噪声、相位失真和建立时间。设计时要在滤波效果和信号保真之间找平衡。我通常用一阶或二阶RC滤波器截止频率设在信号最高频率的1.5到2倍采样率的1/2以下。比如信号最高10kHz采样率50kSPS那截止频率可以设在15到20kHz。这样在25kHz奈奎斯特频率处已经有明显衰减同时通带内的相位失真和噪声都在可接受范围。如果信号动态范围大、混叠要求严格那就需要更高阶的滤波器。但高阶滤波器会带来更大的群延迟和更多的噪声增益设计时要仔细仿真。我一般用LTspice或Tina-TI做仿真把滤波器的噪声、频响、群延迟都看一遍确认没有意外再投板。5. 实际选型中容易踩的坑和验证方法前面讲了参数怎么算、怎么选这一章讲实际项目中容易踩的坑以及怎么在投板前验证选型是否合理。5.1 数据手册里的“典型值”陷阱数据手册里的参数通常标的是典型值测试条件往往是最优情况。比如SNR标称值是在25摄氏度、特定输入频率、特定采样率下测的。实际电路中温度变化、电源噪声、PCB布局都会让性能下降。我的做法是用最差情况做设计用典型值做参考。比如手册标称SNR是90dB我会按85dB来算误差预算。如果85dB能满足要求那实际做出来大概率没问题。如果按90dB算刚好满足那实际做出来很可能不够。另外手册里的参数测试条件要看清楚。有些ADC的SNR是在差分输入、外部基准、特定滤波条件下测的。如果你的电路是单端输入、内部基准、没有滤波那实际SNR可能比手册低10dB以上。5.2 电源噪声对ADC精度的影响电源噪声是ADC精度的一大杀手尤其是高分辨率ADC。电源上的纹波和开关噪声会通过ADC的内部电路耦合到输出表现为输出码的跳动。我通常会在ADC的电源引脚旁边放一颗10μF的钽电容和一颗0.1μF的陶瓷电容钽电容负责低频滤波陶瓷电容负责高频滤波。如果ADC有独立的模拟电源引脚一定要和数字电源分开供电用磁珠或电感隔离。基准源的电源更要干净最好用LDO单独供电前面再加一级RC滤波。如果电源噪声还是大可以考虑用电池供电做测试排除电源干扰后再逐步接入系统电源定位噪声来源。这个方法我在多个项目里用过很有效。5.3 从评估板到实际电路的性能落差很多ADC厂商提供评估板评估板上的性能通常很好因为布局经过优化、电源干净、基准源是顶级的。但你把同样的ADC放到自己的电路上性能可能差很多。这不是ADC的问题是电路设计的问题。从评估板到实际电路我建议重点检查这几个方面ADC的模拟输入走线是否远离数字信号线基准源是否靠近ADC放置电源去耦是否到位接地是否合理。尤其是接地高精度ADC通常建议用模拟地和数字地分开在ADC下方单点连接。如果地平面处理不好数字回流会污染模拟信号。我一般会在投板前用ADC厂商提供的仿真工具或参考设计做对比确认自己的电路和参考设计的差异在可接受范围内。如果差异大就逐项排查直到找到原因。5.4 用简单测试验证选型是否合理投板前如果条件允许可以用评估板做几个简单测试来验证选型。比如短接ADC输入到基准源采集一批数据看输出码的跳动范围。这个跳动范围就是ADC的噪声加电源噪声加基准噪声的综合体现。如果跳动范围在误差预算内那选型基本没问题。还可以输入一个已知的直流信号看ADC输出码的平均值是否接近理论值。如果偏差大说明有增益误差或偏移误差需要校准。如果跳动大说明噪声超标需要优化电源或前端。这些测试不需要复杂的设备一台可调电源、一个万用表、一个MCU开发板就能做。我通常在选型阶段就会做这些测试避免投板后才发现问题。6. 几个典型场景的选型思路不同应用场景对ADC的要求差异很大这一章用几个典型场景说明选型思路方便你对照自己的项目做参考。6.1 工业温度采集24位Delta-Sigma是标配工业温度采集通常用热电偶或RTD输出信号微弱热电偶输出是毫伏级动态范围大但信号带宽很低温度变化慢。这种场景下24位Delta-Sigma ADC是首选采样率几十SPS就够重点看噪声密度和输入架构。选型时重点关注噪声密度通常要求在几十nV/√Hz以下、输入架构差分输入抗干扰、内置PGA可编程增益放大器用来放大微弱信号、基准源温漂。我通常选内置PGA和基准源的Delta-Sigma ADC简化电路设计减少外部元件带来的误差。6.2 电机电流采样12到16位SAR采样率要够电机电流采样需要同步采集多相电流信号带宽取决于PWM频率和电流纹波。通常采样率要求在几百kSPS到几MSPS分辨率12到16位。SAR架构因为无延迟、多路复用方便是首选。选型时重点关注采样率要能覆盖PWM周期内的关键采样点、输入架构差分输入抑制共模噪声、建立时间配合前端运放。电机环境噪声大前端运放的共模抑制比和电源抑制比要够高否则电流采样精度上不去。6.3 音频采集24位Delta-Sigma关注动态范围和THD音频采集要求高动态范围通常100dB以上和低总谐波失真THD。24位Delta-Sigma ADC是标准配置采样率44.1kSPS到192kSPS。选型时重点关注动态范围、THDN、输入架构差分或全差分。音频ADC通常内置抗混叠滤波器和数字滤波器外部电路简单。但要注意时钟抖动对THD的影响时钟抖动会导致采样时刻不确定引入失真。音频ADC的时钟源要用低抖动的晶振或专用时钟芯片。6.4 便携式医疗设备低功耗和高精度要兼顾便携式医疗设备比如心率监测、血氧仪要求低功耗和高精度。信号带宽通常不高几百Hz到几kHz分辨率16到24位。Delta-Sigma ADC因为低功耗和高分辨率是常见选择。选型时重点关注功耗通常要求在毫瓦级、噪声密度、输入架构差分输入抑制共模干扰、封装尺寸。有些Delta-Sigma ADC支持单次转换模式转换完自动进入休眠进一步降低功耗。这种模式很适合便携设备。7. 选型检查清单和实操建议最后整理一份选型检查清单以及一些实操建议方便你在实际项目中对照使用。7.1 选型前必须确认的五个问题在打开选型手册之前先回答这五个问题信号带宽是多少这决定了采样率的下限和架构选择。信号动态范围是多少这决定了ENOB要求。误差预算怎么分配ADC分到多少误差预算环境噪声和温度范围如何这决定了基准源和前端驱动的规格。功耗、成本、封装有没有硬性限制这决定了可选范围。这五个问题回答清楚了选型范围就缩小了大半。剩下的就是对比几款候选器件的具体参数做误差预算验证。7.2 参数对比表格怎么做才有用对比候选器件时不要只列手册上的标称值要列实际工作条件下的值。比如SNR要列你实际采样率和输入频率下的值噪声密度要列你信号带宽下的RMS噪声基准源温漂要列你温度范围内的总漂移。我通常做一个表格行是候选器件列是分辨率、ENOB实际条件下、噪声RMS、采样率、输入架构、基准源温漂、功耗、封装、价格。然后按误差预算逐项打分选出最合适的。7.3 投板前的仿真和测试建议投板前如果有条件用ADC厂商的评估板做几个关键测试噪声测试短接输入采集数据、线性度测试输入斜坡信号看输出码的线性度、温漂测试用热风枪或温箱改变温度看输出变化。这些测试能提前暴露大部分问题。如果没有评估板至少用仿真工具把前端驱动电路和抗混叠滤波器仿真一遍确认建立时间、噪声、频响都满足要求。仿真不能替代实测但能排除明显的设计错误。7.4 几个我踩过的坑第一个坑忽略ADC输入电容对前端运放的影响。SAR ADC的输入电容在采样瞬间会从运放抽取电荷如果运放输出阻抗高电压会瞬间跌落采样精度下降。解决办法是在运放和ADC之间加一颗小电阻10到50欧姆和一颗小电容100pF到1nF形成RC网络帮助运放稳定。第二个坑基准源和ADC之间的走线太长。基准源走线长会引入电感和电阻影响基准电压的稳定性和噪声。解决办法是把基准源尽量靠近ADC放置走线短而粗旁边加去耦电容。第三个坑忽略数字接口的噪声耦合。SPI时钟线如果离模拟输入线太近时钟噪声会耦合到模拟信号上。解决办法是模拟走线和数字走线分开必要时用地线隔离。第四个坑用内部基准源做高精度采集。内部基准源通常温漂和噪声都比外部基准源差高精度场景一定要用外部基准源。如果ADC有内部基准可以先用内部基准做初步测试最终产品换成外部基准。这些坑我在不同项目里都踩过每次都是投板后才发现改板成本很高。希望你在选型阶段就把这些问题考虑进去少走弯路。选型这件事没有标准答案关键是搞清楚自己的需求算清楚误差预算然后按预算去匹配器件。参数不是越高越好够用、稳定、成本合理才是目标。
返回列表