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.

TIDA-00381: A few questions about the TIDA-00381 firmware

Part Number: TIDA-00381
Other Parts Discussed in Thread: UCD3138, TIDA-00318

Hello,

  After reading the firmware for tiDA-00381, I have a few questions.

1、The phase shift registers of DPWM0 and DPWM2 are set to the same value. Why is phase shift performed only for DPWM2 ?

2、When a DPWM uses edge mode.need to enable all other DPWMS?

3、In resonant mode, is the output of Filter Period related to the DPWM Period?  How can I see the output value of Filter Period?

In resonant mode, I test the DPWM with an oscilloscope and check the register values with Fusion. 

The DPWM Period measured by oscilloscope should be twice the output value of Filter Duty, which has no corresponding relationship with Filter Period.  

DPWMFILTERDUTYREAD * 250ps*2 = 19622*250ps*2 = 9.8us

()FILTERYNREAD * DPWMPRD)>>20 = Filter Period 

                                       

4、The dead zone of DPWM0 is larger in phase shift mode than in frequency conversion mode.

      This causes a problem: the pulse width of DPWM2 exceeds DPWM0 on both sides of the phase shift and frequency conversion boundary.

as following picture shows:

      ch1:DPWM0A       ch2:DPWM2A       ch4:DPWM1B (EF)

Oh, I just began to learn UCD3138, I have so many questions, I hope experts to answer patiently, thank you.

  • Hi, Aiden, Please see my comments.

    Q1: DPWM2 is master, so a DPWM  which is slaved to DPWM2 has phase-shift of 180 degree.

    Q2: Not  really, the code enables all edge mode, but only DPWM2 and DPWM3 use edge-gen mode.

    Q3: In resonant mode, DPWM period is driven by filter out. You can calculate the DPWM period from the equation: DPWMFILTERDUTYREAD * 250ps*2.

    Q4: Was the picture taken at resonant mode?  I didn't see this deadtime difference before. Maybe your firmware is different.

    Regards,
    Sean

  • Hi, Sean ,Thank you for your reply.

    Q1: I might have been a little bit inaccurate.Let's do it in terms of experimental results:

           1) If I set the Dpwm0Regs.DPWMPHASETRIG register value to 0, the output DPWM waveform will not change at all.

            

           2) If I set the Dpwm2Regs.DPWMPHASETRIG register value to 0, the output DPWM waveform will not work properly during phase shift .

            

          It can be seen that DPWM2 phase shifts relative to other DPWM.  However, DPWM1 has no phase shift with respect to other DPWM.

    Q3: In resonant mode, If the DPWM Period is obtained by an equation:DPWMFILTERDUTYREAD * 250ps*2.,

           what is the Filter Period output used for, and when?

    Q4: I used the firmware on TI's official website. Now there is only one version of TIDA-00381 FBLLC on TI's official website

           I measured the waveform at the intersection of the phase shift mode and the FREQUENCY modulation mode. 

           Dpwm0Regs.DPWMFILTERDUTYREAD = 13299.

           I think the reason for this problem is that:

           In phase shift mode, DPWM0 is generated by DPWM0C and DPWM2C.The dead zones of DPWM0C and DPWM2C are determined by PWM1 EV5 and PWM1 EV6.

           In frequency conversion mode, DPWM0 is generated by DPWMA and DPWMB.  The dead zones of DPWMA and DPWMB are determined by PWM0_EV1/PWM0_EV2/PWM0_EV3/PWM0_EV4.

    You can test when Dpwm0Regs. DPWMFILTERDUTYREAD = 13299, output waveform is the same as mine.  

    Thank you!

      

  • Hi, Aiden,

    It takes time to read through your explanation. Dpwm0Regs is not the master of other DPWMs, so any number of Dpwm0Regs.DPWMPHASETRIG doesn't affect other DPWMs. But DPWM2 is master of DPWM3. You can check its register setting of DPWM2_SYNC_SEL.

    You are right, at frequency modulation, DPWM0A/0B come from EVENTs settings, and at phase-shift mode, DPWM0A/0B come from DPWMCs, their deadtime is independent. Do you measure if the deadtime matches different register setting? 

    At resonant mode, the period is not readable directly from Period register.  Period register is readable at fixed switching frequency.

    Regards,
    Sean 

  • Q1:The related registers are configured as follows,In this case, does the value of the dPWm0regs. DPWMPHASETRIG register shift phase  ?

        

  • DPWM2 is master of all other three DPWMs. DPWM2 has 180 degree phase shift with all other three DPWMs.

  • Q3:

    At resonant mode,the DPWM Period is obtained by an equation:DPWMFILTERDUTYREAD * 250ps*2.

    At fixed switching frequency mode, the DPWM period is configured by the "DPWMPRD.bit. PRD" register.

    What is the output value in the red box below used for?

  • It means in LLC topology, the duty and period are changed at the same time, which are controlled by the filter output.

  • In the case of TIDA-00318, the output of the red box in the figure above(Filter period) is neither DPWM period nor DPWM duty cycle .This is my problem.

  • The output  of Red box is to change DPWM period.

  • I said that at the beginning of the question“The DPWM period is not equal to the output (in the red box) of the Filter

    Let's look at the actual data and the detailed calculation.

               

    DPWMPRD = 1667(4ns)

    DPWMRESDUTY = 3572(4ns)

    DPWMFITERRDUTYREAD = 19645(250ps) = (DPWMRESDUTY * FILTERYNREAD ) >> 19(250ns)

    FILTERYNREAD = 2883496

    DPWM Period = 9.8us

    DPWMFITERRDUTYREAD  * 250ps * 2 = 9.8us 

    The output of a Filter Period cannot be read directly and is computed by the following formula:

    Fiter Period = DPMWPRD * FILTERYN = (1667 * 2883496) >> 19= 9168(250ns)

    9168 * 250ps = 2.2us

    The calculated Filter periond value is completely different from the period value measured by oscilloscope .

    I hope you see what I mean.

  • Filter period is calculated by:

    KCOM0 * FILTERYN >> 19.

    For example: KCOMP0 = 3572 *2 = 

    Period = 3572 *2 * 2883496 >> 19 = 39290 ; 

    39290 * 0.25ps = 9.8us.

    PERIOD_MULT_SEL =1, and KCOMPX is used for multiplicand. 

    Regards,

    Sean 

  • Oh, my god, I was wrong. 

    PERIOD_MULT_SEL =1,I understand it as DMWx period  is used for multiplicand. 

    Thank you for your patience in answering my questions.