This application relates to voltage converters and, more specifically, to feedback control of synchronous buck converters.
Disclosed herein are embodiments of a circuit and a method for efficient use of power in a voltage regulator. In one embodiment, a synchronous buck converter is included in a feedback loop, where the output voltage of the synchronous buck converter is fed back to a pulse width modulation (PWM) controller. The PWM controller uses the voltage output feedback to adjust a duty cycle of a PWM signal that affects the operation of the synchronous buck converter. The feedback loop holds the voltage output nearly constant by adjusting the PWM signal.
The synchronous buck converter receives two control signals at its switches, where the two control signals have a phase difference that defines a dead time of the switches. Another feedback loop selects a desired value for the phase difference so that dead time in the synchronous buck converter is optimized.
Phase generator 104 receives the PWM signal from PWM controller 102 and processes the PWM signal by adjusting its phase or producing multiple different signals with different phases. For instance, phase generator 104 may produce different signals for coupled inverters or may produce different signals for a multi-phase buck converter. However, for ease of illustration, operation of phase generator 104 will not be discussed further herein, and this example assumes that dead time generator 106 receives the PWM signal or a signal very similar to the PWM signal.
Dead time generator 106 receives the PWM signal and outputs two control signals. As explained in more detail below, synchronous buck converter 110 includes two switches 111, and each one of the switches corresponds to a respective control signal produced by dead time generator 106. Also, as explained in more detail below, a phase difference between the first control signal and the second control signal affects the timing of operation of the switches 111, thereby defining a dead time in synchronous buck converter 110. Various embodiments described herein adjust the phase difference between the first control signal and a second control signal to a desired value to save energy at synchronous buck converter 110. Operation of dead time generator 106 and selection of a desired dead time are also described in more detail below with respect to
The two control signals are output from dead time generator 106 and received by switch driver 108. Switch driver 108 includes buffer drivers, which increase a power of each of the control signals in order to provide adequate power to turn on and off the switches 111 within buck converter 110.
Buck converter 110 receives Vinput, which in some embodiments is a power signal from a power rail on a semiconductor die. In other embodiments, Vinput may include power from a battery or other voltage source. Switches 111 open and close according to the control signals from switch driver 108. The operation of switches 111, inductor 112, and capacitor 113 provide a steady output voltage at Voutput. Synchronous buck converter 110 may include any synchronous buck converter now known or later developed and may include in some embodiments a conventional synchronous buck converter 110 that reduces the voltage from Vinput according to a duty cycle of the received control signals. If Voutput drops or increases, the change in voltage is seen by PWM controller 102, which adjusts a duty cycle of the PWM signal to return the voltage at Voutput to a desired level. Similarly, I2R power losses within the system 100 of
On the left-hand side of dead time generator 106 is illustrated an example PWM signal that would be received by dead time generator 106 in some embodiments. On the right-hand side of dead time generator 106 is illustrated two control signals that are output by dead time generator 106. A first one of the control signals is represented by a dashed line, and the second control signal is represented by a solid line. In the example of
Of note in
In the feedback system 100 of
In one example embodiment, system 500 assumes that the load 114 is constant. Of course, in real world systems load 114 may not stay constant. However, for relatively short periods of time the system assumes that the load 114 is constant so that a minimum PWM signal can be identified for that load. As the larger feedback loop operates, PWM measurement circuit 510 measures the duty cycle of the PWM signal. In one example embodiment, PWM measurement circuit 510 may include a Delay Lock Loop (DLL) that has a multitude of taps with a resolution small enough to precisely measure the duty cycle of the PWM signal. For instance, in a system where the dead time may range between 50 and 500 ps, a suitable level of precision may be 5 to 10 ps with a DLL having 32 or more taps. However, the scope of embodiments is not limited to a DLL, as any appropriate circuit operable to measure a PWM signal may be used in other embodiments.
PWM measurement circuit 510 measures the duty cycle of the PWM signal and passes that input to logic circuit 520. Logic circuit 520 notes the measured value with respect to a dead time setting used by dead time generator 106. Logic circuit 520 then uses the control input to increment the dead time setting and once the control loop settles, the logic circuit 520 receives another measurement of the PWM signal from circuit 510. Logic circuit 520 then notes the measured value with respect to that dead time setting. Logic circuit 520 repeats this process multiple times and correlates PWM measurements with a series of dead time value settings. In one example, logic circuit 520 may build a table that correlates the PWM measurements with respective dead time settings.
After logic circuit 520 has correlated multiple dead time settings with their respective PWM measurements, logic circuit 520 may identify a dead time setting having a minimum corresponding PWM measurement. Logic circuit 520 then uses the control input to cause dead time generator 106 to use that identified dead time setting in order to minimize power loss at the buck converter 110. Of course, load 114 may vary over time, thereby making recalibration of the dead time generator 106 desirable. Accordingly, control logic 520 repeats this process either on a periodic basis or as needed to identify desired dead time settings and to apply those desired dead time settings to minimize power loss. In this way, PWM measurement circuit 510 and control logic 520 act as another feedback control loop to adjust dead time values to reduce loss throughout operation of the system 500.
A flow diagram of an example method 600 of selecting and applying a desired dead time is illustrated in
At action 610, the logic circuit applies multiple dead time settings to the system and correlates PWM signal measurements with each of the applied dead time settings. In some embodiments, the logic circuit saves the PWM signal measurements and their associated dead time settings in a table or other appropriate data structure.
At action 620, the logic circuit identifies one of the dead time settings that is associated with a minimum duty cycle of the PWM signal. In an example wherein PWM signal measurements of their associated dead time settings are in a table, action 620 include searching the table for a minimum PWM signal measurement and identifying the dead time setting associated with that minimum PWM signal measurement.
At action 630, the logic circuit applies the identified dead time setting. In the example of
At action 640, the logic circuit repeats that process of actions 610 through 630 periodically or as desired. For instance, changes in temperature of the circuit or of the associated load may change the behavior of the feedback loop so that a particular dead time setting may not be optimal. Accordingly, action 640 provides for recalibration so that optimal dead time settings are identified and applied on an ongoing basis as the buck converter operates.
The scope of embodiments is not limited to the specific method shown in
The embodiments described above monitor PWM duty cycle and adjust dead time settings to minimize PWM duty cycle to increase efficiency. However, the scope of embodiments is not limited to adjusting dead time settings only. Rather, PWM duty cycle measurements can be used to optimize parameters other than dead time in order to increase efficiency in circuits such as the circuit of
The PWM duty cycle can also be used as a crude measure of current sense because the conversion ratio is the ratio of supply voltage to output voltage. A look up table (or calculation) can convert the theoretical values and the technique described can measure the difference from the theoretical value and the measured value, the additional pulse width directly correlates to the load current. This approach can be used in very high speed applications for phase dropping and leg shedding.
As those of some skill in this art will by now appreciate and depending on the particular application at hand, many modifications, substitutions and variations can be made in and to the materials, apparatus, configurations and methods of use of the devices of the present disclosure without departing from the spirit and scope thereof. In light of this, the scope of the present disclosure should not be limited to that of the particular embodiments illustrated and described herein, as they are merely by way of some examples thereof, but rather, should be fully commensurate with that of the claims appended hereafter and their functional equivalents.
Dead time processing logic 710 is in communication with DPWM 708 to observe the dead time settings and the associated DPWM duty cycles. Dead time processing logic 710 creates a table or other data structure that matches dead time values with their corresponding duty cycle values. The lower the duty cycle, the more efficient the operation of the buck converter 110. Therefore, the dead time value that corresponds with the lowest PWM duty cycle may be regarded as the most efficient choice of dead time settings. Dead time processing logic 708 creates this table or other data structure and includes logic to parse the table, identify the dead time setting associated with the lowest duty cycle value, and apply that dead time setting at DPWM. Dead time processing logic 710 may be embodied as software and/or hardware and in some embodiments may be implemented as a microcontroller or other suitable digital control circuit. Operation of dead time processing logic 710 is discussed in more detail below after the description of
The number 2n of inverters and taps 820 may be selected to be appropriate for a given application. For instance, in an embodiment in which the PWM signal is a 200 MHz signal, each cycle of the PWM signal may be 5 ns. If each individual inverter corresponds to about 10 ps, the number of inverters should be approximately 500 in order to generate an entire waveform. Therefore, n may be set to 9 (29 is 512). However, the scope of embodiments is not limited to any specific frequency for the PWM signal, nor any specific number of inverters and taps 820.
As noted above, systems including dead time have two PWM signals that are offset from one another, where the offset in time defines the dead time. Accordingly, DPWM 708 of
Furthermore, in the present example, the DPWM 708 uses a single ring oscillator 802 but also uses different decoder circuits 806, 816. Since both decoder circuits 806, 816 interface with a single ring oscillator 802, synchronization is maintained in the different PWM signals that are output to the PMOS switch and the NMOS switch.
Each of the decoders 806, 816 are independently programmable. Focusing on the PWM signal for the NMOS switch first, DPWM 708 includes registers 804 for a falling edge and a rising edge. During normal operation, the digital error signal (after it passes through the filter 706) is a string of bits that identifies a tap in the ring oscillator 802. For example, one string of bits in the registers 804 identifies a tap for the falling edge, and another string of bits in the registers 804 identifies a tap for the rising edge. Decoder 806 reads the strings of bits from registers 804 and selects a tap identified by those bits, thereby coupling the oscillating signal within ring oscillator 802 with the pulse generator 808. In this way, the rising edge and falling edge are identified, thereby defining the duty cycle of the square wave that is output to the NMOS switch from pulse generator 808. The strings of bits are entered into registers 804 by filter 706 during normal operation and are entered into registers 804 by dead time processing logic 710 during the dead time setting process.
Now focusing on the PWM signal for the PMOS switch, items 814, 816, 818 operates similarly to items 804, 806, 808 described above. Specifically, either dead time processing logic 710 or filter 706 enters strings of bits into registers 814, where the strings of bits identify a rising edge and a falling edge, thereby defining the duty cycle. Decoder 816 reads the bits from registers 814 and selects two of the taps to couple to pulse generator 818. Pulse generators 808, 818 include amplifiers, buffers, or other appropriate circuitry to generate their respective PWM signals at an appropriate voltage level. Decoders 806, 816 may include arrangements of AND gates or multiplexers operable to select a given tap from a binary string input.
Taking a simple example, the ring oscillator 802 may include 16 taps 820. Accordingly, each one of the string of bits includes four bits, so that each tap may be identified uniquely. However, the scope of embodiments is not limited to any specific number of taps nor any lengths of strings of bits, and as more taps are included in an application, longer strings of bits may be used to identify the taps. For instance, in an embodiment with approximately 500 taps, each string may be nine bits long.
The dead time may be defined by offsetting the taps that are selected by decoder 806 relative to the taps that are selected by decoder 816. If the registers 804 have the same bit strings as the registers 814, then the PWM signals have zero phase difference, and dead time is zero. In an example where an acceptable dead time is 50 ps, and where each tap corresponds to 10 ps, an offset of five taps provides the dead time value. Of course, an acceptable dead time may be device-dependent, and further may be determined by the algorithm described above to minimize losses due to shoot through or body diode loss.
Referring to
An example process starts by setting a particular duty cycle and setting a particular dead time. For instance, the duty cycle may be set to 50%, and the dead time may be set to 50 ps. Dead time processing logic 710 sets these values by providing strings of bits to the registers 804, 814 to define the duty cycle and the dead time. Error amplifier 702 detects the error between Vref and Voutput, and that error signal propagates through the control loop, is digitized by ADC 704, and is passed to filter 706, which adjusts the duty cycle up or down by applying control words to the registers of DPWM 708. The outer control loop holds Voutput substantially constant as DPWM 708 applies PWM signals to voltage converter 110, and after some amount of time the outer control loop settles. The dead time processing logic 710 may then observe the PWM duty cycle by reading the values of the registers 804 and 814, which indicate the duty cycle.
The dead time processing logic 710 then creates an entry in the table or other data structure that correlates that specific dead time value with the observed duty cycle. The dead time processing logic 710 then adjusts the dead time (e.g., 40 ps or 60 ps), lets the system settle, then observes the new PWM duty cycle. The dead time processing logic 710 repeats this process multiple times to develop multiple entries in the table so that a most efficient value of dead time may be identified.
The scope of embodiments includes any number of iterations to adjust the dead time and correlate the dead time value with an observed DPWM duty cycle. After the dead time processing logic 710 gathers the data, it then parses the table to identify the value for dead time that corresponds to the lowest PWM duty cycle. The dead time processing logic 710 may then apply that value of dead time to the DPWM 708 by entering values in the registers 804 and 814 that define the appropriate offset between the two PWM signals.
Once the dead time value has been set by dead time processing logic 710, the system may enter a normal operating mode, where the feedback loop adjusts the duty cycle of the pulse width modulated signals according to the error between the output voltage and the reference voltage. Dead time processing logic 710 maintains the set dead time by maintaining the proper offsets between the strings of digits. In this way, the duty cycle may be adjusted up or down as appropriate by the outer control loop, while maintaining the dead time value that is applied by the dead time processing logic 710. Dead time processing logic 710 may repeat the action 610-630 periodically or as desired. In some example embodiments, the actions described above for dead time processing logic 710 may be implemented as computer executable code saved to a computer readable medium, such as RAM. Dead time processing logic 710 may include processing circuitry that then reads the computer executable code from the computer readable medium and performs the actions described above in accordance with the computer executable code.
The system of
The present application claims priority to and the benefit of the U.S. Provisional Patent Application No. 62/067,906, filed Oct. 23, 2014, which is hereby incorporated by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
62067906 | Oct 2014 | US |