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 PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
- H04L41/082—Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40006—Architecture of a communication node
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
Abstract
Description
본 발명은 차량의 소프트웨어 업데이트 방법 및 장치에 관한 것으로, 더욱 상세하게는 소프트웨어의 업데이트 시 전력 소모를 줄이고, 업데이트 오동작을 방지할 수 있는 차량의 소프트웨어 업데이트 방법 및 장치에 관한 것이다.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
엔드노드(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
한편, 차량 네트워크를 구성하는 통신 노드들(즉, 게이트웨이, 스위치, 엔드노드 등)은 스타(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
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 계층 유닛(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
컨트롤러 유닛(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
주 메모리(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
아래에서는, 차량 네트워크에 속하는 통신 노드와 이에 대응하는 상대(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
통신 유닛(300)은 텔레매틱스(telematics) 또는 멀티미디어 헤드 유닛이 적용될 수 있으며, 외부 통신장치들과 접속을 위한 통신 모뎀 및 사용자에게 정보를 표시하기 위한 디스플레이 모듈을 포함할 수 있다.The
통신 유닛(300)은 통신 모뎀을 이용하여 소프트웨어 센터로부터 차량에 배치된 엔드노드들(401~404)의 소프트웨어를 다운로드 할 수 있다. 여기서, 통신 유닛(300)은 차량이 주행 중인 경우에 소프트웨어 센터로부터 통신 유닛(300) 또는 엔드노드들(401~404)의 소프트웨어를 다운로드 할 수 있다. 통신 유닛(300)은 다운로드 된 소프트웨어가 통신 유닛(300)의 소프트웨어인지 또는 차량에 배치된 복수의 엔드노드 중 어느 엔드노드에 해당하는지 판단할 수 있다. 통신 유닛(300)은 판단 결과, 엔드노드들(401~404) 중 특정 엔드노드의 소프트웨어가 다운로드 된 경우, 판단 결과에 기초하여 소프트웨어의 업데이트가 필요한 타겟 엔드노드(401)로 소프트웨어를 전송할 수 있다. 이때, 통신 유닛(300)은 차량의 주행 중인 경우에 타겟 엔드노드(401)로 업데이트를 위한 소프트웨어를 전송할 수 있다.The
또한, 통신 유닛(300)은 업데이트 예약 시간을 설정할 수 있다. 이때, 통신 유닛(300)은 이전에 설정했던 업데이트 예약 시간을 그대로 유지할 수도 있고, 사용자로부터 새로운 업데이트 예약 시간을 입력 받아 새롭데 업데이트 예약 시간을 설정할 수도 있다. 이를 위해서, 통신 유닛(300)은 디스플레이 화면에 업데이트 예약 시간의 유지 또는 변경을 위한 메뉴를 표시하여 사용자로부터 업데이트 예약 시간의 유지 또는 변경에 대한 정보를 입력 받을 수 있다. 그리고, 통신 유닛(300)은 설정된 업데이트 예약 시간을 저장하고, 타겟 엔드노드(401)로 전송할 수 있다. 여기서, 업데이트 예약 시간은 통신 유닛(300) 및 엔드노드들(401~404)의 소프트웨어의 업데이트에 적용될 수 있다.In addition, the
여기서, 차량이 주행 중인 경우 통신 유닛(300)의 PHY 계층은 노멀(normal) 상태이고, 시동이 꺼지면 PHY 계층이 슬립(sleep) 상태로 전환되고, 예약 시간이 되면 PHY 계층이 준비(ready) 상태로 상태로 전환되고, 소프트웨어의 업데이트가 완료되면 PHY 계층이 슬립(sleep) 상태로 전환될 수 있다.Here, when the vehicle is traveling, the PHY layer of the
소프트웨어 센터로부터 통신 유닛(300)의 소프트웨어가 다운로드 된 경우, 통신 유닛(300)의 내부 메모리에 소프트웨어를 저장할 수 있다. 이후, 업데이트 예약 시간에 통신 유닛(300)이 웨이크업 되어 소프트웨어의 업데이트 동작을 수행할 수 있다. 차량이 시동이 꺼진 이후 주행하지 않는 경우에 소프트웨어의 업데이트 동작이 수행될 수 있다. 통신 유닛(300)의 소프트웨어의 업데이트 시, 통신 유닛(300)의 PHY 계층이 웨이크업 되고, PHY 계층의 PCS(Physical Coding Sublayer)를 제어하여 네트워크 요청(Network Request)이 엔드노드들(401~404)로 전송되지 않도록 할 수 있다. 즉, 통신 유닛(300)은 엔드노드들(401~404)로의 네트워크 요청 전송을 방지할 수 있다.When the software of the
본 발명의 다른 실시 예로서, 통신 유닛(300)은 차량이 주행하지 않은 경우에도 소프트웨어 센터로부터 통신 유닛(300) 또는 엔드노드들(401~404)의 소프트웨어를 다운로드 할 수 있다. 이 경우, 차량의 시동이 꺼진 상태에서 통신 유닛(300)이 업데이트 예약 시점에 웨이크업하여 소프트웨어 센터로부터 통신 유닛(300) 또는 엔드노드들(401~404)의 소프트웨어를 다운로드 할 수 있다. 통신 유닛(300)의 소프트웨어가 다운로드 된 경우, 통신 유닛(300)은 소프트웨어의 업데이트를 수행함과 아울러, 엔드노드들(401~404)로의 네트워크 요청 전송을 방지할 수 있다.As another embodiment of the present invention, the
도 2를 결부하여 설명하면, 통신 유닛(300) 및 복수의 엔드노드들(401~404) 각각은 이더넷(ethernet) 기반의 차량 네트워크(network)에 접속되며, 설정된 예약 시간에 소프트웨어의 업데이트를 수행할 수 있다. 이더넷 기반의 차량 네트워크에서 통신 유닛(300)은 제1 통신 노드일 수 있고, 엔드노드들(401~404) 각각은 제2 통신 노드일 수 있다. 반대로, 이더넷 기반의 차량 네트워크에서 엔드노드들(401~404) 각각은 제1 통신 노드일 수 있고, 통신 유닛(300)은 제2 통신 노드일 수 있다.2, each of the
이러한, 통신 유닛(300) 및 복수의 엔드노드들(401~404) 각각은 PHY 계층 프로세서(212)를 포함하는 PHY 계층 유닛(210)과, 컨트롤러 프로세서(222)를 포함하는 컨트롤러 유닛(220)과, PHY 계층 유닛(210) 및 상기 컨트롤러 유닛(220) 각각에 의해 수행되는 적어도 하나의 명령이 저장된 메모리를 포함한다.Each of the
여기서, 통신 유닛(300) 및 복수의 엔드노드들(401~404) 각각은 메모리에 저장된 적어도 하나의 명령을 통해서 다음의 동작을 수행할 수 있다. 복수의 엔드노드들(401~404) 각각은 차량의 주행 중 차량에 배치된 통신 유닛(300)으로부터 소프트웨어를 수신할 수 있다. 또한, 복수의 엔드노드들(401~404) 각각은 차량의 주행 중 수신된 소프트웨어를 메모리에 저장할 수 있다. 또한, 복수의 엔드노드들(401~404) 각각은 차량의 주행 중 통신 유닛(300)으로부터 소프트웨어의 업데이트 예약 시간을 수신할 수 있다. 그리고, 복수의 엔드노드들(401~404) 각각은 차량의 시동이 꺼진 이후, 상기 소프트웨어의 업데이트 예약 시간에 메모리에 저장된 소프트웨어의 업데이트를 수행할 수 있다.Here, each of the
이하, 복수의 엔드노드들(401~404) 중에서 소프트웨어의 업데이트가 이루어지는 엔드노드를 타겟 엔드노드(401)로 정의한다. 복수의 엔드노드들(401~404) 중에서 통신 유닛(300)으로부터 소프트웨어를 수신한 타겟 엔드노드(401)는 수신된 소프트웨어를 메모리에 저장할 수 있다. 타겟 엔드노드(401)는 소프트웨어의 수신 및 및 소프트웨어를 메모리에 저장하는 동작을 차량의 주행 중에 수행될 수 있다.Hereinafter, among the plurality of
여기서, 차량의 주행 중에 타겟 엔드노드(401)의 소프트웨어의 업데이트가 이루어지는 경우, 소프트웨어 업데이트 중에는 타겟 엔드노드(401)가 정상적으로 동작하지 않게 된다. 따라서, 소프트웨어 업데이트로 인해 타겟 엔드노드(401)의 동작 불능을 방지하기 위해서, 타겟 엔드노드(401)는 소프트웨어의 업데이트를 바로 수행하지 않고, 기 설정된 예약 시간에 소프트웨어의 업데이트가 이루어질 수 있도록 메모리에 소프트웨어를 저장할 수 있다.Here, when the software of the
타겟 엔드노드(401)는 차량의 시동이 꺼졌는지 판단하고, 시동이 꺼진 상태에서 소프트웨어 업데이트 시간에 메모리에 저장된 소프트웨어의 업데이트를 수행할 수 있다. 이때, 타겟 엔드노드(401)는 예약 시간에 웨이크업하여, 타겟 엔드노드(401)의 PHY 계층에 전력이 공급되도록 할 수 있다. 이때, 타겟 엔드노드(401)는 통신 유닛(300)으로 링크업(linkup)과 웨이크업 요청(wakeup request)를 전송할 수 있다.The
타겟 엔드노드(401)는 소프트웨어의 업데이트 수행 후, 재 부팅을 수행하고, 소프트웨어의 업데이트가 정상적으로 수행되었는지 점검할 수 있다.The
타겟 엔드노드(401)는 소프트웨어의 업데이트에 오류가 발생한 경우, 이전 소프트웨어를 복구할 수 있다. 반면, 타겟 엔드노드(401)는 소프트웨어의 업데이트가 정상적으로 수행된 경우에는 업데이트를 완료시킬 수 있다. 이때, 타겟 엔드노드(401)는 소프트웨어의 업데이트 결과를 통신 유닛(300)으로 전송할 수 있다.The
여기서, 통신 유닛(300)은 타겟 엔드노드(401)에서 수신된 소프트웨어 업데이트 결과에 기초하여, 타겟 엔드노드(401)에서 소프트웨어의 업데이트가 성공한 경우에는 소프트웨어 센터(500)로부터 동일한 버전의 소프트웨어를 다운로드 하지 않을 수 있다. 한편, 통신 유닛(300)은 타겟 엔드노드(401)에서 소프트웨어의 업데이트가 실패한 경우에는 소프트웨어 센터(500)로부터 동일한 버전의 소프트웨어를 다시 다운로드 할 수 있다.Here, the
본 발명에서, 소프트웨어의 업데이트 시 타겟 엔드노드(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
여기서, 타겟 엔드노드(401)는 다음의 2가지 시점 중 적어도 하나의 시점에 통신 유닛(300)으로 네트워크 요청(Network Request)의 전송방지를 요청할 수 있다.Here, the
첫 번째, 타겟 엔드노드(401)는 업데이트 예약 시간에 웨이크업 되면서 PHY 계층에 전원을 공급함과 아울러, PHY 계층의 PCS(Physical Coding Sublayer)를 제어하여 네트워크 요청(Network Request)이 통신 유닛(300) 또는 다른 엔드노드들(402~404)로 전송되지 않도록 할 수 있다. 다른 예로서, 타겟 엔드노드(401)는 업데이트 예약 시간에 웨이크업 되면서 PHY 계층에 전원을 공급함과 아울러, 타겟 엔드노드(401)는 통신 유닛(300)으로 네트워크 요청(Network Request)의 전송방지를 요청할 수 있다. 즉, 타겟 엔드노드(401)는 통신 유닛(300) 또는 다른 엔드노드들(402~404)로의 네트워크 요청 전송을 방지할 수 있다.First, the
두 번째, 타겟 엔드노드(401)는 소프트웨어의 업데이트 동작을 수행한 이후, 소프트웨어 업데이트가 정상적으로 수행되었는지를 확인하기 위해서 재 부팅을 수행할 수 있다. 타겟 엔드노드(401)는 재 부팅을 수행한 후, PHY 계층에 전원을 공급함과 아울러, PHY 계층의 PCS(Physical Coding Sublayer)를 제어하여 네트워크 요청(Network Request)이 통신 유닛(300) 또는 다른 엔드노드들(402~404)로 전송되지 않도록 할 수 있다. 다른 예로서, 타겟 엔드노드(401)는 업데이트 예약 시간에 웨이크업 되면서 PHY 계층에 전원을 공급함과 아울러, 통신 유닛(300)으로 네트워크 요청(Network Request)의 전송방지를 요청할 수 있다.Second, the
통신 유닛(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
이를 통해, 소프트웨어의 업데이트 시, 타겟 엔드노드(401)를 제외한 다른 엔드노드들(402~404)이 웨이크업되지 않도록 할 수 있다. 즉, 타겟 엔드노드(401)의 소프트웨어 업데이트 시, 다른 엔드노드들(402~404)이 웨이크업 되는 차량의 전력 소모가 증가하게 됨으로, 이를 방지하기 위해서 통신 유닛(300)은 타겟 엔드노드(401)만 웨이크업 시킬 수 있다.This allows the end nodes 402-404 other than the
도 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
이어서, 통신 유닛(300)은 다운로드 된 소프트웨어가 차량에 배치된 복수의 엔드노드 중 어느 엔드노드에 해당하는지 판단할 수 있다. 그리고, 통신 유닛(300)은 판단 결과에 기초하여 소프트웨어의 업데이트가 필요한 타겟 엔드노드(401)로 소프트웨어를 전송할 수 있다(S20). 차량이 주행일 때 타겟 엔드노드(401)의 PHY 계층은 노멀(normal) 상태이며, 타겟 엔드노드(401)는 통신 유닛(300)으로부터 소프트웨어를 수신할 수 있다.Then, the
이어서, 통신 유닛(300)으로부터 소프트웨어를 수신한 타겟 엔드노드(401)는 수신된 소프트웨어를 메모리에 저장할 수 있다(S30). 이때, 타겟 엔드노드(401)는 소프트웨어의 업데이트를 바로 수행하지 않고, 기 설정된 예약 시간에 소프트웨어의 업데이트가 이루어질 수 있도록 메모리에 소프트웨어를 저장할 수 있다.Subsequently, the
이어서, 통신 유닛(300)은 업데이트 예약 시간을 설정할 수 있다. 이때, 이전에 설정했던 업데이트 예약 시간을 그대로 유지할 수도 있고, 사용자로부터 새로운 업데이트 예약 시간을 입력 받아 새롭데 업데이트 예약 시간을 설정할 수도 있다.Then, the
이어서, 통신 유닛(300)은 설정된 업데이트 예약 시간에 대한 정보를 타겟 엔드노드(401)로 전송할 수 있다(S40). 이를 통해, 예약 시간에 타겟 엔드노드(401)가 웨이크업 될 수 있도록 할 수 있다. 차량의 주행이 완료된 후 시동이 꺼지면 타겟 엔드노드(401)는 PHY 계층을 노멀(normal) 상태에서 슬립(sleep) 상태로 전환시킬 수 있다.Then, the
여기서, 슬립 상태의 타겟 엔드노드(401)는 설정된 예약 시간이 되면 PHY 계층을 슬립(sleep) 상태에서 준비(ready)로 전환시킬 수 있다. 타겟 엔드노드(401)는 예약 시간에 웨이크업하여 타겟 엔드노드(401)의 PHY 계층에 전력을 공급되도록 할 수 있다. 타겟 엔드노드(401)는 통신 유닛(300)으로 링크업(linkup)과 웨이크업 요청(wakeup request)를 전송할 수 있다.Here, the
이때, 타겟 엔드노드(401)는 다른 엔드노드들이 웨이크업되지 않도록, PHY 계층에 배치된 PCS(Physical Coding Sublayer)를 제어하여 네트워크 요청(Network Request)이 통신 유닛(300) 또는 다른 엔드노드들(402~404)로 전송되지 않도록 할 수 있다.At this time, the
다른 예로서, 타겟 엔드노드(401)는 다른 엔드노드들이 웨이크업되지 않도록, 통신 유닛(300)으로 네트워크 요청(Network Request)의 전송방지를 요청할 수 있다. 통신 유닛(300)은 타겟 엔드노드(401)에서 네트워크 요청의 전송방지가 수신되면 통신 유닛(300)의 PHY 계층에 배치된 PCS(Physical Coding Sublayer)를 제어하여 네트워크 요청이 다른 엔드노드들(402~404)로 전송되지 않도록 한다.As another example, the
이를 통해, 소프트웨어의 업데이트 시, 타겟 엔드노드(401)를 제외한 다른 엔드노드들(402~404)이 웨이크업되지 않도록 할 수 있다.This allows the end nodes 402-404 other than the
타겟 엔드노드(401)를 웨이크업은 차량의 시동이 꺼진 상태, 즉, 차량이 주행하지 않는 상태에서 이루어 질 수 있다. 만약, 업데이트 예약 시간이 되었더라도 차량의 시동이 켜진 상태인 경우에는 타겟 엔드노드(401)의 소프트웨어의 업데이트가 수행되지 않도록 한다.Wake-up of the
이어서, 타겟 엔드노드(401)는 메모리에 저장된 소프트웨어의 업데이트를 수행할 수 있다(S60). 이때, 차량의 시동이 꺼져 차량이 주행하지 않는 상태에서 타겟 엔드노드(401)에서의 소프트웨어의 업데이트가 이루질 수 있다.Subsequently, the
이어서, 타겟 엔드노드(401)는 소프트웨어의 업데이트가 정상적으로 수행된 경우에는 업데이트를 완료시킬 수 있다(S70). 한편, 타겟 엔드노드(401)는 소프트웨어의 업데이트에 오류가 발생한 경우, 이전 소프트웨어를 복구할 수 있다. 타겟 엔드노드(401)는 소프트웨어의 업데이트 결과를 통신 유닛(300)으로 전송할 수 있다.Subsequently, the
한편, 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
도 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
S110의 판단 결과, 차량이 주행 중인 경우, 통신 유닛(300)은 통신 모뎀을 이용하여 소프트웨어 센터(500)로부터 차량에 배치된 엔드노드들의 소프트웨어를 다운로드 할 수 있다(S120). 한편, S110의 판단 결과, 차량이 주행하지 않는 경우, 통신 유닛(300)은 S110 이전 단계로 돌아가 차량이 주행 중인지를 다시 판단할 수 있다.As a result of the determination in S110, when the vehicle is running, the
여기서, 통신 유닛(300)으로 텔레매틱스(telematics) 또는 멀티미디어 헤드 유닛이 적용될 수 있으며, 차량의 주행 중에 소프트웨어의 다운로드가 이루어질 수 있다. 또한, 차량에 배치된 엔드노드(401~404)들 각각은 차량의 제어장치(예로서, 브레이크 제어장치, 현가 제어장치, 속도 제어장치 등)가 될 수 있다.Here, a telematics or multimedia head unit may be applied to the
이어서, 통신 유닛(300)은 다운로드 된 소프트웨어가 차량에 배치된 복수의 엔드노드 중 어느 엔드노드에 해당하는지 판단할 수 있다. 그리고, 통신 유닛(300)은 판단 결과에 기초하여 소프트웨어의 업데이트가 필요한 타겟 엔드노드(401)로 소프트웨어를 전송할 수 있다(S130). 이때, 통신 유닛(300)은 차량의 주행 중인 경우에 타겟 엔드노드(401)로 소프트웨어를 전송할 수 있다. 차량이 주행일 때 타겟 엔드노드(401)의 PHY 계층은 노멀(normal) 상태이며, 타겟 엔드노드(401)는 통신 유닛(300)으로부터 소프트웨어를 수신할 수 있다.Then, the
이어서, 통신 유닛(300)으로부터 소프트웨어를 수신한 타겟 엔드노드(401)는 수신된 소프트웨어를 메모리에 저장할 수 있다(S140). 이때, 차량의 주행 중에 타겟 엔드노드(401)의 소프트웨어의 업데이트가 이루어지는 경우, 소프트웨어 업데이트 중에는 타겟 엔드노드(401)가 정상적으로 동작하지 않게 된다. 따라서, 소프트웨어 업데이트로 인해 타겟 엔드노드(401)의 동작 불능을 방지하기 위해서, 타겟 엔드노드(401)는 소프트웨어의 업데이트를 바로 수행하지 않고, 기 설정된 예약 시간에 소프트웨어의 업데이트가 이루어질 수 있도록 메모리에 소프트웨어를 저장할 수 있다. 타겟 엔드노드(410)는 설정된 예약 시간에 차량이 주행 중인 경우에는 소프트웨어의 업데이트를 수행하지 않고, 차량이 주행하지 않는 경우에 소프트웨어의 업데이트를 수행할 수 있다.Subsequently, the
이어서, 통신 유닛(300)은 업데이트 예약 시간을 설정할 수 있다(S150). 이때, 통신 유닛(300)은 이전에 설정했던 업데이트 예약 시간을 그대로 유지할 수도 있고, 사용자로부터 새로운 업데이트 예약 시간을 입력 받아 새롭데 업데이트 예약 시간을 설정할 수도 있다. 이를 위해서, 통신 유닛(300)은 디스플레이 화면에 업데이트 예약 시간의 유지 또는 변경을 위한 메뉴를 표시하여 사용자로부터 업데이트 예약 시간의 유지 또는 변경에 대한 정보를 입력 받을 수 있다. 그리고, 통신 유닛(300)은 설정된 업데이트 예약 시간을 타겟 엔드노드(401)로 전송할 수 있다.Subsequently, the
이어서, 타겟 엔드노드(401)는 차량의 시동이 꺼졌는지 판단한다(S160). 위에서 설명했듯이 차량의 주행 중에 타겟 엔드노드(401)의 소프트웨어 업데이트가 이루어지면 타겟 엔드노드(401)가 정상적으로 동작하지 않을 수 있음으로, 이를 방지하기 위해서, 타겟 엔드노드(401)는 소프트웨어의 업데이트 전에 차량의 시동이 꺼졌는지를 판단 할 수 있다.Subsequently, the
S160의 판단 결과, 차량의 시동이 꺼지지 않은 경우, 타겟 엔드노드(401)는 S160 이전 단계로 돌아가 차량의 시동이 꺼졌는지를 다시 판단 할 수 있다.If it is determined in step S160 that the start of the vehicle has not been turned off, the
한편, S160의 판단 결과, 차량의 시동이 꺼진 경우, 타겟 엔드노드(401)는 PHY 계층을 노멀(normal) 상태에서 슬립(sleep) 상태로 전환시킬 수 있다.On the other hand, if it is determined in step S160 that the vehicle is turned off, the
타겟 엔드노드(401)는 현재 시간이 업데이트 예약 시간이 되었는지 판단할 수 있다(S170).The
S170의 판단 결과, 현재 시간이 업데이트 예약 시간이 아닌 경우, 타겟 엔드노드(401)은 S170 이전 단계로 돌아가 현재 시간이 업데이트 예약 시간이 되었는지 다시 판단할 수 있다.If it is determined in step S170 that the current time is not the update reservation time, the
한편, 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
여기서, 타겟 엔드노드(401)는 예약 시간에 웨이크업하여 타겟 엔드노드(401)의 PHY 계층에 전력을 공급되도록 할 수 있다. 타겟 엔드노드(401)는 통신 유닛(300)으로 링크업(linkup)과 웨이크업 요청(wakeup request)를 전송할 수 있다.Here, the
이때, 타겟 엔드노드(401)는 다른 엔드노드들(402~404)이 웨이크업되지 않도록, PHY 계층에 배치된 PCS(Physical Coding Sublayer)를 제어하여 네트워크 요청(Network Request)이 통신 유닛(300) 또는 다른 엔드노드들(402~404)로 전송되지 않도록 할 수 있다.At this time, the
다른 예로서, 타겟 엔드노드(401)는 다른 엔드노드들이 웨이크업되지 않도록, 통신 유닛(300)으로 네트워크 요청(Network Request)의 전송방지를 요청할 수 있다. 통신 유닛(300)은 타겟 엔드노드(401)에서 네트워크 요청의 전송방지가 수신되면 통신 유닛(300)의 PHY 계층에 배치된 PCS(Physical Coding Sublayer)를 제어하여 네트워크 요청이 다른 엔드노드들(402~404)로 전송되지 않도록 한다.As another example, the
또 다른 예로서, 타겟 엔드노드(401)는 다른 엔드노드들(402~404)이 웨이크업되지 않도록, 다른 엔드노드(402~404)로 네트워크 요청(Network Request)의 전송방지를 요청할 수도 있다. 이를 통해, 소프트웨어의 업데이트 시, 타겟 엔드노드(401)를 제외한 다른 엔드노드들이 웨이크업되지 않도록 할 수 있다.As another example, the
즉, 소프트웨어의 예약 시간에 타겟 엔드노드(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
이어서, 타겟 엔드노드(401)의 ECU는 메모리에 저장된 소프트웨어의 업데이트를 수행할 수 있다(S200). 이때, 차량의 시동이 꺼져 차량이 주행하지 않는 상태에서 타겟 엔드노드(401)에서의 소프트웨어의 업데이트가 이루질 수 있다.Subsequently, the ECU of the
이어서, 타겟 엔드노드(401)는 소프트웨어의 업데이트 수행 후, 재 부팅을 수행할 수 있다(S210).Subsequently, the
이어서, 타겟 엔드노드(401)는 소프트웨어의 업데이트가 정상적으로 수행되었는지 점검할 수 있다(S220).Subsequently, the
이어서, 타겟 엔드노드(401)는 소프트웨어의 업데이트의 성공 여부를 판단할 수 있다(S230).Then, the
이어서, S230의 판단 결과, 타겟 엔드노드(401)는 소프트웨어의 업데이트에 오류가 발생한 경우, 이전 소프트웨어를 복구할 수 있다(S240). 이때, 시동이 켜진 이후에 타겟 엔드노드(401)가 정상적으로 동작할 수 있도록 업데이트 오류가 발생한 소프트웨어는 삭제하고, 이전 소프트웨어를 복구할 수 있다.As a result of the determination in S230, the
한편, S230의 판단 결과, 타겟 엔드노드(401)는 소프트웨어의 업데이트가 정상적으로 수행된 경우에는 업데이트를 완료시킬 수 있다(S250).As a result of the determination in S230, if the software update is normally performed, the
이어서, 타겟 엔드노드(401)는 소프트웨어의 업데이트 결과를 통신 유닛(300)으로 전송할 수 있다. 이때, 타겟 엔드노드(401)는 차량의 시동이 켜진 이후에 소프트웨어의 업데이트 결과를 통신 유닛(300)으로 전송할 수 있다.The
소프트웨어의 업데이트가 완료될 때까지 타겟 엔드노드(401)의 PHY 계층은 준비(ready) 상태를 유지할 수 있다. 타겟 엔드노드(401)는 소프트웨어의 업데이트가 완료된 후, PHY 계층을 준비(ready) 상태에서 슬립(sleep) 상태로 전환시킬 수 있다.The PHY layer of the
이후, 통신 유닛(300)은 타겟 엔드노드(401)의 소프트웨어 업데이트 결과에 기초하여, 타겟 엔드노드(401)에서 소프트웨어의 업데이트가 성공한 경우에는 소프트웨어 센터(500)로부터 동일한 버전의 소프트웨어를 다운로드 하지 않을 수 있다. 한편, 통신 유닛(300)은 타겟 엔드노드(401)에서 소프트웨어의 업데이트가 실패한 경우에는 소프트웨어 센터(500)로부터 동일한 버전의 소프트웨어를 다시 다운로드 할 수 있다. 이때, 통신 유닛(300)은 S120 내지 S250 동작을 재 수행하여 타겟 엔드노드(401)의 소프트웨어 업데이트를 재 수행할 수 있다.The
한편, 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
타겟 엔드노드(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
다른 예로서, 타겟 엔드노드(401)는 다른 엔드노드들(402~404)이 웨이크업되지 않도록, 통신 유닛(300)으로 네트워크 요청(Network Request)의 전송방지를 요청할 수 있다. 통신 유닛(300)은 타겟 엔드노드(401)에서 네트워크 요청의 전송방지가 수신되면 PHY 계층에 배치된 PCS(Physical Coding Sublayer)를 제어하여 네트워크 요청이 다른 엔드노드들(402~404)로 전송되지 않도록 한다.As another example, the
본 발명의 실시 예에 따른 차량의 소프트웨어 업데이트 방법 및 장치는 소프트웨어의 업데이트 시, 이더넷 네트워크에 연결된 복수의 엔드노드 중에서 타겟 엔드노드만을 웨이크업 시켜 소프트웨어의 업데이트로 인한 차량의 전력 소모를 줄일 수 있다.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)
슬립 상태에서 준비 상태로 전환하여 상기 제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 통신 노드의 동작 방법.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.
상기 제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.
상기 차량 네트워크에 접속된 제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.
차량의 시동이 꺼진 경우에 상기 소프트웨어의 업데이트를 수행하는,
제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.
차량이 시동이 켜진 이후 상기 소프트웨어의 업데이트 결과를 상기 제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.
상기 소프트웨어의 업데이트를 수행한 후, 재 부팅하여 상기 소프트웨어의 업데이트를 점검하는 단계를 더 포함하는,
제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.
상기 소프트웨어의 업데이트가 실패한 경우, 업데이트 이전의 소프트웨어를 복구하는 단계를 더 포함하는,
제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.
업데이트 예약 시간에 슬립 상태에서 준비 상태로 전환하여 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.
소프트웨어 센터로부터 소프트웨어를 다운로드 하는 단계를 더 포함하는,
통신 유닛의 동작 방법.The method of claim 9,
Further comprising downloading software from a software center,
A method of operating a communication unit.
상기 소프트웨어를 업데이트 하는 단계를 더 포함하는,
통신 유닛의 동작 방법.The method of claim 10,
Further comprising updating the software,
A method of operating a communication unit.
상기 업데이트 예약 시간에 상기 소프트웨어를 다운로드 하는,
통신 유닛의 동작 방법.The method of claim 10,
Downloading the software at the update reservation time,
A method of operating a communication unit.
차량의 주행 중 상기 소프트웨어를 다운로드 하는,
통신 유닛의 동작 방법.The method of claim 10,
Downloading the software during driving of the vehicle,
A method of operating a communication unit.
상기 차량 네트워크에 접속된 특정 통신 노드의 소프트웨어를 다운로드 한 경우,
상기 소프트웨어를 상기 특정 통신 노드로 전송하는 단계를 더 포함하는,
통신 유닛의 동작 방법.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.
상기 특정 통신 노드로부터 상기 소프트웨어의 업데이트 결과를 수신하는 단계를 더 포함하는,
통신 유닛의 동작 방법.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.
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.
상기 적어도 하나의 명령은,
차량의 주행 중 차량에 배치된 통신 유닛으로부터 소프트웨어를 수신하고,
상기 수신된 소프트웨어를 메모리에 저장하고,
상기 통신 유닛으로부터 상기 소프트웨어의 업데이트 예약 시간을 수신하고,
상기 소프트웨어의 업데이트 예약 시간에 상기 소프트웨어를 업데이트 하는,
통신 노드.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.
상기 적어도 하나의 명령은,
상기 차량의 시동이 꺼진 이후에 상기 소프트웨어를 업데이트 하는,
통신 노드.18. The method of claim 17,
Wherein the at least one instruction comprises:
Updating the software after the vehicle is turned off,
Communication node.
상기 적어도 하나의 명령은,
상기 소프트웨어를 업데이트 한 후, 재 부팅하여 상기 소프트웨어의 업데이트를 점검하는,
통신 노드.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.
상기 적어도 하나의 명령은,
상기 소프트웨어의 업데이트가 실패한 경우, 업데이트 이전의 소프트웨어를 복구하는,
통신 노드.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.
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)
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)
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 |
-
2017
- 2017-09-25 KR KR1020170123231A patent/KR102313599B1/en active IP Right Grant
Patent Citations (2)
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)
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 |