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.

UCD3138: Any Alternative for UCD31XX with firmware for DAB / PSFB for 20kW design ?

Part Number: UCD3138


Tool/software:

Hey,

I'm looking for an digital controller "without open MCU" which can support for 20kW output power and also supports either of these power topology DAB \ PSFB \ CLLLC. or any other suggestion on this would be appreciated... like "open MCU" with only minimal firmware changes... and also i need to set the output parameters in real-time like what should be the output current = __ A and Voltage = __ V

Thanks & regards,

Tejas M P

  • Hello Tejas,

    The UCD3138 is a good choice since it is a digital controller that combines the flexibility of an MCU without requiring extensive firmware development. You can also use our Fusion Studio GUI to monitor and configure values real-time.

    We have a PSFB EVM for the UCD3138 that you can buy: https://www.ti.com/tool/UCD3138PSFBEVM-027. The PSFB EVM also comes with a PSFB firmware: https://www.ti.com/tool/UCD3138FW-PSFB. We also have a PSFB reference design for the UCD3138: https://www.ti.com/tool/PMP4320A.  We do not have any examples for a Dual Active Bridge or CLLC. You will need to refer to the C2x reference designs for those topologies.

    For an in-depth comparison between the UCD3138 and a general purpose MCU, like the C2x, see the below: 

    Please see the Introduction to UCD3138x Devices (https://www.ti.com/lit/an/sluaas7/sluaas7.pdf). This answers the questions: What is the UCD and Why should you use the UCD?

    In summary, the UCD3138x controllers are digital controllers that are specifically optimized for power supplies. This is opposed to the C2x controllers, which are general purpose MCUs that are not limited to just power supply design. For example, look at Figure 7-6 on page 41 in the UCD3138A datasheet (https://www.ti.com/lit/ds/symlink/ucd3138a.pdf). Figure 7-6 depicts the UCD's PID filter, which is designed for power supply control.

    If you use a C2x controller, then you would need to write all the code that implements a PID filter. This includes manually writing code that does the multiplication, addition and clamping that you see in the diagram.

    The UCD controllers have all of the paths etched into the silicon itself. So, you do not need to code a PID filter since that is inherent in the UCD's internal hardware. The only things you can change are the values highlighted in blue, pink and green, such as the Kp coefficients. So, designing with the UCD controllers is much simpler since you do not need to program much of the control, and the response time can be faster since the signals travel through the silicon automatically.

    These values can also be changed live via the Fusion Studio GUI. The Fusion Studio GUI allows you to view the control loop and monitor status while your power supply is running. You can also change values, like the Kp coefficients, in real-time to see how changing the values affect the performance of your power supply. See the below screenshot from one of the GUI tabs in the PSFB topology:

    If you require a more general purpose MCU, then the C2x would be a better fit. The C2x also generally has more pin count and pin functionality, so you are not limited by the hardware. For example, the UCD controllers all have 3 Error ADC pins. If you are only using one Error ADC pin, then the other two Error ADC pins will be unused since their functionality cannot be changed. The C2x controllers can have much more customization with their pins so a pin is not limited to one function.

    We just published a new Technical Article "How real-time control technologies enable reliable, scalable high-voltage designs" (https://www.ti.com/lit/ta/ssztd36/ssztd36.pdf). This article provides a comparison between UCD vs. C2x and when to use each product.

    Regards,

    Jonathan Wong

  • Hello Jonathan,

    First I would like to appreciate you for providing the details and comparison on both UCD and C2X controllers at high level.

    I have few doubts, listed below...
    1. In UCD3138x controller, can i set the desired voltage and current values in real-time and will it support 20kW output design ?
    2. Can i update the parameters in real time ? lets say at t=0s Vout=XXXV Iout=ZZA, at t=10s Vout=QQV Iout=SSA, at t=20s Vout=FFFV Iout=GGA....
    3. If i can update parameters then is it only via GUI based or Can it supports other interfaces apart from GUI ?
    4. When you are saying GUI based, does controller need to be connected to host computer(GUI installed and updating the parameters done using same) via some connectors or will it be OTA ?
    5. Can i use other interfaces(UART / PMBus) for updating the parameters ?

    Your inputs and clarification on these will be helpful...

    Thanks and Regards,
    Tejas M P 

  • Please see the response below.

    1. In UCD3138x controller, can i set the desired voltage and current values in real-time and will it support 20kW output design?

    yes. you can update the firmware to change in real time so you can change Vout and Iout. However, proper code handling is needed when you update the firmware to change the regulation point.


    2. Can i update the parameters in real time ? lets say at t=0s Vout=400V Iout=50A, at t=10s Vout=700V Iout=30A, at t=20s Vout=400V Iout=30A....

    yes. besides the point mentioned above, you also need to make sure the power stage can support this Vout/Iout combination.


    3. If i can update parameters then is it only via GUI based or Can it supports other interfaces apart from GUI ?

    Yes. You can do it via GUI or commend line (with API installed).


    4. When you are saying GUI based, does controller need to be connected to host computer(GUI installed and updating the parameters done using same) via some connectors or will it be OTA ?

    Need a connector. No OTA is supported natively. You will need to develop your own OTA infrastructure.


    5. Can i use other interfaces(UART / PMBus) for updating the parameters ?

    Default communication is using PMBUS

  • 1. In UCD3138x controller, can i set the desired voltage and current values in real-time and will it support 20kW output design?

    yes. you can update the firmware to change in real time so you can change Vout and Iout. However, proper code handling is needed when you update the firmware to change the regulation point.


    Whenever i need to update/change the parameter then do i need to update entire firmware ?

  • In debug phase, you can change the parameter value via GUI (memory debugger). For production release, you will need to update the entire firmware

  • Assume a scenario, where i have UCD31XX to which i need to send some PMBUS commands to update the parameters only like voltage and current in real-time from the Master MCU on the PMBUS communication channel without updating the entire firmware of the UCD31XX each time whenever i send command to update only the parameters...


    suppose if i want to change the output voltage from default value X to Z value and current from default value P to Q value at t1 time then i have to send particular PMBUS command to UCD31XX from the master MCU saying this and this is the values.... and at t2 time i want to change it to different voltage value and current value then similar to previous a particular PMBUS command from Master MCU to UCD31XX like this and this values to set at the output. like i should be able to change the output value from default value with the new value sent on PMBUS command from Master MCU. Whenever the system Restarts it should start with the default values again.

    Can this scenario be implement on this UCD31XX or does the UCD31XX support this ?

    If No, then i need a semi-digital power controller particularly for 20kW power handling capability so which controller should i go for ?
    which can support real time parameter update without updating entire firmware each time.

  • The answer is yes. You can store the variable in data flash (and RAM after power up) and update it in real time with PMBus commend.

    The only caveat is to make sure that right PMBus functions and proper control code are implemented in the firmware.