Part Number: TMS320F28035
Other Parts Discussed in Thread: SFRA
Hi, for ILPFC kit, the code for SFRA is shown below:
interrupt void ILPFC_ISR_wFRA()
{
GpioDataRegs.GPATOGGLE.bit.GPIO2 = 1;
#if INCR_BUILD == 1
DutyA = SFRA_IQ_INJECT(DutyA_DC); //Duty1ASetSlewed - Slewed Duty command (Duty1A_Set - set buy user)
#elif INCR_BUILD == 2
#if BUILD2_SELECT == 0
Icmd = SFRA_IQ_INJECT(Icmd_DC);
#elif BUILD2_SELECT == 1
PFCIcmd_wInj = SFRA_IQ_INJECT(PFCIcmd);
#endif
#elif INCR_BUILD == 3
#if SFRA_TYPE == 0
VloopCtr2++;
if (VloopCtr2 == VOLTAGE_LOOP_RUN_RATIO)
{
VbusTargetSlewed_wINJ = SFRA_IQ_INJECT(VbusTargetSlewed);
PFCIcmd_wInj = PFCIcmd;
VloopCtr2 = 0;
}
#else
PFCIcmd_wInj = SFRA_IQ_INJECT(PFCIcmd);
VbusTargetSlewed_wINJ = VbusTargetSlewed;
#endif
#endif
DPL_Func();
#if INCR_BUILD != 3
SFRA_IQ_COLLECT(&DutyA,&Ipfc_fltr);
#else
#if SFRA_TYPE == 0
SFRA_IQ_COLLECT(&VbusVcmd, &Vbus);
#else
SFRA_IQ_COLLECT(&DutyA,&Ipfc_fltr);
#endif
#endif
}
1. For INCR_BUILD=1, the parameters of SFRA_IQ_COLLECT is DutyA and Ipfc_fltr, so the plant transfer function is from duty cycle to PFC current, if I change the parameters to DutyA and Vbus, I will get the bode plot of transfer function from duty cycle to DC voltage, right?
2. For INCR_BUILD=2. the parameters of SFRA_IQ_COLLECT is DutyA and Ipfc_fltr. Now it's current closed loop, so parameter Ipfc_fltr makes sense, but what's the parameter DutyA for?
3. The same question as before. Now for INCR_BUILD=3. the parameter Vbus and Ipfc_fltr make sense, but why VbusVcmd and DutyA?
4. For INCR_BUILD=1, I sweep the circuit and get the data for OL magnitude, phase and Plant magnitude and phase, and they are different. What's the open loop at this moment? I don't think there are any loop at this moment.
Thanks.
