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.

TMS320F28027: Some issues

Part Number: TMS320F28027
Other Parts Discussed in Thread: SFRA, POWERSUITE, TIDM-HV-1PH-DCAC

Hi team,

Here's 3 issues from the customer may need your help:

1. SFRA_F32_inject is the injection of small signals, is the return value of the SFRA_F32_inject function the difference between the input value and the reference value? Why is this function used here instead of subtracting the difference directly?

2. There are sections of code for AD sampling in the voltageSourceInverterLCFltr_F28004x project:

#if SENSING_OPTION ==ADC_BASED_SENSING
calibrateOffset(&invIiOffset, k1, k2);
#endif

Why does the first variable of the function invIiOffset select invIiOffset? And how does the selection of different reference values for calibrateOffset affect the results of AD sampling?

3. Also, what is the basis for the value statement for CMPB in the following functions? The CMPB setting should be equal to TBPRD, why is the following setup statement? What is the 50/2 setting based on? 

//
// set duty 0% initially
//
EPWM_setCounterCompareValue(INV_ISR_TRIG_PWM_BASE,EPWM_COUNTER_COMPARE_B,
EPWM_getTimeBasePeriod(INV_ISR_TRIG_PWM_BASE)-(50/2)); 

Could you help check this case? Thanks.

Best Regards,

Cherry

  • Hi,

    We have assigned your query. Since the experts are OOO, please expect reply only by early next week.

    Thanks,

    Aditya

  • Hello,

    Thanks for response! May I know is there any updates? 

    Quick updates: DC-AC single phase inverting scheme, is the ramping RAMP calculation calculated as a modulation ratio of 1?  And they also would like to know the relationship between the fundamental amplitude of the SPWM wave and the SPWM wave.

    Best Regards,

    Cherry

  • 1. SFRA INJECT function takes the set point and returns the set point + injection 

    2. I don't see a strong reason to pass this by reference, we could have used the global variable , potentially some legacy code. 

    3. I do not see this in the SDK code, can you please indicate which line ?

    We do have ACQPS window half, which is done to center the sampling of the S/H ADC in the middle of the pulse. 

     EPWM_getTimeBasePeriod(INV_ISR_TRIG_PWM_BASE)-(50/2));

  • Cherry, ramp goes from 0 to 1, we muliply it by modulation index later. 

  • Hi,

    1. SFRA INJECT function takes the set point and returns the set point + injection 

    What is the equation for set point and the return value the set point + injection? Do you mean transfer function formulas?

    3. I do not see this in the SDK code, can you please indicate which line ?

    Not in the SDK,  it' is in the Single Phase Inverter in the PowerSuite Solution Adapter under the DC-AC module: Voltage Source TIDM-HV-1PH-DCAC,

    PowerSuite Single Phase Inverter in CCS: Voltage Source — TIDM-HV-1PH-DCAC.

    We do have ACQPS window half, which is done to center the sampling of the S/H ADC in the middle of the pulse. 

    Could you elaborate this? Where can they get the ACQPS window half? 

    PWMA triggers multiple AD samples, while PWM treats the PWMB as where the interrupt occurred. The total time between the time the sample was triggered and the time the interrupt occurred should be sufficient to ensure that the acquired value is the value of the current cycle, not the value of the previous cycle.

    But the customer think ePWM_getTimeBasePeriod (INV_ISR_TRIG_PWM_BASE) - (50/2)); this statement setting cannot meet the requirement, but it dose in the program. Why is that?

    Thanks and Best Regards,

    Cherry

  • Hi,

    May I know is there any updates about the last response?

    Thanks and Best Regards,

    Cherry

  • Cherry it is sinusoidal injection, 

    Output_with injection = output_set_point + sfra_injection_amplitude*sin(injection frequency * t)

    To sample the current exactly at the mid point . We do trigger 4 conversion, with adjustment of the SOC pulse we can adjust it such that two conversion happen before the mid point and two happen after, so when we average we get the exact mid value.