강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

박동진님의 프로필 이미지
박동진

작성한 질문수

High-Speed 임베디드 Board 설계 프로젝트 (feat. 스마트폰)

requirement sheet로 코어·클럭·인터페이스 스펙 뽑기

por 문의

작성

·

24

0

requirement sheet... 인터페이스 스펙 뽑기 강의에서 POR에서 궁금한 점 문의가 있습니다.

PMIC를 사용치 않고 LDO로 각 코어 전압을 만들어 쓰는 경우에도 충분히 POR를 맞출 수 있을 것 같은데

POR이 맞춰진다면, PDR도 자연스럽게 맞춰지지 않는지 문의드립니다.

답변 1

0

안녕하세요, 답변 남겨드립니다.

결론부터 말씀드리면, POR이 맞는다고 해서 PDR이 자연스럽게 맞는다고 보시면 위험합니다. 두 개가 이름은 비슷하지만, 실무에서는 보는 포인트가 다릅니다. POR은 전원이 올라올 때 “언제 리셋을 풀어도 되는가”에 가깝고, PDR은 전원이 내려가거나 흔들릴 때 “언제 다시 위험 상태로 들어간 것으로 판단하고 보호 동작을 걸 것인가”에 더 가깝습니다. 그래서 LDO만으로 각 코어 전압을 만들더라도, 상승 시퀀스가 예쁘게 맞는 것과 하강 시퀀스나 브라운아웃 상황까지 안전하게 커버되는 것은 별개의 문제입니다.

질문하신 직관 자체는 맞는 부분이 있습니다. LDO로도 충분히 POR 조건은 맞출 수 있습니다. 실제로 소비전류가 비교적 작고, 전원 rail 수가 많지 않고, SoC나 AP가 요구하는 전압 순서와 ramp time이 널널하면 PMIC 없이 discrete LDO 조합으로도 부팅은 됩니다. 특히 bring-up 초기에 “전원만 올라오면 일단 켜지는가”만 보면 가능해 보이는 경우가 많습니다. 그런데 현업에서는 여기서 바로 한 단계 더 봅니다. 부팅 성공 여부보다 더 중요한 것은 전압 변동, 배터리 droop, hot-plug, ESD 이후 recovery, deep sleep 진입/복귀, 순간 부하 과도 응답에서 reset boundary가 재현성 있게 유지되는가입니다. 이 구간에서 POR만 보고 설계하면 양산 단계에서 불량 패턴이 생깁니다.

왜 그런지 조금 나눠서 보면 이해가 쉬워집니다. POR은 대체로 전압이 low 상태에서 threshold를 넘고 일정 delay가 지난 뒤 리셋을 해제하는 구조입니다. 예를 들어 core rail이 0.8 V이고 POR release threshold가 92%라고 하면 대략 0.736 V 이상에서 1 ms 또는 5 ms hold 후 reset release 같은 식으로 잡힙니다. 이 조건은 LDO soft-start와 enable sequencing만 잘 제어하면 맞추기 어렵지 않습니다. 그런데 PDR은 전압이 떨어질 때 threshold 아래로 내려가면 즉시 혹은 매우 짧은 지연으로 reset assert를 걸어야 하고, 더 중요하게는 rail마다 하강 속도와 상대 순서가 달라질 때도 오동작이 없어야 합니다. 예를 들어 1.8 V I/O rail은 아직 살아 있는데 0.8 V core rail이 먼저 collapse하면, 내부 ESD diode나 level shifter 경로로 역전류가 흐르거나 latch-up 비슷한 비정상 상태가 생길 수 있습니다. 이건 “전원이 켜질 때는 괜찮았는데 꺼질 때만 드물게 죽는” 전형적인 양산 이슈입니다.

실무에서 많이 놓치는 포인트가 바로 hysteresis와 brownout margin입니다. POR comparator가 0.74 V에서 release되고, PDR이 0.70 V에서 assert된다고 가정해 보겠습니다. 숫자만 보면 40 mV hysteresis가 있어서 괜찮아 보입니다. 그런데 실제 보드에서 IR drop, package inductance, load step, 온도 drift, comparator tolerance를 다 넣으면 이야기가 달라집니다. 예를 들어 core current가 순간적으로 1.5 A 튀고, power path의 유효 저항이 15 mOhm이면 droop는 I R = 1.5 0.015 = 22.5 mV입니다. 여기에 decap ESR/ESL과 LDO transient response가 겹치면 40 mV~80 mV 정도 순간 낙폭은 금방 나옵니다. 만약 PDR assert 기준이 release 기준과 너무 가깝거나 delay 설계가 애매하면, reset chatter나 애매한 metastable 상태가 생깁니다. 부팅 테스트 100번에서는 멀쩡한데 온도 챔버에서 -10 C, 배터리 3.5 V, 카메라와 RF 동시 active 조건에서만 재현되는 문제가 여기서 나옵니다.

PMIC를 쓰는 경우의 장점은 단순히 전압을 많이 만들어줘서가 아닙니다. 실제 장점은 sequencing, supervisor, UVLO, brownout handling, fault latch, discharge path, power-good aggregation을 한 군데서 관리할 수 있다는 점입니다. 반대로 LDO만으로 구현하면 각 rail의 enable timing, PG 해석, reset tree, 전원 off 시 discharge time constant를 따로 설계해야 합니다. 이론상 가능하지만 검증 난도가 올라갑니다. 실무에서는 성능보다 검증 가능성이 더 큰 변수인 경우가 많습니다. 회로가 단순해 보여도 “모든 전원 상태 조합에서 안전한가”를 입증하는 비용이 더 큽니다.

질문하신 “POR이 맞춰지면 PDR도 자연스럽게 맞지 않느냐”에 대해 더 직접적으로 말씀드리면, 아래 세 가지가 동시에 만족되어야 어느 정도 그렇다고 볼 수 있습니다. 첫째, 각 rail의 rising sequence뿐 아니라 falling sequence까지 규정돼 있어야 합니다. 둘째, PDR threshold와 내부 reset assert timing이 brownout worst-case보다 충분히 앞서 있어야 합니다. 셋째, rail 간 역전류와 back-powering 경로가 차단되어 있어야 합니다. 이 셋 중 하나라도 빠지면 POR과 PDR은 별개로 봐야 합니다.

스마트폰류 임베디드 보드에서는 특히 더 보수적으로 봅니다. 이유는 부하 스텝이 큽니다. AP, LPDDR, UFS, RF front-end, display power가 동시에 움직이면 수백 mA에서 수 A 단위의 과도 전류가 발생할 수 있습니다. 예를 들어 AP core rail이 0.75 V, 평균 0.8 A, peak 2.5 A까지 튄다고 하면, 순간 부하변화 delta I = 1.7 A입니다. decap과 regulator loop bandwidth가 충분하지 않으면 50 mV~100 mV droop는 전혀 과장이 아닙니다. core operating margin이 80 mV 수준인 설계라면, POR은 맞췄어도 PDR이나 brownout recovery를 제대로 설계하지 않으면 필드에서 random reboot나 boot hang로 보입니다. 사용자 입장에서는 “가끔 꺼진다”인데, 설계자 입장에서는 POR/PDR/UVLO 경계가 흐린 겁니다.

실무에서 먼저 확인하는 것은 데이터시트 문구입니다. SoC나 메모리 쪽에 단순히 “power-on reset supported”만 있으면 안 되고, power sequencing, monotonic rise requirement, minimum slew rate, brownout detect threshold, reset low minimum width, power-off discharge requirement까지 봐야 합니다. 특히 “all supplies must be below Voff before next power-on” 같은 문구가 있으면 PDR이 자동으로 보장되지 않는다는 뜻으로 읽으셔야 합니다. 전원이 애매하게 남아 있으면 내부 state가 완전히 초기화되지 않아 다음 부팅이 꼬일 수 있기 때문입니다. 이 경우 PMIC는 active discharge를 넣어주는 경우가 많지만, LDO만 쓰면 방전 저항이나 discharge FET를 따로 설계해야 합니다.

예를 들어 보겠습니다. 3개의 rail이 있다고 가정하겠습니다. VCORE 0.8 V, VIO 1.8 V, VMEM 1.1 V이고, SoC 요구사항이 “VIO >= VCORE before reset release, power-down 시 VCORE must not remain above 0.3 V after VIO is removed for more than 5 ms”라고 하겠습니다. LDO 방식으로 올라갈 때는 EN delay를 각각 0 ms, 2 ms, 4 ms로 주고 PG를 묶어서 reset release를 10 ms 뒤로 잡으면 POR은 대체로 맞출 수 있습니다. 그런데 꺼질 때 VIO LDO output cap이 10 uF, VCORE가 47 uF이고 discharge path가 없으면, 하강 시간은 단순하게도 크게 차이 납니다. load가 거의 없는 sleep 진입 직전이라면 VCORE가 더 오래 남을 수 있습니다. 이 상태에서 I/O 쪽만 먼저 내려가면 내부 clamp를 통해 이상 전류가 흐를 수 있습니다. 부팅 시퀀스만 보면 합격인데, 전원 차단 시험이나 배터리 순간 탈락 시험에서 실패하는 이유가 이런 식입니다.

또 하나 중요한 것은 supervisor의 기준점입니다. LDO 출력이 nominal만 맞는다고 충분하지 않습니다. LDO tolerance가 ±2%, reference drift가 ±1%, layout IR drop이 15 mV, temperature drift가 10 mV만 쌓여도 0.8 V rail에서 실제 칩 핀 전압은 0.8 V가 아니라 0.75 V 근처까지 내려갈 수 있습니다. POR release threshold를 0.74 V로 설계해 놓으면 실사용 margin이 10 mV 수준까지 줄어드는 셈입니다. 숫자상 켜지긴 하지만, 이건 양산 관점에서는 거의 없는 margin으로 봅니다. 실무에서는 rail threshold margin을 최소 5% 이상, 민감한 rail은 8%~10%까지 두는 경우가 많습니다. 물론 공정과 칩 특성에 따라 다르지만, “켜진다”와 “안전하게 반복 재현된다”는 전혀 다른 기준입니다.

그래서 LDO 기반 설계에서 POR/PDR를 제대로 맞추려면, 그냥 LDO 출력만 만드는 수준으로 끝내면 안 됩니다. supervisor IC를 별도로 두거나, PMIC 없이도 reset generator + voltage monitor + discharge control을 붙여야 합니다. 비용은 rail당 수십 센트에서 1달러 이상 추가될 수 있지만, 디버깅 비용과 일정 리스크를 생각하면 훨씬 싸게 먹히는 경우가 많습니다. 보드 한 번 리스핀하면 통상 2주에서 6주 일정 지연은 기본이고, 부팅 불안정 원인이 전원 시퀀스인지 소프트웨어인지 구분하는 데만 팀 리소스가 크게 들어갑니다. 현업에서는 BOM 1달러보다 디버깅 2주가 더 비쌉니다.

정리하면, PMIC를 쓰지 않고 LDO만으로도 POR은 맞출 수 있고, 경우에 따라 PDR까지 만족시킬 수도 있습니다. 하지만 “POR이 맞으니 PDR도 자연히 맞는다”는 식으로 보시면 안 됩니다. 상승 조건과 하강 조건, steady-state와 transient, nominal과 worst-case가 다르기 때문입니다. 특히 스마트폰급 high-speed board에서는 전원 과도응답, rail 간 상호영향, reset tree, brownout, discharge path까지 같이 봐야 합니다. 설계 리뷰에서 제가 먼저 보는 것도 “부팅되느냐”보다 “꺼질 때와 흔들릴 때도 항상 같은 방식으로 죽고, 다시 같은 방식으로 살아나느냐”입니다. POR은 시작 조건이고, PDR은 시스템을 망가뜨리지 않기 위한 안전장치라고 보시는 쪽이 실무 감각에 더 가깝습니다.

박동진님의 프로필 이미지
박동진
질문자

친절한 답변과

많은 내용과 상세한 설명에 진심으로 감사드립니다.

박동진님의 프로필 이미지
박동진

작성한 질문수

질문하기