深入解析TI同步采样ADC:双通道同步、接口模式与校准实战

深入解析TI同步采样ADC:双通道同步、接口模式与校准实战
1. 项目概述双通道同步采样ADC的核心价值在嵌入式系统、工业自动化、电机控制以及精密仪器仪表的设计中我们常常面临一个核心挑战如何精确、同步地捕获两个或更多通道的模拟信号。无论是三相电机的电流电压检测还是振动分析中的多路传感器信号采集通道间的相位一致性直接决定了后续算法如功率计算、FFT分析的准确性。异步采样带来的时间差会引入额外的误差和计算复杂度这时候一款真正的同步采样模数转换器ADC就成了系统性能的基石。德州仪器TI推出的ADS8353、ADS7853和ADS7253系列正是瞄准了这一痛点。它们并非简单的双ADC芯片堆叠而是从架构上实现了两个ADC通道的严格同步采样与转换。这意味着当转换启动信号通常为CS引脚的下拉沿到来时两个通道的采样保持电路会在同一时刻冻结输入信号随后各自独立进行量化。这种硬件级的同步能力从根本上消除了通道间的时间偏移为需要高保真相位信息的应用提供了可靠保障。这三款器件是引脚兼容的家族系列主要区别在于分辨率ADS8353为16位ADS7853为14位ADS7253为12位。这种设计让开发者可以在系统精度、速度和成本之间进行灵活权衡而无需大幅改动硬件布局。其核心魅力在于极高的灵活性它支持单端或伪差分输入可编程的内部基准电压源以及多达四种可配置的串行接口模式。这种灵活性意味着你可以用同一颗芯片通过不同的寄存器配置去适配从高精度直流测量到高速交流采样的多种场景。我过去在开发一款伺服驱动器时就曾深受多片ADC采样不同步的困扰后期软件补偿既复杂效果又不理想。直到采用了这类同步采样ADC才真正解决了电流环控制的实时性与准确性问题。接下来我将结合数据手册的要点和实际调试经验深入解析如何配置和用好这三颗芯片特别是其内部参考电压的校准潜力与四种串行接口模式的选择策略。2. 芯片内部架构与核心功能模块解析要熟练配置一款ADC不能只停留在引脚连接和时序图层面理解其内部架构和工作原理才能在出现异常时快速定位问题并充分发挥芯片性能。ADS8353/7853/7253的架构设计清晰地体现了其“独立且同步”的设计哲学。2.1 双核独立ADC与基准源结构从功能框图看芯片内部完全独立的两套ADC核心ADC_A和ADC_B是其同步采样能力的物理基础。每个ADC都包含自己的采样保持电路、数模转换器阵列和比较器。更关键的是每个ADC通道都拥有独立的基准电压输入引脚REFIO_A和REFIO_B以及对应的基准地引脚REFGND_A和REFGND_B。这种设计带来了一个巨大优势通道独立的增益误差校正。在大多数应用中ADC的增益误差是一个重要的系统误差源。如果两个通道共用同一个基准源那么基准源的任何漂移或噪声都会同等地影响两个通道虽然相对关系可能不变但绝对精度会受损。而ADS8353系列允许你为每个通道配置不同的基准电压通过内部可编程基准或外部提供这意味着你可以在软件中针对每个通道的输入前端电路如运放增益误差、电阻分压比误差进行独立的满量程校准。注意即使你使用芯片的内部基准源也需要为REFIO_A和REFIO_B引脚分别连接一个10μF的陶瓷电容到对应的REFGND引脚进行去耦。这个电容至关重要它为ADC内部的开关电容电路提供了瞬态电荷池能有效降低基准噪声提升转换精度。在实际布局中这两个电容应尽可能靠近芯片的相应引脚放置。2.2 模拟输入前端等效电路数据手册中给出了模拟输入引脚AINP_x, AINM_x的等效电路这是一个经典的开关电容采样模型。简单来说你可以将其理解为一个50欧姆的串联电阻RS采样开关导通电阻后面跟着一个40pF的采样电容CSAMPLE。这个模型对前端驱动电路的设计有直接指导意义建立时间要求在采样窗口打开期间外部信号源必须能在有限时间内通过这个RC网络50Ω 外部驱动阻抗 与 40pF PCB寄生电容将采样电容充电到目标电压的1/2 LSB误差范围内。对于高频信号或高阻抗源这可能要求驱动运放具有足够的输出电流和压摆率。输入阻抗由于是开关电容结构其输入阻抗是动态变化的平均输入阻抗与采样频率成反比。在计算前端分压网络或滤波器时不能将其视为一个固定高阻而需要考虑其周期性抽取电荷的特性。理解这个等效电路就能明白为什么数据手册会给出“最大源阻抗”的建议。如果你的信号源阻抗过高采样电容就无法在分配到的采集时间内完成充电导致转换结果失真。2.3 可编程寄存器概览芯片的所有灵活性都通过三个用户可编程寄存器实现它们是控制芯片行为的“大脑”配置寄存器这是最重要的寄存器控制着输入范围、输入模式、基准源选择、输出数据格式、接口模式等全局性设置。REFDAC_A 和 REFDAC_B 寄存器这两个寄存器分别控制ADC_A和ADC_B的内部基准电压输出值当启用内部基准时。它们是一个9位的DAC允许你将内部2.5V的基准源以大约5mV的步进调整到2.0V至2.5V之间的任意值。所有寄存器的读写都通过串行接口SDI, SDO完成。一个关键特性是配置的延迟生效在当前帧Frame F写入的配置寄存器值并不会立即影响本帧的转换而是作用于下一帧Frame F1的转换。这个细节在动态切换配置如改变输入范围时尤为重要需要仔细规划你的时序和控制流避免配置与数据帧错位。3. 关键配置详解从输入到输出的精细控制拿到一颗功能强大的ADC第一步不是急着连线上电而是要根据你的应用需求规划好各个配置位的设置。这一步决定了ADC的“工作模式”是发挥其性能的前提。3.1 输入范围与模式配置输入配置主要由配置寄存器中的两个位控制CFR.B9和CFR.B7。它们的组合决定了输入信号的测量范围。CFR.B9输入范围选择0满量程范围等于基准电压。即FSR VREF。例如VREF2.5V则输入电压范围为 0V 至 2.5V。1满量程范围等于两倍基准电压。即FSR 2 × VREF。同样VREF2.5V则输入范围为 0V 至 5V。这个功能非常实用它允许你用同一个基准电压来测量不同幅值的信号而无需改变外部基准电路或使用额外的衰减网络。但需要注意一个重要限制当选择FSR 2 × VREF时必须确保模拟电源电压AVDD ≥ 2 × VREF。例如若VREF 2.5V则AVDD必须至少为 5V。如果AVDD只有 3.3V却强行设置此模式将导致转换结果严重失真甚至损坏芯片。CFR.B7负输入选择0单端输入模式。此时负输入端AINM_x必须在外部连接到模拟地。ADC测量的是AINP_x对地的电压。1伪差分输入模式。此时AINM_x必须在外部连接到一个共模电压通常为FSR/2。ADC测量的是AINP_x与AINM_x之间的差值电压。伪差分模式对于抑制共模噪声非常有效常见于存在较大地线噪声或使用远程传感器的场合。它将信号的有效范围从[0, FSR]平移到了[-FSR/2, FSR/2]。例如在FSR5V的伪差分模式下AINM接 2.5V那么AINP上的电压在 0V 到 5V 之间变化时ADC输出对应的是 -2.5V 到 2.5V 的差分信号。组合应用与连接示意图下表总结了四种组合模式及其对应的外部连接方式这是硬件设计时必须对照检查的输入范围选择负输入选择工作模式描述AINM_x 外部连接有效输入电压 (AINP_x - AINM_x)CFR.B90CFR.B70单端 0-VREF连接至 GND0 V 至 VREFCFR.B91CFR.B70单端 0-2*VREF连接至 GND0 V 至 2×VREFCFR.B90CFR.B71伪差分 ±VREF/2连接至 VREF/2-VREF/2 至 VREF/2CFR.B91CFR.B71伪差分 ±VREF连接至 VREF-VREF 至 VREF实操心得在电机控制中测量相电流时我通常使用伪差分模式。将电流采样电阻两端的电压分别接入AINP和AINM这样可以直接得到带符号的电流值非常便于直接用于PID计算。硬件上需要用一个精密的电阻分压网络或基准电压芯片来产生VREF/2或VREF的共模电压并确保其低噪声和稳定性。3.2 内部基准电压的配置与校准这是该系列ADC的一大特色功能。通过CFR.B6选择使用内部基准并通过REFDAC_A/B寄存器独立调节每个通道的基准电压。启用与配置步骤设置CFR.B6 1启用内部基准源。向REFDAC_A和REFDAC_B寄存器写入9位数据值以设定各自的输出电压。数据手册提供了一个典型值对应表例如写入0x1FF对应 2.5000V0x186对应 2.35V。每个通道的基准电压VREF_x计算公式可近似理解为VREF_x ≈ 2.0V (DAC_CODE / 512) * 0.5V其中DAC_CODE是写入的9位值0-511。这提供了约 1mV 的调节步进。校准应用场景 假设你的信号调理电路前级有一个增益为2.01的非理想放大器而你的ADC基准是标准的2.5V。理论上输入1V应输出2.01V对应ADC码值应为(2.01/2.5) * 65536 ≈ 52680。但由于基准是2.5V实际输出码值会是(2.01/2.5) * 65536存在增益误差。此时你可以微调REFDAC寄存器将VREF_A略微调高至比如2.5125V使得2.01 / 2.5125 ≈ 0.8这样ADC的输出码值就会更接近理论值从而在系统层面补偿了前级放大器的增益误差。注意事项数据手册特别指出对于REFDAC值低于0x064的区间不建议使用。这个区间的线性度和温度特性可能无法保证。在实际校准中TI也建议围绕手册给出的典型值在小范围内±5个码值进行微调以找到最佳性能点。3.3 输出数据格式选择通过CFR.B4可以选择输出数据的格式0默认直接二进制格式。对于单端输入0V输入对应输出0x0000满量程输入对应0xFFFF/3FFF/FFF取决于分辨率。对于伪差分输入-FSR/2对应 0x0000中点0V差分对应 0x7FFF/1FFF/7FFFSR/2对应 0xFFFF/3FFF/FFF。1二进制补码格式。这对于需要处理正负值的伪差分模式尤其方便。中点0V差分输出0x0000-FSR/2输出 0x8000/2000/800负数FSR/2输出 0x7FFF/1FFF/7FF正数。在数字信号处理器或微控制器中补码格式可以直接被当作有符号整数进行处理省去了软件转换的步骤对于实时性要求高的算法非常友好。4. 四种串行接口模式深度剖析与选型指南串行接口模式是这颗ADC与控制器通信的“语言协议”选对模式可以简化硬件设计、降低时钟要求或节省GPIO资源。模式选择由CFR.B11和CFR.B10两位控制。4.1 模式对比总览首先我们通过一个表格来快速了解四种模式的核心区别与适用场景接口模式配置位最小SCLK数数据输出引脚特点与适用场景32-CLK, 双SDOB110, B10032SDO_A, SDO_B默认模式所有型号支持。两个通道数据并行输出时序简单适用于GPIO充足、追求高数据吞吐率的系统。32-CLK, 单SDOB110, B10148SDO_A节省一个GPIO引脚。ADC_A和ADC_B数据在SDO_A上串行输出先A后B。适用于引脚紧张的主控。16-CLK, 双SDOB111, B10016SDO_A, SDO_B仅ADS7853/7253支持。转换与数据输出在16个时钟内完成吞吐率相同但SCLK频率可减半或同频下转换周期更短。双线输出兼顾速度与时钟要求。16-CLK, 单SDOB111, B10132SDO_A仅ADS7853/7253支持。最节省引脚的模式仅需单数据线且时钟要求较低。适用于低速总线或引脚极缺的情况。4.2 32-CLK模式详解在32-CLK模式下ADC的转换过程由芯片内部时钟控制固定需要一段时间tCONV如ADS8353为730ns。转换和数据传输在时序上是分开的。工作流程以双SDO模式为例CS变低启动一个帧SDO_A和SDO_B引脚退出高阻态并输出0。在CS下降沿后芯片立即开始对模拟输入进行采样保持并启动内部转换。此时前16个SCLK周期SDO引脚一直保持为0。内部转换完成后约在第16个SCLK边沿前后采样保持器返回采样模式为下一次转换做准备。从第16个SCLK的下降沿开始ADC_A和ADC_B的转换结果最高位分别出现在SDO_A和SDO_B上。后续的SCLK下降沿依次移出剩余数据位。对于16位的ADS8353需要再给16个SCLK共32个才能移出所有数据对于14位的ADS7853后两位为0对于12位的ADS7253后四位为0。在第32个SCLK后CS拉高结束本帧数据线返回高阻态。同时芯片开始采集下一组模拟信号采集时间tACQ。时序计算示例 假设使用ADS8353目标吞吐率为500kSPS每秒采样点数每个通道。则总周期tTHROUGHPUT 1 / 500kHz 2μs。 在32-CLK双SDO模式下一次转换需要至少32个SCLK周期。tCONV为730nstACQ tTHROUGHPUT - tCONV 2000ns - 730ns 1270ns。 数据手册要求tACQ ≥ 33 × tCLK - tCONV。代入公式1270ns ≥ 33 × tCLK - 730ns2000ns ≥ 33 × tCLKtCLK ≥ 60.6ns。因此SCLK频率最高可达约1 / 60.6ns ≈ 16.5 MHz。在这个频率下32个时钟周期占用约32 * 60.6ns 1.94μs满足2μs的总周期要求。4.3 16-CLK模式详解仅ADS7853/7253这是该系列的一个高效模式。在16-CLK模式下转换和数据输出是同步进行的即SCLK既用于驱动SAR转换逻辑也用于移出数据。工作流程以双SDO模式为例CS变低启动帧SDO引脚输出0。从第一个SCLK下降沿开始芯片就同时开始转换过程并且立即在SDO_A和SDO_B上输出转换结果的最高位。后续每个SCLK下降沿ADC完成下一比特的转换并同时将当前比特的结果移出。对于14位的ADS7853在第14个SCLK下降沿移出最低位D0第15、16个SCLK周期SDO输出0。对于12位的ADS7253在第12个SCLK移出D0第13至16个SCLK输出0。在第16个SCLK后CS可拉高结束帧。优势分析 最大的优势在于对SCLK频率要求降低。要达到同样的吞吐率16-CLK模式所需的SCLK频率是32-CLK模式的一半。例如同样实现500kSPS总周期2μs。16-CLK模式需要16个时钟则tCLK 2μs / 16 125ns对应SCLK频率仅需8MHz。这降低了对微控制器SPI时钟的要求减少了高频时钟带来的噪声风险。或者在SCLK频率不变的情况下可以缩短帧时间实现更高的吞吐率。避坑指南16-CLK模式虽然高效但有一个关键限制它依赖于SCLK的边沿来推进内部转换。因此SCLK的时钟质量占空比、抖动会直接影响转换精度。必须确保SCLK稳定、干净。如果使用微控制器的硬件SPI需确认其在该频率下的时钟波形质量。我曾遇到过因SPI时钟线过长导致边沿不佳在16-CLK模式下引入非线性误差的情况后来在时钟线上串联小电阻并缩短走线后解决。4.4 接口模式选择实战建议追求最高性能和简单性如果主控GPIO充足且SPI时钟可以跑得较高如10MHz32-CLK双SDO模式是首选。它逻辑清晰两个通道数据并行读出软件处理简单且不受SCLK抖动的转换过程影响。GPIO资源紧张如果主控SPI接口的MISO引脚不够或者想节省一个GPIO选择单SDO模式。需要权衡的是读取双通道数据需要更多的SCLK数量48或32个这会略微降低最大可能的吞吐率或者要求更高的SCLK频率来维持同样的速率。主控时钟频率受限或追求高吞吐率如果你的微控制器SPI时钟最高只有8MHz但又需要较高的采样率那么对于ADS7853/725316-CLK模式是必选项。它能让你在较低的SCLK频率下达到目标吞吐率。系统噪声敏感在模拟电路噪声敏感的应用中较低的SCLK频率意味着更少的数字开关噪声耦合到模拟部分。此时16-CLK模式通过降低时钟频率带来了额外的好处。5. 寄存器读写与低功耗模式实战理解了配置和接口下一步就是如何通过代码与芯片交互。这涉及到具体的读写时序和命令字。5.1 寄存器写操作所有配置都通过SDI引脚在CS为低电平期间随SCLK同步写入。一个关键规则是写入操作需要特定数量的SCLK下降沿才能被“验证”并生效。命令字结构每次传输的前16位是一个命令/数据字。其中高4位B[15:12]决定了操作类型和目标寄存器。1000: 写配置寄存器1001: 写REFDAC_A寄存器1010: 写REFDAC_B寄存器验证所需的SCLK数这个数量取决于当前生效的接口模式见上文表4。例如在默认的32-CLK双SDO模式下需要至少32个SCLK下降沿。如果你只发了16个时钟就拉高CS这次写入是无效的。生效时机在CS上升沿芯片会检查本次帧是否有效SCLK数是否足够。如果有效则将在下一帧应用新的配置。这是一个重要的延迟特性。示例代码片段C语言风格假设32-CLK模式// 函数向ADS8353写入配置寄存器 // cfr_config: 16位的配置寄存器值 void ADS8353_WriteCFR(uint16_t cfr_config) { uint16_t command_word 0x8000 | (cfr_config 0x0FFF); // 高4位为1000b SPI_CS_LOW(); // 拉低CS开始帧 SPI_Transfer16(command_word); // 发送16位命令字 // 在32-CLK模式下还需再发送16个时钟以完成至少32个SCLK的要求 // 可以发送任意数据如0x0000或者继续发送后续数据如果是在连续读写中 SPI_Transfer16(0x0000); SPI_CS_HIGH(); // 拉高CS结束帧配置将在下一帧生效 }5.2 转换数据读取读取数据相对简单在正确的接口模式下在数据输出时段如32-CLK模式下的第16-31个SCLK读取SDO线上的数据即可。需要注意的是数据格式二进制/补码和位数16/14/12需要根据配置和型号进行解析。读取双通道数据示例32-CLK双SDO模式16位uint16_t ADS8353_ReadDualChannel(uint16_t *data_chA, uint16_t *data_chB) { uint32_t raw_data; SPI_CS_LOW(); // 发送一个空命令例如0x0000或下一个通道的配置命令同时接收数据 // 在32-CLK模式下需要传输32位4字节以获得完整数据 raw_data SPI_Transfer32(0x00000000); SPI_CS_HIGH(); // 假设SPI传输为MSB先行且数据在SCLK下降沿采样 // 根据时序图第16-31位是ADC数据其中高16位可能是ADC_A低16位可能是ADC_B // 具体顺序需要根据你的SPI模式和芯片时序确认这里仅为示例 *data_chA (raw_data 16) 0xFFFF; // 提取通道A数据 *data_chB raw_data 0xFFFF; // 提取通道B数据 // 对于14位的ADS7853有效数据只有高14位需右移2位*data_chA 2; // 对于12位的ADS7253有效数据只有高12位需右移4位*data_chA 4; }5.3 低功耗模式STANDBY与软件关断在电池供电或间歇性采样的应用中低功耗模式至关重要。STANDBY模式通过设置CFR.B5 1进入。在此模式下部分内部电路关闭以降低功耗但内部基准如果使能和REFDAC寄存器内容会保持以便快速唤醒。从数据手册图表C027和C028可以看出在25°C下STANDBY电流IAVDD STANDBY典型值远低于正常工作电流而关断电流IAVDD Power Down则更低。进入在有效帧中写入CFR.B51在CS上升沿后进入。退出在有效帧中写入CFR.B50芯片在CS上升沿后开始唤醒需要等待tPU_STDBY时间见电气特性表后才能进行下一次有效转换。软件关断模式通过向SDI发送特定序列所有位为1进入完全关断模式功耗最低。唤醒需要执行一次完整的复位序列或重新初始化。注意事项在STANDBY模式下SDO引脚在CS为低时会持续输出高电平全1这是识别芯片是否处于待机状态的一个方法。唤醒后第一次转换的结果可能是无效的建议在唤醒后等待规定时间并丢弃第一次采样结果。6. 硬件设计要点与常见问题排查再好的芯片也离不开扎实的硬件设计。以下是围绕ADS8353系列设计时我总结的几个关键点和常见坑位。6.1 电源与去耦设计这是模拟电路设计的基石对ADC性能影响巨大。模拟与数字电源分离务必使用独立的AVDD和DVDD电源轨即使它们电压相同。最好采用磁珠或0欧电阻进行单点连接。这能防止数字开关噪声通过电源串扰到敏感的模拟前端。去耦电容布局AVDD/DVDD在每个电源引脚附近1cm以内放置一个0.1μF的陶瓷电容X7R或X5R材质到地。同时在电源入口处放置一个10μF的钽电容或电解电容作为储能电容。REFIO_A/B这是重中之重。必须为每个REFIO引脚就近连接一个10μF的陶瓷电容到其对应的REFGND引脚。这个电容为SAR ADC内部的开关电容DAC提供电荷其稳定性和低ESR直接关系到转换的线性度和噪声。务必使用高质量的电容。接地采用星型接地或单点接地。将模拟地、数字地、基准地在芯片下方或附近通过一个点连接。REFGND应直接连接到系统的安静模拟地平面。6.2 模拟输入前端驱动根据之前分析的等效输入电路驱动源必须有能力在采集时间内对40pF的采样电容进行充放电。运放选择选择具有足够带宽、压摆率和低输出阻抗的运放。运放的建立时间应远小于ADC的采集时间tACQ。RC滤波在运放输出和ADC输入之间通常需要串联一个小的电阻如10-100Ω并并联一个电容到地如100pF-1nF形成一个抗混叠滤波器。这个RC网络还能帮助隔离运放输出与ADC的开关电容负载提高稳定性。但需要注意RC时间常数不能太大否则会影响建立时间。布局模拟输入走线应尽量短远离数字信号线尤其是SCLK和CS。如果可能用地线包围或采用差分走线即使是伪差分。6.3 常见问题与排查速查表在实际调试中以下问题较为常见现象可能原因排查步骤与解决方案读数全为0或全为满量程1. 电源或基准电压未正确连接。2. 配置寄存器设置错误如输入模式与实际接线不符。3. 串行通信失败。1. 测量AVDD, DVDD, REFIO引脚电压。2. 检查CFR.B7和CFR.B9设置确认AINM引脚连接正确接地或接VREF/2。3. 用逻辑分析仪抓取SPI时序确认CS、SCLK、SDI信号正常SCLK数量满足模式要求。读数噪声大跳动剧烈1. 电源噪声大去耦不足。2. 基准电压不稳定或噪声大。3. 模拟输入线引入噪声。4. 数字信号线对模拟部分干扰。1. 用示波器检查电源纹波加强去耦特别是REFIO的10μF电容。2. 检查基准源电路确保REFGND干净。3. 检查输入信号是否已良好滤波走线是否远离干扰源。4. 确保SCLK、CS等数字信号远离模拟输入和基准走线。两个通道读数不一致固定偏移1. 两个通道的基准电压实际值不同内部DAC误差或外部电路差异。2. 输入前端电路如运放、分压电阻存在失配。1. 直接测量REFIO_A和REFIO_B引脚电压看是否一致。可尝试微调REFDAC寄存器进行校准。2. 交换两个通道的输入信号看误差是否跟随通道。如果是则是通道间失配需硬件匹配或软件校准。动态性能差高频信号失真1. 前端驱动运放带宽或压摆率不足。2. 抗混叠滤波器截止频率过低或建立时间不足。3. 采集时间tACQ设置过短SCLK频率过高。1. 检查输入信号的频率和幅值是否在运放的能力范围内。2. 重新计算RC滤波器的时间常数确保在tACQ内能建立稳定。3. 降低SCLK频率或切换到16-CLK模式以延长tACQ。无法进入或退出低功耗模式1. 写入CFR的帧无效SCLK数量不足。2. 唤醒后未等待足够时间tPU_STDBY就进行转换。1. 用逻辑分析仪确认在设置CFR.B51或0的帧中SCLK下降沿数量满足当前接口模式的要求。2. 在软件中执行退出STANDBY的命令后增加一个大于tPU_STDBY的延时通常几微秒到几十微秒。6.4 校准流程建议为了达到最佳精度建议执行以下校准步骤零点校准在单端模式下将AINP短接到AINM即地在伪差分模式下将AINP与AINM短接。读取此时的ADC输出码值作为零点偏移量存储。增益校准施加一个精确的、接近满量程的已知电压如使用高精度电压基准。读取ADC输出码值。根据理论码值已知电压 / LSB大小和实际码值计算增益误差。内部基准微调如果使用了内部基准可以在完成上述校准后尝试微调REFDAC寄存器观察ADC对已知电压的读数是否更接近理论值。这是一个迭代过程。软件补偿在MCU中使用公式校准后电压 (原始码值 - 零点偏移) * LSB大小 / 增益校正系数。对于伪差分模式还需考虑共模电压。最后ADC的性能验证离不开一台好的示波器和信号发生器。观察电源纹波、基准噪声、输入信号建立情况以及SPI时序的完整性是解决复杂问题的直接手段。每次更改硬件或配置后从最基本的电源和通信查起逐步验证模拟通路这套方法能帮你节省大量调试时间。