2. AURIX TC3xx内核架构与电机控制外设资源

在电机控制ECU中,MCU并不是“跑得快就够了”。FOC电流环通常要求PWM周期在50~100 μs量级,采样、坐标变换、PI调节、SVPWM占空比更新必须在下一个PWM周期前完成;同时还要处理CAN通信、故障诊断、安全监控。AURIX TC3xx之所以成为主流选择,核心在于它把多核实时计算、安全锁步和电机专用外设集成在同一芯片内。理解这些资源的组织方式,是后续软件分区与驱动配置的前提。

TriCore多核架构:算力分工而非简单堆核

TC3xx典型型号(如TC375、TC387)包含多个TriCore CPU核,每个核是32位超标量架构,具备独立的程序与数据接口,主频常见在200~300 MHz。多核的价值在于把不同实时性等级的任务物理隔离:例如CPU0承担FOC电流环与PWM更新,CPU1处理旋变/编码器角度解码与速度环,CPU2运行CAN通信、UDS诊断和整车扭矩仲裁。核间通过SRI总线交叉连接,共享外设与内存资源。

实际工程中要注意两点。第一,核间通信不能依赖全局变量裸访问,应使用SPINLOCK保护的共享内存或核间中断传递角度、转速、扭矩请求等小数据块,避免缓存一致性问题。第二,外设中断路由要显式分配:GTM的PWM更新中断、VADC的采样完成中断、DSADC的结果中断分别绑定到哪个核,需要在启动代码中通过SRC寄存器或iLLD的IfxSrc_setRequest配置,否则默认路由可能导致电流环被通信任务抢占。

锁步核:功能安全的硬件基础

锁步核(Lockstep Core)由主核与影子核组成,两者执行相同指令流,硬件逐周期比较输出。一旦比较器发现偏差,立即触发SMU(安全管理单元)报警。TC3xx通常提供一对锁步核(如CPU0与CPU1组成Lockstep Pair),用于承载ASIL-D等级的安全任务,例如扭矩监控、PWM输出使能逻辑、过流保护路径。非锁步核可运行QM等级任务,如标定通信、数据记录。

对电机控制而言,锁步核的意义在于:即使主核因瞬态干扰产生错误计算结果,影子核比较也能在微秒级发现并进入安全状态,避免错误占空比导致逆变器直通。软件上需要配合SMU配置报警响应,例如触发PWM紧急关断(通过GTM的TOM强制输出无效电平)。

GTM:PWM与定时任务的核心引擎

GTM(Generic Timer Module)是TC3xx中最复杂的定时外设,内部由多个子模块组成。与电机控制直接相关的是:

  • TOM(Timer Output Module):产生PWM波形,每个TOM有16个通道,支持独立周期与占空比,适合生成三相六路互补PWM及死区。
  • ATOM(ARU-connected Timer Output Module):可通过ARU总线与其它模块联动,常用于触发VADC采样或生成同步信号。
  • DTM(Dead Time Module):在PWM边沿插入可配置死区,防止上下桥臂直通。
  • MCS(Multi-Channel Sequencer):可编程状态机,能在硬件层面执行简单控制算法,减轻CPU负担。

典型配置中,TOM0的通道0/1/2生成U/V/W三相上桥臂PWM,通道3/4/5生成下桥臂互补信号,死区由DTM统一插入。PWM周期寄存器TOM0_CH0_PERIOD决定载波频率,例如目标20 kHz时,若GTM时钟为100 MHz,则周期值设为5000。占空比通过TOM0_CH0_CM1在中断中更新,更新时机应选在计数器归零或峰值处,避免产生不对称脉冲。

VADC与DSADC:两类采样路径的分工

电机控制需要采集相电流、母线电压、温度、旋变信号等。TC3xx提供两种ADC:

VADC(Versatile ADC)是多通道逐次逼近型ADC,常见12位分辨率,支持多组并行转换。相电流采样通常由VADC的Group0和Group1分别处理,配合GTM触发实现与PWM同步。例如在PWM中心对齐模式下,计数器达到峰值时触发VADC采样,此时电流纹波最小。VADC结果通过RESULT寄存器读取,也可配置DMA搬运到电流环缓冲区。

DSADC(Delta-Sigma ADC)是过采样型ADC,分辨率可达16位以上,适合旋变解码和精密电流检测。DSADC的MOD模块产生激励载波,DEM模块解调旋变正余弦信号,输出角度与速度。对于使用旋变的PMSM控制,DSADC可替代外部旋变解码芯片,降低BOM成本,但需要配置载波频率、滤波系数和相位补偿。

外设与电机控制任务的映射关系

把上述资源组织起来,可以形成一条清晰的信号链:GTM产生PWM并触发VADC采样,VADC/DSADC返回电流与角度,CPU在中断中执行FOC计算,结果写回GTM占空比寄存器。下图给出TC3xx中与电机控制直接相关的外设映射关系。

TC3xx 电机控制外设映射与信号链 TriCore 多核 CPU0 锁步 · FOC电流环 CPU1 锁步 · 角度/速度环 CPU2 QM · CAN/诊断 GTM 定时引擎 TOM0 · 三相PWM生成 DTM · 死区插入 ATOM · 采样触发 采样通道 VADC · 相电流/母线电压 DSADC · 旋变解码 温度/电压监控 触发采样 电流/角度数据 → 中断/DMA 占空比更新 逆变器 + PMSM 三相桥 · 电流传感器 旋变/编码器 六路PWM 反馈信号 SMU 安全监控 锁步比较报警 PWM紧急关断 报警响应 关键配置要点 • PWM周期与VADC触发点对齐:中心对齐模式下计数器峰值触发采样,避开开关噪声 • 中断路由:GTM/VADC/DSADC中断分别绑定到承担对应任务的CPU核,避免跨核抢占 • 锁步核承载安全任务,SMU报警应直接联动GTM强制输出无效电平,而非仅软件置标志

从资源到软件分区:一个可落地的映射示例

假设目标是一台额定功率10 kW的PMSM控制器,PWM频率20 kHz,电流环周期50 μs,使用旋变反馈。可以按如下方式分配资源:

任务承载核关键外设触发源周期
FOC电流环(Clarke/Park/PI/SVPWM)CPU0(锁步)GTM TOM0、VADC Group0VADC采样完成中断50 μs
角度解码与速度环CPU1(锁步)DSADC DEMDSADC结果中断100 μs
CAN通信与扭矩仲裁CPU2(QM)CAN0/CAN1CAN接收中断1 ms
安全监控与PWM关断CPU0/CPU1锁步对SMU、GTM DTM锁步比较器报警硬件即时

配置时,GTM的TOM0通道周期寄存器设为5000(100 MHz时钟下20 kHz),死区时间根据IGBT或SiC器件开关特性设为1~2 μs。VADC的采样触发由ATOM在计数器峰值时发出,确保采样点位于PWM中心。DSADC的载波频率通常设为10~20 kHz,解调滤波带宽需与旋变电气参数匹配,否则角度滞后会影响电流环相位裕度。

调试提示:若发现电流波形在过零附近畸变,优先检查VADC触发点是否与PWM边沿对齐、死区是否过大导致低占空比时输出电压非线性。可用GTM的TOM0_CH0_CNT寄存器配合示波器观察实际触发时刻。

理解TC3xx的内核与外设映射,本质上是回答“哪个任务放在哪个核、由哪个外设触发、数据走哪条路径”。把这几个问题在架构阶段确定下来,后续的驱动配置、中断优先级和功能安全机制才有稳定的基础。