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.

UCD3138A: DPWM Mode

Part Number: UCD3138A

Dear All,

I am trying to implement bi-directional buck-boost converter. I am going to use UCD3138A to control it. I am a newbie at UCD and for now, I have read Digital Power Peripherals Programmer's Manual and BidirectionDCDC converter User Guide of TI Design. However in this design, only buck mode operates in one direction and boost mode operates in the reverse direction.

At this point, I would like to ask that which DPWM mode should I use. Since there will be operation mode changings for buck and boost modes, I thought that Automatic Mode Switching should be used but I dont know the UCD deeply. Therefore I want to ask you that may there be any other way to implement it? 

I would be appreciated if someone helps me about this. Thanks in advanced.

Regards,

Merih

  • I'm not an expert on the Bi-directional DC/DC, but looking at the code, it looks similar to the way we handle bridgeless DC/DC, because we have the same situation where the current is reversing.

    You can see what is happening if you look at buck.c and boost.c in the TI EVM code.

    The DPWMs always stay in Normal mode, where DPWMxA is putting out a pulse width proportional to the filter output (D), and DPWMxB is putting a pulse something like 1-D - turning on for the rest of the period with some dead times in there.

    However, since the current reverses, what is D in one direction needs to be 1-D in the other direction. Also, the sign on the input to the filter needs to reverse with the current reversing.

    So you will see that in one direction the bitfields in the intra_mux have a zero, and the other they have a 3. With the 0, the internal DPWM_xA signal comes out on DPWM_xA, and the DPWM_xB comes out on DPWMxB. With 3, they are switched, with DPWM_xB coming out on the DPWM_xA pin, and DPWM_xA coming out on DPWM_xB.

    The EADC_INV bit is changed to 0 or 1 for reversing the polarity on the input current.

    Note that the PWM_ENA bits are cleared at the start of the switchover sequence - this turns off the PWMs during the switchover to avoid transients. I see that it goes to a state called WAIT_TO_SETTLE, so I guess it doesn't get turned on right away.

    Also the filter is cleared, so that the PWMs will start up at zero.

    I also see that the timing on the DPWMs are also changed, presumably because the dead times and even period may be different depending on which direction you are going.

    Automatic Mode Switching doesn't support all of this, so I think you've got to do it in firmware.
  • HI Merih,

    Bidirection Buck-Boost needs a different implementation than the current Buck in one direction and a Boost in another direction. This will need an H bridge implementation. We are in the process of coming up with a method to implement the Bidirection Buck-Boost converter.

    I think a Bidirection buck boost converter should be considered if no other option is available. However if your input and output ranges are very wide, the bidirection buck-boost would be a good option. Remember this topology definitely is less efficient and needs more components compared to a simple sync buck.

    Could you please let us know what is your application ?   

    Thanks,

    Sanatan

  • Hi Sanatan

    Thank for the reply. You are right, this topology is less efficient than simple buck but I am going to use it for battery charging and it has a very wide range as input and output. Therefore I have to use buck-boost topology

    Regards,

    Merih