"Thread:SysConfig"中讨论的其他器件
您好!
当程序运行时、当 PWM 通道 PWM1和 PWM2之间的相移发生变化时、两个 PWM 通道之间的同步将丢失、这意味着两个通道之间的相移大于这两个通道之间设置的相移。
在开环控制中、这两个通道之间的相移变化正常运行。 它仅在闭环控制中发生相移变化时发生。
这种情况的原因可能是什么? 是否有任何方法可以跟踪导致这种情况的原因? 已验证在 PWM1和 PWM2之间设置新相移的过程不会被任何中断中断中断中断。
谢谢!
吊车
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
您好!
当程序运行时、当 PWM 通道 PWM1和 PWM2之间的相移发生变化时、两个 PWM 通道之间的同步将丢失、这意味着两个通道之间的相移大于这两个通道之间设置的相移。
在开环控制中、这两个通道之间的相移变化正常运行。 它仅在闭环控制中发生相移变化时发生。
这种情况的原因可能是什么? 是否有任何方法可以跟踪导致这种情况的原因? 已验证在 PWM1和 PWM2之间设置新相移的过程不会被任何中断中断中断中断。
谢谢!
吊车
Crane 先生、您好!
要通过 EPWM1同步 EPWM2和 EPWM3、必须在 TBCTL 寄存器中启用 PHSEN、写入 TBPHS 寄存器、并在 TBCTL 寄存器中配置 SYNCOSEL、以便配置 EPWM1何时生成 SYNCOUT 信号。 这都可以在 SysConfig 的 EPWM 时基菜单中进行配置。
您的意思是、它在闭环控制而不是开环控制中工作? 您能否更具体地说明配置中发生了哪些变化?
Luke、您好!
好的、看一下。
这与使用下面的函数相同、对吧?
ePWM_setSyncOutPulseMode (myEPWM2_base、ePWM_SYNC_OUT_PULSE_ON_EPWMxSYNCIN);
是否应该通过调用此函数来设置 PWM1和 PWM2? 如果是、它们是否必须使用相同的参数?
我曾尝试以不同的组合调用该函数、但结果似乎不太有希望。 仍在测试中。
就开环与闭环而言、它是相移变化的来源。 在开环中、我可以完全控制相移变化。 在闭环中、相移变化由外部参数控制。
谢谢!
吊车
Crane 先生、您好!
如果您希望将 EPWM2同步到 EPWM1、则需要 EPWM1来生成其自己的输出脉冲、通常发生在 EPWM1 TBCTR=0事件或您喜欢的任何事件上。 仅当外部同步源通过 EXTSYNCIN 信号进入时、才使用 EPWMxSYNCIN。
是手动编写 driverlib 还是使用 SysConfig? 还是两者的混合?
您需要调用该函数来使 EPWM1在 TBCTR=0时生成 SYNCOUT 脉冲:
只有通过 EXTSYNCIN 信号传入外部同步源时,才能使用 EPWMxSYNCIN。
好的,明白了。
我现在将同时使用这两者。 有些在 SysConfig 中、有些通过调用 driverlib 进行设置。
要将 EPWM2与 EPWM1同步、我是否需要为 PWM2以及以下调用此函数?
EPWM_setSyncOutPulseMode (EPWM2_base、EPWM_SYNC_OUT_PULSE_ON_COUNTER_ZERO );
谢谢!
吊车