4、电源树设计与噪声抑制
高速采集系统里,电源设计从来不是配角。我见过太多项目,ADC指标选得挺好,前端放大器也够用,结果一上板,信噪比就是上不去。查来查去,最后发现是电源纹波在捣鬼。说白了,电源就是整个系统的「心脏」,心脏跳得不稳,再好的器官也白搭。
4.1 模拟/数字分区的核心逻辑
高速采集系统里,模拟电路和数字电路对电源的要求完全不同。模拟部分,比如ADC的模拟供电、运放供电,它们对噪声极其敏感。数字部分,像FPGA内核、DDR内存,它们对电流需求大,但对纹波容忍度相对高一些。
我个人习惯,在设计电源树之前,先画一张分区图。把模拟区域、数字区域、混合区域(比如ADC)标清楚。然后问自己三个问题:
- 这个器件需要多少电压? 比如ADC可能需要1.8V模拟、1.8V数字、3.3V IO。
- 这个电压的电流有多大? FPGA内核动不动就几安培甚至十几安培。
- 这个电压对纹波的要求有多高? 高速ADC的模拟供电,纹波通常要求低于1mVpp。
关键原则:模拟电源和数字电源的路径,从源头就要分开。不要共用一个LDO,更不要共用一个DC-DC。如果必须跨区域走线,用磁珠或0欧电阻做单点连接。
我在项目中遇到过一个问题:ADC的数字供电和模拟供电用了同一个DC-DC,然后通过磁珠隔离。结果ADC的SFDR(无杂散动态范围)始终差了3dB。后来我把数字供电单独用一路LDO,模拟供电用另一路超低噪声LDO,问题立刻解决。你想想看,磁珠在高频下的隔离效果其实有限,数字噪声很容易串过去。
4.2 LDO与DC-DC的选型博弈
很多新手会问:到底用LDO还是DC-DC?我的回答是:看场景。
| 对比项 | LDO | DC-DC |
|---|---|---|
| 效率 | 低(压差大时效率更低) | 高(通常80%~95%) |
| 纹波噪声 | 极低(可做到10μV级) | 较高(通常10mV~50mVpp) |
| 输出电流 | 通常小于1A | 可做到几十安培 |
| 成本 | 较低 | 较高(需要电感、电容) |
| 适用场景 | 模拟供电、低噪声敏感电路 | 数字核心、大电流供电 |
嗯,这里要注意:LDO不是万能的。如果你从5V降到1.2V给FPGA内核供电,电流3A,那LDO上的功耗是(5-1.2)*3 = 11.4W。这热量,你想想看,一个小芯片根本扛不住。所以大压差、大电流的场景,必须用DC-DC。
反过来,DC-DC的纹波是硬伤。我曾经在一个项目中,用DC-DC给ADC的模拟供电,纹波有20mVpp。ADC的ENOB(有效位数)直接从12bit掉到了10bit。后来换成超低噪声LDO,纹波降到0.5mVpp,ENOB才恢复。
我的选型口诀:
- 大电流(>1A)+ 大压差(>1V)→ DC-DC
- 小电流(<500mA)+ 低噪声要求 → LDO
- 中间地带(500mA~1A)→ 看纹波要求,要求高就用LDO,要求低就用DC-DC
- ADC模拟供电 → 必须LDO,且要选PSRR高的型号
4.3 电源纹波测试方法
设计做完了,板子回来了,怎么验证电源好不好?靠眼睛看,靠示波器测。但测电源纹波,很多人测出来的数据根本不准。
为什么? 因为示波器的探头本身会引入噪声。你想想看,示波器探头的地线夹子,就像一根天线,会拾取空间中的电磁干扰。测出来的纹波,可能有一半是探头自己带来的。
我分享一个我常用的方法:
- 用同轴电缆直接测:把示波器探头换成50欧同轴电缆,一端焊在测试点上,另一端接示波器。这样屏蔽效果好,不会引入额外噪声。
- 带宽限制:示波器带宽开到20MHz就够了。带宽开太大,会把高频噪声也测进来,那不是电源纹波,是空间辐射。
- 交流耦合:用交流耦合模式,把直流分量滤掉,只看纹波。
- 测量位置:在负载端测,不要在电源输出端测。因为PCB走线有阻抗,负载端的纹波才是器件实际看到的。
警告:千万不要用示波器探头的地线夹子去测电源纹波!那个夹子形成的环路,会像天线一样接收噪声。测出来的数据,可能比实际纹波大10倍。我曾经吃过这个亏,测出来纹波50mV,折腾了两天,最后发现是探头的问题。
另外,测纹波时要注意负载状态。空载和满载,纹波差别很大。我建议在额定负载下测,最好用电子负载模拟实际工作电流。如果条件不允许,至少让FPGA跑一个高翻转率的程序,让电流接近真实场景。
4.4 电源树设计实例
拿一个典型的高速采集系统来说,假设我们用的是250MSPS的ADC,搭配Xilinx Artix-7 FPGA。电源需求大概是这样:
| 电压 | 电流 | 用途 | 推荐方案 |
|---|---|---|---|
| +5V | 2A | 系统输入 | 外部电源适配器 |
| +3.3V | 1.5A | FPGA IO、ADC数字IO | DC-DC(从5V转) |
| +1.8V | 0.5A | ADC模拟供电 | LDO(从3.3V转) |
| +1.2V | 3A | FPGA内核 | DC-DC(从5V转) |
| +2.5V | 0.3A | ADC参考电压 | 超低噪声LDO(从3.3V转) |
这个电源树的设计思路是:先用DC-DC把5V转成3.3V和1.2V,这两个电压电流大,用DC-DC效率高。然后从3.3V再用LDO转出1.8V和2.5V,这两个是模拟供电,对噪声敏感,必须用LDO。
注意,ADC的参考电压(2.5V)是最敏感的。我一般会选PSRR(电源抑制比)在1kHz时大于80dB的LDO,比如ADP7156或者TPS7A49。这些LDO的纹波抑制能力很强,能把DC-DC的残余纹波再压下去一个数量级。
这张图把电源树的层级关系画得很清楚。从系统输入5V开始,第一级用DC-DC分出数字供电和中间总线,第二级再用LDO分出模拟供电。数字区域和模拟区域在物理布局上也要分开,中间用磁珠或0欧电阻做单点连接。
布局小技巧:DC-DC的电感和电容要靠近芯片放置,走线要短粗。LDO的输入输出电容也不能省,特别是输出电容,它直接影响LDO的稳定性和瞬态响应。我一般会在LDO输出端放一个10μF陶瓷电容,再加一个0.1μF高频电容。
好了,电源树设计这块,核心就是「分区、分级、分场景」。模拟和数字分开,大电流用DC-DC,小电流低噪声用LDO,ADC参考电压用超低噪声LDO。测纹波时注意探头方法,别被假数据骗了。做到这几点,你的高速采集系统电源就不会拖后腿。