KR20180029846A - 차량 네트워크에서 asil에 기초한 통신 방법 및 장치 - Google Patents

차량 네트워크에서 asil에 기초한 통신 방법 및 장치 Download PDF

Info

Publication number
KR20180029846A
KR20180029846A KR1020170095218A KR20170095218A KR20180029846A KR 20180029846 A KR20180029846 A KR 20180029846A KR 1020170095218 A KR1020170095218 A KR 1020170095218A KR 20170095218 A KR20170095218 A KR 20170095218A KR 20180029846 A KR20180029846 A KR 20180029846A
Authority
KR
South Korea
Prior art keywords
message
ethernet
asil
communication node
authentication information
Prior art date
Application number
KR1020170095218A
Other languages
English (en)
Other versions
KR102352527B1 (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 CN201710811289.9A priority Critical patent/CN107819736B/zh
Priority to US15/702,370 priority patent/US10382221B2/en
Priority to DE102017121049.0A priority patent/DE102017121049A1/de
Publication of KR20180029846A publication Critical patent/KR20180029846A/ko
Application granted granted Critical
Publication of KR102352527B1 publication Critical patent/KR102352527B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • 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

차량 네트워크에서 ASIL에 기초한 통신 방법 및 장치가 개시된다. 제1 통신 노드의 동작 방법은 이더넷 기반의 네트워크에 속한 제2 통신 노드로부터 이더넷 메시지를 수신하는 단계, 상기 이더넷 메시지에 포함된 제1 ASIL 인증 정보에 대한 무결성 검증 동작을 수행하는 단계, 무결성 검증이 완료된 상기 이더넷 메시지에 기초하여 CAN 메시지를 생성하는 단계, 및 상기 CAN 메시지를 CAN에 속한 제3 통신 노드에 전송하는 단계를 포함한다. 따라서 차량 네트워크의 성능이 향상될 수 있다.

Description

차량 네트워크에서 ASIL에 기초한 통신 방법 및 장치{METHOD FOR COMMUNICATION BASED ON AUTOMOTIVE SAFETY INTEGRITY LEVEL IN AUTOMOTIVE NETWORK AND APPARATUS FOR THE SAME}
본 발명은 차량 네트워크에서 통신 기술에 관한 것으로, 더욱 상세하게는 CAN(controller area network) 및 이더넷 기반의 네트워크를 포함하는 차량 네트워크에서 ASIL(automotive safety integrity level)에 기초한 통신 기술에 관한 것이다.
차량용 부품의 전자화가 급속도로 진행됨에 따라 차량에 탑재되는 전자 장치(예를 들어, 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의 전송 속도를 지원할 수 있다.
차량 네트워크는 서로 다른 통신 프로토콜들을 지원할 수 있다. 예를 들어, 차량 네트워크는 CAN, 이더넷 기반의 네트워크 등을 포함할 수 있다. 이 경우, CAN과 이더넷 기반의 네트워크 간의 통신을 지원하기 위한 프로토콜이 필요할 것이다. 또한, CAN과 이더넷 기반의 네트워크 간의 통신에서 통신 신뢰성의 향상을 위한 기술들이 필요할 것이다.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은 CAN(controller area network)과 이더넷 기반의 네트워크를 포함하는 차량 네트워크에서 ASIL(automotive safety integrity level)에 기초한 통신 방법 및 장치를 제공하는 데 있다.
상기 목적을 달성하기 위한 본 발명의 제1 실시예에 따른 이더넷 기반의 네트워크와 CAN 간의 통신을 지원하는 제1 통신 노드의 동작 방법은, 상기 이더넷 기반의 네트워크에 속한 제2 통신 노드로부터 이더넷 메시지를 수신하는 단계, 상기 이더넷 메시지에 포함된 제1 ASIL 인증 정보에 대한 무결성 검증 동작을 수행하는 단계, 무결성 검증이 완료된 상기 이더넷 메시지에 기초하여 CAN 메시지를 생성하는 단계, 및 상기 CAN 메시지를 상기 CAN에 속한 제3 통신 노드에 전송하는 단계를 포함한다.
여기서, 상기 제2 통신 노드는 엔드 노드일 수 있고, 상기 제1 ASIL 인증 정보는 상기 엔드 노드에 의해 생성될 수 있다.
여기서, 상기 무결성 검증 동작은 상기 이더넷 메시지의 목적지가 상기 CAN인 경우에 수행될 수 있다.
여기서, 상기 무결성 검증 동작은 상기 이더넷 메시지가 제어 정보 또는 관리 정보를 포함하는 경우에 수행될 수 있다.
여기서, 상기 CAN 메시지는 제2 ASIL 인증 정보를 포함할 수 있고, 상기 제2 ASIL 인증 정보는 상기 CAN 메시지의 무결성 검증을 위해 사용될 수 있고, 상기 제2 ASIL 인증 정보는 상기 제1 통신 노드에 의해 생성될 수 있다.
여기서, 상기 CAN 메시지는 상기 이더넷 메시지에 포함된 복수의 데이터 유닛들 중에서 라우팅 테이블에 의해 지시되는 적어도 하나의 데이터 유닛을 포함할 수 있으며, 상기 라우팅 테이블은 상기 CAN으로 전송될 데이터 유닛들을 지시할 수 있다.
여기서, 상기 CAN 메시지는 상기 이더넷 메시지에 포함된 복수의 데이터 유닛들 중에서 상기 제1 통신 노드의 메모리에 저장된 데이터 유닛들에 비해 업데이트된 정보를 포함하는 적어도 하나의 데이터 유닛을 포함할 수 있다.
여기서, 상기 CAN 메시지는 상기 CAN의 전송 주기에 따라 전송될 수 있다.
상기 목적을 달성하기 위한 본 발명의 제2 실시예에 따른 이더넷 기반의 네트워크와 CAN 간의 통신을 지원하는 제1 통신 노드의 동작 방법은, 상기 CAN에 속한 제2 통신 노드로부터 CAN 메시지를 수신하는 단계, 상기 CAN 메시지에 포함된 제1 ASIL 인증 정보에 대한 무결성 검증 동작을 수행하는 단계, 무결성 검증이 완료된 상기 CAN 메시지에 기초하여 이더넷 메시지를 생성하는 단계, 및 상기 이더넷 메시지를 상기 이더넷 기반의 네트워크에 속한 제3 통신 노드에 전송하는 단계를 포함할 수 있다.
여기서, 상기 제2 통신 노드는 엔드 노드일 수 있고, 상기 제1 ASIL 인증 정보는 상기 엔드 노드에 의해 생성될 수 있다.
여기서, 상기 이더넷 메시지는 제2 ASIL 인증 정보를 포함할 수 있고, 상기 제2 ASIL 인증 정보는 상기 이더넷 메시지의 무결성 검증을 위해 사용될 수 있고, 상기 제2 ASIL 인증 정보는 상기 제1 통신 노드에 의해 생성될 수 있다.
여기서, 상기 이더넷 메시지는 상기 CAN 메시지에 포함된 복수의 데이터 유닛들 중에서 라우팅 테이블에 의해 지시되는 적어도 하나의 데이터 유닛을 포함할 수 있으며, 상기 라우팅 테이블은 상기 이더넷 기반의 네트워크로 전송될 데이터 유닛들을 지시할 수 있다.
상기 목적을 달성하기 위한 본 발명의 제3 실시예에 따른 이더넷 기반의 네트워크와 CAN 간의 통신을 지원하는 제1 통신 노드는 프로세서 및 상기 프로세서에 의해 수행되는 적어도 하나의 명령이 저장된 메모리를 포함하며, 상기 적어도 하나의 명령은, 상기 이더넷 기반의 네트워크에 속한 제2 통신 노드로부터 이더넷 메시지를 수신하고, 상기 이더넷 메시지에 포함된 제1 ASIL 인증 정보에 대한 무결성 검증 동작을 수행하고, 무결성 검증이 완료된 상기 이더넷 메시지에 기초하여 CAN 메시지를 생성하고, 그리고 상기 CAN 메시지를 상기 CAN에 속한 제3 통신 노드에 전송하도록 실행된다.
여기서, 상기 제2 통신 노드는 엔드 노드일 수 있고, 상기 제1 ASIL 인증 정보는 상기 엔드 노드에 의해 생성될 수 있다.
여기서, 상기 무결성 검증 동작은 상기 이더넷 메시지의 목적지가 상기 CAN인 경우에 수행될 수 있다.
여기서, 상기 무결성 검증 동작은 상기 이더넷 메시지가 제어 정보 또는 관리 정보를 포함하는 경우에 수행될 수 있다.
여기서, 상기 CAN 메시지는 제2 ASIL 인증 정보를 포함하고, 상기 제2 ASIL 인증 정보는 상기 CAN 메시지의 무결성 검증을 위해 사용될 수 있고, 상기 제2 ASIL 인증 정보는 상기 제1 통신 노드에 의해 생성될 수 있다.
여기서, 상기 CAN 메시지는 상기 이더넷 메시지에 포함된 복수의 데이터 유닛들 중에서 라우팅 테이블에 의해 지시되는 적어도 하나의 데이터 유닛을 포함할 수 있으며, 상기 라우팅 테이블은 상기 CAN으로 전송될 데이터 유닛들을 지시할 수 있다.
여기서, 상기 CAN 메시지는 상기 이더넷 메시지에 포함된 복수의 데이터 유닛들 중에서 상기 메모리에 저장된 데이터 유닛들에 비해 업데이트된 정보를 포함하는 적어도 하나의 데이터 유닛을 포함할 수 있다.
여기서, 상기 CAN 메시지는 상기 CAN의 전송 주기에 따라 전송될 수 있다.
본 발명에 의하면, CAN(controller area network) 또는 이더넷 기반의 네트워크에 속하는 엔드 노드(예를 들어, ECU(electronic control unit))는 ASIL(automotive safety integrity level)에 따른 요구 사항들(requirements)을 만족시키는 인증 알고리즘을 사용하여 ASIL 인증 정보를 생성할 수 있고, 페이로드(payload), ASIL 인증 정보 등을 포함하는 메시지(예를 들어, CAN 메시지, 이더넷 메시지)를 생성할 수 있고, 생성된 메시지를 전송할 수 있다.
CAN과 이더넷 기반의 네트워크 간의 통신을 지원하는 게이트웨이는 엔드 노드로부터 메시지를 수신할 수 있고, ASIL 인증 정보에 기초하여 메시지에 대한 무결성 검증 동작을 수행할 수 있다. 메시지에 대한 무결성 검증이 성공적으로 완료된 경우, 게이트웨이는 무결성 검증이 완료된 데이터 유닛을 포함하는 새로운 메시지를 생성할 수 있고, 생성된 메시지를 CAN 또는 이더넷 기반의 네트워크에 전송할 수 있다. CAN 또는 이더넷 기반의 네트워크로 전송되는 메시지는 해당 메시지를 위한 ASIL 인증 정보를 더 포함할 수 있다. 반면, 메시지에 대한 무결성 검증이 실패한 경우, 게이트웨이는 해당 메시지를 폐기할 수 있다. 따라서 CAN과 이더넷 기반의 네트워크 간의 통신에서 통신 신뢰성이 향상될 수 있고, 차량 네트워크의 성능이 향상될 수 있다.
도 1은 차량 네트워크의 제1 실시예를 도시한 블록도이다.
도 2는 차량 네트워크의 제2 실시예를 도시한 블록도이다.
도 3은 차량 네트워크에서 이더넷 메시지의 제1 실시예를 도시한 블록도이다.
도 4는 이더넷 메시지에 포함된 헤더의 제1 실시예를 도시한 블록도이다.
도 5는 차량 네트워크에서 CAN 메시지의 제1 실시예를 도시한 블록도이다.
도 6은 차량 네트워크에서 CAN 메시지의 제2 실시예를 도시한 블록도이다.
도 7은 차량 네트워크에 속하는 통신 노드의 제1 실시예를 도시한 블록도이다.
도 8은 차량 네트워크에 속하는 통신 노드의 제2 실시예를 도시한 블록도이다.
도 9는 차량 네트워크에 속하는 게이트웨이의 제1 실시예를 도시한 블록도이다.
도 10은 차량 네트워크에서 통신 노드의 동작 방법의 제1 실시예를 도시한 순서도이다.
도 11은 차량 네트워크에서 이더넷 메시지의 제2 실시예를 도시한 블록도이다.
도 12는 파싱 동작 및 후보 페이로드의 생성 동작의 제1 실시예를 도시한 개념도이다.
도 13은 최종 페이로드의 생성 동작의 제1 실시예를 도시한 개념도이다.
도 14는 차량 네트워크에서 CAN 메시지의 제3 실시예를 도시한 블록도이다.
도 15는 차량 네트워크에서 CAN 메시지의 제4 실시예를 도시한 블록도이다.
도 16은 차량 네트워크에서 통신 노드의 동작 방법의 제2 실시예를 도시한 순서도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제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) 장치(예를 들어, 디스플레이(display) 장치, 내비게이션(navigation) 장치, 어라운드 뷰 모니터링(around view monitoring) 장치) 등을 구성하는 ECU를 의미할 수 있다.
도 2는 차량 네트워크의 토폴로지의 제2 실시예를 도시한 블록도이다.
도 2를 참조하면, 차량 네트워크는 이더넷 기반의 네트워크, CAN 등을 포함할 수 있다. 차량 네트워크에 속한 게이트웨이(200)는 이더넷 기반의 네트워크와 CAN 간의 통신을 지원할 수 있다. 이더넷 기반의 네트워크는 스위치#1(210), 스위치#2(220), 엔드 노드#1(211), 엔드 노드#2(212), 엔드 노드#3(213), 엔드 노드#4(221), 엔드 노드#5(222) 등을 포함할 수 있다. 엔드 노드#1(211), 엔드 노드#2(212) 및 엔드 노드#3(213)은 스위치#1(210)에 연결될 수 있고, 엔드 노드#4(221) 및 엔드 노드#5(222)는 스위치#2(220)에 연결될 수 있고, 스위치#1(210) 및 스위치#2(220)는 게이트웨이(200)에 연결될 수 있다. 이더넷 프로토콜에 기초한 메시지는 "이더넷 메시지"로 지칭될 수 있고, 이더넷 메시지는 "이더넷 프레임", "이더넷 신호", "이더넷 패킷" 등으로 지칭될 수 있다. 이더넷 기반의 네트워크에 속한 통신 노드들(210, 211, 212, 213, 220, 221, 222)은 이더넷 메시지를 사용하여 통신을 수행할 수 있고, 이더넷 기반의 네트워크와 게이트웨이(200) 간의 통신도 이더넷 메시지를 사용하여 수행될 수 있다.
CAN은 엔드 노드#6(231), 엔드 노드#7(232), 엔드 노드#8(233) 등을 포함할 수 있고, 엔드 노드#6(231), 엔드 노드#7(232) 및 엔드 노드#8(233)은 버스 라인(bus line)을 통해 게이트웨이(200)에 연결될 수 있다. CAN 프로토콜에 기초한 메시지는 "CAN 메시지"로 지칭될 수 있고, CAN 메시지는 "CAN 프레임", "CAN 신호", "CAN 패킷" 등으로 지칭될 수 있다. CAN에 속한 통신 노드들(231, 232, 233)은 CAN 메시지를 사용하여 통신을 수행할 수 있고, CAN과 게이트웨이(200) 간의 통신도 CAN 메시지를 사용하여 수행될 수 있다.
한편, 본 발명에 따른 실시예들은 앞서 설명된 차량 네트워크에 적용될 수 있으며, 본 발명에 따른 실시예들이 적용되는 차량 네트워크는 이에 한정되지 않고 다양하게 구성될 수 있다. 본 발명에 따른 실시예들이 적용되는 차량 네트워크에서 이더넷 메시지 및 CAN 메시지 각각은 다음과 같이 구성될 수 있다.
도 3은 차량 네트워크에서 이더넷 메시지의 제1 실시예를 도시한 블록도이다.
도 3을 참조하면, 이더넷 메시지(300)는 헤더(header)(310), 적어도 하나의 데이터 유닛(data unit, DU)(321, 322, 323) 등을 포함할 수 있다. DU#1(321), DU#2(322) 및 DU#3(323)은 PDU(protocol data unit), UDP(user datagram protocol) 데이터 유닛 등일 수 있고, 페이로드(payload)를 구성할 수 있다. 또한, 이더넷 메시지(300)는 ASIL(automotive safety integrity level) 인증 정보(330)를 더 포함할 수 있다. ASIL 인증 정보(330)는 ASIL에 따른 요구 사항들(requirements)을 만족시키는 인증 알고리즘에 기초하여 생성될 수 있고, 인증 키, 해시(hash) 값, CRC(cyclic redundancy check) 값, FCS(frame check sequence) 등을 포함할 수 있다. ASIL 인증 정보(330)는 이더넷 메시지(300)를 생성하는 통신 노드(예를 들어, 엔드 노드, 스위치, 브릿지, 게이트웨이 등)에 의해 설정될 수 있다. 이더넷 메시지(300)의 헤더(310)는 다음과 같이 구성될 수 있다.
도 4는 이더넷 메시지에 포함된 헤더의 제1 실시예를 도시한 블록도이다.
도 4를 참조하면, 헤더(310)는 DA(destination address) 필드(310-1), SA(source address) 필드(310-2), 이더넷 타입 필드(310-3), IP(internet protocol) 헤더(310-4), UDP 헤더(310-5), 메시지 ID(identifier) 필드(310-6), 플래그(flag) 필드(310-8), 예비(reserved) 필드(310-9), 시퀀스 번호(sequence number) 필드(310-10) 등을 포함할 수 있다.
DA 필드(310-1)는 6바이트(byte)의 크기를 가질 수 있으며, 해당 이더넷 메시지(300)를 수신하는 통신 노드의 식별 정보(예를 들어, MAC(medium access control) 주소)를 포함할 수 있다. SA 필드(310-2)는 6바이트의 크기를 가질 수 있으며, 해당 이더넷 메시지(300)를 전송하는 통신 노드의 식별 정보(예를 들어, MAC 주소)를 포함할 수 있다.
이더넷 타입 필드(310-3)는 2바이트의 크기를 가질 수 있으며, 이더넷 메시지(300)의 타입을 지시할 수 있다. 예를 들어, 이더넷 타입 필드(310-3)에 의해 지시되는 값이 16진수 0x600보다 큰 경우, 이더넷 타입 필드(310-3)는 RFC(request for comments) 894에서 규정된 DIX 포맷(format)을 지시할 수 있다. 이더넷 타입 필드(310-3)에 의해 지시되는 값이 16진수 0x600보다 작은 경우, 이더넷 타입 필드(310-3)는 IEEE(Institute of Electrical and Electronics Engineers)에서 규정된 SANP(subnetwork access protocol) 포맷 또는 SAP(service access point) 포맷을 지시할 수 있다. 여기서, 이더넷 타입 필드(310-3)는 IPv4(internet protocol version 4)를 지시하는 16진수 0x0800으로 설정될 수 있다.
IP 헤더(310-4)는 20바이트 내지 60바이트의 길이를 가질 수 있으며, 프로토콜 ID, 체크섬(checksum) 정보, SA IP 주소, DA IP 주소 등을 포함할 수 있다. UDP 헤더(310-5)는 8바이트의 길이를 가질 수 있으며, 출발지 포트(port) 번호, 목적지 포트 번호, 체크섬 정보 등을 포함할 수 있다. 메시지 ID 필드(310-6)는 4바이트의 길이를 가질 수 있으며, 차량 네트워크에서 해당 이더넷 메시지(300)를 식별하기 위해 사용될 수 있다. 길이 필드(310-7)는 4바이트의 길이를 가질 수 있으며, 이더넷 메시지(300)의 페이로드의 길이를 지시할 수 있다. 플래그 필드(310-8)는 1바이트의 크기를 가질 수 있으며, 특정 정보(또는, 특정 동작의 수행)를 지시하는 특정 값으로 설정될 수 있다. 예비 필드(310-9)는 1바이트의 크기를 가질 수 있다. 시퀀스 번호 필드(310-10)는 2바이트의 크기를 가질 수 있으며, 이더넷 메시지(300)(예를 들어, 이더넷 메시지(300)에 포함된 페이로드)의 시퀀스 번호를 지시할 수 있다.
또한, 헤더(310)는 이더넷 메시지(300)의 페이로드에 포함된 정보의 타입(예를 들어, 제어 정보, 관리 정보, 데이터(예를 들어, 멀티미디어 데이터, AVB 데이터) 등)을 지시하는 지시자를 더 포함할 수 있다. 지시자는 헤더(310)의 이더넷 타입 필드(310-3), 메시지 ID(identifier) 필드(310-6), 플래그 필드(310-8) 또는 예비 필드(310-9)에 포함될 수 있다.
도 5는 차량 네트워크에서 CAN 메시지의 제1 실시예를 도시한 블록도이다.
도 5를 참조하면, CAN 메시지(500)는 CAN FD(flexible data) 포맷에 기초하여 생성될 수 있다. CAN 메시지(500)는 2바이트의 길이를 가지는 CRC(510), 1바이트의 길이를 가지는 얼라이브 카운터(alive counter)(520), 29바이트의 길이를 가지는 페이로드(530) 등을 포함할 수 있다. 얼라이브 카운터(520)는 애플리케이션 레벨(application level)을 지시할 수 있다. 페이로드(530)는 적어도 하나의 데이터 유닛을 포함할 수 있다. CAN 메시지(500)를 위한 ASIL 인증 정보는 페이로드(530)에 포함될 수 있다.
도 6은 차량 네트워크에서 CAN 메시지의 제2 실시예를 도시한 블록도이다.
도 6을 참조하면, CAN 메시지(600)는 고속 CAN 포맷 또는 저속 CAN 포맷에 기초하여 생성될 수 있다. CAN 메시지(600)는 1바이트의 길이를 가지는 CRC(610), 4비트(bit)의 길이를 가지는 예비 필드(620), 4비트의 길이를 가지는 얼라이브 카운터(630), 6바이트의 길이를 가지는 페이로드(640) 등을 포함할 수 있다. 얼라이브 카운터(630)는 애플리케이션 레벨을 지시할 수 있다. 페이로드(640)는 적어도 하나의 데이터 유닛을 포함할 수 있다. CAN 메시지(600)를 위한 ASIL 인증 정보는 페이로드(640)에 포함될 수 있다.
한편, 차량 네트워크를 구성하는 통신 노드들(즉, 게이트웨이, 스위치, 엔드 노드 등)은 스타(star) 토폴로지, 버스(bus) 토폴로지, 링(ring) 토폴로지, 트리(tree) 토폴로지, 메쉬(mesh) 토폴로지 등으로 연결될 수 있다. 또한, 차량 네트워크를 구성하는 통신 노드들 각각은 CAN 프로토콜, 플렉스레이 프로토콜, MOST 프로토콜, LIN 프로토콜, 이더넷 프로토콜 등을 지원할 수 있다. 차량 네트워크에 속한 통신 노드는 다음과 같이 구성될 수 있다.
도 7은 차량 네트워크에 속하는 통신 노드의 제1 실시예를 도시한 블록도이다.
도 7을 참조하면, 차량 네트워크(예를 들어, 도 1 또는 도 2에 도시된 차량 네트워크)를 구성하는 통신 노드(700)는 PHY 계층 유닛(physical layer unit)(710) 및 컨트롤러(controller) 유닛(720)을 포함할 수 있다. 또한, 통신 노드(700)는 파워(power)를 공급하는 레귤레이터(regulator)(미도시)를 더 포함할 수 있다. 이때, 컨트롤러 유닛(720)은 MAC(medium access control) 계층을 포함하여 구현될 수 있다. PHY 계층 유닛(710)은 다른 통신 노드로부터 신호를 수신할 수 있거나, 다른 통신 노드로 신호를 전송할 수 있다. 컨트롤러 유닛(720)은 PHY 계층 유닛(710)을 제어할 수 있고, 다양한 기능들(예를 들어, 인포테인먼트 기능 등)을 수행할 수 있다. PHY 계층 유닛(710)과 컨트롤러 유닛(720)은 하나의 SoC(System on Chip)로 구현될 수도 있고, 별도의 칩으로 구성될 수도 있다.
PHY 계층 유닛(710)과 컨트롤러 유닛(720)은 매체 독립 인터페이스(media independent interface, MII)(730)를 통해 연결될 수 있다. MII(730)는 IEEE 802.3에 규정된 인터페이스를 의미할 수 있으며, PHY 계층 유닛(710)과 컨트롤러 유닛(720) 간의 데이터 인터페이스 및 관리 인터페이스로 구성될 수 있다. MII(730) 대신에 RMII(reduced MII), GMII(gigabit MII), RGMII(reduced GMII), SGMII(serial GMII), XGMII(10 GMII) 중 하나의 인터페이스가 사용될 수 있다. 데이터 인터페이스는 전송 채널(channel) 및 수신 채널을 포함할 수 있으며, 채널들 각각은 독립적인 클럭(clock), 데이터 및 제어 신호를 가질 수 있다. 관리 인터페이스는 2-신호 인터페이스로 구성될 수 있으며, 하나는 클럭을 위한 신호이고 다른 하나는 데이터를 위한 신호일 수 있다.
PHY 계층 유닛(710)은 PHY 계층 인터페이스 유닛(711), PHY 계층 프로세서(processor)(712) 및 PHY 계층 메모리(memory)(713) 등을 포함할 수 있다. PHY 계층 유닛(710)의 구성은 이에 한정되지 않으며, PHY 계층 유닛(710)은 다양하게 구성될 수 있다. PHY 계층 인터페이스 유닛(711)은 컨트롤러 유닛(720)으로부터 수신된 신호를 PHY 계층 프로세서(712)로 전송할 수 있고, PHY 계층 프로세서(712)로부터 수신된 신호를 컨트롤러 유닛(720)에 전송할 수 있다. PHY 계층 프로세서(712)는 PHY 계층 인터페이스 유닛(711) 및 PHY 계층 메모리(713) 각각의 동작을 제어할 수 있다. PHY 계층 프로세서(712)는 전송할 신호의 변조 또는 수신된 신호의 복조를 수행할 수 있다. PHY 계층 프로세서(712)는 신호를 입력 또는 출력하도록 PHY 계층 메모리(713)를 제어할 수 있다. PHY 계층 메모리(713)는 수신된 신호를 저장할 수 있고, PHY 계층 프로세서(712)의 요청에 따라 저장된 신호를 출력할 수 있다.
컨트롤러 유닛(720)은 MII(730)를 통해 PHY 계층 유닛(710)에 대한 모니터링 및 제어를 수행할 수 있다. 컨트롤러 유닛(720)은 컨트롤러 인터페이스 유닛(721), 컨트롤러 프로세서(722), 주 메모리(723) 및 보조 메모리(724) 등을 포함할 수 있다. 컨트롤러 유닛(720)의 구성은 이에 한정되지 않으며, 컨트롤러 유닛(720)은 다양하게 구성될 수 있다. 컨트롤러 인터페이스 유닛(721)은 PHY 계층 유닛(710)(즉, PHY 계층 인터페이스 유닛(711)) 또는 상위 계층(미도시)으로부터 신호를 수신할 수 있고, 수신된 신호를 컨트롤러 프로세서(722)에 전송할 수 있고, 컨트롤러 프로세서(722)로부터 수신된 신호를 PHY 계층 유닛(710) 또는 상위 계층에 전송할 수 있다. 컨트롤러 프로세서(722)는 컨트롤러 인터페이스 유닛(721), 주 메모리(723) 및 보조 메모리(724)를 제어하기 위한 독립된 메모리 컨트롤 로직(control logic) 또는 통합 메모리 컨트롤 로직을 더 포함할 수 있다. 메모리 컨트롤 로직은 주 메모리(723) 및 보조 메모리(724)에 포함되어 구현될 수도 있으며, 또는 컨트롤러 프로세서(722)에 포함되어 구현될 수도 있다.
주 메모리(723) 및 보조 메모리(724) 각각은 컨트롤러 프로세서(722)에 의해 처리된 신호를 저장할 수 있고, 컨트롤러 프로세서(722)의 요청에 따라 저장된 신호를 출력할 수 있다. 주 메모리(723)는 컨트롤러 프로세서(722)의 동작을 위해 필요한 데이터를 일시 저장하는 휘발성 메모리(예를 들어, RAM(random access memory) 등)를 의미할 수 있다. 보조 메모리(724)는 운영체제 코드(operating system code)(예를 들어, 커널(kernel) 및 디바이스 드라이버(device driver))와 컨트롤러 프로세서(720)의 기능을 수행하기 위한 응용 프로그램(application program) 코드 등이 저장되는 비휘발성 메모리를 의미할 수 있다. 비휘발성 메모리로 빠른 처리 속도를 가지는 플래쉬 메모리(flash memory)가 사용될 수 있고, 또는 대용량의 데이터 저장을 위한 하드 디스크 드라이브(hard disc drive, HDD), CD-ROM(compact disc-read only memory) 등이 사용될 수 있다. 컨트롤러 프로세서(722)는 통상적으로 적어도 하나의 프로세싱 코어(core)를 포함하는 로직 회로로 구성될 수 있다. 컨트롤러 프로세서(722)로 ARM(Advanced RISC Machines Ltd.) 계열의 코어, 아톰(atom) 계열의 코어 등이 사용될 수 있다.
도 8은 차량 네트워크에 속하는 통신 노드의 제2 실시예를 도시한 블록도이다.
도 8을 참조하면, 차량 네트워크(예를 들어, 도 1 또는 도 2에 도시된 차량 네트워크)를 구성하는 통신 노드(800)는 하드웨어(hardware) 계층(810), HAL(hardware abstraction layer)(830), 미들웨어(middleware) 계층(850) 및 애플리케이션 계층(870)을 포함할 수 있다. 하드웨어 계층(810)은 PHY 계층 유닛(811) 및 MAC 계층 유닛(812)을 포함할 수 있다. PHY 계층 유닛(811)은 이더넷 프로토콜을 지원할 수 있으며, 도 7을 참조하여 설명된 PHY 계층 유닛(710)일 수 있다. MAC 계층 유닛(812)은 이더넷 프로토콜(예를 들어, IEEE 802.3 등)을 지원할 수 있으며, 도 7을 참조하여 설명된 컨트롤러 유닛(720)일 수 있다.
하드웨어 계층(810)은 AVB(audio video bridging) 프로토콜을 지원할 수 있다. 예를 들어, 하드웨어 계층(810)은 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) 동작 등을 지원할 수 있다. 하드웨어 계층(810)은 미들웨어 계층(850)이 동작할 수 있도록 HAL(830)을 지원할 수 있다.
하드웨어 계층(810)은 크게 세 가지 상태 모드(mode)를 지원할 수 있다. 예를 들어, 하드웨어 계층(810)은 노멀(normal) 모드, 슬립(sleep) 모드 및 파워 오프(off) 모드를 지원할 수 있다. 노멀 모드에서 이더넷 통신은 수행될 수 있다. 하드웨어 계층(810)의 상태가 노멀 모드인 경우, PHY 계층 유닛(811)은 노멀 모드(예를 들어, INH 핀(pin) 액티브(active) 상태)로 동작할 수 있고, MAC 계층 유닛(812)은 액티브 모드(예를 들어, 메시지를 송수신할 수 있는 상태)로 동작할 수 있다. 슬립 모드에서 이더넷 통신은 최소한의 전력을 사용하여 제한적으로 수행될 수 있다. 하드웨어 계층(810)의 상태가 슬립 모드인 경우, PHY 계층 유닛(811)은 슬립 모드(예를 들어, INH 핀 인액티브(inactive) 상태)로 동작할 수 있고, 리모트 이벤트(event)가 검출된 경우 웨이크업(wakeup) 될 수 있다. 또한, MAC 계층 유닛(812)은 인액티브 모드(예를 들어, 메시지를 송수신할 수 없는 상태)로 동작할 수 있고, 로컬(local) 이벤트가 검출된 경우 웨이크업 될 수 있다.
하드웨어 계층(810)의 상태가 파워 오프 모드인 경우, PHY 계층 유닛(811)은 슬립 모드(예를 들어, INH 핀 인액티브 상태)로 동작할 수 있고, 리모트 이벤트가 검출된 경우 웨이크업 될 수 있다. 또한, MAC 계층 유닛(812)은 인액티브 모드로 동작할 수 있고, 전력은 MAC 계층 유닛(812)에 공급되지 않을 수 있다. 즉, MAC 계층 유닛(812)은 로컬 이벤트에 의해서 웨이크업 될 수 없다. 하드웨어 계층(810)의 구성은 앞서 설명된 내용에 한정되지 않으며, 하드웨어 계층(810)은 다양하게 구성될 수 있다.
HAL(830)은 하드웨어 계층(810)과 미들웨어 계층(850)의 사이에 위치할 수 있으며, 복수의 하드웨어 계층(810)들 간의 독립성을 보장하기 위해 사용될 수 있다. HAL(830)은 이후에 설명될 OSAL(operating system abstraction layer)(851)과 독립적인 유닛으로 구성될 수 있고, 또는 HAL(830)은 OSAL(851)과 함께 하나의 유닛으로 구성될 수 있다.
미들웨어 계층(850)은 TCP/IP(transfer control protocol/internet protocol)를 기반으로 동작하는 IP 미들웨어 계층, AVB 프로토콜을 기반으로 동작하는 AVB 미들웨어 및 OSAL(851)을 포함할 수 있다. IP 미들웨어 계층은 DoIP(diagnostics over internet protocol) 유닛(852), EthCC 유닛(853), EthNM 유닛(854) 등을 포함할 수 있다. DoIP 유닛(852)은 진단 통신을 수행하도록 구성될 수 있다. EthCC 유닛(853)은 제어 메시지를 송수신하도록 구성될 수 있다. EthNM 유닛(854)은 네트워크 관리를 수행하도록 구성될 수 있다. IP 미들웨어 계층은 IPv4, ICMP(internet control message protocol), ARP(address resolution protocol), TCP, UDP 등을 지원할 수 있다. UDP는 제어 메시지 또는 관리 메시지에 대한 CRC, 얼라이브 카운터 등을 처리할 수 있다.
AVB 미들웨어 계층은 토커(talker) 유닛(855), 리스너(listener) 유닛(856) 등을 포함할 수 있다. 토커 유닛(855)은 AVB 프로토콜을 기반으로 AVB 스트림의 전송을 수행하도록 구성될 수 있다. 리스너 유닛(856)은 AVB 프로토콜을 기반으로 AVB 스트림의 수신을 수행하도록 구성될 수 있다. AVB 미들웨어 계층은 IEEE 802.1AS gPTP(generalized precision time protocol), IEEE 1722 AVTP(AVB transport protocol) 등을 지원할 수 있다. IEEE 802.1AS gPTP는 BMCA(best master clock algorithm) 기반의 그랜드 마스터(grand master) 선정을 위한 동작, 클록(clock) 동기화를 위한 동작, 링크 지연 산출을 위한 동작 등을 지원할 수 있다. IEEE 1722 AVTP는 오디오 데이터 유닛 및 비디오 데이터 유닛을 포함하는 이더넷 메시지를 생성하는 동작 등을 지원할 수 있다.
애플리케이션 계층(870)은 소프트웨어 인터페이스(software interface)(871), 애플리케이션(872) 등을 포함할 수 있다. 소프트웨어 인터페이스(871)는 애플리케이션(872)에 대한 신호의 입력 동작 및 출력 동작을 지원할 수 있다. 애플리케이션(872)은 TCP/IP를 기반으로 동작하는 애플리케이션, AVB 프로토콜을 기반으로 동작하는 애플리케이션 등을 포함할 수 있다.
도 9는 차량 네트워크에 속하는 게이트웨이의 제1 실시예를 도시한 블록도이다.
도 9를 참조하면, 게이트웨이(900)는 도 1의 차량 네트워크에 속한 게이트웨이(100) 또는 도 2의 차량 네트워크에 속한 게이트웨이(200)일 수 있다. 게이트웨이(900)는 CAN과 이더넷 기반의 네트워크 간의 통신을 지원할 수 있다. 예를 들어, 게이트웨이(900)는 CAN으로부터 수신된 CAN 메시지를 이더넷 메시지로 변환할 수 있고, 변환된 이더넷 메시지를 이더넷 기반의 네트워크에 전송할 수 있다. 또한, 게이트웨이(900)는 이더넷 기반의 네트워크로부터 수신된 이더넷 메시지를 CAN 메시지로 변환할 수 있고, 변환된 CAN 메시지를 CAN에 전송할 수 있다.
게이트웨이(900)는 CAN 프로토콜의 기능을 수행하는 CAN 기능 블록(910) 및 이더넷 프로토콜의 기능을 수행하는 이더넷 기능 블록(920)을 포함할 수 있다. CAN 기능 블록(910)은 CAN PHY 계층 유닛(911), CAN 무결성(integrity) 검증 유닛(912), CAN 무결성 처리 유닛(913), CAN 메시지 생성 유닛(914), CAN 메시지 처리 유닛(915), CAN 필터링(filtering) 유닛(916) 등을 포함할 수 있다. CAN PHY 계층 유닛(911)은 버스 라인에 대한 모니터링 동작을 수행함으로써 CAN 메시지를 수신할 수 있고, 버스 라인을 통해 CAN 메시지를 전송할 수 있다. CAN 무결성 검증 유닛(912)은 CAN 메시지에 포함된 ASIL 인증 정보에 대한 무결성 검증 동작을 수행할 수 있고, 무결성 검증이 실패한 경우에 해당 CAN 메시지를 폐기할 수 있다. CAN 무결성 처리 유닛(913)은 CAN 메시지에 포함될 ASIL 인증 정보의 생성 동작을 수행할 수 있다.
CAN 메시지 생성 유닛(914)은 CRC, 얼라이브 카운터, 페이로드(예를 들어, 데이터 유닛), ASIL 인증 정보 등을 포함하는 CAN 메시지의 생성 동작을 수행할 수 있다. CAN 메시지 처리 유닛(915)은 CAN 메시지의 송수신을 위한 제어 동작을 수행할 수 있다. CAN 필터링 유닛(916)은 CAN 메시지에 포함된 데이터 유닛이 CAN 버퍼(buffer)(예를 들어, 메모리)에 저장된 데이터 유닛과 동일한지를 확인할 수 있다. CAN 메시지에 포함된 데이터 유닛이 CAN 버퍼에 저장된 데이터 유닛과 다른 경우(예를 들어, CAN 메시지에 포함된 데이터 유닛이 업데이트된 제어 정보 또는 업데이트된 관리 정보를 포함하는 경우), 해당 데이터 유닛을 포함하는 CAN 메시지가 전송될 수 있다. 반면, CAN 메시지에 포함된 데이터 유닛이 CAN 버퍼에 저장된 데이터 유닛과 동일한 경우(예를 들어, CAN 메시지에 포함된 데이터 유닛이 기존 제어 정보 또는 기존 관리 정보를 포함하는 경우), CAN 필터링 유닛(916)은 해당 데이터 유닛을 폐기할 수 있다. 따라서 CAN 버퍼에 저장된 데이터 유닛과 동일한 데이터 유닛은 전송되지 않을 수 있다.
이더넷 기능 블록(920)은 이더넷 PHY 계층 유닛(921), 이더넷 무결성 검증 유닛(922), 이더넷 무결성 처리 유닛(923), 이더넷 메시지 생성 유닛(924), 이더넷 메시지 처리 유닛(925), 이더넷 라우팅(routing) 유닛(926) 등을 포함할 수 있다. 이더넷 PHY 계층 유닛(921)은 이더넷 링크(link)에 대한 모니터링 동작을 수행함으로써 이더넷 메시지를 수신할 수 있고, 이더넷 링크를 통해 이더넷 메시지를 전송할 수 있다. 이더넷 PHY 계층 유닛(921)은 이더넷 스위치 기능(예를 들어, 라우팅 기능, 필터링 기능 등)을 수행할 수 있다. 이더넷 무결성 검증 유닛(922)은 이더넷 메시지에 포함된 ASIL 인증 정보에 대한 무결성 검증 동작을 수행할 수 있고, 무결성 검증이 실패한 경우에 해당 이더넷 메시지를 폐기할 수 있다. 이더넷 무결성 처리 유닛(923)은 이더넷 메시지에 포함될 ASIL 인증 정보의 생성 동작을 수행할 수 있다.
이더넷 메시지 생성 유닛(924)은 헤더, 페이로드(예를 들어, 데이터 유닛), ASIL 인증 정보 등을 포함하는 이더넷 메시지의 생성 동작을 수행할 수 있다. 이더넷 메시지 처리 유닛(925)은 이더넷 메시지의 송수신을 위한 제어 동작을 수행할 수 있다. 이더넷 라우팅 유닛(926)은 미리 설정된 라우팅 테이블에 기초하여 이더넷 메시지의 전송 동작을 제어할 수 있다.
아래에서는, 차량 네트워크에 속하는 통신 노드와 이에 대응하는 상대(counterpart) 통신 노드에서 수행되는 방법이 설명될 것이다. 이하에서, 제1 통신 노드에서 수행되는 방법(예를 들어, 메시지의 전송 또는 수신)이 설명되는 경우에도 이에 대응하는 제2 통신 노드는 제1 통신 노드에서 수행되는 방법과 상응하는 방법(예를 들어, 메시지의 수신 또는 전송)을 수행할 수 있다. 즉, 제1 통신 노드의 동작이 설명된 경우에 이에 대응하는 제2 통신 노드는 제1 통신 노드의 동작과 상응하는 동작을 수행할 수 있다. 반대로, 제2 통신 노드의 동작이 설명된 경우에 이에 대응하는 제1 통신 노드는 스위치의 동작과 상응하는 동작을 수행할 수 있다.
도 10은 차량 네트워크에서 통신 노드의 동작 방법의 제1 실시예를 도시한 순서도이다.
도 10을 참조하면, 게이트웨이(200), 엔드 노드#1(211) 및 엔드 노드#6(231) 각각은 도 2의 차량 네트워크에 속한 게이트웨이(200), 엔드 노드#1(211) 및 엔드 노드#6(231)일 수 있다. 예를 들어, 도 10에 도시된 통신 노드의 동작 방법은 도 2에 도시된 차량 네트워크에서 수행될 수 있고, 게이트웨이(200), 엔드 노드#1(211) 및 엔드 노드#6(231)은 도 7에 도시된 통신 노드(700)(또는, 도 8에 도시된 통신 노드(800))와 동일 또는 유사하게 구성될 수 있다. 또한, 게이트웨이(200)는 도 9에 도시된 게이트웨이(900)와 동일 또는 유사하게 구성될 수 있다.
엔드 노드#1(211)은 이더넷 메시지(예를 들어, 도 3 및 도 4에 도시된 이더넷 메시지(300))를 생성할 수 있다(S1001). 엔드 노드#1(211)에 의해 생성된 이더넷 메시지는 다음과 같이 구성될 수 있다.
도 11은 차량 네트워크에서 이더넷 메시지의 제2 실시예를 도시한 블록도이다.
도 11을 참조하면, 엔드 노드#1(211)은 이더넷 메시지#1, 이더넷 메시지#2 및 이더넷 메시지#3을 생성할 수 있다. 이더넷 메시지#1, 이더넷 메시지#2 및 이더넷 메시지#3 각각은 헤더, 페이로드, ASIL 인증 정보 등을 포함할 수 있다.
헤더는 이더넷 메시지#1, 이더넷 메시지#2 및 이더넷 메시지#3 각각의 목적지 정보를 포함할 수 있다. 목적지 정보는 이더넷 기반의 네트워크에 속한 스위치#1(210)에 연결된 통신 노드(예를 들어, 엔드 노드#2(212), 엔드 노드#3(213)), 이더넷 기반의 네트워크에 속한 스위치#2(220)에 연결된 통신 노드(예를 들어, 엔드 노드#4(221), 엔드 노드#5(222)) 또는 CAN에 속한 통신 노드(예를 들어, 엔드 노드#6(231), 엔드 노드#7(232), 엔드 노드#8(233))일 수 있다.
페이로드는 제어 정보, 관리 정보, 데이터(예를 들어, 멀티미디어 데이터, AVB 데이터 등) 등을 포함할 수 있다. 또한, 페이로드는 5개의 DU들(예를 들어, "DU#1, DU#2, DU#3, DU#4 및 DU#5", "DU#6, DU#7, DU#8, DU#9 및 DU#10" 또는 "DU#11, DU#12, DU#13, DU#14 및 DU#15")을 포함할 수 있다. ASIL 인증 정보는 ASIL에 따른 요구 사항들을 만족시키는 인증 알고리즘에 기초하여 생성될 수 있고, 인증 키, 해시 값, CRC 값, FCS 등을 포함할 수 있다. ASIL 인증 정보는 이더넷 메시지에 포함된 DU들 각각에 대해 설정되지 않고, 하나의 이더넷 메시지(예를 들어, 이더넷 메시지에 포함된 페이로드 전체)를 위해 설정될 수 있다.
이더넷 메시지의 페이로드가 데이터(예를 들어, 멀티미디어 데이터, AVB 데이터 등)를 포함하는 경우, 해당 이더넷 메시지를 위한 ASIL 인증 정보는 생성되지 않을 수 있다. 따라서 데이터의 전송을 위해 사용되는 이더넷 메시지는 ASIL 제어 정보를 포함하지 않을 수 있다. 이더넷 메시지의 페이로드가 제어 정보 또는 관리 정보를 포함하는 경우, 해당 이더넷 메시지를 위한 ASIL 인증 정보는 생성될 수 있다. 따라서 제어 정보 또는 관리 정보의 전송을 위해 사용되는 이더넷 메시지는 ASIL 제어 정보를 포함할 수 있다.
다시 도 10을 참조하면, 엔드 노드#1(211)은 이더넷 메시지(예를 들어, 도 11에 도시된 이더넷 메시지#1, 이더넷 메시지#2 및 이더넷 메시지#3)를 전송할 수 있다(S1002). 이더넷 메시지는 이더넷 기반의 네트워크의 전송 주기에 따라 전송될 수 있다. 예를 들어, 이더넷 기반의 네트워크의 전송 주기가 50ms(millisecond)인 경우, 엔드 노드#1(211)은 이더넷 메시지#1의 전송 시점으로부터 50ms 후에 이더넷 메시지#2를 전송할 수 있고, 이더넷 메시지#2의 전송 시점으로부터 50ms 후에 이더넷 메시지#3을 전송할 수 있다.
이더넷 메시지의 목적지가 이더넷 기반의 네트워크에 속한 스위치#1(210)에 연결된 엔드 노드#2(212) 또는 엔드 노드#3(213)인 경우, 엔드 노드#1(211)의 이더넷 메시지는 스위치#1(210)을 통해 엔드 노드#2(212) 또는 엔드 노드#3(213)에 전송될 수 있다. 반면, 이더넷 메시지의 목적지가 이더넷 기반의 네트워크에 속한 스위치#2(220)에 연결된 통신 노드 또는 CAN에 속한 통신 노드인 경우, 엔드 노드#1(211)의 이더넷 메시지는 스위치#1(210)을 통해 게이트웨이(200)로 전송될 수 있다.
게이트웨이(200)는 엔드 노드#1(211)의 이더넷 메시지(예를 들어, 도 11에 도시된 이더넷 메시지#1, 이더넷 메시지#2 및 이더넷 메시지#3)를 수신할 수 있고, 수신된 이더넷 메시지의 헤더에 포함된 정보에 기초하여 이더넷 메시지의 목적지를 확인할 수 있다(S1003). 이더넷 메시지의 목적지가 이더넷 기반의 네트워크에 속한 스위치#2(220)에 연결된 통신 노드인 경우, 게이트웨이(200)는 이더넷 메시지를 스위치#2(220)에 전송할 수 있고, 게이트웨이(200)로부터 이더넷 메시지를 수신한 스위치#2(220)는 해당 이더넷 메시지를 엔드 노드#4(221) 또는 엔드 노드#5(222)에 전송할 수 있다.
이더넷 메시지의 목적지가 CAN에 속한 통신 노드인 경우, 게이트웨이(200)는 이더넷 메시지의 헤더에 포함된 정보에 기초하여 이더넷 메시지의 페이로드에 포함된 정보의 타입을 확인할 수 있다(S1004). 이더넷 메시지의 페이로드가 데이터(예를 들어, 멀티미디어 데이터, AVB 데이터)를 포함하는 것으로 확인된 경우, 게이트웨이(200)는 이더넷 메시지에 기초하여 CAN 메시지(예를 들어, 도 5 또는 도 6에 도시된 CAN 메시지)를 생성할 수 있고, 생성된 CAN 메시지를 해당 통신 노드(예를 들어, 엔드 노드#6(231), 엔드 노드#7(232), 엔드 노드#8(233))에 전송할 수 있다. 여기서, CAN 메시지는 CRC, 얼라이브 카운터, 페이로드 등을 포함할 수 있고, 페이로드는 CAN 메시지를 위한 ASIL 인증 정보를 포함할 수 있다.
이더넷 메시지의 페이로드가 제어 정보 또는 관리 정보를 포함하는 것으로 확인된 경우, 게이트웨이(200)는 이더넷 메시지(예를 들어, 도 11에 도시된 이더넷 메시지#1, 이더넷 메시지#2 및 이더넷 메시지#3)에 포함된 ASIL 인증 정보에 기초하여 무결성 검증 동작을 수행할 수 있다(S1005). 예를 들어, 도 11의 이더넷 메시지#3의 ASIL 인증 정보에 대한 무결성 검증이 실패한 경우, 게이트웨이(200)는 이더넷 메시지#3을 폐기할 수 있다. 도 11의 이더넷 메시지#1 및 이더넷 메시지#2의 ASIL 인증 정보에 대한 무결성 검증이 성공한 경우, 게이트웨이(200)는 이더넷 메시지#1 및 이더넷 메시지#2에 대한 파싱(parsing) 동작을 수행할 수 있다(S1006). 즉, 게이트웨이(200)는 무결성 검증이 완료된 이더넷 메시지에 대한 파싱 동작을 수행함으로써 CAN으로 전송될 적어도 하나의 DU를 선택할 수 있고, 선택된 적어도 하나의 DU를 포함하는 후보(candidate) 페이로드(예를 들어, CAN 메시지에 포함될 후보 페이로드)를 생성할 수 있다(S1007). 파싱 동작 및 후보 페이로드의 생성 동작은 다음과 같이 수행될 수 있다.
도 12는 파싱 동작 및 후보 페이로드의 생성 동작의 제1 실시예를 도시한 개념도이다.
도 12를 참조하면, 게이트웨이(200)는 무결성 검증이 완료된 DU#1 내지 DU#10과 미리 정의된 CAN 라우팅 테이블을 비교할 수 있다. CAN 라우팅 테이블은 CAN으로 전송될 DU를 지시할 수 있다. CAN 라우팅 테이블이 DU#1, DU#2, DU#6, DU#7, DU#9 내지 DU#12, 및 DU#15를 지시하는 경우, 게이트웨이(200)는 무결성 검증이 완료된 DU#1 내지 DU#10 중에서 DU#1, DU#2, DU#6, DU#7, DU#9 및 DU#10을 선택할 수 있고, 선택된 DU들에 기초하여 후보 페이로드를 생성할 수 있다. 따라서 게이트웨이(200)는 DU#1 및 DU#2를 포함하는 CAN 메시지의 후보 페이로드#1, DU#6 및 DU#7을 포함하는 CAN 메시지의 후보 페이로드#2 및 DU#9 및 DU#10을 포함하는 CAN 메시지의 후보 페이로드#3을 생성할 수 있다.
다시 도 10을 참조하면, 게이트웨이(200)는 후보 페이로드의 DU에 포함된 정보와 CAN 버퍼의 DU에 포함된 정보 간의 동일성을 확인함으로써 최종 페이로드를 생성할 수 있다(S1008). CAN 버퍼에 이전에 CAN으로 전송된 정보가 저장될 수 있다. CAN 버퍼는 도 7에 도시된 메모리(예를 들어, PHY 계층 메모리(713), 주 메모리(723), 보조 메모리(724))일 수 있다. CAN 메시지의 최종 페이로드의 생성 동작은 다음과 같이 수행될 수 있다.
도 13은 최종 페이로드의 생성 동작의 제1 실시예를 도시한 개념도이다.
도 13을 참조하면, 게이트웨이(200)는 후보 페이로드에 포함된 DU#1, DU#2, DU#6, DU#7, DU#9 및 DU#10과 CAN 버퍼에 저장된 DU#1, DU#2, DU#6, DU#7, DU#9 및 DU#10을 비교할 수 있다. 예를 들어, 게이트웨이(200)는 후보 페이로드의 DU들에 포함된 정보(예를 들어, 제어 정보, 관리 정보)의 버전과 CAN 버퍼의 DU들에 포함된 정보(예를 들어, 제어 정보, 관리 정보)의 버전을 비교할 수 있다.
후보 페이로드의 DU#1, DU#2, DU#6 및 DU#7에 포함된 정보가 CAN 버퍼의 DU#1, DU#2, DU#6 및 DU#7에 포함된 정보와 다른 경우(예를 들어, 후보 페이로드의 DU#1, DU#2, DU#6 및 DU#7에 포함된 정보가 CAN 버퍼의 DU#1, DU#2, DU#6 및 DU#7에 포함된 정보에 비해 업데이트된 정보인 경우), 게이트웨이(200)는 DU#1, DU#2, DU#6 및 DU#7을 포함하는 최종 페이로드를 생성할 수 있다. 따라서 게이트웨이(200)는 DU#1 및 DU#2를 포함하는 CAN 메시지의 최종 페이로드#1 및 DU#6 및 DU#7을 포함하는 CAN 메시지의 최종 페이로드#2를 생성할 수 있다. 반면, 후보 페이로드의 DU#9 및 DU#10에 포함된 정보가 CAN 버퍼의 DU#9 및 DU#10에 포함된 정보와 동일한 경우, 게이트웨이(200)는 DU#9 및 DU#10을 폐기할 수 있다.
다시 도 10을 참조하면, 게이트웨이(200)는 CAN의 전송 주기를 고려하여 CAN 메시지를 생성할 수 있다(S1009). 예를 들어, 이더넷 메시지의 전송 주기가 50ms이고, CAN 메시지의 전송 주기가 100ms인 경우, 게이트웨이(200)는 100ms 길이를 가지는 전송 구간 동안에 두 개의 이더넷 메시지들을 수신한 경우에도 CAN 메시지의 전송 주기에 따라 이더넷 메시지에 대응하는 한 개의 CAN 메시지를 전송할 수 있다. 따라서 100ms의 길이를 가지는 전송 구간에서 이더넷 메시지#1 및 이더넷 메시지#2가 수신된 경우, 게이트웨이(200)는 이더넷 메시지#2에 속한 DU들을 포함하는 CAN 메시지를 생성할 수 있다. CAN 메시지는 다음과 같이 구성될 수 있다.
도 14는 차량 네트워크에서 CAN 메시지의 제3 실시예를 도시한 블록도이고, 도 15는 차량 네트워크에서 CAN 메시지의 제4 실시예를 도시한 블록도이다.
도 14 및 도 15를 참조하면, CAN FD 포맷이 사용되는 경우, CAN 메시지(1400)는 CRC(1410), 얼라이브 카운터(1420), DU#6(1430) 및 DU#7(1440)을 포함할 수 있다. 게이트웨이(200)는 CAN 메시지(1400)를 위한 ASIL 인증 정보를 생성할 수 있고, ASIL 인증 정보는 DU#6(1430) 또는 DU#7(1440)에 포함될 수 있다. 또는, ASIL 인증 정보는 DU#6(1430) 및 DU#7(1440)과 독립적으로 CAN 메시지(1400)에 포함될 수 있다.
저속 CAN 포맷 또는 고속 CAN 포맷이 사용되는 경우, CAN 메시지(1500)는 CRC(1510), 예비 필드(1520), 얼라이브 카운터(1530), DU#6(1540) 및 DU#7(1550)을 포함할 수 있다. 게이트웨이(200)는 CAN 메시지(1500)를 위한 ASIL 인증 정보를 생성할 수 있고, ASIL 인증 정보는 DU#6(1540) 또는 DU#7(1550)에 포함될 수 있다. 또는, ASIL 인증 정보는 DU#6(1540) 및 DU#7(1550)과 독립적으로 CAN 메시지(1500)에 포함될 수 있다.
다시 도 10을 참조하면, 이더넷 메시지에 포함된 페이로드의 크기는 CAN 메시지에 포함된 페이로드의 크기보다 크기 때문에, 단계 S1009에서 하나의 이더넷 메시지에 기초하여 복수의 CAN 메시지들이 생성될 수 있다. 게이트웨이(200)는 CAN의 전송 주기에 따라 CAN 메시지를 전송할 수 있다(S1010). CAN으로 전송된 CAN 메시지는 게이트웨이(200)의 CAN 버퍼에 저장될 수 있다. 즉, 업데이트된 제어 정보 또는 업데이트된 관리 정보를 포함하는 DU는 CAN 버퍼에 오버라이트(overwrite)될 수 있다. CAN 메시지의 목적지가 엔드 노드#6(231)인 경우, 게이트웨이(200)는 CAN 메시지를 엔드 노드#6(231)에 전송할 수 있다.
또는, 게이트웨이(200)는 CAN 전송 주기와 무관하게 CAN 메시지를 생성할 수 있고, 생성된 CAN 메시지를 전송할 수 있다. 이 경우, 게이트웨이(200)는 도 13의 최종 페이로드#1(예를 들어, DU#1, DU#2)을 포함하는 CAN 메시지#1 및 도 13의 최종 페이로드#2(예를 들어, DU#6, DU#7)를 포함하는 CAN 메시지#2를 생성할 수 있고, CAN 메시지#1 및 CAN 메시지#2 각각을 전송할 수 있다.
한편, 엔드 노드#6(231)은 버스 라인에 대한 모니터링 동작을 수행함으로써 CAN 메시지를 수신할 수 있고, 수신된 CAN 메시지에 포함된 ASIL 인증 정보에 대한 무결성 검증 동작을 수행할 수 있다. CAN 메시지의 ASIL 인증 정보에 대한 무결성 검증이 성공한 경우, 엔드 노드#6(231)은 CAN 메시지에 포함된 페이로드를 획득할 수 있고, 획득된 페이로드로부터 제어 정보 또는 관리 정보를 확인할 수 있다. 또는, CAN 메시지의 ASIL 인증 정보에 대한 무결성 검증이 실패한 경우, 엔드 노드#6(231)은 CAN 메시지를 폐기할 수 있다.
도 16은 차량 네트워크에서 통신 노드의 동작 방법의 제2 실시예를 도시한 순서도이다.
도 16을 참조하면, 게이트웨이(200), 엔드 노드#1(211) 및 엔드 노드#6(231) 각각은 도 2의 차량 네트워크에 속한 게이트웨이(200), 엔드 노드#1(211) 및 엔드 노드#6(231)일 수 있다. 예를 들어, 도 16에 도시된 통신 노드의 동작 방법은 도 2에 도시된 차량 네트워크에서 수행될 수 있고, 게이트웨이(200), 엔드 노드#1(211) 및 엔드 노드#6(231)은 도 7에 도시된 통신 노드(700)(또는, 도 8에 도시된 통신 노드(800))와 동일 또는 유사하게 구성될 수 있다. 또한, 게이트웨이(200)는 도 9에 도시된 게이트웨이(900)와 동일 또는 유사하게 구성될 수 있다.
엔드 노드#6(231)은 CAN 메시지(예를 들어, 도 5에 도시된 CAN 메시지(500) 또는 도 6에 도시된 CAN 메시지(600))를 생성할 수 있다(S1601). CAN 메시지의 목적지는 CAN에 속한 통신 노드(예를 들어, 엔드 노드#7(232), 엔드 노드#8(233)) 또는 이더넷 기반의 네트워크에 속한 통신 노드(예를 들어, 스위치#1(210), 스위치#2(220), 엔드 노드#1(211), 엔드 노드#2(212), 엔드 노드#3(213), 엔드 노드#4(221), 엔드 노드#5(222))일 수 있다. CAN 메시지의 페이로드는 제어 정보, 관리 정보 등을 포함할 수 있다.
엔드 노드#6(231)은 CAN 메시지를 게이트웨이(200)에 전송할 수 있다(S1602). 게이트웨이(200)는 엔드 노드#6(231)으로부터 CAN 메시지를 수신할 수 있고, 수신된 CAN 메시지에 포함된 ASIL 인증 정보에 대한 무결성 검증 동작을 수행할 수 있다(S1603). 게이트웨이(200)는 CAN으로부터 수신된 CAN 메시지가 제어 정보 또는 관리 정보를 포함하는 것으로 가정할 수 있다. CAN 메시지의 ASIL 인증 정보에 대한 무결성 검증 동작이 실패한 경우, 게이트웨이(200)는 해당 CAN 메시지를 폐기할 수 있다. 반면, CAN 메시지의 ASIL 인증 정보에 대한 무결성 검증 동작이 성공한 경우, 게이트웨이(200)는 해당 CAN 메시지의 목적지를 확인할 수 있다(S1604).
CAN 메시지의 목적지가 이더넷 기반의 네트워크에 속한 통신 노드인 경우, 게이트웨이(200)는 해당 CAN 메시지에 기초하여 이더넷 메시지(예를 들어, 도 3 및 도 4에 도시된 이더넷 메시지(300))를 생성할 수 있다(S1605). 예를 들어, 게이트웨이(200)는 이더넷 메시지를 위한 ASIL 인증 정보를 생성할 수 있고, 헤더, 페이로드(예를 들어, 엔드 노드#6(231)의 CAN 메시지에 포함된 페이로드) 및 ASIL 인증 정보를 포함하는 이더넷 메시지를 생성할 수 있다. 또한, 게이트웨이(200)는 이더넷 라우팅 테이블에 기초하여 이더넷 메시지를 생성할 수 있다. 이더넷 라우팅 테이블은 이더넷 기반의 네트워크로 전송될 DU를 지시할 수 있다. 예를 들어, 이더넷 라우팅 테이블은 도 12에 도시된 CAN 라우팅 테이블과 동일 또는 유사하게 구성될 수 있다. 따라서 게이트웨이(200)는 CAN 메시지의 페이로드에 포함된 DU들 중에서 이더넷 라우팅 테이블에 의해 지시되는 적어도 하나의 DU를 포함하는 이더넷 메시지를 생성할 수 있다.
엔드 노드#6(231)으로부터 수신된 CAN 메시지의 목적지가 엔드 노드#1(211)인 경우, 게이트웨이(200)는 이더넷 메시지를 엔드 노드#1(211)에 전송할 수 있다(S1606). 이더넷 메시지는 스위치#1(210)을 통해 엔드 노드#1(211)로 전송될 수 있다. 엔드 노드#1(211)은 이더넷 링크에 대한 모니터링 동작을 수행함으로써 이더넷 메시지를 수신할 수 있고, 수신된 이더넷 메시지에 포함된 ASIL 인증 정보에 대한 무결성 검증 동작을 수행할 수 있다. 이더넷 메시지의 ASIL 인증 정보에 대한 무결성 검증이 성공한 경우, 엔드 노드#1(211)은 이더넷 메시지에 포함된 페이로드를 획득할 수 있고, 획득된 페이로드로부터 제어 정보 또는 관리 정보를 확인할 수 있다. 또는, 이더넷 메시지의 ASIL 인증 정보에 대한 무결성 검증이 실패한 경우, 엔드 노드#1(211)은 이더넷 메시지를 폐기할 수 있다.
본 발명에 따른 방법들은 다양한 컴퓨터 수단을 통해 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 컴퓨터 판독 가능 매체에 기록되는 프로그램 명령은 본 발명을 위해 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.
컴퓨터 판독 가능 매체의 예에는 롬(rom), 램(ram), 플래시 메모리(flash memory) 등과 같이 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러(compiler)에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터(interpreter) 등을 사용해서 컴퓨터에 의해 실행될 수 있는 고급 언어 코드를 포함한다. 상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 적어도 하나의 소프트웨어 모듈로 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

Claims (20)

  1. 이더넷(Ethernet) 기반의 네트워크와 CAN(controller area network) 간의 통신을 지원하는 제1 통신 노드의 동작 방법으로서,
    상기 이더넷 기반의 네트워크에 속한 제2 통신 노드로부터 이더넷 메시지를 수신하는 단계;
    상기 이더넷 메시지에 포함된 제1 ASIL(automotive safety integrity level) 인증 정보에 대한 무결성 검증 동작을 수행하는 단계;
    무결성 검증이 완료된 상기 이더넷 메시지에 기초하여 CAN 메시지를 생성하는 단계; 및
    상기 CAN 메시지를 상기 CAN에 속한 제3 통신 노드에 전송하는 단계를 포함하는, 제1 통신 노드의 동작 방법.
  2. 청구항 1에 있어서,
    상기 제2 통신 노드는 엔드(end) 노드이고, 상기 제1 ASIL 인증 정보는 상기 엔드 노드에 의해 생성되는, 제1 통신 노드의 동작 방법.
  3. 청구항 1에 있어서,
    상기 무결성 검증 동작은 상기 이더넷 메시지의 목적지가 상기 CAN인 경우에 수행되는, 제1 통신 노드의 동작 방법.
  4. 청구항 1에 있어서,
    상기 무결성 검증 동작은 상기 이더넷 메시지가 제어 정보 또는 관리 정보를 포함하는 경우에 수행되는, 제1 통신 노드의 동작 방법.
  5. 청구항 1에 있어서,
    상기 CAN 메시지는 제2 ASIL 인증 정보를 포함하고, 상기 제2 ASIL 인증 정보는 상기 CAN 메시지의 무결성 검증을 위해 사용되고, 상기 제2 ASIL 인증 정보는 상기 제1 통신 노드에 의해 생성되는, 제1 통신 노드의 동작 방법.
  6. 청구항 1에 있어서,
    상기 CAN 메시지는 상기 이더넷 메시지에 포함된 복수의 데이터 유닛(data unit)들 중에서 라우팅 테이블(routing table)에 의해 지시되는 적어도 하나의 데이터 유닛을 포함하며, 상기 라우팅 테이블은 상기 CAN으로 전송될 데이터 유닛들을 지시하는, 제1 통신 노드의 동작 방법.
  7. 청구항 1에 있어서,
    상기 CAN 메시지는 상기 이더넷 메시지에 포함된 복수의 데이터 유닛들 중에서 상기 제1 통신 노드의 메모리(memory)에 저장된 데이터 유닛들에 비해 업데이트된(updated) 정보를 포함하는 적어도 하나의 데이터 유닛을 포함하는, 제1 통신 노드의 동작 방법.
  8. 청구항 1에 있어서,
    상기 CAN 메시지는 상기 CAN의 전송 주기에 따라 전송되는, 제1 통신 노드의 동작 방법.
  9. 이더넷(Ethernet) 기반의 네트워크와 CAN(controller area network) 간의 통신을 지원하는 제1 통신 노드의 동작 방법으로서,
    상기 CAN에 속한 제2 통신 노드로부터 CAN 메시지를 수신하는 단계;
    상기 CAN 메시지에 포함된 제1 ASIL(automotive safety integrity level) 인증 정보에 대한 무결성 검증 동작을 수행하는 단계;
    무결성 검증이 완료된 상기 CAN 메시지에 기초하여 이더넷 메시지를 생성하는 단계; 및
    상기 이더넷 메시지를 상기 이더넷 기반의 네트워크에 속한 제3 통신 노드에 전송하는 단계를 포함하는, 제1 통신 노드의 동작 방법.
  10. 청구항 9에 있어서,
    상기 제2 통신 노드는 엔드(end) 노드이고, 상기 제1 ASIL 인증 정보는 상기 엔드 노드에 의해 생성되는, 제1 통신 노드의 동작 방법.
  11. 청구항 9에 있어서,
    상기 이더넷 메시지는 제2 ASIL 인증 정보를 포함하고, 상기 제2 ASIL 인증 정보는 상기 이더넷 메시지의 무결성 검증을 위해 사용되고, 상기 제2 ASIL 인증 정보는 상기 제1 통신 노드에 의해 생성되는, 제1 통신 노드의 동작 방법.
  12. 청구항 9에 있어서,
    상기 이더넷 메시지는 상기 CAN 메시지에 포함된 복수의 데이터 유닛(data unit)들 중에서 라우팅 테이블(routing table)에 의해 지시되는 적어도 하나의 데이터 유닛을 포함하며, 상기 라우팅 테이블은 상기 이더넷 기반의 네트워크로 전송될 데이터 유닛들을 지시하는, 제1 통신 노드의 동작 방법.
  13. 이더넷(Ethernet) 기반의 네트워크와 CAN(controller area network) 간의 통신을 지원하는 제1 통신 노드로서,
    프로세서(processor); 및
    상기 프로세서에 의해 수행되는 적어도 하나의 명령이 저장된 메모리(memory)를 포함하며,
    상기 적어도 하나의 명령은,
    상기 이더넷 기반의 네트워크에 속한 제2 통신 노드로부터 이더넷 메시지를 수신하고;
    상기 이더넷 메시지에 포함된 제1 ASIL(automotive safety integrity level) 인증 정보에 대한 무결성 검증 동작을 수행하고;
    무결성 검증이 완료된 상기 이더넷 메시지에 기초하여 CAN 메시지를 생성하고; 그리고
    상기 CAN 메시지를 상기 CAN에 속한 제3 통신 노드에 전송하도록 실행되는, 제1 통신 노드.
  14. 청구항 13에 있어서,
    상기 제2 통신 노드는 엔드(end) 노드이고, 상기 제1 ASIL 인증 정보는 상기 엔드 노드에 의해 생성되는, 제1 통신 노드.
  15. 청구항 13에 있어서,
    상기 무결성 검증 동작은 상기 이더넷 메시지의 목적지가 상기 CAN인 경우에 수행되는, 제1 통신 노드.
  16. 청구항 13에 있어서,
    상기 무결성 검증 동작은 상기 이더넷 메시지가 제어 정보 또는 관리 정보를 포함하는 경우에 수행되는, 제1 통신 노드.
  17. 청구항 13에 있어서,
    상기 CAN 메시지는 제2 ASIL 인증 정보를 포함하고, 상기 제2 ASIL 인증 정보는 상기 CAN 메시지의 무결성 검증을 위해 사용되고, 상기 제2 ASIL 인증 정보는 상기 제1 통신 노드에 의해 생성되는, 제1 통신 노드.
  18. 청구항 13에 있어서,
    상기 CAN 메시지는 상기 이더넷 메시지에 포함된 복수의 데이터 유닛(data unit)들 중에서 라우팅 테이블(routing table)에 의해 지시되는 적어도 하나의 데이터 유닛을 포함하며, 상기 라우팅 테이블은 상기 CAN으로 전송될 데이터 유닛들을 지시하는, 제1 통신 노드.
  19. 청구항 13에 있어서,
    상기 CAN 메시지는 상기 이더넷 메시지에 포함된 복수의 데이터 유닛들 중에서 상기 메모리에 저장된 데이터 유닛들에 비해 업데이트된(updated) 정보를 포함하는 적어도 하나의 데이터 유닛을 포함하는, 제1 통신 노드.
  20. 청구항 13에 있어서,
    상기 CAN 메시지는 상기 CAN의 전송 주기에 따라 전송되는, 제1 통신 노드.
KR1020170095218A 2016-09-13 2017-07-27 차량 네트워크에서 asil에 기초한 통신 방법 및 장치 KR102352527B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201710811289.9A CN107819736B (zh) 2016-09-13 2017-09-11 基于车辆网络中的汽车安全完整性等级的通信方法及设备
US15/702,370 US10382221B2 (en) 2016-09-13 2017-09-12 Communication method based on automotive safety integrity level in vehicle network and apparatus for the same
DE102017121049.0A DE102017121049A1 (de) 2016-09-13 2017-09-12 Kommunikationsverfahren, welches auf einer Fahrzeugsicherheitsintegritätsstufe im Fahrzeugnetzwerk basiert, und Vorrichtung für dasselbige

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020160118340 2016-09-13
KR20160118340 2016-09-13

Publications (2)

Publication Number Publication Date
KR20180029846A true KR20180029846A (ko) 2018-03-21
KR102352527B1 KR102352527B1 (ko) 2022-01-19

Family

ID=61900540

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170095218A KR102352527B1 (ko) 2016-09-13 2017-07-27 차량 네트워크에서 asil에 기초한 통신 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102352527B1 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111464272A (zh) * 2019-01-22 2020-07-28 中国航天科工飞航技术研究院(中国航天海鹰机电技术研究院) 数据可靠交互方法、交互系统及磁悬浮列车电磁推进系统
KR102202902B1 (ko) * 2020-09-02 2021-01-15 (주)티에이치엔 차량용 통신 제어 장치의 보안 방법 및 그 장치
CN112477781A (zh) * 2019-09-12 2021-03-12 华为技术有限公司 实现汽车中电子控制功能的系统、方法以及汽车
KR102246106B1 (ko) * 2019-12-11 2021-04-28 주식회사 현대케피코 Can 통신 데이터 송수신 방법
CN114128220A (zh) * 2019-07-11 2022-03-01 英飞凌科技股份有限公司 针对汽车通信系统的数据链路层真实性和安全性

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101334017B1 (ko) * 2012-06-29 2013-12-12 주식회사 만도 차량 네트워크의 메시지 무결성 체크 시스템 및 방법
US20140023068A1 (en) * 2012-07-23 2014-01-23 Broadcom Corporation Controller area network communications using ethernet
JP5836222B2 (ja) * 2012-08-14 2015-12-24 日立オートモティブシステムズ株式会社 車両制御装置および車両制御システム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101334017B1 (ko) * 2012-06-29 2013-12-12 주식회사 만도 차량 네트워크의 메시지 무결성 체크 시스템 및 방법
US20140023068A1 (en) * 2012-07-23 2014-01-23 Broadcom Corporation Controller area network communications using ethernet
JP5836222B2 (ja) * 2012-08-14 2015-12-24 日立オートモティブシステムズ株式会社 車両制御装置および車両制御システム

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111464272A (zh) * 2019-01-22 2020-07-28 中国航天科工飞航技术研究院(中国航天海鹰机电技术研究院) 数据可靠交互方法、交互系统及磁悬浮列车电磁推进系统
CN114128220A (zh) * 2019-07-11 2022-03-01 英飞凌科技股份有限公司 针对汽车通信系统的数据链路层真实性和安全性
CN114128220B (zh) * 2019-07-11 2024-04-19 英飞凌科技股份有限公司 针对汽车通信系统的数据链路层真实性和安全性
CN112477781A (zh) * 2019-09-12 2021-03-12 华为技术有限公司 实现汽车中电子控制功能的系统、方法以及汽车
US11418935B2 (en) 2019-09-12 2022-08-16 Huawei Technologies Co., Ltd. System and method for implementing automobile electronic control function, and automobile
KR102246106B1 (ko) * 2019-12-11 2021-04-28 주식회사 현대케피코 Can 통신 데이터 송수신 방법
KR102202902B1 (ko) * 2020-09-02 2021-01-15 (주)티에이치엔 차량용 통신 제어 장치의 보안 방법 및 그 장치

Also Published As

Publication number Publication date
KR102352527B1 (ko) 2022-01-19

Similar Documents

Publication Publication Date Title
CN107819736B (zh) 基于车辆网络中的汽车安全完整性等级的通信方法及设备
KR102352527B1 (ko) 차량 네트워크에서 asil에 기초한 통신 방법 및 장치
KR102400730B1 (ko) 네트워크에서 통신 노드들 간의 시간 동기화 방법
KR102294634B1 (ko) 네트워크에서 통신 노드의 동작 방법
KR102217255B1 (ko) 네트워크에서 통신 노드의 동작 방법
KR102337548B1 (ko) 네트워크의 진단 방법 및 장치
KR102357886B1 (ko) 차량 네트워크에서 nm 기능을 지원하는 통신 노드의 동작 방법
KR20170101046A (ko) 분할된 차량 네트워크에서 통신 방법
KR102234210B1 (ko) 이더넷 기반의 네트워크를 위한 보안 방법
KR102452615B1 (ko) 네트워크에서 우선순위에 기초한 데이터의 전송 방법
KR102293037B1 (ko) 네트워크에서 통신 노드의 동작 방법
KR20180029854A (ko) 차량 네트워크에서 진단 방법 및 장치
CN108093028B (zh) 基于车辆网络中呈现时间再现内容的方法和装置
KR20170101048A (ko) 네트워크에서 자원 예약의 해지 방법
KR102446092B1 (ko) 네트워크에서 링크 상태의 진단 방법
KR102342000B1 (ko) 차량 네트워크에서 프레젠테이션 타임에 기초한 콘텐츠의 재생 방법 및 장치
KR102362611B1 (ko) 차량 네트워크에서 데이터의 송수신 방법 및 장치
KR20180038970A (ko) 차량 네트워크에서 선택적 웨이크업을 위한 통신 노드의 동작 방법
KR20180057503A (ko) 차량 네트워크에서 시간 동기화를 위한 통신 노드의 동작 방법
KR102357938B1 (ko) 차량 네트워크에서 미러링을 위한 통신 노드의 동작 방법
KR102228331B1 (ko) 네트워크에서 통신 노드의 동작 방법
Cataldo Ethernet Network in the Automotive field: Standards, possible approaches to Protocol Validation and Simulations
KR102233213B1 (ko) 네트워크에서 스트림의 통신 경로 설정 방법
CN117749618A (zh) 网络架构、对应车辆和方法

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