통합 차량 관제 시스템 용어 사전
설계 원칙워치독 · WDOG

워치독

정해진 시간 안에 신호를 못 받으면 시스템을 리셋하는 독립 타이머. 소프트웨어 폭주를 잡는다.

Watchdog Timer. 소프트웨어와 독립된 하드웨어라 코드가 폭주해도 살아 있다.

정상   메인 루프가 주기적으로 워치독을 쓰다듬는다(kick)
비정상 무한 루프·데드락으로 kick 이 멈춤 → 타임아웃 → 리셋

왜 소프트웨어 타이머로는 부족한가

액추에이터 지속 동작 방지(§6.4.1·§6.4.2)를 예로 들면:

void actuator_tick(void) {   /* 메인 루프에서 호출 */
    if (on && (now() - on_since) >= MAX_ON_MS) actuator_stop();
}

메인 루프가 블로킹되면 이 코드도 같이 멈춘다. 액추에이터는 켜진 채로 남아 과열·화재로 간다.

그래서 안전 차단은 소프트웨어와 독립된 경로를 가져야 한다.

타이머 ISR          메인 루프가 죽어도 돈다
독립 워치독(WDOG)    소프트웨어 전체가 죽어도 리셋한다
드라이버 IC 열 셧다운  칩이 스스로 끈다

쓰다듬는 위치가 중요하다

타이머 ISR 에서 무조건 kick 하면 메인 루프가 죽어도 워치독이 만족한다. 그러면 워치독이 아무 일도 안 한다.

메인 루프가 실제로 한 바퀴 돌았을 때만 kick 하거나, 각 태스크가 자기 플래그를 세우고 전부 세워졌을 때만 kick 하는 식으로 살아 있음을 실제로 확인해야 한다.

함께 보면 좋은 용어

노트에서 맥락과 함께 보기 — Predictive Climate — Fan 소유권·Pre-conditioning·자동 환기