(19) 대한민국특허청(KR) (12) 공개특허공보(A) (11) 공개번호 10-2013-0087326 (43) 공개일자 2013년08월06일 (51) 국제특허분류(Int. Cl.) H04L 12/40 (2006.01) H04L 5/22 (2006.01) (21) 출원번호 10-2012-0008610 (22) 출원일자 2012년01월27일 심사청구일자 전체 청구항 수 : 총 8 항 2012년01월27일 (71) 출원인 경북대학교 산학협력단 대구광역시 북구 대학로 80 (산격동, 경북대학교) (72) 발명자 조정훈 대구광역시 수성구 만촌1동 메트로팔레스아파트 102동 1001호 윤경희 대구광역시 북구 복현동 336-1번지 (74) 대리인 (54) 발명의 명칭 플렉스레이 네트워크 제어 시스템, 장치 및 방법 (57) 요 약 정홍식, 김태헌, 이현수 본 발명은 플렉스레이 네트워크 제어 시스템, 장치 및 방법에 관한 것으로서, 본 발명의 실시예에 따른 플렉스레 이 네트워크 제어 시스템은 복수의 노드, 및 복수의 노드를 서로 연결하는 버스(bus)를 포함하되, 복수의 노드 각각은, 기 정해진 사이즈의 정적(static) 영역 및 동적(dynamic)으로 결정되는 동적 영역을 포함하는 신호를 구 성하며, 구성한 신호를 버스를 통해 주변 노드로 전송하도록 제어하는 제어부를 포함하며, 제어부는 정적 영역에 기록될 데이터의 사이즈가 정적 영역에 할당된 사이즈를 초과하면, 초과 데이터를 동적 영역에 기록하여 신호를 구성하는 것을 특징으로 한다. 대 표 도 - 도3-1 -
이 발명을 지원한 국가연구개발사업 과제고유번호 201109990000 부처명 지식경제부 연구사업명 IT 융합 고급인력과정 지원사업 연구과제명 스마트 자동차를 위한 AUTOSAR 기반 차량 내외부 통신 플랫폼 및 응용기술 주관기관 정보통신산업진흥원 연구기간 2011.06.01 ~ 2011.12.31-2 -
특허청구의 범위 청구항 1 복수의 노드; 및 상기 복수의 노드를 서로 연결하는 버스(bus)를 포함하되, 상기 복수의 노드 각각은, 기 정해진 사이즈의 정적(static) 영역 및 동적(dynamic)으로 결정되는 동적 영역을 포함하는 신호를 구성하며, 상기 구성한 신호를 상기 버스를 통해 주변 노드로 전송하도록 제어하는 제어부를 포함하며, 상기 제어부는 상기 정적 영역에 기록될 데이터의 사이즈가 상기 정적 영역에 할당된 사이즈를 초과하면, 초과 데이터를 상기 동적 영역에 기록하여 상기 신호를 구성하는 것을 특징으로 하는 플렉스레이 네트워크 제어 시스 템. 청구항 2 제1항에 있어서, 상기 제어부는, 플렉스레이 통신 주기에 따라 하나의 사이클 타임 동안, 복수의 타임 슬롯으로 분할된 상기 신호를 구성하고, 상기 복수의 타임 슬롯은 상기 정적 영역, 상기 동적 영역, 심볼 윈도우(symbol window) 영역, 네트워크 아이들 타임(network idle time)으로 구분되며, 상기 복수의 노드는 상기 제어부와 동기화되어, 각 노드에 대응되는 타임 슬롯에 상기 신호를 수신하여 처리하 는 것을 특징으로 하는 플렉스레이 네트워크 제어 시스템. 청구항 3 플렉스레이 네트워크에 연결된 제어 장치에 있어서, 기 정해진 사이즈의 정적(static) 영역 및 동적(dynamic)으로 결정되는 동적 영역을 포함하는 신호를 상기 플렉 스레이 네트워크에 연결된 각 노드들로 전송하는 전송부; 및 상기 신호를 구성하여 상기 전송부로 제공하며, 상기 정적 영역에 기록될 데이터의 사이즈가 상기 정적 영역에 할당된 사이즈를 초과하는지를 판단하며, 판단 결과 초과하면 초과 데이터를 상기 동적 영역에 기록하여 상기 신호를 구성하는 제어부를 포함하는 것을 특징으로 하는 플렉스레이 네트워크 제어 장치. 청구항 4 제3항에 있어서, 상기 제어부는, 상기 초과 데이터가 상기 동적 영역에 기록되는 경우, 상기 정적 영역 내에 상기 동적 영역의 사용 여부를 통지 하는 인디케이터(indicator)를 추가하는 것을 특징으로 하는 플렉스레이 네트워크 제어 장치. 청구항 5 정적 영역에 기록될 데이터의 사이즈가 상기 정적 영역에 할당된 사이즈를 초과하는지 판단하는 단계; 상기 데이터의 사이즈가 상기 정적 영역에 할당된 사이즈를 초과하면, 상기 데이터를 정적 영역 및 동적 영역에 분산하여 신호를 구성하는 단계; 및 주변 노드로 상기 구성한 신호를 전송하는 단계를 포함하는 것을 특징으로 하는 플렉스레이 네트워크 제어 방법. - 3 -
청구항 6 제5항에 있어서, 상기 신호를 구성하는 단계는, 상기 정적 영역에 할당된 사이즈만큼의 데이터를 상기 정적 영역에 기록하고, 초과 데이터를 상기 동적 영역에 기록하여 상기 신호를 구성하는 것을 특징으로 하는 플렉스레이 네트워크 제어 방법. 청구항 7 제5항에 있어서, 상기 초과 데이터가 상기 동적 영역에 기록되는 경우, 상기 정적 영역 내에 상기 동적 영역의 사용 여부를 통지 하는 인디케이터(indicator)를 추가하는 것을 특징으로 하는 플렉스레이 네트워크 제어 방법. 청구항 8 제5항에 있어서, 상기 신호를 구성하는 단계는, 플렉스레이 통신 주기에 따라 하나의 사이클 타임 동안, 복수의 타임 슬롯으로 분할된 상기 신호를 구성하고, 상기 복수의 타임 슬롯은 상기 정적 영역, 상기 동적 영역, 심볼 윈도우 영역, 네트워크 아이들 타임으로 구분 되는 것을 특징으로 하는 플렉스레이 네트워크 제어 방법. 명 세 서 [0001] 기 술 분 야 본 발명은 플렉스레이 네트워크 제어 시스템, 장치 및 방법에 관한 것으로서, 더 상세하게는 플렉스레이 네트워 크(FlexRay Network)에서 정보를 전송할 때 예컨대 미리 할당된 정적 세그먼트의 크기를 초과하는 데이터를 해 당 통신 주기에서 동적 세그먼트의 데이터 적재공간에 실어 전송하려는 플렉스레이 네트워크 제어 시스템, 장치 및 방법에 관한 것이다. [0002] [0003] [0004] 배 경 기 술 오늘날 차량에는 무수히 많은 제어장치 및 센서와 액츄에이터, 컨트롤러, 애플리케이션 시스템이 구성된다. 이 와 같이 분리된 개별적인 시스템을 함께 연결하기 위해 보통 사용되는 배선 장치는 길이만 수 킬로미터, 무게로 는 수십 킬로그램에 이르는 양의 케이블들을 필요로 하게 되며, 이것은 전체적인 차량의 무게와 제조비용에서 적지 않은 부분을 차지하게 된다. 이와 같은 문제의 해결책은 모든 시스템들을 차량 둘레에서 실행되는 한 개 혹은 두 개의 전선들로 구성된 하나의 공통 네트워크 버스에 연결하는 것이다. 이를 통해 배선 자체의 무게를 감소시키는 것은 물론 비용이 낮은 네트워크 인터페이스 칩으로 차량의 총 제조비용도 감소시키는 것이 가능하 게 되는 것이다. 이와 같은 취지에서 오늘날 자동차에는 CAN(Controller Area Network) 프로토콜이 사용되고 있다. CAN은 1980 년대 후반 독일의 로베르트보슈(Robert Bosch GmbH)에 의해 개발된 것으로 마이크로컨트롤러 간의 통신을 위해 설계되었다. CAN에서 사용되고 있는 통신 방식은 이더넷(Ethernet)과 같은 CSMA(Carrier Sense Multiple Access) 방식으로 버스에 연결된 노드가 데이터를 전송하기 위해서는 버스에 전송되고 있는 데이터가 없을 때까 지 기다려야 하는 단점이 있다. 이와 같은 버스 진입에 대한 예측 불가능성은 차량에서 전자장치의 증가에 따른 데이터 전송량의 증가를 감안했을 때, 데이터 전송속도의 지연을 초래할 수 있다. 이러한 CAN의 단점을 보완하기 위해 개발된 것이 플렉스레이다. 플렉스레이는 TDMA(Time Division Multiple Access) 방식으로 동작한다. 버스에 연결된 노드들은 독점적인 진입 권한이 허용되는 고정된 시간 슬롯을 할당 받는다. 시간 슬롯들은 정의된 간격으로 반복되어 이를 통해 데이터가 버스 상에 있는 시간은 정확히 계산되고, 버스 진입에 대한 예측도 가능해진다. 이와 같은 장점으로 인해 CAN과 같은 데이터 전송속도의 지연을 방지할 수 있게 된다. 뿐만 아니라 플렉스레이의 비트 전송률은 최대 10 MBit/s로서, 이론적으로 CAN(최대 1MBit/s)보 다 10배 이상 빠른 데이터 전송 속도를 가질 수 있다. - 4 -
[0005] [0006] ASV(Active Safety Vehicle)와 같이 안전에 직결된 제어 시스템의 경우, 차량에서 운전자가 실제 주행과 관련된 스티어링(steering), 브레이킹(braking)과 같은 조작을 수행했을 때 해당 컨트롤 신호가 정해진 시간 내에 목적 지로 전송되는 것이 반드시 보장되어야 하는데, 기존의 CAN 네트워크로는 한계가 있다. 따라서 동작 안전성을 보장받기 위해 메시지의 버스 진입과 전송 시간이 정확하게 정해진 플렉스레이를 필수적으로 사용하는 추세이다. 그런데 이와 같은 종래의 플렉스레이는 규격상 정적 세그먼트와 동적 세그먼트의 주기와 데이터의 크기가 미리 결정되어 있기 때문에 차량 내 노드 간 송수신되는 데이터가 미리 설정된 데이터의 크기를 초과하는 경우에는 시스템 오류가 발생하는 문제가 있다. 또한 이러한 시스템의 오류를 줄이기 위하여 플렉스레이 네트워크를 재설 계하는 경우에는 추가적인 비용이 발생하게 된다. [0007] [0008] [0009] [0010] [0011] [0012] [0013] [0014] [0015] 발명의 내용 본 발명의 실시예는 플렉스레이 네트워크에서 정보를 전송할 때 정보가 정적 세그먼트의 데이터 적재 공간을 초 과하더라도 시스템의 오류나 네트워크의 재설계 없이 유연하게 데이터를 처리할 수 있는 플렉스레이 네트워크 제어 시스템, 장치 및 방법을 제공함에 그 목적이 있다. 본 발명의 실시예에 따른 플렉스레이 네트워크 제어 시스템은 복수의 노드; 및 상기 복수의 노드를 서로 연결하 는 버스(bus)를 포함하되, 상기 복수의 노드 각각은, 기 정해진 사이즈의 정적(static) 영역 및 동적(dynamic) 으로 결정되는 동적 영역을 포함하는 신호를 구성하며, 상기 구성한 신호를 상기 버스를 통해 주변 노드로 전송 하도록 제어하는 제어부를 포함하며, 상기 제어부는 상기 정적 영역에 기록될 데이터의 사이즈가 상기 정적 영 역에 할당된 사이즈를 초과하면, 초과 데이터를 상기 동적 영역에 기록하여 상기 신호를 구성하는 것을 특징으 로 한다. 상기 제어부는, 플렉스레이 통신 주기에 따라 하나의 사이클 타임 동안, 복수의 타임 슬롯으로 분할된 상기 신 호를 구성하고, 상기 복수의 타임 슬롯은 상기 정적 영역, 상기 동적 영역, 심볼 윈도우(symbol window) 영역, 네트워크 아이들 타임(network idle time)으로 구분되며, 상기 복수의 노드는 상기 제어부와 동기화되어, 각 노 드에 대응되는 타임 슬롯에 상기 신호를 수신하여 처리하는 것을 특징으로 한다. 또한 본 발명의 실시예에 따른 플렉스레이 네트워크 제어 장치는 플렉스레이 네트워크에 연결된 제어 장치에 있 어서, 기 정해진 사이즈의 정적(static) 영역 및 동적(dynamic)으로 결정되는 동적 영역을 포함하는 신호를 상 기 플렉스레이 네트워크에 연결된 각 노드들로 전송하는 전송부; 및 상기 신호를 구성하여 상기 전송부로 제공 하며, 상기 정적 영역에 기록될 데이터의 사이즈가 상기 정적 영역에 할당된 사이즈를 초과하는지를 판단하며, 판단 결과 초과하면 초과 데이터를 상기 동적 영역에 기록하여 상기 신호를 구성하는 제어부를 포함하는 것을 특징으로 한다. 상기 제어부는, 상기 초과 데이터가 상기 동적 영역에 기록되는 경우, 상기 정적 영역 내에 상기 동적 영역의 사용 여부를 통지하는 인디케이터(indicator)를 추가하는 것을 특징으로 한다. 나아가 본 발명의 실시예에 따른 플렉스레이 네트워크 제어 방법은 정적 영역에 기록될 데이터의 사이즈가 상기 정적 영역에 할당된 사이즈를 초과하는지 판단하는 단계; 상기 데이터의 사이즈가 상기 정적 영역에 할당된 사 이즈를 초과하면, 상기 데이터를 정적 영역 및 동적 영역에 분산하여 신호를 구성하는 단계; 및 주변 노드로 상 기 구성한 신호를 전송하는 단계를 포함하는 것을 특징으로 한다. 상기 신호를 구성하는 단계는, 상기 정적 영역에 할당된 사이즈만큼의 데이터를 상기 정적 영역에 기록하고, 초 과 데이터를 상기 동적 영역에 기록하여 상기 신호를 구성하는 것을 특징으로 한다. 상기 초과 데이터가 상기 동적 영역에 기록되는 경우, 상기 정적 영역 내에 상기 동적 영역의 사용 여부를 통지 하는 인디케이터(indicator)를 추가하는 것을 특징으로 한다. 상기 신호를 구성하는 단계는, 플렉스레이 통신 주기에 따라 하나의 사이클 타임 동안, 복수의 타임 슬롯으로 분할된 상기 신호를 구성하고, 상기 복수의 타임 슬롯은 상기 정적 영역, 상기 동적 영역, 심볼 윈도우 영역, 네트워크 아이들 타임으로 구분되는 것을 특징으로 한다. [0016] 도면의 간단한 설명 도 1은 본 발명의 실시예에 따른 플렉스레이 네트워크 제어 시스템을 나타내는 도면, - 5 -
도 2는 도 1의 시스템에 적용된 플렉스레이 통신 주기를 설명하기 위한 도면, 도 3은 도 1에 나타낸 노드의 구조를 예시한 블록다이어그램, 도 4는 도 3의 제어부의 세부 구조를 나타내는 블록다이어그램, 도 5는 본 발명의 실시예에 따른 플렉스레이 네크워크 제어 방법을 나타내는 도면이다. [0017] [0018] [0019] [0020] [0021] [0022] [0023] [0024] [0025] [0026] 발명을 실시하기 위한 구체적인 내용 이하, 도면을 참조하여 본 발명의 실시예에 대하여 상세히 설명한다. 도 1은 본 발명의 실시예에 따른 플렉스레이 네트워크 제어 시스템을 나타내는 도면이다. 도 1에 도시된 바와 같이, 본 발명의 실시예에 따른 플렉스레이 네트워크 제어 시스템은 복수의 노드(100) 및 버스(110)를 포함한다. 차세대 차량 내부 네트워크인 플렉스레이를 위한 시스템은 공통의 버스(110)에 연결되어 상호 간 통신을 수행하 는 복수의 노드(100)를 포함할 수 있다. 이때 복수의 노드(100)란 차량 내 무수히 많은 제어장치 및 센서와 액 츄에이터, 컨트롤러, 애플리케이션 시스템 등을 나타낸다. 본 발명의 실시예에 따라 이러한 공통의 버스(110)에 연결된 각각의 노드(100)는 TDMA 방식으로 동작하는 것이 바람직하며, 플렉스레이의 규격상 버스(110)에 연결된 노드들은 독점적인 진입 권한이 허용되는 고정된 시간 슬 롯을 할당받는다. 이를 위해 자동차 제조업체나 주요 공급업체에 의해 생성되는 프로그램 또는 애플리케이션은 네트워크 표준을 만족해야 하는 것이다. 또한 각각의 노드(100)는 미리 정의된 공간에 정적 및 동적 데이터를 제공하기 위하여 미리 설정된 통신 주기를 통해 코어 정적 프레임과 동적 프레임을 혼합하여 구현하게 된다. 통 신 주기와 관련해서는 이후에 자세히 설명하겠지만, 정적 또는 동적 세그먼트는 헤더, 페이로드(혹은 데이터 프 레임), 트레일러를 포함하는 의미이므로 본 발명의 실시예에서 프레임은 페이로드를 지칭하는 것으로 이해될 수 있으며, 정적 영역은 정적 세그먼트 또는 페이로드를 지칭하는 것으로 이해될 수도 있을 것이다. 나아가 각각의 노드(100)는 플렉스레이 통신 과정에서 안전성 등을 반드시 보장해야 하는데, 이를 위해 본 발명 의 실시예에서는 가령 주변에 위치하는 노드(100)로의 데이터 전송시 정적 세그먼트에 적재하여 전송하기 위한 데이터가 할당된 사이즈를 초과하는지를 판단하게 되고, 판단 결과 초과하는 경우에는 해당 주기의 동적 세그먼 트의 데이터 적재 공간에 실어 전송하게 된다. 이때 노드(100)는 해당 주기에서 동적 세그먼트에 정적 세그먼트 의 데이터가 적재되어 전송되었음을 주변의 노드(100)가 알 수 있도록 가령 정적 세그먼트에 부가 정보 즉 인디 케이터(indicator)를 삽입하여 전송할 수 있다. 이때 부가 정보는 헤더에 삽입되는 것이 바람직하다. 또한 위의 내용에 근거해 볼 때, 각각의 노드(100)는 전송된 데이터의 사이즈를 판단하는 것 이외에도 수신된 데이터가 있 을 때에는 해당 데이터의 부가 정보를 확인함으로써 데이터의 가변 적재가 이루어졌는지를 추가로 판단하여 수 신된 데이터를 처리할 수 있을 것이다. 여기서 가변 적재란 매 통신주기마다 동적 영역을 사용하거나 사용하지 않는 과정을 반복하는 것을 의미한다. 버스(110)는 복수의 노드(100)가 플렉스레이 통신을 수행할 수 있도록 하는 일종의 통신 선로로서 도 1에서는 비교적 간단한 멀티드롭 버스와 스타 네트워크가 통합된 하이브리드 토폴로지를 형성하는 하이브리드 네트워크 를 예시하였다. 그러나 본 발명의 실시예는 하이브리드 네트워크뿐 아니라 멀티드롭 버스 및 스타 네트워크 등 다양한 네트워크에 적용될 수 있으므로 특정 네트워크에 특별히 한정하지는 않을 것이다. 여기서, 스타 네트워 크는 중앙 활성 노드에 연결되는 개별 링크로 구성된 '스타'구성을 지원하게 되는 것을 의미한다. 도 2는 도 1의 시스템에 적용된 플렉스레이 통신 주기를 설명하기 위한 도면이다. 플렉스레이 통신 주기는 플렉스레이 내에서 미디어 액세스 구조의 근본적인 요소이다. 네트워크가 설계되었을 때 주기의 기간은 고정되지만, 일반적으로 1-5 ms 정도에 해당되는 것이 바람직하다. 도 2에 도시된 바와 같이, 통신 주기에는 4가지 주요 부분이 있다. 정적 세그먼트는 정해진 기간에 도착하는 결 정성 있는 데이터를 위해 확보된 슬롯이며, 동적 세그먼트는 CAN과 유사한 방식으로 동작하고 결정성을 요구하 지 않는 광범위한 다양한 이벤트 기반 데이터에 사용된다. 또한 심볼 윈도우는 네트워크 유지와 시작을 위한 시 그널링에 사용되며, 네트워크 비작동 시간은 소위 "조용한" 시간으로 알려져 있는데 노드 클럭 간 동기화를 유 지하는 데 사용된다. 플렉스레이 네트워크의 가장 작은 실용성 있는 시간 단위는 매크로틱(macrotick)이다. 플 렉스레이 컨트롤러는 스스로 능동적으로 동기화하며 로컬 클럭을 조정하므로 매크로틱이 네트워크에서 모든 노 - 6 -
드에 대해 동일 지점에서 발생한다. 매크로틱이 특정 네트워크에 대해 구성 가능하지만, 보통은 1 마이크로초이 며, 매크로틱이 동기화되므로 매크로틱에 의존하는 데이터 또한 동기화된다. [0027] [0028] [0029] [0030] [0031] [0032] [0033] [0034] [0035] [0036] 좀더 구체적으로 살펴보면, 정적 세그먼트는 여러 시간 트리거(time-triggered) 프레임 스케쥴링에 전용인 주기 의 공간이다. 세그먼트는 슬롯으로 나누어지며 각 슬롯은 확보된 데이터 프레임을 보유한다. 각 슬롯이 시간 내 에 발생하면 확보된 ECU(Electronic Control Unit)는 이러한 슬롯으로 데이터를 전송할 기회를 갖는다. 일단 그 시간이 지나면 ECU는 반드시 슬롯에서 데이터를 전송하기 위해 다음 주기까지 기다려야 한다. 주기에서 시간 내 의 정확한 포인트가 알려져 있으므로 데이터는 결정성이 있으며 프로그램은 데이터가 얼마나 오래된 것인지 정 확하게 파악한다. 이는 일관성있는 공간 데이터에 의존하는 컨트롤 루프를 계산할 때 매우 유용하다. 실제 플렉 스레이 네트워크는 최대 수십 개의 정적 슬롯을 포함할 수 있다. ECU가 오프라인이거나 데이터를 전송하지 않게 되면, 슬롯은 개방된 채로 유지되며 다른 ECU가 사용하지는 않는다. 동적 세그먼트와 관련해 보면, 대부분의 임베디드 네트워크는 적은 수의 고속 메시지와 다량의 저속이면서 중요 도가 떨어지는 네트워크를 보유한다. 과도한 수의 정적 슬롯에서 플렉스레이 주기의 속도를 떨어뜨리지 않은 채 광범위한 데이터를 수용하기 위해서 동적 세그먼트는 전송된 데이터를 허용할 때도 있다. 세그먼트는 고정된 길 이이므로, 주기당 동적 세그먼트에 배치되는 고정된 데이터량에 대한 제한이 있다. 데이터의 우선순위를 정하기 위하여 미니슬롯(minislot)은 동적 세그먼트에서 전송 가능한 각 데이터 프레임에 미리 지정되어 있다. 미니슬 롯은 일반적으로 매크로틱(예. 마이크로초) 길이이다. 높은 우선순위의 데이터는 동적 프레임의 시작 가까이에 서 미니슬롯을 받는다. 미니슬롯이 발생하면 ECU는 프레임을 브로드캐스트하는 간략한 기회가 있다. 브로드캐스 트를 하지 않을 경우 동적 프레임의 공간을 잃게 되고 다음 미니슬롯이 발생한다. 이러한 과정은 ECU가 데이터 를 브로드캐스트 하도록 선택할 때까지 미니슬롯을 따라 이동한다. 데이터가 브로드캐스트되면 미래의 미니슬롯 은 ECU가 데이터 브로드캐스트를 완료할 때까지 반드시 기다려야 한다. 동적 프레임 윈도우가 종료되면, 그 후 낮은 우선순위의 미니슬롯은 다음 주기의 브로드캐스트 기회까지 반드시 기다려야 한다. 동적 세그먼트의 최종 결과는 CAN에서 사용되는 중재 구조와 유사하다. 심볼 윈도우는 콜드 스타트(cold-start) 주기와 같은 특수 주기의 유지와 파악에 주로 사용된다. 대부분의 하이 레벨 애플리케이션은 심볼 윈도우와 연동하지 않는다. 네트워크 비작동 시간은 미리 정의된 ECU가 알고 있는 길이이다. ECU는 이전 주기 중에 일어났을 수도 있는 드 리프트에 대해 조정을 가할 수 있도록 이러한 비작동 시간을 사용한다. 프레임 포맷에 대하여 살펴보면, 정적 또는 동적 세그먼트의 각 슬롯에는 플렉스레이 프레임이 있다. 프레임은 앞서 간략하게 언급하였듯이 헤더(Header), 페이로드(Payload), 트레일러(Trailer)의 세 가지 세그먼트로 나뉘 어진다. 헤더는 5 바이트, 즉 40 비트의 길이로 구성될 수 있는데, 5비트의 상태비트, 11비트의 프레임 ID, 7비트의 페 이로드 길이, 11비트의 헤더 CRC, 6비트의 주기 카운트와 같은 필드를 포함한다. 여기서, 프레임 ID는 프레임이 전송되어야 하는 슬롯이며, 이벤트 트리거 프레임을 우선순위화하는 데 사용된다. 페이로드 길이는 프레임에서 전송되는 문자 개수를 포함하며, 헤더 CRC는 전송 중 에러를 감지하는 데 사용된다. 주기 카운트에는 카운터의 값이 포함되며, 통신 주기가 시작하는 각 시간마다 증가한다. 페이로드에는 프레임이 전송하는 실제 데이터가 포함된다. 플렉스레이 페이로드 또는 데이터 프레임의 길이는 최고 127자, 즉 254 바이트이며 이는 CAN과 비교하여 30배 이상의 수치이다. 트레일러에는 에러 감지를 위한 세 개의 8 비트 CRC가 있다. 이제 프레임-신호 변환에 대하여 간략히 살펴본다. 플렉스레이 데이터는 바이트로 표현된다. 대부분의 애플리케 이션은 데이터가 유닛, 스케일링, 리미트 등으로 실제 10진 값으로 표현되어야 한다. 플렉스레이 프레임으로부 터 하나 또는 그 이상의 비트/바이트를 채택하고, 스케일링 및 오프셋을 적용하면 ECU간 실제 파라미터 통신에 유용한 신호를 얻을 수 있다. 대부분의 ECU 프로그램은 플렉스레이 데이터를 신호로 작동하며, 원시 프레임 데 이터로의 신호 변환을 드라이버 또는 로우 레벨 통신 프로토콜에 맡긴다. 일반 차량에는 수백에서 수천 개의 신호가 있다. 이 같은 신호의 스케일링, 오프셋, 정의, 위치가 바뀔 수 있으 므로, 플렉스레이 네트워크는 네트워크를 정의하는 FIBEX 데이터베이스에 이러한 정의를 저장한다. 이를 통해 플렉스레이 네트워크에 대한 프로그램을 작성하는 것이 편리해진다. 설계자들이 코드에서 신호 명을 간단하게 참조할 수 있기 때문이다. 그 후 컴파일러나 드라이버는 프로그램이 ECU 또는 테스트 시스템에 대해 업데이트될 - 7 -
때 가장 최신 스케일링 및 오프셋 정보를 추출하게 되는 것이다. [0037] [0038] [0039] [0040] [0041] [0042] [0043] [0044] [0045] [0046] [0047] [0048] 도 3은 도 1에 나타낸 노드의 구조를 예시한 블록다이어그램이고, 도 4는 도 3의 제어부의 세부 구조를 나타내 는 블록다이어그램이다. 도 3 및 도 4를 도 1과 함께 참조하면, 본 발명의 실시예에 따른 노드(혹은 제어장치)는 인터페이스부(300), 제 어부(혹은 신호처리부)(310) 및 데이터 송수신부(320)의 일부 또는 전부를 포함할 수 있다. 본 발명의 실시예에 서는 발명의 충분한 이해를 돕기 위하여 전부 포함하는 것으로 설명한다. 인터페이스부(300)는 가령 BDM(Background Debug Mode) 툴을 적용하기 위한 연결부로서, 실질적으로 모든 노드 (100)에 포함되지 않을 수 있다. 이와 같은 BDM 연결부는 임의의 툴을 적용하여 노드(100)를 검사할 수 있는 표 준적인 방법을 제공하기 위하여 사용될 수 있으며, 플렉스레이 통신을 수행하기 위한 특정 프로그램을 저장 혹 은 써넣기 위하여 사용될 수 있으므로 본 발명의 실시예에서는 그러한 사용 여부에 특별히 한정하지는 않을 것 이다. 제어부(310)는 플렉스레이 통신을 수행하기 위하여 예컨대 차량 내 운전자가 실제 주행과 관련된 스티어링, 브 레이킹 등의 조작을 수행했을 때 그 요청 즉 조작에 따른 데이터를 생성할 수 있고, 이때 생성되는 데이터는 플 렉스레이 규격에 따라 미리 할당받은 시간만을 사용할 수 있는 정적 세그먼트와 시간 제약 내에서 자유롭게 사 용할 수 있는 동적 세그먼트 부분으로 나누어 각 세그먼트를 주기적으로 반복하게 된다. 이의 과정에서 제어부 (310)는 정적 세그먼트, 더 정확하게는 정적 영역에 해당 데이터를 적재하기 전 정적 영역에 할당된 크기를 초 과하는지를 먼저 판단하고, 판단 결과 초과한다고 판단될 때 초과하는 데이터는 해당 주기에서 동적 영역에 적 재하여 전송할 수 있다. 제어부(310)는 매 통신 주기마다 이와 같은 동작을 반복함으로써 가변적으로 데이터를 적재하여 주변의 노드(100)로 데이터를 전송하게 된다. 위와 같은 기능을 수행하기 위하여, 제어부(310)는 도 4에 도시된 바와 같이 판단부(400), 신호 가변부(410) 및 마이크로프로세서(420)의 일부 또는 전부를 포함할 수 있는데, 저장부(미도시) 등을 더 포함할 수도 있다. 물론 본 발명의 실시예에서는 전부를 포함하는 것으로 설명하고 있지만, 판단부(400)와 신호 가변부(410)는 서로 통 합되어 구성될 수도 있는 것이다. 판단부(400)는 가령 데이터가 생성될 때, 그 생성되는 데이터의 크기가 플렉스레이 통신 주기를 위한 정적 영역 의 데이터 적재 공간을 넘어서는지를 판단한다. 예를 들어, 판단부(400)는 실질적으로 생성되는 데이터의 크기 를 정적 영역의 데이터 적재량에 대한 기준 값과 비교할 수 있는데, 이를 위해 판단부(400)는 비교기를 포함할 수 있으며, 기준 값을 저장하기 위한 저장부에 연동할 수 있다. 판단부(400)에서의 판단 결과, 해당 주기에서 정적 영역의 데이터 적재 공간을 초과한다고 판단되면, 마이크로 프로세서(420)는 신호 가변부(410)를 제어하여 신호 구성시 정적 영역의 데이터 적재 공간을 초과하는 데이터에 대하여는 동적 영역에 적재하게 된다. 이의 과정에서 신호 가변부(410)는 정적 영역의 데이터가 동적 영역에 포 함되어 있음을 주변의 노드(100)로 알리기 위한 부가 정보를 생성할 수 있다. 이에 따라 신호 가변부(410)는 신 호 구성부와 부가정보 생성부를 포함할 수 있을 것이다. 마이크로프로세서(420)는 노드(100) 내의 전반적인 제어를 담당하게 된다. 다시 말해, 도 4에 도시된 바 있는 판단부(400) 및 신호 가변부(410)를 제어할 수 있을 뿐만 아니라 도 3의 인터페이스부(300) 및 데이터 송수신부 (320)도 제어할 수 있을 것이다. 데이터 송수신부(320)는 플렉스레이 및 CAN 통신을 위한 송수신부를 포함할 수 있으며, 나아가 LIN 통신을 위한 송수신부를 더 포함할 수 있다. 이와 같은 데이터 송수신부(320)는 제어부(310), 더 정확하게는 제어부(310)를 구성하는 마이크로프로세서(420)의 제어하에 제공되는 가변된 데이터를 주변의 노드(100)로 전송하게 된다. 이 때 데이터 송수신부(320)는 제어부(310)의 제어에 따라 플렉스레이 통신을 위한 특정 송수신부에 고장이 발생한 경우 다른 송수신부를 이용하여 데이터를 전송할 수도 있을 것이다. 이는 도 4에서 J30 및 J31로 표기하여 나타 내었다. 상기의 구성 결과 본 발명의 실시예는 결정성 있는 데이터를 정적 영역뿐 아니라 동적 영역을 가변적으로 이용 하여 제공함으로써 운전자의 안전성 등을 보장할 수 있게 되고, 또한 종래 대비 신호 오류 및 플렉스레이 네트 워크 재설계에 따르는 추가 비용을 절약할 수 있게 된다. 도 5는 본 발명의 실시예에 따른 플렉스레이 네트워크 제어 방법을 나타내는 도면이다. 설명의 편의상 도 5를 도 1 및 도 2와 함께 참조하면, 노드(100) 즉 제어장치는 도 2의 통신 주기에서 정적 영 - 8 -
역의 데이터 사이즈를 먼저 판단할 수 있다(S501). 다시 말해 차량 내 운전자가 브레이킹과 같은 요청을 했을 때, 특정 기능을 수행하기 위한 노드(100)는 해당 기능을 수행하기 위하여 주변의 노드(100)로 전송해야 하는 결정성 있는 데이터가 정적 영역의 할당된 기준을 초과하는지를 판단하게 되는 것이다. 여기서 정적 영역은 정 적 세그먼트를 나타내지만, 정적 세그먼트를 구성하는 페이로드만을 나타낼 수도 있으므로 본 발명의 실시예에 서는 그것에 특별히 한정하지는 않을 것이다. [0049] [0050] [0051] [0052] [0053] 판단 결과 할당된 기준을 초과한다면(S503), 노드(100)는 초과하는 결정성 있는 데이터에 대하여는 동적 영역으 로 분산하여 신호 즉 데이터를 구성하게 된다(S505). 이와 같은 과정은 해당 주기에서 이루어지는 것이 바람직 하며, 각각의 노드(100)는 매 주기마다 이와 같은 과정을 수행할 수 있다. 나아가 노드(100)는 이의 과정에서 신호의 분산이 이루어지는 경우 이를 주변의 노드(100)로 알리기 위한 부가 정보를 생성하여 삽입할 수 있다. 이후 신호를 발생한 임의의 노드(100)는 주변의 노드(100)로 신호를 전송하게 된다(S507). 반면 S503 단계에서 결정성 있는 데이터가 정적 영역의 사이즈를 초과하지 않는다고 판단되는 경우에는 정적 영 역에만 해당 데이터를 적재하여 주변 노드(100)로 전송해 준다. 한편, 주변의 노드(100)로부터 신호가 수신될 때 임의의 노드(100)는 정적 세그먼트의 슬롯에 구성된 프레임을 분석하여 동적 세그먼트로 신호 분산이 이루어졌는지 판단할 수 있고, 판단 결과에 따라 데이터를 처리할 수 있 을 것이다. 이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한 정되지 아니하며, 청구범위에 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상 의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사 상이나 전망으로부터 개별적으로 이해되어서는 안 될 것이다. [0054] 부호의 설명 100: 노드 110: 버스 300: 인터페이스부 310: 제어부 320: 데이터 송수신부 400: 판단부 410: 신호 가변부 420: 마이크로프로세서 도면 도면1-9 -
도면2 도면3-10 -
도면4 도면5-11 -