JP3828335B2 - 車両制御装置のための書き換えシステム - Google Patents
車両制御装置のための書き換えシステム Download PDFInfo
- Publication number
- JP3828335B2 JP3828335B2 JP2000112126A JP2000112126A JP3828335B2 JP 3828335 B2 JP3828335 B2 JP 3828335B2 JP 2000112126 A JP2000112126 A JP 2000112126A JP 2000112126 A JP2000112126 A JP 2000112126A JP 3828335 B2 JP3828335 B2 JP 3828335B2
- Authority
- JP
- Japan
- Prior art keywords
- time
- writing
- ecu
- rewriting
- erasing
- Prior art date
- Legal status (The legal status 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 status listed.)
- Expired - Fee Related
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
- B60R16/023—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 for transmission of signals between vehicle parts or subsystems
- B60R16/0231—Circuits relating to the driving or the functioning of the vehicle
- B60R16/0232—Circuits relating to the driving or the functioning of the vehicle for measuring vehicle parameters and indicating critical, abnormal or dangerous conditions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Mechanical Engineering (AREA)
- Stored Programmes (AREA)
- Read Only Memory (AREA)
- Combined Controls Of Internal Combustion Engines (AREA)
Description
【発明の属する技術分野】
この発明は、車載制御装置のメモリに保存されたプログラムを、外部の書き換え装置から転送される別のプログラムに書き換えるシステムに関する。
【0002】
【従来の技術】
現在、車両は、搭載された複数の車両制御装置(以下、「ECU」ともいう)により、空燃比、燃料噴射量、エミッションなどのエンジンに関する制御、パワーウィンドウ、エアバッグ、ABSなどの車体に関する制御など、様々に制御されている。ECUは、車両に搭載された様々なセンサによって感知された車両の現在の状態および走行状況に基づいて、車両を様々に制御する。
【0003】
ECUは、中央演算処理装置(CPU)、実行するプログラムおよびデータを格納するROM(読み取り専用メモリ)、実行時の作業領域を提供し演算結果などを記憶するRAM(ランダムアクセスメモリ)、各種センサからの信号を受け取り、およびエンジン各部に制御信号を送る入出力インターフェースを備えている。
【0004】
上記ROMに、フラッシュメモリ、EEPROMのような消去および書き込み可能な不揮発性メモリを使用し、必要に応じてROMに格納された情報を書き換えるシステムが知られている。このシステムは、典型的には、書き換え装置、ECUおよびそれらを接続するシリアル通信路から構成される。書き換えは、ECUに搭載された不揮発性メモリに格納された情報を消去し、書き換え装置からシリアル通信を介して転送された情報を該不揮発性メモリに書き込むことによって達成される。特開昭63−223901号公報には、外部の書き換え装置からの要求により、ECUを車両に搭載したままで、SCI端子(シリアル・コミュニケーション・インターフェース)を介して、ECUのEEPROMに格納されたプログラムを変更する方法が記載されている。
【0005】
一般に、不揮発性メモリの消去および書き込みは、処理に時間がかかる。一方、書き換え装置は、ECUからの応答が所定時間以上無いと判断すると、通信が断絶されていると判断してオフライン判定を行う。したがって、ECUによって不揮発性メモリの消去および書き込みが開始された後に、書き換え装置がその消去および書き込みの結果を確認するには、図6および図7に示されるように、通常以下のように実施される。ここで、図6は、書き換え装置で実行される消去および書き込み動作を示すフローチャートであり、図7は、ECUで実行される消去および書き込み動作を示すフローチャートである。
【0006】
書き換え装置からの消去または書き込み要求に応じて(ステップ501または521)、ECUは、メモリの消去または書き込み開始信号を書き換え装置に送信し(ステップ552または562)、消去または書き込みを実行する(ステップ553または563)。書き換え装置は、消去または書き込み実行開始信号に応答して、消去または書き込みの結果をECUに要求する(ステップ505または525)。ECUは、消去または書き込み実行中ならば、消去または書き込み実行中信号を書き換え装置に返信し(ステップ556または566)、消去または書き込みが完了していれば、消去または書き込み完了信号を返信する(ステップ557または567)。
【0007】
書き換え装置は、ステップ509または529において、車両制御装置からの応答が消去または書き込み実行中信号ならば、再度ステップ505または525から処理を繰り返し、応答が消去または書き込み完了信号ならば、次のステップ510または530に進む。このように、ECUにおいて消去または書き込みが開始された後は、結果要求信号を送信してECUからの応答を受け取ることにより、書き換え装置は、消去または書き込みが実行中または完了したかを判断することができる。消去または書き込み実行中でも、車両制御装置からの応答があれば、誤ったオフライン判定が行われることはない。
【0008】
一方、不揮発性メモリのECUへの搭載の形態は、図8に示されるように、一般には2つに大別される。図8の(a)は、不揮発性メモリであるフラッシュメモリ16がCPU14とは別個に設けられて、CPUとは異なるチップ上に搭載される形態を示す。フラッシュメモリ16は、CPU14が搭載されたマイクロコンピュータのチップと外部バス5を介して接続される。ECU10が、書き換え装置11からフラッシュメモリ16に対する消去または書き込み要求を受信すると、外部バス5を介した入出力を制御する入出力制御部(図示せず)によって、フラッシュメモリ16の消去および書き込みが実行される。このように、フラッシュメモリの消去および書き込み制御はCPUとは独立して行われるので、消去および書き込みのためにCPUがビジー状態となることはない。
【0009】
一方、図8の(b)は、フラッシュメモリメモリ16がCPU14と同じチップ上に存在して1チップのマイクロコンピュータを構成する形態である。フラッシュメモリ16はCPU14と内部バス7を介して接続され、消去および書き込みは、CPUが機能として持つインターフェース手段によって実行される。したがって、CPU14がフラッシュメモリ16の消去および書き込みを開始すると、CPUはビジー状態となり、ECU10は書き換え装置11との通信ができなくなることがある。
【0010】
【発明が解決しようとする課題】
近年、ECUの構成に伴うコストを削減させるため、上記の図8の(b)のような、不揮発性メモリを内蔵したマイクロコンピュータの形態を適用することが多くなっきている。前述したように、この形態は、CPUが不揮発性メモリの消去または書き込みを実行している間、CPUはビジー状態となるので、ECUは、書き換え装置からの消去または書き込み結果要求信号に対して応答することができない場合が多くなる。その結果、たとえ通信ラインが正常であっても、書き換え装置は、ECUからの応答が所定時間内に無いために通信がオフライン状態にあると誤って判定し、書き換え効率が低下する。
【0011】
したがって、この発明は、上記の問題点を解決するものであり、その目的は、ECUが不揮発性メモリにおける情報の消去または書き込みを実行していることに基づく誤ったオフライン判定を回避し、書き換え効率を向上させることのできる書き換えシステムを提供することである。
【0012】
【課題を解決するための手段】
上記の課題を解決するため、請求項1の発明は、車両制御装置のメモリに格納された情報を消去して、書き換え装置から転送された新たな情報を書き込むことのできる書き換えシステムであって、書き換え装置は、車両制御装置に前記情報の消去または書き込みを要求する信号を送信してから、または車両制御装置から前記情報の消去または書き込みの開始を示す信号を受信してから、所定時間が経過するまで、前記車両制御装置と通信を行うことなく待機する待機手段を備えるという構成をとる。
【0013】
請求項1の発明によると、書き換え装置が、消去または書き込みが開始されてから所定時間が経過するまで待機するので、消去実行中に誤って通信ラインをオフラインと判定することを回避することができる。
【0014】
請求項2の発明は、請求項1の書き換えシステムにおいて、書き換え装置は、メモリに格納された情報の消去またはメモリへの新たな情報の書き込みに先だって、消去または書き込みに必要な時間を車両制御装置から取得する手段を備え、前記メモリに格納された情報の消去を実行するとき、所定時間として前記取得した消去必要時間を設定し、前記メモリへの新たな情報の書き込みを実行するとき、所定時間として前記取得した書き込み必要時間を設定するという構成をとる。
【0015】
請求項2の発明によると、消去実行中の待機時間に消去必要時間が設定され、書き込み実行中の書き込み時間に書き込み必要時間が設定されるので、メモリの仕様に適合するよう待機時間を設定することができ、書き換え効率を向上させることができる。
【0016】
【発明の実施の形態】
次に図面を参照してこの発明の実施の形態を、車両制御装置(ECU)の不揮発性メモリに格納されたプログラムを書き換えるシステムに関して説明する。しかし、この発明は、プログラムを書き換えるシステムに限定されるものではなく、広くメモリに格納された情報を書き換えるシステムに適用することができる。
【0017】
図1は、この発明に従う書き換えシステムの全体的な機能ブロック図を示す。書き換えシステムは、ECU10およびその外部に設けられた書き換え装置11を備える。書き換え装置11は、ECU10が搭載される車両のメーカーによって認可された正規の書き換え装置である。書き換え装置11をシリアル通信バスを介してECU10に接続し、書き換え装置11を操作することにより、ECU10のROM16に対する不正な書き換えを防止するセキュリティを解除して、ROM16に格納されたプログラムおよびデータのような情報を書き換えることができる。
【0018】
ECU10は、マイクロコンピュータおよびこれに付随する回路素子で構成され、中央演算処理装置14(以下「CPU」という)、不揮発性メモリであって、実行するプログラムおよびデータを格納するROM16および17、実行時の作業領域を提供し演算結果などを記憶するRAM15(ランダムアクセスメモリ)、各種センサ19から信号を受け取り、車両の各部に制御信号を送る入出力インターフェース18を備える。
【0019】
各種センサ19からの信号には、エンジン回転数、エンジン水温、吸気温、バッテリ電圧、イグニションスイッチなどが含まれる。こうして、CPU14は、入出力インターフェース18から入力された信号に基づいて、ROM16および17から制御プログラムおよびデータを呼び出して演算を行い、その結果を入出力インターフェース18を介して車両の各部に出力し、車両の様々な機能を制御する。
【0020】
また、ECU10はインターフェース12を備える。インターフェース12は、書き換え装置11との通信プロトコルを持ち、ECU10および書き換え装置11の間のシリアル通信を可能にする。
【0021】
変更可能ROM16は、格納された情報を消去して新たな情報を書き込むことができる不揮発性メモリであり、たとえばフラッシュメモリ、EEPROMによって実現することができる。変更不可能ROM17は、格納された情報を変更することができない不揮発性メモリである。変更不可能ROM17は、上記のフラッシュメモリ、EEPROMのような消去および書き込み可能なROMのメモリ領域のうち、ある領域を変更不可能領域と設定することによって実現することができ、または製造時にデータが決められ、その後に消去および書き込みができないマスクROMや、1度だけデータを書き込むことができるPROMなどによっても実現することができる。
【0022】
これらのROM16および17は、別個のメモリとして実現してもよく、または1つのメモリのメモリ領域を2つの領域に分割して一方を変更可能領域として使用し、他方を変更不可能領域として使用することもできる。後者の場合、たとえばEEPROMのある特定の領域を変更不可能領域としてプログラムなどを格納した後、それ以外の空き領域に対してスタートおよびエンドアドレスを指定することにより、変更可能領域を新たに設定することができる。
【0023】
変更可能ROM16にはプログラムP1が格納されており、このプログラムP1が、書き換え装置11による書き換えの対象となる。変更不可能ROM17には、認証部33、初期化部34、消去実行部35、書込実行部36を実現するプログラムが格納される。認証部33は、書き換え装置11が正規の書き換え装置かどうか判断し、正規の書き換え装置と判断したならば、セキュリティを解除する。初期化部34は、消去および書き込みを開始するのに必要な初期処理を行う。消去実行部35は、書き換えの対象となるプログラムP1を消去する。書込実行部36は、書き換え装置11から新たなプログラムP2を受信して、それをROM16に書き込む。
【0024】
また、ECU10は、消去必要時間算出部37および書込必要時間算出部38を備える。消去必要時間算出部37は、プログラムP1の消去に要する時間を算出する。ブロック単位またはバイト単位のような単位消去時間は、ROMの種類に依存して異なり、また予めROMの仕様で決まっている。消去必要時間算出部37は、プログラムP1が含まれるメモリ領域の大きさと、ROM16に固有の単位消去時間に基づいて、プログラムP1を消去するのに必要な時間DTを算出することができる。
【0025】
書込必要時間算出部38は、新たなプログラムP2の書き込みに要する時間を算出する。消去の場合と同様に、単位書き込み時間は、ROMの種類に依存して異なり、またROMの仕様で予め決まっている。書込必要時間算出部38は、プログラムP2の大きさと、単位書き込み時間に基づいて、プログラムP2を書き込むのに必要な時間WTを算出することができる。書き込み必要時間は、プログラムP2全体について算出することもできるし、書き換え装置11から受信するプログラムコードの単位に算出することもできる。
【0026】
書き換え装置11は、セキュリティ解除要求部20、書き換え初期化部21、消去要求部23、消去待機部24および消去結果要求部25を備え、これらはプログラムとして書き換え装置11のメモリに格納される。セキュリティ解除要求部20は、ECU10の変更可能ROM16への書き換えが許可されるよう、ECU10に対してセキュリティの解除を要求する。書き換え初期化部21は、消去および書き込み動作を開始するのに必要な処理を実行する。消去要求部23は、変更可能ROM16における書き換え対象のプログラムP1の消去をECU10に要求する。
【0027】
消去待機部24は、ECU10において消去が開始されてから、予め決められた待機時間DT2が経過するまで待機する。待機時間DT2の間、書き換え装置11は、ECU10との情報の送受信を行わない。こうして、書き換え装置11は、ECU10において消去が実行されている間、待機状態に入るので、消去中にECU10からの応答が無いことが原因の誤ったオフライン判定を回避することができる。待機した後、消去結果要求部25は、消去の結果をECU10に要求し、消去の実行中または完了を判断する。
【0028】
書き換え装置11は、消去必要時間取得部22を備えて、ECU10で消去が実行されるのに先立って、変更可能ROM16に格納されたプログラムP1を消去するのに必要な時間DTをECU10から取得するのが好ましい。たとえば、消去要求部23がプログラムP1の消去をECU10に要求する前、または要求するとき、消去必要時間取得部22は、ECU10の消去必要時間算出部37が算出した消去必要時間DTをECU10から取得することができる。
【0029】
代替の形態として、消去必要時間算出部37を書き換え装置11に設け、消去必要時間DTを、書き換え装置11において算出することもできる。書き換え装置11が、既存のプログラムP1およびROM16の単位消去時間を予め保持することにより、またはECU10に要求して取得することにより、書き換え装置11は消去必要時間DTを算出することができる。
【0030】
消去必要時間取得部22が消去必要時間DTを取得したならば、待機時間DT2に該消去必要時間DTを設定し、消去必要時間DTが経過するまで待機するのが好ましい。ECU10における消去が完了するのに必要な消去必要時間DTが経過するまで待機することにより、ROM16の仕様に適合した最小の待機時間が設定され、書き換え効率をより向上させることができる。
【0031】
また、書き換え装置11は、書込要求部27、書込待機部28、書込結果要求部29およびデータ列組立部30を備え、これらはメモリにプログラムとして格納される。データ列組立部30は、ECU10に送信する新たなプログラムP2のプログラムコードを、シリアル通信に適したデータ列に変換する。データ列組立部30は、転送されるプログラムをある長さのプログラムコード(たとえば、8ビット)に分割し、該プログラムコードにアドレスフィールドを付加してシリアルデータ列を組み立てる。アドレスフィールドには、該プログラムコードが格納されるROMの先頭アドレスが含まれ、該プログラムコードが格納されるべき場所をECU10に通知する。
【0032】
書込要求部27は、新たなプログラムP2の変更可能ROM16への書き込みをECU10に要求し、データ列組立部30によって組み立てられた新たなプログラムP2のデータ列をECU10に順番に送信する。
【0033】
書込待機部28は、ECU10において書き込みが開始されてから、予め決められた待機時間WT2が経過するまで待機する。待機時間WT2の間、書き換え装置11は、ECU10との情報の送受信を行わない。こうして、書き換え装置11は、ECU10において書き込みが実行されている間、待機状態に入るので、書き込み中にECU10からの応答が無いことが原因の誤ったオフライン判定を回避することができる。待機した後、書込結果要求部29は、書き込みの結果をECU10に要求し、書き込みの実行中または完了を判断する。
【0034】
書き換え装置11は、書込必要時間取得部26を備えて、ECU10で書き込みが実行されるのに先立って、変更可能ROM16に新たなプログラムP2を書き込むのに必要な時間WTを取得するのが好ましい。たとえば、書込要求部27がプログラムP2の書き込みをECU10に要求する前、または要求するとき、書込必要時間取得部26は、ECU10の書込必要時間算出部38が算出した書き込み必要時間WTをECU10から取得することができる。この実施例では、書込必要時間取得部26は、1度に送信されるプログラムコードが書き込まれるのに必要な時間を書き込み必要時間WTとして取得する。しかし、新たなプログラムP2全体を書き込むのに必要な時間を取得することもできる。
【0035】
代替の形態として、書込必要時間算出部38を書き換え装置11に設け、書き込み必要時間WTを、書き換え装置11において算出することもできる。単位書き込み時間を予め保持することにより、またはECU10に要求することにより、書き換え装置11は、新たなプログラムP2の大きさに基づいて書き込み必要時間WTを算出することができる。
【0036】
書込必要時間取得部26が書き込み必要時間WTを取得したならば、待機時間WT2に該書き込み必要時間WTを設定し、書き込み必要時間WTが経過するまで待機するのが好ましい。ECU10における書き込みが完了するのに必要な書き込み必要時間WTが経過するまで待機することにより、ROM16の仕様に適合した最小の待機時間が設定され、書き換え効率をより向上させることができる。特に、フラッシュメモリのようなROMは1度に書き込むことのできるバイト数が少ないので、プログラムP2全体を書き込むには何回も待機する必要がある。最適な待機時間を設定することにより、書き換え時間を短縮させ、書き換え効率をより向上させることができる。。しかし、待機時間DT2およびWT2を、消去または書き込みに先立って算出することなく、固定値として予め設定することもできる。
【0037】
また、書き換え装置11はオフライン判定部31を備え、ECU10からの応答時間に基づいて、通信がオフライン状態かどうか判定する。オフライン判定部31は、消去要求部23に対するECU10の応答時間と、予め設定された判定時間DT1とを比較し、該応答時間が判定時間DT1を超えたならば、オフラインと判定する。判定時間DT1は、通信がオフラインかどうか判定するのに使用する基準時間である。同様に、オフライン判定部31は、書込要求部27に対する応答時間と、予め設定された判定時間WT1とを比較し、該応答時間が判定時間WT1を超えたならば、オフラインと判定する。判定時間WT1は、通信がオフラインかどうか判定するのに使用する基準時間である。ここで、判定時間DT1およびWT1は、同じ値でもよく、異なる値でもよい。
【0038】
図1に示される書き換えシステムの書き換え動作の概要を、図2を参照しながら説明する。書き換え装置11をECU10に接続した後、たとえば書き換え装置11の何らかの操作ボタンを押すことにより、書き換え動作が開始する。または、ECUを操作して、書き換え動作を開始するようにしてもよい。
【0039】
ステップ41において、書き換え装置11のセキュリティ解除要求部20は、ECU10にセキュリティ解除要求信号を送信する。それに応答して、ECU10の認証部33は、正規の書き換え装置が接続されていることを確認する認証処理を開始する。認証処理を任意の方法で達成することができる。たとえば、書き換え装置11およびECU10のそれぞれがセキュリティ関数を持っており、自身のセキュリティ関数を使用して、任意に設定された同じ数に対する関数値をそれぞれ計算し、互いに計算した関数値を照合する。正規の書き換え装置ならば同じセキュリティ関数を持っているので、関数値も一致するはずである。関数値が一致したならば、ECU10は、書き換え装置11に書き換え許可信号を送信する。こうして、セキュリティが解除される。
【0040】
書き換えが許可されたならば、書き換え装置11の書き換え初期化部21は、書き換え開始信号をECU10に送り、ECU10の初期化部34は、準備ができたならば開始許可信号を書き換え装置に送信する(ステップ42)。書き換え初期化部21は、書き換え動作モード移行要求信号をECU10に送り、初期化部34は動作モード移行処理を行う(ステップ43)。書き換え初期化部21は動作モードの移行が完了したかどうかをECU10に問い合わせ、初期化部34は、動作モードの移行が完了したならば、移行完了信号を書き換え装置11に送信する(ステップ44)。
【0041】
書き換え装置11の消去必要時間取得部22は、プログラムP1の消去に必要な時間を要求し、ECU10の消去必要時間算出部37は、消去必要時間DTを算出して書き換え装置11に送信する(ステップ45)。消去必要時間取得部22は、消去必要時間DTを待機時間DT2に設定する。書き換え装置11の消去要求部23は、プログラムP1の消去をECU10に要求し、ECU10の消去実行部35は応答して、消去実行開始信号を返す(ステップ46)。
【0042】
消去実行開始信号を受信した後、書き換え装置11は、待機時間DT2が経過するまで待機状態に入る。または、待機時間DT2の経過時間を、消去要求信号を送信したときから計るようにしてもよい。待機時間DT2の間、ECU10の消去実行部35によりプログラムP1の消去が実行される。
【0043】
待機時間DT2が経過して待機が終わった後、書き換え装置11の消去結果要求部25は、消去結果をECU10に要求する(ステップ47)。この結果要求は、消去結果要求部25がECU10から消去完了信号を受け取るまで繰り返し送信される。または、消去要求を送信して所定時間経過した後、所定時間間隔ごとに送信するようにしてもよい。消去実行部35は、ROM16のプログラムP1の消去を実行を完了したならば、消去完了信号を書き換え装置11に送信する。
【0044】
書き換え装置11においては、データ列組立部30によって、新たなプログラムP2が、ECU10に送信するためのシリアルデータ列として準備されている。このプログラムP2のデータ列組立は、通常、書き換え装置11によってセキュリティ解除要求または書き換え開始信号をECU10に送信する前に行われる。しかし、ステップ47または48の直前に行うようにしてもよい。
【0045】
書き換え装置11の書込必要時間取得部26は、新たなプログラムP2を書き込むのに必要な時間をECU10に要求する。これに応答して、ECU10の書込必要時間算出部38は、書き込み必要時間WTを算出して書き換え装置11に送信する(ステップ48)。書込必要時間取得部26は、書き込み必要時間WTを待機時間WT2に設定する。
【0046】
ステップ49において、書き換え装置11の書込要求部27は、書き込み要求信号と共に、新たなプログラムP2のプログラムコードを含むデータ列をECU10に送信する。ECU10の書込実行部36は、これに応答して、書き込み実行開始信号を書き換え装置11に送信し、書き換え装置11から受信したデータ列のアドレスフィールドを調べて、変更可能ROM16の、該アドレスフィールドに示されるアドレス値に対応する場所に、該プログラムコードを書き込む。アドレス値を調べるとき、消去実行部35によって消去されたアドレスに対応するかどうか判断するチェック機構を設けてもよい。
【0047】
書き込み実行開始信号を受信した後、書き換え装置11は、待機時間WT2が経過するまで待機状態に入る。または、待機時間WT2の経過時間を、書き込み要求信号をECU10に送信したときから計るようにしてもよい。待機時間WT2の間、ECU10において書込実行部36により、受信したプログラムコードの書き込みが実行される。
【0048】
待機時間WT2が経過して待機が終わった後、書き換え装置11の書込結果要求部29は、書き込み結果要求をECU10に要求する。この結果要求は、書込結果要求部29が書き込み完了信号をECU10から受信するまで繰り返し送信される。または、書き込み要求を送信してある時間経過した後、所定時間間隔ごとに送信するようにしてもよい。書込実行部36は、書き込みが完了したならば書き込み完了信号を書き換え装置11に送信する。
【0049】
書込要求部27は、書き込み完了信号が書き込みの正常終了を示すものならば、次のデータ列をECU10に送信する。このステップ49および50は、ROM16に、プログラムP2のすべてのプログラムコードの書き込みが完了するまで繰り返される。すべての書き込みが完了したならば、書込要求部27は、書き換え動作モードを解除する要求をECU10に送信する(ステップ51)。それに応答して、書込実行部36は書き換え動作モードを解除する。
【0050】
図3、図4および図5は、消去および書き込み動作を示すフローチャートである。図3に示される動作は、書き換え装置11の消去必要時間取得部22、消去要求部23、消去結果要求部25およびオフライン判定部31により実現され、図4に示される動作は、書込必要時間取得部26、書込要求部27、書込結果要求部29およびオフライン判定部31により実現される。
【0051】
ステップ60において、書き換え装置は消去必要時間要求信号をECUに送信する。ECUから消去必要時間DTを受信したならば(ステップ61)、待機時間DT2に消去必要時間DTを設定してメモリに格納し(ステップ64)、消去要求信号をECUに送信する(ステップ65)。
【0052】
ステップ61および66においてECUから応答が無ければ、予め決められた判定時間DT1(たとえば、30ミリ秒)が経過したかどうか判断する(ステップ62および67)。判定時間DT1が経過していなければ、ステップ61および66にそれぞれ戻り、ECUからの応答を待つ。判定時間DT1が経過してもECUからの応答がなければ、書き換え装置およびECU間の通信が断絶していると判断して、オフライン判定を行う(ステップ63および68)。
【0053】
ステップ66においてECUからの応答があれば、待機時間DT2(たとえば、400ミリ秒)が経過するまで待機する(ステップ69)。待機時間DT2が経過したならば、消去結果要求信号をECUに送信する(ステップ70)。ECUから消去結果要求信号に対する応答があれば(ステップ71)、その応答内容が消去完了を示すものかどうか調べ(ステップ72)、消去完了を示すものならばステップ76に進む。消去実行中であって、応答内容が消去完了を示すものでないならば、ステップ70に戻り、再度消去結果要求信号をECUに送信する。このとき、たとえばある時間経過した後にステップ70に戻るようにしてもよい。
【0054】
ステップ71においてECUからの応答がなければ、判定時間DT1が経過したかどうか判断する(ステップ73)。判定時間DT1が経過していなければ、ステップ71に戻り、ECUからの応答を待つ。判定時間DT1が経過しても応答がなければ、オフライン判定を行う(ステップ75)。
【0055】
このように、消去が開始された後に待機時間DT2が経過するまで待機することにより、誤ったオフライン判定を回避することができる。また、待機時間として消去必要時間DTが設定されるので、書き換え効率を向上させることができる。
【0056】
ステップ76において、消去が正常に終了したならば、図4のステップ80に進み、正常終了でなかったならば、このルーチンを抜ける。図4に示されるステップ80以降のステップは、書き換え装置における書き込みに関する処理を示す。
【0057】
ステップ80において、書き込み必要時間要求信号をECUに送信し、ECUから書き込み必要時間WTを取得する。書き込み必要時間WTを待機時間WT2に設定し、メモリに格納する(ステップ84)。ステップ85に進み、新たなプログラムP2のプログラムコードを含むデータ列をECUに送信する。ステップ81およびステップ86において、予め決められた判定時間WT1(たとえば、30ミリ秒)を経過してもECUからの応答が無ければ、オフラインと判定する(ステップ83および88)。
【0058】
ステップ86においてECUからの応答があれば、待機時間WT2(たとえば、40ミリ秒)が経過するまで待機する(ステップ89)。待機時間WT2が経過したならば、書き込み結果要求信号をECUに送信する(ステップ90)。ECUから書き込み結果要求信号に対する応答があれば、その応答の内容が書き込み完了を示すものかどうか調べ(ステップ92)、書き込み完了を示すものならばステップ96に進む。書き込み実行中であって、応答内容が書き込み完了を示すものでないならば、ステップ90に戻り、再度書き込み結果要求信号をECUに送信する。このとき、たとえばある時間経過した後にステップ90に戻るようにしてもよい。
【0059】
ステップ91においてECUからの応答がなければ、書き込み結果要求信号の送信から判定時間WT1が経過したかどうか判断する(ステップ93)。判定時間WT1が経過していなければ、ステップ91に戻り、ECUからの応答を待つ。判定時間WT1が経過していれば、オフライン判定を行う(ステップ95)。
【0060】
ステップ96において、書き込みが正常に終了したと判断されたならば、次のデータ列をECUに送信するするため、ステップ80に戻る。こうして、ステップ97において、新たなプログラムP2のすべてのプログラムコードがECUに送信されたならば、この処理を抜ける。
【0061】
このように、書き込みが開始された後に待機時間WT2が経過するまで待機することにより、誤ったオフライン判定を回避することができる。また、待機時間に書き込み必要時間WTが設定されるので、書き換え効率を向上させることができる。
【0062】
図5は、ECUにおける消去および書き込み動作のフローチャートを示す。ステップ101において、消去必要時間要求信号を受信したならば、消去必要時間DTを算出して、書き換え装置に送信する(ステップ102)。ステップ103において、消去要求信号を受信したならば、書き換え装置に消去実行開始信号を返信し、(ステップ104)、消去を実行する(ステップ105)。消去の実行中または消去が終了した後に、書き換え装置から消去結果要求信号を受信したならば(ステップ106)、消去結果信号を書き換え装置に返信する(ステップ107)。消去結果信号は、たとえば消去が完了していれば値「1」が設定されて消去完了を示し、消去が完了していなければ値「0」が設定されて消去実行中を示すというように、消去処理の状況を示す。
【0063】
同様にして、書き換え装置から書き込み必要時間要求信号を受信したならば(ステップ111)、書き込み必要時間WTを算出して、書き換え装置に送信する(ステップ112)。ステップ113において、書き換え装置から新たなプログラムのデータ列を受信したならば、書き込み実行開始信号を書き換え装置に返信し(ステップ114)、受信したデータ列に含まれるプログラムコードを変更可能ROMに書き込む(ステップ115)。
【0064】
書き込み中または書き込みを終了した後に、書き換え装置から書き込み結果要求信号を受信したならば(ステップ116)、書き込み結果を書き換え装置に返信する(ステップ117)。書き込み結果信号は、たとえば書き込みが完了していれば値「1」が設定されて書き込み完了を示し、書き込みが完了していなければ値「0」が設定されて書き込み実行中を示すというように、書き込み処理の状況を示す。書き換え装置からECUへのプログラム転送はデータ列ごとに行われるので、ステップ113からステップ117を、新たなプログラムのすべてのデータ列を受信するまで繰り返す(ステップ118)。
【0065】
【発明の効果】
請求項1の発明によると、書き換え装置が、消去または書き込みが開始されてから所定時間が経過するまで待機するので、消去実行中に誤って通信ラインをオフラインと判定することを回避することができる。
【0066】
請求項2の発明によると、消去実行中の待機時間に消去必要時間が設定され、書き込み実行中の書き込み時間に書き込み必要時間が設定されるので、メモリの仕様に適合するよう待機時間を設定することができ、書き換え効率を向上させることができる。
【図面の簡単な説明】
【図1】この発明の一実施例における、書き換えシステムの全体を示すブロック図。
【図2】この発明の一実施例における、書き換えシステムの動作手順を示す図。
【図3】この発明の一実施例における、書き換え装置における消去および書き込み動作を示すフローチャート。
【図4】この発明の一実施例における、書き換え装置における消去および書き込み動作を示すフローチャート。
【図5】この発明の一実施例における、車両制御装置における消去および書き込み動作を示すフローチャート。
【図6】従来の、書き換え装置における消去および書き込み動作を示すフローチャート。
【図7】従来の、車両制御装置における消去および書き込み動作を示すフローチャート。
【図8】車両制御装置におけるCPUおよびメモリの形態を示す図。
【符号の説明】
10 ECU 11 書き換え装置
12 インターフェース 14 CPU
16 変更可能ROM 17 変更不可能ROM
Claims (2)
- 車両制御装置の不揮発性メモリに格納された情報を消去して、書き換え装置から転送された新たな情報を書き込むことのできる書き換えシステムであって、前記書き換え装置は、
前記車両制御装置に送信した前記情報の消去または書き込みを要求する信号に応答して、該消去または書き込みの開始を示す信号を該車両制御装置から受信した時から、該消去または書き込みに必要な時間が設定された所定時間が経過するまで、前記車両制御装置と通信を行うことなく待機する待機手段と、
前記待機した後、前記消去または書き込みの結果を要求する信号を前記車両制御装置に送信して、該消去または書き込みの結果を示す信号を前記車両制御装置から受信し、該結果を示す信号が消去または書き込みの完了を示すまで、該結果を要求する信号を繰り返し送信する、結果要求送信手段と、
前記車両制御装置に信号を送信した時から、所定の判定時間内に、該送信に対する該車両制御装置からの信号の受信が無い場合に、該車両制御装置との間の通信がオフラインと判定するオフライン判定手段であって、前記消去または書き込みを要求する信号の送信に対する前記開始を示す信号の受信、および、前記結果を要求する信号の送信に対する前記結果を示す信号の受信について、同じ該判定時間を用いる、オフライン判定手段と、
を備える、書き換えシステム。 - 前記書き換え装置は、前記不揮発性メモリに格納された情報の消去または前記不揮発性メモリへの新たな情報の書き込みに先だって、前記消去または書き込みに必要な時間を前記車両制御装置から取得する手段を備え、前記不揮発性メモリに格納された情報の消去を実行するとき、前記所定時間として前記取得した消去必要時間を設定し、前記不揮発性メモリへの新たな情報の書き込みを実行するとき、前記所定時間として前記取得した書き込み必要時間を設定するようにした請求項1に記載の書き換えシステム。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000112126A JP3828335B2 (ja) | 2000-04-13 | 2000-04-13 | 車両制御装置のための書き換えシステム |
EP01109046A EP1145912B1 (en) | 2000-04-13 | 2001-04-11 | Rewriting system for vehicle controller |
DE60112498T DE60112498T2 (de) | 2000-04-13 | 2001-04-11 | System zum Überbeschreiben der Programmlogik einer Kraftfahrzeugsteuereinheit |
US09/835,009 US6876892B2 (en) | 2000-04-13 | 2001-04-13 | Rewriting system for vehicle controller |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000112126A JP3828335B2 (ja) | 2000-04-13 | 2000-04-13 | 車両制御装置のための書き換えシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001295694A JP2001295694A (ja) | 2001-10-26 |
JP3828335B2 true JP3828335B2 (ja) | 2006-10-04 |
Family
ID=18624346
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000112126A Expired - Fee Related JP3828335B2 (ja) | 2000-04-13 | 2000-04-13 | 車両制御装置のための書き換えシステム |
Country Status (4)
Country | Link |
---|---|
US (1) | US6876892B2 (ja) |
EP (1) | EP1145912B1 (ja) |
JP (1) | JP3828335B2 (ja) |
DE (1) | DE60112498T2 (ja) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3828335B2 (ja) * | 2000-04-13 | 2006-10-04 | 本田技研工業株式会社 | 車両制御装置のための書き換えシステム |
JP2003271410A (ja) * | 2002-03-15 | 2003-09-26 | Sharp Corp | プログラムデータ書替システム |
US6857041B2 (en) * | 2002-03-29 | 2005-02-15 | Intel Corporation | Method and apparatus providing an interface to allow physical memory to be initialized using firmware/hardware methods |
DE10238093B4 (de) * | 2002-08-21 | 2007-10-18 | Audi Ag | Fahrzeug-Steuergerät |
JP3879635B2 (ja) * | 2002-09-06 | 2007-02-14 | 日産自動車株式会社 | 移動体用燃料電池パワープラントシステム |
DE10332452B4 (de) * | 2003-07-17 | 2018-04-12 | Continental Teves Ag & Co. Ohg | Steuerungs- und Regelungsgerät in einem Kraftfahrzeug sowie Verfahren zum Betreiben desselben |
JP4367513B2 (ja) | 2007-03-28 | 2009-11-18 | 株式会社デンソー | 電子制御装置 |
DE102011079402A1 (de) * | 2011-07-19 | 2013-01-24 | Bayerische Motoren Werke Aktiengesellschaft | Steuervorrichtung für ein Kraftfahrzeug, Programmiervorrichtung und Programmiersystem |
WO2013031394A1 (ja) * | 2011-09-02 | 2013-03-07 | 日本電気株式会社 | 電池制御システム、電池制御装置、電池制御方法、および記録媒体 |
EP3159219B8 (en) * | 2014-06-19 | 2021-10-13 | Hitachi Astemo, Ltd. | Vehicle-mounted program writing device |
JP7411467B2 (ja) * | 2020-03-19 | 2024-01-11 | 株式会社デンソーテン | 電子制御装置及びプログラム書き換え制御方法 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2753225B2 (ja) | 1987-03-13 | 1998-05-18 | 株式会社日立製作所 | 車載制御装置 |
JP2830302B2 (ja) | 1990-02-15 | 1998-12-02 | 株式会社デンソー | 自動車用制御装置 |
EP0473421B1 (en) * | 1990-08-30 | 1997-10-29 | Nec Corporation | Semiconductor memory device |
US5523948A (en) * | 1990-09-06 | 1996-06-04 | Adrain; John B. | Apparatus and method for modifying control of an originally manufactured engine control module |
JPH09288573A (ja) * | 1996-04-23 | 1997-11-04 | Mitsubishi Electric Corp | 車載制御装置 |
JPH1185526A (ja) * | 1997-09-12 | 1999-03-30 | Hitachi Ltd | プログラムロード方法 |
EP0941910B1 (en) * | 1997-10-02 | 2006-06-28 | Mitsubishi Denki Kabushiki Kaisha | Controller for automobile |
JPH11141394A (ja) * | 1997-11-07 | 1999-05-25 | Nissan Motor Co Ltd | 車両制御用メモリ書き換え装置 |
JP3893755B2 (ja) * | 1998-07-03 | 2007-03-14 | 株式会社デンソー | 電子制御装置 |
JP3870563B2 (ja) * | 1998-07-22 | 2007-01-17 | 株式会社デンソー | 電子制御装置及び不揮発性メモリの書き換え回数計数方法 |
JP2000089822A (ja) * | 1998-09-16 | 2000-03-31 | Mitsubishi Electric Corp | 車両用電子制御システム |
JP3633406B2 (ja) * | 1999-11-09 | 2005-03-30 | 三菱電機株式会社 | Eeprom書込装置 |
JP3849379B2 (ja) * | 1999-11-30 | 2006-11-22 | 株式会社デンソー | エンジン制御装置およびエンジン制御方法 |
JP3828335B2 (ja) * | 2000-04-13 | 2006-10-04 | 本田技研工業株式会社 | 車両制御装置のための書き換えシステム |
-
2000
- 2000-04-13 JP JP2000112126A patent/JP3828335B2/ja not_active Expired - Fee Related
-
2001
- 2001-04-11 DE DE60112498T patent/DE60112498T2/de not_active Expired - Lifetime
- 2001-04-11 EP EP01109046A patent/EP1145912B1/en not_active Expired - Lifetime
- 2001-04-13 US US09/835,009 patent/US6876892B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
DE60112498T2 (de) | 2006-02-16 |
DE60112498D1 (de) | 2005-09-15 |
JP2001295694A (ja) | 2001-10-26 |
EP1145912A1 (en) | 2001-10-17 |
EP1145912B1 (en) | 2005-08-10 |
US6876892B2 (en) | 2005-04-05 |
US20010049765A1 (en) | 2001-12-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6275911B1 (en) | Memory writing device for an electronic device | |
JP3785299B2 (ja) | 車両制御装置のためのメモリ書き換えシステム | |
JP4340297B2 (ja) | 車両制御装置のためのメモリ書き換えシステム | |
US6898490B2 (en) | Vehicle controller for controlling rewriting data in a nonvolatile memory | |
JP3828335B2 (ja) | 車両制御装置のための書き換えシステム | |
JP3932654B2 (ja) | 車両用制御装置及び車両制御システム | |
JP3835969B2 (ja) | 車両制御装置のための書き換えシステム | |
EP1600981B1 (en) | Stored data rewriting system for on-board control unit | |
US6243627B1 (en) | Electronic control system and method for erasing abnormality data generated during controller reloading | |
JP3893755B2 (ja) | 電子制御装置 | |
JP3870563B2 (ja) | 電子制御装置及び不揮発性メモリの書き換え回数計数方法 | |
JP2000259420A (ja) | 電子制御装置用の学習値更新装置 | |
JP3881069B2 (ja) | 電子装置 | |
JP4908665B2 (ja) | プロセッサシステム及びその起動方法 | |
JP4311067B2 (ja) | データ書換方法及び電子制御装置 | |
JP3937598B2 (ja) | 電子制御装置 | |
JP3623481B2 (ja) | 不揮発性メモリの書き換えを制御する車両制御装置 | |
JPH09171459A (ja) | 電子制御装置 | |
JP2002323990A (ja) | 電子制御装置及び不揮発性メモリの初期化方法 | |
JPH1097419A (ja) | 電子装置のメモリ書込装置 | |
JP2000181698A (ja) | 制御プログラム書換システム | |
JPH06259982A (ja) | フラッシュromの書換方法及び書換装置 | |
JP3633812B2 (ja) | フラッシュファームダウンロードによるフラッシュメモリ制御システム | |
JP2004118445A (ja) | プログラム書換処理方法及びプログラム書換処理装置 | |
JP2001290640A (ja) | 制御装置およびプログラム書き込み方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060221 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060404 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060601 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060704 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060706 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 3828335 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100714 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100714 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110714 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110714 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120714 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120714 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130714 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140714 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |