DSP 多个 PWM 同步总出问题?28377S 同步链路和主从配置一次讲清!

📌 以 TMS320F28377S 为例

在使用 DSP28377S 进行多路 ePWM 同步控制时,很多人容易踩坑。这里总结几个关键点,尤其适用于多模块同步、移相控制等场景。


✅ 一、必须先开启 PWM 外设时钟

在系统初始化阶段,一定要确认 ePWM 模块时钟已经开启

对应函数路径:

InitSysCtrl(); └── InitPeripheralClocks();

InitPeripheralClocks() 中:

  • 赋值为 1 → 对应 PWM 模块时钟开启

  • 赋值为 0 → 对应 PWM 模块时钟关闭

⚠️ 如果忘记开启时钟,后续所有 PWM 配置都会"无效",但程序不会报错,非常容易误判。


✅ 二、ePWM 同步链路结构必须搞清楚

TMS320F28377S 中,同步信号并不是所有 PWM 共用一条总线,而是分组的。

📌 同步分组关系:

  • EPWM7 / EPWM8 / EPWM9 → 共用一个同步链

  • EPWM10 / EPWM11 / EPWM12 → 共用一个同步链

⚠️ 特别注意:

虽然 EPWM7 的同步信号可以传递到 EPWM10

不能直接传递到 EPWM11

👉 EPWM11 的同步源仍然来自 EPWM10

👉 EPWM12 的同步源来自 EPWM11

也就是说:

如果你要使用 EPWM11 的相位寄存器(TBPHS),

必须先使能 EPWM10 的同步输出。

否则 EPWM11 根本接收不到同步信号。


✅ 三、EPWM10 & EPWM11 正确同步配置示例

假设我们希望:

  • EPWM10 作为主模块

  • EPWM11 作为从模块(移相)


🔹 EPWM10(主模块)配置

EPwm10Regs.TBCTL.bit.PHSEN = TB_DISABLE; // 禁止相位加载 → 主模块 EPwm10Regs.TBCTL.bit.SYNCOSEL = TB_CTR_ZERO; // 计数到0时发出同步信号

说明:

  • PHSEN = DISABLE → 表示本模块作为同步源

  • SYNCOSEL = ZERO → 在计数器清零时产生同步脉冲


🔹 EPWM11(从模块)配置

EPwm11Regs.TBCTL.bit.PHSEN = TB_ENABLE; // 允许相位加载 → 从模块 EPwm11Regs.TBCTL.bit.SYNCOSEL = TB_SYNC_IN; // 接收同步信号

说明:

  • PHSEN = ENABLE → 允许加载 TBPHS,相位生效

  • SYNCOSEL = IN → 同步信号来自 EPWM10


🔥 四、常见踩坑总结

✔ 没开 PWM 时钟

✔ 主模块没有打开同步输出

✔ 从模块 PHSEN 没使能

✔ 同步链路理解错误(以为所有 PWM 都是同一条同步链)

✔ 相位寄存器写了但没生效(本质是没收到同步信号)


🎯 小结

在 DSP28377S 多 PWM 同步配置中:

先确认时钟 → 再确认同步链路 → 再确认主从关系 → 最后确认 PHSEN

同步链路搞错,是最常见也是最隐蔽的问题。

相关推荐
zd84510150017 小时前
[嘉立创EDA]导出BOM设置
嵌入式硬件
时空自由民.18 小时前
无刷电机反电动势和过零点介绍
单片机·嵌入式硬件
LCG元18 小时前
STM32实战:基于STM32F103的智能晾衣架(光控+雨控)
stm32·单片机·嵌入式硬件
西城微科方案开发18 小时前
华润微CS98P171(SOP8):高性价比8位通用MCU
单片机·嵌入式硬件
LingLong_roar18 小时前
普冉单片机PY32F002AF15P6TU + 0.96寸TFT ST7735s 80*160显示屏,使用软件SPI显示字符串“Hello World!”
单片机·嵌入式硬件
踏着七彩祥云的小丑19 小时前
嵌入式测试学习第 10天:主控、外设、传感器、通信模块
单片机·嵌入式硬件
三佛科技-1341638421219 小时前
FT32F072系列 FT32F072RBAT7/CBAT7/KBBT7/KBBU7/KBCW7单片机共性与区别详细分析
单片机·嵌入式硬件·物联网·智能家居·pcb工艺
星夜夏空9919 小时前
STM32单片机学习(11)——GPIO输入实验
stm32·单片机·学习
LingLong_roar19 小时前
手搓温湿度仪(单片机普冉PY32F002AF15P6TU + 温湿度传感器 SHT40-AD1B-R2 + 0.96寸TFT IPS 显示屏)软件实现
单片机·嵌入式硬件
黑白园19 小时前
STM32F103ZET6移植-电机2804-驱动板SimpleFOC Mini实现速度开环_位置开环控制(二、代码移植及功能实现)
stm32·单片机·嵌入式硬件