(57)【要約】    【課題】  車載用制御装置のメモリのデータ書き換え時間の短縮化を図ることができる書き換えシステム、車載用制御装置及び書き換え装置を提供する。    【解決手段】  書き換え装置では、書き換えデータを所定のデータ転送単位毎にその所定のデータ転送単位の書き換えデータに対応した不揮発性メモリの書き換え部分を表す指定位置データと共にデータ転送コマンドとして送信し、送信すべき所定のデータ転送単位の書き換えデータが全て所定値を表すときにはその書き換えデータを含むデータ転送コマンドの送信を禁止し、車載用制御装置では、受信した各データ転送コマンド内の書き換えデータをそのデータ転送コマンド内の指定位置データが表す不揮発性メモリの書き換え部分に書き込み、受信したデータ転送コマンド内から書き換えデータが得られなかった不揮発性メモリの書き換え部分に全て所定値を表すデータを書き込む。【選択図】  図１
2005332148.tif 000002
【特許請求の範囲】
【請求項１】
車両のエンジン制御を少なくとも行うためのデータを記憶した不揮発性メモリを有する車載用制御装置に対して外部の書き換え装置から書き換えデータを送信して前記不揮発性メモリの記憶データを書き換える書き換えシステムであって、
前記書き換え装置は、前記書き換えデータを所定のデータ転送単位毎にその所定のデータ転送単位の書き換えデータに対応した前記不揮発性メモリの書き換え部分を表す指定位置データと共にデータ転送コマンドとして送信し、送信すべき前記所定のデータ転送単位の書き換えデータが全て所定値を表すときにはその書き換えデータを含む前記データ転送コマンドの送信を禁止する送信制御手段を備え、
前記車載用制御装置は、前記書き換え装置から送信された前記データ転送コマンドを受信する受信手段と、
前記受信手段によって各々受信された前記データ転送コマンド内の書き換えデータをその受信された前記データ転送コマンド内の指定位置データが表す前記不揮発性メモリの書き換え部分に書き込み、前記受信手段によって受信された前記データ転送コマンド内から前記書き換えデータが得られなかった前記不揮発性メモリの書き換え部分に全て前記所定値を表すデータを書き込む書込制御手段と、を備えたことを特徴とする書き換えシステム。
【請求項２】
前記書込制御手段は、前記不揮発性メモリのデータ書き換え単位分のデータ記憶領域を有する書き込みバッファと、
前記書き込みバッファの全ての記憶領域に前記所定値を表すデータを書き込んで前記書き込みバッファを初期化する初期化手段と、
前記初期化手段による前記書き込みバッファの初期化後、前記受信手段によって各々受信された前記データ転送コマンド内の書き換えデータをその受信された前記データ転送コマンド内の指定位置データが表す前記書き込みバッファの記憶部分に書き込むバッファ書込手段と、
前記バッファ書込手段によって前記不揮発性メモリのデータ書き換え単位分の前記書き込みバッファへの前記書き換えデータの書き込みが終了したとき前記書き込みバッファの記憶データを前記不揮発性メモリの対応する前記データ書き換え単位分の領域に書き込むメモリ書込手段と、を備えたことを特徴とする請求項１記載の書き換えシステム。
【請求項３】
前記メモリ書込手段は、前記バッファ書込手段によって前記書き込みバッファの終端へのデータ書き込みが行われたとき、又は受信手段によって受信された前記データ転送コマンド内の指定位置データが前記書き込みバッファの現データ記憶領域に対応しなくなったとき前記書き込みバッファへの前記書き換えデータの書き込みが終了したと判別することを特徴とする請求項２記載の書き換えシステム。
【請求項４】
前記所定値は１６進数のＦＦであることを特徴とする請求項１記載の書き換えシステム。
【請求項５】
車両のエンジン制御を少なくとも行うためのデータを記憶した不揮発性メモリを有する車載用制御装置であって、
外部の書き換え装置から送信されたデータ転送コマンドを受信する受信手段と、
前記受信手段によって各々受信された前記データ転送コマンド内の書き換えデータをその受信された前記データ転送コマンド内の指定位置データが表す前記不揮発性メモリの書き換え部分に書き込み、前記受信手段によって受信された前記データ転送コマンド内から前記書き換えデータが得られなかった前記不揮発性メモリの書き換え部分に全て所定値を表すデータを書き込む書込制御手段と、を備えたことを特徴とする車載用制御装置。
【請求項６】
車両のエンジン制御を少なくとも行うためのデータを記憶した不揮発性メモリを有する車載用制御装置に対して前記不揮発性メモリのデータを書き換えるための書き換えデータを送信する書き換え装置であって、
前記書き換えデータを所定のデータ転送単位毎にその所定のデータ転送単位の書き換えデータに対応した前記不揮発性メモリの書き換え部分を表す指定位置データと共にデータ転送コマンドとして送信し、送信すべき前記所定のデータ転送単位の書き換えデータが全て所定値を表すときにはその書き換えデータを含む前記データ転送コマンドの送信を禁止する送信制御手段を備えたことを特徴とする書き換え装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車載用制御装置のメモリに記憶されたデータを書き換える書き換えシステムに関する。
【背景技術】
【０００２】
車両のエンジンの点火時期、空燃比、燃料噴射量等の運転状態を制御する他に、車両に備えられたパワーウインドウ、エアコンディショナー等の搭載機器を制御するために車両にはＥＣＵと呼ばれる車載用制御装置が備えられている。その車載用制御装置は、通常、ＣＰＵ（中央演算処理装置）とＲＯＭ（リードオンリメモリ）を含むメモリとからなるマイクロコンピュータによって構成されている。ＣＰＵによる制御動作のためにＲＯＭにはプログラム等のデータが書き込まれている。
【０００３】
このＲＯＭに記憶されたデータは、より良い制御のために適宜更新されることがある。データの更新の際には車載用制御装置に書き換え装置が接続されて車載用制御装置と書き換え装置との間で通信が行われる。書き換え装置から書き換え用のデータが車載用制御装置に転送されて車載用制御装置内のＲＯＭの記憶データが書き換えられる（特許文献１参照）。
【特許文献１】特開２００３−１２２６２２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の書き換えシステムにおいては、書き換え装置から順次転送される書き換えデータを車載用制御装置で受信してそれをＲＯＭに書き込み終えるまでにその書き換えデータ量に応じた時間だけ必要となるので、その書き換え時間の短縮化が望まれていた。
【０００５】
そこで、本発明の目的は、車載用制御装置のメモリのデータ書き換え時間の短縮化を図ることができる書き換えシステム、車載用制御装置及び書き換え装置を提供することである。
【課題を解決するための手段】
【０００６】
本発明の書き換えシステムは、車両のエンジン制御を少なくとも行うためのデータを記憶した不揮発性メモリを有する車載用制御装置に対して外部の書き換え装置から書き換えデータを送信して前記不揮発性メモリの記憶データを書き換える書き換えシステムであって、前記書き換え装置は、前記書き換えデータを所定のデータ転送単位毎にその所定のデータ転送単位の書き換えデータに対応した前記不揮発性メモリの書き換え部分を表す指定位置データと共にデータ転送コマンドとして送信し、送信すべき前記所定のデータ転送単位の書き換えデータが全て所定値を表すときにはその書き換えデータを含む前記データ転送コマンドの送信を禁止する送信制御手段を備え、前記車載用制御装置は、前記書き換え装置から送信された前記データ転送コマンドを受信する受信手段と、前記受信手段によって各々受信された前記データ転送コマンド内の書き換えデータをその受信された前記データ転送コマンド内の指定位置データが表す前記不揮発性メモリの書き換え部分に書き込み、前記受信手段によって受信された前記データ転送コマンド内から前記書き換えデータが得られなかった前記不揮発性メモリの書き換え部分に全て前記所定値を表すデータを書き込む書込制御手段と、を備えたことを特徴としている。
【０００７】
本発明の車載用制御装置は、車両のエンジン制御を少なくとも行うためのデータを記憶した不揮発性メモリを有する車載用制御装置であって、外部の書き換え装置から送信されたデータ転送コマンドを受信する受信手段と、前記受信手段によって各々受信された前記データ転送コマンド内の書き換えデータをその受信された前記データ転送コマンド内の指定位置データが表す前記不揮発性メモリの書き換え部分に書き込み、前記受信手段によって受信された前記データ転送コマンド内から前記書き換えデータが得られなかった前記不揮発性メモリの書き換え部分に全て所定値を表すデータを書き込む書込制御手段と、を備えたことを特徴としている。
【０００８】
本発明の書き換え装置は、車両のエンジン制御を少なくとも行うためのデータを記憶した不揮発性メモリを有する車載用制御装置に対して前記不揮発性メモリのデータを書き換えるための書き換えデータを送信する書き換え装置であって、前記書き換えデータを所定のデータ転送単位毎にその所定のデータ転送単位の書き換えデータに対応した前記不揮発性メモリの書き換え部分を表す指定位置データと共にデータ転送コマンドとして送信し、送信すべき前記所定のデータ転送単位の書き換えデータが全て所定値を表すときにはその書き換えデータを含む前記データ転送コマンドの送信を禁止する送信制御手段を備えたことを特徴としている。
【発明を実施するための最良の形態】
【０００９】
以下、本発明の実施例を図面を参照しつつ詳細に説明する。
【００１０】
図１は本発明による書き換え方法を適用した書き換えシステムを示している。このシステムでは、内燃エンジン制御装置のＥＣＵ１と書き換え装置２とを備えている。
【００１１】
ＥＣＵ１は、車両に搭載され、ＣＰＵ（中央演算処理装置）３、入出力インターフェース及びメモリを備えている。ＣＰＵ３は車両に設けられたクランク角センサ、吸気管負圧センサ、エンジン冷却水温センサ等のセンサから検出信号を入力インターフェースを介して受け取り、内燃エンジンの燃料噴射量及び点火時期等の制御値を演算し、その演算結果に応じた制御信号を出力インターフェースを介して燃料噴射用インジェクタや点火装置に供給する。メモリは、ＲＯＭ（リードオンリメモリ）１０とＲＡＭ（ランダムアクセスメモリ）１１とからなる。ＲＯＭ１０はフラッシュＲＯＭからなる。ＲＯＭ１０にはＣＰＵの制御用のプログラムやデータ及びＲＯＭ１０自身の書き換えプログラムが書き込まれている。この実施例ではＲＯＭ１０のプログラムやデータの書き換えが行われる。ＲＡＭ１１にはＣＰＵ３の動作に必要なプログラムやデータが一時的に記憶される。また、ＲＡＭ１１には図２に示すように、ＲＯＭ１０の書き換えの際には書き換えプログラムが書き込まれる他、ＲＡＭ１１の一部領域が図１に示した受信バッファ１３及び書き込みバッファ１５として用いられる。
【００１２】
図１においてはＥＣＵ１内のＲＯＭ１０の書き換えに関連する部分だけを示している。この書き換え関連部分はＲＯＭ１０の他に、送受信部１２、受信バッファ１３、転送部１４、書き込みバッファ１５及び書き込み部１６からなる。送受信部１２は書き換え装置２とケーブル５を介してシリアル通信を行うための入出力インターフェースである。送受信部１２には受信バッファ１３が接続されている。送受信部１２において書き換え装置２から送られた来たデータが受信されると、その受信データは受信バッファ１３に一旦保持される。転送部１４は受信バッファ１３と書き込みバッファ１５との間に配置され、受信バッファ１３に保持されたデータを書き込みバッファ１５に書き込む。書き込みバッファ１５はｎバイトからなり、ＲＯＭ１０の書き換えページと同一サイズの記憶領域を有する。書き換えページはデータ書き換え単位である。書き込み部１６は書き込みバッファ１５に保存されたデータをＲＯＭ１０の対応する書き換えページに書き込む。
【００１３】
ＥＣＵ１のＣＰＵは書き換え関連部分では転送部１４及び書き込み部１６として機能している。
【００１４】
ＲＯＭ１０の記憶領域は、図３に示すように、ブートエリア、プログラムエリア及びキャリブレーションエリアからなり、書き換えページとしては１〜ｍを備えている。ＲＯＭ１０の記憶容量はｍ×ｎバイトである。ブートエリアはＲＯＭ１０自体の書き換えプログラムを記憶するためのエリアである。プログラムエリアはエンジン制御用のプログラムを記憶するためのエリアである。キャリブレーションエリアはエンジン制御の校正用のプログラムを記憶するためのエリアである。
【００１５】
書き換え装置２は、ＥＣＵ１のＲＯＭ１０に書き込むべきデータを記憶することができるメモリ２１とＥＣＵ１とのシリアル通信のための送受信部（図示せず）とを備えている。
【００１６】
書き換え装置２とＥＣＵ１と間では、データ書き換えの際には図４に示すように、送受信が行われる。すなわち、書き換え装置２の操作部（図示せず）からの入力操作に応じて書き換え装置２からＥＣＵ１に対して接続要求コマンドが送信される（ステップＳ１０１）。その接続要求コマンドに対してＥＣＵ１から許諾応答が書き換え装置２に送信され（ステップＳ１０２）、その許諾応答が書き換え装置２にて受信されると、書き換え装置２からセキュリティ解除要求コマンドがＥＣＵ１に対して送信される（ステップＳ１０３）。
【００１７】
セキュリティ解除要求コマンドに対してＥＣＵ１から許諾応答が送信され（ステップＳ１０４）、それを書き換え装置２が受信すると、更に、書き換え装置２から消去コマンドがＥＣＵ１に対して送信される（ステップＳ１０５）。消去コマンドはＲＯＭ１０の書き換えを行うエリアを示す。その消去コマンドに対してＥＣＵ１は後述のＲＯＭ消去要求受信処理において許諾応答を書き換え装置２に対して送信する（ステップＳ１０６）。ＥＣＵ１から消去コマンドに対する許諾応答を書き換え装置２が受信すると、書き換え装置２から書き換えモード移行コマンドがＥＣＵ１に対して送信される（ステップＳ１０７）。書き換えモード移行コマンドに対してＥＣＵ１は後述の書き換えモード移行処理において許諾応答を書き換え装置２に対して送信する。
【００１８】
ＥＣＵ１からの書き換えモード移行コマンドに対する許諾応答を書き換え装置２が受信すると（ステップＳ１０８）、書き換え装置２からデータ転送コマンドがＥＣＵ１に対して送信される（ステップＳ１０９）。ＥＣＵ１はデータ転送コマンドを受信すると、受信バッファ１３に一旦保持した後、データ転送コマンドに含まれるデータを書き込みバッファ１５に書き込む。ＥＣＵ１では書き込みバッファ１５に１ページ分のデータが形成されると、ＲＯＭ１０への書き込みがＲＯＭ書き込み処理によって実行される。また、書き込みバッファ１５にデータを書き込むと、ＥＣＵ１からはデータ転送コマンドに対する許諾応答が書き換え装置２に送信される（ステップＳ１１０）。このデータ転送コマンドとそれに対する許諾応答との通信はＲＯＭ１０のデータ書き換えに必要なデータが全て送信し終わるまで繰り返される。
【００１９】
書き換え装置２はＲＯＭ１０のデータ書き換えに必要なデータについての最後のデータ転送コマンドを送信し、それに対するＥＣＵ１からの許諾応答を受信すると、データ転送終了コマンドをＥＣＵ１に対して送信する（ステップＳ１１１）。データ転送終了コマンドに応答してＥＣＵ１ではデータ転送終了受信処理が実行され、ＲＯＭ１０のデータ書き換えが終了している場合には許諾応答が書き換え装置２に送信される（ステップＳ１１２）。その後、書き換え装置２はＥＣＵリセットコマンドをＥＣＵ１に対して送信し（ステップＳ１１３）、ＥＣＵリセットコマンドに応答してＥＣＵ１は初期状態となり、許諾応答を書き換え装置２に送信する（ステップＳ１１４）。
【００２０】
書き換え装置２がＥＣＵ１に対して送信するデータ転送コマンドは、図５に示すように、ヘッダ、指定アドレス、バイト数及び転送データからなり、その順に配置されている。ヘッダはデータ転送コマンドであることを表す。指定アドレスは転送データを書き込むべきＲＯＭ１０の書き込みアドレスを表す指定位置データである。バイト数はデータ転送単位であり、転送データのバイト数を表す。転送データはＲＯＭ１０に書き込むべきデータ自身である。
【００２１】
書き換え装置２による１回のデータ転送コマンドの送信によって転送されるデータサイズ、すなわち上記のバイト数をＡバイトとすると、Ａバイトは書き換えページの１ページ分のｎバイト以下であり、ｎ／Ａの余りは０である。Ａバイトは一定である必要はなく、適宜、可変されるバイト数でも良い。
【００２２】
書き換え装置２はデータ転送コマンドを送信する場合には、図６に示すように、先ず、メモリ２１から書き換えページ順にＡバイト分のデータが読み出され（ステップＳ１２１）、読み出されたＡバイト分のデータが全て初期値を表すか否かが判別される（ステップＳ１２２）。すなわち、Ａバイトのバイトデータ各々が初期値であるか否かが判別される。ここで初期値とは、ＥＣＵ１における後述の書き換えモード移行処理のステップＳ２５、又はＲＯＭ書き込み処理のステップＳ５６にて書き込みバッファ１５の記憶領域を全て初期化する場合の初期値に対応し、１バイト毎に例えば、１６進数のＦＦである。
【００２３】
読み出されたＡバイト分のデータが全て初期値ではない場合には、書き換え装置２ではそのＡバイト分のデータを含むデータ転送コマンドが作成されてＥＣＵ１に対して送信される（ステップＳ１２３）。そして、メモリ２１に記憶された書き換えデータの全てが読み出されたか否かが判別される（ステップＳ１２４）。書き換えデータの全てが読み出されていない場合には、ステップＳ１２１に戻って次のＡバイト分のデータが読み出される。
【００２４】
一方、読み出されたＡバイト分のデータが全て初期値である場合には、ステップＳ１２３は迂回されてステップＳ１２４が実行される。すなわち、読み出されたＡバイト分の初期値列のデータはＥＣＵ１に対して送信されない。よって、読み出されたＡバイト分のデータが全て初期値であることが生じると、ＥＣＵ１に送られる書き換えデータのアドレスは不連続となる。このデータ転送コマンド送信処理が書き換え装置２の送信制御手段に対応する。
【００２５】
このようなデータ転送動作を行う書き換え装置２に対するＥＣＵ１の動作について次に説明する。
【００２６】
ＥＣＵ１のＣＰＵは、図７に示すように、車載機器を含むエンジンの制御を実行し（ステップＳ１）、書き換え装置２からのコマンドを受信し（ステップＳ２）、その後、その受信コマンドに応じてＲＯＭ消去要求受信処理（ステップＳ３）及び書き換えモード移行処理（ステップＳ４）を実行する。書き換え装置２からのコマンドが送受信部１２で受信されると、そのコマンドは受信バッファ１３に保存される。なお、書き換えモード移行処理が書込制御手段に対応する。
【００２７】
ＲＯＭ消去要求受信処理においてＣＰＵ３は、図８に示すように、先ず、受信コマンドが全域消去コマンドであるか否かを判別する（ステップＳ１１）。書き換え装置２からのコマンドはそのコマンドの種類を表すヘッダを備えているので、受信コマンドのヘッダからコマンドの種類が判別される。全域消去とはブートエリア、プログラムエリア及びキャリブレーションエリアの消去である。受信コマンドが全域消去コマンドであるならば、全域消去要求フラグをオン（すなわち、１）にセットする（ステップＳ１２）。受信コマンドが全域消去コマンドではないならば、受信コマンドがプログラム及びキャリブレーションの両エリアの消去コマンドであるか否かを判別する（ステップＳ１３）。受信コマンドがプログラム及びキャリブレーションの両エリアの消去コマンドであるならば、プログラム及びキャリブレーション消去要求フラグをオンにセットする（ステップＳ１４）。受信コマンドがプログラム及びキャリブレーションの両エリアの消去コマンドではないならば、受信コマンドがキャリブレーションエリアの消去コマンドであるか否かを判別する（ステップＳ１５）。受信コマンドがキャリブレーションエリアの消去コマンドであるならば、キャリブレーション消去要求フラグをオンにセットする（ステップＳ１６）。ステップＳ１２、Ｓ１４又はＳ１６を実行した場合には書き換え装置２に対して許諾応答を送信する（ステップＳ１７）。
【００２８】
書き換えモード移行処理においてＣＰＵ３は、図９に示すように、先ず、受信コマンドが書き換えモード移行コマンドであるか否かを判別する（ステップＳ２１）。受信コマンドが書き換えモード移行コマンドではないならば、書き換えモード移行処理を直ちに終了する。一方、受信コマンドが書き換えモード移行コマンドであるならば、書き換え装置２に対して許諾応答を送信する（ステップＳ２２）。その後、書き換えプログラムをＲＯＭ１０から読み出してＲＡＭ１１に書き込み（ステップＳ２３）、そのＲＡＭ１１内の書き換えプログラムの実行に切り替える（ステップＳ２４）。ステップＳ２４の実行まではＲＯＭ１０のプログラムに従って動作していたＣＰＵ３はＲＡＭ１１内の書き換えプログラムに従って動作する。更に、書き込みバッファ１５を初期化する（ステップＳ２５）。すなわち、書き込みバッファ１５の記憶領域を全て初期値（例えば、１６進数のＦＦ）に設定することが行われる。ステップＳ２５の実行後、ＣＰＵ３はＥＣＵ書き換え制御処理を繰り返し実行する（ステップＳ２６）。
【００２９】
ＥＣＵ書き換え制御処理においてＣＰＵ３は、図１０に示すように、ＲＯＭ消去処理（ステップＳ３１）及びＲＯＭ書き込み処理（ステップＳ３２）を実行し、書き換え装置２からのコマンドを受信し（ステップＳ３３）、更に、転送データ受信処理（ステップＳ３４）及びデータ転送終了受信処理（ステップＳ３５）を実行する。ステップＳ３１のＲＯＭ消去処理及びステップＳ３２のＲＯＭ書き込み処理は書き込み部１６によって実行される。ステップＳ３４の転送データ受信処理及びステップＳ３５のデータ転送終了受信処理は転送部１４によって実行される。また、ステップＳ３２のＲＯＭ書き込み処理の一部（後述のステップＳ５９〜Ｓ６２）は転送部１４によって実行される。
【００３０】
ＲＯＭ消去処理においてＣＰＵ３は、図１１に示すように、消去要求フラグがオンになっているか否かを判別する（ステップＳ４１）。ＲＯＭ消去要求受信処理において全域消去要求フラグ、Ｐｒｏｇ＆Ｃａｌｉｂ消去要求フラグ及びＣａｌｉｂ消去要求フラグのうちのいずれか１の消去要求フラグがオンにされたか否かが判別される。いずれか１の消去要求フラグがオンであるならば、その指定エリアの消去は実施済みであるか否かを判別する（ステップＳ４２）。ＲＯＭ１０の１の消去要求フラグが表す指定エリア内のデータについての消去動作を実施していないならば、その指定エリアのデータを消去する（ステップＳ４３）。一方、ＲＯＭ１０の１の消去要求フラグが表す指定エリア内のデータについての消去動作を既に実施したならば、その指定エリアのデータ消去を確認し（ステップＳ４４）、データ消去が終了したか否かを判別する（ステップＳ４５）。指定エリアのデータ消去が終了していない場合には、ステップＳ４３に移行して指定エリアのデータを消去する。データ消去が終了した場合には、上記の１の消去要求フラグをオフ（すなわち、０）とする（ステップＳ４６）。
【００３１】
ＲＯＭ書き込み処理においてＣＰＵ３は、図１２に示すように、ページ書き込み要求フラグがオンであるか否かを判別する（ステップＳ５１）。ページ書き込み要求フラグがオフであるならば、ＲＯＭ書き込み処理を直ちに終了し、ステップＳ３３で書き換え装置２からのコマンドを受信し、その受信コマンドに応じた転送データ受信処理に移行する。
【００３２】
転送データ受信処理においてＣＰＵ３は、図１３に示すように、先ず、受信コマンドがデータ転送コマンドであるか否かを判別する（ステップＳ７１）。受信コマンドがデータ転送コマンドならば、ページ書き込み要求フラグがオンであるか否かを判別する（ステップＳ７２）。ページ書き込み要求フラグがオンである場合には、書き込みバッファ１５に形成された１ページ分のデータのＲＯＭ１０への書き込みが終了していないので、書き換え装置２に対して拒否応答を送信する（ステップＳ８３）。書き換え装置２は拒否応答を受信すると、許諾応答を受信するまでは待機状態となる。
【００３３】
一方、ページ書き込み要求フラグがオフである場合には、ページ先頭アドレスが更新されたか否かを判別する（ステップＳ７３）。ページ先頭アドレスが既に更新されていないならば、ページ先頭アドレス及びページ終端アドレスを各々更新する（ステップＳ７４，Ｓ７５）。ページ先頭アドレス及びページ終端アドレスはデータ転送コマンド中の指定アドレスに応じて算出され、更新される。一方、ページ先頭アドレスが既に更新されているならば、ステップＳ７４及びＳ７５を迂回してステップＳ７６に移行する。
【００３４】
ステップＳ７６では受信データ転送コマンド中の指定アドレスが現在の書き込みページ内であるか否かを判別する。指定アドレスが現在の書き込みページ内のアドレスであるならば、書き込みバッファ１５の指定アドレス位置に転送データを書き込む（ステップＳ７７）。そして、その書き込みがページ終端への書き込みであったか否かを判別する（ステップＳ７８）。ページ終端への書き込みであったならば、ページ書き込み要求フラグをオンにセットする（ステップＳ７９）。ページ終端への書き込みではないならば、ステップＳ７９を迂回してステップＳ８２に移行する。
【００３５】
ステップＳ７６の判別結果が指定アドレスが現在の書き込みページ内のアドレスではないならば、受信したデータ転送コマンド中の指定アドレスを先取りアドレスとして保存し（ステップＳ８０）、受信したデータ転送コマンド中の転送データを先取りデータとして保存する（ステップＳ８１）。先取りアドレス及び先取りデータは受信バッファ１３内に保存することができる。その後、ステップＳ７９に進んでページ書き込み要求フラグをオンにセットする。
【００３６】
ステップＳ７９を実行した後、書き換え装置２に対して許諾応答を送信する（ステップＳ８２）。
【００３７】
この転送データ受信処理において書き込みバッファ１５に書き込まれなかったアドレス部分は書き込み装置２からＥＣＵ１に対してデータが転送されなかった部分であり、その部分のデータは初期値のままとなる。転送されなかったデータは全て初期値であるので、ステップＳ７７の結果として書き込みバッファ１５に形成されるデータはメモリ２１に記憶された書き換えデータに等しい。
【００３８】
また、ステップＳ７９を実行した場合には、次回のＲＯＭ書き込み処理のステップＳ５１では、ＣＰＵ３はページ書き込み要求フラグがオンであると判別することになる。よって、その場合には、ＲＯＭ１０の指定ページへのデータ書き込みが実施されたか否かを判別する（ステップＳ５２）。ＲＯＭ１０の指定ページへのデータ書き込みが実施されていないならば、書き込みバッファ１５の転送データをＲＯＭ１０の指定ページに書き込む（ステップＳ５３）。ステップＳ５３で転送データを書き込んだら、ＲＯＭ書き込み処理を終了する。
【００３９】
ＲＯＭ１０の指定ページへのデータ書き込みが実施されているならば、ＲＯＭ１０の指定ページを確認し（ステップＳ５４）、その指定ページへのデータの書き込みが終了したか否かを判別する（ステップＳ５５）。書き込みエラー等のためにデータの書き込みが終了していない場合には、ステップＳ５３に移行して書き込みバッファ１５の転送データをＲＯＭ１０の指定ページに書き込む。一方、データの書き込みが終了している場合には、書き込みバッファ１５を初期化する（ステップＳ５６）。ステップＳ５６では、ステップＳ２５と同様に書き込みバッファ１５の記憶領域を全て初期値に設定することが行われる。
【００４０】
ステップＳ５６の実行後、先取りデータが保存されているか否かを判別する（ステップＳ５７）。先取りデータが保存されていない場合にはページ書き込み要求フラグをオフにリセットする（ステップＳ５８）。先取りデータが保存されている場合にはページ先頭アドレス及びページ終端アドレスを各々更新し（ステップＳ５９，Ｓ６０）、書き込みバッファ１５の指定アドレス位置に先取りデータを書き込む（ステップＳ６１）。そして、その書き込みがページ終端への書き込みであったか否かを判別する（ステップＳ６２）。ページ終端への書き込みではないならば、ステップＳ５８に進んでページ書き込み要求フラグをオフにリセットする。
【００４１】
データ転送終了受信処理においてＣＰＵ３は、図１４に示すように、先ず、受信コマンドがデータ転送終了コマンドであるか否かを判別する（ステップＳ９１）。受信コマンドがデータ転送終了コマンドであるならば、ページ書き込み要求フラグがオンであるか否かを判別する（ステップＳ９２）。ページ書き込み要求フラグがオンである場合には、書き込みバッファ１５に形成された１ページ分のデータのＲＯＭ１０への書き込みが終了していないので、書き換え装置２に対して拒否応答を送信する（ステップＳ９３）。
【００４２】
ステップＳ９２においてページ書き込み要求フラグがオフであると判別した場合には、書き込みバッファ１５にＲＯＭ１０への書き込みがまだ行われていない未書き込みデータがあるか否かを判別する（ステップＳ９４）。書き込みバッファ１５に未書き込みデータがあるならば、ページ書き込み要求フラグをオンにセットし（ステップＳ９５）、そして、書き換え装置２に対して許諾応答を送信する（ステップＳ９６）。書き込みバッファ１５に未書き込みデータがないならば、ステップＳ９５を迂回してステップＳ９６に移行して書き換え装置２に対して許諾応答を送信する。
【００４３】
このようなＥＣＵ１の動作によってＲＯＭ１０の書き換えるべきページＸの内容、すなわち書き換え前のデータ内容が図１５(a)に示す如きであるとする。データ内容は１６進数で示されている。また、１ラインがデータ転送単位のＡバイトとしている。書き込みバッファ１５の初期化によってそのページＸの内容は図１５(b)に示すように全て初期値ＦＦとなる。そのページＸに対応して書き換え装置２のメモリ２１に記憶されたデータが図１５(c)に示す如きであるとすると、その第１ラインのＡバイトのデータは転送され、それに続いて第２ラインのＡバイトのデータも転送される。書き込みバッファ１５のページＸの第１及び第２ラインの内容は図１５(d)に示すように、その転送データによって書き換えられる。第３ラインのＡバイトのデータは全てＦＦであり、初期値に等しいので、転送されない。よって、書き込みバッファ１５のページＸの第３ラインの内容は書き換えられず、初期値ＦＦ列のままとなる。また、同様に、第４ラインのＡバイトのデータも転送され、書き込みバッファ１５のページＸの第４ラインの内容はその転送データによって書き換えられる。メモリ２１の第５ラインのＡバイトのデータは全てＦＦであり、初期値に等しく転送されないので、書き込みバッファ１５のページＸの第５ラインの内容は書き換えられず、初期値ＦＦ列のままとなる。この結果として書き込みバッファ１５のページＸのデータはメモリ２１に記憶されたデータと等しくなり、これがＲＯＭ１０に書き込まれる。
【００４４】
なお、上記した実施例においては、ＲＯＭ１０の書き換える部分の全てを初期値にしているが、書き換え装置からデータ転送されない部分だけを初期値によって置き換えても良い。
【００４５】
また、上記の実施例においては、記憶データの書き換えが行われる不揮発性メモリとしてＲＯＭが用いられているが、不揮発性のＲＡＭやハードディスク装置を用いても良い。
【００４６】
以上のように、本発明によれば、書き換え装置では、書き換えデータを所定のデータ転送単位毎にその所定のデータ転送単位の書き換えデータに対応した不揮発性メモリの書き換え部分を表す指定位置データと共にデータ転送コマンドとして送信し、送信すべき所定のデータ転送単位の書き換えデータが全て所定値を表すときにはその書き換えデータを含むデータ転送コマンドの送信を禁止し、車載用制御装置では、書き換え装置から送信されたデータ転送コマンドを受信し、受信した各データ転送コマンド内の書き換えデータをそのデータ転送コマンド内の指定位置データが表す不揮発性メモリの書き換え部分に書き込み、受信したデータ転送コマンド内から書き換えデータが得られなかった不揮発性メモリの書き換え部分に全て所定値を表すデータを書き込むことが行われる。よって、書き換え装置から車載用制御装置への転送データ量を減少させることができるので、その結果、書き換え時間の短縮を図ることができる。
【図面の簡単な説明】
【００４７】
【図１】本発明の実施例を示すブロック図である。
【図２】ＲＡＭの記憶領域を示す図である。
【図３】ＲＯＭの記憶領域を示す図である。
【図４】書き換え装置とＥＣＵと間におけるデータ書き換えの際の通信を示す図である。
【図５】データ転送コマンドの構造を示す図である。
【図６】データ転送コマンド送信処理を示すフローチャートである。
【図７】ＥＣＵ制御動作を示すフローチャートである。
【図８】ＲＯＭ消去要求受信処理を示すフローチャートである。
【図９】書き換えモード移行処理を示すフローチャートである。
【図１０】ＥＣＵ書き換え制御処理を示すフローチャートである。
【図１１】ＲＯＭ消去処理を示すフローチャートである。
【図１２】ＲＯＭ書き込み処理を示すフローチャートである。
【図１３】転送データ受信処理を示すフローチャートである。
【図１４】データ転送終了受信処理を示すフローチャートである。
【図１５】書き換え動作を説明するための図である。
【符号の説明】
【００４８】
１  ＥＣＵ
１０  ＲＯＭ
１１  ＲＡＭ
１２  送受信部
１３  受信バッファ
１４  転送部
１５  書き込みバッファ
１６  書き込み部
【図１】
2005332148.tif 000003
【図２】
2005332148.tif 000004
【図３】
2005332148.tif 000005
【図４】
2005332148.tif 000006
【図５】
2005332148.tif 000007
【図６】
2005332148.tif 000008
【図７】
2005332148.tif 000009
【図８】
2005332148.tif 000010
【図９】
2005332148.tif 000011
【図１０】
2005332148.tif 000012
【図１１】
2005332148.tif 000013
【図１２】
2005332148.tif 000014
【図１３】
2005332148.tif 000015
【図１４】
2005332148.tif 000016
【図１５】
2005332148.tif 000017