KR20130046904A - 가상화 및 이중화를 이용한 전자제어유닛의 리프로그래밍 방법 - Google Patents

가상화 및 이중화를 이용한 전자제어유닛의 리프로그래밍 방법 Download PDF

Info

Publication number
KR20130046904A
KR20130046904A KR1020110111575A KR20110111575A KR20130046904A KR 20130046904 A KR20130046904 A KR 20130046904A KR 1020110111575 A KR1020110111575 A KR 1020110111575A KR 20110111575 A KR20110111575 A KR 20110111575A KR 20130046904 A KR20130046904 A KR 20130046904A
Authority
KR
South Korea
Prior art keywords
virtual machine
ecu
machine ecu
update
secondary virtual
Prior art date
Application number
KR1020110111575A
Other languages
English (en)
Other versions
KR101348843B1 (ko
Inventor
송지석
Original Assignee
주식회사 현대케피코
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 현대케피코 filed Critical 주식회사 현대케피코
Priority to KR1020110111575A priority Critical patent/KR101348843B1/ko
Publication of KR20130046904A publication Critical patent/KR20130046904A/ko
Application granted granted Critical
Publication of KR101348843B1 publication Critical patent/KR101348843B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R16/00Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
    • B60R16/02Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Mechanical Engineering (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 차량에 탑재된 전자제어유닛(ECU)을 가상화된 이중화 시스템으로 적용하고, 이를 이용하여 전자제어유닛의 프로그램 업데이트를 수행함으로써, 전자제어유닛의 리프로그래밍 중 시스템의 중단없이 해당 전자제어유닛의 업데이트를 수행할 수 있다.
또한, 이중화된 가상머신ECU 중 업데이트가 완료된 가상머신ECU의 안전성(업데이트 성공)을 확인한 후, 해당 차량의 제어권을 엡데이트가 완료된 가상머신ECU로 넘기고, 나머지 가상머신ECU를 업데이트함으로써, 해당 차량에 대한 안전성을 지속적으로 확보할 수 있다.
더불어, 차량의 전자제어유닛의 업데이트를 위한 별도의 장치 또는 시스템을 구비하지 않기 때문에, 전자제어유닛의 소형화 및 제조비용절감 효과를 얻을 수 있으며, 무선통신망을 이용한 전자제어유닛의 업데이트에 대해서도 안전성 및 신뢰성을 확보할 수 있다.
따라서, 차량의 안전성 및 신뢰성을 향상시킬 수 있음은 물론, 해당 분야 및 제품에 대한 경쟁력을 향상시킬 수 있다.

Description

가상화 및 이중화를 이용한 전자제어유닛의 리프로그래밍 방법{Method for reprogramming of ECU using virtualization and dualization}
본 발명은 가상화 및 이중화를 이용한 전자제어유닛의 리프로그래밍 방법에 관한 것으로서, 보다 상세하게는 차량에 탑재된 전자제어유닛(ECU)을 가상화된 이중화 시스템으로 적용하고, 이를 이용하여 전자제어유닛의 업데이트를 수행하도록 한 것이다.
특히, 본 발명은 가상화된 이중화 시스템 중 어느 하나를 이용하여 우선적으로 업데이트를 수행하고, 해당 업데이트가 완료되면 다른 하나의 업데이트를 수행하도록 함으로써, 업데이트시 차량의 전체 시스템에 대한 신뢰성 및 안정성을 보정할 수 있는 가상화 및 이중화를 이용한 전자제어유닛의 리프로그래밍 방법에 관한 것이다.
최근 들어, 차량에는 주행상태에 따른 정확한 차량컨트롤 및 안전성 향상을 위하여, 엔진, 자동면속기, ABS 등의 상태를 감시하고 제어하는 전자제어유닛(ECU)이 탑재되는바, 전자제어유닛은 엔진의 점화시기, 연료분사, 공회전, 한계값 설정등의 핵심기능을 정밀하게 제어하고, 자동변속기제어를 비롯하여 구동계통, 제동계통, 조향계통 등 차량의 모든 부분을 제어하는 역할을 수행하고 있다.
한편, 새로운 차량을 개발할 경우뿐만 아니라 개발 이후 판매되어 사용자에 의해 운행되고 있는 차량의 경우에도, 탑승자의 안전을 위하여 지속적으로 관리할 필요가 있으며, 이를 위하여 해당 차량에 탑재된 각 시스템들을 필요에 따라 적절하게 업데이트를 할 필요가 있다.
이때, 마이크로 프로세서에서 지원하는 프로그램 모드를 사용하여 리프로그래밍을 실시할 경우, 전자제어유닛의 외부에 마이크로 프로세서의 프로그램 모드를 활성화하기 위한 별도의 연결단자가 구비되어야 한다.
그러나, 이와 같이 전자제어유닛의 외부에 연결단자를 구비할 경우, 해당 연결단자를 통해 노이즈가 유입되거나 회선의 오류 등으로 인해 뜻하지 않게 프로그램 모드가 활성화되어, 컨트롤러가 정상적으로 동작할 수 없게 되는 문제가 발생한다.
더욱이, 상기와 같이 컨트롤러 안에 프로그램하여 넣어둔 리프로그램 펑션을 외부 장비와 커뮤니케이션 라인을 통해 연동하여 리프로그램을 실시하는 경우 리프로그래밍 펑션 영역 자체에도 재프로그램이 이루어져야 하는 경우가 발생한다.
이와 같은 경우에는, 리프로그램 펑션을 램으로 복사한 후, 상기 램 상에서 복사된 리프로그래밍 펑션을 실행하여, 기존의 플래쉬롬 상의 자신의 영역을 지우고 새로운 데이터를 프로그래밍해야 한다. 이때, 의도치 않은 에러의 발생으로 리프로그래밍 펑션의 실행이 중단될 경우, 다시는 리프로그래밍을 할 수 없게 되어 컨트롤러 자체를 교환해야 하는 문제가 있다.
더불어, 차량에 탑재된 전자제어유닛(ECU)의 프로그램을 업데이트 하려면 ECU를 재부팅하여 리프로그래밍 모드로 전환 후 프로그램을 다운로드하고 다시 재부팅하여야 한다.
이를 위해서는, 운전자가 해당 차량을 운전하여 서비스 센터를 방문하는 등의 절차가 필요하다.
또한, 차량의 제조업체에서 ECU에 안전상의 문제가 있어서 프로그램을 업데이트 해야 할 경우에도 고객(운전자)들이 일일이 서비스센터를 방문하여 리프로그램해야 하므로 판매된 차량들을 모두 업데이트하기 위해서는 많은 비용과 시간이 필요하게 된다.
이를 해결하기 위해, 휴대폰망이나 네비게이션망을 이용한 무선 업데이트를 구현할 수도 있지만, 이 역시 프로그램을 리프로그래밍 모드로 전환 후 다운로드 받고 다시 재부팅하여야 적용되므로 차량 운행시 보다는 장시간 주차 등 미사용시에만 가능하다.
또한, 시스템이 다운되는 시간이 있으면 안되는 조건이 있는, 경우 업데이트가 필요하더라도 대체 시스템을 준비하지 않으면 업데이트 할 수 없다.
다시 말해, 차량에 탑재된 전자제어유닛의 업데이트시 리프로그램 작업 및 재부팅(리셋)으로 인한 차량사용중지시간이 필요하고, 전자제어유닛의 프로그램 업데이트 도중에 예상치 못한 동작 이상 또는 잘못된 프로그램 데이터에 의해 업데이트 실패시, 시스템이 이상 상태에 빠지며 이 경우 다시 리프로그램 할 때까지 시스템을 사용할 수 없게 되는 문제점이 있는 것이다.
상기와 같은 문제점을 해결하기 위해서, 본 발명은 차량에 탑재된 전자제어유닛(ECU)의 프로그램 업데이트를 위한 리프로그래밍 중 시스템이 정지하지 않고 동작이 가능하도록 한 가상화 및 이중화를 이용한 전자제어유닛의 리프로그래밍 방법을 제공하는데 목적이 있다.
이를 위하여, 본 발명은 차량에 탑재된 전자제어유닛에 대하여 가상화된 이중화 시스템으로 적용하고, 이를 이용하여 전자제어유닛의 업데이트를 수행하도록 한 가상화 및 이중화를 이용한 전자제어유닛의 리프로그래밍 방법을 제공하는데 목적이 있다.
특히, 본 발명은 가상화된 이중화 시스템 중 어느 하나를 이용하여 우선적으로 업데이트를 수행하고, 해당 업데이트가 완료되면 다른 하나의 업데이트를 수행하도록 함으로써, 업데이트시 차량의 전체 시스템에 대한 신뢰성 및 안정성을 보정할 수 있는 가상화 및 이중화를 이용한 전자제어유닛의 리프로그래밍 방법을 제공하는데 목적이 있다.
상기와 같은 목적을 달성하기 위해서, 본 발명에 따른 가상화 및 이중화를 이용한 전자제어유닛의 리프로그래밍 방법은, a) 주 가상머신ECU 및 부 가상머신ECU의 동작을 제어하는 가상머신모니터에 의해 주 가상머신ECU가 해당 차량의 전자제어를 수행하는 단계; b) ECU용 프로그램 업데이트 신호가 수신되면, 상기 가상머신모니터가 상기 부 가상머신ECU를 리프로그래밍 모드로 전환하여 ECU용 프로그램 업데이트를 수행하는 단계; 및 c) 상기 부 가상머신ECU의 ECU용 프로그램 업데이트가 완료되면, 상기 가상머신모니터가 해당 부 가상머신ECU를 주 가상머신ECU로 전환하는 단계를 포함할 수 있다.
일 실시예에서, 상기 가상화 및 이중화를 이용한 전자제어유닛의 리프로그래밍 방법은, d) 이전의 주 가상머신ECU를 부 가상머신ECU로 전환하고, 상기 전환된 부 가상머신ECU를 리프로그래밍 모드로 전환하여 ECU용 프로그램 업데이트를 수행하는 단계를 더 포함할 수 있다.
예를 들어, 상기 단계 b)는, b-1) 상기 부 가상머신ECU를 리프로그래밍 모드로 전환하는 단계; b-2) 상기 모드 전환을 주 가상머신ECU에 통보하는 단계; b-3) 상기 주 가상머신ECU가 게이트웨이로 동작하는 단계; b-4) 상기 주 가상머신ECU을 통하여 상기 부 가상머신ECU가 ECU용 프로그램을 다운로드하는 단계; 및 b-5) 상기 다운로드가 완료되면 상기 부 가상머신ECU가 ECU용 프로그램을 업데이트하는 단계를 포함할 수 있다.
특히, 상기 단계 b-4)는, b-4-1) 상기 주 가상머신ECU이 ECU용 프로그램을 다운로드 받아 저장하는 단계; 및 b-4-2) 상기 저장된 ECU용 프로그램을 부 가상머신ECU로 전송하는 단계를 포함하고, 상기 단계 b-5)의 부 가상머신ECU에 대한 ECU용 프로그램 업데이트가 완료되면, 상기 주 가상머신ECU가 부 가상머신ECU로 전환되고, 전환된 부 가상머신ECU는 상기 저장된 ECU용 프로그램으로 업데이트를 수행할 수 있다.
또한, 상기 단계 b-4)는, b-4-1) 상기 주 가상머신ECU이 ECU용 프로그램을 다운로드 받는 단계; 및 b-4-2) 상기 다운로드 받은 ECU용 프로그램을 부 가상머신ECU로 전송하는 단계를 포함하고, 상기 단계 b-5)의 부 가상머신ECU에 대한 ECU용 프로그램 업데이트가 완료되면, 상기 주 가상머신ECU가 부 가상머신ECU로 전환되고, 전환된 부 가상머신ECU는 전환된 주 가상머신ECU로 ECU용 프로그램을 재전송받아 업데이트를 수행할 수 있다.
일 실시예에서, 상기 단계 c)는, c-1) 상기 부 가상머신ECU의 업데이트가 완료되면, 부 가상머신ECU의 업데이트 성공여부를 확인하는 단계; c-2) 상기 부 가상머신ECU의 업데이트가 성공되면, 상기 부 가상머신ECU을 주 가상머신ECU으로 변경하고, 상기 부 가상머신ECU의 업데이트가 실패하면, 상기 부 가상머신ECU의 초기화 방법을 선택하는 단계; c-3) 상기 초기화 방법이 코드메모리인 경우, 상기 부 가상머신ECU의 코드메모리를 초기화하는 단계; 및 c-4) 상기 코드메모리가 초기화된 부 가상머신ECU의 업데이트를 재수행하는 단계를 포함할 수 있다.
다른 일 실시예에서, 상기 단계 c)는, c-1) 상기 부 가상머신ECU의 업데이트가 완료되면, 부 가상머신ECU의 업데이트 성공여부를 확인하는 단계; c-2) 상기 부 가상머신ECU의 업데이트가 성공되면, 상기 부 가상머신ECU을 주 가상머신ECU으로 변경하고, 상기 부 가상머신ECU의 업데이트가 실패하면, 상기 부 가상머신ECU의 초기화 방법을 선택하는 단계; c-3) 상기 초기화 방법이 리프로그램인 경우, 상기 부 가상머신ECU의 코드메모리 중 적어도 일부를 리프로그래밍용 부트코드로 프로그래밍하는 단계; 및 c-4) 상기 프로그래밍된 리프로그래밍용 부트코드를 이용하여 상기 부 가상머신ECU의 업데이트를 재수행하는 단계를 포함할 수 있다.
상기와 같은 해결수단에 의해, 본 발명은 이중화된 가상머신ECU를 이용하여 전자제어유닛의 업데이트를 순차적으로 수행함으로써, 차량 제어의 정지(중단) 없이도 업데이트가 가능하게 되는 장점이 있다.
특히, 가상화된 이중화 시스템 중 어느 하나의 가상머신ECU를 이용하여 차량의 제어를 지속하면서도 다른 하나의 가상머신ECU를 이용하여 업데이트를 수행할 수 있으므로, 언제 어디서나 전자제어유닛의 업데이트가 가능하고, 업데이트 실패시에도 어느 하나를 이용하여 지속적인 차량 제어가 가능하게 되는 장점이 있다.
또한, 업데이트가 완료된 가상머신ECU의 안전성(업데이트 성공)을 확인한 후, 해당 차량의 제어권을 엡데이트가 완료된 가상머신ECU로 넘기고, 나머지 가상머신ECU를 업데이트함으로써, 해당 차량에 대한 안전성을 지속적으로 확보할 수 있는 효과가 있다.
더불어, 차량의 전자제어유닛의 업데이트를 위한 별도의 장치 또는 시스템을 구비하지 않고, 탑재된 전자제어유닛을 가상적으로 이중화하여 업데이트를 수행할 수 있기 때문에, 전자제어유닛의 소형화 및 제조비용절감 효과를 얻을 수 있다.
또한, 무선통신망을 이용한 전자제어유닛의 업데이트에 대해서도 안전성 및 신뢰성을 확보할 수 있으므로, 해당 차량의 전자제어유닛의 업데이트에 소요되는 비용 및 서비스 센터 방문을 위한 시간의 낭비를 미연에 방지할 수 있다.
따라서, 차량의 안전성 및 신뢰성을 향상시킬 수 있음은 물론, 해당 분야 및 제품에 대한 경쟁력을 향상시킬 수 있다.
도 1은 본 발명에 의한 가상화 및 이중화를 이용한 전자제어유닛의 리프로그래밍 방법의 일 실시예를 설명하는 흐름도이다.
도 2는 본 발명에 의한 전자제어유닛을 가상화하여 이중화한 시스템 아키텍처의 개념도이다.
도 3은 도 1의 단계 'S200'에 대한 구체적인 일 실시예를 설명하는 순서도이다.
도 4는 도 1의 단계 'S300'에 대한 구체적인 일 실시예를 설명하는 순서도이다.
본 발명에 따른 가상화 및 이중화를 이용한 전자제어유닛의 리프로그래밍 방법에 대한 예는 다양하게 적용할 수 있으며, 이하에서는 첨부된 도면을 참조하여 가장 바람직한 실시예에 대해 설명하기로 한다.
도 1은 본 발명에 의한 가상화 및 이중화를 이용한 전자제어유닛의 리프로그래밍 방법의 일 실시예를 설명하는 흐름도이고, 도 2는 본 발명에 의한 전자제어유닛을 가상화하여 이중화한 시스템 아키텍처의 개념도이다.
먼저, 도 2를 참조하면, 가상화된 이중화 시스템의 아키텍처는 하드웨어 플랫폼, 가상머신모니터, 주 가상머신ECU, 부 가상머신ECU 및 가상 통신 인터페이스를 포함할 수 있다.
하드웨어 플랫폼은 CPU, 메모리, 입출력 포트 등을 포함하는 하드웨어 장치들로 구성될 수 있다.
가상머신모니터는 하드웨어 플랫폼 상에 위치하며, 하나의 하드웨어를 가상화시켜 다수의 운영 체제가 동작할 수 있도록 할 수 있다. 여기서, 각 운영 체제는 가상화를 통해 실제 물리적으로 하나의 자원을 이용하는 것이 아니라 가상화 계층을 통해서 접근할 수 있다.
주 가상머신ECU 및 부 가상머신ECU은 가상머신모니터에 의해 제공되는 가상화 계층 상에서 논리적으로 구분된 서로 다른 영역에 구현될 수 있다.
일 실시예에서, 주 가상머신ECU와 부 가상머신ECU은 동일한 운영 체제와 해당 운영 체제를 기반으로한 ECU 어플리케이션들로 이루어질 수 있다. 예를 들어, 부 가상머신ECU는 주 가상머신ECU와 동일하게 구현되고, 주 가상머신ECU의 이상 발생시 주 가상머신ECU를 대신하여 동작을 수행하기 위한 백업용 가상머신을 포함한다.
일 실시예에서, 주 가상머신ECU 및 부 가상머신ECU는 동적 메모리 및 코드 메모리를 포함할 수 있다. 예를 들어, 동적 메모리는 업데이트용 프로그램을 임시로 저장할 수 있고, 코드 메모리는 다운로드된 ECU용 프로그램으로 업데이트될 수 있다. 다시 말해, 코드 메모리에 설치된 ECU용 프로그램을 이용하여 차량을 제어하고 필요시 해당 코드 메모리를 업데이트 할 수 있다. 또한, 코드 메모리는 리프로그래밍을 위한 부트코드 영역을 포함할 수 있다.
가상 통신 인터페이스는 주 가상머신ECU와 부 가상머신ECU의 통신을 담당한다.
일 실시예에서, 가상머신모니터는 주 가상머신ECU와 통신을 수행하고, 부 가상머신ECU는 가상 통신 인터페이스를 통해 주 가상머신ECU과 통신을 수행한다. 다시 말해, 업데이트시 주 가상머신ECU는 부 가상머신ECU에 대하여 게이트웨이 역할을 수행할 수 있다.
이와 같은 시스템 아키텍처를 기반으로 도 1을 참조하면, 가상머신모니터는 주 가상머신ECU 및 부 가상머신ECU의 동작을 제어하여 해당 차량의 전자제어를 수행한다(단계 S100). 일 실시예에서, 가상머신모니터는 주 가상머신ECU를 활성화하여 해당 차량의 전자제어를 수행하고, 부 가상머신ECU는 대기상태로 유지할 수 있다. 예를 들어, 가상머신모니터는 주 가상머신ECU에 이상이 발생할 경우, 부 가상머신ECU를 주 가상머신ECU로 전환하고, 변경전 주 가상머신ECU를 부 가상머신ECU로 전환한 후, 변경된 부 가상머신ECU의 이상상태를 복구하기 위한 동작을 수행할 수 있다.
가상머신모니터는 외부로부터 ECU용 프로그램 업데이트 신호가 수신되면, 부 가상머신ECU를 리프로그래밍 모드로 전환하여 ECU용 프로그램 업데이트를 수행한다(단계 S200). 일 실시예에서, 가상머신모니터는 부 가상머신ECU가 업데이트를 수행하는 도중에도 주 가상머신ECU를 이용하여 해당 차량의 전자제어를 지속적으로 수행할 수 있다.
가상머신모니터는 부 가상머신ECU의 ECU용 프로그램 업데이트가 완료되면, 해당 부 가상머신ECU를 주 가상머신ECU로 전환한다(단계 S300). 일 실시예에서, 가상머신모니터는 주 가상머신ECU와 통신을 수행하는 상태에서, 부 가상머신ECU가 주 가상머신ECU로 전환되면, 변경된 주 가상머신ECU와 통신을 연결할 수 있고, 변경전 주 가상머신ECU와의 통신을 중단 할 수 있다. 다른 일 실시예에서, 가상머신모니터는 부 가상머신ECU가 주 가상머신ECU로 변경되면, 변경된 주 가상머신ECU 및 부 가상머신ECU와 동시에 통신을 수행하고, 변경된 부 가상머신ECU가 업데이트를 완료하면 해당 부 가상머신ECU와의 통신을 중단할 수 있다.
가상머신모니터는 이전의(변경전) 주 가상머신ECU를 부 가상머신ECU로 전환하고, 전환된 부 가상머신ECU를 리프로그래밍 모드로 전환하여 ECU용 프로그램 업데이트를 수행할 수 있다(단계 S400). 일 실시예에서, 가상머신모니터는 업데이트가 완료된 부 가상머신ECU의 안전성을 확인한 후, 단계 'S400'을 수행할 수 있다. 이와 같이 ECU용 프로그램 업데이트에 대하여 안전성을 확인하면, 잘못된 ECU용 프로그램이 가상머신ECU들에 업데이트 되는 것을 미연에 방지할 수 있다.
도 3은 도 1의 단계 'S200'에 대한 구체적인 일 실시예를 설명하는 순서도이다.
도 3을 참조하면, 가상머신모니터가 ECU용 프로그램의 업데이트 신호를 수신하면, 부 가상머신ECU를 리프로그래밍 모드로 전환할 수 있고(단계 S201), 해당 부 가상머신ECU를 데이터 수신 대기 상태로 유지할 수 있으며(단계 S202), 부 가상머신ECU 모드 전환을 주 가상머신ECU에 통보할 수 있다(단계 S203). 일 실시예에서, 주 가상머신ECU에 대한 부 가상머신ECU의 모드 전환 통보는 가상머신모니터에 의해 이루어질 수 있다. 다른 일 실시예에서, 주 가상머신ECU에 대한 부 가상머신ECU의 모드 전환 통보는 부 가상머신ECU에 의해 이루어질 수 있다.
부 가상머신ECU가 리프로그래밍 모드로 전환되면, 주 가상머신ECU는 부 가상머신ECU에 대하여 게이트웨이로 동작하도록 전환될 수 있다(단계 S204).
이후, 부 가상머신ECU는 게이트웨이로 동작되는 주 가상머신ECU을 통하여 ECU용 프로그램을 다운로드 할 수 있다(단계 S205).
부 가상머신ECU의 다운로드가 완료되면(단계 S206), 부 가상머신ECU가 ECU용 프로그램을 업데이트할 수 있으며(단계 S207), 업데이트가 완료되면(단계 S208) 이를 주 가상머신ECU에 통보할 수 있다(단계 S209). 일 실시예에서, 주 가상머신ECU에 대한 부 가상머신ECU의 업데이트 완료 통보는 가상머신모니터에 의해 이루어질 수 있다. 다른 일 실시예에서, 주 가상머신ECU에 대한 부 가상머신ECU의 업데이트 완료 통보는 부 가상머신ECU에 의해 이루어질 수 있다.
일 실시예에서, 주 가상머신ECU가 게이트웨이로 동작하면서 부 가상머신ECU에 ECU용 프로그램을 전송함에 있어, 주 가상머신ECU이 ECU용 프로그램을 다운로드 받아 저장하고, 저장된 ECU용 프로그램을 부 가상머신ECU로 전송할 수 있다. 그리고, 부 가상머신ECU에 대한 ECU용 프로그램 업데이트가 완료되면, 주 가상머신ECU가 부 가상머신ECU로 전환되고, 전환된 부 가상머신ECU는 저장된 ECU용 프로그램으로 업데이트를 수행할 수 있다.
다른 일 실시예에서, 주 가상머신ECU가 게이트웨이로 동작하면서 부 가상머신ECU에 ECU용 프로그램을 전송함에 있어, 주 가상머신ECU이 ECU용 프로그램을 다운로드 받아 저장하지 않고, 다운로드 받은 ECU용 프로그램을 부 가상머신ECU로 전송할 수 있다. 그리고, 부 가상머신ECU에 대한 ECU용 프로그램 업데이트가 완료되면, 주 가상머신ECU가 부 가상머신ECU로 전환되고, 전환된 부 가상머신ECU는 전환된 주 가상머신ECU으로부터 ECU용 프로그램을 재전송받아 업데이트를 수행할 수 있다.
도 4는 도 1의 단계 'S300'에 대한 구체적인 일 실시예를 설명하는 순서도이다.
도 4를 참조하면, 가상머신모니터는 주 가상머신ECU를 통해 부 가상머신ECU에 대한 업데이트 완료를 수신하면(단계 S301), 해당 부 가상머신ECU의 업데이트 성공여부를 확인할 수 있다(단계 S302).
일 실시예에서, 가상머신모니터는 해당 부 가상머신ECU의 업데이트가 성공된 것으로 확인되면(단계 S303), 부 가상머신ECU을 주 가상머신ECU으로 변경할 수 있다(단계 S304).
다른 일 실시예에서, 가상머신모니터는, 부 가상머신ECU의 업데이트가 실패하면(단계 S303), 해당 부 가상머신ECU의 초기화 방법을 선택할 수 있다(단계 S305).
예를 들어, 초기화 방법이 코드메모리를 이용한 초기화인 경우(단계 S305), 가상머신모니터는 부 가상머신ECU의 코드메모리를 초기화한 후(단계 S306), 코드메모리가 초기화된 부 가상머신ECU의 업데이트를 재수행할 수 있다(단계 S308).
다른 예로, 초기화 방법이 리프로그램에 의한 초기화인 경우(단계 S305), 가상머신모니터는 부 가상머신ECU의 코드메모리 중 적어도 일부를 리프로그래밍용 부트코드로 프로그래밍한 후(단계 S307), 미리 프로그래밍되어 저장된 리프로그래밍용 부트코드를 이용하여 부 가상머신ECU의 업데이트를 재수행할 수 있다(단계 S308).
따라서, 본 발명은 변경전 부 가상머신ECU가 성공적인 리프로그래밍이 완료된 이후에, 변경전 주 가상머신ECU를 리프로그래밍함으로써, 해당 차량에 대한 전자제어유닛의 신뢰성을 보장할 수 있다.
이상에서 본 발명에 의한 가상화 및 이중화를 이용한 전자제어유닛의 리프로그래밍 방법에 대하여 설명하였다. 이러한 본 발명의 기술적 구성은 본 발명이 속하는 기술분야의 당업자가 본 발명의 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다.
그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며, 한정적인 것이 아닌 것으로서 이해되어야 하고, 본 발명의 범위는 전술한 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지는 것이므로, 특허청구범위의 의미 및 범위 그리고 그 등가개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.

Claims (7)

  1. a) 주 가상머신ECU 및 부 가상머신ECU의 동작을 제어하는 가상머신모니터에 의해 주 가상머신ECU가 해당 차량의 전자제어를 수행하는 단계;
    b) ECU용 프로그램 업데이트 신호가 수신되면, 상기 가상머신모니터가 상기 부 가상머신ECU를 리프로그래밍 모드로 전환하여 ECU용 프로그램 업데이트를 수행하는 단계; 및
    c) 상기 부 가상머신ECU의 ECU용 프로그램 업데이트가 완료되면, 상기 가상머신모니터가 해당 부 가상머신ECU를 주 가상머신ECU로 전환하는 단계를 포함하는 가상화 및 이중화를 이용한 전자제어유닛의 리프로그래밍 방법.
  2. 제 1항에 있어서,
    상기 가상화 및 이중화를 이용한 전자제어유닛의 리프로그래밍 방법은,
    d) 이전의 주 가상머신ECU를 부 가상머신ECU로 전환하고, 상기 전환된 부 가상머신ECU를 리프로그래밍 모드로 전환하여 ECU용 프로그램 업데이트를 수행하는 단계를 더 포함하는 것을 특징으로 하는 가상화 및 이중화를 이용한 전자제어유닛의 리프로그래밍 방법.
  3. 제 1항 또는 제 2항에 있어서,
    상기 단계 b)는,
    b-1) 상기 부 가상머신ECU를 리프로그래밍 모드로 전환하는 단계;
    b-2) 상기 모드 전환을 주 가상머신ECU에 통보하는 단계;
    b-3) 상기 주 가상머신ECU가 게이트웨이로 동작하는 단계;
    b-4) 상기 주 가상머신ECU을 통하여 상기 부 가상머신ECU가 ECU용 프로그램을 다운로드하는 단계; 및
    b-5) 상기 다운로드가 완료되면 상기 부 가상머신ECU가 ECU용 프로그램을 업데이트하는 단계를 포함하는 것을 특징으로 하는 가상화 및 이중화를 이용한 전자제어유닛의 리프로그래밍 방법.
  4. 제 3항에 있어서,
    상기 단계 b-4)는,
    b-4-1) 상기 주 가상머신ECU이 ECU용 프로그램을 다운로드 받아 저장하는 단계; 및
    b-4-2) 상기 저장된 ECU용 프로그램을 부 가상머신ECU로 전송하는 단계를 포함하고,
    상기 단계 b-5)의 부 가상머신ECU에 대한 ECU용 프로그램 업데이트가 완료되면, 상기 주 가상머신ECU가 부 가상머신ECU로 전환되고, 전환된 부 가상머신ECU는 상기 저장된 ECU용 프로그램으로 업데이트를 수행하는 것을 특징으로 하는 가상화 및 이중화를 이용한 전자제어유닛의 리프로그래밍 방법.
  5. 제 3항에 있어서,
    상기 단계 b-4)는,
    b-4-1) 상기 주 가상머신ECU가 ECU용 프로그램을 다운로드 받는 단계; 및
    b-4-2) 상기 다운로드 받은 ECU용 프로그램을 부 가상머신ECU로 전송하는 단계를 포함하고,
    상기 단계 b-5)의 부 가상머신ECU에 대한 ECU용 프로그램 업데이트가 완료되면, 상기 주 가상머신ECU가 부 가상머신ECU로 전환되고, 전환된 부 가상머신ECU는 전환된 주 가상머신ECU로 ECU용 프로그램을 재전송받아 업데이트를 수행하는 것을 특징으로 하는 가상화 및 이중화를 이용한 전자제어유닛의 리프로그래밍 방법.
  6. 제 1항 또는 제 2항에 있어서,
    상기 단계 c)는,
    c-1) 상기 부 가상머신ECU의 업데이트가 완료되면, 부 가상머신ECU의 업데이트 성공여부를 확인하는 단계;
    c-2) 상기 부 가상머신ECU의 업데이트가 성공되면, 상기 부 가상머신ECU을 주 가상머신ECU으로 변경하고, 상기 부 가상머신ECU의 업데이트가 실패하면, 상기 부 가상머신ECU의 초기화 방법을 선택하는 단계;
    c-3) 상기 초기화 방법이 코드메모리인 경우, 상기 부 가상머신ECU의 코드메모리를 초기화하는 단계; 및
    c-4) 상기 코드메모리가 초기화된 부 가상머신ECU의 업데이트를 재수행하는 단계를 포함하는 것을 특징으로 하는 가상화 및 이중화를 이용한 전자제어유닛의 리프로그래밍 방법.
  7. 제 1항 또는 제 2항에 있어서,
    상기 단계 c)는,
    c-1) 상기 부 가상머신ECU의 업데이트가 완료되면, 부 가상머신ECU의 업데이트 성공여부를 확인하는 단계;
    c-2) 상기 부 가상머신ECU의 업데이트가 성공되면, 상기 부 가상머신ECU을 주 가상머신ECU으로 변경하고, 상기 부 가상머신ECU의 업데이트가 실패하면, 상기 부 가상머신ECU의 초기화 방법을 선택하는 단계;
    c-3) 상기 초기화 방법이 리프로그램인 경우, 상기 부 가상머신ECU의 코드메모리 중 적어도 일부를 리프로그래밍용 부트코드로 프로그래밍하는 단계; 및
    c-4) 상기 프로그래밍된 리프로그래밍용 부트코드를 이용하여 상기 부 가상머신ECU의 업데이트를 재수행하는 단계를 포함하는 것을 특징으로 하는 가상화 및 이중화를 이용한 전자제어유닛의 리프로그래밍 방법.
KR1020110111575A 2011-10-28 2011-10-28 가상화 및 이중화를 이용한 전자제어유닛의 리프로그래밍 방법 KR101348843B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110111575A KR101348843B1 (ko) 2011-10-28 2011-10-28 가상화 및 이중화를 이용한 전자제어유닛의 리프로그래밍 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110111575A KR101348843B1 (ko) 2011-10-28 2011-10-28 가상화 및 이중화를 이용한 전자제어유닛의 리프로그래밍 방법

Publications (2)

Publication Number Publication Date
KR20130046904A true KR20130046904A (ko) 2013-05-08
KR101348843B1 KR101348843B1 (ko) 2014-01-07

Family

ID=48658475

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110111575A KR101348843B1 (ko) 2011-10-28 2011-10-28 가상화 및 이중화를 이용한 전자제어유닛의 리프로그래밍 방법

Country Status (1)

Country Link
KR (1) KR101348843B1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150142482A (ko) * 2014-06-12 2015-12-22 현대모비스 주식회사 가상화를 이용한 차량용 avn 시스템 및 그 작동 방법
CN107533491A (zh) * 2015-09-14 2018-01-02 松下电器(美国)知识产权公司 网关装置、固件更新方法以及控制程序
CN110417538A (zh) * 2019-07-30 2019-11-05 广州小鹏汽车科技有限公司 车辆及其内部安全通信的方法和系统
EP4113287A1 (en) * 2015-09-14 2023-01-04 Panasonic Intellectual Property Corporation of America Gateway device, in-vehicle network system, and firmware update method

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5268469B2 (ja) * 2008-07-23 2013-08-21 株式会社東芝 高可用システム及び実行状態制御方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150142482A (ko) * 2014-06-12 2015-12-22 현대모비스 주식회사 가상화를 이용한 차량용 avn 시스템 및 그 작동 방법
CN107533491A (zh) * 2015-09-14 2018-01-02 松下电器(美国)知识产权公司 网关装置、固件更新方法以及控制程序
CN107533491B (zh) * 2015-09-14 2021-04-06 松下电器(美国)知识产权公司 网关装置、固件更新方法以及存储介质
EP4113287A1 (en) * 2015-09-14 2023-01-04 Panasonic Intellectual Property Corporation of America Gateway device, in-vehicle network system, and firmware update method
CN110417538A (zh) * 2019-07-30 2019-11-05 广州小鹏汽车科技有限公司 车辆及其内部安全通信的方法和系统
CN110417538B (zh) * 2019-07-30 2022-10-14 广州小鹏汽车科技有限公司 车辆及其内部安全通信的方法和系统

Also Published As

Publication number Publication date
KR101348843B1 (ko) 2014-01-07

Similar Documents

Publication Publication Date Title
WO2018139296A1 (ja) 車両制御装置およびプログラム更新システム
JP6390644B2 (ja) プログラム更新システム、プログラム更新方法及びコンピュータプログラム
US7206971B2 (en) Selectable and updatable computer boot memory
US8539471B2 (en) Updating firmware of an electronic device
US8136108B2 (en) Updating firmware with multiple processors
US10496389B2 (en) Field device
KR101348843B1 (ko) 가상화 및 이중화를 이용한 전자제어유닛의 리프로그래밍 방법
JP7081223B2 (ja) マスタ装置、マスタ、ソフトウェアの整合性を確認するための方法及びプログラム、車両
JP2019159399A5 (ko)
CN113383390A (zh) 电子控制装置以及程序更新方法
WO2016117212A1 (ja) 制御手段及びこれを備えた車載プログラムの書き換え装置並びに車載プログラムの書き換え方法
US11449329B2 (en) Vehicle control device and program update system
KR101744998B1 (ko) 리프로그래밍 제어모듈 및 이를 이용한 리프로그래밍 시스템 및 방법
JP7230768B2 (ja) 電子制御装置、セッション確立プログラム及び制御プログラム
CN113454608A (zh) 用于更新机动车辆计算机以向其添加附加功能的更新方法
WO2020043361A1 (en) Installing application program code on a vehicle control system
CN111722856A (zh) 车载微控制器中固件的升级方法和装置
JP7363853B2 (ja) Otaマスタ、センタ、システム、更新方法、更新プログラム、及び車両
WO2023123037A1 (zh) 电子设备及其启动方法、装置、存储介质、车辆
JP5849449B2 (ja) 情報処理装置およびその制御方法とプログラム
KR20070101724A (ko) 네트워크 시스템에서 이중화 부팅 장치 및 방법
JP2010157026A (ja) プログラムエリア切替方法
KR20080019860A (ko) 차량의 전자 제어 유닛 리 프로그래밍 방법
US20220391193A1 (en) Ota master, system, method, non-transitory storage medium, and vehicle
JP2003029994A (ja) マルチcpuシステム及びその立ち上がり方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20161219

Year of fee payment: 6