FlexRay 통신 시스템은 빠른 데이터 전송 속도, 오류 허용, 결정적 작동을 요구하는 차량 내 X-by-Wire 애플리케이션을 위해 특별히 개발되었다. FlexRay는 10 MBit/sec의 데이터 전송 속도에서 완벽한 메시지 전송과 오류 없는 통신을 제공한다.
역사와 기술
1999년 자동차 제조업체인 BMW와 DaimlerChrysler는 미래의 X-by-Wire 애플리케이션 요구를 만족하는 새로운 통신 표준을 개발한다는 목표를 세웠다. 2000년 9월 BMW AG, DaimlerChrysler AG, 반도체 제조업체인 Freescale, Philips 등이 컨소시엄을 구성했다. 최근 몇 년 동안 Bosch, General Motors, Volkswagen 등의 유명한 기업들이 컨소시엄에 참여했다. 현재 BMW, Bosch, Daimler(구 DaimlerChrysler), General Motors, Freescale, NXP(구 Philips), 폭스바겐 등이 FlexRay 컨소시엄의 코어 파트너로 활동하고 있다.
FlexRay 명세는 다음과 같이 구성되어 있다:
● FlexRay 통신 프로토콜
● FlexRay 물리 계층 (물리적 통신 계층)
● FlexRay 버스 가디언
● FlexRay HW 및 SW 인터페이스
다음은 각 부분에 대해 간략하게 살펴본다.
데이터 전송
CAN이나 LIN과 비교하여, FlexRay는 유연성을 발휘하기 위해 데이터의 동기식/비동기식 전송을 지원한다. 또한 통신 주기를 정적 세그먼트와 동적 세그먼트로 분류하는 통신 방법을 사용한다(그림 1 참조). 정적 세그먼트에서, 망 내 각 노드는 슬롯(동일한 길이의 시간 창)을 할당받으며 개별 참가자의 전문은 적시에 일정한 지점에 전달된다. 버스 액세스는 TDMA(Time Division Multiple Access) 방식에 따라 수행된다. 시간이 중요한 실시간 관련 시스템 데이터는 대부분 주기적인 동기식 전송을 필요로 하며, 따라서 정적 세그먼트에서 우선적으로 전달된다.
하지만 낮은 실시간 요건을 따르는 데이터라면, 비동기 메시지 전송이 적합하다. 데이터는 우선순위에 의해 분류된 다음에 사이클의 동적 세그먼트에서 전송된다. 정적 세그먼트와 대조적으로 메시지 길이가 유연하며 일정한 길이의 슬롯에 의해 제한되지 않는다. 버스 액세스는 FTDMA(Flexible Time Division Multiple Access) 방식에 따라 영향을 받는다. 우선순위가 높은 데이터 전송은 한 주기 내에서 보장되며 우선순위가 낮은 데이터는 다음 주기로 지연될 수 있다. 따라서 노드들은 매우 유연한 방식으로 대역폭을 활용한다.
정적 세그먼트와 동적 세그먼트 길이는 자유롭게 결정될 수 있으며 완전히 정적으로 동작하거나 거의 완전히 동적으로 동작할 수 있다. FlexRay는 정적 세그먼트 전송 시간이 알려져 있기 때문에 결정적 시스템이다. 신호 전달 시간은 메시지의 최대 전송 시간, 지연 시간, 지터 등으로 구성된다. 지터는 지연 시간 내 전달 시간의 편차이다. 따라서 각 메시지 전송 시간은 지정된 제한 내에서 확정되어 있다.
자동차 주행에 관계된 시스템에서 신뢰할 수 있는 통신은 매우 중요하다. 따라서 FlexRay는 전송 속도가 10 MBit/sec인 이중화 통신(redundant communication) 채널을 사용한다. 시스템 설계에 따라 메시지가 채널 1 또는 채널 2, 또는 두 채널 모두를 통해 전송될지 결정된다.
안전 관련 메시지는 메시지 수신을 보장하기 위해 두 채널 모두를 사용해서 이중 전송된다. 더 낮은 순위의 메시지는 1채널만 사용한다. 이런 경우에는 10 MBit/sec가 가능하기 때문에 전체 시스템 대역폭이 2배가 된다. 그림 1은 노드 5개(A에서 E까지)로 구성된 통신 사이클의 예를 나타낸 것이다. 노드 A, C, E는 데이터를 두 채널에 이중으로 전송하고(A1, C1, A2, E1, C2), 단지 한 채널에만 비이중적으로 전송한다(B1, D1, D3, D2, A3, E2). 노드 B와 D는 한 채널 동작만을 위해 설계되었고, 따라서 데이터를 이중화 없이 전송한다.
“전역 시각”과 클록 동기화
앞서 언급한 동기식 데이터 전송뿐만 아니라, 안전성 관련 시스템에서 통신 주기 사이에 벌어지는 격차, 즉 IFG(Inter-Frame Gap)를 최적화할 필요가 있다. 이런 목적을 위해, 전체 FlexRay 시스템은 단일 시각을 기반으로 동작해야 한다. 전송되는 데이터에 기반하여 “전역 시각(global time)”을 결정하고, 데이터 버스 시스템이 이를 노드에게 제공한다. 모든 노드의 지역 클록을 전역 시각에 동기화시키기 위해서 정의된 클록 이동(clock drift)을 제외한 특수 알고리즘인 오프셋과 속도 보정 알고리즘이 사용된다. 속도 보정(rate correction)은 연속된 통신 사이클 두 개에서 모든 제어 기기의 클록으로 특정 클록의 편차를 결정해서 중간 값을 계산하고, 중간 값은 각 제어 기기 내에 클록 매개변수로 설정된다. 다음으로 오프셋 보정이 이루어진다. 오프셋 보정은 분산 시스템 내 모든 통신 사이클이 동시에 시작하도록, 즉 단일 위상 내에 있도록 보장한다. 속도 보정이 사용되지 않으면, 시스템 설계 시 최대 클록 이동을 항상 기본으로 취해야 한다. 예를 들어 시스템 내 클록 둘 사이의 편차는 2×1,500 ppm이 될 수 있다. 10 msec의 통신 사이클은 최대 이동 10 msec × 3,000 ppm = 30 μsec가 된다. 결과적으로 속도 보정을 하지 않고 오프셋 보정만을 사용하는 시스템에서 IFG는 최소 30 μsec가 되어야 한다. 속도 보정을 하는 경우, 4 μsec의 IFG를 달성할 수 있다. 이로 인해 메시지 당 24 byte의 페이로드 데이터 전송 속도에서 대역폭이 2배로 증가한다.
<저작권자 © AEM. 무단전재 및 재배포, AI학습 이용 금지>