2. C2000芯片架构与伺服控制资源映射
伺服控制的核心是三个闭环:电流环、速度环、位置环。三者的控制频率、实时性要求和信号来源差异很大,而C2000(以TMS320F28379D为例)的价值恰恰在于它把不同特性的外设与不同层级的内核资源做了分工,让每个环都能找到最合适的执行单元。理解这种“资源映射”关系,比记住外设名称更重要。
三环的时间尺度决定了资源分配
先建立量级概念。以一台额定转速3000 rpm、编码器2500线(四倍频后10000计数/转)的永磁同步伺服为例:电流环通常取10~20 kHz,即每50~100 μs执行一次;速度环取1~2 kHz,每0.5~1 ms一次;位置环取0.5~1 kHz,每1~2 ms一次。电流环一次周期内要完成“采样两相电流→Clarke/Park变换→PI运算→反Park→SVPWM占空比更新”,留给CPU的纯计算时间往往只有几微秒。这就是为什么C2000不能只靠一个CPU核包打天下。
CPU:位置环与速度环的主控与协调者
C2000的主CPU(C28x)承担系统级任务:位置环的轨迹规划与位置PI、速度环PI、状态机管理、故障处理、与上位机/EtherCAT通信、参数整定。它同时负责初始化ePWM、ADC、QEP、CMPSS,并在每个控制周期读取QEP计数、计算电角度与转速。CPU的强项是分支判断、浮点运算和复杂逻辑,适合处理“慢但复杂”的环。在F28379D上,C28x主频200 MHz,配合FPU和TMU,一次Park变换加PI运算通常在百纳秒量级,足以支撑速度环和位置环。
CLA:把电流环从CPU手里接过来
控制律加速器(CLA)是一个独立于C28x的32位浮点协处理器,可访问ePWM、ADC、CMPSS、DAC等外设,并能与CPU并行运行。典型做法是:ADC转换完成触发CLA任务,CLA在中断中完成电流环的全部计算,直接把新的比较值写入ePWM的CMPA寄存器,全程不经过CPU。这样CPU被解放出来处理速度环、位置环和通信,而电流环的延迟被压到最低。CLA与CPU通过共享RAM和消息寄存器交换数据,例如CLA把Id/Iq反馈写回共享区,CPU读取后用于速度环。这种“CPU管外环、CLA管内环”的分工,是C2000伺服方案最典型的资源映射。
ePWM:三环的执行末端与时间基准
ePWM模块是伺服系统的“手”和“节拍器”。它产生六路带死区的互补PWM驱动三相逆变器,同时通过TBCTR计数器提供整个控制系统的时间基准。关键机制有三点:一是ePWM的周期中断或CMPA匹配事件可以触发ADC采样,保证采样时刻与PWM中心对齐,避开开关噪声;二是ePWM的SOC信号触发ADC,ADC完成后再触发CLA或CPU中断,形成“PWM→ADC→控制计算→PWM更新”的闭环链路;三是ePWM支持高分辨率(HRPWM),在150 MHz等效时钟下可实现约150 ps的占空比分辨率,改善低速时的电流纹波。电流环的“执行”最终就落在ePWM的比较寄存器上。
ADC:电流环的入口
电流环需要两相或三相电流。C2000的ADC为逐次逼近型,12位或16位可选,F28379D有多个ADC核可并行采样。典型配置是:ePWM在计数器过零或下溢时发出SOC,ADC对两相电流和母线电压同步采样,转换完成后产生EOC中断。采样时刻必须落在PWM波形的中点,此时开关管状态稳定,电流纹波最小。ADC结果经偏移校准和增益校准后送入Clarke变换。ADC的采样窗口、触发源和中断优先级配置,直接决定电流环的噪声水平和相位延迟。
QEP:速度环与位置环的传感器接口
正交编码器脉冲(QEP)模块接收增量式编码器的A/B/Z信号,硬件四倍频计数,并提供方向检测和索引捕获。CPU在每个速度环周期读取QEP的计数差值,除以周期时间得到转速;位置环则直接使用累计计数值。QEP还支持单位定时器,可测量低速时的脉冲间隔,避免低速下M法测速分辨率不足。对于绝对值编码器,则通过SPI或BiSS接口读取,QEP此时用于辅助或备用。QEP把机械位置和速度“翻译”成CPU能处理的数字量,是外环的输入源。
CMPSS:硬件级的保护与过流判断
比较器子系统(CMPSS)包含模拟比较器和DAC基准,可把电流采样信号与设定阈值直接比较,输出经数字滤波后送到ePWM的Trip Zone。一旦过流,ePWM在硬件层面立即封锁PWM输出,响应时间在纳秒级,不依赖软件中断。这构成了电流环的“安全底线”。CMPSS还可用于母线过压、模块过温等保护。在正常控制中,CMPSS不参与运算,但它是整个伺服系统可靠运行的前提。
资源映射的工程含义
把上述关系落到配置层面,可以得到一条清晰的实现路径。电流环的触发链是:ePWM的TBCTR过零产生SOC → ADC采样两相电流 → ADC的EOC触发CLA任务 → CLA执行Clarke/Park、电流PI、反Park和SVPWM → CLA把占空比写入ePWM的CMPA。速度环由CPU的定时器中断驱动,读取QEP计数差并执行速度PI,输出作为电流环的Iq参考。位置环同样由CPU处理,读取QEP累计位置,执行位置PI,输出作为速度环参考。CMPSS则独立于这条软件链路,始终监视电流阈值,一旦越限直接通过Trip Zone封锁ePWM。
这种映射带来的直接好处是:电流环的延迟从“CPU中断响应+计算”缩短为“CLA任务响应+计算”,且不受CPU其他任务干扰;CPU有更多余量处理通信和上层算法;硬件保护不占用软件时间。对于需要更高性能的场合,还可以让CPU和CLA分别处理不同电机,或让CLA同时承担部分速度环计算。
理解这套资源映射,后续配置ePWM、ADC、CLA和CMPSS时就不会把它们当成孤立外设,而是清楚每个模块在三个环中扮演什么角色、信号从哪里来、到哪里去、延迟产生在哪个环节。这是C2000伺服设计从“能转”走向“转得稳、响应快”的基础。