본문 바로가기
mobilgene/DEM

[DEM] 설정 구조 정리 (2) DemGeneral

by Autosar 2026. 4. 16.
반응형

앞전에선 DemConfigSet 에 대해 정리하다가 글이 너무 길어지는 거 같아

본 장에 DemGeneral 에 대해 이어 설명하려 한다.

 

1. DemGeneral 상세 설명

 

DemGeneral은 Fault 자체보다는 Fault를 저장하고 운영하는 공통 환경 설정 영역이다.

Client

DemGeneral > Client는 Dem 데이터를 요청하는 사용자(Client)를 정의하는 설정이다.
보통 Dcm이나 내부 소프트웨어가 Dem의 Event 상태, DTC 정보, Event Memory 데이터를 읽기 위해 사용된다.

쉽게 말하면 “누가 Dem 정보를 사용할 것인가?” 를 등록하는 메뉴다.

- Short Name 은 Client의 이름이다. 설정을 구분하기 위한 식별자이며 프로젝트 규칙에 따라 작성한다.

- Functionality 는 해당 Client가 어떤 목적의 기능을 수행하는지 정의하는 항목이다.
예를 들어 DTC 조회용인지, Event 상태 확인용인지, 일반 진단용인지 프로젝트별 정책에 따라 사용된다.

- Id 는 Client를 구분하는 고유 번호다. 여러 Client가 존재할 경우 내부적으로 식별할 때 사용된다.

- Uses Rte 는 이 Client가 RTE(Runtime Environment)를 통해 Dem 서비스에 접근하는지 여부를 설정한다.
    true : RTE 경유 사용
    false : 직접 BSW 인터페이스 사용
SWC 기반 구조에서는 true로 사용하는 경우가 많다.

- Event Memory Set Ref 는 이 Client가 접근할 Event Memory 영역을 지정한다.

즉, 어떤 Fault 저장소 데이터를 읽을지 연결하는 설정이다.

 


Did Class

DID(Data Identifier)와 연계되는 데이터 정의 영역이다.

Dem 단독으로 사용하는 경우보다 Dcm과 연계될 때 의미가 커진다.

특정 진단 서비스에서 Fault 관련 데이터를 DID 형태로 읽어야 할 때 사용될 수 있다.

 

Did Data Element Class Ref 를 지정하여 DataElement 경로를 지정해준다.

 


Enable Condition

특정 조건에서만 Fault를 감지하도록 제한하는 기능이다.
이 기능이 없으면 차량이 Sleep 상태이거나 IGN OFF 상태에서도 불필요한 Fault가 발생할 수 있다.

예:

IGN ON 상태에서만 진단 활성화
Vehicle Awake 상태에서만 Fault 체크
Engine Run 상태에서만 감시

실무에서 오진단 방지용으로 매우 자주 사용한다.

Enable Condition Group

여러 개의 Enable Condition을 하나로 묶는 기능이다.

간단하게 살펴보면 위에서 설정한 Enable Condition 의 Reference 를 지정한다고 생각하면 된다.

복잡한 조건을 개별 Fault마다 반복 설정하지 않고 그룹으로 관리할 수 있어 유지보수성이 좋아진다.

Event Memory Set


Event Memory Set은 Fault(DTC)를 어떤 메모리 구조로 저장하고 관리할지 정의하는 설정이다.
Dem에서 발생한 Event는 단순히 상태만 유지하는 것이 아니라,

메모리 영역에 저장되어 진단기 조회, 전원 재시작 후 유지, 이력 관리 등에 사용된다.

즉, Event Memory Set은 고장 데이터를 저장하는 저장소 관리자 역할을 한다.

 

- Dtc Status Availability Mask 는 어떤 DTC Status Bit를 사용할지 정의하는 설정이다.
프로젝트에서 지원하는 비트만 활성화하여 관리한다.

- Max Number Event Entry Permanent 는 영구 저장(Permanent Memory) 가능한 Event 개수를 설정한다.

- Primary Memory 는 기본 Fault 저장소다.
일반적으로 현재 ECU에서 발생한 주요 DTC와 Freeze Frame이 저장되는 핵심 메모리 영역이다.
실무에서 가장 많이 사용하는 메모리다.

- Mirror Memory 는 Primary Memory의 복사본 또는 별도 조회용 메모리다.
특정 진단 서비스나 OEM 요구사항 대응 시 사용된다.

- Indicator 항목은 Fault 발생 시 경고등(MIL, Warning Lamp 등)과 연계되는 설정이다.
특정 DTC 발생 시 계기판 표시등 점등 여부를 관리할 수 있다.

- ClearDTCNotification 는 Clear DTC(0x14) 요청으로 Fault가 삭제될 때 호출되는 알림 설정이다.
다른 모듈이 Fault 삭제 이벤트를 알아야 할 경우 사용한다.

 

 

Freeze Frame Class

고장이 발생한 순간의 차량 상태를 저장하기 위한 설정이다.

여기서는 단순히 Reference 만 설정해주면 된다. (상세 설정은 위의 Did Class 에서 한다.)

Freeze Frame Record Class

Freeze Frame Record Class는 Fault 발생 시 저장되는 Freeze Frame Record의 동작 방식을 정의하는 설정이다.

Freeze Frame은 단순히 데이터를 저장하는 기능이 아니라,
몇 번 Record인지, 언제 저장할지, 기존 데이터를 갱신할지 유지할지까지 결정해야 한다.
그 역할을 하는 메뉴가 Freeze Frame Record Class다.

쉽게 말하면, Fault 발생 순간 데이터를 어떤 규칙으로 저장할 것인가를 설정하는 영역이다.

 

Nv Ram Block Id

Dem 데이터를 NvM 블록과 연결하는 설정이다.

이 설정이 있어야 ECU 전원 OFF 후에도 Fault 정보가 유지된다.

차량 서비스에서는 전원 껐다 켜도 Fault가 남아 있어야 하므로 매우 중요하다.

 

Operation Cycle

Fault를 판단하는 운행 주기를 정의한다.

일반적으로
IGN ON = Cycle Start
IGN OFF = Cycle End

이 주기를 기준으로 Aging, Healing, Confirmed 판단이 이루어진다.


Storage Condition

특정 조건에서만 Fault를 메모리에 저장하도록 제한한다.
여러 저장 조건을 묶어서 관리하는 기능이다.

 

정리

 

Dem 설정 화면은 복잡해 보이지만, 핵심은 Event를 만들고(DTC 연결), Fault 판정 조건을 정하고(Debounce), 결과를 저장하는 구조를 이해하는 것이다.

처음 Dem 화면을 보면 항목이 많아 어렵게 느껴진다. 하지만 하나씩 보면 결국 “고장을 어떻게 정의하고, 언제 발생시키고, 어떤 정보를 저장할 것인가”를 설정하는 구조일 뿐이다.

이 구조를 이해하면 신규 Fault 추가, 진단 대응, OEM 요구사항 반영까지 훨씬 수월해진다.

Dem은 AUTOSAR 진단 개발의 핵심이므로 반드시 익숙해져야 하는 영역이다.

반응형