Controller Area Network(CAN)
- 차량 내에서 호스트 컴퓨터 없이 MCU나 장치들이 서로 통신하기 위해 설계된 표준 통신 규격
- 차량 내 ECU(Electronic control unit)들은 CAN 프로토콜 사용하여 통신
특징
메시지 지향성 프로토콜(Message-Oriented Protocol)
메시지 우선순위에 따라 ID 할당 → 이 ID를 이용해 메시지 구별
ex. 임의의 한 노드 A가 메시지를 전송
→ 나머지 노드들은 A가 전송한 메시지가 자신에게 필요한 메시지인지를 판단(ID기반 판단)
→ 자신에게 필요하다면 받아들이고, 아니라면 무시
보완적인 에러 감지 매커니즘
- 높은 안정성 보장
- 다양한 에러 감지 매커니즘이 상호 보완적으로 에러 감지
- 짧은 에러 회복 시간
- 메시지 전송 시 에러가 감지되면 자동으로 해당 메시지를 즉시 재전송하는 기능
- 높은 안정성 보장
멀티 마스터 능력
감독자 노드 필요 없음
CAN 기반 네트워크는 버스 점유를 위한 감독자 노드(Bus Master) 필요 없음
모든 노드가 버스 마스터로 버스가 비어있다면(idle) 언제든지 메시지 전송 가능
모든 노드는 버스가 비워지는 즉시 메시지 전송 시작
ex. CAN 버스에서 두 개의 노드가 메시지를 동시에 전송하려고 하면, 우선순위(식별자, ID)에 따라 각각 전송됨
→ 우선순위가 높은 메시지(더 낮은 ID번호가 우선순위 높음)가 먼저 전송
결점 있는 노드의 감지와 비활성화
등장 배경
- 초기에는 자동차 내 모듈이 많지 않아 UART 방식(일대일, Point-To-Point)로 ECU 연결
- 서로 다른 모듈간 통신을 위해 많은 선(Line)이 필요해짐
- 유지 보수 문제, 무게 증가, 연비 하락의 문제 발생
- CAN 등장
- 여러 개의 CAN 디바이스가 서로 통신할 수 있는 안정적인 네트워크(다중 통신 방식, Multi Master 방식) 제공
- ECU가 시스템 내 디바이스마다 아날로그 및 디지털 입력 대신 단일의 CAN 인터페이스만 보유
→ 자동차의 비용과 중량 감소 효과
CAN 통신의 종류
- C-CAN (Chassis CAN)
- 고속 CAN 통신을 하고 CLU, YRS엔진, 미션, ABS, ECU(엔진), TCU 등 빠른 데이터 통신을 요구하는 ECU에서 사용됨
- B-CAN (Body CAN)
- C-CAN에 비해 저속 통신을 하고 BCM 라이트, 파워윈도우, 스마트 키 모듈과 같은 주행과 관계 없는 통신에 주로 사용됨
- M-CAN(Multimedia CAN)
- 전자 기기들로 네비게이션, 차량 내 멀티미디어 통신 기기와의 연동을 위한 각종 모듈을 포함
- P-CAN (Power CAN)
- DATC 모듈, TCU, EMS(ECU, 각종 센서, 각종 액츄에이터) 등이 있으며 샤시 관련해서 겹치는 통신이 있음
- 각 CAN의 통신 속도는 125Kbps~1Mbps
참고 자료
'technology > IP' 카테고리의 다른 글
SPI (Serial Peripheral Interface) (0) | 2022.11.03 |
---|---|
Memory Types on Embedded Programming (0) | 2022.11.01 |
ADC (Analog-to-Digital Converter) (0) | 2022.09.30 |