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.

UCD3138128: How does the BiDCDC sync pin primarily operate?

Part Number: UCD3138128
Other Parts Discussed in Thread: UCD3138A64, UCD3138064, UCD3138

Tool/software:

Dear TI Experts,

We are referencing the circuit design from the following link: www.ti.com/.../TIDA-00653, and the sample code from: www.ti.com/.../UCD3138FW-BIDI

According to the circuit diagram, I see that the "SYNC" label is connected to TCAP1, TCAP0, FAULT0, and SYNC. Could you explain the primary function of the "SYNC" and which section of the code it corresponds to?

I mainly want to understand its principle of operation.

Parrish.

  • Our engineer is out of office. We will get back to you as soon as we can

  • It’s used for chopping the falling edge of the (1-D) at a specific negative current to allow soft-switch. The “sync-delta” is used to capture pulses to calculate period and then set phase(period/4) difference appropriately between the 4 power phases.

    Here is where is used in the code. 

     #pragma INTERRUPT(standard_interrupt,IRQ)

    void standard_interrupt(void)

    {

     

    #ifdef HARD_SWITCHING

    #else

     

                    if((sync_delta !=0) && (sync_delta < 1000))

                    {

     

                                    phase=(sync_delta <<6);

                                    Dpwm0Regs.DPWMPHASETRIG.all=phase;

                                    Dpwm1Regs.DPWMPHASETRIG.all=phase;

                                    Dpwm2Regs.DPWMPHASETRIG.all=phase;

                    }

  • Dear Ning,

    Thank you for your response.

    I noticed that in "init_TCAP", there are configurations for the TCAP0 and TCAP1 pins, so their source also comes from "SYNC"?
    But what about FAULT0?

    Can you explain the function of TCAP? Or which sections of the code are related to TCAP?

  • You can find the code below to explain how TCAP is used.

    #pragma INTERRUPT(fast_interrupt,FIQ)

    void fast_interrupt(void)

    {

                   prev_sync=sync;

    #if (UCD3138128 |UCD3138A64)

                   sync=TimerRegs.T24CAPDAT0.bit.CAP_DAT;

    #elif (UCD3138064 | UCD3138)

                   sync=TimerRegs.T24CAPDAT.bit.CAP_DAT;

    #endif

                   sync_delta=sync-prev_sync;

    #if (UCD3138128 |UCD3138A64)

                   TimerRegs.T24CAPCTRL0.bit.CAP_INT_ENA=1;

    #elif (UCD3138064 | UCD3138)

                   TimerRegs.T24CAPCTRL.bit.CAP_INT_ENA=1;

    #endif

     

    }