자동차 ECU는 단순히 기능만 동작하면 되는 시스템이 아니다.
반드시 “정상적으로 살아있는지”를 지속적으로 감시해야 한다.
만약 특정 Task가 멈추거나, Runnable이 실행되지 않거나,
소프트웨어가 Deadlock 상태에 빠지면 차량 기능 자체가 오동작할 수 있기 때문이다.
이런 문제를 감시하기 위해 사용하는 AUTOSAR 모듈이 바로 WdgM(Watchdog Manager)이다.
WdgM은 ECU 내부 소프트웨어가 정상적으로 동작하는지 감시하고,
문제가 발생하면 Watchdog Reset 또는 Fault 처리를 수행하는 역할을 담당한다.
즉, ECU 내부의 “소프트웨어 감시 관리자”라고 볼 수 있다.
WdgM은 왜 필요할까?
자동차 ECU는 대부분 주기성(Task 기반)으로 동작한다.
예를 들어 10ms Task, 20ms Task, 100ms Task 같은 주기 Task 내부에서 Runnable들이 반복 실행된다.
하지만 다음과 같은 문제가 발생할 수 있다.
- 특정 Task가 멈춤
- Runnable 실행 누락
- 무한 루프 진입
- OS Scheduling 문제
- Interrupt 이상
- Deadlock 발생
이 경우 ECU는 겉보기에는 살아있어도 내부 기능은 정상 동작하지 않을 수 있다.
그래서 WdgM이 다음을 감시한다.
- 지정된 함수가 정상 호출되는지
- 정해진 시간 안에 실행되는지
- 너무 많이 실행되지는 않았는지
- 특정 순서대로 실행되는지
WdgM의 설정 구조
실제 mobilgene에서 다음과 같은 구조를 보자.

처음 보면 복잡해 보이지만 실제 의미는 단순하다.
ECU 상태별로 “어떤 감시를 수행할 것인가”를 정의한 구조이다.
WdgMMode란 무엇인가?
WdgM은 ECU 상태에 따라 감시 수준을 다르게 설정할 수 있다.
예를 들어:
CheckStartEcu : ECU 초기 부팅 상태
OperationApp : 정상 운행 상태
WdgM_Off : Watchdog 비활성 상태
초기 부팅 시에는 아직 모든 Task가 실행되지 않았기 때문에 감시를 약하게 설정할 수 있다.
반면 정상 동작 상태(Operation)에서는 모든 Task를 엄격하게 감시한다.
즉, WdgMMode는 ECU 상태별 감시 정책이라고 보면 된다.
Alive Supervision이란 무엇인가?
Alive Supervision은 특정 Runnable이나 Task가 정상적으로 주기 실행되고 있는지를 감시하는 기능이다.
즉, 소프트웨어가 “살아있는지(Alive)”를 확인하는 기능이라고 보면 된다.

현재 설정은 다음 의미를 가진다.
- Expected Alive Indications 는 기준 주기 동안 Checkpoint가 몇 번 호출되어야 하는지를 의미한다.
현재 값이 1이므로, WdgM은 CP_Init_AS0 Checkpoint가 기준 주기 안에서 정확히 1번 호출되기를 기대한다.
- Max Margin 과 Min Margin 은 허용 오차 범위이다.
현재는 둘 다 0이므로 호출 횟수 오차를 허용하지 않는다. 즉 1번만 호출되어야 정상으로 판단한다.
- Supervision Reference Cycle 은 Alive 상태를 검사하는 기준 주기이다.
현재 값은 800이며, WdgM MainFunction 주기와 함께 Alive 감시 시간을 결정한다.
- Checkpoint Ref 는 실제 감시 대상 Checkpoint를 의미한다.
즉, CP_Init_AS0 Checkpoint가 정상 호출되는지를 WdgM이 감시하게 된다.
결국 현재 설정은 다음 의미와 같다.
“CP_Init_AS0 Checkpoint는 정해진 기준 주기 동안 정확히 1번 호출되어야 한다.”
만약 호출되지 않거나 비정상적으로 호출되면 WdgM은 소프트웨어 이상 상태로 판단할 수 있다.
Deadline Supervision이란 무엇인가?
Deadline Supervision은 특정 코드 구간의 실행 시간이 정상 범위 안에 들어오는지를 감시하는 기능이다.
즉, 함수가 너무 오래 실행되거나, 비정상적으로 동작하는 상황을 감지하기 위해 사용된다.

현재 설정은 다음 의미를 가진다.
Deadline Start Ref 는 실행 시작 Checkpoint를 의미하고,
Deadline Stop Ref 는 실행 종료 Checkpoint를 의미한다.
즉, WdgM은 CP_WdgMTest_DS0 → CP_WdgMTest_DS1 구간의 실행 시간을 측정하게 된다.
- Deadline Max 는 허용 가능한 최대 실행 시간이다.
현재 값은 0.025 이므로 최대 25ms 안에 종료되어야 함을 의미한다.
- Deadline Min 은 최소 실행 시간이며 현재는 0으로 설정되어 있다.
결국 현재 설정은 다음 의미와 같다.
“CP_WdgMTest_DS0 부터 CP_WdgMTest_DS1 까지의 실행 시간은 25ms를 초과하면 안 된다.”
만약 실행 시간이 기준을 초과하면 WdgM은 Deadline Fault로 판단할 수 있다.
이 기능은 다음과 같은 문제를 감지하는 데 사용된다.
- 무한 루프
- CPU Overload
- Blocking
- Scheduling 이상
- Task 지연 발생
Trigger는 무엇인가?
Watchdog은 일정 시간마다 Trigger를 받아야 한다.
만약 Trigger가 들어오지 않으면 ECU가 비정상 상태라고 판단하여 Reset을 수행한다.
WdgM Trigger는 Watchdog에 실제 Trigger 신호를 전달하는 설정이다.
WdgM이 소프트웨어 상태를 정상이라고 판단하면 Watchdog Trigger를 수행하고,
이상 상태라고 판단하면 Trigger를 중단하여 ECU Reset이 발생하도록 한다.

현재 설정은 다음 의미를 가진다.
- Condition Value 는 Watchdog Trigger 주기와 관련된 값이다.
즉, WdgM이 일정 조건을 만족했을 때 Watchdog Trigger를 수행하는 기준값으로 사용된다.
- Watchdog Mode 는 Watchdog 동작 속도를 의미한다.
현재 설정은 WDGIF_FAST_MODE 이므로 Fast Mode 기반으로 Watchdog이 동작한다.
일반적으로
WDGIF_FAST_MODE
→ 짧은 Timeout 사용
→ 빠른 Fault 감지 가능
→ 정상 운행 상태에서 많이 사용
WDGIF_SLOW_MODE
→ 긴 Timeout 사용
→ 초기 부팅 또는 저전력 상태에서 사용
형태로 설정된다.
즉, ECU 상태에 따라 Fast Mode와 Slow Mode를 전환하며 Watchdog 감시 강도를 조절할 수 있다.
- Watchdog Ref 는 실제 연결된 Watchdog 장치를 의미한다.
현재 설정에서는 WdgMWatchdog_Int 가 연결되어 있으므로 MCU 내부 Watchdog(Internal Watchdog)을 사용하고 있음을 의미한다.
결국 현재 설정은 다음 의미와 같다.
“WdgM이 정상 상태라고 판단하면 Internal Watchdog을 Fast Mode 기준으로 주기적으로 Trigger 수행한다.”
만약 Trigger가 수행되지 않으면 Watchdog은 ECU 이상 상태로 판단하고 Reset을 발생시킬 수 있다.
즉, MCU 내부 Watchdog을 Trigger하는 설정이다.
반면 외부 Watchdog IC를 사용하는 경우 External Trigger 설정이 추가되기도 한다.
WdgMLocalStatusParams는 무엇인가?
WdgMDemEventParameterRefs는 WdgM(Watchdog Manager) Fault 발생 시 DEM(Diagnostic Event Manager)과 연동하기 위한 설정이다.
즉, Watchdog 관련 오류가 발생했을 때 차량 진단 시스템(DTC)으로 연결하기 위한 구성이다.

현재 설정은 다음 의미를 가진다.
- WDGM_E_SET_MODE 는 WdgM Mode 변경 과정에서 오류가 발생했을 때 사용하는 DEM Event이다.
예를 들어 WdgM Mode 전환 실패 또는 비정상 상태 발생 시 Diagnostic Event로 보고될 수 있다.
- WDGM_E_MONITORING 은 Alive Supervision, Deadline Supervision 등의 감시 기능에서 오류가 발생했을 때 사용하는 DEM Event이다.
즉, 다음과 같은 상황에서 사용될 수 있다.
- Alive Supervision 실패
- Deadline 초과
- Supervision 오류
- Watchdog Monitoring 실패
WdgM은 이런 Fault 발생 시 DEM에 Event를 전달하고,
DEM은 해당 정보를 기반으로 DTC를 저장하거나 진단 상태를 관리하게 된다.
결국 이 설정은
“WdgM Fault를 차량 진단 시스템과 연결하기 위한 설정”
이라고 볼 수 있다.
WdgM을 사용하는 이유
자동차 ECU는 “멈추면 안 되는 시스템”이다.
특히 브레이크, 조향, 모터 제어, 배터리 제어 같은 기능은 소프트웨어 이상을 반드시 감지해야 한다.
그래서 WdgM은 Functional Safety 측면에서도 매우 중요한 역할을 수행한다.
실제로 ISO 26262 기반 ECU에서는 Watchdog 및 Supervision 설정이 거의 필수 수준으로 사용된다.
정리
AUTOSAR의 WdgM(Watchdog Manager)은 ECU 내부 소프트웨어가 정상적으로 동작하는지 감시하는 핵심 모듈이다.
단순히 Watchdog Trigger만 수행하는 것이 아니라
Task 실행 여부, 실행 시간, 실행 순서, Fault 상태 등을 종합적으로 관리한다.
특히 Mobilgene 환경에서는 WdgMMode, Alive Supervision, Deadline Supervision 구조를 이해하는 것이 매우 중요하며, 실제 양산 ECU에서도 자주 사용되는 핵심 기능 중 하나이다.
'mobilgene > 미분류' 카테고리의 다른 글
| [Fota] 다운 그레이드 방지 해제와 OEUK 미적용 방법 (0) | 2026.05.30 |
|---|---|
| [Det] AUTOSAR Det(Development Error Tracer)란 무엇인가? (0) | 2026.05.25 |
| [IoHwAb] SWC에서 IoHwAb Analog Input을 읽는 과정 (Rte_Call 기반 실무 흐름) (0) | 2026.05.01 |
| [IoHwAb] AUTOSAR IoHwAb 완전 정리 2편 – IoHwAbConfig 구조와 실무 설정 (0) | 2026.04.30 |
| [IoHwAb] AUTOSAR IoHwAb 완전 정리 1편 – IoHwAbGeneral 구조와 실무 설정 (0) | 2026.04.30 |