KR101008446B1 - Ecu 동작 제어 방법 - Google Patents
Ecu 동작 제어 방법 Download PDFInfo
- Publication number
- KR101008446B1 KR101008446B1 KR1020080074079A KR20080074079A KR101008446B1 KR 101008446 B1 KR101008446 B1 KR 101008446B1 KR 1020080074079 A KR1020080074079 A KR 1020080074079A KR 20080074079 A KR20080074079 A KR 20080074079A KR 101008446 B1 KR101008446 B1 KR 101008446B1
- Authority
- KR
- South Korea
- Prior art keywords
- ecu
- calibration data
- hash value
- value
- calculated
- Prior art date
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60R—VEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
- B60R16/00—Electric 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/02—Electric 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
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F02—COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
- F02D—CONTROLLING COMBUSTION ENGINES
- F02D45/00—Electrical control not provided for in groups F02D41/00 - F02D43/00
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
Landscapes
- Engineering & Computer Science (AREA)
- Mechanical Engineering (AREA)
- Chemical & Material Sciences (AREA)
- Combustion & Propulsion (AREA)
- General Engineering & Computer Science (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
본 발명은 자동차 전자 제어 장치에 사용되는 ECU의 소프트웨어 중 양산 후 교정 데이터를 변경할 경우 ECU 동작을 제어하기 위한 방법에 관한 것으로, ECU 소프트웨어가 이를 감지하여 교정 데이터 내용이 양산 때 확정된 교정 데이터와 다를 경우 ECU의 동작을 제한하도록 제어함으로써, 교정 데이터 변경을 방지할 수 있는 효과가 있다.
ECU, 제어, 교정 데이터
Description
본 발명은 ECU 동작 제어 방법에 관한 것으로, 더 상세하게는 자동차 전자 제어 장치에 사용되는 ECU의 소프트웨어 중 양산 후 교정 데이터(calibration data)를 변경할 경우 ECU 동작을 제어하기 위한 방법에 관한 것이다.
ECU(Electric Control Unit)는 자동차의 엔진, 자동변속기, ABS 등의 상태를 컴퓨터로 제어하는 전자제어 장치를 의미한다. 특히, 점화시기와 연료분사, 공회전, 한계값 설정 등 엔진의 핵심 기능을 정밀하게 제어하는 것이다. 또한, 차량과 컴퓨터 성능의 발전과 함께 자동변속기 제어를 비롯해 구동계통, 제동계통, 조향계통 등 차량의 모든 부분을 제어하는 역할까지 하고 있다.
엔진제어를 예로 들면, 엔진의 회전수와 흡입 공기량, 흡입 압력, 액셀러레이터 개방 정도 등에 맞추어 미리 정해 놓은 점화시기 MAP(Manifold Absolute Pressure) 값과 연료분사 MAP 값 등을 조회하여 수온센서, 산소센서 등을 교정하고 인젝터의 개폐율을 조정한다. 이렇게 하여 연료의 분사량과 점화시기를 결정한다. 엔진이 망가지지 않도록 각 항목별 수치에 한계 값이 설정되어 있다.
하지만, ECU 양산 후 플래시 메모리의 내용을 읽어 이중 교정 데이터(calibration data)를 불법적으로 자동차 업체 또는 다른 ECU 업체에서 변경하여 다른 ECU에 적용하여 사용하는 경우가 발생할 수 있다.
여기서, 교정 데이터를 바꿔주게 되면 ECU 하드웨어 구성이 좀 다르거나 시스템이 약간 다른 경우에도 사용할 수 있는 가능성이 생기게 된다. 예를 들면 특정 입출력의 진단을 못하게 하거나, ECU의 출력을 제어하는 교정 파라미터를 바꿔서 적용할 수 있는 가능성이 발생할 수 있다.
그러나 현재 대부분의 ECU 소프트웨어에 적용된 소프트웨어 알고리즘 중에는 이런 교정 데이터의 변경 여부를 ECU 소프트웨어 동작 중에 확인할 수 있는 방법이 없는 실정이다. 현재 대부분의 ECU에는 CRC(Cyclic Redundency Check) 체크 섬이라는 방법을 사용하여 전체 교정 데이터의 변경 유무만을 확인하고 있을 뿐이다.
본 발명은 이러한 교정 데이터 변경시 ECU 소프트웨어가 이를 감지하여 교정 데이터 내용이 양산 때 확정된 교정 데이터와 다를 경우, ECU의 동작을 중지시켜 교정 데이터 변경을 방지할 수 있는, ECU 동작 제어 방법을 제공하는데 목적이 있다.
본 발명의 기술적 과제를 달성하기 위한 ECU 소프트웨어 동작 중 ECU 동작을 제어하는 방법은 상기 ECU 소프트웨어의 동작이 시작되면, 교정 데이터의 CRC 체크 섬 값을 획득하고, 상기 획득한 CRC 체크 섬 값과 소정의 해쉬 알고리즘을 이용하여 해쉬 값을 계산하고, 상기 계산한 해쉬 값과 기 저장된 해쉬 값이 동일한지 검사하고, 상기 검사 결과에 따라 상기 ECU의 동작을 제한하도록 제어하도록 이루어진다.
본 발명의 일 실시 예에 따른 ECU 동작 제어 방법은 교정 데이터 변경시 ECU 소프트웨어가 이를 감지하여 교정 데이터가 양산 때 확정된 교정 데이터와 다를 경우, ECU의 동작을 중지시켜 교정 데이터 변경을 방지할 수 있는 효과가 있을 뿐만 아니라, ECU 소프트웨어의 불법적인 복제를 방지할 수 있는 효과가 있다. 또한, 간단한 ECU의 소프트 웨어 변경 만으로 교정 데이터의 인증을 실행하여 인증 시간이 최소로 줄일 수 효과를 얻는다.
이하, 첨부한 도면들을 참조하여 본 발명의 바람직한 실시 예들을 상세히 설명한다.
도 1은 본 발명의 일 실시 예에 따른 ECU 소프트웨어의 메모리 구조(100)를 도시한 도면이다.
도 1을 참조하면, 엔진 제어 시스템에서 사용되는 ECU의 소프트웨어는 ECU를 동작시키는 프로그램 또는 코드(110)와, 그 코드의 동작을 결정하는 교정 데이터(120)로 구성되어 있다.
여기서, ECU를 동작시키는 프로그램 또는 코드가 저장되는 영역(110)과, 교정 데이터가 저장되는 메모리 영역(120)이 분리되어 있다.
ECU 소프트웨어 프로그램은 동작 중 운행하는 차량의 조건에 맞는 제어를 하기 위해 필요한 데이터를 교정 데이터 영역(120)에서 가져오게 된다. 교정 데이터 영역(120)에는 CRC 체크 섬 값에서 간단한 해쉬 알고리즘을 사용하여 계산한 해쉬 값을, 연산을 위해 교정 데이터 출시시 계산하여 교정 데이터의 특정 영역(123)에 넣어 놓는다. 여기서, 본 발명의 바람직한 실시 예에서는 해쉬 값을 교정 데이터 영역(120)에 저장하였지만, ECU 소프트웨어의 다른 메모리 영역에 저장할 수 있음은 물론이다.
이때 해쉬 값을 계산하는 알고리즘, 계산에 사용되는 키 값, 그리고, 계산된 해쉬 값이 저장되는 교정 데이터 내의 위치는 알리지 않는다.
본 발명의 바람직한 실시 예에서는 위에서 제기한 문제를 해결하기 위해 ECU 소프트웨어의 프로그램 영역 안에 교정 데이터의 내용을 확인할 수 있는 정보, 즉 해쉬 값을 기록하여 ECU의 동작 중 교정 데이터의 CRC 체크 섬에 해싱 알고리즘을 적용하여 해쉬 값을 계산한 후, 이 계산 결과를 교정 영역(123) 안에 저장된 해쉬 값과 비교하여, 다를 경우 ECU 동작을 중지한다.
교정 데이터 영역(120) 안에 저장되는 해쉬 값의 기록 위치와 해싱 알고리즘은 공개하지 않는다.
도 2는 본 발명의 다른 실시 예에 따른 제조 과정 동안에 교정 데이터를 출시할 때 해쉬 값을 계산하는 과정을 설명하기 위한 흐름도이다.
단계 200에서, ECU 소프트웨어의 제조 과정 동안에 교정 데이터의 CRC 체크 섬을 계산한다. 그리고, 단계 202에서, 간단한 해쉬 알고리즘을 이용하여 해쉬 값을 계산한다. 예를 들면, 해쉬 값은 계산한 CRC 체크 섬 값과, 해쉬 키를 곱하여 계산할 수 있다. 단계 204에서, 계산된 해쉬 값을 교정 데이터의 메모리의 특정 영역에 기록한다. 여기서, 해쉬 알고리즘은 다음 수학식 1과 같다.
여기서, 상기 수학식 1의 해쉬 알고리즘은 단지 예시일 뿐, 다른 알고리즘을 이용하여 해쉬 값을 계산할 수도 있다.
즉, 출시 후에 제조 과정에서 사용한 해쉬 알고리즘과 해쉬 키를 사용하여 계산된 값, 즉 해쉬 값을 알지 못하면, CRC 체크 섬 값에서 해쉬 값을 계산할 수 없게 된다. 여기서, 해쉬 값을 다른 바이트(byte)로 변경하여 계산할 수도 있다.
도 3은 본 발명의 또 다른 실시 예에 따른 출시 후, ECU 동작을 제어하기 위해 해쉬 값을 검사하는 과정을 설명하기 위한 흐름도이다.
먼저, ECU 소프트웨어를 양산 출시할 때 해쉬 값을 검사하는 기능을 활성화한다.
단계 300에서, 교정 데이터의 CRC 체크 섬 값을 획득한다. 그리고, 단계 302에서, 해쉬 값을 획득한 CRC 체크 섬 값으로부터 계산한다. 단계 304에서, 계산한 해쉬 값이 교정 데이터 영역에 제조 과정에서 계산되어 저장된 해쉬 값과 일치하는지 비교한다. 일치하지 않는다면, 단계 306으로 진행하여 ECU 동작을 제한하도록 제어한다.
즉, ECU 동작이 시작되면, ECU 소프트웨어가 계속하여 해쉬 값을 저장된 교정 데이터의 체크 섬에서 계산한다. 계산된 해쉬 값이 교정 데이터 영역에 저장된 해쉬 값과 일치하면 ECU 동작을 계속하고, 다시 처음부터 해쉬 계산을 다시 시작하여 계속한다. 따라서, 계산된 해쉬 값이 교정 영역에 저장된 해쉬 값과 일치하지 않으면 출시 후에 교정 데이터를 변경한 후 이에 따라 CRC 체크 섬을 다시 계산한 것이므로 즉시 제한된 ECU 동작만을 허락하도록 한다.
제한된 ECU 동작에서는 차를 정비소에 가져갈 정도의 동작만 되도록 한다. 예를 들면 최대 rpm과 차속 제한 만을 수행할 수 있도록 한다. 따라서, SOP(Start Of Production) 후에 교정 데이터 변경을 방지하는 효과를 얻게 된다.
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다.
이상 본 발명의 바람직한 실시 예들을 기초로 설명되었지만, 당업자들은 본 발명이 속하는 기술분야의 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시 예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해되어야 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 한정되며, 특허청구범위의 의미 및 범위 그리고 그 등가 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
도 1은 본 발명의 일 실시 예에 따른 ECU 소프트웨어의 메모리 구조를 도시한 도면이다.
도 2는 본 발명의 다른 실시 예에 따른 제조 과정 동안에 교정 데이터를 출시할 때 해쉬 값을 계산하는 과정을 설명하기 위한 흐름도이다.
도 3은 본 발명의 또 다른 실시 예에 따른 ECU 동작을 제한하기 위해 해쉬 값을 검사하는 과정을 설명하기 위한 흐름도이다.
<도면의 주요 부분에 대한 부호의 설명>
100: ECU 소프트웨어 메모리 구조 110: 프로그램 저장 영역
120: 교정 데이터 저장 영역 121: CRC 체크섬
122: 체크섬 계산을 위한 정보 123: 해쉬 값
Claims (4)
- ECU 소프트웨어 동작 중 ECU 동작을 제어하는 방법에 있어서,(a) 상기 ECU 소프트웨어의 동작이 시작되면, 교정 데이터의 CRC 체크 섬 값을 획득하는 단계;(b) 상기 획득한 CRC 체크 섬 값과 소정의 해쉬 알고리즘을 이용하여 해쉬 값을 계산하는 단계;(c) 상기 계산한 해쉬 값과 기 저장된 해쉬 값이 동일한지 검사하는 단계; 및(d) 상기 검사 결과에 따라 상기 ECU의 동작을 제한하도록 제어하는 단계를 포함하고,상기 (a) 단계 이전에,상기 교정 데이터의 CRC 체크 섬을 계산하고, 상기 계산한 CRC 체크 섬 값과 상기 해쉬 알고리즘을 이용하여 해쉬 값을 계산하여 교정 데이터의 메모리 영역에 저장하는 단계를 더 포함하는 것을 특징으로 하는 ECU 동작 제어 방법.
- 제 1 항에 있어서,상기 (d) 단계는,상기 계산한 해쉬 값과 기 저장된 해쉬 값이 동일하지 않은 경우에 상기 ECU의 동작을 제한하도록 제어하는 것을 특징으로 하는 ECU 동작 제어 방법.
- 제 1 항에 있어서,상기 기 저장된 해쉬 값은 상기 ECU 소프트웨어의 교정 데이터 메모리 영역에 저장된 것을 특징으로 하는 ECU 동작 제어 방법.
- 삭제
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080074079A KR101008446B1 (ko) | 2008-07-29 | 2008-07-29 | Ecu 동작 제어 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080074079A KR101008446B1 (ko) | 2008-07-29 | 2008-07-29 | Ecu 동작 제어 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20100012595A KR20100012595A (ko) | 2010-02-08 |
KR101008446B1 true KR101008446B1 (ko) | 2011-01-14 |
Family
ID=42086805
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020080074079A KR101008446B1 (ko) | 2008-07-29 | 2008-07-29 | Ecu 동작 제어 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101008446B1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180090108A (ko) * | 2017-02-02 | 2018-08-10 | 주식회사 다산네트웍스 | 복사 플래시 사용 방지 기능을 구비한 ecu 부팅 시스템 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101524117B1 (ko) * | 2009-04-30 | 2015-05-29 | 콘티넨탈 오토모티브 시스템 주식회사 | 자동차의 복제 방지 시스템 및 방법 |
US9803576B2 (en) * | 2016-02-16 | 2017-10-31 | Robert Bosch Gmbh | System and method to predict calibration values based on existing calibrations |
US10128546B2 (en) * | 2016-06-07 | 2018-11-13 | Ford Global Technologies, Llc | Battery communication system for battery packs |
US10994617B2 (en) | 2018-11-19 | 2021-05-04 | Ford Global Technologies, Llc | Distributed battery thermal runaway detection |
CN113849212B (zh) * | 2021-09-30 | 2024-05-14 | 蜂巢能源科技有限公司 | 一种软件升级控制方法、装置及电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002175220A (ja) | 2000-12-05 | 2002-06-21 | Matsushita Electric Ind Co Ltd | 電子制御装置の故障検出方法 |
JP2002334024A (ja) | 2001-05-11 | 2002-11-22 | Denso Corp | 電子制御装置 |
KR100665673B1 (ko) * | 2005-01-26 | 2007-01-09 | (주)캐스톤 | 디지털 셋톱박스의 응용프로그램 복제 방지 방법 |
-
2008
- 2008-07-29 KR KR1020080074079A patent/KR101008446B1/ko active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002175220A (ja) | 2000-12-05 | 2002-06-21 | Matsushita Electric Ind Co Ltd | 電子制御装置の故障検出方法 |
JP2002334024A (ja) | 2001-05-11 | 2002-11-22 | Denso Corp | 電子制御装置 |
KR100665673B1 (ko) * | 2005-01-26 | 2007-01-09 | (주)캐스톤 | 디지털 셋톱박스의 응용프로그램 복제 방지 방법 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180090108A (ko) * | 2017-02-02 | 2018-08-10 | 주식회사 다산네트웍스 | 복사 플래시 사용 방지 기능을 구비한 ecu 부팅 시스템 |
KR101967755B1 (ko) * | 2017-02-02 | 2019-04-10 | 주식회사 다산네트웍스 | 복사 플래시 사용 방지 기능을 구비한 ecu 부팅 시스템 |
Also Published As
Publication number | Publication date |
---|---|
KR20100012595A (ko) | 2010-02-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101008446B1 (ko) | Ecu 동작 제어 방법 | |
CN108429734B (zh) | 用于车辆通信系统中的安全漏洞检测的系统和方法 | |
US11080387B1 (en) | Validation of software residing on remote computing devices | |
JPWO2009090978A1 (ja) | 車両用制御装置 | |
US8504278B2 (en) | Method and system for detecting a fault during catalyst light-off | |
CN111693653B (zh) | 氧传感器的大气标定方法、大气标定装置和大气标定系统 | |
US20180195454A1 (en) | Method and system for controlling electronic throttle control system | |
US11620385B2 (en) | Vehicle control device, vehicle control device start-up method, and recording medium | |
US20200340419A1 (en) | Method and system of correcting fuel injection quantity of vehicle | |
KR101418451B1 (ko) | 전자 제어 장치 및 그 업데이트 방법 | |
JP2017110595A (ja) | 失火判定装置 | |
JP2015049785A (ja) | プログラム処理装置 | |
CN104158621B (zh) | 待传输数据序列的安全传输 | |
JP2014052358A (ja) | 車両用制御装置の検証装置 | |
JP2004019457A (ja) | 車両用電子制御装置 | |
KR20190008671A (ko) | 연료타입 구분 제어장치, 그를 포함한 연료 펌프 제어 시스템 및 그 방법 | |
JP7217767B2 (ja) | 更新管理サーバ、更新管理方法、及びプログラム | |
JP7480875B1 (ja) | 動力決定装置及び動力決定方法 | |
JP3659171B2 (ja) | エンジンの制御装置 | |
KR101943108B1 (ko) | 구동 시스템을 모니터링하기 위한 방법 및 장치 | |
KR101325500B1 (ko) | 스탑엔고 차량의 배기 가스 온도 모델링 방법 | |
JP2019068341A (ja) | 制御装置および制御方法 | |
CN118503958A (zh) | 一种基于签名的汽车电机控制器安全启动方法 | |
JP6253698B2 (ja) | 大気圧推定装置 | |
CN118427786A (zh) | 一种控制器应用层软件防移植校验方法及系统 |
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: 20131227 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20141224 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20151224 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20161229 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20191224 Year of fee payment: 10 |