KR20160146048A - 차량 네트워크에서 통신 노드의 동작방법 - Google Patents

차량 네트워크에서 통신 노드의 동작방법 Download PDF

Info

Publication number
KR20160146048A
KR20160146048A KR1020150082621A KR20150082621A KR20160146048A KR 20160146048 A KR20160146048 A KR 20160146048A KR 1020150082621 A KR1020150082621 A KR 1020150082621A KR 20150082621 A KR20150082621 A KR 20150082621A KR 20160146048 A KR20160146048 A KR 20160146048A
Authority
KR
South Korea
Prior art keywords
communication node
operating system
controller
counterpart communication
booting
Prior art date
Application number
KR1020150082621A
Other languages
English (en)
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 KR1020150082621A priority Critical patent/KR20160146048A/ko
Priority to US15/155,692 priority patent/US20160364245A1/en
Priority to DE102016208750.9A priority patent/DE102016208750A1/de
Publication of KR20160146048A publication Critical patent/KR20160146048A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4416Network booting; Remote initial program loading [RIPL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/28Timers or timing mechanisms used in protocols
    • 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/40006Architecture of a communication node
    • H04L29/10
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • 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/40208Bus networks characterized by the use of a particular bus standard
    • 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/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40215Controller Area Network CAN
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Small-Scale Networks (AREA)

Abstract

PHY 계층 블록 및 컨트롤러를 포함하는 통신 노드의 동작방법이 개시된다. 본 발명의 일 실시예에 따른 통신 노드의 동작방법은, 상기 컨트롤러가 상대 통신 노드의 운영체제 부팅을 위한 웨이크업 신호를 상기 PHY 계층 블록을 통해 상기 상대 통신 노드로 전송하는 단계; 상기 컨트롤러가 상기 상대 통신 노드의 운영체제 부팅이 완료되었다고 결정하는 단계; 및 상기 컨트롤러가 상기 PHY 계층 블록을 통해 상기 상대 통신 노드로 데이터를 전송하는 단계를 포함한다.

Description

차량 네트워크에서 통신 노드의 동작방법{OPERATING METHOD OF A COMMUNICATION NODE IN AUTOMOTIVE NETWORK}
본 발명은 차량 네트워크의 노드들 간의 통신에 관한 것으로, 더욱 상세하게는 통신 노드들 간의 데이터 전송 시에 수신측 통신 노드의 데이터 손실을 방지하기 위한 기술에 관한 것이다.
차량용 부품의 전자화가 급속도로 진행됨에 따라 차량에 탑재되는 전자 장치의 종류와 수가 크게 증가되고 있다. 전자 장치는 크게 파워트레인(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 interface) 기반의 오류 검출 등을 지원할 수 있다. 플렉스레이 네트워크는 최대 10Mbps의 전송 속도를 지원할 수 있으며, 2채널을 통한 데이터의 동시 전송, 동기 방식의 데이터 전송 등을 지원할 수 있다. MOST 네트워크는 고품질의 멀티미디어를 위한 통신 시스템으로, 최대 150Mbps의 전송 속도를 지원할 수 있다.
한편, 차량의 텔레메틱스 시스템, 인포테이먼트 시스템, 향상된 안전 시스템 등은 높은 전송 속도, 시스템 확장성 등을 요구하며, CAN 네트워크, 플렉스레이 네트워크 등은 이를 충분히 지원하지 못한다. MOST 네트워크는 CAN 네트워크 및 플렉스레이 네트워크에 비해 높은 전송 속도를 지원할 수 있으나, 차량의 모든 네트워크에 MOST 네트워크를 적용하기 위해서는 많은 비용이 소모된다. 이러한 문제들로 인해, 차량 네트워크로 이더넷(ethernet) 시스템이 고려될 수 있다. 이더넷 시스템은 한 쌍의 권선을 통한 양방향 통신을 지원할 수 있으며, 최대 100Mbps 내지 1000Mbps의 전송 속도를 지원할 수 있다.
이러한 차량 네트워크를 구성하는 통신 노드는 외부 노드와의 데이터 송수신 및 제어신호 송수신을 처리하는 PHY 계층 블록 및 통신 노드의 기능들을 실행하는 컨트롤러를 포함하여 구성된다.
이때, 수신측 통신 노드의 소모 전력 절감을 위하여 통상적으로 수신측 통신 노드의 PHY 계층 블록 만이 활성화되어 동작하거나, 비활성화된 상태로 있다가 외부로부터 수신된 신호에 의하여 빠르게 활성화되도록 구성될 수 있다. 수신측 통신 노드의 컨트롤러는 비활성화 상태에서 PHY 계층 블록이 외부로부터 데이터 또는 제어신호를 수신하는 시점에서 운영체제 부팅을 실행하게 된다.
따라서, 수신측 통신 노드에서 컨트롤러 계층의 운영체제 부팅 동작 완료 전에 수신되는 데이터는 컨트롤러 계층의 비활성화 상태에서 수신됨으로 인해 데이터의 손실이 발생하는 문제점이 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은, 차량 네트워크의 통신 노드에서 데이터를 전송하기에 앞서서 수신측 통신 노드의 운영체제 부팅이 완료되었는지 여부를 판단하고, 부팅이 완료되었다고 판단된 이후에 데이터를 전송하도록 하는 통신 노드의 동작방법을 제공하는데 있다.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른, PHY 계층 블록 및 컨트롤러를 포함하는 통신 노드의 동작방법은, 상기 컨트롤러가 상대 통신 노드의 운영체제 부팅을 위한 웨이크업 신호를 상기 PHY 계층 블록을 통해 상기 상대 통신 노드로 전송하는 단계; 상기 컨트롤러가 상기 상대 통신 노드의 운영체제 부팅이 완료되었다고 결정하는 단계; 및 상기 컨트롤러가 상기 PHY 계층 블록을 통해 상기 상대 통신 노드로 데이터를 전송하는 단계를 포함한다.
여기서, 상기 컨트롤러와 상기 PHY 계층 블록은 MII((media independent interface), RMII(reduced MII), GMII(gigabit MII), RGMII(reduced GMII), SGMII(serial GMII) 및 XGMII(10 GMII) 중 적어도 하나의 인터페이스를 통해 연결될 수 있다.
여기서, 상기 웨이크업 신호를 상기 상대 통신 노드로 전송하는 단계는, CAN 네트워크, 플렉스레이 네트워크, MOST 네트워크, LIN(local interconnect network) 네트워크 및 이더넷 네트워크 중 적어도 하나 이상을 통해 전송할 수 있다.
여기서, 상기 상대 통신 노드의 운영체제 부팅이 완료되었다고 결정하는 단계는, 상기 상대 통신 노드의 운영체제 부팅에 관한 부팅 시간정보에 근거하여 상기 상대 통신 노드의 운영체제 부팅이 완료되었다고 결정할 수 있다.
여기서, 상기 부팅 시간정보는 상대 통신 단말들의 종류에 따른 식별정보들과 대응하는 운영체제 부팅시간의 테이블 정보일 수 있다.
여기서, 상기 상대 통신 노드의 운영체제 부팅이 완료되었다고 결정하는 단계는, 상기 부팅 시간정보에 대응하는 타이밍 동작을 실행하는 단계; 상기 부팅 시간정보에 대응하는 시간이 경과하였는가를 결정하는 단계; 및 상기 부팅 시간정보에 대응하는 시간이 경과되었다면, 상기 상대 통신 노드의 운영체제 부팅이 완료되었다고 결정하는 단계를 포함할 수 있다.
여기서, 상기 상대 통신 노드의 운영체제 부팅이 완료되었다고 결정하는 단계는, 상기 상대 통신 노드로부터 전송된 운영체제 부팅에 관한 부팅 완료신호를 수신하는 단계; 및 상기 수신된 부팅 완료신호에 근거하여 상기 상대 통신 노드의 운영체제 부팅이 완료되었다고 결정하는 단계를 포함할 수 있다.
여기서, 상기 통신 노드는 차량 네트워크에 연결되어 동작할 수 있다.
상기 목적을 달성하기 위한 본 발명의 다른 실시예에 따른, PHY 계층 블록 및 컨트롤러를 포함하는 통신 노드의 동작방법은, 상기 컨트롤러가 상대 통신 노드로부터 전송된 웨이크업 신호를 상기 PHY 계층 블록을 통해 수신하는 단계; 상기 컨트롤러가 운영체제 부팅을 실행하는 단계; 및 운영체제 부팅의 완료 후에, 상기 컨트롤러가 상기 상대 통신 노드로부터 전송된 데이터를 상기 PHY 계층 블록을 통해 수신하는 단계를 포함한다.
여기서, 상기 상대 통신 노드로부터 전송된 상기 데이터를 수신하는 단계는, 운영체제 부팅에 관한 부팅 시간정보에 근거하여 상기 상대 통신 노드로부터 전송된 상기 데이터를 수신할 수 있다.
여기서, 운영체제 부팅을 실행한 후에 부팅 완료신호를 생성하는 단계; 및 상기 생성된 부팅 완료신호를 상기 상대 통신 노드로 전송하는 단계를 더 포함하고, 상기 부팅 완료신호에 따라 상기 상대 통신 노드로부터 전송된 상기 데이터를 수신할 수 있다.
여기서, 상기 통신 노드는 차량 네트워크에 연결되어 동작할 수 있다.
상기 목적을 달성하기 위한 본 발명의 또 다른 실시예에 따른, 통신 노드는, 상대 통신 노드의 운영체제 부팅을 위한 웨이크업 신호를 상기 상대 통신 노드로 전송하도록 제어하고, 상기 상대 통신 노드의 운영체제 부팅이 완료되었다고 결정하고, 상기 상대 통신 노드로 데이터를 전송하도록 제어하는 컨트롤러; 및 상기 컨트롤러의 제어에 따라, 상기 웨이크업 신호 및 상기 데이터 중 적어도 하나 이상을 상기 상대 통신 노드로 전송하는 PHY 계층 블록을 포함한다.
여기서, 상기 컨트롤러는, 상기 상대 통신 노드의 운영체제 부팅에 관한 부팅 시간정보를 저장하는 저장부를 포함하고, 상기 부팅 시간정보에 근거하여 상기 상대 통신 노드의 운영체제 부팅이 완료되었다고 결정할 수 있다.
여기서, 상기 부팅 시간정보는 상대 통신 단말들의 종류에 따른 식별정보들과 대응하는 운영체제 부팅시간의 테이블 정보일 수 있다.
여기서, 상기 컨트롤러는, 상기 저장부에 저장된 상기 상태 통신 노드에 대응하는 상기 부팅 시간정보를 추출하고, 상기 추출된 부팅 시간정보에 대응하는 타이밍 동작을 실행하고, 상기 추출된 부팅 시간정보에 대응하는 시간이 경과되었다면 상기 상대 통신 노드의 운영체제 부팅이 완료되었다고 결정할 수 있다.
여기서, 상기 컨트롤러는, 상기 상대 통신 노드로부터 전송된 운영체제 부팅에 관한 부팅 완료신호의 수신에 근거하여 상기 상대 통신 노드의 운영체제 부팅이 완료되었다고 결정할 수 있다.
상기 목적을 달성하기 위한 본 발명의 또 다른 실시예에 따른, 통신 노드는, 상대 통신 노드로부터 전송된 웨이크업 신호에 따라 운영체제 부팅을 실행하고, 운영체제 부팅의 완료 후에 상기 상대 통신 노드로부터 전송된 데이터를 수신하는 컨트롤러; 및 상기 상대 통신 노드로부터 전송된 상기 웨이크업 신호 및 상기 데이터 중 적어도 하나 이상을 수신하여 상기 컨트롤러로 전달하는 PHY 계층 블록을 포함한다.
여기서, 상기 PHY 계층 블록은, 운영체제 부팅에 관한 부팅 시간정보에 근거하여 상기 상대 통신 노드로부터 전송된 상기 데이터를 수신할 수 있다.
여기서, 상기 컨트롤러는 운영체제 부팅을 완료한 후에 부팅 완료신호를 생성하고, 상기 PHY 계층 블록은 상기 생성된 부팅 완료신호를 상기 상대 통신 노드로 전송하고, 상기 부팅 완료신호에 따라 상기 상대 통신 노드로부터 전송된 상기 데이터를 수신할 수 있다.
본 발명에 의하면, 차량 네트워크의 통신 노드들 사이에서 데이터 전송시에, 수신측 통신 노드의 운영체제 부팅이 완료된 이후에 데이터를 전송하도록 함으로써, 수신측 통신 노드에서의 데이터 손실을 방지하는 효과가 있다.
도 1은 차량 네트워크의 토폴로지의 일 실시예를 도시한 블록도이다.
도 2는 차량 네트워크를 구성하는 일 노드의 일 실시예를 도시한 블록도이다.
도 3은 본 발명에 따른 통신 노드의 동작방법을 설명하기 위한 일 실시예의 흐름도이다.
도 4는 도 3에 도시된 상대 통신 노드의 운영체제 부팅 완료를 결정하는 단계를 설명하기 위한 일 실시예의 흐름도이다.
도 5는 도 3에 도시된 상대 통신 노드의 운영체제 부팅 완료를 결정하는 단계를 설명하기 위한 다른 실시예의 흐름도이다.
도 6은 본 발명에 따른 통신 노드의 동작방법을 설명하기 위한 다른 실시예의 흐름도이다.
도 7은 본 발명에 따른 통신 노드들 사이의 네트워크 연결 관계를 예시하는 일 실시예의 블록도이다.
도 8은 본 발명에 따른 통신 노드들 사이의 네트워크 연결 관계를 예시하는 다른 실시예의 블록도이다.
도 9는 본 발명에 따른 통신 노드들 사이의 네트워크 연결 관계를 예시하는 또 다른 실시예의 블록도이다.
도 10은 본 발명에 따른 통신 노드들 사이의 네트워크 연결 관계를 예시하는 또 다른 실시예의 블록도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 차량 네트워크의 토폴로지(network topology)의 일 실시예를 도시한 블록도이다. 차량 네트워크를 구성하는 통신 노드(communication-node)는 게이트웨이(gateway), 스위치(switch)(또는, 브릿지(bridge)), 엔드 노드(end-node) 등을 포함한다.
도 1을 참조하면, 게이트웨이(100)는 적어도 하나의 스위치들(110, 111, 112, 120, 130)과 연결될 수 있으며, 서로 다른 네트워크를 연결할 수 있다. 예를 들어, 게이트웨이(100)는 CAN(controller area network)(또는, 플렉스레이(FlexRay), MOST(media oriented system transport) 등) 프로토콜을 지원하는 스위치와 이더넷(ethernet) 프로토콜을 지원하는 스위치 간을 연결할 수 있다.
스위치들(110, 111, 112, 120, 130) 각각은 적어도 하나의 엔드 노드(113, 114, 115, 121, 122, 123, 131, 132, 133)와 연결될 수 있다. 각각의 스위치들(110, 111, 112, 120, 130)은 연결된 엔드 노드들을 상호 연결하고, 이들을 제어하는 역할을 실행한다.
이하의 설명에서, '엔드 노드'는 엔드 스테이션(end-station) 등으로 지칭될 수도 있다.
이때, 각각의 엔드 노드는 차량에 대한 각종 장치를 제어하는 ECU(electronic control unit), 다양한 오디오/비디오 인포테인먼트(infortainment)들 중 하나일 수 있다. 예컨대, 엔드 노드는 카 오디오 장치, 디스플레이 장치, 네비게이션 장치, 어라운드 뷰 모니터링 시스템을 구성하는 카메라 등의 각종 장치들 중 하나일 수 있다.
한편, 차량 네트워크를 구성하는 통신 노드들(즉, 게이트웨이, 스위치, 엔드 노드 등)은 스타(star) 토폴로지, 버스(bus) 토폴로지, 링(ring) 토폴로지, 트리(tree) 토폴로지, 메쉬(mesh) 토폴로지 등으로 연결될 수 있다. 설명의 편의상, 도 1에서는 각각의 통신 노드들이 트리 토폴로지로 연결된 환경을 예시하고 있으나, 이하에서 설명되는 통신 노드의 동작 방법 실시예들은 통신 노드에 적용된 네트워크 토폴로지에 독립적으로 적용될 수 있다. 또한, 네트워크를 구성하는 통신 노드들 각각은 CAN 프로토콜, 플렉스레이 프로토콜, MOST 프로토콜, LIN(local interconnect network) 프로토콜, 이더넷 프로토콜 등을 지원할 수 있다.
본 발명에 따른 실시예들은 앞서 설명된 네트워크 토폴로지에 적용될 수 있으며, 본 발명에 따른 실시예들이 적용되는 네트워크 토폴로지는 이에 한정되지 않고 다양하게 구성될 수 있다.
도 2는 차량 네트워크를 구성하는 일 노드의 일 실시예를 도시한 블록도이다.
도 2를 참조하면, 네트워크를 구성하는 하나의 통신 노드(200)는 PHY 계층 블록(210) 및 컨트롤러(220)를 포함할 수 있다. 이때, 컨트롤러(220)는 MAC(medium access control) 계층을 포함하여 구현될 수 있다.
한편, PHY 계층 블록(210)은 상기 통신 노드(200)가 네트워크로 연결된 다른 통신 노드로부터 데이터를 수신하거나, 다른 통신 노드로 데이터를 전송하는 처리를 실행하는 구성요소이며, 상기 컨트롤러(220)는 전술한 다양한 기능들(ECU, 카오디오, 카비디오, 네비게이션 등)을 실행하는 구성요소이다.
이때, 상기 PHY 계층 블록(210)과 상기 컨트롤러(220)는 하나의 SoC(System on Chip)로 구현될 수도 있고, 별도의 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), 데이터 및 제어 시그널(signal)을 가질 수 있다. 관리 인터페이스는 2-시그널 인터페이스로 구성될 수 있으며, 하나는 클럭을 위한 시그널이고 다른 하나는 데이터를 위한 시그널일 수 있다.
PHY 계층 블록(210)은 PHY 계층 인터페이스부(211), PHY 계층 프로세서(212) 및 PHY 계층 버퍼(213)를 포함할 수 있다. PHY 계층 블록(210)의 구성은 이에 한정되지 않고 다양하게 구성될 수 있다.
PHY 계층 인터페이스부(211)는 컨트롤러(220)로부터 수신된 신호를 PHY 계층 프로세서(212)로 전송할 수 있고, PHY 계층 프로세서(212)로부터 수신된 신호를 컨트롤러(220)에 전송할 수 있다.
PHY 계층 프로세서(212)는 PHY 계층 인터페이스부(211) 및 PHY 계층 버퍼(213)의 동작을 각각 제어할 수 있다. 또한, PHY 계층 프로세서(212)는 전송할 신호의 변조 또는 수신된 신호의 복조를 실행할 수 있다. 신호를 입력 또는 출력하도록 PHY 계층 버퍼(213)를 제어할 수 있다. PHY 계층 버퍼(213)는 수신된 신호를 저장할 수 있고, PHY 계층 프로세서(212)의 요청에 따라 저장된 신호를 출력할 수 있다.
컨트롤러(220)는 MII(230)를 통해 PHY 계층 블록(210)을 모니터링(monitoring)하고 제어할 수 있다. 컨트롤러(220)는 컨트롤러 인터페이스부(221), 코어(222), 주 메모리(223) 및 보조 메모리(224) 등을 포함할 수 있다. 컨트롤러(220)의 구성은 이에 한정되지 않고 다양하게 구성될 수 있다.
컨트롤러 인터페이스부(221)는 PHY 계층 블록(210)(즉, PHY 계층 인터페이스부(211)) 또는 상위 계층(미도시)으로부터 신호를 수신할 수 있고, 수신된 신호를 코어(222)에 전송할 수 있고, 코어(222)로부터 수신된 신호를 PHY 계층 블록(210) 또는 상위 계층에 전송할 수 있다.
코어(222)는 컨트롤러 인터페이스부(221), 주 메모리(223) 및 보조 메모리(224)를 제어하기 위한 독립된 메모리 컨트롤 로직 또는 통합 메모리 컨트롤 로직을 더 포함할 수 있다. 이때, 상기 메모리 컨트롤 로직은 상기 주 메모리(223) 및 보조 메모리(224)에 포함되어 구현될 수도 있으며, 상기 코어(222)에 포함되어 구현될 수도 있다.
주 메모리(223) 및 보조 메모리(224) 각각은 코어(222)에 의해 처리된 신호를 저장할 수 있고, 코어(222)의 요청에 따라 저장된 신호를 출력할 수 있다.
주 메모리(223)는 RAM에 해당하는 것으로 코어(222)의 동작을 위해 필요한 데이터가 일시 저장되는 휘발성 메모리에 해당한다. 한편, 보조 메모리(224)는 운영체제 코드(커널 및 디바이스 드라이버)와 컨트롤러의 기능 수행을 위한 응용 프로그램 코드 등이 저장되는 비휘발성 메모리를 포함한다. 이때, 비휘발성 메모리는 빠른 처리 속도를 가지는 플래쉬 메모리(flash memory)가 이용되는 것이 통상적이나, 대용량의 데이터 저장을 위한 하드디스크(HDD), CD-ROM 등을 포함하여 구성될 수도 있다.
코어(222)는 통상적으로 적어도 하나의 프로세싱 core를 포함하는 로직 회로로 구성될 수 있다. 이때, 상기 프로세싱 코어로는 ARM core 등의 다양한 코어들이 이용될 수 있다.
아래에서는, 차량 네트워크에 속하는 통신 노드와 이에 대응하는 상대(counterpart) 통신 노드에서 실행되는 방법이 설명될 것이다. 이하에서, 제1 통신 노드에서 실행되는 방법(예를 들어, 신호의 전송 또는 수신)이 설명되는 경우에도 이에 대응하는 제2 통신 노드는 제1 통신 노드에서 실행되는 방법과 상응하는 방법(예를 들어, 신호의 수신 또는 전송)을 실행할 수 있다.
즉, 제1 통신 노드의 동작이 설명된 경우에 이에 대응하는 제2 통신 노드는 제1 통신 노드의 동작과 상응하는 동작을 실행할 수 있다. 반대로, 제2 통신 노드의 동작이 설명된 경우에 이에 대응하는 제1 통신 노드는 스위치의 동작과 상응하는 동작을 실행할 수 있다.
도 3은 본 발명에 따른 통신 노드의 동작방법을 설명하기 위한 일 실시예의 흐름도이다.
컨트롤러는 상대 통신 노드의 운영체제 부팅을 위한 웨이크업 신호를 PHY 계층 블록을 통해 상대 통신 노드로 전송한다(S300). 웨이크업 신호는 상대 통신 노드의 운영체제 부팅을 트리거링하기 위한 신호이다.
웨이크업 신호를 전송하기 위해, 컨트롤러와 PHY 계층 블록은 매체 독립 인터페이스(media independent interface, MII), RMII(reduced MII), GMII(gigabit MII), RGMII(reduced GMII), SGMII(serial GMII) 및 XGMII(10 GMII) 등의 인터페이스를 통해 연결되어 있다.
또한, 웨이크업 신호를 상대 통신 노드로 전송하기 위해, PHY 계층 블록은 상대 통신 노드와 CAN 네트워크, 플렉스레이 네트워크, MOST 네트워크, LIN(local interconnect network) 네트워크 및 이더넷 네트워크 등의 네트워크를 통해 연결되어 있다. 또한, 이러한 네트워크들은 스타 토폴로지, 버스 토폴로지, 링 토폴로지, 트리 토폴로지, 메쉬 토폴로지 등으로 연결될 수 있다. 이를 위해 컨트롤러 및 PHY 계층 블록은 CAN 프로토콜, 플렉스레이 프로토콜, MOST 프로토콜, LIN 프로토콜 및 이더넷 프로토콜 등을 지원할 수 있다.
컨트롤러는 기본적으로 도즈 모드(doze mode)로 동작할 수 있으며, 필요에 따라 도즈 모드에서 웨이크 모드로 천이할 수 있다. 즉, 이벤트 발생에 따라, 컨트롤러는 채널이 아이들(idle) 상태인 경우 웨이크업 신호를 상대 통신 노드로 전송할 수 있다. 여기서, 이벤트는 통신 노드들 간의 데이터 전송에 따른 실행 명령일 수 있다.
S300 단계 후에, 컨트롤러는 상대 통신 노드의 운영체제 부팅이 완료되었다고 결정한다(S302). 웨이크업 신호를 전송하면, 상대 통신 노드는 웨이크업 신호에 응답하여 운영체제 부팅 동작을 실행한다. 운영체제 부팅 동작은 부팅을 위한 운영체제 커널을 로딩하고, 운영체제 커널의 압축을 해제한 후에 커널 부팅을 실행하는 것이다. 이에 따라, 상대 통신 노드에 대한 초기화 및 셋업 과정이 완료된다. 컨트롤러는 상대 통신 노드에서 운영체제 부팅 동작이 실행된 후에 부팅 동작의 완료가 이루어졌는지를 판단한다.
컨트롤러는 상대 통신 노드의 운영체제 부팅에 관한 부팅 시간정보에 근거하여 상대 통신 노드의 운영체제 부팅이 완료되었다고 결정할 수 있다.
도 4는 도 3에 도시된 상대 통신 노드의 운영체제 부팅 완료를 결정하는 단계를 설명하기 위한 일 실시예의 흐름도이다.
컨트롤러는 웨이크업을 위한 상대 통신 노드에 대응하는 식별정보를 추출한다(S400). 여기서, 식별정보는 상대 통신 노드와 다른 통신 노드를 구분하기 위한 고유의 ID 등의 정보이다.
S400 단계 후에, 컨트롤러는 상대 통신 노드에 대응하는 부팅 시간정보를 추출한다(S402). 부팅 시간정보는 상대 통신 단말들의 종류에 따른 식별정보들과 이에 대응하는 운영체제 부팅시간의 테이블 정보일 수 있다. 다음의 표 1은 부팅 시간정보에 해당하는 테이블을 예시한 것이다. 이러한, 운영체제 부팅 시간의 테이블 정보는 통신 노드들의 운영체제 부팅 특성에 따라 변경이 가능하다.
통신 노드의 종류 식별정보 운영체제 부팅시간 [ms]
통신 노드 1 0000 150
통신 노드 2 0001 160
통신 노드 3 0010 170
통신 노드 4 0011 180
.... ... ....
통신 노드 N .... ....
이러한 부팅 시간정보는 소정의 저장부에 기 저장되어 있으며, 컨트롤러의 정보 조회에 따라 상대 통신 단말의 식별정보에 대응하는 부팅 시간정보가 추출된다. 예를 들어, 데이터를 전송할 상대 통신 노드가 표 1에 표시된 통신 노드 2라 가정하면, 컨트롤러는 통신 노드 2의 식별정보 "0001"에 대응하는 부팅 시간 160ms을 추출할 수 있다.
S400 단계 및 S402 단계에서, 컨트롤러는 웨이크업 신호를 전송한 후에 부팅 시간정보를 추출하는 것으로 설명되어 있으나, 부팅 시간정보의 추출 과정이 이에 한정될 필요는 없다. 즉, 컨트롤러는 이벤트 신호의 발생에 따라 즉시 소정의 저장부에 저장된 부팅 시간정보를 추출할 수도 있다.
컨트롤러는 추출된 부팅 시간정보에 대응하는 타이밍 동작을 실행한다(S404). 예를 들어, 데이터를 전송할 상대 통신 노드가 표 1에 표시된 통신 노드 2라 가정하면, 추출된 운영체제 부팅시간 160ms에 대한 타이밍 동작을 실행한다. 타이밍 동작을 실행하기 위해, 컨트롤러는 타이머를 포함하여 구성될 수 있다.
S404 단계 후에, 컨트롤러는 상대 통신 노드에 대응하는 운영체제 부팅시간이 경과하였는가를 결정한다(S406). 예를 들어, 추출된 운영체제 부팅시간이 160ms이라면, 컨트롤러는 운영체제 부팅시간 160ms이 경과하였는가를 결정한다. 만일, 운영체제 부팅 시간이 경과하지 않았다면, S404 단계에 해당하는 타이밍 동작을 계속 실행한다.
S406 단계 후에, 상대 통신 노드에 대응하는 운영체제 부팅시간이 경과되었다면, 컨트롤러는 상대 통신 노드의 운영체제 부팅이 완료되었다고 결정한다(S408).
한편, 컨트롤러는 저장부에 기 저장되어 있는 부팅 시간정보에 의해 소정 시간이 경과한 후에 부팅이 완료되었음을 결정할 수도 있지만, 상대 통신 노드로부터 부팅 완료신호의 수신에 따라 상대 통신 노드의 운영체제 부팅이 완료되었음을 결정할 수도 있다.
도 5는 도 3에 도시된 상대 통신 노드의 운영체제 부팅 완료를 결정하는 단계를 설명하기 위한 다른 실시예의 흐름도이다.
컨트롤러는 상대 통신 노드로부터 전송된 운영체제 부팅에 관한 부팅 완료신호를 수신한다(S500). 부팅 완료신호는 상대 통신 노드가 실행한 부팅 동작이 완료되었음을 알리기 위한 신호이다. 상대 통신 노드는 웨이크업 신호에 응답하여 운영체제 부팅 동작을 실행하며, 부팅 동작이 완료되면 부팅 완료신호를 생성한다. 그 후, 상대 통신 노드가 부팅 완료신호를 전송하면, 컨트롤러는 PHY 계층 블록을 통해 부팅 완료신호를 수신할 수 있다.
S500 단계 후에, 컨트롤러는 수신된 부팅 완료신호에 근거하여 상대 통신 노드의 운영체제 부팅이 완료되었다고 결정한다(S502).
S302 단계 후에, 컨트롤러는 PHY 계층 블록을 통해 상대 통신 노드로 데이터를 전송한다(S304). 상대 통신 노드의 운영체제 부팅동작이 완료되었다면, 상대 통신 노드는 수신된 데이터를 이용해 이벤트에 의해 지시된 동작을 실행할 수 있다. 따라서, 상대 통신 노드의 운영체제 부팅동작이 완료되었다면, 송신측 통신 노드의 컨트롤러는 상대 통신 노드로 이벤트 실행을 위한 데이터를 전송하기 위해 PHY 계층 블록으로 데이터를 전달한다. 이에 따라, PHY 계층 블록은 전달받은 데이터를 상대 통신 노드로 전송한다. 상대 통신 노드로 전송된 데이터는 상대 통신 노드의 주 메모리에 저장되며, 상대 통신 노드는 주 메모리에 저장된 데이터를 사용하여 이벤트에 의해 지시된 동작을 실행한다.
도 6은 본 발명에 따른 통신 노드의 동작방법을 설명하기 위한 다른 실시예의 흐름도이다.
컨트롤러는 상대 통신 노드로부터 전송된 웨이크업 신호를 PHY 계층 블록을 통해 수신한다(S600). PHY 계층 블록은 항상 웨이크 모드(wake mode)로 동작할 수 있다. PHY 계층 블록은 에너지 검출 동작을 통해 수신 신호의 존재 여부를 확인할 수 있다. 예를 들어, PHY 계층 블록은 에너지 검출 동작을 통해 미리 설정된 임계값보다 큰 신호 세기를 가지는 신호가 검출된 경우 채널에 신호가 존재하는 것으로 판단할 수 있다. 여기서, 신호는 웨이크업을 위한 신호와 데이터를 포함할 수도 있고, 웨이크업을 위한 신호만일 수도 있다.
웨이크업 신호를 상대 통신 노드로부터 수신하기 위해, PHY 계층 블록은 상대 통신 노드와 CAN 네트워크, 플렉스레이 네트워크, MOST 네트워크, LIN(local interconnect network) 네트워크 및 이더넷 네트워크 등의 네트워크를 통해 연결되어 있다.
PHY 계층 블록이 수신된 웨이크업 신호를 컨트롤러로 전달하면, 컨트롤러는 웨이크업 신호를 수신한다. 이를 위해, PHY 계층 블록과 컨트롤러 유니닛은 MII, RMII, GMII, RGMII, SGMII, XGMII 등의 인터페이스를 통해 연결되어 있다. 웨이크업 신호는 컨트롤러의 웨이크업을 위한 신호에 해당한다는 점에서, 컨트롤러에서 별도로 저장할 필요는 없다.
S600 단계 후에, 컨트롤러는 웨이크업 신호에 응답하여 운영체제 부팅을 실행한다(S602). 웨이크업 신호가 수신되면, 컨트롤러는 운영체제 부팅을 위한 운영체제 커널을 로딩하고, 운영체제 커널의 압축을 해제한 후에 커널 부팅을 실행한다.
S602 단계 후에, 컨트롤러는 운영체제 부팅이 완료되었는지를 결정한다(S604). 컨트롤러는 운영체제 커널의 부팅을 실행함으로써 통신 노드에 대한 초기화 및 셋업 과정이 완료되었다면, 운영체제 부팅이 완료되었음을 결정한다.
S604 단계에서, 운영체제의 부팅이 완료되었다면, 컨트롤러는 운영체제 부팅이 완료되었음을 의미하는 부팅 완료신호를 생성한다(S606). 부팅 완료신호는 통신 노드가 실행한 부팅 동작이 완료되었음을 상대 통신 노드에게 알리기 위한 신호이다.
S606 단계 후에, 컨트롤러는 생성된 부팅 완료신호를 PHY 계층 블록을 통해 상대 통신 노드로 전송한다(S608). 다만, 전술한 S604 단계, S606 단계 및 S608 단계는 본 발명과 관련하여 필수적인 단계는 아니며, 필요에 따라 단계 수행이 생략될 수 있다. 즉, S602 단계 후에, 후술하는 S610 단계를 수행할 수도 있다.
S608 단계 후에, 컨트롤러는 상대 통신 노드로부터 전송된 데이터를 PHY 계층 블록을 통해 수신한다(S610). 상대 통신 노드는 데이터 전송 대상이 되는 수신측 통신 노드 즉, 상기 컨트롤러를 포함하는 통신 노드의 운영체제 부팅시간이 경과하였는가를 결정할 수 있다. 이에 따라, 상대 통신 노드가 운영체제 부팅시간의 경과에 따라 데이터를 전송할 수 있다. 또한, 상대 통신 노드는 데이터 전송 대상이 되는 수신측 통신 노드로부터 부팅 완료신호를 수신할 수 있다. 이때, 상대 통신 노드는 수신측 통신노드의 운영체제 부팅이 완료되었음을 확인하고, 데이터를 전송할 수 있다.
상대 통신 노드로부터 데이터가 전송되면, PHY 계층 블록은 전송된 데이터를 수신한다. 그 후, PHY 계층 블록은 수신된 데이터를 컨트롤러로 전달하며, 컨트롤러는 수신된 데이터를 주 메모리에 저장할 수 있다. 그 후, 컨트롤러는 주 메모리에 저장된 데이터를 사용하여 이벤트에 의해 지시된 동작을 실행한다.
도 7은 본 발명에 따른 통신 노드들 사이의 네트워크 연결 관계를 예시하는 일 실시예의 블록도로서, 제1 통신 노드(700)와 제2 통신 노드(710)가 소정의 네트워크를 통해 연결되어 있다. 여기서, 소정의 네트워크는 CAN 네트워크, 플렉스레이 네트워크, MOST 네트워크, LIN 네트워크 및 이더넷 네트워크 등을 포함할 수 있다. 또한, 이러한 네트워크들은 스타 토폴로지, 버스 토폴로지, 링 토폴로지, 트리 토폴로지, 메쉬 토폴로지 등으로 연결될 수 있다.
제1 통신 노드(700)는 컨트롤러(702) 및 PHY 계층 블록(704)을 포함할 수 있다. 또한, 컨트롤러(702)는 도 2에 도시된 컨트롤러 인터페이스부(221), 코어(222), 주 메모리(223) 및 보조 메모리(224) 등의 구성요소를 포함할 수 있다. 또한, PHY 계층 블록(704)은 도 2에 도시된 PHY 계층 인터페이스부(211), PHY 계층 프로세서(212), PHY 계층 버퍼(213) 등의 구성요소를 포함할 수 있다.
컨트롤러(702)는 제2 통신 노드(710)의 운영체제 부팅을 위한 웨이크업 신호를 제2 통신 노드(710)로 전송하도록 제어한다. 먼저, 이벤트가 발생하면(S720), 컨트롤러(702)는 제2 통신 노드(710)의 운영체제 부팅을 위한 웨이크업 신호를 생성할 수 있고, 생성된 웨이크업 신호를 PHY 계층 블록(704)으로 전달한다(S722). 웨이크업 신호를 전달하기 위해, 컨트롤러(702)와 PHY 계층 블록(710)은 MII, RMII, GMII, RGMII, SGMII 및 XGMII 등의 인터페이스를 통해 연결되어 있다. PHY 계층 블록(704)은 컨트롤러(702)에서 전달받은 웨이크업 신호를 소정의 네트워크를 통해 제2 통신 노드(710)로 전송한다(S724). 이에 따라, 제2 통신 노드(710)는 웨이크업 신호를 수신하고, 수신된 웨이크업 신호에 응답하여 제2 통신 노드(710)의 운영체제 부팅 동작을 실행한다.
한편, 컨트롤러(702)는 웨이크업 신호를 전송한 후에 제2 통신 노드(710)의 운영체제 부팅에 관한 부팅 시간정보에 근거하여 제2 통신 노드(710)의 운영체제 부팅이 완료되었음을 결정할 수 있다. 부팅 시간정보는 상대 통신 단말들의 종류에 따른 식별정보들과 이에 대응하는 운영체제 부팅시간의 테이블 정보일 수 있다. 이러한 부팅 시간정보는 소정의 저장부(미도시)에 저장될 수 있다. 저장부는 컨트롤러(702)에 의해 처리된 데이터를 저장할 수 있고, 컨트롤러(702)의 요청에 따라 저장된 데이터를 출력할 수 있다. 특히, 저장부는 도 2에 도시된 바와 같이 주 메모리(223) 및 보조 메모리(224)를 포함하여 구성될 수 있다. 이에 따라, 부팅 시간정보는 저장부의 보조 메모리(224)에 저장될 수 있다.
먼저, 컨트롤러(702)는 제2 통신 노드(710)에 대응하는 식별정보를 추출한다. 각 통신 노드들은 고유의 ID 등의 식별정보로 구분될 수 있다. 컨트롤러(702)는 제2 통신 노드(710)에 대응하는 식별정보의 부팅 시간정보를 조회하기 위해, 부팅 시간정보가 저장된 소정의 저장부를 액세스한다. 그 후, 컨트롤러(702)는 소정의 저장부로부터 제2 통신 노드(710)에 대응하는 부팅 시간정보를 추출한다. 이때, 컨트롤러(702)는 웨이크업 신호를 전송한 후에 부팅 시간정보를 추출할 수도 있고, 이벤트 발생에 따라 즉시 소정의 저장부에서 부팅 시간정보를 추출할 수도 있다.
컨트롤러(702)는 추출된 부팅 시간정보에 대응하는 타이밍 동작을 실행한다(S726). 타이밍 동작을 실행하기 위해, 컨트롤러(702)는 타이머(미도시)를 포함하여 구성될 수 있다. 컨트롤러(702)는 부팅 시간정보에 대응하는 시간이 경과되었다면, 상대 통신 노드의 운영체제 부팅이 완료되었다고 결정한다(S728). 그 후, 컨트롤러(702)는 제2 통신 노드(710)로 데이터를 전송하도록 PHT 계층 유닛(704)을 제어한다. 컨트롤러(702)의 제어에 따라 이벤트 실행을 위한 데이터가 PHT 계층 유닛(704)에 전달되면(S730), PHT 계층 유닛(704)은 데이터를 제2 통신 노드(710)로 전송한다(S732).
도 8은 본 발명에 따른 통신 노드들 사이의 네트워크 연결 관계를 예시하는 다른 실시예의 블록도로서, 제1 통신 노드(800)와 제2 통신 노드(810)가 소정의 네트워크를 통해 연결되어 있다. 여기서, 소정의 네트워크는 도 7에 도시된 제1 통신 노드(700)와 제2 통신 노드(710)를 연결하는 네트워크와 동일할 수 있다.
제1 통신 노드(800)는 컨트롤러(802) 및 PHY 계층 블록(804)을 포함할 수 있다. 또한, 컨트롤러(802)는 도 2에 도시된 컨트롤러 인터페이스부(221), 코어(222), 주 메모리(223) 및 보조 메모리(224) 등의 구성요소를 포함할 수 있다. 또한, PHY 계층 블록(804)은 도 2에 도시된 PHY 계층 인터페이스부(211), PHY 계층 프로세서(212), PHY 계층 버퍼(213) 등의 구성요소를 포함할 수 있다.
제1 통신 노드(800)의 컨트롤러(802)는 제2 통신 노드(810)의 운영체제 부팅을 위한 웨이크업 신호를 제2 통신 노드(810)로 전송하도록 제어한다. 이벤트 발생(S820)에 따라, 컨트롤러(802)는 웨이크업 신호를 PHY 계층 블록(804)으로 전달하고(S822), PHY 계층 블록(804)은 컨트롤러(802)로부터 전달받은 웨이크업 신호를 소정의 네트워크를 통해 제2 통신 노드(810)로 전송한다(S824). 이에 따라, 제2 통신 노드(810)는 웨이크업 신호를 수신하고, 수신된 웨이크업 신호에 응답하여 제2 통신 노드(810)의 운영체제 부팅 동작을 실행한다.
제2 통신 노드(810)는 운영체제 부팅 동작의 완료 후에, 운영체제 부팅 동작의 완료를 의미하는 부팅 완료신호를 생성하여 제1 통신 노드(800)로 전송한다(S826). 제1 통신 노드(800)의 PHY 계층 블록(804)은 수신된 부팅 완료신호를 컨트롤러(802)로 전달한다(S828).
컨트롤러(802)는 부팅 완료신호의 수신에 근거하여 제2 통신 노드(810)의 운영체제 부팅이 완료되었음을 결정한다(S830). 그 후, 컨트롤러(802)는 제2 통신 노드(810)로 데이터를 전송하도록 PHT 계층 유닛(804)를 제어한다. 컨트롤러(802)는 제2 통신 노드(810)로 전송하기 위한 데이터를 PHY 계층 블록(804)으로 전달한다. 이에 따라, 데이터가 PHT 계층 유닛(804)에 전달되면(S832), PHT 계층 유닛(804)은 데이터를 제2 통신 노드(810)로 전송한다(S834).
도 9는 본 발명에 따른 통신 노드들 사이의 네트워크 연결 관계를 예시하는 또 다른 실시예의 블록도로서, 제1 통신 노드(900)와 제2 통신 노드(910)가 소정의 네트워크를 통해 연결되어 있다. 여기서, 소정의 네트워크는 도 7에 도시된 제1 통신 노드(700)와 제2 통신 노드(710)를 연결하는 네트워크와 동일할 수 있다.
제2 통신 노드(910)는 PHY 계층 블록(912) 및 컨트롤러(914)를 포함할 수 있다. 또한, PHY 계층 블록(912)은 도 2에 도시된 PHY 계층 인터페이스부(211), PHY 계층 프로세서(212), PHY 계층 버퍼(213) 등의 구성요소를 포함할 수 있다. 또한, 컨트롤러(914)는 도 2에 도시된 컨트롤러 인터페이스부(221), 코어(222), 주 메모리(223) 및 보조 메모리(224) 등의 구성요소를 포함할 수 있다.
제1 통신 노드(900)로부터 제2 통신 노드(910)의 운영체제 부팅을 위한 웨이크업 신호가 전송되면(S920), 제2 통신 노드(910)의 PHY 계층 블록(912)은 전송된 웨이크업 신호를 수신한다. PHY 계층 블록(912)은 에너지 검출 동작을 통해 수신 신호의 존재 여부를 확인할 수 있다. 즉, PHY 계층 블록(912)은 에너지 검출 동작을 통해 미리 설정된 임계값보다 큰 신호 세기를 가지는 신호가 검출된 경우 채널에 수신 신호가 존재하는 것으로 판단할 수 있다. PHY 계층 블록(912)은 수신된 신호를 컨트롤러(914)로 전달한다(S922). 웨이크업 신호가 수신되면, 컨트롤러(914)는 수신된 웨이크업 신호에 응답하여 제2 통신 노드(910)의 운영체제 부팅 동작을 실행한다(S924).
한편, 제1 통신 노드(900)는 웨이크업 신호를 전송한 후에 제2 통신 노드(910)의 운영체제 부팅에 관한 부팅 시간정보에 근거하여 타이밍 동작을 실행한 후에, 부팅 시간정보에 대응하는 시간이 경과되었다면, 제2 통신 노드(910)로 데이터를 전송한다(S926).
제1 통신 노드(900)로부터 데이터를 수신하면, PHY 계층 블록(912)은 수신된 데이터를 컨트롤러(914)로 전달한다(S928). PHY 계층 블록(912)으로부터 전달받은 데이터는 컨트롤러(914)의 저장부 예를 들어, 도 2에 도시된 주 메모리(223)에 저장될 수 있다. 그 후, 컨트롤러(914)는 주 메모리(223)에 저장된 데이터를 사용하여 이벤트 발생에 따라 지시된 동작을 실행한다.
도 10은 본 발명에 따른 통신 노드들 사이의 네트워크 연결 관계를 예시하는 또 다른 실시예의 블록도로서, 제1 통신 노드(1000)와 제2 통신 노드(1010)가 소정의 네트워크를 통해 연결되어 있다. 여기서, 소정의 네트워크는 도 7에 도시된 제1 통신 노드(700)와 제2 통신 노드(710)를 연결하는 네트워크와 동일할 수 있다.
제2 통신 노드(1010)는 PHY 계층 블록(1012) 및 컨트롤러(1014)를 포함할 수 있다. 또한, PHY 계층 블록(1012)은 도 2에 도시된 PHY 계층 인터페이스부(211), PHY 계층 프로세서(212), PHY 계층 버퍼(213) 등의 구성요소를 포함할 수 있다. 또한, 컨트롤러(1014)는 도 2에 도시된 컨트롤러 인터페이스부(221), 코어(222), 주 메모리(223) 및 보조 메모리(224) 등의 구성요소를 포함할 수 있다.
제1 통신 노드(1000)로부터 제2 통신 노드(1010)의 운영체제 부팅을 위한 웨이크업 신호가 전송되면(S1020), 제2 통신 노드(1010)의 PHY 계층 블록(1012)은 수신된 웨이크업 신호를 컨트롤러(1014)로 전달한다(S1022). 웨이크업 신호가 수신되면, 컨트롤러(1014)는 수신된 웨이크업 신호에 응답하여 제2 통신 노드(1010)의 운영체제 부팅 동작을 실행한다(S1024). 컨트롤러(1014)는 웨이크업 신호가 수신되면, 운영체제 부팅을 위한 운영체제 커널을 로딩하고, 운영체제 커널의 압축을 해제한 후에 커널 부팅을 실행한다. 그 후, 컨트롤러(1014)는 운영체제 부팅이 완료되었는지를 결정한다. 컨트롤러(1014)는 운영체제 커널의 부팅을 실행함으로써 통신 노드에 대한 초기화 및 셋업 과정이 완료되었다면, 운영체제 부팅이 완료되었음을 결정한다. 운영체제 부팅이 완료되었다면, 컨트롤러(1014)는 운영체제 부팅 완료신호를 생성한다(S1026). 부팅 완료신호는 제2 통신 노드(1010)가 실행한 부팅 동작이 완료되었음을 제1 통신 노드(1000)에게 알리기 위한 신호이다. 컨트롤러(1014)는 생성된 부팅 완료신호를 PHY 계층 블록(1012)로 전달한다(S1028). PHY 계층 블록(1012)은 부팅 완료신호를 제1 통신 노드(1000)로 전송한다(S1030).
제1 통신 노드(1000)는 부팅 완료신호의 수신에 따라 제2 통신 노드(1010)의 부팅이 완료된 것으로 판단하고, 제2 통신 노드(1010)로 데이터를 전송한다(S1032). 제2 통신 노드(1010)의 PHY 계층 블록(1012)은 제1 통신 노드(1000)로부터 전송된 데이터를 수신하여 컨트롤러(1014)로 전달한다(S1034). PHY 계층 블록(1012)으로부터 전달받은 데이터는 컨트롤러(1014)의 저장부 예를 들어, 도 2에 도시된 주 메모리(223)에 저장될 수 있다. 그 후, 컨트롤러(1014)는 주 메모리(223)에 저장된 데이터를 사용하여 이벤트 발생에 따라 지시된 동작을 실행한다.
본 발명에 따른 방법들은 다양한 컴퓨터 수단을 통해 실행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 컴퓨터 판독 가능 매체에 기록되는 프로그램 명령은 본 발명을 위해 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.
컴퓨터 판독 가능 매체의 예에는 롬(rom), 램(ram), 플래시 메모리(flash memory) 등과 같이 프로그램 명령을 저장하고 실행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러(compiler)에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터(interpreter) 등을 사용해서 컴퓨터에 의해 실행될 수 있는 고급 언어 코드를 포함한다. 상술한 하드웨어 장치는 본 발명의 동작을 실행하기 위해 적어도 하나의 소프트웨어 모듈로 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
200: 통신 노드
210, 704, 804, 912, 1012: PHY 계층 블록
211: PHY 계층 인터페이스부
212: PHY 계층 프로세서
213: PHY 계층 버퍼
220, 702, 802, 914, 1014: 컨트롤러
222: 코어
223: 주 메모리
224: 보조 메모리
700, 800, 900, 1000: 제1 통신 노드
710, 810, 910, 1010: 제2 통신 노드

Claims (20)

  1. 컨트롤러 및 PHY 계층 블록을 포함하는 통신 노드의 동작방법에 있어서,
    상기 컨트롤러가 상대 통신 노드의 운영체제 부팅을 위한 웨이크업 신호를 상기 PHY 계층 블록을 통해 상기 상대 통신 노드로 전송하는 단계;
    상기 컨트롤러가 상기 상대 통신 노드의 운영체제 부팅이 완료되었다고 결정하는 단계; 및
    상기 컨트롤러가 상기 PHY 계층 블록을 통해 상기 상대 통신 노드로 데이터를 전송하는 단계를 포함하는 통신 노드의 동작방법.
  2. 청구항 1에 있어서,
    상기 컨트롤러와 상기 PHY 계층 블록은 MII(media independent interface), RMII(reduced MII), GMII(gigabit MII), RGMII(reduced GMII), SGMII(serial GMII) 및 XGMII(10 GMII) 중 적어도 하나의 인터페이스를 통해 연결되어 있는 것을 특징으로 하는 통신 노드의 동작방법.
  3. 청구항 1에 있어서, 상기 웨이크업 신호를 상기 상대 통신 노드로 전송하는 단계는
    CAN 네트워크, 플렉스레이 네트워크, MOST 네트워크, LIN(local interconnect network) 네트워크 및 이더넷 네트워크 중 적어도 하나 이상을 통해 전송하는 것을 특징으로 하는 통신 노드의 동작방법.
  4. 청구항 1에 있어서, 상기 상대 통신 노드의 운영체제 부팅이 완료되었다고 결정하는 단계는
    상기 상대 통신 노드의 운영체제 부팅에 관한 부팅 시간정보에 근거하여 상기 상대 통신 노드의 운영체제 부팅이 완료되었다고 결정하는 것을 특징으로 하는 통신 노드의 동작방법.
  5. 청구항 4에 있어서,
    상기 부팅 시간정보는 상대 통신 단말들의 종류에 따른 식별정보들과 대응하는 운영체제 부팅시간의 테이블 정보인 것을 특징으로 하는 통신 노드의 동작방법.
  6. 청구항 4에 있어서, 상기 상대 통신 노드의 운영체제 부팅이 완료되었다고 결정하는 단계는
    상기 부팅 시간정보에 대응하는 타이밍 동작을 실행하는 단계;
    상기 부팅 시간정보에 대응하는 시간이 경과하였는가를 결정하는 단계; 및
    상기 부팅 시간정보에 대응하는 시간이 경과되었다면, 상기 상대 통신 노드의 운영체제 부팅이 완료되었다고 결정하는 단계를 포함하는 것을 특징으로 하는 통신 노드의 동작방법.
  7. 청구항 1에 있어서, 상기 상대 통신 노드의 운영체제 부팅이 완료되었다고 결정하는 단계는
    상기 상대 통신 노드로부터 전송된 운영체제 부팅에 관한 부팅 완료신호를 수신하는 단계; 및
    상기 수신된 부팅 완료신호에 근거하여 상기 상대 통신 노드의 운영체제 부팅이 완료되었다고 결정하는 단계를 포함하는 것을 특징으로 하는 통신 노드의 동작방법.
  8. 청구항 1에 있어서,
    상기 통신 노드는 차량 네트워크에 연결되어 동작하는 것을 특징으로 하는 통신 노드의 동작방법.
  9. 컨트롤러 및 PHY 계층 블록을 포함하는 통신 노드의 동작방법에 있어서,
    상기 컨트롤러가 상대 통신 노드로부터 전송된 웨이크업 신호를 상기 PHY 계층 블록을 통해 수신하는 단계;
    상기 컨트롤러가 운영체제 부팅을 실행하는 단계; 및
    운영체제 부팅의 완료 후에, 상기 컨트롤러가 상기 상대 통신 노드로부터 전송된 데이터를 상기 PHY 계층 블록을 통해 수신하는 단계를 포함하는 통신 노드의 동작방법.
  10. 청구항 9에 있어서, 상기 상대 통신 노드로부터 전송된 상기 데이터를 수신하는 단계는
    운영체제 부팅에 관한 부팅 시간정보에 근거하여 상기 상대 통신 노드로부터 전송된 상기 데이터를 수신하는 것을 특징으로 하는 통신 노드의 동작방법.
  11. 청구항 9에 있어서,
    운영체제 부팅을 실행한 후에 부팅 완료신호를 생성하는 단계; 및
    상기 생성된 부팅 완료신호를 상기 상대 통신 노드로 전송하는 단계를 더 포함하고,
    상기 부팅 완료신호에 따라 상기 상대 통신 노드로부터 전송된 상기 데이터를 수신하는 것을 특징으로 하는 통신 노드의 동작방법.
  12. 청구항 9에 있어서,
    상기 통신 노드는 차량 네트워크에 연결되어 동작하는 것을 특징으로 하는 통신 노드의 동작방법.
  13. 통신 노드에 있어서,
    상대 통신 노드의 운영체제 부팅을 위한 웨이크업 신호를 상기 상대 통신 노드로 전송하도록 제어하고, 상기 상대 통신 노드의 운영체제 부팅이 완료되었다고 결정하고, 상기 상대 통신 노드로 데이터를 전송하도록 제어하는 컨트롤러; 및
    상기 컨트롤러의 제어에 따라, 상기 웨이크업 신호 및 상기 데이터 중 적어도 하나 이상을 상기 상대 통신 노드로 전송하는 PHY 계층 블록을 포함하는 통신 노드.
  14. 청구항 13에 있어서, 상기 컨트롤러는
    상기 상대 통신 노드의 운영체제 부팅에 관한 부팅 시간정보를 저장하는 저장부를 포함하고,
    상기 부팅 시간정보에 근거하여 상기 상대 통신 노드의 운영체제 부팅이 완료되었다고 결정하는 것을 특징으로 하는 통신 노드.
  15. 청구항 14에 있어서,
    상기 부팅 시간정보는 상대 통신 단말들의 종류에 따른 식별정보들과 대응하는 운영체제 부팅시간의 테이블 정보인 것을 특징으로 하는 통신 노드.
  16. 청구항 14에 있어서, 상기 컨트롤러는
    상기 저장부에 저장된 상기 상대 통신 노드에 대응하는 상기 부팅 시간정보를 추출하고, 상기 추출된 부팅 시간정보에 대응하는 타이밍 동작을 실행하고, 상기 추출된 부팅 시간정보에 대응하는 시간이 경과되었다면 상기 상대 통신 노드의 운영체제 부팅이 완료되었다고 결정하는 것을 특징으로 하는 통신 노드.
  17. 청구항 14에 있어서, 상기 컨트롤러는
    상기 상대 통신 노드로부터 전송된 운영체제 부팅에 관한 부팅 완료신호의 수신에 근거하여 상기 상대 통신 노드의 운영체제 부팅이 완료되었다고 결정하는 것을 특징으로 하는 통신 노드.
  18. 통신 노드에 있어서,
    상대 통신 노드로부터 전송된 웨이크업 신호에 따라 운영체제 부팅을 실행하고, 운영체제 부팅의 완료 후에 상기 상대 통신 노드로부터 전송된 데이터를 수신하는 컨트롤러; 및
    상기 상대 통신 노드로부터 전송된 상기 웨이크업 신호 및 상기 데이터 중 적어도 하나 이상을 수신하여 상기 컨트롤러로 전달하는 PHY 계층 블록을 포함하는 통신 노드.
  19. 청구항 18에 있어서, 상기 PHY 계층 블록은
    운영체제 부팅에 관한 부팅 시간정보에 근거하여 상기 상대 통신 노드로부터 전송된 상기 데이터를 수신하는 것을 특징으로 하는 통신 노드.
  20. 청구항 18에 있어서,
    상기 컨트롤러는 운영체제 부팅을 완료한 후에 부팅 완료신호를 생성하고,
    상기 PHY 계층 블록은 상기 생성된 부팅 완료신호를 상기 상대 통신 노드로 전송하고, 상기 부팅 완료신호에 따라 상기 상대 통신 노드로부터 전송된 상기 데이터를 수신하는 것을 특징으로 하는 통신 노드.
KR1020150082621A 2015-06-11 2015-06-11 차량 네트워크에서 통신 노드의 동작방법 KR20160146048A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020150082621A KR20160146048A (ko) 2015-06-11 2015-06-11 차량 네트워크에서 통신 노드의 동작방법
US15/155,692 US20160364245A1 (en) 2015-06-11 2016-05-16 Operation method of communication node in automotive network
DE102016208750.9A DE102016208750A1 (de) 2015-06-11 2016-05-20 Betriebsverfahren eines kommunikationsknotens in einem fahrzeugnetz

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150082621A KR20160146048A (ko) 2015-06-11 2015-06-11 차량 네트워크에서 통신 노드의 동작방법

Publications (1)

Publication Number Publication Date
KR20160146048A true KR20160146048A (ko) 2016-12-21

Family

ID=57395040

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150082621A KR20160146048A (ko) 2015-06-11 2015-06-11 차량 네트워크에서 통신 노드의 동작방법

Country Status (3)

Country Link
US (1) US20160364245A1 (ko)
KR (1) KR20160146048A (ko)
DE (1) DE102016208750A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190077795A (ko) * 2017-12-26 2019-07-04 현대자동차주식회사 이더넷 스위치, 차량 내 네트워크 구성 방법 및 차량

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110838962B (zh) * 2019-11-18 2021-11-12 上海船舶研究设计院(中国船舶工业集团公司第六0四研究院) 船用网络***及船舶***

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040163008A1 (en) * 2003-02-19 2004-08-19 Kim Roy Moon Remote system management and operation services in a computer network

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190077795A (ko) * 2017-12-26 2019-07-04 현대자동차주식회사 이더넷 스위치, 차량 내 네트워크 구성 방법 및 차량

Also Published As

Publication number Publication date
DE102016208750A1 (de) 2016-12-15
US20160364245A1 (en) 2016-12-15

Similar Documents

Publication Publication Date Title
US10969850B2 (en) Method for transmitting and receiving wake-up signal in vehicle network
KR102589373B1 (ko) 차량 네트워크에서 통신 노드의 웨이크업 방법 및 장치
US10979878B2 (en) Operation method of communication node supporting network management functions in vehicle network
KR102286050B1 (ko) 차량 네트워크에서 진단 오류 방지를 위한 방법 및 장치
KR102422404B1 (ko) 네트워크에서 전력 공급 방법 및 장치
KR102355092B1 (ko) 차량 네트워크에서 진단을 위한 통신 노드의 동작 방법
KR102390465B1 (ko) 네트워크에서 전원 관리 방법 및 장치
CN112075063B (zh) 用于车辆中的数据通信的网关
KR20160146055A (ko) 차량 네트워크에서 통신 노드의 동작방법
US11314319B2 (en) Operation methods of communication node in network
KR20160146045A (ko) 차량 네트워크에서 통신노드의 동작방법
KR102300764B1 (ko) 차량 네트워크에서 진단 방법 및 장치
CN113950807A (zh) 具有睡眠模式和部分网络支持的物理层设备以及相关***、方法和设备
KR102293037B1 (ko) 네트워크에서 통신 노드의 동작 방법
JP5385399B2 (ja) バスシステムのためのトランシーバ回路を備えた回路構成、及び、バスシステムのためのノード
KR20210147495A (ko) 차량 네트워크에서 nm 기능을 이용하는 통신 노드의 동작 방법 및 장치
KR20160146048A (ko) 차량 네트워크에서 통신 노드의 동작방법
KR101480052B1 (ko) 서로 다른 통신 방식이 혼재하는 차량 네트워크를 위한 게이트웨이 및 그 제어방법
KR102446092B1 (ko) 네트워크에서 링크 상태의 진단 방법
US20130114647A1 (en) Communications relay system and relay device in the same
KR102355085B1 (ko) 차량 네트워크에서 선택적 웨이크업을 위한 통신 노드의 동작 방법
KR102313636B1 (ko) 차량 네트워크에서 시간 동기화를 위한 통신 노드의 동작 방법
KR102398873B1 (ko) 차량 네트워크의 통신 노드 및 통신 노드의 동작 방법
KR102262081B1 (ko) 통신 노드의 적합성 검사 장치 및 방법
KR102342000B1 (ko) 차량 네트워크에서 프레젠테이션 타임에 기초한 콘텐츠의 재생 방법 및 장치