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.

TMS320F28379D: F28379D Lauchpad

Part Number: TMS320F28379D


Tool/software:

I am using ePWM blocks in Simulink to get phase shift between ePWM blocks in the TI F28379D launchpad. I am using variable frequency starts at 250 kHz and ends at 100 kHz. ePWM1 is selected as a master/main block and ePWM5 is phase shifted from 360 degree to 354 degree (respect to ePWM1), ePWM4 is phase shifted from 360 degree to 90 degree (respect to ePWM1), and ePWM6 is phase shifted from 360 degree to 84 degree (respect to ePWM1). Here, frequency is reducing from 250 kHz to 100 kHz using a state machine. At 250 kHz (starting frequency), ePWM4, ePWM5, and ePWM6 are 360-degree phase shifted from ePWM1. At 100 kHz (ending frequency), ePWM5 is phase shifted 354 degrees, ePWM4 is phase shifted 90 degree and ePWM6 is phase shifted 84 degree, from ePWM1 block. This phase shift is linearly changed using the lookup table between 250 kHz to 100 kHz frequency. The dead time is the same (1.7 us) for all ePWM blocks and up counting method used in the ePWM block.

In the ePWM block, I set the synchronous output (SYNCO) to counter equals to zero for ePWM1 block (master/main) and set the synchronous output (SYNCO) to pass through for ePWM4, ePWM5 and ePWM6 blocks. Below is the screenshot of the ePWM blocks.

With this setting, ePWM1 and ePWM5 outputs are always working with desired phase shift and switching frequency (phase shift linearly changing from 360 degree to 354 degree, from 250 kHz to 100 kHz frequency for ePWM5 block). However, ePWM4 and ePWM6 show the synchronization issue in the few instances. For example, when ePWM1 outputs the switching frequency 157 kHz, ePWM4 and ePWM6 output the switching frequency 100 kHz. However, in the very next cycle, ePWM4 and ePWM6 switching frequency match the ePWM1 switching frequency (around 156.5 kHz). This phenomenon shows a couple of times for ePWM4 and ePWM6 block output and it is repeatable at the same frequency at every run. However, ePWM5 block output frequency always matches with ePWM1 block frequency (no issue at all ). Do you have any insights on this?
Also, I have found one MATHLAB example (link is below), where ePWM1 and ePWM4 are phase shifted. However, the synchronous output (SYNCO) sets to counter equals to zero for both ePWM1 and ePWM4 blocks. Why are the synchronous output (SYNCO) sets to counter equals to zero instead of pass through for ePWM4 block? What will happen if synchronous output (SYNCO) sets to pass through? Any effects on synchronization between ePWM1 and ePWM4 block output for this?
Please let me know if you need any additional information.
Thanks for your support.
  • Hi,

    regarding the MATLAB example, since the EPWM counters of EPWM1 and EPWM4 are synced but phase-shifted, the counter equals to zero instant will not occur at the same time. I don't see any difference in the way epwm1 and epwm4 sync would work. Difference in that example would be the ECAP trigger since it is driven by EPWM4 CTR = 0 and not EPWM1 CTR = 0.

    For your example, the second photo that you've shared is configured for EPWM3 and not EPWM4. I hope the EPWM4 configuration is correctly configured to use EPWM1SYNCOUT signal. For EPWM5 and EPWM6, you can use the pass-through configuration so that it takes the same sync signal as that of EPWM4.

    Hope this answers.

    Thanks,

    Aditya