Written by Vaibhav Desai and Ian Bower
In today’s connected world software frequent field updates are necessary to improve accuracy, or add on benefits or even fix bugs. If you like these updates to be invisible to you, you are going to love this idea - Instant updates that do not require your software to restart or cause any glitch in the power supply. While concept is relatively simple for on the fly updates, challenge comes in to keeping the power supply in regulation during the firmware transition. In other words a seamless transition without losing any information is a key.
TI’s UCD3138 product family uses a novel method to control a power supply. The UCD3138 controller’s architecture employs programmable digital state machine hardware for implementing fast voltage/current loop control in conjunction with an integrated general purpose microcontroller free for necessary power supply housekeeping and system communication tasks. These advanced power peripherals operate autonomously from the processor, with no need to rely on slower firmware decisions or complex time-slicing of shared resources.
Figure 1: UCD3138 device block diagram
The UCD3138 device’s topology support has been optimized for voltage mode or current mode control, half/full bridge topologies such as phaseshifted, hard-switched or resonant LLC and single or multi-phase boost power factor correction (PFC.) You can even operate the controller in a peak current mode control configuration to maintain transformer flux balance for topologies like a phase-shifted or hard-switching full bridge converter. You can ramp an internal digital-to-analog converter (DAC) at a synchronously controlled slew rate to achieve programmable slope compensation. This eliminates sub-harmonic oscillation and improves input voltage feed-forward performance.
Key requirements to perform on the fly updates are autonomous peripherals to run the control loop independently and more than one flash bank to download latest image into a redundant bank to stage a live switch. There are 3 devices in this family that support on the fly programming. UCD3138064, UCD3138A64 and UCD3138128, each include 64K, 64K and 128K Program flash respectively.
For the sake of simplicity we will be using the UCD3138064 as example to describe on the fly operation. This digital controller offers 64 kB of program flash memory in two 32 kB banks, allowing the storage of two firmware images. Firmware bank A can represent the space for a power supply’s current (incumbent) firmware code and bank B can represent the space for the desired updated version of the code.
Using this technique you can update firmware from either primary or secondary side.
Secondary side firmware updates:
Figure 2: Switch Firmware Live
On-the-fly upgrade for secondary side can be achieved using the 2 steps below
- Program block 2 with new firmware from the host via PMBus/serial peripheral interface (SPI)/universal asynchronous receiver/transmitter (UART) communication.
- Stage and implement a “live switch” of execution from block A to B
Watch this video for more information.
Primary side firmware updates:
It is also possible to do live switch on the primary side and secondary side.
Figure 3: Primary and Secondary Live Firmware update
On-the-fly upgrade for primary side can be achieved using the steps specified below
- Download the new primary image from the host into secondary controller Block B
- Digital power controller from the secondary notifies the primary side about the updated image
- Primary power controller prepares for a live switch
- The secondary controller downloads the image in the primary digital controller
- The primary controller stage makes a switch and notifies secondary controller
- The secondary notifies the host about a successful switch.
In server applications, “on the fly updates” eliminate the need to shut down, use “hot-swap”, or to physically replace a power supply due to firmware related issues or any feature upgrade, which would interrupt system operation. This reduces downtime in server datacenters that would have otherwise been incurred from upgrading power supply firmware.
Figure 4: Digitally controlled offline AC/DC power supply based on the UCD3138064
Data scrubbing is an error correction technique that uses a background task to periodically inspect main memory or storage for errors, and then correct detected errors using redundant data in the form of different checksums or data copies. Data scrubbing reduces the likelihood that single correctable errors will accumulate, leading to reduced risks of uncorrectable errors. The on-the-fly capability afforded by UCD3138064 device architecture permits an easy implementation of data scrubbing.
Figure 5: Memory Scrubbing on UCD3138064
For all TI digital power products and solutions, visit: ti.com/digitalpower