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.

synchronization of PWMs

Hello, I am using the Experimenter's kit f28m35h52c1 (part #: TMDXDOCKH52C1) 

I want to synchronize three epwms to be 120 degrees apart so I can control some thyristors. I followed the example in the document spruh22g to do this and here is what I wrote for my code:

        FiAn=217.35*Alpha;                       // Firing Angle in counts as an integer
	PulseW = FiAn+5000;                      // Pulse width


	EPwm1Regs.TBCTL.all = 0; 			     // clear all bits in TBCTL
	EPwm1Regs.TBPRD = 65535;                 // Period = 601 TBCLK counts
	EPwm1Regs.CMPA.half.CMPA = FiAn;         // Compare A = 200 TBCLK counts
	EPwm1Regs.CMPB = PulseW;                 // Compare B = x TBCLK counts for pulse duration of 30% duty cycle


	EPwm1Regs.TBCTR = 0;                     // clear TB counter
	EPwm1Regs.TBCTL.bit.CTRMODE = TB_COUNT_UP;
	EPwm1Regs.TBCTL.bit.PHSEN = TB_DISABLE;   // Phase loading disabled
	EPwm1Regs.TBCTL.bit.PRDLD = TB_SHADOW;
	EPwm1Regs.TBCTL.bit.SYNCOSEL = TB_CTR_ZERO;
	EPwm1Regs.TBCTL.bit.HSPCLKDIV = TB_DIV1; // TBCLK = SYSCLKOUT
	EPwm1Regs.TBCTL.bit.CLKDIV = TB_DIV32;
	EPwm1Regs.CMPCTL.bit.SHDWAMODE = CC_SHADOW;
	EPwm1Regs.CMPCTL.bit.LOADAMODE = CC_CTR_ZERO; // load on TBCTR = Zero
	EPwm1Regs.AQCTLA.bit.CAU = AQ_SET;
	EPwm1Regs.AQCTLA.bit.CBU = AQ_CLEAR;


//EPWM Module 2 config
    EPwm2Regs.TBCTL.all = 0; 			    // clear all bits in TBCTL
	EPwm2Regs.TBPRD = 65535;                // Period = 601 TBCLK counts
	EPwm2Regs.CMPA.half.CMPA = FiAn;        // Compare A = 200 TBCLK counts
	EPwm2Regs.CMPB = PulseW;                // Compare B = x TBCLK counts for pulse duration of 30% duty cycle


	EPwm2Regs.TBCTR = 0;                    // clear TB counter
	EPwm2Regs.TBPHS.half.TBPHS = 26082;     // Phase=120*39123/180
	EPwm2Regs.TBCTL.bit.CTRMODE = TB_COUNT_UP;
	EPwm2Regs.TBCTL.bit.PHSEN = TB_ENABLE;  // Phase loading enabled
	EPwm2Regs.TBCTL.bit.PRDLD = TB_SHADOW;
	EPwm2Regs.TBCTL.bit.SYNCOSEL = TB_SYNC_IN;
	EPwm2Regs.TBCTL.bit.HSPCLKDIV = TB_DIV1; // TBCLK = SYSCLKOUT
	EPwm2Regs.TBCTL.bit.CLKDIV = TB_DIV32;
	EPwm2Regs.CMPCTL.bit.SHDWAMODE = CC_SHADOW;
	EPwm2Regs.CMPCTL.bit.LOADAMODE = CC_CTR_ZERO; // load on TBCTR = Zero
	EPwm2Regs.AQCTLA.bit.CAU = AQ_SET;
	EPwm2Regs.AQCTLA.bit.CBU = AQ_CLEAR;
	EPwm3Regs.TBCTL.all = 0; 			// clear all bits in TBCTL


// EPWM Module 3 config


	EPwm3Regs.TBPRD = 65535;                 // Period = 601 TBCLK counts
	EPwm3Regs.CMPA.half.CMPA = FiAn;         // Compare A = 200 TBCLK counts
	EPwm3Regs.CMPB = PulseW;                 // Compare B = x TBCLK counts for pulse duration of 30% duty cycle


	EPwm3Regs.TBCTR = 0;                     // clear TB counter
	EPwm3Regs.TBPHS.half.TBPHS = 26082;      // Phase=120*39123/180
	EPwm3Regs.TBCTL.bit.CTRMODE = TB_COUNT_UP;
	EPwm3Regs.TBCTL.bit.PHSEN = TB_ENABLE;   // Phase loading enabled
	EPwm3Regs.TBCTL.bit.PRDLD = TB_SHADOW;
	EPwm3Regs.TBCTL.bit.SYNCOSEL = TB_SYNC_IN;// Sync flow through
	EPwm3Regs.TBCTL.bit.HSPCLKDIV = TB_DIV1;  // TBCLK = SYSCLKOUT
	EPwm3Regs.TBCTL.bit.CLKDIV = TB_DIV32;
	EPwm3Regs.CMPCTL.bit.SHDWAMODE = CC_SHADOW;
	EPwm3Regs.CMPCTL.bit.LOADAMODE = CC_CTR_ZERO; // load on TBCTR = Zero
	EPwm3Regs.AQCTLA.bit.CAU = AQ_SET;
	EPwm3Regs.AQCTLA.bit.CBU = AQ_CLEAR;

When I run this code, I find that both epwm2 and epwm3 have been sync to epwm1. I am expecting that epwm2 will be sync to epwm1 and epwm3 will be sync to epwm2. Can anyone please help with this? Here is a picture of what I'm getting