카테고리 없음

[CAN] CAN통신 이론 정리

CAN 프로젝트 2026. 4. 5. 13:21

ISO-11898-2-2024.pdf
1.19MB
ISO-11898-1-2024.pdf
1.08MB

1.  CAN 통신이란?

CAN(Controller Area Network)은 차량 내부의 ECU(Electronic Control Unit) 간 데이터를 주고받기 위해 설계된 통신 프로토콜이다.

기존 자동차는 센서와 제어기 사이를 개별 배선으로 연결하는 방식이었지만, 이로 인해 배선 증가, 무게 상승, 유지보수 어려움 등의 문제가 발생하였다. CAN 통신은 이러한 문제를 해결하기 위해 하나의 통신 버스를 기반으로 여러 장치가 데이터를 공유할 수 있도록 설계되었다.

 

CAN 국제 규격서 : ISO 11898


2.  CAN 통신의 특징

1) 버스 기반 구조

CAN은 하나의 통신 라인(bus)에 여러 ECU가 연결되는 구조이다.

즉, 특정 장치 간 1:1 통신이 아니라 모든 노드가 동일한 데이터를 공유하는 방식이다.


 2) ID 기반 메시지 통신

일반적인 네트워크는 IP 주소를 기반으로 통신하지만, CAN은 메시지 ID를 기반으로 데이터를 구분한다.

예를 들어:

  • ID 0x100 → 차량 속도
  • ID 0x101 → 엔진 RPM

수신 장치는 자신에게 필요한 ID만 선택적으로 처리한다.


 3) 실시간성

CAN 통신은 제어 시스템에 적합하도록 지연(latency)이 매우 낮고 실시간성이 보장된다.

이는 차량 제어와 같이 빠른 응답이 필요한 환경에서 매우 중요하다.

실제 CAN 통신의 지연시간은 약 0.0001초 ~ 0.005초 (100µs ~ 5ms) 매우 낮은 수치이다.

 

시속 100km/h인 자동차는 0.1초동안 약 2.8m를 이동할 수 있다. 만약 제동 관련 신호가 수 msec 지연된다면 사고로 이어질 수 있는 충분한 거리이다. 그만큼 CAN통신의 지연시간과 신뢰성은 중요하다.

 


4) 높은 신뢰성

CAN은 CRC, 에러 검출, 자동 재전송 등의 기능을 통해
노이즈가 많은 자동차 환경에서도 안정적인 통신을 유지한다.


3. CAN 프레임 구조

CAN 메시지는 ISO 11898(CAN 통신의 공식 국제 표준)에서 정의되며 다음과 같은 구조로 구성된다.(공식문서 첨부파일 참고)

[ID] [DLC] [DATA] [CRC]
  • ID: 메시지의 의미 및 우선순위 결정
  • DLC: 데이터 길이 (최대 8바이트)
  • DATA: 실제 데이터
  • CRC: 오류 검출

예시:

ID: 0x100 | DATA: 64 00
→ 차량 속도 100 km/h

4. Arbitration (중재 메커니즘)

CAN의 가장 중요한 특징 중 하나는 여러 ECU가 동시에 데이터를 전송할 때 충돌을 해결하는 방식이다.

CAN에서는 ID 값이 낮을수록 우선순위가 높다.

예를 들어:

  • ID 0x100
  • ID 0x200

두 메시지가 동시에 전송되면 0x100 메시지가 먼저 전송된다.

이러한 방식을 Arbitration이라고 하며, 중요한 데이터가 먼저 전달되도록 보장한다.


5. 물리 계층

ISO 11898-2 규격 Test circuit 발췌

 

CAN 물리계층은 ISO 11898-2 표준을 기반으로 하며, 차동 신호(CAN_H, CAN_L)를 사용하여 노이즈에 강한 통신을 제공한다.
신뢰성 확보를 위해 종단저항(120Ω), Twisted Pair 배선, ESD 보호 및 적절한 접지 설계가 필수적이다.


6. 자동차에서의 활용

차량 내부에서는 다양한 ECU들이 CAN 통신으로 연결되어 있다.

예를 들어:

  • 엔진 ECU → RPM 데이터 전송
  • ABS ECU → 바퀴 속도 전송
  • 계기판 → 속도 표시

이처럼 CAN은 차량의 주요 데이터를 전달하는 핵심 네트워크 역할을 수행한다.

 


📌 마무리

CAN 통신은 단순한 데이터 전달을 넘어 자동차 제어 시스템의 핵심 인프라 역할을 수행한다.

다음 단계에서는 이러한 CAN 통신을 기반으로 개략적인 프로젝트의 시스템 구조를 설계할 예정이다.