Industrial Communication/CAN Bus: Protocol & Physical Layer

CAN 통신이란? 주요 특징 3가지와 에러 검출 및 복구 원리 정리

임베디드 친구 2025. 2. 19. 09:23
반응형

Gemini AI 생성 이미지입니다.

1. CAN 통신이란?

CAN(Controller Area Network) 통신은 자동차, 산업 자동화, 로봇 시스템 등에서 널리 사용되는 직렬 데이터 통신 프로토콜입니다. 기존의 직렬 통신 방식(SPI, UART, I2C)과 비교했을 때 높은 신뢰성과 다중 노드 확장성이 특징이며, 특히 자동차 전자 제어 유닛(ECU) 간 통신에서 표준으로 자리 잡았습니다.


2. CAN 통신의 주요 특징

CAN 통신은 기존의 다른 직렬 통신 방식과 비교했을 때 몇 가지 중요한 특징을 가지고 있습니다.

2.1 멀티마스터 방식 및 노드 확장성

  • CAN 네트워크는 멀티마스터(Multi-Master) 방식을 지원합니다. 이는 하나의 노드가 고장 나더라도 전체 네트워크가 영향을 받지 않도록 설계된 구조입니다.
  • 노드는 고유한 식별자(Identifier, ID)를 가지고 있으며, 각 노드는 버스를 공유하면서도 우선순위 기반의 메시지 송수신을 수행합니다.
  • CAN 버스에 새로운 노드를 추가하는 것이 용이하며, 별도의 중앙 컨트롤러 없이도 확장이 가능합니다.
  • 한 개의 CAN 버스에는 최대 100개 이상의 노드를 연결할 수 있습니다(버스 부하에 따라 제한될 수 있음).

2.2 하드웨어 기반 에러 검출 및 복구

  • CAN 통신은 CRC(Cyclic Redundancy Check) 기반의 강력한 오류 검출 메커니즘을 지원합니다.
  • 모든 노드는 수신한 데이터의 무결성을 확인하고, 오류가 감지되면 자동으로 재전송이 이루어집니다.
  • 하드웨어 수준에서 오류를 감지하고 처리하기 때문에, 별도의 소프트웨어적 오류 검출 코드 작성이 필요하지 않습니다.
  • 주요 오류 검출 및 복구 메커니즘은 다음과 같습니다.
    • 비트 오류(Bit Error): 송신한 비트가 예상과 다를 경우 오류로 간주됩니다.
    • 소프트 오류(Stuff Error): 5비트 연속 같은 값이 나오면 오류로 판단하고, 자동으로 조정됩니다.
    • CRC 오류(CRC Error): 전송된 메시지와 수신된 메시지의 CRC 값이 다르면 오류로 처리됩니다.
    • 포맷 오류(Format Error): 메시지의 포맷이 규격에 맞지 않을 경우 오류가 발생합니다.
    • 응답 오류(Acknowledgment Error): 정상적인 수신이 이루어지지 않을 경우 송신 노드가 이를 감지하고 재전송을 수행합니다.

2.3 우선순위 기반 메시지 송수신

  • CAN 통신에서는 각 메시지에 고유한 식별자(ID)가 할당되며, 이 식별자는 메시지의 우선순위를 결정하는 역할을 합니다.
  • 낮은 ID 값을 가진 메시지가 높은 우선순위를 가지며, 버스 충돌(Collision)이 발생할 경우 자동적으로 우선순위가 높은 메시지가 송신됩니다.
  • CSMA/CD+AMP(Carrier Sense Multiple Access with Collision Detection and Arbitration on Message Priority) 방식으로 메시지를 전송하며, 충돌이 발생하더라도 우선순위가 높은 메시지가 자동적으로 버스를 점유합니다.
  • 우선순위 방식 덕분에 긴급한 데이터(예: 차량의 브레이크 시스템 관련 메시지)가 빠르게 전송될 수 있습니다.

3. CAN 통신의 주요 장점

3.1 고속 데이터 전송 및 실시간 성능

  • CAN은 최대 1Mbps(Classical CAN 기준)의 전송 속도를 지원하며, 최신 CAN FD(Flexible Data Rate)최대 5~8Mbps까지 가능합니다.
  • 실시간 성능이 요구되는 시스템(예: 자동차 제어, 산업 자동화)에서 효과적으로 사용됩니다.

3.2 배선 간소화 및 비용 절감

  • 기존의 포인트-투-포인트(Point-to-Point) 통신 방식과 달리, CAN 통신은 단일 버스를 공유하는 방식이므로 배선이 단순합니다.
  • 여러 장치가 하나의 버스를 공유하기 때문에, 자동차 및 산업용 장비에서 배선 비용을 절감할 수 있습니다.

3.3 강력한 내구성 및 신뢰성

  • CAN은 EMI(전자기 간섭) 및 노이즈 저항성이 우수하며, 산업 환경에서도 안정적으로 작동합니다.
  • 오류 검출 및 복구 기능이 내장되어 있어 데이터 전송의 신뢰성이 높습니다.
  • 하드웨어적으로 오류를 감지하고 대응하기 때문에, 소프트웨어적인 오류 처리 부담이 적습니다.

3.4 플러그 앤 플레이 확장성

  • CAN 네트워크는 동적으로 노드를 추가하거나 제거할 수 있는 구조를 가지고 있습니다.
  • 새로운 노드를 추가해도 네트워크의 다른 장치들이 중단 없이 작동할 수 있습니다.
  • 표준 프로토콜을 기반으로 하므로, 다양한 제조업체의 장비와 호환성이 뛰어납니다.

4. 결론

CAN 통신은 높은 신뢰성, 우수한 오류 검출 및 복구 기능, 우선순위 기반 메시지 송수신, 멀티마스터 확장성을 제공하는 강력한 네트워크 프로토콜입니다. 특히 자동차, 산업 자동화, 로봇 분야에서 광범위하게 사용되며, 기존의 직렬 통신 방식보다 더 높은 신뢰성과 확장성을 제공합니다. 앞으로 CAN FD와 같은 새로운 기술이 등장하면서 더 빠르고 유연한 CAN 네트워크가 다양한 분야에서 활용될 것으로 기대됩니다.

반응형