KR20080018647A - 자동차의 전자제어장치 및 그 리프로그래밍 방법 - Google Patents

자동차의 전자제어장치 및 그 리프로그래밍 방법 Download PDF

Info

Publication number
KR20080018647A
KR20080018647A KR1020060081081A KR20060081081A KR20080018647A KR 20080018647 A KR20080018647 A KR 20080018647A KR 1020060081081 A KR1020060081081 A KR 1020060081081A KR 20060081081 A KR20060081081 A KR 20060081081A KR 20080018647 A KR20080018647 A KR 20080018647A
Authority
KR
South Korea
Prior art keywords
area
ecu
data
calibration
reprogramming
Prior art date
Application number
KR1020060081081A
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 KR1020060081081A priority Critical patent/KR20080018647A/ko
Publication of KR20080018647A publication Critical patent/KR20080018647A/ko

Links

Images

Classifications

    • 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
    • B60R16/023Electric 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 for transmission of signals between vehicle parts or subsystems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Landscapes

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

Abstract

본 발명은 자동차의 전자제어장치 및 그 리프로그래밍 방법을 개시한다.
본 발명은 전자제어장치에 프로그램 된 데이터를 식별하기 위한 CAL ID를 리프로그램에 의해 영향을 받지 않는 RAM 영역(NVM)에 저장함으로써 리프로그램 도중에 페일이 발생하더라도 CAL ID의 훼손을 방지하여 잘못된 데이터가 ECU에 프로그램되는 것을 방지할 수 있다.

Description

자동차의 전자제어장치 및 그 리프로그래밍 방법{ECU in a vehicle and reprogramming method of the ECU}
도 1은 본 발명에 따른 ECU와 스캔 툴의 연결관계를 나타내는 도면.
도 2는 도 1에서 ECU의 NVM의 구조를 보다 상세하게 나타낸 도면.
도 3은 본 발명에 따른 리프로그램 방법을 설명하기 위한 순서도.
< 도면의 주요 부분에 대한 부호의 설명 >
10 : ECU 20 : 스캔 툴
본 발명은 자동차의 전자제어장치(ECU:Engine Control Unit)에 대한 리프로그램에 관한 것으로서, 보다 상세하게는 전자제어장치에 프로그램 된 데이터를 식별하기 위한 캘리브레이션(CALIBRATION) ID(CAL ID)를 리프로그램 대상 영역(ROM)이 아닌 영역(RAM)에 저장하여 사용함으로써 리프로그램 도중에 페일(FAIL)이 발생되더라도 CAL ID가 훼손되는 것을 방지하여 잘못된 데이터가 전자제어장치에 리프로그램되는 것을 방지할 수 있는 전자제어장치의 리프로그램 방법에 관한 것이다.
기술의 발달로 인하여 자동차의 엔진 및 자동 변속기, 기타의 각 장치들은 검출되는 운행 정보와 기 설정된 제어 로직에 따라 제어되어 안전한 주행과 차량의 최적 상태를 유지할 수 있도록 해준다.
이러한 자동차들의 제어 로직은 ECU의 기억장치에서 플래쉬 롬(ROM)에 저장되며, 전자제어장치의 이상이나 고장으로 이러한 제어 로직을 리프로그램하고자 하는 경우에는 ISO9141-2에서 정의하고 있는 GST(Generic Scan Tool) 통신 프로토콜을 따르는 특별히 제작된 스캔 툴(SCAN TOOL)을 ECU와 연결시켜 사용하고 있다.
이러한 리프로그램에 있어서, 리프로그램은 해당 데이터에 대한 CAL ID가 맞아야만 수행될 수 있기 때문에 스캔 툴과 ECU간에 가장 먼저 하는 일은 해당 데이터가 진짜 리프로그램되어야 할 데이터가 맞는지를 확인하는 과정이다. 이러한 리프로그램 대상 데이터에 대한 확인은 해당 데이터에 대한 CAL ID를 사용하여 이루어진다.
이러한 리프로그램 수행시 스캔 툴은 먼저 자동모드에서 ECU에게 CAL ID를 요구하여 제공받아 제공받은 CAL ID가 리프로그램 대상 데이터의 CAL ID와 일치하는지 확인한 후 일치하면 제어 로직 및 관련 데이터가 저장되어 있는 BOOT 영역, CODE 영역 및 DATA 영역을 모두 삭제한 후 해당 영역에 변경된 제어 로직 및 데이터를 오버라이팅(OVERWRITING) 함으로써 리프로그램을 수행한다.
그런데 이러한 자동모드에서의 리프로그램 도중 어떠한 이유에서건 페일이 발생하게 되면 스캔 툴은 강제모드로 진입하여 ECU와의 CAL ID에 대한 확인절차 없이 바로 리프로그램을 다시 시작하게 된다.
이처럼 강제모드에서 리프로그램을 수행하는 경우에는 CAL ID를 확인하지 않 기 때문에 작업자의 실수로 잘못된 데이터가 리프로그램되어 ECU에 저장될 수 있다. 그러한 경우, ECU가 제대로 동작하지 못하게 되어 ECU를 교환해야 되는 문제가 발생될 수 있다.
따라서, 상술된 문제를 해결하기 위한 본 발명의 목적은 ECU에 프로그램 된 데이터에 대한 CAL ID의 관리 방법을 개선하여 리프로그램시 페일이 발생하는 경우에도 잘못된 데이터가 ECU에 리프로그램되는 것을 방지하는데 있다.
위와 같은 목적을 달성하기 위한 본 발명의 자동차의 전자제어장치는 전자제어장치에 프로그램된 데이터를 식별하기 위한 캘리브레이션 ID(CAL ID)를 리프로그램시 삭제 및 기록이 발생되지 않는 영역에 저장하는 것을 특징으로 한다.
자동차 전자제어장치의 리프로그래밍 방법은 리프로그램을 위해 스캔 툴로부터 캘리브레이션 ID 요청을 수신시 기억장치의 제 1 영역에 저장된 캘리브레이션 ID를 상기 스캔 툴로 전송해주는 제 1 단계; 상기 캘리브레이션 ID에 대한 확인이 완료시, 상기 스캔 툴의 제어에 따라 상기 기억장치의 제 2 영역에 기 프로그램된 데이터를 모두 삭제한 후 상기 스캔 툴로부터 리프로그램 될 데이터를 제공받아 상기 제 2 영역에 기록하는 제 2 단계; 및 상기 자동차의 시동이 온 되어 상기 리프로그램 된 데이터로 리셋되면 상기 제 2 영역에 기록된 캘리브레이션 ID를 상기 제 1 영역에 저장하는 제 3 단계를 포함한다.
이하, 첨부된 도면들을 참조하여 본 발명의 바람직한 실시예를 보다 상세하 게 설명한다.
도 1은 본 발명에 따른 ECU와 스캔 툴의 연결관계를 나타내는 도면이다.
ECU(10)는 자동차의 엔진, 자동변속기의 상태를 컴퓨터로 제어하는 전자제어 장치로서 기 저장된 제어 로직에 따라 엔진과 관련된 각종 센서로부터 수집된 정보(학습치)를 이용하여 최적 연소를 통해 엔진 효율을 높이고 운전자의 의도대로 엔진을 최적 제어해주기 위한 제어장치이다. 이러한 ECU(10)는 엔진 제어를 위한 제어로직 및 관련 데이터들은 ROM 영역(BOOT, CODE, DATA)에 저장하며, 센서들로부터 입력되는 학습치들은 RAM 영역(NVM:Non Voltile Memory)에 저장한다. 이때 본 발명의 ECU(10)는 프로그램 된 데이터(제어로직)를 식별하기 위한 CAL ID를 학습치가 저장되는 비휘발성 메모리(NVM)에 함께 저장한다. 즉, ECU(10)는 리프로그램시 스캔 툴(20)로부터 제공받은 CAL ID를 종래와 같이 ROM 영역인 DATA 영역에 일단 저장한 후 자동차의 시동이 온 되어 리셋되면 DATA 영역에 저장된 CAL ID를 NVM에 저장한다. ECU(10)에서 RAM 영역인 NVM은 센서들로부터 입력되는 학습치를 저장하기 위한 영역으로 자동차의 시동이 오프(OFF) 되면 파워 래치 시간 동안(약 4초)에 빠르게 이 NVM에 학습치가 저장되며 다음에 시동이 온(ON) 될 때 ECU(10)는 NVM에 저장된 학습치를 다시 사용하게 된다. 이처럼, NVM은 매번 변화되는 학습치를 저장하기 때문에 리프로그램시 전혀 영향을 받지 않는 영역이다. 따라서, 본 발명의 ECU(10)는 프로그램된 데이터를 식별하기 위한 CAL ID를 NVM에 저장하고, 리프로그램시 스캔 툴(20)로부터 리프로그램 대상 데이터에 대한 CAL ID 요구가 수신되면 NVM에서 CAL ID를 읽어 스캔 툴(20)로 전송해준다.
스캔 툴(20)은 ECU(10)와 연결되어 GST 통신 프로토콜에 따라 ECU(10)에 대한 리프로그램을 수행한다. 예컨대, ECU(10)에 이상이나 고장이 발생하여 데이터에 대한 리프로그램이 필요한 경우, 사용자는 ECU(10)에 스캔 툴(20)을 접속하고 스캔 툴(20)에 리프로그래밍할 데이터가 수록된 데이터 카드와 컴퓨터(PC)를 접속하고 컴퓨터(PC)를 이용하여 리프로그램을 수행한다. 특히 스캔 툴(20)은 리프로그램 도중 페일이 발생하는 경우 ECU(10)에게 다시 CAL ID를 요청하여 리프로그램을 재시도한다. 즉, 스캔 툴(20)은 리프로그램 도중 페일이 발생하더라도 강제모드로 진입하지 않고 자동모드 상태에서 ECU(10)에게 다시 CAL ID를 요청하여 CAL ID의 일치 여부를 확인한 후 두 CAL ID가 일치하는 경우 리프로그램을 재시도함으로써 잘못된 데이터가 ECU(10)에 리프로그램되는 것을 방지한다. 이러한 스캔 툴(20)의 리프로그램 동작 자체는 종래의 스캔 툴과 그 기능이 동일하므로 이에 대한 상세한 동작 설명은 생략한다.
도 2는 도 1에서 ECU(10)의 NVM의 구조를 보다 상세하게 나타낸 도면이다.
NVM에 저장되는 학습치들은 ECU(10)가 엔진을 제어하는데 아주 중요한 데이터들이다. 따라서, NVM은 학습치들에 대한 안전을 위해 도 2에서와 같이 16개의 블럭으로 구성된다. 이러한 16개 블럭을 이용한 학습치 저장 원리를 간략하게 설명하면 다음과 같다.
자동차의 시동이 꺼지면 ECU(10)는 센서를 통해 획득된 각종 학습치를 파워 래치 시간 동안(약 4초)에 1번 블럭에 저장한다. 이 후 시동을 건 후 다시 시동을 끄게 되면 1번 블럭에 저장된 데이터는 2번 블럭에 저장된다. 그리고 이 후 시동 을 건 후 다시 시동을 끄게 되면 1번 블럭에 저장되었던 데이터는 2번 블럭에 저장되고 2번 블럭에 저장되었던 데이터는 3번 블럭에 저장된다.
따라서, ECU(10)는 시동이 꺼질 때마다 학습치와 함께 CAL ID도 NVM의 각 블럭에 순차적으로 저장하게 된다.
도 3은 본 발명에 따른 리프로그램 방법을 설명하기 위한 순서도이다.
ECU(10)에 이상이나 고장이 발생하여 ECU(10)의 데이터를 리프로그램해야 하는 경우, 스캔 툴(20)은 ECU(10)에게 CAL ID를 요구하여 제공받고 이를 리프로그램 할 데이터의 CAL ID와 비교하여 그 일치 여부를 확인한다(단계 301).
이때 ECU(10)는 NVM의 특정 블럭(예컨대 1번 블럭)에 저장된 CAL ID를 스캔 툴(20)로 전송해준다.
단계 301의 비교 결과 두 CAL ID가 일치하는 경우, ECU(10)는 스캔 툴(20)의 지시에 따라 리프로그램의 대상이 되는 영역(ROM 영역: BOOT 영역, CODE 영역 및 DATA 영역)에 프로그램 된 데이터를 차례대로 모두 삭제한다(단계 302 ∼ 304).
삭제가 완료되면, 스캔 툴(20)은 리프로그램 할 데이터를 ECU(10)로 전송하며 ECU(10)는 제공받은 데이터를 BOOT 영역부터 차례대로 기록함으로써 리프로그램을 수행한다(단계 305).
그런데 이러한 리프로그램을 위한 데이터 기록 도중 페일이 발생하게 되면(단계 306), 스캔 툴(20)은 자동모드를 유지하면서 리프로그램을 다시 시도한다(단계 307).
즉 스캔 툴(20)은 데이터 기록 도중 페일이 발생하더라도 종래와 같이 강제 모드로 진입하지 않고 자동모드 상태에서 다시 리프로그램을 시도한다.
리프로그램의 재시도를 위해, 스캔 툴(20)은 단계 301에서와 같이 ECU(10)에게 다시 CAL ID를 요청하여 제공받아 이를 리프로그램 할 데이터의 CAL ID와 비교하여 그 일치 여부를 확인한다(단계 308).
이때, ECU(10)는 스캔 툴(20)로부터의 CAL ID 요청에 따라 RAM 영역인 NVM의 특정 블럭(예컨대, 1번 블럭)에 저장된 CAL ID를 읽어내어 스캔 툴(20)로 전송해준다. 즉, 종래에는 CAL ID를 ROM 영역(DATA 영역)에 저장함으로써 리프로그램 도중(상술된 단계 304)에 CAL ID에 대한 정보도 모두 지워져 버리는 문제가 있었으나 본 발명에서와 같이 NVM에 CAL ID를 저장함으로써 리프로그램 동작에 의해 CAL ID에 대한 정보가 훼손되지 않게 된다. 따라서 ECU(10)는 리프로그램시 페일이 발생하더라도 스캔 툴(20)에게 정상적으로 현재 프로그램 된 데이터에 대한 CAL ID를 제공할 수 있게 된다.
단계 308에서 CAL ID가 일치하는 경우, 스캔 툴(20)은 리프로그램 될 데이터를 ECU(10)로 전송해주며 ECU(10)는 제공받은 데이터를 ROM 영역(BOOT 영역, CODE 영역, DATA 영역)에 순차적으로 다시 기록한다(단계 309).
이때, 리프로그램되는 데이터에 대한 CAL ID는 우선 DATA 영역에 저장된다.
데이터 기록이 완료된 후 사용자가 자동차의 시동을 온 함으로써 ECU(10)는 리프로그램 된 데이터로 리셋된다(단계 310).
다음에 ECU(10)는 DATA 영역에 기록된 새로운 CAL ID를 NVM의 1번 블럭에 저장한다(단계 311).
상술된 단계 301 및 단계 308에서 CAL ID가 일치하지 않는 경우, 스캔 툴(20)은 리프로그램을 진행할 수 없음을 사용자에게 알려주고 더 이상의 리프로그램 동작을 진행하지 않는다(단계 312).
상술한 바와 같이, 본 발명의 자동차의 전자제어장치에 대한 리프로그램 방법은 프로그램 된 데이터를 식별하기 위한 CAL ID를 리프로그램에 의해 영향을 받지 않는 RAM 영역(NVM)에 저장함으로써 리프로그램 도중에 페일이 발생하더라도 CAL ID의 훼손을 방지하여 잘못된 데이터가 ECU에 프로그램되는 것을 방지할 수 있다.

Claims (6)

  1. 전자제어장치에 프로그램된 데이터를 식별하기 위한 캘리브레이션 ID(CAL ID)를 리프로그램시 삭제 및 기록이 발생되지 않는 영역에 저장하여 사용하는 것을 특징으로 하는 자동차의 전자제어장치.
  2. 제 1항에 있어서, 상기 캘리브레이션 ID는
    상기 전자제어장치의 RAM 영역에 저장되는 것을 특징으로 하는 자동차의 전자제어장치.
  3. 제 2항에 있어서, 상기 전자제어장치는
    상기 리프로그램시 스캔 툴로부터 제공받은 상기 캘리브레이션 ID를 ROM 영역에 먼저 저장한 후 자동차의 시동이 온 되면 상기 ROM 영역에 저장된 상기 캘리브레이션 ID를 상기 RAM 영역에 다시 저장하는 것을 특징으로 하는 자동차의 전자제어장치.
  4. 스캔 툴을 이용한 자동차 전자제어장치의 리프로그램에 있어서,
    상기 리프로그램을 위해 상기 스캔 툴로부터 캘리브레이션 ID 요청을 수신시 기억장치의 제 1 영역에 저장된 캘리브레이션 ID를 상기 스캔 툴로 전송해주는 제 1 단계;
    상기 캘리브레이션 ID에 대한 확인이 완료시, 상기 스캔 툴의 제어에 따라 상기 기억장치의 제 2 영역에 기 프로그램된 데이터를 모두 삭제한 후 상기 스캔 툴로부터 리프로그램 될 데이터를 제공받아 상기 제 2 영역에 기록하는 제 2 단계; 및
    상기 자동차의 시동이 온 되어 상기 리프로그램 된 데이터로 리셋되면 상기 제 2 영역에 기록된 캘리브레이션 ID를 상기 제 1 영역에 저장하는 제 3 단계를 포함하는 자동차 전자제어장치의 리프로그래밍 방법.
  5. 제 4항에 있어서, 상기 제 1 영역은
    상기 제 2 단계에서의 삭제 및 기록 동작이 발생되지 않는 영역인 것을 특징으로 하는 자동차 전자제어장치의 리프로그래밍 방법.
  6. 제 5항에 있어서,
    상기 제 1 영역은 RAM 영역이며, 상기 제 2 영역은 ROM 영역인 것을 특징으로 하는 자동차 전자제어장치의 리프로그래밍 방법.
KR1020060081081A 2006-08-25 2006-08-25 자동차의 전자제어장치 및 그 리프로그래밍 방법 KR20080018647A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060081081A KR20080018647A (ko) 2006-08-25 2006-08-25 자동차의 전자제어장치 및 그 리프로그래밍 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060081081A KR20080018647A (ko) 2006-08-25 2006-08-25 자동차의 전자제어장치 및 그 리프로그래밍 방법

Publications (1)

Publication Number Publication Date
KR20080018647A true KR20080018647A (ko) 2008-02-28

Family

ID=39385646

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060081081A KR20080018647A (ko) 2006-08-25 2006-08-25 자동차의 전자제어장치 및 그 리프로그래밍 방법

Country Status (1)

Country Link
KR (1) KR20080018647A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101366387B1 (ko) * 2011-10-27 2014-02-24 주식회사 현대케피코 전자제어장치의 리프로그램 시 데이터 보존 방법 및 시스템

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101366387B1 (ko) * 2011-10-27 2014-02-24 주식회사 현대케피코 전자제어장치의 리프로그램 시 데이터 보존 방법 및 시스템

Similar Documents

Publication Publication Date Title
RU2142168C1 (ru) Способ полного перепрограммирования стираемой энергонезависимой памяти
US8140216B2 (en) Method of detecting manipulation of a programmable memory device of a digital controller
US8565962B2 (en) Rewriting system for a vehicle
US6275911B1 (en) Memory writing device for an electronic device
JP4539757B2 (ja) 電子制御装置
JP4302113B2 (ja) 車載制御装置
US8095263B2 (en) Electronic control unit and vehicle control system
US20060218340A1 (en) Data validity determining method for flash EEPROM and electronic control system
JP4492025B2 (ja) 電子制御装置のデータ格納方法
JP4475345B2 (ja) 電子制御装置
US7869917B2 (en) Vehicle control apparatus and control method of same
JP4066499B2 (ja) 電子制御装置,電子制御システムおよび適合判断方法
KR20080018647A (ko) 자동차의 전자제어장치 및 그 리프로그래밍 방법
JP2009026183A (ja) 自動車用電子制御装置
JP2005338955A (ja) 電子制御装置
JP2019008693A (ja) 自動車用制御装置
JP5516509B2 (ja) プログラム書込システム
JP2001056787A (ja) メモリ書込装置およびその書込方法
US20050034034A1 (en) Control device with rewriteable control data
JP2004005152A (ja) 不揮発性メモリの書き換え装置
JP4998816B2 (ja) 電子制御装置のプログラム書換えシステム
JP4812278B2 (ja) 電子制御装置のデータ再書き込み方法
JP2008052618A (ja) 電子制御装置
JP3947643B2 (ja) データ制御装置
JP3831429B2 (ja) 車両制御装置

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination