Thread 中讨论的其他器件:C2000WARE
工具与软件:
我无法配置 EPWM 以在发生 SYNCIN 事件时加载 CMPA。
下面是我的设置:
我将使用 ePWM 模块1至11。 我需要为 ePWM 9至11加载影子化 CMPA 和 CMPB 值 分量 带宽限制。 现在、我正在尝试执行以下操作
- ePWM 1 配置为在 TBCTR=0时生成 SYNCOUT 脉冲
- EPWM 2到11配置为使用 SYNCOUT = SYNCIN
- ePWM 1到8配置为高电平有效(非互补)
- ePWM 9到11被配置为高电平有效互补
- EPWM 9到11配置为在 SYNCIN 上加载 CMPA 和 CMPB
最后这部分是一个似乎不适合我的部分。
我附上了一个可以演示该问题的工作测试项目。
相关代码如所示 第561-577行
当我运行此程序并测试 PWM 占空比是否正确更新时、我可以看到从未实际加载占空比、尽管我可以确认 ePWM 同步信号存在。
下图显示了 PWM 信号、GPIO 引脚上的同步信号输出以及我用于触发测量的标志。 触发点之前和之后的占空比应不同、但绝不改变。

---
为了进行比较、下面是我设置时的行为 EPwmxRegs.CMPCTL.bit.LOADASYNC = 0 低频 PWM。 您可以看到、占空比在 CTR = 0点时得到应有的更新。

我似乎缺少一些使 EPWM 在 SYNC 上加载的设置、但我无法确定 此处的哪些内容不正确。 根据技术参考手册的第15.5节、我将正确设置所有 CMPCTL 寄存器。
期待收到您的回复。 我已经将一个工作项目附加为.zip 文件 (请确保在"Project Properties">"Linked Resources"中正确设置 C2000WARE_ROOT 的值、以确保库依赖项正确链接) (2024年11月22日编辑:在注释中更新了项目)
此致、
Rahul