1. 从一块“翻车”的采集板说起为什么选型比画图更致命前两年帮一个做工业称重的朋友救过一块板子。硬件工程师画得挺漂亮24位ADC、低噪声LDO、四层板、模拟数字分区看着都挺规范。结果实测的时候称重传感器在空载状态下读数能稳定到小数点后五位一放上砝码末两位就开始跳温度一上来跳得更厉害。他一开始怀疑是电源纹波换了三版LDO又怀疑是地平面分割割了又连、连了又割折腾了快两个月。最后问题出在哪出在ADC选型阶段就埋下的雷。他选的是一颗无内置PGA、输入阻抗只有几十kΩ量级的开关电容型ADC而称重电桥的输出阻抗在几kΩ到十几kΩ之间加上前端RC滤波的电阻等效源阻抗直接顶到了ADC采样保持电容充电能力的边缘。每次采样采样电容都要从外部电路“抢”电荷抢不干净残留下来的电荷就变成了码值跳动。这不是Layout能救的是选型阶段就该算清楚的账。这件事让我一直想写点东西。市面上讲ADC选型的文章大多停留在“分辨率越高越好”“信噪比越大越好”这种正确但没用的层面。真正做过高精度采集的人都知道ADC选型是一道多约束下的取舍题分辨率、信噪比、有效位数、输入结构、采样速率、接口方式、参考电压、功耗、封装、价格这些参数互相拉扯任何一个单独拎出来看都合理凑在一起就可能互相打架。这篇内容就是想把这道取舍题拆开讲。我会围绕高精度ADC硬件电路设计选型这个核心把选型时必须盯住的几个关键参数一个一个掰开讲清楚它们背后的物理含义、在电路里怎么体现、以及实际选型时怎么权衡。适合正在做精密测量、传感器采集、音频前端、医疗电子、工业控制这类项目的硬件工程师也适合刚入行、面对一堆ADC型号不知道从哪下手的同学。看完之后你至少能做到拿到一个采集需求知道先看哪几个参数、怎么算、怎么排除掉不合适的型号而不是对着选型手册一页一页翻。2. 分辨率、信噪比、有效位数三个最容易被混为一谈的指标2.1 分辨率只是“格子数”不代表“格子准”分辨率Resolution是ADC最直观的参数12位、16位、24位说的是输出码值的位数。很多人下意识觉得24位就是比16位精度高256倍这个理解在选型阶段会带偏方向。打个比方分辨率就像一把尺子上的刻度线数量。24位意味着这把尺子被分成了16777216格16位只有65536格。但刻度线多不代表每一格都刻得准、刻得直、刻得稳定。如果尺子本身会热胀冷缩或者刻度线是歪的格子再多也没用。ADC的分辨率只描述了量化台阶的粗细它没有告诉你这个台阶是不是均匀、是不是稳定、是不是真的对应了输入电压。一个24位ADC如果它的有效位数只有18位那它实际能可靠分辨的精度就只相当于一个理想的18位ADC剩下的6位基本是噪声在翻来覆去。所以选型时看到“24位”先别激动往下翻看它的有效位数ENOB和信噪比SNR。2.2 信噪比决定了“能看清多小的信号”信噪比SNR描述的是ADC在满量程输入下输出信号功率与噪声功率的比值单位是dB。对于理想ADCSNR和分辨率之间有理论关系SNR_ideal 6.02 × N 1.76 (dB)其中N是分辨率位数。12位理想SNR约74dB16位约98dB24位约146dB。这个公式是选型时的第一道筛子如果一颗标称24位的ADC手册里写的SNR只有110dB那它的实际有效位数大概在18位左右剩下的位数被噪声吃掉了。这里有个容易踩的坑SNR通常是在特定输入频率、特定采样率、特定参考电压下测的。有的手册标的是低频下的SNR看起来很美但你实际信号在几十kHzSNR可能掉一大截。所以看SNR一定要看测试条件尤其是输入信号频率和采样率。我一般会直接翻到手册的FFT图看目标频段内的噪声底和谐波分布比看一个孤零零的SNR数字靠谱得多。2.3 有效位数才是“真正能用的精度”有效位数ENOB是从SNR反推出来的实际精度ENOB (SNR - 1.76) / 6.02它把噪声和谐波失真都考虑进去了是衡量ADC“真实战斗力”的指标。选型时ENOB比分辨率重要得多。一个标称24位、ENOB 21位的ADC实际精度就是一个21位ADC的水平一个标称16位、ENOB 15.5位的ADC反而可能比某些“24位”更实在。我个人的经验是先根据系统精度需求倒推需要的ENOB再去找分辨率比ENOB高2到4位的ADC。比如你需要18位有效精度那就去找20位到22位分辨率的型号留一点余量给噪声和温漂。直接拿24位去顶18位需求往往意味着你要为用不上的位数付钱还要在电源和Layout上付出额外代价。下面这张表把三个指标的关系理一下指标含义选型时的作用常见误区分辨率输出码值位数确定量化台阶粗细以为位数精度SNR满量程信号与噪声功率比判断噪声性能反推ENOB不看测试条件ENOB实际有效精度位数衡量真实可用精度忽略它只看分辨率3. 输入结构高精度采集里最隐蔽的“电荷泵陷阱”3.1 开关电容输入为什么会让高阻信号源翻车高精度ADC绝大多数是开关电容型输入内部有一个采样保持电容采样阶段通过开关连接到输入引脚对电容充电保持阶段开关断开电容上的电荷被转换。这个结构决定了ADC输入并不是一个纯电阻而是一个周期性从外部电路抽取电荷的负载。每次采样采样电容Csh都要从外部源阻抗Rs和输入电容Cin组成的网络里充电。充电时间常数是(Rs Rsw) × (Csh Cin)其中Rsw是内部开关电阻。如果这个时间常数相对于采样窗口太长电容就充不满残留下来的电荷会带到下一个周期表现为增益误差和码值跳动。这就是我朋友那块板子翻车的根本原因。他的电桥输出阻抗加上前端RC滤波电阻等效源阻抗偏高而ADC的采样窗口又短电荷没充够。手册里通常会给一个最大源阻抗或者采样保持电容充电时间的曲线选型时必须对着自己的源阻抗去核。3.2 差分输入、伪差分、单端不只是省一根线的事ADC的输入结构常见的有单端、伪差分、全差分三种。很多人觉得差分就是抗干扰好其实在高精度场景里差分输入还有更实际的意义。单端输入信号对地简单但地线上的任何噪声、任何IR Drop都会直接叠加到信号上。高精度场景下地电流稍微大一点单端就扛不住。伪差分输入负端固定在一个参考电平通常是地或某个偏置正端接信号。它比单端好一点因为负端可以走一条独立的Sense线把地噪声部分抵消掉但共模抑制能力有限。全差分输入正负端都接信号ADC只关心两者的差值。共模噪声、地弹、电源波动只要在正负端同时出现就被减掉了。高精度ADC里全差分是主流尤其是24位这个级别。选型时的判断逻辑很简单如果你的信号源本身是差分输出比如电桥、差分传感器、变压器耦合优先选全差分输入的ADC不要用单端去接白白浪费了信号源的差分特性。如果信号源是单端那就要看共模电平是否在ADC允许范围内以及是否需要加单端转差分的有源前端。3.3 输入共模范围与绝对最大额定值别让信号“顶到天花板”高精度ADC的输入共模范围通常不是轨到轨的。比如一颗模拟供电5V的ADC输入共模可能要求在2.5V附近正负端各自不能超过某个范围。如果你的信号共模电平不在这个窗口里要么加偏置电路要么换型号。还有一个容易被忽略的是绝对最大额定值。手册里会写输入引脚相对于地的最大电压范围通常是-0.3V到AVDD0.3V。实际使用中如果传感器上电顺序不对、或者有热插拔输入引脚可能瞬间超过这个范围轻则读数异常重则打坏输入结构。选型时如果系统有热插拔或者多电源域要特别留意这个参数必要时加外部钳位。4. 采样速率与建立时间快和准之间的硬约束4.1 采样率不是越高越好够用且留余量就行采样速率Sample Rate决定了ADC每秒能转换多少次。高精度ADC的采样率通常不高24位的往往在几SPS到几十kSPS之间因为高精度和高速在架构上是有矛盾的要降低噪声就要在采样和转换上花更多时间做平均和滤波。选型时采样率要满足奈奎斯特条件即采样率至少是信号最高频率的两倍。但实际工程里我一般会留5到10倍余量原因有两个一是抗混叠滤波器需要过渡带采样率越高滤波器设计越轻松二是高精度ADC内部往往有数字滤波器Sinc、FIR采样率越高滤波器的建立时间越短系统响应越快。但采样率也不是越高越好。采样率翻倍功耗通常跟着涨噪声带宽也变宽如果前端抗混叠没做好反而引入更多高频噪声。所以我的做法是先确定信号带宽再选一个采样率是信号带宽5到10倍的ADC然后根据这个采样率去设计抗混叠滤波器。4.2 建立时间与多路复用切换通道时的“余震”很多高精度ADC是多通道的内部有一个多路复用器MUX轮流采集不同通道。这里有个关键参数叫建立时间Settling Time指的是MUX切换到一个新通道后ADC输出稳定到规定精度所需的时间。如果建立时间不够上一个通道的电荷会“串”到下一个通道表现为通道间串扰。选型时要看手册里的建立时间指标并且注意它通常是在特定源阻抗和特定阶跃幅度下测的。如果你的源阻抗比测试条件高建立时间会变长这时候要么降低采样率要么加外部缓冲。我见过一个项目8通道热电偶采集工程师选了采样率很高的ADC结果通道间串扰严重温度读数互相影响。后来把采样率降下来给每个通道留足建立时间问题就消失了。这个坑的本质是多路复用ADC的有效采样率要除以通道数还要再扣掉建立时间不能只看标称的最大采样率。4.3 采样保持电容与外部RC的配合前面提到开关电容输入这里再展开一下外部RC的设计。ADC输入端通常会加一个RC低通滤波用来抗混叠和限制噪声。但这个R不能太大否则采样电容充不满C也不能太大否则会跟采样电容分压导致增益误差。一个实用的经验公式是RC时间常数要小于采样窗口的1/10到1/5。具体来说如果ADC的采样窗口是1μs那RC乘积最好在100ns到200ns以内。同时C的值要远大于ADC的采样保持电容通常几pF到几十pF这样电荷分享带来的增益误差可以忽略。一般C取1nF到10nFR取几十欧到几百欧具体要结合源阻抗和采样窗口算。这里有个反直觉的点有时候加大外部电容反而会让精度变差。因为电容越大采样瞬间从ADC采样电容“抢”走的电荷越多如果电容的介质有压电效应或者漏电还会引入额外误差。所以高精度场景下我倾向于用C0G/NP0材质的电容容值不要盲目加大够用就行。5. 参考电压与电源精度链条上最不能省的两环5.1 参考电压的噪声直接乘进输出码值ADC的转换结果是输入电压与参考电压的比值所以参考电压的任何噪声、温漂、长期漂移都会按比例反映到输出码值上。对于高精度ADC参考电压的精度往往比ADC本身更关键。举个例子一颗24位ADC满量程5V1LSB对应约0.3μV。如果参考电压有10μV的噪声那这个噪声就相当于30多个LSB的跳动。所以选型时参考电压的噪声指标要和ADC的噪声指标匹配不能ADC很安静参考源却在“吼”。参考电压选型要看几个参数初始精度、温漂ppm/°C、噪声μVpp或nV/√Hz、长期稳定性。高精度场景下初始精度可以靠校准解决但温漂和噪声校准不掉必须选好的。我一般会选温漂在5ppm/°C以内、低频噪声在几μVpp以内的基准源比如常见的带隙基准或者埋齐纳基准。5.2 电源抑制比与电源噪声的“漏网之鱼”ADC的电源抑制比PSRR描述的是电源上的噪声有多少会耦合到输出。高精度ADC的PSRR通常在几十dB到一百多dB但注意这个指标是随频率变化的低频PSRR很高高频PSRR会下降。这意味着如果电源上有高频开关噪声PSRR可能拦不住。所以高精度ADC的供电我一般会用LDO而不是开关电源而且LDO的噪声要低。如果系统里必须有开关电源那就要在LDO前面加LC滤波把开关频率的纹波压下去。还有一个细节ADC的模拟电源和数字电源要分开即使它们电压相同。数字电源上的开关噪声会通过内部电路耦合到模拟部分分开供电、分开滤波、在ADC下方单点连接是常规做法。选型时如果ADC有独立的AVDD和DVDD引脚说明厂家考虑到了这一点优先选这种。5.3 基准源和ADC的“地”要在一起参考电压的“地”和ADC的“地”必须是同一个参考点而且这个连接点要干净。如果基准源的地和ADC的地之间有压差这个压差会直接加到参考电压上变成增益误差。实际Layout时我通常会把基准源的地和ADC的模拟地放在同一块铜皮上基准源的输出走线尽量短、尽量粗远离数字信号。如果基准源和ADC距离较远会用开尔文连接的方式把Sense线单独拉回来避免走线上的压降影响精度。6. 接口、封装与功耗选型收尾时容易忽略的“最后一公里”6.1 SPI、I2C还是并行接口决定了系统架构高精度ADC的接口常见的有SPI、I2C、并行以及一些高速的LVDS。SPI是最常见的速度快、时序简单、引脚少适合大多数中低速高精度场景。I2C引脚更少但速度慢而且总线上的电容负载会影响时序高精度ADC用I2C的不多。并行接口速度快但引脚多适合高速采集。选型时接口要和主控匹配。比如你用FPGA做采集SPI就很方便FPGA的IO灵活时序也好调。如果用MCU要看MCU的SPI外设是否支持ADC需要的模式CPOL、CPHA和速率。这里有个坑有些ADC的SPI时序要求比较特殊比如数据在时钟下降沿输出或者需要特定的帧同步信号选型时要对着主控的SPI手册核一遍别等画完板子才发现对不上。6.2 封装与热管理小封装不一定好高精度ADC的封装有SOP、SSOP、QFN、TSSOP、BGA等。小封装省面积但散热差、引脚细、焊接难度高。高精度ADC内部通常有基准、PGA、滤波器功耗不一定低如果封装太小温升会导致温漂影响精度。我的经验是如果ADC功耗超过几十毫瓦优先选带散热焊盘的封装比如QFN或者带裸露焊盘的TSSOP。焊接时散热焊盘要可靠接地既帮助散热也提供低阻抗的地回路。另外小封装的引脚间距小PCB走线要细寄生参数控制更难高精度场景下不一定划算。6.3 功耗与休眠电池供电场景的取舍电池供电的高精度采集功耗是硬约束。ADC的功耗通常和采样率、分辨率、内部功能PGA、基准、滤波器有关。选型时要看每SPS的功耗而不是只看最大功耗。有些ADC支持自动休眠和按需转换平均功耗可以做得非常低。但要注意休眠唤醒后的建立时间。如果ADC从休眠到稳定输出需要几百毫秒而你的系统要求快速响应那这个休眠策略就不合适。选型时要把唤醒时间和建立时间一起看算清楚系统的时间预算。7. 把参数串起来一个高精度称重采集的选型推演7.1 需求拆解先搞清楚自己要什么假设我们要做一个工业称重采集模块需求如下传感器电阻应变片电桥输出灵敏度2mV/V供电5V满量程输出10mV量程5kg精度要求0.01%满量程即0.5g信号带宽10Hz以内称重信号变化慢工作温度-10°C到50°C主控STM32SPI接口供电24V工业电源板内转5V和3.3V先算精度需求。满量程输出10mV0.01%精度对应1μV的分辨能力。如果ADC满量程是10mV那需要的有效位数是log2(10mV / 1μV) log2(10000) ≈ 13.3位考虑噪声和温漂余量至少需要16位有效精度。所以目标是一颗ENOB在16位以上、分辨率18到24位的ADC。7.2 参数筛选用关键指标排除型号根据上面的需求筛选条件如下参数要求理由分辨率18-24位留余量给噪声ENOB≥16位满足1μV分辨输入结构全差分或伪差分电桥是差分输出源阻抗匹配电桥输出阻抗电桥约350Ω到几kΩ采样率10-100SPS信号带宽10Hz留余量接口SPI匹配STM32参考电压外部低噪声基准内部基准通常不够封装TSSOP或QFN散热和焊接平衡按这个表去翻选型手册能快速排除掉单端输入、源阻抗要求过高、接口不匹配的型号。剩下的再对比噪声、温漂、价格。7.3 前端电路配合选型不是孤立的选完ADC前端电路要跟着调整。电桥输出阻抗如果是350Ω加上RC滤波的电阻总源阻抗可能到1kΩ左右。这时候要核对ADC的采样窗口和采样电容算一下充电时间常数是否够。如果不够要么降低采样率要么加一个低噪声运放做缓冲。参考电压选2.5V或5V的低噪声基准噪声要小于1μVpp0.1Hz到10Hz。电源用LDO模拟和数字分开基准源单独走线。这些配合做好了ADC的标称精度才能真正落地。8. 几个我踩过或见别人踩过的坑第一个坑是只看分辨率不看ENOB。前面说过24位ADC的ENOB可能只有18位如果按24位去设计系统精度最后会发现差得远。选型时一定要把ENOB算出来和需求对齐。第二个坑是忽略源阻抗和采样窗口的匹配。这是高精度采集里最隐蔽的问题因为它在直流测试时可能看不出来一旦信号源阻抗变化或者温度变化误差就冒出来了。选型时要把源阻抗、采样窗口、采样电容三个数放在一起算。第三个坑是参考电压和ADC不匹配。有人用一颗很好的ADC却配了一个普通LDO输出的参考结果噪声全从参考进来。参考电压的噪声要单独评估不能想当然。第四个坑是电源和地的处理不到位。高精度ADC对电源和地很敏感模拟数字不分、地平面乱割、LDO选型随意都会让精度打折。选型时如果有条件优先选AVDD和DVDD分开的型号给Layout留出空间。第五个坑是接口时序没核对。SPI模式、时钟极性、数据格式这些在选型阶段就要和主控对一遍别等PCB回来了才发现要飞线。9. 最后分享几个选型时的实用习惯我自己的习惯是拿到一个采集需求先画一张精度链条图从传感器输出到前端调理到ADC输入到参考电压到电源每一环的噪声和误差都标出来看看哪一环是瓶颈。ADC选型只是其中一环但它往往决定了整个链条的上限。第二个习惯是先看手册的FFT图和噪声曲线再看参数表。参数表是总结FFT图是真相。FFT图能告诉你噪声在频域怎么分布谐波在哪里有没有杂散这些比一个SNR数字有用得多。第三个习惯是选型时留一档降级方案。比如主选24位备选18位主选全差分备选伪差分。这样如果主选型号缺货或者价格超标能快速切换不至于推翻整个设计。第四个习惯是把ADC的评估板买回来实测。手册数据是典型值实际电路里的表现受Layout、电源、参考影响很大。花几百块买块评估板用自己实际的信号源和电源测一遍比看一百页手册都值。我很多选型决策都是在评估板上改的比如发现某颗ADC对电源噪声特别敏感就换一颗PSRR更好的或者加强LDO滤波。高精度ADC选型这件事说到底是在精度、速度、功耗、成本、复杂度之间找平衡。没有一颗ADC是万能的关键是搞清楚自己的需求边界然后用关键参数去卡。把分辨率、ENOB、输入结构、采样率、参考电压、电源、接口这几项理清楚选型就不会跑偏。剩下的就是Layout和调试的功夫了。