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.

TIDM-02008: Two issues with the current inner loop command Iref

Part Number: TIDM-02008
Other Parts Discussed in Thread: C2000WARE

Hi Team,

Here are two issues from the customer need your help:

Design Guide: TIDM-2008/TIDM-1007 Bidirectional Interleaved CCM Totem Pole Bridgeless PFC Reference Design Using C2000Tm MCU

1. Why Iref* need to multiplied to Vbus-Avg in Sector 2.4.3's Figure 2-11? As shown in below red highlighted:

2. The composition of ac_cur_ref_inst is descripted in Sector's Figure 3-25. This is inconsistent with the Iref* composition in issue 1. Why is this? As shown in below red highlighted:


Thanks & Regards


  • Hello Yale

    Fig.3-25 represents the actual implementation of the voltage loop. I am not sure why Fig. 2-11 is shown in userguide. I never paid attention to Fig. 2-11 since it is not the way voltage loop is implemented. Please let me know if customer has any question with Fig. 3-25 regarding its implementation. 

    Thank you

    Amir Hussain

  • Hello Amir

    I started this discussion. Now let me ask some questions about Figure 3-25.

    Why ac_cur_ref  need to be multiplied by VbusAvg/vRmsAvgAs shown in below red highlighted:

    I looked at the code and that's exactly how it works. C:\ti\c2000\C2000Ware_DigitalPower_SDK_4_02_00_00\solutions\tidm_02008\source\ttplpfc\include\ttplpfc.h

  • Hello Aiden

    The output of the voltage loop gives the DC reference current. This current is multiplied with sin(theta) to obtain the sinusoidal ref current. WIthout multiplying with VbusAvg/vRmsAvg, the equivalent reference current will decrease. The controller should still work. I believe multiplying with VbusAvg/vRmsAvg makes the controller more effective.



  • Hello Amir

    Thanks for your reply.

    I'm still confused about your reference to "WIthout multiplying with VbusAvg/vRmsAvg, the equivalent reference current will decrease."

    I've seen a lot of PFC cases, including TI's early ones. Their current reference expressions are basically the same, screenshot below:



    The current reference expression can be obtained as follows:

    Iref = K * Vpi * Vac*sin(wt) / (Vacrms * Vacrms)

    The purpose of adding 1/Vacrms*Vacrms is to achieve constant output power control under different AC voltage conditions.

    At minimum input voltage and maximum output voltage, the K factor is used to adjust the Iref to meet the requirements.

    The Iref consists of four components:



    3) Vac*sin(wt)

    4) 1/Vacrms*Vacrms

    Compare the Iref here with the Iref* shown in Figure 2-11 above and you will see that k is equivalent to vbusAvg.

    After removing 1/Vacrms*Vacrms:

    Iref = K * Vpi * Vac*sin(wt)

    Compare the Iref here with the ac_cur_ref_inst shown in Figure 3-25 above and you will see that k is equivalent to vbusAvg / vRmsAvg.

    Do you think the case of TI "TDM-2008" is to remove the output constant power control and replace the coefficient K with vbusAvg/vRmsAvg?


  • Hello Aiden

    I compared the Iref_inst calculation in TIDM 2008 with the one in Fig.1.1 shared by you. What I found is TIDM uses Vbus in the Iref calculation while Fig. 1.1 eauivalently uses Km*sqrt(2). I am not sure what is the value of Km but both are the constant values. If they do not come out to be the same, this equivalently affects the PI controller parameter. Again I am not sure if Gv parameters are same in the two controller. In conclusion, what I observe that the difference between the two implementation may result in the change in parameters of Gv if Vbus is not equal to Km*sqrt(2). 

    Another difference I see is controller of Fig.1.1 uses actual AC voltage in the calculation of sinusoidal reference current. In TIDM 2008, first DC reference current is obtained. This DC reference current is multiplied with sinwt, where sinwt is the output of PLL applied of the input AC voltage.

    Thank you

    Amir Hussain

  • Hello Amir

    Thanks for your reply.

    I agree with you. You can close the case.