2. 启动抖动现象定义
做PWM驱动这么多年,我见过不少工程师一上来就盯着稳态抖动指标猛调,结果系统上电瞬间就出问题。说白了,启动抖动和稳态抖动是两码事。今天我们就先把启动抖动的定义掰扯清楚。
2.1 启动抖动的波形特征
启动抖动长什么样?我习惯用示波器抓PWM输出引脚的上电波形,触发条件设成上升沿,时基放到毫秒级。你会看到什么?
- 第一个脉冲宽度异常:比设定值宽或窄,有时甚至直接缺失
- 频率不稳定:前几个周期的频率明显偏离目标值,慢慢才收敛
- 占空比漂移:从0%或100%突然跳变到目标值,中间没有平滑过渡
- 相位抖动:每个周期的起始位置在时间轴上左右晃动
举个例子。你配置了一个20kHz、50%占空比的PWM。理想情况下,上电后第一个周期就应该是25μs高、25μs低。但实际抓到的波形可能是:第一个高电平只有18μs,第二个周期变成22μs,到第五个周期才稳定在25μs。这就是典型的启动抖动。
关键判断标准:启动抖动通常发生在上电后的前5~20个PWM周期内,持续时间在微秒到毫秒量级。超过这个范围还不稳定,那就要怀疑是硬件设计问题了。
为什么会这样?我简单解释一下。PWM模块内部有计数器、比较器、死区插入逻辑。上电瞬间,这些寄存器的初始状态不确定,需要几个时钟周期才能同步到正确值。再加上外部RC充电、电源纹波的影响,前几个周期必然会有波动。
2.2 启动抖动与稳态抖动的区别
很多新手分不清这两个概念。我做个表格,一目了然。
| 对比项 | 启动抖动 | 稳态抖动 |
|---|---|---|
| 发生时间 | 上电后前几个周期 | 系统稳定运行后持续存在 |
| 持续时间 | 短暂(μs~ms级) | 持续整个运行过程 |
| 抖动幅度 | 较大(可达目标值的50%以上) | 较小(通常在1%~5%以内) |
| 根本原因 | 寄存器初始化、时钟同步、电源建立 | 时钟抖动、电源噪声、温度漂移 |
| 排查方法 | 单次触发抓上电波形 | 长时间累积测量、眼图分析 |
| 影响范围 | 系统启动阶段 | 全生命周期 |
你想想看,稳态抖动是系统已经跑顺了以后,因为各种噪声导致的微小波动。而启动抖动是系统还没站稳,连基本频率都没锁定。两者排查思路完全不同。
我记得有一次,客户反馈电机启动时偶尔会反转一下。我第一反应是换相逻辑错了,查了半天没找到问题。后来用示波器抓PWM启动波形,发现前两个周期的占空比竟然是反的——正脉宽变成了负脉宽。这就是启动抖动导致的相位翻转,跟稳态抖动半毛钱关系没有。
我的排查习惯:遇到PWM相关问题,先判断是启动阶段还是稳态阶段。启动阶段的问题,90%跟初始化顺序、电源建立时间、时钟同步有关。别一上来就调环路参数,那是稳态抖动的解法。
2.3 启动抖动对系统的影响
启动抖动不是小事。我见过最严重的后果是:一个工业伺服驱动器,每次上电都有概率炸IGBT。排查了两个月,最后发现是PWM启动抖动导致死区时间被压缩,上下管直通。
具体来说,启动抖动会带来以下几类问题:
- 功率器件应力冲击:第一个脉冲宽度异常,可能导致变压器饱和、电感电流过冲、MOSFET或IGBT过流。我在项目中遇到过,一个DC-DC模块上电瞬间输出过压,直接把后级芯片烧了。
- 电机启动异常:对于BLDC或PMSM电机,启动抖动会导致换相时序错乱,电机可能反转、抖动、甚至堵转。尤其是无传感器方案,启动抖动会直接干扰反电动势检测。
- EMI超标:启动阶段的频率突变会产生宽频谱噪声,容易在低频段造成EMI测试超标。我做过一个案子,30MHz以下频段总是压不下去,最后发现是启动抖动产生的谐波。
- 系统逻辑误判:如果后级电路有边沿触发或定时检测逻辑,启动抖动可能导致误触发。比如一个PWM输入的光耦隔离电路,启动抖动可能让光耦输出一个错误的脉冲。
- 寿命可靠性下降:每次上电都来一次冲击,长期累积会加速器件老化。尤其是电解电容和功率半导体,最怕这种重复性浪涌。
注意:启动抖动的影响往往不是立即显现的。有些系统可能运行几个月才出问题,因为每次启动的冲击都在累积损伤。所以排查时不要只看当前波形,还要考虑长期可靠性。
下面这张图总结了启动抖动的定义、特征、区别和影响,方便你快速回顾。