KR20140066357A - 다중 mcu 환경에서의 펌웨어 업데이트 방법 및 이를 이용한 전자제어장치 - Google Patents

다중 mcu 환경에서의 펌웨어 업데이트 방법 및 이를 이용한 전자제어장치 Download PDF

Info

Publication number
KR20140066357A
KR20140066357A KR1020120133483A KR20120133483A KR20140066357A KR 20140066357 A KR20140066357 A KR 20140066357A KR 1020120133483 A KR1020120133483 A KR 1020120133483A KR 20120133483 A KR20120133483 A KR 20120133483A KR 20140066357 A KR20140066357 A KR 20140066357A
Authority
KR
South Korea
Prior art keywords
firmware
control unit
data
vehicle
update
Prior art date
Application number
KR1020120133483A
Other languages
English (en)
Inventor
안재윤
Original Assignee
현대모비스 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 현대모비스 주식회사 filed Critical 현대모비스 주식회사
Priority to KR1020120133483A priority Critical patent/KR20140066357A/ko
Publication of KR20140066357A publication Critical patent/KR20140066357A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • 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
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management

Landscapes

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

Abstract

다중 MCU 환경에서의 펌웨어 업데이트 방법 및 이를 이용한 전자제어장치가 개시된다. 본 발명에 따른 복수의 제어부가 구비된 환경에서의 펌웨어 업데이트 방법은, 차량 내 마련된 복수의 장치들에 대한 장치별 가중치 정보가 추출되는 단계; 복수의 장치들에 대한 데이터들이 센싱되어 제1 제어부 및 제2 제어부로 전달되는 단계; 및 제1 제어부로 전달된 데이터들, 제2 제어부로 전달된 데이터들 및 장치별 가중치 정보를 기초로 제1 제어부 및 제2 제어부에 대한 펌웨어의 업데이트 여부가 결정되는 단계;를 포함한다. 이에 의해, 차량 각 부분별 독립적인 운용이 가능해지고 개발자의 의도에 부합되는 업데이트 진행이 가능해지며, 불안정한 상태에서 무분별하게 업데이트가 진행되는 것을 방지할 수 있게 된다.

Description

다중 MCU 환경에서의 펌웨어 업데이트 방법 및 이를 이용한 전자제어장치{Method for updating firmware of multiple Micro Controller Unit and Electronic Control Unit using the same}
본 발명은 다중 MCU 환경에서의 펌웨어 업데이트 방법 및 이를 이용한 전자제어장치에 관한 것으로, 보다 상세하게는 차량 등에 사용되는 전자제어장치 내의 MCU 펌웨어를 차량 내 각 장치에 대한 센싱값을 기초로 업데이트하기 위한 업데이트 방법 및 이를 이용한 전자제어장치에 관한 것이다.
일반적으로 ECU(Electronic Control Unit)는, 자동차의 엔진, 변속장치, 제동장치, 현가장치, 조향장치 등의 차량 상태를 총체적으로 관리하기 위한 전자제어장치를 의미하고, MCU는 이러한 ECU에서의 두뇌역할을 하며 ECU 및 차량 전반을 제어하기 위한 목적으로 사용된다.
MCU에서는 차량 내 탑승한 승객의 안전과 직결된 문제를 해소하기 위해 펌웨어 동작의 이상 감지가 상당히 중요한 문제가 아닐 수 없으며, 이를 위해 복수의 MCU를 구비하여 펌웨어의 동작 이상 여부를 상호 모니터링하는 체계로 ECU가 구축되기도 한다.
그러나, 기존의 다중 MCU 환경에서는 단순히 어느 한 MCU에서 감지된 출력값과 다른 MCU에서 감지된 출력값의 차이에 대한 누적치만을 기반으로 펌웨어 업데이트 여부를 결정하였기 때문에, 카운팅 누적에 따라 불필요한 펌웨어 업데이트 상황이 연출되는 경우가 빈번하였다.
또한, 차량 각 부분의 중요도에 따라 펌웨어 업데이트 여부가 결정되지 않고 각 부분이 동일한 비중으로 업데이트 여부를 결정짓는 요소로 작용하여, 실제적인 업데이트 필요성 여부와 관계없이 업데이트가 진행되게 된다는 문제가 있었다.
뿐만 아니라, 차량 상태를 고려하지 않고 무분별한 펌웨어 업데이트가 진행되는 경우가 빈번하여 빠른 속도로 차량이 주행 중인 경우에도 펌웨어 업데이트가 진행되는 등, 차량과 차량 내 승객 안전 유지라는 펌웨어 업데이트의 본연의 목적에 역행하는 경우도 발생하였다.
본 발명은 상기와 같은 문제를 해결하기 위해 안출된 것으로, 본 발명의 목적은 차량의 각 부분별 중요도와 차량의 현재상태를 고려하여 펌웨어 업데이트가 가능하도록 하는 다중 MCU 환경에서의 펌웨어 업데이트 방법 및 이를 이용한 전자제어장치를 제공함에 있다.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 복수의 제어부가 구비된 환경에서의 펌웨어 업데이트 방법은, 차량 내 마련된 복수의 장치들에 대한 장치별 가중치 정보가 추출되는 단계; 상기 복수의 장치들에 대한 데이터들이 센싱되어 제1 제어부 및 제2 제어부로 전달되는 단계; 및 상기 제1 제어부로 전달된 데이터들, 상기 제2 제어부로 전달된 데이터들 및 상기 장치별 가중치 정보를 기초로 상기 제1 제어부 및 상기 제2 제어부에 대한 펌웨어의 업데이트 여부가 결정되는 단계;를 포함한다.
여기서, 상기 결정단계는, 상기 제1 제어부로 전달된 데이터들과 상기 제2 제어부로 전달된 데이터들 중 특정 장치에 대해 센싱된 데이터들 간의 차이값이 기설정된 범위를 초과하는지 여부가 판단되는 단계; 상기 기설정된 범위가 초과되는 경우, 상기 특정 장치에 대한 에러 카운트가 증가되는 단계; 상기 특정 장치에 대한 에러 카운트에 상기 특정 장치에 대한 가중치가 부여되는 단계; 및 상기 가중치가 부여된 상기 에러 카운트가 기설정된 범위를 초과한 경우, 상기 제1 제어부 및 상기 제2 제어부에 대한 펌웨어가 업데이트되도록 하는 단계;를 포함할 수 있다.
또한, 상기 특정 장치는 복수 개이고, 상기 업데이트 단계는, 상기 복수 개의 특정 장치에 대해 각각 가중치가 부여된 에러 카운트가 각각 설정된 범위를 초과한 경우, 상기 펌웨어가 업데이트되도록 할 수 있다.
그리고, 상기 업데이트 단계는, 상기 차량의 속도가 기설정된 속도 이상인 경우, 상기 차량의 속도가 기설정된 속도 미만으로 변경된 후에 상기 펌웨어가 업데이트되도록 할 수 있다.
또한, 본 실시예에 따른 복수의 제어부가 구비된 환경에서의 펌웨어 업데이트 방법은, 상기 기설정된 범위가 초과되지 않는 경우, 상기 특정 장치에 대한 에러 카운트가 감소되도록 하는 단계;를 더 포함할 수 있다.
그리고, 본 실시예에 따른 복수의 제어부가 구비된 환경에서의 펌웨어 업데이트 방법은, 상기 펌웨어의 업데이트가 필요한 것으로 결정된 경우, 메모리에 저장된 펌웨어를 이용하여 상기 제1 제어부 및 상기 제2 제어부를 업데이트하고, 상기 펌웨어의 업데이트가 필요하지 않은 것으로 결정된 경우, 상기 제1 제어부 및 상기 제2 제어부에 저장된 펌웨어를 상기 메모리에 저장시키는 단계;를 더 포함할 수 있다.
한편, 상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 차량 내 마련된 복수의 장치들에 대한 데이터들을 센싱하여 펌웨어를 업데이트하는 전자제어장치는, 상기 데이터들을 센싱하는 센싱부; 제1 장치 및 제2 장치에 대해 상기 센싱부에서 센싱된 데이터인 제1 데이터를 수신하는 제1 제어부; 및 상기 제1 장치 및 상기 제2 장치에 대해 상기 센싱부에서 센싱된 데이터인 제2 데이터를 수신하고, 상기 제1 제어부로부터 상기 제1 데이터를 전달받으며, 상기 제1 장치에 대한 가중치 정보, 상기 제2 장치에 대한 가중치 정보, 상기 제1 데이터 및 상기 제2 데이터를 기초로 상기 펌웨어의 업데이트 여부를 결정하는 제2 제어부;를 포함한다.
이와 같이 차량의 각 부분의 중요도를 기반으로 한 출력값에 따라 펌웨어 업데이트가 진행되도록 함에 따라, 차량 각 부분별 독립적인 운용이 가능해지며 개발자의 의도에 부합되는 업데이트 진행이 가능하도록 할 수 있게 된다.
또한, 차량 각 부분에서 센싱된 출력값과 함께 현재의 차량 상태를 기초로 업데이트가 진행되므로 불안정한 상태에서 무분별하게 업데이트가 진행되는 것을 방지할 수 있게 된다.
도 1은 본 발명의 일 실시예에 따른 다중 MCU 환경에서의 펌웨어 업데이트 방법이 적용되는 ECU 장치의 블록도이다.
도 2는 외부 메모리에서 펌웨어를 수신하고 등록시키는 과정을 설명하기 위해 제공되는 흐름도이다.
도 3은 펌웨어가 업데이트되는 구체적인 조건에 대한 설명을 위한 상세 흐름도이다.
이하에서는 도면을 참조하여 본 발명에 대해 보다 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 다중 MCU 환경에서의 펌웨어 업데이트 방법이 적용되는 ECU 장치(Electronic Control Unit, 이하 '전자제어장치'로 총칭)의 블록도이다.
전자제어장치는 차량 내에 탑재되어, 자동차의 엔진, 변속장치, 제동장치, 현가장치, 조향장치 등의 차량 상태를 총체적으로 관리한다.
이러한 전자제어장치는 다수의 센싱부(110), 버스(120), MCU A(130), MCU B(140) 및 공유 메모리(150)로 구성된다.
다수의 센싱부(110)는 차량 내 마련된 각종 장치에 대한 개별 정보를 센싱하는 역할을 한다. 예를 들어, 센싱부 1(110-1)은 차량의 엔진 회전수에 대한 아날로그 정보를 센싱하고, 센싱부 2(110-2)는 차량의 조향 상태에 대한 아날로그 정보를 센싱하며, 센싱부 3(110-3)은 차량의 변속 상태에 대한 아날로그 정보를 센싱하고, 센싱부 N(110-N)은 차량의 서스펜션 상태에 대한 아날로그 정보를 센싱할 수 있다.
이와 같이 다수의 센싱부(110)에서 센싱된 아날로그 정보는 디지털 신호로 컨버팅되어 버스(120)로 전달된다.
버스(120)는 다수의 센싱부(110)에서 수신된 디지털 신호를 MCU A(130, 이하 '제어부 A'로 총칭)와 MCU B(140, 이하 '제어부 B'로 총칭)로 전달하는 역할을 한다.
제어부 A(130)는 전자제어장치에서의 두뇌역할을 하며 제어부 B(140)와 함께 전자제어장치를 포함한 차량 전반을 제어하기 위한 목적으로 사용된다.
이러한 제어부 A(130)와 제어부 B(140)는 주종관계를 가지며 어느 한 제어부의 명령에 따라 다른 제어부가 일방적으로 제어되도록 구현할 수도 있고, 어느 한 제어부의 명령에 따라 다른 제어부가 제어되고 그 역으로도 제어될 수 있도록 상호 보완적인 형태로 구현할 수도 있다.
각 제어부에는 제어부를 구동시키기 위한 펌웨어가 탑재된다. 본 실시예에서는 제어부 A(130)와 제어부 B(140)가 독립적인 펌웨어를 가지며 각자의 펌웨어를 기반으로 구동되는 것으로 상정하였다. 그러나, 제어부 A(130)와 제어부 B(140)가 동일한 펌웨어를 사용하는 경우로 구현하는 것도 가능함은 물론이다.
한편, 전술한 바와 같이, 제어부 A(130)와 제어부 B(140)는 버스(120)를 통해 다수의 센싱부(110)로부터 차량의 각 장치에 대한 디지털 신호를 각각 수신하며, 제어부 A(130)와 제어부 B(140)는 이러한 디지털 신호를 기초로 펌웨어 동작 이상 여부를 상호 모니터링하게 된다.
또한, 모니터링 결과, 펌웨어 동작에 이상이 발생한 것으로 판단되면, 탑재된 펌웨어를 업데이트하게 된다. 특히, 제어부 A(130)와 제어부 B(140)는 동일한 장치로부터 수신된 디지털 신호 정보를 상호 교환 또는 재전송하며 이러한 디지털 신호를 상호 비교하여 이를 기초로 펌웨어 동작 이상 여부를 결정하게 된다.
펌웨어 업데이트가 결정된 후의 구체적인 업데이트 과정에 대해서는 도 2를 참조하여 후술하기로 하고, 펌웨어 업데이트가 결정되는 구체적인 조건들에 대해서는 도 3을 참조하여 후술하기로 한다.
한편, 제어부 A(130)와 제어부 B(140)에 각각 마련된 통신 컨트롤러(133, 143)는 각자 수신된 디지털 신호 정보를 교환하기 위한 목적으로 사용되고, 통신 인터페이스(135, 145)는 통신 컨트롤러(133, 143)의 명령에 따라 제어부 A(130)와 제어부 B(140)로 각각 수신된 디지털 신호 정보를 교환하기 위한 통로 역할을 하게 된다.
공유 메모리(150)는 제어부 A(130)와 제어부 B(140)에 탑재되기 위한 또는 제어부 A(130)와 제어부 B(140)에 이미 탑재된 펌웨어 A(151)와 펌웨어 B(153)를 저장한다. 이러한 공유 메모리(150)에 펌웨어 A(151)와 펌웨어 B(153)가 저장되는 조건과 공유 메모리(150)로부터 펌웨어 A(151)와 펌웨어 B(153)가 독출되는 과정에 대해 이하에서 도 2를 참조하여 설명하기로 한다.
도 2는 외부 메모리에서 펌웨어를 수신하고 등록시키는 과정을 설명하기 위해 제공되는 흐름도이다. 특히, 도 2는 펌웨어가 업데이트되는 조건을 모두 만족한 것으로 상정한 경우에 있어서의 펌웨어 업데이트 및 펌웨어 저장 과정을 설명하기 위한 도면이다.
우선, 펌웨어 업데이트 조건을 만족하여 펌웨어 업데이트가 필요한 것으로 판단되면(S210-Y), 펌웨어 업데이트가 필요한 제어부(130, 140)는 공유 메모리(150)에서 자신이 사용하기 위한 펌웨어를 검색한다(S220). 예를 들어, 제어부 B(140)에 현재 탑재된 펌웨어 B(141)의 업데이트가 필요한 경우라면 공유 메모리(150)에서 펌웨어 B(153)가 검색되게 된다.
검색이 완료되면, 제어부(130, 140)는 공유 메모리(150)에서 검색된 펌웨어를 수신하여 수신된 펌웨어로 기존의 펌웨어를 업데이트하게 된다(S230). 예를 들어, 제어부 B(140)가 공유 메모리(150)에서 펌웨어 B(153)를 검색하고 나면, 제어부 B(140)는 공유 메모리(150)로부터 펌웨어 B(153)를 수신하여 기존의 펌웨어 B(141)가 대체되어 업데이트되도록 하게 된다.
한편, 펌웨어 업데이트 조건을 만족하였음에도 펌웨어 업데이트가 필요하지 않은 것으로 판단되면(S210-N), 각 제어부(130, 140)는 시동이 OFF 되는 등 전자제어장치에 대한 종료 명령이 입력되었는지 여부를 판단한다(S240).
전자제어장치에 대한 종료 명령이 입력되지 않은 경우(S240-N), 펌웨어 업데이트가 필요한 상황이 추가적으로 발생하는지 검토하게 된다.
반면, 전자제어장치에 대한 종료 명령이 입력된 경우(S240-Y), 펌웨어 업데이트가 필요하지 않은 상태이기 때문에 현재의 각 제어부(130, 140)에 탑재된 펌웨어가 최신으로 업데이트 되었음을 인지하고 각 제어부(130, 140)에 현재 탑재된 펌웨어를 공유 메모리(150)에 저장시키게 된다. 예를 들어, 제어부 B(140)는 현재 탑재된 펌웨어 B(141)가 공유 메모리(150)로 전달되도록 하여, 공유 메모리(150)에 저장된 펌웨어 B(153)가 제어부 B(140)에 탑재되었던 펌웨어 B(141)로 대체되도록 한다.
이와 같이, 펌웨어 업데이트가 필요한 경우에는 공유 메모리(150)로부터 펌웨어를 독출하여 사용하고 펌웨어 업데이트가 필요하지 않는 경우에는 현재 제어부(130, 140)에 탑재된 펌웨어를 다시 공유 메모리(150)에 저장되도록 함으로써, 항상 최신의 펌웨어가 준비될 수 있도록 할 수 있게 된다.
도 3은 펌웨어가 업데이트되는 구체적인 조건에 대한 설명을 위한 상세 흐름도이다.
우선, 각 제어부(130, 140)는 차량의 각 장치들 중 동일 장치에서 수신되어 디지털 변환된 신호값의 차이가 기설정된 범위 이상인지 판단하게 된다(S310). 예를 들어, 센싱부 1(110-1)을 통해 엔진 회전수 정보가 센싱되게 되면, 센싱부 1(110-1)는 센싱된 아날로그 정보를 디지털 신호로 변환하여 버스(120)를 통해 제어부 1(130)과 제어부 2(140)로 송신하게 되고, 제어부 1(130) 및 제어부 2(140)는 각자 수신된 디지털 신호값을 교환함으로써 상호 수신된 신호값의 차이가 기설정된 범위 이상인지 판단하게 된다.
신호값의 차이가 기설정된 범위 이상인 경우(S310-Y), 제어부 1(130) 또는 제어부 2(140)는 펌웨어에 이상이 있는 것으로 판단하고 에러 카운트를 증가시키며(S320), 신호값의 차이가 기설정된 범위 미만인 경우(S310-N), 제어부 1(130) 또는 제어부 2(140)는 펌웨어에 이상이 없는 것으로 판단하고 에러 카운트를 감소시킨다(S330).
여기서, 에러 카운트는 펌웨어의 이상(에러)이 발생한 정도, 빈도, 확률 등을 나타내기 위해 사용되며, 차량의 각 장치별로 또는 다수의 센싱부(110)들 각각마다 사용되게 된다. 예를 들어, 차량의 엔진 정보가 센싱부 1(110-1)을 통해 센싱된다면, 에러 카운트 1은 차량의 엔진 정보에 관해서만 증감하게 되고, 특히, 센싱부 1(110-1)을 통해 센싱된 엔진 정보에 관해서만 증감하게 되는 것이다.
또한, 에러 카운트에는 차량의 각 장치별로 가중치가 부여되게 된다. 예를 들어, 설계자가 차량의 엔진에 대해 가중치를 3으로 부여하고 차량의 조향장치에 대해 가중치를 2로 부여한 경우, 센싱부 1(110-1)을 통해 수신된 엔진 회전수에 대한 디지털 신호값의 차이가 기설정된 범위 이상인 경우 에러 카운트가 3배로 증가하지만, 센싱부 2(110-2)를 통해 수신된 조향장치 정보에 대한 디지털 신호값의 차이가 기설정된 범위 이상인 경우 에러 카운트가 2배로 증가할 수 있게 되는 것이다.
이와 같이, 차량의 각 장치별로 가중치가 서로 다르도록 함으로써, 설계자가 원하는 조건에서 펌웨어 업데이트가 발생되도록 할 수 있으며, 중요성이 낮은 부분에서 발생된 에러 카운트에 의해 잦은 펌웨어 업데이트가 발생되는 현상을 방지할 수 있게 된다.
한편, 가중치가 부여되어 에러 카운트가 증가된 후(S320), 이러한 에러 카운트 값이 기설정된 범위 이상인 것으로 판단되면(S340-Y), 펌웨어 업데이트를 위한 1차 조건을 만족하게 된다.
여기서, 1차 조건이란, 설계자의 의도에 따라 현재 만족된 조건에 따라 펌웨어 업데이트가 진행되도록 할 수도 있고, 추가적인 조건을 만족하여야 펌웨어 업데이트가 진행되도록 할 수도 있는 조건을 의미한다.
예를 들어, 1차 조건만을 만족하여도 펌웨어 업데이트가 진행되도록 구현한 경우, 추가적인 단계(S350~S370)의 진행없이 펌웨어 업데이트가 곧바로 진행되게 된다.
추가적인 조건이 필요하도록 설계된 경우, 제어부(130, 140)는 타 센싱부를 통해 센싱되어 변환된 디지털 신호값을 기초로 한 에러 카운트 값도 추출하게 된다(S350). 특히, 본 실시예에서는 둘 이상의 센싱부를 통해 수신된 디지털 신호값을 기초로 한 에러 카운트 값이 기설정된 범위 이상인 경우를 만족하는 것으로 상정하였다. 그러나, 전술한 바와 같이 설계자의 편의에 따라 하나의 에러 카운트 값만을 참조하도록 하거나 셋 이상의 에러 카운트 값을 참조하거나 복수의 에러 카운트 값의 조합을 참조하도록 구현하는 것도 가능함은 물론이다.
한편, 타 센싱부를 통해 센싱되어 변환된 디지털 신호값을 기초로 한 에러 카운트 값도 기설정된 범위 이상인 경우(S360-Y), 펌웨어 업데이트를 위한 2차 조건을 만족하게 된다.
여기서, 2차 조건이란, 설계자의 의도에 따라 현재 만족된 조건에 따라 펌웨어 업데이트가 진행되도록 할 수도 있고, 추가적인 조건을 만족하여야 펌웨어 업데이트가 진행되도록 할 수도 있는 조건을 의미한다.
예를 들어, 2차 조건만을 만족하여도 펌웨어 업데이트가 진행되도록 구현한 경우, 추가적인 단계(S370)의 진행없이 펌웨어 업데이트가 곧바로 진행되게 된다.
추가적인 조건이 필요하도록 설계된 경우, 제어부(130, 140)는 현재의 차량 속도가 기준 속도 이하인지 여부를 판단하게 되고(S370), 차량 속도가 기준 속도 이하인 경우(S370-Y)에 업데이트가 진행되도록 하게 된다(S380).
이와 같이 복수의 조건을 만족한 상태에서 펌웨어 업데이트가 가능하도록 구현함으로 인해, 설계자의 의도가 충분히 반영된 상황에서 업데이트 가능하도록 할 수 있게 된다.
또한, 복수의 에러 카운트를 운용하고 가중치가 부여된 에러 카운트를 운용함으로써, 무분별한 업데이트가 발생하지 않고 실제로 필요한 상황과 업데이트가 진행되는 상황을 일치시킬 수 있게 된다.
이상 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 상술한 본 발명의 기술적 구성은 본 발명이 속하는 기술 분야의 당업자가 본 발명의 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시 예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해되어야 한다. 아울러, 본 발명의 범위는 상기의 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어진다. 또한, 특허청구범위의 의미 및 범위 그리고 그 등가 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
110 : 센싱부 120 : 버스
130 : MCU A 131 : 펌웨어 A
133 : 통신 컨트롤러 135 : 통신 인터페이스
140 : MCU B 141 : 펌웨어 B
143 : 통신 컨트롤러 145 : 통신 인터페이스
150 : 공유 메모리 151 : 펌웨어 A
153 : 펌웨어 B

Claims (7)

  1. 복수의 제어부가 구비된 환경에서의 펌웨어 업데이트 방법에 있어서,
    차량 내 마련된 복수의 장치들에 대한 장치별 가중치 정보가 추출되는 단계;
    상기 복수의 장치들에 대한 데이터들이 센싱되어 제1 제어부 및 제2 제어부로 전달되는 단계; 및
    상기 제1 제어부로 전달된 데이터들, 상기 제2 제어부로 전달된 데이터들 및 상기 장치별 가중치 정보를 기초로 상기 제1 제어부 및 상기 제2 제어부에 대한 펌웨어의 업데이트 여부가 결정되는 단계;를 포함하는 펌웨어 업데이트 방법.
  2. 제 1항에 있어서,
    상기 결정단계는,
    상기 제1 제어부로 전달된 데이터들과 상기 제2 제어부로 전달된 데이터들 중 특정 장치에 대해 센싱된 데이터들 간의 차이값이 기설정된 범위를 초과하는지 여부가 판단되는 단계;
    상기 기설정된 범위가 초과되는 경우, 상기 특정 장치에 대한 에러 카운트가 증가되는 단계;
    상기 특정 장치에 대한 에러 카운트에 상기 특정 장치에 대한 가중치가 부여되는 단계; 및
    상기 가중치가 부여된 상기 에러 카운트가 기설정된 범위를 초과한 경우, 상기 제1 제어부 및 상기 제2 제어부에 대한 펌웨어가 업데이트되도록 하는 단계;를 포함하는 것을 특징으로 하는 펌웨어 업데이트 방법.
  3. 제 2항에 있어서,
    상기 특정 장치는 복수 개이고,
    상기 업데이트 단계는,
    상기 복수 개의 특정 장치에 대해 각각 가중치가 부여된 에러 카운트가 각각 설정된 범위를 초과한 경우, 상기 펌웨어가 업데이트되도록 하는 것을 특징으로 하는 펌웨어 업데이트 방법.
  4. 제 2항에 있어서,
    상기 업데이트 단계는,
    상기 차량의 속도가 기설정된 속도 이상인 경우, 상기 차량의 속도가 기설정된 속도 미만으로 변경된 후에 상기 펌웨어가 업데이트되도록 대기하는 것을 특징으로 하는 펌웨어 업데이트 방법.
  5. 제 2항에 있어서,
    상기 기설정된 범위가 초과되지 않는 경우, 상기 특정 장치에 대한 에러 카운트가 감소되도록 하는 단계;를 더 포함하는 것을 특징으로 하는 펌웨어 업데이트 방법.
  6. 제 1항에 있어서,
    상기 펌웨어의 업데이트가 필요한 것으로 결정된 경우, 메모리에 저장된 펌웨어를 이용하여 상기 제1 제어부 및 상기 제2 제어부를 업데이트하고,
    상기 펌웨어의 업데이트가 필요하지 않은 것으로 결정된 경우, 상기 제1 제어부 및 상기 제2 제어부에 저장된 펌웨어를 상기 메모리에 저장시키는 단계;를 더 포함하는 것을 특징으로 하는 펌웨어 업데이트 방법.
  7. 차량 내 마련된 복수의 장치들에 대한 데이터들을 센싱하여 펌웨어를 업데이트하는 전자제어장치에 있어서,
    상기 데이터들을 센싱하는 센싱부;
    제1 장치 및 제2 장치에 대해 상기 센싱부에서 센싱된 데이터인 제1 데이터를 수신하는 제1 제어부; 및
    상기 제1 장치 및 상기 제2 장치에 대해 상기 센싱부에서 센싱된 데이터인 제2 데이터를 수신하고, 상기 제1 제어부로부터 상기 제1 데이터를 전달받으며, 상기 제1 장치에 대한 가중치 정보, 상기 제2 장치에 대한 가중치 정보, 상기 제1 데이터 및 상기 제2 데이터를 기초로 상기 펌웨어의 업데이트 여부를 결정하는 제2 제어부;를 포함하는 전자제어장치.
KR1020120133483A 2012-11-23 2012-11-23 다중 mcu 환경에서의 펌웨어 업데이트 방법 및 이를 이용한 전자제어장치 KR20140066357A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120133483A KR20140066357A (ko) 2012-11-23 2012-11-23 다중 mcu 환경에서의 펌웨어 업데이트 방법 및 이를 이용한 전자제어장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120133483A KR20140066357A (ko) 2012-11-23 2012-11-23 다중 mcu 환경에서의 펌웨어 업데이트 방법 및 이를 이용한 전자제어장치

Publications (1)

Publication Number Publication Date
KR20140066357A true KR20140066357A (ko) 2014-06-02

Family

ID=51123100

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120133483A KR20140066357A (ko) 2012-11-23 2012-11-23 다중 mcu 환경에서의 펌웨어 업데이트 방법 및 이를 이용한 전자제어장치

Country Status (1)

Country Link
KR (1) KR20140066357A (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107894900A (zh) * 2017-12-06 2018-04-10 郑州云海信息技术有限公司 一种mcu升级的方法及系统
KR20180068526A (ko) * 2016-12-14 2018-06-22 현대자동차주식회사 차량용 부품 업데이트 장치 및 그 방법
KR20220090851A (ko) * 2020-12-23 2022-06-30 한국과학기술정보연구원 펌웨어 갱신 방법 및 이를 지원하는 서버 장치와 시스템

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180068526A (ko) * 2016-12-14 2018-06-22 현대자동차주식회사 차량용 부품 업데이트 장치 및 그 방법
CN107894900A (zh) * 2017-12-06 2018-04-10 郑州云海信息技术有限公司 一种mcu升级的方法及系统
KR20220090851A (ko) * 2020-12-23 2022-06-30 한국과학기술정보연구원 펌웨어 갱신 방법 및 이를 지원하는 서버 장치와 시스템

Similar Documents

Publication Publication Date Title
US11438350B2 (en) Unauthorized communication detection method, unauthorized communication detection system, and non-transitory computer-readable recording medium storing a program
CN105981336B (zh) 不正常检测电子控制单元、车载网络系统以及不正常检测方法
CN101489835B (zh) 在机动车环境中检查测量值的似真度的方法和装置
US11757903B2 (en) Unauthorized communication detection reference deciding method, unauthorized communication detection reference deciding system, and non-transitory computer-readable recording medium storing a program
KR101575547B1 (ko) 캔 통신 시스템의 에러 분산감지 방법 및 캔 통신 시스템
US10887128B2 (en) In-vehicle network system
US9170569B2 (en) Method for electing an active master device from two redundant master devices
US9869987B2 (en) Field bus system with industrial measurement device having automonous control operation
CN106209410B (zh) 使用网关修复通信中断的方法、设备及智能接合块
US20230370480A1 (en) Unauthorized communication detection reference deciding method, unauthorized communication detection reference deciding system, and non-transitory computer-readable recording medium storing a program
CN105119793A (zh) 一种传感器网络can总线帧格式的标识符分配方法
EP3660605B1 (en) Aircraft controller including multiple core processor with wireless transmission prognostic/diagnostic data capability
JP5286659B2 (ja) 車載装置中継システム、車載装置中継方法及び中継装置
KR20140066357A (ko) 다중 mcu 환경에서의 펌웨어 업데이트 방법 및 이를 이용한 전자제어장치
CN112235127A (zh) 节点故障上报方法、装置、终端设备及存储介质
EP2398190B1 (en) Field communication system
CN104125047A (zh) 通信电路、物理量测量装置、电子设备、通信方法
JP7154161B2 (ja) 車両制御装置
WO2018163375A1 (ja) 制御装置、制御システム及びサーバー
KR20210054939A (ko) 차량 제어 장치, 그를 포함한 시스템 및 그 방법
WO2022092263A1 (ja) グランドショート故障検出装置およびノード装置
US11750424B2 (en) Electronic control unit and determination method
JP2009005160A (ja) エラー発生装置
CN110221572B (zh) 系统控制方法及装置
US20210216294A1 (en) Device, system and a method for reprograming electronic control unit

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid