(57)【要約】      （修正有）【課題】電子制御装置（電子制御ユニット）の制御プログラムを書換えた際、メモリ効率の向上および書換え作業時間の短縮を実現する車両用電子制御装置を提供する。【解決手段】第１不揮発性メモリ３内の制御プログラム書換え時に、前記制御プログラム内に持っている不揮発性メモリ書き込みドライバを使用して、第２不揮発性メモリ５の書き込みセルの診断を実施後、第２不揮発性メモリ５内に書き込み要求印を記憶する。書換えが完了した後、次の電源ＯＮ時の初期化処理において、揮発性メモリ４に固定値を設定することで、第２不揮発性メモリ５の初期化が実現できる。これにより、前記制御プログラム書換え時に第２不揮発性メモリ５の直接消去することを不要にする。【選択図】図１
2009223449.tif 000002
【特許請求の範囲】
【請求項１】
揮発性メモリと書換え可能な第１の不揮発性メモリと第２の不揮発性メモリとを備え、
通常時には、前記第１の不揮発性メモリに記憶された制御プログラムに従って制御しながら、制御で使用する特定のデータを揮発性メモリおよび前記第２の不揮発性メモリに記憶し、
さらに、外部ツールからの書換え要求を受信した場合には、前記第１の不揮発性メモリ内の制御プログラムを外部ツールから送信されてくる新たな制御プログラムに書換え、前記第２の不揮発性メモリに対しては、書換え指示があったことを記憶することを特徴とする車両用電子制御装置。
【請求項２】
請求項１に記載の車両用電子制御装置において、前記第２の不揮発性メモリに対して、前記制御プログラム書換え処理の実施時に、メモリ診断を実施することを特徴とする車両用電子制御装置。
【請求項３】
請求項１に記載の車両用電子制御装置において、第１の不揮発性メモリ内の制御プログラム初期化処理において、前記第２の不揮発性メモリに記憶されている情報を前記揮発性メモリへ読み出し、前記書換え指示があったと判断した場合、前記制御プログラムで使用する揮発性メモリのデータ値を固有のデータ値に置き換えることで、前記第２の不揮発性メモリの初期化を実現することを特徴とする車両用電子制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両用電子制御装置に関し、書換え可能な不揮発性メモリ（ＥＥＰＲＯＭ等）を初期化する技術に関する。
【背景技術】
【０００２】
従来より、自動車のエンジンおよびトランスミッション等を制御する制御装置として、マイコンを使用した電子制御ユニットが知られている。
【０００３】
この電子制御ユニットは、マイコン内の第１の不揮発性メモリ（FlashＲＯＭ等）に、制御プログラムおよびその制御プログラムを書換えるプログラム（以下、リプロプログラムと略す。）を格納しており、外部ツールにより制御プログラム書換え要求を受信した場合に、このリプロプログラムが起動し、外部ツールから送信されてくる新たな制御プログラムに書換える。このリプロプログラムは当然ながら、書換え不可領域に置かれる。
【０００４】
また、この電子制御ユニットは、過去の故障履歴や学習情報を記憶するために、電源供給が遮断されても値を保持し続ける第２の不揮発性メモリ（ＥＥＰＲＯＭ等）に記憶するが、制御プログラム書換えに伴い、初期化することが一般的である（特許文献１参照）。
【０００５】
【特許文献１】特開２００２−３２３９９０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
第２の不揮発性メモリを初期化するためには、第１の不揮発性メモリの書換え不可領域に置かれるリプロプログラムに、第２の不揮発性メモリへの書き込み、および読み込みドライバが必要であり、当然ながらその分リプロプログラムの容量は大きくなる。
【０００７】
リプロプログラムの容量が大きくなると、必然的に、制御プログラムで使用できる容量が減るが、特に、第１の不揮発性メモリの消去単位がKbyte単位のブロック（面）であるＣＰＵの場合、多くのメモリを無駄にすることになる。それは、リプロプログラムと制御プログラムの境界が必ずブロック単位となるため、リプロプログラムがブロックの極わずかしか使用しなくても、そのブロックは、リプロプログラム専用となるからである。
【０００８】
また、市場での制御プログラムの書換えを実施する際の書換え時間は、効率・工数の面から、少しでも短くするのが望ましいが、第２の不揮発性メモリ容量がKbyte単位であると、初期化する時間も秒オーダーとなり、結果、書換え時間に影響を与える。
【０００９】
本発明は、上記課題を解決するためになされたものであり、その目的は、電子制御装置（電子制御ユニット）の制御プログラムを書換えた際、メモリ効率の向上および書換え総時間短縮を実現する車両用電子制御装置を提供することである。
【課題を解決するための手段】
【００１０】
上記目的を達成するために、本発明の車両用電子制御装置は、制御プログラムの書換え要求を受信した場合、制御プログラムの第２の不揮発メモリ書き込みドライバを使用して、書換え要求を示す情報を書き込む。これにより、リプロプログラムに不揮発メモリ書き込みドライバを置く必要がなくなる。
【００１１】
上記書換え要求を示す情報を第２の不揮発メモリに書き込む際、その書き込みセルの書き込み／読み込み診断を実施し、書き込み情報の信頼性を確保するとよい。ここで、前記セルの診断でＮＧ判断した場合には、ユーザにその旨を通知するとよい。
【００１２】
また、外部ツールによる制御プログラム書換え後の電源投入時の初期化処理において、書換え要求を示す情報が存在したと判断した場合に、所定の制御で使用する揮発性メモリに固有値を設定し、初期化を実現するとよい。また、書換え要求を示す情報が存在しないと判断した場合には、上記固有値での設定は行わず、前回の走行で記憶した第２の不揮発性メモリの値をそのまま揮発性メモリに設定するとよい。
【００１３】
ここで、書換え要求を示す情報は、上記有効かどうかの判断後に初期化されるようにするとよい。
【発明の効果】
【００１４】
上記解決手段によると、リプロプログラムに第２不揮発性メモリへの書き込み、読み込みドライバを持つ必要がなく、リプロプログラムの容量を大幅に削減できる。
【００１５】
また、第２不揮発性メモリを直接初期化するのではなく、電源投入時の初期化時に、揮発性メモリを固有値に設定することで、第２不揮発性メモリを直接初期化する時間が削減され、制御プログラムの書換え時間を低減できる。
【００１６】
また、書換え要求の情報記憶領域を診断することにより、第２不揮発性メモリの不良の場合には、即ユーザに通知されるため、不良品の早期検出にもつながる。
【発明を実施するための最良の形態】
【００１７】
以下に、本発明の実施例を図面に基づいて説明する。
【実施例１】
【００１８】
実施形態における車両用電子制御装置は、例えば車両に搭載されるエンジンやトランスミッションなどを制御するものである。
【００１９】
図１に示す車両用の電子制御ユニット（以下、ＥＣＵと略す）１は、ＣＰＵ２、第２の不揮発性メモリ（例えば、ＥＥＰＲＯＭ）５で構成される。ＣＰＵ２は、第１の不揮発性メモリ（例えば、FlashＲＯＭ）３と揮発性メモリ（例えば、ＲＡＭ）４を備えている。但し、第２の不揮発性メモリ５は、ＥＥＰＲＯＭに限られず、電気的に書換えられるＲＯＭとする。
【００２０】
ＥＣＵ１は、各センサからの入力信号を受け取って揮発性メモリ４に格納し、第１の不揮発性メモリ３に格納されている制御プログラムで所定の演算を実施しながら、各アクチュエータへ出力等を行う。
【００２１】
第２の不揮発性メモリ５には、学習情報および故障履歴等が格納され、外部ツール６により制御プログラムの書換えに併せて、書換え指示情報を記憶する。
【００２２】
図２のフローチャートは、第１の不揮発性メモリ３に格納されている制御プログラム書換え時の処理について示す。
【００２３】
図２のフローチャートにおいて、まずステップＳ１では、外部ツール６より、制御プログラムの書換え要求信号を受信したか否かを判別する。
【００２４】
ここで、書換え要求信号を受信されていない場合は、本ルーチンをそのまま抜ける。
【００２５】
一方、書き込み要求信号を受信した場合には、ステップＳ２へ移行し、図４の第２の不揮発性メモリ５の書換え要求印を格納する領域２０に対し、チェックコード（例えば、ＡＡｈおよび５５ｈ等）を書き込み、その後読み出しを実施する。前記書き込みに関しては、図３の制御プログラム９に存在する不揮発性メモリ書き込みドライバ１０を使用することで、リプロプログラム８には、第２の不揮発性メモリ５書き込みドライバは不要となる（図６参照）。よって、リプロプログラム容量は小さくなり、メモリ効率の向上に繋がる。
【００２６】
読出しが終了すると、ステップＳ３に移行し、書き込んだ値と読み込んだ値が一致した（例えば、ＡＡｈ書き込み時にはＡＡｈが読み出され、５５ｈ書き込み時には５５ｈが読み出された）場合には、書き込み領域はＯＫと判断とし、次のステップＳ４に移行する。前記以外の値が読み出された場合には、書き込み領域はＮＧと判断し、ステップＳ５へ移行する。
【００２７】
ステップ４では、図４の所定の不揮発性メモリ領域２０に書換え要求印（例えば、０１ｈ）を書き込み、ステップＳ６へ移行する。ここでは、不揮発性メモリ５を全領域消去せず、書換え要求印（ここでは、１byte）書き込みのみのため、消去時間の削減が可能となる。
【００２８】
ステップＳ５では、外部ツール６に対して、エラーメッセージを送信し、そのままルーチンを抜ける。このエラーメッセージにより、ユーザは初期化できないことが即認識できるため、制御プログラム９の書換え作業を停止することが可能となり、作業効率の向上が図れる。
【００２９】
ステップＳ６では、外部ツールから新たな制御プログラムを受信し、書換えを実施する。書換え完了後、ステップＳ７に移行する。
【００３０】
ステップＳ７では、ユーザが電源７オフ、または、ＣＰＵ２がリセットをかけた後再度電源７を投入する。
【００３１】
次に、再電源７投入後の初期化処理ステップを図５のフローチャートで示す。
【００３２】
ステップＳ８では、過去の走行情報を今回の走行に反映させるために、第２の不揮発性メモリ５を読み出し、ステップＳ９に移行する。
【００３３】
ステップＳ９では、ステップＳ８で読み出した第２の不揮発性メモリ５に含まれる前記書換え要求印が有効（ここでは、０１ｈ）の場合、制御プログラムの書換えを実施したと判断し、ステップＳ１０へ移行する。一方、前記書換え要求印が無効（ここでは、０１以外）の場合は、制御プログラムの書換えを実施していないと判断し、ステップＳ１２へ移行する。
【００３４】
ステップＳ１０では、制御プログラムの書換えを実施したので、揮発性メモリ４の書換え要求印を無効印（００ｈ）に変更し、ステップＳ１１へ移行する。
【００３５】
ステップＳ１１では、制御で使用する揮発性メモリ４に対し、固有値を設定する。これにより、故障履歴や学習情報等の初期化が実現される。
【００３６】
尚、制御プログラムの書換え実施後の初回電源７ＯＦＦ時で、第２の不揮発性メモリ５書き込み中のバッテリ断の場合でも、図４に記載にある通り、第２の不揮発性メモリ５の書換え要求印領域２０を最終アドレスに配置し、最後に無効印の書き込みを実施することにより、次の電源７投入時には、図５のフローにしたがい、必ず初期化される。そのため、初期化漏れは発生しない。
【００３７】
ステップ１２では、揮発性メモリ４を参照・更新しながら所定の通常制御を行い、電源７オフ時に揮発性メモリ４の値を第２の不揮発性メモリ５へ書き込む。
【図面の簡単な説明】
【００３８】
【図１】実施形態の車両用電子制御ユニット（ＥＣＵ）の構成を示すブロック図である。
【図２】外部ツールによる制御プログラム書換え処理を表すフローである。
【図３】制御プログラムを格納している第１の不揮発性メモリ（FlashＲＯＭ）の構成を表す図である。
【図４】書換え要求印領域を格納している第２の不揮発性メモリ（ＥＥＰＲＯＭ）の構成を表す図ある。
【図５】故障履歴および学習情報等を格納している第２の不揮発性メモリ（ＥＥＰＲＯＭ）の構成を表すフローである。
【図６】第２の不揮発性メモリ（ＥＥＰＲＯＭ）の書き込みドライバを格納領域を比較した第１の不揮発性メモリ（FlashＲＯＭ）の構成を表す図である。
【符号の説明】
【００３９】
１  ＥＣＵ
２  ＣＰＵ
３  第１の不揮発性メモリ（FlashＲＯＭ）
４  揮発性メモリ（ＲＡＭ）
５  第２の不揮発性メモリ（ＥＥＰＲＯＭ）
６  外部ツール
７  電源
【図１】
2009223449.tif 000003
【図２】
2009223449.tif 000004
【図３】
2009223449.tif 000005
【図４】
2009223449.tif 000006
【図５】
2009223449.tif 000007
【図６】
2009223449.tif 000008