4. MOTIX电机控制专用外设

在通用MCU上实现FOC,最容易被低估的成本不是算法本身,而是“时间确定性”:三相PWM必须在确定的时刻翻转,ADC必须在PWM周期的确定相位点采样,位置接口必须在电流采样完成前给出角度,比较器必须在过流发生的微秒级窗口内封锁输出。MOTIX(以TLE98xx/IMC系列为代表)把这些动作从CPU软件中剥离出来,交给CCU6、ADC、位置接口和比较器构成的硬件加速链。理解这条链的触发关系,比记住寄存器名字更重要。

CCU6:把“定时”变成“事件源”

CCU6是面向电机控制的捕获/比较单元,核心是T12和T13两个计数器。T12通常工作在中心对齐(边沿对称)模式,产生三相PWM:周期寄存器决定PWM频率,三个比较通道分别给出三相占空比,死区时间由死区控制逻辑在互补输出之间插入,避免上下桥直通。T13一般作为单次比较计数器,用于产生ADC触发、周期中断或延时事件。以20 kHz PWM、系统时钟80 MHz为例,T12周期值约为 80 MHz / (2 × 20 kHz) = 2000 个计数,中心对齐下计数器在0与2000之间往返,一个完整PWM周期对应4000个计数节拍。这个数字直接决定了后续采样窗口的可用时间。

CCU6的关键价值在于它输出的不只是PWM波形,还有一组“相位确定”的硬件事件:周期匹配、比较匹配、单次触发。这些事件可以不经CPU直接送到ADC和位置接口,从而把“什么时候采样”从软件调度问题变成硬件时序问题。

ADC同步采样:为什么必须与PWM同相

FOC需要两相或三相电流。若在PWM开关瞬间采样,会采到开关噪声和续流二极管导通造成的电流畸变。工程上通常选择在中心对齐PWM的“零矢量”中心附近采样,此时下桥导通、电流流过采样电阻,信噪比最好。CCU6的周期匹配事件触发ADC注入组,ADC在固定延迟后启动转换,转换完成中断里读取结果。整个链路的时间关系是:PWM周期匹配 → ADC触发 → 采样保持 → 转换完成 → 中断读取。若ADC转换时间加上中断响应超过零矢量持续时间,采样点就会漂移到有效矢量区间,电流波形出现周期性畸变。

因此配置时要先算清三个时间:零矢量持续时间、ADC采样保持时间、转换总时间。以20 kHz、死区0.5 μs、ADC转换1 μs为例,零矢量窗口通常只有几微秒,必须把触发点设在周期匹配后一个很小的偏移处,并保证转换在窗口内完成。MOTIX的ADC支持与CCU6硬件联动,触发到转换的延迟是确定的,这正是它比软件触发更适合FOC的原因。

CCU6 → ADC → 位置接口 → 比较器:FOC硬件加速链 CCU6 T12 中心对齐 三相PWM + 死区 T13 单次触发 周期/比较事件 ADC 同步采样 注入组触发 采样保持 + 转换 Ia / Ib / Vbus 转换完成中断 位置接口 霍尔 / 编码器 角度捕获 速度估算 电角度输出 比较器 过流检测 硬件封锁 PWM 关断 故障封锁反馈:比较器 → CCU6 输出禁止 PWM周期内采样时序(中心对齐,示意) 有效矢量 零矢量(采样窗口) 有效矢量 零矢量(采样窗口) ADC触发点

位置接口:角度不能等

FOC的Park变换需要实时电角度。若用CPU轮询霍尔或编码器,角度更新会受中断延迟影响,高速时误差明显。MOTIX的位置接口把捕获、计数和角度计算做成硬件通路:霍尔跳变触发捕获,编码器脉冲驱动正交计数,硬件根据极对数和机械角度换算出电角度,供FOC算法直接读取。这样角度更新与PWM周期同步,避免了软件采样带来的相位滞后。

实际配置中要关注三点:一是极对数与角度换算关系,电角度 = 机械角度 × 极对数;二是零位校准,霍尔安装偏差和编码器零位必须在初始化时标定,否则d/q轴解耦会引入恒定误差;三是低速时的角度分辨率,编码器线数不足时需在低速段用霍尔插值或观测器补充。

比较器:最后一道硬件防线

过流保护如果依赖ADC采样加软件判断,从故障发生到PWM关断通常需要几微秒到十几微秒,功率管可能已经损坏。MOTIX内置比较器把母线电流采样信号与阈值直接比较,一旦越限立即通过硬件通路封锁CCU6输出,响应时间在百纳秒级。比较器阈值通常由DAC设定,可随工况调整。配置时要确认比较器输出到PWM关断的路径是纯硬件路径,且故障标志需要软件清除后才能恢复输出,避免反复重启。

配置检查要点

模块关键参数典型值(示例)检查点
CCU6 T12PWM频率 / 死区20 kHz / 0.5 μs死区大于桥臂关断时间
ADC触发源 / 采样窗口周期匹配触发 / 1 μs转换在零矢量内完成
位置接口极对数 / 零位4 对极 / 标定值电角度与实测一致
比较器阈值 / 响应路径由DAC设定硬件封锁,软件清标志
调试建议:先用示波器同时观察PWM周期匹配信号、ADC触发信号和采样保持窗口,确认三者在时间轴上对齐;再人为触发一次比较器,确认PWM输出立即关断且故障标志置位。这两步能覆盖FOC硬件加速链中最容易出问题的时序环节。

把CCU6、ADC、位置接口和比较器看作一条“事件驱动链”,而不是四个独立外设,是理解MOTIX电机控制加速机制的关键。CPU只负责在中断里读取结果、执行FOC运算并写回占空比,而“何时采样、何时换相、何时保护”全部由硬件在确定时刻完成。这条链的时序一旦对齐,FOC的电流波形和动态响应会明显优于纯软件方案。