[SAE J1939] DM1 ( Diagnostic Message 1)

2022. 3. 16. 20:06개발로그/기타

반응형

DM1(Diagnostic Message 1) - Active Diagnostics Trouble Code

 

DM1은 PGN 65226(0xFECA)를 사용하며, 활성 DTC가 있거나 요청의 응답이 있는 경우에만 주기적으로 전송 된다.

활성화 된 DTC가 1개 이상일 경우, DM 1 메시지는 전송 프로토콜을 사용 하여 전송되며, 이 메시지의 전송 주기는 1초이다.

 

전송 프로토콜

장치에서 DM1 메시지를 보내기 위해서는 아래와 같은 전송 프로토콜을 사용한다.

처음 J1939 Transport Protocol BAM( Connection Management ) 메시지를 보내서 앞으로 보낼 DM1 메시지의 메시지 Size, Packet의 갯수, DM1의 PGN을 Receiving Node에게 알려 준다.

이후, TP Message(J1939 Transport Protocol, Data Transfer)를 이용하여 DM1 메시지의 데이터를 Receiving Node에게 전달 한다.

 

BAM Message와 TP Message의 구조는 아래 그림과 같다.

 

만약 DM1 메시지를 보낸다면, BAM Message의 PGN에 0xFECA 가 실려서 보내진다.

 

DM1 메시지

Byte1는 진단 램프 상태, Byte3~Byte5에는 고장이 발생한 부분의 SPN과 고장 내용(FMI), Byte6에는 OC( 고장 발생 횟수 )를 표시 한다.

 

 

램프 상태

DM1 메시지는 활성화 된 모든 고장 진단 코드(DTC) 및 진단 램프 상태를 포함한다.

 

램프 상태는 시각적 진단을 지원하며, 차량 대시 보드의 고장 표시기에 사용 되며 SAE J1939-73 Diagnostic에서는 4가지 유형의 램프 상태를 지원 한다.

  • MIL( Malfunction Indicator Lamp )
    • 배출과 관련된 오작동
  • RSL( Red Stop Lamp )
    • 차량을 정지해야 하는 심각한 고장
  • AWL( Amber Warning Lamp )
    • 덜 중요한 고장을 표시. 차량을 즉시 정지 할 필요 없음
  • PL( Protection Lamp )
    • 유압 오일 온도가 규정된 온도 범위를 초과하여 상승한 것과 같이, 전자 장치가 아닌 곳에서 발생한 문제를 표시

램프 상태는 총 4가지로 표현 가능하다.

0 : 램프 OFF

1 : 램프 ON

2 : 램프 깜빡임 1Hz

3 : 램프 깜빡임 2Hz

 

FMI ( Failure Mode Indicator )

 

 

Sample Data

활성화 된 고장 SPN이 3개일 경우 아래와 같이 DM1 메시지를 만들 수 있다.

 

 

참고 자료

https://www.csselectronics.com/pages/j1939-explained-simple-intro-tutorial

https://embeddedflakes.com/j1939-diagnostics-part-1/

 

반응형