솔루션 CAN 버스 인터페이스 바로 알기

CAN 버스 인터페이스 바로 알기

Sep 30, 2021

설명

서문

Winstar는 변함없이 고객에게 종합적인 솔루션 서비스를 제공하고 있으며, 그에 따라 스마트 디스플레이 시리즈 제품을 활발히 출시해 왔습니다. 처음 출시된 CAN 시리즈 스마트 디스플레이는 이를 출발점으로 삼았습니다. CAN 버스란 무엇일까요? 작동 원리는 무엇일까요? 사용자에게는 어떤 종류의 장점을 제공할까요? 다음 글에서 자세한 정보를 참조하시기 바랍니다.

개요

CAN(Controller Area Network)은 풍부한 기능이 포함된 자동차용 버스 표준입니다. 이는 네트워크상의 ECU(Electronic Control Unit)가 호스트 없이 서로 통신할 수 있도록 지원하고자 고안되었으며, 컨트롤 목적으로 호스트(마스터)가 있어야 하는 RS485 인터페이스와는 달리 CAN은 호스트 제어를 필요로 하지 않는 더 우수하고 유연한 통신 애플리케이션을 제공합니다.

 

RS485 시스템 토폴로지

RS485 시스템 토폴로지

 

CAN 버스 시스템 토폴로지

CAN 버스 시스템 토폴로지
 

CAN은 메시지 중심 프로토콜을 기반으로 한 브로드캐스트 통신 메커니즘입니다. 이것은 특정 스테이션 주소(노드 ID)를 할당하는 것이 아니라 정보의 내용에 따라 메시지 식별자(각 식별자는 네트워크 전체에서 고유함)를 사용해 메시지의 전송 우선순위 순서를 정합니다.

따라서 CAN에는 유연한 조정 기능이 있으며, 소프트웨어와 하드웨어를 조정하지 않고도 기존 네트워크에 노드를 추가할 수 있습니다. 또한 메시지 전송이 노드의 특수 유형에 따르지 않기 때문에 네트워크 업그레이드 편의성이 좋아집니다.

CAN 버스 애플리케이션은 데이터 통신의 안정성 및 실시간 요청에 완전히 부합합니다. 그래서 CAN 버스 애플리케이션이 산업, 의료는 물론 다른 분야에도 확대되어 널리 사용되는 것입니다.

 

Topology figure (Sub-Block):

Topology figure

 

배경

CAN 버스는 1983년 BOSCH에서 개발했습니다. CAN이 정식으로 발표된 것은 1986년 미국 미시간주 디트로이트에서 열린 미국 자동차기술학회(SAE) 국제회의에서였습니다. 최초의 CAN 컨트롤러는 Intel과 Philips에서 생산하였으며 1987년에 출시되었습니다. 세계 최초로 CAN 기반 멀티라인 시스템을 장착한 자동차는 1991년 출시된 Mercedes-Benz W140이었습니다.

BOSCH에서는 여러 가지 버전의 CAN 사양을 내놓았습니다. CAN 2.0은 1991년에 출시되었습니다. 이 사양은 두 부분으로 나뉩니다. Part A(CAN 2.0A)는 11비트 식별 코드를 사용하는 표준 형식에 해당하고, Part B(CAN 2.0B)는 29비트 식별자를 사용하는 확장판 형식에 해당합니다.

1993년에는 국제표준화기구(ISO)에서 CAN 표준 ISO11898을 발행했습니다. 이후 CAN 표준은 두 부분으로 다시 취합되었습니다. ISO11898-1은 데이터 링크 레이어를 다루고, ISO11898-2는 고속 CAN 버스의 물리적 레이어를 다룹니다. ISO11898-3은 나중에 발표되었으며 저속 CAN 버스 물리적 레이어와 CAN 버스 장애 허용 시스템 사양을 다룹니다. 물리적 레이어 표준인 ISO11898-2와 ISO11898-3은 BOSCH CAN2.0 사양에는 포함되지 않습니다. 이는 ISO에서 별도로 구매할 수 있습니다.

BOSCH에서는 지난 2012년 CAN_FD 1.0, 즉 가변 데이터 속도 CAN을 발표했습니다. 이 사양은 다른 아키텍처를 사용하여 중재 후에 더 빠른 비트 전송률로 전환할 수 있으며 서로 다른 데이터 길이를 전송할 수 있습니다. CAN FD는 기존의 CAN 2.0 네트워크와 호환되므로, 신형 CAN FD 디바이스와 기존 CAN 디바이스가 같은 컨트롤 네트워크상에 공존할 수 있습니다.

1996년 이후부터는 미국 내에서 판매되는 모든 자동차와 경량 트럭은 OBD-II 표준(On Board Diagnostics)을 준수해야 하게 되었습니다. 유럽 연합에서는 2001년 이후 판매된 가솔린 차량과 2004년 이후 판매된 디젤 차량의 경우 EOBD(European On Board Diagnostics) 준수를 필수 사항으로 규정했습니다. 2008년 현재, 미국에서 판매되는 모든 차량은 필수적으로 신호 프로토콜 중 하나로 CAN을 구현해야 합니다.

 

배경

 

특징

하드웨어 특징:

모든 노드가 와이어 두 개로 연결됩니다. 두 개의 와이어가 TP(Twisted Pair)를 형성하며, 특징적인 120Ω 임피던스로 연결됩니다.

CAN 버스가 우성 (0) 신호를 송신하면 이것이 CAN_H 터미널을 높은 레벨로 올리고 CAN_L은 낮은 레벨로 끌어당깁니다. 열성 (1) 신호가 송신되면 CAN_H나 CAN_L 터미널이 구동되지 않습니다. 우성 신호 CAN_H와 CAN_L의 공칭 차등 전압은 2V입니다.

 

물리적 레이어의 신호 형태

물리적 레이어의 신호 형태

 

현실적인 WL0F00039000QGAAASB00 CAN_H/CAN_L 측정치

현실적인 WL0F00039000QGAAASB00 CAN_H/CAN_L 측정치

 

펌웨어 특징:

각 노드가 정보를 보내고 받을 수 있지만, 동시에는 안 됩니다. 메시지나 프레임에는 주로 식별 코드(ID)가 포함되는데, 이것이 정보의 우선순위를 가리킵니다(최대 8데이터 바이트). CRC, ACK 및 기타 프레임 부분도 메시지의 일부분입니다.

노드 하나가 우성 (0) 비트를 송신하고 또 다른 노드가 열성 (1) 비트를 송신하는 경우, 버스에 충돌이 생기고 최종 결과로 우성 비트가 “이기게” 됩니다. 이는 우선순위가 높은 정보에 지연이 발생하지 않는다는 뜻입니다. 우선순위가 낮은 노드 정보는 우성 비트 종료 시점에 자동으로 송신되며, 6 클럭 비트 후에 재전송을 시도합니다. 이런 특징 때문에 CAN은 고속 우선순위 통신 시스템에 적합합니다.

로직 0이나 1의 정확한 전압은 사용한 물리적 레이어의 종류에 따라 다르지만, CAN 기본 원칙에 따라 각 노드는 CAN 네트워크에서 데이터를 모니터링해야 하며, 여기에는 전송 노드 자체도 포함됩니다. 모든 노드가 동시에 로직 1을 송신하는 경우, 모든 노드가 이 로직 1 신호를 보게 되며, 여기에는 전송 노드와 수신 노드도 포함됩니다. 모든 전송 노드가 동시에 로직 0 신호를 송신하는 경우, 모든 노드가 이 로직 0 신호를 보게 됩니다. 하나 이상의 전송 노드가 로직 0 신호를 송신하지만, 하나 이상의 전송 노드가 로직 1 신호를 송신하는 경우, 모든 노드(로직 1 신호를 송신하는 노드도 포함)가 로직 0 신호도 보게 됩니다. 한 노드가 로직 1 신호를 송신하지만 로직 0 신호가 보이는 경우, 이는 회선에 분쟁이 있음을 자각하고 로그아웃합니다. 이 프로세스를 통해 로직 1을 송신하는 모든 노드는 다른 노드가 로직 0을 송신하면 로그아웃하거나 중재에서 패배합니다. 중재에서 패배하는 노드는 나중에 대기열에 정보를 다시 추가하고, CAN 프레임의 비트 스트림은 전송 노드가 하나뿐일 때까지 오류 없이 계속됩니다. 이는 처음으로 로직 1을 송신하는 노드가 중재에서 패배한다는 뜻입니다. 모든 노드가 CAN 프레임을 시작할 때 11비트(또는 CAN 2.0B의 경우 29비트) 식별 코드를 송신하므로, 식별 코드 수가 가장 작은 전송 노드는 시작할 때 0이 더 많습니다. 이 노드가 중재에서 이기게 되며 우선순위가 가장 높습니다.

CAN2.0A/B 데이터 형식:

 
CAN2.0A/B 데이터 형식
 

CAN 버스 트래픽 데이터 형태:

CAN 버스 트래픽 데이터 형태
 

페이로드 데이터 시퀀스

페이로드 데이터 시퀀스

 

결론:

 

CAN 버스 기능의 장점을 크게 5가지로 추려보았습니다.

 
저렴한 비용
  • 저렴한비용:ECU(Electronic Control Units)가 단일 CAN 인터페이스를 통해 통신하고, CAN 버스는 문제를 줄여주고 가벼우며 비용이 저렴합니다.
  • 중앙집중형: CAN 버스 시스템은 ECU 전체를 통틀어 중앙에서 오류 진단(예: OBD-II)과 구성이 가능합니다.
  • 강력함:시스템의 물리적 레이어가 서브 시스템 오류와 EMC(electromagnetic compatibility, 전자파 적합성)에 강합니다.
  • 효율적:CAN 메시지는 우선순위가 지정되며 ID를 통해 비트 중재를 활용하기 때문에 우선순위가 가장 높은 ID가 중단되지 않습니다.
  • 유연함:각각의 ECU에 칩이 하나씩 포함되어 있어 전송된 모든 메시지를 수신하고, 관련성을 결정하여 그에 따라 행동을 취합니다. 따라서 수정이 간편하고 추가 노드를 포함하기도 쉽습니다.
 

몇 가지 응용 분야 예시

  • 자동차(차량 계측, ABS, OBD-II 등)
  • 운송 시스템(열차, 항공기, 배 등)
  • 이동식 장비(적재기/지게차, 건설, 농업 등)
  • 산업용 장비 제어 시스템(산업용 자동화, 정보 관리 등)
  • 가정 및 건물 자동화(HVAC, 엘리베이터 등)
  • 의료 기기 및 실험실 자동화.
 

제한 사항

  • CANopen에는 11비트 CAN ID에 4비트 함수 코드와 7비트 노드 ID가 있습니다. 따라서 버스의 최대 127개 노드에서 고유한 주소를 이용할 수 있습니다.
  • J1939의 경우, 8비트 디바이스 주소가 있는데 이는 노드 ID로 치면 최대 255개에 상당합니다. 주소 255를 브로드캐스트 용도로 사용하고 254는 네트워크 관리 용으로 예약해둡니다. 따라서 버스의 253개 노드에서 고유한 주소를 이용할 수 있습니다.
  • 통신 대역폭이 낮고 전송 거리에 비해 속도가 빠릅니다.

 

CAN Bus Display
비즈니스에 맞는 디스플레이 솔루션에 관해 궁금한 점이 있으십니까? 문의!

구독

Winstar의 최신 소식을 전하는 이메일을 받아보세요.

문의

가격/데이터시트/일반 문의

기술 지원

각종 기술적인 정보가 궁금하시면 문의하세요.

go top
연계
close