자동차/H-모빌리티 클래스

[H-모빌리티 클래스] 4차시: CAN 통신 구조와 원리

dobshn 2026. 5. 20. 20:54

오늘은 H-모빌리티 클래스 4차시 CAN 통신 구조와 원리 수업으로 ‘차량용 CAN 통신의 구조와 동작 방식’에 대해 학습하였다. 이번 강의에서는 차량 내부 통신에서 가장 널리 사용되는 CAN 통신이 왜 도입되었는지, 그리고 물리 계층과 데이터링크 계층에서 어떤 방식으로 안정적인 데이터 전송을 수행하는지 정리하였다.

특히 CAN 통신은 여러 제어기가 하나의 버스를 공유하면서도 메시지 충돌을 조정하고, 차동 신호를 이용해 노이즈에 강한 통신을 구현한다는 점이 핵심이었다.


학습 목표

  1. CAN 통신의 도입 배경과 차량용 통신에서의 필요성을 설명할 수 있다.
  2. CAN 통신의 기본 구조인 Multi-master, Twisted pair, Bus Topology를 정리할 수 있다.
  3. CAN 통신의 물리 계층 구조와 차동 신호의 동작 원리를 설명할 수 있다.
  4. CAN 데이터 프레임의 구성과 메시지 중재 원리를 설명할 수 있다.

학습 내용

CAN 통신의 도입 배경

CAN은 Controller Area Network의 약자로, 자동차 내부의 전자 제어 장치들이 서로 정보를 주고받기 위해 개발된 대표적인 차량용 통신 방식이다. 차량에는 엔진, 브레이크, 조향, 변속기, 클러스터 등 다양한 제어기가 존재하며, 이들 사이에서 실시간으로 정보를 교환해야 한다.

초기의 산업용 통신 방식은 제어기와 제어기가 1대 1로 연결되는 구조가 많았다. 그러나 자동차에 전자 제어 장치가 많아질수록 모든 제어기를 개별 배선으로 연결하는 방식은 비효율적이다. 배선이 많아지면 차량의 무게와 원가가 증가하고, 고장 가능성도 커진다.

CAN 통신은 이러한 문제를 해결하기 위해 차량 환경에 맞추어 개발되었다. 하나의 통신 버스를 여러 제어기가 공유하면서도, 실시간성과 안정성을 확보할 수 있도록 설계된 점이 특징이다.

CAN 통신의 발전 과정

CAN 통신은 1980년대에 BOSCH를 중심으로 개발이 시작되었고, 이후 자동차 제조사들이 참여하면서 차량용 통신 표준으로 자리 잡았다. 1990년대 초반에는 CAN 통신이 적용된 차량이 등장하였으며, 이후 기능과 성능을 보완한 여러 형태의 CAN이 개발되었다.

  • 기본 CAN: 차량 내부 제어기 간 통신을 위해 널리 사용된 기본 형태이다.
  • TT CAN: Time-triggered 방식으로 실시간성과 제어 성능을 높이기 위해 개발된 방식이다.
  • Low-speed CAN: 속도는 낮지만 통신선 일부에 문제가 생겨도 통신을 유지할 수 있도록 한 방식이다.
  • CAN-FD: 기존 CAN보다 더 많은 데이터와 높은 속도를 지원하기 위해 개발된 방식이다.

이처럼 CAN 통신은 차량 제어 환경의 요구에 맞추어 계속 발전해 왔으며, 현재도 차량 내부 네트워크에서 중요한 역할을 담당하고 있다.

CAN 통신의 기본 개념

CAN 통신의 기본 구조는 Multi-master, Twisted pair, Bus Topology로 정리할 수 있다. 이 세 가지 특징은 CAN이 차량 내부에서 안정적으로 동작할 수 있도록 하는 핵심 요소이다.

Multi-master 구조

Multi-master는 네트워크에 연결된 모든 제어기가 필요할 때 메시지를 전송할 수 있는 구조를 의미한다. 특정한 하나의 장치만 통신을 관리하는 것이 아니라, 각 제어기가 모두 메시지를 보낼 수 있는 주체가 된다.

이 구조에서는 여러 제어기가 동시에 메시지를 보내려고 할 수 있다. 따라서 CAN 통신은 메시지 충돌 상황을 해결하기 위한 중재 과정이 필요하다. CAN에서는 메시지 ID를 기반으로 우선순위를 정해 더 중요한 메시지가 먼저 전달되도록 한다.

Twisted pair와 Bus Topology

CAN 통신은 두 가닥의 통신선을 꼬아놓은 Twisted pair 케이블을 사용한다. 이 두 선은 CAN_H와 CAN_L로 구성되며, 두 선의 전압 차이를 이용해 데이터를 전달한다.

또한 CAN 네트워크는 주로 Bus Topology를 사용한다. 하나의 메인 통신선을 여러 제어기가 공유하는 구조이기 때문에 제어기를 추가하거나 제거하기 쉽고, 배선 수를 줄일 수 있다. 차량처럼 제한된 공간 안에 많은 전자 제어 장치가 들어가는 환경에서는 이러한 구조가 효율적이다.

개념 의미 CAN에서의 역할
Multi-master 모든 제어기가 메시지를 전송할 수 있는 구조 여러 ECU가 필요할 때 직접 데이터를 보낼 수 있다.
Twisted pair 두 가닥의 선을 꼬아 만든 통신선 차동 신호를 이용해 노이즈에 강한 통신을 구현한다.
Bus Topology 하나의 통신선을 여러 노드가 공유하는 구조 배선 수를 줄이고 제어기 연결을 효율적으로 구성한다.

CAN 통신의 물리 계층 구조

물리 계층은 통신 신호를 실제로 어떤 전기적 신호로 만들고, 어떤 매체를 통해 전달할 것인지를 정의하는 계층이다. CAN 통신에서는 통신선의 구성, 신호 전달 방식, 통신 속도와 거리, 종단 저항 등이 물리 계층과 관련된다.

통신 속도와 거리의 관계

CAN 통신은 최대 1000kbit/s까지 속도를 높일 수 있지만, 통신 속도가 빨라질수록 안정적인 전송을 위해 허용되는 통신선 길이는 짧아진다. 자동차 내부에는 수십 미터의 배선이 필요하므로, 실제 차량에서는 통신 속도와 배선 길이 사이의 균형을 고려해야 한다.

예를 들어 차량 내부에서 충분한 통신선 길이를 확보하기 위해 속도를 낮추어 사용하는 경우가 있다. 이는 단순히 빠른 속도만 중요한 것이 아니라, 차량 구조 안에서 안정적으로 동작할 수 있는 조건을 맞추는 것이 중요하기 때문이다.

종단 저항

CAN 통신선 양 끝에는 종단 저항이 설치된다. 종단 저항은 통신선에서 신호가 끝단에 도달했을 때 반사되어 다시 돌아오는 현상을 줄이기 위해 사용된다. 반사파가 발생하면 원래 신호와 섞여 데이터가 왜곡될 수 있으므로, 안정적인 통신을 위해 종단 저항이 필요하다.

즉, CAN의 물리 계층은 단순히 두 가닥의 선만 연결하는 것이 아니라, 신호가 왜곡되지 않고 전달되도록 여러 전기적 조건을 함께 고려한다.

차동 신호와 CAN Transceiver

CAN 통신의 중요한 특징 중 하나는 Differential Signal, 즉 차동 신호를 사용한다는 점이다. 차동 신호는 두 개의 신호선에 서로 반대되는 전압 변화를 만들어 두 선 사이의 전압 차이로 데이터를 표현하는 방식이다.

차동 신호의 동작 원리

CAN 통신에서는 CAN_H와 CAN_L 두 신호선이 사용된다. 수신 측은 각 선의 절대 전압을 보는 것이 아니라 두 선 사이의 전압 차이를 읽어 비트를 판단한다. 이 방식은 차량 환경에서 매우 중요하다.

자동차는 엔진, 모터, 전장 장치 등으로 인해 전자기파 노이즈가 발생하기 쉬운 환경이다. 외부 노이즈가 두 선에 비슷하게 영향을 주더라도, 두 선의 전압 차이는 비교적 유지된다. 따라서 차동 신호는 노이즈에 강하고 안정적인 통신을 가능하게 한다.

Dominant와 Recessive

CAN 통신에서는 비트 상태를 Dominant와 Recessive로 표현한다. 일반적으로 Dominant는 0, Recessive는 1에 해당한다. 중요한 점은 두 신호가 충돌할 때 Dominant가 Recessive보다 우선한다는 것이다.

이 특성은 CAN의 메시지 중재 과정에서 사용된다. 여러 제어기가 동시에 메시지를 전송하더라도, 우선순위가 높은 메시지가 버스를 점유할 수 있도록 하는 기본 원리가 된다.

Transceiver의 역할

CAN Transceiver는 Transmitter와 Receiver의 기능을 함께 가진 장치이다. 제어기 내부의 디지털 신호를 CAN 통신선에 맞는 차동 신호로 변환하고, 반대로 통신선에서 들어온 차동 신호를 제어기가 이해할 수 있는 신호로 변환한다.

즉, MCU와 CAN 버스 사이에서 물리 계층 신호를 만들어주고 읽어주는 역할을 수행한다. CAN 통신이 차량 환경에서 안정적으로 동작하기 위해서는 Transceiver가 물리 계층의 신호 조건에 맞게 동작해야 한다.

CAN 데이터링크 계층과 프레임 구조

데이터링크 계층은 데이터를 네트워크 전송 방식에 맞게 프레임으로 구성하고, 데이터 전달 과정에서 오류를 검출하는 역할을 한다. CAN 통신에서는 데이터 프레임의 형태가 정해져 있으며, 각 필드는 데이터 전송과 검증을 위해 서로 다른 역할을 가진다.

CAN 데이터 프레임의 주요 구성

CAN 데이터 프레임은 단순히 데이터만 담고 있는 것이 아니라, 메시지의 시작과 끝, 메시지 식별 정보, 제어 정보, 오류 검출 정보, 수신 확인 정보를 함께 포함한다. 이러한 구조 덕분에 여러 제어기가 하나의 버스를 공유하는 환경에서도 안정적으로 메시지를 주고받을 수 있다.

  • Start of Frame: 메시지 프레임이 시작됨을 나타낸다.
  • Arbitration Field: 메시지 ID를 포함하며, 메시지 구분과 우선순위 결정에 사용된다.
  • Control Field: 데이터 길이 등 프레임 제어 정보를 담는다.
  • Data Field: 실제 전송할 데이터가 들어가는 영역이다.
  • CRC Field: 데이터 전송 중 오류가 발생했는지 확인하기 위한 검증 정보이다.
  • Acknowledgement Field: 수신자가 데이터를 정상적으로 받았음을 알려주는 영역이다.
  • End of Frame: 메시지 프레임의 끝을 나타낸다.

이러한 프레임 구조는 CAN 통신이 단순한 신호 전달이 아니라, 메시지의 구분, 우선순위 지정, 오류 검출, 수신 확인까지 포함하는 체계적인 통신 방식임을 보여준다.

Message ID와 중재 원리

CAN 통신에서 Message ID는 메시지를 구분하는 동시에 우선순위를 결정하는 중요한 요소이다. 여러 제어기가 동시에 메시지를 보내려고 할 때, CAN은 Message ID를 이용해 어떤 메시지가 먼저 전송될지 결정한다.

Message ID의 역할

Message ID는 프레임 안의 Arbitration Field에 포함된다. 이 값은 단순한 이름표가 아니라, 메시지의 중요도를 나타내는 기준으로도 사용된다. CAN에서는 ID 값이 낮을수록 우선순위가 높다.

예를 들어 브레이크나 엔진 제어처럼 안전과 직접 연결되는 메시지는 상대적으로 높은 우선순위를 가져야 한다. 반면 상대적으로 긴급성이 낮은 정보는 낮은 우선순위를 가질 수 있다. 따라서 Message ID를 어떻게 정의하느냐는 차량 네트워크 설계에서 중요한 문제이다.

Arbitration의 동작 방식

Arbitration은 여러 제어기가 동시에 메시지를 전송하려고 할 때, 어떤 메시지를 먼저 보낼지 정하는 중재 과정이다. CAN에서는 Dominant와 Recessive의 특성을 이용해 중재가 이루어진다.

여러 제어기가 동시에 버스에 신호를 내보낼 때, 한 제어기가 Recessive를 보내고 다른 제어기가 Dominant를 보내면 버스에는 Dominant가 나타난다. 이때 Recessive를 보낸 제어기는 자신이 보낸 값과 버스 상태가 다르다는 것을 확인하고 전송을 멈춘다. 결과적으로 더 높은 우선순위의 메시지가 충돌 없이 먼저 전송된다.

이 방식은 별도의 중앙 제어 장치 없이도 여러 제어기가 하나의 버스를 공유할 수 있게 해준다. 따라서 CAN 통신은 Multi-master 구조를 가지면서도 중요한 메시지를 먼저 전달할 수 있는 장점을 가진다.

CAN 통신이 차량에서 중요한 이유

CAN 통신은 차량 내부 제어기들이 정보를 효율적으로 공유할 수 있게 해주는 핵심 기술이다. 하나의 버스를 여러 제어기가 공유하므로 배선을 줄일 수 있고, 차동 신호를 사용해 노이즈에 강한 통신을 구현할 수 있다. 또한 Message ID 기반의 중재 방식을 통해 중요한 메시지를 우선적으로 전달할 수 있다.

자동차에서는 제어 메시지가 늦게 전달되거나 잘못 전달되면 안전에 영향을 줄 수 있다. 따라서 차량용 통신에서는 단순한 속도뿐 아니라 신뢰성, 실시간성, 오류 검출, 우선순위 처리 등이 중요하다. CAN 통신은 이러한 요구를 만족하기 위해 설계된 대표적인 차량용 네트워크 방식이라고 정리할 수 있다.

학습 소감

이번 4차시를 통해 CAN 통신이 왜 차량 내부에서 오래 사용되어 왔는지 이해할 수 있었다. 단순히 여러 제어기를 연결하는 통신 방식이 아니라, 차동 신호와 메시지 중재를 통해 차량 환경에 맞는 안정성을 확보한다는 점이 인상 깊었다.

특히 Dominant와 Recessive 개념이 메시지 우선순위 결정에 활용된다는 점이 흥미로웠다. 앞으로 CAN-FD나 차량용 Ethernet 같은 통신을 배울 때도, CAN이 해결하려 했던 배선 효율성과 실시간성 문제를 기준으로 비교해보면 이해가 더 잘 될 것 같다.