---
title: "buck 인덕터 전류가 0에 닿으면 converter 해석도 바뀐다"
author: "브레이브브라우저쓰자"
published_at: "2026-10-31T11:40:00.222Z"
updated_at: "2026-10-06T03:12:38.509Z"
tags: ["ccm dcm boundary"]
canonical_url: "https://ariser.io/@writer_a9817d5a8de0/buck-%EC%9D%B8%EB%8D%95%ED%84%B0-%EC%A0%84%EB%A5%98%EA%B0%80-0%EC%97%90-%EB%8B%BF%EC%9C%BC%EB%A9%B4-converter-%ED%95%B4%EC%84%9D%EB%8F%84-%EB%B0%94%EB%80%90%EB%8B%A4"
ai_assisted: true
---

# buck 인덕터 전류가 0에 닿으면 converter 해석도 바뀐다

이 글은 AI가 활용됐습니다.

[원문](https://ariser.io/@writer_a9817d5a8de0/buck-%EC%9D%B8%EB%8D%95%ED%84%B0-%EC%A0%84%EB%A5%98%EA%B0%80-0%EC%97%90-%EB%8B%BF%EC%9C%BC%EB%A9%B4-converter-%ED%95%B4%EC%84%9D%EB%8F%84-%EB%B0%94%EB%80%90%EB%8B%A4)

buck의 부하를 줄이다 보면 inductor current의 valley가 0에 닿는다. 그다음 waveform은 단순히 같은 삼각파를 더 아래로 내린 모양일까. CCM DCM Boundary를 이해하려면 current가 0을 지난 뒤 controller가 어느 switch를 허용하는지까지 보아야 한다.

## current의 평균과 ripple을 함께 본다

positive current가 매 주기 계속 흐르는 CCM에서 inductor current의 평균은 output load current다. 이상적인 buck의 steady state에서는 D=Vout/Vin이고, high-side on 동안 current 증가량은 `ΔIL=(Vin−Vout)·D·T/L`이다. 삼각파의 valley는 Iout−ΔIL/2다.

가상의 Vin=12V, Vout=5V, L=10µH, fsw=500kHz를 정하자. loss와 capacitor voltage ripple을 제외하면 T=2µs, D=5/12, ton≈0.833µs다. on 동안의 slope는 0.7A/µs이며 current ripple은 약 0.583A p-p다.

Iout=1A라면 valley≈0.708A, peak≈1.292A다. 모든 구간에서 positive current가 흐른다. valley가 0에 닿는 boundary current는 ΔIL/2≈0.292A다. 이 경계는 정한 Vin·Vout·L·frequency와 운전 모델에서 나온 값이다.

TPS54020의 원문은 current가 계속 positive인 운전을 CCM으로 설명하고, 가벼운 부하에서 current가 reverse하려 할 때 low-side를 끄는 동작을 명시한다. 실제 waveform의 zero-current 구간은 switching mode와 함께 읽어야 한다. [TPS54020 Rev F, 13쪽 Overview와 20쪽 8.4.3–8.4.4](https://www.ti.com/lit/ds/symlink/tps54020.pdf)

## 0에서 멈추면 세 번째 구간이 생긴다

이상적인 diode 또는 zero-crossing 차단으로 negative current를 금지하는 모델을 생각하자. high-side가 켜지는 t1 동안 current는 0에서 peak로 올라간다. 다음 t2 동안에는 low-side 경로로 내려와 0에 닿는다. 남은 t0 동안 두 switch가 꺼지고 inductor current가 0인 채로 머문다고 정한다.

on 구간의 voltage는 Vin−Vout, current가 감소하는 구간은 −Vout이다. 따라서 Ipk=(Vin−Vout)t1/L이고 t2=L·Ipk/Vout=(Vin−Vout)t1/Vout다. 마지막 zero-current 구간에는 이상화한 inductor voltage도 0이며, output capacitor가 load를 공급한다.

이때 평균 current는 삼각형의 면적을 전체 period로 나눈 `Iout=Ipk·(t1+t2)/(2T)`다. on·off 두 구간이 period 전체를 채우는 CCM의 duty 관계를 다시 쓰면 zero-current 구간을 빠뜨리게 된다.

## 같은 output을 더 작은 부하에서 유지한다

앞의 전압과 부품을 유지하되 load를 0.1A로 낮추자. 이번에는 fixed frequency로 매 주기 하나의 pulse를 만들며, control이 on-time을 조절하는 가상 DCM 운전을 정한다. 실제 제품의 정확한 pulse-skip sequence를 예측하는 모델은 아니다.

면적 식에 peak와 t2를 넣으면 `Iout=Vin(Vin−Vout)t1²/(2L·Vout·T)`다. 이를 풀면 t1≈0.488µs, t2≈0.683µs이고, 남은 t0≈0.829µs다. peak는 약 0.342A다. 삼각형 면적을 2µs로 나누면 0.1A와 일치한다.

on duty는 약 24.4%지만 voltage ratio는 41.7%다. 계산 오류가 아니라 DCM에서 zero-current 구간이 생겨 duty와 voltage ratio의 관계에 load가 들어온 결과다. 반대로 CCM ton≈0.833µs를 그대로 유지하고 negative current만 차단하면, 같은 전압에서 positive 삼각형이 공급하는 평균은 약 0.292A다. 0.1A 부하에 그 pulse를 매 주기 넣으며 같은 output을 유지할 수는 없다.

## negative current를 허용하는 mode는 다르다

forced PWM으로 두 switch를 규칙적으로 구동하면 current가 0 아래로 내려가는 운전도 가능하다. 0.1A 평균에 같은 0.583A ripple을 유지하면 valley는 약 −0.192A다. 이 경우 ‘load가 boundary 아래니까 반드시 DCM’이라는 판단은 맞지 않는다.

LM5146은 SYNCIN으로 diode emulation과 forced PWM을 선택하며, diode emulation에서는 SW voltage의 zero-cross 검출로 low-side를 끈다고 설명한다. mode가 실제 current의 경계조건을 바꾼다. [LM5146 Rev A, 26쪽 8.4.4](https://www.ti.com/lit/ds/symlink/lm5146.pdf)

실제 회로에는 switch drop, dead time, 검출 delay와 최소 pulse 제한이 있다. pulse를 건너뛰는 controller에서는 period 자체의 운전 해석도 달라진다. CCM과 DCM의 small-signal response를 같은 모델로 놓는 일 역시 주의해야 한다.

가벼운 부하를 검토할 때는 평균 current와 ripple로 zero crossing을 찾고, 그 뒤 negative current를 허용하는지 확인한다. current가 0인 시간을 포함해 한 주기의 면적을 계산하면, 부하가 줄었는데 duty가 예상과 다르게 바뀌는 이유가 드러난다.

