Champs,
I am asking this for our customer.
The customer is very confused about the description sec 16.4 in the TRM (SPRUI33A) on ramp reset.
It says "
On the rising edge of the selected EPWMSYNCO; RAMPMAXREFA, RAMPDECVALA and RAMPDLYA
are loaded with their shadow registers. RAMPSTS is loaded with RAMPMAXREFS and starts
decrementing when RAMPDLYA counter reaches zero."
From it, they think RAMPSTS starts decrementing on EPWMSYNCO.
However, they have done some labs and the waveform and expected timing diagram are showed below.
In the code, they use CMPB to generate EPWMSYNCO.
and
void Init_CMPSS(void)
{
EALLOW;
Cmpss1Regs.COMPCTL.bit.COMPHINV = 0;
Cmpss1Regs.COMPCTL.bit.COMPHSOURCE = 0;
Cmpss1Regs.COMPDACCTL.bit.RAMPSOURCE = 0; // EPWM1SYNCO
Cmpss1Regs.COMPDACCTL.bit.DACSOURCE = 1; // Uses ramp generator
Cmpss1Regs.RAMPMAXREFS = 0xFFFF; // 3.3V
Cmpss1Regs.RAMPDECVALS = 2; // 2 / 65535 * 3.3V = 10.071 mV/us
Cmpss1Regs.COMPCTL.bit.COMPDACE = 1;
EDIS;
}
The result appears to show the RAMPSTS register of the ramp generator starts decrementing when the time-base counter of EPWM1 equals to TBPRD rather than the rising edge of EPWMSYNCO.
Do you have any comment why the result shows the RAMPSTS register of the ramp generator starts decrementing when the time-base counter of EPWM1 equals to TBPRD rather than the rising edge of EPWMSYNCO?
Would you please help us clarify?
Wayne Huang