(57)【特許請求の範囲】
【請求項１】
最低作動電圧がそれぞれ異なる第１のマイクロコンピュータ及び第２のマイクロコンピュータと、前記第２のマイクロコンピュータによりデータが書き込まれる不揮発性メモリと、電源電圧が所定のリセット電圧以下となったとき、第１のマイクロコンピュータに対してリセット信号を出力するリセット手段とを備え、前記第１のマイクロコンピュータの最低作動電圧が前記リセット電圧よりも低く、前記第２のマイクロコンピュータの最低作動電圧が前記リセット電圧よりも高い不揮発性メモリ書き込み装置において、
第２のマイクロコンピュータの最低作動電圧以下となる電圧域を含む領域まで前記電源電圧が低下すると、前記第１のマイクロコンピュータは、第２のマイクロコンピュータによる不揮発性メモリの書き込みを禁止することを特徴とする不揮発性メモリ書き込み装置。
【請求項２】
電源スイッチのオフ時にも記憶データを保持し、前記電源電圧の低下時にデータの書き込みが制限されるバックアップメモリと、
前記電源電圧を監視し、該電源電圧が、前記バックアップメモリの書き込みを制限するためのしきい値電圧以下となるとき、電圧低下信号を出力する電圧監視手段を備えた請求項１に記載の不揮発性メモリ書き込み装置において、
前記第１のマイクロコンピュータは、前記電圧監視手段からの電圧低下信号に基づいて、不揮発性メモリの書き込みを禁止することを特徴とする不揮発性メモリ書き込み装置。
【請求項３】
請求項１又は２に記載の不揮発性メモリ書き込み装置において、
前記第１のマイクロコンピュータは、前記電源電圧の低下に伴い不揮発性メモリの書き込みを禁止した際には、電源電圧が上昇し不揮発性メモリの書き込みが禁止される電圧域以上となった後所定時間の経過後に、不揮発性メモリの書き込みを許可することを特徴とする不揮発性メモリ書き込み装置。
【請求項４】
請求項１〜３のいずれか一項に記載の不揮発性メモリ書き込み装置において、
前記第１のマイクロコンピュータは、前記不揮発性メモリの書き込みを禁止または許可するための制御信号を出力する出力端子を有し、
前記第２のマイクロコンピュータは、前記不揮発性メモリにデータを書き込むための制御信号を出力する出力端子を有し、
前記各出力端子をゲート回路を介して不揮発性メモリのチップセレクト端子に接続し、
前記ゲート回路は、第１のマイクロコンピュータの出力端子から書き込みを禁止するための制御信号が出力されたとき、不揮発性メモリのチップセレクト端子を非選択状態とすることを特徴とする不揮発性メモリ書き込み装置。
【請求項５】
請求項１〜４のいずれか一項に記載の不揮発性メモリ書き込み装置において、
前記第１のマイクロコンピュータはエンジン制御用コンピュータであり、前記第２のマイクロコンピュータは、トランスミッション制御用コンピュータであることを特徴とする不揮発性メモリ書き込み装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、不揮発性メモリ書き込み装置に関するものである。
【０００２】
【従来の技術】
この種の従来装置として、例えば、車載エンジン等を制御する車載電子制御装置（ＥＣＵ）が知られている。同ＥＣＵにおいて、不揮発性メモリとしてのＥＥＰＲＯＭには、例えば、エンジン制御における学習値や各種センサの故障を判別するための故障コード（ダイアグコード）が記憶されるようになっている。
【０００３】
また、車載ＥＣＵは、バッテリ電圧からマイクロコンピュータ（以下、マイコンという）等を作動させるための電源電圧（例えば、５Ｖ）を生成する電源ＩＣを備える。同電源ＩＣは、電源電圧を監視しており、その低下時においてマイコンに対してリセット信号を出力するようになっている。このリセット信号に基づいてマイコンによる初期化処理が実施されＥＣＵの誤作動が未然に防止されるようになっている。
【０００４】
【発明が解決しようとする課題】
ところで、上記従来技術では、マイコンが誤作動する前にリセット信号を出力する必要があるため、電源ＩＣのリセット電圧は、マイコンの最低作動電圧よりも高い電圧レベルで設定されている。
【０００５】
一方、マイコンの最低作動電圧は、マイコンのクロック信号の周波数（クロック周波数）によって変動し、同クロック周波数が高くなるほど上昇する。このため、マイコンの処理負荷の増大に対応するためにマイコンのクロック周波数を高めると、そのマイコンの最低作動電圧が、電源ＩＣのリセット電圧を上回ることが考えられる。
【０００６】
この場合、電源電圧がマイコンの最低作動電圧まで低下してもリセットがかからず、ＥＣＵが誤作動してしまう。具体的には、例えばプログラムカウンタの値が、不適切な値となってマイコンにより誤ったプログラムが実行され、ひいてはＥＥＰＲＯＭへ誤ったデータが書き込まれるおそれがある。ＥＥＰＲＯＭへ誤ったデータが書き込まれると、故障していないセンサの故障コードが出力されたり、誤った学習値でエンジン制御が実施されてしまうといった問題が生じる。
【０００７】
本発明は、上記問題に着目してなされたものであって、その目的とするところは、不揮発性メモリの誤書き込みを防止することができる不揮発性メモリ書き込み装置を提供することである。
【０００８】
【課題を解決するための手段】
本発明の不揮発性メモリ書き込み装置はその前提として、最低作動電圧がそれぞれ異なる第１のマイクロコンピュータ及び第２のマイクロコンピュータと、前記第２のマイクロコンピュータによりデータが書き込まれる不揮発性メモリと、電源電圧が所定のリセット電圧以下となったとき、第１のマイクロコンピュータに対してリセット信号を出力するリセット手段とを備え、前記第１のマイクロコンピュータの最低作動電圧が前記リセット電圧よりも低く、前記第２のマイクロコンピュータの最低作動電圧が前記リセット電圧よりも高くなっている。
【０００９】
従って、電源電圧が低下して第２のマイクロコンピュータの最低作動電圧よりも低下したときには、第２のマイクロコンピュータが誤作動して第２のマイクロコンピュータにより不揮発性メモリに誤ったデータが書き込まれるおそれがある。しかしながら、本発明によれば、第２のマイクロコンピュータの最低作動電圧以下となる電圧域を含む領域まで電源電圧が低下すると、第１のマイクロコンピュータにて第２のマイクロコンピュータによる不揮発性メモリの書き込みが禁止される。この場合、電源電圧が第２のマイクロコンピュータの最低作動電圧以下となったとしても、この電源電圧で正常に作動する第１のマイクロコンピュータによって不揮発性メモリの書き込みが禁止され、第２のマイクロコンピュータによる不揮発性メモリの誤書き込みを防止できる。
【００１０】
また、不揮発性メモリ書き込み装置において、電源スイッチのオフ時にも記憶データを保持し、電源電圧の低下時にデータの書き込みが制限されるバックアップメモリと、電源電圧を監視し、該電源電圧が、バックアップメモリの書き込みを制限するためのしきい値電圧まで低下したとき、電圧低下信号を出力する電圧監視手段を備えているものがある。このような装置では、請求項２に記載のように、電圧監視手段からの電圧低下信号に基づいて、不揮発性メモリの書き込みが禁止される。この場合、電源電圧の低下を検出するために新たな回路を設けることなく、不揮発性メモリの誤書き込みを防止することができ、コスト的にも有利なものとなる。
【００１１】
請求項３に記載の発明によれば、電源電圧の低下に伴い不揮発性メモリの書き込みが禁止された場合、電源電圧が上昇し不揮発性メモリの書き込みが禁止される電圧域以上となった後所定時間の経過後に、不揮発性メモリの書き込みが許可される。この場合、電源電圧の低下により第２のマイクロコンピュータが誤作動したとしても、所定時間が経過するまでの間に第２のマイクロコンピュータが正常動作に復帰できる。そして、その状態で不揮発性メモリの書き込みが許可されるので、不揮発性メモリの誤書き込みを確実に防止できる。
【００１２】
請求項４に記載の発明によれば、第１のマイクロコンピュータの出力端子から不揮発性メモリの書き込みを禁止または許可するための制御信号が出力され、第２のマイクロコンピュータの出力端子から不揮発性メモリにデータを書き込むための制御信号が出力される。これら出力端子がゲート回路を介して不揮発性メモリのチップセレクト端子に接続される。そして、第１のマイクロコンピュータの出力端子から書き込みを禁止するための制御信号が出力されるときに、不揮発性メモリのチップセレクト端子が非選択状態とされる。この場合、電圧低下時における誤作動により第２のマイクロコンピュータから不揮発性メモリにデータを書き込むための制御信号が出力されたとしても、その信号が無効となり不揮発性メモリの書き込みを禁止できる。
【００１３】
また、請求項５に記載のように、第１のマイクロコンピュータにてエンジン制御が実施され、第２のマイクロコンピュータにてトランスミッション制御が実施される。こうした装置において、エンジンの始動性を確保するとともに、トランスミッション制御を高速に実施するためには、第２のマイクロコンピュータは、第１のマイクロコンピュータよりも高いクロック信号で動作させる必要がある。この場合、第２のマイクロコンピュータの最低作動電圧は第１のマイクロコンピュータよりも高くなるので、上記発明を適用すると、実用上好ましいものとなる。
【００１４】
【発明の実施の形態】
以下、この発明を具体化した実施の形態を図面に従って説明する。
図１は、本実施の形態における電子制御装置（ＥＣＵ）１の概略を示す構成図である。
【００１５】
図１に示すように、ＥＣＵ１は、電源ＩＣ２、メインマイコン３、サブマイコン４、メイン入出力回路５、サブ入出力回路６、ＥＥＰＲＯＭ７、アンド回路８、メイン発振回路９、サブ発振回路１０等を備えている。
【００１６】
ＥＣＵ１の電源ＩＣ２には、イグニッションスイッチ１１を介してバッテリＢが接続されており、イグニッションスイッチ１１のオン操作によりバッテリ電圧が供給される。電源ＩＣ２は、バッテリ電圧から電源電圧Ｖｃｃ（具体的には、５Ｖ）を生成し、その電圧Ｖｃｃを電源ラインを介してメインマイコン３、サブマイコン４、メイン入出力回路５、サブ入出力回路６及びＥＥＰＲＯＭ７等に供給する。
【００１７】
第１のマイクロコンピュータとしてのメインマイコン３は、噴射制御や点火制御等のエンジン制御を実施するためのマイコンであり、第２のマイクロコンピュータとしてのサブマイコン４は、トランスミッション制御やダイアグ制御（故障診断）を実施するためのマイコンである。メインマイコン３は、ＣＰＵ３ａ、ＲＯＭ３ｂ、ＲＡＭ３ｃ、スタンバイＲＡＭ（ＳＲＡＭ）３ｄ、Ｉ／Ｏ（入出力装置）３ｅを備えており、サブマイコン４も同様に、ＣＰＵ４ａ、ＲＯＭ４ｂ、ＲＡＭ４ｃ、スタンバイＲＡＭ（ＳＲＡＭ）４ｄ、Ｉ／Ｏ（入出力装置）４ｅを備えている。ＣＰＵ３ａ，４ａは、ＲＯＭ３ｂ，４ｂ内に格納されている制御プログラムを実行し、制御データをＲＡＭ３ｃ，４ｃに一時記憶する。ＳＲＡＭ３ｄ，４ｄには、イグニッションスイッチ１１のオフ時にもバックアップ用の電源電圧（図示せず）が印加され、それによりＳＲＡＭ３ｄ，４ｄ内の記憶データが保持されるようになっている。なお、ＳＲＡＭ３ｄ，４ｄがバックアップメモリに相当する。
【００１８】
また、各マイコン３，４によるＳＲＡＭ３ｄ，４ｄへのデータの書き込みは、入力端子ＷＩがＬレベルとなる場合に禁止（制限）され、入力端子ＷＩがＨレベルとなる場合に許可されるようになっている。同入力端子ＷＩは、前記電源ＩＣ２に接続されており、その電位レベルは、電源ＩＣ２によって制御される。具体的には、電源ＩＣ２は、電源電圧Ｖｃｃを監視しており、電源電圧Ｖｃｃが所定のしきい値電圧（書き込み禁止電圧）Ｖｔ以下にとなるとき、Ｌレベルの電圧低下信号Ｓ１をメインマイコン３及びサブマイコン４の入力端子ＷＩに出力する。つまり、電源ＩＣ２は、Ｖｃｃ≦Ｖｔでは、入力端子ＷＩをＬレベルとし、Ｖｃｃ＞Ｖｔでは、入力端子ＷＩをＨレベルとする。
【００１９】
また、電源電圧Ｖｃｃが前記しきい値電圧（書き込み禁止電圧）Ｖｔよりもさらに低下して所定のリセット電圧Ｖｒ以下となると（Ｖｃｃ≦Ｖｒ）、電源ＩＣ２は、Ｌレベルのリセット信号Ｓ２をメインマイコン３のリセット端子Ｒに対して出力する。これにより、メインマイコン３は、実行中の処理を停止するとともに初期化処理を実施してサブマイコン４をリセットするようになっている。なお、本実施の形態では、電源ＩＣ２が、リセット手段及び電圧監視手段に相当する。
【００２０】
メイン入出力回路５には、回転センサ２１、エアフロメータ２２、水温センサ２３、スロットルセンサ２４、スタータスイッチ２５、インジェクタ２６、イグナイタ２７等が接続されている。メインマイコン３は、これら各センサ・スイッチの検出信号をメイン入出力回路５を介して取り込み、その検出信号によりエンジン運転状態を判定する。そして、その運転状態に基づいて燃料噴射信号や点火信号等の駆動信号を算出し、それら駆動信号をメイン入出力回路５を介してインジェクタ２６やイグナイタ２７等に出力する。これにより、インジェクタ２６による燃料噴射量やイグナイタ２７による点火時期等が制御される。
【００２１】
一方、サブ入出力回路６には、車速センサ２８、シフトポジションセンサ２９、油温センサ３０、ブレーキランプスイッチ３１、ダイアグテスタ３２、ソレノイド３３等が接続されている。サブマイコン４は、これら各センサ・スイッチの検出信号をサブ入出力回路６を介して取り込み、その検出信号によりトランスミッションの作動状態を判定する。そして、その作動状態に基づく駆動信号をサブ入出力回路６を介してソレノイド３３に出力する。これにより、ソレノイド３３が駆動されトランスミッション内の油圧経路が切り替えられ、トランスミッションの変速が制御される。
【００２２】
メインマイコン３−サブマイコン４間では、ダイレクトメモリアクセス（ＤＭＡ）方式にて前記センサ・スイッチの検出信号やその検出信号に基づく各種制御量等の授受が行われる。そして、サブマイコン４は、各センサ・スイッチの検出信号等に基づいて故障診断（ダイアグノーシス）を実施するとともに、その故障診断結果をサブ入出力回路６を介してダイアグテスタ３２に出力する。
【００２３】
サブマイコン４には、不揮発性メモリとしてのＥＥＰＲＯＭ７が接続されており、同ＥＥＰＲＯＭ７には、故障診断に基づくダイアグ情報、ソレノイド３３の個体差による制御バラツキを補正するためのソレノイド電流補正値等が記憶されている。また、ＥＥＰＲＯＭ７のチップセレクト端子ＣＳには、ゲート回路としてのアンド回路８の出力が接続されており、同アンド回路８の一方の入力はメインマイコン３の出力端子ＣＳ１に接続されるとともに、アンド回路８の他方の入力はサブマイコン４の出力端子ＣＳ２に接続されている。このＥＥＰＲＯＭ７のチップセレクト端子ＣＳは、ＥＥＰＲＯＭ７の書き込みを許可及び禁止するための端子であり、同端子ＣＳがＨレベル（選択状態）では書き込みが許可され、Ｌレベル（非選択状態）では書き込みが禁止される。つまり、メインマイコン３及びサブマイコン４の出力端子ＣＳ１，ＣＳ２からＨレベルの制御信号ＳＣ１，ＳＣ２が出力されたとき、ＥＥＰＲＯＭ７のチップセレクト端子ＣＳがＨレベル（選択状態）となる。そのとき、サブマイコン４とＥＥＰＲＯＭ７との間のデータ通信が有効となって、所望のデータがＥＥＰＲＯＭ７に書き込まれるようになっている。
【００２４】
本実施の形態において、メインマイコン３には、メイン発振回路９が接続されており、メインマイコン３は、メイン発振回路９から出力される１６ＭＨｚのクロック信号に基づいて作動する。一方、サブマイコン４には、サブ発振回路１０が接続されており、サブマイコン４はサブ発振回路１０から出力される２０ＭＨｚのクロック信号に基づいて作動する。ここで、サブマイコン４が実施するトランスミッション制御において、過渡時の油圧制御でソレノイド３３を高速に作動させる必要があるが、１６ＭＨｚのクロック信号では、的確なタイミングでソレノイド３３を制御できず、仕様通りの作動を得ることができない。このため、本実施の形態では、サブマイコン４のクロック信号を２０ＭＨｚとし、要求仕様を満足させるようにしている。
【００２５】
このように、メインマイコン３のクロック信号を１６ＭＨｚとし、サブマイコン４のクロック信号を２０ＭＨｚとした場合、図２に示すように、メインマイコン３の最低作動電圧Ｖｍよりも、サブマイコン４の最低作動電圧Ｖｓが高くなる。また、メインマイコン３に対してリセット信号を出力するためのリセット電圧Ｖｒは、エンジンの始動性を確保するためにできる限り低くする必要があり、その電圧レベルは、メインマイコン３の最低作動電圧Ｖｍとサブマイコン４の最低作動電圧Ｖｓとの間に設定されている。つまり、リセット電圧Ｖｒは、サブマイコン４の最低作動電圧Ｖｓよりも低く設定されている。そのため、電源電圧Ｖｃｃが低下して最低作動電圧Ｖｓとリセット電圧Ｖｒとの間の電圧値となる期間Ｔ１では、サブマイコン４が誤作動するおそれがあるが、メインマイコン３の出力端子ＣＳ１をＬレベルとすることで、ＥＥＰＲＯＭ７の書き込みを禁止するようにしている。
【００２６】
また、本実施の形態において、ＳＲＡＭ３ｄ，４ｄの書き込みを制限するためのしきい値電圧Ｖｔは、サブマイコン４の最低作動電圧Ｖｓより幾分高い電圧レベルで設定されている。よって、電源電圧Ｖｃｃの低下時において、電源電圧Ｖｃｃがサブマイコン最低作動電圧Ｖｓに至る前に、電源ＩＣ２から電圧低下信号Ｓ１が出力されて入力端子ＷＩがＬレベルとなる。本実施の形態では、この入力端子ＷＩの電位レベルに基づいて、メインマイコン３によるＥＥＰＲＯＭ７の書き込み禁止処理が実施されている。
【００２７】
次に、上記のように構成されるＥＣＵ１の作用を説明する。ここでは先ず、サブマイコン４により実施されるＥＥＰＲＯＭ７の書き込み処理の一例を、図３〜図６を用いて説明する。なお、図３の処理は、ダイアグ情報をＥＥＰＲＯＭ７に書き込むための処理であり、例えば６４ミリ秒毎に実施される。また、図４の処理は、ソレノイド電流補正値をＥＥＰＲＯＭ７に書き込むための処理であり、例えば１６ミリ秒毎に実施される。
【００２８】
本実施の形態におけるＥＥＰＲＯＭ７は、図６に示すように、開始アドレス００〜終了アドレスｆｅまでの記憶領域を有している。その記憶領域うち００〜１ｅまでのアドレスがダイアグコードを記憶するための領域として確保され、ｆｃ〜ｆｅのアドレスがソレノイド電流補正値を記憶するための領域として確保されている。つまり、サブマイコン４にて各種センサ・スイッチ等の故障が判定されて、故障の有無を示す「１」または「０」のデータがアドレス００〜１ｅの各ビット（ビット０〜ビット１５）に記憶される。また、工場出荷検査時にて、５００ｍＡ又は１Ａの基準電流がソレノイド３３に流されその際に求められるソレノイド電流補正値がアドレスｆｃ〜ｆｅに記憶される。
【００２９】
図３において、ダイアグ前回値とは、前回処理時のダイアグ更新値を記憶したものである。また、イグニッションキーのオン時の初期化処理では、ＥＥＰＲＯＭ７から読み出されたダイアグ情報が、ダイアグ前回値及びダイアグ更新値として記憶されている。よって、正常時にはダイアグ更新値とダイアグ前回値は一致しているが、図示しないダイアグ検出処理にて新たな故障が検出されたとき、ダイアグ更新値が更新され、その更新値がダイアグ前回値と一致しなくなる。
【００３０】
そして、図３のステップ１００にて、ダイアグ前回値がダイアグ更新値と一致するか否かが判定される。ここで、ダイアグ検出処理にて新たな故障が検出されていないときは、同ステップ１００にて肯定判別され、書き込み処理（ステップ１１０，ステップ１２０の処理）を実施することなく本処理を終了する。一方、ダイアグ検出処理にて新たな故障が検出され、ステップ１００にて否定判別された場合、ステップ１１０に移行する。そして、ダイアグ前回値とダイアグ更新値について、各ビット毎に論理和をとり、その結果をダイアグ前回値とする。なおここでは、新たに検出されたセンサ・スイッチの故障に対応したビットが、「０」から「１」に変更される。続くステップ１２０において、変更されたダイアグ前回値（データ）と、それを書き込むべきアドレスとを引数として、図５に示すＥＥＰＲＯＭ書込処理へ移行する。
【００３１】
図５に示すように、ステップ３１０にてサブマイコン４は、入力端子ＷＩがＨレベルか否かを判定する。つまり、電源電圧Ｖｃｃの低下時か否かを判定する。ここで、入力端子ＷＩがＬレベルであり、電源電圧Ｖｃｃの低下時と判定したときには、ステップ３２０〜ステップ３５０の処理を実施することなく、ステップ３６０に移行する。一方、入力端子ＷＩがＨレベルであれば、電源電圧Ｖｃｃの低下時ではないと判定し、ステップ３２０に移行する。そして、ステップ３２０にて、出力端子ＣＳ２からＨレベルの制御信号ＳＣ２を出力するとともに、ステップ３３０にて、ＥＥＰＲＯＭ７の動作モードを書き込みモードとすべく書き込み命令を送信する。続くステップ３４０にてアドレスを送信するとともにステップ３５０にてデータを送信した後、ステップ３６０に移行する。そして、同ステップ３６０にて、出力端子ＣＳ２からＬレベルの制御信号ＳＣ２を出力した後本処理を終了する。
【００３２】
次に、ソレノイド電流補正値の書き込み処理について説明する。
図４に示すように、サブマイコン４は、ステップ２００にて、工場出荷検査モードか否かを判定する。なおここでは、ＥＣＵ１に対して所定の検査モード信号が入力され、その信号に基づいて工場出荷検査モードが判定される。同ステップ２００にて、否定判別された場合、書き込み処理（ステップ２１０〜２３０の処理）を実施することなく本処理を終了する。一方、ステップ２００にて肯定判別された場合、ステップ２１０に移行して、ソレノイド３３に流れる電流値を前記サブ入出力回路６に配設されるＡ／Ｄ変換器（図示せず）を用いてＡ／Ｄ変換する。そして、ステップ２２０において、ソレノイド電流Ａ／Ｄ変換値からソレノイド電流基準値を減算することによって、ソレノイド電流補正値を求める。続くステップ２３０において、このソレノイド電流補正値（データ）と、それを書き込むべきアドレスとを引数として、既述した図５のＥＥＰＲＯＭ書込処理（ステップ３１０〜３６０の処理）を実施する。
【００３３】
次いで、メインマイコン３にて実行されるＥＥＰＲＯＭ７の書き込み禁止処理を図７を用いて詳述する。なお、図７の処理は、例えば、４ミリ秒毎に実行される。
【００３４】
メインマイコン３は、ステップ４００にて、入力端子ＷＩがＬレベルか否かを判定する。そして、入力端子ＷＩがＬレベルである場合、ステップ４１０に移行してカウンタをクリアした後ステップ４３０に進む。一方、入力端子ＷＩがＨレベルである場合、ステップ４２０に移行してカウンタの値をカウントアップさせた後ステップ４３０に進む。なおこのカウンタは、入力端子ＷＩがＨレベルとなった後の時間を計測するカウンタであって、前記ＲＡＭ３ｃの所定の記憶領域に確保されている。ステップ４３０において、カウンタの値に基づいて、入力端子ＷＩがＨレベルとなった後所定時間Ｔ２が経過しているか否かを判定する。ここで、所定時間Ｔ２が経過していなければ、ステップ４４０にて、ＥＥＰＲＯＭ７の書き込みを禁止するために、出力端子ＣＳ１からＬレベルの制御信号ＳＣ１を出力して本処理を終了する。一方、所定時間Ｔ２が経過している場合、ステップ４５０にて、ＥＥＰＲＯＭ７の書き込みを許可するために、出力端子ＣＳ１からＨレベルの制御信号ＳＣ１を出力した後本処理を終了する。
【００３５】
ここで、本実施の形態におけるＥＥＰＲＯＭ７の書き込み許可及び禁止の動作を図２を用いて詳述する。図２において、例えば、ｔ１のタイミング以前では電源電圧Ｖｃｃがしきい値電圧Ｖｔよりも高いため、出力端子ＣＳ１はＨレベルに保持されている。そのとき、データの書き込み要求に伴い出力端子ＣＳ２がＨレベルとなると、アンド回路８の出力はＨレベルとなりＥＥＰＲＯＭ７の書き込みが許可されて、サブマイコン４から送信されるデータがＥＥＰＲＯＭ７に書き込まれる。
【００３６】
これに対して、電源電圧Ｖｃｃがしきい値電圧Ｖｔ以下となると、電源ＩＣ２により入力端子ＷＩがＬレベルとされ、それに従いカウンタがクリアされるとともに出力端子ＣＳ１がＬレベルとされる。そして、出力端子ＣＳ１がＬレベルになる期間（ｔ１〜ｔ３）では、出力端子ＣＳ２がＨレベルになっても、アンド回路８の出力はＬレベルとなりＥＥＰＲＯＭ７の書き込みが禁止される。特に、期間Ｔ１においては、電源電圧Ｖｃｃがサブマイコン４の最低作動電圧Ｖｓを下回るので、サブマイコン４が誤作動するおそれがある。このため、図３〜図５の処理が誤って実施され、サブマイコン４の出力端子ＣＳ２からＨレベルの制御信号ＳＣ２が出力されるとともに、サブマイコン４からＥＥＰＲＯＭ７に通信データが送信されることがある。しかしながら、本実施の形態では、メインマイコン３により出力端子ＣＳ１がＬレベルに制御され、ＥＥＰＲＯＭ７のチップセレクト端子ＣＳがＬレベル（非選択状態）となる。これにより、サブマイコン４とＥＥＰＲＯＭ７間のデータ通信が無効となり、ＥＥＰＲＯＭ７の書き込みが禁止される。
【００３７】
また、電源電圧Ｖｃｃがしきい値電圧Ｖｔ以上となると、カウンタがカウントアップされ、タイミングｔ２からの時間が計測される。そして、所定時間Ｔ２の経過後（ｔ３のタイミング）に出力端子ＣＳ１がＨレベルに制御される。このように、本実施の形態では、電源電圧Ｖｃｃがしきい値電圧Ｖｔ以上に復帰してから出力端子ＣＳ１がＨレベルとなるまでにディレー時間Ｔ２が設定されている。よって、期間Ｔ１にてサブマイコン４が誤作動したとしても、この時間Ｔ２が経過する間に、サブマイコン４が正常動作に確実に復帰する。その後、データの書き込み要求に伴い出力端子ＣＳ２がＨレベルとなると、ＥＥＰＲＯＭ７の書き込みが許可されて、サブマイコン４からＥＥＰＲＯＭ７に送信されるデータがＥＥＰＲＯＭ７に書き込まれる。
【００３８】
以上詳述した本実施の形態によれば、以下に示す効果が得られる。
（１）電源電圧Ｖｃｃがしきい値電圧Ｖｔまで低下すると、電源ＩＣ２から電圧低下信号Ｓ１が出力され、入力端子ＷＩがＬレベルとなる。このとき、メインマイコン３によって電源電圧Ｖｃｃの低下が判定され、出力端子ＣＳ１がＬレベルに制御されてサブマイコン４によるＥＥＰＲＯＭ７の書き込みが禁止される。このようにすれば、電源電圧Ｖｃｃがサブマイコン４の最低作動電圧Ｖｓ以下となったとしても、この電源電圧Ｖｃｃで正常に作動するメインマイコン３によりＥＥＰＲＯＭ７の書き込みが禁止され、サブマイコン４の誤作動によるＥＥＰＲＯＭ７の誤書き込みを防止できる。
【００３９】
（２）電源ＩＣ２からの電圧低下信号Ｓ１は、既述したようにＳＲＡＭ３ｄ，４ｄの書き込みを禁止（制限）するために従来から用いられているものある。つまり、本実施の形態では、電源電圧Ｖｃｃの低下を検出するために新たな回路を設けることなく、ＥＥＰＲＯＭ７の誤書き込みを防止することができ、コスト的にも有利なものとなる。
【００４０】
（３）電源電圧Ｖｃｃがサブマイコン４の最低作動電圧Ｖｓまで低下し（図２の期間Ｔ１）サブマイコン４が誤作動したとしても、電源電圧Ｖｃｃがしきい値電圧Ｖｔ以上に上昇し所定時間Ｔ２が経過するまでの間にサブマイコン４が正常動作に復帰する。そして、その状態でメインマイコン３の出力端子ＣＳ１がＨレベルに制御されてＥＥＰＲＯＭ７の書き込みが許可される。このようにすれば、サブマイコン４によるＥＥＰＲＯＭ７の誤書き込みを確実に防止できる。
【００４１】
（４）メインマイコン３は、ＥＥＰＲＯＭ７の書き込みを禁止または許可するための制御信号ＳＣ１を出力する出力端子ＣＳ１を有し、サブマイコン４は、ＥＥＰＲＯＭ７にデータを書き込むための制御信号ＳＣ２を出力する出力端子ＣＳ２を有し、各出力端子ＣＳ１，ＣＳ２をアンド回路８を介してＥＥＰＲＯＭ７のチップセレクト端子ＣＳに接続するようにした。このようにすれば、メインマイコン３の出力端子ＣＳ１から書き込みを禁止するためのＬレベルの制御信号ＳＣ１が出力されると、アンド回路８によりＥＥＰＲＯＭ７のチップセレクト端子ＣＳが常にＬレベル（非選択状態）とされる。この場合、電圧低下時における誤作動によりサブマイコン４の出力端子ＣＳ２からＨレベルの制御信号ＳＣ２が出力されたとしても、該制御信号ＳＣ２が無効となりＥＥＰＲＯＭ７の書き込みを禁止できる。
【００４２】
なお本発明は、上記以外に次の形態にて具体化できる。
上記実施の形態では、電圧監視手段として電源ＩＣ２を用い、ＳＲＡＭ３ｄ，４ｄの書き込みを禁止するために電源ＩＣ２から出力される電圧低下信号Ｓ１を用いて、ＥＥＰＲＯＭ７の書き込みを禁止する構成であったが、これに限定するものではない。例えば、電源ＩＣ２とは別に電源電圧Ｖｃｃの低下を検出する電圧監視手段を新たに設けてもよい。なおこの場合、電源電圧Ｖｃｃの低下を検出するためのしきい値電圧Ｖｔをサブマイコン４の最低作動電圧Ｖｓに近づけることが望ましい。つまり、図２に示すように、しきい値電圧Ｖｔとサブマイコン最低作動電圧Ｖｓとの電圧値が異なる場合、電源電圧Ｖｃｃがしきい値電圧Ｖｔ以下に低下し、サブマイコン４の最低作動電圧Ｖｓに至る前に上昇することが考えられる。この場合、サブマイコン４が誤作動しない範囲の電圧低下であるにも拘わらず、ＥＥＰＲＯＭ７の書き込みが禁止されるが、しきい値電圧Ｖｔをサブマイコン最低作動電圧Ｖｓに近づけることによって、こうした不都合を回避できる。
【００４３】
上記実施の形態では、ゲート回路としてアンド回路８を用いるものであったが、これに限定するものではない。例えば、ＥＥＰＲＯＭ７のようにチップセレクト端子がＨレベルのときに選択状態となるものではなく、Ｌレベルのときに選択状態となるＥＥＰＲＯＭを使用する場合には、アンド回路８に代えてオア回路を用いる。そして、電源電圧Ｖｃｃの低下時にて書き込み禁止する際には、メインマイコン３の出力端子からＨレベルの制御信号をオア回路に出力する。このようにすれば、オア回路の出力は常にＨレベルとなり、ＥＥＰＲＯＭのチップセレクト端子が非選択状態となる。よって、電源電圧Ｖｃｃの低下時において、ＥＥＰＲＯＭの誤書き込みを防止できる。
【００４４】
上記実施の形態では、不揮発性メモリとして、ＥＥＰＲＯＭを用いるものであったが、フラッシュメモリを用いることもできる。
上記実施の形態では、エンジン制御及びトランスミッション制御を実施するためのＥＣＵ１に具体化したが、これに限ることなく、車両制御（例えば、ＡＢＳ制御）やボディ制御（例えば、エアコン制御）等を実施するＥＣＵに具体化してもよい。要は、最低作動電圧の異なる２つのマイコンを用いて各種制御を実施し、最低作動電圧が高いマイコンにて不揮発性メモリの書き込みを行うＥＣＵに具体化するものであればよい。
【図面の簡単な説明】
【図１】発明の実施の形態におけるＥＣＵの概要を示す構成図。
【図２】電源電圧の低下時の動作を説明するための図。
【図３】ダイアグ情報の書込処理を示すフローチャート。
【図４】ソレノイド電流補正値の書込処理を示すフローチャート。
【図５】ＥＥＰＲＯＭ書込処理を示すフローチャート。
【図６】ＥＥＰＲＯＭの格納データを説明するための図。
【図７】メインマイコンによる書込禁止処理を示すフローチャート。
【符号の説明】
１…不揮発性メモリ書き込み装置としてのＥＣＵ、２…リセット手段及び電圧監視手段としての電源ＩＣ、３…第１のマイクロコンピュータとしてのメインマイコン、３ｄ…バックアップメモリとしてのＳＲＡＭ、４…第２のマイクロコンピュータとしてのサブマイコン、４ｄ…バックアップメモリとしてのＳＲＡＭ、７…不揮発性メモリとしてのＥＥＰＲＯＭ、８…ゲート回路としてのアンド回路、１１…電源スイッチとしてのイグニッションスイッチ、ＣＳ…チップセレクト端子、ＣＳ１，ＣＳ２…出力端子、Ｓ１…電圧低下信号、Ｓ２…リセット信号、ＳＣ１，ＳＣ２…制御信号、Ｖｃｃ…電源電圧、Ｖｍ…メインマイコン最低作動電圧、Ｖｓ…サブマイコン最低作動電圧、Ｖｒ…リセット電圧、Ｖｔ…しきい値電圧。
【図１】
0004281222.tif 000002
【図２】
0004281222.tif 000003
【図３】
0004281222.tif 000004
【図４】
0004281222.tif 000005
【図５】
0004281222.tif 000006
【図６】
0004281222.tif 000007
【図７】
0004281222.tif 000008