我将实现 PMSM 电机驱动器。 我已经完全同步了3个 ePWM。
我对所有 ePWM 使用影子寄存器作为 CMPB。
在软件中计算新的 CMP 值。
问题是:计算周期(PID 控制器等)与"CTR =零"计数事件不同步。 在给定的时间、计算可能不完整、某些 EPWM 会获取新值、而另一个 EPWM 会获取旧的 CMP 值。
是否可以在软件单个命令上同步许多 ePWM 的影子-CMP 寄存器、如下所示?
计算 CMPB_1
2.计算 CMPB_2
3.计算 CMPB_3
4.加载 CMPB_SHADOK_1.
5.加载 CMPB_SHADOK_2.
6.加载 CMPB_SHADOK_3.
7.在 ePWM1、ePWM2、ePWM3上对原子操作启用影子
8、等待影子同步事件、此处 CTR = 0
9.禁用影子(和 CMP 更新)
此致、
Maciej