그라운드 임베디드 EN 유튜브 구독

노트 / MCU 펌웨어

워치독과 저전력 모드

프로그램이 멈추면 스스로 리셋하는 워치독, 배터리 기기를 위한 슬립, 스톱, 스탠바이 모드.

GROUND EMBEDDED · 정리 노트펌웨어 10워치독과 저전력 모드종류특징IWDG (독립)별도 LSI 클럭, 메인 클럭이 죽어도…WWDG (윈도우)너무 늦어도, 너무 빨라도 리셋

워치독

카운터 되돌림MCU 리셋정상정상정상멈춤리셋
정상일 때는 주기적으로 카운터를 되돌립니다. 프로그램이 멈춰 되돌리지 못하면 워치독이 MCU를 리셋합니다.

정해진 시간 안에 "아직 살아 있다"고 신호를 주지 않으면 MCU를 리셋합니다.

종류 특징
IWDG (독립) 별도 LSI 클럭, 메인 클럭이 죽어도 동작
WWDG (윈도우) 너무 늦어도, 너무 빨라도 리셋

올바르게 쓰기

  • 타이머 인터럽트 안에서 워치독을 갱신하면 메인 루프가 멈춰도 리셋되지 않습니다. 메인 루프나 모든 태스크가 정상임을 확인한 곳에서 갱신합니다.
  • RTOS라면 각 태스크가 "살아 있음" 플래그를 세우고, 감시 태스크가 모두 확인했을 때만 갱신합니다.
  • 리셋 후 RCC->CSR의 리셋 원인 플래그로 워치독 리셋이었는지 기록합니다.

저전력 모드 (STM32 일반)

Run전부 동작SleepCPU만 멈춤Stop클럭 멈춤, RAM 유지StandbyRAM도 꺼짐
오른쪽으로 갈수록 전류는 줄고, 깨어나는 데 걸리는 시간과 잃는 것은 늘어납니다.
모드 멈추는 것 깨우는 방법 소비 전류
Sleep CPU만 아무 인터럽트 mA
Stop 대부분 클럭 외부 인터럽트, RTC µA
Standby 거의 전부, RAM 소실 웨이크업 핀, RTC 1µA 이하

Stop에서 깨어나면 클럭이 HSI로 돌아와 있어서 PLL을 다시 설정해야 합니다. 배터리 수명은 "깨어 있는 시간 × 동작 전류 + 잠든 시간 × 대기 전류"로 계산합니다.

영상으로 이어 보기회로와 하드웨어 시리즈 8편전자제품 속 회로 소자는 어떻게 동작할까? · 저항 · 커패시터 · 인덕터 완벽 정리PROJECT COURSE레지스터 설정을 실제 보드에서 해 보고 싶다면밸런싱 로봇 하나를 요구사항, 회로와 PCB, 펌웨어, 앱까지 실무 순서대로 만드는 강의입니다. 10파트 165강.강의 살펴보기 →FREE PDF무료 전자책 3권 받기이 주제를 한 권으로 이어서 읽고 싶다면. BLDC 모터 제어, 직렬통신, 센서를 책 분량으로 묶었습니다. 이메일만 남기면 바로 받습니다.무료로 받기 →