Buck duty cycle is not set by Vout/Vin alone: minimum on-time and pulse skipping

D = Vout/Vin is the formula for an ideal switch with no losses and no dead time. Stepping 24V down to 1.0V at 2MHz needs an on-time of about 21ns, below the minimum on-time of most controllers (typically 50-100ns), and the controller cannot make the intended voltage.

Last updated: 2026-10-09 Synchronous rectificationDuty cycleMinimum on-timePulse skippingBuck converter

D = Vout/Vin is the ideal value

Textbooks give the buck converter duty cycle as D = Vout/Vin. That is the answer for an idealized model in which the switch and inductor have no resistance and switching is instantaneous. A real controller runs on feedback and adjusts the duty cycle every cycle, so the deviation from this formula is corrected automatically. The problem is not the deviation itself but a case where the required on-time or off-time passes the controller's physical limit and cannot be corrected.

We first put numbers on the deviation (the flip side of the losses in where a synchronous buck converter loses power), then look at what happens at the minimum on-time wall and the minimum off-time (maximum duty) wall.

The real duty cycle shifts with Rds(on), DCR and dead time

In the averaged model of a synchronous buck, let the load current be I, the high-side Rds(on) Rhs, the low-side Rds(on) Rls and the inductor DCR RL. From volt-second balance, the duty cycle actually needed is:

Dactual = (Vout + I·(RL + Rls)) ÷ (Vin − I·Rhs + I·Rls)

With Vin = 12V, Vout = 3.3V, I = 3A, Rhs = 30mΩ, Rls = 15mΩ and RL (DCR) = 20mΩ, the ideal D0 = 3.3 ÷ 12 = 0.275 becomes Dactual ≈ 0.2848. The difference is +0.98 points (+3.6% of the ideal).

Dead time shifts it the same way. While both the high-side and low-side switches are off, the current flows through the low-side body diode with a forward drop VF ≈ 0.5-0.6V. Dead time occurs twice per cycle, so the effect on the output voltage is about ΔV ≈ 2·fsw·tdead·VF. For fsw = 2MHz, tdead = 10ns and VF = 0.55V that is about 22mV, and 44mV for tdead = 20ns.

Adding these, switching at D0 = 0.275 would give a Vout of about 3.16V (about 4.2% below target). The feedback loop senses this and raises D until Vout settles at 3.3V, so the actual duty cycle is always a little larger than the ideal Vout/Vin.

Losses and dead time make the needed duty slightly larger than D0 = Vout/VinExample with Vin=12V, Vout=3.3V, I=3A. The ideal duty D0=0.275 gains the resistive losses from Rds(on) and DCR and the dead-time voltage drop, giving the actual D=0.2848. Losses and dead time make the needed duty slightly larger than D0 = Vout/Vin Example: Vin=12V, Vout=3.3V, I=3A, Rhs=30mΩ, Rls=15mΩ, DCR=20mΩ D0 = 0.275 Ideal: Vout/Vin + Losses and dead time See breakdown below = D_actual ≈ 0.2848 Duty actually needed (+3.6%) From high-side Rds(on) 30mΩ, low-side Rds(on) 15mΩ and DCR 20mΩ +0.98 points From 10ns dead time ×2 per cycle, body diode VF≈0.55V, fsw=2MHz ≈ +22mV Vout if switched at D0 (before feedback correction) ≈3.16V (−4.2%) The feedback loop senses this and raises D slightly to settle Vout at 3.3V. It matters when the on-time or off-time needed for the correction passes the controller's limit (next sections).
Figure 1: resistance (Rds(on), DCR) and dead time add to D0 = Vout/Vin to give the duty cycle actually needed. Example: Vin = 12V, Vout = 3.3V, I = 3A.

The minimum on-time wall: 24V to 1.0V at 2MHz

The on-time needed at the ideal duty cycle is ton = D0 ÷ fsw = (Vout/Vin) ÷ fsw. For Vin = 24V, Vout = 1.0V and fsw = 2MHz (500ns period), ton = (1.0 ÷ 24) ÷ 2MHz ≈ 20.8ns. The real ton is slightly longer, but it makes little difference.

Synchronous buck controller ICs have a minimum on-time limit from gate-driver propagation delay, slope compensation, current-sense blanking and so on. Typical values are 50-100ns in the Electrical Characteristics table (it varies by part). 20.8ns is less than half the low end of that range, so making 24V to 1.0V at 2MHz with a single-stage buck is out of reach for most parts from the start.

The table below shows the required on-time for different combinations of Vin, Vout and fsw. Taking a minimum on-time of 50ns, the combinations below it (in bold) will not run properly as a single stage.

Examples of ton = (Vout/Vin) ÷ fsw (ideal values; the real ones are slightly longer)
VinVoutfswton
6V1.0V2MHz83.3ns
12V1.0V2MHz41.7ns
12V0.8V2MHz33.3ns
24V1.0V500kHz83.3ns
24V1.0V1MHz41.7ns
24V1.0V2MHz20.8ns
48V1.0V1MHz20.8ns
Below the minimum on-time, ton clamps and pulses skipSwitch-node waveform of a buck converter with Vout=1.0V and fsw=2MHz. As Vin rises, the required ton shrinks, and below the 50ns minimum on-time the behavior changes from (1) normal to (2) clamped (overshoot) to (3) pulse skipping (average restored). Animation showing the three states in turn. 1. Normal: Vin=6V, ton=83ns, margin over the minimumD0 = 1.0/6 ≈ 0.167, ton = 0.167 × 500ns ≈ 83ns 2. Vin=20V: need 25ns, stuck at 50ns minimumToo much energy per pulse; output heads for 2x the target (2.0V) 3. Same 50ns, every other pulse dropped: back to 1.0V at half the frequencyAverage duty = 0.1 ÷ 2 = 0.05 restores Vout. Effective fsw falls from 2MHz to 1MHz SW node 0V Vin 1 period = 500ns (fsw = 2MHz) 83nsVin = 6V Min on-time 50nsDotted = ton needed (25ns)Vin = 20V ××Solid = clamped ton (50ns), × = skipped cycleVin = 20V (skipping) Target 1.0V 1.0V 2.0VOvershoot 1.0V Vout Normal. ton = 83ns is well above the 50ns minimum, so fsw = 2MHz still gives 1.0V. Vin rose and the required ton shrank to 25ns, but the controller cannot go below 50ns. The extra pushes the output up. Skipping every other pulse restores the average duty. The output returns, but the effective frequency drops and the ripple spectrum changes.
Figure 2: the required ton shrinks as Vin rises. Below the minimum on-time (50ns here), behavior changes from (1) normal to (2) clamped (overshoot) to (3) pulse skipping (dropped pulses restore the average).

What happens below the wall

When the required ton is below the minimum on-time, the controller has two options.

  • (1) Clamp ton at the minimum. Since ton cannot shrink, each pulse delivers more energy than needed. In Figure 2, at Vin = 20V the required ton is 25ns, but clamped at the 50ns minimum each pulse carries twice the energy. With fsw unchanged, the average duty cycle would be 0.1 (10%) instead of 0.05 (5%), and the output rises toward twice the target (1.0V to 2.0V).
  • (2) Drop pulses (pulse skipping, frequency foldback). Keep ton at 50ns and switch only once every two cycles, and the average duty cycle returns to 0.1 ÷ 2 = 0.05, so the output settles at 1.0V. The effective switching frequency, though, halves from 2MHz to 1MHz. If a heavier load needs more ton, the skip interval shortens, and a lighter load skips more, so the effective frequency moves with the load.

To the output filter, the skip period (every two cycles in this example) is a new, lower frequency component (fsw/2 = 1MHz). The filter corner is set relative to fsw, so components below fsw are attenuated less than designed and the ripple comes out larger than calculated (subharmonic ripple). The EMI spectrum also spreads below fsw instead of being a single line, so a filter designed only for fsw and its harmonics may fall short. If the effective frequency falls to the audible band (up to 20kHz), coil whine appears.

The other wall: maximum duty and dropout

The same limit exists where the duty cycle approaches 1. Most synchronous bucks recharge the bootstrap capacitor that drives the high-side MOSFET gate by periodically turning the low side on, so the high side cannot stay on 100% of the time. The minimum on-time reserved for the low side (the minimum off-time) sets the maximum duty Dmax = 1 − toff(min) ÷ T (parts with a dedicated 100%-duty circuit are an exception).

For fsw = 2MHz (500ns period) and a typical minimum off-time of 80ns, Dmax = 1 − 80 ÷ 500 = 0.84. To hold Vout = 3.3V the minimum Vin is 3.3 ÷ 0.84 ≈ 3.93V.

In a 5V to 3.3V supply this is not on your mind (D = 0.66, toff = 170ns). It matters where input and output are close, such as making 3.3V from a lithium-ion cell that starts at 4.2V. The battery voltage falls as it discharges, so the situation changes as in the table below.

Vin and toff for fsw = 2MHz, minimum off-time = 80ns (Vout = 3.3V)
VinDuty D neededtoff neededState
5.0V (USB supply)0.660170.0nsOK
4.2V (fully charged)0.786107.1nsOK
3.93V0.84080.2nsRight at the wall
3.7V (nominal battery voltage)0.89254.1nsDropout, Vout ≈ 3.11V
3.5V (near empty)0.94328.6nsDropout, Vout ≈ 2.94V

Once the battery discharges to 3.7V, the required toff shrinks to 54ns, but the controller cannot go below 80ns. The minimum on-time side had pulse skipping as a way out, but here the duty cycle is already stuck at its limit, so there is nothing to catch up with. The duty cycle stays at Dmax = 0.84 and Vout falls in proportion to Vin, Vout = Dmax·Vin: literal dropout. At 3.7V, Vout ≈ 0.84 × 3.7 ≈ 3.11V (about 5.8% below target), and at 3.5V about 2.94V (about 10.9% below).

The other wall: below the minimum off-time, duty tops out and Vout drops outSwitch-node waveform of a buck converter with Vout=3.3V and fsw=2MHz. As the battery voltage Vin falls, the required toff shrinks. Once stuck at the 80ns minimum off-time, duty cannot rise further and Vout sags as Vin falls. Animation showing the three states in turn. 1. Margin: Vin=4.2V (full), toff=107nsD = 3.3/4.2 ≈ 0.786, toff = (1−0.786) × 500ns ≈ 107ns 2. At the wall: Vin=3.93V, toff=80ns = minimum off-timeD = 3.3/3.93 = 0.84. If Vin falls further, toff cannot be kept 3. Dropout: Vin=3.7V, need 54ns, stuck at 80nsDuty tops out at Dmax=0.84. Vout = Dmax×Vin ≈ 3.11V SW node 0V Vin toff=107nsVin = 4.2V Min off-time 80ns = toffVin = 3.93V Min off-time 80ns (stuck)Vin = 3.7V (discharging) Target 1.0V 3.3V 3.3V 3.11VDropout Vout Normal. toff=107ns is above the 80ns minimum, so 3.3V holds. The battery voltage fell until toff reached the minimum. Below this, duty cannot rise. Duty stays at Dmax=0.84, so a fall in Vin is a fall in Vout (Vout=Dmax×Vin). There is no pulse-skipping escape.
Figure 3: as Vin falls, the required toff shrinks and sticks at the minimum off-time (80ns here). (1) Margin, (2) right at the wall, (3) stuck while Vin keeps falling, so Vout droops in dropout.

The forbidden region on the Vin-fsw plane

Fixing Vout and plotting the minimum on-time limit on the Vin-fsw plane shows at a glance where a single-stage buck can work. Solving ton = (Vout/Vin) ÷ fsw ≥ ton(min) for fsw gives fsw ≤ Vout ÷ (Vin·ton(min)). The region that does not satisfy it (above the boundary curve) is the forbidden region.

The figure below uses Vout = 1.0V and draws the boundary for a 50ns minimum on-time (dark fill) and for a faster 30ns part (dotted, for reference). The point for 24V to 1.0V at 2MHz (cross) is inside the forbidden side of both boundaries, so a faster part alone does not fix it. For 12V to 1.0V at 2MHz (circle), the 50ns part is in the forbidden region, but the 30ns part can run.

Forbidden region on the Vin-fsw plane: where ton < ton(min) (Vout = 1.0V)With Vout=1.0V, Vin on the horizontal axis and fsw on the vertical axis, the boundary where ton=ton(min) for minimum on-times of 50ns and 30ns (reference). Above the boundary (higher fsw) is the forbidden region. The 24V to 1.0V at 2MHz point (cross) is inside both boundaries, so even a faster part does not save it. 12V to 1.0V at 2MHz (circle) is forbidden for a 50ns part but runs with a 30ns part. Forbidden region on the Vin-fsw plane: where ton < ton(min) (Vout = 1.0V) Boundary of ton = (Vout/Vin) ÷ fsw ≥ ton(min). Above it, a single stage does not work 0 10 20 30 40 50 0.5M 1.0M 1.5M 2.0M 2.5M 3.0M 3.5M Vin [V] fsw Forbidden Forbidden (min on-time 50ns) Dotted: fastest class (30ns) 24V to 1.0V @2MHz (not OK even at 30ns) 12V to 1.0V @2MHz (not OK at 50ns, OK at 30ns) Boundary: fsw ≤ Vout ÷ (Vin × ton(min)). Lower Vout, higher Vin or higher fsw all tighten the boundary.
Figure 4: forbidden region on the Vin-fsw plane (Vout = 1.0V). Above the boundary, ton < ton(min) and a single stage does not work. A 30ns part pushes the boundary up and to the right, but cannot save an extreme ratio like 24V to 1.0V at 2MHz.

Choosing: lower fsw, two stages, or a shorter minimum on-time

When you hit the minimum on-time wall, you have these three options.

Countermeasures and trade-offs (example: 24V to 1.0V at 2MHz)
CountermeasureEffectCost
Lower the frequencyDown to 500kHz, ton stretches to 83.3ns, inside the typical minimum on-time range (50-100ns)Larger inductor and output capacitor, slower transient response. The main EMI band moves down and may land on another band (such as broadcast)
Use two stages (e.g. 24V to 5V to 1.0V)The voltage ratio of each stage relaxes. The second stage has Vin = 5V, so even at fsw = 2MHz ton = (1.0/5) ÷ 2MHz = 100ns, and the first stage can run at a low fswMore parts, cost and board area. Stage efficiencies multiply, so total efficiency is lower than one stage alone. Two feedback loops
Choose a part with a shorter minimum on-timeAt the same fsw, the range a single stage can cover widens (a 30ns part moves the Figure 4 boundary up and right)For an extreme ratio like 24V to 1.0V at 2MHz even a 30ns part falls short (the boundary reaches only 16.7V). Fast switching tends to add gate-drive loss and noise, and choices are limited

In practice you combine the three. As a rule of thumb, an extreme step-down ratio (24V to 1V class) is realistically a two-stage design, while a moderate ratio (12V to 1V class) often stays single-stage with a shorter minimum on-time part and a somewhat lower frequency. Start by comparing ton = (Vout/Vin) ÷ fsw with the minimum on-time in the datasheet of the part you plan to use.

Where it goes wrong on real boards

The efficiency curve worsens only at high Vin and light load. Once pulse skipping starts, each pulse carries too much energy and the transfer efficiency drops against switching loss. Measure efficiency at each Vin; a deeper dip only at high Vin is the sign.

Ripple is much larger than calculated, and the waveform differs every few cycles. The output filter is designed for ripple at fsw, so when pulse skipping moves the ripple below fsw it no longer matches the calculation. A peak at something other than a multiple of fsw in an EMI measurement is a sign of the same behavior, with the effective frequency moving with load and Vin.

On a battery-powered device, the output rail may sag slowly as the charge falls. It can be maximum-duty dropout sagging the rail before the voltage monitor threshold is reached. Log the battery voltage and the output rail together and check that the Dmax·Vin calculation matches the measurement.

If the switch-node ton (or toff) looks stuck at one width as you vary Vin or Vout, that is direct evidence it is clamped at the minimum on-time (or off-time). Compare with Minimum On-Time, Minimum Off-Time, Maximum Duty Cycle, and whether 100% Duty Cycle Operation exists in the datasheet. PFM/Skip-Mode Frequency indicates the effective skip frequency.

Frequently asked questions

If the required on-time is below the minimum, does the controller break?
Not by itself. The controller keeps running by clamping ton at the minimum or by dropping pulses. Damage is indirect, for example clamp overshoot exceeding the absolute maximum rating of a downstream IC.
How can I tell maximum-duty dropout?
If the output falls at a fixed ratio (Dmax) as the input falls, it is dropout. Measure toff with a scope: if it is stuck at the minimum off-time, that confirms it. Also check that the datasheet's Maximum Duty Cycle matches the value back-calculated from the measured Vin and Vout.
Does lowering the frequency always solve it?
It helps with the minimum on-time and off-time limits, but the inductor and output capacitor get larger and the transient response slows. The main EMI band also moves down, so check separately that it does not land on another band.
With two stages, does the first stage have a minimum on-time limit too?
Yes, but ton is longer because the voltage ratio is relaxed, so there is more margin. For a 24V to 5V first stage at fsw = 1MHz, ton = (5/24) ÷ 1MHz ≈ 208ns, far more than 20.8ns for making 24V to 1.0V directly at 2MHz.

Standards and references

  • Robert W. Erickson, Dragan Maksimović, "Fundamentals of Power Electronics" — Deriving the buck duty cycle by volt-second balance (averaged model including losses)
  • 各社 同期整流バックコンバータ IC データシート「Electrical Characteristics」 — Specification rows for Minimum On-Time, Minimum Off-Time and Maximum Duty Cycle. Values vary by part
  • TI, SLUA887 "Bootstrap Circuitry Selection for Half-Bridge Configurations" — Bootstrap capacitor recharging and its relation to the low-side minimum on-time and maximum duty

← All columns