2. C2000芯片架构与电机控制外设概览

C2000系列(以TMS320F2837x、F2838x为代表)之所以能成为高性能电机控制的主流平台,核心在于它把"实时运算"和"实时外设"放在同一颗芯片里协同工作。理解这套架构,关键不是记住模块名字,而是搞清楚每个模块在一条控制链路中扮演什么角色、彼此如何握手。

一、CPU与CLA:双核实时运算的分工

主CPU(C28x)是32位定点+浮点内核,主频通常配置在200MHz,单周期可完成32×32乘法或浮点乘加,是FOC电流环、速度环、位置环的主要执行者。它同时负责系统初始化、通信(CAN/SCI/SPI)、故障管理和状态机调度。

CLA(Control Law Accelerator)是一个独立的32位浮点协处理器,与CPU并行运行,拥有自己的程序和数据总线。它的典型用法是把最内层、最耗时的电流环计算"卸载"过去:ADC采样完成后触发CLA任务,CLA在几个微秒内完成Clarke/Park变换、两个PI调节、反Park变换和SVPWM占空比计算,把结果写回ePWM比较寄存器。这样CPU可以腾出时间处理通信、观测器和上层逻辑。CPU与CLA之间通过消息RAM(MSGRAM)交换数据,并用任务触发(如ADC中断触发CLA任务)和完成标志实现同步。

二、ePWM:控制输出的时间基准

ePWM是电机控制的时间心脏。每个ePWM模块包含时基(TB)、计数比较(CC)、动作限定(AQ)、死区(DB)、斩波(PC)、事件触发(ET)和故障保护(TZ)等子模块。典型配置:时基计数器工作在增减计数模式,周期寄存器TBPRD决定PWM频率,例如系统时钟200MHz、TBPRD=5000时,对称PWM频率为200M/(2×5000)=20kHz。CMPA/CMPB由CLA或CPU在每个控制周期写入,AQ根据比较事件决定EPWMxA/EPWMxB的置位与清零,DB插入死区防止上下桥臂直通,TZ在过流信号到来时立即把输出拉到安全电平。

ePWM还通过ET子模块产生SOC(Start of Conversion)信号,在计数器过零或等于CMPB时触发ADC采样,使采样点与PWM波形严格对齐,这是电流采样准确性的前提。

三、ADC、CMPSS与SDFM:三类反馈通道

ADC负责采集相电流、母线电压、温度等模拟量。F2837x的12位ADC在200MHz下采样率可达3.5MSPS,16位模式下约1.1MSPS。电机控制中通常用ePWM触发的SOC,在PWM中点采样相电流,避开开关噪声。ADC结果通过结果寄存器或DMA搬运到CLA/CPU。

CMPSS(比较器子系统)是硬件级保护通道。它把模拟输入与内部DAC设定的阈值比较,输出可直接送到ePWM的TZ引脚,实现纳秒级过流关断,不依赖软件中断响应。典型设置:DAC阈值对应额定电流的1.5~2倍,比较器输出经数字滤波后触发TZ。

SDFM(Sigma-Delta滤波模块)用于连接隔离式Σ-Δ调制器,如电流传感器或旋变解码前端。它内部有Sinc滤波器,可直接输出高分辨率电流值,适合对噪声和隔离要求高的场合。QEP则用于增量式编码器,通过A/B/Z信号解码出位置和方向,配合eQEP的位置计数器实现速度测量和位置闭环。

四、模块协同:一条完整的控制链路

把这些模块串起来看,一个典型的20kHz FOC控制周期是这样的:ePWM时基过零产生SOC→ADC采样两相电流和母线电压→ADC转换完成触发CLA任务→CLA执行Clarke/Park、双PI、反Park、SVPWM→CLA把占空比写入ePWM CMPA→ePWM在下一个周期输出新占空比。同时,CMPSS持续监视电流,一旦越限立即通过TZ封锁PWM;QEP持续更新位置;SDFM提供隔离电流通道。CPU则运行速度环、状态机、通信和故障恢复。

C2000电机控制外设协同链路(20kHz FOC示例) ePWM TB / CC / AQ / DB / TZ 20kHz 对称PWM SOC触发源 ADC 12/16位 3.5MSPS 相电流 / 母线电压 PWM中点采样 CLA Clarke / Park 双PI + 反Park SVPWM占空比 CPU C28x 速度环 / 状态机 通信 / 故障管理 200MHz SOC EOC MSGRAM CMPA/CMPB 占空比写回 CMPSS DAC阈值比较 数字滤波 硬件过流保护 TZ 封锁 QEP A/B/Z 增量编码器 位置计数 / 方向 M/T法测速 位置/速度反馈 SDFM Σ-Δ 隔离调制器 Sinc 滤波 高分辨率电流 隔离电流 协同要点: ① ePWM过零/比较事件触发ADC,保证采样与PWM同步;② ADC转换完成触发CLA任务,电流环在CLA中并行执行; ③ CLA写回CMPA/CMPB更新占空比;④ CMPSS经TZ硬件封锁PWM,响应时间远快于软件中断;⑤ QEP/SDFM提供位置与隔离电流反馈。

五、配置要点与常见误区

实际配置时,几个参数需要特别留意。第一,ADC采样时刻必须与PWM对齐:在增减计数模式下,选择计数器等于零或等于TBPRD时触发SOC,此时电流纹波最小。第二,CLA任务触发源要选对,通常用ADCINT或ePWM的SOC,避免用CPU软件触发导致抖动。第三,CMPSS的DAC阈值要留足裕量,同时启用数字滤波(如采样窗口3~5个时钟)防止开关噪声误触发。第四,TZ配置要区分一次性封锁(OST)和逐周期限流(CBC),过流保护一般用OST,而逐周期限流用CBC。

调试建议:先用ePWM输出固定占空比,用示波器确认死区和频率;再单独验证ADC采样值与实际电压的对应关系;最后接入CLA,用GPIO翻转或DAC输出观察电流环执行时间,确保在一个PWM周期内完成。

把这套架构理解清楚,后续无论是配置FOC电流环、设计过流保护,还是做多轴同步,都能快速定位到对应的外设和触发路径,而不是盲目试参数。