Buck and boost
A look at how to design buck and boost converters with full analogue control for output regulation
The possibility of making both a synchronous buck power supply and a boost power supply with 100 per cent analogue control for output regulation can be realised using the same microcontroller. In both cases, the implementation has the advantage of not using any processor power, leaving the core free for more complex firmware. Also, the analogue loop has a much faster response time to load steps and input voltage changes, making it useful for many applications.
The microcontroller in question is the PIC16F753 from Microchip. Both the buck and boost converter need the same peripheral set: a complementary output generator; comparator; operational amplifier; 9bit analogue-to-digital converter; fixed voltage reference; slope compensation module; and capture and compare PWM module. The peripherals should be internally connected through firmware, reducing the number of external pins needed.
The input operating range for the buck converter is 8 to 16V DC. The output figures are 5V DC, 2A and 10W. Code size is 105 words, RAM size 0byte, available code size 1943 words and available RAM size 128byte. Efficiency measured at 2A is 94 per cent.
A block diagram of the synchronous buck supply is shown in Fig. 1. The output voltage should be regulated using peak current mode control and compared with the reference voltage by the error operational amplifier (OPA). The result can then be fed to the peak current comparator.
The internal slope compensation module subtracts a software programmable ramp from the error amplifier output before the peak current comparator. The CCP capture and compare PWM module provides a fixed-frequency, fixed duty cycle control signal and the peak current comparator output was selected as a second (level-based) source for the complementary output generator (COG) falling edge.
The boost converter works in the same way and its block diagram is shown in Fig. 2. There are some differences though in the specifications. In this case, the input voltage range is 3 to 5V DC. The outputs are the same as is the RAM size. The code size is 99 words and the available code size is 1949 words. Efficiency at 2A is 87 per cent.
How they work
After the peripherals are configured and connected together, the control loop will run by itself, requiring no processor time. Peak current control schemes require slope compensation for duty cycles over 50 per cent to prevent oscillation. For lower duty cycles, slope compensation will also help stabilise the control loop if the current shunt is small. The PIC16F753 has an internal slope compensation module that can be used to subtract a programmable ramp from the error amplifier output before it is fed to the peak current comparator.
For synchronous switching power supplies, a small dead time is required for the transistor control signals to avoid current shoot-through. The COG can generate this signal based either on the oscillator frequency or an analogue delay chain. The delay chain lets the user set the dead time with a 5ns resolution, which is more adequate for small transistors. For this application, the dead time was set to 30ns.
For the buck topology, the inductor current is equal to the load current. To be able to measure the peak inductor current using a low-side shunt, some modifications were required. Normally, the shunt sees the filtered output current that is not usable by the peak current control scheme.
By connecting the output capacitors to ground through the shunt, ESR is higher but the resulting waveform matches closely the inductor current waveform. The downside of this method is the slightly lower efficiency, but a high-side shunt usually requires an additional circuit (current mirror or specialised IC), which adds to the cost.
For the boost topology, the inductor current is equal to the input current. The peak inductor current was measured directly on a resistor placed between the transistor source and the ground.
Input and output
Output current limiting is not integrated into the control loop and a second comparator should be used for this and selected as an auto-shutdown source for the COG. The error amplifier output is the inductor peak current limit, so keeping this value low by a resistor divider helps with inrush current problems and catastrophic short-circuit conditions. The downside of this approach is that system gain is reduced and it will respond slower to transients.
The op amp output pin is the same as the slope compensation module input pin, so the two peripherals can be used together without any additional external connectivity. If using a resistor divider to limit the op amp output voltage, it must be routed externally to the fixed voltage reference (FVR) buffer input pin.
Input voltage on the boost converter should be connected to the microcontroller using a small diode and bootstrapped to the output. Thus, when the output voltage rises, it will power the microcontroller and MOSFET driver. This is more efficient because a higher VGS will improve RDS(ON) and the interval below 4.5V is problematic for most power transistors.
This also makes the FVR the only stable reference available, and the circuit requires a few changes to ensure that the loop reference voltage is always independent from the supply or output voltage. Since the control loop reference voltage is derived from the DAC, this peripheral also needs a stable reference. The FVR of 1.2V was selected as the DAC reference, thus fulfilling all these requirements.
The boost topology has a clear DC path from the power source to the output, through the inductor and rectifier diode, even if the switching transistor is blocked. The current limiting loop can only prevent overcurrent until the switching frequency becomes zero. From this point on, catastrophic short-circuit events can occur without an additional protection switch. A second transistor can be placed on the output low side to cut off the load in case of a short circuit.
For comparator-based short-circuit protection, the reference must be stable over the whole voltage operating range. Since the output current shunt voltage is usually too small to use with the 1.2V FVR directly, it needs to be routed outside through the FVR buffer and then through a resistive divider to obtain the desired reference voltage for the comparator.
Since the FVR buffer is used this way, the op amp output must be used directly with the slope compensation module, without the additional divider. This uses no processor time but also uses more pins and peripherals. For ADC-based short-circuit protection, the current shunt voltage and the FVR are read in firmware.
The FVR voltage is needed to calculate VDD (when less than 5V), which in this case is the ADC reference voltage. While this does not use the extra comparator, I/O pins and external resistors, it will need some programme space and processor time.
The converter must be compensated for a specific load and the stability must be verified across the entire range of operating conditions.
Compared with using a specialised PWM controller chip, performance is similar but a PIC microcontroller adds flexibility. Also, the analogue control loop runs by itself, so the microcontroller core is totally free to run user algorithms, measure power supply parameters or transmit relevant information.
The analogue control loop makes the power supply fast enough for dynamic loads and input voltage changes. For current-controlled loads such as LEDs or thermoelectric cells, the voltage feedback can be replaced by average current feedback. The power supply can be also used for applications that require both voltage and current control such as CC and CV battery chargers. The PIC16F753 DAC has nine bits of resolution, which translate into a minimum voltage step of 20mV with a half output divider for the buck converter and 50mV with a fifth output divider for the boost converter.
The application needs one op amp, one comparator and one DAC. The DAC output can be internally routed to the op amp, so this saves one pin. The CCP module generates a fixed-frequency, fixed duty cycle signal for the COG. Depending on the user option to limit the OPA output, the resistor divider needs to be externally connected to the FVR buffer input.
If not using the resistor divider, only one pin is used instead of two. In this case, the op amp output, which is the same as the slope compensation module input, is configured as an analogue pin and should not be used for other purposes. The input-only digital pin can be used for a button or a similar functionality. During run-time, the programming data I/O pin and two other pins are free for user-specific functionality.
Alternative boost converter
A digitally-controlled boost power supply can also be built using the PIC12F1501. This has good efficiency at light loads, hardware overvoltage protection and uses a small number of components. The peripherals needed are two 10bit ADC channels, an FVR, comparator, numerically controlled oscillator and complementary waveform generator. The peripherals are internally connected through firmware, reducing the number of external pins to three. The block diagram for this is shown in Fig. 3.
The output voltage and current are regulated using a proportional control loop. Output values are read using two ADC channels and the control signal is adjusted accordingly. The numerically controlled oscillator uses fixed-on-time pulses with variable frequency to adjust the duty cycle pulse frequency modulation.
LATEST issue 2/2019