본문 바로가기
카테고리 없음

J1939

by yunchanlee 2024. 10. 2.

J1939은 차량 네트워킹을 위한 통신 프로토콜로, 주로 상용 차량, 농업 기계, 건설 장비 및 기타 중장비에서 사용됩니다.

특히 디젤 차량에서 널리 채택되고 있습니다. J1939은 CAN 버스를 기반으로 하여 데이터 전송을 처리하며, 차량 시스템 간에 신뢰성 있는 통신을 보장합니다.

CAN 프레임 구조

J1939 프로토콜은 CAN 2.0B 표준을 기반으로 하며, 29비트의 확장 식별자를 사용하는 메시지 프레임을 정의합니다.

CAN 프레임의 기본 구조

프레임 구조에서 IDENTIFIER는 J1939의 메시지의 가장 중요한 부분으로, 메시지의 우선순위, 파라미터 그룹, 송신자와 수신자를 정의합니다.

  • PRIORITY(3BIT)
    • 메시지 전송의 우선순위, 값이 낮을 수록 높은 우선순위를 의미
  • DATA PAGE(DP,1비트)
    • 추가적인 데이터 페이지를 정의하는 비트
  • EXTENDED DATA PAGE(EDP,1BIT)
    • 확장된 데이터 페이지 비트, 추가 데이터 페이지 정보를 제공
  • PARAMETER GROUP NUMBER(PGN, 18BIT)
    • 메시지의 파라미터 그룹을 정의하는 번호
      • 유사한 데이터를 모아 하나의 파라미터를 정의할 수 있다.
  • SOURCE ADDRESS(8BIT)
    • 메시지를 송신하는 ECU의 주소

PGN의 구조

메시지의 데이터 종류 및 목적지를 구별

총 18비트를 차지하고 있으며 DP(1BIT), EDP(BIT), PF(8BIT), PS(8BIT)로 구성되어 있다.

DP 와 EDP

데이터 페이지의 구분 비트다 쉽게 생각하면 데이터가 적혀 있는 종이의 장수라고 생각하면 쉽다.

PD는 추가 페이지를 나타내고, EDP는 확장 페이지를 말한다.

종이에 비유해서 DP가 0이고 EDP가 0이면 1페이지(EDP)의 1(DP)번째 장 이라고 생각하면 된다.

DP가 1이고 EDP도 1이라면 2(EDP)의 2(DP)번째 장 이다.

PDU Format(PF) & PDU Specific(PS)

PGN의 2바이트를 차지하고 있으며 상위 8비트 PF와 하위 8비트 PS로 구성되어 있다.

해당 비트는 메시지의 목적과 대상의 정의하는데 사용됩니다.

그중 PF는 메시지의 목적을 정의하는 역할 입니다. PF에 따라 PS의 용도 또한 달라지게 됩니다.

PF가 0X00 ~ 0XEF의 값을 가진다면 해당 메시지는 단일 주소 메시지를 나타내며 PS의 용도 또한 수신자의 ID(목적지의 주소)를 나타냅니다.

단일 주소 메시지란 단 하나의 ECU만을 위한 메시지이며 다른 ECU는 사용하지 않는 메시지라는 의미 입니다.

PF가 0XF0 ~ 0XFF의 값을 가진다면 해당 메시지는 브로드캐스트 메시지를 나타내며 PS의 용도는 PGN의 하위 확장 비트로 사용됩니다.

브로드 캐스트 메시지는 여러 ECU가 공통으로 사용하는 메시지라는 뜻 입니다.

SPN

PGN은 데이터 종류 및 목적지를 구분 한다면 SPN는 데이터 종류 중 데이터를 구별하는 식별자 표준으로 사용됩니다.

여러 SPN들은 PGN에 속하며 SPN은 특정 데이터 필드의 특정 비트에 위치하여 있습니다.

DATA FIELD

DATA FIELD는 각 센서들의 데이터를 나타내며 차량의 개별 데이터를 정의하는 SPN이 정의된 데이터가 위치하고 있습니다.

SPN는 차량의 여러 센서들과 부품들의 값을 표준화 한 값으로 PGN의 포괄적인 파라미너 안에 정의된 여러가지의 SPN이 위치합니다.

만약 여러가지 센서 값이 데이터 필드 안에 위치하여 있고 그중 하나의 데이터의 정의를 구별하여 추출하고 싶다면 SPN에서 정의하는 데이터 정의와 데이터의 크기(바이트), 시작 위치와 마지막 비트의 위치를 보고 데이터의 값을 추출할 수 있다.

이 표를 보면 타코 미터(RPM)의 PNG(파라미터 그룹) 16444은 엔진 관련 정보를 제공하는 파라미터이고 그 그룹에 속해있는 SPN190 역시 엔진의 속도를 나타내는 파라미터이다.

J1939은 차량 네트워킹을 위한 통신 프로토콜로, 주로 상용 차량, 농업 기계, 건설 장비 및 기타 중장비에서 사용됩니다.

특히 디젤 차량에서 널리 채택되고 있습니다. J1939은 CAN 버스를 기반으로 하여 데이터 전송을 처리하며, 차량 시스템 간에 신뢰성 있는 통신을 보장합니다.

CAN 프레임 구조

J1939 프로토콜은 CAN 2.0B 표준을 기반으로 하며, 29비트의 확장 식별자를 사용하는 메시지 프레임을 정의합니다.

CAN 프레임의 기본 구조

프레임 구조에서 IDENTIFIER는 J1939의 메시지의 가장 중요한 부분으로, 메시지의 우선순위, 파라미터 그룹, 송신자와 수신자를 정의합니다.

  • PRIORITY(3BIT)
    • 메시지 전송의 우선순위, 값이 낮을 수록 높은 우선순위를 의미
  • DATA PAGE(DP,1비트)
    • 추가적인 데이터 페이지를 정의하는 비트
  • EXTENDED DATA PAGE(EDP,1BIT)
    • 확장된 데이터 페이지 비트, 추가 데이터 페이지 정보를 제공
  • PARAMETER GROUP NUMBER(PGN, 18BIT)
    • 메시지의 파라미터 그룹을 정의하는 번호
      • 유사한 데이터를 모아 하나의 파라미터를 정의할 수 있다.
  • SOURCE ADDRESS(8BIT)
    • 메시지를 송신하는 ECU의 주소

PGN의 구조

메시지의 데이터 종류 및 목적지를 구별

총 18비트를 차지하고 있으며 DP(1BIT), EDP(BIT), PF(8BIT), PS(8BIT)로 구성되어 있다.

DP 와 EDP

데이터 페이지의 구분 비트다 쉽게 생각하면 데이터가 적혀 있는 종이의 장수라고 생각하면 쉽다.

PD는 추가 페이지를 나타내고, EDP는 확장 페이지를 말한다.

종이에 비유해서 DP가 0이고 EDP가 0이면 1페이지(EDP)의 1(DP)번째 장 이라고 생각하면 된다.

DP가 1이고 EDP도 1이라면 2(EDP)의 2(DP)번째 장 이다.

PDU Format(PF) & PDU Specific(PS)

PGN의 2바이트를 차지하고 있으며 상위 8비트 PF와 하위 8비트 PS로 구성되어 있습니다.

해당 비트는 메시지의 목적과 대상의 정의하는데 사용됩니다.

그중 PF는 메시지의 목적을 정의하는 역할 입니다. PF에 따라 PS의 용도 또한 달라지게 됩니다.

PF가 0X00 ~ 0XEF의 값을 가진다면 해당 메시지는 단일 주소 메시지를 나타내며 PS의 용도 또한 수신자의 ID(목적지의 주소)를 나타냅니다.

단일 주소 메시지란 단 하나의 ECU만을 위한 메시지이며 다른 ECU는 사용하지 않는 메시지라는 의미 입니다.

PF가 0XF0 ~ 0XFF의 값을 가진다면 해당 메시지는 브로드캐스트 메시지를 나타내며 PS의 용도는 PGN의 하위 확장 비트로 사용됩니다.

브로드 캐스트 메시지는 여러 ECU가 공통으로 사용하는 메시지라는 뜻 입니다.

SPN

PGN은 데이터 종류 및 목적지를 구분 한다면 SPN는 데이터 종류 중 데이터를 구별하는 식별자 표준으로 사용됩니다.

여러 SPN들은 PGN에 속하며 SPN은 특정 데이터 필드의 특정 비트에 위치하여 있습니다.

DATA FIELD

DATA FIELD는 각 센서들의 데이터를 나타내며 차량의 개별 데이터를 정의하는 SPN이 포함되어 있습니다.

SPN는 차량의 여러 센서들과 부품들의 값을 표준화 한 값으로 PGN의 포괄적인 파라미너 안에 정의된 여러가지의 SPN이 위치합니다.

만약 여러가지 센서 값이 데이터 필드 안에 위치하여 있고 그중 하나의 데이터의 정의를 구별하여 추출하고 싶다면 SPN에서 정의하는 데이터 정의와 데이터의 크기(바이트), 시작 위치와 마지막 비트의 위치를 보고 데이터의 값을 추출할 수 있다.

 

댓글