상세 컨텐츠

본문 제목

벤츠는 전자시스템을 어떻게 컨트롤 할까? CAN에 대한 개념 및 장/단점

산업용 부품관련

by 일론머스켓 2020. 4. 27. 11:03

본문


금일은 각종 차량 및 건설기계장비에서 많이 사용되고 있는 통신방식인 CAN에 대해 대략적으로 알아보는 시간을 갖도록 하겠습니다. 우선 CAN의 개념을 이해하기 위해서는 CAN이 어떤 배경으로 개발되었는지를 아셔야 할 것입니다.

역사적 배경으로 거슬러가보면 상용화 자동차의 개발과 직접적인 관련이 있습니다.

요즘 자동차들을 보면 전자 시스템으로 완전 무장이 되어 있지 않습니까? 게다가 인공지능인 AI 기술까지 접목되면서 자동차에서의 편리함과 기술력이 날이 갈수록 빠르게 진화되고 있습니다.

하지만 전자 시스템이 계속해서 추가가 되면 어떻게 될까요?
자동차 내부에서는 각 파트별 전자 시스템의 모듈 수가 계속해서 증가할 것입니다.
그렇게 되면 그 모듈과 모듈 간의 통신을 위한 배선이 아래와 같이 복잡해지고 증가가 될 것입니다.

과거 배선 방식 // 출처: https://canbuskits.com

이렇게 되면 어떠한 시스템에서의 문제 발생 시 원인을 찾아내기가 상당히 곤란해지고, 무엇보다도 무게가 증가하게 되면서 연비 하락으로 이어지게 될 것입니다. 그렇게 되면 자동차의 경쟁력 또한 크게 감소할 것입니다.

1986년 독일 자동차 완성 메이커 벤츠사에서 이러한 문제를 미리 인지하고 세계적인 독일 자동차 부품회사인 보쉬사에 새로운 통신방식의 기술 개발을 요청하게 되면서 자동차 내의 서로 다른 세 개의 전자 장치(ECU: Electronic Control Unit) 간의 통신 장치를 최초로 개발하게 됩니다. 그리고 미국의 세계적인 반도체 팹리스 회사인 인텔사에서 1987년 집적화된 CAN 부품을 생산하게 됩니다.


CAN은 Controller Area Network의 약어로 통신방식의 일종입니다.
여러 가지 노드들을 병렬로 연결하여 통신하는 시리얼 버스 시스템입니다.

여기서 노드(Node)라는 것은 통신에서의 연결 지점이라고 할 수 있으며, 하드웨어 관점으로 보면 통신을 할 수 있는 하나의 개체로 이해하면 될 것 같습니다.

CAN에서의 큰 특징은 2개의 꼬여있는 통신 선(버스)을 가지며 통신선상에 데이터를 띄어놓고 필요한 데이터를 가져다 사용하는 방식이라는 것입니다. 여기서 선을 꼬아주는 이유는 전위차를 이용하여 전기적인 노이즈를 최소화하기 위함이라고 합니다. 기본적으로 통신 자체는 전기적 노이즈에 상당히 예민하고 민감하기 때문에 외부 노이즈 및 간섭을 최소화시켜주는 것이 중요한 점입니다.

그리고 2개의 통신선은 CAN High와 CAN Low입니다.

 

와이어의 복잡성을 떠나 다른 관점에서의 불편함으로 접근하여 설명해보면, 과거 방식인 UART 통신의 경우 원료비 생산시간이 많이 소요가 되며 무엇보다도 통신 자체적으로 신뢰성과 관련한 문제들이 많이 발생되었습니다. 아무래도 전선수가 너무 많다 보니 배선을 잘못하는 문제도 발생했을 것이고, 각 통신선의 간섭에 의한 통신 불량도 잦았으리라 생각합니다.


CAN 방식은 Multi Master 방식으로 컨트롤하는 마스터가 따로 없고 개별 노드에서 마스터(CPU) 기능을 수행하기 때문에 빠른 반응속도 및 신뢰성과 관련된 특수 요건들이 충족되게 됩니다.

CAN(Controller Area Network)의 장/단점


1.Multi Master 통신을 한다.
통신 버스를 공유하고 있는 CAN 컨트롤러(ECU)들은 모두가 Master(뇌) 역할을 하여 언제든지 버스를 사용하고 싶을 때 사용합니다.


2. 노이즈에 강하다.
Twist Pair 2선을 사용하여 전위차를 이용한 통신으로 전기적인 노이즈에 매우 강합니다.


3. 저렴한 가격
많은 업체들이 CAN 칩(MCU) 제작으로 경쟁을 하고 있으며, 이로 인해 비용이 비교적 저렴입니다.


4. 고속 통신이 가능하다.
거리에 따라 통신속도가 차이가 있겠습니다만, 40m 기준 최대 1Mbps까지 가능합니다.


5. 장거리 통신이 가능하다.
최대 1,000m까지도 40kbps로 통신이 가능합니다.


6. 높은 안정성
하드웨어적으로 설정된 ID만 골라 수신을 받을 수 있기 때문에 안정적입니다.


7. 실시간 통신이 가능하다.
한 번에 8개의 데이터를 전송하는 하드웨어 패킷(Packet)을 기본으로 제공합니다.
데이터 버퍼에 데이터를 쓰고 전송만 하면 그 외 모든 처리는 하드웨어가 하기에 분산 제어 분야 적용이 용이합니다.


※패킷(Packet)은 네트워크를 통해 전송하기 쉽도록 자른 데이터의 전송 단위입니다. 패키지와 버킷의 합성어라고 합니다.

※데이터 버퍼(Data Buffer)는 데이터를 일시적으로 저장하며 다양한 입출력 기와 관련하여 여러 가지 기능을 수행하는 보조 자료 저장장치입니다. 한 장치에서 다른 장치로 데이터를 송신할 때 일어나는 시간의 차이나 데이터 흐름 속도의 차이를 조정하기 위해 사용하는 저장 장치라고 합니다.


8. 효율성
CAN High와 CAN Low로 우선순위를 나누어 효율적으로 데이터를 처리하며, 사용되는 전선의 양을 획기적으로 줄일 수 있습니다.


이렇게 장점이 무수히 많은 CAN도 치명적인 단점이 하나 있습니다.


장점이자 단점인 2개의 꼬임선은 전압 차이로 데이터를 읽기 때문에 만약 두 선중 하나라도 단선이 된다면 통신이 불가능합니다.


CAN 개념 요약 및 추가 설명

1. CAN은 통신하는 방식이자 규격이다.
2. 각 노드에는 통신을 가능케 하는 MCU(Micro Controller Unit)와 고유 ID(디지털 코드)가 내장되어 있다.
3. 배선 절감/고속 통신이 가능하기에 효율적인 통신 방식이다.
4. CAN 소프트웨어 프로그램, 애널 라이저, 모니터링 기기 등을 활용하면 데이터 확인 및 분석이 가능하다.
5. 통신 개발자에게는 데이터를 정확하게 분석하고 편집하여 가공하는 것이 중요한 임무이다.

 

CAN 응용분야


1. 일반 차량(승용차, 트럭, 버스)
엔진 관리 시스템, 미끄럼 방지 브레이크, 기어 제어, 서스펜션 등과 같은 ECU사이의 커뮤니케이션
계기판, 조명, 에어컨, 창문, 중앙 잠금, 에어백, 좌석 벨트 등과 같은 장치들을 제어(차체 제어)


2. 중장비 차량
건설용 차량, 지게차, 트랙터 등
파워트레인과 수압 제어를 위해 CAN사용


3. 산업 자동화
모든 종류의 자동 제어 장비를 탁월하게 연결(제어 장치, 센서, 액추에이터)
초기화, 프로그램과 파라메터 업/다운로드, 측정값/실제값 교환, 진단 등을 위해 사용
기계 제어(인쇄 기계, 종이와 섬유기계 등) : 서로 다른 지능적 하위 시스템들을 연결
운송 시스템


4. 의료 장비
컴퓨터 단층촬영, X-Ray 기계, 치과와 휠체어


5. 건물 자동화
난방, 에어컨, 조명, 감시 등
엘리베이터와 에스컬레이터 제어  

 

이상입니다. 제 포스팅을 읽어 주셔서 대단히 감사합니다.

관련글 더보기