第三章 电源树WCCA分析:LDO输出精度、DC-DC转换器最坏情况效率、电源纹波叠加计算
电源树,说白了就是给系统各个模块喂饭的管道。饭喂得不好,芯片就闹脾气——死机、复位、数据出错,什么毛病都可能来。我做了十几年硬件,见过太多系统莫名其妙挂掉,最后查出来都是电源问题。今天咱们就聊聊电源树WCCA分析里最核心的三个点:LDO输出精度、DC-DC最坏情况效率、还有纹波叠加计算。
3.1 LDO输出精度分析——别被数据手册骗了
很多人选LDO,只看标称输出电压。比如要3.3V,就找个3.3V的LDO。嗯,这其实是个坑。
LDO的输出精度,不是数据手册封面上那个数字。它由好几个因素叠加而成:
- 初始精度:出厂时的电压偏差,通常±1%~±2%
- 温度漂移:温度变化引起的电压变化,典型值±50ppm/°C~±100ppm/°C
- 负载调整率:负载电流变化带来的影响,通常0.1%/A~0.5%/A
- 线性调整率:输入电压变化的影响,一般0.01%/V~0.1%/V
- 老化效应:长期使用后的漂移,这个很多人会忽略
最坏情况输出电压计算公式:
Vout_min = Vout_nom × (1 - ε_init - ε_temp - ε_load - ε_line - ε_age)
Vout_max = Vout_nom × (1 + ε_init + ε_temp + ε_load + ε_line + ε_age)
举个例子。我有个项目用AMS1117-3.3,标称3.3V。查数据手册:初始精度±1.5%,温度漂移±0.5%(全温范围),负载调整率0.2%/A(最大1A),线性调整率0.1%/V(输入5V±0.5V),老化按经验取±0.5%。
算一下最坏情况:
- ε_total = 1.5% + 0.5% + 0.2% + 0.1% + 0.5% = 2.8%
- Vout_min = 3.3 × (1 - 0.028) = 3.2076V
- Vout_max = 3.3 × (1 + 0.028) = 3.3924V
你看,实际输出范围是3.208V~3.392V。如果后级芯片要求3.3V±3%(即3.201V~3.399V),那勉强能用。但要是要求±2%,就悬了。
我的经验:做WCCA时,LDO精度一定要按最坏情况算。我曾经有个项目,LDO输出标称3.3V,给FPGA供电。FPGA要求3.3V±5%,看起来绰绰有余。结果高低温测试时,低温下电压掉到3.15V,FPGA直接罢工。查了半天,原来是LDO的负载调整率在低温下恶化了,数据手册没写清楚。
3.2 DC-DC转换器最坏情况效率——效率不是常数
DC-DC的效率曲线,很多人只看典型值。比如标称90%效率,就按90%算功耗。这其实很危险。
DC-DC效率受以下几个因素影响:
- 输入电压:输入越高,效率通常越高(对降压型而言)
- 输出电流:轻载效率低,重载效率也低,中间有个最佳点
- 温度:高温下MOSFET导通电阻增大,效率下降
- 电感DCR:电感直流电阻随温度变化
- 开关频率:频率越高,开关损耗越大
做WCCA时,我们要找的是最坏情况效率,也就是效率最低的那个点。通常发生在:
- 最低输入电压 + 最大负载电流 + 最高温度
- 或者轻载模式(如果芯片有省电模式)
最坏情况效率估算方法:
η_worst = η_typical - Δη_temp - Δη_load - Δη_line
其中Δη_temp通常取3%~5%,Δη_load取2%~4%,Δη_line取1%~2%
我习惯的做法是:先看数据手册的效率曲线,找到最差工况下的效率值。如果手册没给全,就按典型效率减去10个百分点作为最坏情况。保守点,没错。
注意:千万别忽略轻载效率。有些DC-DC在轻载(比如1mA)时效率可能只有30%~50%。如果你的系统有休眠模式,一定要算这个工况下的功耗。
3.3 电源纹波叠加计算——1+1可能大于2
电源纹波,是WCCA里最容易出问题的地方。多个电源轨的纹波叠加,可能让敏感电路崩溃。
纹波叠加有两种情况:
- 同频同相叠加:如果两个电源的开关频率相同,且相位对齐,纹波直接相加。比如LDO输出纹波10mV,DC-DC输出纹波20mV,叠加后可能到30mV。
- 不同频叠加:频率不同时,用均方根叠加。V_ripple_total = sqrt(V1² + V2² + ...)
但实际情况更复杂。我遇到过一个问题:一个DC-DC给模拟电路供电,纹波20mV,看起来没问题。但旁边另一个DC-DC的开关噪声通过PCB耦合过来,在模拟电源上叠加了50mV的尖峰。这就是典型的传导耦合和辐射耦合问题。
纹波叠加WCCA检查清单:
- 检查所有电源轨的纹波规格,包括DC-DC和LDO
- 考虑开关频率的谐波分量(基频的2倍、3倍...)
- 评估PCB布局带来的耦合路径
- 计算最坏情况下的总纹波
- 对比后级电路的纹波容忍度(PSRR)
举个例子。一个系统里有3.3V和1.8V两个电源轨。3.3V由DC-DC产生,纹波30mV。1.8V由LDO从3.3V降压得到,LDO的PSRR在100kHz时为60dB。那么1.8V上的纹波是多少?
PSRR = 60dB,意味着衰减1000倍。所以3.3V上的30mV纹波,传到1.8V上只剩30μV。看起来没问题对吧?
但别忘了,LDO本身也有输出纹波。假设LDO的纹波是10μV。那1.8V上的总纹波就是sqrt(30² + 10²) ≈ 31.6μV。嗯,还是很小。
但要是DC-DC的开关频率和LDO的PSRR低谷频率重合了呢?比如LDO在1MHz时PSRR只有20dB,而DC-DC刚好工作在1MHz。那30mV纹波只衰减10倍,变成3mV。再加上LDO自身的10μV,总纹波约3mV。如果后级模拟电路要求纹波小于1mV,那就完蛋了。
避坑指南:我曾经设计一个音频系统,电源纹波一直超标。查了三天,发现是DC-DC的开关频率(1.2MHz)和LDO的PSRR低谷(1.15MHz)几乎重合。后来把DC-DC频率调到1.5MHz,问题解决。所以选型时一定要看PSRR曲线,别只看低频值。
3.4 实战案例:一个电源树的完整WCCA
咱们看一个实际案例。一个嵌入式系统,电源树如下:
| 电源轨 | 电压 | 电流 | 来源 | 后级 |
|---|---|---|---|---|
| 5V | 5.0V | 2A | DC-DC (来自12V) | LDO、电机驱动 |
| 3.3V | 3.3V | 500mA | LDO (来自5V) | MCU、数字电路 |
| 1.8V | 1.8V | 200mA | LDO (来自3.3V) | DDR、PLL |
WCCA分析步骤:
- 5V DC-DC:最坏情况效率取80%(典型90%),输出纹波50mV。输入12V±10%,输出5V±5%。
- 3.3V LDO:最坏情况输出3.3V±3%,PSRR在DC-DC开关频率处为50dB。5V上的50mV纹波衰减后约0.16mV。LDO自身纹波10μV。总纹波约0.16mV。
- 1.8V LDO:最坏情况输出1.8V±3%,PSRR在DC-DC开关频率处为40dB。3.3V上的0.16mV纹波衰减后约1.6μV。LDO自身纹波5μV。总纹波约5.3μV。
看起来1.8V的纹波很小,但别忘了DDR和PLL对电源噪声非常敏感。DDR要求1.8V±5%,纹波小于20mV。5.3μV完全没问题。但PLL要求更严,可能要求纹波小于1mV。嗯,也满足。
但这里有个隐藏问题:5V DC-DC的开关噪声可能通过PCB寄生电容直接耦合到1.8V上。我在项目中就遇到过,5V上的50mV开关尖峰,通过1pF的寄生电容,在1.8V上产生了约10mV的噪声。这个在原理图上是看不出来的,必须靠布局优化。
重要提醒:WCCA不只是算数字,还要考虑物理实现。PCB布局、走线阻抗、去耦电容位置,都会影响实际纹波。我建议做完理论计算后,一定要做一次实物测试验证。
3.5 总结与工具推荐
电源树WCCA,说白了就是三件事:
- 算准LDO的输出精度(别只看标称值)
- 找对DC-DC的最坏情况效率(别信典型值)
- 算清纹波叠加(别忘了耦合路径)
我个人习惯用Excel做WCCA表格,把每个电源轨的参数、误差、纹波都列出来,自动计算最坏情况。你也可以用Mathcad或者Python脚本。工具不重要,关键是思路要对。
最后送大家一句话:电源是系统的命脉,WCCA是电源的保险。别等到板子回来了才发现问题,那时候改起来就痛苦了。
我的小工具:我写了一个简单的Python脚本,输入电源树参数,自动输出最坏情况电压和纹波。需要的同学可以自己写一个,花不了多少时间,但能省很多事。