---
title: "peak-current 제어에서 duty가 커질 때 교대하는 전류를 막는 방법"
author: "브레이브브라우저쓰자"
published_at: "2026-11-03T09:11:02.889Z"
updated_at: "2026-10-06T03:41:30.916Z"
tags: ["slope compensation"]
canonical_url: "https://ariser.io/@writer_a9817d5a8de0/peak-current-%EC%A0%9C%EC%96%B4%EC%97%90%EC%84%9C-duty%EA%B0%80-%EC%BB%A4%EC%A7%88-%EB%95%8C-%EA%B5%90%EB%8C%80%ED%95%98%EB%8A%94-%EC%A0%84%EB%A5%98%EB%A5%BC-%EB%A7%89%EB%8A%94-%EB%B0%A9%EB%B2%95"
ai_assisted: true
---

# peak-current 제어에서 duty가 커질 때 교대하는 전류를 막는 방법

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

[원문](https://ariser.io/@writer_a9817d5a8de0/peak-current-%EC%A0%9C%EC%96%B4%EC%97%90%EC%84%9C-duty%EA%B0%80-%EC%BB%A4%EC%A7%88-%EB%95%8C-%EA%B5%90%EB%8C%80%ED%95%98%EB%8A%94-%EC%A0%84%EB%A5%98%EB%A5%BC-%EB%A7%89%EB%8A%94-%EB%B0%A9%EB%B2%95)

output voltage가 평균적으로 맞는데 inductor current가 큰 pulse와 작은 pulse를 번갈아 만든다. peak-current 제어에서는 매 주기의 시작 current 편차가 다음 주기에 뒤집혀 커질 수 있다. Slope Compensation은 이 sampled current loop의 편차 전달을 바꾸는 방법이다.

## 같은 peak에 도달해도 다음 시작 current는 달라진다

매 clock마다 high-side를 켜고 current가 고정된 peak reference에 도달하면 끄는 이상적인 buck을 보자. 한 주기 안에서는 input·output voltage와 threshold가 일정하다고 가정한다. current의 상승 slope를 m1, 하강 slope의 양의 크기를 m2라고 쓰자.

시작 current가 δi만큼 높으면 같은 peak에 더 빨리 도달한다. on-time 변화는 `δton=−δi/m1`이다. on-time이 짧아진 만큼 off-time이 길어져 다음 시작 current는 원래보다 낮아진다. 그 편차는 `δi,next=−(m2/m1)×δi`다.

이상적인 buck에서 m1=(Vin−Vout)/L, m2=Vout/L이고 D=Vout/Vin이다. 따라서 multiplier는 `−D/(1−D)`다. D가 0.5보다 크면 편차의 부호가 번갈아 바뀌며 크기는 증가한다. output loop가 느리게 평균값을 맞추고 있어도 주기별 current가 안정적이지 않을 수 있다.

TPS54020은 switch current 신호에 compensating ramp를 더하며, 50%보다 큰 duty에서의 subharmonic oscillation을 방지하는 기능으로 설명한다. [TPS54020 Rev F, 15쪽 8.3.7](https://www.ti.com/lit/ds/symlink/tps54020.pdf)

## 추가 ramp가 편차의 증폭률을 바꾼다

매 주기 reset되는 상승 ramp를 current 감지 신호에 더한다고 하자. sense gain으로 나눈 equivalent current slope를 ma라고 두면 comparator가 보는 상승 slope는 m1+ma다. 따라서 on-time 변화는 `−δi/(m1+ma)`다.

다음 시작 current를 계산하면 multiplier는 다음처럼 바뀐다.

`δi,next/δi = (ma−m2)/(m1+ma)`

편차가 줄어들려면 이 비율의 절댓값이 1보다 작아야 한다. 양의 slope를 쓰는 이 모델에서는 `ma > (m2−m1)/2`가 조건이다. equal인 경계에서는 multiplier가 −1이어서 편차가 교대할 뿐 감쇠하지 않는다.

이 식은 비교기의 한 주기 threshold를 고정한 자체 모델의 결과다. IC에서 실제 ramp를 만드는 위치와 sense gain, artificial slope의 정의를 맞춰야 적용할 수 있다. TI의 current-mode 모델도 sampling과 slope compensation의 효과를 별도 항으로 다루며, external slope 식은 IC별로 확인하도록 한다. [SLVA452, 3쪽 식 5·6 주변 설명](https://www.ti.com/lit/an/slva452/slva452.pdf)

## 100mA 편차가 두 주기 뒤 어디로 가는가

가상의 buck을 Vin=12V, Vout=9V, L=10µH로 정하면 m1=0.3A/µs, m2=0.9A/µs이고 duty는 0.75다. operating point가 유지되고 on-time이 합법적인 범위에 남는 작은 편차를 비교한다. ramp를 바꿀 때는 nominal threshold도 조정해 같은 duty에서 운전하도록 정한다.

ma=0이면 multiplier는 −3이다. 시작 편차 +100mA는 다음에 −300mA, 그다음 +900mA가 된다. 실제 회로에서 이 증가가 영원히 이어진다는 주장은 아니다. nonlinear 동작이나 current limit에 도달하기 전에 편차가 확대되는 원리를 나타낸다.

ma=0.5A/µs를 더하면 multiplier는 `(0.5−0.9)/(0.3+0.5)=−0.5`다. 같은 +100mA가 −50mA, +25mA로 줄어든다. sense resistor가 20mΩ인 단순 감지 모델에서는 이 ma가 10mV/µs의 ramp에 해당한다. 실제 TPS54020 내부 ramp의 수치를 계산한 것은 아니다.

## 많이 더하는 것만이 답은 아니다

이 모델에서 ma를 매우 크게 하면 multiplier는 +1에 가까워진다. current 편차의 감쇠가 약해지고 sensed current의 상대적인 영향도 줄어든다. TI 보고서도 compensation slope가 natural slope를 크게 지배하면 단순 current-source 모델 대신 더 완전한 power-stage 모델을 사용해야 한다고 설명한다. [SLVA452, 2쪽 Simplified Small Signal Model](https://www.ti.com/lit/an/slva452/slva452.pdf)

outer voltage loop의 phase margin, input 변화, current sense noise와 propagation delay는 별도 검토 대상이다. slope compensation을 추가했다고 output-loop의 모든 oscillation을 고쳤다고 판단하지 않는다. valley-current 방식이나 다른 topology에는 같은 m1·m2 식을 그대로 복사하지 않는다.

Slope Compensation의 출발점은 주기마다 같은 peak를 찍는지보다 시작 current의 오차가 다음 주기에 어떻게 이어지는지를 보는 것이다. sense 단위와 실제 ramp 정의를 맞추고 operating range에서 감쇠 조건을 확인하면, 교대 pulse를 단순 output ripple로 오해하지 않고 필요한 제어를 고를 수 있다.

