먼저 알아둘 용어
워치독(watchdog)·갱신 — 워치독은 정해진 시간 안에 정상 진행을 알리는 갱신이 없으면 리셋 등 복구 동작을 일으키는 감시 기능입니다. 갱신 위치가 잘못되면 중요한 작업이 멈춰도 계속 살아 있다고 판단할 수 있습니다.
LSI(Low-Speed Internal)·분주·리로드(reload) — LSI는 일부 MCU(Microcontroller Unit)의 독립 저속 내부 발진기입니다. 분주는 입력 클록(clock)을 나누는 비율이고 리로드는 카운터에 다시 넣는 값입니다. 실제 제한 시간은 이 클록과 카운터 정의에 따라 달라집니다.
리셋(reset) 원인 플래그(flag)·윈도 워치독(window watchdog) — 리셋 원인 플래그는 재시작 이유를 기록하는 상태 비트(bit)입니다. 윈도 워치독은 너무 늦은 갱신뿐 아니라 너무 이른 갱신도 오류로 볼 수 있어 허용 갱신 구간을 지켜야 합니다.

무엇의 진행을 감시할지 정합니다
메인 작업은 멈췄는데 타이머 인터럽트(interrupt)만 계속 실행되는 고장을 생각해 보겠습니다. 인터럽트에서 워치독을 무조건 갱신하면 실제 제어 작업의 정지를 숨길 수 있습니다. 갱신은 필요한 작업의 완료 또는 진행을 반영하도록 설계하고, 시험에서는 메인 작업만 멈춘 조건도 만듭니다.
정상 최악 시간과 허용 복구 시간을 함께 정합니다
제어 입력을 읽고 출력 상태를 갱신하는 일, 통신의 필요한 처리를 마치는 일 등 “정상 진행”의 구체적인 기준을 정합니다. 타이머 인터럽트가 발생했다는 사실만으로 모든 필수 작업이 살아 있다고 보지 않습니다. 필요한 작업이 일정 시간 안에 진행되었을 때 갱신하도록 구성합니다.
정상 운전에서 가장 늦을 수 있는 처리 시간을 조사하고, 허용 복구 시간과 함께 타임아웃(timeout)을 정합니다. 최악의 정상 처리보다 짧으면 오동작이 되고, 허용할 수 있는 고장 지속 시간보다 길면 보호 목적을 충족하지 못합니다. 부트로더(bootloader)·초기화·펌웨어(firmware) 갱신과 저전력 모드에서의 워치독 상태도 해당 MCU 문서를 따릅니다.
시험용 펌웨어에서 정상 초기화가 끝난 뒤 메인 작업이 진행되지 않도록 만듭니다. 기계 구동 출력이 남는 장치라면 시험 전에 의도한 정지 상태를 확보합니다. 타이머 인터럽트는 계속 실행되는데 메인 작업만 멈춘 조건도 유용합니다. 이 조건에서 갱신이 계속된다면 감시 위치가 잘못되었을 수 있습니다.
재시작 후 가능한 이른 시점에 리셋 원인 플래그를 읽고 저장합니다. 읽기·지우기 규칙은 MCU별 문서를 따릅니다. 그 다음 센서(sensor), 통신, 외부 드라이버(driver)가 필요한 상태로 초기화되는지 확인합니다. MCU만 리셋되어도 외부 주변장치의 전원이나 내부 상태가 그대로 남을 수 있습니다. 부팅 문구가 다시 나온 것만으로 전체 시스템이 정상 동작으로 복구됐다고 판단하지 않습니다.
명목 시간도 직접 계산해 확인합니다
설명용으로 분주가 64이고 카운트 수가 약 1250, LSI가 32 kHz이면 시간 규모는 64×1250/32000=2.5초입니다. 약 1초라고 가정해 설계하면 복구 시간 요구를 어길 수 있습니다. 리로드 값에 1을 더하는지 등의 정확한 카운터 정의와 실제 LSI 주파수 범위를 적용해 최소·최대 시간을 구합니다.
내부 RC(Resistor-Capacitor) 발진기는 표시 주파수에 오차가 있으므로 정밀한 시간 기준으로 취급하지 않습니다. 온도·전압 등에 따른 허용 오차를 포함하고, 저전력 모드·디버거 연결·부트로더에서 카운터가 어떻게 동작하는지 확인합니다. 윈도 워치독이라면 갱신 가능한 최소·최대 시간 구간을 함께 만족해야 합니다.
시험을 통과했다고 말할 수 있는 범위
| 시험 | 확인할 결과 |
|---|---|
| 정상 최악 부하 | 불필요한 리셋 없이 필요한 작업이 완료됨 |
| 메인 작업 정지 | 갱신이 멈추고 허용 시간 안에 리셋됨 |
| 인터럽트만 계속 실행 | 메인 작업 정지를 숨기지 않음 |
| 리셋 직후 | 원인 기록과 외부 장치 초기화가 확인됨 |
| 반복 고장 | 부팅 반복을 감지하고 원인 기록이 남음 |
전원 강하로 인한 리셋은 워치독 타임아웃과 구분합니다. 같은 사건의 전원 파형과 리셋 원인 기록을 대조하고, 손상된 전원·접속은 별도로 수정합니다. 필요한 작업이 멈추었을 때 감시가 실제 복구로 이어지고 외부 장치까지 의도한 상태로 돌아오는지가 완료 기준입니다.