(57)【要約】【課題】フラッシュＲＯＭの新たな書き込み前後でフラッシュＲＯＭからＲＡＭにアクセスするアドレスが不一致になることを防止する。【解決手段】バッテリから直流電圧が供給される自動車用の電子制御装置内に設けられるフラッシュＲＯＭのオンボード書き込み装置に、制御プログラムを格納するための不揮発性メモリであるフラッシュＲＯＭ４２と、フラッシュＲＯＭの実行により発生する学習データを格納するための揮発性メモリであるＲＡＭと、書き込み許可電圧の出力後にフラッシュＲＯＭに制御プログラムをオンボードで書き込みませるための書き込みデータを送信する書き込みツール８と、書き込み許可電圧の発生している間で、かつフラッシュＲＯＭ４２にプログラムを書き込んだ後、ＲＡＭに初期データを設定する制御部４１、４４、４５とを備える。【選択図】図１
2007224921.tif 000002
【特許請求の範囲】
【請求項１】
プログラムを格納する不揮発性メモリと、
前記プログラムの実行により発生する学習データを格納する揮発性メモリと、
書き込み許可電圧の発生後にプログラムを前記不揮発性メモリに書き込む制御部と、
を備えた自動車用電子制御装置において、
前記制御部は、前記書き込み許可電圧の発生している間で、かつ前記不揮発性メモリに前記プログラムを書き込んだ後、前記揮発性メモリに初期データを設定することを特徴とする自動車用電子制御装置。
【請求項２】
前記制御部は、前記揮発性メモリの全てに同一初期データを設定することを特徴とする請求項１に記載の自動車用電子制御装置。
【請求項３】
前記制御部は、前記揮発性メモリの初期データを全て個別に設定することを特徴とする請求項１に記載の自動車用電子制御装置。
【請求項４】
前記制御部は、前記揮発性メモリの初期データを一部だけ個別に設定することを特徴とする請求項１に記載の自動車用電子制御装置。
【請求項５】
前記制御部は、前記揮発性メモリの所定のアドレスに対しては初期データを個別に設定し、その他の所定のアドレスに対しては初期データを一律に設定することを特徴とする請求項１に記載の自動車用電子制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はＣＰＵ(Central Processing Unit) に搭載されるフラッシュＲＯＭ(Read Only Memory)のオンボード書き込み装置を備えた自動車用電子制御装置に関し、特に、変更書き込み時における、学習データの初期化機能を備えた自動車用電子制御装置に関する。
【背景技術】
【０００２】
従来、自動車のエンジンの制御等に書換え可能な不揮発性メモリであるフラッシュＲＯＭが使用されている。このフラッシュＲＯＭには制御プログラム、制御プログラムに用いられるデータが格納されている。エンジンの制御等の仕様の変更に伴いフラッシュＲＯＭに格納される制御プログラム、データの書換えが必要となる。フラッシュＲＯＭの書換えはフラッシュＲＯＭを基板から取り外さずに装着したままのオンボード上でこの書換えが行われる。
【０００３】
フラッシュＲＯＭの書換えは一定の温度範囲で行われる。また、フラッシュＲＯＭの制御プログラムの実行により得られたフィードバックデータ、診断データ等の学習データは揮発性メモリであるＲＡＭ(Random Access Memory)の所定のアドレスに格納される。さらに、フラッシュＲＯＭを制御するＣＰＵ（中央演算処理装置）はウオッチドックタイマにより異常が検知されるとリセットが行われる。ＣＰＵの異常により自動車の制御異常に至るのを回避するためである。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、フラッシュＲＯＭの書き込みの保証温度は使用温度範囲よりも狭い場合がある。例えば、自動車の使用温度範囲が、例えば、−４０℃から８０℃とすると、フラッシュＲＯＭの書き込みの保証温度は、例えば、０℃から７０℃である。このため、フラッシュＲＯＭの書き込み温度が−４０℃から０℃、７０℃から８０℃の場合には書き込みが保証されないことになるという第１の問題がある。保証されない温度範囲でフラッシュＲＯＭの書き込みを行うと、書き込み電荷が少なく、読み出し時に誤読み出しとなるためである。なお、この問題は環境温度が最適に保持されている工場、ディーラ等での書き込みを行う場合には生じないが、反対に保証されない環境温度でディーラ等が書き込みを行う場合に生じる。
【０００５】
また、フラッシュＲＯＭの制御プログラム等を書き換えると、この書換え前後でフラッシュＲＯＭからＲＡＭにアクセスするアドレスが不一致となる場合がある。書き換えられたフラッシュＲＯＭはＲＡＭと正確にアクセスができなくなり、折角ＲＡＭに格納された学習データが使用できなくなるという第２の問題がある。それまでにＲＡＭに蓄積され、使用に適しないデータが新たな制御プログラムの初期データとなって残るという問題も付随的に生じる。
【０００６】
さらに、フラッシュＲＯＭの制御プログラム等の書き込み時にウオッチドッグタイマによるＣＰＵのリセットがあると、書き込みが中断されてしまうという第３の問題がある。
【０００７】
したがって、本発明は、上記第２の問題点に鑑み、不揮発メモリであるフラッシュＲＯＭの変更書き込み時における、学習データの初期化を行うことができるフラッシュＲＯＭのオンボード書き込み装置を備えた自動車用電子制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
前記目的を解消する本発明は、プログラムを格納する不揮発性メモリと、プログラムの実行により発生する学習データを格納する揮発性メモリと、書き込み許可電圧の発生後にプログラムを不揮発性メモリに書き込む制御部とを備えた自動車用電子制御装置において、制御部は、書き込み許可電圧の発生している間で、かつ不揮発性メモリにプログラムを書き込んだ後、揮発性メモリに初期データを設定することを特徴とする自動車用電子制御装置である。
【０００９】
この場合、制御部は以下の形態が可能である。
（１）揮発性メモリの全てに同一初期データを設定する形態。
（２）揮発性メモリの初期データを全て個別に設定する形態。
（３）揮発性メモリの初期データを一部だけ個別に設定する形態。
（４）揮発性メモリの所定のアドレスに対しては初期データを個別に設定し、その他の所定のアドレスに対しては初期データを一律に設定する形態。
【発明の効果】
【００１０】
以上の説明により本発明によれば、フラッシュＲＯＭへの新たな書き込み前後でフラッシュＲＯＭからＲＡＭにアクセスするアドレスが不一致になることに対して、それまでにＲＡＭに蓄積した診断データを退避し、ＲＡＭに新たに初期データを設定することが可能になる。
【発明を実施するための最良の形態】
【００１１】
以下本発明の実施の形態について図面を参照して説明する。
図１は本発明に係るフラッシュＲＯＭのオンボード書き込み装置の例を説明する図である。本図に示す如く、自動車の制御装置として、電子制御装置(Electronic Control Unit(ECU))１と、これに直流電圧（１２Ｖ）電源を供給するバッテリ２と、電子制御装置１及びバッテリ２との間のスイッチ３が設けられる。ＥＣＵ１は中央演算処理装置(Central Processing Unit(CPU))４と、バッテリ２に接続されＣＰＵ４に安定化された、例えば、直流電圧（例えば５Ｖ）を供給するレギュレータ５と、ＣＰＵ４の入力インタフェース（Ｉ／Ｆ）６と、ＣＰＵ４の出力インタフェース（Ｉ／Ｆ）７とが設けられる。電子制御装置１は自動車のエンジンルーム又は乗車室内に設けられる。
【００１２】
Ｉ／Ｆ６には各種センサから吸気温度、エンジン回転数等が入力する。この吸気温度はエンジンルームの温度を表す。Ｉ／Ｆ７からはインジェクタ、イグナイタ等へ噴射量、噴射時期データ等が出力される。
ＣＰＵ４には、エンジンの制御等を行う制御プログラムの処理を行う処理演算部４１と、制御プログラムとこれに使用するデータとを格納するフラッシュＲＯＭからなるフラッシュ不揮発性メモリ４２と、制御プログラムの実行中に得られるフィードバックデータ、診断データ等の学習データを指定のアドレスに格納するＲＡＭからなる揮発性メモリ４３と、ＣＰＵ４と外部とデータの通信を行うための通信制御プログラムを格納するＲＯＭからなる通信制御用不揮発性メモリ（ＩＲＯＭ）４４と、ＣＰＵ４と外部とデータの入出力を行う入出力インタフェース（Ｉ／Ｏ）４５とが設けられる。
【００１３】
ここに、ＥＣＵ１内で本発明に係る制御を主として担当する制御部は、処理演算部４１、通信制御用ＲＯＭ４４、Ｉ／Ｏ４５である。さらに、ＥＣＵ１の外部にはフラッシュＲＯＭ４２への書き込みを行うためにＩ／Ｆ９に接続される書き込みツール８が設けられる。書き込みツール８はフラッシュＲＯＭ４２へ書き込みを行う際にはＥＣＵ１に抵抗９を介して書き込み許可電圧Ｖｐｐ（＞５Ｖ）を供給し、これと共にＩＦ６を介してフラッシュＲＯＭ４２に変更の制御プログラムを書き込むデータを出力する。
【００１４】
書き込みツール８はエアコンディションの制御を行うための温度計（Ａ／Ｃ）１０からの温度データを入力する。この温度は自動車の乗車室内の温度を表す。
【００１５】
図２は書き込みツール８及びＥＣＵ１の動作例を説明するフローチャートである。本図（ａ）の書き込みツール８では、ステップＳ１において、フラッシュＲＯＭ４２への制御プログラム等に変更がある場合には書き込みツール８はＣＰＵ４に、例えば書き込み許可電圧Ｖｐｐを印加してＥＣＵ１に書き込み開始を知らせ、ステップＳ２においてこの印加後にＩ／Ｆ６に書き込みデータを送信する。
【００１６】
本図（ｂ）のＥＣＵ１では、ステップＳ１１において、ＥＣＵ４は書き込みツール８から、「書き込み許可電圧Ｖｐｐ＞５Ｖ」の印加が有るかをモニタする。ステップＳ１１において書き込み許可電圧Ｖｐｐの印加が無ければ、ステップＳ１２において処理演算部４１の処理をフラッシュＲＯＭ４２の処理にジャンプさせて処理演算部４１に自動車の制御プログラムの実行を行わせる。
【００１７】
ステップＳ１１において書き込み許可電圧Ｖｐｐの印加が有れば、ステップＳ１３において処理演算部４１の処理を通信制御用不揮発性メモリ４４の処理にジャンプさせる。
【００１８】
ステップＳ１４において通信制御用不揮発性メモリ４４はＩ／Ｏ４５から吸気温度データを読み込み、吸気温度が次式「０℃＜吸気温度＜７０℃」を満たすかを判断する。上記式を満たさなければ処理を終了し、処理演算部４１の処理をフラッシュＲＯＭ４２の処理にジャンプさせる。ここに、７０℃はフラッシュＲＯＭ４２への適正な書き込み可能な上限値であり、０℃は下限値である。
【００１９】
ステップＳ１４において上記式を満たせばステップＳ１５においてＩ／Ｏ４５に書き込みツール８からの書き込みデータを読み込ませる。ステップＳ１６において、処理演算部４１にＩ／Ｏ４５が読み込んだ書き込みデータをフラッシュＲＯＭに書き込ませる。このようにして、ＥＣＵ１がエンジンルームに配置されている場合に、エンジンルームの環境温度に対してフラッシュＲＯＭ４２への書き込みが保証される。
【００２０】
図３は書き込みツール８及びＥＣＵ１の別の動作例を説明するフローチャートである。本図（ａ）の書き込みツール８では、ステップＳ３１においてエアコンディションに用いられている温度計（Ａ／Ｃ）１０の温度を読み込む。ステップＳ３２において温度計（Ａ／Ｃ）１０の温度に基づいて、次式「０℃＜車室内温度＜７０℃」を満たすか判断する。
【００２１】
これらの温度値は前述と同一の意味を有する。この式を満たさなければ処理を終了して、ＥＣＵにはフラッシュＲＯＭ４２の書き込みデータを送信しない。ステップＳ３３、３４は図１のステップＳ１、２と同様で、上記式を満たせば、ＥＣＵ１にフラッシュＲＯＭ４２の書き込みデータを送信する。
【００２２】
本図（ｂ）のＥＣＵ１では、ステップＳ４１〜４５の処理を行うが、温度範囲の判断を除いて図２（ｂ）と同一の処理である。この動作例では温度範囲判断を書き込みツール８で行うようにしたためである。このようにして、ＥＣＵ１が車室内に配置されている場合に、車室内の環境温度に対してフラッシュＲＯＭ４２への書き込みが保証される。
【００２３】
図４は図２の変形例でありエンジンの停止時にフラッシュＲＯＭ４２への書き込みを行うフローチャートである。本図において図２と異なるステップはステップＳ１３とＳ１４との間に追加して設けられたステップＳ１３Ａであり、他のステップは同様である。ステップＳ１３Ａでは通信制御用不揮発性メモリ４４で読み込まれたエンジン回転数をモニタして、エンジンが動いている場合にステップＳ１２に進みフラッシュＲＯＭ４２への書き込みを行わない。エンジンが停止していればステップＳ１４に進み、フラッシュＲＯＭ４２への書き込みを行う。
【００２４】
エンジンの制御中にはフラッシュＲＯＭ４２のプログラムが実行中であるので、この時に書き込みを行うとエンジンの制御が異常になってしまうためである。次に、ＲＡＭ４３の一部データの退避を説明する。
【００２５】
図５はＲＡＭ４３の格納されている学習データを説明する図である。本図に示す如く、ＲＡＭ４３の学習データには自動車のエンジンを診断した結果である診断データ、エンジンの制御で得られたフィードバックデータ等が格納されている。
【００２６】
図６は図２の変形例でありＲＡＭ４３に格納されている診断データをＲＡＭから退避させるフローチャートである。本図（ａ）において図２（ａ）と異なるステップはステップＳ１とＳ２との間に追加して設けられたステップＳ１Ａ、Ｓ１Ｂである。ステップＳ１ＡでＥＣＵ１に対して診断（ダイアグノーシス）データの送信を要求する。ステップＳ１ＢでＥＣＵ１から送信された診断データを受信して格納する。このように診断データの退避が行われる。
【００２７】
本図（ｂ）において図２（ｂ）と異なるステップはステップＳ１４とＳ１５との間に追加して設けられたステップＳ１４Ａである。ステップＳ１４Ａは書き込みツール８からの送信要求に対してＲＡＭ４３に格納されている診断データを退避のために送信する。
【００２８】
このように、フラッシュＲＯＭ４２に制御プログラムが書き込まれてこの制御プログラムが実行されてＲＡＭ４３の診断データが書き換えられる前にＲＡＭ４３の診断データを退避させる。フラッシュＲＯＭ４２への制御プログラムが書き込まれた前後で学習データに対してＲＡＭに対するアドレスが異なった場合には書き込み後には診断データが取り出せなくなるため、この退避が有効になる。なお、診断データ、フィードバックデータ等の学習データのうち診断データだけを退避させるのは、診断データが将来に対して有用なデータであるが、フィードバック等は旧制御プログラムに対するものであり、新制御プログラムに対して有用でないからである。
【００２９】
次に、フラッシュＲＯＭ４２の制御プログラムの書き込み時にＲＡＭ４３の初期化を説明する。
【００３０】
図７はフラッシュＲＯＭ４２の制御プログラムの書き込みに対して初期データが設定されるＲＡＭ４３の例を説明する図である。本図に示すように、ＲＡＭ４３ではそれまで格納していた学習データをクリアしてアドレス￥００００から￥０ＦＦＦに対して、初期データが一律に￥８０に設定される。
【００３１】
図８は図５の変形例であり図７のＲＡＭ４３への初期データを設定する動作例を示すフローチャートである。本図（ａ）は図５（ａ）と同様であり、本図（ｂ）には図５（ｂ）に対してステップＳ１７が追加される。図５（ｂ）のステップＳ１６のフラッシュＲＯＭ４２に制御プログラムの書き込み後に、ステップＳ１７ではＲＡＭ４３をクリアし、この制御プログラムが実行される前に全ＲＡＭ４３の領域、すなわち、図６のアドレスアドレス￥００００から￥０ＦＦＦに対して、初期データが一律に￥８０に設定される。
【００３２】
このようにして、フラッシュＲＯＭ４２に制御プログラムを書き込み後に異なったアドレスに対して旧学習データが初期データとなって残るのを避けることができる。
【００３３】
図９はフラッシュＲＯＭ４２の制御プログラムの書き込みに対して初期データが設定されるＲＡＭ４３の別の例を説明する図である。本図に示す如く、ＲＡＭ４３ではそれまで格納していた学習データをクリアしてアドレス￥００００に対して初期データ￥００、アドレス￥０００１に対して初期データ￥１Ｆ、…アドレス￥０ＦＦＦに対して初期データ￥８０が個別に設定される。
【００３４】
図１０は図５の変形例であり図９のＲＡＭ４３への初期データを設定する動作例を示すフローチャートである。本図（ａ）には図５（ａ）に対してステップＳ３、Ｓ４、Ｓ５が追加される。書き込みツール８のステップＳ２におけるフラッシュＲＯＭ４２の書き込みデータの送信後にステップＳ３ではＥＣＵ１に対してＲＡＭ４３のアドレス￥００００に初期データ￥００の書き込み要求を行う。
【００３５】
ステップＳ４ではＥＣＵ１に対してＲＡＭ４３のアドレス￥０００１に初期データ￥１Ｆの書き込み要求を行う。ＥＣＵ１に対してこの要求を続けて行い、ステップＳ５では最後にアドレス￥０ＦＦＦに初期データ￥８０の書き込み要求を行う。本図（ｂ）には図５（ｂ）のステップＳ１６におけるフラッシュＲＯＭ４２の書き込み後にステップＳ１８、Ｓ１９、Ｓ２０が追加される。ステップＳ１８ではＲＡＭ４３をクリアして書き込みツール８の書き込み要求に対してＲＡＭ４３のアドレス￥００００に初期データ￥００を書き込む。
【００３６】
ステップＳ１９では書き込みツール８の書き込み要求に対してＲＡＭ４３のアドレス￥０００１に初期データ￥１Ｆを書き込む。書き込みツール８からの要求を続けて受け、最後にステップＳ２０では書き込みツール８の書き込み要求に対してＲＡＭ４３のアドレス￥０ＦＦＦに初期データ￥８０を書き込む。
【００３７】
前述のように退避した診断データを初期データとして設定してもよい。学習データの各々に対して個別に適した初期データが設定されるので、フラッシュＲＯＭ４２の制御プログラムによりエンジン制御等の初期特性が改善される。
【００３８】
図１１はフラッシュＲＯＭ４２の制御プログラムの書き込みに対して初期データが設定されるＲＡＭ４３の別の例を説明する図である。本図に示す如く、ＲＡＭ４３ではそれまで格納していた学習データをクリアしてアドレス￥００ＦＦに対して初期データ￥８０、アドレス￥０１Ｆ１に対して初期データ￥００が個別に設定される。その他のアドレスに対しては一律の初期データが設定される。
【００３９】
図１２は図５の変形例であり図１１のＲＡＭ４３への初期データを設定する動作例を示すフローチャートである。本図（ａ）には図５（ａ）に対してステップＳ６、Ｓ７が追加される。書き込みツール８のステップＳ２におけるフラッシュＲＯＭ４２の書き込みデータの送信後にステップＳ６ではＥＣＵ１に対してＲＡＭ４３のアドレス￥００ＦＦに初期データ￥８０の書き込み要求を行う。
【００４０】
ステップＳ７ではＥＣＵ１に対してＲＡＭ４３のアドレス￥０１Ｆ０に初期データ￥００の書き込み要求を行う。本図（ｂ）には図５（ｂ）のステップＳ１６におけるフラッシュＲＯＭ４２の書き込み後にステップＳ２１、Ｓ２２が追加される。ステップＳ２１ではＲＡＭ４３をクリアして書き込みツール８の書き込み要求に対してＲＡＭ４３のアドレス￥００ＦＦに初期データ￥８０を書き込む。
【００４１】
ステップＳ２２では書き込みツール８の書き込み要求に対してＲＡＭ４３のアドレス￥０１Ｆ０に初期データ￥００を書き込む。学習データのうち一部の影響の大きい個別に適した初期データが設定可能になり、フラッシュＲＯＭ４２の制御プログラムによりエンジン制御等の初期特性が改善される。このように一部の設定に限定することにより設定処理を簡単化することができる。
【００４２】
図１３は、図１の変形例で、書き込みツール８から電子制御装置１に電圧電源を提供する別の例を示す図である。本図に示す如く、説明の簡単化のためにＣＰＵ４の内部の構成、Ｉ／Ｆ７を省略してある。新たな構成要素としてダイオード１２がスイッチ３とレギュレータ５との間に設けられ、ダイオード１３が書き込みツール８の書き込み許可電圧Ｖｐｐの出力側とレギュレータ５との間に設けられる。
【００４３】
このようにして、ＥＣＵ１が自動車から外されて、自動車のバッテリ２が無くても、ＥＣＵ１に書き込みツール８を接続すれば、書き込みツール８からＥＣＵ１に電圧電源が提供されるので、前述のように、フラッシュＲＯＭ４２の書き込みが可能になる。
【００４４】
図１４は、図１の変形例で、フラッシュＲＯＭ４２の書き込み時にＣＰＵ４のパワーＯＮリセットを回避する例を説明する図である。本図に示す如く、説明の簡単化のために、図１と比較して、スイッチ３、Ｉ／Ｆ６、７、Ａ／Ｃ１０、ＣＰＵ４の内部の構成を省略してある。新たな構成要素はレギュレータ５の分岐出力を入力するパワーＯＮリセット回路２０と、ＣＰＵ４のウオッチドッグ（ＷＤＴ）と、パワーＯＮリセット回路２０とウオッチドッグタイマ２１との出力の論理積を取ってリセット信号を出力するＡＮＤ回路２２と、ＣＰＵ４内に設けられＡＮＤ回路２２のリセットと書き込みツール８からの書き込み許可電圧Ｖｐｐとを入力して、ウオッチドッグタイマ２１にリセット信号が発生しても書き込み許可電圧Ｖｐｐがある場合にはＣＰＵ４のリセットを行わないようにしたリセット回路２３とである。
【００４５】
ウオッチドッグタイマ２１はＣＰＵ４の異常を検知し異常時にＣＰＵ４にリセットを起動させるものである。すなわち、ウオッチドッグタイマ２１にウオッチドッグタイマ用パルス（ＷＤＣ）が入力されると、その出力を数１０ｍｓ間高レベル（Ｈ）に保持し、その数１０ｍｓ間に入力にパルスが入力されなかったら、出力を数１０ｍｓ間低レベル（Ｌ）にしてその後高レベル（Ｈ）に立ち上げるようにしてある。
【００４６】
なお、リセットの発生経路にはパワーＯＮリセット回路２０とウォッチドッグタイマ２１との２つの経路に起因するものがある。
【００４７】
図１５は図１４のリセット回路を説明する図である。本図に示す如く、リセット回路２３はラッチ回路２３Ａと２３Ｂとからなる。ラッチ回路２３ＡはＤ端子にＡＮＤ回路２２の入力するリセット信号と共にクロック信号ｆを入力しその出力端Ｑの信号がＣＰＵ４のリセットを行う。ラッチ回路２３ＢはＤ端子に書き込みツール８からの書き込み許可電圧Ｖｐｐを入力し且つラッチタイミングとしてラッチ回路２３Ａの出力信号を入力する。ラッチ回路２３Ｂの出力端子Ｑ１は出力信号をラッチ回路２３ＡのＳ端子に出力し、この出力信号によりラッチ回路２３Ａのラッチ機能が解除され、現在の出力状態が維持される。
【００４８】
図１６は図１５のリセット回路２３の動作タイミングを説明する図である。パワーＯＮ時のリセットにおいてはＣＰＵ４からのウオッチドッグタイマ用のパルス（ＷＤＣ）が無いのでウオッチドッグタイマ２１からは高レベル（Ｈ）信号が出力される。本図に示す如く、一旦、書き込みツール８から書き込み許可電圧Ｖｐｐがラッチ回路２３Ｂに入力されると、ラッチ回路２３Ａの出力は最初のパワーＯＮに対してリセット信号を出力する（図中の（１））が、ラッチ２３Ｂによりラッチ回路２３Ａのラッチが解除されラッチ回路２３Ａの出力が維持される。このため、ラッチ回路２３Ａに何らかの原因でパワーＯＦＦが入力されても、ラッチ回路２３Ａの出力Ｑは変化せず（図中の（２））、このため次にパワーＯＮが入力されてもＣＰＵ４のリセット信号は出力されない。
【００４９】
したがって、このリセット回路により、一旦、フラッシュＲＯＭ４２の書き込みが開始されると、何らかの原因によりパワーＯＮがあってもＣＰＵ４がリセットされずに、途中で書き込みが中断することなく、書き込みが達成される。
【００５０】
図１７は図１４の変形でありフラッシュＲＯＭ４２の書き込み時にＣＰＵ４のウオッチドッグタイマによるリセットを回避する例を説明する図である。本図に示す如く、ウオッチドッグタイマ２１の入力側に排他的論理和回路２４が設けられる。排他的論理和回路２４はＣＰＵ４からのウオッチドッグタイマ用パルス（ＷＤＣ）信号と書き込みツール８及びＣＰＵ４間を通信するデータ信号とを入力する。書き込みツール８及びＣＰＵ４間を通信するデータ信号は書き込みツール８からＣＰＵ４フラッシュＲＯＭ４２に送信される書き込みデータ信号である。
【００５１】
なお、書き込みデータ信号の送信終了後に、ＣＰＵ４から書き込みツール８にダミーデータ信号を送信し、フラッシュＲＯＭ４２への書き込みデータの書き込み中に、ウオッチドッグタイマ２１からリセットを発生しないようにしてよい。
【００５２】
図１８は図１７のＥｘ−ＯＲ回路２４の動作を説明するタイムチャートである。本図（ａ）に示す如く、書き込みツール８からＣＰＵ４への書き込みデータの送信が無い通常の場合で、ＣＰＵ４が正常の場合にはウオッチドッグタイマ２１はその出力にリセットを発生しない。ところで、本図（ｂ）に示す如く、ＣＰＵ４に異常が発生すると、ＣＰＵ４からウオッチドッグタイマ用パルス（ＷＤＣ）の出力が無くなり、ウオッチドッグタイマ２１はその出力にリセットを発生する。しかし、書き込みツール８からＣＰＵ４への書き込みデータの送信がある場合には書き込みデータは排他的論理和Ｅｘ−ＯＲ回路２４を経由してウオッチドッグタイマ２１に入力されるので、ＣＰＵ４からウオッチドッグタイマ用パルス（ＷＤＣ）が入力されなくても、ウオッチドッグタイマ２１はその出力にリセットを発生しなくなる。
【００５３】
なお、書き込みデータ信号だけでなく、ダミーデータ信号によっても、同様にフラッシュＲＯＭ４２への書き込み中にＣＰＵ４へのリセットが回避される。
【００５４】
図１９は図２の変形例であり、リセット回避として書き込みデータ信号送信、ダミーデータ送信の動作を説明するフローチャートである。本図（ａ）に示す如く、ステップＳ２において書き込みツール８から書き込みデータ送信が行われるが、この書き込みデータがリセット回避に使用される。
【００５５】
本図（ｂ）に示す如く、ステップＳ１５で書き込みデータを読み込んだ後に、ステップＳ１５Ａで書き込みツール８にダミーデータが送信され、ステップＳ１６でデータ書き込みが終了すると、ステップＳ１６Ａでダミーデータの送信を終了する。このダミーデータがリセット回避に使用される。書き込みツール８ではダミーデータを受信するが処理は無視される。
【００５６】
したがって、パワーＯＮ後、一旦、フラッシュＲＯＭ４２の書き込みが開始されると、ＣＰＵ４に異常が発生してもＣＰＵ４がリセットされずに、途中で書き込みが中断することなく、書き込みが達成される。
【００５７】
図２０はフラッシュＲＯＭ４２のロムサムチェックを行うフローチャートである。本図に示すごとく、ステップＳ５１でＥＣＵ１は次式「０℃≦吸気温度」を満たすかを判断する。満たさなければ、ステップＳ５２に進む。
【００５８】
ステップＳ５２で次式「７０℃≦吸気温度」を満たすかを判断し、この式を満たせば、処理終了に進む。ステップＳ５３でステップＳ５１の判断を満たし、ステップＳ５２の判断を満たさなければ、ステップＳ５３でフラッシュＲＯＭ４２のロムサムチェックを行う。フラッシュＲＯＭ４２の書き込みの保証温度範囲（０℃≦吸気温度≦７０℃）は格納される制御プログラムが通常実行する使用温度範囲（−２０℃〜８０℃）より狭い。
【００５９】
ステップＳ５４でロムサムチェックがＯＫならば処理終了に進む。ステップＳ５５でロムサムチェックがＯＫでなければ異常ランプ（図示しない）を点灯する。ステップＳ５６でロム異常（診断データの一種）をＲＡＭ４３等に記憶する。このチェックによりフラッシュＲＯＭ４２に格納されている制御プログラムに異常が発生したら、前述のように、書き込みツール８よりフラッシュＲＯＭ４２に書き込みを行うことが可能になる。
【図面の簡単な説明】
【００６０】
【図１】本発明に係るフラッシュＲＯＭのオンボード書き込み装置の例を説明する図である。
【図２】書き込みツール８及びＥＣＵ１の動作例を説明するフローチャートである。
【図３】書き込みツール８及びＥＣＵ１の別の動作例を説明するフローチャートである。
【図４】図２の変形例でありエンジンの停止時にフラッシュＲＯＭ４２への書き込みを行うフローチャートである。
【図５】ＲＡＭ４３の格納されている学習データを説明する図である。
【図６】図２の変形例でありＲＡＭ４３に格納されている診断データをＲＡＭから退避させるフローチャートである。
【図７】フラッシュＲＯＭ４２の制御プログラムの書き込みに対して初期データが設定されるＲＡＭ４３の例を説明する図である。
【図８】図５の変形例であり図７のＲＡＭ４３への初期データを設定する動作例を示すフローチャートである。
【図９】フラッシュＲＯＭ４２の制御プログラムの書き込みに対して初期データが設定されるＲＡＭ４３の別の例を説明する図である。
【図１０】図５の変形例であり図９のＲＡＭ４３への初期データを設定する動作例を示すフローチャートである。
【図１１】フラッシュＲＯＭ４２の制御プログラムの書き込みに対して初期データが設定されるＲＡＭ４３の別の例を説明する図である。
【図１２】図５の変形例であり図１１のＲＡＭ４３への初期データを設定する動作例を示すフローチャートである。
【図１３】図１の変形例で、書き込みツール８から電子制御装置１に電圧電源を提供する別の例を示す図である。
【図１４】図１の変形例で、フラッシュＲＯＭ４２の書き込み時にＣＰＵ４のパワーＯＮリセットを回避する例を説明する図である。
【図１５】図１４のリセット回路を説明する図である。
【図１６】図１５のリセット回路２３の動作タイミングを説明する図である。
【図１７】図１４の変形でありフラッシュＲＯＭ４２の書き込み時にＣＰＵ４のウオッチドックタイマによるリセットを回避する例を説明する図である。
【図１８】図１７のＥｘ−ＯＲ回路２４の動作を説明するフローチャートである。
【図１９】図２の変形例であり、リセット回避として書き込みデータ信号送信、ダミーデータ送信の動作を説明するフローチャートである。
【図２０】フラッシュＲＯＭ４２のロムサムチェックを行うフローチャートである。
【符号の説明】
【００６１】
１    電子制御装置（ＥＣＵ）
２    バッテリ
３    スイッチ
４    中央演算処理装置（ＣＰＵ）
５    レギュレータ
６、７    インタフェース（Ｉ／Ｆ）
８    書き込みツール
９    抵抗
１０    エアコンデション用温度計
４１    処理演算部
４２    フラッシュＲＯＭ（ＦＲＯＭ）
４３    ＲＡＭ
４４    通信制御用ＲＯＭ（ＩＲＯＭ）
４５    Ｉ／Ｏ
【図１】
2007224921.tif 000003
【図２】
2007224921.tif 000004
【図３】
2007224921.tif 000005
【図４】
2007224921.tif 000006
【図５】
2007224921.tif 000007
【図６】
2007224921.tif 000008
【図７】
2007224921.tif 000009
【図８】
2007224921.tif 000010
【図９】
2007224921.tif 000011
【図１０】
2007224921.tif 000012
【図１１】
2007224921.tif 000013
【図１２】
2007224921.tif 000014
【図１３】
2007224921.tif 000015
【図１４】
2007224921.tif 000016
【図１５】
2007224921.tif 000017
【図１６】
2007224921.tif 000018
【図１７】
2007224921.tif 000019
【図１８】
2007224921.tif 000020
【図１９】
2007224921.tif 000021
【図２０】
2007224921.tif 000022