임베디드 설계 노트 (6/6) — LVD(Low Voltage Detect): 임베디드 최후 방어선
전압 저하 시 상태 전이 모델과 히스테리시스 기반 보호 아키텍처
핵심 요약
- 전압 저하 시 출력 제어 상실, 데이터 오염, 시스템 좀비화가 동시에 발생할 수 있다
- LVD는 단순 이벤트가 아닌 Normal → Warning → Protect → Recover 상태 머신으로 설계해야 한다
- 히스테리시스, 인터럽트 기반 반응, 채널별 Safe State 정의가 설계의 핵심이다
배경
전원 전압이 MCU 동작 권장 범위를 벗어나면 내부 로직의 전압 레벨이 모호해진다. DO(Digital Output)가 예기치 않게 On/Off되어 연결 장비에 물리적 손상을 주거나, EEPROM/Flash 쓰기 중 전압이 떨어져 데이터가 깨지거나, MCU가 리셋도 정상 동작도 못하는 Hang 상태에 빠진다. LVD는 이 모든 시나리오를 방어하는 최후의 보루다.
본문
상태 전이 모델 (State Transition)
LVD는 단순 이벤트 처리가 아닌 상태 머신 관점에서 접근해야 한다.
| 상태 | 진입 조건 | 동작 |
|---|---|---|
| Normal (정상) | V_cc > V_warn | 모든 기능 정상 |
| Warning (경고) | V_warn > V_cc > V_prot | 알림, 로그 기록, 비휘발성 메모리 쓰기 중단 |
| Protect (보호) | V_cc < V_prot | 중요 출력 강제 차단, 통신 중단, 저전력 모드 |
| Recover (복귀) | V_cc > V_recovery | 시스템 재초기화 및 정상 복귀 |
히스테리시스(Hysteresis) 적용
진입 전압(V_low)과 복귀 전압(V_recovery) 사이에 충분한 간격을 두어야 한다. 간격이 없으면 경계 전압에서 상태가 끊임없이 토글되는 채터링(Chattering)이 발생한다.
인터럽트 기반 반응
LVD 감지를 메인 루프에서 폴링하기에는 너무 늦다. 반드시 하드웨어 인터럽트(ISR)를 사용해 최우선 순위로 보호 로직을 실행해야 한다. 인터럽트 발생 시 진행 중인 모든 I2C/SPI 통신과 비휘발성 메모리 쓰기 플래그를 즉시 차단한다.
채널별 Safe State 정의
"전원이 꺼질 때 모든 출력을 Off"가 항상 정답은 아니다. 어떤 시스템은 특정 밸브를 On하여 압력을 빼줘야 할 수도 있다. 아키텍처 설계 시 LVD Safe State를 채널별로 사전에 정의해야 한다.
시행착오 / 주의사항
- 가변 DC 파워서플라이를 연결해 전압을 0.1V 단위로 천천히 낮추며 각 상태 전이가 정확한 지점에서 발생하는지 확인하는 한계 테스트가 필수다
- 히스테리시스 간격을 너무 좁게 잡으면 현장의 노이즈 환경에서 채터링이 발생한다
마무리
LVD 아키텍처는 평상시에는 존재감이 없지만, 전원 품질이 열악한 실제 현장에서는 시스템의 생명을 연장하는 핵심 기술이다. 상태 머신 설계, 히스테리시스, 인터럽트 반응, 채널별 Safe State — 이 네 가지를 확실히 잡으면 전압 저하에도 견디는 시스템을 만들 수 있다.
댓글
댓글 쓰기