정의

CAN FD(flexible data rate)는 데이터 프레임의 가운데 구간만 더 높은 비트율로 보내고 데이터 필드를 최대 64바이트까지 늘린 CAN의 확장이다.[1]

고전 CAN(CAN CC)은 한 프레임에 8바이트까지만 실을 수 있고 비트율도 1 Mbit/s를 넘지 못한다.[1] 두 제약은 각각 다른 방식으로 대역폭을 갉아먹는다 — 짧은 페이로드는 프레임마다 붙는 오버헤드의 비중을 키우고, 낮은 비트율은 프레임 하나를 보내는 시간 자체를 늘린다. CAN FD는 이 둘을 한꺼번에 건드리되, 중재만은 고전 CAN과 같은 방식으로 남겨 둔다.

도입 배경

자동차 업계의 대역폭 요구가 커지면서 CAN 데이터 링크 계층 프로토콜을 개선할 필요가 생겼고, 2011년 Robert Bosch GmbH가 완성차 업체·CAN 전문가들과 함께 CAN FD 개발에 착수했다.[1] 사양 1.0은 2012년 4월에 공개됐으며, 프레임 형식은 새로 정의하되 물리 계층은 기존 CAN의 것을 그대로 쓴다.[2]

데이터 필드를 늘리는 쪽의 이득은 비율의 문제다. 프레임 하나에 실을 수 있는 바이트가 늘면 헤더 대 페이로드 비율이 좋아지고, 8바이트를 넘는 데이터를 여러 프레임으로 쪼개 나르던 전송 프로토콜 프레임의 필요도 줄어든다.[3]

두 비트율

CAN FD 데이터 프레임은 서로 다른 두 비트율로 전송된다. 중재 구간의 비트율은 네트워크 토폴로지에 좌우되며 1 Mbit/s가 상한이고, 데이터 구간의 비트율은 트랜시버 특성이 상한을 정한다. 두 구간의 비트율 비를 1:8로 잡으면, 헤더와 CRC 필드가 고전 CAN보다 길어진 것을 감안하고도 처리량이 대략 6배가 된다.[1]

비트율을 올릴 수 있는 근거는 중재가 끝난 뒤의 버스 상태에 있다. 중재가 끝나면 버스에는 송신 노드가 하나만 남는다.[4] 고전 CAN의 비트 타이밍은 중재와 확인 응답 때문에 신호가 버스를 왕복하는 시간을 전파 세그먼트로 보상해야 하지만(CAN 비트 타이밍), 데이터 구간에는 그런 요구가 없어 전파 세그먼트를 0 시간 양자까지 줄이고 표본 추출 시점을 비트 가운데로 옮길 수 있다.[3]

부분 가속

빨라지는 구간은 프레임 전체가 아니라 BRS 비트의 표본 추출 시점부터 CRC 구분자의 표본 추출 시점까지다.[5] ACK 필드와 EOF는 다시 중재 비트율로 돌아가고, 데이터 구간에서 오류가 나 에러 프레임을 보낼 때도 중재 비트율이 쓰인다.[4]

확대된 데이터 필드

데이터 필드는 최대 64바이트다.[1] 다만 8바이트를 넘는 길이는 연속적이지 않다 — 12·16·20·24·32·48·64의 일곱 단계로만 지정할 수 있다.[4] 길이를 어떻게 부호화하는지와 프레임의 나머지 변화는 CAN FD 프레임에서 다룬다.

도입의 대가

CAN FD는 프로토콜 자체의 변경이므로 새 CAN FD 컨트롤러가 필요하다.[6]

데이터 비트율의 상한은 CAN 트랜시버가 정한다. 송신 노드는 자신이 보낸 비트를 되읽어 확인하는데, 되읽기가 트랜시버 루프 지연만큼 늦기 때문에 그 지연이 데이터 비트 시간의 하한, 곧 데이터 비트율의 상한이 된다. CAN FD는 이 제약을 풀려고 되읽은 비트를 2차 표본 추출 시점(SSP)에서 검사하는 트랜시버 지연 보상을 도입했다. 커진 데이터 필드에 맞춰 CANopen·ISO 15765-2·SAE J1939 같은 상위 계층 프로토콜도 손봐야 했다.[3]

하위 호환

호환은 한 방향으로만 성립한다. CAN FD 컨트롤러는 CAN CC 프레임도 다루고, CAN FD 프레임 형식에는 CAN 리모트 프레임이 정의되지 않았다.[1]

반대로 고전 CAN 컨트롤러는 CAN FD 메시지를 오류로 보고한다. 그래서 CAN FD 네트워크에 붙는 모든 노드가 CAN FD를 지원해야 하고, 고전 CAN 구간과는 게이트웨이로 갈라 두어야 한다.[6]

표준화 경위

CAN FD는 ISO 11898-1[7]에 편입됐다. 2015년에 나온 제2판은 고전 CAN 프레임 형식과 새로 도입된 CAN FD 프레임 형식을 함께 규정하고, 구현 선택지를 셋으로 나눈다 — 고전 프레임 형식만 지원하고 CAN FD 프레임 형식을 견디지 못하는 것, 고전 프레임 형식을 지원하면서 CAN FD 프레임 형식을 견디는 것, 둘 다 지원하는 것. 표준은 새 설계에 마지막 선택지를 권한다.[8]

표준화 과정에서 오류 검출을 보강하는 두 가지 수정이 들어갔다 — CRC 초기값을 0이 아닌 값으로 바꾸고, CRC 앞에 스터프 비트 카운터를 넣는 것이다.[5] 그 결과 CAN FD 구현은 두 갈래가 됐다. CiA는 ISO 11898-1을 따르는 쪽을 ISO CAN FD, 스터프 비트 카운터가 없는 이전 구현을 non-ISO CAN FD로 부르기를 권하며, 두 종류를 한 네트워크에 섞지 말 것을 함께 권고한다.[9]

현행판인 2024년 제3판은 CAN CC·CAN FD와 함께 데이터 필드를 더 늘린 CAN XL까지 세 세대를 한 문서에 규정한다.[10]

[1]
CAN in Automation, “CAN FD (flexible data rate) — The basic idea.” 2026. Accessed: Aug. 25, 2026. [Online]. Available: https://www.can-cia.org/can-knowledge/can-fd-the-basic-idea
[2]
Robert Bosch GmbH, “CAN with Flexible Data-Rate Specification, Version 1.0,” Robert Bosch GmbH, Protocol specification, 2012. Accessed: Aug. 25, 2026. [Online]. Available: https://can-newsletter.org/assets/files/ttmedia/raw/e5740b7b5781b8960f55efcc2b93edf8.pdf
[3]
F. Hartwich, “Bit Time Requirements for CAN FD,” in Proceedings of the international CAN Conference (iCC 2013), CAN in Automation, 2013. Accessed: Aug. 25, 2026. [Online]. Available: https://can-cia.org/fileadmin/cia/documents/proceedings/2013_hartwich_v2.pdf
[4]
Microchip Technology Inc., “dsPIC33/PIC24 Family Reference Manual: CAN Flexible Data-Rate (FD) Protocol Module,” Microchip Technology Inc., Family reference manual DS70005340A, 2018. Accessed: Aug. 25, 2026. [Online]. Available: https://ww1.microchip.com/downloads/en/DeviceDoc/dsPIC33-PIC24-FRM-CAN-Flexible-Data-Rate-FD-Protocol-Module-70005340a.pdf
[5]
R. Delgado and B. Elend, “CAN Flexible Data (FD),” NXP Semiconductors, Technical session FTF-AUT-N1784, NXP FTF 2016, 2016. Accessed: Aug. 25, 2026. [Online]. Available: https://community.nxp.com/pwmxy87654/attachments/pwmxy87654/ftf2016/240/1/AUT-N1784%20CAN%20Flexible%20Data.pdf
[6]
T. Adamson, “Hybridization of CAN and CAN FD networks,” in Proceedings of the international CAN Conference (iCC 2015), CAN in Automation, 2015. Accessed: Aug. 25, 2026. [Online]. Available: https://www.can-cia.org/fileadmin/cia/documents/proceedings/2015_adamson.pdf
[7]
International Organization for Standardization, “ISO 11898-1:2024 Road vehicles — Controller area network (CAN) — Part 1: Data link layer and physical coding sublayer.” ISO catalogue entry, 2024. [Online]. Available: https://www.iso.org/standard/86384.html
[8]
International Organization for Standardization, “ISO 11898-1:2015 Road vehicles — Controller area network (CAN) — Part 1: Data link layer and physical signalling.” ISO catalogue entry, withdrawn, 2015. [Online]. Available: https://www.iso.org/standard/63648.html
[9]
CAN in Automation, “Cyclic redundancy check in CAN frames.” 2026. Accessed: Aug. 25, 2026. [Online]. Available: https://www.can-cia.org/can-knowledge/cyclic-redundancy-check-crc-in-can-frames
[10]
CAN in Automation, “ISO 11898-1:2024 released.” 2024. Accessed: Aug. 25, 2026. [Online]. Available: https://www.can-cia.org/news/slider-2