안녕하세요, 버그없는토마토입니다 :)
오늘은 자동차 소프트웨어 개발에서 가장 기본이 되는 CAN 통신에 대해 쉽게 이야기해보려고 합니다.

위 사진은 자동차 회사 모집 공고중 일부를 가져온 것인데요.
CAN은 기본중의 기본이라고 할 수 있습니다.
자동차에는 수십 개의 전자제어장치(ECU)가 탑재되어 있는데,
이들이 서로 정보를 주고받을 수 있도록 돕는 기술이 바로 CAN입니다.

🚗 1. CAN 통신은 왜 필요한가?
차량은 다양한 구성 요소들이 서로 협력해야 정상적으로 움직입니다.
예를 들어:
- 속도 센서가 속도를 측정해야
- 엔진 제어기가 그 정보를 받아 연료량을 조절하고
- 계기판은 숫자를 표시하며
- ABS 제어기는 필요한 경우 제동을 보정합니다.
이처럼 모든 ECU가 정보를 공유해야 하기 때문에, 자동차 내부에는 자연스럽게 네트워크가 필요해졌습니다.
그 역할을 하는 것이 바로 CAN(Controller Area Network)입니다.
🔧 2. CAN 통신이란 무엇인가?
CAN은 1980년대 보쉬(Bosch)에서 개발한 차량용 통신 방식으로,
여러 ECU가 동시에 같은 네트워크에서 데이터를 주고받을 수 있도록 설계되었습니다.
기존 방식은 기능마다 배선이 따로 필요했지만,
CAN을 사용하면 두 가닥의 통신선만으로 여러 ECU가 함께 데이터를 공유할 수 있습니다.
이 덕분에:
- 배선이 줄어 비용 절감
- 네트워크 구성 단순화
- 실시간 성능 향상
- 차량 안정성 증가
와 같은 장점이 생겼습니다.

🧩 3. CAN 통신의 작동 방식
CAN 통신은 여러 ECU가 하나의 버스(bus)에 연결되어 있는 구조입니다.
버스란 ‘공유된 통신 선로’를 뜻합니다.
✔ 데이터는 ‘프레임’이라는 형식으로 전송
속도 정보, 엔진 상태, 도어 상태 등 모든 정보는
정해진 규칙에 따라 작은 메시지 덩어리(프레임)로 만들어져 전달됩니다.
✔ 충돌 방지 기능
여러 ECU가 동시에 전송하려고 해도
CAN은 우선순위가 높은 메시지가 먼저 전송되는 구조를 가지고 있어
데이터 충돌 없이 안정적인 통신이 가능합니다.
✔ 에러 검출 기능
CAN은 통신 중 오류가 발생하면 이를 자동으로 감지하고
필요한 경우 재전송을 요청하여 안정성을 유지합니다.
이러한 구조 덕분에 CAN은 차량 내부 통신에서 가장 신뢰성이 높은 방식으로 자리 잡았습니다.
⚡ 4. CAN의 한계를 해결하기 위해 등장한 CAN FD
차량 기능이 늘어나면서 전송해야 하는 데이터량이 증가했습니다.
이에 따라 기존 CAN으로는 부족한 상황이 생기기 시작했고,
이를 해결하기 위해 CAN FD(Flexible Data-Rate)가 등장했습니다.
현재는 거의 모든 제어기가 CAN FD가 되었다고 해도 무방합니다.
오히려 CAN FD보다도 더 빠르고 대용량 Transfer가 가능한 통신을 도입하려하고있죠
🚀 CAN FD의 특징
✔ 1) 더 빠른 속도 지원
기존 CAN보다 높은 데이터 전송 속도를 지원하여
실시간 데이터 처리가 더 원활해졌습니다.
✔ 2) 더 많은 데이터 전송 가능
기존 CAN 프레임은 최대 8바이트였지만,
CAN FD는 최대 64바이트까지 전송할 수 있습니다.
✔ 3) ECU가 많아지는 현대 차량에 최적
전기차(EV), ADAS, 고급 센서들이 늘어나면서
ECU 간 통신량도 크게 증가했습니다.
CAN FD는 이를 감당하기 위한 확장된 형태로 널리 사용되고 있습니다.
더 빠르고, 더 많은 용량을 안전하게 보내기 위해
✔ 4) 기존 CAN 네트워크와 호환 가능
CAN FD는 기존 CAN 하드웨어와 큰 구조를 공유하므로
제조사 입장에서는 비교적 쉽게 도입할 수 있는 장점이 있습니다.
📡 5. 자동차에서 사용되는 CAN/CAN FD 메시지 예시
자동차 내부에서 흔히 전달되는 메시지는 다음과 같습니다:
- 차량 속도
- 회전수(RPM)
- 브레이크 스위치 상태
- 문 잠김 상태
- 엔진 온도
- 배터리 상태
CAN FD는 여기에 더해
센서 기반 ADAS 정보나 진단 정보처럼
대량의 데이터를 필요로 하는 메시지 전송에 적합합니다.
요즘엔 스위치 신호 송신 및 Indication Signal 송신에도 CAN FD를 씁니다
모든 신호에 적용된다고 봐야죠.
🌱 6. 정리하며
CAN 통신은 자동차 내부에서 ECU들이 협력하여 동작할 수 있도록 하는
가장 기본적이면서도 중요한 네트워크 기술입니다.
그리고 차량 기능이 고도화되면서 CAN FD가 등장해
더 많은 데이터와 더 빠른 속도를 제공하게 되었습니다.
앞으로는 자동차 내부에서도 Ethernet 등 다양한 통신 방식이 함께 사용되지만,
CAN과 CAN FD는 여전히 핵심 역할을 맡고 있습니다.
오늘도 버그없는토마토와 함께
한 알의 지식이 자라난 시간이었길 바랍니다
'통신 프로토콜' 카테고리의 다른 글
| ISO-TP : CAN으로 큰 데이터를 보내는 방법 (3) | 2025.12.31 |
|---|---|
| 자동차 통신 프로토콜 4부: CAN (2부) – Arbitration과 에러 처리 완전 이해 (0) | 2025.12.26 |
| 자동차 통신 프로토콜 2부: LIN (Local Interconnect Network) 완벽 이해 (0) | 2025.12.24 |
| 자동차 통신 프로토콜 3부: CAN (1부) - 기초와 메시지 구조 완벽 이해 (0) | 2025.12.23 |
| 자동차 통신 프로토콜 1부: 왜 자동차에는 여러 통신 프로토콜이 필요할까? (0) | 2025.12.21 |