3. 电源系统设计:控制板供电架构

电源设计,说白了就是给板子上每个芯片“喂饭”。喂得不对,芯片就罢工。我做了这么多年硬件,见过太多板子因为电源问题翻车——纹波太大导致ADC采集不准,上电时序不对导致FPGA配置失败,隔离没做好导致通信异常。嗯,今天咱们就把这些坑一个个填上。

核心观点:电源设计不是简单的“找个LDO接上就行”。你需要考虑架构、选型、时序、噪声,这四个环节环环相扣。

3.1 控制板供电架构:多路隔离电源设计

先说说架构。控制板上通常有多个电压域:MCU核心1.2V、IO口3.3V、模拟电路5V、通信接口隔离电源等等。这些电压从哪里来?怎么分配?

我个人习惯把供电架构分成三级:

  • 第一级:输入保护与滤波——来自外部电源(比如24V工业电源),先过保险丝、TVS管、共模扼流圈
  • 第二级:隔离DC-DC转换——把输入电压转换成中间总线电压(比如5V或3.3V),同时实现电气隔离
  • 第三级:LDO稳压——给对噪声敏感的电路(ADC、PLL、模拟前端)提供干净电源

为什么要隔离?我在一个工业控制项目中遇到过,通信接口的地环路导致整个系统烧毁。从那以后,凡是涉及外部接口的电源,我都坚持用隔离方案。

下面这张图是我常用的控制板供电架构:

控制板多路隔离供电架构 24V输入电源 保险丝 + TVS + 共模扼流圈 隔离DC-DC (24V→5V) LDO 5V→3.3V (数字) LDO 5V→1.2V (MCU核心) 隔离5V (通信接口) → MCU IO、传感器 → MCU核心、FPGA → RS485、CAN隔离

经验之谈:隔离DC-DC的输出端一定要加足够的电容。我见过有人用10μF就完事了,结果纹波大到200mV。对于5V输出,我一般至少用22μF+0.1μF+10nF三颗电容并联。

3.2 LDO与DC-DC选型:什么时候用哪个?

很多新手会问:LDO和DC-DC到底怎么选?其实没那么复杂。

对比项 LDO DC-DC
效率 低(压差越大效率越低) 高(80%~95%)
纹波 极低(<10μV) 较高(10~50mV)
噪声 高(开关噪声)
输出电流 小(通常<1A) 大(可达数A)
外围电路 简单(2~3个电容) 复杂(电感、二极管、反馈电阻)
成本 较高

我的选型原则很简单:

  • 模拟电路、PLL、ADC参考电压——必须用LDO。纹波是这些电路的杀手。
  • 大电流、高效率需求——用DC-DC。比如从24V降到5V,用LDO的话效率只有20%,大部分能量都变成热量了。
  • 中间电压转换——DC-DC+LDO组合。先用DC-DC粗调,再用LDO精调。

注意:LDO不是万能的。我曾经在一个项目中用AMS1117-3.3从5V转3.3V,负载电流500mA,结果芯片烫到80°C。为什么?压差1.7V,功耗=1.7V×0.5A=0.85W,对于SOT-223封装来说太大了。后来换成DC-DC,问题解决。

3.3 电源上电时序设计

上电时序,说白了就是先给谁供电、后给谁供电。很多芯片对供电顺序有严格要求,尤其是FPGA、SoC这类复杂器件。

举个例子,某款FPGA要求:

  • 先给VCCINT(核心电压1.2V)供电
  • 再给VCCAUX(辅助电压1.8V)供电
  • 最后给VCCO(IO电压3.3V)供电

如果顺序反了,IO口可能会通过内部ESD二极管向核心倒灌电流,轻则芯片锁死,重则永久损坏。

实现上电时序有几种方法:

  1. RC延时电路——最简单,但精度差。适合对时序要求不高的场合。
  2. 电源监控芯片——比如TPS3808、MAX809,检测电压到达阈值后输出使能信号。
  3. 专用电源时序控制器——比如LTC2928、ADM1184,可以精确控制多路电源的上电间隔。
  4. 用FPGA/CPLD控制——灵活,但需要FPGA本身先上电,有点鸡生蛋蛋生鸡的问题。

我个人习惯用电源监控芯片+MOSFET开关的组合。举个例子:

// 伪代码:上电时序控制逻辑
1. 输入电源24V上电
2. 隔离DC-DC输出5V(延时约10ms)
3. 5V电压检测:当Vout > 4.75V时,使能LDO_3V3
4. LDO_3V3输出3.3V(延时约5ms)
5. 3.3V电压检测:当Vout > 3.15V时,使能LDO_1V2
6. LDO_1V2输出1.2V(延时约5ms)
7. 所有电源就绪,释放复位信号

避坑指南:我曾经在一个项目中忽略了掉电时序。系统正常上电没问题,但快速断电再上电时,芯片内部电压还没放完,新的一轮上电就开始了,导致时序混乱。解决办法是加一个掉电检测电路,确保所有电压都降到0.5V以下才允许重新上电。

3.4 电源纹波与噪声抑制

纹波和噪声是电源设计的两大敌人。纹波是低频的(几十到几百kHz),来自DC-DC的开关动作。噪声是高频的(MHz级别),来自开关管的快速切换和寄生参数。

怎么抑制?我总结了几个实用方法:

3.4.1 输出电容的选择

电容不是越多越好,关键是选对类型和位置。

  • 电解电容——大容量(10~100μF),滤低频纹波。ESR较高。
  • 陶瓷电容——小容量(0.1~10μF),滤高频噪声。ESR低,但要注意DC偏压特性。
  • 钽电容——介于两者之间,但要注意耐压,容易爆炸。

我的标准配置:DC-DC输出端用22μF电解+0.1μF陶瓷+10nF陶瓷,三颗电容并联。电解电容负责低频,0.1μF负责中频,10nF负责高频。

3.4.2 PCB布局要点

布局对电源纹波的影响非常大。我见过同样的电路,布局不同,纹波差3倍。

  • DC-DC的输入电容要尽量靠近芯片引脚
  • 电感要远离敏感信号线
  • 反馈走线要短,远离电感
  • 功率回路面积要小

3.4.3 后级滤波

如果对噪声要求极高(比如ADC参考电压),可以在LDO后面再加一级LC滤波。

// 典型LC滤波参数
L = 10μH (绕线电感,饱和电流>负载电流)
C = 10μF (陶瓷电容,X7R材质)
// 截止频率 f = 1/(2π√(LC)) ≈ 15.9kHz
// 对100kHz以上的噪声有显著抑制效果

注意:LC滤波会引入谐振峰。如果谐振频率刚好落在DC-DC的开关频率上,反而会放大噪声。所以一定要计算好截止频率,或者加一个阻尼电阻(通常0.5~2Ω)来抑制谐振。

3.4.4 地平面设计

电源噪声最终都要通过地回路回到源头。如果地平面设计不好,噪声会耦合到其他电路。

  • 模拟地和数字地要分开,在一点连接
  • 电源地要宽,减少阻抗
  • 避免地环路

嗯,说到地环路,我想起一个案例。有一次调试一块控制板,ADC读数总是跳变。用示波器一看,ADC的参考电压上有50Hz的工频干扰。查了半天,发现是电源地通过机箱形成了地环路。后来把机箱地和电路板地用磁珠隔离,问题解决。

总结一下:电源设计没有捷径。架构要合理,选型要匹配,时序要严谨,噪声要抑制。每一步都做到位了,板子才能稳定工作。我见过太多人图省事,结果在调试阶段花了几倍的时间来排查电源问题。与其这样,不如一开始就把电源设计做扎实。


公众号:蓝海资料掘金营,微信deep3321