LM25116与LM2843在DCM模式下的电压振荡问题排查实录
当Buck电源从CCM模式切换到DCM模式时,开关节点(SW)的波形往往会出现令人头疼的振荡现象。这种现象不仅影响电源效率,还可能引发EMI问题。本文将基于TI的LM25116和LM2843两款Buck控制器,通过实测波形对比,深入分析DCM模式下电压振荡的成因,并分享RC吸收电路的优化技巧。
1. DCM模式振荡现象的本质
在实测LM25116和LM2843两款芯片时,我们发现DCM模式下的振荡波形存在显著差异。这种差异主要源于芯片内部架构和外部电路寄生参数的综合作用。
关键观察点:
- 振荡幅度:LM25116通常在200mV以内,而LM2843可能达到500mV以上
- 振荡频率:LM25116集中在20-50MHz范围,LM2843则在10-30MHz
- 衰减速度:LM25116的振荡通常在200ns内衰减完毕,LM2843可能持续400ns以上
注意:振荡频率与PCB布局密切相关,同一芯片在不同板子上可能表现不同
通过频谱分析仪可以看到,这些振荡产生的谐波往往会超出EMI标准限值。特别是在汽车电子等对EMI要求严格的场景,这种振荡必须得到有效抑制。
2. 寄生参数的影响与测量方法
要准确分析振荡问题,首先需要理解电路中的寄生参数。我们使用阻抗分析仪测量了关键节点的寄生参数:
| 参数 | LM25116电路典型值 | LM2843电路典型值 |
|---|---|---|
| 开关管Coss | 150pF | 300pF |
| 二极管结电容 | 80pF | 120pF |
| PCB走线电感 | 5nH | 8nH |
| 接地回路电感 | 3nH | 5nH |
测量寄生参数的具体步骤:
- 使用LCR表测量MOSFET的Coss(输出电容)
- 用网络分析仪测量PCB走线的特征阻抗
- 通过时域反射计(TDR)确定关键路径的寄生电感
# 估算谐振频率的简单公式 import math def calc_resonant_freq(L, C): return 1/(2*math.pi*math.sqrt(L*C)) # 示例:计算5nH电感和150pF电容的谐振频率 f_res = calc_resonant_freq(5e-9, 150e-12) print(f"谐振频率:{f_res/1e6:.2f}MHz")实测发现,LM2843电路由于使用外置MOSFET,其寄生参数通常比集成MOSFET的LM25116更大,这也是两者振荡特性差异的主要原因。
3. RC吸收电路优化实战
针对两款芯片的不同特性,我们采用了差异化的RC吸收方案。以下是优化过程中的关键发现:
3.1 LM25116的RC参数选择
TI官方建议使用5-50Ω电阻和几个nF的电容。经过实测,我们发现:
- 最优电阻值:22Ω时损耗与抑制效果达到最佳平衡
- 电容选择:
- 1nF:振荡抑制不足
- 4.7nF:效果良好,但效率下降约0.5%
- 10nF:过度抑制,效率下降明显(>1.2%)
推荐配置:
R = 22Ω ±5% 0805封装 C = 4.7nF X7R 50V 0603封装3.2 LM2843的特殊处理
LM2843由于振荡更严重,需要更强的阻尼:
- 首先尝试标准方案(22Ω+4.7nF),发现高频振荡仍有残留
- 调整为10Ω+10nF组合,振荡明显改善
- 最终采用两级RC吸收:
- 第一级:10Ω+2.2nF(靠近开关节点)
- 第二级:33Ω+1nF(靠近二极管)
提示:多级RC电路布局时,确保第二级更靠近噪声传播路径
优化前后的波形对比如下:
| 指标 | 优化前 | 优化后 |
|---|---|---|
| 振荡幅度 | 520mVpp | 80mVpp |
| 振荡持续时间 | 420ns | 50ns |
| EMI辐射 | 超标8dB | 余量6dB |
4. 布局优化与实测技巧
除了RC吸收电路,PCB布局对振荡也有重大影响。我们总结了几条关键经验:
电流回路最小化:
- 功率回路面积控制在<1cm²
- 使用多层板时,确保有完整的接地平面
元件摆放原则:
- 输入电容尽量靠近VIN引脚
- 自举电容靠近BOOT引脚
- 反馈走线远离噪声源
测量技巧:
- 使用接地弹簧缩短探头地线
- 选择1GHz以上带宽的示波器
- 开启20MHz带宽限制功能观察低频特性
# 使用Python控制示波器抓取波形的示例命令 import pyvisa rm = pyvisa.ResourceManager() scope = rm.open_resource('TCPIP::192.168.1.100::INSTR') scope.write(':STOP') # 停止采集 scope.write(':WAV:SOUR CHAN1') # 选择通道1 scope.write(':WAV:MODE RAW') # 原始数据模式 data = scope.query_binary_values(':WAV:DATA?', datatype='B') # 获取数据在实际调试中,我们发现LM25116对布局更为敏感。一次将电感旋转90度放置,就使振荡幅度降低了40%。而LM2843则更需要关注散热设计,因为增加的RC吸收会带来额外的功率损耗。