|
자동차 네트워크
사람들은 각기 몇 가지 네트워크에 속해 있습니다. 어느 고등학생은 학교라는 네트워크, 학원이라는 네트워크, 가족이라는 네트워크에 속해 있을 것입니다. 또 어느 30대 중반의 회사원은 회사라는 네트워크, 인터넷 동호회라는 네트워크, 고등학교 동창모임 네트워크에 속해 있을 것입니다. 이런 각 네트워크는 사람이라는 하드웨어와 그 사람이 어떤 기능을 하여야 하는지의 소프트웨어 그리고 하드웨어간의 대화방법인 통신규약이 정해져 있을 것입니다. 가령 학교는 학생과 선생님이라는 하드웨어로 구성되어 있고, 학생은 공부를 하도록 선생님은 공부를 가르쳐 주도록 소프트웨어화 되어 있습니다. 또한 한국어라는 통신규약으로 서로 대화를 합니다. 이렇게 하드웨어, 소프트웨어 그리고 통신규약이 네트워크 구성의 필요조건이라 말할 수 있습니다.
하나의 자동차도 이러한 네트워크로 구성되어 있습니다.
* 자동차 네트워크 중 하드웨어와 그 소프트웨어
자동차 네트워크에는 Electric Control Unit(이하 ECU)이라는 핵심 하드웨어가 있습니다. ECU는 자동차의 중요 어셈블리를 제어하고 관리하는 기능을 가진 작은 컴퓨터로 이해할 수 있습니다. 현대자동차의 제네시스에는 첨단 자동차 기술이 총동원되어 70여개의 ECU가 탑재되어 있습니다. 쌍용자동차의 체어맨W에는 40여개의 ECU가, 벤츠 S클래스와 BMW 7시리즈에는 각 80여개의 ECU가, 그리고 렉서스 LS시리즈에는 무려 100여개의 ECU가 탑재되어 있습니다.
학교라는 네트워크 안에는 선생님이라는 하드웨어들이 있을 것이며 그 선생님들은 모두 같은 과목을 가르치지는 않을 것입니다. 어떤 선생님은 수학을 가르치도록 다른 선생님은 영어를 가르치도록 소프트웨어화 되어 있을 것입니다. 자동차 안의 ECU들 또한 각기 그 역할에 맞게끔 소프트웨어화 되어 있습니다. 가령 Engine Control Unit이라는 ECU는 운전자의 가속요구치에 따라 연료분사량과 공기흡입량을 조절하여 적절한 동력을 발생시키도록 소프트웨어화 되어 있고, Transmission Control Unit이라는 ECU는 트랜스미션의 기능이 원활히 제어되도록 소프트웨어화 되어 있다.
아래 표는 자동차에 관심이 있는 사람이라면 한 번쯤은 들어봤을 법한 대표적인 ECU의 명칭, 주요 기능에 대한 간략한 설명입니다
이렇게 소프트웨어화 되어 있는 자동차 네트워크 중 하드웨어인 ECU는 그 필요 위치에 따라 자동차에 분산 장착되어 있습니다. 각 ECU는 필요에 따라 타 ECU가 제어하고 있는 값을 알아야만 할 텐데 어떻게 그 정보를 공유할까요?
* 자동차 네트워크 중 통신규약
기능이 유기적으로 제어되어야 하는 ECU끼리는 서로 연속적인 통신을 하며 서로의 상태를 알고, 각 해당 ECU의 상태를 알려야 합니다. 이를 위하여 하나의 자동차 안에서 수 십 여개의 ECU가 유기적인 통신을 안정적이고 원활히 수행할 수 있도록 직렬통신(통신 BUS를 통하여 한 번에 하나의 비트 단위로 데이터를 전송하는 과정)이라는 통신규약을 발전시켜 왔습니다.
그 중 CAN(Controller Area Network) 통신규약은 자동차 네트워크에서 가장 널리 쓰이는 통신규약 중 하나로써 최대 1Mbps(통상적으로 500kbps 내) 속도로 최대 2천여개(통상적으로 100개 내)의 ECU간 통신이 가능하도록 설계되어, 대부분의 자동차 제작사가 사용하고 있습니다.
이 CAN 통신규약은 1983년 Bosch에 의해 최초 개발되었고 20여년의 역사를 거쳐 2012년 현재 가장 널리 쓰이는 CAN 2.0 standard까지 발전되어 왔습니다. 이 CAN 2.0은 그 쓰임새에 따라 High speed CAN protocol과 Low speed CAN protocol로 나뉘어 사용되고 있습니다. 그 중 CAN 2.0 standard - High speed CAN protocol에 대하여 좀 더 자세히 알아보겠습니다.
* CAN 2.0 standard - High speed CAN protocol
이 통신규약을 위해서는 ECU끼리 2가닥의 전선으로 연결되어 있어야 합니다. 특히 꼬임선을 권장하는데 이는 전자파 등의 외부간섭효과를 최소화하기 위한 장치입니다.
2가닥의 전선이 옆 그림과 같이 2V의 전압차이를 형성할 때에는 각 ECU에서 0이라는 디지털 신호를 인식하며, 전압차이가 없어질 때는 각 ECU에서 1이라는 디지털 신호를 인식합니다. 각 ECU는 이런 디지털 신호를 초당 약 5 x105번 전송하고 인식할 수 있어야 합니다.
이런 아날로그 전압신호변환이 약 110개 정도 있어야 하나의 메시지가 만들어지며, 이런 메시지는 하나의 CAN 네트워크에서 약 1,800개 이상이 전송되고, 자동차에는 보통 1개 이상의 CAN 네트워크가 존재합니다. 우리가 몰랐던 자동차 네트워크 안에서 이런 물리적 현상이 벌어지고 있다니 놀랍지 않은가요?
위에서 언급하였듯 하나의 메시지에는 약 110개의 아날로그 전압신호변환에 의한 디지털 신호가 있어야 합니다. 그 메시지는 아래와 같이 정해진 규약에 의해 구조화 되어 있어야 각 ECU에서 해석이 가능합니다.
메시지 구조 중 중재 구간(Arbitration field)과 데이터 구간(Data field)은 가장 중요한 부분입니다. 중재 구간의 첫 11bit는 메시지를 어떤 ECU가 어떤 메시지를 보내는가에 대한 정보(ID)가 들어있으며 데이터 구간에는 보내지는 신호들이 들어있기 때문입니다.
그럼 이 신호들이 실제 어떻게 메시지 안에 구성되어져 있고 어떤 ECU들이 어떻게 네트워크를 구성하고 있는지 살펴보겠습니다.
* 자동차 네트워크 사례 분석
지금까지 살펴보았듯 자동차 네트워크는 ECU라는 각기 고유의 기능으로 소프트웨어화 되어 있는 하드웨어와 ECU간의 신호전달을 위한 통신규약으로 구성되어져 있습니다. 아래 그림은 2011년 상용화되어 출시된 한 하이브리드 자동차의 네트워크 회로도입니다.
위 회로도의 한 하이브리드 자동차는 약 30여개의 ECU를 갖고 C-CAN, CCP-CAN, M-CAN, B-CAN 이라는 4개의 CAN 네트워크로 구성되어 있다. 이 중 BMS 컨트롤 모듈(배터리 성능 관리), MCU(모터 성능 관리), 하이브리드 컨트롤 모듈(엔진과 모터의 연동 성능 관리), PCM(출력 성능 관리)이라는 ECU는 C-CAN과 CCP-CAN이라는 2개의 네트워크에 같이 연결되어 다른 네트워크간의 데이터 전달을 위한 게이트웨이 역할을 병행합니다.
이 하이브리드 자동차의 각 ECU는 고유 ID를 갖는 1개 이상의 메시지를 전송하고 하나의 메시지는 최대 8 byte(64 bit)의 데이터를 담고 있습니다. 이 데이터의 구조는 자동차 제작사의 설계의도에 따라서 8 bit 짜리 신호 8개가 실려 64bit 공간이 꽉 찰 수도 있고, 16bit 짜리 신호 2개만 실리고 32bit 의 공간은 비어 있을 수 있습니다. 이런 메시지와 신호 구조를 좀 더 자세히 이해하기 위하여 위에서 예를 든 한 하이브리드 자동차의 CCP-CAN 네트워크를 분석해보겠습니다.
위 메시지 분포에서 해석할 수 있듯 특정 ID를 갖는 메시지는 그 메시지의 중요도에 따라 초당 10번에서 100번 정도까지 네트워크에 전송됩니다. 이 각 메시지에는 아래 그림과 같이 가공되지 않은 데이터가 담겨져 있습니다.
위 그림을 해석하자면 ID 2A0(16)을 갖는 메시지에는 8 byte의 정보가 담겨 있고 각 byte 당 2D, 75, 6B, 84, 63, 03, 7E, 78 이라는 16진수 데이터가 담겨져 있습니다. 이렇게 가공되지 않은 데이터는 자동차제작사에 의해 설계된 데이터베이스(.dbc 파일)에 의해 물리적 의미를 갖는 데이터로 해석됩니다. 가령 두 번째 byte인 75(16)가 엔진 내부 온도를 의미하고 물리적 의미로의 변환을 위한 곱의 값이 0.5, 절편 값이 10 이라면 아래 변환 식에 의하여 엔진 내부온도가 68.5℃라는 물리적 값으로 변환됩니다.
이렇게 물리적 의미로의 변환을 위한 핵심요소인 데이터베이스는 자동차 제작사의 기밀 중 하나입니다. 해당 자동차의 세세한 성능정보를 모두 볼 수 있는 열쇠이기 때문입니다. 아래 그림은 데이터베이스라는 열쇠를 이용하여 해당 하이브리드 자동차의 BMS 컨트롤 모듈과 하이브리드 컨트롤 모듈에서 발생시키는 특정 메시지 중 배터리 전류(A), 배터리 충전상태(SOC), 엔진 회전수(RPM) 신호 값을 분석한 그래프입니다.
CAN 네트워크에서는 두 가닥 전선을 통하여 전송되는 아날로그 신호를 이용하여 위와 같은 물리적 의미로의 변환을 마지막으로 자동차 네트워크에 초당 수천여개의 신호를 전송하고 있습니다. 이렇게 메시지에 담긴 신호를 통하여 각 ECU는 자신이 관할하고 있는 센서 및 제어 값을 네트워크 신호화하여 다른 ECU와 공유합니다. 이런 유기적인 공유를 통하여 하나의 자동차는 좀 더 안정적인 제어를 할 수 있게 됩니다.
* 자동차 네트워크의 미래
운전자의 자동차에 대한 요구사항이 늘어나면서 다음 세대를 준비할 자동차 전장품과 자동차 네트워크에 관한 연구 ․ 개발이 활발히 이루어지고 있습니다. 그뿐만 아니라 최근에는 자동차 네트워크만이 아닌 자동차 간 네트워크 그리고 자동차와 교통 인프라(주유소, 도로상황 등) 간 네트워크에 대한 소비자 요구도 커져 가고 있습니다.
이제는 녹색 친환경 자동차 시대에서 지능형 자동차 시대로의 도약을 위한 시기입니다. 멀지 않은 미래에 인간의 무한한 욕구를 충족시켜주면서 지금보다 안정적인 네트워크 자동차를 만날 기대를 해봅니다.
통신의 종류
가. 직렬과 병렬 통신
1) 직렬 통신
컴퓨터 간에 또는 컴퓨터와 주변 장치 간에 한 번에 한 비트(bit)씩 전송하는 통신방식을 말한다.(그림 3-4 참고)
2) 병렬 통신
컴퓨터 간에 보내고자 하는 신호를 몇 개의 선으로 나누어 여러 개의 데이터 비트(data bit)를 동시에 전송하는 방식을 말한다.(그림 참고)
나. 동기와 비동기 통신
1) 동기 통신
한 문자단위가 아닌 미리 정해진 수만큼의 문자열을 한 묶음으로 하여 한 번에 전송하는 방식을 말한다.
이것은 데이터와는 별도로 송신과 수신측의 시간적 지연을 방지하기 위해 하나의 기준 클락(SCK선)으로 동기신호를 맞추어 3선식으로 동작한다.
3선 동기 통신 중 가장 중요한 신호는 SCK(serial clock)선으로 이 클럭 선에 문제가 발생되면 데이터가 출력되어도 시스템이 작동되지 않는다.
그러나 TX나 RX 선이 이상이 발생하면 해당되는 기능만 작동이 안 된다.
2) 비동기 통신
비동기 통신은 데이터를 보낼 때 한 번에 한 문자씩 전송되는 방식이다.
즉, 아래 그림과 같이 매 문자마다 스타트 비트(start bit)와 스톱 비트(stop bit)를 부가해 정확한 데이터를 전송한다.(CAN 통신)비동기식 전송은 스타트 비트와 스톱 비트 사이의 간격이 가변적이므로 불규칙적인 전송에 적합하다.
비동기 통신은 통신선의 단선이나 단락으로 인해 시스템이 작동되지 않는 것을 방지하기 위해 2선으로 되어 있으므로, 1선에 이상이 발생되어도 또 다른 선에 의해 작동된다.
다) 단방향과 양방향 통신
통신선상에서 전송되는 데이터가 어느 방향으로 전송되는가에 따라 구분한다.
1) 단방향 통신
데이터를 주는 ECU와 데이터를 받아 실행만 하는 ECU의 통신방식이다.
자동차에 적용되는 사례로는 먹스(MUX) 통신과 PWM 방식 등이 있다.
2) 양방향 통신
양방향 통신은 ECU들이 서로 데이터를 주고받는 통신방식으로, 서로 데이터를 주거나 받을 수 있다.(CAN 통신)
3.1.4 자동차 네트워크 시스템 적용
위의 그림은 자동차에 적용되고 있는 네트워크 프로토콜을 분류한 것으로서, 아래 그림과 같이 다양한 시스템 제어에 사용되고 있다.
프로토콜 | CAN 2.0 | LIN | FlexRay |
적용분야 |
제어시스템(파워트레인),
고장진단
|
바디계 |
X-By-Wire,
안전시스템 제어
|
전달매체 |
2선식
(트위스트 페어케이블) |
1선식
|
2선식(트위스트 페어
케이블),광섬유 |
액세서
방식 | 이벤트 방식
(멀티마스터) |
타임트리거
(마스터/슬레이브) |
타임 트리거
|
ID 길이 | 11비트(CAN2.0A)
29비트(CAN2.0B) |
8비트 |
11비트 |
데이터
길이 |
0~8바이트 |
8바이트 |
0~254바이트 |
최대전송
속도
| CAN C(고속, 500k~1Mbps) CAN B(저속, 125kbps내외) | 1~20kbps | 10Mbps
|
최대버스
길이 |
지정 안함(평균 40m) |
40m
|
24m |
최대노드수 |
지정 안함(평균 3개) |
16개 |
22개 |
하드웨어 |
있음 |
없음 |
있음 |
위 그림은 자동차에 적용되고 있는 주요 네트워크 프로토콜을 비교한 것이다.
현재 자동차용 네트워크 프로토콜의 적용은 점차 증가하고 있으며, 향후에는 자동차의 높은 안전성을 추구하게 되어 위 그림과 같이 속도가 빠른 FlexRay의 적용이 급증할 것으로 예측되고 있다.
최근에는 그림과 같이 70개 이상의 ECU를 탑재한 차종들이 경쟁적으로 출시되고 있어 서로 다른 버스 시스템을 연결하기 위한 “게이트웨이 기능”이 도입되고 있다.
현재 고속CAN인 CAN C가 도입되어 상당한 시간이 흘렀지만, 자동차의 고성능화, 고안전화로 다음과 같은 문제점들이 나타나고 있다.
① 서로 다른 통신시스템의 증가에 따른 게이트웨이의 증가
② 네트워크의 통신 데이터 량의 증가
③ 애플리케이션의 증가와 상호 호환성 확보의 어려움
④ 네트워크 토플로지(형상)의 복잡
이러한 난제들로 인해 현재 주류인 CAN에서 미래에는 FlexRay로 대체될 것으로 예상되고 있다.
위 그림은 게이트웨이의 기능을 그림으로 나타낸 것이다.
게이트웨이(gateway):서로 다른 네트워크 간에 통로의 역할을 하는 장치를 말한다.
위 그림은 향후 자동차 시스템의 발전 동향을 그래프로 나타낸 것이다.
그림을 참고로 하면 미래의 자동차는 자율주행제어를 넘어 통신에 의한 통합정보제어로 발전할 것으로 예측된다.