(57)【特許請求の範囲】
【請求項１】
書換可能な不揮発性メモリに記憶されたデータに従って所定の制御対象を制御する電子制御装置であって、
前記不揮発性メモリに書込むデータを外部から受信し格納する第１の記憶領域と、
前記第１の記憶領域と分離して構成され、前記第１の記憶領域に格納された前記データを前記不揮発性メモリに書込む際の書込データとして格納する第２の記憶領域とを具備し、
前記第１の記憶領域への前記データの受信処理と、前記第２の記憶領域に格納された前記書込データの前記不揮発性メモリへの書込処理とを並行に実行するものであって、前記書込処理中に前記受信処理にて受信したデータを前記第１の記憶領域に格納し、前記書込処理が終了した時点で、前記第１の記憶領域に格納したデータを前記第２の記憶領域に書写し、前記第２の記憶領域に書写したデータの前記不揮発性メモリへの書込処理を開始することを特徴とする電子制御装置。
【請求項２】
前記第１の記憶領域は、ローテーティングバッファ(Rotating Buffer：循環型緩衝記憶域）にて形成することを特徴とする請求項１に記載の電子制御装置。
【請求項３】
前記第１の記憶領域及び前記第２の記憶領域は、受信用及び書込用の各バッファ（Buffer：緩衝記憶域）にて独立して形成することを特徴とする請求項１に記載の電子制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、書換可能な不揮発性メモリに対してデータ書換機能を有する電子制御装置に関するものである。
【０００２】
【従来の技術】
従来、外部接続されるメモリ書換機との通信により書換可能な不揮発性メモリに対してデータ書換機能を有する電子制御装置が知られている。これに関連する先行技術としては、受信されたデータを書込データとして受信毎に書換えを実行するものがある。また、先行技術文献として特開平５−１８９５８４号公報にて開示されたものでは、書込データのメモリ書換機に対する送信要求を一括して処理するように書込データを一旦バッファに格納し、ある程度たまった時点で書換えを実行する技術が示されている。
【０００３】
【発明が解決しようとする課題】
ところで、前述のものでは、図８（ａ）に示すように、メモリ書換機からの受信データ１，２，３，…に対する受信処理と、それらを書込データ１，２，３，…として書込む書換処理とが別々に交互に実行されており、受信処理と書換処理との時間和が書換えに必要な全体の処理時間となる。また、図８（ｂ）に示すように、受信処理によりある程度たまった受信データ１，２，３に対して、それらを一括して書込データ１，２，３として書込む書換処理とが別々にまとめて交互に実行されてはいるが、この場合にも、やはり受信処理と書換処理との時間和が書換えに必要な全体の処理時間となる。
【０００４】
従来の書換可能な不揮発性メモリとして例えば、フラッシュＲＯＭに対する書換処理について具体的に、図９のフローチャートに基づき、図１０を参照して説明する。ここで、図１０はフラッシュＲＯＭ書換時の処理タイミングを示すタイミングチャートである。
【０００５】
図９において、ステップＳ００１で、バッファ内に受信データが有るかが判定される。ステップＳ００１の判定条件が成立しないときにはデータが受信されるまで待ってステップＳ００２に移行する。ステップＳ００２では、書換処理中はメモリ書換機からのデータを受信できないため、メモリ書換機に対して通信の中断コマンドが送信される。次にステップＳ００３に移行して、受信データのフラッシュＲＯＭに対する書込みが起動される（図１０参照）。次にステップＳ００４に移行して、フラッシュＲＯＭへの書込実行中はその終了までウェイト（待機）される（図１０参照）。
【０００６】
次にステップＳ００５に移行して、フラッシュＲＯＭへの書込終了を確認するため書込データのベリファイ（Velify）が実行され（図１０参照）、ベリファイ結果がＯＫであるかが判定される。このベリファイは、媒体に書込まれたデータの正否を確認するため、フラッシュＲＯＭに書込んだデータをフラッシュＲＯＭから読出し、バッファ内のデータと比較チェックする処理である。ステップＳ００５の判定条件が成立せず、即ち、書込データのベリファイ結果がＮＧであるときにはステップＳ００２に戻り、同様の処理が繰返される。
【０００７】
ステップＳ００５の判定条件が成立、即ち、書込データのベリファイ結果がＯＫであると、フラッシュＲＯＭに対する書込終了と判断してステップＳ００６に移行する。ステップＳ００６では、メモリ書換機からのデータを受信できるようにするため、メモリ書換機に対して通信の再開コマンドが送信される。次にステップＳ００７に移行して、全ての書込データの書換えが終了しているかが判定される。ステップＳ００７の判定条件が成立せず、即ち、全ての書込データの書込処理が終了していないときにはステップＳ００１に戻り、同様の処理が繰返される。そして、ステップＳ００７の判定条件が成立、即ち、全ての書込データの書込処理後では、書換えたデータのチェックサムを計算する要求が必ず発生されるため、その要求発生によって全ての書込データの書込終了と判断され、本ルーチンを終了する。
【０００８】
上述のステップＳ００４のフラッシュＲＯＭ書込待ち時間では、図１０に示すように、ウェイト状態となりその間には、例えば、ループ処理等により実際は何も実行されないこととなる。また、書込実行中はメモリ書換機からのデータが受信できないため通信を一時中断状態とするしかなかった。この結果、受信処理と書換処理との時間和を短縮することは無理であり、即ち、書換可能な不揮発性メモリの書換処理における全体の処理時間を短縮できないという不具合があった。
【０００９】
そこで、この発明はかかる不具合を解決するためになされたもので、外部からのデータの受信処理と書換可能な不揮発性メモリに対する書換処理とからなる全体の処理時間を短縮可能な電子制御装置の提供を課題としている。
【００１０】
【課題を解決するための手段】
請求項１の電子制御装置によれば、外部から受信されたデータを第１の記憶領域に格納する受信処理とそのデータを書込データとして第２の記憶領域に格納し書換可能な不揮発性メモリに書込む書込処理とが並行に実行される。そこで、この処理タイミングを利用して、書込処理中に受信処理にて受信されたデータが第１の記憶領域に格納され、書込処理が終了した時点で、第１の記憶領域に格納されたデータが第２の記憶領域に書写され、この第２の記憶領域に書写されたデータの不揮発性メモリへの書込処理が開始される。これにより、外部からのデータの受信処理と書換可能な不揮発性メモリに対する書換処理とからなる全体の処理時間を短縮できるという効果が得られる。
【００１１】
請求項２の電子制御装置では、第１の記憶領域がローテーティングバッファにて形成されているため、通常のバッファのように、第１の記憶領域に書写しサイズ以上にデータがたまってしまっても、第１の記憶領域では残りのデータをその先頭にシフトさせる必要がないこととなる。
【００１２】
請求項３の電子制御装置では、前記第１の記憶領域及び前記第２の記憶領域が受信用及び書込用の各バッファにて独立して形成されており、書換毎に交互に用いられることで外部からのデータの受信処理と書換可能な不揮発性メモリへの書換処理とを並行して実行できる。
【００１３】
【発明の実施の形態】
以下、本発明の実施の形態を実施例に基づいて説明する。
【００１４】
図１は本発明の実施の形態の一実施例にかかる電子制御装置が適用され車両に搭載された内燃機関用電子制御装置の全体構成を示すブロック図である。
【００１５】
図１において、１０は内燃機関用電子制御装置（Electronic Control Unit;以下、単に、『ＥＣＵ』と記す）であり、ＥＣＵ１０には図示しない内燃機関の運転状態を検出する各種センサ１からのセンサ信号が入力される。これら各種センサ１からのセンサ信号はＥＣＵ１０内の入力回路１６により波形整形処理、Ａ／Ｄ変換処理等が実行されたのちマイクロコンピュータ１１に入力される。マイクロコンピュータ１１では入力回路１６からのセンサ信号に基づき内燃機関に対する最適な制御量が演算され、その演算結果としての制御信号が出力回路１７に出力される。そして、出力回路１７からの制御信号により内燃機関のイグナイタ２１、インジェクタ（燃料噴射弁）２２等のアクチュエータが駆動され、必要に応じて各種警告灯２３が点灯される。また、ＥＣＵ１０はマイクロコンピュータ１１内の内燃機関用制御プログラム及びデータを書換える際に接続用コネクタ２６を介して接続されるメモリ書換機３０との間でデータ通信を行うための通信回路１８を備えている。
【００１６】
ＥＣＵ１０内のマイクロコンピュータ１１は、周知の中央処理装置としてＣＰＵ１２、制御プログラムやデータを格納するフラッシュＲＯＭ１３、各種データを格納するＲＡＭ１４、入力回路１６及び通信回路１８等からの信号を受取ると共に、出力回路１７に制御信号を出力するＩ／Ｏ（Input-Output）回路１５及びそれらを接続するバスライン等からなる論理演算回路として構成されている。なお、フラッシュＲＯＭ１３は一旦書込まれたプログラムやデータを消去し再度、書込可能なメモリ、即ち、書換可能な読出し専用メモリであり、ＥＥＰＲＯＭ等を用いることもできる。
【００１７】
また、外部接続装置としてのメモリ書換機３０は、主として、ＥＣＵ１０側のマイクロコンピュータ１１内のフラッシュＲＯＭ１３に格納された制御プログラムやデータを書換えるため、ＥＣＵ１０側のマイクロコンピュータ１１とシリアル通信を行うＣＰＵ３１、ＣＰＵ３１により制御されＥＣＵ１０側のマイクロコンピュータ１１内のフラッシュＲＯＭ１３の書換時に必要な高電圧を供給する電源回路３２を備えている。つまり、メモリ書換機３０が接続用コネクタ２６を介してＥＣＵ１０内の通信回路１８に接続されると、メモリ書換機３０とＥＣＵ１０内のマイクロコンピュータ１１との間におけるシリアル通信が可能となる。
【００１８】
次に、本発明の実施の形態の一実施例にかかる電子制御装置で使用されているマイクロコンピュータ１１内のＣＰＵ１２における全体の処理手順を示す図２のフローチャートに基づいて説明する。なお、この制御ルーチンは所定のリセット毎にＣＰＵ１２にて繰返し実行される。
【００１９】
図２において、ステップＳ１０１では、メモリ書換機３０からのプログラム書換要求があるかが判定される。このとき、ＥＣＵ１０に接続用コネクタ２６を介してメモリ書換機３０が接続されておらず、メモリ書換機３０からのプログラム書換要求がないときにはステップＳ１０２に移行し、フラッシュＲＯＭ１３内にアプリケーションプログラムが既に書込まれているかが判定される。この判定は、フラッシュＲＯＭ１３内にアプリケーションプログラムが書込まれていないときに、アプリケーション処理にジャンプして不具合が起こることを防止するためである。ステップＳ１０２の判定条件が成立、即ち、フラッシュＲＯＭ１３内にアプリケーションプログラムが既に書込まれているときにはステップＳ１０３に移行し、アプリケーションプログラムにジャンプされる。次にステップＳ１０４に移行して、アプリケーション処理として具体的には、イグナイタ２１に対する点火時期制御、インジェクタ２２に対する燃料噴射量制御等の内燃機関用制御が実行される。
【００２０】
一方、ステップＳ１０２の判定条件が成立せず、即ち、フラッシュＲＯＭ１３内にアプリケーションプログラムが書込まれていないときにはステップＳ１０１に戻り、ＥＣＵ１０に接続用コネクタ２６を介してメモリ書換機３０が接続され、メモリ書換機３０からのプログラム書換要求が有るまで待ってステップＳ１０５に移行する。ステップＳ１０５では、メモリ書換機３０から受信されたフラッシュＲＯＭ書換プログラムがＲＡＭ１４の記憶領域にダウンロードされる。次にステップＳ１０６に移行して、ＲＡＭ１４にダウンロードされたフラッシュＲＯＭ書換プログラムにジャンプされる。次にステップＳ１０７に移行して、後述のフラッシュＲＯＭ書換処理が実行される。
【００２１】
次に、メモリ書換機３０から受信されるデータを格納するＥＣＵ１０のマイクロコンピュータ１１のＲＡＭ１４内に形成された受信用ローテーティングバッファ及び書込用バッファの構成について図３を参照して説明する。
【００２２】
本実施例では、受信用バッファを受信用ローテーティングバッファにて形成しているが通常のバッファにて受信用バッファを形成した際、受信用バッファから書込用バッファへの書写しするサイズ以上に受信用バッファにデータがたまってしまうと、前回に書込用バッファへ書写しされなかった受信用バッファ内の残りのデータをその先頭にシフトさせなければならない。即ち、受信用バッファ内のデータをシフトさせるのはオーバフローを防止するためである。本実施例では、上述のシフト処理を不要とするため受信用バッファとして受信用ローテーティングバッファを用いている。なお、受信用バッファを通常のバッファで実現することもできる。
【００２３】
図３に示すように、受信用ローテーティングバッファでは、読出ポインタはバッファの最後尾に達したとき先頭にもどされる。このため、受信用ローテーティングバッファではオーバフローしないバッファを形成することができる。また、受信用ローテーティングバッファからの読出ポインタと受信用ローテーティングバッファへの書込ポインタとを別々に用意することで、受信用ローテーティングバッファからの読出処理と受信用ローテーティングバッファへの書込処理とを別々に実行できることとなる。
【００２４】
ここで、読出ポインタは受信用ローテーティングバッファからデータを取出す場所を示し、この読出ポインタはデータを読出したときそのサイズ分だけ、図３では読出ポインタが「５」インクリメントされる。また、書込ポインタは受信用ローテーティングバッファにデータを書込む場所を示し、この書込ポインタはデータを書込んだときそのサイズ分だけインクリメントされる。
【００２５】
次に、本発明の実施の形態の一実施例にかかる電子制御装置で使用されているマイクロコンピュータ１１内のＣＰＵ１２におけるフラッシュＲＯＭ書換処理の手順を示す図４のフローチャートに基づき、図５を参照して説明する。ここで、図５はフラッシュＲＯＭ書換時の処理タイミングを示すタイミングチャートである。
【００２６】
図４において、ステップＳ２０１で、受信データが有るかが判定される。ステップＳ２０１の判定条件が成立しないときには最初のデータが受信され、受信データ有りとなるまで待ってステップＳ２０２に移行する。ステップＳ２０２では、受信データが受信用ローテーティングバッファに格納される。次にステップＳ２０３に移行して、受信用ローテーティングバッファの未処理のデータが書込用バッファに書写される。
【００２７】
次にステップＳ２０４に移行して、書込用バッファのデータに基づきフラッシュＲＯＭ１３に対する書込みが起動される（図５参照）。次にステップＳ２０５に移行して、図５に示すように、フラッシュＲＯＭ１３に対する書込待ち時間を利用し受信データがローテーティングバッファに格納される。次にステップＳ２０６に移行して、書込終了を確認するため書込データのベリファイが実行され（図５参照）、ベリファイ結果がＯＫであるかが判定される。ステップＳ２０６の判定条件が成立せず、即ち、書込データのベリファイ結果がＮＧであるときにはステップＳ２０４に戻り、同様の処理が繰返される。
【００２８】
ステップＳ２０６の判定条件が成立、即ち、書込データのベリファイ結果がＯＫであるとＣＰＵ１２では、フラッシュＲＯＭ１３に対する書込終了と判断されステップＳ２０７に移行する。ステップＳ２０７では、全ての書込データの書換えが終了しているかが判定される。ステップＳ２０７の判定条件が成立せず、即ち、全ての書込データの書込処理が終了していないときにはステップＳ２０１に戻り、同様の処理が繰返される。そして、ステップＳ２０７の判定条件が成立、即ち、全ての書込データの書込処理後では、書換えたデータのチェックサムを計算する要求が必ず発生されるため、その要求発生によって全ての書込データの書込終了と判断され、本ルーチンを終了する。
【００２９】
前述したように、従来ではメモリ書換機３０との通信を一時中断しつつ、受信されたデータに対する受信処理と書換処理とが実行されていたが、本実施例では、図５に示すように、書換処理におけるフラッシュＲＯＭ１３の書込待ち時間を利用して受信データの受信処理が実行される。
【００３０】
これにより、図６のタイムチャートに示すように、メモリ書換機３０からの受信データ１，２，３，…に対する受信処理と、それらを書込データ１，２，３，…として書込む書換処理とが並列処理されることとなり、結果として、受信処理と書換処理との時間和である全体の処理時間を短縮することが可能となる。
【００３１】
このように、本実施例のＥＣＵ１０は、書換可能な不揮発性メモリとしてのフラッシュＲＯＭ１３に記憶されたデータに従って所定の制御対象として内燃機関を制御するものであって、フラッシュＲＯＭ１３に書込むデータを外部から受信し格納する第１の記憶領域としてのＲＡＭ１４の受信用バッファと、ＲＡＭ１４の受信用バッファと分離して構成され、ＲＡＭ１４の受信用バッファに格納されたデータをフラッシュＲＯＭ１３に書込む際の書込データとして格納する第２の記憶領域としてのＲＡＭ１４の書込用バッファとを具備し、ＲＡＭ１４の受信用バッファへのデータの受信処理と、ＲＡＭ１４の書込用バッファに格納された書込データのフラッシュＲＯＭ１３への書込処理とを並行に実行するものであって、書込処理中に受信処理にて受信したデータをＲＡＭ１４の受信用バッファに格納し、書込処理が終了した時点で、ＲＡＭ１４の受信用バッファに格納したデータをＲＡＭ１４の書込用バッファに書写し、このＲＡＭ１４の書込用バッファに書写したデータのフラッシュＲＯＭ１３への書込処理を開始するものである。また、本実施例のＥＣＵ１０の第１の記憶領域としての受信用バッファは、受信用ローテーティングバッファにて形成するものである。つまり、ＲＡＭ１４の受信用ローテーティングバッファへのデータの受信処理が、ＲＡＭ１４の書込用バッファの書込データのフラッシュＲＯＭ１３への書込処理に要する時間を利用し並行に実行される。これにより、メモリ書換機３０からのデータの受信処理とその書込データのフラッシュＲＯＭ１３に対する書換処理とからなる全体の処理時間を短縮することができる。
【００３２】
ところで、上記実施例では、マイクロコンピュータ１１のＲＡＭ１４内に受信用ローテーティングバッファと書換用バッファとを形成し固定して用いたが、本発明を実施する場合には、これに限定されるものではなく、図７に示すように、バッファＡとバッファＢとを独立して２つ用い、一方を受信用バッファ機能、他方を書込バッファ機能としそれらを切替えて実行することも可能である。このような変形例は、バッファＡ及びバッファＢが受信用及び書込用の各バッファにて独立して形成するものであり、バッファＡ及びバッファＢが書換毎に交互に用いられることでメモリ書換機３０からの受信データの受信処理とフラッシュＲＯＭ１３への書換処理を並行して実行することができる。
【図面の簡単な説明】
【図１】  図１は本発明の実施の形態の一実施例にかかる電子制御装置が適用され車両に搭載されたＥＣＵの全体構成を示すブロック図である。
【図２】  図２は本発明の実施の形態の一実施例にかかる電子制御装置で使用されているマイクロコンピュータ内のＣＰＵにおける全体の処理手順を示すフローチャートである。
【図３】  図３は本発明の実施の形態の一実施例にかかる電子制御装置で使用されているマイクロコンピュータのＲＡＭ内の受信用ローテーティングバッファ及び書込用バッファの構成を示す説明図である。
【図４】  図４は本発明の実施の形態の一実施例にかかる電子制御装置で使用されているマイクロコンピュータ内のＣＰＵにおけるフラッシュＲＯＭ書換処理の手順を示すフローチャートである。
【図５】  図５は本発明の実施の形態の一実施例にかかる電子制御装置で使用されているマイクロコンピュータ内のＣＰＵにおけるフラッシュＲＯＭ書換時の処理タイミングを示すタイミングチャートである。
【図６】  図６は本発明の実施の形態の一実施例にかかる電子制御装置における受信データに対する受信処理と書換処理との各処理時間の関係を示すタイムチャートである。
【図７】  図７は本発明の実施の形態の一実施例にかかる電子制御装置におけるバッファ構成の変形例を示す説明図である。
【図８】  図８は従来の電子制御装置における受信データに対する受信処理と書換処理との各処理時間の関係を示すタイムチャートである。
【図９】  図９は従来の電子制御装置におけるフラッシュＲＯＭ書換処理の手順を示すフローチャートである。
【図１０】  図１０は従来の電子制御装置におけるフラッシュＲＯＭ書換時の処理タイミングを示すタイミングチャートである。
【符号の説明】
１  各種センサ
１０  ＥＣＵ（内燃機関用電子制御装置）
１１  マイクロコンピュータ
１２  ＣＰＵ
１３  フラッシュＲＯＭ
１４  ＲＡＭ
３０  メモリ書換機
【図１】
0003893755.tif 000002
【図２】
0003893755.tif 000003
【図３】
0003893755.tif 000004
【図４】
0003893755.tif 000005
【図５】
0003893755.tif 000006
【図６】
0003893755.tif 000007
【図７】
0003893755.tif 000008
【図８】
0003893755.tif 000009
【図９】
0003893755.tif 000010
【図１０】
0003893755.tif 000011