大家好!
我有一个问题。
设置:EPWM1 MASTER (SyncOut),EPWM2为 SLAVE (synsin),当 counter1=0时同步输出
当 counterx = period 时,向上和向下计数器和切换输出。
我想做从0°到360°的 pahse 切换。 我确实更新了 TBPHS 值,并在发生 相位切换时启用 EPWM2的中断(counter1 = 0)相位切换。 相移为2级。
因此,在相移过程中保持脉冲长度(高和低)不变。 在有相位移的运行期间,我只使用 EPWM2的 TBPHS 值和 ePWM_TBCTL_PHSDIR 位。
0°至90°范围内我没有任何问题,但在第一阶段切换输出操作限定条件(如此切换)时,90°后没有出现问题。 图3和图4解释了我的意思。
我认为这是因为 TPBHS 值在达到有效期之前加载到 counter2。 为了克服这种情况,我在相移发生前增加了50到2反向主动计数器的一些值,它可以切换输出,我得到 所需的。 图1和图2也可以看到。 但这种方式很棘手。 我需要一个正确的解决方案。
有可能吗? 如果无法使用 TBPHS 功能,我必须通过播放比较和期间值以及阴影寄存器来实现。 但要这样做,我需要为每个 ePWM 模块提供一个我不想要的中断。
因为现在有一个主(EPWM1)和一个从(EPWM2)模块,但以后我将使用7个从(ePWM)模块。 每个 ePWM 模块对应半桥。 主半桥的相位为0°,其他半桥的相位将根据主半桥的变化动态变化。
图1:模拟我想要的东西

图2:实现我想要的东西

图3:模拟我获得的结果

图4:我所得到的东西的实现
