4. MCX PWM模块配置与电机驱动
在MCX系列MCU上驱动三相无刷电机或永磁同步电机时,PWM模块不只是“输出占空比”那么简单。它需要同时满足三个工程约束:波形必须是对称的,以便电流采样落在稳定的时间窗口内;同一桥臂的上下管绝不能同时导通,否则会烧毁功率级;PWM输出最终要经过栅极驱动器,才能驱动MOSFET或IGBT。本节围绕MCX的eFlexPWM类模块,讲清中心对齐PWM的生成机制、死区插入的配置方法、互补输出的信号关系,以及从MCU引脚到栅极驱动器的接口设计。
一、中心对齐PWM的生成机制
MCX的PWM子模块通常采用递增—递减计数器实现中心对齐模式。计数器从0递增到模值(MOD),再递减回0,形成一个对称的三角载波。比较值VAL2和VAL3分别决定上升沿和下降沿的翻转点,当计数器与比较值匹配时,输出电平翻转。由于三角波左右对称,PWM脉冲的中心始终对齐在计数器峰值处,这就是“中心对齐”名称的来源。
中心对齐带来的直接好处是:在每个PWM周期内,电流纹波在载波峰值附近趋于平缓,ADC可以在计数器峰值或谷值处触发采样,避开开关噪声。对于FOC控制,通常把ADC采样点设在计数器下溢或峰值中断处,此时三相下管全部导通,采样电阻上的电流等于母线电流,重构相电流的误差最小。
配置中心对齐PWM时,关键参数包括:
- PWM频率:由总线时钟、预分频器和MOD共同决定。例如总线时钟60 MHz,预分频为1,MOD=1500,则PWM频率为60 MHz/(2×1500)=20 kHz。
- 死区时间:由死区寄存器DTCNT0/DTCNT1设置,单位是PWM时钟周期数。
- 初始极性:通过INIT和POL寄存器决定上电时PWM引脚的电平,必须保证外部栅极驱动器处于关断状态。
- 故障保护:利用FAULT引脚或比较器触发PWM强制关断,响应过流或过压事件。
二、死区插入与互补输出
互补输出是指同一桥臂的上下两个PWM信号在理想情况下完全反相:上管导通时下管关断,反之亦然。但实际MOSFET的关断存在延迟,如果直接反相驱动,会出现上下管同时导通的“直通”现象,瞬间大电流会损坏功率管。死区插入就是在互补信号切换时,强制插入一段两者都关断的时间。
MCX的PWM模块通过死区发生器实现这一功能。以PWM_A和PWM_B为例,当PWM_A从低变高时,PWM_B不会立即变低,而是延迟一个死区时间后才变低;反之亦然。死区时间必须大于功率管的关断时间加上驱动器传输延迟,同时不能太大,否则会损失有效占空比并增加谐波失真。
死区时间的计算示例:假设栅极驱动器传输延迟为100 ns,MOSFET关断时间为50 ns,取安全裕量50 ns,则死区时间至少为200 ns。若PWM时钟为60 MHz,一个时钟周期约16.67 ns,则死区计数值约为12。实际配置时,DTCNT0和DTCNT1可分别设置上升沿和下降沿的死区,通常取相同值。
三、从MCU到栅极驱动器的接口设计
MCX的PWM引脚输出为3.3 V逻辑电平,而三相逆变器的栅极驱动器可能需要5 V或更高的输入阈值,并且需要足够的驱动电流。因此,PWM输出不能直接接MOSFET栅极,必须经过栅极驱动器。常见的接口方案包括:
- 电平转换+驱动器:使用3.3 V转5 V的电平转换芯片,再接入半桥驱动器,如IR2101、DRV8301等。
- 集成驱动器:选用支持3.3 V逻辑输入的栅极驱动器,直接与MCX引脚相连,减少外围器件。
- 隔离驱动:在高压或高噪声场合,使用光耦或数字隔离器,再驱动栅极。
接口设计时需要注意:PWM引脚应配置为推挽输出,避免开漏导致上升沿变缓;在驱动器输入端加RC滤波,抑制高频噪声;自举电容和自举二极管要靠近驱动器放置,保证高侧驱动供电稳定。此外,MCX的PWM引脚通常具有复用功能,配置时需将对应引脚设置为PWM输出模式,并关闭内部上拉或下拉,避免影响驱动器输入电平。
四、配置流程与验证方法
下面给出一个典型的MCX PWM配置流程,以三相中心对齐PWM为例:
1. 使能PWM模块时钟,复位PWM子模块。
2. 设置预分频器,确定PWM时钟频率。
3. 配置MOD寄存器,设定PWM周期。
4. 配置VAL2/VAL3,设定初始占空比。
5. 使能死区发生器,设置DTCNT0/DTCNT1。
6. 配置输出极性,确保上电时上下管均关断。
7. 使能PWM输出引脚,启动计数器。
8. 在计数器峰值或下溢中断中触发ADC采样。
9. 通过FAULT引脚或软件触发,测试故障保护响应。
验证时,先用示波器观察三对互补PWM信号,确认死区时间、周期和占空比正确;再接入栅极驱动器,观察驱动器输出波形,确认上升沿和下降沿无明显振铃;最后带电机空载运行,用电流探头观察相电流波形,确认正弦度良好且无直通尖峰。
从图中可以看出,MCX PWM模块内部完成中心对齐计数、比较匹配和死区插入,输出互补的PWM_A/PWM_B信号;这些信号经过栅极驱动器进行电平转换和功率放大,最终驱动半桥上下管。ADC采样与故障保护则与PWM计数器同步,形成闭环控制。实际调试时,建议先不接电机,用示波器逐点验证PWM波形和死区,再接入驱动器,最后带载运行。这样可以把问题定位在最小范围内,避免功率级损坏。