자동차의 운전석에 앉으면 실제로 다양한 정보가 시야에 들어온다. 차의 속도를 알려주는 속도계, 엔진의 회전수를 알려주는 타코미터, 연료가 얼마나 남아 있는지 표시하는 연료 게이지, 수온계, 경고표시등 등, 이 모든 것이 인스트루먼트 패널에 집중되어 있다.
앞 장에서도 언급했지만 자동차에는 ECU라고 하는 전자 제어 장치가 곳곳에 탑재되어 있다. 따라서 엔진 제어용, 헤드라이트 제어용, 도어 제어용 등의 각 ECU와 인스트루먼트 패널 제어용 ECU가 연동함으로써 인스트루먼트 패널에 이들 정보를 한눈에 볼 수 있도록 표시할 수 있다.
엔진 제어 ECU에서 얻은 정보를 기초로 속도계와 타코미터를 동작시키고 엔진의 냉각수 온도에 이상이 있으면 경고등이 점등된다. 연료 제어 ECU에서 얻은 정보는 연료 게이지를 동작시킨다. 또 도어 제어 ECU에서 얻은 정보는 도어가 열려 있는 경우에 경고등이 점등되며 최근 흔히 볼 수 있는 슬라이드 도어의 경우 이물질이 끼면 경고등이 점등되면서 경고음이 울린다.
이처럼 인스트루먼트 패널의 정보를 표시하기 위해서 많은 ECU와의 연동이 필요하며 결과적으로 ECU를 서로 접속하는 와이어 수가 증가하게 된다. 바로 이 문제를 해결하기 위해 네트워크 기술이 이용되는 것이다. 인스트루먼트 패널에는 엔진 등의 제어계 장치와 연결하기 위해 CAN(Control Area Network) 통신이 이용된다.
차량의 디지털 제어화는 사실상 엔진 주변의 제어(화점 시기, 연료 분사)에서 시작되었다. 일반적인 엔진에서 최고 회전수가 6,000 rpm이라고 하면 각 기통 당 연소는 1초에 50회, 6기통 차량이라면 300회, 즉 불과 수 msec 간격으로 연료분사와 점화 동작을 반복하기 때문에 이것을 제어하고 있는 ECU가 필요로 하는 정보는 더 빠른 속도로 정확하고 확실하게 전송될 필요가 있다. 이 때문에 차량 내 네트워크에서는 대단히 높은 전송 속도와 신뢰성, 확실성이 요구되며 나아가 철저한 경제성까지 요구된다. CAN은 이러한 요구를 만족하는 고속의 분산형 실시간 차량 네트워크 시스템이다.
CAN은 ISO의 국제 표준 규격이다. 이 사양서는 CAN의 보급 추진단체인 CiA(CAN in Automation)의 홈페이지에 접속하여 이름과 메일주소 등을 등록하면 누구나 무상으로 입수할 수 있다.
CAN의 특징
CAN은 가장 널리 보급된 차량 네트워크 방식이다. 엔진과 브레이크 등의 파워트레인, 스티어링과 서스펜션 등의 새시, 도어와 미러 등의 바디에서 많이 이용되고 있다(표 1). 또한 CAN을 주로 이용하고 LIN을 서브로 사용하는 경우도 있다(그림 1).
CAN은 어떤 특징이 있는 지, 통신을 수행하는 데 최소한 필요한 5가지 특징을 소개한다.
특징 1: 멀티 마스터 통신
CAN은 어느 노드에서나 자유롭게 통신을 개시할 수 있는 멀티 마스터 방식이다. 통신 개시 타이밍은 이벤트가 일어남으로써 개시된다. 여기서 말하는 이벤트란 각 노드에서 통신을 수행할 필요가 발생했을 때를 말한다. 내용은 각 자동차 업체의 시스템 사양에 따라 다르다.
CAN에서는 복수의 노드에서 동시에 이벤트가 발생했을 경우에 각 노드의 신호를 이용해서 조정을 수행함으로써 통신의 충돌을 피하게 된다. 이 구조에 대해서는 뒤에 설명한다.
특징 2: 버스형의 토폴로지
CAN 토폴로지는 버스형이다. 최대 노드 수는 통신 속도에 의존하지만 1 Mbps인 경우에 최대 30노드가 되며 반드시 종단 저항이 필요하다. 이것은 규격으로서 결정되어 있다.
특징 3: 차동 전송 방식을 이용
CAN에서는 두 개의 와이어 사이에 발생하는 차동 전압을 신호 레벨로 검출하는 방식을 채용하여 외부의 노이즈에 쉽게 영향을 받지 않는 특징이 있다. 즉 노이즈가 신호선에 침입해도 CAN_H, CAN_L 양쪽 라인 모두 전위가 상승하여 두 와이어 간의 전위차는 변화하지 않는다. 차동 전압이 없는 것을 디지털 신호 “1”(이것을 리세시브라고 한다), 차동 전압이 있는 것을 디지털 신호 “0”(이것을 도미넌트라고 한다)으로 규정하고 있다(그림 2). “0”(도미넌트)은 “1”(리세시브)을 덮어 쓴다고 기억하기 바란다. 통신 거리는 통신 속도에 의존하지만 1 Mbps의 경우에 최대 40 m이며, 역시 규격으로 규정되어 있다.
특징 4: 고속 규격과 저속 규격
CAN은 통신 속도가 다른 두 개의 규격이 존재한다. 125 kbps를 경계로 고속 CAN과 저속 CAN이 그것이다. 고속 CAN은 ISO11898로 규격화돼 있으며 통신 속도는 최대 1 Mbps, 최소 125 kbps이다. 저속 CAN은 ISO11519로 규격화돼 있으며 통신 속도는 최대 125 kbps이다. 현재 보급되고 있는 통신 속도로는 순서대로 500 kbps, 250 kbps, 125 kbps, 83.3 kbps, 33.3 kbps 등이 있다. 고속 CAN은 2.5~3.5 V 전압을 이용하고, 저속 CAN은 1.5~2.5 V 전압을 이용한다.
특징 5: 에러 카운터로 상태천이
CAN에서는 5종류의 에러 검출에 대응하고 있다. 각 노드는 에러 카운터를 갖고 있다. 에러가 발생하면 정해진 정수분만큼 카운터를 증가시킨다. 반대로 통신이 성공하면 역시 정해진 정수분만큼 카운터를 감소시킨다. 이 에러 카운터 값에 따라서 통신 상태를 노드별로 천이시킨다. 이렇게 해서 노드별로 통신 제한을 하는 구조로 되어 있다.
CAN의 프레임 구성
CAN을 이해하기 위해서 기본적인 통신 단위인 프레임에 대해 살펴보자. CAN에는 4종류의 프레임이 있으며 각각 데이터 프레임, 리모트 프레임, 에러 프레임, 오버로드 프레임이라고 부른다(그림 3).
데이터 프레임
데이터를 송신하기 위한 전송 포맷으로 7개의 필드로 구성되어 있다.
(a) SOF(Start of Frame)
데이터 프레임 또는 리모트 프레임의 시작을 나타내는 것이며 반드시 1비트의 “0”(도미넌트) 필드이다. 이 버스 아이들 상태(리세시브)→도미넌트에 대한 에지는 다른 모든 노드에 대한 동기 신호가 된다.
(b) Arbitration Field
데이터의 우선순위를 결정하는 필드이다. 식별자(ID) 필드라고도 하며 표준 포맷과 확장 포맷이 있다. 표준 포맷은 12비트, 확장 포맷은 32비트로 구성되어 있다.
(c) RTR
리모트 송신 요구 비트. 이 비트가 도미넌트인 경우 이 메시지가 데이터 프레임인 것을, 또 리세시브의 경우는 리모트 프레임인 것을 나타낸다.
(d) Control Field
다음 데이터 필드 내에서 몇 바이트가 송신될 지를 나타낸다. 리저브(reserve) 비트라고 불리는 2비트의 도미넌트와 4비트의 데이터 길이 정보로 구성된다.
(e) Data Field
메시지 내에서의 데이터 바이트 부분이다. 최대 8데이터, 64비트까지 설정할 수 있다.
(f) CRC 필드
전송된 프레임이 바른지 아닌지를 체크하기 위한 16비트의 필드이다.
(g) ACK 필드
정상 수신 확인을 위한 2비트의 필드이다.
(h) EOF(End of Frame)
데이터 프레임의 종단을 나타내는 7비트의 “1”(리세시브)의 필드이다.
(i) ITM
데이터 프레임, 리모트 프레임, 에러 프레임, 오버로드 프레임에서 다음의 프레임 사이에 삽입되는 필드이며, 각 프레임의 구분으로서 보통 3비트의 리세시브로 구성된다. 인터미션 중에는 어떠한 노드도 메시지의 송신을 개시할 수 없지만 오버로드 프레임을 송신하여 다음 메시지의 송신 개시를 늦출 수 있다.
<저작권자 © AEM. 무단전재 및 재배포, AI학습 이용 금지>