第1章:ePWM模块架构总览

各位同学,今天我们来聊聊C2000系列DSP里最核心的外设之一——ePWM模块。说实话,我刚开始接触C2000时,看到这七个子模块的缩写(TB、CC、AQ、DB、PC、ET、TZ),头都大了。但后来在实际项目中摸爬滚打,才真正体会到TI工程师设计这套架构的巧妙之处。

ePWM模块说白了就是一个高度可配置的波形发生器。它由七个功能模块组成,每个模块各司其职,又相互配合。我个人习惯把这七个模块分成三组来理解:

  • 波形生成组:时基TB、比较CC、动作AQ
  • 波形调理组:死区DB、斩波PC
  • 系统交互组:事件触发ET、错误联防TZ

这样分组后,整个架构就清晰多了。下面我逐一给大家拆解。

ePWM模块七大子模块架构图 波形生成组 时基模块 TB 比较模块 CC 动作模块 AQ 波形调理组 死区模块 DB 斩波模块 PC 系统交互组 事件触发模块 ET 错误联防模块 TZ 数据流方向 TB生成时基 → CC比较产生事件 → AQ执行动作 → DB插入死区 → PC斩波调制 ET负责与CPU/ADC交互,TZ负责故障保护

1.1 时基模块 TB —— 整个PWM的心脏

TB模块负责产生时基信号。它内部有一个16位的计数器,可以配置成三种模式:向上计数、向下计数、上下计数。你想想看,PWM的频率和周期,全由这个计数器说了算。

关键寄存器:TBPRD(周期寄存器)、TBPHS(相位寄存器)、TBCTL(控制寄存器)

我的经验:TB模块里有个小细节——相位同步。我在做多路交错PWM时,就靠TBPHS来设置各通道的相位偏移。比如做三相逆变器,三路PWM相位差120°,就是通过这个寄存器实现的。

1.2 比较模块 CC —— 设定脉宽的标尺

CC模块负责将计数器值与设定值进行比较。当计数器值等于CMPA或CMPB时,会产生比较事件。说白了,就是告诉动作模块:「嘿,到点了,该翻转电平了!」

关键寄存器:CMPA、CMPB、CMPCTL

避坑指南:我曾经在调试时发现PWM波形不对,查了半天才发现是CMPA的值写入了影子寄存器,但没加载到活动寄存器。记得检查影子寄存器加载模式(立即加载或TBCTR=0时加载)。

1.3 动作模块 AQ —— 执行电平翻转

AQ模块根据比较事件,决定如何改变PWM输出电平。可以配置成:置高、置低、翻转、不变。配合TB的计数方向,就能生成各种对称/非对称PWM波形。

关键寄存器:AQCTLA、AQCTLB、AQSFRC

事件 动作选项 典型应用
CTR=ZERO 置高/置低/翻转 周期开始复位
CTR=PRD 置高/置低/翻转 周期结束复位
CMPA/CMPB匹配 置高/置低/翻转 设定占空比

1.4 死区模块 DB —— 保护功率管的关键

DB模块在PWM信号中插入死区时间。做电机驱动或电源的朋友都知道,上下桥臂不能同时导通,否则就是短路。死区就是防止这种情况的保险。

关键寄存器:DBCTL、DBRED、DBFED

注意:死区时间不是越大越好。我见过有人设了5μs的死区,结果电机效率掉了10%。死区时间要根据功率管的开关速度来定,一般取开关管上升/下降时间的1.5~2倍。

1.5 斩波模块 PC —— 高频载波调制

PC模块将PWM信号与高频载波进行调制。这个模块在脉冲变压器驱动、隔离电源中很常用。说白了,就是把低频PWM信号「骑」在高频载波上传输。

关键寄存器:PCCTL、CHPFREQ、CHPDUTY

1.6 事件触发模块 ET —— 连接CPU和ADC的桥梁

ET模块负责产生中断和ADC触发信号。当PWM计数器到达特定值时,ET可以触发ADC采样或CPU中断。这在数字电源控制中特别重要——你需要在PWM周期的特定时刻采样电流/电压。

关键寄存器:ETSEL、ETPS、ETFLG

我的习惯:做数字电源时,我通常把ADC触发点设在PWM周期的中间(CTR=PRD/2)。这样采样到的电流纹波最小,控制精度最高。

1.7 错误联防模块 TZ —— 最后的保护伞

TZ模块是ePWM的安全卫士。当检测到外部故障信号(如过流、过压)时,TZ可以立即将PWM输出强制为安全状态(高阻、低电平或高电平)。这个响应是硬件级别的,比软件中断快得多。

关键寄存器:TZSEL、TZCTL、TZFLG

血的教训:我曾经在样机测试时,过流保护只靠软件中断。结果一次短路测试,CPU还没来得及响应,功率管就炸了。后来老老实实配了TZ模块,硬件直接拉低PWM输出,再也没出过问题。

小结

这七个模块构成了ePWM的完整架构。从TB产生时基,到CC比较产生事件,再到AQ执行动作,最后经过DB和PC调理输出。而ET负责与系统交互,TZ负责安全保护。每个模块都有它的设计初衷,理解了这个架构,后面配置寄存器就水到渠成了。

下一章我们深入TB模块,看看计数器到底怎么玩出花来。


公众号:蓝海资料掘金营,微信deep3321