Other Parts Discussed in Thread: SFRA, CONTROLSUITE
Hi,
I've implemented the SFRA Open Loop with CLA according to the SPRUHZ5A.
In ISR:
//Add SFRA injection into the duty cycle for the open loop converter Duty_pu = SFRA_F_INJECT(Duty_pu_DC); // Call CLA1Task2 Cla1ForceTask2andWait(); // Collect Data SFRA_F_COLLECT(&Duty_pu, &Vout1_Read);
On Task 2:
...
// Read 16Bit ADC and computer Fbk Value
Vout1_Read = (((float32)AdcaResultRegs.ADCRESULT0) / ((float32)65536.0));
...
// Set phase shift value (PWM)
EPwm5Regs.TBPHS.bit.TBPHS = Duty_pu;
...
//----
Problem:
After starting the SFRA_GUI.exe or set the SFRA1.start bit to 1 the magnitude and phase values in the SFRA1 struct switch to {+inf}.
The Duty_pu value doesn't change.
Is there something wrong with the way I use the arguments of the function SFRA_F_COLLECT(&Duty_pu, &Vout1_Read) ?
Duty_pu and Vout1_Read are float32 and in the Cla1Data1 section.
All the code is running out of RAM.
The controlSuite is up to date.
Thank you for your help!
