
1. 项目概述在精密测量领域比如电子秤、压力传感器或者高精度温度监测我们常常需要处理从传感器输出的、极其微弱的模拟信号。这些信号可能只有几毫伏甚至更小并且常常被各种噪声所淹没。这时候一个高性能的模数转换器ADC就成了整个系统的“心脏”它的任务就是将这些微弱的、连续的模拟电压精准地转换成数字世界能够理解和处理的离散数值。我接触过不少ADC芯片从简单的8位到复杂的24位、32位而德州仪器TI的ADS1235无疑是针对低速、高精度测量场景的一款经典之作。它集成了低噪声可编程增益放大器PGA、高分辨率Σ-Δ调制器和灵活的数字滤波器其核心价值在于为工程师提供了一个高度可配置的平台让你能针对具体的噪声环境、信号特性和速度要求去“雕刻”出最优的ADC性能。很多朋友拿到这类高精度ADC的数据手册看到那几十页的寄存器描述可能会感到无从下手。确实仅仅知道每个比特位是干什么的还不够关键在于理解这些配置之间如何相互影响以及在实际电路中如何组合才能达到设计目标。比如数据速率Data Rate和滤波器阶数Filter Order的选择就直接在噪声、速度和建立时间之间形成了一个“不可能三角”你需要根据应用场景做出权衡。再比如斩波Chop模式能极大地消除失调电压漂移但它会引入额外的转换周期延迟这在动态测量中是否可接受本文将围绕ADS1235抛开那些泛泛而谈的参数罗列深入其寄存器配置的底层逻辑并结合我在桥式传感器应用中的实际调试经验拆解如何通过配置MODE0、MODE1、PGA、INPMUX等关键寄存器来真正驾驭这颗芯片实现稳定可靠的高精度数据采集。无论你是正在选型还是已经画好了板子正在调试希望这些从实际项目中踩坑得来的经验能帮你少走些弯路。2. 核心寄存器功能深度解析与设计权衡要玩转ADS1235绝不能把它当成一个“黑盒”给个电源和SPI就能出数。它的强大之处恰恰在于其丰富的可配置性。这些配置都通过一系列寄存器来完成理解每个寄存器字段背后的物理意义和设计权衡是进行优化配置的前提。下面我们就对几个最核心的寄存器进行拆解。2.1 数据速率与滤波器配置在速度、噪声与建立时间间走钢丝MODE0寄存器地址02h是配置ADC基本工作节奏的核心。它主要控制两个关键参数数据输出速率DR[3:0]和数字滤波器类型FILTER[2:0]。这两个参数共同决定了ADC的“性格”。数据速率DR的选择并非越快越好。ADS1235提供了从2.5 SPS到7200 SPS的广泛范围。在电子秤等静态或准静态测量中我们通常追求极低的噪声因此会选择较低的速率如2.5、5或10 SPS。降低数据速率意味着每个输出数据点是由更多个原始采样点平均或滤波而来这能有效抑制高频噪声提升信噪比SNR和无噪声分辨率。例如在10 SPS下其噪声性能通常远优于2400 SPS。但在一些需要快速响应的场合比如某些动态称重或过程控制较高的数据速率如100 SPS以上则是必须的。这里有一个关键经验数据手册中给出的噪声指标通常是针对特定数据速率和增益的在选型时务必对照表格确保在目标速率下ADC的本底噪声低于你信号最小分辨力的要求。数字滤波器FILTER的选择则更为微妙。ADS1235支持sinc1到sinc4以及FIR滤波器。sinc滤波器是Σ-Δ ADC中最常见的数字抽取滤波器其阶数直接影响滤波器的频率响应和建立时间。sinc1滤波器阶数最低建立时间最快1个转换周期但其阻带衰减较慢对50Hz/60Hz工频及其谐波的抑制能力较弱。sinc4滤波器阶数高具有非常陡峭的阻带衰减对工频干扰有极佳的抑制效果但代价是建立时间长达4个转换周期。这意味着当你切换输入通道MUX或改变增益PGA后必须等待4个数据输出周期读数才能完全稳定。FIR滤波器这是一种线性相位滤波器能保证信号波形不失真在某些对信号相位有要求的应用中如音频分析有优势但在一般的直流测量中不常用。注意滤波器阶数与建立时间的绑定关系是调试中常见的“坑”。如果你发现切换通道后前几个读数跳动很大然后才稳定很可能就是没给滤波器足够的建立时间。在连续转换模式下这不是问题但在使用单次转换Pulse或切换多路输入时必须在软件中插入足够的延迟或丢弃前几个读数。2.2 工作模式与高级功能针对特定场景的“武器库”MODE1寄存器地址03h提供了更高级的工作模式控制包括斩波模式和转换控制。斩波模式CHOP[1:0]是ADS1235提升长期稳定性的“王牌技术”。其原理是通过周期性交换ADC内部放大器的输入极性将固有的直流失调电压Offset调制到交流域再通过数字处理将其消除。这能有效抑制由温度变化、时间漂移引起的零点误差。对于需要连续数小时甚至数天保持高精度的应用如实验室天平开启斩波模式几乎是必须的。但天下没有免费的午餐斩波模式会引入额外的调制和解调过程通常会导致有效数据速率减半并且可能增加额外的建立时间。在数据手册的时序图中可以明确看到CHOP模式下的数据就绪DRDY脉冲间隔会发生变化。转换模式CONVRT位让你选择连续转换还是单次转换。连续转换模式下ADC一旦启动就会周而复始地进行转换数据源源不断适合实时监控。单次转换模式下每次转换都需要由START引脚或命令触发适合低功耗应用只有在需要读数时才唤醒ADC进行转换可以大幅降低系统平均功耗。启动延迟DELAY[3:0]是一个容易忽略但很有用的功能。它会在每次转换开始前插入一个可编程的延迟0us到17.8ms。这个延迟主要用在多路复用Multiplexing场景中。当你用ADS1235的输入多路切换器INPMUX轮流测量多个传感器时切换模拟开关后输入端的RC滤波网络和ADC内部的采样电容需要时间建立到新的电压值。如果立即开始转换读数会不准确。此时就可以利用DELAY功能在切换MUX和启动转换之间插入一个合适的 settling time建立时间确保信号稳定后再采样而无需MCU进行软件延时简化了编程。2.3 输入与增益配置匹配信号源的关键PGA寄存器地址10h和INPMUX寄存器地址11h共同决定了ADC如何看待你的输入信号。PGA增益GAIN[2:0]的选择直接决定了ADC的输入量程。ADS1235的PGA提供1、64、128三档增益注意000-101是保留的不能使用。增益越高能测量的信号越小但满量程输入范围也越窄。例如在5V参考电压下增益为128时满量程输入电压约为±5V / 128 ±39mV。这里有一个至关重要的计算你必须确保你的最大输入信号电压乘以增益后不超过ADC的允许输入范围通常是AVDD - AVSS - 0.3V左右。否则会导致信号削波Clipping读数失效。对于桥式传感器如称重传感器其输出通常是毫伏级的差分信号选择增益128可以充分利用ADC的动态范围提高分辨率。输入多路复用器MUXP/MUXN让你可以将ADC的差分输入对连接到不同的外部引脚AIN0-AIN5或内部节点。除了连接外部信号它还有两个特殊设置内部温度传感器1011可以将正负输入端连接到片内温度传感器用于监测芯片结温进行温度补偿。内部连接至VCOM1111这是上电后的默认状态将输入短路到内部共模电压。在初始化ADC或进行校准时务必将输入切换到VCOM或已知的固定电压而不是让输入端浮空或接未知信号否则读数会毫无意义且充满噪声。PGA旁路模式BYPASS位允许你绕过内部的PGA放大器直接将信号送入Σ-Δ调制器。这在你使用外部仪表放大器对信号进行预处理时可能有用但通常不建议因为片内PGA是针对低噪声优化设计的。2.4 校准寄存器将精度“刻入”芯片高精度ADC的出厂精度固然重要但板级系统的误差如运放失调、电阻失配同样不可忽视。ADS1235提供了强大的片上校准功能通过OFCALx偏移校准和FSCALx满量程校准寄存器来修正这些系统误差。偏移校准OFCAL是一个24位二进制补码格式的值。ADC会在内部将原始的转换结果减去这个值再进行后续处理。它的作用是消除整个信号链传感器ADC的零点误差。例如当输入短路差分电压为0时理想的ADC输出应为0。但实际可能输出一个很小的值比如100码。将这个值100写入OFCAL寄存器ADC就会在输出前减去100使得最终读数为0。满量程校准FSCAL是一个24位标准二进制格式的值复位值为400000h。ADC会用转换结果乘以FSCAL / 400000h。它的作用是修正系统的增益误差。假设你施加一个精确的满量程参考电压如39mV / 128增益理论上ADC应输出0x7FFFFF24位正满量程。但如果实际输出是0x7F0000那么你可以计算出所需的FSCAL值FSCAL (期望输出 / 实际输出) * 400000h。通过写入计算出的值就能将增益校正到理想状态。实操心得校准流程至关重要。一个可靠的校准流程是首先将输入短接到地或共模电压执行偏移校准或读取此时的输出值作为偏移量。然后施加一个精确的、接近满量程的正向参考电压执行满量程校准。校准环境应尽可能安静、稳定。校准值可以存储在MCU的非易失性存储器中每次上电后写入ADC这样就能永久修正这块特定电路板的系统误差。2.5 参考电压与GPIO配置灵活性的体现REF寄存器地址06h允许你选择不同的参考电压输入对。除了默认的AVDD/AVSS还可以选择外部参考引脚REFP0/REFN0甚至可以将模拟输入AIN0/AIN1作为参考电压。这为实现比例式测量提供了便利。在桥式传感器应用中常用传感器的激励电压Excitation Voltage同时作为桥的供电和ADC的参考电压。这样ADC的读数就与激励电压的绝对值无关只与桥臂电阻的比例有关可以消除激励电压波动带来的测量误差。通过REF寄存器可以轻松将REFP0/REFN0连接到这个激励电压上。MODE2和MODE3寄存器管理着GPIO功能。ADS1235的AIN0-AIN3引脚可以复用为GPIO。这在一些需要自动控制的应用中非常有用例如在“交流桥式激励”应用中就需要用GPIO输出方波来交替切换桥式传感器的激励电压极性以消除热电势等直流误差。MODE2寄存器控制着引脚是连接到模拟输入还是作为数字GPIO以及方向是输入还是输出。MODE3寄存器则用于读写GPIO的数据电平。3. 寄存器配置实战从初始化到稳定读数理解了各个寄存器的含义后我们需要将它们组合起来形成一套完整的配置流程让ADS1235按照我们的意愿工作。以下是一个针对典型桥式传感器应用如电子秤的配置示例和步骤解析。3.1 上电与硬件初始化序列ADS1235上电后内部会有一个约216个时钟周期的复位过程。在此期间所有寄存器恢复为默认值且芯片不响应任何命令。因此MCU在给ADC上电后必须等待至少1ms对于7.3728MHz晶振216个周期约29.3us但考虑电源稳定建议更长再进行通信。硬件连接上需要确保电源去耦在AVDD-AVSS、DVDD-DGND、BYPASS-DGND引脚附近严格按照数据手册推荐放置10μF、0.1μF和1μF的陶瓷电容且布局要尽可能靠近引脚。未用引脚处理不用的模拟输入AINx不要悬空最好连接到共模电压如(AVDDAVSS)/2或AVDD以最小化漏电流影响。数字控制引脚如果不用硬件控制CS可接低电平使能SPISTART接低电平则通过命令控制转换RESET和PWDN接高电平禁用硬件复位和掉电模式。时钟如果使用内部振荡器将CLKIN引脚接地。如果需要更稳定的时钟或同步多个ADC则连接外部时钟源。3.2 软件配置流程与关键代码片段假设我们使用SPI接口与ADS1235通信。以下是一个典型的配置序列目标是在低噪声、低速模式下工作用于高精度称重。步骤1复位与启动上电并等待硬件稳定后可以通过拉低RESET引脚如果使能或发送RESET命令SPI写入0x06来确保ADC处于已知状态。步骤2停止转换在配置寄存器前务必停止当前的转换。如果START引脚接低电平则ADC已停止如果START接高电平处于自由运行模式则需要发送STOP命令SPI写入0x04。步骤3配置核心工作模式MODE0, MODE1这是我们决定ADC性能基调的一步。假设我们选择数据速率10 SPS权衡了噪声和速度。滤波器sinc4为了获得最好的50/60Hz工频抑制。斩波模式使能为了消除失调漂移获得最佳长期稳定性。转换模式连续转换。启动延迟使用默认50µs。根据数据手册的位定义MODE0: DR[3:0] 0010 (10 SPS), FILTER[2:0] 011 (sinc4)。寄存器值 0x13(0001 0011)。MODE1: CHOP[1:0] 01 (斩波模式), CONVRT 0 (连续转换), DELAY[3:0] 0001 (50µs)。寄存器值 0x11(0001 0001)。通过SPI写入这些值。ADS1235的写寄存器命令格式通常为0x40 | (寄存器地址 1)后跟要写入的数据。// 示例写MODE0寄存器 (地址0x02) 值为0x13 uint8_t cmd_write_mode0[] {0x44, 0x13}; // 0x40 | (0x02 1) 0x44 spi_transfer(cmd_write_mode0, sizeof(cmd_write_mode0)); // 示例写MODE1寄存器 (地址0x03) 值为0x11 uint8_t cmd_write_mode1[] {0x46, 0x11}; // 0x40 | (0x03 1) 0x46 spi_transfer(cmd_write_mode1, sizeof(cmd_write_mode1));步骤4配置输入与增益PGA, INPMUX假设我们的称重传感器差分信号接在AIN2正和AIN3负上采用内部参考AVDD/AVSS并需要最大增益。PGA寄存器GAIN[2:0] 111 (增益128)BYPASS0。寄存器值 0x07。INPMUX寄存器MUXP[3:0] 0101 (AIN2) MUXN[3:0] 0110 (AIN3)。寄存器值 0x56。// 写PGA寄存器 (地址0x10) 值为0x07 uint8_t cmd_write_pga[] {0x60, 0x07}; // 0x40 | (0x10 1) 0x60 spi_transfer(cmd_write_pga, sizeof(cmd_write_pga)); // 写INPMUX寄存器 (地址0x11) 值为0x56 uint8_t cmd_write_inpmux[] {0x62, 0x56}; spi_transfer(cmd_write_inpmux, sizeof(cmd_write_inpmux));步骤5配置参考电压REF如果我们使用外部参考电压为桥式传感器供电并将其连接到REFP0/REFN0则需要配置REF寄存器。REF寄存器RMUXP[1:0] 10 (REFP0) RMUXN[1:0] 10 (REFN0)。寄存器值 0x0A(0000 1010)。// 写REF寄存器 (地址0x06) 值为0x0A uint8_t cmd_write_ref[] {0x4C, 0x0A}; // 0x40 | (0x06 1) 0x4C spi_transfer(cmd_write_ref, sizeof(cmd_write_ref));步骤6启动转换所有寄存器配置完成后就可以启动转换了。如果使用START引脚控制将其拉高。如果使用命令控制则发送START命令SPI写入0x08。// 发送START命令 uint8_t cmd_start 0x08; spi_transfer(cmd_start, 1);步骤7读取数据在连续转换模式下ADC会持续输出数据。可以通过查询DRDY引脚或DOUT/DRDY引脚在数据输出时的特定状态来判断数据是否就绪也可以通过SPI读取数据时检查状态字节如果使能了STATENB。数据通常是24位以二进制补码形式表示。// 假设CS已拉低等待DRDY引脚变低数据就绪 while(drdy_pin_is_high()) { // 等待 } // 读取3字节数据24位 uint8_t rx_data[3]; spi_receive(rx_data, 3); // 将3个字节组合成一个有符号32位整数扩展符号位 int32_t raw_code (rx_data[0] 16) | (rx_data[1] 8) | rx_data[2]; if (raw_code 0x800000) { // 检查第23位符号位 raw_code | 0xFF000000; // 如果为负进行符号扩展 }3.3 校准流程的实现为了获得最佳精度上电配置后应执行一次系统校准。偏移校准将ADC的输入正负端短接或连接到共模电压。可以通过配置INPMUX将MUXP和MUXN都连接到内部VCOM0xFF来实现这比物理短接更可靠。等待读数稳定由于使用了sinc4和斩波可能需要等待几百毫秒。读取多个样本如100个并求平均值得到偏移值offset_raw。将offset_raw转换为二进制补码格式写入OFCAL0、OFCAL1、OFCAL2三个寄存器。注意字节顺序通常OFCAL0是最高有效字节。满量程校准在ADC输入端施加一个精确的、接近满量程的正向电压。例如对于增益128和5V参考满量程约39mV可以施加一个30mV的精密电压源。同样等待读数稳定读取平均值fs_raw。计算满量程校准字FSCAL (期望码值 / fs_raw) * 0x400000。期望码值 (输入电压 / (Vref / 增益)) * 0x800000。例如30mV输入对应的期望码值约为(0.03 / (5/128)) * 8388608 ≈ 644245。将计算出的FSCAL值写入FSCAL0、FSCAL1、FSCAL2寄存器。注意事项校准环境必须稳定无振动、温度恒定。校准后这些寄存器值会一直生效直到芯片掉电或被复位。因此通常需要将校准值保存在MCU的Flash或EEPROM中每次上电时重新写入ADC。4. 高级应用模式与性能优化技巧掌握了基本配置后我们可以探索ADS1235的一些高级功能以解决更复杂的实际问题。4.1 交流桥式激励模式的应用对于需要消除直流偏置和热电势影响的超精密测量如某些应变计应用ADS1235的交流桥式激励模式AC-Bridge Excitation非常有用。该模式通过CHOP[1:0]位选择10或11并利用GPIO引脚输出同步的方波信号驱动外部H桥或模拟开关周期性地反转施加在传感器桥上的激励电压极性。工作原理当激励电压极性反转时传感器输出的信号极性也会反转。但由热电势、运放失调等引起的直流误差其极性不变。ADC通过斩波技术将两次极性相反的测量结果相减从而抵消了直流误差只保留了真正的传感器信号。这比普通的直流斩波更能消除板级系统引入的误差。配置要点将CHOP[1:0]配置为2线或4线交流激励模式。将用于驱动外部开关的GPIO引脚如AIN0/AIN1通过MODE2寄存器配置为“连接到模拟输入”并设置为“输出模式”。在MODE3寄存器中设置这些GPIO的输出数据以产生所需的驱动波形。ADC内部逻辑会自动控制这些GPIO的切换时序与转换周期同步。必须仔细调整MODE1中的DELAY参数因为在激励电压切换后桥路和输入滤波网络需要时间建立到新的稳定状态。这个延迟时间必须大于外部电路的建立时间否则测量无效。需要根据外部RC常数来计算和设置。4.2 多路复用测量与通道切换策略ADS1235只有一个ADC内核但通过INPMUX可以连接多达6个单端输入组成3个差分对或内部温度传感器。要实现多通道扫描就需要在软件控制下动态切换MUX配置。切换策略与注意事项停止转换在切换通道前务必停止转换拉低START或发送STOP命令。在转换过程中切换MUX会导致不可预知的读数。考虑建立时间这是最容易出错的地方。切换通道后新的信号通路包括外部滤波电容和ADC内部的采样电容需要时间充电到稳定值。这个时间由外部RC常数和ADC的输入阻抗决定。必须等待足够长的时间后才能开始下一次转换。有几种方法使用DELAY寄存器在MODE1中设置一个固定的延迟时间。这是最简单的方法但需要你精确计算或测量出最坏情况下的建立时间。软件延时切换MUX后MCU主动延时一段时间通常需要数个转换周期特别是使用高阶滤波器如sinc4时。丢弃初始读数切换通道后立即开始转换但主动丢弃前几个例如2-4个读数直到数据稳定。这种方法会损失一些数据吞吐率。通道切换顺序如果测量多个差异很大的信号例如一个接近满量程一个接近零点建议在切换通道后让ADC先对内部电容进行几次“虚”转换例如将输入短接到VCOM以消除电荷注入的影响然后再连接实际信号进行测量。这能改善小信号测量的精度。4.3 低噪声布局与电源设计实战经验再好的配置如果硬件设计有缺陷也无法发挥ADS1235的性能。高精度ADC对噪声极其敏感。地平面至关重要必须为模拟部分提供完整、纯净的地平面。数字地DGND和模拟地AGND通常在ADC芯片下方单点连接通过磁珠或0欧电阻。所有模拟元件的接地端尤其是去耦电容和输入滤波电容都应该通过短而粗的走线直接连接到这个模拟地平面避免形成地环路。电源去耦是命脉AVDD和AVSS之间必须严格按照手册在尽可能靠近引脚的位置放置一个10μF的钽电容或陶瓷电容用于低频退耦和一个0.1μF的X7R/X5R陶瓷电容用于高频退耦。DVDD和DGND之间至少放置一个1μF的陶瓷电容。BYPASS引脚这是内部稳压器的输出必须连接一个1μF的低ESR陶瓷电容到地且布局优先级最高。电容选型C0G/NP0材质的电容具有最稳定的容值和极低的压电效应是输入滤波和CAPP/CAPN引脚电容的最佳选择。电源去耦可用X7R。避免使用Y5V等高压电常数材料。信号走线差分走线对于AIN和AIN-必须保持平行、等长、紧耦合以抑制共模噪声。远离干扰源模拟输入走线必须远离任何数字信号线尤其是时钟SCLK和数据输出DOUT线。如果必须交叉应垂直交叉。输入滤波在ADC的每个模拟输入引脚上串联一个小电阻如100Ω并接一个对地的电容如10nF C0G形成一个低通滤波器可以滤除射频干扰。注意电阻会产生热噪声阻值不宜过大。时钟考虑如果使用外部时钟务必保证时钟信号干净无过冲和振铃。可以在时钟源端串联一个小的源端电阻如22Ω。时钟线上的任何噪声都会直接调制到ADC的输出中。5. 典型问题排查与调试实录即使按照最佳实践设计调试高精度ADC电路时也难免遇到问题。以下是我在实际项目中遇到的一些典型问题及排查思路。5.1 读数跳动大、噪声高这是最常见的问题。首先需要区分是外部噪声还是ADC自身噪声。排查步骤输入短路测试将ADC的正负输入引脚在物理上短接在一起或者通过INPMUX寄存器短接到内部VCOM。此时理论上输入为0读数应该是一个稳定的、很小的值取决于偏移校准。如果此时读数依然跳动很大问题很可能出在ADC本身或PCB布局上。检查电源用示波器观察AVDD、AVSS、DVDD和BYPASS引脚上的电压纹波。纹波峰峰值应小于几个毫伏。特别注意开关电源的开关噪声。如果纹波过大考虑增加LC滤波或改用线性稳压器LDO。检查参考电压如果使用外部参考参考源的噪声会直接反映在输出上。确保参考电压干净、稳定。检查配置确认数据速率和滤波器配置是否与应用匹配。过高的数据速率会导致本底噪声上升。尝试降低数据速率如切换到10 SPS和启用斩波模式观察噪声是否显著下降。检查数字接口确保SCLK、DIN、DOUT等数字信号线远离模拟输入。可以尝试在SPI线上串联小电阻47-100Ω以减缓边沿减少高频辐射。检查接地确认模拟地平面是否完整所有模拟地是否星型连接到一点数字噪声是否串入了模拟地。5.2 读数不准确、存在固定偏差或非线性这通常与校准或信号链有关。排查步骤验证输入信号用高精度数字万用表6位半以上直接测量施加到ADC输入引脚上的差分电压与ADC读出的码值进行换算对比。确认信号本身是否准确。检查增益和参考电压重新计算理论码值。公式为码值 (输入电压 * 增益 / 参考电压) * (2^23)。确保增益PGA寄存器和参考电压源选择REF寄存器配置正确。执行系统校准按照前述的偏移和满量程校准流程使用已知精密的电压源进行校准。校准后问题是否解决检查输入范围确认输入电压乘以增益后没有超过(AVDD - AVSS) - 头room。过载会导致读数饱和始终接近最大值或最小值。检查外部电路输入端的滤波电阻、电容是否引入了误差运放如果使用的失调电压和偏置电流是否在可接受范围内5.3 DRDY无信号或数据读取失败这属于数字接口通信问题。排查步骤检查电源和复位确认所有电源引脚电压正常RESET和PWDN引脚处于正确电平非复位/掉电状态。检查SPI通信用逻辑分析仪抓取SPI总线CS, SCLK, DIN, DOUT的波形。确认CS信号在通信期间为低电平。确认SCLK极性和相位CPOL, CPHA与ADS1235要求一致通常为模式1或3。确认发送的命令字节是否正确。例如读数据命令是否是0x1024位数据或0x14带状态字节写寄存器命令格式是否正确检查START引脚/命令如果ADC配置为命令控制模式START引脚接低那么发送START命令0x08后DRDY才会开始周期性变低。如果START引脚接高则上电后应自动开始转换。检查时钟如果使用外部时钟用示波器测量CLKIN引脚确认时钟频率和幅度符合要求通常为7.3728MHz。如果使用内部时钟且CLKIN接地也要测量一下DOUT/DRDY引脚看是否有数据输出活动。5.4 切换通道后读数不稳定这几乎可以肯定是建立时间不足。解决方案增加延迟大幅增加MODE1寄存器中的DELAY值例如从默认的50µs增加到1ms或更长观察问题是否改善。软件处理在切换INPMUX寄存器后MCU主动延时一段时间比如等待2-4个完整的转换周期再开始读取有效数据。检查外部滤波电路输入端的RC滤波器时间常数τ RC可能太大。计算建立到所需精度如0.01%所需的时间约9τ。如果这个时间远大于ADC的采样间隔或你设置的延迟就需要减小R或C的值。但要注意减小R会增加热噪声减小C会降低滤波效果需要权衡。5.5 功耗高于预期排查步骤检查工作模式是否在不需要高速采样时仍设置了很高的数据速率降低数据速率可以线性降低功耗。使用单次转换模式在间歇性采样的应用中将CONVRT位设置为1单次转换每次读数后ADC自动进入低功耗状态由MCU定时触发下一次转换可以极大降低平均功耗。检查未用引脚悬空的模拟输入引脚可能会产生漏电流。按照建议将它们连接到固定的电位。检查电源电压在满足性能的前提下可以尝试降低模拟电源电压AVDD-AVSS或数字电源电压DVDD因为功耗与电压的平方成正比。