2. C2000实时控制架构与GaN驱动外设映射

C2000系列之所以能直接驱动GaN功率级,核心在于它把“采样—计算—输出”这条控制链拆成了多个可并行、可硬件联动的外设单元。理解C28x内核、CLA、PWM、ADC、比较器、DAC各自负责哪一段,以及它们之间如何用触发信号串起来,是写出低延迟GaN驱动代码的前提。本节不孤立介绍每个模块,而是围绕“一次开关周期内信号如何流动”来建立外设映射关系。

一、控制链上的角色分工

C28x主核是控制算法的主体,负责环路计算、状态机管理和通信。它运行在较高的主频下,但中断响应、浮点运算和分支判断会带来微秒级的抖动。CLA(Control Law Accelerator)是一颗独立的32位浮点协处理器,不占用C28x的指令周期,专门处理确定性强、结构固定的控制律,例如电流环PI、电压环或斜坡补偿。它的价值在于把最紧的实时任务从主核剥离,使主核可以处理保护、通信和上层逻辑。

PWM模块是整条链的“时间基准”。它产生带死区的互补输出,同时通过EPWMxSOCA/SOCB发出ADC启动信号,通过EPWMxINT发出中断。ADC完成转换后,EOC信号可以触发CLA任务,也可以触发C28x中断。比较器(CMPSS)和DAC则构成一条独立的硬件保护路径:DAC提供阈值,比较器把采样值与阈值比较,输出可直接送入PWM的TZ(Trip Zone)或X-BAR,实现不经过CPU的快速关断。

二、外设映射关系图

EPWM模块 TB / CC / AQ / DB SOCA / SOCB / INT ADC模块 SOC触发 / EOC中断 PPB后处理 CLA协处理器 任务触发 / 浮点运算 结果写回PWM C28x主核 环路调度 / 状态机 通信 / 保护逻辑 CMPSS + DAC DAC阈值设定 比较器输出 / TZ GaN驱动级 半桥 / 死区 / 栅极 SOCA/SOCB EOC → CLA任务 CMPA/CMPB更新 ADCINT 配置/使能 TZ快速关断 EPWMxA/B 互补输出 使能/故障复位 一个开关周期内的时序 ① PWM计数器归零 → SOCA触发 ② ADC采样保持 → 转换完成 ③ EOC触发CLA任务 ④ CLA计算占空比 → 写CMPA ⑤ 下一周期PWM加载新占空比 ⑥ CMPSS全程监控 → 超限即TZ

三、触发链的时序对应关系

把上述模块串起来的关键是“触发源—触发目标”的映射。以最常见的峰值电流控制为例:EPWM的时基计数器在归零时产生SOCA,启动ADC采样。ADC转换结束后产生EOC,这个信号可以配置为触发CLA任务。CLA在固定周期内完成电流环计算,把结果写入EPWM的CMPA寄存器。由于EPWM采用影子寄存器加载机制,新占空比会在下一个周期生效,从而避免当前周期被中途修改。

这条链的延迟主要由三部分组成:ADC采样与转换时间、CLA任务执行时间、以及PWM影子寄存器加载的等待时间。以TI的典型配置为例,假设ADC采样窗口为100ns,12位转换约需300ns,CLA执行一次PI运算约需80个周期(在100MHz下约800ns),那么从采样到占空比更新大约在1.2μs量级。对于开关频率100kHz(周期10μs)的GaN变换器,这个延迟约占周期的12%,属于可接受范围;但如果开关频率提升到500kHz,就必须重新评估是否改用比较器直接保护或缩短CLA任务。

四、GaN驱动对时序的特殊要求

GaN器件的栅极电荷小、开关速度快,对死区时间和关断路径的要求比硅MOSFET更严格。死区过长会增大体二极管导通损耗,过短则可能直通。C2000的EPWM死区子模块可以独立设置上升沿和下降沿延迟,分辨率取决于系统时钟。例如在100MHz时钟下,死区寄存器每格10ns,可以设置20ns左右的死区,这对GaN半桥是合理的起点。

更关键的是保护路径。GaN器件过流耐受时间极短,如果依赖ADC采样—CPU判断—软件关断,延迟可能达到数微秒,不足以保护器件。因此必须使用CMPSS:DAC设定阈值(例如对应2倍额定电流的采样电压),比较器输出直接连到EPWM的TZ引脚或通过X-BAR路由。一旦超限,PWM输出在几十纳秒内被强制拉低,不经过任何软件环节。这条路径与ADC—CLA—PWM的常规控制路径是并行的,两者互不替代。

五、配置时的映射检查清单

在实际写初始化代码时,可以按以下顺序核对映射关系,避免触发源配错导致环路不运行:

  • EPWM的SOCA/SOCB触发源是否选在计数器归零或峰值处,是否与ADC的SOC通道对应;
  • ADC的EOC是否使能了正确的中断或CLA触发,中断向量是否指向目标任务;
  • CLA任务是否配置了正确的触发源,任务末尾是否写回了CMPA/CMPB;
  • CMPSS的DAC值是否与电流采样电路的增益、偏置匹配,比较器输出是否路由到TZ;
  • TZ是否配置为一次性触发还是逐周期限流,故障后是否需要软件清除;
  • EPWM的死区上升/下降延迟是否与GaN驱动器的传输延迟匹配。
在调试阶段,可以先把CLA任务替换为C28x中断,用GPIO翻转配合示波器观察“SOC→EOC→中断→PWM更新”的实际延迟。确认时序无误后,再把计算迁移到CLA,这样更容易定位是触发配置问题还是算法执行时间问题。

理解这套映射关系的最终目的,是让每个外设出现在它该出现的时间点上:PWM定节拍,ADC取真实值,CLA算控制量,CMPSS守安全线,C28x管全局。GaN驱动级只是这条链的末端执行者,它的性能上限取决于前面每个环节是否按时、按序、按正确路径传递了信号。