2. MCX芯片电机控制外设概览
MCX系列MCU(如MCX A、MCX E、MCX N)在电机控制上的核心思路,是把一条完整的“采样—计算—输出—保护”闭环尽量收进片内:PWM负责产生驱动时序,ADC负责把相电流、母线电压、位置信号数字化,比较器与运放负责快速保护和信号调理,DAC则提供可编程的模拟参考或偏置。理解这些外设各自的角色以及它们如何映射到引脚,是后续配置FOC、六步换相和硬件保护的基础。
一、五个外设的分工
PWM(eFlexPWM / FlexPWM)是电机控制的“节拍源”。它不只是输出占空比,更关键的是提供三对互补通道、可编程死区、中心对齐计数、外部同步触发,以及在特定计数点产生ADC触发信号。对三相逆变器而言,三对互补PWM驱动六个MOSFET,死区防止上下桥臂直通;中心对齐模式让电流采样点落在PWM周期中点,避开开关噪声。
ADC承担电流环的“眼睛”。FOC需要至少两相电流,通常用两个ADC通道同步采样,配合PWM触发实现与开关周期严格对齐。MCX的ADC支持硬件触发、多通道扫描和结果FIFO,能在不占用CPU的情况下把采样值搬进内存。
比较器(CMP)是硬件级过流保护。它把电流采样信号与DAC设定的阈值直接比较,一旦越限立即通过内部信号链关断PWM,响应时间在百纳秒级,远快于软件中断。
运放(OPAMP)用于电流采样信号调理。分流电阻上的差分电压很小,需要运放放大并加偏置后才能进入ADC量程。片内运放可减少外部器件,但要注意增益带宽和输入共模范围。
DAC在这里主要不是输出波形,而是为比较器提供可编程阈值,或为运放提供偏置参考。它让过流保护点可以通过软件动态调整,而不必更换外部电阻。
二、信号链如何协同工作
以FOC电流环为例,一个PWM周期内的典型时序是:PWM计数器到达中点时产生ADC触发,ADC同步采样两相电流并存入FIFO;CPU或eDMA读取结果,执行Clarke/Park变换和PI调节,更新下一周期的占空比;与此同时,运放输出的电流信号持续送入比较器,与DAC阈值比较,一旦越限,比较器输出直接触发PWM的故障输入,硬件立即封锁六路输出。这条路径不经过CPU,因此保护动作不受中断延迟影响。
这里有一个容易忽略的细节:ADC采样时刻必须与PWM中心对齐,否则采样到的是开关噪声而非真实电流。MCX的PWM模块支持在计数器等于特定值时产生触发,配置时要把触发点设在计数中点,并确认ADC的采样窗口小于PWM周期的一半。
三、引脚分配的实际约束
引脚分配不是“随便选一个通道”,而要同时满足三件事:功能复用(每个引脚可映射到哪个外设)、同步要求(两路电流采样必须属于同一ADC的同步组)、物理布局(功率级到采样运放的走线要短且对称)。
以MCX A系列为例,常见的分配思路是:PWM_A0/B0、PWM_A1/B1、PWM_A2/B2分别对应U、V、W三相上下桥臂;ADC0_CH0和CH1接两相电流运放输出,CH2接母线电压分压,CH3接温度或电位器;CMP0_IN0接运放输出,CMP0_IN1接DAC0_OUT作为阈值,CMP0_OUT内部连接到PWM故障输入。这样,过流保护完全在片内闭环,不需要外部比较器。
四、一个可参考的配置示例
假设目标是一个24V、额定5A的小功率BLDC驱动,采用单电阻或双电阻采样。以下是一组合理的初始参数(示例值,需根据实际硬件调整):
PWM: 中心对齐, 频率 20 kHz, 死区 500 ns
ADC: 触发点 = PWM计数中点, 采样窗口 1.5 µs
同步组: ADC0_CH0 + ADC0_CH1
运放: 增益 16×, 偏置 1.65 V (VDD/2)
DAC: 阈值 = 1.65 V + 5A × 0.01Ω × 16 = 2.45 V
CMP: 输入 CMP0_IN0(运放) vs CMP0_IN1(DAC)
输出 → PWM故障, 故障后自动封锁
按这个配置,当电流达到约5A时,运放输出约2.45V,比较器翻转,PWM在下一个时钟内封锁。实际调试时,先用示波器观察PWM中点与ADC触发的关系,再逐步降低DAC阈值验证保护动作,最后接入电机运行。
五、常见误区
- 把DAC只当波形输出用:在电机控制中,DAC更常见的角色是给比较器提供阈值,而不是生成正弦波。
- 忽略运放的共模范围:分流电阻两端电压可能接近地或母线,运放输入共模必须覆盖这个范围,否则输出失真。
- ADC触发点设在计数起点或终点:这两个时刻开关噪声最大,采样结果不可靠。
- 比较器阈值固定不变:不同转速下电流纹波不同,阈值应随工况调整,DAC的可编程性正是为此。