[CAN-J1939] SAE J1939 프로토콜

MetallicCat·2023년 11월 21일
0

J1939

목록 보기
1/1

1. 개요

  • CAN 프로토콜은 차량 네트워킹에서 중요한 역할을 하며 ECU 간의 비트 직렬 통신에 일반적으로 사용되는 방법을 나타냄
  • 상용차 분야의 네트워킹 및 통신을 위한 개방형 표준 프로토콜
  • 주로 차량용으로 사용되는 프로토콜,
  • J1939 프로토콜은 SAE (Society of Automotive Engineers)에서 제공하며 ISO11898에 따라 CAN 고속으로 물리 계층에서 작동
  • 일반적인 ECU에는 엔진, 변속기 및 브레이크 ECU와 계기판 및 도어 ECU가 포함됩니다.

2. 특징

  • 확장 29 비트 CAN 식별자 사용
  • 1Mbits/s(250kbits/s,500kbits/s) 표준화된 CAN 전송 속도
  • 지점 간 주소 지정(노드 주소) 및 전역 주소 지정(메세지 주소)
  • 멀티 패킷 메시지로 최대 1785 바이트 전송 가능
  • 자체 네트워크 관리를 통한 버스 접근 제어
  • 전체 차량 통신을 위한 표준화된 메세지
  • 제조업체별 메세지 정의 허용
  • 자체 진단 인터페이스 정의

3. J1939 문서 구조

전체 J1939 사양은 다양한 문서와 챕터로 세분화됨. 모든 문서는 SAE 웹 사이트(<www.sae.org>)에서 개별적으로 또는 사전 구성된 패키지 형식으로 다운로드할 수 있음

J1939 사양은 유료로 제공 됨, 각 챕터 별로 비용이 발생함. 각 챕터는 체계적으로 구성되어 있으며 ISO/OSI 참조 모델을 기반으로 함. J1939의 문서 구조에는 OSI 모델에 정의되지 않은 8장을 포함하고 있어 보다 유연하게 구성되어 있습니다. 현존하는 문서는 아래와 같이 구분 할 수 있음

4. 물리 계층

SAE J1939 프로토콜은 CAN(Controller Area Network, ISO 11898-1 및 ISO 11898-2)을 물리 계층으로 사용함. J1939는 아래와 같이 나눌 수 있음

5. 파라미터 그룹 (데이터 페이지)

J1939-21 문서는 29 비트 CAN 식별자를 해석해야하는 체계를 정의합니다. 다른 신호가 시작 비트와 길이로 정의되는 CAN 메세지의 8 바이트 데이터 필드와 마찬가지로 CAN 식별자는 파라미터 그룹에 대해 서로 다른 세그먼트로 세분됩니다. 이로써 식별자의 일부만이 PGN 자체를 나타내고 나머지는 소스 주소, 대상 주소, 우선순위 및 데이터 페이지(DP)로 해석됩니다.

PGN Sections(PGN 섹션)
두 비트 "데이터 페이지(DP)" 및 "확장 데이터 페이지(EDP)"는 PGN의 일부이며 두 개의 최상위 비트로 계산하기 위해 포함됩니다. 결과적으로 숫자 범위는 4개의 PGN 페이지에 정렬되지만 J1939에는 3개만 사용됩니다.

다음은 데이터 페이지 정의입니다.

6. 전송 프로토콜

길이가 8 바이트를 초과하는 메세지는 단일 CAN 데이터 프레임에 맞지 않습니다. 따라서 이들은 발신자에 의해 개별 패킷으로 분할되어야 하며, 그런 다음 각각 CAN 메세지와 함께 전송될 수 있습니다. 수신기는 원래 순서대로 개별 조각을 재결합해야 합니다. 이를 위해 J1939 표준(소위 전송 프로토콜)에 규칙 세트가 정의되어 있습니다.

통신 유형에 따라 두 가지 전송 프로토콜이 정의됩니다.

1. peer-to-peer(동등 계층)통신 [PDU 1 포맷]

특정 통신 - 연결 모드 데이터 전송(RTS/CTS)

SAE J1939 Transport Protocol – Connection Mode Data Transfer (RTS/CTS)
연결 모드 데이터 전송 (RTS/CTS)
이 프로토콜을 사용하여 발신자는 수신자와의 연결을 설정합니다. 수신기에는 개별 데이터 패킷의 흐름 제어를 제어하고 영향을 주는 옵션이 있습니다. 수신자와 발신자 모두 연결을 중단할 수 있습니다. (예: 오류 발생 시)

연결 모드 데이터 전송 프로토콜에는 시간제한이 없습니다. 모든 노드는 잠재적으로 가능한 최대 속도로 서로 데이터를 교환합니다.

특정 통신 - 비연결 모드 데이터 전송

RTS/CTS 과정을 생략한채 데이터 전송, 응답여부와 상관없이 약속된 주기적으로 전송함,프로그래밍시 시스틱으로 발생시 동일주기를 한번에 전송시 버스 로드율이 높아질 수 있음으로 주의해야함, 브로드 캐스팅과 유사하나 PDU1 포맷임

2.글로벌 통신– Broadcast Announce Message(BAM, 브로드캐스트공지메세지)[PDU2 포맷]

발신자만 흐름 제어를 관리합니다. 메세지는 항상 모든 노드로 전송됩니다. 수신자는 통신에 개입할 수 없고 메세지를 놓치면 신호를 보낼 수 없습니다. 수신자는 필요한 경우 새 메세지를 기다려야 합니다.

수신자가 BAM 프로토콜의 흐름 제어에 영향을 줄 수 없기 때문에 발신자는 개별 패킷 사이에 최소 간격인 50-200ms을 유지해야 합니다. 이는 가능한 느린 네트워크 노드가 통신을 따를 수 있도록 합니다.

7. 진단 기능

J1939 진단 인터페이스는 다양한 진단 서비스를 처리하기 위한 PGN 세트뿐만 아니라 표준 진단 커넥터를 정의합니다. Diagnositc Message(DM, 진단 메세지)로 지정된 PGN은 주로 UDS 진단(통합 진단 서비스)의 기능 범위를 충족합니다. 또한 EU 지침과 온보드 진단(OBD II)에 대한 "캘리포니아 규정 코드", HD OBD(Heavy Duty OBD) 및 WWH(World Wide Harmonized) OBD(ISO 27145)를 준수합니다.

소프트웨어 툴을 통해 서비스를 활발히 시작해야하는 UDS 진단과 달리 J1939 ECU는 표준 작동 중에 진단 메시지를 독립적으로 전송합니다. 발생하는 오류는 네트워크에서 직접 평가되고 필요한 경우 시각적으로 표시됩니다. 이와 동시에 진단 커넥터를 통해 툴로 오류를 판독할 수 있습니다. Diagnostic Trouble Code(DTC, 진단 고장 코드)라고하는 균일한 오류 코드에는 결함이 있는 SPN, 오류 패턴 및 오류 발생 빈도가 포함됩니다.

진단 고장 코드(DTC)

DTC는 시스템의 결함이 있는 속성을 나타냅니다. 주로 현재 상태가 비정상인 SPN을 나타냅니다. 이것은 다른 원인을 가질 수 있습니다. 상태에 대한 이유를 제공하는 표시기는 오류의 실제 원인을 좁히기 위해 사용됩니다. DTC는 균일한 구조를 가지며 다음 요소로 구성됩니다.

Suspect Parameter Number(SPN, 의심 파라미터 넘버)
오류가 있는 SPN을 나타냅니다. 정의된 모든 SPN은 DTC에서 사용할 수 있습니다.
Failure Mode Identifier (FMI, 고장 모드 식별자)
발생한 오류의 특성 및 유형을 나타냅니다.
예: 값 범위 위반(초과 또는 미달), 센서 단락, 잘못된 업데이트 속도, 교정 오류
Occurrence Counter (OC, 발생 카운터)
각 SPN에 대한 오류 조건의 발생을 계산하고 오류가 종료된 경우에도 이를 저장하는 카운터입니다.
SPN Conversion Method (SPN CM, SPN 변환 방법)
DTC 내에서 바이트 정렬을 정의합니다. 값 "0"은 그래픽 "DTC의 구조"에 표시된 방법을 나타냅니다. CM의 값이 "1"이면 이전에 유효한 세 가지 방법을 구분해야 합니다. 시스템에 대해 알고 있어야 합니다.

파생된 표준

SAE J1939에서 파생된 표준이 있습니다. 이러한 표준은 J1939의 기본 설명을 사용하며 필요한 경우 데이터 정의 및 물리 계층의 적응이 다름.

  • ISO 11783 – 농업 및 임업용 트랙터 및 기계류 – 직렬 제어 및 통신
    농업에 사용되는 차량의 통신을 정의합니다. 특히 트랙터와 부가 장비 간의 통신입니다. ISO 11783 표준은 어플리케이션 계층에서 서비스를 지정합니다 (예: 가상 터미널을 통한 부가 장비 제어). 부가 장비 자체는 제어에 필요한 모든 그래픽 요소를 가져와 가상 터미널이 표시할 수 있습니다. 기타 어플리케이션 구성요소는 트랙터 ECU, 작업 컨트롤러, 파일 서버 및 시퀀스 제어입니다. ISO 11783 표준에는 SAE J1939에 대해 정의된 다중 패킷 프로토콜의 확장이 있습니다. Working Set 메커니즘도 적용됩니다.
  • NMEA 2000® – 해양 전자 장치의 직렬 데이터 네트워크
    해양 환경에서 차량 간의 ECU 통신을 정의합니다. 다중 패킷 프로토콜의 확장(Fast Packet 프로토콜)도 여기에서 사용됩니다.
  • ISO 11992 – 견인 차량과 견인된 차량 간의 디지털 정보 교환
    견인 차량과 견인된 차량 간에 도로상의 메세지 교환을 지정합니다. ISO 11992는 J1939의 메세지 형식 기반이지만 물리적 계층의 다른 구성, 즉 125kbits/s를 사용합니다.
  • FMS - 차량 관제 시스템
    FMS 표준은 J1939 네트워크와 FMS 간의 게이트웨이를 정의합니다

참고자료
https://www.vector.com/kr/ko/know-how/protocols/sae-j1939/#c195607

profile
유용한 개발

0개의 댓글