This invention relates to regulating current, and more particularly to multiphase current regulation.
While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that the drawings and detailed description thereto are not intended to limit the invention to the particular form disclosed, but on the contrary, the intention is to cover all modifications, equivalents and alternatives falling within the spirit and scope of the present invention as defined by the appended claims. Note, the headings are for organizational purposes only and are not meant to be used to limit or interpret the description or claims. Furthermore, note that the word “may” is used throughout this application in a permissive sense (i.e., having the potential to, being able to), not a mandatory sense (i.e., must). The term “include”, and derivations thereof, mean “including, but not limited to”. The term “coupled” means “directly or indirectly connected”.
DC-to-DC voltage conversion is often performed by switching voltage regulators, or step-down regulators, also referred to as voltage converters or point-of-load (POL) regulators/converters, converting a higher voltage (e.g. 12V) to a lower value as required by one or more load devices. More generally, voltage regulators and current regulators are commonly referred to as power converters, and as used herein, the term power converter is meant to encompass all such devices. A common architecture features distribution of the higher voltage to multiple voltage regulators, each producing a different (or possibly the same) voltage to one or more loads. Switching voltage regulators often use two or more power transistors to convert energy at one voltage to another voltage. One common example of such a voltage regulator 100, commonly called a “Buck Regulator” is shown in
Distributed power through shared point of load supplies has a number of compelling advantages over a single point of load supply, or POL regulator. Distributed or current sharing may be used to accommodate the ever increasing current demands associated with low voltage applications through better efficiency over a wide range of output currents, reliability through redundancy, and distributed heat dissipation. One example of a current sharing configuration is shown in
In one set of embodiments, a low bandwidth, multi-order digital control loop may be configured to balance the inequalities between device outputs by aligning the load lines of slave devices (POL regulators operating as slave devices on the digital communications bus) to a master device (a POL regulator operating as a master device on the digital communications bus). However, a first-order digital control loop may be sufficient. A self-determined or dedicated master POL regulator (for example POL regulator 104) may digitize its sensed output current, and transmit information indicative of the value of this current over the digital communication bus 120 to all slave POL regulators (e.g. POL regulators 102 and 106) of the group in a traditional master-slave configuration. All slave devices may adjust the duty-cycle of their respective control FETs to effectively increase or decrease their target output voltage up or down, based on the difference between the value of master device's output current and the value of the respective slave device's output current. One embodiment for the trimming of the output voltages may be accomplished by adjusting the target voltage (Vref, in regulator 150) in the front-end error amplifier (amplifier 146, in regulator 150). Other embodiments for the trimming of the output voltages may be accomplished by scaling the duty-cycle either by correcting the taps in the control filter (132, in regulator 150), or by adjusting the control number to the duty-cycle control block (134, in regulator 150). The master device may actively transmit the information indicating the value of its current over a communication bus, such as, I2C, SMBus or some other communication bus (120, in the configuration of
Voltage regulators, such as voltage regulator 100 shown in
In order to obtain specifically desired system performance, it is therefore also necessary to compensate the voltage regulator (or, more generally a power converter or a system with at least one controlled output) to recover from transient output voltage deviations. Compensation, however, is oftentimes difficult to implement. Many applications require a transient response along with a high bandwidth response. For example, conventional regulators that use voltage-mode control, e.g. voltage-mode PWM control (e.g. as shown in
In one set of embodiments, a voltage regulator may be operated at a constant switching frequency, and may have a fast transient response without requiring current measurement for regulation (inferring the inductor current instead, based at least on an established steady state behavior of the output of the voltage regulator, though alternate embodiments may include current measurement instead of inferring the inductor current, as preferred), and without requiring compensation. One approach to compensation-free power supplies is one-cycle (or single-cycle) control. In some embodiments, a digital modulator implemented in each POL regulator in system 200 may operate at a fixed frequency and with high bandwidth, to potentially achieve a good transient response for the individual POL regulators. The modulator may also be designed to operate compensation free. While such a single-cycle control may work well for single POL regulators, inherent latency in digital control may be an issue when operating the POL regulators in a current sharing configuration such as system 200 shown in
Therefore, it is desirable to achieve high bandwidth control, which may be aided by inherent stability and ripple filtering. It may also be desirable to implement dual edge modulation to avoid having to wait for the next cycle to correct for the present cycle, thereby also effectively doubling the “sampling” rate. The gain is determined to be sufficient to correct for a transient in a single cycle, with the response limited by the inductor/capacitor filter rather than the controller. One example of a single-cycle approach is illustrated in
A different, improved approach may include adjusting a charge at the output of voltage regulator in response to a transient deviation of the output voltage while restoring the output voltage. The charge may be adjusted during the cycle subsequent to the (preceding) cycle during which a response of the voltage regulator to the transient deviation was corrected. The charge may be adjusted according to a control value derived from the respective values to which the steady-state duty-cycle is/was set during the present cycle/preceding cycle, and from a value representative of an adjustment made to the steady-state duty-cycle value to decrease response time of the voltage regulator when correcting the output voltage in response to the transient deviation on of the output voltage. In other words, the average inductor current may track the load current, and the change in inductor current needed for the adjustment to the output voltage may be reversed. The potential result of this approach is illustrated via current diagram 400 in
In this context, “instability” may be considered as a “phenomena” that carries over from one switching cycle to another that eventually builds to a point of undesirable consequence. Accordingly, a key to stability may be to isolate the “phenomena” to a single switching cycle so that the undesirable consequences are not allowed to propagate and build from one cycle to another. When a new cycle begins, the changes from the previous cycle(s) are “undone”. Proportional control “within” a cycle may then restore current, resulting in charge mode control in a cycle. It should be noted, however, that with high bandwidth and high gain, filtering may be needed to prevent the modulator from trying to correct for perceived “noise”. Traditional analog filters (e.g. IIR) may provide some correction, but substantial filtering leads to substantial delays, which negatively impact both bandwidth and stability. For example, when performing conventional filtering, a first order IIR filter (like a single stage analog filter) reduces the noise but introduces a delay, while higher order filters attenuate better but introduce additional delay. Furthermore, while FIR filtering can eliminate the noise (ripple), delay may still constitute a problem. Therefore, in various embodiments, a special digital filter that cancels the ripple and has minimal delay may be used, possibly leading up to a 20 dB signal-to-noise improvement (which may be considered a “gain” improvement).
When considering the various issues affecting multiphase current control, dynamic current balance represents one of the greatest challenges. Optimization studies have indicated that single phase ASCR has proven to be robust without requiring nonlinear gain. However, the challenge remains to move from single phase regulation (e.g. of a single regulator such as regulator 100 in
Current Ramping
The behaviour of a basic model according to system 200 with two phases (i.e. two POL regulators, e.g. regulators 102 and 104 only) is shown in
Although the current waveforms in
Predictive Current positioning
In one set of embodiments, one solution to problem described above includes driving all phases, i.e. driving the respective currents in all phases to the same target current that is different from the average current value. This is illustrated in
As illustrated in the timing diagram 1400 of
In one set of embodiments, the main features of an architecture for a digital multiphase system may include predictive emulated current positioning, which may: operate to predict the current waveform based on planned pulses to eliminate latency, have one current ADC read each phase once per Fsw (switching period), and be adapted to estimate circuit parameters (L, DCR, Ron). The features may also include a simple PID (proportional integral derivative) voltage outer loop, fixed frequency base plus pulse advance, and extra pulses on demand (with a maximum per-phase switching frequency limiter; e.g. 1.5*Fsw), and a specified internal sample rate that is a multiple of Fw (e.g. 24*Fsw to 30*Fsw). One set of simulation conditions for simulating a digital multiphase model are as follows: VR12.5 load with 6-phases, where L/DCR=150 n/300 μ, C=4*470 μ+52*14.4 μ, Fsw=600 KHz, VID=1.8V, Rdroop=1.2 m Ohms, load 10-150 A (1 A/ns).
The block diagram of one embodiment of a loop design 1500 for a controller for a POL regulator that may be used in a current sharing configuration according to the principles described above is shown in
Itarg=Iaver+P*verror+I*integ(verror)+D*deriv(verror).
As seen in the equation above, the proportional, integral, and derivative control may be applied according to the voltage error. Ramping of the currents in the current share configuration, i.e. the ramping of each phase current is towards the target value shown above, instead of towards a calculated average current value. This results in a more stable and faster ramping of all currents. The pulse on time (ton) that will cause the inductor current to hit Itarg at tend may be computed:
ton=(Itarg−I(t))*L/Vin+Vout/Vin*(tend−t).
The system is left in a state compatible with steady-state operation at Itarg. Furthermore, the pulse start time (tstart) that delivers the charge in this cycle may be computed to equal tsw*Itarg.
If a new charge command (i.e. a new higher target current value) arrives following the start of the up-slope, especially if it is late in the cycle, the peak current may become excessively large. The following formulation limits the peak current such that the current at the end of the cycle is equal to the average current. Referring to
where
a shows a waveform diagram 1700 illustrating the behavior of the inductor current 1706 revealing a subharmonic oscillation issue. The average current level is indicated by the dashed line. Targeting the charge during a cycle to be Qc and constraining the pulse to be in the center of the cycle may lead to a subharmonic oscillation. The same kind of subharmonic oscillation may be found in conventional current mode and charge mode control. As illustrated by waveform diagram 1750 in
Digital Compute Multiphase Controller
Some common factors for digital VR (Voltage Regulator) controllers, or controllers for voltage regulator modules (VRMs) may include support VR12.5 features with 1-6 phases, a specified sample rate (Fs) (e.g. nominally 24*Fsw), Vdroop applied in analog domain before voltage error ADC, current sensing for balance performed with single multiplexed current ADC, digital current estimator for ripple updated with low-pass filtered measurements for DC accuracy, and use of fractional Fs delays for high resolution in digital PWM. While these common factors are in reference to VR controllers, and more specifically digital VR controllers in general, it will further become evident how these factors may be accounted for in the various embodiments of a novel digital multiphase controller disclosed herein. In various embodiments, two different modulation architectures may be considered for a digital multiphase controller. A fixed frequency predictive-current with load-driven pulse advancement (exemplified in
The block diagram of one embodiment of a fixed-frequency predictive current loop based controller is shown in
(RH+DCR)*IL(t)+L*dIL(t)/dt=VIN−VOUT (if PWM==1)
(RH+DCR)*IL(t)+L*dIL(t)/dt=−VOUT (if PWM==0).
The approximate slopes for 1st order and as a function of time are given by:
SON˜=(−VOUT−(RH+DCR)*IL(t))/L (up slope)
SOFF˜=(VOUT+(RL+DCR)*IL(t))/L (down slope).
The discrete time approximation may expressed as:
IL(n*tS)=IL((n−1)*tS)+tS*SON*PWM−tS*SOFF (1−PWM)
IL(n*tS)=IL((n−1)*tS)*(1−(DCR+RL*(1−PWM)+RH*PWM)*tS/L)−tS*VOUT/L+PWM*tS*VIN/L.
This may be implemented as:
IL(n)=IL(n−1)*(1−loss)−const1+PWM*const2+K*(LPF(lsense)−LPF(IL)).
A simpler estimator (using loss term) may be used in D-EAPP model, while a more complex estimator with hi/low resistances may be used in predictive loop model. The more complex version may compute steady-state voltage duty-cycle from SOFF/(SON+SOFF), derived from same parameters as above, rather than VID/Vin.
The block diagram of one embodiment of a predictive current modulator 2400 with fixed frequency is shown in
Referring to
Vduty=VOUT/Vin
Itarg=sum(Iest)/Nph+PID(Verror)+Iripple/2
Iduty=(Iest−Itarg)*(Son+Soff)
Width=Iduty+Tend*Vduty
adv=F(Iduty−(1−Tend)*Vduty)
The block diagram of one embodiment of a digital EAPP modulator 2600 is shown in
The block diagram of one embodiment of a fast load-transient detector (D-EAPP) 2800 is shown in
Predictive Current Control
Predictive current control—in reference to the digital pulse placement described above—may be used to determine where the pulse is placed, that is, where the pulse may be applied. In steady state, the “on time” between the clock edges of the high side FET control signal may be positioned at any desired point in time. Possible positioning of the “on time” is illustrated in
As shown in diagram 3000 of
The control equations corresponding to the ALAP modulation illustrated in
Once turned on, the on time may be adjusted. Referring to
It should be noted that some hysteresis may be applied to ton (i.e. turning off before the clock edge) such that a significant change in the current command is to be applied before the turn-off edge moves, which further reduces chatter.
Further analysis indicates that a small inductor (and large voltage across the inductor) may result in the current ramping up quickly. E.g., for Vin=12V, Vout=1.2V, L=100 nH, Max current step=20 Amp, and fsw=600 kHz:
This means that a small change (e.g. ˜11%) in the duty-cycle may achieve the required current. If the steady state duty-cycle is 10% (1.2V/12V), the maximum duty-cycle may not need to exceed ˜30%. In this example, 100% duty-cycle results in a current change of 180 A. Therefore, it is preferable not to pull the start of the current ramp forward in time using exclusively the duty-cycle, else the current limit of the inductor may be exceeded. Accordingly, in one embodiment, the derivative term may be used to move the pulse forward without changing the pulse-width (duty-cycle), as illustrated in diagram 3100 of
Once turned on . . . the on time may be adjusted:
ton=K0·ΔI+toss.
Referring back to the equation for tstart, regulation is achieved via tsss, which represents the integral term setting the steady state voltage, stability and current share are achieved via “K0*ΔI”, which represents the proportional term setting the endpoint current, and fast response is achieved via “K1*dVerror/dt”, which represents the derivative term setting additional charge in the cycle. Thus, control is achieved as a combination of voltage-mode, current-mode, and charge control. To put it another way, the integral term sets the steady state conversion ratio such that to first order, it is independent of current. The proportional term adjusts the exit current of a cycle, while the derivative term adds charge to a cycle without impacting the exit current. Thus, all three terms are mostly decoupled from each other, which may greatly simplify “tuning”.
It should be noted that the on-time equation does not contain the dV/dt term. Once a pulse has started, the dV/dt term has no impact on that pulse. For example, if the leading edge were moved to the left, due to a positive dV/dt, the pulse may start, but then the dV/dt would turn negative and would push the starting point to a later time. The pulse does not turn back off until the on-time has been satisfied. It should also be noted that the on-time may change once the pulse has started, which may be facilitated by the target current being updated more than once per switching period. The question also arises whether the right edge of the pulse would continue to move toward the left clock edge, potentially leading to a zero duty-cycle pulse when the dV/dt term is so large that it pushes the left edge of the pulse past the left clock edge. However, the dV/dt term may not impact the duty-cycle. Even if the dV/dt term drives the left edge of the pulse to the right clock edge, the duty-cycle may remain at the value determined by the integral and proportional terms.
The approach described above includes a number of non-linearities. The dV/dt term acts on the start time and not on the on time, and it acts until the pulse starts. Because of ALAP, the dV/dt term moves the pulse forward in time. Thus, charge may be added and not removed by the dV/dt. If centered modulation were used, then this nonlinearity would be removed, which indicates that centered modulation may be considered in lieu of ALAP modulation.
Fixed-frequency Predictive Current Control Loop
In one set of embodiments, according to the predictive current control described above, a controller may be implemented to perform regulation according to a digital multiphase voltage regulator control loop that operates at a fixed-frequency and uses current prediction to compute pulse-widths. The regulator may include inductor current estimator circuits to reduce demands on current sensing circuit bandwidth and latency. One example of a current estimator circuit is shown in
As mentioned above, one embodiment of the basic circuit model of an inductor current estimator is shown in
VIN−VIND=IL*RH+IL*DCR+L*dIL/dT when PWM==(on) (1)
or
−VIND=IL*RL+IL*DCR+L*dIL/dT when PWM==0 (off) (2)
The magnitudes of the instantaneous slopes of the current (dIL/dT) are given by:
SON=(VIN−VIND−IL*(RH+DCR))/L (3)
SOFF=(VIND+IL*(RL+DCR))/L (4)
This may be solved using a discrete-time approximation using a sampling interval of TS. During each time step, the PWM is on for the time TON(n), which is expressed as a per-sample duty ratio DS(n)=TON(n)/TS. Solving for IL(n):
IL(n)=IL(n−1)+SON*TS*DS(n)−SOFF*TS*(1−DS(n)) (5)
expanding
IL(n)=IL(n−1)+(VIN−VIND−IL(n−1)*(RH+DCR))/L*TS*DS(n)−(VIND+IL(n−1)*(RL+DCR))/L*(1−DS(n)) (6)
collecting terms:
IL(n)=IL(n−1)*[1−(RH+DCR)/L*TS*DS(n)−(RL+DCR)/L*TS*(1−DS(n))]+VIN/L*TS*DS(n)−VIND/L*TS (7)
or
IL(n)=IL(n−1)*[1−(RL+DCR)/L*TS−(RH−RL)/L*TS*DS(n)]+VIN/L*TS*DS(n)−VIND/L*TS (8)
The preceding description assumes that the regulator is using synchronous rectification continuous conduction mode, but that may not always be the case. More generally, both FETs may be turned off at some times, and then possibly one of their body diodes may conduct depending on the sign of the inductor current. The high diode may be on when the inductor current is negative, sending the current into the VIN source through a forward drop of VJ plus an effective series resistance of RJH. The KVL equation is:
VIN+VJ−VIND=IL*RJH+IL*DCR+L*dIL/dT when FETs off and IL<0 (9)
The low diode is on for positive current, supplying current from ground:
−VJ−VIND=IL*RJL+IL*DCR+L*dIL/dT when FETs off and IL>0 (10)
If the inductor current is zero, neither diode will conduct, and the current will remain zero:
0=IL when FETs and diodes off. (11)
In discontinuous conduction mode the controller operates the low FET to emulate a diode, turning it off just as its current reaches 0. This time is computed as DLO(n)=TLO(n)/TS, which is not greater than 1−DS(n), the continuous-conduction case. (It should be noted that now DS(n)=THI(n)/TS). The controller can command the high FET on, the low FET on, or both FETs off (Hi-Z). It may make one change in state per sample period, from low to high, high to low, Hi-Z to high, Hi-Z to low, high to Hi-Z, or low to Hi-Z. The fraction of time high or low during each sample period is indicated by DS(n) or DLO(n) respectively, with the Hi-Z time given as 1−DS(n)−DLO(n).
The diodes naturally determine their own conduction times, leading to complex computations. While the FETs are Hi-Z, the current decays towards zero. The time available for the diode conduction is TS*(1−DS−DLO). If the magnitude of the current is high, the diodes do not turn off within the available time. If the current is near zero, the final current is zero. The problem area involves the sequence: does the Hi-Z portion appear before or after the driven portion? If Hi-Z is first, it is possible that the current may discharge to zero before the FET turns on, so the final current is set only by the FET “on time”. If the Hi-Z is last, then the final current may be zero. This information is signaled to the estimator circuit by the modulator, which may set the lo_level_d to 1 if this cycle started with FETs on.
First, the change in current due to the FETs may be computed:
IM=−IL(n−1)*[(RL+DCR)/L*TS*DLO(n)+(RH+DCR)/L*TS*DS(n)]+VIN/L*TS*DS(n)−VIND/L*TS*(DLO(n)+DS(n)) (12)
The possible high diode contribution during the HiZ time is:
IJH0=[−IL(n−1)*(RJH+DCR)/L*TS+(VIN+VJ−VIND)/L*TS]*(1−DS(n)-DLO(n)) (13)
and the low diode:
IJH0=[−IL(n−1)*[(RJL+DCR)/L*TS]−(VJ+VIND)/L*TS]*(1−DS(n)−DLO(n)) (14)
If lo_level_d is 1 (start with FET on, possibly end in Hi-Z) the diode discharge is applied to the current after the effect of the FETs:
If lo_level_d is 0 (start in Hi-Z, end with FET on) the diode discharge is applied to the previous current, with the FET added to that:
The system model includes several other transformations. First, Ds(n) may be replaced by
duty_hi_ts, which is:
duty_hi—ts(n)=Thi(n)/Tsw=Ds(n)*Ts/Tsw (17)
and
Dlo(n) by duty_lo_ts:
duty_lo—ts(n)=Tlo(n)/Tsw=Dlo(n)*Ts/Tsw (18)
Also, currents may be scaled by the ADC one-sided input range from amps to “full-scale” (FS):
Jsense—fs=Isense/Iadc_range (19)
The latest version may be set to no longer convert directly into hi-time duty ratio units, as that may complicate calculations of low-FET on-times in diode emulation mode, voltage ratio calculations of droop and IR drops, and dynamically changing Vin calculations. Conversions between changes in full-scale currents and on-times for high and low FETs may be computed based on the slopes, ignoring IL*R losses, scaling by Tsw/Ts to allow use of duty_x_ts:
Xduty2ifs=VIN*(TSW/L/Iadc_range) (20a)
Xdutylo2ifs=VIND*(TSW/L/Iadc_range) (20b)
The inverses may be used by the predictive current circuit to compute pulse-widths
Xifs2duty=(1/VIN)*(Iadc_range*L/TSW) (21)
Xifs2dutylo=(1/VIND)*(Iadc_range*L/TSW) (22)
Although for the low-FET on-time computations in diode-emulation mode, 1/VREF may be used instead of 1/VIND to avoid a division calculation on a rapidly varying voltage. This is justified since diode-emulation is used at relatively low currents, so there is small droop or drops on the board. A term may also be introduced for current change from the diode drops, assuming the two diodes are similar:
Xdutyj2ifs=VJ*(TSW/L/Iadc_range) (23a)
The IL*R drops in the inductor current calculation are quite small, and the variations in the resistance depending upon which device is on make little difference. As a result, it is possible to use an average value that is reasonably close for normal operation. This value is used in this constant, which gives the per-cycle proportional current loss (scaled per sample time Ts):
Kestave=Rave*TS/L (23b)
Given all of these changes, the computation of the new scaled current J(n) (where J=IL/Iadc_range) from the previous value J(n−1), the FET on-time fractions duty_hi_ts, duty_lo_ts, etc. may all be formulated:
One possible simplification is to implement the multiplications in the diode current computations (equations 25 and 26) with one-bit multiplications by 1, if duty_lo_ts+duty_high_ts is 0. This may introduce errors, which, however, are not significant if the FET off-time is long enough to fully discharge the inductors.
Voltage Ratio and Steady-state Duty Estimation
The steady-state duty ratio needed to maintain the desired voltage transfer ratio as a function of plant parameters and load current may be computed. In the schematic shown in
VERROR=VREF−RDROOP*sum(IL)−VOUT (30)
To compute the voltage ratio, the output voltage may be reconstructed using the estimated inductor currents:
VOUT
(It should be noted that the signal in the model Verror is VERROR/adc_range.)
The duty ratio of the PWM is set to achieve the voltage VIND at the inductor bus, which drops to VOUT after the board resistance. This voltage may be computed as:
VIND=VOUT+ILOAD*RB. (32)
At steady-state, ILOAD=sum(IL), so:
VIND=VOUT
In the system, the voltage drop across RB is comparable to Rdroop, from which the transfer ratio may be computed:
Vratio=VIND/VIN (34)
In steady-state, the inductor current returns the same level each cycle, so this relationship may be solved by the on-time per cycle (Tss):
Son*Tss=Soff*(Tsw−Tss) (35)
(where Soff is the positive magnitude of the down slope).
Tss=Soff/(Son+Soff)*Tsw (36)
The steady-state duty ratio Dss is
Dss=Tss/Tsw=Soff/(Son+Soff) (37)
Substituting equations (3) and (4) above, but using the cycle- and phase-averaged current IL0:
Dss=[(VIND+IL0*(RL+DCR))/L]/[(VIN−VIND−IL0*(RH+DCR))/L+(VIND+ILO*(RL+DCR))/L]
Dss=[VIND+IL0*(RL+DCR)]/[VIN−VIND−IL0*(RH+DCR)+VIND+IL0*(RL+DCR)]
Dss=[VIND+IL0*(RL+DCR)]/[VIN+IL0*(RL−RH)] (38)
Approximating 1/(1+IL0*(RL−RH)/VIN) by (1−IL0*(RL−RH)/VIN):
Dss˜=[VIND+IL0*(RL+DCR)]/VIN*(1−IL0*(RL−RH)VIN) (39)
and then expanding:
Dss˜=VIND/VIN+IL0*(RL+DCR)/VIN−VIND/VIN*IL0*(RL−RH)VIN (40)
Eliminating the product of two relatively small I*R drops:
Dss˜=VIND/VIN*(1−IL0*(RL−RH)/VIN)+IL0*(RL+DCR)VIN (41)
The circuit uses the cycle- and phase-averaged full-scaled current Javer computed from J(n). Introducing the constants:
Kest2=Iadc_range*(RL+DCR) (42)
Kest1=Iadc_range*(RL−RH) (43)
Vduty may then be computed as:
Vduty=VIND*(1/VIN)*(1−Kest1*Javer*(1/VIN))+Kest2*Javer*(1/VIN) (44)
taking advantage of a pre-computed inverse of VIN.
Predictive Current Pulse-width Computation
The normal modulator timing is similar to the APP modulator for small error signal changes. The pulse may be nominally positioned at the end of the switching cycle. The pulse start time (leading edge) may be computed by subtracting the desired width from the remaining time in the cycle—when there is just enough time left for the pulse before it starts. If the desired pulse-width changes during the pulse, the ending time (trailing edge) is adjusted if possible. If the commanded pulse-width decreases sharply, below the time the pulse has already been on, then the pulse may be terminated immediately. Modulating both edges allows rapid transient response.
The pulse-width may be computed based on how much on-time is needed to get the phase's current to meet the target current. The target current is set by the voltage error path, and represents the (value of the) current that the phase should reach at the end of its present switching cycle. Since the normal start time is just the on-time before the cycle end, the pulse is to end at the end of the cycle, as the current has just reached the target. If the target current changes during the pulse, then the width of the pulse is adjusted to intercept the predicted current discharge slope (SOFF) line passing through the target current at the cycle end. With a decrease in the target, the pulse ends earlier, so that after discharging for the remaining time, the current will hit the target. This sequence 3200 is illustrated in
A different sequence 3300 is illustrated in
A third sequence 3400 is illustrated in
Another possible sequence 3500 is illustrated in
Since the pulse being computed may begin at any time t in the cycle, the calculations may be started from the present instantaneous phase current, I(t). When the phase driver is turned on, the inductor current may increase at a rate of SON, and when the phase driver is turned off, the inductor current may decrease at SOFF. These slew rates may be used by the current estimator and voltage ratio circuit.
Computing the on time to move from I(t) to ITARG at TEND involves solving the following equation:
I(t)+SON*TON=ITARG−SOFF*(TEND−(t+TON))
Solving for Ton:
TON=(ITARG−I(t))*L/VIN+VOUT/VIN*(TEND−t)
When and if this computed correction pulse is started, it may be controlled separately by the pulse trigger circuit. In fact, it may be possible that the trigger has already started a pulse in a previous sample time and the driver is already on, and if so, how much longer the pulse is continued is determined by the computation. The total pulse-width may change during the pulse if the target current changes. This provides considerable flexibility in timing pulses, allowing for fast response to changing load conditions. For instance, if ITARG changes significantly, additional pulses might be added with their pulse-width computed based on the change.
Another characteristic of this computation method is that it does not assume that the previous cycle was steady state. The previous pulse may have occurred at any point, and the present phase current might not correspond to the average current for the previous cycle. This enables accurate corrections during changing conditions. In multiphase systems, each phase may be targeting the same new current, and thus any existing imbalances between the phases tend to be removed. When the target current is rapidly changing, and different phase drive pulses occur at different times, there will be some differences among the phases. But, these differences are corrected at the next chance. It is possible that the pulse trigger circuit might add additional pulses if large differences between its present current value and the most recent target value are detected. In that case, the calculated correction pulse-width is computed properly.
In the embodiments described above, it assumed that the current slews as expected. If one phase has component values different from the others, its slewing rate may be different, and the change in current may be different than desired. The circuit may attempt to fix the error in the following pulse, but it may continue to produce new errors. Another form of error detection may be implemented to obtain the desired phase balancing. Examples of such error detection include imbalance error integrators, or possibly circuit parameter estimators.
Targeting the pulse to leave the phase current on a trajectory compatible with steady-state operation at the base switching frequency (with phase shifts for multiphase) means that the system stays very close to operating as a fixed-frequency regulator, even though the pulse frequency might be different. The system may thus be expected to return to fixed-frequency operation on the same timing as quickly as the load transients permit.
The accuracy and timeliness of the measurement of the present phase current is of high importance. Any lags or other errors may result in incorrect pulse-widths and may affect loop stability. This limitation may be addressed by combining the pulse-width calculation method described above with a synthetic current estimation loop, in which lag errors may be eliminated.
In general, if there is one “on time” between clock cycles, the current waveform appears as illustrated in
where d is the duty-cycle, ton/tsw (where ton is indicated by 3606, and tsw is indicated by 3602 in
The clock edge currents are independent of tst and are related. Equation Y1 may thus be rewritten as:
Considering steady state, Io=Ie. The previously derived steady state duty-cycle (dss) may be substituted in equation Y2, yielding:
This equation is true if the current is in steady state, i.e. Io=Ie.
Using a different approach, small duty-cycle deviations from steady state, i.e. dss+dd may be assumed as opposed to assuming steady state. It should be noted that various equations derived to predict the current one switch cycle ahead might not predict the current one sample ahead. That is, those equations may not correctly predict the current one sample ahead.
PWM Pulse Shaper
All numeric values provided below are for purposes of illustration, and to establish various relationships between different parameters and/or entities where applicable. One of ordinary skill in the art will appreciate that alternate embodiments may be implemented with different values as desired. In one set of embodiments, a pulse shaper may generate an output pulse with rise and fall edges located with time resolutions that are a small fraction of the clock period. A pulse shaper block may receive control signals at the sampling frequency Fs (=1/Ts, where Ts is the sample period) which indicate the new pulse level and the fractional Ts delay until that change is to take place. The output signal may change states at most once per sample period. In addition to the variable delay of 0 to (nearly) Ts, there may be a small constant propagation delay. The propagation delay may be kept under Ts, with smaller delay preferred. Typically, Fs may be determined by adc_osr*Fsw, for example, 32*2 MHz=64 MHz. The fine delay may given with dpwmFracBits bits, which is the overall dpwm_nbits minus log 2 (adc_osr) (for example, 12-5, leaving 7 bits of fine delay). In various embodiments, part of the fine delay may be counted down using a 2^N*Fs clock.
The application minimum pulse-width (high time) may be at least 30 ns, with minimum pulse spacings (low time) at least 300 ns (which might also be specified to be shorter if not repeated several pulses in a row). The circuitry supplying the level and delay may be used to enforce these limitations, while the pulse shaper may be operated to implement them. At lower sample rates, Ts may be longer than 30 ns so the starting time of a minimum width pulse is delayed to extend into the next sampling time. Thus, in the first sample, the shaper circuit may observe a 0-to-1 level change with a long delay (Ts minus 30 ns), followed by a 1-to-0 level change in the next sample with zero delay.
The shaper may be designed to be capable of generating output signals with short pulse spaces similar to the short pulse-widths, with one transition per sample. The fine delay value may only be meaningful on samples when the level has changed states. In successive samples in which the level remains static, the delay value may be ignored, with the output remaining at the indicated level. Various embodiments of a pulse shaper circuit in accordance with the principles described above may include the following inputs and outputs:
Inputs:
Outputs:
The following equations provide a baseline implementation of one embodiment of a fixed switching frequency controller according to the principles described above.
comPID
vRatioCalc
Inputs:
dutyTarg
Inputs
currEst
Inputs
Negative of high-side diode current change, delta Amps full-scale during one Ts
First partial update of estimated current, in Amps full-scale
Second part of update, with diode current effect
Third part of update, apply Mosfet after diode
Estimated current, in Amps full-scale
Outputs:
icorr
pulseWidth
Design Parameters
DpwmFracBits—number of fractional-Ts bits for pulse timing.
DpwmIntBits—number of integral-Ts bits for pulse timing calculations (not including sign).
compPID
vRatioCalc
Inputs
dutyTarg
Inputs
currEst
Inputs
Negative of high-side diode current change, delta Amps full-scale during one Ts
First partial update of estimated current, in Amps full-scale
Second part of update, with diode current effect
Third part of update, apply Mosfet after diode
Estimated current, in Amps full-scale
Outputs:
Estimated current scaled to equivalent high-FET on-time fraction of Ts
iCorr
Current correction high-FET on-time duty fraction of Ts
pulseWidth
Although the embodiments above have been described in considerable detail, numerous variations and modifications will become apparent to those skilled in the art once the above disclosure is fully appreciated. It is intended that the following claims be interpreted to embrace all such variations and modifications. As previously mentioned, the single-cycle predictive control method disclosed herein may be applied equally to various systems in which a control mechanism is employed to regulate a desired state variable, such as output state variables or other regulated state variables in the manner described herein.
This application claims benefit of priority of U.S. Provisional Patent Application Ser. No. 61/820,821 titled “Current Ramping During Multiphase Current Regulation”, filed on May 8, 2013, whose inventors are Chris M. Young, Sundar Kidambi, and Jim Toker, and which is hereby incorporated by reference as though fully and completely set forth herein.
Number | Name | Date | Kind |
---|---|---|---|
6137274 | Rajagopalan | Oct 2000 | A |
6262901 | Simopoulos | Jul 2001 | B1 |
6271650 | Massie | Aug 2001 | B1 |
6515460 | Farrenkopf | Feb 2003 | B1 |
6534960 | Wells | Mar 2003 | B1 |
6803750 | Zhang | Oct 2004 | B2 |
7023672 | Goodfellow | Apr 2006 | B2 |
7107468 | Pullen | Sep 2006 | B2 |
7405545 | Yang | Jul 2008 | B2 |
7479772 | Zane | Jan 2009 | B2 |
7777460 | Schuellein | Aug 2010 | B2 |
8405368 | Laur | Mar 2013 | B2 |
8629662 | Laur | Jan 2014 | B2 |
Number | Date | Country | |
---|---|---|---|
20140333270 A1 | Nov 2014 | US |
Number | Date | Country | |
---|---|---|---|
61820821 | May 2013 | US |