Setting TBPHS via dialog works, but setting via Input Port gives no phase shift

3 views (last 30 days)
I am using ePWM1-ePWM4 on a F280025C LaunchPad using Simulink Embedded Coder. All PWMs are 50% duty cycle, 200kHz and sync'd.
I would like to be able to control the phase shift of ePWM3 and ePWM4. I can get the phase shift by configuring EPWM3 and ePWM4 using the TBPHS dialog box. However, when I set the TBPHS to be set by an Input port, I am not getting any phase shift no matter what value I provide at the input port.
Is there something else that needs configuration to use the Input? Thanks!

Answers (1)

Sayan on 5 Dec 2023
Edited: Sayan on 5 Dec 2023
Hi Jeff Holt,
I understand from your issue that when you provide the phase-shift value in the "Phase offset value (TBPHS)" field from the input port in the ePWM block of the F280025C Launchpad, the signals are not getting shifted.
The possible ways this can be resolved are as follows:
  • Ensure the value of the "Synchronization output (SYNCO)" parameter is set to "Pass through (EPWMxSYNCI or SWFSYNC)". This option is used to achieve precise synchronization across multiple ePWM modules by daisy-chaining their time-base sub-modules in ascending order. Namely, ePWM1 sends a synchronization signal to ePWM2, which, in turn, sends it to ePWM3, and so on.
  • The ePWM block expects the phase value to be in the range of 0 to 360 degrees, scaled with clock cycles. Ensure the value provided through the input port lies within this range.
You can find more information on the "Synchronization output (SYNCO)" parameter of the ePWM block in the following documentation.
Hope this helps in resolving the issue.




Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!