4、驱动电路设计:ADC前端RC滤波器设计,运放选型与配置,单端转差分电路
好,咱们进入第四讲。这一讲的内容,说白了就是ADC的“门面工程”——驱动电路。ADC能不能发挥出它标称的性能,很多时候不取决于ADC本身,而是取决于你前面怎么伺候它。我见过太多人花大价钱买了顶级ADC,结果前端随便接个运放,噪声大得离谱,最后怪芯片不行。其实,问题往往出在驱动上。
4.1 ADC前端RC滤波器:为什么必须加?
先聊聊RC滤波器。很多人觉得,ADC前面加个RC,不就是滤个高频噪声嘛。其实没那么简单。RC滤波器在ADC前端有三个核心作用,缺一不可。
- 抗混叠滤波:ADC采样是个离散过程,如果输入信号里混入了高于奈奎斯特频率的分量,这些分量会被“折叠”回基带,产生无法滤除的误差。RC滤波器在这里是第一道防线。
- 抑制采样瞬态:ADC内部的采样电容在采样时刻会瞬间抽取电荷,产生一个电流尖峰。这个尖峰会反冲到输入端,如果前端阻抗太高,电压就会跳变,导致建立误差。RC中的C(通常是几十到几百pF)可以充当一个“电荷池”,瞬间提供电荷,稳住电压。
- 降低运放负载:运放直接驱动容性负载容易自激振荡。RC中的R可以隔离运放和采样电容,提高稳定性。
核心原则:RC的时间常数(τ = R × C)必须远小于采样周期,但又要足够大以滤除噪声。一般建议τ < 采样周期的1/10。
我个人习惯,对于1MSPS以下的SAR ADC,R取20Ω~100Ω,C取100pF~1nF。具体值需要根据ADC的数据手册和你的信号带宽来算。嗯,这里要注意,C不能太大,否则运放驱动容性负载会不稳定。
4.2 运放选型:别只看带宽和压摆率
运放选型是驱动电路设计的重头戏。很多工程师选运放,第一反应就是看带宽(GBW)和压摆率(SR)。这两个参数当然重要,但我觉得,对于高精度ADC驱动,有几个参数比它们更关键。
4.2.1 噪声密度:被忽视的杀手
ADC的噪声通常用信噪比(SNR)来衡量。但运放的噪声会直接叠加到信号上,降低整体SNR。我曾经在一个项目中,用了某款低噪声运放,结果测出来的SNR比理论值低了3dB。查了半天,发现是运放的1/f噪声在低频段太大了。
选型时,我建议重点关注两个噪声指标:
- 电压噪声密度(eN):通常单位是nV/√Hz。对于16位以上的ADC,建议eN < 10 nV/√Hz。
- 电流噪声密度(iN):单位是fA/√Hz。如果前端阻抗很大,电流噪声会转化为电压噪声,不可忽视。
| ADC分辨率 | 建议运放电压噪声密度 | 典型运放型号 |
|---|---|---|
| 12位 | < 20 nV/√Hz | OPA376, OPA333 |
| 16位 | < 10 nV/√Hz | OPA227, OPA1611 |
| 18-24位 | < 5 nV/√Hz | OPA189, LTC2057 |
4.2.2 建立时间:比带宽更实在
带宽高不代表建立快。运放的建立时间包括摆率阶段和线性建立阶段。对于多路复用系统或高速采样,建立时间直接决定了你能跑多快。
我一般会看数据手册里的0.01%建立时间,而不是0.1%。因为对于16位ADC,精度要求是1/65536,0.1%的误差相当于65个LSB,完全不够用。
我的选型小技巧:先根据信号带宽估算所需GBW(一般GBW > 10 × 信号带宽),然后重点看噪声和建立时间。如果预算允许,优先选零漂移运放(如OPA189),它们的温漂和1/f噪声都很低。
4.3 单端转差分电路:为什么需要?怎么设计?
很多高精度ADC(尤其是SAR和ΔΣ型)的输入是差分结构。差分输入的好处很明显:共模抑制比高,能抑制电源噪声和地弹;动态范围翻倍(信号摆幅是单端的两倍)。但现实世界中,很多传感器输出是单端的。这时候就需要单端转差分电路。
4.3.1 用全差分运放(FDA)实现
最直接的方法是用全差分运放(Fully Differential Amplifier, FDA)。比如TI的THS4551、OPA1632。这类运放天生就是为差分输出设计的,内部有共模反馈环路,可以精确控制输出共模电压。
基本电路结构是这样的:
单端输入 → 接FDA的正输入端(+IN)
负输入端(-IN)通过电阻接地
输出端:VOUT+ 和 VOUT- 分别接ADC的AINP和AINN
反馈电阻Rf从输出端接到输入端
增益由Rf/Rg决定
设计时,我建议注意以下几点:
- 共模电压设置:FDA的VOCM引脚需要接一个稳定的参考电压,通常就是ADC的共模电压(VCM)。如果ADC内部有VCM输出,直接连过去最省事。
- 反馈电阻匹配:差分电路的增益精度取决于反馈电阻的匹配度。我一般用0.1%精度的电阻,或者直接用电阻阵列。
- 噪声增益:FDA的噪声增益是1 + Rf/Rg,比同相放大器大。所以增益不要设太高,否则噪声会放大。
我曾经踩过的坑:有一次我用FDA做单端转差分,结果输出波形有严重的振铃。查了半天,发现是反馈电容没加。FDA的输入端有寄生电容,如果不加反馈电容(通常几pF),高频段容易自激。后来我在Rf上并联了一个2pF的电容,问题就解决了。
4.3.2 用两个运放搭建差分电路
如果手头没有FDA,也可以用两个普通运放搭一个差分电路。经典结构是“反相放大器 + 同相放大器”组合。
电路原理:
- 第一级:同相放大器,增益为1 + R2/R1,输出VOUT+。
- 第二级:反相放大器,增益为 -R4/R3,输出VOUT-。
- 调整电阻使VOUT+和VOUT-幅度相等,相位相反。
这种方案的优点是成本低,运放选择灵活。但缺点也很明显:
- 两个运放的增益误差和相位失配会导致共模抑制比下降。
- 电阻匹配要求极高,通常需要0.01%精度的电阻。
- 高频性能不如FDA。
我个人建议,除非是低频(< 10kHz)或成本敏感的项目,否则还是老老实实用FDA。省下来的调试时间,远比那几块钱的差价值钱。
4.4 实战案例:一个16位ADC的驱动电路设计
最后,我分享一个实际案例。之前做一个精密数据采集系统,ADC用的是TI的ADS8860(16位,1MSPS,差分输入)。传感器输出是0~5V单端信号。
我的设计思路是这样的:
- 运放选型:选了OPA189,噪声密度只有5.5 nV/√Hz,建立时间0.5μs到0.01%,完美匹配1MSPS的采样率。
- 单端转差分:用THS4551 FDA,增益设为1(Rf = Rg = 1kΩ),VOCM直接接ADS8860的VCM输出(2.5V)。
- RC滤波器:在FDA输出和ADC输入之间,加了一级RC:R = 20Ω,C = 470pF。时间常数约9.4ns,远小于1μs的采样周期。
- 布局布线:所有电阻电容都放在ADC引脚附近,反馈路径尽量短。电源去耦用0.1μF + 10μF组合。
最终测试结果:SNR达到92dB,THD低于-100dB,完全达到ADS8860的标称性能。嗯,这个结果让我挺满意的。
总结一下:驱动电路设计没有捷径,但抓住三个关键点——RC滤波器的时间常数、运放的噪声和建立时间、差分电路的共模设置——就能避开大部分坑。记住,ADC的性能上限由芯片决定,但实际表现,往往掌握在驱动电路手里。