前阵子做一个精密电压采集项目,我最初选了颗16位SAR ADC,数据手册标称SNR接近96dB,满心以为微伏级信号能轻松拿下。实际打样出来一测,有效位数只有12位出头,频谱里毛刺一片,根本原因是电容阵列失配和比较器噪声把理论精度吃掉了大半。后来换了颗24位Delta-Sigma ADC,虽然转换速率低了不少,但配合合适的时钟和驱动电路,轻松做到了18位以上有效分辨率。这件事让我重新审视了一个结论:一个内部只有1位量化器的ADC,凭什么比16位量化器的ADC还准?这篇文章就把Delta-Sigma ADC从噪声整形到数字抽取这条完整链路的核心逻辑拆开讲透,同时把我在选型、仿真和实际调试中踩过的坑一并分享出来,适合做精密测量、音频采集、传感器信号链的工程师,也适合想把ADC原理补扎实的同学。
1. 传统奈奎斯特ADC的精度天花板:量化误差、失配与功耗的三重夹击
1.1 量化噪声:躲不掉的数学底线
任何ADC都逃不过量化这个过程。一个N位ADC把连续模拟信号映射到2^N个离散电平上,每个电平间隔是Δ,量化器输出与真实输入之间的差就是量化误差。在最理想的情况下,假设输入信号足够活跃,量化误差近似在[-Δ/2, Δ/2]内均匀分布,它的平均功率就是Δ²/12。对满幅正弦波输入来说,信号功率与量化噪声功率之比就是那个经典的公式:
SNR = 6.02N + 1.76 dB
按这个公式,16位ADC的理想信噪比约是98dB,24位是146dB。这个数字听起来很美,但它隐含的前提是量化器本身是理想的,只存在量化噪声,没有任何其他非理想因素。现实世界显然不这么友好,真正的精度瓶颈往往在量化器之外。
1.2 模拟非理想性:真正吃掉高分辨率的不是量化器
拿SAR ADC为例,它内部的电容阵列既承担采样功能,又承担DAC功能。要想做到18位线性度,电容匹配精度就得优于0.0015%,这对大多数工艺来说是非常苛刻的要求。更要命的是,比较器本身有失调和噪声,参考电压源也有纹波和热噪声,这些误差全部直接叠加到转换结果上,无法靠平均来消除。
Flash ADC更直接,N位就需要2^N-1个比较器并行工作,16位就是6万多个比较器,面积和功耗直接爆炸。流水线ADC看起来折中一些,但级间增益误差、电容失配、余量放大器建立时间,每一项都需要复杂的校准电路去补偿。
这些架构的共同特点是:精度越高,模拟部分的面积、功耗和设计难度呈指数级增长。单纯靠堆硬件精度换分辨率,这条路在16位以上基本就走死了。
1.3 换思路:用时间换精度,用反馈换噪声
Delta-Sigma ADC换了一条完全不同的路。它不追求量化器本身有多精密,反而刻意使用很粗糙的量化器,常见的是1位。它的思路是用远高于信号带宽的采样速率工作,然后通过反馈环路把量化噪声从低频段“搬运”到高频段,最后在数字域用滤波器把这些高频噪声滤除,从而获得高分辨率。
这里有一个关键的哲学转变:传统ADC是在模拟域硬碰硬地消除误差,Delta-Sigma ADC则是允许误差存在,但通过环路和数字处理,把误差赶到不影响信号的地方。这就好比整理房间,前者要求房间里不允许有一粒灰尘,后者允许灰尘存在,但全部扫到地毯底下看不见的地方。工程上,后者显然更现实。
2. 噪声整形凭什么能突破精度极限
2.1 过采样:先把噪声摊平在更宽的频谱上
理解噪声整形之前,先要理解过采样。假设信号带宽是BW,奈奎斯特采样率是2BW。量化噪声的总功率固定为Δ²/12,分布在直流到fs/2的整个频带内。如果把采样率提高到OSR倍,即fs = 2 × OSR × BW,那么同样的噪声总功率会被摊到更宽的频谱上,落在信号带宽内的噪声功率就减少到原来的1/OSR。
这就是过采样的基本收益。对于理想的白噪声量化噪声,OSR每翻一倍,带内噪声功率减半,SNR提升3dB。单靠过采样,OSR从2提高到64,SNR只能提升约15dB,折算不到2.5位有效分辨率。想要从16位冲到20位,OSR需要提到几百甚至上千,代价太大,这条路本身是不够用的。
2.2 反馈环路把噪声“推”到高频
真正让Delta-Sigma ADC脱胎换骨的是噪声整形。一阶调制器的基本结构是:输入信号经过加法器,减去反馈DAC的输出,然后进入积分器,积分器的输出送入量化器(通常是1位比较器),量化结果一方面作为输出,另一方面反馈给DAC。
这个环路对信号和噪声的处理完全不同。对输入信号来说,反馈回路让输出在低频段紧紧跟随输入;对量化误差来说,它被积分器“记忆”下来,然后在下一个周期被差分抵消一部分。用Z域表达一阶调制器的输出:
Y(z) = X(z)·z⁻¹ + (1 - z⁻¹)·E(z)
信号只是延迟了一个周期,没有任何失真;而量化噪声E(z)被乘上了一个高通因子(1 - z⁻¹)。在低频处,|1 - z⁻¹|趋近于零,也就是说带内的量化噪声被大幅压制;频率越高,这个因子越大,噪声被推向高频。这就是“噪声整形”的本质。
一阶整形的效果有多明显?经过整形后,带内量化噪声功率近似正比于1/OSR³,SNR提升斜率从过采样的3dB/倍频程变成了9dB/倍频程。OSR=64时,一阶整形比单纯过采样多出约30dB的SNR增益,相当于5位有效分辨率的提升。
2.3 阶数越高,整形越狠:性能公式与关键判断
把一阶积分器换成两个级联,就得到二阶调制器,噪声传递函数变成(1 - z⁻¹)²,带内噪声功率近似正比于1/OSR⁵,SNR提升斜率进一步来到15dB/倍频程。理论上,L阶调制器的带内噪声近似正比于1/OSR^(2L+1),SNR每倍频程提升(6L+3)dB。
| 调制器阶数 | 带内噪声近似 | SNR随OSR提升斜率 | OSR=64时相对过采样的额外增益 |
|---|---|---|---|
| 无整形(纯过采样) | ∝ 1/OSR | 3dB/倍频程 | 0dB |
| 一阶 | ∝ 1/OSR³ | 9dB/倍频程 | 约30dB |
| 二阶 | ∝ 1/OSR⁵ | 15dB/倍频程 | 约60dB |
| 三阶 | ∝ 1/OSR⁷ | 21dB/倍频程 | 约90dB |
这个表格说明了一件事:阶数每提高一阶,OSR对SNR的改善斜率增加约6dB/倍频程。换句话说,在同样的过采样率下,高阶调制器能获得高得多的带内精度。但这并不意味着阶数越高越好,因为高阶调制器的稳定性问题会让设计复杂度急剧上升,这部分在下一章展开。
3. 调制器从一阶到高阶的设计演进
3.1 一阶调制器为什么不够用
一阶调制器的公式很简洁,但实际用起来问题不少。最典型的问题出现在输入信号接近直流或缓慢变化时,量化器的输出序列会出现强烈的周期性,频谱上表现为离散的“音调”而非平滑的噪声基底。这些音调的位置与输入信号幅度有关,在音频应用中能被人耳明显感知,表现为所谓的“调制噪声”或“空闲音”。
高阶调制器之所以能改善这个问题,是因为环路中的多个积分器相当于引入了额外的状态和记忆,量化误差被更彻底地打散,输出序列的周期性被破坏,噪声频谱更接近理想的白噪声。这也是为什么实际产品里极少看到一阶调制器,最低也是二阶起步。
3.2 稳定性:高阶调制器最大的暗坑
二阶及以上的单bit调制器并非无条件稳定。原因在于,1位量化器只有两个输出电平,当输入幅度过大或内部积分器状态饱和时,反馈信号无法及时把积分器拉回正常工作范围,环路就会进入过载状态,表现为输出序列出现长串的相同比特,SNR急剧恶化。
工程上常用噪声传递函数的峰值增益H∞来判断稳定裕量。经验法则是:对于单bit量化器,H∞控制在1.4到2之间比较稳妥,超过2.5基本必不稳定。这个值需要结合具体输入幅度范围和内部积分器限幅来综合验证。
我在做行为级仿真时常用的验证方法,是给调制器加一个接近满幅的正弦输入,跑足够长的瞬态仿真,观察内部积分器各节点的摆幅是否超出预期范围。如果某个积分器输出长时间贴死在限幅电平上,基本可以断定稳定裕量不足,需要降低NTF峰值增益或改用多bit量化器。
3.3 量化器位数:1bit的天然线性与多bit的DAC失配
单bit量化器有两个令人着迷的特性。第一,DAC只有两个输出电平,不存在中间电平失配的问题,所以DAC天生是完美的线性元件。多bit DAC则完全不同,比如4bit DAC需要16个电平严格等间距,任何失配都会在输出频谱中产生谐波失真,这直接影响带内精度。
第二,单bit量化器的量化步长非常大,量化误差功率可观,需要依赖高环路增益压制,对积分器和运放的性能要求更高。多bit量化器的量化步长小得多,环路对模拟非理想性的压力也小很多,稳定性更好,是提高调制器性能的一条捷径。
但多bit的代价立竿见影,DAC失配问题必须解决。常用的手段是动态元件匹配,比如DWA算法,通过循环旋转每个DAC单元的使用顺序,把失配误差调制到高频,再靠数字滤波器滤除。代价是数字逻辑电路增加,以及反馈路径上的额外延迟,这在高速设计中并不轻松。
工程上的取舍是:消费级音频Delta-Sigma ADC里多bit调制器很常见,因为采样频率相对较低,DEM逻辑来得及跑;高精度仪表类ADC则更偏爱单bit或低位数调制器,用足够的过采样率来弥补量化步长大的问题,换取更低的失真。
3.4 积分器与运放:性能的隐形天花板
开关电容积分器里,采样电容的KT/C噪声直接决定了系统的噪声本底。电容选大一点噪声就低一点,但面积和功耗跟着涨,设计上需要在三者之间权衡。一个经验是,如果目标有效分辨率是20位,输入采样电容往往要做到几皮法甚至十几皮法,否则KT/C噪声本身就能干掉两三位精度。
运放的非理想性同样关键。有限直流增益会让积分器产生漏损,等效降低积分器增益,导致噪声传递函数的低频零点偏移,带内噪声比理想模型预测的高。有限带宽和摆率则造成建立不完全,产生与信号相关的失真。对于单bit调制器,内部节点摆幅通常较大,摆率不够会直接限制最高可用采样率;多bit调制器内部摆幅小很多,对运放的摆率要求反而降低,这也是多bit方案的一个隐藏优势。
实际设计时,我一般要求运放的单位增益带宽做到采样频率的3到5倍以上,直流增益至少60dB起步,具体数字要结合目标ENOB和OSR来算。很多应用工程师拿到Delta-Sigma ADC芯片觉得它“难驱动”,本质上就是因为芯片内部的积分器和采样结构对外围驱动电路的带宽、噪声和输出阻抗有实际要求,这部分后面章节还会细说。
4. 数字抽取滤波器:高精度的另一半
4.1 为什么不能直接降采样
调制器输出的是一串高速的1bit(或低bit)数据流,信号带宽只占整个频谱的很窄一部分,大部分频谱被整形后的高频量化噪声占据。如果直接按奈奎斯特速率降采样,这些集中在高频的整形噪声会被镜像折叠回信号带内,前面辛辛苦苦做出来的噪声整形效果瞬间归零。
所以抽取滤波器必须在降采样之前完成两个任务:一是把带外整形噪声滤除干净,二是将被滤除的噪声排除在折叠频带之外。这个滤波器做不好,调制器做得再好也白搭。整个Delta-Sigma ADC的最终信噪比,是调制器和数字抽取滤波器共同决定的。
4.2 CIC滤波器:不需要乘法器的工程利器
抽取滤波器最常用的结构是CIC(级联积分梳状)滤波器,它的传递函数是:
H(z) = ((1 - z^(-M)) / (1 - z^(-1)))^N
其中M是抽取倍数,N是级数。这个结构只有加法器和延迟器,没有乘法器,非常适合在FPGA和ASIC里以极低成本实现。积分器部分在高采样率端工作,梳状部分在低采样率端工作,两级之间就是抽取操作。
CIC滤波器的输出位宽增长可以用一个公式快速估算:
B_out = B_in + N × log2(M)
举个例子,输入是1bit的调制器输出,抽取倍数M=64,级数N=3,那么输出位宽至少是1 + 3×6 = 19位。实际实现时通常还会增加几个比特作为头部空间,防止滤波器中间状态溢出。
4.3 两级抽取与FIR补偿
CIC滤波器的幅频特性有sin(x)/x形状的通带下垂,抽取倍数越大、级数越多,通带边缘的衰减越严重。这个下垂如果不去补偿,会直接扭曲信号幅频响应,表现为高频成分衰减。因此完整的抽取链通常是CIC加一级FIR补偿滤波器,专门用来拉平CIC的通带下垂,同时提供额外的阻带衰减。
性能要求高的系统,我习惯把抽取分成两级来做:第一级用CIC把采样率降到一个中间值,第二级用半带FIR或补偿FIR进一步降到最终输出速率。分两级的好处是,CIC可以做得较窄,FIR的工作频率也降下来了,整体资源消耗比一步到位更省,滤波器系数设计也更灵活。
4.4 滤波器指标对最终ENOB的影响
很多人评估Delta-Sigma ADC性能只盯调制器的SNR仿真结果,忽视了抽取滤波器对最终精度的贡献。抽取滤波器的通带纹波会直接作为幅度误差叠加到信号上,阻带衰减不足则会有残留噪声混叠回带内。
我的经验是,抽取滤波器的通带纹波至少要控制在0.01dB以内,阻带衰减至少要达到系统目标ENOB对应的量化噪声水平以下6dB以上。滤波器设计完成后,一定要把调制器输出数据流完整过一遍滤波器模型,再对滤波后的数据做FFT分析,那才是真正最终的SNDR。只看调制器输出频谱是不足够的。
5. 如何验证整形效果:仿真、频谱与ENOB读数经验
5.1 从NTF角度看整形效果
拿到一个调制器拓扑,第一步应该看它的噪声传递函数形状。用AC分析(或者直接算NTF的幅频响应),可以看到一个低通信号传递函数叠加一个高通噪声传递函数的结构:信号通带内NTF幅度远小于1,高频处则明显大于1,这个“低频凹陷、高频抬升”的形状就是噪声整形的直观体现。
一阶整形的斜率是20dB/decade,二阶是40dB/decade。这个斜率可以快速核对调制器是否工作在预期的整形阶数。如果低频频段NTF不够低,通常说明积分器增益不够,或者环路系数设置有问题。带内NTF峰值的经验判断是每20dB/decade的整形斜率配合不低于40dB的低频衰减,二阶以上调制器基本能保证OSR=64时的有效位数在18位以上。
5.2 瞬态FFT与相干采样
调制器是异步反馈系统,AC分析只能看NTF轮廓,真正的性能评估必须做瞬态仿真,然后把输出比特流做FFT分析。这里有一个极其重要的细节:相干采样条件。FFT的输入信号频率必须满足:
Fin / Fs = Mc / Nc
其中Mc是正整数,Nc是FFT点数,两者互质。满足这个条件,信号能完整周期落在FFT窗口内,频谱不会泄漏,才能直接读SNR。实际操作中我会先根据OSR和目标带宽选一个合适的Fin,确保它落在带内且与Fs互质。
FFT完成后,读SNR和SNDR的方法是:剔除直流分量和信号谐波分量,对剩余的噪声积分。这里有个容易误导的点:FFT点数越多,每个bin的噪声功率越低,频谱基底看起来越低,好像性能变好了。实际上噪声总功率没变,只是被摊到更多bin里。如果从频谱基底直接反推ENOB,记得要把FFT处理增益加回来,否则会高估性能。
5.3 实测中判断系统性能的快速路径
实测数据比仿真复杂得多,我习惯按这个顺序定位问题:先看SFDR,再看噪声基底形状,最后看带内是否有离散干扰。SFDR差通常是模拟链路失真,比如驱动放大器非线性、DAC参考源纹波;噪声基底不平整、带内出现山包,多半是电源耦合或时钟抖动;频谱上出现等间距毛刺,就要检查数字部分是否有耦合串扰。
ENOB的换算公式是:
ENOB = (SNDR - 1.76) / 6.02
这个公式无论是仿真还是实测都适用。如果实测ENOB比仿真低3位以上,坦白说问题大概率不在调制器本身,而在时钟抖动、参考源噪声或者输入驱动能力这些外围环节。先查外围,不要急着怀疑芯片性能。
6. 落地时最容易翻车的五个细节
6.1 时钟抖动:高频输入信号下被放大的误差
Delta-Sigma ADC虽然对时钟抖动不似连续时间调制器那样敏感,但开关电容调制器同样受时钟抖动影响。抖动等效于采样时刻的随机偏差,对高频输入信号来说,这个偏差乘以信号的斜率就是误差电压。信号频率越高、幅度越大,抖动引入的噪声越严重。
经验做法是:系统总均方根抖动要控制在采样周期的1/10以内,高分辨率宽带应用需要更低。音频应用用普通晶振问题不大,宽带高精度应用就得考虑低抖动时钟源,并确保时钟走线远离数字噪声源。
6.2 输入驱动:驱动放大器与RC滤波的取舍
Delta-Sigma ADC的输入采样结构是开关电容,输入端会周期性抽取电流,形成动态负载。驱动放大器需要有足够的带宽和建立能力来应对这种瞬态抽取,同时自身噪声要足够低,否则会成为整个链路的噪声主导。
我常用的做法是:驱动放大器输出端加一级RC低通,时间常数取信号带宽的5到10倍以上,一是进一步滤除带外噪声,二是隔离驱动放大器和ADC输入之间的瞬态相互作用。电容使用NP0/C0G介质,避免压电效应和电压系数引起的失真。
6.3 参考电压:噪声和瞬态响应
参考电压源的噪声直接混入量化过程,没有任何回路能把它整形掉。参考端的纹波如果落在信号带宽内,会直接出现在输出频谱里。实测中我看到过不少案例,整机噪声超标,查到最后是参考IC的噪声或去耦电容布局问题。
参考引脚的去耦电容要尽可能靠近芯片引脚放置,通常参考电源需要至少10μF钽电容加100nF陶瓷电容并联。如果参考源输出动态响应不足,调制器的瞬态电流抽取会造成参考电压跌落,引起与信号相关的失真。选择参考芯片时,除了关注噪声密度,还要看它的负载调整率和瞬态恢复时间。
6.4 调制器过载:输入幅度与稳定裕量
高阶调制器的稳定性与输入幅度强相关。输入接近满幅甚至过载时,内部积分器进入非线性区域,环路失去平衡,SNR会突然恶化,而不是缓慢下降。这正是Delta-Sigma ADC和SAR ADC行为上最显著的区别之一:SAR ADC在满幅附近只是出现削波,Delta-Sigma ADC则可能在满幅输入时直接性能崩溃。
设计系统时务必给调制器留足头空间,一般建议信号峰值不超过满幅的-3dBFS到-6dBFS。如果应用要求大动态范围,就要选那些在数据手册里明确标注了峰值输入对应性能的型号,并针对满幅条件做专项测试。
6.5 测试链路:信号源、线缆与地环路
实测Delta-Sigma ADC的ENOB,最大的敌人往往是测试设备本身。信号源的本底失真、线缆的屏蔽质量、地环路引入的工频干扰,都可能掩盖芯片的真实性能。测试高精度Delta-Sigma ADC时,我通常先把输入短路,测输出噪声本底确认系统和芯片工作正常;再输入一个-1dBFS左右的低失真正弦,评估SNDR和SFDR;最后才做不同输入幅度、不同频率的扫描测试。
如果实测频谱里有50Hz附近及其谐波的干扰,先查地环路和信号源隔离度,不要怀疑芯片。测试夹具的电源去耦、模拟地与数字地单点连接这些基本功,在高分辨率测试场景下决定成败。
6.6 最后分享一个实用小技巧
调试过程中我发现,如果某次实测的SNR比预期低很多,但又找不到明显的电源或时钟问题,不妨先看看数据手册里给出的参考电路,确认输入共模电压是否落在推荐范围内。共模电压偏了,调制器内部的开关无法充分导通,采样保持建立误差会显著增大,表现为看似无规律的失真的噪声增加。这个坑不起眼,但出现的频率很高,属于那种排查半天才发现的低级问题。把共模电压校准到数据手册推荐值附近,往往能瞬间找回好几个dB的动态范围。