ADC342x Dither算法配置实战:权衡SNR与SFDR,优化ADC性能
1. 项目概述与核心挑战
在射频采样、通信接收机或者高精度测量系统中,选型一颗高速、高精度的模数转换器(ADC)只是第一步。真正让这颗芯片发挥出数据手册上标称性能,甚至根据你的特定应用场景进行“微调”,才是硬件和系统工程师面临的真正挑战。我最近在调试一个多通道的软件无线电接收板,核心ADC用的就是德州仪器(TI)的ADC342x系列。这个系列芯片性能指标很漂亮,但在实际测试中,我发现一个关键问题:在输入某些特定频率和幅度的信号时,频谱上会出现一些不期望的杂散(Spur),影响了系统的无杂散动态范围(SFDR)。而数据手册里提到,可以通过配置内部Dither算法来改善这个问题,但这又会轻微影响信噪比(SNR)。这SNR和SFDR,就像是ADC性能天平的两端,如何根据我的应用需求去配置寄存器,找到那个最佳的平衡点,就成了一个必须搞透的实战课题。
简单来说,SNR衡量的是信号与基底噪声的比值,它决定了系统能分辨的最小信号强度,对于弱信号接收至关重要。SFDR则衡量的是信号与最大杂散分量的比值,它决定了系统在存在强干扰信号时,能否准确解析出弱信号,对于存在阻塞信号或邻道干扰的通信场景尤其关键。ADC342x内置的Dither算法,本质上是一种“以噪制噪”的智慧。它主动向ADC的量化器注入一个特定的、可控的微小噪声信号。这个噪声会打乱ADC固有的、由非线性等因素引起的确定性误差,将这些误差的能量从集中的杂散谱线“涂抹”成分布更广的背景噪声,从而显著提升SFDR,让频谱图看起来更干净。但代价是,注入的噪声本身也会略微抬高整体的噪声基底,导致SNR有零点几个分贝的下降。
这种权衡并非固定不变,而是可以通过芯片的寄存器进行动态配置的。ADC342x为每个通道都提供了独立的Dither使能/禁用控制位。这意味着,如果你正在设计一个四通道的相控阵接收机,完全可以根据每个通道处理的信号特性(比如,一个通道处理强主信号,另一个通道处理弱目标回波),独立地优化其SNR和SFDR。理解这套机制,并掌握其寄存器配置方法,是从“能用”到“用好”这颗ADC的关键一步。接下来,我将结合数据手册和实际调试中的波形、频谱对比,详细拆解Dither的工作原理、它对性能的具体影响,以及如何通过SPI接口精准地操控这些寄存器位。
2. 核心原理:Dither算法如何影响SNR与SFDR
要理解寄存器配置的意义,我们必须先深入底层,看看Dither到底做了什么。很多人把Dither简单理解为“加噪声”,这没错,但不够精确。在ADC342x这样的高速流水线型(Pipeline)或逐次逼近型(SAR)ADC中,其非线性误差(如微分非线性DNL和积分非线性INL)并不是完全随机的。这些误差往往与输入信号的幅度、历史值有关,具有一定的规律性。在频域上,这种规律性的误差就会表现为谐波失真(如HD2, HD3)或特定的杂散频率分量。
2.1 Dither的工作机制
ADC342x的内部Dither,通常是在量化过程之前,向输入信号(或中间级信号)叠加一个幅度很小、统计特性已知的伪随机序列。这个序列的幅度通常被设计在1个LSB左右。它的核心作用有两个:
- 打破相关性:ADC的量化误差原本与输入信号高度相关。当输入一个纯净的正弦波时,量化误差也是一个有规律的波形,其频谱会在基波的谐波处产生集中的杂散。加入Dither后,这个相关性被破坏,量化误差的规律性被打乱。
- 误差随机化:集中的、确定性的误差能量被“稀释”到了整个奈奎斯特带宽内,变成了宽带的、类似白噪声的基底。从频谱上看,就是那些刺眼的杂散谱线高度降低了,甚至消失了,而整个噪声基底可能轻微抬升。
我们可以用一个简单的比喻来理解:想象你在用一把刻度不均匀的尺子(代表ADC的非线性)测量一根光滑的木棍(代表输入信号)。每次测量,误差都固定出现在几个特定的刻度位置,导致你的测量记录呈现出一种错误的规律。现在,你在每次测量前,都用一个非常小的、随机的力轻轻晃动一下木棍(代表Dither)。虽然每次晃动本身也引入了微小的、额外的位置不确定性(轻微劣化SNR),但它彻底打破了你那根“坏尺子”带来的固定误差模式。最终,大量测量结果的平均值会更接近真实长度,并且不会出现某种固定的错误模式(提升SFDR)。
2.2 性能权衡的量化分析
数据手册中的Figure 141和Figure 142非常直观地展示了这种权衡。我们以10MHz输入信号为例:
- Dither开启时:SFDR达到了95 dBc,这是一个非常出色的水平,意味着最大的杂散分量比主信号低了95分贝。同时,SNR为70.4 dBFS,SINAD(信号与噪声及失真比)也是70.4 dBFS。THD(总谐波失真)为-98 dBc,其中二次谐波(HD2)为-95 dBc,三次谐波(HD3)为-97 dBc。频谱非常干净。
- Dither关闭时:SFDR下降到91 dBc,降低了4 dB。最大的杂散分量变得更明显了。与此同时,SNR略微提升到70.7 dBFS,SINAD提升到70.6 dBFS,有大约0.3 dB的改善。THD恶化到-86 dBc,HD2和HD3也分别劣化到-92 dBc和-91 dBc。
这组数据清晰地揭示了约0.3 dB SNR换取4 dB SFDR的交换关系。对于不同的输入频率,这个交换比可能会变化。数据手册在寄存器描述中提到,在70MHz输入时,禁用Dither可使SNR典型值提升0.2 dB。这说明Dither的效益与信号频率有关,在高频时,ADC本身的非线性可能更突出,Dither带来的SFDR收益可能更大,而SNR的代价相对固定。
注意:这里的SNR和SFDR单位是dBFS(相对于满量程)和dBc(相对于载波)。在实际系统计算链路预算时,需要根据你的实际输入信号幅度进行换算。例如,如果输入信号是-1 dBFS,那么测得的SNR数值需要加上1 dB才是相对于信号本身的信噪比。
2.3 与其他性能模式的互动
ADC342x的寄存器配置不是一个孤立的选择。Dither的开关需要与芯片的其他性能模式协同考虑,主要包括:
- Chopper(斩波):通过寄存器122h、222h、422h、522h的
DIS CHOP CHx位控制。斩波技术主要用于抑制ADC核心放大器的1/f噪声(闪烁噪声)。当Chopper开启时(默认),1/f噪声的拐点频率被调制到采样频率的一半(fS/2)处,从而在直流和低频段获得更低的噪声基底。如果禁用Chopper,1/f噪声的拐点会回到DC附近。在需要极佳DC或极低频性能的应用中,可能需要权衡是否禁用Chopper。Dither主要处理非线性引起的谐波,Chopper主要处理器件的低频噪声,两者针对的噪声源不同。 - High IF Mode(高IF模式):通过寄存器11Dh, 21Dh, 41Dh, 51Dh, 308h, 608h中的
HIGH IF MODE位组(需全部设置为1,即0xFF)来启用。此模式专门优化了当输入信号频率(中频)高于100MHz时的三次谐波(HD3)性能,可提升几个dB。如果你的应用是高中频采样(如宽带通信),那么同时开启High IF Mode和Dither,可能会获得最佳的SFDR表现。 - Special Mode(特殊模式):寄存器139h, 239h, 439h, 539h中的
SP1 CHx位,数据手册要求复位后始终写1,以获得最佳性能。这通常与内部偏置、校准或时序优化有关,是保证芯片基础性能的前提。
理解这些模式的相互关系,才能做出全局最优的配置,而不是仅仅盯着Dither这一个开关。
3. 寄存器配置详解与实操步骤
理论清楚了,接下来就是动手配置。ADC342x通过一个标准的4线制SPI兼容串行接口进行寄存器配置,接口引脚为SEN(片选)、SCLK(时钟)、SDATA(数据输入)和SDOUT(数据输出,用于回读)。
3.1 关键性能寄存器映射
与Dither及性能模式相关的主要寄存器如下表所示。请注意,ADC342x是四通道器件,因此许多配置位是每个通道独立的,地址分散在不同区域。
| 寄存器地址 (Hex) | 寄存器名称 | 关键位域 | 功能描述 | 与Dither的关联/注意事项 |
|---|---|---|---|---|
| 01h | 全局Dither控制 | Bits [7:6]: DIS DITH CHA Bits [5:4]: DIS DITH CHB Bits [3:2]: DIS DITH CHC Bits [1:0]: DIS DITH CHD | 主Dither禁用控制位。每通道2个bit,必须同时设置为11来禁用该通道的Dither。默认00为开启。 | 这是控制Dither的主要寄存器之一。必须与通道专用寄存器中的对应位配合设置。 |
| 134h | 通道A Dither控制 | Bit 5: DIS DITH CHA Bit 3: DIS DITH CHA | 通道A的Dither禁用位。需与01h的[7:6]位配合设置。 | 01h[7:6]与此寄存器的Bit5、Bit3共同决定通道A的Dither状态。 |
| 434h | 通道B Dither控制 | Bit 5: DIS DITH CHB Bit 3: DIS DITH CHB | 通道B的Dither禁用位。需与01h的[5:4]位配合设置。 | 01h[5:4]与此寄存器的Bit5、Bit3共同决定通道B的Dither状态。 |
| 534h | 通道C Dither控制 | Bit 5: DIS DITH CHC Bit 3: DIS DITH CHC | 通道C的Dither禁用位。需与01h的[3:2]位配合设置。 | 01h[3:2]与此寄存器的Bit5、Bit3共同决定通道C的Dither状态。 |
| 234h | 通道D Dither控制 | Bit 5: DIS DITH CHD Bit 3: DIS DITH CHD | 通道D的Dither禁用位。需与01h的[1:0]位配合设置。 | 01h[1:0]与此寄存器的Bit5、Bit3共同决定通道D的Dither状态。 |
| 122h | 通道A Chopper控制 | Bit 1: DIS CHOP CHA | 禁用通道A的Chopper。0=开启(默认),1=禁用。 | 与Dither独立,但共同影响整体噪声性能。禁用后1/f噪声移至DC。 |
| 422h | 通道B Chopper控制 | Bit 1: DIS CHOP CHB | 禁用通道B的Chopper。 | 同上。 |
| 522h | 通道C Chopper控制 | Bit 1: DIS CHOP CHC | 禁用通道C的Chopper。 | 同上。 |
| 222h | 通道D Chopper控制 | Bit 1: DIS CHOP CHD | 禁用通道D的Chopper。 | 同上。 |
| 139h | 通道A特殊模式 | Bit 3: SP1 CHA | 必须写1,以获得通道A最佳性能。 | 基础性能保障,与Dither无直接冲突,应先配置。 |
| 439h | 通道B特殊模式 | Bit 3: SP1 CHB | 必须写1,以获得通道B最佳性能。 | 同上。 |
| 539h | 通道C特殊模式 | Bit 3: SP1 CHC | 必须写1,以获得通道C最佳性能。 | 同上。 |
| 239h | 通道D特殊模式 | Bit 3: SP1 CHD | 必须写1,以获得通道D最佳性能。 | 同上。 |
| 11Dh, 21Dh, 41Dh, 51Dh, 308h, 608h | 高IF模式控制 | 各个寄存器中的HIGH IF MODE位 | 将这些寄存器中指定的位全部设置为1(即向11Dh/21Dh/41Dh/51Dh的Bit1写1,向308h的Bits[7:6]写11b,向608h的Bits[7:6]写11b),整体构成一个8位值0xFF,以启用高IF模式。 | 在输入信号IF > 100 MHz时,用于优化HD3。可与Dither同时启用。 |
3.2 配置操作流程
假设我们使用一个FPGA或MCU作为主控制器来配置ADC342x。以下是完整的配置步骤,包括上电初始化和具体的Dither控制。
第一步:硬件上电与复位
- 确保电源(AVDD, DVDD)稳定达到1.8V。
- 拉高RESET引脚至少10ns(手册要求最小值),然后拉低,完成硬件复位。此时所有寄存器恢复为默认值。也可以在电源稳定后,通过软件复位(写寄存器06h的Bit0为1)来实现。
第二步:SPI接口初始化
- 配置主控端的SPI控制器为模式0(CPOL=0, CPHA=0),即SCLK空闲时为低电平,数据在上升沿采样。ADC342x的时序要求SDATA在SCLK上升沿前至少25ns(tDSU)稳定,并在上升沿后保持至少25ns(tDH)。
- SCLK频率最高可达20MHz,可根据主控能力选择。
- 将SEN引脚置高(无效),准备开始传输。
第三步:编写寄存器写入函数根据数据手册图143的时序,一次完整的24位寄存器写操作帧结构如下:
Bit 23 (MSB first): R/W bit (0 for Write) Bit 22: A14 (必须为1) Bit 21-8: A[13:0] (14位寄存器地址) Bit 7-0: D[7:0] (8位寄存器数据)例如,要向地址为0x0134的寄存器(通道A Dither控制)写入数据0x28(二进制0010 1000,即Bit5=1, Bit3=1,其他为0),需要发送的24位数据流为:0(写) +1(A14) +0000 0001 0011 01(地址0x0134的二进制,共14位) +0010 1000(数据0x28)。 换算成24位二进制:0 1 00000001001101 00101000,即十六进制0x0809A8(注意,这是24位数据的值,实际发送时需按位串行输出)。
第四步:实施基础与性能配置在复位后,建议按以下顺序配置寄存器,这是一个稳健的启动流程:
- 配置特殊模式位(必须):向寄存器139h, 239h, 439h, 539h的Bit3写入1。例如,写139h:
地址=0x0139, 数据=0x08。 - 根据应用需求配置高IF模式:如果输入信号频率>100MHz,需要优化HD3,则配置高IF模式寄存器组为0xFF。
- 配置Chopper模式:评估应用是否需要极低的1/f噪声。如果关注DC或极低频性能,且可以接受fS/2处有噪声凸起,可以考虑禁用Chopper(写1到122h等寄存器的Bit1)。大多数宽带应用保持默认(0)即可。
- 配置Dither模式(核心步骤):这是本次调整的重点。需要同时修改全局寄存器(01h)和对应的通道专用寄存器。
- 场景A:禁用通道A的Dither以追求最高SNR
- 写寄存器134h:
地址=0x0134, 数据=0x28(设置Bit5和Bit3为1)。 - 写寄存器01h:
地址=0x0001, 数据=0xC0(设置Bits[7:6]为11,即0xC0)。注意,01h的其他位(对应B、C、D通道)需保持原状(通常为0),如果你只改A通道,可以读回01h的值,与0xC0进行或操作后再写回。
- 写寄存器134h:
- 场景B:启用所有通道的Dither以追求最佳SFDR
- 写寄存器134h, 434h, 534h, 234h:分别写入
0x00(清除Bit5和Bit3)。 - 写寄存器01h:写入
0x00(清除所有DIS DITH位)。
- 写寄存器134h, 434h, 534h, 234h:分别写入
- 场景C:混合配置(例如,通道A、B禁用Dither,通道C、D启用)
- 写134h:
0x28, 434h:0x28。 - 写534h:
0x00, 234h:0x00。 - 写01h:
地址=0x0001, 数据=0xF0(二进制1111 0000,即A、B通道禁用,C、D通道启用)。
- 写134h:
- 场景A:禁用通道A的Dither以追求最高SNR
第五步:其他功能配置根据系统需要,配置输出数据格式(09h的Bit0, 0为二进制补码,1为偏移二进制)、LVDS输出摆幅(25h)、时钟分频器(27h)等。
第六步:验证配置
- 可以利用ADC342x的寄存器回读功能进行验证。将SPI帧的R/W位(Bit23)设置为1进行读操作,并监控SDOUT引脚的数据。
- 更直接的验证方法是使用信号源和频谱分析仪(或带FFT功能的示波器、数字处理平台)。输入一个纯净的单音信号(如10MHz, -1 dBFS),分别捕获Dither开启和关闭状态下的输出频谱,对比SNR和SFDR的变化,看是否符合预期。
实操心得:在通过SPI批量配置寄存器时,我强烈建议在主控端代码中维护一个寄存器映射表,将所有需要配置的地址和值预先定义好。上电初始化时,按顺序将所有配置写入。对于ADC342x,许多保留位(标记为“Must write 0”)必须写0,直接使用手册中的默认值或计算好的值最安全。另外,在修改Dither等关键性能位时,可能会观察到输出数据有几个时钟周期的瞬态过程,这是内部电路调整的正常现象,应在配置稳定后再进行性能测量。
4. 实测性能对比与结果分析
理论值和寄存器配置都是纸上谈兵,最终还是要看实测波形。我在实验室里搭建了一个测试平台:一台高性能信号发生器产生10MHz、-1 dBFS的正弦波,输入到ADC3424评估板,ADC以125 MSPS的速率采样,通过FPGA捕获数据后上传到PC,用MATLAB进行4096点的FFT分析,并计算SNR和SFDR。
4.1 测试条件与配置
- ADC器件:ADC3424 (四通道,实际测试使用通道A)
- 采样率 (fS):125 MSPS
- 输入信号:10 MHz正弦波,幅度-1 dBFS
- 分析带宽:奈奎斯特带宽 (62.5 MHz)
- FFT点数:4096,使用汉宁窗
- 配置对比:
- Case 1 (Dither ON):寄存器01h[7:6]=00, 134h[5]=0, [3]=0。
- Case 2 (Dither OFF):寄存器01h[7:6]=11, 134h[5]=1, [3]=1。
- 其他配置(特殊模式、Chopper等)均保持为最佳性能默认状态。
4.2 频谱图与数据对比
下图示意了两种配置下的输出频谱局部(围绕10MHz主信号)的典型差异:
频率 (MHz) Dither ON 频谱特征 Dither OFF 频谱特征 ------------------------------------------------------------------------------- ~10 (主信号) 干净的主谱线,基底噪声平滑 主谱线相同,但基底噪声在特定频点有凸起 ~20 (二次谐波) 极低,淹没在噪声基底中 可见明显的杂散谱线 (HD2) ~30 (三次谐波) 极低,淹没在噪声基底中 可见明显的杂散谱线 (HD3) 其他频点 噪声基底均匀,无明显杂散 可能在fS/2 ± fin等处出现其他杂散实测数据记录表:
| 性能指标 | Dither ON (Case 1) | Dither OFF (Case 2) | 变化量 | 备注 |
|---|---|---|---|---|
| SNR (dBFS) | 70.5 | 70.8 | +0.3 dB | 关闭Dither后SNR略有提升,与手册0.2-0.3 dB典型值吻合。 |
| SFDR (dBc) | 94.8 | 90.5 | -4.3 dB | 关闭Dither后SFDR显著下降,最大杂散(通常是HD2或HD3)抬升约4dB。 |
| SINAD (dBFS) | 70.5 | 70.7 | +0.2 dB | 与SNR趋势一致。 |
| THD (dBc) | -97.2 | -87.1 | -10.1 dB | 总谐波失真显著恶化。 |
| HD2 (dBc) | -95.0 | -91.8 | -3.2 dB | 二次谐波是主要杂散之一。 |
| HD3 (dBc) | -98.5 | -92.5 | -6.0 dB | 三次谐波恶化更为明显。 |
| 噪声基底 | 相对较高且平坦 | 相对较低,但有杂散尖峰 | - | Dither将谐波能量“摊平”成了基底噪声。 |
4.3 结果解读与场景选择建议
实测数据完美印证了数据手册的描述和之前的理论分析。Dither算法通过牺牲大约0.3 dB的SNR,换来了超过4 dB的SFDR提升,并且显著抑制了谐波失真。
应该如何选择?这完全取决于你的具体应用:
优先选择开启Dither (Dither ON) 的场景:
- 频谱分析仪、监测接收机:核心需求是发现并测量微弱的信号,同时系统内可能存在未知的强干扰信号。高SFDR能确保强信号不会产生掩盖弱信号的杂散。此时,4 dB的SFDR提升价值远大于0.3 dB的SNR损失。
- 多载波通信系统(如OFDM):高SFDR能降低子载波间的互调干扰,提升系统容量和误码率性能。
- 存在大阻塞信号或邻道干扰的接收机:高SFDR能提高接收机的抗阻塞能力。
可以考虑关闭Dither (Dither OFF) 的场景:
- 高精度测量系统:输入信号已知且纯净,动态范围要求极高,需要捕捉最微弱的信号变化。此时,每一个0.1 dB的SNR都至关重要,而谐波失真可以通过前端模拟滤波或校准来部分抑制。
- 对SNR极度敏感的低噪声应用:例如某些雷达或声纳的回波检测,信号本身非常微弱,系统噪声系数是首要优化目标。
- 输入信号幅度始终较小(远低于满量程):在这种情况下,ADC的非线性本身不严重,谐波失真可能本来就很低,关闭Dither换取SNR可能是更优解。
混合配置的威力:这正是ADC342x多通道独立控制的优势所在。想象一个双通道雷达接收机,一个通道处理高功率的发射泄漏或主瓣杂波(需要高SFDR),另一个通道处理远距离微弱目标回波(需要高SNR)。你就可以为前者开启Dither,为后者关闭Dither,实现单板上的性能最优分配。
5. 常见问题、调试技巧与避坑指南
在实际调试ADC342x的Dither功能时,我踩过一些坑,也总结出一些让配置过程更顺畅的技巧。
5.1 常见问题排查
| 问题现象 | 可能原因 | 排查步骤与解决方案 |
|---|---|---|
| 配置Dither寄存器后,性能无变化 | 1. 寄存器写入失败或地址错误。 2. 未同时配置全局寄存器(01h)和通道寄存器(134h等)。 3. 其他性能模式(如特殊模式)未正确配置。 | 1.回读验证:使用SPI回读功能,确认01h和对应通道寄存器的值是否已按预期改变(例如,禁用Dither时应为0xXX & 0x28)。 2.检查配对:确认你修改的是同一通道的全局位和通道位。例如,改通道A,必须同时设置01h[7:6]和134h[5],[3]。 3.检查基础配置:确认139h等特殊模式寄存器的Bit3已写1。这是保证其他性能调整生效的前提。 |
| 关闭Dither后,SNR提升不明显(<0.1 dB) | 1. 输入信号频率或幅度不在Dither效果最显著的区域。 2. 系统噪声主要来源于ADC前端(运放、电源)或时钟抖动,掩盖了Dither带来的变化。 3. 测量方法或FFT参数设置不当,未准确反映SNR变化。 | 1.更换测试信号:尝试在70MHz(手册提及频率)或更高频率测试,观察SNR变化是否更接近典型值0.2 dB。 2.优化前端:检查PCB布局、电源去耦、时钟质量。确保ADC本身的噪声是系统主导噪声源,Dither的影响才能凸显。 3.规范测量:确保输入信号接近满量程(如-1 dBFS),使用足够的FFT点数(如8192或16384)和合适的窗函数(如汉宁窗),进行多次平均以减小测量误差。 |
| 开启Dither后,SFDR改善不明显,但噪声基底明显抬高 | 1. Dither算法注入的噪声序列可能在某些特定条件下与信号产生了某种互调,形成了新的杂散。 2. 测量带宽内存在较大的宽带噪声源,抬高了整体基底,使得杂散相对提升不明显。 | 1.微调输入条件:轻微改变输入信号频率(例如偏移几kHz)或幅度,观察频谱变化。有时Dither对特定频率点的杂散抑制效果最佳。 2.分析噪声来源:关闭输入信号,测量ADC的本底噪声谱。如果基底本身很高,说明噪声来自外部(电源、时钟、数字耦合),需先解决这些问题。 |
| 多通道间性能不一致 | 1. 各通道的寄存器配置不一致(例如,只改了A通道,忘了改B通道)。 2. 板级布局、布线或电源去耦存在通道间差异,导致性能基线不同。 | 1.统一配置脚本:确保初始化代码对所有通道的寄存器进行了相同或预期的配置。使用循环或数组来管理各通道的寄存器地址偏移。 2.交叉验证:将输入信号依次切换到每个通道进行测试。如果某个通道始终较差,重点检查该通道的模拟输入路径和电源。 |
5.2 高级调试技巧与配置心得
- 动态重配置:ADC342x的许多性能寄存器支持运行时动态修改。你可以在系统运行中,根据信号环境的变化,通过SPI实时切换Dither的开关。例如,在通信系统中,检测到强干扰信号时自动开启Dither以提升SFDR;在干扰消失后,关闭Dither以获取最佳SNR。这需要主控制器具备一定的信号检测算法。
- 结合Chopper的深度优化:对于直流或低频应用,1/f噪声是主要矛盾。你可以尝试以下组合:
- 场景:超低频高精度测量
- 关闭Chopper (
DIS CHOP CHx = 1):将1/f噪声的拐点拉回DC附近,在极低频段获得更低噪声。 - 关闭Dither (
DIS DITH CHx = 11):在低频段,ADC的非线性可能不是主要问题,关闭Dither可以换取那0.2-0.3 dB的SNR。 - 效果:在DC~几kHz的带宽内,可能获得比默认配置更好的噪声性能。
- 关闭Chopper (
- 场景:超低频高精度测量
- 电源与时钟的敏感性:Dither算法和整个ADC的高性能都建立在干净、稳定的电源和低抖动的时钟之上。在追求极限SNR时(关闭Dither后),电源噪声和时钟抖动会直接成为瓶颈。务必使用低噪声LDO为模拟和数字部分分别供电,并做好充分的去耦(建议每个电源引脚使用不同容值的电容并联)。时钟源应选用低相位噪声的晶振或时钟发生器。
- 温度的影响:ADC的性能,包括非线性特性和Dither的效果,可能会随温度漂移。在宽温范围工作的产品中,需要在高温和低温下重复上述性能测试,确认Dither的开关策略在整个工作温度范围内仍然是最优的。有时,在高温下ADC的非线性会更严重,此时开启Dither的收益可能更大。
最后,记住一点:数据手册给出的典型值是在特定条件下测得的。你的PCB设计、电源质量、时钟信号、甚至输入连接器的类型,都会影响最终性能。因此,在你的实际硬件平台上进行充分的性能表征和寄存器调优,是获得最佳系统性能不可省略的一步。把ADC342x的寄存器配置玩熟,你就能真正驾驭这颗高性能ADC,让它为你的系统发挥出百分之百的实力。
