Research Institute
  • CAN 통신을 이루는 하드웨어 (CAN Controller & CAN Transceiver)
    2024년 10월 04일 12시 29분 51초에 업로드 된 글입니다.
    작성자: IIIIIIIIIIIIIIIIIIIIl

    개요

    CAN 통신을 이루기 위해서는 크게 Micro Controller, CAN Controller, CAN Transceiver로 구성됩니다. 주로 개발자가 코드를 작성하는 영역은 마이크로컨트롤러로 CAN 통신을 제어하는 역할을 하며 작업을 수행하기 위한 애플리케이션 코드를 작성합니다. 그리고 사용할 CAN 프로토콜의 유형(CAN 2.0A, CAN 2.0B, CAN FD 등)을 결정하고 데이터를 전송하고 수신할지를 설정하며 CAN Controller의 사용 방법(전송 속도, 전송 및 수신 메커니즘 등)을 구성합니다. CAN Controller는 CAN 프로토콜에 따라 데이터의 전송과 수신을 처리하고 CAN 메시지의 전송 또는 수신을 트리거합니다. 또한 Message Filtering, Arbitration, Message Framing, Error handling and detection 등의 역할을 수행합니다. CAN Transceiver는 물리적(전기적) 데이터의 전송과 수신을 담당하며 CAN Controller가 이해할 수 있도록 데이터 신호를 변환하는 역할을 수행합니다.

    CAN 버스 아키텍쳐

    CAN 컨트롤러 인터페이스 구조

    CAN 컨트롤러 인터페이스 구조는 Stand-Alone CAN Controller, Integrated CAN Controller, Single-Chip CAN Node 등 다양한 형태의 구조를 가지고 있으며 각각 구조별로 특징을 가지고 있습니다.

    • Stand-Alone CAN Controller : 독립적으로 작동할 수 있는 CAN 프로토콜을 지원하는 장치로 유연성이 뛰어나 다양한 마이크로컨트롤러와 함께 사용할 수 있습니다. 추가 기능이나 특정 요구 사항에 맞춘 업그레이드가 용이합니다. 그러나 별도의 하드웨어가 필요하여 PCB 공간을 차지하고 외부 인터페이스를 설정해야 하므로 설계가 복잡해질 수 있습니다.
      • 구성 요소 
        • 마이크로컨트롤러(MCU)
        • CAN 컨트롤러
        • CAN 트랜시버

    Stand-Alone CAN Controller (NXP)

     

    • Integrated CAN Controller : 마이크로컨트롤러 내부에 CAN 컨트롤러 기능을 갖춘 장치로 PCB 공간을 절약할 수 있고 CAN 트랜시버 부품만 필요하기 때문에 공간 및 비용 효율적입니다. 또한 외부 회로를 최소화하여 설계가 간단해지는 장점이 있습니다. 하지만 유연함이 떨어지고 고급 기능이나 성능 제한이 발생할 수 있으며 특정 프로세서에 의존하므로 다른 시스템으로의 전환이 어렵거나 제한적일 수 있습니다.
      • 구성 요소 
        • 마이크로컨트롤러(MCU) = CAN 컨트롤러 기능 내장
        • CAN 트랜시버

    Integrated CAN Controller (Holt Integrated Circuits)

     

    Single-Chip CAN Node :하나의 칩에 CAN 컨트롤러, CAN 트랜시버, 마이크로컨트롤러의 기능을 모두 포함한 장치로 모든 기능을 하나의 칩에서 수행할 수 있습니다. 이는 최소한의 부품으로 설계 가능하여 공간 효율성이 뛰어나고 부품 수가 줄어들어 생산 비용을 절감할 수 있는 장점이 있습니다. 그러나 특정 칩(브랜드)에 대한 의존성이 생겨 확장이 어려울 수 있으며 하나의 칩에서 모든 기능이 이루어지므로 문제가 발생할 경우 디버깅이 복잡할 수 있습니다.

    • 구성 요소 
      • 마이크로컨트롤러(MCU) = CAN 컨트롤러 + CAN 트랜시버 기능 내장

    Single-Chip CAN Node (NXP)

    참고자료

    - 고속 디지털 통신을 위한 격리된 CAN 트랜시버 IC들 (octopart.com)

    - Texas Instruments - IntroductiontotheControllerAreaNetwork(CAN)

    댓글