KR102362611B1 - 차량 네트워크에서 데이터의 송수신 방법 및 장치 - Google Patents

차량 네트워크에서 데이터의 송수신 방법 및 장치 Download PDF

Info

Publication number
KR102362611B1
KR102362611B1 KR1020170105624A KR20170105624A KR102362611B1 KR 102362611 B1 KR102362611 B1 KR 102362611B1 KR 1020170105624 A KR1020170105624 A KR 1020170105624A KR 20170105624 A KR20170105624 A KR 20170105624A KR 102362611 B1 KR102362611 B1 KR 102362611B1
Authority
KR
South Korea
Prior art keywords
data
communication node
field
message
data message
Prior art date
Application number
KR1020170105624A
Other languages
English (en)
Other versions
KR20180038960A (ko
Inventor
김동옥
유상우
윤진화
Original Assignee
현대자동차주식회사
기아 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 현대자동차주식회사, 기아 주식회사 filed Critical 현대자동차주식회사
Priority to US15/719,398 priority Critical patent/US10511668B2/en
Priority to CN201710916911.2A priority patent/CN107920059A/zh
Priority to DE102017217636.9A priority patent/DE102017217636A1/de
Publication of KR20180038960A publication Critical patent/KR20180038960A/ko
Application granted granted Critical
Publication of KR102362611B1 publication Critical patent/KR102362611B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/40071Packet processing; Packet format
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40267Bus for use in transportation systems
    • H04L2012/40273Bus for use in transportation systems the transportation system being a vehicle

Abstract

차량 네트워크에서 데이터의 송수신 방법 및 장치가 개시된다. 제1 통신 노드의 동작 방법은 제2 통신 노드로 전송될 데이터가 존재하는 경우에 상기 데이터를 포함하는 데이터 메시지를 생성하는 단계, 및 상기 데이터 메시지를 상기 제2 통신 노드로 전송하는 단계를 포함하며, 상기 데이터 메시지는 상기 데이터의 종류를 지시하는 제1 지시자 및 상기 데이터의 인코딩 방식을 지시하는 제2 지시자를 더 포함한다. 따라서 차량 네트워크의 성능이 향상될 수 있다.

Description

차량 네트워크에서 데이터의 송수신 방법 및 장치{METHOD FOR TRANSMITTING AND RECEIVING DATA IN AUTOMOTIVE NETWORK AND APPARATUS FOR THE SAME}
본 발명은 차량 네트워크에서 통신 기술에 관한 것으로, 더욱 상세하게는 차량 네트워크에서 새로운 IT(information technology) 서비스를 위한 정보(예를 들어, 텍스트, 이미지 등)의 송수신 기술에 관한 것이다.
차량용 부품의 전자화가 급속도로 진행됨에 따라 차량에 탑재되는 전자 장치(예를 들어, ECU(electronic control unit))의 종류와 수가 크게 증가되고 있다. 전자 장치는 크게 파워트레인(power train) 제어 시스템, 바디(body) 제어 시스템, 새시(chassis) 제어 시스템, 차량 네트워크(network), 멀티미디어(multimedia) 시스템 등에서 사용될 수 있다. 파워트레인 제어 시스템은 엔진 제어 시스템, 자동 변속 제어 시스템 등을 의미할 수 있다. 바디 제어 시스템은 바디 전장품 제어 시스템, 편의 장치 제어 시스템, 램프(lamp) 제어 시스템 등을 의미할 수 있다. 새시 제어 시스템은 조향 장치 제어 시스템, 브레이크(brake) 제어 시스템, 서스팬션(suspension) 제어 시스템 등을 의미할 수 있다. 차량 네트워크는 CAN(controller area network), 플렉스레이(FlexRay) 기반의 네트워크, MOST(media oriented system transport) 기반의 네트워크 등을 의미할 수 있다. 멀티미디어 시스템은 항법 장치 시스템, 텔레메틱스(telematics) 시스템, 인포테이먼트(infortainment) 시스템 등을 의미할 수 있다.
이러한 시스템들 및 시스템들 각각을 구성하는 전자 장치들은 차량 네트워크를 통해 연결되어 있으며, 전자 장치들 각각의 기능을 지원하기 위한 차량 네트워크가 요구되고 있다. CAN은 최대 1Mbps의 전송 속도를 지원할 수 있으며, 충돌된 프레임의 자동 재전송, CRC(cycle redundancy check) 기반의 오류 검출 등을 지원할 수 있다. 플렉스레이 기반의 네트워크는 최대 10Mbps의 전송 속도를 지원할 수 있으며, 2채널을 통한 데이터의 동시 전송, 동기 방식의 데이터 전송 등을 지원할 수 있다. MOST 기반의 네트워크는 고품질의 멀티미디어를 위한 통신 네트워크로, 최대 150Mbps의 전송 속도를 지원할 수 있다.
차량의 텔레메틱스 시스템, 인포테이먼트 시스템, 향상된 안전 시스템 등은 높은 전송 속도, 시스템 확장성 등을 요구하며, CAN, 플렉스레이 기반의 네트워크 등은 이를 충분히 지원하지 못한다. MOST 기반의 네트워크는 CAN 및 플렉스레이 기반의 네트워크에 비해 높은 전송 속도를 지원할 수 있으나, 차량의 모든 네트워크에 MOST 기반의 네트워크가 적용되기 위해서는 많은 비용이 소모된다. 이러한 문제들에 의해, 차량 네트워크로 이더넷(ethernet) 기반의 네트워크가 고려될 수 있다. 이더넷 기반의 네트워크는 한 쌍의 권선을 통한 양방향 통신을 지원할 수 있으며, 최대 10Gbps의 전송 속도를 지원할 수 있다.
한편, IT(information technology) 기술의 발전에 따라 새로운 IT 서비스(예를 들어, 헤드업 디스플레이(head-up display) 장치를 통한 내비게이션(navigation) 정보의 제공 서비스, 핸즈프리(hands-free) 장치를 통한 통화 기능의 제공 서비스, 스트리밍(streaming) 서비스 등)가 등장하고 있으며, 새로운 IT 서비스는 차량에 적용될 수 있다. 새로운 IT 서비스가 차량에 적용되는 경우, 차량 네트워크에서 새로운 IT 서비스를 위한 정보(예를 들어, 텍스트(text), 이미지(image)(예를 들어, 아이콘(icon)) 등)의 송수신 절차가 정의될 필요가 있다. 그러나 이미 양산된 차량에 새로운 IT 서비스를 적용하고자 하는 경우, 차량 네트워크에서 새로운 IT 서비스를 위한 정보의 송수신 기능이 지원되지 못하는 문제점이 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은 차량 네트워크에서 새로운 IT 서비스를 위한 정보의 송수신 방법 및 장치를 제공하는 데 있다.
상기 목적을 달성하기 위한 본 발명의 제1 실시예에 따른 제1 통신 노드의 동작 방법은, 제2 통신 노드로 전송될 데이터가 존재하는 경우에 상기 데이터를 포함하는 데이터 메시지를 생성하는 단계, 및 상기 데이터 메시지를 상기 제2 통신 노드로 전송하는 단계를 포함하며, 상기 데이터 메시지는 상기 데이터의 종류를 지시하는 제1 지시자 및 상기 데이터의 인코딩 방식을 지시하는 제2 지시자를 더 포함한다.
여기서, 상기 데이터 메시지는 이더넷 헤더, IP 헤더, UDP 헤더, 메시지 ID 필드, 길이 필드, 플래그 필드, 예비 필드, 시퀀스 번호 필드 및 상기 데이터를 포함하는 페이로드를 포함할 수 있다.
여기서, 상기 제1 지시자는 상기 메시지 ID 필드에 포함될 수 있고, 상기 페이로드에 포함된 상기 데이터의 종류가 텍스트 데이터 또는 이미지 데이터인 것을 지시할 수 있다.
여기서, 상기 제1 지시자는 상기 플래그 필드에 포함될 수 있고, 상기 페이로드에 포함된 상기 데이터의 종류가 텍스트 데이터 또는 이미지 데이터인 것을 지시할 수 있다.
여기서, 상기 제2 지시자는 상기 예비 필드에 포함될 수 있고, 상기 페이로드에 포함된 상기 데이터의 종류가 텍스트 데이터인 경우에 상기 텍스트 데이터의 인코딩 방식을 지시할 수 있다.
여기서, 상기 제2 지시자는 상기 예비 필드에 포함될 수 있고, 상기 페이로드에 포함된 상기 데이터의 종류가 이미지 데이터인 경우에 상기 이미지 데이터의 인코딩 방식을 지시할 수 있다.
여기서, 상기 페이로드에 포함된 상기 데이터의 종류가 이미지 데이터인 경우, 상기 데이터 메시지의 상기 예비 필드는 상기 이미지 데이터의 해상도를 지시하는 제3 지시자를 더 포함할 수 있다.
상기 목적을 달성하기 위한 본 발명의 제2 실시예에 따른 제1 통신 노드의 동작 방법은, 제2 통신 노드로부터 데이터를 포함하는 데이터 메시지를 수신하는 단계, 상기 데이터 메시지에 포함된 제1 지시자에 기초하여 상기 데이터의 종류를 확인하는 단계, 상기 데이터의 종류 및 상기 데이터 메시지에 포함된 제2 지시자에 기초하여 상기 데이터의 인코딩 방식을 확인하는 단계, 및 상기 인코딩 방식에 대응하는 디코딩 방식을 사용하여 상기 데이터 메시지에 포함된 상기 데이터를 디코딩하는 단계를 포함한다.
여기서, 상기 데이터 메시지는 이더넷 헤더, IP 헤더, UDP 헤더, 메시지 ID 필드, 길이 필드, 플래그 필드, 예비 필드, 시퀀스 번호 필드 및 상기 데이터를 포함하는 페이로드를 포함할 수 있다.
여기서, 상기 제1 지시자는 상기 메시지 ID 필드에 포함될 수 있고, 상기 페이로드에 포함된 상기 데이터의 종류가 텍스트 데이터 또는 이미지 데이터인 것을 지시할 수 있다.
여기서, 상기 제1 지시자는 상기 플래그 필드에 포함될 수 있고, 상기 페이로드에 포함된 상기 데이터의 종류가 텍스트 데이터 또는 이미지 데이터인 것을 지시할 수 있다.
여기서, 상기 제2 지시자는 상기 예비 필드에 포함될 수 있고, 상기 페이로드에 포함된 상기 데이터의 종류가 텍스트 데이터인 경우에 상기 텍스트 데이터의 인코딩 방식을 지시할 수 있다.
여기서, 상기 제2 지시자는 상기 예비 필드에 포함될 수 있고, 상기 페이로드에 포함된 상기 데이터의 종류가 이미지 데이터인 경우에 상기 이미지 데이터의 인코딩 방식을 지시할 수 있다.
여기서, 상기 페이로드에 포함된 상기 데이터의 종류가 이미지 데이터인 경우, 상기 데이터 메시지의 상기 예비 필드는 상기 이미지 데이터의 해상도를 지시하는 제3 지시자를 더 포함할 수 있고, 상기 데이터는 상기 해상도 및 상기 디코딩 방식에 기초하여 디코딩될 수 있다.
상기 목적을 달성하기 위한 본 발명의 제3 실시예에 따른 제1 통신 노드는, 프로세서 및 상기 프로세서에 의해 실행되는 적어도 하나의 명령이 저장된 메모리를 포함하며, 상기 적어도 하나의 명령은, 제2 통신 노드로 전송될 데이터가 존재하는 경우에 상기 데이터를 포함하는 데이터 메시지를 생성하고, 그리고 상기 데이터 메시지를 상기 제2 통신 노드로 전송하도록 실행되며, 상기 데이터 메시지는 상기 데이터의 종류를 지시하는 제1 지시자 및 상기 데이터의 인코딩 방식을 지시하는 제2 지시자를 더 포함한다.
여기서, 상기 데이터 메시지는 이더넷 헤더, IP 헤더, UDP 헤더, 메시지 ID 필드, 길이 필드, 플래그 필드, 예비 필드, 시퀀스 번호 필드 및 상기 데이터를 포함하는 페이로드를 포함할 수 있다.
여기서, 상기 제1 지시자는 상기 메시지 ID 필드 또는 상기 플래그 필드에 포함될 수 있고, 상기 페이로드에 포함된 상기 데이터의 종류가 텍스트 데이터 또는 이미지 데이터인 것을 지시할 수 있다.
여기서, 상기 제2 지시자는 상기 예비 필드에 포함될 수 있고, 상기 페이로드에 포함된 상기 데이터의 종류가 텍스트 데이터인 경우에 상기 텍스트 데이터의 인코딩 방식을 지시할 수 있다.
여기서, 상기 제2 지시자는 상기 예비 필드에 포함될 수 있고, 상기 페이로드에 포함된 상기 데이터의 종류가 이미지 데이터인 경우에 상기 이미지 데이터의 인코딩 방식을 지시할 수 있다.
여기서, 상기 페이로드에 포함된 상기 데이터의 종류가 이미지 데이터인 경우, 상기 데이터 메시지의 상기 예비 필드는 상기 이미지 데이터의 해상도를 지시하는 제3 지시자를 더 포함할 수 있다.
본 발명에 의하면, 새로운 IT(information technology) 서비스(예를 들어, 헤드업 디스플레이(head-up display) 장치를 통한 내비게이션(navigation) 정보의 제공 서비스, 핸즈프리(hands-free) 장치를 통한 통화 기능의 제공 서비스, 스트리밍(streaming) 서비스 등)가 이미 양산된 차량에 적용되는 경우에도, 차량 네트워크에서 새로운 IT 서비스를 위한 정보(예를 들어, 텍스트, 이미지(예를 들어, 아이콘) 등)가 송수신될 수 있다.
예를 들어, 송신 통신 노드는 데이터의 종류(예를 들어, 텍스트, 이미지), 데이터의 인코딩(encoding) 방식 등을 포함하는 데이터 메시지를 생성할 수 있고, 생성된 데이터 메시지를 수신 통신 노드에 전송할 수 있다. 수신 통신 노드는 데이터 메시지를 송신 통신 노드로부터 수신할 수 있고, 수신된 데이터 메시지에 포함된 정보에 기초하여 데이터의 종류, 인코딩 방식 등을 확인할 수 있다. 따라서 수신 통신 노드는 확인된 데이터의 종류, 인코딩 방식 등에 기초하여 데이터 메시지에 포함된 데이터를 디코딩할 수 있다. 따라서 차량 네트워크는 새로운 IT 서비스를 위한 정보의 송수신 기능을 지원할 수 있으며, 차량 네트워크의 성능이 향상될 수 있다.
도 1은 차량 네트워크의 제1 실시예를 도시한 블록도이다.
도 2는 차량 네트워크에 속하는 통신 노드의 제1 실시예를 도시한 블록도이다.
도 3은 차량 네트워크에 속하는 통신 노드의 제2 실시예를 도시한 블록도이다.
도 4는 차량 네트워크에서 데이터 메시지의 송수신 방법의 제1 실시예를 도시한 순서도이다.
도 5는 차량 네트워크에서 데이터 메시지의 제1 실시예를 도시한 블록도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 차량 네트워크의 제1 실시예를 도시한 블록도이다.
도 1을 참조하면, 차량 네트워크를 구성하는 통신 노드(communication node)는 게이트웨이(gateway), 스위치(switch)(또는, 브릿지(bridge)) 또는 엔드 노드(end node) 등을 의미할 수 있다. 게이트웨이(100)는 적어도 하나의 스위치(110, 110-1, 110-2, 120, 130)와 연결될 수 있으며, 서로 다른 네트워크를 연결할 수 있다. 예를 들어, 게이트웨이(100)는 CAN(controller area network)(또는, 플렉스레이(FlexRay), MOST(media oriented system transport), LIN(local interconnect network) 등) 프로토콜을 지원하는 스위치와 이더넷(ethernet) 프로토콜을 지원하는 스위치 간을 연결할 수 있다. 스위치들(110, 110-1, 110-2, 120, 130) 각각은 적어도 하나의 엔드 노드(111, 112, 113, 121, 122, 123, 131, 132, 133)와 연결될 수 있다. 스위치들(110, 110-1, 110-2, 120, 130) 각각은 엔드 노드(111, 112, 113, 121, 122, 123, 131, 132, 133)를 상호 연결할 수 있고, 자신과 연결된 엔드 노드(111, 112, 113, 121, 122, 123, 131, 132, 133)를 제어할 수 있다.
엔드 노드(111, 112, 113, 121, 122, 123, 131, 132, 133)는 차량에 포함된 각종 장치를 제어하는 ECU(electronic control unit)를 의미할 수 있다. 예를 들어, 엔드 노드(111, 112, 113, 121, 122, 123, 131, 132, 133)는 인포테인먼트(infortainment) 장치(예를 들어, 헤드 유닛(head unit), 디스플레이(display) 장치, 내비게이션(navigation) 장치, 어라운드 뷰 모니터링(around view monitoring) 장치) 등을 구성하는 ECU를 의미할 수 있다.
한편, 차량 네트워크를 구성하는 통신 노드들(즉, 게이트웨이, 스위치, 엔드 노드 등)은 스타(star) 토폴로지, 버스(bus) 토폴로지, 링(ring) 토폴로지, 트리(tree) 토폴로지, 메쉬(mesh) 토폴로지 등으로 연결될 수 있다. 또한, 차량 네트워크를 구성하는 통신 노드들 각각은 CAN 프로토콜, 플렉스레이 프로토콜, MOST 프로토콜, LIN 프로토콜, 이더넷 프로토콜 등을 지원할 수 있다. 본 발명에 따른 실시예들은 앞서 설명된 네트워크 토폴로지에 적용될 수 있으며, 본 발명에 따른 실시예들이 적용되는 네트워크 토폴로지는 이에 한정되지 않고 다양하게 구성될 수 있다.
도 2는 차량 네트워크에 속하는 통신 노드의 제1 실시예를 도시한 블록도이다.
도 2를 참조하면, 차량 네트워크를 구성하는 통신 노드(200)는 PHY 계층 유닛(physical layer unit)(210) 및 컨트롤러(controller) 유닛(220)을 포함할 수 있다. 또한, 통신 노드(200)는 파워(power)를 공급하는 레귤레이터(regulator)(미도시)를 더 포함할 수 있다. 이때, 컨트롤러 유닛(220)은 MAC(medium access control) 계층을 포함하여 구현될 수 있다. PHY 계층 유닛(210)은 다른 통신 노드로부터 신호를 수신할 수 있거나, 다른 통신 노드로 신호를 전송할 수 있다. 컨트롤러 유닛(220)은 PHY 계층 유닛(210)을 제어할 수 있고, 다양한 기능들(예를 들어, 인포테인먼트 기능 등)을 수행할 수 있다. PHY 계층 유닛(210)과 컨트롤러 유닛(220)은 하나의 SoC(System on Chip)로 구현될 수도 있고, 별도의 칩으로 구성될 수도 있다.
PHY 계층 유닛(210)과 컨트롤러 유닛(220)은 매체 독립 인터페이스(media independent interface, MII)(230)를 통해 연결될 수 있다. MII(230)는 IEEE 802.3에 규정된 인터페이스를 의미할 수 있으며, PHY 계층 유닛(210)과 컨트롤러 유닛(220) 간의 데이터 인터페이스 및 관리 인터페이스로 구성될 수 있다. MII(230) 대신에 RMII(reduced MII), GMII(gigabit MII), RGMII(reduced GMII), SGMII(serial GMII), XGMII(10 GMII) 중 하나의 인터페이스가 사용될 수 있다. 데이터 인터페이스는 전송 채널(channel) 및 수신 채널을 포함할 수 있으며, 채널들 각각은 독립적인 클럭(clock), 데이터 및 제어 신호를 가질 수 있다. 관리 인터페이스는 2-신호 인터페이스로 구성될 수 있으며, 하나는 클럭을 위한 신호이고 다른 하나는 데이터를 위한 신호일 수 있다.
PHY 계층 유닛(210)은 PHY 계층 인터페이스 유닛(211), PHY 계층 프로세서(processor)(212) 및 PHY 계층 메모리(memory)(213) 등을 포함할 수 있다. PHY 계층 유닛(210)의 구성은 이에 한정되지 않으며, PHY 계층 유닛(210)은 다양하게 구성될 수 있다. PHY 계층 인터페이스 유닛(211)은 컨트롤러 유닛(220)으로부터 수신된 신호를 PHY 계층 프로세서(212)로 전송할 수 있고, PHY 계층 프로세서(212)로부터 수신된 신호를 컨트롤러 유닛(220)에 전송할 수 있다. PHY 계층 프로세서(212)는 PHY 계층 인터페이스 유닛(211) 및 PHY 계층 메모리(213) 각각의 동작을 제어할 수 있다. PHY 계층 프로세서(212)는 전송할 신호의 변조 또는 수신된 신호의 복조를 수행할 수 있다. PHY 계층 프로세서(212)는 신호를 입력 또는 출력하도록 PHY 계층 메모리(213)를 제어할 수 있다. PHY 계층 메모리(213)는 수신된 신호를 저장할 수 있고, PHY 계층 프로세서(212)의 요청에 따라 저장된 신호를 출력할 수 있다.
컨트롤러 유닛(220)은 MII(230)를 통해 PHY 계층 유닛(210)에 대한 모니터링 및 제어를 수행할 수 있다. 컨트롤러 유닛(220)은 컨트롤러 인터페이스 유닛(221), 컨트롤러 프로세서(222), 주 메모리(223) 및 보조 메모리(224) 등을 포함할 수 있다. 컨트롤러 유닛(220)의 구성은 이에 한정되지 않으며, 컨트롤러 유닛(220)은 다양하게 구성될 수 있다. 컨트롤러 인터페이스 유닛(221)은 PHY 계층 유닛(210)(즉, PHY 계층 인터페이스 유닛(211)) 또는 상위 계층(미도시)으로부터 신호를 수신할 수 있고, 수신된 신호를 컨트롤러 프로세서(222)에 전송할 수 있고, 컨트롤러 프로세서(222)로부터 수신된 신호를 PHY 계층 유닛(210) 또는 상위 계층에 전송할 수 있다. 컨트롤러 프로세서(222)는 컨트롤러 인터페이스 유닛(221), 주 메모리(223) 및 보조 메모리(224)를 제어하기 위한 독립된 메모리 컨트롤 로직(control logic) 또는 통합 메모리 컨트롤 로직을 더 포함할 수 있다. 메모리 컨트롤 로직은 주 메모리(223) 및 보조 메모리(224)에 포함되어 구현될 수도 있으며, 또는 컨트롤러 프로세서(222)에 포함되어 구현될 수도 있다.
주 메모리(223) 및 보조 메모리(224) 각각은 컨트롤러 프로세서(222)에 의해 처리된 신호를 저장할 수 있고, 컨트롤러 프로세서(222)의 요청에 따라 저장된 신호를 출력할 수 있다. 주 메모리(223)는 컨트롤러 프로세서(222)의 동작을 위해 필요한 데이터를 일시 저장하는 휘발성 메모리(예를 들어, RAM(random access memory) 등)를 의미할 수 있다. 보조 메모리(224)는 운영체제 코드(operating system code)(예를 들어, 커널(kernel) 및 디바이스 드라이버(device driver))와 컨트롤러 프로세서(220)의 기능을 수행하기 위한 응용 프로그램(application program) 코드 등이 저장되는 비휘발성 메모리를 의미할 수 있다. 비휘발성 메모리로 빠른 처리 속도를 가지는 플래쉬 메모리(flash memory)가 사용될 수 있고, 또는 대용량의 데이터 저장을 위한 하드 디스크 드라이브(hard disc drive, HDD), CD-ROM(compact disc-read only memory) 등이 사용될 수 있다. 컨트롤러 프로세서(222)는 통상적으로 적어도 하나의 프로세싱 코어(core)를 포함하는 로직 회로로 구성될 수 있다. 컨트롤러 프로세서(222)로 ARM(Advanced RISC Machines Ltd.) 계열의 코어, 아톰(atom) 계열의 코어 등이 사용될 수 있다.
도 3은 차량 네트워크에 속하는 통신 노드의 제2 실시예를 도시한 블록도이다.
도 3을 참조하면, 차량 네트워크를 구성하는 통신 노드(300)는 하드웨어(hardware) 계층(310), HAL(hardware abstraction layer)(330), 미들웨어(middleware) 계층(350) 및 애플리케이션(application) 계층(370)을 포함할 수 있다. 하드웨어 계층(310)은 PHY 계층 유닛(311) 및 MAC 계층 유닛(312)을 포함할 수 있다. PHY 계층 유닛(311)은 이더넷 프로토콜을 지원할 수 있으며, 도 2를 참조하여 설명된 PHY 계층 유닛(210)일 수 있다. MAC 계층 유닛(312)은 이더넷 프로토콜(예를 들어, IEEE 802.3 등)을 지원할 수 있으며, 도 2를 참조하여 설명된 컨트롤러 유닛(220)일 수 있다.
하드웨어 계층(310)은 AVB(audio video bridging) 프로토콜을 지원할 수 있다. 예를 들어, 하드웨어 계층(310)은 IEEE 802.1AS 타임 스탬핑(time stamping) 프로토콜, IEEE 802.1Q SRP(stream reservation protocol), IEEE 802.1Q FQTSS(forwarding&queuing for time-sensitive stream) 프로토콜 등을 지원할 수 있다. IEEE 802.1AS 타임 스탬핑 프로토콜은 IEEE802.1AS에 따른 메시지의 송수신 시간에 대한 스탬핑 동작 등을 지원할 수 있다. IEEE 802.1Q SRP는 스트림 자원의 예약 동작, 트래픽 쉐이퍼(traffic shaper)의 예약 동작 등을 지원할 수 있다. IEEE 802.1Q FQTSS 프로토콜은 전송되는 메시지의 쉐이핑(shaping) 동작 등을 지원할 수 있다. 하드웨어 계층(310)은 미들웨어 계층(350)이 동작할 수 있도록 HAL(330)을 지원할 수 있다.
하드웨어 계층(310)은 크게 세 가지 상태 모드(mode)를 지원할 수 있다. 예를 들어, 하드웨어 계층(310)은 노멀(normal) 모드, 슬립(sleep) 모드 및 파워 오프(off) 모드를 지원할 수 있다. 노멀 모드에서 이더넷 통신은 수행될 수 있다. 하드웨어 계층(310)의 상태가 노멀 모드인 경우, PHY 계층 유닛(311)은 노멀 모드(예를 들어, INH 핀(pin) 액티브(active) 상태)로 동작할 수 있고, MAC 계층 유닛(312)은 액티브 상태(예를 들어, 메시지를 송수신할 수 있는 상태)로 동작할 수 있다. 슬립 모드에서 이더넷 통신은 최소한의 전력을 사용하여 제한적으로 수행될 수 있다. 하드웨어 계층(310)의 상태가 슬립 모드인 경우, PHY 계층 유닛(311)은 슬립 모드(예를 들어, INH 핀 인액티브(inactive) 상태)로 동작할 수 있고, 리모트 이벤트(event)가 검출된 경우 웨이크업(wakeup) 될 수 있다. 또한, MAC 계층 유닛(312)은 인액티브 상태(예를 들어, 메시지를 송수신할 수 없는 상태)로 동작할 수 있고, 로컬(local) 이벤트가 검출된 경우 웨이크업 될 수 있다.
하드웨어 계층(310)의 상태가 파워 오프 모드인 경우, PHY 계층 유닛(311)은 슬립 모드(예를 들어, INH 핀 인액티브 상태)로 동작할 수 있고, 리모트 이벤트가 검출된 경우 웨이크업 될 수 있다. 또한, MAC 계층 유닛(312)은 인액티브 상태로 동작할 수 있고, 전력은 MAC 계층 유닛(312)에 공급되지 않을 수 있다. 즉, MAC 계층 유닛(312)은 로컬 이벤트에 의해서 웨이크업 될 수 없다. 하드웨어 계층(310)의 구성은 앞서 설명된 내용에 한정되지 않으며, 하드웨어 계층(310)은 다양하게 구성될 수 있다.
HAL(330)은 하드웨어 계층(310)과 미들웨어 계층(350)의 사이에 위치할 수 있으며, 복수의 하드웨어 계층(310)들 간의 독립성을 보장하기 위해 사용될 수 있다. HAL(330)은 이후에 설명될 OSAL(operating system abstraction layer)(351)과 독립적인 유닛으로 구성될 수 있고, 또는 HAL(330)은 OSAL(351)과 함께 하나의 유닛으로 구성될 수 있다.
미들웨어 계층(350)은 TCP/IP(transfer control protocol/internet protocol)를 기반으로 동작하는 IP 미들웨어 계층, AVB 프로토콜을 기반으로 동작하는 AVB 미들웨어 및 OSAL(351)을 포함할 수 있다. IP 미들웨어 계층은 DoIP(diagnostics over internet protocol) 유닛(352), EthCC 유닛(353), EthNM 유닛(354) 등을 포함할 수 있다. DoIP 유닛(352)은 진단 통신을 수행하도록 구성될 수 있다. EthCC 유닛(353)은 제어 메시지를 송수신하도록 구성될 수 있다. EthNM 유닛(354)은 네트워크 관리를 수행하도록 구성될 수 있다. IP 미들웨어 계층은 IPv4, ICMP(internet control message protocol), ARP(address resolution protocol), TCP, UDP(user datagram protoco) 등을 지원할 수 있다.
AVB 미들웨어 계층은 토커(talker) 유닛(355), 리스너(listener) 유닛(356) 등을 포함할 수 있다. 토커 유닛(355)은 AVB 프로토콜을 기반으로 AVB 스트림의 전송을 수행하도록 구성될 수 있다. 리스너 유닛(356)은 AVB 프로토콜을 기반으로 AVB 스트림의 수신을 수행하도록 구성될 수 있다. AVB 미들웨어 계층은 IEEE 802.1AS gPTP(generalized precision time protocol), IEEE 1222 AVTP(AVB transport protocol) 등을 지원할 수 있다. IEEE 802.1AS gPTP는 BMCA(best master clock algorithm) 기반의 그랜드 마스터(grand master) 선정을 위한 동작, 클록(clock) 동기화를 위한 동작, 링크(link) 지연 산출을 위한 동작 등을 지원할 수 있다. IEEE 1222 AVTP는 오디오 데이터 유닛 및 비디오 데이터 유닛을 포함하는 이더넷 메시지를 생성하는 동작 등을 지원할 수 있다.
애플리케이션 계층(370)은 소프트웨어 인터페이스(software interface)(371), 애플리케이션(372) 등을 포함할 수 있다. 소프트웨어 인터페이스(371)는 애플리케이션(372)에 대한 신호의 입력 동작 및 출력 동작을 지원할 수 있다. 예를 들어, 소프트웨어 인터페이스(371)는 SOME/IP(Scalable Service-Oriented Middleware on Ethernet/Internet Protocol)를 지원할 수 있다. 애플리케이션(372)은 TCP/IP를 기반으로 동작하는 애플리케이션, AVB 프로토콜을 기반으로 동작하는 애플리케이션 등을 포함할 수 있다.
한편, IT(information technology) 기술의 발전에 따라 새로운 IT 서비스(예를 들어, 헤드업 디스플레이(head-up display) 장치를 통한 내비게이션(navigation) 정보의 제공 서비스, 핸즈프리(hands-free) 장치를 통한 통화 기능의 제공 서비스, 스트리밍(streaming) 서비스 등)가 등장하고 있으며, 새로운 IT 서비스는 차량에 적용될 수 있다. 예를 들어, 새로운 IT 서비스의 기능은 차량의 헤드 유닛에 추가될 수 있으며, 헤드 유닛은 새로운 IT 서비스를 위한 정보(예를 들어, 텍스트(text), 이미지(image)(예를 들어, 아이콘(icon)) 등)를 디스플레이 장치(예를 들어, 헤드업 디스플레이 장치, 클러스터(cluster), 내비게이션 장치 등)에 전송할 수 있고, 디스플레이 장치는 헤드 유닛으로부터 수신된 정보를 디스플레이할 수 있다. 따라서 차량의 사용자는 디스플레이 장치를 통해 새로운 IT 서비스의 수행에 따른 정보를 획득할 수 있다.
그러나 디스플레이 장치가 새로운 IT 서비스를 위한 정보의 인코딩(encoding) 방식을 알지 못하는 경우, 디스플레이 장치는 헤드 유닛으로부터 수신된 정보를 디코딩(decoding)하지 못할 수 있다. 따라서 차량 네트워크에서 새로운 IT 서비스를 지원하기 위한 통신 프로토콜이 필요할 것이다.
다음으로, 차량 네트워크에서 새로운 IT 서비스를 위한 정보의 송수신 방법들이 설명될 것이다. 이하에서, 제1 통신 노드에서 수행되는 방법(예를 들어, 메시지의 전송 또는 수신)이 설명되는 경우에도 이에 대응하는 제2 통신 노드는 제1 통신 노드에서 수행되는 방법과 상응하는 방법(예를 들어, 메시지의 수신 또는 전송)을 수행할 수 있다. 즉, 제1 통신 노드의 동작이 설명된 경우에 이에 대응하는 제2 통신 노드는 제1 통신 노드의 동작과 상응하는 동작을 수행할 수 있다. 반대로, 제2 통신 노드의 동작이 설명된 경우에 이에 대응하는 제1 통신 노드는 스위치의 동작과 상응하는 동작을 수행할 수 있다.
도 4는 차량 네트워크에서 데이터 메시지의 송수신 방법의 제1 실시예를 도시한 순서도이다.
도 4를 참조하면, 차량 네트워크는 제1 통신 노드(410), 제2 통신 노드(420) 등을 포함할 수 있다. 제1 통신 노드(410) 및 제2 통신 노드(420) 각각은 도 1의 차량 네트워크에 속한 엔드 노드들(111, 112, 113, 121, 122, 123, 131, 132, 133) 중에서 하나의 엔드 노드일 수 있다. 제1 통신 노드(410) 및 제2 통신 노드(420)는 CAN 프로토콜, 플렉스레이 프로토콜, MOST 프로토콜, LIN 프로토콜, 이더넷 프로토콜 등을 지원할 수 있다. 예를 들어, 제1 통신 노드(410)와 제2 통신 노드(420) 간의 통신은 이더넷 프로토콜에 기초하여 수행될 수 있다. 제1 통신 노드(410) 및 제2 통신 노드(420)는 도 2에 도시된 통신 노드(200)(또는, 도 3에 도시된 통신 노드(300))와 동일 또는 유사하게 구성될 수 있다.
또한, 제1 통신 노드(410) 및 제2 통신 노드(420)는 새로운 IT 서비스(예를 들어, 헤드업 디스플레이 장치를 통한 내비게이션 정보의 제공 서비스, 핸즈프리 장치를 통한 통화 기능의 제공 서비스, 스트리밍 서비스 등)를 지원할 수 있다. 제1 통신 노드(410)는 차량의 헤더 유닛(header unit)일 수 있고, 제2 통신 노드(420)는 헤더 유닛으로부터 수신된 정보를 디스플레이하는 장치(예를 들어, 헤드업 디스플레이 장치, 클러스터, 내비게이션 장치 등)일 수 있다.
제2 통신 노드(420)로 전송될 데이터가 존재하는 경우, 제1 통신 노드(410)는 해당 데이터를 포함하는 데이터 메시지를 생성할 수 있다(S401). 데이터 메시지에 포함된 데이터의 종류는 텍스트, 이미지(예를 들어, 아이콘) 등일 수 있다. 데이터 메시지에 포함된 데이터는 새로운 IT 서비스(예를 들어, 애플리케이션)의 수행에 따라 생성될 수 있다. 예를 들어, 데이터 메시지에 포함된 데이터는 아래 시나리오(scenario)에 따라 생성될 수 있다.
- 시나리오 1: 헤더 유닛에서 헤드업 디스플레이 장치(또는, 클러스터)로 전송될 내비게이션 정보(예를 들어, 속도, 방향, 도로 명칭 등)가 존재하는 경우
- 시나리오 2: 헤더 유닛과 연결된 사용자의 모바일 폰(mobile phoe)을 사용하여 전화를 걸고자 할 때, 헤더 유닛에서 헤드업 디스플레이 장치(또는, 클러스터)로 전송될 수신자 정보(예를 들어, 전화번호, 이름 등)가 존재하는 경우
- 시나리오 3: 헤더 유닛과 연결된 사용자의 모바일 폰을 사용하여 전화를 받고자 할 때, 헤더 유닛에서 헤드업 디스플레이 장치(또는, 클러스터)로 전송될 발신자 정보(예를 들어, 전화번호, 이름 등)가 존재하는 경우
- 시나리오 3: 헤더 유닛과 연결된 사용자의 모바일 폰을 통해 스트리밍 서비스가 제공될 때, 헤더 유닛에서 헤드업 디스플레이 장치(또는, 클러스터)로 전송될 스트리밍 서비스의 정보(예를 들어, 노래 제목, 가수 등)가 존재하는 경우
한편, 제1 통신 노드(410)에 의해 생성된 데이터 메시지는 다음과 같이 구성될 수 있다.
도 5는 차량 네트워크에서 데이터 메시지의 제1 실시예를 도시한 블록도이다.
도 5를 참조하면, 데이터 메시지(500)는 이더넷 헤더(501), IP 헤더(502), UDP 헤더(503), 메시지 ID(identifier) 필드(504), 길이 필드(505), 플래그(flag) 필드(506), 예비(reserved) 필드(507), 시퀀스 번호(sequence number) 필드(508), 페이로드(payload)(509) 등을 포함할 수 있다.
이더넷 헤더(501)는 DA(destination address) 필드, SA(source address) 필드, 이더넷 타입 필드 등을 포함할 수 있다. 이더넷 헤더(501)의 DA 필드는 6바이트(byte)의 크기를 가질 수 있으며, 데이터 메시지(500)를 수신하는 통신 노드(예를 들어, 제2 통신 노드(420))의 식별 정보(예를 들어, MAC(medium access control) 주소)를 포함할 수 있다. 이더넷 헤더(501)의 SA 필드는 6바이트의 크기를 가질 수 있으며, 데이터 메시지(500)를 전송하는 통신 노드(예를 들어, 제1 통신 노드(410))의 식별 정보(예를 들어, MAC 주소)를 포함할 수 있다.
이더넷 헤더(501)의 이더넷 타입 필드는 2바이트의 크기를 가질 수 있으며, 데이터 메시지(500)의 타입을 지시할 수 있다. 예를 들어, 이더넷 타입 필드에 의해 지시되는 값이 16진수 0x600보다 큰 경우, 이더넷 타입 필드는 RFC(request for comments) 894에서 규정된 DIX 포맷(format)을 지시할 수 있다. 이더넷 타입 필드에 의해 지시되는 값이 16진수 0x600보다 작은 경우, 이더넷 타입 필드는 IEEE(Institute of Electrical and Electronics Engineers)에서 규정된 SANP(subnetwork access protocol) 포맷 또는 SAP(service access point) 포맷을 지시할 수 있다. 여기서, 이더넷 타입 필드는 IPv4(internet protocol version 4)를 지시하는 16진수 0x0300으로 설정될 수 있다.
IP 헤더(502)는 20바이트 내지 60바이트의 길이를 가질 수 있으며, 프로토콜 ID, 체크섬(checksum) 정보, SA IP 주소, DA IP 주소 등을 포함할 수 있다. UDP 헤더(503)는 8바이트의 길이를 가질 수 있으며, 출발지 포트(port) 번호, 목적지 포트 번호, 체크섬 정보 등을 포함할 수 있다. 또는, 데이터 메시지(500)는 UDP 헤더(503) 대신에 TCP 헤더를 포함할 수 있다.
메시지 ID 필드(504)는 4바이트의 길이를 가질 수 있으며, 차량 네트워크에서 데이터 메시지(500)를 식별하기 위해 사용될 수 있다. 또한, 메시지 ID 필드(504)는 데이터 메시지(500)의 페이로드(509)에 포함된 데이터의 종류(예를 들어, 텍스트 데이터, 이미지 데이터)를 지시하는 정보(즉, 지시자)를 포함할 수 있다. 이 경우, 메시지 ID 필드(504) 중에서 MSB(most significant bit) 또는 LSB(least significant bit)는 아래 표 1과 같이 설정될 수 있다.
Figure 112017080689261-pat00001
예를 들어, 메시지 ID 필드(504)의 비트 값이 16진수 0 내지 5로 설정된 경우, 메시지 ID 필드(504)는 데이터 메시지(500)가 제어 정보의 전송을 위해 사용되는 것을 지시할 수 있다. 메시지 ID 필드(504)의 비트 값이 16진수 A로 설정된 경우, 메시지 ID 필드(504)는 데이터 메시지(500)가 진단을 위해 사용되는 것을 지시할 수 있다. 메시지 ID 필드(504)의 비트 값이 16진수 B로 설정된 경우, 메시지 ID 필드(504)는 데이터 메시지(500)의 페이로드(509)가 텍스트 데이터를 포함하는 것을 지시할 수 있다. 메시지 ID 필드(504)의 비트 값이 16진수 C로 설정된 경우, 메시지 ID 필드(504)는 데이터 메시지(500)의 페이로드(509)가 이미지 데이터를 포함하는 것을 지시할 수 있다. 메시지 ID 필드(504)의 비트 값이 16진수 E로 설정된 경우, 메시지 ID 필드(504)는 데이터 메시지(500)가 캘리브레이션(calibration) 및 테스트(test)를 위해 사용되는 것을 지시할 수 있다.
길이 필드(505)는 4바이트의 길이를 가질 수 있으며, 데이터 메시지(500)의 페이로드(509)의 길이를 지시할 수 있다. 플래그 필드(506)는 1바이트의 크기를 가질 수 있으며, 특정 정보(또는, 특정 동작의 수행)를 지시하는 특정 값으로 설정될 수 있다. 예를 들어, 플래그 필드(506)는 아래 표 2와 같이 설정될 수 있다.
Figure 112017080689261-pat00002
플래그 필드(506)의 ACK(acknowledgement) 필요(necessary) 플래그는 해당 메시지(예를 들어, 데이터 메시지(500))에 대한 응답인 ACK 메시지의 전송이 요구되는지를 지시할 수 있다. 플래그 필드(506)의 ACK 플래그는 해당 메시지가 ACK 메시지인지를 지시할 수 있다. 플래그 필드(506)의 RTR(remote transmission request) 플래그는 해당 메시지가 미리 설정된 시간 내에 수신되지 못한 것을 지시할 수 있다.
데이터 메시지(500)의 페이로드(509)에 포함된 데이터의 종류(예를 들어, 텍스트 데이터, 이미지 데이터)를 지시하는 정보(즉, 지시자)는 메시지 ID 필드(504) 대신에 플래그 필드(506)에 포함될 수 있다. 예를 들어, 플래그 필드(506)의 4번째 비트(예를 들어, 3번 비트)는 종류 플래그로 설정될 수 있다. "0"으로 설정된 종류 플래그는 데이터 메시지(500)의 페이로드(509)가 텍스트 데이터를 포함하는 것을 지시할 수 있고, "1"로 설정된 종류 플래그는 데이터 메시지(500)의 페이로드(509)가 이미지 데이터를 포함하는 것을 지시할 수 있다.
예비 필드(507)는 1바이트의 크기를 가질 수 있다. 페이로드(509)가 텍스트 데이터를 포함하는 경우, 예비 필드(507)는 텍스트 데이터의 인코딩 방식을 지시하는 정보(즉, 지시자)를 포함할 수 있다. 예를 들어, 페이로드(509)에 포함된 텍스트 데이터는 ASCII(american standard code for information interchange), 유니코드(unicode), UTF(universal transformation format)-8, EUC(extended unix code)-KR, CP949(code page 949), KSC5601 또는 ISO-8859-1에 기초하여 인코딩될 수 있다. 이 경우, 예비 필드(507) 중에서 3개의 비트들은 아래 표 3과 같이 텍스트 데이터의 인코딩 방식을 지시하도록 설정될 수 있다. 또한, 텍스트 데이터의 인코딩 방식은 아래 표 3에 한정되지 않고 다양하게 설정될 수 있다.
Figure 112017080689261-pat00003
페이로드(509)가 이미지 데이터를 포함하는 경우, 예비 필드(507)는 이미지 데이터의 인코딩 방식 또는 해상도(예를 들어, 픽셀(pixel)의 개수) 중에서 적어도 하나를 지시할 수 있다. 예를 들어, 페이로드(509)에 포함된 이미지 데이터는 BMP 방식, GIF(graphics interchange format) 방식, PNG(portable network graphics) 방식, TIFF(tagged image file format) 방식 또는 JPEG(joint photographic coding experts group) 방식에 기초하여 인코딩될 수 있다. 이 경우, 예비 필드(507) 중에서 3개의 비트들은 아래 표 4와 같이 이미지 데이터의 인코딩 방식을 지시하도록 설정될 수 있다. 또한, 이미지 데이터의 인코딩 방식은 아래 표 4에 한정되지 않고 다양하게 설정될 수 있다.
Figure 112017080689261-pat00004
또한, 페이로드(509)에 포함된 이미지 데이터의 해상도는 320×240, 640×480, 720×576, 1280×720, 1920×1080, 2560×1440 또는 3840×2160으로 설정될 수 있다. 이 경우, 예비 필드(507) 중에서 3개의 비트들은 아래 표 5와 같이 이미지 데이터의 해상도를 지시하도록 설정될 수 있다. 또한, 이미지 데이터의 해상도는 아래 표 5에 한정되지 않고 다양하게 설정될 수 있다.
Figure 112017080689261-pat00005
한편, 시퀀스 번호 필드(508)는 2바이트의 크기를 가질 수 있으며, 데이터 메시지(500)(예를 들어, 데이터 메시지(500)에 포함된 페이로드(509))의 시퀀스 번호를 지시할 수 있다. 페이로드(509)는 텍스트 데이터 또는 이미지 데이터를 포함할 수 있다.
예를 들어, 제1 통신 노드(410)에 의해 생성된 데이터 메시지(500)의 페이로드(509)가 텍스트 데이터를 포함하는 경우, 메시지 ID 필드(504) 또는 플래그 필드(506)는 페이로드(509)가 텍스트 데이터를 포함하는 것을 지시할 수 있고, 예비 필드(507)는 텍스트 데이터의 인코딩 방식을 지시할 수 있다. 또는, 제1 통신 노드(410)에 의해 생성된 데이터 메시지(500)의 페이로드(509)가 이미지 데이터를 포함하는 경우, 메시지 ID 필드(504) 또는 플래그 필드(506)는 페이로드(509)가 이미지 데이터를 포함하는 것을 지시할 수 있고, 예비 필드(507)는 이미지 데이터의 인코딩 방식 및 해상도 중에서 적어도 하나를 지시할 수 있다.
다시 도 4를 참조하면, 제1 통신 노드(410)는 데이터 메시지(500)를 전송할 수 있다(S402). 제2 통신 노드(420)는 링크에 대한 모니터링 동작을 수행함으로써 데이터 메시지(500)를 수신할 수 있다. 데이터 메시지(500)가 수신된 경우, 제2 통신 노드(420)는 데이터 메시지(500)의 이더넷 헤더(501)에 포함된 DA 필드에 의해 지시되는 주소가 제2 통신 노드(420)의 주소와 동일한지를 확인할 수 있다. 이더넷 헤더(501)에 포함된 DA 필드에 의해 지시되는 주소가 제2 통신 노드(420)의 주소와 다른 경우, 제2 통신 노드(420)는 데이터 메시지(500)를 폐기할 수 있다. 반면, 이더넷 헤더(501)에 포함된 DA 필드에 의해 지시되는 주소가 제2 통신 노드(420)의 주소와 동일한 경우, 제2 통신 노드(420)는 이더넷 헤더(501) 이후의 정보를 확인할 수 있다.
예를 들어, 제2 통신 노드(420)는 데이터 메시지(500)의 메시지 ID 필드(504) 또는 플래그 필드(506)에 기초하여 페이로드(509)에 포함된 데이터의 종류를 확인할 수 있다(S403). 표 1을 기초로 설정된 메시지 ID 필드(504)가 "B"를 지시하는 경우 또는 플래그 필드(506)의 종류 플래그가 "0"을 지시하는 경우, 제2 통신 노드(420)는 페이로드(509)에 포함된 데이터의 종류가 텍스트 데이터인 것으로 판단할 수 있다. 표 1을 기초로 설정된 메시지 ID 필드(504)가 "C"를 지시하는 경우 또는 플래그 필드(506)의 종류 플래그가 "1"을 지시하는 경우, 제2 통신 노드(420)는 페이로드(509)에 포함된 데이터의 종류가 이미지 데이터인 것으로 판단할 수 있다.
데이터 메시지(500)의 페이로드(509)에 포함된 데이터의 종류가 확인된 후에, 제2 통신 노드(420)는 데이터 메시지(500)의 예비 필드(507)에 기초하여 페이로드(509)에 포함된 데이터의 인코딩 방식을 확인할 수 있다(S404). 예를 들어, 페이로드(509)에 포함된 데이터의 종류가 텍스트 데이터인 경우, 제2 통신 노드(420)는 예비 필드(507)가 텍스트 데이터의 인코딩 방식을 지시하는 것으로 판단할 수 있다. 예비 필드(507)가 표 3에 기초하여 설정된 경우, 제2 통신 노드(420)는 표 3을 기반으로 예비 필드(507)에 의해 지시되는 인코딩 방식을 확인할 수 있다.
페이로드(509)에 포함된 데이터의 종류가 이미지 데이터인 경우, 제2 통신 노드(420)는 예비 필드(507)가 이미지 데이터의 인코딩 방식 및 해상도 중에서 적어도 하나를 지시하는 것으로 판단할 수 있다. 예비 필드(507)가 표 4 및 표 5에 기초하여 설정된 경우, 제2 통신 노드(420)는 표 4를 기반으로 예비 필드(507)에 의해 지시되는 인코딩 방식을 확인할 수 있고, 표 5를 기반으로 예비 필드(507)에 의해 지시되는 해상도를 확인할 수 있다.
데이터 메시지(500)의 페이로드(509)에 포함된 데이터의 인코딩 방식이 확인된 후에, 제2 통신 노드(420)는 확인된 인코딩 방식에 대응하는 디코딩 방식을 사용하여 페이로드(509)에 포함된 데이터(예를 들어, 텍스트 데이터, 이미지 데이터)를 디코딩할 수 있다(S405). 예를 들어, 제2 통신 노드(420)는 확인된 인코딩 방식에 대응하는 디코딩 방식에 기초하여 텍스트 데이터를 디코딩할 수 있고, 확인된 인코딩 방식에 대응하는 디코딩 방식 및 확인된 해상도에 기초하여 이미지 데이터를 디코딩할 수 있다. 데이터 메시지(500)의 페이로드(509)에 포함된 데이터의 디코딩이 완료된 경우, 제2 통신 노드(420)는 디코딩된 결과를 디스플레이할 수 있다. 따라서 차량의 사용자는 새로운 IT 서비스의 수행 결과를 디스플레이 장치(예를 들어, 제2 통신 노드)를 통해 확인할 수 있다.
본 발명에 따른 방법들은 다양한 컴퓨터 수단을 통해 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 컴퓨터 판독 가능 매체에 기록되는 프로그램 명령은 본 발명을 위해 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.
컴퓨터 판독 가능 매체의 예에는 롬(rom), 램(ram), 플래시 메모리(flash memory) 등과 같이 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러(compiler)에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터(interpreter) 등을 사용해서 컴퓨터에 의해 실행될 수 있는 고급 언어 코드를 포함한다. 상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 적어도 하나의 소프트웨어 모듈로 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

Claims (20)

  1. 이더넷 기반의 차량 네트워크에서 제1 통신 노드의 동작 방법으로서,
    상기 차량 네트워크에 속한 제2 통신 노드로 전송될 데이터가 존재하는 경우, 상기 데이터를 포함하는 데이터 메시지를 생성하는 단계; 및
    상기 데이터 메시지를 상기 제2 통신 노드로 전송하는 단계를 포함하며,
    상기 데이터 메시지는 상기 데이터 메시지의 페이로드(payload)에 포함된 데이터의 종류가 텍스트(text)인지 또는 이미지(image)인지를 지시하는 제1 지시자 및 상기 데이터의 인코딩(encoding) 방식이 제1 인코딩 방식인지 또는 제2 인코딩 방식인지를 지시하는 제2 지시자를 더 포함하며, 상기 제1 인코딩 방식은 상기 텍스트에 적용되고, 상기 제2 인코딩 방식은 상기 이미지에 적용되며, 상기 제1 인코딩 방식은 상기 제2 인코딩 방식과 다른, 제1 통신 노드의 동작 방법.
  2. 청구항 1에 있어서,
    상기 데이터 메시지는 이더넷 헤더(header), IP(internet protocol) 헤더, UDP(user datagram protocol) 헤더, 메시지 ID(identifier) 필드(field), 길이 필드, 플래그(flag) 필드, 예비(reserved) 필드, 시퀀스 번호(sequence number) 필드 및 상기 데이터를 포함하는 페이로드(payload)를 포함하는, 제1 통신 노드의 동작 방법.
  3. 청구항 2에 있어서,
    상기 제1 지시자는 상기 메시지 ID 필드에 포함는, 제1 통신 노드의 동작 방법.
  4. 청구항 2에 있어서,
    상기 제1 지시자는 상기 플래그 필드에 포함되는, 제1 통신 노드의 동작 방법.
  5. 청구항 2에 있어서,
    상기 제2 지시자는 상기 예비 필드에 포함되는, 제1 통신 노드의 동작 방법.
  6. 삭제
  7. 청구항 2에 있어서,
    상기 페이로드에 포함된 상기 데이터의 종류가 이미지 데이터인 경우, 상기 데이터 메시지의 상기 예비 필드는 상기 이미지 데이터의 해상도를 지시하는 제3 지시자를 더 포함하는, 제1 통신 노드의 동작 방법.
  8. 이더넷 기반의 차량 네트워크에서 제1 통신 노드의 동작 방법으로서,
    상기 차량 네트워크에 속한 제2 통신 노드로부터 데이터를 포함하는 데이터 메시지를 수신하는 단계;
    상기 데이터 메시지에 포함된 제1 지시자에 기초하여 상기 데이터 메시지의 페이로드(payload)에 포함된 데이터의 종류가 텍스트(text)인지 또는 이미지(image)인지를 확인하는 단계;
    상기 데이터 메시지에 포함된 제2 지시자에 기초하여 상기 데이터의 인코딩(encoding) 방식이 제1 인코딩 방식인지 또는 제2 인코딩 방식인지를 확인하는 단계; 및
    상기 인코딩 방식에 대응하는 디코딩(decoding) 방식을 사용하여 상기 데이터 메시지에 포함된 상기 데이터를 디코딩하는 단계를 포함하며, 상기 제1 인코딩 방식은 상기 텍스트에 적용되고, 상기 제2 인코딩 방식은 상기 이미지에 적용되며, 상기 제1 인코딩 방식은 상기 제2 인코딩 방식과 다른, 제1 통신 노드의 동작 방법.
  9. 청구항 8에 있어서,
    상기 데이터 메시지는 이더넷 헤더(header), IP(internet protocol) 헤더, UDP(user datagram protocol) 헤더, 메시지 ID(identifier) 필드(field), 길이 필드, 플래그(flag) 필드, 예비(reserved) 필드, 시퀀스 번호(sequence number) 필드 및 상기 데이터를 포함하는 페이로드(payload)를 포함하는, 제1 통신 노드의 동작 방법.
  10. 청구항 9에 있어서,
    상기 제1 지시자는 상기 메시지 ID 필드에 포함되는, 제1 통신 노드의 동작 방법.
  11. 청구항 9에 있어서,
    상기 제1 지시자는 상기 플래그 필드에 포함되는, 제1 통신 노드의 동작 방법.
  12. 청구항 9에 있어서,
    상기 제2 지시자는 상기 예비 필드에 포함되는, 제1 통신 노드의 동작 방법.
  13. 삭제
  14. 청구항 9에 있어서,
    상기 페이로드에 포함된 상기 데이터의 종류가 이미지 데이터인 경우, 상기 데이터 메시지의 상기 예비 필드는 상기 이미지 데이터의 해상도를 지시하는 제3 지시자를 더 포함하고, 상기 데이터는 상기 해상도 및 상기 디코딩 방식에 기초하여 디코딩되는, 제1 통신 노드의 동작 방법.
  15. 이더넷 기반의 차량 네트워크에 속한 제1 통신 노드로서,
    프로세서(processor); 및
    상기 프로세서에 의해 실행되는 적어도 하나의 명령이 저장된 메모리(memory)를 포함하며,
    상기 적어도 하나의 명령은,
    상기 차량 네트워크에 속한 제2 통신 노드로 전송될 데이터가 존재하는 경우, 상기 데이터를 포함하는 데이터 메시지를 생성하고; 그리고
    상기 데이터 메시지를 상기 제2 통신 노드로 전송하도록 실행되며,
    상기 데이터 메시지는 상기 데이터 메시지의 페이로드(payload)에 포함된 데이터의 종류가 텍스트(text)인지 또는 이미지(image)인지를 지시하는 제1 지시자 및 상기 데이터의 인코딩(encoding) 방식이 제1 인코딩 방식인지 또는 제2 인코딩 방식인지를 지시하는 제2 지시자를 더 포함하며, 상기 제1 인코딩 방식은 상기 텍스트에 적용되고, 상기 제2 인코딩 방식은 상기 이미지에 적용되며, 상기 제1 인코딩 방식은 상기 제2 인코딩 방식과 다른, 제1 통신 노드.
  16. 청구항 15에 있어서,
    상기 데이터 메시지는 이더넷 헤더(header), IP(internet protocol) 헤더, UDP(user datagram protocol) 헤더, 메시지 ID(identifier) 필드(field), 길이 필드, 플래그(flag) 필드, 예비(reserved) 필드, 시퀀스 번호(sequence number) 필드 및 상기 데이터를 포함하는 페이로드(payload)를 포함하는, 제1 통신 노드.
  17. 청구항 16에 있어서,
    상기 제1 지시자는 상기 메시지 ID 필드 또는 상기 플래그 필드에 포함되는, 제1 통신 노드.
  18. 청구항 16에 있어서,
    상기 제2 지시자는 상기 예비 필드에 포함되는, 제1 통신 노드.
  19. 삭제
  20. 청구항 16에 있어서,
    상기 페이로드에 포함된 상기 데이터의 종류가 이미지 데이터인 경우, 상기 데이터 메시지의 상기 예비 필드는 상기 이미지 데이터의 해상도를 지시하는 제3 지시자를 더 포함하는, 제1 통신 노드.
KR1020170105624A 2016-10-07 2017-08-21 차량 네트워크에서 데이터의 송수신 방법 및 장치 KR102362611B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US15/719,398 US10511668B2 (en) 2016-10-07 2017-09-28 Method of transmitting and receiving data in vehicle network and apparatus for the same
CN201710916911.2A CN107920059A (zh) 2016-10-07 2017-09-30 车辆网络中发送和接收数据的方法及其装置
DE102017217636.9A DE102017217636A1 (de) 2016-10-07 2017-10-04 Verfahren zum Senden und Empfangen von Daten in einem Fahrzeugnetz und Vorrichtung für dieses

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20160130061 2016-10-07
KR1020160130061 2016-10-07

Publications (2)

Publication Number Publication Date
KR20180038960A KR20180038960A (ko) 2018-04-17
KR102362611B1 true KR102362611B1 (ko) 2022-02-14

Family

ID=62083281

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170105624A KR102362611B1 (ko) 2016-10-07 2017-08-21 차량 네트워크에서 데이터의 송수신 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102362611B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210120287A (ko) * 2020-03-26 2021-10-07 현대자동차주식회사 진단 시스템 및 차량

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080043684A1 (en) * 2006-08-18 2008-02-21 General Motors Corporation Lightweight protocol for use in a tcp/ip communications network
US20090103433A1 (en) * 2007-10-19 2009-04-23 Rebelvox, Llc Telecommunication and multimedia management method and apparatus
US20150039621A1 (en) * 2013-08-05 2015-02-05 Nvidia Corporation Method for capturing the moment of the photo capture

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102293037B1 (ko) * 2014-08-27 2021-08-23 현대자동차주식회사 네트워크에서 통신 노드의 동작 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080043684A1 (en) * 2006-08-18 2008-02-21 General Motors Corporation Lightweight protocol for use in a tcp/ip communications network
US20090103433A1 (en) * 2007-10-19 2009-04-23 Rebelvox, Llc Telecommunication and multimedia management method and apparatus
US20150039621A1 (en) * 2013-08-05 2015-02-05 Nvidia Corporation Method for capturing the moment of the photo capture

Also Published As

Publication number Publication date
KR20180038960A (ko) 2018-04-17

Similar Documents

Publication Publication Date Title
US10382221B2 (en) Communication method based on automotive safety integrity level in vehicle network and apparatus for the same
US10511668B2 (en) Method of transmitting and receiving data in vehicle network and apparatus for the same
CN108370343B (zh) 网络集线器、转送方法以及车载网络系统
US10693668B2 (en) Operation method of communication node in network
KR102337548B1 (ko) 네트워크의 진단 방법 및 장치
KR102352527B1 (ko) 차량 네트워크에서 asil에 기초한 통신 방법 및 장치
KR101673304B1 (ko) 차량용 이더넷을 위한 avb 스트림 제어 방법 및 장치
CN107026889B (zh) 网络中的通信节点的操作方法
KR102234210B1 (ko) 이더넷 기반의 네트워크를 위한 보안 방법
WO2017203905A1 (ja) ネットワークハブ、転送方法及び車載ネットワークシステム
KR20140124255A (ko) 이더넷 연동 차량 통신 게이트웨이 장치와, 그 장치에서의 메시지 전달 방법
KR102452615B1 (ko) 네트워크에서 우선순위에 기초한 데이터의 전송 방법
KR20170101046A (ko) 분할된 차량 네트워크에서 통신 방법
KR102293037B1 (ko) 네트워크에서 통신 노드의 동작 방법
CN108093028B (zh) 基于车辆网络中呈现时间再现内容的方法和装置
KR102362611B1 (ko) 차량 네트워크에서 데이터의 송수신 방법 및 장치
KR102390481B1 (ko) 네트워크에서 통신 노드의 동작 방법
KR102342000B1 (ko) 차량 네트워크에서 프레젠테이션 타임에 기초한 콘텐츠의 재생 방법 및 장치
WO2017203904A1 (ja) 電子制御ユニット、フレーム生成方法及びプログラム
KR102228331B1 (ko) 네트워크에서 통신 노드의 동작 방법
KR20180038957A (ko) 차량 네트워크에서 미러링을 위한 통신 노드의 동작 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant