KR102355085B1 - 차량 네트워크에서 선택적 웨이크업을 위한 통신 노드의 동작 방법 - Google Patents

차량 네트워크에서 선택적 웨이크업을 위한 통신 노드의 동작 방법 Download PDF

Info

Publication number
KR102355085B1
KR102355085B1 KR1020170121530A KR20170121530A KR102355085B1 KR 102355085 B1 KR102355085 B1 KR 102355085B1 KR 1020170121530 A KR1020170121530 A KR 1020170121530A KR 20170121530 A KR20170121530 A KR 20170121530A KR 102355085 B1 KR102355085 B1 KR 102355085B1
Authority
KR
South Korea
Prior art keywords
communication node
port
communication
wakeup
message
Prior art date
Application number
KR1020170121530A
Other languages
English (en)
Other versions
KR20180038970A (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/727,251 priority Critical patent/US10673986B2/en
Priority to DE102017123251.6A priority patent/DE102017123251A1/de
Priority to CN201710931385.7A priority patent/CN107920007B/zh
Publication of KR20180038970A publication Critical patent/KR20180038970A/ko
Application granted granted Critical
Publication of KR102355085B1 publication Critical patent/KR102355085B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/082Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
    • 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/54Store-and-forward switching systems 

Abstract

차량 네트워크에서 시간 동기화를 위한 통신 노드의 동작 방법이 개시된다. 본 발명에 따른 통신 노드의 동작 방법은 이더넷 기반의 차량 네트워크에 포함된 복수의 통신 노드들 중 제1 통신 노드의 동작 방법으로서, 복수의 통신 노드들에 포함된 제2 통신 노드와 시간 동기화를 수행하기 위한 제1 링크 딜레이를 측정하는 단계, 제1 링크 딜레이 이전에 측정된 복수의 링크 딜레이들의 평균 값과 제1 링크 딜레이 간의 차이를 산출하는 단계, 산출된 차이를 제2 통신 노드에 대한 링크 딜레이의 측정 주기를 제어하기 위해 미리 설정된 제1 임계값과 비교하는 단계 및 비교 결과를 기반으로 제2 통신 노드에 대한 링크 딜레이의 측정 주기를 제어하는 단계를 포함한다.

Description

차량 네트워크에서 선택적 웨이크업을 위한 통신 노드의 동작 방법{OPERATION METHOD OF COMMUNICATION NODE FOR SELECTIVE WAKEUP IN VEHICLE NETWORK}
본 발명은 차량 네트워크에서 선택적 웨이트업(selective wake-up)를 위한 통신 노드의 동작 방법에 관한 것으로, 더욱 상세하게는 이더넷 기반의 차량 네트워크에 포함된 복수의 통신 노드들에 대하여 선택적으로 웨이크업 메시지를 전송하기 위한 통신 노드의 동작 방법에 관한 것이다.
차량용 부품의 전자화가 급속도로 진행됨에 따라 차량에 탑재되는 전자 장치의 종류와 수가 크게 증가되고 있다. 전자 장치는 크게 파워트레인(power train) 제어 시스템, 바디(body) 제어 시스템, 새시(chassis) 제어 시스템, 차량 네트워크(network), 멀티미디어(multimedia) 시스템 등에서 사용될 수 있다. 파워트레인 제어 시스템은 엔진 제어 시스템, 자동 변속 제어 시스템 등을 의미할 수 있다. 바디 제어 시스템은 바디 전장품 제어 시스템, 편의 장치 제어 시스템, 램프(lamp) 제어 시스템 등을 의미할 수 있다. 새시 제어 시스템은 조향 장치 제어 시스템, 브레이크(brake) 제어 시스템, 서스팬션(suspension) 제어 시스템 등을 의미할 수 있다. 차량 네트워크는 CAN(controller area network), 플렉스레이(FlexRay) 기반의 네트워크, MOST(media oriented system transport) 기반의 네트워크 등을 의미할 수 있다. 멀티미디어 시스템은 항법 장치 시스템, 텔레메틱스(telematics) 시스템, 인포테인먼트(infotainment) 시스템 등을 의미할 수 있다.
이러한 시스템들 및 시스템들 각각을 구성하는 전자 장치들은 차량 네트워크를 통해 연결되어 있으며, 전자 장치들 각각의 기능을 지원하기 위한 차량 네트워크가 요구되고 있다. CAN은 최대 1Mbps의 전송 속도를 지원할 수 있으며, 충돌된 프레임(frame)의 자동 재전송, CRC(cyclic redundancy check) 기반의 오류 검출 등을 지원할 수 있다. 플렉스레이 기반의 네트워크는 최대 10Mbps의 전송 속도를 지원할 수 있으며, 2채널을 통한 데이터의 동시 전송, 동기 방식의 데이터 전송 등을 지원할 수 있다. MOST 기반의 네트워크는 고품질의 멀티미디어를 위한 통신 네트워크로, 최대 150Mbps의 전송 속도를 지원할 수 있다.
한편, 차량의 텔레메틱스 시스템, 인포테인먼트 시스템, 향상된 안전 시스템 등은 높은 전송 속도, 시스템 확장성 등을 요구하며, CAN, 플렉스레이 기반의 네트워크 등은 이를 충분히 지원하지 못한다. MOST 기반의 네트워크는 CAN 및 플렉스레이 기반의 네트워크에 비해 높은 전송 속도를 지원할 수 있으나, 차량의 모든 네트워크에 MOST 기반의 네트워크가 적용되기 위해서는 많은 비용이 소모된다. 이러한 문제들에 의해, 차량 네트워크로 이더넷(Ethernet) 기반의 네트워크가 고려될 수 있다. 이더넷 기반의 네트워크는 한 쌍의 권선을 통한 양방향 통신을 지원할 수 있으며, 최대 10Gbps의 전송 속도를 지원할 수 있다.
구체적으로, 이더넷 기반의 차량 네트워크는 이더넷 기반의 통신을 수행하는 복수의 통신 노드(예를 들어, 전자 장치 및 스위치 등)들을 포함할 수 있다. 차량 네트워크에 포함된 복수의 통신 노드들 중 스위치의 기능을 수행하는 제1 통신 노드는 웨이크업(wake-up) 상태가 되는 경우, 제1 통신 노드에 연결된 모든 통신 노드로 웨이크업 메시지를 전송하게 된다. 이때, 제1 통신 노드에 연결된 모든 통신 노드는 웨이크업 상태가 요구되지 않는 경우에도, 제1 통신 노드로부터 웨이크업 메시지를 수신할 수 있다. 이에 따라, 스위치의 기능을 수행하는 제1 통신 노드에 연결된 모든 통신 노드는 불필요하게 웨이크업 상태가 될 수 있고, 이로 인해 전력이 낭비되는 문제가 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은 이더넷 기반의 차량 네트워크에서 복수의 통신 노드들 중 선택적으로 웨이크업 메시지를 전송하기 위한 통신 노드의 동작 방법을 제공하는 데 있다.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 차량 네트워크에서 선택적 웨이크업을 위한 통신 노드의 동작 방법은 이더넷(Ethernet) 기반의 차량 네트워크에 포함된 복수의 통신 노드들 중 제1 통신 노드의 동작 방법으로서, 상기 복수의 통신 노드들 중 제2 통신 노드에 대한 소프트웨어(software)의 업데이트(update)를 요청하는 제1 메시지를 수신하는 단계, 상기 제1 통신 노드 및 상기 제2 통신 노드 간의 경로(path)에 기초하여 상기 제2 통신 노드의 웨이크업을 위한 포트(port)를 설정하는 단계, 상기 설정된 포트를 통해 상기 제2 통신 노드의 웨이크업(wake-up)을 지시하는 제2 메시지를 전송하는 단계 및 상기 설정된 포트에 상응하는 상기 경로를 기반으로 상기 제2 통신 노드에 대한 상기 소프트웨어의 업데이트를 제공하는 단계를 포함한다.
여기서, 상기 제1 메시지는 상기 차량 네트워크에 포함된 복수의 통신 노드들을 진단 가능한 OBD(on-board diagnostic) 장치로부터 수신될 수 있다.
여기서, 상기 웨이크업을 위한 포트를 설정하는 단계는 상기 제1 통신 노드에 포함된 복수의 포트들 각각을 통해 연결된 복수의 통신 노드들에 대한 정보가 포함된 주소 테이블(address table)을 기반으로 상기 웨이크업을 위한 포트를 설정할 수 있다.
여기서, 상기 주소 테이블은 상기 제1 통신 노드에 포함된 복수의 포트들의 번호, 상기 복수의 포트들 각각을 통해 연결된 복수의 통신 노드들의 MAC(medium access control) 주소, VLAN ID(virtual LAN identifier) 및 상기 복수의 포트들 각각을 통해 연결된 복수의 통신 노드들에 대한 웨이크업의 대상 여부를 나타내는 값(value)을 포함할 수 있다.
여기서, 상기 웨이크업을 위한 포트를 설정하는 단계는 상기 주소 테이블에서 상기 제2 통신 노드의 MAC 주소에 기초하여 상기 제1 통신 노드 및 상기 제2 통신 노드 간의 경로를 확인하는 단계, 상기 제1 통신 노드에 포함된 복수의 포트들 중 상기 제2 통신 노드의 MAC 주소에 상응하는 제1 포트를 확인하는 단계 및 상기 확인된 제1 포트를 상기 제2 통신 노드의 웨이크업을 위한 위한 포트로 설정하는 단계를 포함할 수 있다.
여기서, 상기 웨이크업을 위한 포트로 설정하는 단계는 상기 제2 통신 노드가 웨이크업의 대상임을 나타내도록 상기 제1 포트에 대한 웨이크업의 대상 여부를 나타내는 값을 설정할 수 있다.
여기서, 상기 소프트웨어의 업데이트를 제공하는 단계는 상기 제1 통신 노드의 메모리(memory)에서 상기 제2 통신 노드의 소프트웨어를 업데이트 하기 위한 소프트웨어를 획득하는 단계 및 상기 획득된 소프트웨어가 포함된 제3 메시지를 상기 설정된 포트를 통해 상기 제2 통신 노드로 전송하는 단계를 포함할 수 있다.
여기서, 상기 제1 통신 노드의 동작 방법은 상기 설정된 포트를 통해 상기 제2 통신 노드의 소프트웨어가 업데이트되었음을 나타내는 제4 메시지를 수신하는 경우, 상기 설정된 포트를 상기 제2 통신 노드의 웨이크업을 위한 포트에서 해제하는 단계를 더 포함할 수 있다.
상기 목적을 달성하기 위한 본 발명의 다른 실시예에 따른 차량 네트워크에서 선택적 웨이크업을 위한 통신 노드의 동작 방법은 이더넷(Ethernet) 기반의 차량 네트워크에 포함된 복수의 통신 노드들 중 제1 통신 노드의 동작 방법으로서, 상기 복수의 통신 노드들 중 제2 통신 노드에 대한 진단(diagnostic)을 요청하는 제1 메시지를 수신하는 단계, 상기 제1 통신 노드 및 상기 제2 통신 노드 간의 경로(path)에 기초하여 상기 제2 통신 노드의 웨이크업을 위한 포트(port)를 설정하는 단계, 상기 설정된 포트를 통해 상기 제2 통신 노드의 웨이크업(wake-up)을 지시하는 제2 메시지를 전송하는 단계 및 상기 설정된 포트에 상응하는 상기 경로를 기반으로 상기 제2 통신 노드에 대한 진단을 수행하는 단계를 포함한다.
여기서, 상기 제1 메시지는 상기 차량 네트워크에 포함된 복수의 통신 노드들을 진단 가능한 OBD(on-board diagnostic) 장치로부터 수신될 수 있다.
여기서, 상기 웨이크업을 위한 포트를 설정하는 단계는 상기 제1 통신 노드에 포함된 복수의 포트들 각각을 통해 연결된 복수의 통신 노드들에 대한 정보가 포함된 주소 테이블(address table)을 기반으로 상기 웨이크업을 위한 포트를 설정할 수 있다.
여기서, 상기 주소 테이블은 상기 제1 통신 노드에 포함된 복수의 포트들의 번호, 상기 복수의 포트들 각각을 통해 연결된 복수의 통신 노드들의 MAC(medium access control) 주소, VLAN ID(virtual LAN identifier) 및 상기 복수의 포트들 각각을 통해 연결된 복수의 통신 노드들에 대한 웨이크업의 대상 여부를 나타내는 값(value)을 포함할 수 있다.
여기서, 상기 웨이크업을 위한 포트를 설정하는 단계는 상기 주소 테이블에서 상기 제2 통신 노드의 MAC 주소에 기초하여 상기 제1 통신 노드 및 상기 제2 통신 노드 간의 경로를 확인하는 단계, 상기 제1 통신 노드에 포함된 복수의 포트들 중 상기 제2 통신 노드의 MAC 주소에 상응하는 제1 포트를 확인하는 단계 및 상기 확인된 제1 포트를 상기 제2 통신 노드의 웨이크업을 위한 위한 포트로 설정하는 단계를 포함할 수 있다.
여기서, 상기 웨이크업을 위한 포트로 설정하는 단계는 상기 제2 통신 노드가 웨이크업의 대상임을 나타내도록 상기 제1 포트에 대한 웨이크업의 대상 여부를 나타내는 값을 설정할 수 있다.
여기서, 상기 제2 통신 노드에 대한 진단을 수행하는 단계는 상기 제1 메시지에 의해 지시되는 진단 동작의 수행을 지시하는 제3 메시지를 상기 설정된 포트를 통해 상기 제2 통신 노드로 전송하는 단계, 상기 제2 통신 노드로부터 상기 진단 동작의 수행 결과에 대한 정보가 포함된 제4 메시지를 수신하는 단계 및 상기 진단 동작의 수행 결과에 기초하여 상기 제2 통신 노드에 대한 진단을 수행하는 단계를 포함할 수 있다.
여기서, 상기 제1 통신 노드의 동작 방법은 상기 설정된 포트를 통해 상기 제2 통신 노드에 대한 진단의 수행이 완료되었음을 나타내는 제5 메시지를 수신하는 경우, 상기 설정된 포트를 상기 제2 통신 노드의 웨이크업을 위한 포트에서 해제하는 단계를 더 포함할 수 있다.
상기 목적을 달성하기 위한 본 발명의 또 다른 실시예에 따른 차량 네트워크에서 선택적 웨이크업을 위한 통신 노드의 동작 방법을 수행하는 통신 노드는 이더넷(Ethernet) 기반의 차량 네트워크에 포함된 복수의 통신 노드들 중 제1 통신 노드로서, 프로세서(processor) 및 상기 프로세서를 통해 실행되는 적어도 하나의 명령이 저장된 메모리(memory)를 포함하고, 상기 적어도 하나의 명령은 상기 차량 네트워크에 포함된 OBD(on-board diagnostic) 장치로부터 상기 복수의 통신 노드들 중 제2 통신 노드에 대한 소프트웨어(software)의 업데이트(update)를 요청하는 제1 메시지를 수신하고, 상기 제1 통신 노드에 포함된 복수의 포트들 각각을 통해 연결된 복수의 통신 노드들에 대한 정보가 포함된 주소 테이블(address table)을 기반으로 상기 웨이크업을 위한 포트를 설정하고, 상기 설정된 포트를 통해 상기 제2 통신 노드의 웨이크업(wake-up)을 지시하는 제2 메시지를 전송하고, 상기 설정된 포트에 상응하는 상기 경로를 기반으로 상기 제2 통신 노드에 대한 상기 소프트웨어의 업데이트를 제공하고, 그리고 상기 설정된 포트를 통해 상기 제2 통신 노드의 소프트웨어가 업데이트되었음을 나타내는 제4 메시지를 수신하는 경우, 상기 설정된 포트를 상기 제2 통신 노드의 웨이크업을 위한 포트에서 해제하도록 실행된다.
여기서, 상기 주소 테이블은 상기 제1 통신 노드에 포함된 복수의 포트들의 번호, 상기 복수의 포트들 각각을 통해 연결된 복수의 통신 노드들의 MAC(medium access control) 주소, VLAN ID(virtual LAN identifier) 및 상기 복수의 포트들 각각을 통해 연결된 복수의 통신 노드들에 대한 웨이크업의 대상 여부를 나타내는 값(value)을 포함할 수 있다.
여기서, 상기 적어도 하나의 명령은 상기 웨이크업을 위한 포트를 설정하는 과정에서 상기 주소 테이블에서 상기 제2 통신 노드의 MAC 주소에 기초하여 상기 제1 통신 노드 및 상기 제2 통신 노드 간의 경로를 확인하고, 상기 제1 통신 노드에 포함된 복수의 포트들 중 상기 제2 통신 노드의 MAC 주소에 상응하는 제1 포트를 확인하고, 그리고 상기 확인된 제1 포트를 상기 제2 통신 노드가 웨이크업의 대상임을 나타내도록 상기 제1 포트에 대한 웨이크업의 대상 여부를 나타내는 값을 설정하도록 실행될 수 있다.
여기서, 상기 적어도 하나의 명령은 상기 소프트웨어의 업데이트를 제공하는 과정에서 상기 제1 통신 노드의 메모리(memory)에서 상기 제2 통신 노드의 소프트웨어를 업데이트 하기 위한 소프트웨어를 획득하고, 그리고 상기 획득된 소프트웨어가 포함된 제3 메시지를 상기 설정된 포트를 통해 상기 제2 통신 노드로 전송하도록 실행될 수 있다.
본 발명에 의하면, 차량 네트워크에 포함된 복수의 통신 노드들에 대한 소프트웨어(software)를 업데이트하거나 진단이 필요한 경우, 소프트웨어의 업데이트나 진단이 필요한 통신 노드에 대하여 선택적으로 웨이크업 메시지를 전송할 수 있는 효과가 있다. 또한, 본 발명에 따른 통신 노드의 동작 방법은 차량 네트워크에 포함된 복수의 통신 노드들의 상태를 효율적으로 관리함으로써 통신 노드의 전력이 낭비되지 않도록 하는 효과가 있다.
도 1은 차량 네트워크의 토폴로지에 대한 일 실시예를 도시한 블록도이다.
도 2는 차량 네트워크를 구성하는 통신 노드의 구조에 대한 일 실시예를 도시한 블록도이다.
도 3은 본 발명의 일 실시예에 따른 차량 네트워크를 도시한 개념도이다.
도 4는 본 발명의 일 실시예에 따른 차량 네트워크에서 선택적 웨이크업을 위한 통신 노드의 동작 방법을 도시한 흐름도이다.
도 5는 본 발명의 일 실시예에 따른 차량 네트워크에서 웨이크업을 위한 포트를 설정하는 방법을 도시한 흐름도이다.
도 6은 본 발명의 일 실시예에 따른 차량 네트워크에서 소프트웨어의 업데이트를 제공하는 방법을 도시한 흐름도이다.
도 7은 본 발명의 다른 실시예에 따른 차량 네트워크에서 선택적 웨이크업을 위한 통신 노드의 동작 방법을 도시한 흐름도이다.
도 8은 본 발명의 다른 실시예에 따른 차량 네트워크에서 웨이크업을 위한 포트를 설정하는 방법을 도시한 흐름도이다.
도 9는 본 발명의 다른 실시예에 따른 차량 네트워크에서 진단을 수행하는 방법을 도시한 흐름도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 차량 네트워크의 토폴로지(network topology)의 일 실시예를 도시한 블록도이다.
도 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) 등) 프로토콜(protocol)을 지원하는 스위치와 이더넷(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)는 인포테인먼트(infotainment) 장치(예를 들어, 디스플레이(display) 장치, 내비게이션(navigation) 장치, 어라운드 뷰 모니터링(around view monitoring) 장치) 등을 구성하는 ECU를 의미할 수 있다.
한편, 차량 네트워크를 구성하는 통신 노드들(즉, 게이트웨이, 스위치, 엔드 노드 등)은 스타(star) 토폴로지, 버스(bus) 토폴로지, 링(ring) 토폴로지, 트리(tree) 토폴로지, 메쉬(mesh) 토폴로지 등으로 연결될 수 있다. 또한, 차량 네트워크를 구성하는 통신 노드들 각각은 CAN 프로토콜, 플렉스레이 프로토콜, MOST 프로토콜, LIN 프로토콜, 이더넷 프로토콜 등을 지원할 수 있다. 본 발명에 따른 실시예들은 앞서 설명된 네트워크 토폴로지에 적용될 수 있으며, 본 발명에 따른 실시예들이 적용되는 네트워크 토폴로지는 이에 한정되지 않고 다양하게 구성될 수 있다.
도 2는 차량 네트워크를 구성하는 통신 노드의 구조에 대한 일 실시예를 도시한 블록도이다.
도 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) 계열의 코어 등이 사용될 수 있다.
아래에서는, 차량 네트워크에 속하는 통신 노드와 이에 대응하는 상대(counterpart) 통신 노드에서 수행되는 방법이 설명될 것이다. 이하에서, 제1 통신 노드에서 수행되는 방법(예를 들어, 신호의 전송 또는 수신)이 설명되는 경우에도 이에 대응하는 제2 통신 노드는 제1 통신 노드에서 수행되는 방법과 상응하는 방법(예를 들어, 신호의 수신 또는 전송)을 수행할 수 있다. 즉, 제1 통신 노드의 동작이 설명된 경우에 이에 대응하는 제2 통신 노드는 제1 통신 노드의 동작과 상응하는 동작을 수행할 수 있다. 반대로, 제2 통신 노드의 동작이 설명된 경우에 이에 대응하는 제1 통신 노드는 스위치의 동작과 상응하는 동작을 수행할 수 있다.
도 3은 본 발명의 일 실시예에 따른 차량 네트워크를 도시한 개념도이다.
도 3을 참조하면, 본 발명의 일 실시예에 따른 차량 네트워크는 진단기(예를 들어, OBD(on-board diagnostic) 장치)(300), 게이트웨이(310), 엔드 노드 1(321), 엔드 노드 2(322), 엔드 노드 3(323) 및 엔드 노드 4(324)를 포함할 수 있다. 차량 네트워크에 포함된 게이트웨이(310)는 도 1에 도시된 게이트웨이와 동일 또는 유사한 기능들을 수행할 수 있고, 엔드 노드들(321, 322, 323, 324)은 도 1에 도시된 엔드 노드와 동일 또는 유사한 기능을 수행할 수 있다. 차량 네트워크에 포함된 게이트웨이(310) 및 엔드 노드들(321, 322, 323, 324)은 도 2에 도시된 통신 노드와 동일 또는 유사하게 구성될 수 있다.
게이트웨이(310)는 포트(P1)를 통해 진단기(300)와 연결될 수 있고, 포트(P2)를 통해 엔드 노드 1(321)과 연결될 수 있고, 포트(P3)를 통해 엔드 노드 2(322)와 연결될 수 있다. 엔드 노드 1(321)은 포트(P13)를 통해 게이트웨이(310)와 연결될 수 있다. 엔드 노드 2(322)는 포트(P21)를 통해 게이트웨이(310)와 연결될 수 있고, 포트(P22)를 통해 엔드 노드 3(323)과 연결될 수 있고, 포트(P23)를 통해 엔드 노드 4(324)와 연결될 수 있다. 엔드 노드 4(324)는 포트(P41)를 통해 엔드 노드 2(322)와 연결될 수 있다.
상술한 바와 같은 차량 네트워크에서 본 발명의 일 실시예에 따른 선택적 웨이크업(wake-up)을 위한 통신 노드의 동작 방법이 수행될 수 있다. 구체적으로, 본 발명의 일 실시예 및 다른 실시예에 따른 차량 네트워크에서 선택적 웨이크업을 위한 통신 노드의 동작 방법은 이하에서 도 4 내지 도 9을 참조하여 설명될 수 있다.
도 4는 본 발명의 일 실시예에 따른 차량 네트워크에서 선택적 웨이크업을 위한 통신 노드의 동작 방법을 도시한 흐름도이다.
도 4를 참조하면, 본 발명의 일 실시예에 따른 차량 네트워크에서 선택적 웨이크업을 위한 통신 노드의 동작 방법은 차량 네트워크에 포함된 복수의 통신 노드들 중 제1 통신 노드에서 수행될 수 있다. 제1 통신 노드는 도 1에 도시된 게이트웨이와 동일 또는 유사한 기능들을 수행할 수 있고, 도 2에 도시된 통신 노드와 동일 또는 유사하게 구성될 수 있다. 도 4를 참조하여 설명되는 복수의 통신 노드들 간의 연결 구조 및 포트와 관련된 설명은 도 3을 참조하여 진단기, 게이트웨이 및 복수의 엔드 노드들 간의 연결 구조 및 포트와 관련된 설명을 참조할 수 있다.
먼저, 제1 통신 노드는 복수의 통신 노드들 중 제2 통신 노드에 대한 소프트웨어(software)의 업데이트(update)를 요청하는 제1 메시지를 수신할 수 있다(S410). 여기서, 제2 통신 노드에 대한 소프트웨어의 업데이트를 요청하는 제1 메시지는 차량 네트워크에 포함된 복수의 통신 노드들을 진단 가능한 OBD 장치로부터 수신될 수 있다. 즉, OBD 장치는 제1 통신 노드에 포함된 복수의 포트들 중 제1 포트를 통해 제1 통신 노드와 연결될 수 있다. 예를 들어, 제1 통신 노드는 도 3에 도시된 게이트웨이일 수 있고, 제2 통신 노드는 도 3에 도시된 엔드 노드 3일 수 있다. 또한, OBD 장치는 도 3에 도시된 게이트웨이와 연결된 진단기일 수 있다.
이후, 제1 통신 노드는 제1 통신 노드 및 제2 통신 노드 간의 경로(path)에 기초하여 제2 통신 노드의 웨이크업을 위한 포트(port)를 설정할 수 있다(S420). 구체적으로, 제1 통신 노드는 제1 통신 노드에 포함된 복수의 포트들 각각을 통해 연결된 복수의 통신 노드들에 대한 정보가 포함된 주소 테이블(address table)을 기반으로 웨이크업을 위한 포트를 설정할 수 있다. 예를 들어, 주소 테이블은 제1 통신 노드에 포함된 복수의 포트들의 번호, 복수의 포트들 각각을 통해 연결된 복수의 통신 노드들의 MAC(medium access control) 주소, VLAN ID(virtual LAN identifier) 및 복수의 포트들 각각을 통해 연결된 복수의 통신 노드들에 대한 웨이크업의 대상 여부를 나타내는 값(value)을 포함할 수 있다. 구체적으로, 제1 통신 노드에서 웨이크업을 위한 포트를 설정하는 방법은 이하에서 도 5를 참조하여 설명될 수 있다.
도 5는 본 발명의 일 실시예에 따른 차량 네트워크에서 웨이크업을 위한 포트를 설정하는 방법을 도시한 흐름도이다.
도 5를 참조하면, 제1 통신 노드는 주소 테이블에서 제2 통신 노드의 MAC 주소에 기초하여 제1 통신 노드 및 제2 통신 노드 간의 경로를 확인할 수 있다(S421) 예를 들어, 제1 통신 노드의 주소 테이블은 이하의 표 1과 같이 나타낼 수 있다.
Figure 112017092026797-pat00001
표 1은 제1 통신 노드의 주소 테이블을 나타낼 수 있다. 구체적으로, 표 1을 살펴보면, 제1 통신 노드에 포함된 복수의 포트들(P1, P2, P3) 각각을 통해 연결된 복수의 통신 노드들의 MAC 주소, VLAN 및 웨이크업의 대상 여부를 나타내는 값을 포함할 수 있다. 이때, 제1 통신 노드의 MAC주소는 00-10-20-30-40-00이라고 가정할 수 있다. 예를 들어, 제1 통신 노드의 포트(P1)를 통해 연결된 통신 노드의 MAC 주소는 00-10-20-30-30-00일 수 있고, 포트(P2)를 통해 연결된 통신 노드의 MAC 주소는 00-10-20-30-20-00일 수 있고, 포트(P3)를 통해 연결된 통신 노드의 MAC 주소는 00-10-20-30-40-01, 00-10-20-30-40-02 및 00-10-20-30-40-03일 수 있다.
제1 통신 노드는 표 1과 같은 주소 테이블에서 제2 통신 노드의 MAC 주소에 상응하는 포트 번호를 확인할 수 있다. 제2 통신 노드의 MAC 주소가 00-10-20-30-40-02인 경우, 제1 통신 노드는 주소 테이블에서 제2 통신 노드의 MAC 주소인 00-10-20-30-40-02에 상응하는 포트 번호를 확인할 수 있다. 구체적으로, 제1 통신 노드는 제2 통신 노드의 MAC 주소에 상응하는 포트 번호가 P3임을 확인할 수 있다. 이에 따라, 제1 통신 노드는 제1 통신 노드에 포함된 복수의 포트들 중 포트(P3)를 통해 연결된 제3 통신 노드와 제2 통신 노드가 연결된 것으로 판단할 수 있다. 즉, 제1 통신 노드는 제1 통신 노드 및 제2 통신 노드 간의 경로가 "제1 통신 노드-제3 통신 노드-제2 통신 노드"인 것을 확인할 수 있다.
예를 들어, 제3 통신 노드는 도 3에 도시된 엔드 노드 2일 수 있다. 즉, 제3 통신 노드는 도 3의 게이트웨이에 포함된 복수의 포트들 중 포트(P3)를 통해 연결된 엔드 노드 2일 수 있다. 이에 따라, 제2 통신 노드는 도 3의 엔드 노드 2의 포트(P22)를 통해 연결된 엔드 노드 3일 수 있다. 따라서, 단계 S421에서 확인된 경로인 "제1 통신 노드-제3 통신 노드-제2 통신 노드"는 도 3에서 확인 가능한 경로인 "게이트웨이-엔드 노드 2-엔드 노드 3"을 의미할 수 있다.
이후, 제1 통신 노드는 제1 통신 노드에 포함된 복수의 포트들 중 제2 통신 노드의 MAC 주소에 상응하는 제1 포트를 확인할 수 있다(S422). 즉, 제1 통신 노드는 단계 S421에서 설명한 바와 같이, 제2 통신 노드의 MAC 주소인 00-10-20-30-40-02에 상응하는 포트 번호인 P3의 포트(P3)를 제1 포트로 확인할 수 있다.
이후, 제1 통신 노드는 확인된 제1 포트를 제2 통신 노드의 웨이크업을 위한 포트로 설정할 수 있다(S423). 구체적으로, 제1 통신 노드는 제2 통신 노드가 웨이크업의 대상임을 나타내도록 제1 포트에 대한 웨이크업의 대상 여부를 나타내는 값을 설정할 수 있다. 예를 들어, 제1 통신 노드의 주소 테이블에 포함된 웨이크업의 대상 여부를 나타내는 값을 하기의 표 2와 같이 설정할 수 있다.
Figure 112017092026797-pat00002
표 2는 제2 통신 노드에 대한 웨이크업의 웨이크업을 위한 포트가 설정된 주소 테이블을 나타낼 수 있다. 구체적으로, 표 2를 살펴보면, 포트 번호 P3의 포트(P3)에 대한 웨이크업의 대상 여부를 나타내는 값이 0에서 1로 설정된 것을 확인할 수 있다. 즉, 포트(P3)에 대한 웨이크업의 대상 여부를 나타내는 값이 0인 경우, 포트(P3)는 웨이크업의 대상이 아닌 것을 의미할 수 있다. 반면, 포트(P3)에 대한 웨이크업의 대상 여부를 나타내는 값이 1인 경우, 포트(P3)는 웨이크업의 대상에 해당하는 것을 의미할 수 있다.
이때, 제1 통신 노드는 제2 통신 노드의 웨이크업을 위한 포트의 설정을 지시하는 지시자가 포함된 메시지를 생성할 수 있다. 이후, 제1 통신 노드는 제2 통신 노드의 웨이크업을 위한 포트의 설정을 지시하는 메시지를 포트(P3)를 통해 제1 통신 노드와 연결된 제3 통신 노드로 전송할 수 있다. 즉, 제1 통신 노드는 제1 통신 노드 및 제2 통신 노드 간의 경로에 포함된 적어도 하나의 통신 노드로 제2 통신 노드의 웨이크업을 위한 포트의 설정을 지시하는 메시지를 전송할 수 있다.
이에 따라, 제3 통신 노드는 제1 통신 노드로부터 제2 통신 노드의 웨이크업을 위한 포트의 설정을 지시하는 메시지를 수신할 수 있다. 이후, 제3 통신 노드는 메시지에 포함된 제2 통신 노드의 웨이크업을 위한 포트의 설정을 지시하는 지시자를 확인할 수 있고, 제2 통신 노드의 웨이크업을 위한 포트를 설정할 수 있다. 제3 통신 노드에서 제2 통신 노드의 웨이크업을 위한 포트를 설정하는 구체적인 방법은 제1 통신 노드에서 제2 통신 노드의 웨이크업을 위한 포트를 설정하는 방법과 동일할 수 있다.
구체적으로, 제3 통신 노드는 제3 통신 노드에 포함된 주소 테이블에서 제2 통신 노드의 MAC 주소에 상응하는 포트를 확인할 수 있고, 확인된 포트를 제2 통신 노드의 웨이크업을 위한 포트로 설정할 수 있다. 즉, 제3 통신 노드는 제3 통신 노드의 주소 테이블에서 제2 통신 노드의 MAC 주소에 상응하는 포트에 대한 웨이크업의 대상 여부를 나타내는 값을 설정함으로써 제2 통신 노드의 웨이크업을 위한 포트를 설정할 수 있다. 예를 들어, 제3 통신 노드의 주소 테이블은 이하의 표 3과 같이 나타낼 수 있다.
Figure 112017092026797-pat00003
표 3은 제3 통신 노드의 주소 테이블을 나타낼 수 있다. 제3 통신 노드는 표 3과 같은 주소 테이블을 가질 수 있고, 주소 테이블에서 제2 통신 노드의 MAC 주소에 상응하는 포트 번호를 확인할 수 있다. 즉, 제2 통신 노드는 주소 테이블에서 제2 통신 노드의 MAC 주소인 00-10-02-30-40-02에 상응하는 포트 번호인 P22의 포트(P22)를 확인할 수 있고, 확인된 포트(P22)를 제2 통신 노드의 웨이크업을 위한 포트로 설정할 수 있다. 이에 따라, 제2 통신 노드의 웨이크업을 위한 포트가 설정된 제3 통신 노드의 주소 테이블은 이하의 표 4와 같이 나타낼 수 있다.
Figure 112017092026797-pat00004
표 4는 제2 통신 노드의 웨이크업을 위한 포트가 설정된 제3 통신 노드의 주소 테이블을 나타낼 수 있다. 즉, 제3 통신 노드는 주소 테이블에서 포트 번호 P22의 포트(P22)에 대한 웨이크업의 대상 여부를 나타내는 값을 0에서 1로 설정할 수 있다. 상술한 바와 같은 방법을 통해 본 발명의 일 실시예에 따른 차량 네트워크에서 제2 통신 노드의 웨이크업을 위한 포트를 설정할 수 있다.
다시, 도 4를 참조하면 제1 통신 노드는 설정된 포트를 통해 제2 통신 노드의 웨이크업을 지시하는 제2 메시지를 전송할 수 있다(S430). 구체적으로, 제1 통신 노드는 제2 통신 노드의 웨이크업을 지시하는 지시자가 포함된 제2 메시지를 생성할 수 있다. 여기서, 제2 메시지는 제2 통신 노드에 대한 MAC 주소를 더 포함할 수 있다. 이후, 제1 통신 노드는 단계 S423에서 설정된 포트인 포트(P3)를 통해 제2 메시지를 전송할 수 있다.
이에 따라, 제1 통신 노드의 포트(P3)를 통해 연결된 제3 통신 노드는 제1 통신 노드로부터 제2 통신 노드의 웨이크업을 지시하는 제2 메시지를 수신할 수 있다. 이때, 제3 통신 노드는 포트(P21)를 통해 제2 통신 노드의 웨이크업을 지시하는 제2 메시지를 수신할 수 있다. 이후, 제3 통신 노드는 메시지에서 제2 통신 노드의 웨이크업을 지시하는 지시자를 확인할 수 있고, 제2 통신 노드의 웨이크업을 지시하는 지시자가 포함된 메시지를 생성할 수 있다. 이후, 제3 통신 노드는 제2 통신 노드의 웨이크업을 지시하는 메시지를 포트(P22)를 통해 전송할 수 있다.
이에 따라, 제2 통신 노드는 제3 통신 노드로부터 제2 통신 노드의 웨이크업을 지시하는 메시지를 수신할 수 있다. 이때, 제2 통신 노드는 포트(31)를 통해 제3 통신 노드와 연결되어 있으므로, 제2 통신 노드의 웨이크업을 지시하는 메시지를 수신할 수 있다. 이후, 제2 통신 노드는 제2 통신 노드의 웨이크업을 지시하는 메시지에서 제2 통신 노드의 웨이크업을 지시하는 지시자를 확인할 수 있고, 제2 통신 노드의 상태를 웨이크업으로 천이할 수 있다.
이후, 제1 통신 노드는 제2 통신 노드의 웨이크업을 위해 설정된 포트에 상응하는 경로를 기반으로 제2 통신 노드에 대한 소프트웨어의 업데이트를 제공할 수 있다(S440). 구체적으로, 제1 통신 노드에서 제2 통신 노드에 대한 소프트웨어의 업데이트를 제공하는 방법은 이하에서 도 6을 참조하여 설명될 수 있다.
도 6은 본 발명의 일 실시예에 따른 차량 네트워크에서 소프트웨어의 업데이트를 제공하는 방법을 도시한 흐름도이다.
도 6을 참조하면, 제1 통신 노드는 제1 통신 노드의 메모리에서 제2 통신 노드의 소프트웨어를 업데이트 하기 위한 소프트웨어를 획득할 수 있다(S441). 예를 들어, 제1 통신 노드는 OBD 장치로부터 수신된 제1 메시지에서 업데이트가 요청된 소프트웨어의 식별자(identifier)를 확인할 수 있고, 확인된 식별자에 상응하는 소프트웨어를 제1 통신 노드의 메모리에서 검색할 수 있다. 이후, 제1 통신 노드는 제1 통신 노드의 검색된 소프트웨어를 제1 통신 노드의 메모리에서 획득할 수 있다.
여기서, 제2 통신 노드의 소프트웨어를 업데이트 하기 위한 소프트웨어를 제1 통신 노드의 메모리에서 획득하는 것은 제1 통신 노드의 메모리에 제2 통신 노드의 소프트웨어를 업데이트 하기 위한 소프트웨어가 미리 저장된 경우를 의미할 수 있다. 반면, 제2 통신 노드의 소프트웨어를 업데이트 하기 위한 소프트웨어가 제1 통신 노드의 메모리에 미리 저장되지 않은 경우, 제1 통신 노드는 진단기로부터 제2 통신 노드의 소프트웨어를 업데이트 하기 위한 소프트웨어를 요청할 수도 있다.
이후, 제1 통신 노드는 획득된 소프트웨어가 포함된 제3 메시지를 설정된 포트를 통해 제2 통신 노드로 전송할 수 있다(S442). 구체적으로, 제1 통신 노드는 제2 통신 노드의 소프트웨어를 업데이트 하기 위한 소프트웨어가 포함된 제3 메시지를 생성할 수 있다. 이후, 제1 통신 노드는 제3 메시지를 제2 통신 노드의 웨이크업을 위해 설정된 포트를 통해 전송할 수 있다.
즉, 제1 통신 노드는 제3 메시지를 포트(P3)를 통해 제3 통신 노드로 전송할 수 있다. 이에 따라, 제3 통신 노드는 포트(P21)를 통해 제1 통신 노드로부터 제3 메시지를 수신할 수 있다. 이후, 제3 통신 노드는 포트(P22)를 통해 제3 메시지를 제2 통신 노드로 전송할 수 있다. 이에 따라, 제2 통신 노드는 포트(P31)를 통해 제3 메시지를 제3 통신 노드로부터 수신할 수 있다. 이와 같은 방법을 통해, 제1 통신 노드는 제2 통신 노드의 웨이크업을 위해 설정된 포트에 상응하는 경로를 기반으로 제2 통신 노드에 대한 소프트웨어의 업데이트를 제공할 수 있다.
한편, 제2 통신 노드는 제3 통신 노드로부터 수신된 제3 메시지에서 제2 통신 노드의 소프트웨어를 업데이트 하기 위한 소프트웨어를 획득할 수 있다. 이후, 제2 통신 노드는 획득된 소프트웨어를 기반으로 제2 통신 노드의 소프트웨어를 업데이트할 수 있다. 이후, 제2 통신 노드는 제2 통신 노드의 소프트웨어가 업데이트되었음을 나타내는 제4 메시지를 생성할 수 있다. 이후, 제2 통신 노드는 제4 메시지를 포트(31)를 통해 제3 통신 노드로 전송할 수 있다. 이에 따라, 제3 통신 노드는 포트(P22)를 통해 제4 메시지를 제2 통신 노드로부터 수신할 수 있다. 이후, 제3 통신 노드는 제4 메시지를 포트(P21)를 통해 제1 통신 노드로 전송할 수 있다.
이에 따라, 제1 통신 노드는 포트(P3)를 통해 제3 통신 노드로부터 제4 메시지를 수신할 수 있다. 이와 같이, 제1 통신 노드는 제2 통신 노드의 웨이크업을 위해 설정된 포트를 통해 제2 통신 노드의 소프트웨어가 업데이트되었음을 나타내는 제4 메시지를 수신하는 경우, 설정된 포트를 제2 통신 노드의 웨이크업을 위해 설정된 포트에서 해제할 수 있다. 구체적으로, 제1 통신 노드는 제1 통신 노드의 주소 테이블에서 제2 통신 노드의 MAC 주소에 상응하는 포트에 대한 웨이크업의 대상 여부를 나타내는 값을 이하의 표 5와 같이 설정할 수 있다.
Figure 112017092026797-pat00005
즉, 제1 통신 노드는 제2 통신 노드의 MAC 주소에 상응하는 포트 번호 P3의 포트(P3)에 대한 웨이크업의 대상 여부를 나타내는 값을 1에서 0으로 설정할 수 있다. 이때, 제1 통신 노드는 제3 통신 노드로 제2 통신 노드의 웨이크업을 위해 설정된 포트의 해제를 지시하는 메시지를 생성할 수 있고, 생성된 메시지를 제3 통신 노드로 전송할 수 있다. 이에 따라, 제3 통신 노드는 제1 통신 노드로부터 제2 통신 노드의 웨이크업을 위해 설정된 포트를 해제할 수 있다. 제3 통신 노드에서 제2 통신 노드의 웨이크업을 위해 설정된 포트를 해제하는 구체적인 방법은 제1 통신 노드에서 제2 통신 노드의 웨이크업을 위해 설정된 포트를 해제하는 방법과 동일할 수 있다.
한편, 본 발명의 일 실시예에 따른 차량 네트워크에서 제1 통신 노드는 제2 통신 노드에 대한 소프트웨어의 업데이트를 수행하기 위한 시간이 미리 설정된 경우, 미리 설정된 시간에 제2 통신 노드에 대한 소프트웨어의 업데이트를 수행할 수 있다. 즉, 본 발명의 일 실시예에 따른 차량 네트워크에서 제1 통신 노드는 제2 통신 노드에 대한 소프트웨어의 업데이트를 위한 시간을 예약(reservation)할 수 있다.
예를 들어, 차량 네트워크에서 제1 통신 노드는 제2 통신 노드에 대한 소프트웨어의 업데이트를 수행하기 위한 시간의 설정 여부를 확인할 수 있다. 이후, 제1 통신 노드는 제2 통신 노드에 대한 소프트웨어의 업데이트를 수행하기 위한 시간이 미리 설정된 경우, 제1 통신 노드에 포함된 타이머를 동작시킬 수 있다. 이후, 제1 통신 노드는 동작된 타이머를 통해 제2 통신 노드에 대한 소프트웨어의 업데이트를 수행하기 위해 미리 설정된 시간이 경과하는 지를 모니터링 할 수 있다.
이후, 제1 통신 노드는 제2 통신 노드에 대한 소프트웨어의 업데이트를 수행하기 위해 미리 설정된 시간이 경과하는 경우, 제1 통신 노드의 메모리에서 제2 통신 노드에 대한 소프트웨어를 업데이트 하기 위해 미리 저장된 소프트웨어를 획득할 수 있다. 이후, 제1 통신 노드는 획득된 소프트웨어를 기반으로 제2 통신 노드에 대한 소프트웨어의 업데이트를 제공할 수 있다. 구체적으로, 제1 통신 노드에서 제2 통신 노드에 대한 소프트웨어의 업데이트를 제공하는 방법은 도 3 내지 도 6을 참조하여 설명한 바와 동일할 수 있다.
도 7은 본 발명의 다른 실시예에 따른 차량 네트워크에서 선택적 웨이크업을 위한 통신 노드의 동작 방법을 도시한 흐름도이다.
도 7을 참조하면, 본 발명의 다른 실시예에 따른 차량 네트워크에서 선택적 웨이크업을 위한 통신 노드의 동작 방법은 차량 네트워크에 포함된 복수의 통신 노드들 중 제1 통신 노드에서 수행될 수 있다. 제1 통신 노드는 도 1에 도시된 게이트웨이와 동일 또는 유사한 기능들을 수행할 수 있고, 도 2에 도시된 통신 노드와 동일 또는 유사하게 구성될 수 있다. 도 7을 참조하여 설명되는 복수의 통신 노드들 간의 연결 구조 및 포트와 관련된 설명은 도 3을 참조하여 진단기, 게이트웨이 및 복수의 엔드 노드들 간의 연결 구조 및 포트와 관련된 설명을 참조할 수 있다.
먼저, 제1 통신 노드는 복수의 통신 노드들 중 제2 통신 노드에 대한 진단(diagnostic)을 요청하는 제1 메시지를 수신할 수 있다(S710). 여기서, 제2 통신 노드에 대한 진단을 요청하는 제1 메시지는 차량 네트워크에 포함된 복수의 통신 노드들을 진단 가능한 OBD 장치로부터 수신될 수 있다. 즉, OBD 장치는 제1 통신 노드에 포함된 복수의 포트들 중 제1 포트를 통해 제1 통신 노드와 연결될 수 있다. 예를 들어, 제1 통신 노드는 도 3에 도시된 게이트웨이일 수 있고, 제2 통신 노드는 도 3에 도시된 엔드 노드 3일 수 있다. 또한, OBD 장치는 도 3에 도시된 게이트웨이와 연결된 진단기일 수 있다.
이후, 제1 통신 노드는 제1 통신 노드 및 제2 통신 노드 간의 경로(path)에 기초하여 제2 통신 노드의 웨이크업을 위한 포트를 설정할 수 있다(S720). 구체적으로, 제1 통신 노드는 제1 통신 노드에 포함된 복수의 포트들 각각을 통해 연결된 복수의 통신 노드들에 대한 정보가 포함된 주소 테이블을 기반으로 웨이크업을 위한 포트를 설정할 수 있다. 예를 들어, 주소 테이블은 제1 통신 노드에 포함된 복수의 포트들의 번호, 복수의 포트들 각각을 통해 연결된 복수의 통신 노드들의 MAC 주소, VLAN ID 및 복수의 포트들 각각을 통해 연결된 복수의 통신 노드들에 대한 웨이크업의 대상 여부를 나타내는 값을 포함할 수 있다. 구체적으로, 제1 통신 노드에서 웨이크업을 위한 포트를 설정하는 방법은 이하에서 도 8을 참조하여 설명될 수 있다.
도 8은 본 발명의 다른 실시예에 따른 차량 네트워크에서 웨이크업을 위한 포트를 설정하는 방법을 도시한 흐름도이다.
도 8을 참조하면, 제1 통신 노드는 주소 테이블에서 제2 통신 노드의 MAC 주소에 기초하여 제1 통신 노드 및 제2 통신 노드 간의 경로를 확인할 수 있다(S721) 제1 통신 노드에서 제1 통신 노드 및 제2 통신 노드 간의 경로를 확인하는 구체적인 방법은 도 4의 단계 S421에서 설명된 제1 통신 노드 및 제2 통신 노드 간의 경로를 확인하는 방법과 동일할 수 있다.
이후, 제1 통신 노드는 제1 통신 노드에 포함된 복수의 포트들 중 제2 통신 노드의 MAC 주소에 상응하는 제1 포트를 확인할 수 있다(S722). 즉, 제1 통신 노드는 도 4의 단계 S421에서 설명한 바와 같이, 제2 통신 노드의 MAC 주소인 00-10-20-30-40-02에 상응하는 포트 번호인 P3의 포트(P3)를 제1 포트로 확인할 수 있다.
이후, 제1 통신 노드는 확인된 제1 포트를 제2 통신 노드의 웨이크업을 위한 포트로 설정할 수 있다(S723). 구체적으로, 제1 통신 노드는 제2 통신 노드가 웨이크업의 대상임을 나타내도록 제1 포트에 대한 웨이크업의 대상 여부를 나타내는 값을 설정할 수 있다. 제1 통신 노드에서 제2 통신 노드의 웨이크업을 위한 포트를 설정하는 구체적인 방법은 도 4의 단계 S423에서 설명된 제2 통신 노드의 웨이크업을 위한 포트를 설정하는 방법과 동일할 수 있다.
다시, 도 7을 참조하면 제1 통신 노드는 설정된 포트를 통해 제2 통신 노드의 웨이크업을 지시하는 제2 메시지를 전송할 수 있다(S730). 구체적으로, 제1 통신 노드는 제2 통신 노드의 웨이크업을 지시하는 지시자가 포함된 제2 메시지를 생성할 수 있다. 여기서, 제2 메시지는 제2 통신 노드에 대한 MAC 주소를 더 포함할 수 있다. 이후, 제1 통신 노드는 단계 S723에서 설정된 포트인 포트(P3)를 통해 제2 메시지를 전송할 수 있다. 제1 통신 노드에서 제2 통신 노드의 웨이크업을 지시하는 제2 메시지를 전송하는 구체적인 방법은 도 4의 단계 S430에서 설명된 제2 통신 노드의 웨이크업을 지시하는 제2 메시지를 전송하는 방법과 동일할 수 있다.
이후, 제1 통신 노드는 제2 통신 노드의 웨이크업을 위해 설정된 포트에 상응하는 경로를 기반으로 제2 통신 노드에 대한 진단을 수행할 수 있다(S740). 구체적으로, 제1 통신 노드에서 제2 통신 노드에 대한 진단을 수행하는 방법은 이하에서 도 6을 참조하여 설명될 수 있다.
도 9는 본 발명의 다른 실시예에 따른 차량 네트워크에서 진단을 수행하는 방법을 도시한 흐름도이다.
도 9를 참조하면, 제1 통신 노드는 제1 메시지에 의해 지시되는 진단 동작의 수행을 지시하는 제3 메시지를 설정된 포트를 통해 제2 통신 노드로 전송할 수 있다(S741). 구체적으로, 제1 통신 노드는 OBD 장치로부터 수신된 제1 메시지에 의해 지시되는 진단 동작을 확인할 수 있다. 이후, 제1 통신 노드는 진단 동작을 지시하는 지시자가 포함된 제3 메시지를 생성할 수 있다. 이후, 제1 통신 노드는 제3 메시지를 제3 통신 노드와 연결된 제1 통신 노드의 포트(P3)를 통해 제3 통신 노드로 전송할 수 있다.
이에 따라, 제3 통신 노드는 제1 통신 노드와 연결된 포트(P21)를 통해 제1 통신 노드로부터 진단 동작을 지시하는 제3 메시지를 수신할 수 있다. 이후, 제3 통신 노드는 제3 메시지를 제2 통신 노드와 연결된 포트(P22)를 통해 제2 통신 노드로 전송할 수 있다.
이에 따라, 제2 통신 노드는 제3 통신 노드와 연결된 포트(P31)를 통해 제3 메시지를 수신할 수 있다. 이후, 제2 통신 노드는 제3 메시지에서 진단 동작을 지시하는 지시자를 확인할 수 있고, 확인된 지시자에 상응하는 진단 동작을 수행할 수 있다. 이후, 제2 통신 노드는 진단 동작의 수행 결과에 대한 정보가 포함된 제4 메시지를 생성할 수 있고, 생성된 제4 메시지를 포트(P31)를 통해 제3 통신 노드로 전송할 수 있다. 이에 따라, 제3 통신 노드는 포트(P22)를 통해 제2 통신 노드로부터 진단 동작의 수행 결과에 대한 정보가 포함된 제4 메시지를 수신할 수 있다. 이후, 제3 통신 노드는 포트(P21)를 통해 제4 메시지를 제1 통신 노드로 전송할 수 있다.
이에 따라, 제1 통신 노드는 제2 통신 노드로부터 진단 동작의 수행 결과에 대한 정보가 포함된 제4 메시지를 수신할 수 있다(S742). 즉, 제1 통신 노드는 제3 통신 노드와 연결된 포트(P21)를 통해 제4 메시지를 제3 통신 노드로부터 수신할 수 있다. 예를 들어, 진단 동작의 수행 결과에 대한 정보는 진단 동작의 수행 여부 및 진단 동작을 지시하는 메시지에 대한 응답 메시지의 전송 여부 등을 의미할 수 있다.
이후, 제1 통신 노드는 진단 동작의 수행 결과에 기초하여 제2 통신 노드에 대한 진단을 수행할 수 있다(S743). 제1 통신 노드에서 수행되는 제2 통신 노드에 대한 진단은 제2 통신 노드의 고장 여부를 의미할 수 있다. 예를 들어, 제4 메시지에 포함된 진단 동작의 수행 결과에 대한 정보가 진단 동작을 수행하지 않았음에 대한 정보를 포함하거나, 진단 동작을 지시하는 메시지에 대한 응답 메시지가 수신되지 않았음을 나타내는 정보를 포함하는 경우, 제1 통신 노드는 제2 통신 노드가 고장 상태인 것으로 판단할 수 있다. 반면, 제4 메시지에 포함된 진단 동작의 수행 결과에 대한 정보가 진단 동작을 정상적으로 수행하였음에 대한 정보를 포함하거나, 진단 동작을 지시하는 메시지에 대한 응답 메시지가 수신되었음을 나타내는 정보를 포함하는 경우, 제1 통신 노드는 제2 통신 노드가 정상 상태인 것으로 판단할 수 있다. 이와 같은 방법을 통해, 차량 네트워크에서 제1 통신 노드는 제2 통신 노드에 대한 진단 동작을 수행할 수 있다.
한편, 제2 통신 노드는 진단 동작을 정상적으로 수행한 경우, 진단의 수행이 완료되었음을 나타내는 제5 메시지를 생성할 수 있다. 이후, 제2 통신 노드는 제5 메시지를 제3 통신 노드와 연결된 포트(P31)를 통해 제3 통신 노드로 전송할 수 있다. 이에 따라, 제3 통신 노드는 제2 통신 노드와 연결된 포트(P22)를 통해 제2 통신 노드로부터 제5 메시지를 수신할 수 있다. 이후, 제3 통신 노드는 제5 메시지를 제1 통신 노드와 연결된 포트(P21)를 통해 제1 통신 노드로 전송할 수 있다.
이에 따라, 제1 통신 노드는 제3 통신 노드와 연결된 포트(P3)를 통해 제3 통신 노드로부터 진단의 수행이 완료되었음을 나타내는 제5 메시지를 수신할 수 있다. 이와 같이, 제1 통신 노드는 제2 통신 노드의 웨이크업을 위해 설정된 포트를 통해 제2 통신 노드에 대한 진단의 수행이 완료되었음을 나타내는 제5 메시지를 수신하는 경우, 설정된 포트를 제2 통신 노드의 웨이크업을 위해 설정된 포트에서 해제할 수 있다. 구체적으로, 제1 통신 노드에서 설정된 포트를 제2 통신 노드의 웨이크업을 위해 설정된 포트에서 해제하는 방법은 도 4를 참조하여 설명된 설정된 포트를 제2 통신 노드의 웨이크업을 위해 설정된 포트에서 해제하는 방법과 동일할 수 있다.
이와 같은 방법을 통해, 본 발명의 일 실시예에 따른 차량 네트워크에서 선택적 웨이크업을 위한 통신 노드의 동작 방법은 통신 노드에 포함된 복수의 포트들 중 웨이크업이 요구되는 포트를 통해 연결된 통신 노드를 선택적으로 웨이크업 시킬 수 있다.
본 발명에 따른 방법들은 다양한 컴퓨터 수단을 통해 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 컴퓨터 판독 가능 매체에 기록되는 프로그램 명령은 본 발명을 위해 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.
컴퓨터 판독 가능 매체의 예에는 롬(rom), 램(ram), 플래시 메모리(flash memory) 등과 같이 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러(compiler)에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터(interpreter) 등을 사용해서 컴퓨터에 의해 실행될 수 있는 고급 언어 코드를 포함한다. 상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 적어도 하나의 소프트웨어 모듈로 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

Claims (20)

  1. 이더넷(Ethernet) 기반의 차량 네트워크에 포함된 복수의 통신 노드들 중 제1 통신 노드의 동작 방법으로서,
    상기 복수의 통신 노드들 중 제2 통신 노드에 대한 소프트웨어(software)의 업데이트(update)를 요청하는 제1 메시지를 수신하는 단계;
    상기 제1 통신 노드 및 상기 제2 통신 노드 간의 경로(path)에 기초하여 상기 제2 통신 노드의 웨이크업을 위한 포트(port)를 설정하는 단계;
    상기 설정된 포트를 통해 상기 제2 통신 노드의 웨이크업(wake-up)을 지시하는 제2 메시지를 전송하는 단계; 및
    상기 설정된 포트에 상응하는 상기 경로를 기반으로 상기 제2 통신 노드에 대한 상기 소프트웨어의 업데이트를 제공하는 단계를 포함하고,
    상기 웨이크업을 위한 포트를 설정하는 단계에서 상기 제1 통신 노드에 포함된 복수의 포트들 각각을 통해 직접적으로 또는 간접적으로 연결된 복수의 통신 노드들에 대한 정보가 포함된 주소 테이블(address table)을 기반으로 상기 웨이크업을 위한 포트가 설정되며, 상기 주소 테이블은 상기 제1 통신 노드에 포함된 복수의 포트들의 번호, 상기 복수의 포트들 각각을 통해 직접적으로 또는 간접적으로 연결된 복수의 통신 노드들의 MAC(medium access control) 주소, VLAN ID(virtual LAN identifier) 및 상기 복수의 포트들 각각을 통해 직접적으로 또는 간접적으로 연결된 복수의 통신 노드들에 대한 웨이크업의 대상 여부를 나타내는 값(value)을 포함하는 것을 특징으로 하는,
    제1 통신 노드의 동작 방법.
  2. 청구항 1에 있어서,
    상기 제1 메시지는,
    상기 차량 네트워크에 포함된 복수의 통신 노드들을 진단 가능한 OBD(on-board diagnostic) 장치로부터 수신되는 것을 특징으로 하는 제1 통신 노드의 동작 방법.
  3. 삭제
  4. 삭제
  5. 청구항 1에 있어서,
    상기 웨이크업을 위한 포트를 설정하는 단계는,
    상기 주소 테이블에서 상기 제2 통신 노드의 MAC 주소에 기초하여 상기 제1 통신 노드 및 상기 제2 통신 노드 간의 경로를 확인하는 단계;
    상기 제1 통신 노드에 포함된 복수의 포트들 중 상기 제2 통신 노드의 MAC 주소에 상응하는 제1 포트를 확인하는 단계; 및
    상기 확인된 제1 포트를 상기 제2 통신 노드의 웨이크업을 위한 위한 포트로 설정하는 단계를 포함하는 것을 특징으로 하는 제1 통신 노드의 동작 방법.
  6. 청구항 5에 있어서,
    상기 웨이크업을 위한 포트로 설정하는 단계는,
    상기 제2 통신 노드가 웨이크업의 대상임을 나타내도록 상기 제1 포트에 대한 웨이크업의 대상 여부를 나타내는 값을 설정하는 것을 특징으로 하는 제1 통신 노드의 동작 방법.
  7. 청구항 1에 있어서,
    상기 소프트웨어의 업데이트를 제공하는 단계는,
    상기 제1 통신 노드의 메모리(memory)에서 상기 제2 통신 노드의 소프트웨어를 업데이트 하기 위한 소프트웨어를 획득하는 단계; 및
    상기 획득된 소프트웨어가 포함된 제3 메시지를 상기 설정된 포트를 통해 상기 제2 통신 노드로 전송하는 단계를 포함하는 것을 특징으로 하는 제1 통신 노드의 동작 방법.
  8. 청구항 1에 있어서,
    상기 제1 통신 노드의 동작 방법은,
    상기 설정된 포트를 통해 상기 제2 통신 노드의 소프트웨어가 업데이트되었음을 나타내는 제4 메시지를 수신하는 경우, 상기 설정된 포트를 상기 제2 통신 노드의 웨이크업을 위한 포트에서 해제하는 단계를 더 포함하는 것을 특징으로 하는 제1 통신 노드의 동작 방법.
  9. 이더넷(Ethernet) 기반의 차량 네트워크에 포함된 복수의 통신 노드들 중 제1 통신 노드의 동작 방법으로서,
    상기 복수의 통신 노드들 중 제2 통신 노드에 대한 진단(diagnostic)을 요청하는 제1 메시지를 수신하는 단계;
    상기 제1 통신 노드 및 상기 제2 통신 노드 간의 경로(path)에 기초하여 상기 제2 통신 노드의 웨이크업을 위한 포트(port)를 설정하는 단계;
    상기 설정된 포트를 통해 상기 제2 통신 노드의 웨이크업(wake-up)을 지시하는 제2 메시지를 전송하는 단계; 및
    상기 설정된 포트에 상응하는 상기 경로를 기반으로 상기 제2 통신 노드에 대한 진단을 수행하는 단계를 포함하고,
    상기 웨이크업을 위한 포트를 설정하는 단계에서 상기 제1 통신 노드에 포함된 복수의 포트들 각각을 통해 직접적으로 또는 간접적으로 연결된 복수의 통신 노드들에 대한 정보가 포함된 주소 테이블(address table)을 기반으로 상기 웨이크업을 위한 포트가 설정되며, 상기 주소 테이블은 상기 제1 통신 노드에 포함된 복수의 포트들의 번호, 상기 복수의 포트들 각각을 통해 직접적으로 또는 간접적으로 연결된 복수의 통신 노드들의 MAC(medium access control) 주소, VLAN ID(virtual LAN identifier) 및 상기 복수의 포트들 각각을 통해 직접적으로 또는 간접적으로 연결된 복수의 통신 노드들에 대한 웨이크업의 대상 여부를 나타내는 값(value)을 포함하는 것을 특징으로 하는,
    제1 통신 노드의 동작 방법.
  10. 청구항 9에 있어서,
    상기 제1 메시지는,
    상기 차량 네트워크에 포함된 복수의 통신 노드들을 진단 가능한 OBD(on-board diagnostic) 장치로부터 수신되는 것을 특징으로 하는 제1 통신 노드의 동작 방법.
  11. 삭제
  12. 삭제
  13. 청구항 9에 있어서,
    상기 웨이크업을 위한 포트를 설정하는 단계는,
    상기 주소 테이블에서 상기 제2 통신 노드의 MAC 주소에 기초하여 상기 제1 통신 노드 및 상기 제2 통신 노드 간의 경로를 확인하는 단계;
    상기 제1 통신 노드에 포함된 복수의 포트들 중 상기 제2 통신 노드의 MAC 주소에 상응하는 제1 포트를 확인하는 단계; 및
    상기 확인된 제1 포트를 상기 제2 통신 노드의 웨이크업을 위한 위한 포트로 설정하는 단계를 포함하는 것을 특징으로 하는 제1 통신 노드의 동작 방법.
  14. 청구항 13에 있어서,
    상기 웨이크업을 위한 포트로 설정하는 단계는,
    상기 제2 통신 노드가 웨이크업의 대상임을 나타내도록 상기 제1 포트에 대한 웨이크업의 대상 여부를 나타내는 값을 설정하는 것을 특징으로 하는 제1 통신 노드의 동작 방법.
  15. 청구항 9에 있어서,
    상기 제2 통신 노드에 대한 진단을 수행하는 단계는,
    상기 제1 메시지에 의해 지시되는 진단 동작의 수행을 지시하는 제3 메시지를 상기 설정된 포트를 통해 상기 제2 통신 노드로 전송하는 단계;
    상기 제2 통신 노드로부터 상기 진단 동작의 수행 결과에 대한 정보가 포함된 제4 메시지를 수신하는 단계; 및
    상기 진단 동작의 수행 결과에 기초하여 상기 제2 통신 노드에 대한 진단을 수행하는 단계를 포함하는 것을 특징으로 하는 제1 통신 노드의 동작 방법.
  16. 청구항 9에 있어서,
    상기 제1 통신 노드의 동작 방법은,
    상기 설정된 포트를 통해 상기 제2 통신 노드에 대한 진단의 수행이 완료되었음을 나타내는 제5 메시지를 수신하는 경우, 상기 설정된 포트를 상기 제2 통신 노드의 웨이크업을 위한 포트에서 해제하는 단계를 더 포함하는 것을 특징으로 하는 제1 통신 노드의 동작 방법.
  17. 이더넷(Ethernet) 기반의 차량 네트워크에 포함된 복수의 통신 노드들 중 제1 통신 노드로서,
    프로세서(processor); 및
    상기 프로세서를 통해 실행되는 적어도 하나의 명령이 저장된 메모리(memory)를 포함하고,
    상기 적어도 하나의 명령은,
    상기 차량 네트워크에 포함된 OBD(on-board diagnostic) 장치로부터 상기 복수의 통신 노드들 중 제2 통신 노드에 대한 소프트웨어(software)의 업데이트(update)를 요청하는 제1 메시지를 수신하고;
    상기 제1 통신 노드에 포함된 복수의 포트들 각각을 통해 연결된 복수의 통신 노드들에 대한 정보가 포함된 주소 테이블(address table)을 기반으로 상기 제2 통신 노드의 웨이크업(wake-up)을 위한 포트를 설정하고;
    상기 설정된 포트를 통해 상기 제2 통신 노드의 웨이크업을 지시하는 제2 메시지를 전송하고;
    상기 설정된 포트에 상응하는 경로를 기반으로 상기 제2 통신 노드에 대한 상기 소프트웨어의 업데이트를 제공하고; 그리고
    상기 설정된 포트를 통해 상기 제2 통신 노드의 소프트웨어가 업데이트되었음을 나타내는 제4 메시지를 수신하는 경우, 상기 설정된 포트를 상기 제2 통신 노드의 웨이크업을 위한 포트에서 해제하도록 실행되고,
    상기 웨이크업을 위한 포트를 설정하는 단계에서 상기 제1 통신 노드에 포함된 복수의 포트들 각각을 통해 직접적으로 또는 간접적으로 연결된 복수의 통신 노드들에 대한 정보가 포함된 주소 테이블(address table)을 기반으로 상기 웨이크업을 위한 포트가 설정되며, 상기 주소 테이블은 상기 제1 통신 노드에 포함된 복수의 포트들의 번호, 상기 복수의 포트들 각각을 통해 직접적으로 또는 간접적으로 연결된 복수의 통신 노드들의 MAC(medium access control) 주소, VLAN ID(virtual LAN identifier) 및 상기 복수의 포트들 각각을 통해 직접적으로 또는 간접적으로 연결된 복수의 통신 노드들에 대한 웨이크업의 대상 여부를 나타내는 값(value)을 포함하는 것을 특징으로 하는,
    제1 통신 노드.
  18. 삭제
  19. 청구항 17에 있어서,
    상기 적어도 하나의 명령은,
    상기 제2 통신 노드의 웨이크업을 위한 포트를 설정하는 과정에서 상기 주소 테이블에서 상기 제2 통신 노드의 MAC 주소에 기초하여 상기 제1 통신 노드 및 상기 제2 통신 노드 간의 경로를 확인하고;
    상기 제1 통신 노드에 포함된 복수의 포트들 중 상기 제2 통신 노드의 MAC 주소에 상응하는 제1 포트를 확인하고; 그리고
    상기 확인된 제1 포트를 상기 제2 통신 노드가 웨이크업의 대상임을 나타내도록 상기 제1 포트에 대한 웨이크업의 대상 여부를 나타내는 값을 설정하도록 실행되는 것을 특징으로 하는 제1 통신 노드.
  20. 청구항 17에 있어서,
    상기 적어도 하나의 명령은,
    상기 소프트웨어의 업데이트를 제공하는 과정에서 상기 제1 통신 노드의 메모리(memory)에서 상기 제2 통신 노드의 소프트웨어를 업데이트 하기 위한 소프트웨어를 획득하고; 그리고
    상기 획득된 소프트웨어가 포함된 제3 메시지를 상기 설정된 포트를 통해 상기 제2 통신 노드로 전송하도록 실행되는 것을 특징으로 하는 제1 통신 노드.
KR1020170121530A 2016-10-07 2017-09-21 차량 네트워크에서 선택적 웨이크업을 위한 통신 노드의 동작 방법 KR102355085B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US15/727,251 US10673986B2 (en) 2016-10-07 2017-10-06 Operation method of communication node for selective wake-up in vehicle network
DE102017123251.6A DE102017123251A1 (de) 2016-10-07 2017-10-06 Betriebsverfahren eines Kommunikationsknotens für selektives Aufwecken im Fahrzeugnetzwerk
CN201710931385.7A CN107920007B (zh) 2016-10-07 2017-10-09 车辆网络中的多个通信节点的第一通信节点及其操作方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20160129972 2016-10-07
KR1020160129972 2016-10-07

Publications (2)

Publication Number Publication Date
KR20180038970A KR20180038970A (ko) 2018-04-17
KR102355085B1 true KR102355085B1 (ko) 2022-01-25

Family

ID=62083121

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170121530A KR102355085B1 (ko) 2016-10-07 2017-09-21 차량 네트워크에서 선택적 웨이크업을 위한 통신 노드의 동작 방법

Country Status (1)

Country Link
KR (1) KR102355085B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102638986B1 (ko) * 2019-06-03 2024-02-22 현대자동차주식회사 이더넷 스위치 및 그 제어 방법
KR102275138B1 (ko) 2019-11-25 2021-07-07 현대오트론 주식회사 차량 네트워크에서 선택적 웨이크업 통신의 전력량 측정을 위한 시스템 및 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101515546B1 (ko) * 2014-05-23 2015-04-30 한국산업기술대학교산학협력단 에너지 효율을 향상시킨 차량용 전자 제어 장치 및 차량 네트워크
JP2016037211A (ja) * 2014-08-08 2016-03-22 本田技研工業株式会社 車両用診断システム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7620057B1 (en) * 2004-10-19 2009-11-17 Broadcom Corporation Cache line replacement with zero latency
KR101195637B1 (ko) * 2011-04-14 2012-10-30 성정 미닛 인더스트리 씨오., 엘티디. 온-보드 진단을 위한 정보 처리 어댑터
KR101316970B1 (ko) * 2011-10-18 2013-10-11 주식회사 현대케피코 자동차 전자제어유닛의 프로그램에 대한 자동 업데이트 시스템 및 방법
KR102293037B1 (ko) * 2014-08-27 2021-08-23 현대자동차주식회사 네트워크에서 통신 노드의 동작 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101515546B1 (ko) * 2014-05-23 2015-04-30 한국산업기술대학교산학협력단 에너지 효율을 향상시킨 차량용 전자 제어 장치 및 차량 네트워크
JP2016037211A (ja) * 2014-08-08 2016-03-22 本田技研工業株式会社 車両用診断システム

Also Published As

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

Similar Documents

Publication Publication Date Title
KR102589373B1 (ko) 차량 네트워크에서 통신 노드의 웨이크업 방법 및 장치
KR102286050B1 (ko) 차량 네트워크에서 진단 오류 방지를 위한 방법 및 장치
KR102400730B1 (ko) 네트워크에서 통신 노드들 간의 시간 동기화 방법
KR102337548B1 (ko) 네트워크의 진단 방법 및 장치
CN105388858B (zh) 网络中通信节点的操作方法
US10673986B2 (en) Operation method of communication node for selective wake-up in vehicle network
US10979878B2 (en) Operation method of communication node supporting network management functions in vehicle network
US10693668B2 (en) Operation method of communication node in network
KR102355092B1 (ko) 차량 네트워크에서 진단을 위한 통신 노드의 동작 방법
KR102422404B1 (ko) 네트워크에서 전력 공급 방법 및 장치
US10050864B2 (en) Operation mode transition method in network
US10122580B2 (en) Operation methods of communication node in network
US20200358711A1 (en) Method of releasing resource reservation in network
KR102293037B1 (ko) 네트워크에서 통신 노드의 동작 방법
KR102452615B1 (ko) 네트워크에서 우선순위에 기초한 데이터의 전송 방법
KR102300764B1 (ko) 차량 네트워크에서 진단 방법 및 장치
KR102355085B1 (ko) 차량 네트워크에서 선택적 웨이크업을 위한 통신 노드의 동작 방법
KR102431489B1 (ko) 차량 네트워크에서 다중 도메인을 활용한 통신 노드의 동기화 방법 및 장치
KR102313636B1 (ko) 차량 네트워크에서 시간 동기화를 위한 통신 노드의 동작 방법
KR102446092B1 (ko) 네트워크에서 링크 상태의 진단 방법
KR102357938B1 (ko) 차량 네트워크에서 미러링을 위한 통신 노드의 동작 방법
KR102342000B1 (ko) 차량 네트워크에서 프레젠테이션 타임에 기초한 콘텐츠의 재생 방법 및 장치
KR102313599B1 (ko) 차량의 소프트웨어 업데이트 방법 및 장치
KR102228331B1 (ko) 네트워크에서 통신 노드의 동작 방법
KR102610921B1 (ko) 차량 네트워크에서 백업 경로를 설정하는 방법 및 장치

Legal Events

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