본문 바로가기
정보전달/통신기술

CAN 통신 완벽 정리 – 개념부터 동작 원리까지

by wawManager 2025. 2. 13.
728x90

CAN(Controller Area Network) 통신은 자동차, 산업 자동화, 의료 기기 등에서 널리 사용되는 직렬 데이터 통신 프로토콜이다.
기존의 RS485나 RS422와 달리, 멀티마스터(Multi-Master) 방식과 충돌 감지 기능을 지원하여
네트워크 내 여러 장치가 동시에 통신할 수 있도록 설계되었다.

이번 글에서는 CAN 통신의 개념, 특징, 동작 원리, 주요 프로토콜, RS485 및 TCP/IP와의 차이점까지 상세히 알아보겠다.


1. CAN 통신이란?

CAN(Controller Area Network)은 Bosch에서 개발한 자동차 및 산업용 네트워크 통신 프로토콜이다.
다양한 전자 장치가 별도의 중앙 컨트롤러 없이 데이터를 주고받을 수 있도록 설계되었다.

멀티마스터(Multi-Master) 방식 – 여러 장치가 동시에 데이터를 송신 가능
충돌 방지(Arbitration) 기능 – 데이터 충돌 없이 안정적인 통신 보장
고속 데이터 전송 가능 – 최대 1Mbps 속도 지원
내구성이 뛰어나며, 노이즈에 강함 – 차동 신호 방식(Differential Signaling) 사용

📌 CAN은 자동차 ECU(Electronic Control Unit) 간 통신을 위해 처음 개발되었지만, 현재는 산업 자동화, 의료 기기, 철도 시스템 등 다양한 분야에서 사용된다.


2. CAN 통신의 주요 특징

① 멀티마스터(Multi-Master) 방식

CAN 네트워크에서는 여러 개의 장치(노드)가 동등한 권한을 가지며,
어떤 장치든 데이터를 송신할 수 있다.
즉, 중앙 제어 장치가 필요 없다.

각 노드는 독립적으로 동작 가능
한 노드가 고장 나더라도 네트워크 전체가 멈추지 않음

② 충돌 감지 및 우선순위(Arbitration) 기능

CAN 통신에서는 우선순위가 높은 데이터가 먼저 전송되는 구조를 가진다.

🔹 각 메시지에는 고유한 "식별자(ID)"가 존재
🔹 ID가 낮을수록(0에 가까울수록) 높은 우선순위를 가짐
🔹 우선순위가 낮은 노드는 대기하며, 충돌을 방지

데이터 충돌 없이 안정적인 통신이 가능하다.

③ 차동 신호 방식(Differential Signaling) 사용

RS485와 마찬가지로 CAN은 두 개의 신호선(CAN_H, CAN_L)을 사용하여 데이터 전송을 한다.
이 방식은 전자기 간섭(EMI)에 강하고, 장거리 통신에서도 신뢰성이 높다.

CAN_H와 CAN_L의 전압 차이를 이용하여 데이터를 인식
노이즈에 강한 구조로, 자동차 및 산업 환경에서도 안정적인 통신 가능

④ 데이터 프레임 구조

CAN 데이터는 프레임(Frame) 단위로 전송된다.

필드 역할 비고

Start of Frame 프레임 시작 신호 모든 노드가 인식
Identifier 메시지 우선순위 결정 값이 낮을수록 우선순위 높음
Control Field 데이터 길이 정보 최대 8바이트
Data Field 실제 데이터 최대 8바이트
CRC Field 에러 검출 코드 데이터 무결성 체크
Acknowledgment 데이터 수신 확인 모든 노드가 응답
End of Frame 프레임 종료 정상 전송 확인

📌 CAN은 8바이트 제한이 있지만, 여러 프레임을 조합하여 더 큰 데이터를 보낼 수 있다.


3. CAN 통신의 동작 원리

1️⃣ 노드가 메시지 송신을 요청

  • 네트워크에 있는 모든 노드는 데이터를 송신할 수 있음

2️⃣ 충돌 감지(Arbitration) 진행

  • 여러 노드가 동시에 송신할 경우, 우선순위(ID가 낮은 데이터)가 높은 노드가 먼저 송신
  • 우선순위가 낮은 노드는 자동으로 대기 상태로 전환

3️⃣ 데이터 프레임 전송

  • 패킷(프레임) 형태로 데이터가 전송됨
  • 네트워크 내 모든 노드가 메시지를 수신할 수 있음

4️⃣ 수신 확인(Acknowledgment)

  • 데이터를 정상적으로 받은 노드는 ACK(수신 확인) 신호를 전송
  • 오류가 발생한 경우 재전송 요청

이 과정을 통해 CAN은 빠르고 신뢰성 높은 데이터 통신을 보장한다.


4. CAN vs. RS485 vs. TCP/IP 비교

항목 CAN RS485 TCP/IP

통신 방식 멀티마스터 마스터-슬레이브 패킷 기반
충돌 방지 ✅ 있음 ❌ 없음 ✅ 있음 (TCP)
최대 속도 1Mbps 10Mbps 기가비트(Gbps) 이상
전송 거리 최대 40m(1Mbps) ~ 1km(50kbps) 1200m 거리 제한 없음
네트워크 확장성 중간 (노드 추가 가능) 낮음 (32개 제한) 높음 (인터넷 확장 가능)
주요 활용 분야 자동차, 산업 자동화 공장 자동화, 센서 네트워크 인터넷, IoT

📌 CAN은 산업용 네트워크에서 RS485보다 유연성이 높고, TCP/IP보다 실시간 처리가 빠르다.


5. CAN 통신의 활용 분야

🚗 자동차 전장 시스템 – 엔진, ABS, 에어백, 전자 제어 장치(ECU) 간 데이터 전송
🏭 산업 자동화 – 공장 내 PLC, 모터 드라이버, 센서 통신
🚅 철도 및 항공 시스템 – 열차 제어, 비행기 내 전자 시스템 간 데이터 공유
💉 의료 기기 – 병원 내 장비 간 데이터 통신

실시간 데이터 전송과 높은 신뢰성이 필요한 산업에서 필수적으로 사용된다.


6. CAN 설치 및 설정 가이드

📌 배선 방법

  • CAN_H (High)와 CAN_L (Low) 두 개의 신호선 사용
  • 차폐 케이블(Shielded Cable) 권장 – 노이즈 최소화

📌 종단 저항(Termination Resistor) 추가

  • CAN 네트워크 양 끝에 120Ω 저항을 추가해야 함
  • 저항이 없으면 신호 반사(Reflection)로 데이터 오류 발생 가능

📌 프로토콜 설정

  • 표준 CAN (11비트 ID) vs. 확장 CAN (29비트 ID)
  • 통신 속도(Baud Rate) 조정 – 속도가 빠를수록 전송 거리는 짧아짐

7. CAN 통신의 장점과 단점

✅ 장점

중앙 제어기 없이 여러 노드가 통신 가능 (멀티마스터 지원)
충돌 감지 기능으로 데이터 충돌 방지
노이즈 저항성이 뛰어나 산업 환경에서도 안정적

❌ 단점

최대 속도가 1Mbps로 제한됨
TCP/IP보다 장거리 통신에 불리함
데이터 프레임 크기가 8바이트로 제한됨

 

728x90