-
CAN 1.0 / CAN 2.0 / CAN FD공부/Embedded 2025. 4. 20. 14:22
CAN(Controller Area Network)
CAN?
1980년대 차량 내 제어기들 간 통신을 위해 개발한 직렬 통신 프로토콜
차량외에도 의료기기, 항공 등 산업의 다양한 분야에서 사용됨
고장 허용성과 실시간성이 뛰어남
CAN 표준
ISO 1189I8에 정의되어 있음
- CAN 트랜시버에 적용되는 물리계층 표준과 CAN 컨트롤러에 적용되는 데이터링크 계층 표준으로 나뉨
- ISO 11898-2: 고속 CAN 물리 계층
- ISO 11898-3: 저속 CAN 물리 계층
- ISO 11898-1: CAN 데이터 링크 계층(데이터 전송 및 오류 처리 기능, CAN 메시지 구조와 프레임 형식 등)
CAN Protocol
CAN 1.0
가장 초기 버전
11비트의 식별자 사용(Standard Frame)
최대 1Mbps
CAN 2.0
아래 두 가지의 프레임 형식을 지원함
- CAN 2.0A: 11비트 식별자
- CAN 2.0B: 29비트 식별자
전송 데이터의 길이는 최대 8바이트
CAN FD
데이터 필드의 크기가 최대 64바이트, 0~8바이트, 12, 16, ..., 64바이트까지 설정 가능
최대 8Mps 이상
CAN Frame Format
CAN 2.0B CAN FD CAN FD Data Length Code
CAN FD에서 Data의 길이는 4비트의 DLC(Data length code)에 의해 결정됨
차례대로 0, 1, 2, 3, 4, 5, 6, 7, 8, 12, 16, 20, 24, 32, 48, 64 설정 가능
CAN CRC
CRC의 경우 CAN 2.0은 15bits CRC를 쓰고, CAN FD는 17bits CRC(DLC가 16이하) 또는 21bits CRC를 사용
CAN 2.0 / FD 호환
CAN FD와 CAN 2.0의 경우 하위 호환가능하여 CAN 2.0 메시지를 CAN FD버스에서 직접 전송 가능
히지만 CAN 2.0은 FD에 호환되지는 않음
Ref.
https://embeddedflakes.com/next-big-thing-in-automotive-canfd/
'공부 > Embedded' 카테고리의 다른 글
[Raspberry PI] 기본 세팅 / 시리얼 통신 (0) 2025.04.27 [Raspberry PI] Datasheet & Develop Environment (0) 2025.04.25 [PHY Chip] VSC8541 (0) 2025.03.30 MDIO Interface (0) 2025.03.21 부트로더와 잡다한 것 (0) 2025.03.04