자동차 통신 프로토콜 1부: 왜 자동차에는 여러 통신 프로토콜이 필요할까?
자동차 통신 프로토콜이란?

들어가며
안녕하세요 버그없는토마토입니다.
이번부터 자동차 통신 프로토콜에 대해 배워볼건데요
몇부작이 될지는 모르겠습니다
그런데 왜 통신프로토콜이 존재하는지 부터 시작해서 LIN, CAN, CANFD 그보다 더 빠른 통신까지 설명하는 시간을 갖고
실제 적용된 사례를 가져와볼게요
그리고 미래엔 어떤 형식으로 통신이 될지에 관해 마무리 해보도록 하겠습니다
벌써 벅차네요
제가 동료에게 블로그를 한다고 얘기했을때 주제에 대해 얘기를 나눴는데
CAN 에 대해서는 꼭 다뤄달라고 얘기를 들었습니다
정말 궁금해하시는 분이 많다는 걸 깨닫는 계기가 됐어요
사실 CAN이라는게 업계가 아니라면 낯선게 사실이니까요
그리고 실무자도 CAN 잘 알아요
근데 ? 알기만 해요.. CAN통신으로만 알고 어떤 형식인지 프레임은 어떤지 길이는?
자세히는 알지 못하죠.
그런 분들을 위해 초급자 & 입문자 & 취준생을 위한 난이도로 계획했구요
깊어질수록 보안에 위배될 것 같아서 얕고 중요하게 다뤄보도록 할게요
시작해보겠습니다
* 자동차 엔진을 켰을 때 자동차 내부에선 어떤일이 일어날까요?
시동 버튼 누름!
↓
엔진 ECU가 깨어남
↓
변속기 ECU에 "나 깨어났어" 신호 보냄
↓
ABS ECU에 "준비됐니?" 물어봄
↓
온도 센서에서 값 읽기
↓
진단 ECU가 모든 상태 체크
↓
... (수십 개 ECU가 협력)
↓
엔진 시작! 🚗
이 모든 대화를 누가 가능하게 할까요?
답은 자동차 통신 프로토콜입니다!
요약해보자면?
핵심 3줄:
🔌 LIN: 느리지만 싼 통신 (창문, 미러)
🚗 CAN: 자동차 표준 통신 (엔진, 변속, 제동)
⚡ Ethernet: 매우 빠른 통신 (자율주행)
각 프로토콜이 다른 목적을 가지고 있어서,
자동차는 여러 개를 함께 사용합니다.

🚗 자동차 통신의 역사
1980년대: 기계식 자동차
엔진 → 기계 부품 → 휠
모든 게 기계식!
- 가솔린 분사: 기계식 카뷰레터
- 변속: 수동 또는 간단한 자동
- 제동: 유압식
- 센서? 뭐 그거?
→ 통신 필요 X
1990년대: 전자제어 시작
센서들이 등장!
- 온도 센서
- 속도 센서
- 압력 센서
- ...
하나의 중앙 ECU가 모든 센서와 연결
ECU ← → 센서/모터
하지만 문제:
- 배선이 너무 많음
- 무거움
- 비쌈
- 유지보수 어려움
2000년대: CAN 네트워크 등장
"각 부품마다 작은 ECU를 두고,
CAN이라는 버스로 연결하자!"
┌─────────────────────────────┐
│ 엔진 ECU 변속기 ECU ABS ECU │
└─────────────────────────────┘
↓ ↓ ↓ (CAN 버스)
┌─────────────────────────────┐
│ 센서들 모터들 솔레노이드 │
└─────────────────────────────┘
장점:
✅ 배선 감소
✅ 비용 절감
✅ 확장성 좋음
✅ 신뢰성 높음
이때부터 자동차 = 네트워크!
2010년대: 다양한 프로토콜 혼합
CAN만으로는 부족함!
저속 편의 기능? LIN 사용!
고속 데이터? CAN 사용!
예: 현대 쏘나타
├─ CAN (500 kbps): 엔진, 변속, 제동
└─ LIN (20 kbps): 창문, 미러, 좌석
2020년대 (지금): 자율주행 시대
테슬라의 트리거로 인해 자율주행 시장이 핫하죠
카메라에서 초당 100MB 데이터 생성
레이더도 마찬가지
라이다도 마찬가지
CAN (500 kbps)로는 불가능!
→ Ethernet (1 Gbps) 등장!
현대 EV9:
├─ CAN (500 kbps): 기본 제어
├─ CAN FD (1 Mbps): 자율주행 센서
└─ Ethernet (1 Gbps): 고속 처리
그럼 자동차는 왜 여러 프로토콜을 써야 할까?
이유 1: 속도가 다르다
창문 모터:
- 느려도 OK (0.5초 걸려도 괜찮음)
- 따라서 LIN (20 kbps) 사용
- 저렴!
엔진 제어:
- 빨라야 함 (10ms마다)
- CAN (500 kbps) 사용
- 더 비쌈
자율주행:
- 매우 빨라야 함 (1ms마다)
- Ethernet (1 Gbps) 사용
- 가장 비쌈
이유 2: 신뢰성이 다르다
창문 모터:
- 고장나도 안전에 영향 X
- 신뢰성 낮아도 OK
- LIN 사용
제동 시스템:
- 고장나면 위험함
- 신뢰성 매우 중요
- CAN 또는 FlexRay 사용
자율주행:
- 가장 중요함
- 신뢰성 극대화 필요
- Ethernet + 추가 보안
이유 3: 비용이 다르다
LIN 칩: 저렴 ($1)
CAN 칩: 중간 ($5)
Ethernet 칩: 비쌈 ($20+)
"모든 ECU에 Ethernet을 쓰면?"
→ 자동차 가격 폭증!
따라서 필요한 곳만 빠른 프로토콜 사용!
이유 4: 목적이 다르다
편의 기능 (창문, 미러):
- 느려도 OK
- 저렴이 중요
- LIN!
파워트레인 (엔진, 변속, 제동):
- 안정성 중요
- 표준화된 것이 중요
- CAN!
자율주행 (센서 처리):
- 속도 중요
- 최신 기술 가능
- Ethernet!
📊 자동차의 통신 구조 (완전 분해도)
┌──────────────────────────────────────────┐
│ 센서들 (입력) │
│ ├─ 온도 센서 (thermistor) │
│ ├─ 압력 센서 (pressure) │
│ ├─ 속도 센서 (wheel speed) │
│ ├─ 가속도 센서 (accelerometer) │
│ ├─ 카메라 (camera) 2 Mbps │
│ ├─ 레이더 (radar) 50 Mbps │
│ ├─ 라이다 (lidar) 300 Mbps │
│ └─ GPS (location) │
└──────────────────┬───────────────────────┘
│ (신호 읽기)
┌──────────▼──────────┐
│ ADC (아날로그 변환) │
│ 센서값 → 디지털 │
└──────────┬──────────┘
│
┌──────────────────▼─────────────────────┐
│ ECU들 (처리 및 결정) │
│ ├─ 엔진 ECU (Engine Control Module) │
│ │ └─ RPM 계산, 연료 분사량 결정 │
│ ├─ 변속기 ECU (Transmission Control) │
│ │ └─ 기어 선택 │
│ ├─ ABS ECU (Anti-lock Brake) │
│ │ └─ 제동력 분배 │
│ ├─ 자율주행 ECU (Autonomous Drive) │
│ │ └─ 경로 계획 │
│ ├─ 진단 ECU (Diagnostic) │
│ │ └─ 오류 감지 │
│ └─ ... │
└──────────────────┬─────────────────────┘
│
┌──────────▼──────────┐
│ 통신 (협력!) │
│ ├─ CAN 버스 │
│ ├─ LIN 버스 │
│ └─ Ethernet │
└──────────┬──────────┘
│
┌──────────────────▼─────────────────────┐
│ 액추에이터들 (출력) │
│ ├─ 모터들 (window, mirror, seat) │
│ ├─ 펌프 (fuel pump, cooling water) │
│ ├─ 솔레노이드 (solenoid) │
│ ├─ 스텝 모터 (stepper motor) │
│ ├─ 디스플레이 (cluster, head unit) │
│ └─ 경고음 (buzzer) │
└──────────────────────────────────────┘
🚗 실제 자동차 예시
현대 쏘나타 (가솔린 세단)
통신 구조:
CAN-0 (High-Speed CAN, 500 kbps):
├─ 엔진 ECU ← 온도, RPM, 토크
├─ 변속기 ECU ← 기어, 오일온도
├─ ABS ECU ← 제동압, 바퀴 속도
├─ 공조 ECU ← 온도 설정
├─ 진단 ECU ← 모든 상태 모니터링
└─ ... (약 15개 ECU)
LIN (Low-Speed, 20 kbps):
├─ 창문 ECU ← 윈도우 모터 4개
├─ 미러 ECU ← 사이드 미러 모터
├─ 좌석 ECU ← 전동 좌석 조정
└─ ... (약 5개)
실제 사용:
운전자: "창문 올려!" (버튼)
↓
신체 ECU: LIN으로 창문 ECU에 명령
↓
창문 모터: 움직임!
기아 EV9 (자율주행 전기차)
통신 구조:
CAN (500 kbps):
└─ 기본 차량 제어 (배터리, 모터, 제동)
CAN FD (1 Mbps):
└─ 자율주행 센서 보조 데이터
Ethernet (1 Gbps):
├─ 자율주행 도메인 컨트롤러
├─ 카메라 + 레이더 + 라이다 데이터 처리
├─ 경로 계획 (Path Planning)
└─ 의사결정 (Decision Making)
LIN (20 kbps):
└─ 창문, 미러 등 편의
계층적 구조:
┌─────────────────────┐
│ Ethernet (자율주행) │
├─────────────────────┤
│ CAN FD (보조) │
├─────────────────────┤
│ CAN (기본) │
├─────────────────────┤
│ LIN (편의) │
└─────────────────────┘
Tesla Model 3 (전기차, 최신형)
통신 구조:
최소한의 CAN:
└─ 기본 안전만 보장
Ethernet 중심:
└─ 거의 모든 통신을 Ethernet으로
└─ OTA (무선 업데이트) 쉬움
└─ 자율주행에 최적화
철학: "간결함"
"불필요한 프로토콜은 제거!"
🚀 다음 부에서 뭘 배울까?
2부: LIN (느리지만 저렴한)
다음 부에서는 LIN을 배워봅시다.
배울 것:
LIN의 정의와 특징
Master-Slave 구조 (누가 명령하나?)
메시지 구조 (BREAK, SYNC, PID, Data, Checksum)
Schedule (시간표, "10ms마다 이 신호 전송")
신호 매핑 (어떤 데이터가 어디에?)
에러 처리 (뭐가 잘못되면?)
실제 사례 (창문 모터는 어떻게 움직일까?)
결과: "LIN이 뭔지 완벽히 이해한다!"
💡 취준생이 알아야 할 것
면접 질문 예상
Q1: "자동차에 왜 여러 프로토콜을 써요?"
A: "각각 다른 목적을 가지고 있기 때문입니다.
LIN은 저렴하고 느려도 되는 편의 기능용,
CAN은 실시간 제어가 필요한 파워트레인용,
Ethernet은 자율주행 같은 고속 처리용입니다."
Q2: "LIN과 CAN의 차이는?"
A: "LIN은 Master-Slave 구조로 Master가 명령을 보내고,
CAN은 모든 ECU가 같은 버스를 사용하는 Broadcast 방식입니다.
속도도 LIN은 20kbps, CAN은 500kbps로 다릅니다."
Q3: "자동차 통신이 왜 중요한가요?"
A: "현대 자동차는 수십 개의 ECU가 협력해서 작동하기 때문에,
이들이 정확하게 통신해야만 안전하고 효율적인 차량이 됩니다.
통신이 없으면 자동차는 움직일 수 없습니다."
📌 핵심 요약
| 항목 | 설명 |
|---|---|
| 통신 필요 이유 | 자동차 = ECU 네트워크, 협력 필수 |
| 속도 차이 | 편의는 느려도 OK, 제어는 빨라야 함 |
| 신뢰성 차이 | 엔진 제어는 중요, 창문은 덜 중요 |
| 비용 차이 | 빠르면 비싸짐 |
| 프로토콜 선택 | 용도에 맞는 것 선택 |
| 현재 추세 | CAN + LIN → CAN + Ethernet |
| 미래 | Ethernet 중심 |
마치며
이번 포스팅에서는 여러 통신프로토콜에 대해 설명드렸는데요
잘 이해가 안갈거예요 생소한 단어도 많고..
근데 한번 쭉 훑고 생각하고 나면 다음 게시물부터 '아 얘가 걔지'라고 생각하면서 이해하기 쉬울거예요
다 어떤 특성을 가졌는지 보고, 쉽게 생각해서 등장인물들이라고 생각하세요
옴니버스식 구조에서 각자 주인공들인거죠!
그럼 다음 게시물부터는 본격적으로 주인공 한명 한명씩 알아보도록 하죠
'통신 프로토콜' 카테고리의 다른 글
| 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 |
| 📌 CAN 통신과 CAN FD란? 자동차가 데이터를 주고받는 방법 쉽게 정리 (0) | 2025.12.10 |