数字电源架构:数字控制器 vs 模拟控制器
做电源设计这些年,我见过不少工程师一上来就纠结「到底用数字还是模拟」。其实这个问题没有标准答案,关键看你想要什么。我个人习惯先画一张架构对比图,把两边的底牌都摊开,再根据项目需求做选择。
一句话总结:模拟控制器靠硬件搭建补偿网络,响应快但灵活性差;数字控制器靠软件算法实现控制,灵活可配置但引入额外延迟。
模拟控制器的典型架构
模拟电源的核心是误差放大器加补偿网络。反馈电压经过电阻分压后,与参考电压比较,误差信号通过 RC 网络整形,再送入 PWM 比较器。整个过程是连续的,没有采样保持,也没有量化误差。
我在项目中遇到过一款 1MHz 的 Buck 变换器,用模拟控制器做,环路带宽轻松做到 100kHz 以上。补偿网络调起来也简单——换几个电阻电容,扫一下波特图就行。但问题在于,一旦补偿网络焊死了,想改控制策略就得重新打板。
| 特性 | 模拟控制器 | 数字控制器 |
|---|---|---|
| 控制方式 | 连续时间 | 离散时间 |
| 补偿网络 | 硬件 RC 网络 | 软件数字滤波器 |
| 灵活性 | 低(需改硬件) | 高(可在线更新) |
| 延迟来源 | 运放带宽、传播延迟 | ADC 采样、计算、PWM 更新 |
| 典型应用 | 低成本、高带宽场景 | 多相、通信、自适应控制 |
数字控制器的核心组件
数字电源的架构可以拆成三个部分:ADC 采样、数字补偿器、数字 PWM 生成。说白了,就是把模拟环路的连续信号,变成离散的数值处理流程。
- ADC:将输出电压/电流转换为数字量。分辨率、采样率、延迟直接影响环路性能。
- 数字补偿器:通常是一个 IIR 或 FIR 滤波器,实现 PID 或更复杂的控制律。
- 数字 PWM:根据补偿器输出生成占空比信号。分辨率由时钟频率和计数器位数决定。
嗯,这里要注意:数字控制器的每个环节都会引入延迟。ADC 需要转换时间,补偿器需要计算时间,PWM 还要等下一个周期才能更新。这些延迟加起来,就是数字环路比模拟环路「慢半拍」的根本原因。
ADC 与 PWM 的时序关系
这是数字电源设计里最容易踩坑的地方。我曾经因为没搞清楚 ADC 触发时刻和 PWM 更新点的关系,导致环路相位裕度少了 20 度,带载时直接振荡。
常见的时序方案有两种:
- 同步采样:ADC 在 PWM 载波的波峰或波谷触发。此时电感电流纹波处于中点,采样噪声最小。
- 异步采样:ADC 独立于 PWM 运行,采样时刻随机。需要额外的滤波或过采样来抑制噪声。
我个人习惯用同步采样,尤其是在高频开关电源里。你想想看,如果采样点刚好落在开关噪声的尖峰上,ADC 结果会抖动得很厉害,环路补偿器跟着乱跳,输出纹波反而更大。
经验之谈:ADC 采样时刻最好设置在 PWM 载波的谷底(或峰顶),此时开关管刚完成换流,振铃已经衰减,采样值最稳定。我一般会在定时器中断里触发 ADC,确保采样点与 PWM 同步。
数字环路延迟的来源
数字环路的延迟可以分成三部分:
| 延迟类型 | 典型值 | 影响因素 |
|---|---|---|
| ADC 转换延迟 | 100ns ~ 1μs | ADC 架构(SAR、ΔΣ)、分辨率 |
| 计算延迟 | 200ns ~ 2μs | MCU 主频、算法复杂度、编译器优化 |
| PWM 更新延迟 | 0 ~ 1 个开关周期 | 更新模式(立即/下一周期)、影子寄存器 |
这三部分加起来,少则几百纳秒,多则几个微秒。对于 100kHz 的开关频率,一个周期是 10μs,延迟占比可能达到 20%~30%。这就是为什么数字电源的带宽通常只能做到开关频率的 1/10 到 1/20,而模拟电源可以做到 1/5 甚至更高。
避坑指南:我曾经在一个 500kHz 的 LLC 项目中,用了 12 位 SAR ADC,转换时间 500ns,加上 PID 计算 800ns,PWM 更新延迟一个周期 2μs,总延迟 3.3μs。环路带宽只能做到 15kHz,再高就振荡。后来换成 10 位 ADC 和查表法 PID,把总延迟压到 1.5μs,带宽才拉到 30kHz。
数字环路延迟的 SVG 时序图
下面这张图展示了从 ADC 采样到 PWM 更新的完整时序流程。你可以看到每个环节的延迟是如何叠加的。
如何评估延迟对环路的影响
延迟会降低相位裕度。具体来说,每增加一个开关周期的延迟,相位会在穿越频率处额外滞后 360° × (f_c / f_sw)。举个例子,如果开关频率 200kHz,穿越频率 20kHz,一个周期的延迟会带来 36° 的相位滞后。这可不是小数目。
我建议你在设计初期就用仿真工具把延迟模型加进去。很多工程师只算补偿器的零极点,忽略了延迟,结果样机做出来振荡,又回头查问题。其实只要在 MATLAB 或 PLECS 里加一个 z^(-n) 模块,就能模拟延迟效果。
核心结论:数字电源的环路稳定性,很大程度上取决于你能不能管住延迟。ADC 选型、MCU 主频、算法效率、PWM 更新模式,每一个环节都在跟时间赛跑。