做高精度ADC硬件电路设计选型,我踩过最大的坑就是以为分辨率够高就等于精度够高。很多人拿到24-bit的ADC,觉得一定比16-bit准,结果板子一调出来,实际有效位数只有14位,甚至更低。这类问题多半不在ADC本身,而在选型时只盯着分辨率和采样率,忽略了ENOB、INL、基准源温漂、前端驱动能力这些真正决定精度的细节。
这篇内容适合正在做精密测量、工业采集、医疗仪器、传感器信号链的硬件工程师,也适合刚接触ADC选型、想把“选型”从看数据手册变成系统化思考的同行。我会从需求拆解开始,逐个讲清楚关键参数背后的物理意义,再给出一套能落地的硬件设计实操流程,最后用常见问题排查的方式把这些年遇到过的坑一次性说透。
1. 选型先拆需求:别急着挑芯片
1.1 你的系统到底需要多高精度
拿到一个项目,第一件事不是翻选型手册,而是把测量需求量化。输入信号的范围是多少,满量程电压是±10V、0~5V还是来自电桥的毫伏级差分信号?信号的最高频率分量是多少?你希望最终输出的分辨率达到多少,这个“分辨率”是指显示小数点后几位,还是要求真实测量误差不超过某个百分比?
举个例子,一个工业温度采集系统,用PT100测0~200℃,如果要求整机误差小于0.1℃,那么在整个信号链上允许的总误差大约是0.05%FS。PT100的信号变化约0.385Ω/℃,如果激励电流1mA,信号幅度变化约0.385mV/℃。0.1℃对应的是38.5μV的电压变化。这种量级下,ADC的噪声、基准漂移、前端失调任何一个环节出了问题,最后都体现成几度甚至十几度的测量偏差。
所以选型前要把“系统指标”逐级分配到“ADC指标”上。先列一个表:量程、最小可分辨信号、允许总误差、信号带宽、采样率、通道数、输出接口、供电条件、温度范围。这些条件没定下来,后面看参数都是空谈。
1.2 分辨率、精度和有效位数是三个概念
很多新人会把“位”当成精度的代名词,其实这是选型里最容易掉进去的坑。分辨率只代表ADC能分辨的最小量化台阶,比如16-bit ADC在0~5V量程下,一个LSB约等于76μV。但量化台阶小不代表测出来的值就准,如果芯片的输入失调是±2mV,那么低几位基本就在噪声里翻滚,是无效位。
精度关心的是测量值与真实值之间的偏差,包括增益误差、失调误差、非线性、噪声以及温度漂移。有效位数ENOB是把ADC实际能呈现的动态范围换算成“等效位数”,一个24-bit的Sigma-Delta ADC在10kHz带宽下实测SINAD只有90dB,那么ENOB大约是14.6bit,标称24bit在这个条件下没有实际意义。
所以选型时必须问自己:我要的是标称分辨率,还是有效分辨率?如果是做精密称重、热电偶测温、应变片采集这类系统,真正重要的是无噪声分辨率,而不是数据手册第一页那个最大的分辨率数字。
1.3 输入信号特性决定架构方向
信号带宽和采样率决定了要选SAR还是Sigma-Delta。如果被测信号是缓慢变化的直流或低频信号,比如温度、压力、电池电压,那Sigma-Delta架构凭借过采样和噪声整形,能在低速下做到极高分辨率,是首选。如果信号是几十kHz到几MHz的动态信号,比如振动、音频、瞬态捕获,SAR架构更容易做到高采样率,同时保持较好的精度。
还有一个常被忽略的点:信号源阻抗。高阻信号源如果直接接进ADC内部采样电容,采样建立时间不够就会产生误差。SAR ADC输入一般需要一个低阻抗驱动源,Sigma-Delta ADC虽然对输入阻抗的要求稍宽松,但片内调制器的动态输入电流同样不容小觑。后面我会专门讲前端运放怎么选,这里先记住一句话:ADC的数据手册指标都是在特定测试条件下测出来的,而那个测试条件往往带一个接近理想的信号源。
2. 决定“精度”的核心参数:别只看分辨率
2.1 ENOB:芯片标称里最容易误导人的数字
ENOB(Effective Number of Bits)由SINAD换算而来,公式是ENOB = (SINAD - 1.76) / 6.02。很多ADC手册会在第一页放一个很高的分辨率数字,但仔细看ENOB表格,可能标着“典型值”和“特定条件”。比如某些24-bit Sigma-Delta ADC,在2.5V参考电压、增益为1、数据输出速率20SPS时,ENOB能到20bit以上;可一旦把输出速率提高到1kSPS,ENOB可能掉到16bit。
我的建议是,把所有候选ADC的ENOB列在同一个输出速率/带宽条件下对比,而不是直接比位数。测量系统需要多少有效位,就按ENOB选芯片,标称位数只作为一个粗筛条件。这里还要注意数据手册ENOB测试用的输入频率,低频和高频下的ENOB差异很大,高频输入下SINAD下降、ENOB缩水是正常现象,你的应用如果需要采集高频信号,务必看该频点附近的动态指标。
2.2 INL/DNL:线性度才是精度的底线
INL(积分非线性)和DNL(微分非线性)直接描述ADC的传递曲线偏离理想直线的程度。INL影响的是整体测量准确度,比如一个16-bit ADC的INL为±2LSB,那么在满量程某些点上,误差比量化误差大一倍,校准后也不一定能完全消除,因为INL随输入电压呈非线性变化。DNL则描述相邻码字对应的模拟输入宽度是否均匀,如果DNL小于-1LSB,可能出现失码。
对高精度应用,INL和DNL的重要性甚至超过分辨率。比如做一个0~10V的直流电压采集卡,标称24-bit但INL达到±8LSB,那么在接近满量程区域,真实读数可能偏了将近40μV,这个误差在精密测量里不可接受。选型时,优先选INL小的架构,Sigma-Delta的线性度通常比同价位的SAR更好,但不是绝对,具体要看芯片设计。
2.3 SNR/THD/SINAD:动态指标的取舍
SNR代表信号与噪声之比,THD反映谐波失真,SINAD则是把噪声和失真一起算进去的综合指标。三者之间的关系是SINAD由SNR和THD共同决定,如果一个ADC的SNR很高但THD很差,那么在采集大信号时谐波会淹没小信号,整体动态性能反而不如SNR稍低但THD优秀的芯片。
我的筛选顺序是:优先看SINAD,因为它决定ENOB;再分拆看THD,如果你的系统会处理大幅度信号或者对谐波敏感(比如电能质量分析、音频测量),THD必须单独卡;最后才是SNR。还有一个容易忽略的参数是SFDR(无杂散动态范围),在频谱分析、振动检测这类应用里,SFDR决定了你能检测到的最大信号与最小干扰之间的动态范围,同样需要关注。
2.4 噪声密度与无噪声分辨率
高精度ADC的噪声可以分为量化噪声、热噪声和闪烁噪声。Sigma-Delta ADC通常会在手册中给出输出噪声RMS值,单位是μVrms,对应不同PGA增益和数据速率。把这个噪声换算成“无噪声分辨率”比看ENOB更直观:无噪声位数 = log2(满量程电压 / (2 × 噪声RMS)) 或 log2(满量程 / 峰峰值噪声)。
称重传感器输出信号常常只有几mV,如果ADC输入等效噪声是1μVrms,那么以增益128倍、满量程±5V参照,噪声折算到输入端大约0.0078μV,算下来无噪声分辨率相当可观。但如果选了一个输入噪声10μVrms的ADC,再好的24bit也白搭。所以选型表里一定要找到“Input-Referred Noise”这一栏,按你的增益和带宽条件查噪声值。
2.5 参考电压与温漂:很多人忽略的“隐形杀手”
ADC内部所有数字码都相对于参考电压产生,参考电压的温度系数直接成为ADC的增益温漂。一个温漂为10ppm/℃的基准,在温差50℃的工业环境里会产生500ppm(0.05%)的误差,对16bit系统来说相当于吃掉32个LSB。
选基准源时,要看初始精度、温漂、长期稳定性、噪声和负载调整率。常见选择有内部基准和外部基准两类。集成ADC的内部基准往往温漂一般,如果系统精度要求高,建议外部独立基准。高精度基准源比如ADR4525、REF5025、LT6655这类,温漂可以做到2ppm/℃甚至更低,价格也相应上去了。到底用不用外部基准,取决于整机精度预算,但我的经验是:只要目标系统需要16bit以上有效分辨率,外部基准基本是必须项。
3. 高精度ADC硬件电路设计的实操要点
3.1 前端驱动运放:ADC不是直接接传感器就完事
我刚入行时犯过一个低级错误:把电桥输出直接接到Sigma-Delta ADC输入端,以为芯片输入阻抗足够高就行,结果读数波动非常大。后来发现ADC的输入电容在采样阶段会突然抽取一个电流尖峰,如果信号源输出阻抗很高,这个电流没法及时补充,采样电压就会建立不足。
正确的思路是给ADC配一个低输出阻抗的驱动运放。SAR ADC的驱动运放要能提供足够的瞬态电流,并保证建立时间小于ADC采样周期;Sigma-Delta ADC虽然连续时间调制器居多,但片内开关电容网络同样会产生动态负载。驱动运放的带宽、压摆率、噪声、失调都要纳入考虑。
选运放时有一个常用经验:运放的带宽至少是信号最高频率的10倍以上,压摆率要满足满量程阶跃时的建立要求;噪声方面,运放的电压噪声密度折算到输入端要明显小于ADC的LSB噪声,否则前端会变成主要噪声源。对于低阻抗传感器(几百欧到几kΩ),可以考虑用低噪声精密运放如OPA2277、AD8628;对于高阻抗传感器,还要考虑输入偏置电流和噪声增益,必要时加一个T形反馈网络或使用差分放大器。
3.2 基准源电路:精度源头不能省
基准源的布局和去耦直接影响ADC的精度。我见过不少板子,基准芯片在角落里,走线绕了半块PCB,结果ADC的读数跟着数字噪声一起跳。基准源应该放在ADC参考输入引脚附近,走线尽量短粗,并在基准输出端放置去耦电容。
参考电压的噪声会被ADC直接采样进去,所以基准源输出噪声要足够低。而且基准源的负载能力也要关注,很多SAR ADC在转换过程中会从参考引脚抽取电流,如果基准源响应慢,参考电压会出现塌陷,导致转换结果出现周期性误差。这时候可以在参考引脚与基准源之间加一个低ESR的储能电容(比如10μF陶瓷电容并0.1μF高频电容),但要注意电容过大可能引发环路不稳定,具体值参考数据手册推荐。
3.3 电源去耦与布局:把噪声挡在门外
高精度ADC系统里,电源噪声对有效位数的影响经常被低估。数字电源和模拟电源、数字地和模拟地之间处理不好,噪声会通过电源引脚和衬底耦合进模拟通道。我的习惯是给ADC的模拟电源(AVDD)和数字电源(DVDD)分别用独立的LDO供电,至少在电源入口处做磁珠隔离。
每个电源引脚旁边都要有高频去耦电容,通常100nF和10μF搭配。更讲究的做法是在ADC下方做完整的模拟地平面,数字信号线不要穿越模拟地平面。对于同时有模拟地和数字地的系统,我会用单点连接方式,在ADC芯片附近用0Ω电阻或磁珠连接,避免地环路。这些细节看着不起眼,但对20bit以上的测量系统,往往是决定成败的地方。
3.4 抗混叠滤波与采样时钟:信号链的最后一公里
只要不是只测直流,就必须考虑抗混叠滤波器。Sigma-Delta ADC内部虽有数字滤波,但对输入端的带外噪声抑制能力有限,尤其是高频干扰可能通过调制器混叠到通带内。SAR ADC同样如此,如果没有RC低通滤波,高于奈奎斯特频率的噪声会直接混叠。
RC抗混叠滤波器的截止频率怎么定?我的经验是放在信号带宽的3~5倍,同时要保证相位滞后不影响测量。R值的选择也很关键,R太大会增加信号源阻抗,反而对ADC输入建立不利;R太小则滤波效果差。常见做法是R用几十欧到几百欧,C根据截止频率计算,同时C要选低介质吸收的类型,比如C0G电容,避免采样保持误差。
如果有外部采样时钟,比如SAR ADC提供了SCLK输入,时钟抖动会直接影响SNR。高精度采集系统里,晶振或时钟源的相位噪声要足够好。高速高精度ADC一般建议使用专用时钟芯片,而不是用MCU的PLL直接给。低速Sigma-Delta通常用内部时钟或低频晶振,这块压力小一些,但也别掉以轻心。
4. 常见ADC架构怎么选:SAR、Sigma-Delta还是流水线
4.1 SAR ADC:中高分辨率采样系统的首选
SAR(逐次逼近型)ADC的原理是用一个比较器和DAC逐位逼近输入信号。它结构简单、功耗低、采样率可以从几十kSPS到几MSPS,分辨率通常在12~18bit之间。SAR ADC的优点是输入电阻相对恒定,不同采样率下性能稳定,适合多通道同步采样系统,比如数据采集卡、电机电流采样、工业控制。
SAR选型要看的关键参数包括采样率、位深、INL、输入带宽和参考电压范围。另外一个容易忽略的参数是“吞吐量下采样电容的建立时间”,如果信号源驱动能力不足,高速SAR在最高采样率下ENOB会明显下降。所以选SAR时,我会顺手把推荐的RC滤波器参数和数据手册里的驱动运放型号看一遍,照着搭基本不会出问题。
4.2 Sigma-Delta ADC:高分辨率低速测量的王者
Sigma-Delta ADC用极低的分辨率量化器配合过采样和数字滤波,换取超高的有效分辨率。它的优势是线性度好、噪声整形能力强,常用于称重、温度、压力、应变等精密测量,分辨率可以做到16到24bit以上。
但Sigma-Delta ADC有个特性:数据输出速率越高,有效分辨率越低。原因是过采样率下降后,量化噪声整形优势变小。所以选Sigma-Delta时要同时给出“输出速率”和“有效分辨率”的要求。比如24bit ADC在10SPS时可以达到22bit无噪声分辨率,但在1kSPS时可能只有16bit。如果你的应用需要高速和分辨率兼得,要么选更高档的芯片,要么考虑用SAR并行方案。
4.3 流水线/其他架构:高速场景再看它
流水线ADC在每级完成粗量化后把余量传给下一级,适合高采样率(几十MSPS以上)和中高分辨率的应用,比如通信接收、示波器前端、视频处理。这类芯片动态性能好,但功耗和成本都比较高,而且对时钟和驱动要求严苛。
对一般的仪器仪表项目,流水线ADC并不常见。如果遇到“既要几十MHz采样率,又要16bit精度”的需求,直接冲击单一芯片往往不划算,可能需要先做模拟下变频或者分频带采集。这也是选型的一部分:有时候方案层面已经决定了ADC架构,而不是反过来说。
4.4 选型实例:从测量需求到芯片对照
假设需要做一个16bit、采样率200kSPS的多通道数据采集系统,输入范围0~5V,信号带宽100kHz,系统精度要求0.02%FS。这种情况下,Sigma-Delta在200kSPS下很难保持16bit有效位,SAR是更合适的选择。我会列出几个候选:ADS8866(16bit, 250kSPS)、AD7606B(16bit, 8通道, 500kSPS内置前端)、MAX11131。其中AD7606B集成了前端驱动和过压保护,硬件设计会省很多事。
再举一个例子:3位半台式万用表的直流电压测量,信号带宽只有几Hz,要求读数稳定、线性度好,这时Sigma-Delta是主力,比如ADS1256或ADS1263,配合外部基准和模拟前端,很容易做到20bit有效分辨率。选型表做好后,还要把“数据手册的典型电路”先照着搭一遍,再根据实测微调。
5. 选型落地:常用型号对比与替换思路
5.1 主流厂商高精度ADC型号盘点
高精度ADC领域,TI的ADS系列、ADI的AD7768/AD717x系列、Cirrus Logic的CS5532、Microchip的MCP3561等都很常见。Sigma-Delta方向,ADS1256是一款经典8通道24bit ADC,很多称重和温度采集项目都在用;ADS1263内部集成PGA、激励电流源和故障检测,适合传感器前端。ADI的AD7175-24更偏工业过程控制,速度快一点。SAR方向,TI的ADS8881、ADS8860和ADI的AD7689都属于18bit/16bit级别的优秀产品。
如果是多通道同步采样,AD7606B(16bit、8通道、内置驱动)和AD7768(24bit、8通道)是代表性方案。前者适合中高速同步采样,后者适合高精度宽动态范围同步采集,当然成本和功耗也高。选型时别只盯着性能,还要看供货、封装、价格梯度以及开发资源,一个冷门芯片再合适,缺货时也只能干瞪眼。
5.2 根据参数快速筛选的方法
我的筛选流程是先划一个大口径:根据信号带宽和采样率决定架构,是SAR还是Sigma-Delta。然后根据所需有效位数和分辨率,在厂家官网用参数搜索器过滤:ENOB/无噪声位数不低于目标,INL不超过预算,输入类型(单端/差分)匹配,接口(SPI/并行/I2C)匹配,供电电压匹配。
第三步是比较关键的非参数项:输入是否需要PGA,是否需要内置基准,是否需要故障诊断,是否支持多通道同步。这些功能如果外面自己搭,PCB面积和成本都会上升。最后再对比功耗和封装,比如便携设备需要小封装、低功耗,实验室仪器则无所谓。这样筛下来,通常只剩两三个型号,基本就可以申请样片做测试了。
5.3 封装、温度范围与供货稳定性
选型时还要把工作温度范围看清楚。很多高分辨率ADC分工业级和汽车级,温度等级影响价格和供货周期。如果项目只做常温消费类,选商用级就行;但搞工业现场仪表,例如户外变送器,-40℃~85℃温度范围是底线,这时就必须核实基准和运放在全温范围内的指标,而不仅仅是ADC本身。
封装散热和焊接难度也要考虑。高引脚密度封装如LQFP、BGA对PCB工艺有要求,小批量打样时容易出虚焊问题。相比之下,SSOP、TSSOP封装焊接起来更友好。另外,多源替代是选型的一个加分项,如果目标芯片有功能兼容的第二供应商,供应链抗风险能力会好很多。我通常会在选型表里加一列“替换料”,比如用ADS1256的项目,可以看MCP3561是否满足要求,留一条后路。
6. 常见问题与排查技巧实录
6.1 读数跳字像噪声,但噪声指标明明不差
现象:ADC输出码值在几个LSB甚至几十个LSB之间跳,数据手册上的噪声指标明明写得很低。这种时候先别怀疑芯片,大概率是测试环境问题。首先检查参考电压,如果基准源有高频毛刺或者接地不好,参考噪声会被放大到输出。其次检查电源,示波器看AVDD上有无开关噪声,特别是同时使用DC-DC给数字电路供电时。
我的排查顺序是:把输入对地短路,看输出噪声是否降到理论值。如果还是高,问题在ADC侧;如果正常,再接上真实信号源,用电池直接供电的电位器分压替代传感器,剔除信号源噪声干扰。锁定到某一块后,再用磁珠和LDO逐级隔离。这个方法我用了很多年,基本能解决80%的“莫名跳码”问题。
6.2 基准源引起的增益误差:校准为什么没用
增益误差如果只是固定倍数,用软件校准能消掉。但温度变化之后误差又出现,校准值不再适用,这多半是基准温漂超标。我之前做过一个16bit采集板,25℃时校准很完美,温度上升到50℃后,满量程读数偏了将近0.03%,怎么查都查不到原因,最后发现是内部基准的温漂到了30ppm/℃。
换成外部低漂移基准后,问题立刻消失。所以遇到“校准后随温度漂移”,优先核查所有与模拟通道相关的无源器件的温漂系数,尤其电阻分压网络、基准源、PGA增益电阻。另外,贴片电阻的温漂等级也会影响增益,要选±25ppm/℃以下的精密电阻。
6.3 前端运放震荡导致的“幽灵”误差
现象:运放输出看波形是正常的,但ADC读数有周期性跳动。用示波器AC耦合看运放输出,可能在几百MHz处有微弱震荡。高精度运放后接长走线或大电容,容易产生负阻震荡。解决方法是调整运放输出到ADC之间的RC网络的R值和C值,或者把运放换成单位增益稳定的型号。
如果运放输出直接驱动长走线到ADC,走线会引入附加电容和电感,这时在靠近ADC输入引脚处放一个小电阻(比如10~50Ω)能抑制振铃。这一招在我自己的板子上验证过多次,效果立竿见影。
6.4 PCB清洗与漏电:高阻抗输入的低级陷阱
高精度ADC的输入阻抗动辄几十兆欧甚至更高,PCB表面的脏污、残留助焊剂、潮湿都会形成漏电通路。输入端只要有一点点漏电,对应几十pA级别的电流,就可能把测量值拉偏。尤其是未做三防漆处理的板子在湿度大的环境下,漏电更明显。
处理办法:高阻抗输入引脚附近的PCB区域要尽量远离电源层,增加地隔离环,焊完后用洗板水彻底清洗,再烘干。如果产品需要长期在恶劣环境中运行,建议涂三防漆。另外,PCB过孔尽量不要落在高阻抗信号线上,过孔的镀铜和绝缘电阻寿命都不可控,容易变成不定时故障源。
我个人的体会是,高精度ADC选型和电路设计,本质上是一场“预算”游戏:把系统误差预算逐项分给基准、运放、电阻、电源、PCB,任何一项超支最终都会从总精度里扣除。能提前在选型阶段把每个器件的参数抠细一点,后面调试就会省心很多。最后分享一个小技巧:在你正式定方案前,用同系列的评估板做一轮实测,把评估板的电路照搬到你的设计里,再根据实际布局调整去耦和滤波参数。很多芯片公司提供评估板原理图,这些资源比数据手册里的典型电路更贴近真实环境,照着做往往能避开一大半常见坑。