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.

CCS/TMS320F28379D: Synchronization between two or more DSPs

Part Number: TMS320F28379D


Tool/software: Code Composer Studio

Hi,

I am recently working on a project that requires several DSPs to synchronously output same PWM. But sometimes it works well, sometimes not. Here is what I did:

I used EPWM1-EPWM12 of every DSP. The duty cycles calculation and CMPA/CMPB writing are finished in EPWM1 ISR.

Also at the beginning and ending of the EPWM1 ISR of DSP#1, I toggled a GPIO82 and used it to be an external synchronization source for EPWM1 of every DSP (all the GPIO82 are connected physically), the rest EPWM2-EPWM12 are configured to use to synchronization output of previous module on the synchronization chain.

I also have a start button to give every DSP a signal to enable EPWM at the same time.

The problem is when I fix the duty cycle, for example, let all the EPWM1 always output 70% duty cycle, it looks good, all the outputs are synchronized. But when I applied the modulation, which means the duty cycle will change according to the calculation results, they are not synchronized anymore. And the phase difference seems not to be constant.

I am not sure if this is a good way to synchronize several DSPs. If not, can you help me come up with a better way to do it?

Thanks so much!

--Jiahao