JP3835969B2 - 車両制御装置のための書き換えシステム - Google Patents
車両制御装置のための書き換えシステム Download PDFInfo
- Publication number
- JP3835969B2 JP3835969B2 JP2000112125A JP2000112125A JP3835969B2 JP 3835969 B2 JP3835969 B2 JP 3835969B2 JP 2000112125 A JP2000112125 A JP 2000112125A JP 2000112125 A JP2000112125 A JP 2000112125A JP 3835969 B2 JP3835969 B2 JP 3835969B2
- Authority
- JP
- Japan
- Prior art keywords
- time
- writing
- ecu
- rewriting
- write
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Combined Controls Of Internal Combustion Engines (AREA)
- Read Only Memory (AREA)
Description
【発明の属する技術分野】
この発明は、車載制御装置のメモリに保存されたプログラムを、外部の書き換え装置から転送される別のプログラムに書き換えるシステムに関する。
【0002】
【従来の技術】
現在、車両は、搭載された複数の車両制御装置(以下、「ECU」ともいう)により、空燃比、燃料噴射量、エミッションなどのエンジンに関する制御、パワーウィンドウ、エアバッグ、ABSなどの車体に関する制御など、様々に制御されている。ECUは、車両に搭載された様々なセンサによって感知された車両の現在の状態および走行状況に基づいて、車両を様々に制御する。
【0003】
ECUは、中央演算処理装置(CPU)、実行するプログラムおよびデータを格納するROM(読み取り専用メモリ)、実行時の作業領域を提供し演算結果などを記憶するRAM(ランダムアクセスメモリ)、各種センサからの信号を受け取り、およびエンジン各部に制御信号を送る入出力インターフェースを備えている。
【0004】
上記ROMに、フラッシュメモリ、EEPROMのような消去および書き込み可能な不揮発性メモリを使用し、必要に応じてROMに格納された情報を書き換えるシステムが知られている。このシステムは、典型的には、書き換え装置、ECUおよびそれらを接続するシリアル通信路から構成される。書き換えは、ECUに搭載された不揮発性メモリに格納された情報を消去し、書き換え装置からシリアル通信を介して転送された情報を該不揮発性メモリに書き込むことによって達成される。特開昭63−223901号公報には、外部の書き換え装置からの要求により、ECUを車両に搭載したままで、SCI端子(シリアル・コミュニケーション・インターフェース)を介して、ECUのEEPROMに格納されたプログラムを変更する方法が記載されている。
【0005】
一般に、フラッシュメモリおよびEEPROMのような不揮発性メモリの消去および書き込みは、処理に時間がかかる。一方、書き換え装置は、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の発明は、車両制御装置のメモリに格納された情報を、書き換え装置から転送された新たな情報に書き換える書き換えシステムであって、該書き換え装置は、前記車両制御装置からの応答時間が第1の所定時間以上であるとき、通信をオフラインと判定するオフライン判定手段と、前記メモリに対して消去または書き込みが実行されているときは、前記車両制御装置からの応答時間が前記第1の所定時間を超えても第2の所定時間に達するまで前記オフライン判定を禁止するオフライン判定禁止手段とを備えるという構成をとる。
【0013】
請求項1の発明によると、車両制御装置がメモリの消去または書き込みを実行しているとき、誤って通信ラインをオフラインと判定することを回避することができる。
【0014】
請求項2の発明は、請求項1の書き換えシステムにおいて、書き換え装置は、前記メモリに格納された情報の消去または前記メモリへの情報の書き込みに先だって、消去または書き込みに必要な時間を前記車両制御装置から取得する手段を備え、前記メモリに格納された情報の消去を実行するとき、前記第2の所定時間として前記取得した消去必要時間を設定し、前記メモリへの情報の書き込みを実行するとき、前記第2の所定時間として前記取得した書き込み必要時間を設定するという構成をとる。
【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および消去結果要求部25を備え、これらはプログラムとして書き換え装置11のメモリに格納される。セキュリティ解除要求部20は、ECU10の変更可能ROM16への書き換えが許可されるよう、ECU10に対してセキュリティの解除を要求する。書き換え初期化部21は、消去および書き込み動作を開始するのに必要な処理を実行する。消去要求部23は、変更可能ROM16における書き換え対象のプログラムP1の消去をECU10に要求する。消去結果要求部25は、消去の結果をECU10に要求し、消去の実行中または完了を判断する。
【0027】
書き換え装置11は、消去必要時間取得部22を備えて、ECU10で消去が実行されるのに先立って、変更可能ROM16に格納されたプログラムP1を消去するのに必要な時間DTをECU10から取得するのが好ましい。たとえば、消去要求部23がプログラムP1の消去をECU10に要求する前、または要求するとき、消去必要時間取得部22は、ECU10の消去必要時間算出部37が算出した消去必要時間DTをECU10から取得することができる。
【0028】
代替の形態として、消去必要時間算出部37を書き換え装置11に設け、消去必要時間DTを、書き換え装置11において算出することもできる。書き換え装置11が、既存のプログラムP1およびROM16の単位消去時間を予め保持することにより、またはECU10に要求して取得することにより、書き換え装置11は消去必要時間DTを算出することができる。
【0029】
また、書き換え装置11は、書込要求部27、書込結果要求部29およびデータ列組立部30を備え、これらはメモリにプログラムとして格納される。データ列組立部30は、ECU10に送信する新たなプログラムP2のプログラムコードを、シリアル通信に適したデータ列に変換する。データ列組立部30は、転送されるプログラムをある長さのプログラムコード(たとえば、8ビット)に分割し、該プログラムコードにアドレスフィールドを付加してシリアルデータ列を組み立てる。アドレスフィールドには、該プログラムコードが格納されるROMの先頭アドレスが含まれ、該プログラムコードが格納されるべき場所をECU10に通知する。
【0030】
書込要求部27は、新たなプログラムP2の変更可能ROM16への書き込みをECU10に要求し、データ列組立部30によって組み立てられた新たなプログラムP2のデータ列をECU10に順番に送信する。書込結果要求部29は、書き込みの結果をECU10に要求し、書き込みの実行中または完了を判断する。
【0031】
書き換え装置11は、書込必要時間取得部26を備えて、ECU10で書き込みが実行されるのに先立って、変更可能ROM16に新たなプログラムP2を書き込むのに必要な時間WTを取得するのが好ましい。たとえば、書込要求部27がプログラムP2の書き込みをECU10に要求する前、または要求するとき、書込必要時間取得部26は、ECU10の書込必要時間算出部38が算出した書き込み必要時間WTをECU10から取得することができる。この実施例では、書込必要時間取得部26は、1度に送信されるプログラムコードが書き込まれるのに必要な時間を書き込み必要時間WTとして取得する。しかし、新たなプログラムP2全体を書き込むのに必要な時間を取得することもできる。
【0032】
代替の形態として、書込必要時間算出部38を書き換え装置11に設け、書き込み必要時間WTを、書き換え装置11において算出することもできる。単位書き込み時間を予め保持することにより、またはECU10に要求することにより、書き換え装置11は、新たなプログラムP2の大きさに基づいて書き込み必要時間WTを算出することができる。
【0033】
また、書き換え装置11はオフライン判定部31を備え、ECU10からの応答時間に基づいて、通信がオフライン状態かどうか判定する。オフライン判定部31は、消去要求部23に対するECU10の応答時間と、予め設定された第1の判定時間DT1を比較し、該応答時間が第1の判定時間DT1を超えたならば、オフラインと判定する。
【0034】
一方、オフライン判定部31は、消去が実行されているときは、ECU10からの応答時間が第1の判定時間DT1を超えても、予め設定された第2の判定時間DT2に達するまでオフライン判定を禁止する。こうすることにより、消去実行中に基づく誤ったオフライン判定を回避することができる。具体的には、消去結果要求部25に対する応答時間と第2の判定時間DT2とを比較し、該応答時間が第2の判定時間DT2を超えたならば、オフラインと判定する。判定時間DT2は、消去実行部35によって消去が実行されているときに、オフラインを判定するのに使用する基準時間であり、DT1<DT2となるよう設定される。
【0035】
同様に、オフライン判定部31は、書込要求部27に対する応答時間と、予め設定された第1の判定時間WT1を比較し、該応答時間が第1の判定時間WT1を超えたならば、オフラインと判定する。判定時間WT1は、上記の判定時間DT1と同じ値をとることができ、または異なる値であってもよい。
【0036】
一方、オフライン判定部31は、書き込みが実行されているときは、ECU10からの応答時間が第1の判定時間WT1を超えても、予め設定された第2の判定時間WT2に達するまでオフライン判定を禁止する。こうすることにより、書き込み実行中に基づく誤ったオフライン判定を回避することができる。具体的には、書込結果要求部29に対する応答時間と、予め設定された第2の判定時間WT2を比較し、該応答時間が第2の判定時間WT2を超えたならば、オフラインと判定する。判定時間WT2は、書込実行部36によって書き込みが実行されているときに、オフラインを判定するのに使用する基準時間であり、WT1<WT2となるよう設定される。
【0037】
消去必要時間取得部22によって消去必要時間DTが取得されるならば、第2の判定時間DT2として、該消去必要時間DTを設定するのが好ましい。同様に、書込必要時間取得部26によって書き込み必要時間WTが取得されるならば、第2の判定時間WT2として、該書き込み必要時間WTを設定するのが好ましい。こうすることにより、消去または書き込み実行中、ROMの仕様に適合した消去必要時間および書き込み必要時間に基づいてオフラインが判定されるので、オフラインの判定時間を最小にすることができ、より正確なオフライン判定を行うことができる。しかし、判定時間DT1およびWT1と同様に、判定時間DT2およびWT2を、消去または書き込みに先立って算出することなく、固定値として予め設定することもできる。
【0038】
図1に示される書き換えシステムの書き換え動作の概要を、図2を参照しながら説明する。書き換え装置11をECU10に接続した後、たとえば書き換え装置11の何らかの操作ボタンを押すことにより、書き換え動作が開始する。または、ECU10を操作して、書き換え動作を開始するようにしてもよい。
【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を第2の判定時間DT2に設定する。書き換え装置11の消去要求部23は、プログラムP1の消去をECU10に要求し、ECU10の消去実行部35は応答して、消去実行開始信号を返す(ステップ46)。書き換え装置11のオフライン判定部31は、消去実行開始信号の応答時間が第1の判定時間DT1を超えたならば、通信のオフライン判定を行う。
【0042】
ステップ47において、書き換え装置11の消去結果要求部25は、消去結果をECU10に要求する。この結果要求は、消去結果要求部25がECU10から消去完了信号を受け取るまで繰り返し送信される。または、消去要求を送信して所定時間経過した後、所定時間間隔ごとに送信するようにしてもよい。消去結果要求に対するECU10の応答時間が、第2の判定時間DT2を超えたならば、書き換え装置は通信のオフライン判定を行う。ECU10の消去実行部35は、ROM16のプログラムP1の消去を完了したならば、消去完了信号を書き換え装置11に送信する。
【0043】
書き換え装置11においては、データ列組立部30によって、新たなプログラムP2は、ECU10に送信するためのシリアルデータ列として準備されている。このプログラムP2のデータ列組立は、通常、書き換え装置11によってセキュリティ解除要求または書き換え開始信号をECU10に送信する前に行われる。しかし、ステップ47または48の直前に行うようにしてもよい。
【0044】
書き換え装置11の書込必要時間取得部26は、新たなプログラムP2を書き込むのに必要な時間をECU10に要求する。これに応答して、ECU10の書込必要時間算出部38は、書き込み必要時間WTを算出して書き換え装置11に送信する(ステップ48)。書込必要時間取得部26は、書き込み必要時間WTを第2の判定時間WT2に設定する。
【0045】
ステップ49において、書き換え装置11の書込要求部27は、書き込み要求信号と共に、新たなプログラムP2のプログラムコードを含むデータ列をECU10に送信する。ECU10の書込実行部36は、これに応答して、書き込み実行開始信号を書き換え装置11に送信し、書き換え装置11から受信したデータ列のアドレスフィールドを調べて、変更可能ROM16の、該アドレスフィールドに示されるアドレス値に対応する場所に、該プログラムコードを書き込む。アドレス値を調べるとき、消去実行部35によって消去されたアドレスに対応するかどうか判断するチェック機構を設けてもよい。オフライン判定部31は、ECU10の実行開始信号の応答時間が第1の判定時間WT1を超えたならば、通信のオフライン判定を行う。
【0046】
書き換え装置11の書込結果要求部29は、書き込み結果をECU10に要求する(ステップ50)。この結果要求は、書込結果要求部29が書き込み完了信号をECU10から受信するまで繰り返し送信される。または、書き込み要求を送信してある時間経過した後、所定時間間隔ごとに送信するようにしてもよい。オフライン判定部31は、書き込み結果要求に対するECU10の応答時間が第2の判定時間WT2を超えたならば、通信のオフライン判定を行う。書込実行部36は、書き込みが完了したならば書き込み完了信号を書き換え装置11に送信する。
【0047】
書込要求部27は、書き込み完了信号が書き込みの正常終了を示すものならば、次のデータ列をECU10に送信する。このステップ49および50は、ROM16に、プログラムP2のすべてのプログラムコードの書き込みが完了するまで繰り返される。すべての書き込みが完了したならば、書込要求部27は、書き換え動作モードを解除する要求をECU10に送信する(ステップ51)。それに応答して、書込実行部36は書き換え動作モードを解除する。
【0048】
図3、図4および図5は、消去および書き込み動作を示すフローチャートである。図3に示される動作は、書き換え装置11の消去必要時間取得部22、消去要求部23、消去結果要求部25およびオフライン判定部31により実現され、図4に示される動作は、書込必要時間取得部26、書込要求部27、書込結果要求部29およびオフライン判定部31により実現される。
【0049】
ステップ60において、書き換え装置は消去必要時間要求信号をECUに送信する。ECUから消去必要時間DTを受信したならば(ステップ61)、判定時間DT2に消去必要時間DTを設定してメモリに格納し(ステップ64)、消去要求信号をECUに送信する(ステップ65)。
【0050】
ステップ61および66においてECUから応答が無ければ、予め決められた第1の判定時間DT1(たとえば、30ミリ秒)が経過したかどうか判断する(ステップ62および67)。第1の判定時間DT1が経過していなければ、ステップ61および66にそれぞれ戻り、ECUからの応答を待つ。第1の判定時間DT1が経過してもECUから応答がなければ、書き換え装置およびECU間の通信が断絶していると判断して、オフライン判定を行う(ステップ63および68)。
【0051】
ステップ66においてECUからの応答があれば、消去結果要求信号をECUに送信する(ステップ70)。ECUから消去結果要求信号に対する応答があれば(ステップ71)、その応答内容が消去完了を示すものかどうか調べ(ステップ72)、消去完了を示すものならばステップ76に進む。消去実行中であって、応答内容が消去完了を示すものでないならば、ステップ70に戻り、再度消去結果要求信号をECUに送信する。このとき、たとえばある時間経過した後にステップ70に戻るようにしてもよい。
【0052】
ステップ71においてECUからの応答がなければ、判定時間DT1が経過したかどうか判断する(ステップ73)。判定時間DT1が経過していなければ、ステップ71に戻り、ECUからの応答を待つ。判定時間DT1が経過しても応答がなければ、最初の消去結果要求信号を送信したときから第2の判定時間DT2(たとえば、400ミリ秒)が経過したかどうか判断する(ステップ74)。第2の判定時間DT2が経過しても応答がなければ、オフライン判定を行う(ステップ75)。
【0053】
このように、消去中の場合は、より長い判定時間に基づいてオフライン判定を行うので、消去中における誤ったオフライン判定を回避することができる。また、判定時間が、ROM仕様に基づいた消去必要時間に適合されるので、より正確なオフライン判定を行うことができる。
【0054】
ステップ76において、消去が正常に終了したならば、図4のステップ80に進み、正常終了でなかったならば、このルーチンを抜ける。図4に示されるステップ80以降のステップは、書き換え装置における書き込みに関する処理を示す。オフライン判定は、消去の場合と同様に行われる。
【0055】
ステップ80において、書き込み必要時間要求信号をECUに送信し、ECUから書き込み必要時間WTを取得する。書き込み必要時間WTを、判定時間WT2に設定してメモリに格納する(ステップ84)。ステップ85に進み、新たなプログラムP2のプログラムコードを含むデータ列をECUに送信する。
【0056】
ステップ81およびステップ86において、予め決められた判定時間WT1(たとえば、30ミリ秒)を経過してもECUからの応答が無ければ、オフラインと判定する(ステップ83および88)。
【0057】
ステップ86においてECUから応答があれば、書き込み結果要求信号をECUに送信する(ステップ90)。ECUから書き込み結果要求信号に対する応答があれば、その応答の内容が書き込み完了を示すものかどうか調べ(ステップ92)、書き込み完了を示すものならばステップ96に進む。書き込み実行中であって、応答内容が書き込み完了を示すものでないならば、ステップ90に戻り、再度書き込み結果要求信号をECUに送信する。このとき、たとえばある時間経過した後にステップ90に戻るようにしてもよい。
【0058】
ステップ91においてECUからの応答がなければ、書き込み結果要求信号の送信から第1の判定時間WT1が経過したかどうか判断する(ステップ93)。第1の判定時間WT1が経過していなければ、ステップ91に戻り、ECUからの応答を待つ。判定時間WT1が経過してもECUからの応答がなければ、最初の書き込み結果要求信号を送信したときから第2の判定時間WT2(たとえば、40ミリ秒)が経過したかどうか判断する(ステップ94)。第2の判定時間WT2が経過しても応答がなければ、オフライン判定を行う(ステップ95)。
【0059】
このように、書き込み中の場合は、より長い判定時間に基づいてオフライン判定を行うので、書き込み中における誤ったオフライン判定を回避することができる。また、判定時間が、ROM仕様に基づいた書き込み必要時間に適合されるので、より正確なオフライン判定を行うことができる。
【0060】
ステップ96において、書き込みが正常に終了したと判断されたならば、次のデータ列をECUに送信するためステップ80に戻る。こうして、ステップ97において、新たなプログラムP2のすべてのプログラムコードがECUに送信されたならば、この処理を抜ける。
【0061】
図5は、ECUにおける消去および書き込み動作のフローチャートを示す。ステップ101において、消去必要時間要求信号を受信したならば、消去必要時間DTを算出して、書き換え装置に送信する(ステップ102)。ステップ103において、消去要求信号を受信したならば、書き換え装置に消去実行開始信号を返信し、(ステップ104)、消去を実行する(ステップ105)。消去の実行中または消去が終了した後に、書き換え装置から消去結果要求信号を受信したならば(ステップ106)、消去結果信号を書き換え装置に返信する(ステップ107)。消去結果信号は、たとえば消去が完了していれば値「1」が設定されて消去完了を示し、消去が完了していなければ値「0」が設定されて消去実行中を示すというように、消去処理の状況を示す。
【0062】
同様にして、書き換え装置から書き込み必要時間要求信号を受信したならば(ステップ111)、書き込み必要時間WTを算出して、書き換え装置に送信する(ステップ112)。ステップ113において、書き換え装置から新たなプログラムのデータ列を受信したならば、書き込み実行開始信号を書き換え装置に返信し(ステップ114)、受信したデータ列に含まれるプログラムコードを変更可能ROMに書き込む(ステップ115)。書き込み中または書き込みを終了した後に、書き換え装置から書き込み結果要求信号を受信したならば(ステップ116)、書き込み結果を書き換え装置に返信する(ステップ117)。書き込み結果信号は、たとえば書き込みが完了していれば値「1」が設定されて書き込み完了を示し、書き込みが完了していなければ値「0」が設定されて書き込み実行中を示すというように、書き込み処理の状況を示す。書き換え装置からECUへのプログラム転送はデータ列ごとに行われるので、ステップ113からステップ117を、新たなプログラムのすべてのデータ列を受信するまで繰り返す(ステップ118)。
【0063】
【発明の効果】
請求項1の発明によると、車両制御装置がメモリの消去または書き込みを実行しているとき、誤って通信ラインをオフラインと判定することを回避することができる。
【0064】
請求項2の発明によると、消去または書き込みを実行しているときは、車両制御装置から取得した適切な消去または書き込み必要時間に基づいてオフライン判定を行うので、オフライン判定の精度が向上する。
【図面の簡単な説明】
【図1】この発明の一実施例における、書き換えシステムの全体を示すブロック図。
【図2】この発明の一実施例における、書き換えシステムの動作手順を示す図。
【図3】この発明の一実施例における、書き換え装置における消去および書き込み動作を示すフローチャート。
【図4】この発明の一実施例における、書き換え装置における消去および書き込み動作を示すフローチャート。
【図5】この発明の一実施例における、車両制御装置における消去および書き込み動作を示すフローチャート。
【図6】従来の、書き換え装置における消去および書き込み動作を示すフローチャート。
【図7】従来の、車両制御装置における消去および書き込み動作を示すフローチャート。
【図8】車両制御装置におけるCPUおよびメモリの形態を示す図。
【符号の説明】
10 ECU 11 書き換え装置
12 インターフェース 14 CPU
16 変更可能ROM 17 変更不可能ROM
Claims (2)
- 車両制御装置の不揮発性メモリに格納された情報を、書き換え装置から転送された新たな情報に書き換える書き換えシステムであって、該書き換え装置は、該車両制御装置からの応答が所定の判定時間内にあるかどうかに従って、該車両制御装置との通信のオフラインを判定するオフライン判定手段を備えており、
前記オフライン判定手段は、
前記不揮発性メモリに対して消去も書き込みも実行されていないときは、前記所定の判定時間に第1の所定時間を設定し、該書き換え装置から該車両制御装置に対して或る要求信号を送信した時から、該第1の所定時間内に、該車両制御装置から応答が無いとき、前記通信をオフラインと判定し、
該書き換え装置が、前記不揮発性メモリに対して消去または書き込みを開始することを示す信号を該車両制御装置から受取ったことに応じて、該消去または書き込みの処理状況を要求する消去結果要求信号または書き込み結果要求信号の該車両制御装置への送信を開始し、該消去または書き込みが実行されている間に該消去結果要求信号または書き込み結果要求信号の送信を繰り返している時については、前記所定の判定時間に、前記第1の所定時間よりも長い第2の所定時間を設定し、最初の該消去結果要求信号または書き込み結果要求信号を送信した時から、該第2の所定時間内に、該消去または書き込みが完了していれば完了を示す信号で返信され、実行中であれば実行中を示す信号で返信される該車両制御装置からの応答が無いとき、前記通信をオフラインと判定する、
書き換えシステム。 - 前記書き換え装置は、前記不揮発性メモリに格納された情報の消去または前記不揮発性メモリへの情報の書き込みに先だって、消去または書き込みに必要な時間を前記車両制御装置から取得する手段を備え、前記不揮発性メモリに格納された情報の消去を実行するとき、前記第2の所定時間として、前記取得した消去必要時間を設定し、前記不揮発性メモリへの情報の書き込みを実行するとき、前記第2の所定時間として、前記取得した書き込み必要時間を設定するようにした請求項1に記載の書き換えシステム。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000112125A JP3835969B2 (ja) | 2000-04-13 | 2000-04-13 | 車両制御装置のための書き換えシステム |
EP01109045A EP1145911B1 (en) | 2000-04-13 | 2001-04-11 | Rewriting system for vehicle controller |
DE60112643T DE60112643T2 (de) | 2000-04-13 | 2001-04-11 | System zum Überschreiben der Programmlogik einer Kraftfahrzeugsteuereinheit |
US09/835,042 US6907495B2 (en) | 2000-04-13 | 2001-04-13 | Rewriting system for rewriting a memory on a vehicle controller |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000112125A JP3835969B2 (ja) | 2000-04-13 | 2000-04-13 | 車両制御装置のための書き換えシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001297009A JP2001297009A (ja) | 2001-10-26 |
JP3835969B2 true JP3835969B2 (ja) | 2006-10-18 |
Family
ID=18624345
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000112125A Expired - Fee Related JP3835969B2 (ja) | 2000-04-13 | 2000-04-13 | 車両制御装置のための書き換えシステム |
Country Status (4)
Country | Link |
---|---|
US (1) | US6907495B2 (ja) |
EP (1) | EP1145911B1 (ja) |
JP (1) | JP3835969B2 (ja) |
DE (1) | DE60112643T2 (ja) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4173347B2 (ja) * | 2002-10-16 | 2008-10-29 | アルゼ株式会社 | 遊技サーバ、遊技機及びプログラム |
JP2007260439A (ja) * | 2007-07-12 | 2007-10-11 | Aruze Corp | 遊技サーバ、遊技機及びプログラム |
JP2013068105A (ja) | 2011-09-21 | 2013-04-18 | Hitachi Automotive Systems Ltd | 自動車用電子制御装置 |
US9158926B2 (en) | 2014-01-13 | 2015-10-13 | General Electric Company | Engine control unit configuration security |
JP6344036B2 (ja) * | 2014-04-24 | 2018-06-20 | トヨタ自動車株式会社 | 車両用情報処理装置 |
JP5813833B2 (ja) * | 2014-07-15 | 2015-11-17 | 日立オートモティブシステムズ株式会社 | 自動車用電子制御装置 |
JP6415990B2 (ja) * | 2015-01-08 | 2018-10-31 | 日立オートモティブシステムズ株式会社 | 自動車用電子制御装置 |
DE112015007179T5 (de) * | 2015-12-10 | 2018-08-23 | Mitsubishi Electric Corporation | Informationsverarbeitungsvorrichtung, Informationsverarbeitungsverfahren und Informationsverarbeitungsprogramm |
JP6723941B2 (ja) * | 2017-02-15 | 2020-07-15 | 株式会社デンソーテン | 制御装置および制御プログラム更新方法 |
JP6692763B2 (ja) * | 2017-02-15 | 2020-05-13 | 株式会社デンソーテン | 制御装置および制御プログラム更新方法 |
KR102273410B1 (ko) * | 2020-01-10 | 2021-07-06 | 성균관대학교산학협력단 | Ecu를 리프로그래밍 하기 위한 장치, 시스템 및 방법 |
CN113885917A (zh) * | 2021-10-18 | 2022-01-04 | 中国第一汽车股份有限公司 | 控制器的程序刷写方法、装置、控制器和存储介质 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4091448A (en) * | 1976-10-29 | 1978-05-23 | Clausing Martin B | Off-line, one-level/on-line, two-level timeshared automated banking system |
JP2753225B2 (ja) | 1987-03-13 | 1998-05-18 | 株式会社日立製作所 | 車載制御装置 |
JP2830302B2 (ja) | 1990-02-15 | 1998-12-02 | 株式会社デンソー | 自動車用制御装置 |
US5523948A (en) * | 1990-09-06 | 1996-06-04 | Adrain; John B. | Apparatus and method for modifying control of an originally manufactured engine control module |
US5862326A (en) * | 1995-09-21 | 1999-01-19 | Pacific Communication Sciences, Inc. | Efficient request-reply protocol for a client-server model |
JPH09288573A (ja) * | 1996-04-23 | 1997-11-04 | Mitsubishi Electric Corp | 車載制御装置 |
WO1999017976A1 (fr) * | 1997-10-02 | 1999-04-15 | Mitsubishi Denki Kabushiki Kaisha | Controleur pour automobile |
JPH11141394A (ja) * | 1997-11-07 | 1999-05-25 | Nissan Motor Co Ltd | 車両制御用メモリ書き換え装置 |
JPH11272498A (ja) * | 1998-03-25 | 1999-10-08 | Denso Corp | 電子制御装置 |
US6321263B1 (en) * | 1998-05-11 | 2001-11-20 | International Business Machines Corporation | Client-based application availability |
JP3870563B2 (ja) * | 1998-07-22 | 2007-01-17 | 株式会社デンソー | 電子制御装置及び不揮発性メモリの書き換え回数計数方法 |
JP2000089822A (ja) * | 1998-09-16 | 2000-03-31 | Mitsubishi Electric Corp | 車両用電子制御システム |
US6609165B1 (en) * | 1999-09-27 | 2003-08-19 | International Business Machines Corporation | Method and apparatus for using fibre channel extended link service commands in a point-to-point configuration |
JP3633406B2 (ja) * | 1999-11-09 | 2005-03-30 | 三菱電機株式会社 | Eeprom書込装置 |
US7058085B2 (en) * | 2001-03-14 | 2006-06-06 | Nortel Networks Limited | Method and apparatus for transmitting data over a network within a specified time limit |
-
2000
- 2000-04-13 JP JP2000112125A patent/JP3835969B2/ja not_active Expired - Fee Related
-
2001
- 2001-04-11 EP EP01109045A patent/EP1145911B1/en not_active Expired - Lifetime
- 2001-04-11 DE DE60112643T patent/DE60112643T2/de not_active Expired - Lifetime
- 2001-04-13 US US09/835,042 patent/US6907495B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
DE60112643T2 (de) | 2006-03-09 |
JP2001297009A (ja) | 2001-10-26 |
EP1145911B1 (en) | 2005-08-17 |
EP1145911A1 (en) | 2001-10-17 |
US6907495B2 (en) | 2005-06-14 |
US20010032288A1 (en) | 2001-10-18 |
DE60112643D1 (de) | 2005-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6275911B1 (en) | Memory writing device for an electronic device | |
JP4340297B2 (ja) | 車両制御装置のためのメモリ書き換えシステム | |
JP3785299B2 (ja) | 車両制御装置のためのメモリ書き換えシステム | |
JP3835969B2 (ja) | 車両制御装置のための書き換えシステム | |
US6898490B2 (en) | Vehicle controller for controlling rewriting data in a nonvolatile memory | |
JP3828335B2 (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) | 電子制御装置 | |
JP2000259420A (ja) | 電子制御装置用の学習値更新装置 | |
US20060218340A1 (en) | Data validity determining method for flash EEPROM and electronic control system | |
JP3870563B2 (ja) | 電子制御装置及び不揮発性メモリの書き換え回数計数方法 | |
JP2000045858A (ja) | 電子制御装置及び不揮発性メモリの書換回数記憶方法 | |
JP2006221274A (ja) | 車両用電子制御装置および制御プログラムの書換え方法 | |
JP4311067B2 (ja) | データ書換方法及び電子制御装置 | |
JP4908665B2 (ja) | プロセッサシステム及びその起動方法 | |
US6490663B1 (en) | Electronic control apparatus having rewritable nonvolatile memory | |
JP3623481B2 (ja) | 不揮発性メモリの書き換えを制御する車両制御装置 | |
JP2019020837A (ja) | 電子制御装置 | |
JPH09171459A (ja) | 電子制御装置 | |
JPH06259982A (ja) | フラッシュromの書換方法及び書換装置 | |
JP2001290640A (ja) | 制御装置およびプログラム書き込み方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050930 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051115 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060111 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20060404 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20060428 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060522 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20060706 |
|
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: 20060725 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060725 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100804 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |