Bitwise Arbitration에서 다룬 Standard Format 11비트 식별자는 2^11개, 즉 0(0x000)부터 2047(0x7FF)까지의 식별자만 표현할 수 있다. 이 공간이 부족한 애플리케이션을 위해 CANExtended Format이라는 29비트 식별자 형식을 함께 규정한다[1].

필드 구성

Extended Format의 Arbitration Field는 Base Identifier(11비트)·SRR(Substitute Remote Request, 1비트)·IDE(1비트)·Identifier Extension(18비트)·RTR 순으로 이어지고, 뒤따르는 Control Field에는 예약 비트 r1·r0가 추가된다[1]. Base Identifier와 Identifier Extension을 이으면 11+18=29비트 식별자가 되며, 이는 2^29(536,870,912)개, 약 5억 3,700만 개의 식별자 공간을 제공한다[2].

Standard Format Identifier 11비트 RTR 1비트 Extended Format Base ID 11비트 SRR 1비트 IDE 1비트 ID Extension 18비트 RTR 1비트

IDE 비트는 프레임의 식별자 형식을 가리킨다 — dominant면 Standard Format, recessive면 Extended Format이다. SRR은 Standard Format의 RTR 비트와 같은 위치를 차지하지만 recessive로 고정된 비트다[1].

두 형식의 공존

Standard Format과 Extended Format은 같은 버스에 공존할 수 있다. 두 형식이 같은 Base Identifier로 동시에 전송되면 비트단위 중재는 IDE 비트 위치에서 갈린다 — Standard Format은 이 위치가 dominant(RTR 비트)이고 Extended Format은 recessive(IDE 비트)이므로, 중재 규칙에 따라 Standard Format이 우선한다[1].

활용 사례

Extended Format은 상용차 통신 프로토콜인 SAE J1939가 전용으로 사용한다[3]. J1939는 원래 트럭·버스용으로 정의됐지만 건설·농업 장비와 고정형 발전 설비에도 적용되도록 확장됐고[4], 선박용 엔진을 다루는 하위 문서도 별도로 있다[5]. 농업·임업 기계 네트워크 표준인 ISO 11783(ISOBUS)도 J1939를 기반으로 한다[6].

참고문헌

[1]
Robert Bosch GmbH, “CAN Specification, Version 2.0”, 1991.
[2]
S. Corrigan, “SLOA101B — Introduction to the Controller Area Network (CAN)”, 2016.
[3]
SAE International, “SAE J1939-21 — Data Link Layer”, 2001.
[4]
SAE International, “SAE J1939-71 — Vehicle Application Layer (through December 2004)”, 2006.
[5]
SAE International, “SAE J1939-5 — Marine Stern Drive and Inboard Spark-Ignition Engine On-Board Diagnostics Implementation Guide”, 2020.
[6]
ISO, “ISO 11783-1:2017 — Tractors and machinery for agriculture and forestry — Serial control and communications data network — Part 1: General standard for mobile data communication”, 2017.