
1. 把12位当成12位精度是AD/DA选型里最贵的误会前几天帮朋友看一块采集板的选型表第一行写着12位、1 MSPS、SPI接口后面跟着价格和封装。我问他一句这12位你打算用几位他愣了一下说不是写的12位吗。这个对话我经历过太多次了AD/DA的选型过程里大家最先看到的是位数最后才想起来看的也是位数但真正决定方案能不能落地的恰恰是位数背后那一堆平时被跳过的参数含义。这篇东西就是顺着选型这条线把AD/DA芯片手册里那些看起来很唬人的参数一个个拆开讲清楚它们各自在描述什么物理现象、在你的系统里会变成什么误差、以及选型时应该按什么顺序去看。适合正在做采集类、控制类、仪器类硬件方案的人也适合刚接手硬件、被一堆指标名词堵住的新手。我不打算堆公式能算的地方一定给出可抄的计算过程不能算的地方就讲清楚经验边界在哪里。先说一个我自己的判断标准选AD/DA从来不是选一颗芯片而是选芯片驱动基准电源布线这一整套信号链。很多方案最后精度不够问题根本不在ADC本身而是在它前面那个运放或者旁边那个基准源上。理解参数含义的最大价值就是让你在画板子之前就知道误差会从哪来。1.1 选型表里最常见的三个盲区第一个盲区是只看分辨率不看有效位数。分辨率是这把尺子有多少格有效位数是这些格里有多少格是靠得住的。一把100格的尺子如果抖动能吃掉5格那它实际只有95格可用。ADC同理标称16位的芯片实测有效位数ENOB常常只有13到14位剩下的位被噪声吃掉了。第二个盲区是只看ADC不看驱动和基准。ADC的输入不是理想的高阻尤其是SAR型结构输入是一个开关电容每次采样都要从你的信号源抢一小包电荷。如果前级驱动能力不够采样瞬间电压被拉下去还没恢复转换出来的数就是错的。基准同理基准的温漂直接变成增益误差而且是整条曲线一起漂后端再怎么校准都很难救。第三个盲区是只盯典型值不看最大值和温度特性。手册里那个漂亮的INL典型值往往是25℃下的、最好批次的表现而最大值和温漂系数才是你要在-40到85℃范围内长期依赖的东西。选型的保守程度应该按最大值算按典型值期待就行。1.2 静态参数和动态参数手册里其实是两套语言AD/DA的参数大致分成两组理解这两组的分工手册就好读多了。静态参数描述输入某个固定电压时输出码准不准包括失调误差Offset Error、增益误差Gain Error、积分非线性INL、微分非线性DNL以及各自的温度漂移。它们决定了你的绝对精度和线性度。动态参数描述输入变化的信号时芯片跟不跟得上、噪声有多大包括信噪比SNR、信纳比SINAD、总谐波失真THD、无杂散动态范围SFDR、有效位数ENOB和建立时间。它们决定了你能测多快的信号、以及快速条件下精度还剩多少。这两套语言经常互相打架。一颗静态指标极好的低速高精度ADC动态上可能完全跑不动一颗采样率很高的流水线ADCINL可能一般。选型时先想清楚你的被测量是缓变的直流类还是变化的交流类再去侧重看哪一组参数能省掉大量无效对比。1.3 把我要测多准翻译成我需要多少位位数不是拍脑袋定的它是从需求反推出来的。举个简单的算法假设你要测0到10V的电压希望分辨到0.1mV那么需要的量化级数是 10V / 0.1mV 100000 级。2的16次方是65536不够2的17次方是131072够。所以位数下限是17位。但这只是理论下限。我一般会在这个结果上加2到3位余量因为噪声、基准漂移、温漂都会吃掉有效位。也就是说需求算出来17位我会去看20位以上的芯片或者接受17位但把基准和驱动做得很扎实。反过来如果算出来只要11位你就不必为12位还是16位纠结把预算放到驱动运放和基准上收益大得多。这里有个换算关系值得背下来理想ADC的信噪比 SNR 6.02N 1.76 dB。12位对应约74 dB16位对应约98 dB24位对应约146 dB。反过来ENOB (SINAD - 1.76) / 6.02。手册上如果写了SINAD是92 dB那么实际有效位数就是(92-1.76)/6.02 ≈ 15位。这个公式我几乎每次选型都会用它把动态指标和位数这两个概念直接打通了。另外一个常用数字是LSB的大小它是所有误差的度量单位满量程2.5V的16位ADC1 LSB 2.5V / 65536 ≈ 38.1 µV满量程5V的12位ADC1 LSB 5V / 4096 ≈ 1.22 mV。看到手册里写失调误差±2 LSB你可以立刻换算成实际电压判断这个误差在你的系统里能不能接受。2. 数据手册的正确翻法先看哪几页后看哪几页我见过很多人打开手册直接从第一页开始往下读读到Register Map已经晕了。AD/DA手册其实是有阅读顺序的而且顺序错了会浪费大量时间。我的习惯是分三遍看每一遍只看一类信息看完再决定这颗芯片要不要继续。2.1 第一遍只看极限参数和推荐工作条件第一遍只看Absolute Maximum Ratings和Recommended Operating Conditions。这一步不是看性能是看这颗芯片能不能活在我的板子上。重点确认几件事模拟供电范围、数字供电范围、基准输入范围、模拟输入允许的电压区间很多ADC输入不能超过AVDD也不能低于地超了会触发内部钳位二极管漏电流会污染你的高阻信号源、工作温度范围、以及封装的热阻。这一步经常直接筛掉一批型号。比如你的板子只有3.3V和5V两路电源而某颗ADC需要独立的2.5V模拟供电且对电源噪声敏感那你就得评估多一路LDO的成本。又比如你需要测一个带负压的传感器信号而ADC是单极性输入那要么加电平搬移要么换双极性输入的型号这是架构级别的决定越早发现越好。还有一个容易被忽略的点输入端的ESD保护结构。很多ADC输入端内部有到AVDD和到地的二极管它们确实能救命但也会带来nA到µA级的漏电流。如果你的信号源内阻是几百kΩ比如某些传感器分压这个漏电流就会变成可观的失调电压。手册里通常只在输入特性表里给一行Input Leakage Current但它的影响要看你的源阻抗。2.2 第二遍抓关键指标INL、DNL、SNR、ENOB第二遍才看性能表而且只看和你需求相关的那几行。我通常按这个顺序抓INL积分非线性实际转换曲线偏离理想直线的最大程度单位LSB。它决定你的绝对精度天花板而且INL是没办法用软件校准消除的因为每个码的偏差不一样。要求高精度时INL要按最大值看并按温度曲线评估。DNL微分非线性相邻码之间的步长偏差。只要DNL小于±1 LSB就能保证没有丢码No Missing Codes这是很多控制系统尤其是闭环控制、伺服反馈的硬要求。DNL超过1 LSB时某个输入区间可能永远输出同一个码控制环路会在那里卡住。SNR / SINAD折算噪声和失真的总水平配合6.02N1.76的公式直接得到ENOB。Offset / Gain Error及温漂决定系统是否需要出厂校准以及校准后能撑多宽的温区。这里有个实操心得先看最大值再看典型值最后看测试条件。手册的性能表下面通常有一行小字写着测试条件比如AVDD5V, VREF4.096V, fS200 kSPS, TA25°C。换个基准电压、换个采样率那些数字全都会变。我见过有人拿200 kSPS条件下的SNR去评价一颗在1 MSPS下工作的ADC最后实测差了好几个dB就是没看测试条件。2.3 第三遍才看时序图和接口描述第三遍看时序图和寄存器描述。这一步决定软件能不能顺利跑起来。要确认的东西包括转换周期和采集窗口的时间分配、串行时钟的最高频率、片选信号的保持要求、数据位宽和数据格式二进制原码还是补码、MSB在前还是LSB在前、是否有独立的转换状态引脚或者BUSY信号。时序图里最容易被跳过的是采集时间Acquisition Time与转换时间Conversion Time的划分。SAR ADC的一个完整周期是采集 转换采集窗口在时序图上是明确标出来的。如果你的驱动电路在采集窗口内没把输入电容充满转换结果就会偏低而且这个误差和信号幅度相关看起来就像非线性——但实际上是你自己的驱动没做够。这个坑我在第4节会专门展开。3. 一次完整的选型推演从传感器指标到具体型号前面讲的是阅读方法现在把它跑一遍。我拿一个真实做过的场景来推一个压力传感器满量程输出0到50 mV输出阻抗中等需要测量精度达到满量程的0.02%也就是10 µV左右的分辨能力信号带宽约2 kHz采样率希望达到100 kSPS用单路SPI读取。3.1 先定满量程和增益分配传感器输出只有50 mV而ADC的输入范围通常是0到2.5V或0到5V直接接上去等于浪费了98%的码空间。所以必须加增益。增益怎么分配是有讲究的增益取50倍把50 mV放大到2.5V正好用满ADC输入范围基准取2.5V和满量程对齐这样1 LSB直接对应 2.5V / 65536 ≈ 38.1 µV16位折算到传感器输入端就是 38.1 µV / 50 ≈ 0.76 µV单级增益50倍对运放来说偏高带宽和稳定性都紧张我一般拆成两级比如10倍 5倍或者选带内置PGA的ADC。这里要注意增益不是越大越好。增益越大前级运放自身的失调和噪声也被放大得越厉害而且容易把后面ADC的输入推到饱和。我的经验是单级增益尽量不超过20倍超过就拆级或者用仪表放大器。3.2 噪声预算把所有噪声折算到同一个点这一步是很多人不做、但做完之后选型思路会彻底改变的环节。方法是把所有噪声源都折算到传感器输入端然后做均方根合成。假设选了一颗16位SAR ADC手册标称SNR 92 dB基准2.5V。先算ADC自身的噪声折合到ADC输入端的有效值满量程正弦的RMS 2.5V / (2√2) ≈ 0.884 VADC噪声RMS 0.884 / 10^(92/20) ≈ 22.2 µV基准源选一颗噪声3 µVrms/V的型号2.5V下约7.5 µVrms。前级运放如果选通用型输入折合噪声约10 nV/√Hz带宽按10 kHz算噪声RMS ≈ 10 nV × √10000 ≈ 1.0 µVrms经过50倍增益后变成50 µVrms——注意这个数已经比ADC本身的22 µV还大了。噪声源折算到ADC输入端 (µVrms)折算到传感器输入端 (µVrms)ADC自身SNR 92 dB22.20.44基准源电压噪声7.50.15前级运放10 nV/√Hz10 kHz50.01.00合成均方根55.21.10合成后的噪声是55.2 µVrms折算到传感器输入端是1.10 µVrms。按峰峰值约等于6.6倍有效值的经验换算峰峰噪声约7.3 µV。传感器满量程50 mV那么有效分辨能力约 50 mV / 7.3 µV ≈ 6850 级也就是约12.7位。结论很扎心买了16位的ADC实际只拿到12到13位而且主要瓶颈不是ADC是那颗运放。3.3 怎么把性能捡回来既然知道瓶颈在驱动改法就明确了。换一颗低噪声运放把输入折合噪声压到3 nV/√Hz同时把前级带宽从10 kHz限制到2 kHz左右信号带宽只要2 kHz多出来的带宽全是白送的噪声运放噪声 ≈ 3 nV/√Hz × √(1.57 × 2000) ≈ 0.17 µVrms经50倍增益后 ≈ 8.4 µVrms重新合成√(22.2² 7.5² 8.4²) ≈ 24.9 µVrms折算到输入端约 0.50 µVrms峰峰约3.3 µV有效分辨 ≈ 50 mV / 3.3 µV ≈ 15000 级约13.9位从12.7位提升到13.9位代价只是一颗运放的差价和两个滤波电容。这就是理解参数含义带来的直接收益。如果还想要更多位数可以考虑过采样加数字平均。噪声近似白噪声时采样率提高4倍、平均后信噪比改善约6 dB也就是多1位有效位。13.9位在过采样16倍后能到14.9位左右但前提是噪声确实是白的、且没有明显的干扰峰这一点实测时要用频谱确认不能想当然。3.4 采样率、通道数和吞吐量的三方拉扯采样率这条线也常被误解。SAR ADC的手册标的是吞吐率Throughput Rate它已经包含了采集和转换时间。如果你用8通道多路复用那么每个通道实际拿到的速率是总吞吐率除以通道数再打折扣——因为通道切换后需要额外的建立时间。比如一颗标称1 MSPS的16位SAR单通道转换周期1 µs其中采集时间可能只有200 ns。8通道轮询时如果每个通道切换后只给200 ns建立时间高阻信号源根本来不及稳定。我的做法是把采集时间人为拉长比如把每通道周期做成5 µs8通道就是8×540 µs等效每通道25 kSPS。这个折中必须提前算进需求否则板子做出来才发现速率不够就只能改硬件。如果用ΔΣ型ADC做多通道采集问题更明显。ΔΣ的Sinc滤波器需要完整的建立周期切换通道后往往要丢弃前2到3个转换结果才稳定。很多应用笔记会给出每通道需要n个转换周期的经验值选型时一定要翻开这一页看。4. 手册上写得清楚、实际却最容易翻车的几个参数下面这几个坑几乎每个做采集板的人都会踩至少一次。它们的共同特点是手册里确实写了但写得很含蓄不看推导过程很难意识到严重性。4.1 输入驱动开关电容输入和建立时间SAR ADC的输入端等效成一个开关加一个采样电容采样阶段电容接入你的信号源转换阶段断开。假设内部采样电容含寄生约30 pF采集时间200 ns。要把电压建立到 1/2 LSB 的精度16位下约 1/2^17需要的时间常数个数是 ln(2^17) ≈ 11.8个。于是允许的总RC时间常数 ≤ 200 ns / 11.8 ≈ 17 ns若等效电容取30 pF则允许的源阻抗 ≤ 17 ns / 30 pF ≈ 566 Ω也就是说信号源的等效输出阻抗必须控制在500Ω以内否则采样还没建立完成就开始转换了。这就是为什么高阻信号源几十kΩ的传感器分压、光敏电阻、某些电化学电极不能直接接SAR ADC必须加缓冲运放。还有一个反直觉的细节不要直接在ADC输入端并大电容。很多人想用一个大电容稳住输入电压结果发现运放振荡了。原因是运放驱动容性负载时相位裕度急剧下降容易自激。正确做法是用一个小的隔离电阻比如22到100Ω串在运放输出和电容之间或者在反馈回路里做补偿。这个隔离电阻又会增加源阻抗所以要在建立时间和稳定性之间取平衡。注意ADC输入端加RC低通是好事但电阻值要按上面的建立时间要求算电容值要和运放的容性负载能力匹配两者都不能凭感觉填。4.2 基准源ADC的隐形天花板基准电压源是整条信号链的尺子尺子本身不准、不稳后面全是白搭。我按四个维度看基准初始精度常见0.05%到0.1%。0.05%的2.5V基准意味着1.25 mV的初始偏差对16位ADC来说就是约33 LSB的增益误差。这个误差是线性的可以用单点或两点校准消除。温漂常见单位ppm/°C。3 ppm/°C的基准在50℃温变下会产生 3e-6 × 2.5V × 50 ≈ 375 µV 的漂移约等于10 LSB。这个漂移也是增益性质的如果系统性温漂大必须在全温区做校准或者做比率式测量。噪声单位常写成µVrms/V。它直接叠加到ADC的噪声预算里前面算过7.5 µVrms在16位系统里是可观的。负载调整率与输出阻抗ADC的基准输入在转换瞬间会抽取电流尖峰基准输出阻抗高的话电压会瞬间塌陷表现为转换结果抖动。所以基准旁边必须有合适的去耦通常是0.1 µF加1到10 µF的组合放在基准引脚旁边而且是独立走线不能和数字部分的电源共用。这里分享一个很实用的技巧能做比率式测量就做比率式。如果传感器的激励源和ADC的基准来自同一个电压比如同一个基准驱动的电桥那么激励电压的漂移和基准的漂移会互相抵消测量结果对基准的绝对精度不敏感。这是很多称重、应变、桥式传感器方案精度能做上去的核心原因也是参数含义理解到位之后能想出来的架构级优化。4.3 多路切换串扰、电荷注入和建立时间多通道采集的误差来源有三个通道间的串扰、开关电荷注入、以及切换后的建立不足。串扰的典型表现是通道A加满量程信号通道B悬空或者接小信号读B的时候会看到A的影子。原因是多路开关的寄生电容把A的电压耦合到B上。降低串扰的办法是相邻通道测量之间留足够的空闲时间、降低源阻抗、在输入前加RC滤波、以及避免让大信号通道和小信号通道紧挨着切换。电荷注入是开关断开瞬间把一小包电荷倒进采样节点表现为固定的失调偏移。它在不同通道上可能大小不同因为源阻抗不同所以看起来像通道间的一致性误差。解决办法是每个通道都用同样的驱动结构保持源阻抗一致。还有一个很容易忽略的点未使用的通道要接地或接到中等电位不要悬空。悬空的输入会漂到不确定的电平通过寄生耦合影响正在转换的通道而且可能触发输入保护结构带来额外漏电流。4.4 数字侧SPI时序、数据格式和状态引脚数字接口的问题看起来简单实际调试时最耗时间。几个高频坑时钟极性和相位CPOL/CPHA配错表现为读到的数据整体移位或者全是0x00/0xFF看波形立刻就能发现但如果是偶尔错一位就更隐蔽通常是时钟边沿采样位置在临界位置线稍微长一点就出错。转换期间片选被拉高部分ADC要求CS在整个转换周期保持有效中途拉高会中断转换或者读回无效数据。数据格式搞错很多高精度ADC默认输出二进制补码Twos Complement而你以为是无符号原码。这个小差别会让小信号读数全部偏移半个量程。一段我常用来做补码转换的代码可以直接抄/* 24位补码数据转有符号32位 */ int32_t adc_raw_to_signed(const uint8_t *buf) { int32_t v ((int32_t)buf[0] 16) | ((int32_t)buf[1] 8) | ((int32_t)buf[2]); if (v 0x800000) { v - 0x1000000; /* 负数减去2^24 */ } return v; }再给一个噪声预算的计算脚本改几个参数就能算自己的方案import math snr_db 92.0 # ADC手册SNR vref 2.5 # 基准电压 gain 50.0 # 前级增益 adc_fs_rms vref / (2 * math.sqrt(2)) adc_noise adc_fs_rms / (10 ** (snr_db / 20)) # Vrms ref_noise 3e-6 * vref # 3 uVrms/V op_noise 3e-9 * math.sqrt(1.57 * 2000) * gain # nV/rtHz 折到ADC端 total math.sqrt(adc_noise**2 ref_noise**2 op_noise**2) in_noise total / gain lsb_in 0.050 / (2 ** 16) # 传感器端1LSB print(fADC噪声 {adc_noise*1e6:.2f} uVrms) print(f输入折合噪声 {in_noise*1e6:.3f} uVrms) print(f等效位数 {math.log2(0.050 / (6.6 * in_noise)):.2f} bit)这类脚本我一般直接粘在项目文档里方案评审的时候现场改参数比争论这颗芯片够不够有效得多。5. DAC选型是另一套逻辑别把ADC的经验直接搬过来很多人做完ADC选型转头做DAC就照抄同一套指标结果发现踩的坑完全不一样。DAC是输出器件它的误差出现在输出端而且直接影响被控对象所以关注点要换。5.1 建立时间、压摆率和毛刺脉冲DAC的关键动态参数是建立时间Settling Time通常定义为输出从一次码跳变后进入并保持在某一个误差带内±0.5 LSB或±1 LSB所需的时间。它和压摆率Slew Rate是两回事压摆率决定输出能多快爬升建立时间决定爬到位之后能不能稳住。大跳变时先受压摆率限制接近目标值时受运放稳定性和建立特性限制。还有一个ADC用户很少关心的参数毛刺脉冲Glitch Impulse单位nV·s。它是DAC在码跳变瞬间因为内部开关不同步而产生的尖峰能量。对慢速控制应用无所谓但如果你用DAC做波形发生器、或者驱动一个对尖峰敏感的执行器这个参数就很关键。R-2R结构的DAC毛刺通常比电流舵结构小选型时可以按结构做初筛。5.2 输出形式电压输出、电流输出以及后级运放的选择DAC分电压输出和电流输出两类。电压输出型内部带输出缓冲接上去就能用但输出范围和驱动能力有限电流输出型常见是电流舵结构需要外接一个跨阻放大器I/V转换灵活度更高但整个环路的稳定性、噪声、失调都要你自己设计。这里有个参数经常被忽略输出放大器的失调和噪声会被直接叠加到DAC输出上而且它是直流性质的无法通过多取几次平均消掉。所以对电流输出型DAC后级运放的失调电压和温漂必须和DAC的精度同量级。选16位DAC却配一颗失调几百µV的通用运放等于白花钱。举个具体数字便于感受12位DAC配2.5V基准1 LSB ≈ 610 µV。这个量级下通用运放的失调还勉强可接受。但如果是16位DAC配2.5V基准1 LSB ≈ 38 µV运放的失调就必须控制在这个量级附近才合理。5.3 上电状态与复位行为这是安全设计的一部分DAC的上电输出状态是我在控制系统里最在意的参数。有的DAC上电后输出0V有的是中间值有的取决于引脚配置。如果你的DAC输出接的是一个功率驱动级上电瞬间输出到中间值可能意味着执行器突然动作这是安全设计要避免的。我的处理方式有三种一是选带明确上电复位POR行为、且可配置为0V输出的型号二是在DAC输出到驱动级之间加一级使能控制系统初始化完成前把驱动级关断三是在DAC输出脚加一个下拉电阻把上电初期的电平钉住。三种方式通常要叠加使用不能只靠一种。另外DAC的参考电压来源也要注意如果DAC基准和ADC基准共用同一颗芯片那么输出和采集之间存在比率关系做闭环控制时这条关系能帮你抵消一部分基准漂移但前提是基准的输出驱动能力够不要在重载下被拉塌。6. 板子回来之后怎么验证你选的芯片到底行不行选型阶段的所有推导最终都要用实测确认。我一般按先静态、后动态、再系统的顺序做验证避免一上来就陷进复杂的频谱分析里。6.1 最小验证板怎么搭验证板不需要和最终产品一样但有几件事必须做到位否则测出来的数据没有参考价值。模拟电源用独立的LDO不要和数字部分共用一路即便最终产品要共用验证阶段也要先分开先确认芯片本身的极限性能。基准源按数据手册推荐的去耦配置走线尽量短测量点直接放在基准引脚上。输入的信号源用低失真的信号发生器或者干脆用一个高精度DAC自己产生测试波形做一个采集加回放的环路。数字接口的线尽量短SPI时钟先降到最低速跑通再逐步提速观察数据什么时候开始出错。6.2 三种实测手段直方图、FFT和噪声统计直方图法测DNL和INL给ADC输入一个缓慢变化、幅度略微超出满量程的三角波或正弦波采集大量样本统计每个码出现的次数。理论上每个码出现的次数应该相等实际次数与平均次数的偏差就是DNL把DNL累加就得到INL。注意样本量要足够16位系统建议至少采集百万级样本否则统计本身就有误差。FFT法测ENOB输入一个接近满量程的单频正弦采样后用FFT分析取前若干次谐波和噪声的总能量算出SINAD再用ENOB (SINAD - 1.76) / 6.02。这里有两个细节一是采样频率和信号频率要尽量做相干采样整数个周期否则要加窗抑制泄漏二是要确认信号的纯度高于ADC几个dB否则你测的是信号源的失真。噪声统计法把输入端短接到一个已知的稳定电平通常是基准的一半采集几千到几万个点算有效值和峰峰值再折算成有效位数。这是最快的验证手段五分钟就能判断低几位抖动是否正常。我的经验是低3到5位跳动是正常的如果低8位都在跳那要么是噪声预算有问题要么是基准或驱动出问题了。6.3 常见异常现象与排查顺序调试阶段的时间大部分花在这里我把自己踩过的整理成表按先查最简单的排了顺序。现象可能原因排查顺序读数全部为0或满量程输入超范围、负压、驱动级未上电先用万用表量ADC输入脚实际电压低几位大幅跳动超过10 LSB基准噪声、驱动不足、数字耦合短接输入再测若仍跳则查基准和电源读数随温度整体漂移基准温漂、运放失调温漂加热/制冷静置对比分别测基准脚电压通道间串扰切换建立不足、开关寄生耦合单通道连续采再开多通道对比高码区非线性变差驱动级接近饱和、基准负载调整率不足检查驱动输出余量测转换瞬间基准电压SPI读到固定值CPOL/CPHA错、CS时序错、寄存器未生效用逻辑分析仪抓完整一帧包括CS提高采样率后精度下降采集窗口不足、驱动建立不够降低采样率对比若变好则是建立问题这张表我基本每次调试都会拿出来过一遍能省掉很多凭感觉改代码的时间。7. 一份我在用的选型清单与操作备忘写到这里把整套思路压缩成一份可以直接对照的清单。每次做选型我都会把这十条过一遍能提前暴露大部分风险。7.1 下单前必须回答的十个问题被测量的满量程、带宽、源阻抗分别是多少源阻抗超过几百欧的缓冲运放必须安排。需求分辨率换算成位数是多少在这个基础上加了几位余量静态精度靠INL还是靠校准保证INL的最大值在全温区是多少系统噪声预算算过了吗主要贡献者是ADC、基准还是驱动采样率和通道数的乘积算上建立时间后还剩多少余量基准的初始精度、温漂、噪声三项各自折算成多少LSBADC输入的驱动能否在采集窗口内建立到1/2 LSB数字接口的时序要求、数据格式、状态引脚软件侧都确认过了吗如果是DAC上电输出状态可控吗对执行器有没有风险供货、封装、温度等级、是否处于生命周期末期都查过了吗7.2 几个容易被忽略、但影响很大的细节先买评估板。这是我花了几年时间才养成的习惯。原厂评估板的价值不在于它的电路有多好而在于它能让你用最低成本确认这颗芯片在我手里能不能跑出手册的性能。如果评估板都跑不出来八成是自己设计的问题如果评估板能跑出来那就有明确的对照参考。选评估板时看三件事官方固件和上位机软件是否齐全、是否引出所有关键测试点、是否和你要用的封装一致。注意输入保护对高阻源的影响。前面提过一次这里再强调ADC输入端的保护二极管漏电流可能在nA量级看似微不足道但当你的源阻抗是100 kΩ时1 nA就是100 µV对16位系统来说是2.6 LSB的固定偏差。高阻信号源加缓冲是唯一稳妥的做法。电源的去耦不是形式主义。模拟供电引脚旁边放0.1 µF加1 µF位置要紧贴引脚基准去耦用低ESR的电容模拟地和数字地在芯片下方单点连接。这些做法手册里都写了但真正照着做的人不多。我见过太多换了三颗芯片都没解决噪声的案例最后发现是去耦电容离引脚5 mm、走线绕了半圈。留出校准通路。不管你现在觉得精度够不够都给系统留一个可以外接标准源做校准的接口或者至少留一个可编程的增益/失调修正系数。产品在温度和批次上的表现很难完全预判有校准通路就有后路。我自己这些年做采集类项目最深的体会是选型这件事的难度不在参数表本身而在把参数翻译成误差、把误差翻译成系统影响这一步。刚开始做的时候我也喜欢比参数、比价格后来才慢慢明白真正决定成败的往往是那颗看起来不起眼的驱动运放和那颗基准而不是ADC的位数。把噪声预算算一遍、把建立时间算一遍很多纠结自然就有了答案剩下的就是老老实实按手册把板子画好、把验证做扎实。