KR20180038973A - Method for software update of vehicle and device for the same - Google Patents

Method for software update of vehicle and device for the same Download PDF

Info

Publication number
KR20180038973A
KR20180038973A KR1020170123231A KR20170123231A KR20180038973A KR 20180038973 A KR20180038973 A KR 20180038973A KR 1020170123231 A KR1020170123231 A KR 1020170123231A KR 20170123231 A KR20170123231 A KR 20170123231A KR 20180038973 A KR20180038973 A KR 20180038973A
Authority
KR
South Korea
Prior art keywords
software
update
vehicle
communication node
communication unit
Prior art date
Application number
KR1020170123231A
Other languages
Korean (ko)
Other versions
KR102313599B1 (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 DE102017123252.4A priority Critical patent/DE102017123252A1/en
Priority to US15/727,300 priority patent/US10630538B2/en
Publication of KR20180038973A publication Critical patent/KR20180038973A/en
Application granted granted Critical
Publication of KR102313599B1 publication Critical patent/KR102313599B1/en

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
    • H04L12/40006Architecture of a communication node

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Small-Scale Networks (AREA)

Abstract

The present invention relates to a method and an apparatus for updating the software of a vehicle that can reduce power consumption and prevent an update malfunction when software is updated. An operation method of a first communication node according to an embodiment of the present invention is an operation method of a first communication node constituting an Ethernet-based vehicle network. The operation method includes a step of switching from a sleep state to a ready state and waking up the PHY layer of the first communication node; a step of preventing the transmission of a network request to another communication node connected to a vehicle network; and a step of performing the update of the software.

Description

차량의 소프트웨어 업데이트 방법 및 장치{METHOD FOR SOFTWARE UPDATE OF VEHICLE AND DEVICE FOR THE SAME}BACKGROUND OF THE INVENTION 1. Field of the Invention [0001] The present invention relates to a vehicle software update method,

본 발명은 차량의 소프트웨어 업데이트 방법 및 장치에 관한 것으로, 더욱 상세하게는 소프트웨어의 업데이트 시 전력 소모를 줄이고, 업데이트 오동작을 방지할 수 있는 차량의 소프트웨어 업데이트 방법 및 장치에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention [0002] The present invention relates to a method and an apparatus for updating software of a vehicle, and more particularly, to a method and an apparatus for updating software of a vehicle that can reduce power consumption and prevent an update malfunction when updating software.

차량용 부품의 전자화가 급속도로 진행됨에 따라 차량에 탑재되는 전자 장치(예를 들어, ECU(electronic control unit))의 종류와 수가 크게 증가되고 있다. 전자 장치는 크게 파워트레인(power train) 제어 시스템, 바디(body) 제어 시스템, 새시(chassis) 제어 시스템, 차량 네트워크(network), 멀티미디어(multimedia) 시스템 등에서 사용될 수 있다. 파워트레인 제어 시스템은 엔진 제어 시스템, 자동 변속 제어 시스템 등을 의미할 수 있다. 바디 제어 시스템은 바디 전장품 제어 시스템, 편의 장치 제어 시스템, 램프(lamp) 제어 시스템 등을 의미할 수 있다. 새시 제어 시스템은 조향 장치 제어 시스템, 브레이크(brake) 제어 시스템, 서스팬션(suspension) 제어 시스템 등을 의미할 수 있다. 차량 네트워크는 CAN(controller area network), 플렉스레이(FlexRay) 기반의 네트워크, MOST(media oriented system transport) 기반의 네트워크 등을 의미할 수 있다. 멀티미디어 시스템은 항법 장치 시스템, 텔레매틱스(telematics) 시스템, 인포테이먼트(infotainment) 시스템 등을 의미할 수 있다.2. Description of the Related Art [0002] With the rapid progress of electronic components for vehicle components, the types and number of electronic devices (for example, electronic control units (ECUs)) mounted on the vehicles have been greatly increased. Electronic devices can be largely used in a power train control system, a body control system, a chassis control system, a vehicle network, a multimedia system, and the like. The powertrain control system may mean an engine control system, an automatic shift control system, and the like. The body control system may refer to a body electrical equipment control system, a convenience device control system, a lamp control system, and the like. The chassis control system may refer to a steering control system, a brake control system, a suspension control system, and the like. The vehicle network may refer to a controller area network (CAN), a FlexRay-based network, or a MOST (media oriented system transport) based network. The multimedia system may refer to a navigation device system, a telematics system, an infotainment system, or the like.

이러한 시스템들 및 시스템들 각각을 구성하는 전자 장치들은 차량 네트워크를 통해 연결되어 있으며, 전자 장치들 각각의 기능을 지원하기 위한 차량 네트워크가 요구되고 있다. CAN은 최대 1Mbps의 전송 속도를 지원할 수 있으며, 충돌된 프레임의 자동 재전송, CRC(cycle redundancy check) 기반의 오류 검출 등을 지원할 수 있다. 플렉스레이 기반의 네트워크는 최대 10Mbps의 전송 속도를 지원할 수 있으며, 2채널을 통한 데이터의 동시 전송, 동기 방식의 데이터 전송 등을 지원할 수 있다. MOST 기반의 네트워크는 고품질의 멀티미디어를 위한 통신 네트워크로, 최대 150Mbps의 전송 속도를 지원할 수 있다.The electronic devices constituting each of these systems and systems are connected through a vehicle network, and a vehicle network is required to support the functions of each of the electronic devices. CAN can support transmission rates of up to 1Mbps, support automatic retransmission of collided frames, and error detection based on cycle redundancy check (CRC). FlexRay-based networks can support transmission speeds of up to 10 Mbps, support simultaneous transmission of data over two channels, and synchronous data transmission. The MOST-based network is a communication network for high-quality multimedia and can support transmission rates of up to 150Mbps.

한편, 차량의 텔레매틱스 시스템, 인포테이먼트 시스템, 향상된 안전 시스템 등은 높은 전송 속도, 시스템 확장성 등을 요구하며, CAN, 플렉스레이 기반의 네트워크 등은 이를 충분히 지원하지 못한다. MOST 기반의 네트워크는 CAN 및 플렉스레이 기반의 네트워크에 비해 높은 전송 속도를 지원할 수 있으나, 차량의 모든 네트워크에 MOST 기반의 네트워크가 적용되기 위해서는 많은 비용이 소모된다. 이러한 문제들에 의해, 차량 네트워크로 이더넷(ethernet) 기반의 네트워크가 고려될 수 있다. 이더넷 기반의 네트워크는 한 쌍의 권선을 통한 양방향 통신을 지원할 수 있으며, 최대 10Gbps의 전송 속도를 지원할 수 있다.On the other hand, the telematics system, the information system, and the improved safety system of the vehicle require high transmission speed and system scalability, and CAN and FlexRay based networks do not fully support this. MOST-based networks can support higher transmission speeds than CAN- and FlexRay-based networks, but MOST-based networks are costly for all vehicle networks. Due to these problems, an ethernet-based network can be considered as a vehicle network. An Ethernet-based network can support bidirectional communication through a pair of windings and can support transmission rates up to 10 Gbps.

차량의 배치된 제어장치들의 소프트웨어 업데이트 요구가 증가하고 있고, 제어장치들의 소프트웨어 업데이트를 위한 여러 방법이 제안된 바 있다. 소프트웨어 업데이트 방법 중에서, 예약 업데이트 방법은 특정 시간(예로서, 차량을 운행하지 않는 시간)을 설정하여 제어장치의 소프트웨어를 업데이트 할 수 있다.[0003] Software update requests of control devices arranged in a vehicle are increasing, and various methods for software update of control devices have been proposed. Among the software update methods, the scheduled update method can update the software of the control device by setting a specific time (for example, a time when the vehicle is not operated).

종래 기술의 예약 업데이트 방법은 예약 시점에 차량에 배치된 통신 유닛(예로서, 텔레매틱스 유닛 또는 멀티미디어 헤드 유닛)을 웨이크업(wake up) 시킨 후, 업데이트 할 소프트웨어를 소프트웨어 센터로부터 다운로드 할 수 있다. 이후, 다운로드 된 소프트웨어를 각 제어장치에서 업데이트 할 수 있다.The prior art reservation update method may wake up a communication unit (for example, a telematics unit or a multimedia head unit) disposed in a vehicle at the time of reservation and download software to be updated from the software center. Thereafter, the downloaded software can be updated by each control device.

이러한, 종래 기술의 소프트웨어 업데이트 방법은, 예약 업데이트를 위해 웨이크업 한 제어장치의 ECU(electronic control unit)가 동작함으로 인해 많은 전력이 소비되는 문제가 있다. 특히, 소프트웨어의 업데이트가 이루어지는 제어장치뿐만 아니라 다른 제어장치들도 웨이크업하게 됨으로 인해 전력 소비가 증가하는 문제점이 있다.Such a conventional software update method has a problem that a large amount of electric power is consumed due to the operation of an electronic control unit (ECU) of a control device waking up for reservation update. Particularly, there is a problem that power consumption is increased because not only the control device in which the software is updated but also other control devices are woken up.

상기와 같은 문제점을 해결하기 위한 본 발명의 목적은 소프트웨어의 예약 업데이트 시 전력 소모를 줄일 수 있는 차량의 소프트웨어 업데이트 방법 및 장치를 제공하는 데 있다.SUMMARY OF THE INVENTION It is an object of the present invention to provide a method and an apparatus for updating software of a vehicle that can reduce power consumption when a software is scheduled to be updated.

상기와 같은 문제점을 해결하기 위한 본 발명의 목적은 소프트웨어의 예약 업데이트 시 업데이트 오동작을 방지할 수 있는 차량의 소프트웨어 업데이트 방법 및 장치를 제공하는 데 있다.SUMMARY OF THE INVENTION It is an object of the present invention to provide a method and an apparatus for updating software of a vehicle that can prevent an update malfunction when a software is scheduled to be updated.

상기 목적을 달성하기 위한 본 발명의 실시 예에 따른 제1 통신 노드의 동작 방법은, 이더넷(ethernet) 기반의 차량 네트워크(network)를 구성하는 제1 통신 노드의 동작 방법으로서, 슬립 상태에서 준비 상태로 전환하여 상기 제1 통신 노드의 PHY 계층을 웨이크업 시키는 단계와, 상기 소프트웨어의 업데이트를 수행하는 단계와, 상기 차량 네트워크에 접속된 다른 통신 노드로 네트워크 요청 전송을 방지하는 단계를 포함한다.According to another aspect of the present invention, there is provided a method of operating a first communication node in an Ethernet-based vehicle network, the method comprising: To wake up the PHY layer of the first communication node; performing an update of the software; and preventing transmission of a network request to another communication node connected to the vehicle network.

본 발명의 실시 예에 따른 제1 통신 노드의 동작 방법은, 상기 제1 통신 노드의 소프트웨어의 업데이트 시 상기 슬립 상태에서 준비 상태로 전환이 수행된다.In the method of operating the first communication node according to the embodiment of the present invention, the transition from the sleep state to the ready state is performed at the time of updating the software of the first communication node.

본 발명의 실시 예에 따른 제1 통신 노드의 동작 방법은, 상기 제1 통신 노드의 메모리에 업데이트할 소프트웨어가 저장되어 있을 때 상기 소프트웨어의 업데이트를 수행한다.The operation method of the first communication node according to the embodiment of the present invention performs the update of the software when the software to be updated is stored in the memory of the first communication node.

본 발명의 실시 예에 따른 제1 통신 노드의 동작 방법은, 상기 차량 네트워크에 접속된 제2 통신 노드로부터 수신한 업데이트 예약 시간에 상기 소프트웨어의 업데이트를 수행한다.An operation method of a first communication node according to an embodiment of the present invention performs update of the software at an update reservation time received from a second communication node connected to the vehicle network.

본 발명의 실시 예에 따른 제1 통신 노드의 동작 방법은, 차량의 시동이 꺼진 경우에 상기 소프트웨어의 업데이트를 수행한다.An operation method of a first communication node according to an embodiment of the present invention performs an update of the software when the vehicle is turned off.

본 발명의 실시 예에 따른 제1 통신 노드의 동작 방법은, 차량이 시동이 켜진 이후 상기 소프트웨어의 업데이트 결과를 상기 제2 통신 노드로 전송하는 단계를 더 포함한다.The method of operating a first communication node according to an embodiment of the present invention further comprises transmitting an update result of the software to the second communication node after the vehicle is turned on.

본 발명의 실시 예에 따른 제1 통신 노드의 동작 방법은, 상기 소프트웨어의 업데이트를 수행한 후, 재 부팅하여 상기 소프트웨어의 업데이트를 점검하는 단계를 더 포함한다.The method for operating the first communication node according to the embodiment of the present invention further includes the step of performing an update of the software and then rebooting to check for the update of the software.

본 발명의 실시 예에 따른 제1 통신 노드의 동작 방법은, 상기 소프트웨어의 업데이트가 실패한 경우, 업데이트 이전의 소프트웨어를 복구하는 단계를 더 포함한다.The operation method of the first communication node according to the embodiment of the present invention further includes a step of restoring the pre-update software when the update of the software fails.

상기 목적을 달성하기 위한 본 발명의 실시 예에 따른 통신 유닛의 동작 방법은, 이더넷(ethernet) 기반의 차량 네트워크(network)를 구성하는 통신 유닛의 동작 방법으로서, 업데이트 예약 시간에 슬립 상태에서 준비 상태로 전환하여 PHY 계층을 웨이크업 시키는 단계와, 상기 차량 네트워크에 접속된 통신 노드들로 네트워크 요청 전송을 방지하는 단계를 포함한다.According to another aspect of the present invention, there is provided an operation method of a communication unit constituting an ethernet-based vehicle network, the method comprising: To wake up the PHY layer, and preventing transmission of the network request to the communication nodes connected to the vehicle network.

본 발명의 실시 예에 따른 통신 유닛의 동작 방법은, 소프트웨어 센터로부터 소프트웨어를 다운로드 하는 단계를 더 포함하다.The method of operating a communication unit according to an embodiment of the present invention further includes downloading software from a software center.

본 발명의 실시 예에 따른 통신 유닛의 동작 방법은, 상기 소프트웨어를 업데이트 하는 단계를 더 포함한다.The method of operating a communication unit according to an embodiment of the present invention further comprises updating the software.

본 발명의 실시 예에 따른 통신 유닛의 동작 방법은, 상기 업데이트 예약 시간에 상기 소프트웨어를 다운로드 한다.The operating method of the communication unit according to the embodiment of the present invention downloads the software at the update reservation time.

본 발명의 실시 예에 따른 통신 유닛의 동작 방법은, 차량의 주행 중 상기 소프트웨어를 다운로드 한다.An operation method of a communication unit according to an embodiment of the present invention downloads the software while the vehicle is running.

본 발명의 실시 예에 따른 통신 유닛의 동작 방법은, 상기 차량 네트워크에 접속된 특정 통신 노드의 소프트웨어를 다운로드 한 경우, 상기 소프트웨어를 상기 특정 통신 노드로 전송하는 단계를 더 포함한다.The method of operating a communication unit according to an embodiment of the present invention further includes transmitting the software to the specific communication node when software of a specific communication node connected to the vehicle network is downloaded.

본 발명의 실시 예에 따른 통신 유닛의 동작 방법은, 상기 특정 통신 노드로부터 상기 소프트웨어의 업데이트 결과를 수신하는 단계를 더 포함한다.An operation method of a communication unit according to an embodiment of the present invention further includes receiving an update result of the software from the specific communication node.

상기 목적을 달성하기 위한 본 발명의 실시 예에 따른 통신 노드는, 이더넷(ethernet) 기반의 차량 네트워크(network)를 구성되어 프로그램의 업데이트를 수행하는 통신 노드로서, PHY 계층 프로세서를 포함하는 PHY 계층 유닛과, 컨트롤러 프로세서를 포함하는 컨트롤러 유닛과, 상기 PHY 계층 유닛 및 상기 컨트롤러 유닛 각각에 의해 수행되는 적어도 하나의 명령이 저장된 메모리를 포함한다. 상기 적어도 하나의 명령은, 슬립 상태에서 준비 상태로 전환하여 상기 제1 통신 노드의 PHY 계층을 웨이크업 시킨다. 그리고, 상기 차량 네트워크에 접속된 다른 통신 노드로 네트워크 요청 전송을 방지한다.According to an aspect of the present invention, there is provided a communication node configured to perform an update of a program in an ethernet-based vehicle network, the communication node including a PHY layer unit including a PHY layer processor, A controller unit including a controller processor, and a memory in which at least one instruction executed by each of the PHY layer unit and the controller unit is stored. The at least one command changes from a sleep state to a ready state to wake up the PHY layer of the first communication node. And prevents transmission of network requests to other communication nodes connected to the vehicle network.

본 발명의 실시 예에 따른 통신 노드의 상기 적어도 하나의 명령은, 차량의 주행 중 차량에 배치된 통신 유닛으로부터 소프트웨어를 수신한다. 그리고, 상기 수신된 소프트웨어를 메모리에 저장한다. 그리고, 상기 통신 유닛으로부터 상기 소프트웨어의 업데이트 예약 시간을 수신한다. 그리고, 상기 소프트웨어의 업데이트 예약 시간에 상기 소프트웨어를 업데이트 한다.The at least one command of the communication node according to an embodiment of the present invention receives software from a communication unit disposed in the vehicle during running of the vehicle. Then, the received software is stored in the memory. Then, the update reservation time of the software is received from the communication unit. Then, the software is updated at the update reservation time of the software.

본 발명의 실시 예에 따른 통신 노드의 상기 적어도 하나의 명령은, 상기 차량의 시동이 꺼진 이후에 상기 소프트웨어를 업데이트 한다.The at least one command of the communication node according to an embodiment of the present invention updates the software after the vehicle is turned off.

본 발명의 실시 예에 따른 통신 노드의 상기 적어도 하나의 명령은, 상기 소프트웨어를 업데이트 한 후, 재 부팅하여 상기 소프트웨어의 업데이트를 점검한다.The at least one instruction of the communication node according to an embodiment of the present invention checks for an update of the software by rebooting after updating the software.

본 발명의 실시 예에 따른 통신 노드의 상기 적어도 하나의 명령은, 상기 소프트웨어의 업데이트가 실패한 경우, 업데이트 이전의 소프트웨어를 복구한다.The at least one command of the communication node according to an embodiment of the present invention restores the pre-update software if the update of the software fails.

본 발명의 실시 예에 따른 차량의 소프트웨어 업데이트 방법 및 장치는 소프트웨어의 업데이트 시, 이더넷 네트워크에 연결된 복수의 엔드노드 중에서 타겟 엔드노드만을 웨이크업 시켜 소프트웨어의 업데이트로 인한 차량의 전력 소모를 줄일 수 있다.A method and an apparatus for updating software of a vehicle according to an embodiment of the present invention can wake up only a target end node among a plurality of end nodes connected to an Ethernet network to reduce power consumption of a vehicle due to updating of software.

또한, 본 발명의 실시 예에 따른 차량의 소프트웨어 업데이트 방법 및 장치는 소프트웨어의 업데이트 시, 차량의 시동이 꺼진 상태에서 타겟 엔드노드의 소프트웨어 업데이트가 수행되도록 함으로써 소프트웨어 업데이트의 오동작을 방지할 수 있다.In addition, the software update method and apparatus of the vehicle according to the embodiment of the present invention can prevent malfunction of the software update by updating the software so that the software update of the target end node is performed while the vehicle is turned off.

또한, 본 발명의 실시 예에 따른 차량의 소프트웨어 업데이트 방법 및 장치는 타겟 엔드노드에서의 소프트웨어 업데이트 결과를 통신 유닛이 수신하고, 통신 유닛이 소프트웨어 업데이트 결과에 기초하여 소프트웨어 업데이트를 재시도 할 수 있다.In addition, the software update method and apparatus of the vehicle according to the embodiment of the present invention can receive the software update result at the target end node by the communication unit, and the communication unit can retry the software update based on the software update result.

도 1은 차량 네트워크의 토폴로지에 대한 일 실시예를 도시한 블록도이다.
도 2는 차량 네트워크를 구성하는 통신 노드의 일 실시예를 도시한 블록도이다.
도 3은 본 발명의 실시 예에 따른 차량의 소프트웨어 업데이트 장치를 나타내는 도면이다.
도 4는 본 발명의 실시 예에 따른 차량의 소프트웨어 업데이트 방법을 나타내는 도면이다.
도 5는 차량의 소프트웨어 업데이트 방법의 일 예로서, 통신유닛과 타겟 엔드노드의 동작을 나타내는 도면이다.
1 is a block diagram illustrating an embodiment of a topology of a vehicle network.
2 is a block diagram showing an embodiment of a communication node constituting a vehicle network.
3 is a diagram showing a software update apparatus for a vehicle according to an embodiment of the present invention.
4 is a diagram illustrating a software update method of a vehicle according to an embodiment of the present invention.
5 is a diagram showing an operation of a communication unit and a target end node as an example of a software update method of a vehicle.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시 예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that the invention is not intended to be limited to the particular embodiments, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention.

제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.The terms first, second, etc. may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, the first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component. And / or < / RTI > includes any combination of a plurality of related listed items or any of a plurality of related listed items.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.It is to be understood that when an element is referred to as being "connected" or "connected" to another element, it may be directly connected or connected to the other element, . On the other hand, when an element is referred to as being "directly connected" or "directly connected" to another element, it should be understood that there are no other elements in between.

본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used in this application is used only to describe a specific embodiment and is not intended to limit the invention. The singular expressions include plural expressions unless the context clearly dictates otherwise. In the present application, the terms "comprises" or "having" and the like are used to specify that there is a feature, a number, a step, an operation, an element, a component or a combination thereof described in the specification, But do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, or combinations thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with the meaning in the context of the relevant art and are to be interpreted in an ideal or overly formal sense unless explicitly defined in the present application Do not.

이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시 예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. In order to facilitate the understanding of the present invention, the same reference numerals are used for the same constituent elements in the drawings and redundant explanations for the same constituent elements are omitted.

도 1은 차량 네트워크의 토폴로지(network topology)의 일 실시예를 도시한 블록도이다.1 is a block diagram illustrating one embodiment of a network topology of a vehicle network.

도 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)를 제어할 수 있다.1, a communication node constituting a vehicle network may refer to a gateway, a switch (or a bridge), an end node, or the like. The gateway 100 may be connected to at least one switch 110, 110-1, 110-2, 120, or 130, and may connect different networks. For example, the gateway 100 may include a communication node that supports a controller area network (CAN) (or FlexRay, a media oriented system transport (MOST), a local interconnect network (LIN) ) Protocol can be connected between the switches. Each of the switches 110, 110-1, 110-2, 120 and 130 may be connected to at least one end node 111, 112, 113, 121, 122, 123, 131, 132, Each of the switches 110, 110-1, 110-2, 120 and 130 may interconnect the end nodes 111, 112, 113, 121, 122, 123, 131, 132 and 133, It is possible to control the nodes 111, 112, 113, 121, 122, 123, 131, 132,

엔드노드(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를 의미할 수 있다.The end nodes 111, 112, 113, 121, 122, 123, 131, 132 and 133 may mean an electronic control unit (ECU) for controlling various devices included in the vehicle. For example, end nodes 111, 112, 113, 121, 122, 123, 131, 132 and 133 may be infotainment devices (e.g., display devices, navigation devices, (An around view monitoring device), and the like.

한편, 차량 네트워크를 구성하는 통신 노드들(즉, 게이트웨이, 스위치, 엔드노드 등)은 스타(star) 토폴로지, 버스(bus) 토폴로지, 링(ring) 토폴로지, 트리(tree) 토폴로지, 메쉬(mesh) 토폴로지 등으로 연결될 수 있다. 또한, 차량 네트워크를 구성하는 통신 노드들 각각은 CAN 프로토콜, 플렉스레이 프로토콜, MOST 프로토콜, LIN 프로토콜, 이더넷 프로토콜 등을 지원할 수 있다. 본 발명에 따른 실시예들은 앞서 설명된 네트워크 토폴로지에 적용될 수 있으며, 본 발명에 따른 실시예들이 적용되는 네트워크 토폴로지는 이에 한정되지 않고 다양하게 구성될 수 있다.The communication nodes (i.e., gateways, switches, end nodes, etc.) that constitute the vehicle network may be a star topology, a bus topology, a ring topology, a tree topology, Topology, and so on. Further, each of the communication nodes constituting the vehicle network may support the CAN protocol, the FlexRay protocol, the MOST protocol, the LIN protocol, the Ethernet protocol, and the like. Embodiments according to the present invention can be applied to the network topology described above, and the network topology to which the embodiments according to the present invention are applied is not limited to this, and can be variously configured.

도 2는 차량 네트워크를 구성하는 통신 노드의 일 실시예를 도시한 블록도이다.2 is a block diagram showing an embodiment of a communication node constituting a vehicle network.

도 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)로 구현될 수도 있고, 별도의 칩으로 구성될 수도 있다.Referring to FIG. 2, a communication node 200 constituting a network may include a PHY layer unit 210 and a controller unit 220. In addition, the communication node 200 may further include a regulator (not shown) for supplying power. At this time, the controller unit 220 may be implemented including a medium access control (MAC) layer. PHY layer unit 210 may receive signals from other communication nodes or may transmit signals to other communication nodes. The controller unit 220 may control the PHY layer unit 210 and may perform various functions (e.g., infotainment function, etc.). The PHY layer unit 210 and the controller unit 220 may be implemented as one SoC (System on Chip) or a separate 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-신호 인터페이스로 구성될 수 있으며, 하나는 클럭을 위한 신호이고 다른 하나는 데이터를 위한 신호일 수 있다.The PHY layer unit 210 and the controller unit 220 may be connected through a media independent interface (MII) 230. The MII 230 may refer to an interface defined in IEEE 802.3, and may be configured as a data interface and a management interface between the PHY layer unit 210 and the controller unit 220. One of the interfaces of RMII (reduced MII), GMII (gigabit MII), RGMII (reduced GMII), SGMII (serial GMII) and XGMII (10 GMII) may be used instead of MII 230. The data interface may include a transmission channel and a reception channel, and each of the channels may have independent clock, data, and control signals. The management interface may be configured as a two-signal interface, one for the clock and the other for the data.

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)의 요청에 따라 저장된 신호를 출력할 수 있다. 여기서, PHY 계층 유닛(210)은 출력 신호를 코딩하기 위한 PCS(Physical Coding Sublayer)를 포함할 수 있다.The PHY layer unit 210 may include a PHY layer interface unit 211, a PHY layer processor 212 and a PHY layer memory 213 and the like. The configuration of the PHY layer unit 210 is not limited thereto, and the PHY layer unit 210 may be configured in various ways. The PHY layer interface unit 211 may transmit signals received from the controller unit 220 to the PHY layer processor 212 and may transmit signals received from the PHY layer processor 212 to the controller unit 220. [ PHY layer processor 212 may control the operation of PHY layer interface unit 211 and PHY layer memory 213, respectively. The PHY layer processor 212 may perform modulation of the signal to be transmitted or demodulation of the received signal. The PHY layer processor 212 may control the PHY layer memory 213 to input or output a signal. The PHY layer memory 213 can store the received signal and output the stored signal upon request of the PHY layer processor 212. [ Here, the PHY layer unit 210 may include a Physical Coding Sublayer (PCS) for coding an output signal.

컨트롤러 유닛(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)에 포함되어 구현될 수도 있다.The controller unit 220 may perform monitoring and control for the PHY layer unit 210 via the MII 230. The controller unit 220 may include a controller interface unit 221, a controller processor 222, a main memory 223, an auxiliary memory 224, and the like. The configuration of the controller unit 220 is not limited thereto, and the controller unit 220 can be configured in various ways. The controller interface unit 221 can receive signals from the PHY layer unit 210 (i.e., the PHY layer interface unit 211) or an upper layer (not shown) and send the received signals to the controller processor 222 And may transmit signals received from the controller processor 222 to the PHY layer unit 210 or higher layer. The controller processor 222 may further include independent memory control logic or integrated memory control logic for controlling the controller interface unit 221, the main memory 223 and the auxiliary memory 224. The memory control logic may be included in the main memory 223 and the auxiliary memory 224, or may be included in the controller processor 222 and implemented.

주 메모리(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) 계열의 코어 등이 사용될 수 있다.Each of the main memory 223 and the auxiliary memory 224 may store the signal processed by the controller processor 222 and output the stored signal at the request of the controller processor 222. [ The main memory 223 may mean a volatile memory (e.g., random access memory (RAM), etc.) that temporarily stores data necessary for the operation of the controller processor 222. [ The auxiliary memory 224 includes an operating system code (e.g., a kernel and a device driver) and an application program code for performing functions of the controller processor 220 May be stored in the nonvolatile memory. A flash memory having a high processing speed can be used as a nonvolatile memory or a hard disk drive (HDD), a compact disc-read only memory (CD-ROM), etc. for storing a large amount of data Can be used. Controller processor 222 may typically be comprised of logic circuitry including at least one processing core. As the controller processor 222, an ARM (Advanced RISC Machines Ltd.) series core, an atom series core, or the like may be used.

아래에서는, 차량 네트워크에 속하는 통신 노드와 이에 대응하는 상대(counterpart) 통신 노드에서 수행되는 방법이 설명될 것이다. 이하에서, 제1 통신 노드에서 수행되는 방법(예를 들어, 신호의 전송 또는 수신)이 설명되는 경우에도 이에 대응하는 제2 통신 노드는 제1 통신 노드에서 수행되는 방법과 상응하는 방법(예를 들어, 신호의 수신 또는 전송)을 수행할 수 있다. 즉, 제1 통신 노드의 동작이 설명된 경우에 이에 대응하는 제2 통신 노드는 제1 통신 노드의 동작과 상응하는 동작을 수행할 수 있다. 반대로, 제2 통신 노드의 동작이 설명된 경우에 이에 대응하는 제1 통신 노드는 스위치의 동작과 상응하는 동작을 수행할 수 있다Hereinafter, a method performed in a communication node belonging to a vehicle network and a corresponding counterpart communication node will be described. Hereinafter, even when a method (e.g., transmission or reception of a signal) to be performed at the first communication node is described, the corresponding second communication node can perform a method corresponding to the method performed at the first communication node For example, receiving or transmitting a signal). That is, when the operation of the first communication node is described, the corresponding second communication node can perform an operation corresponding to the operation of the first communication node. Conversely, when the operation of the second communication node is described, the corresponding first communication node can perform an operation corresponding to the operation of the switch

도 3은 본 발명의 실시 예에 따른 차량의 소프트웨어 업데이트 장치를 나타내는 도면이다.3 is a diagram showing a software update apparatus for a vehicle according to an embodiment of the present invention.

도 3을 참조하면, 본 발명의 실시 예에 따른 차량의 소프트웨어 업데이트 장치는 차량에 배치된 통신 유닛(300)과, 복수의 스위치(110-1, 110-2) 및 복수의 엔드노드(401~404)를 포함한다. 여기서, 복수의 엔드노드(401~404) 각각은 차량의 제어장치(예로서, 브레이크 제어장치, 현가 제어장치, 속도 제어장치 등)가 될 수 있다. 도 3에서는 4개의 엔드노드(401~404)를 도시했으나, 이에 한정되지 않고 차량에 배치된 제어장치의 개수에 따라서 엔드노드의 개수가 변화될 수 있다.3, a software update apparatus for a vehicle according to an embodiment of the present invention includes a communication unit 300 disposed in a vehicle, a plurality of switches 110-1 and 110-2, and a plurality of end nodes 401- 404). Here, each of the plurality of end nodes 401 to 404 may be a vehicle control device (for example, a brake control device, a suspension control device, a speed control device, and the like). Although FIG. 3 shows four end nodes 401 to 404, the present invention is not limited to this, and the number of end nodes may be changed according to the number of control devices disposed in the vehicle.

통신 유닛(300)은 텔레매틱스(telematics) 또는 멀티미디어 헤드 유닛이 적용될 수 있으며, 외부 통신장치들과 접속을 위한 통신 모뎀 및 사용자에게 정보를 표시하기 위한 디스플레이 모듈을 포함할 수 있다.The communication unit 300 may include a telematics or multimedia head unit, a communication modem for connection with external communication devices, and a display module for displaying information to a user.

통신 유닛(300)은 통신 모뎀을 이용하여 소프트웨어 센터로부터 차량에 배치된 엔드노드들(401~404)의 소프트웨어를 다운로드 할 수 있다. 여기서, 통신 유닛(300)은 차량이 주행 중인 경우에 소프트웨어 센터로부터 통신 유닛(300) 또는 엔드노드들(401~404)의 소프트웨어를 다운로드 할 수 있다. 통신 유닛(300)은 다운로드 된 소프트웨어가 통신 유닛(300)의 소프트웨어인지 또는 차량에 배치된 복수의 엔드노드 중 어느 엔드노드에 해당하는지 판단할 수 있다. 통신 유닛(300)은 판단 결과, 엔드노드들(401~404) 중 특정 엔드노드의 소프트웨어가 다운로드 된 경우, 판단 결과에 기초하여 소프트웨어의 업데이트가 필요한 타겟 엔드노드(401)로 소프트웨어를 전송할 수 있다. 이때, 통신 유닛(300)은 차량의 주행 중인 경우에 타겟 엔드노드(401)로 업데이트를 위한 소프트웨어를 전송할 수 있다.The communication unit 300 can download the software of the end nodes 401 to 404 disposed in the vehicle from the software center using the communication modem. Here, the communication unit 300 can download the software of the communication unit 300 or the end nodes 401 to 404 from the software center when the vehicle is running. The communication unit 300 can determine whether the downloaded software corresponds to the software of the communication unit 300 or to which end node among the plurality of end nodes disposed in the vehicle. As a result of the determination, the communication unit 300 can transmit the software to the target end node 401 that requires updating of the software based on the determination result when the software of the specific end node among the end nodes 401 to 404 is downloaded . At this time, the communication unit 300 may transmit software for updating to the target end node 401 when the vehicle is running.

또한, 통신 유닛(300)은 업데이트 예약 시간을 설정할 수 있다. 이때, 통신 유닛(300)은 이전에 설정했던 업데이트 예약 시간을 그대로 유지할 수도 있고, 사용자로부터 새로운 업데이트 예약 시간을 입력 받아 새롭데 업데이트 예약 시간을 설정할 수도 있다. 이를 위해서, 통신 유닛(300)은 디스플레이 화면에 업데이트 예약 시간의 유지 또는 변경을 위한 메뉴를 표시하여 사용자로부터 업데이트 예약 시간의 유지 또는 변경에 대한 정보를 입력 받을 수 있다. 그리고, 통신 유닛(300)은 설정된 업데이트 예약 시간을 저장하고, 타겟 엔드노드(401)로 전송할 수 있다. 여기서, 업데이트 예약 시간은 통신 유닛(300) 및 엔드노드들(401~404)의 소프트웨어의 업데이트에 적용될 수 있다.In addition, the communication unit 300 can set an update reservation time. At this time, the communication unit 300 may maintain the update reservation time set previously, or may set a new update reservation time by receiving a new update reservation time from the user. To this end, the communication unit 300 may display a menu for maintaining or changing the update reservation time on the display screen, and may receive information on maintenance or change of the update reservation time from the user. Then, the communication unit 300 can store the set update reservation time and transmit it to the target end node 401. Here, the update reservation time can be applied to updating the software of the communication unit 300 and the end nodes 401 to 404.

여기서, 차량이 주행 중인 경우 통신 유닛(300)의 PHY 계층은 노멀(normal) 상태이고, 시동이 꺼지면 PHY 계층이 슬립(sleep) 상태로 전환되고, 예약 시간이 되면 PHY 계층이 준비(ready) 상태로 상태로 전환되고, 소프트웨어의 업데이트가 완료되면 PHY 계층이 슬립(sleep) 상태로 전환될 수 있다.Here, when the vehicle is traveling, the PHY layer of the communication unit 300 is in a normal state. When the startup is off, the PHY layer is switched to a sleep state. When the reservation time comes, the PHY layer is ready And when the software update is completed, the PHY layer can be switched to a sleep state.

소프트웨어 센터로부터 통신 유닛(300)의 소프트웨어가 다운로드 된 경우, 통신 유닛(300)의 내부 메모리에 소프트웨어를 저장할 수 있다. 이후, 업데이트 예약 시간에 통신 유닛(300)이 웨이크업 되어 소프트웨어의 업데이트 동작을 수행할 수 있다. 차량이 시동이 꺼진 이후 주행하지 않는 경우에 소프트웨어의 업데이트 동작이 수행될 수 있다. 통신 유닛(300)의 소프트웨어의 업데이트 시, 통신 유닛(300)의 PHY 계층이 웨이크업 되고, PHY 계층의 PCS(Physical Coding Sublayer)를 제어하여 네트워크 요청(Network Request)이 엔드노드들(401~404)로 전송되지 않도록 할 수 있다. 즉, 통신 유닛(300)은 엔드노드들(401~404)로의 네트워크 요청 전송을 방지할 수 있다.When the software of the communication unit 300 is downloaded from the software center, the software can be stored in the internal memory of the communication unit 300. [ Then, at the update reservation time, the communication unit 300 can be woken up to perform the update operation of the software. The update operation of the software can be performed when the vehicle is not driven after the start is turned off. The PHY layer of the communication unit 300 is woken up and the PCS of the PHY layer is controlled so that the network request is transmitted to the end nodes 401 to 404 As shown in FIG. That is, communication unit 300 may prevent transmission of network requests to end nodes 401-404.

본 발명의 다른 실시 예로서, 통신 유닛(300)은 차량이 주행하지 않은 경우에도 소프트웨어 센터로부터 통신 유닛(300) 또는 엔드노드들(401~404)의 소프트웨어를 다운로드 할 수 있다. 이 경우, 차량의 시동이 꺼진 상태에서 통신 유닛(300)이 업데이트 예약 시점에 웨이크업하여 소프트웨어 센터로부터 통신 유닛(300) 또는 엔드노드들(401~404)의 소프트웨어를 다운로드 할 수 있다. 통신 유닛(300)의 소프트웨어가 다운로드 된 경우, 통신 유닛(300)은 소프트웨어의 업데이트를 수행함과 아울러, 엔드노드들(401~404)로의 네트워크 요청 전송을 방지할 수 있다.As another embodiment of the present invention, the communication unit 300 may download software of the communication unit 300 or the end nodes 401 to 404 from the software center even when the vehicle is not traveling. In this case, the communication unit 300 can wake up at the time of update reservation and download software of the communication unit 300 or the end nodes 401 to 404 from the software center in a state in which the vehicle is not started. When the software of the communication unit 300 is downloaded, the communication unit 300 can perform the update of the software and prevent transmission of the network request to the end nodes 401 to 404.

도 2를 결부하여 설명하면, 통신 유닛(300) 및 복수의 엔드노드들(401~404) 각각은 이더넷(ethernet) 기반의 차량 네트워크(network)에 접속되며, 설정된 예약 시간에 소프트웨어의 업데이트를 수행할 수 있다. 이더넷 기반의 차량 네트워크에서 통신 유닛(300)은 제1 통신 노드일 수 있고, 엔드노드들(401~404) 각각은 제2 통신 노드일 수 있다. 반대로, 이더넷 기반의 차량 네트워크에서 엔드노드들(401~404) 각각은 제1 통신 노드일 수 있고, 통신 유닛(300)은 제2 통신 노드일 수 있다.2, each of the communication unit 300 and the plurality of end nodes 401 to 404 is connected to an ethernet-based vehicle network and performs software update at a set reservation time can do. In an Ethernet-based vehicle network, the communication unit 300 may be a first communication node, and each of the end nodes 401-404 may be a second communication node. Conversely, in an Ethernet-based vehicle network, each of the end nodes 401-404 may be a first communication node, and the communication unit 300 may be a second communication node.

이러한, 통신 유닛(300) 및 복수의 엔드노드들(401~404) 각각은 PHY 계층 프로세서(212)를 포함하는 PHY 계층 유닛(210)과, 컨트롤러 프로세서(222)를 포함하는 컨트롤러 유닛(220)과, PHY 계층 유닛(210) 및 상기 컨트롤러 유닛(220) 각각에 의해 수행되는 적어도 하나의 명령이 저장된 메모리를 포함한다.Each of the communication unit 300 and the plurality of end nodes 401 to 404 includes a PHY layer unit 210 including a PHY layer processor 212 and a controller unit 220 including a controller processor 222. [ And at least one instruction executed by each of the PHY layer unit 210 and the controller unit 220 is stored.

여기서, 통신 유닛(300) 및 복수의 엔드노드들(401~404) 각각은 메모리에 저장된 적어도 하나의 명령을 통해서 다음의 동작을 수행할 수 있다. 복수의 엔드노드들(401~404) 각각은 차량의 주행 중 차량에 배치된 통신 유닛(300)으로부터 소프트웨어를 수신할 수 있다. 또한, 복수의 엔드노드들(401~404) 각각은 차량의 주행 중 수신된 소프트웨어를 메모리에 저장할 수 있다. 또한, 복수의 엔드노드들(401~404) 각각은 차량의 주행 중 통신 유닛(300)으로부터 소프트웨어의 업데이트 예약 시간을 수신할 수 있다. 그리고, 복수의 엔드노드들(401~404) 각각은 차량의 시동이 꺼진 이후, 상기 소프트웨어의 업데이트 예약 시간에 메모리에 저장된 소프트웨어의 업데이트를 수행할 수 있다.Here, each of the communication unit 300 and the plurality of end nodes 401 to 404 may perform the following operation through at least one command stored in the memory. Each of the plurality of end nodes 401 to 404 may receive software from the communication unit 300 disposed in the vehicle during running of the vehicle. In addition, each of the plurality of end nodes 401 to 404 may store the received software in the memory while driving the vehicle. In addition, each of the plurality of end nodes 401 to 404 can receive the software update reservation time from the running communication unit 300 of the vehicle. Then, each of the plurality of end nodes 401 to 404 may perform updating of the software stored in the memory at the update reservation time of the software after the vehicle is turned off.

이하, 복수의 엔드노드들(401~404) 중에서 소프트웨어의 업데이트가 이루어지는 엔드노드를 타겟 엔드노드(401)로 정의한다. 복수의 엔드노드들(401~404) 중에서 통신 유닛(300)으로부터 소프트웨어를 수신한 타겟 엔드노드(401)는 수신된 소프트웨어를 메모리에 저장할 수 있다. 타겟 엔드노드(401)는 소프트웨어의 수신 및 및 소프트웨어를 메모리에 저장하는 동작을 차량의 주행 중에 수행될 수 있다.Hereinafter, among the plurality of end nodes 401 to 404, an end node in which software is updated is defined as a target end node 401. The target end node 401 receiving the software from the communication unit 300 among the plurality of end nodes 401 to 404 may store the received software in a memory. The target end node 401 can be performed during the running of the vehicle to receive the software and to store the software in memory.

여기서, 차량의 주행 중에 타겟 엔드노드(401)의 소프트웨어의 업데이트가 이루어지는 경우, 소프트웨어 업데이트 중에는 타겟 엔드노드(401)가 정상적으로 동작하지 않게 된다. 따라서, 소프트웨어 업데이트로 인해 타겟 엔드노드(401)의 동작 불능을 방지하기 위해서, 타겟 엔드노드(401)는 소프트웨어의 업데이트를 바로 수행하지 않고, 기 설정된 예약 시간에 소프트웨어의 업데이트가 이루어질 수 있도록 메모리에 소프트웨어를 저장할 수 있다.Here, when the software of the target end node 401 is updated during the running of the vehicle, the target end node 401 does not normally operate during the software update. Therefore, in order to prevent the operation end of the target end node 401 from being caused by the software update, the target end node 401 does not directly perform the software update, but updates the software in the memory You can save the software.

타겟 엔드노드(401)는 차량의 시동이 꺼졌는지 판단하고, 시동이 꺼진 상태에서 소프트웨어 업데이트 시간에 메모리에 저장된 소프트웨어의 업데이트를 수행할 수 있다. 이때, 타겟 엔드노드(401)는 예약 시간에 웨이크업하여, 타겟 엔드노드(401)의 PHY 계층에 전력이 공급되도록 할 수 있다. 이때, 타겟 엔드노드(401)는 통신 유닛(300)으로 링크업(linkup)과 웨이크업 요청(wakeup request)를 전송할 수 있다.The target end node 401 can determine whether the vehicle is turned off and perform an update of the software stored in the memory at the software update time while the startup is turned off. At this time, the target end node 401 may wake up at the reserved time to supply power to the PHY layer of the target end node 401. At this time, the target end node 401 may send a linkup and a wakeup request to the communication unit 300.

타겟 엔드노드(401)는 소프트웨어의 업데이트 수행 후, 재 부팅을 수행하고, 소프트웨어의 업데이트가 정상적으로 수행되었는지 점검할 수 있다.The target end node 401 can perform a reboot after performing the software update and check whether the update of the software has been normally performed.

타겟 엔드노드(401)는 소프트웨어의 업데이트에 오류가 발생한 경우, 이전 소프트웨어를 복구할 수 있다. 반면, 타겟 엔드노드(401)는 소프트웨어의 업데이트가 정상적으로 수행된 경우에는 업데이트를 완료시킬 수 있다. 이때, 타겟 엔드노드(401)는 소프트웨어의 업데이트 결과를 통신 유닛(300)으로 전송할 수 있다.The target end node 401 can recover the previous software if an error occurs in updating the software. On the other hand, the target end node 401 can complete the update when the software update is normally performed. At this time, the target end node 401 can transmit the update result of the software to the communication unit 300.

여기서, 통신 유닛(300)은 타겟 엔드노드(401)에서 수신된 소프트웨어 업데이트 결과에 기초하여, 타겟 엔드노드(401)에서 소프트웨어의 업데이트가 성공한 경우에는 소프트웨어 센터(500)로부터 동일한 버전의 소프트웨어를 다운로드 하지 않을 수 있다. 한편, 통신 유닛(300)은 타겟 엔드노드(401)에서 소프트웨어의 업데이트가 실패한 경우에는 소프트웨어 센터(500)로부터 동일한 버전의 소프트웨어를 다시 다운로드 할 수 있다.Here, the communication unit 300 downloads the same version of software from the software center 500, if the update of the software on the target end node 401 is successful, based on the software update result received from the target end node 401 I can not. On the other hand, the communication unit 300 can download the same version of the software again from the software center 500 if the update of the software in the target end node 401 fails.

본 발명에서, 소프트웨어의 업데이트 시 타겟 엔드노드(401)를 제외한 다른 엔드노드들(402~404)이 웨이크업되지 않도록, 타겟 엔드노드(410)는 통신 유닛(300)으로 네트워크 요청(Network Request)의 전송방지를 요청할 수 있다.In the present invention, when updating the software, the target end node 410 transmits a network request to the communication unit 300 so that the end nodes 402 to 404 other than the target end node 401 are not woken up. Lt; / RTI >

여기서, 타겟 엔드노드(401)는 다음의 2가지 시점 중 적어도 하나의 시점에 통신 유닛(300)으로 네트워크 요청(Network Request)의 전송방지를 요청할 수 있다.Here, the target end node 401 may request the transmission of a network request to the communication unit 300 at least one of the following two points of view.

첫 번째, 타겟 엔드노드(401)는 업데이트 예약 시간에 웨이크업 되면서 PHY 계층에 전원을 공급함과 아울러, PHY 계층의 PCS(Physical Coding Sublayer)를 제어하여 네트워크 요청(Network Request)이 통신 유닛(300) 또는 다른 엔드노드들(402~404)로 전송되지 않도록 할 수 있다. 다른 예로서, 타겟 엔드노드(401)는 업데이트 예약 시간에 웨이크업 되면서 PHY 계층에 전원을 공급함과 아울러, 타겟 엔드노드(401)는 통신 유닛(300)으로 네트워크 요청(Network Request)의 전송방지를 요청할 수 있다. 즉, 타겟 엔드노드(401)는 통신 유닛(300) 또는 다른 엔드노드들(402~404)로의 네트워크 요청 전송을 방지할 수 있다.First, the target end node 401 wakes up at the update reservation time, supplies power to the PHY layer, controls the PCS (Physical Coding Sublayer) of the PHY layer, and transmits a network request to the communication unit 300 Or to other end nodes 402-404. As another example, the target end node 401 wakes up at the update reservation time and supplies power to the PHY layer. In addition, the target end node 401 prevents transmission of a network request to the communication unit 300 Can be requested. That is, the target end node 401 may prevent transmission of network requests to the communication unit 300 or other end nodes 402-404.

두 번째, 타겟 엔드노드(401)는 소프트웨어의 업데이트 동작을 수행한 이후, 소프트웨어 업데이트가 정상적으로 수행되었는지를 확인하기 위해서 재 부팅을 수행할 수 있다. 타겟 엔드노드(401)는 재 부팅을 수행한 후, PHY 계층에 전원을 공급함과 아울러, PHY 계층의 PCS(Physical Coding Sublayer)를 제어하여 네트워크 요청(Network Request)이 통신 유닛(300) 또는 다른 엔드노드들(402~404)로 전송되지 않도록 할 수 있다. 다른 예로서, 타겟 엔드노드(401)는 업데이트 예약 시간에 웨이크업 되면서 PHY 계층에 전원을 공급함과 아울러, 통신 유닛(300)으로 네트워크 요청(Network Request)의 전송방지를 요청할 수 있다.Second, the target end node 401 may perform a reboot to check whether the software update is normally performed after performing the update operation of the software. After rebooting, the target end node 401 supplies power to the PHY layer and controls the Physical Coding Sublayer (PCS) of the PHY layer so that a network request is transmitted to the communication unit 300 or another end It may not be transmitted to the nodes 402 to 404. As another example, the target end node 401 may supply power to the PHY layer while waking up at the update reservation time, and may request the communication unit 300 to prevent transmission of a network request.

통신 유닛(300)은 타겟 엔드노드(401)에서 네트워크 요청(예를 들면, Network Management message: NM 메시지)의 전송방지 요청이 수신되면 PHY 계층에 배치된 PCS(Physical Coding Sublayer)를 제어하여 네트워크 요청이 다른 엔드노드(402~404)들로 전송되지 않도록 한다. 한편, 다른 예로서, 통신 유닛(300)은 타겟 엔드노드(401)에서 네트워크 요청(예를 들면, Network Management message: NM 메시지)의 전송방지 요청이 수신되면 각 엔드노드들(402~404)의 PHY 단에 배치된 PCS(Physical Coding Sublayer)를 제어하여 네트워크 요청이 전송되지 않도록 할 수 있다.The communication unit 300 controls the PCS (Physical Coding Sublayer) disposed in the PHY layer when a request to transmit a network request (e.g., a Network Management message: NM message) is received from the target end node 401, Are not transmitted to the other end nodes (402 to 404). On the other hand, as another example, the communication unit 300 may receive a transmission request of a network request (for example, a network management message: NM message) from the target end node 401, The PCS (Physical Coding Sublayer) disposed at the PHY terminal can be controlled to prevent the network request from being transmitted.

이를 통해, 소프트웨어의 업데이트 시, 타겟 엔드노드(401)를 제외한 다른 엔드노드들(402~404)이 웨이크업되지 않도록 할 수 있다. 즉, 타겟 엔드노드(401)의 소프트웨어 업데이트 시, 다른 엔드노드들(402~404)이 웨이크업 되는 차량의 전력 소모가 증가하게 됨으로, 이를 방지하기 위해서 통신 유닛(300)은 타겟 엔드노드(401)만 웨이크업 시킬 수 있다.This allows the end nodes 402-404 other than the target end node 401 to be prevented from waking up upon software update. That is, at the time of software update of the target end node 401, the power consumption of the vehicle in which the other end nodes 402 to 404 are woken up increases. In order to prevent this, the communication unit 300 transmits the target end node 401 ) Can only be woken up.

도 4는 본 발명의 실시 예에 따른 차량의 소프트웨어 업데이트 방법을 나타내는 도면이다.4 is a diagram illustrating a software update method of a vehicle according to an embodiment of the present invention.

도 4를 참조하면, 차량에 배치된 통신 유닛(300)은 통신 모뎀을 이용하여 소프트웨어 센터(500)로부터 소프트웨어를 다운로드 할 수 있다(S10). 여기서, 통신 유닛(300)으로 텔레매틱스(telematics) 또는 멀티미디어 헤드 유닛이 적용될 수 있으며, 차량의 주행 중에 소프트웨어의 다운로드가 이루어질 수 있다.Referring to FIG. 4, the communication unit 300 disposed in the vehicle may download software from the software center 500 using a communication modem (S10). Here, a telematics or multimedia head unit may be applied to the communication unit 300, and downloading of software may be performed while the vehicle is running.

이어서, 통신 유닛(300)은 다운로드 된 소프트웨어가 차량에 배치된 복수의 엔드노드 중 어느 엔드노드에 해당하는지 판단할 수 있다. 그리고, 통신 유닛(300)은 판단 결과에 기초하여 소프트웨어의 업데이트가 필요한 타겟 엔드노드(401)로 소프트웨어를 전송할 수 있다(S20). 차량이 주행일 때 타겟 엔드노드(401)의 PHY 계층은 노멀(normal) 상태이며, 타겟 엔드노드(401)는 통신 유닛(300)으로부터 소프트웨어를 수신할 수 있다.Then, the communication unit 300 can determine which of the plurality of end nodes disposed in the vehicle corresponds to the downloaded software. Then, the communication unit 300 can transmit the software to the target end node 401 that requires updating of the software based on the determination result (S20). The PHY layer of the target end node 401 is in a normal state when the vehicle is in motion and the target end node 401 can receive software from the communication unit 300. [

이어서, 통신 유닛(300)으로부터 소프트웨어를 수신한 타겟 엔드노드(401)는 수신된 소프트웨어를 메모리에 저장할 수 있다(S30). 이때, 타겟 엔드노드(401)는 소프트웨어의 업데이트를 바로 수행하지 않고, 기 설정된 예약 시간에 소프트웨어의 업데이트가 이루어질 수 있도록 메모리에 소프트웨어를 저장할 수 있다.Subsequently, the target end node 401 receiving the software from the communication unit 300 may store the received software in memory (S30). At this time, the target end node 401 may store the software in the memory so that the software update can be performed at a predetermined scheduled time without directly performing the software update.

이어서, 통신 유닛(300)은 업데이트 예약 시간을 설정할 수 있다. 이때, 이전에 설정했던 업데이트 예약 시간을 그대로 유지할 수도 있고, 사용자로부터 새로운 업데이트 예약 시간을 입력 받아 새롭데 업데이트 예약 시간을 설정할 수도 있다.Then, the communication unit 300 can set an update reservation time. At this time, the previously set update reservation time can be maintained, or a new update reservation time can be input from the user and a new update reservation time can be set.

이어서, 통신 유닛(300)은 설정된 업데이트 예약 시간에 대한 정보를 타겟 엔드노드(401)로 전송할 수 있다(S40). 이를 통해, 예약 시간에 타겟 엔드노드(401)가 웨이크업 될 수 있도록 할 수 있다. 차량의 주행이 완료된 후 시동이 꺼지면 타겟 엔드노드(401)는 PHY 계층을 노멀(normal) 상태에서 슬립(sleep) 상태로 전환시킬 수 있다.Then, the communication unit 300 can transmit information on the set update reservation time to the target end node 401 (S40). This allows the target end node 401 to be woken up at the scheduled time. When the start is turned off after the vehicle is completed, the target end node 401 can switch the PHY layer from a normal state to a sleep state.

여기서, 슬립 상태의 타겟 엔드노드(401)는 설정된 예약 시간이 되면 PHY 계층을 슬립(sleep) 상태에서 준비(ready)로 전환시킬 수 있다. 타겟 엔드노드(401)는 예약 시간에 웨이크업하여 타겟 엔드노드(401)의 PHY 계층에 전력을 공급되도록 할 수 있다. 타겟 엔드노드(401)는 통신 유닛(300)으로 링크업(linkup)과 웨이크업 요청(wakeup request)를 전송할 수 있다.Here, the target end node 401 in the sleep state can switch the PHY layer from sleep state to ready state at the preset reservation time. The target end node 401 may wake up at the scheduled time to power the PHY layer of the target end node 401. [ The target end node 401 may send a linkup and a wakeup request to the communication unit 300.

이때, 타겟 엔드노드(401)는 다른 엔드노드들이 웨이크업되지 않도록, PHY 계층에 배치된 PCS(Physical Coding Sublayer)를 제어하여 네트워크 요청(Network Request)이 통신 유닛(300) 또는 다른 엔드노드들(402~404)로 전송되지 않도록 할 수 있다.At this time, the target end node 401 controls a Physical Coding Sublayer (PCS) disposed in the PHY layer so that the other end nodes are not woken up so that a network request is transmitted to the communication unit 300 or other end nodes 402 to 404, respectively.

다른 예로서, 타겟 엔드노드(401)는 다른 엔드노드들이 웨이크업되지 않도록, 통신 유닛(300)으로 네트워크 요청(Network Request)의 전송방지를 요청할 수 있다. 통신 유닛(300)은 타겟 엔드노드(401)에서 네트워크 요청의 전송방지가 수신되면 통신 유닛(300)의 PHY 계층에 배치된 PCS(Physical Coding Sublayer)를 제어하여 네트워크 요청이 다른 엔드노드들(402~404)로 전송되지 않도록 한다.As another example, the target end node 401 may request the transmission of a network request to the communication unit 300 to prevent other end nodes from being woken up. The communication unit 300 controls the Physical Coding Sublayer (PCS) disposed at the PHY layer of the communication unit 300 when the transmission inhibition of the network request is received at the target end node 401 so that the network request is transmitted to the other end nodes 402 To 404).

이를 통해, 소프트웨어의 업데이트 시, 타겟 엔드노드(401)를 제외한 다른 엔드노드들(402~404)이 웨이크업되지 않도록 할 수 있다.This allows the end nodes 402-404 other than the target end node 401 to be prevented from waking up upon software update.

타겟 엔드노드(401)를 웨이크업은 차량의 시동이 꺼진 상태, 즉, 차량이 주행하지 않는 상태에서 이루어 질 수 있다. 만약, 업데이트 예약 시간이 되었더라도 차량의 시동이 켜진 상태인 경우에는 타겟 엔드노드(401)의 소프트웨어의 업데이트가 수행되지 않도록 한다.Wake-up of the target end node 401 can be performed in a state in which the vehicle is not started, that is, in a state in which the vehicle is not running. If the start time of the vehicle is turned on even at the update reservation time, the software update of the target end node 401 is not performed.

이어서, 타겟 엔드노드(401)는 메모리에 저장된 소프트웨어의 업데이트를 수행할 수 있다(S60). 이때, 차량의 시동이 꺼져 차량이 주행하지 않는 상태에서 타겟 엔드노드(401)에서의 소프트웨어의 업데이트가 이루질 수 있다.Subsequently, the target end node 401 may perform an update of the software stored in the memory (S60). At this time, updating of the software at the target end node 401 may be performed in a state where the vehicle is not started and the vehicle is not running.

이어서, 타겟 엔드노드(401)는 소프트웨어의 업데이트가 정상적으로 수행된 경우에는 업데이트를 완료시킬 수 있다(S70). 한편, 타겟 엔드노드(401)는 소프트웨어의 업데이트에 오류가 발생한 경우, 이전 소프트웨어를 복구할 수 있다. 타겟 엔드노드(401)는 소프트웨어의 업데이트 결과를 통신 유닛(300)으로 전송할 수 있다.Subsequently, the target end node 401 can complete the update if the software update is normally performed (S70). Meanwhile, the target end node 401 can recover the previous software when an error occurs in updating the software. The target end node 401 may transmit the update result of the software to the communication unit 300. [

한편, S50의 설명에서 타겟 엔드노드(401)가 통신 유닛(300)으로 네트워크 요청(Network Request)의 전송방지를 요청할 수 있는 것으로 설명하였다. 그러나 이에 한정되지 않고 본 발명의 다른 예로서, S60 이후에 타겟 엔드노드(401)는 소프트웨어의 업데이트 동작을 수행한 이후, 소프트웨어 업데이트가 정상적으로 수행되었는지를 확인하기 위해서 재 부팅을 수행할 수 있다. 타겟 엔드노드(401)는 재 부팅을 수행한 후 PHY 계층에 전원을 공급함과 아울러, 통신 유닛(300)으로 네트워크 요청(Network Request)의 전송방지를 요청할 수 있다. 소프트웨어의 업데이트가 완료될 때까지 타겟 엔드노드(401)의 PHY 계층은 준비(ready) 상태를 유지할 수 있다. 타겟 엔드노드(401)는 소프트웨어의 업데이트가 완료된 후, PHY 계층을 준비(ready) 상태에서 슬립(sleep) 상태로 전환시킬 수 있다.In the description of S50, it is described that the target end node 401 can request the communication unit 300 to prevent transmission of a network request. However, the present invention is not limited to this. As another example of the present invention, after performing the update operation of the software, the target end node 401 may perform a reboot in order to check whether the software update has been normally performed. The target end node 401 may supply power to the PHY layer after rebooting and may request the communication unit 300 to prevent transmission of a network request. The PHY layer of the target end node 401 may remain ready until the update of the software is completed. The target end node 401 may transition the PHY layer from a ready state to a sleep state after the software update is completed.

도 5는 차량의 소프트웨어 업데이트 방법의 일 예로서, 통신유닛과 타겟 엔드노드의 동작을 나타내는 도면이다.5 is a diagram showing an operation of a communication unit and a target end node as an example of a software update method of a vehicle.

도 5를 참조하면, 차량에 배치된 통신 유닛(300)은 차량이 주행 중인지 판단한다(S110).Referring to FIG. 5, the communication unit 300 disposed in the vehicle determines whether the vehicle is running (S110).

S110의 판단 결과, 차량이 주행 중인 경우, 통신 유닛(300)은 통신 모뎀을 이용하여 소프트웨어 센터(500)로부터 차량에 배치된 엔드노드들의 소프트웨어를 다운로드 할 수 있다(S120). 한편, S110의 판단 결과, 차량이 주행하지 않는 경우, 통신 유닛(300)은 S110 이전 단계로 돌아가 차량이 주행 중인지를 다시 판단할 수 있다.As a result of the determination in S110, when the vehicle is running, the communication unit 300 may download the software of the end nodes disposed in the vehicle from the software center 500 using the communication modem (S120). On the other hand, if it is determined in step S110 that the vehicle is not traveling, the communication unit 300 may return to step S110 to determine whether the vehicle is traveling.

여기서, 통신 유닛(300)으로 텔레매틱스(telematics) 또는 멀티미디어 헤드 유닛이 적용될 수 있으며, 차량의 주행 중에 소프트웨어의 다운로드가 이루어질 수 있다. 또한, 차량에 배치된 엔드노드(401~404)들 각각은 차량의 제어장치(예로서, 브레이크 제어장치, 현가 제어장치, 속도 제어장치 등)가 될 수 있다.Here, a telematics or multimedia head unit may be applied to the communication unit 300, and downloading of software may be performed while the vehicle is running. Further, each of the end nodes 401 to 404 disposed in the vehicle may be a control device of the vehicle (for example, a brake control device, a suspension control device, a speed control device, and the like).

이어서, 통신 유닛(300)은 다운로드 된 소프트웨어가 차량에 배치된 복수의 엔드노드 중 어느 엔드노드에 해당하는지 판단할 수 있다. 그리고, 통신 유닛(300)은 판단 결과에 기초하여 소프트웨어의 업데이트가 필요한 타겟 엔드노드(401)로 소프트웨어를 전송할 수 있다(S130). 이때, 통신 유닛(300)은 차량의 주행 중인 경우에 타겟 엔드노드(401)로 소프트웨어를 전송할 수 있다. 차량이 주행일 때 타겟 엔드노드(401)의 PHY 계층은 노멀(normal) 상태이며, 타겟 엔드노드(401)는 통신 유닛(300)으로부터 소프트웨어를 수신할 수 있다.Then, the communication unit 300 can determine which of the plurality of end nodes disposed in the vehicle corresponds to the downloaded software. Then, the communication unit 300 can transmit the software to the target end node 401 that requires updating of the software based on the determination result (S130). At this time, the communication unit 300 can transmit the software to the target end node 401 when the vehicle is running. The PHY layer of the target end node 401 is in a normal state when the vehicle is in motion and the target end node 401 can receive software from the communication unit 300. [

이어서, 통신 유닛(300)으로부터 소프트웨어를 수신한 타겟 엔드노드(401)는 수신된 소프트웨어를 메모리에 저장할 수 있다(S140). 이때, 차량의 주행 중에 타겟 엔드노드(401)의 소프트웨어의 업데이트가 이루어지는 경우, 소프트웨어 업데이트 중에는 타겟 엔드노드(401)가 정상적으로 동작하지 않게 된다. 따라서, 소프트웨어 업데이트로 인해 타겟 엔드노드(401)의 동작 불능을 방지하기 위해서, 타겟 엔드노드(401)는 소프트웨어의 업데이트를 바로 수행하지 않고, 기 설정된 예약 시간에 소프트웨어의 업데이트가 이루어질 수 있도록 메모리에 소프트웨어를 저장할 수 있다. 타겟 엔드노드(410)는 설정된 예약 시간에 차량이 주행 중인 경우에는 소프트웨어의 업데이트를 수행하지 않고, 차량이 주행하지 않는 경우에 소프트웨어의 업데이트를 수행할 수 있다.Subsequently, the target end node 401 receiving the software from the communication unit 300 may store the received software in memory (S140). At this time, when the software of the target end node 401 is updated during the running of the vehicle, the target end node 401 does not normally operate during the software update. Therefore, in order to prevent the operation end of the target end node 401 from being caused by the software update, the target end node 401 does not directly perform the software update, but updates the software in the memory You can save the software. The target end node 410 can perform the update of the software in the case where the vehicle does not run while the vehicle is running, without performing the update of the software.

이어서, 통신 유닛(300)은 업데이트 예약 시간을 설정할 수 있다(S150). 이때, 통신 유닛(300)은 이전에 설정했던 업데이트 예약 시간을 그대로 유지할 수도 있고, 사용자로부터 새로운 업데이트 예약 시간을 입력 받아 새롭데 업데이트 예약 시간을 설정할 수도 있다. 이를 위해서, 통신 유닛(300)은 디스플레이 화면에 업데이트 예약 시간의 유지 또는 변경을 위한 메뉴를 표시하여 사용자로부터 업데이트 예약 시간의 유지 또는 변경에 대한 정보를 입력 받을 수 있다. 그리고, 통신 유닛(300)은 설정된 업데이트 예약 시간을 타겟 엔드노드(401)로 전송할 수 있다.Subsequently, the communication unit 300 can set an update reservation time (S150). At this time, the communication unit 300 may maintain the update reservation time set previously, or may set a new update reservation time by receiving a new update reservation time from the user. To this end, the communication unit 300 may display a menu for maintaining or changing the update reservation time on the display screen, and may receive information on maintenance or change of the update reservation time from the user. Then, the communication unit 300 can transmit the set update reservation time to the target end node 401. [

이어서, 타겟 엔드노드(401)는 차량의 시동이 꺼졌는지 판단한다(S160). 위에서 설명했듯이 차량의 주행 중에 타겟 엔드노드(401)의 소프트웨어 업데이트가 이루어지면 타겟 엔드노드(401)가 정상적으로 동작하지 않을 수 있음으로, 이를 방지하기 위해서, 타겟 엔드노드(401)는 소프트웨어의 업데이트 전에 차량의 시동이 꺼졌는지를 판단 할 수 있다.Subsequently, the target end node 401 determines whether the vehicle is turned off (S160). As described above, when the software update of the target end node 401 is performed during the running of the vehicle, the target end node 401 may not normally operate. To prevent this, It can be determined whether or not the starting of the vehicle is turned off.

S160의 판단 결과, 차량의 시동이 꺼지지 않은 경우, 타겟 엔드노드(401)는 S160 이전 단계로 돌아가 차량의 시동이 꺼졌는지를 다시 판단 할 수 있다.If it is determined in step S160 that the start of the vehicle has not been turned off, the target end node 401 may return to the step before step S160 to again determine whether the start of the vehicle has been turned off.

한편, S160의 판단 결과, 차량의 시동이 꺼진 경우, 타겟 엔드노드(401)는 PHY 계층을 노멀(normal) 상태에서 슬립(sleep) 상태로 전환시킬 수 있다.On the other hand, if it is determined in step S160 that the vehicle is turned off, the target end node 401 may switch the PHY layer from a normal state to a sleep state.

타겟 엔드노드(401)는 현재 시간이 업데이트 예약 시간이 되었는지 판단할 수 있다(S170).The target end node 401 may determine whether the current time is the update reservation time (S170).

S170의 판단 결과, 현재 시간이 업데이트 예약 시간이 아닌 경우, 타겟 엔드노드(401)은 S170 이전 단계로 돌아가 현재 시간이 업데이트 예약 시간이 되었는지 다시 판단할 수 있다.If it is determined in step S170 that the current time is not the update reservation time, the target end node 401 may return to the step before step S170 to determine again whether the current time is the update reservation time.

한편, S170의 판단 결과, 현재 시간이 업데이트 예약 시간인 경우, 타겟 엔드노드(401)는 PHY 계층을 슬립(sleep) 상태에서 준비(ready)로 전환시킬 수 있다. 타겟 엔드노드(401)는 설정된 업데이트 예약 시간에 ECU를 웨이크업 시킬 수 있다(S180).On the other hand, if it is determined in step S170 that the current time is the update reservation time, the target end node 401 may change the PHY layer from a sleep state to a ready state. The target end node 401 can wake up the ECU at the set update reservation time (S180).

여기서, 타겟 엔드노드(401)는 예약 시간에 웨이크업하여 타겟 엔드노드(401)의 PHY 계층에 전력을 공급되도록 할 수 있다. 타겟 엔드노드(401)는 통신 유닛(300)으로 링크업(linkup)과 웨이크업 요청(wakeup request)를 전송할 수 있다.Here, the target end node 401 may wake up at the reserved time and supply power to the PHY layer of the target end node 401. [ The target end node 401 may send a linkup and a wakeup request to the communication unit 300.

이때, 타겟 엔드노드(401)는 다른 엔드노드들(402~404)이 웨이크업되지 않도록, PHY 계층에 배치된 PCS(Physical Coding Sublayer)를 제어하여 네트워크 요청(Network Request)이 통신 유닛(300) 또는 다른 엔드노드들(402~404)로 전송되지 않도록 할 수 있다.At this time, the target end node 401 controls the PCS (Physical Coding Sublayer) disposed in the PHY layer so that the other end nodes 402 to 404 are not woken up, and a network request is transmitted to the communication unit 300 Or to other end nodes 402-404.

다른 예로서, 타겟 엔드노드(401)는 다른 엔드노드들이 웨이크업되지 않도록, 통신 유닛(300)으로 네트워크 요청(Network Request)의 전송방지를 요청할 수 있다. 통신 유닛(300)은 타겟 엔드노드(401)에서 네트워크 요청의 전송방지가 수신되면 통신 유닛(300)의 PHY 계층에 배치된 PCS(Physical Coding Sublayer)를 제어하여 네트워크 요청이 다른 엔드노드들(402~404)로 전송되지 않도록 한다.As another example, the target end node 401 may request the transmission of a network request to the communication unit 300 to prevent other end nodes from being woken up. The communication unit 300 controls the Physical Coding Sublayer (PCS) disposed at the PHY layer of the communication unit 300 when the transmission inhibition of the network request is received at the target end node 401 so that the network request is transmitted to the other end nodes 402 To 404).

또 다른 예로서, 타겟 엔드노드(401)는 다른 엔드노드들(402~404)이 웨이크업되지 않도록, 다른 엔드노드(402~404)로 네트워크 요청(Network Request)의 전송방지를 요청할 수도 있다. 이를 통해, 소프트웨어의 업데이트 시, 타겟 엔드노드(401)를 제외한 다른 엔드노드들이 웨이크업되지 않도록 할 수 있다.As another example, the target end node 401 may request the transmission of a network request to the other end nodes 402-404 so that the other end nodes 402-404 are not woken up. In this manner, when the software is updated, the end nodes other than the target end node 401 can be prevented from being woken up.

즉, 소프트웨어의 예약 시간에 타겟 엔드노드(401)의 PHY 계층에 전력이 공급되어 타겟 엔드노드(401)의 ECU를 웨이크업 시키고, 타겟 엔드노드(401)를 제외한 다른 엔드노드들(402~404)은 웨이크업 시키지 않는다. 즉, 통신 유닛(300)은 소프트웨어 업데이트가 필요한 타겟 엔드노드(401)만 웨이크업 시키고, 네트워크를 슬립 상태로 유지시켜 타겟 엔드노드(401)를 제외한 다른 엔드노드들은 웨이크업 시키지 않는다(S190). 여기서, 타겟 엔드노드(401)는 PHY 계층은 준비(ready) 상태를 유지하고, 네트워크의 다른 엔드노드들(402~404)은 슬립(sleep) 상태를 유지한다.That is, power is supplied to the PHY layer of the target end node 401 to wake up the ECU of the target end node 401 at the reserved time of the software, and the other end nodes 402 to 404 Does not wake up. That is, the communication unit 300 wakes up only the target end node 401 that requires a software update, maintains the network in a sleep state, and does not wake up other end nodes except for the target end node 401 (S190). Here, the target end node 401 maintains the PHY layer in a ready state, and other end nodes 402 to 404 of the network remain in a sleep state.

이어서, 타겟 엔드노드(401)의 ECU는 메모리에 저장된 소프트웨어의 업데이트를 수행할 수 있다(S200). 이때, 차량의 시동이 꺼져 차량이 주행하지 않는 상태에서 타겟 엔드노드(401)에서의 소프트웨어의 업데이트가 이루질 수 있다.Subsequently, the ECU of the target end node 401 may perform an update of the software stored in the memory (S200). At this time, updating of the software at the target end node 401 may be performed in a state where the vehicle is not started and the vehicle is not running.

이어서, 타겟 엔드노드(401)는 소프트웨어의 업데이트 수행 후, 재 부팅을 수행할 수 있다(S210).Subsequently, the target end node 401 may perform a reboot after performing the software update (S210).

이어서, 타겟 엔드노드(401)는 소프트웨어의 업데이트가 정상적으로 수행되었는지 점검할 수 있다(S220).Subsequently, the target end node 401 can check whether the software update has been normally performed (S220).

이어서, 타겟 엔드노드(401)는 소프트웨어의 업데이트의 성공 여부를 판단할 수 있다(S230).Then, the target end node 401 can determine whether the software update is successful (S230).

이어서, S230의 판단 결과, 타겟 엔드노드(401)는 소프트웨어의 업데이트에 오류가 발생한 경우, 이전 소프트웨어를 복구할 수 있다(S240). 이때, 시동이 켜진 이후에 타겟 엔드노드(401)가 정상적으로 동작할 수 있도록 업데이트 오류가 발생한 소프트웨어는 삭제하고, 이전 소프트웨어를 복구할 수 있다.As a result of the determination in S230, the target end node 401 can recover the previous software when an error occurs in updating the software (S240). At this time, after the start-up is turned on, the software with the update error can be deleted and the previous software can be restored so that the target end node 401 can operate normally.

한편, S230의 판단 결과, 타겟 엔드노드(401)는 소프트웨어의 업데이트가 정상적으로 수행된 경우에는 업데이트를 완료시킬 수 있다(S250).As a result of the determination in S230, if the software update is normally performed, the target end node 401 can complete the update (S250).

이어서, 타겟 엔드노드(401)는 소프트웨어의 업데이트 결과를 통신 유닛(300)으로 전송할 수 있다. 이때, 타겟 엔드노드(401)는 차량의 시동이 켜진 이후에 소프트웨어의 업데이트 결과를 통신 유닛(300)으로 전송할 수 있다.The target end node 401 may then send the update result of the software to the communication unit 300. At this time, the target end node 401 may transmit the update result of the software to the communication unit 300 after the start-up of the vehicle is turned on.

소프트웨어의 업데이트가 완료될 때까지 타겟 엔드노드(401)의 PHY 계층은 준비(ready) 상태를 유지할 수 있다. 타겟 엔드노드(401)는 소프트웨어의 업데이트가 완료된 후, PHY 계층을 준비(ready) 상태에서 슬립(sleep) 상태로 전환시킬 수 있다.The PHY layer of the target end node 401 may remain ready until the update of the software is completed. The target end node 401 may transition the PHY layer from a ready state to a sleep state after the software update is completed.

이후, 통신 유닛(300)은 타겟 엔드노드(401)의 소프트웨어 업데이트 결과에 기초하여, 타겟 엔드노드(401)에서 소프트웨어의 업데이트가 성공한 경우에는 소프트웨어 센터(500)로부터 동일한 버전의 소프트웨어를 다운로드 하지 않을 수 있다. 한편, 통신 유닛(300)은 타겟 엔드노드(401)에서 소프트웨어의 업데이트가 실패한 경우에는 소프트웨어 센터(500)로부터 동일한 버전의 소프트웨어를 다시 다운로드 할 수 있다. 이때, 통신 유닛(300)은 S120 내지 S250 동작을 재 수행하여 타겟 엔드노드(401)의 소프트웨어 업데이트를 재 수행할 수 있다.The communication unit 300 then determines whether to download the same version of software from the software center 500 if the software update on the target end node 401 is successful based on the software update result of the target end node 401 . On the other hand, the communication unit 300 can download the same version of the software again from the software center 500 if the update of the software in the target end node 401 fails. At this time, the communication unit 300 can perform the software update of the target end node 401 again by performing the operations of S120 to S250 again.

한편, S180의 설명에서 타겟 엔드노드(401)가 통신 유닛(300)으로 네트워크 요청(Network Request)의 전송방지를 요청할 수 있는 것으로 설명하였다. 그러나 이에 한정되지 않고 본 발명의 다른 예로서, S210에서 타겟 엔드노드(401)는 소프트웨어의 업데이트 동작을 수행한 이후, 소프트웨어 업데이트가 정상적으로 수행되었는지를 확인하기 위해서 재 부팅을 수행할 수 있다. 타겟 엔드노드(401)는 재 부팅을 수행한 후 PHY 계층에 전원을 공급함과 아울러, PHY 계층에 배치된 PCS(Physical Coding Sublayer)를 제어하여 네트워크 요청(Network Request)이 통신 유닛(300) 또는 다른 엔드노드들(402~404)로 전송되지 않도록 할 수 있다. 다른 예로서, 타겟 엔드노드(401)는 다른 엔드노드들이 웨이크업되지 않도록, 통신 유닛(300)으로 네트워크 요청(Network Request)의 전송방지를 요청할 수 있다.In the description of S180, it is described that the target end node 401 can request the communication unit 300 to prevent transmission of a network request. However, the present invention is not limited to this. As another example of the present invention, in S210, the target end node 401 may perform a software update operation and then reboot to check whether software update has been normally performed. The target end node 401 supplies power to the PHY layer after rebooting and controls a PCS (Physical Coding Sublayer) disposed in the PHY layer to transmit a network request to the communication unit 300 or another End nodes 402-404. As another example, the target end node 401 may request the transmission of a network request to the communication unit 300 to prevent other end nodes from being woken up.

타겟 엔드노드(401)의 소프트웨어를 예약 업데이트 방법뿐만 아니라, 차량진단장치(On Board Diagnostics: OBD)를 이용하여 타겟 엔드노드(401)의 소프트웨어를 업데이트할 때에도 도 5를 참조하여 설명한 차량의 소프트웨어 업데이트 방법을 적용할 수 있다. 이 경우, 차량의 시동이 꺼진 상태에서 차량진단장치(OBD)를 차량의 네트워크에 연결하여 타겟 엔드노드(401)를 웨이크업 시킨 후, S190 내지 S250 동작을 수행하여 타겟 엔드노드(401)의 소프트웨어를 업데이트 할 수 있다. 이때, 타겟 엔드노드(401)는 다른 엔드노드들(402~404)이 웨이크업되지 않도록, PHY 계층에 배치된 PCS(Physical Coding Sublayer)를 제어하여 네트워크 요청(Network Request)이 통신 유닛(300) 또는 다른 엔드노드들(402~404)로 전송되지 않도록 할 수 있다.When updating the software of the target end node 401 using the onboard diagnostics (OBD) as well as the method of updating the software of the target end node 401, the software update of the vehicle described with reference to Fig. 5 Method can be applied. In this case, after the target end node 401 is woken up by connecting the vehicle diagnostic apparatus OBD to the vehicle's network in the state where the vehicle is not turned on, the target end node 401 performs the operations S190 to S250, Can be updated. At this time, the target end node 401 controls the PCS (Physical Coding Sublayer) disposed in the PHY layer so that the other end nodes 402 to 404 are not woken up, and a network request is transmitted to the communication unit 300 Or to other end nodes 402-404.

다른 예로서, 타겟 엔드노드(401)는 다른 엔드노드들(402~404)이 웨이크업되지 않도록, 통신 유닛(300)으로 네트워크 요청(Network Request)의 전송방지를 요청할 수 있다. 통신 유닛(300)은 타겟 엔드노드(401)에서 네트워크 요청의 전송방지가 수신되면 PHY 계층에 배치된 PCS(Physical Coding Sublayer)를 제어하여 네트워크 요청이 다른 엔드노드들(402~404)로 전송되지 않도록 한다.As another example, the target end node 401 may request the transmission of a network request to the communication unit 300 to prevent other end nodes 402-404 from being woken up. The communication unit 300 controls the PCS (Physical Coding Sublayer) disposed at the PHY layer when the transmission request of the network request is received at the target end node 401 so that the network request is not transmitted to the other end nodes 402 to 404 .

본 발명의 실시 예에 따른 차량의 소프트웨어 업데이트 방법 및 장치는 소프트웨어의 업데이트 시, 이더넷 네트워크에 연결된 복수의 엔드노드 중에서 타겟 엔드노드만을 웨이크업 시켜 소프트웨어의 업데이트로 인한 차량의 전력 소모를 줄일 수 있다.A method and an apparatus for updating software of a vehicle according to an embodiment of the present invention can wake up only a target end node among a plurality of end nodes connected to an Ethernet network to reduce power consumption of a vehicle due to updating of software.

또한, 본 발명의 실시 예에 따른 차량의 소프트웨어 업데이트 방법 및 장치는 소프트웨어의 업데이트 시, 차량의 시동이 꺼진 상태에서 타겟 엔드노드의 소프트웨어 업데이트가 수행되도록 함으로써 소프트웨어 업데이트의 오동작을 방지할 수 있다.In addition, the software update method and apparatus of the vehicle according to the embodiment of the present invention can prevent malfunction of the software update by updating the software so that the software update of the target end node is performed while the vehicle is turned off.

또한, 본 발명의 실시 예에 따른 차량의 소프트웨어 업데이트 방법 및 장치는 타겟 엔드노드에서의 소프트웨어 업데이트 결과를 통신 유닛이 수신하고, 통신 유닛이 소프트웨어 업데이트 결과에 기초하여 소프트웨어 업데이트를 재시도 할 수 있다.In addition, the software update method and apparatus of the vehicle according to the embodiment of the present invention can receive the software update result at the target end node by the communication unit, and the communication unit can retry the software update based on the software update result.

본 발명에 따른 방법들은 다양한 컴퓨터 수단을 통해 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 컴퓨터 판독 가능 매체에 기록되는 프로그램 명령은 본 발명을 위해 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.The methods according to the present invention can be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer readable medium. The computer readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions recorded on the computer readable medium may be those specially designed and constructed for the present invention or may be available to those skilled in the computer software.

컴퓨터 판독 가능 매체의 예에는 롬(rom), 램(ram), 플래시 메모리(flash memory) 등과 같이 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러(compiler)에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터(interpreter) 등을 사용해서 컴퓨터에 의해 실행될 수 있는 고급 언어 코드를 포함한다. 상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 적어도 하나의 소프트웨어 모듈로 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.Examples of computer readable media include hardware devices that are specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those generated by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate with at least one software module to perform the operations of the present invention, and vice versa.

이상 실시 예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined in the appended claims. It will be possible.

100: 게이트웨이
110, 110-1, 110-2, 120, 130: 스위치
111, 112, 113, 121, 122, 123, 131, 132, 133: 엔드노드
200: 통신 노드
210: PHY 계층 유닛
220: 컨트롤러 유닛
300: 통신 유닛
401~404: 엔드노드
500: 소프트웨어 센터
100: Gateway
110, 110-1, 110-2, 120, 130: switch
111, 112, 113, 121, 122, 123, 131, 132, 133:
200: communication node
210: PHY layer unit
220: Controller unit
300: communication unit
401 to 404: End node
500: Software Center

Claims (20)

이더넷(ethernet) 기반의 차량 네트워크(network)를 구성하는 제1 통신 노드의 동작 방법으로서,
슬립 상태에서 준비 상태로 전환하여 상기 제1 통신 노드의 PHY 계층을 웨이크업 시키는 단계;
상기 차량 네트워크에 접속된 다른 통신 노드로 네트워크 요청 전송을 방지하는 단계; 및
상기 소프트웨어의 업데이트를 수행하는 단계;를 포함하는,
제1 통신 노드의 동작 방법.
1. A method of operating a first communication node comprising an ethernet-based vehicle network,
Switching from a sleep state to a ready state to wake up the PHY layer of the first communication node;
Preventing transmission of a network request to another communication node connected to the vehicle network; And
And performing an update of the software.
A method of operating a first communication node.
청구항 1에 있어서,
상기 제1 통신 노드의 소프트웨어의 업데이트 시 상기 슬립 상태에서 준비 상태로 전환이 수행되는,
제1 통신 노드의 동작 방법.
The method according to claim 1,
The transition from the sleep state to the ready state is performed at the time of updating the software of the first communication node,
A method of operating a first communication node.
청구항 2에 있어서,
상기 제1 통신 노드의 메모리에 업데이트할 소프트웨어가 저장되어 있을 때 상기 소프트웨어의 업데이트를 수행하는,
제1 통신 노드의 동작 방법.
The method of claim 2,
Performing an update of the software when the software to be updated is stored in the memory of the first communication node,
A method of operating a first communication node.
청구항 3에 있어서,
상기 차량 네트워크에 접속된 제2 통신 노드로부터 수신한 업데이트 예약 시간에 상기 소프트웨어의 업데이트를 수행하는,
제1 통신 노드의 동작 방법.
The method of claim 3,
Performing an update of the software at an update reservation time received from a second communication node connected to the vehicle network,
A method of operating a first communication node.
청구항 4에 있어서,
차량의 시동이 꺼진 경우에 상기 소프트웨어의 업데이트를 수행하는,
제1 통신 노드의 동작 방법.
The method of claim 4,
Performing an update of the software when the vehicle is turned off,
A method of operating a first communication node.
청구항 5에 있어서,
차량이 시동이 켜진 이후 상기 소프트웨어의 업데이트 결과를 상기 제2 통신 노드로 전송하는 단계를 더 포함하는,
제1 통신 노드의 동작 방법.
The method of claim 5,
Further comprising transmitting the update result of the software to the second communication node after the vehicle is turned on.
A method of operating a first communication node.
청구항 5에 있어서,
상기 소프트웨어의 업데이트를 수행한 후, 재 부팅하여 상기 소프트웨어의 업데이트를 점검하는 단계를 더 포함하는,
제1 통신 노드의 동작 방법.
The method of claim 5,
Further comprising: performing an update of the software and then rebooting to check for an update of the software;
A method of operating a first communication node.
청구항 7에 있어서,
상기 소프트웨어의 업데이트가 실패한 경우, 업데이트 이전의 소프트웨어를 복구하는 단계를 더 포함하는,
제1 통신 노드의 동작 방법.
The method of claim 7,
Further comprising restoring software prior to the update if the update of the software fails,
A method of operating a first communication node.
이더넷(ethernet) 기반의 차량 네트워크(network)를 구성하는 통신 유닛의 동작 방법으로서,
업데이트 예약 시간에 슬립 상태에서 준비 상태로 전환하여 PHY 계층을 웨이크업 시키는 단계; 및
상기 차량 네트워크에 접속된 통신 노드들로 네트워크 요청 전송을 방지하는 단계;를 포함하는,
통신 유닛의 동작 방법.
1. A method of operating a communication unit comprising an ethernet-based vehicle network,
Switching from a sleep state to a ready state at an update reservation time to wake up the PHY layer; And
And preventing transmission of a network request to communication nodes connected to the vehicle network.
A method of operating a communication unit.
청구항 9에 있어서,
소프트웨어 센터로부터 소프트웨어를 다운로드 하는 단계를 더 포함하는,
통신 유닛의 동작 방법.
The method of claim 9,
Further comprising downloading software from a software center,
A method of operating a communication unit.
청구항 10에 있어서,
상기 소프트웨어를 업데이트 하는 단계를 더 포함하는,
통신 유닛의 동작 방법.
The method of claim 10,
Further comprising updating the software,
A method of operating a communication unit.
청구항 10에 있어서,
상기 업데이트 예약 시간에 상기 소프트웨어를 다운로드 하는,
통신 유닛의 동작 방법.
The method of claim 10,
Downloading the software at the update reservation time,
A method of operating a communication unit.
청구항 10에 있어서,
차량의 주행 중 상기 소프트웨어를 다운로드 하는,
통신 유닛의 동작 방법.
The method of claim 10,
Downloading the software during driving of the vehicle,
A method of operating a communication unit.
청구항 10에 있어서,
상기 차량 네트워크에 접속된 특정 통신 노드의 소프트웨어를 다운로드 한 경우,
상기 소프트웨어를 상기 특정 통신 노드로 전송하는 단계를 더 포함하는,
통신 유닛의 동작 방법.
The method of claim 10,
When software of a specific communication node connected to the vehicle network is downloaded,
Further comprising transmitting the software to the particular communication node.
A method of operating a communication unit.
청구항 14에 있어서,
상기 특정 통신 노드로부터 상기 소프트웨어의 업데이트 결과를 수신하는 단계를 더 포함하는,
통신 유닛의 동작 방법.
15. The method of claim 14,
Further comprising receiving an update result of the software from the specific communication node,
A method of operating a communication unit.
이더넷(ethernet) 기반의 차량 네트워크(network)를 구성되어 프로그램의 업데이트를 수행하는 통신 노드로서,
PHY 계층 프로세서를 포함하는 PHY 계층 유닛;
컨트롤러 프로세서를 포함하는 컨트롤러 유닛; 및
상기 PHY 계층 유닛 및 상기 컨트롤러 유닛 각각에 의해 수행되는 적어도 하나의 명령이 저장된 메모리를 포함하고,
상기 적어도 하나의 명령은,
슬립 상태에서 준비 상태로 전환하여 상기 제1 통신 노드의 PHY 계층을 웨이크업 시키고,
상기 차량 네트워크에 접속된 다른 통신 노드로 네트워크 요청 전송을 방지하는,
통신 노드.
1. A communication node for configuring an ethernet-based vehicle network to perform updating of a program,
A PHY layer unit including a PHY layer processor;
A controller unit including a controller processor; And
At least one instruction executed by each of the PHY layer unit and the controller unit is stored,
Wherein the at least one instruction comprises:
Switching from a sleep state to a ready state to wake up the PHY layer of the first communication node,
A network node, and a network node,
Communication node.
청구항 16에 있어서,
상기 적어도 하나의 명령은,
차량의 주행 중 차량에 배치된 통신 유닛으로부터 소프트웨어를 수신하고,
상기 수신된 소프트웨어를 메모리에 저장하고,
상기 통신 유닛으로부터 상기 소프트웨어의 업데이트 예약 시간을 수신하고,
상기 소프트웨어의 업데이트 예약 시간에 상기 소프트웨어를 업데이트 하는,
통신 노드.
18. The method of claim 16,
Wherein the at least one instruction comprises:
Receiving software from a communication unit disposed in the vehicle during running of the vehicle,
Storing the received software in a memory,
Receiving an update reservation time of the software from the communication unit,
Updating the software at an update reservation time of the software,
Communication node.
청구항 17에 있어서,
상기 적어도 하나의 명령은,
상기 차량의 시동이 꺼진 이후에 상기 소프트웨어를 업데이트 하는,
통신 노드.
18. The method of claim 17,
Wherein the at least one instruction comprises:
Updating the software after the vehicle is turned off,
Communication node.
청구항 16에 있어서,
상기 적어도 하나의 명령은,
상기 소프트웨어를 업데이트 한 후, 재 부팅하여 상기 소프트웨어의 업데이트를 점검하는,
통신 노드.
18. The method of claim 16,
Wherein the at least one instruction comprises:
Updating the software and then rebooting to check for an update of the software,
Communication node.
청구항 18에 있어서,
상기 적어도 하나의 명령은,
상기 소프트웨어의 업데이트가 실패한 경우, 업데이트 이전의 소프트웨어를 복구하는,
통신 노드.
19. The method of claim 18,
Wherein the at least one instruction comprises:
If the update of the software fails, restoring the pre-update software,
Communication node.
KR1020170123231A 2016-10-07 2017-09-25 Method for software update of vehicle and device for the same KR102313599B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102017123252.4A DE102017123252A1 (en) 2016-10-07 2017-10-06 Software update method and apparatus for vehicle
US15/727,300 US10630538B2 (en) 2016-10-07 2017-10-06 Software update method and apparatus for vehicle

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020160130001 2016-10-07
KR20160130001 2016-10-07

Publications (2)

Publication Number Publication Date
KR20180038973A true KR20180038973A (en) 2018-04-17
KR102313599B1 KR102313599B1 (en) 2021-10-18

Family

ID=62083102

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170123231A KR102313599B1 (en) 2016-10-07 2017-09-25 Method for software update of vehicle and device for the same

Country Status (1)

Country Link
KR (1) KR102313599B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11745751B2 (en) 2019-06-14 2023-09-05 Hyundai Motor Company Vehicle and method of managing user setting menu thereof

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050228856A1 (en) * 1999-11-22 2005-10-13 Swildens Eric S Distributed on-demand computing system
US20150169311A1 (en) * 2013-12-18 2015-06-18 International Business Machines Corporation Automated Software Update Scheduling

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050228856A1 (en) * 1999-11-22 2005-10-13 Swildens Eric S Distributed on-demand computing system
US20150169311A1 (en) * 2013-12-18 2015-06-18 International Business Machines Corporation Automated Software Update Scheduling

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11745751B2 (en) 2019-06-14 2023-09-05 Hyundai Motor Company Vehicle and method of managing user setting menu thereof

Also Published As

Publication number Publication date
KR102313599B1 (en) 2021-10-18

Similar Documents

Publication Publication Date Title
US10630538B2 (en) Software update method and apparatus for vehicle
US10969850B2 (en) Method for transmitting and receiving wake-up signal in vehicle network
CN110535667B (en) Method and apparatus for selectively waking up a communication node in a vehicle network
US11336470B2 (en) Method and apparatus for transmitting and receiving wake-up signal in vehicle network
US11246098B2 (en) Method and apparatus for wake-up of communication node in vehicle network
US10979878B2 (en) Operation method of communication node supporting network management functions in vehicle network
CN107659494B (en) Data processing method and intelligent vehicle-mounted gateway
US20200136993A1 (en) Method and apparatus for allocating transmission opportunities in vehicle network
KR102422404B1 (en) Method for supplying power in network and apparatus therefor
KR102286050B1 (en) Method for preventing diagnostic errors in vehicle network and apparatus for the same
US11320891B2 (en) Operation methods of communication node in network
KR20160146055A (en) Operating method of a communication node in automotive network
US20160366646A1 (en) Operation method of communication node in automotive network
KR20170087602A (en) Method for converting operation mode in network
KR20210147495A (en) Method and apparatus for operating communication node using nm function in vehicle network
KR20160025452A (en) Operation method of communication node in network
KR20180029854A (en) Diagnostic methods and devices in vehicle network
US11943298B2 (en) Vehicular communication device
CN111490918A (en) Vehicle-mounted Ethernet network awakening system, method and device and computer equipment
KR102313599B1 (en) Method for software update of vehicle and device for the same
KR102355085B1 (en) Operation method of communication node for selective wakeup in vehicle network
US20190305983A1 (en) Method and apparatus for configuring backup path in vehicle network
KR20180122779A (en) Communication node of vehicle network and operating method of the communication node
KR20200106443A (en) Method and apparatus for transmitting and receiving data performed in vehicle network

Legal Events

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