온라인문의

도서보기


책표지
  • FlexRay 기초 동작 원리 활용

  • 저 자 : Mathias Rausch

  • 출간일 : 2013-01-07

  • ISBN : 978-89-956897-9-0

  • 55,000     49,500배송비 무료

  • 이 책에서는 FlexRay 컨소시엄이 규정한 FlexRay 프로토콜을 설명하고 메커니즘과 모듈 사이의 상호작용을 제시한다.


내용 요약


저 자 : Mathias Rausch
옮 긴 이 : 이건용, 이진우
도서구분 : 번역서
발 행 일 : 2013년 1월 7일
판 매 가 : 55,000원
페 이 지 : 370쪽
판 형 : 크라운판(170x245)
ISBN : 978-89-956897-9-0
난 이 도 : 중급
출 판 사 : 스마트앤컴퍼니(주)





◉ FlexRay란?
FlexRay는 자동차 제조업체와 주요 부품공급업체가 협력하여 개발한 결정성 있는 내고장성(fault tolerant) 고속 버스 시스템이다. FlexRay는 x-by-wire 애플리케이션을 위한 오류 허용성 및 시간 확정적인 성능 조건을 제공한다. FlexRay는 자동차 업계뿐 아니라 항공기나 건설, 농기계, 특장차, 조선, 의료 분야의 기업들도 관심을 보이고 있다.


◉ 서문
이 책에서는 FlexRay 컨소시엄이 규정한 FlexRay 프로토콜을 설명하고 메커니즘과 모듈 사이의 상호작용을 제시한다. 이 책은 프로토콜 규격 2.1 개정판 A와 전기 물리 계층 규격 2.1 개정판 B를 기초로 집필되었다. 이 규격이 공개된 이후 FlexRay의 추가적인 개발 사항에 대해서는 전체적으로 반영하지 않았다. 그 이유는 이러한 작업이 아직 마무리되지 않았을 뿐만 아니라, 그 결과가 공식적으로 제공되고 있지 않기 때문이다. 몇 가지 예외는 공개된 문서에서 발견된 오류로서 추가 개발 작업을 통해서 수정된 사항이다. 프로토콜을 설명하기 위해서 배경 정보를 제공할 것이며, 이는 독자로 하여금 많은 개발상의 의사결정 및 그로 인해 만들어진 프로토콜을 쉽게 이해할 수 있도록 해줄 것이다.

이 책은 FlexRay 프로토콜에 대한 설명 외에도 FlexRay 시스템을 구축하고 구동하기 위해서 개발자가 해야 할 일을 실질적인 구현(implementation)을 통해서 설명할 것이다. 이 구현은 하나의 과제를 다른 방식으로 해결하도록 하는 여러 가지 가능성을 보여줄 것이다. 또한 부록에서는 모든 FlexRay 파라미터를 정리하여 설명하였다. FlexRay 컨트롤러를 초기화하기 위한 C-코드는 프로토콜과 실제 구현을 연결시켜 주며 사용자에게 FlexRay 시스템의 설정을 위한 유용한 힌트를 제공한다.
이 책의 부록에서는 SDL을 짧게 소개하고 있다. FlexRay 프로토콜 규격에서 프로토콜 메커니즘을 규정하는데 SDL의 요소와 방법이 사용되기 때문이다. 이것은 독자가 프로토콜 규격을 좀 더 쉽게 이해할 수 있도록 해줄 것이다.
이 책은 다음과 같이 구성되어 있다. 2장은 개발 목적에서 출발하여 주요 특성과 유스케이스(use cases)를 설명한다. 컨소시엄의 역사와 활동 개요는 프로토콜 개발 과정과 수많은 의사결정 내용을 이해하는 데 도움이 될 것이다.
3장은 프로토콜의 기본 원리에 초점을 맞추고 있다. 메커니즘을 원론적으로 설명하고 상세한 설명은 하지 않는다. 이 장은 FlexRay 프로토콜의 개요를 빠르게 이해하는 데 도움이 될 것이다.
4장은 3장을 바탕으로 보다 상세한 정보를 제공한다. 모든 메커니즘을 상세하게 설명하였으며 메커니즘 간의 상호작용 및 여러 통신 노드 간의 상호작용에 대해서도 이 장에서 다루고 있다. 5장 역시 3장을 바탕으로 전기 물리 계층을 설명하지만 4장만큼 깊게 다루지는 않는다.
6장은 3장에서 5장까지의 내용을 바탕으로 네트워크를 설정하기 위한 규칙을 열거하고 설명한다. 몇 가지 배경 정보를 통해서 이것들을 좀 더 쉽게 이해할 수 있을 것이다. 이 장의 내용은 매우 어렵지만 FlexRay에 사용된 모든 메커니즘 간의 연결을 설명할 것이다.
7장은 네트워크의 안전성 측면에 초점을 맞추어 FlexRay 네트워크에서 지원하는 버스 가디언(bus guardian)을 소개한다.
8장은 기존 FlexRay 컨트롤러의 구체적인 구현과 몇 가지 중요한 특성을 소개한다.
9장은 FlexRay의 활용 측면을 주로 다룬다. 예제를 통해 FlexRay 네트워크 설계 시 제기될 수 있는 질문과 그에 대한 답을 제공한다. 그리고 8장에 설명한 구현을 바탕으로 구체적인 실현 방법을 제시한다.
10장은 FlexRay 프로토콜의 추가적인 개발과 관련하여 전망을 소개한다. 아울러 자동차의 통신 시스템과 소프트웨어 구조에 FlexRay를 어떻게 통합시킬 것인지 제시한다.
부록의 내용은 FlexRay를 실제 적용하는 데 있어서 도움이 될 것이다. 부록 A에서는 SDL
(Specification and Description Language)를 소개한다. 이해를 돕기 위해 프로토콜 규격에 사용된 요소와 메커니즘만을 설명한다. 부록 B는 표를 통해 모든 FlexRay 상수와 파라미터를 간단한 설명과 함께 정리한다. 부록 C는 8장에 서술한 바와 같이 FlexRay 컨트롤러를 초기화하기 위해 9장에서 소개한 예제에 대한 C-코드를 포함하고 있다. 독자는 FlexRay 클러스터를 시작하기 위한 첫 단계를 단축할 수 있으며 상호작용을 좀 더 쉽게 이해할 수 있을 것이다. 이 책의 끝(부록 D)에서는 활용 가능한 FlexRay 회로를 소개한다.


◉ 옮긴이의 말
지난 몇 년 동안 국내 자동차 분야에서는 CAN 통신을 기반으로 차량 네트워크를 구성해왔다. 하지만 각종 규제가 강화되고 사용자의 요구사항이 많아짐에 따라 차량 시스템은 점점 더 복잡해졌으며, 이에 따라 ECU(전자 제어 장치) 간에 주고받는 데이터양도 증가해왔다. 또한 어떤 기능이 하나의 ECU에서만 실행되는 것이 아니라 여러 개의 ECU에서 함께 실행되는 분산 제어 시스템 형태로 바뀜에 따라 지연 없이 정확한 시간 안에 데이터를 처리해야 할 필요성이 더욱 커지게 되었다. 아울러 신뢰성을 보장하기 위해서 통신 채널의 이중화에 대한 요구사항도 점점 커지고 있다.
FlexRay 통신은 이러한 세 가지 요구사항, 즉 대역폭의 증가, 지연 없는 통신, 이중화된 통신 채널에 매우 적합한 프로토콜로서 선진 자동차 업체들을 중심으로 지난 10여 년간 꾸준히 발전하고 개정되어 왔다. 자동차 OEM에서 FlexRay 통신의 구현을 요구하는 경우도 점점 많아지고 있으며, 이에 적절히 대응하지 못하면 새로운 기술로 인한 무역 장벽이 형성될 가능성도 있다.
FlexRay 통신은 기존의 CAN이나 LIN 통신과 달리 각 노드의 파라미터 설정뿐만 아니라 클러스터의 파라미터도 설정해야 하기 때문에 설계 단계에서 고려해야 할 것들이 훨씬 많다. 하지만 세계적으로도 전문가가 많지 않으며, 특히 한국은 전문가가 더욱 부족하기 때문에 기본 개념을 제대로 이해하지 못하고 업무를 시작하는 경우가 많았다.
나는 2006년에 독일에서 FlexRay 프로토콜에 대한 교육 연수를 받으면서 저자인 마티아스 라우쉬(Mathias Rausch) 박사와 FlexRay의 발전 방향과 기술 전파에 대해 많은 이야기를 나누었으며, 이후 국내 자동차 업체들의 FlexRay 통신 구현에 많은 기술지원을 해왔다. 그리고 작년에 마침 Automotive Electronics Magazine(스마트앤컴퍼니)에서 번역 제의가 들어와 기쁜 마음으로 원고를 준비하게 되었다.
이 책은 FlexRay 규격 및 기본 개념, 실제 구현을 독자가 쉽게 이해할 수 있도록 작성되었으며 최대한 원문에 가깝게 번역하였다. 이를 바탕으로 차량 통신 기술의 변화에 대비할 수 있는 기회가 되기를 간절히 기원한다.

이진우 (r01013@freescale.com)



[저자] Mathias Rausch
마티아스 라우쉬 박사는 란트슈트 대학(Hochschule Landshut)의 전기공학부 교수로서, 기술 사이버네틱스와 제어 이론을 전공하였으며 이산 이벤트 시스템(discrete event system)에 대한 연구로 1996년 박사학위를 취득하였다. 미국 펜실베이니아 주 피츠버그 시에 소재한 카네기 멜런 대학교의 객원연구원으로 재직한 후, 1998년 Motorola/Freescale에 입사하여 자동차 전장 제품과 관련된 다양한 업무를 담당해왔다. 2000년 이후에는 FlexRay 프로토콜 개발에 참여하였으며, 2004년부터 프로토콜 규격 편집 담당자로서 규격과 기타 모든 변경 내용을 관리했다.


[옮긴이] 이진우
광운대학교 전자통신공학과를 졸업하고, LG정보통신 이동통신연구소 연구원, LG전자 네트워크 연구소 선임연구원을 거쳐 글로벌 차량용 반도체 전문업체인 Freescale Semiconductor Korea에 입사했다. 동사에 재직하면서 FlexRay Protocol 독일 연수를 다녀왔으며 현재 동사의 Korea Automotive Lab Sr. FAE로 재직하고 있다.
2006년에 독일에서 FlexRay 프로토콜에 대한 교육 연수를 받으면서 저자인 마티아스 라우쉬 박사와 FlexRay의 발전 방향과 기술 전파에 대해 많은 이야기를 나누었으며, 이후 국내 자동차 업체들의 FlexRay 통신 구현에 많은 기술지원을 해왔다.



◉ 목차

서문
옮긴이의 말
약어 목록
1 서론
1.1 이 책의 목적
1.2 용어와 표기
2 FlexRay에 관한 유용한 지식
2.1 개발 목표
2.1.1 경제적 목표
2.1.2 기술적 목표
2.2 FlexRay의 특성
2.3 응용 분야
2.4 FlexRay의 분류
2.5 자동차 분야의 네트워크 프로토콜
2.5.1 CAN
2.5.2 LIN
2.5.3 멀티미디어 프로토콜
2.5.4 차량 내 통신 네트워크
2.6 FlexRay 컨소시엄과 역사
3 프로토콜의 원리
3.1 통신 노드의 설계
3.2 토폴로지
3.3 미디어 액세스 방식
3.3.1 미디어 액세스 방식의 개요
3.3.2 FlexRay 통신 사이클
3.3.3 TDMA 원리
3.3.4 미니슬롯의 원리
3.4 타임 베이스
3.5 프로토콜 스테이트 머신
3.6 프로토콜의 스타트업
3.7 프레임 포맷
3.8 코딩
3.9 물리 계층
4 프로토콜의 상세 원리
4.1 미디어 액세스 방법
4.1.1 통신 사이클
4.1.2 정적 슬롯의 설계
4.1.3 동적 슬롯
4.1.4 심벌 윈도
4.1.5 네트워크 아이들 타임(NIT)
4.2 클록 동기화
4.2.1 클록 편차와 보정 방법
4.2.2 클록 편차의 측정
4.2.3 보정 값의 계산
4.2.4 보정 값의 분배 분산
4.2.5 보정 값의 적용
4.2.6 외부 클록 동기화
4.2.7 정밀도와 정확도
4.3 프로토콜 스테이트 머신
4.3.1 프로토콜 스테이트 머신에서 특수한 상태 천이
4.3.2 싱글 슬롯 모드
4.4 클러스터의 웨이크업
4.4.1 노드의 동작 모드
4.4.2 웨이크업 패턴
4.4.3 두 웨이크업 패턴의 중첩
4.4.4 여러 개 노드에 의한 동시 웨이크업
4.4.5 클러스터에서 웨이크업 시퀀스
4.5 클러스터의 스타트업
4.5.1 한 노드에 의한 클러스터 스타트업
4.5.2 스타트업 타이머
4.5.3 두 노드가 동시에 클러스터 스타트업을 하는 경우
4.5.4 고장 노드가 있는 클러스터의 스타트업
4.6 프레임 포맷
4.6.1 프레임 헤더
4.6.2 페이로드(Payload)
4.6.3 트레일러(Trailer)
4.6.4 널 프레임
4.6.5 네트워크 관리 벡터
4.6.6 메시지 ID
4.7 심벌
4.8 프레임 송신
4.8.1 프레임 코딩
4.8.2 프레임 디코딩
4.8.3 프레임의 송신
4.8.4 프레임의 수신
4.9 클리크의 형성
5 물리 계층
5.1 신호
5.1.1 신호의 정의
5.1.2 충돌(Collisions)
5.2 물리적 영향
5.2.1 전파 지연
5.2.2 비대칭 지연
5.2.3 신호의 절단(Signal Truncation)
5.2.4 전자기 간섭
5.3 네트워크 구성 요소
5.3.1 케이블과 커넥터
5.3.2 터미네이션
5.4 토폴로지
5.4.1 물리적 토폴로지
5.4.2 버스와 스타 토폴로지에서의 거리
5.4.3 유효하지 않은 토폴로지
5.5 전기적 버스 드라이버
5.5.1 설계와 기능
5.5.2 상태와 천이
5.5.3 인터페이스와 출력 동작
5.5.4 웨이크업
5.6 액티브 스타 커플러
5.6.1 기능
5.6.2 설계
5.6.3 상태와 천이
5.6.4 타이밍 동작
5.6.5 여러 분기에서 동시에 신호를 수신하는 경우의 동작
5.7 고장의 분포
5.8 비대칭성
5.8.1 비대칭성의 특징과 영향
5.8.2 비대칭성의 원인과 영향
5.8.3 클러스터에서 비대칭성의 영향
5.9 견고한 FlexRay 토폴로지를 위한 실용적인 힌트
6 클러스터의 설정
6.1 계산 법칙
6.1.1 시간 이산화
6.1.2 신호의 최소 시간 결정
6.1.3 신호의 최대 시간 결정
6.1.4 공식의 표기법
6.2 마이크로틱과 매크로틱
6.2.1 마이크로틱
6.2.2 매크로틱
6.3 정밀도
6.4 스타트업 파라미터
6.4.1 스타트업 동안의 허용 오차 범위
6.4.2 클록 초기화를 위한 파라미터
6.4.3 최대 드리프트(Drift)
6.4.4 pdListenTimeout
6.5 정적 슬롯
6.5.1 액션 포인트 오프셋
6.5.2 정적 슬롯의 크기
6.6 동적 세그먼트
6.6.1 미니슬롯 액션 포인트 오프셋
6.6.2 미니슬롯
6.6.3 동적 슬롯 아이들 단계
6.6.4 미니슬롯의 수
6.6.5 동적 세그먼트 내의 최종 프레임 시작
6.7 심벌 윈도와 NIT
6.7.1 심벌 윈도
6.7.2 네트워크 아이들 타임
6.8 클록 동기화
6.8.1 속도 보정 값
6.8.2 오프셋 보정 값
6.8.3 클록 보정의 완충 파라미터
6.8.4 외부 클록 동기화
6.9 물리 계층과 관련된 파라미터
6.9.1 최대 전파 지연
6.9.2 시간 측정값들의 보정
6.9.3 전자 지연의 보상
6.9.4 송신 시작 시퀀스
6.10 심벌의 설정
6.10.1 충돌 회피 심벌
6.10.2 송신기에서 웨이크업 심벌의 설정
6.10.3 수신기에서 웨이크업 심벌의 설정
6.11 클러스터 설정
6.12 수식과 프로토콜 규격의 설정 규칙 간의 매핑
7 버스 가디언
7.1 버스 가디언의 원리
7.2 로컬 버스 가디언
7.3 센트럴 버스 가디언
7.4 버스 가디언에 대한 추가 사항
7.4.1 버스 가디언의 테스트
7.4.2 추가 기능
7.4.3 개념 비교
7.4.4 버스 가디언이 클러스터 설정에 미치는 영향
8 FlexRay 프로토콜의 구현
8.1 메시지 버퍼 개념
8.1.1 레지스터와 메모리의 분리
8.1.2 메시지 버퍼 형태
8.2 메시지 버퍼 설정
8.2.1 메시지 버퍼 제어 레지스터
8.2.2 프레임 헤더 설정
8.2.3 송신 버퍼 설정의 예
8.2.4 수신 버퍼 설정의 예
8.2.5 수신 섀도 버퍼 설정의 예
8.3 프로토콜 설정 레지스터
8.4 필터 설정
8.5 인터럽트
8.5.1 개별 인터럽트 소스
8.5.2 통합 인터럽트 소스
8.5.3 프로토콜 인터럽트 비트
8.5.4 CHI 오류 인터럽트 비트
8.6 FIFO 버퍼
9 FlexRay의 사용
9.1 프레임 크기의 선택
9.2 페이로드 내용의 설계
9.3 송신 윈도의 원리
9.4 예제
9.4.1 토폴로지
9.4.2 송신 스케줄
9.4.3 통신 매트릭스
9.4.4 FlexRay 프로토콜 파라미터의 결정
9.5 동적 세그먼트에서의 프레임 멀티플렉싱 변형들
9.5.1 문제 설명
9.5.2 호스트에 의한 송신 시점의 제어
9.5.3 사이클 카운터 필터의 사용
9.5.4 버퍼의 재설정
9.5.5 구현 형태들 간의 비교
10 전망
10.1 프로토콜 개발
10.2 AUTOSAR
10.2.1 AUTOSAR의 동기 및 목적
10.2.2 기술적 개념
10.2.3 FlexRay와 AUTOSAR
10.3 FlexRay의 활용
부록
부록 A: SDL 입문
A.1 SDL의 철학
A.2 그래픽 요소들
A.3 기본 요소들
A.4 신호의 교환
A.5 SDL에서의 시간
A.6 SDL의 한계
A.7 예제
부록 B: FlexRay 상수 및 파라미터
부록 C: 예제 프로그램
C.1 헤더 파일
C.2 FlexRay 설정 파일
부록 D: FlexRay 회로의 개요
참고 문헌
색인


  • 오토모티브 시리즈
  • 자동차 전장 관련 단행본도서
TOP