(57)【特許請求の範囲】
【請求項１】
被制御部を制御する電子制御装置であって、
電源から電力が常に供給され、データを記憶する一の揮発性記憶部と、
前記一の揮発性記憶部に記憶されているデータに基づいて、前記被制御部の制御のうち担当する制御を実行し、記憶要求信号を受信すると、当該記憶要求信号に応じた所定のデータを前記一の揮発性記憶部へ記憶させるとともに、記憶完了信号を送信する一の制御部と、
データを記憶する他の揮発性記憶部と、
前記他の揮発性記憶部に記憶されているデータに基づいて、前記被制御部の制御のうち担当する制御を実行するとともに、所定の条件が成立した場合に、前記記憶要求信号を前記一の制御部に対して送信する他の制御部と、を備え、
前記他の制御部は、
前記記憶要求信号を送信した後、前記記憶完了信号を受信せず、かつ、前記一の制御部との通信が異常であった場合には、前記異常から復帰した後における前記担当する制御の初期値を予め設定されたデータとし、
前記記憶要求信号を送信した後、前記記憶完了信号を受信せず、かつ、前記一の制御部との通信のうち受信のみが異常であった場合には、前記異常から復帰した後における前記担当する制御の初期値を前記一の揮発性記憶部に記憶されている前記所定のデータとすることを特徴とする電子制御装置。
【請求項２】
前記所定のデータは、他の制御部の制御目標値を補正するための学習値であり、
前記所定の条件が成立したか否かは、前記制御目標値と実際の制御値との偏差が所定の閾値以上になったか否かにより、判断されることを特徴とする請求項１に記載の電子制御装置。
【請求項３】
前記所定のデータは、前記他の制御部が制御に用いる実測値に基づく値であり、
前記所定の条件が成立したか否かは、前記他の制御部の制御モードが所定の制御モードになったか否かにより、判断されることを特徴とする請求項１に記載の電子制御装置。
【請求項４】
前記所定のデータには、単独で制御に用いることが可能な一の種類のデータと、別のデータとともに制御に用いることが可能な他の種類のデータとが含まれ、
前記他の制御部は、前記別のデータが記憶される前に、前記送受信の異常が発生した場合には、前記一の種類のデータに関しては、前記一の揮発性記憶部に記憶されているデータを、前記異常から復帰した後における初期値に設定し、前記他の種類のデータに関しては、前記他の制御部の立ち上げ時の初期値を、前記異常から復帰した後における初期値に設定することを特徴とする請求項１〜３のいずれか一項に記載の電子制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は電子制御装置に関し、特に被制御部を制御する電子制御装置に関する。
【背景技術】
【０００２】
従来、２つのＣＰＵ（中央演算処理装置）を有する電子制御装置では、一方のＣＰＵに、システムの内部電源に常時接続されたバックアップ用のＲＡＭを設けておき、この一方のＣＰＵ側に、他方のＣＰＵのＲＡＭに記憶されているデータを常時供給し続けるとともに、所定の記憶条件が成立したときのみ、そのデータをバックアップ用のＲＡＭに記憶するような構成をとっていた。
【０００３】
また、最近では、一方のＣＰＵに接続された電源からの電力供給が停止される前に（例えば、電力供給停止を予め知らせる電力停止予告信号に基づいて）、一方のＣＰＵが有する第１の記憶手段から他方のＣＰＵが有する第２の記憶手段にデータ転送を行う技術が提案されている（特許文献１参照）。
【０００４】
また、特許文献２に記載されているように、サブ電子装置の動作中にリセットされた場合に、サブ電子装置が、メイン電子装置が有する記憶手段に記憶されている制御データの送信要求をメイン電子装置に対して行う技術が提案されている。
【０００５】
【特許文献１】特開２００６−４８２３５号公報
【特許文献２】特開２００５−２３９２３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記特許文献１に記載の技術においては、転送されたデータが第２の記憶手段において正常に記憶されたか否かを判別することができないため、記憶状態が異常なデータ（中途半端な状態で記憶されたデータなど）を用いる可能性がある。また、特許文献２に記載の技術においては、サブ電子装置の動作がリセットされた場合であっても、メイン電子装置に対して送信要求を行うことで、電子システムを再起動することなく、サブ電子装置へ制御データを適宜送信することができる。しかしながら、電子装置間における通信が途絶した場合や、リセットがかかった場合に、それらが生じる前のデータを単に使用するというのでは、データの記憶状態（記憶したはずのデータが記憶されているかどうかなど）やデータの性質（別のデータがないと機能しない（使用できない）データなど）により、意図しているデータと異なるデータを使用してしまうおそれがある。
【０００７】
そこで本発明は上記の課題に鑑みてなされたものであり、適切な制御を行うことが可能な電子制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明の電子制御装置は、被制御部を制御するものであり、電源から電力が常に供給され、データを記憶する一の揮発性記憶部と、前記一の揮発性記憶部に記憶されているデータに基づいて、前記被制御部の制御のうち担当する制御を実行し、記憶要求信号を受信すると、当該記憶要求信号に応じた所定のデータを前記一の揮発性記憶部へ記憶させるとともに、記憶完了信号を送信する一の制御部と、データを記憶する他の揮発性記憶部と、前記他の揮発性記憶部に記憶されているデータに基づいて、前記被制御部の制御のうち担当する制御を実行するとともに、所定の条件が成立した場合に、前記記憶要求信号を前記一の制御部に対して送信する他の制御部と、を備え、前記他の制御部は、前記記憶要求信号を送信した後、前記記憶完了信号を受信せず、かつ、前記一の制御部との通信が異常であった場合には、前記異常から復帰した後における前記担当する制御の初期値を予め設定されたデータとし、前記記憶要求信号を送信した後、前記記憶完了信号を受信せず、かつ、前記一の制御部との通信のうち受信のみが異常であった場合には、前記異常から復帰した後における前記担当する制御の初期値を前記一の揮発性記憶部に記憶されている前記所定のデータとすることを特徴としている。
【０００９】
これによれば、他の制御部から記憶要求信号を一の制御部に送信した後、記憶完了信号を受信せず、かつ、一の制御部との通信が異常であった場合に、他の制御部は、異常から復帰した後における担当する制御の初期値を予め設定されたデータとすることから、通信異常のため、一の揮発性記憶部に所定のデータが記憶されていない可能性が高い場合であっても、予め設定されたデータを初期値とすることにより、意図しない値などを用いること無く、異常復帰後も精度良く制御を行うことができる。また、他の制御部から一の制御部に記憶要求信号を送信した後、記憶完了信号を受信せず、かつ、前記一の制御部との通信のうち受信のみが異常であった場合に、他の制御部は異常から復帰した後における担当する制御の初期値を一の揮発性記憶部に記憶されている所定のデータとすることから、受信異常の場合（すなわち、所定のデータが、一の揮発性記憶部に記憶されている可能性が高い場合）に、所定のデータを初期値とすることで、異常復帰後も精度良く制御を行うことができる。
【００１０】
この場合において、前記所定のデータが、他の制御部の制御目標値を補正するための学習値である場合には、前記所定の条件が成立したか否かを、前記制御目標値と実際の制御値との偏差が所定の閾値以上になったか否かにより、判断することとしても良いし、前記所定のデータが、前記他の制御部が制御に用いる実測値に基づく値である場合には、前記所定の条件が成立したか否かを、前記他の制御部の制御モードが所定の制御モードになったか否かにより、判断することとしても良い。
【００１１】
本発明の電子制御装置では、前記所定のデータには、単独で制御に用いることが可能な一の種類のデータと、別のデータとともに制御に用いることが可能な他の種類のデータとが含まれ、前記他の制御部は、前記別のデータが記憶される前に、前記送受信の異常が発生した場合には、前記一の種類のデータに関しては、前記一の揮発性記憶部に記憶されているデータを、前記異常から復帰した後における初期値に設定し、前記他の種類のデータに関しては、前記他の制御部の立ち上げ時の初期値を、前記異常から復帰した後における初期値に設定することとすることができる。かかる場合には、別のデータが記憶される前に送受信の異常が発生したときに、他の種類のデータに関する、異常復帰後の初期値として、他の制御部の立ち上げ時の初期値を設定するので、別のデータが無い中途半端な状態の他の種類のデータを用いることなく、異常から復帰した後も高精度な制御を行うことが可能となる。
【発明の効果】
【００１２】
本発明によれば、高精度な制御を行うことが可能な電子制御装置を提供することができる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明を実施するための一実施形態について、図１〜図７に基づいて詳細に説明する。図１には、モータの制御を行うＥＣＵ１００の概略構成がブロック図にて示されている。
【００１４】
この図１に示されるように、本実施形態のＥＣＵ１００は、演算処理を実行する一の制御部としてのＣＰＵ（Central Processing Unit）（Ａ）７０及び他の制御部としてのＣＰＵ（Ｂ）８０と、ＣＰＵ（Ａ）７０とＣＰＵ（Ｂ）８０との間で送受信される信号を伝送する通信ライン１１と、車両内に搭載された各種車載装置からの各種信号を入力する入力インターフェース回路１０と、各種信号に基づいて演算処理された結果の信号を所定の車載装置に出力する出力インターフェース回路２０とを備えている。
【００１５】
なお、入力インターフェース回路１０は、例えば、イグニッションスイッチや、車両の速度を検出する車速センサ、各種電流センサ、電圧センサ等に接続され、これら接続された装置からの各種信号入力を、ＣＰＵ（Ａ）７０又はＣＰＵ（Ｂ）８０に向けて出力する。また、出力インターフェース回路２０は、例えば、モータドライバや高圧コンバータ等の車載装置に接続されており、ＣＰＵ（Ａ）７０又はＣＰＵ（Ｂ）８０によって演算処理された信号をこれら車載装置に対して出力する。
【００１６】
ＣＰＵ（Ａ）７０は、プログラムを記憶するＲＯＭ（Read Only Memory）４１ａと、ＲＯＭ４１ａに記憶されたプログラムに従って入力インターフェース回路１０からの信号に基づいて演算処理する演算処理部４１ｂと、所定のデータを記憶する一の揮発性記憶部としてのＲＡＭ（Random Access Memory）４１ｃとを備えている。
【００１７】
演算処理部４１ｂは、例えば、車両の速度を検出する速度センサから速度値を示す信号を入力インターフェース回路１０経由で受信したとき、ＲＯＭ４１ａに記憶されたプログラムに従って演算処理を実行する。
【００１８】
また、演算処理部４１ｂは、入力インターフェース回路１０から入力される各種信号のデータをプログラムに従って特定されたデータ（以下「特定データ」という。）とそれ以外のデータ（以下「非特定データ」という。）とに分類し、ＲＡＭ４１ｃに記憶させる。ここで、特定データとは、例えば学習値や制御パラメータのように所定の期間保存して運転の支援や車載装置の不具合の解析等に活用するデータをいう（なお、これら学習値や制御パラメータの具体的な内容については後に詳述する）。
【００１９】
ＲＡＭ４１ｃは、演算処理部４１ｂが演算処理する際に生じる一時的なデータ、特定データ及び非特定データ等を記憶する。
【００２０】
ＣＰＵ（Ｂ）８０は、プログラムを記憶するＲＯＭ４２ａと、ＲＯＭ４２ａに記憶されたプログラムに従って演算処理を実行する演算処理部４２ｂと、所定のデータを記憶する他の揮発性記憶部としてのＲＡＭ４２ｃとを備えている。なお、ＣＰＵ（Ｂ）８０は、入力インターフェース回路１０から、ＣＰＵ（Ａ）７０に入力される信号とは異なる信号を処理する。
【００２１】
演算処理部４２ｂは、前述の演算処理部４１ｂと同様に、ＲＯＭ４２ａに記憶されたプログラムに従って入力インターフェース回路１０からの信号に基づいて演算処理し、演算処理した結果の信号を出力インターフェース回路２０に出力したり、入力インターフェース回路１０から入力される各種信号のデータを特定データと非特定データとに分類してＲＡＭ４２ｃに記憶させたりする。
【００２２】
また、演算処理部４２ｂは、ＲＡＭ４２ｃに記憶された特定データを、所定条件が成立したときに、通信ライン１１を介して、ＣＰＵ（Ａ）７０側に転送する。
【００２３】
これらＣＰＵ（Ａ）７０及びＣＰＵ（Ｂ）８０それぞれは、図２に示されるように、メインリレー３２を一部に有する電源ライン１２を介して、バッテリ電源３０に接続されており、メインリレー３２がクローズの状態でバッテリ電源３０からの電力供給が行われる。メインリレー３２は、論理和回路（ＯＲ回路）３４により、オープン／クローズが切り替えられる。すなわち、イグニッションスイッチ（ＩＧスイッチ）３６がオン状態であるか、ＣＰＵ（Ａ）７０における所定のフラグ（後述する記憶完了フラグ）がオン状態の場合（この場合、制御信号（ＣＴＬ）が、論理和回路（ＯＲ回路）に供給される）に、メインリレー３２がクローズ状態となり、いずれもオフ状態にある場合に、メインリレー３２がオープン状態となる。
【００２４】
また、ＣＰＵ（Ａ）７０側には、バックアップ用電源ライン１４が接続されているため、バッテリ電源３０からの電力が、ＣＰＵ（Ａ）７０のＲＡＭ４１ｃに常時供給されている。すなわち、ＣＰＵ（Ａ）７０のＲＡＭ４１ｃ内には、データを常時格納しておくことが可能である。一方、ＣＰＵ（Ｂ）８０側では、メインリレー３２がオープン状態にある場合には、電力が供給されないので、この状態では、ＲＡＭ４２ｃにデータを記憶しておくことができなくなる。したがって、本実施形態では、ＣＰＵ（Ｂ）８０側における特定データを後で使用可能にするために、メインリレー３２がクローズの状態にあるときに、ＣＰＵ（Ｂ）８０からＣＰＵ（Ａ）７０に特定データを送信して、ＣＰＵ（Ａ）７０では、その特定データをＲＡＭ４１ｃに記憶する。
【００２５】
また、ＣＰＵ（Ａ）７０とＣＰＵ（Ｂ）８０との間では、データ通信を行うとともに、図２に示されるように、ＣＰＵ（Ａ）７０、ＣＰＵ（Ｂ）８０のそれぞれに送受信エラーが発生していないかどうかを相互監視している。また、ＣＰＵ（Ｂ）８０では、車両内で所定条件が成立した段階（記憶要求トリガと呼ぶ）で、記憶要求フラグをＯＮにして、そのフラグ情報をＣＰＵ（Ａ）７０に送信する。また、ＣＰＵ（Ａ）７０では、ＣＰＵ（Ｂ）８０から送信されたフラグ情報がＯＮで有った場合に、ＣＰＵ（Ｂ）８０から常時送信されているデータの記憶を開始し、記憶が完了した時点で、記憶完了フラグをＯＮにして、そのフラグ情報をＣＰＵ（Ｂ）８０に送信する。
【００２６】
次に、図３のフローチャートに沿って、ＣＰＵ（Ａ）７０及びＣＰＵ（Ｂ）８０の基本的な処理の流れについて説明する。なお、前提として、イグニッションスイッチ（ＩＧスイッチ）３６はオフ状態であり、これに伴って、メインリレー３２がオープン状態であるものとする。また、ＣＰＵ（Ｂ）８０の記憶要求フラグはＯＦＦ状態にあり、ＣＰＵ（Ａ）７０の記憶完了フラグもＯＦＦ状態に有るものとする。
【００２７】
まず、ステップＳ１０では、ＣＰＵ（Ａ）７０が、ＩＧスイッチ３６がオン状態であるか否かを判断する。ここでは、ＩＧスイッチ３６はオフ状態であるので、判断は否定され、ステップＳ１４に移行する。このステップＳ１４では、メインリレー３２がクローズ状態か否かを判断するが、メインリレー３２は、オープン状態のままなので、判断が否定され、図３のフローチャートを終了する。
【００２８】
その後、図３のフローチャートを所定時間ごとに繰り返し、ＩＧスイッチ３６がオン状態になった段階で、ステップＳ１０の判断が肯定される。そして、次のステップＳ１２では、メインリレー３２がクローズ状態に設定される（なお、実際には、図２の論理和回路３４の作用によりメインリレー３２がクローズ状態となる）。
【００２９】
次いで、ＣＰＵ（Ａ）７０では、ループ処理を開始する。まず、ＣＰＵ（Ａ）７０は、ステップＳ１４においてメインリレー３２がクローズ状態か否かを判断するが、ここでの判断は肯定されるので、次のステップＳ１６において、記憶要求フラグ（ここではＯＦＦ）をＣＰＵ（Ｂ）８０から受信する。次いで、ステップＳ１８では、ＣＰＵ（Ａ）７０が、受信した記憶要求フラグがＯＮであるか否かを判断する。ここでは、記憶要求フラグはＯＦＦ状態であるので、判断は否定され、ステップＳ２６において記憶完了フラグをＯＦＦに設定して、ステップＳ２８において、ＣＰＵ（Ｂ）８０に送信する送信データに記憶完了フラグ（ＯＦＦ）を追加する。
【００３０】
次いで、ＣＰＵ（Ａ）７０は、ステップＳ３０において、ＩＧスイッチ３６がオフ状態、かつ記憶完了フラグがＯＦＦか否かの判断を行う。なお、記憶完了フラグがＯＮの場合には、図２に示される制御信号（ＣＴＬ）が、論理和回路（ＯＲ回路）に供給される。ここでは、まだＩＧスイッチ３６がオン状態にあるので判断が否定された後、ループ処理の先頭に戻る。
【００３１】
一方、ＣＰＵ（Ｂ）８０では、ステップＳ４０において、記憶完了フラグをＣＰＵ（Ａ）７０から受信し、次のステップＳ４２において、この記憶完了フラグがＯＦＦであるか否かを判断する。ここでは、前述した、ＣＰＵ（Ａ）７０の処理（ステップＳ２６）で、記憶完了フラグがＯＦＦ状態となっているので、判断は肯定され、次のステップＳ４４に移行する。
【００３２】
ステップＳ４４では、車両内で所定の条件が成立し、記憶要求トリガが発生したか否かを判断する。ここで、所定条件とは、以下のような条件をいうものとする。
（１）特定データが学習値である場合
「学習値」とは、実際の制御値と目標とする制御値との偏差から認識されるずれを解消するように、目標制御値をフィードバック的に補正するためのものであり、例えば、補正値や補正項、補正係数などをいう。
この学習値が特定データである場合の、記憶要求トリガを発生させる「所定の条件」は、ＣＰＵ（Ｂ）８０が制御対象を制御する際の実際の制御値と、目標とする制御値との偏差が、所定値以上となった場合に成立するものとする。
（２）特定データが制御パラメータである場合
「制御パラメータ」とは、ＣＰＵ（Ｂ）８０が、制御プログラム（ＲＯＭ４２ａに記憶され、ＣＰＵ（Ｂ）８０の制御対象を制御するためのプログラム）を実行する際に用いる車両内の各センサの値や、各センサの値と特定の関数に基づいた算出した値、あるいは他の制御プログラムから受け取った値であって、タスク制御などにおいて制御モードが、所定の制御モードに移行する場合に、一時的に保留となる（又は移行後に引き続き利用する）値をいう。
この制御パラメータが特定データである場合の、記憶要求トリガを発生させる「所定の条件」は、制御モードが所定の制御モードに移行した場合に成立するものとする。
なお、ここでは、上記所定条件が成立して、記憶要求トリガが発生したものとして（ステップＳ４４が肯定されたものとして）、以下説明するものとする。
【００３３】
次のステップＳ４６では、記憶要求フラグをＯＮにする。そして、次のステップＳ５０において、記憶データをＣＰＵ（Ａ）７０への送信データに追加するとともに、ステップＳ５２において、記憶要求フラグをＣＰＵ（Ａ）７０への送信データに追加し、ループ処理の先頭に戻る。
【００３４】
ＣＰＵ（Ａ）７０の処理の説明に戻り、ステップＳ１４における判断が肯定されると、ステップＳ１６において記憶要求フラグ（ＯＮ）をＣＰＵ（Ｂ）８０から受信する。そして、ステップＳ１８における判断が肯定されると、ステップＳ２０に移行して、記憶完了フラグがＯＦＦか否かについて判断する。
【００３５】
この場合、記憶完了フラグはＯＦＦ状態にあるので（前述したステップＳ２６）、判断は肯定され、ステップＳ２２において、記憶データ（特定データ）をＲＡＭ４１ｃに記憶する。
【００３６】
その後、記憶が完了した時点で、ステップＳ２４において記憶完了フラグをＯＮにし、この記憶完了フラグを、ステップＳ２８において、ＣＰＵ（Ｂ）８０への送信データに追加して、ステップＳ３０の判断を経て、再度ループ処理の先頭に戻る。
【００３７】
これに対し、ＣＰＵ（Ｂ）８０では、ステップＳ４０において記憶完了フラグ（ＯＮ）をＣＰＵ（Ａ）７０から受信し、ステップＳ４２において、記憶完了フラグがＯＦＦであるか否かを判断する。ここでは、記憶完了フラグがＯＮとなっているので、判断は否定され、ステップＳ４８において記憶要求フラグをＯＦＦにして、記憶データをＣＰＵ（Ａ）７０への送信データに追加するとともに（ステップＳ５０）、記憶要求フラグをＣＰＵ（Ａ）７０への送信データに追加し（ステップＳ５２）、ループ処理の先頭に戻る。
【００３８】
その後、記憶完了フラグがＯＦＦ状態で、ＣＰＵ（Ｂ）８０において、記憶要求トリガが発生していない場合には、ステップＳ４４の判断が否定され、ステップＳ４８にて記憶要求フラグをＯＦＦに設定し、記憶データをＣＰＵ（Ａ）７０への送信データに追加するとともに（ステップＳ５０）、記憶要求フラグをＣＰＵ（Ａ）７０への送信データに追加し（ステップＳ５２）、ループ処理の先頭に戻る。
【００３９】
一方、記憶要求フラグがＯＦＦの状態で、ＩＧスイッチ３６がオフ状態にされた場合には、ＣＰＵ（Ａ）７０においては、ステップＳ１８における判断が否定され、記憶完了フラグがＯＦＦとなるので、ステップＳ３０における判断が肯定される。この場合、ステップＳ３２においてメインリレーがオープン状態とされ、ループ処理の先頭に戻るとともに、次のループ処理でステップＳ１４における判断が否定されるので、図３のフローチャートを終了する。
【００４０】
その後は、図３のフローチャートを繰り返し、ＩＧスイッチ３６が再度オンになった段階で、上述したのと同様にして、ループの処理・判断を実行する。
【００４１】
ところで、ＣＰＵ（Ａ）７０において、ステップＳ１８で、記憶要求フラグがＯＮと判断されたにもかかわらず、ステップＳ２０において、記憶完了フラグがＯＮと判断されることがある。これは、ＣＰＵ（Ｂ）８０において、記憶完了フラグがＯＮと判断されているものの（ステップＳ４２）、ステップＳ４８において記憶要求フラグをＯＦＦにされる以前に、ＣＰＵ（Ａ）７０がステップＳ２０の判断を行った場合である。この場合には、記憶完了フラグをＯＮにしたまま、その記憶完了フラグを送信データに追加し（ステップＳ２８）、ステップＳ３０を経て、ループ処理の先頭に戻る。
【００４２】
図４は、上記図３の処理をタイミングチャートにて示したものである。
【００４３】
この図４のタイミングチャートに示されるように、ＩＧスイッチ３６がオンになるとともに、メインリレー３２がクローズとなり、ＣＰＵ（Ａ）７０とＣＰＵ（Ｂ）８０との間のデータ通信が開始され、メインリレー３２がオープンとなった段階で、このデータ通信が終了する（図４（ａ）〜（ｄ）参照）。
【００４４】
また、図４（ｅ）〜（ｇ）に示されるように、ＣＰＵ（Ｂ）８０において、記憶要求フラグがＯＮになり、その記憶要求フラグがＣＰＵ（Ａ）７０で受信されると、ＲＡＭ４１ｃへのデータ記憶が開始される。また、このデータ記憶が完了すると、ＣＰＵ（Ａ）７０では、記憶完了フラグをＯＮにし（図４の記号（Ａ）参照）、その記憶完了フラグをＣＰＵ（Ｂ）８０に送信する（図４の記号（Ｂ）参照）。
【００４５】
更に、その後、記憶完了フラグを受信したＣＰＵ（Ｂ）８０は、記憶完了フラグに基づいて、記憶要求フラグを取り下げ（ＯＦＦにし）、その記憶要求フラグをＣＰＵ（Ａ）７０に送信する（図４の記号（Ｃ）参照）。この記憶要求フラグ（ＯＦＦ）を受信したＣＰＵ（Ａ）７０は、記憶完了フラグをＯＦＦにして、ＣＰＵ（Ｂ）８０に送信する。
【００４６】
このような処理を繰り返すことにより、ＲＡＭ４１ｃには、必要とする特定データが順次記憶される。
【００４７】
次に、上記のように構成されるＥＣＵ１００において、ＣＰＵ（Ａ）７０とＣＰＵ（Ｂ）８０との間にエラーが発生した場合の処理方法について、図５〜図７に基づいて説明する。なお、送受信エラーについては、前述したように、ＣＰＵ（Ａ）７０とＣＰＵ（Ｂ）８０の間で相互監視を行っている。
【００４８】
＜（１）ＣＰＵ（Ａ）７０側における送信エラー＞
図５には、ＣＰＵ（Ｂ）８０からの記憶要求フラグが、ＣＰＵ（Ａ）７０側に送信されてはいるものの、ＣＰＵ（Ａ）７０側からＣＰＵ（Ｂ）８０側への記憶完了フラグの送信にエラーが発生していることにより、ＣＰＵ（Ｂ）８０において記憶完了フラグを取得することができない状態が示されている。
【００４９】
この図５の状態は、ＣＰＵ（Ｂ）８０から送信された記憶要求フラグをＣＰＵ（Ａ）７０において受信した段階でＲＡＭ４１ｃにおける特定データの記憶が開始され、かつ完了したにもかかわらず、その完了に基づく記憶完了フラグがＣＰＵ（Ａ）７０からＣＰＵ（Ｂ）８０に送信されない状態を意味する。
【００５０】
すなわち、相互監視によって、ＣＰＵ（Ａ）７０側に送信エラーが生じていると判断された場合には、ＣＰＵ（Ｂ）８０において記憶要求された特定データに関しては、既にＲＡＭ４１ｃに記憶されている可能性が高い。したがって、このような送信エラーが発生した後、エラー復帰した場合（又は車両が再始動した場合）には、ＲＡＭ４１ｃに記憶されているデータの初期値として、ＲＡＭ４１ｃに記憶されているデータに基づく値を用いることとする。
【００５１】
＜（２）ＣＰＵ（Ｂ）８０側における送信エラー＞
一方、図６には、ＣＰＵ（Ｂ）８０側からＣＰＵ（Ａ）７０側への記憶要求フラグの送信にエラーが発生しているため、ＣＰＵ（Ｂ）８０において記憶完了フラグを取得することができない状態が示されている。
【００５２】
この図６の状態は、ＣＰＵ（Ｂ）８０からの記憶要求フラグがＣＰＵ（Ａ）７０に到達していないことから、ＣＰＵ（Ｂ）８０の記憶要求に応じた特定データは記憶されていない可能性が高いことを意味する。したがって、相互監視によって、ＣＰＵ（Ｂ）８０側に送信エラーが生じていると判断した場合には、送信エラーから復帰して、次回ＩＧスイッチ３６がオンされた段階（又は車両が再始動した段階）では、ＲＡＭ４１ｃに記憶されているデータに基づかずに、予め定められた（ＲＯＭ４１ａに記憶されている）データを、初期値として使用することとする。
【００５３】
＜（３）特定データ記憶中のエラー＞
次に、ＲＡＭ４１ｃに特定データを記憶している間に、何らかの異常（例えば突然の電源ダウン）が発生した場合について説明する。
【００５４】
ここでは、上記のような事態に備えて、ＲＡＭ４１ｃを、図７に示されるように、そのデータ単独で使用可能なデータを記憶する記憶領域（Ｍ）と、他のデータとともに使用することが可能なデータを記憶する記憶領域（Ｎ）とに層別している。また、各特定データには、格納されるべき記憶領域（Ｍ）又は（Ｎ）を識別するための識別子が添付されているものとする。なお、ここでは説明の便宜上、記憶領域（Ｎ）の全てにデータが格納された段階で、記憶領域（Ｎ）のデータが使用可能になるものとして説明する。
【００５５】
したがって、図７に示されるように、ハッチングを付して示される部分にデータが格納された状態で何らかの異常（電源ダウンなど）が発生し、その後復帰した場合（又は車両が始動した場合）には、記憶領域（Ｍ）のデータの初期値として、既に記憶領域（Ｍ）に格納されているデータを採用して、以降の制御を行うこととする。また、記憶領域（Ｎ）のデータの初期値としては、既に記憶領域（Ｎ）に格納されているデータを採用せずに、予め定められた（ＲＯＭ４１ａに記憶されている）データの初期値を採用して、以降の制御を行うこととする。
【００５６】
以上、詳細に説明したように、本実施形態によると、ＣＰＵ（Ａ）７０では、ＣＰＵ（Ｂ）８０側からの記憶要求（記憶要求フラグがＯＮ）に基づいて特定データを記憶し、該記憶が完了した段階で、記憶完了フラグをＯＮにしてＣＰＵ（Ｂ）８０に対して送信する。したがって、ＣＰＵ（Ａ）７０及びＣＰＵ（Ｂ）８０は、記憶が正しく行われた特定データのみを用いて、その後の制御を行うことができるので、高精度な制御を行うことが可能である。また、ＣＰＵ（Ａ）７０及びＣＰＵ（Ｂ）８０間の送受信にエラーが発生して、ＣＰＵ（Ｂ）８０が完了情報（記憶完了フラグ）を受信できない場合には、送受信エラーの種類に応じた処理を行うので、その後の制御において送受信エラーの影響を極力受けること無く、適切な制御を行うことが可能である。
【００５７】
また、本実施形態では、送受信エラーが、ＣＰＵ（Ａ）７０からＣＰＵ（Ｂ）８０への送信エラーであった場合には、ＣＰＵ（Ａ）７０に記憶されている特定データに基づく値を、送受信エラー復帰後（又は車両再始動後）の初期値に設定することとしている。これは、完了情報（記憶完了フラグ）を受信できなくても、ＣＰＵ（Ａ）７０に特定データが記憶されている可能性が高いためであり、このようにしても、特定データに基づく値を送受信エラー復帰後（又は車両再始動後）の初期値に設定することで、エラー復帰後（又は車両再始動後）も精度良く制御を行うことが可能である。
【００５８】
また、本実施形態では、送受信エラーが、ＣＰＵ（Ｂ）８０からＣＰＵ（Ａ）７０への送信エラーであった場合には、ＣＰＵ（Ａ）７０の立ち上げ時における初期値を、送信エラー復帰後（又は車両再始動後）の初期値に設定するので、ＣＰＵ（Ｂ）８０からＣＰＵ（Ａ）７０への送信エラーのように、ＣＰＵ（Ａ）７０に特定データが記憶されていない可能性が高い場合でも、意図しない値などを用いてしまうことなく、エラー復帰後（又は車両再始動後）も精度良く制御を行うことが可能となる。
【００５９】
また、本実施形態では、ＲＡＭ４１ｃを、そのデータ単独で使用可能なデータを記憶する記憶領域（Ｍ）と、他のデータとともに使用することが可能なデータを記憶する記憶領域（Ｎ）とに層別していることから、送受信エラーなどが発生した場合の、復帰後（又は車両再始動後）の初期値を、記憶領域（Ｍ）に格納されている特定データに関しては、そのデータに基づく値とし、記憶領域（Ｎ）に格納されている特定データに関しては、ＣＰＵ（Ａ）７０の立ち上げ時の初期値とすることができる。これにより、記憶領域（Ｎ）に格納されているデータが、使用可能となるために必要とする他のデータがない中途半端な状態であっても、そのデータを用いないこととすることで、エラー復帰後（又は車両再始動後）も高精度な制御を行うことが可能である。
【００６０】
なお、上記実施形態では、ＣＰＵ（Ｂ）８０において、記憶完了フラグを受信できない場合に、ＩＧスイッチ３６がオフされるまでそのままの状態で、制御を継続するかのように説明しているが（図５等参照）、これに限らず、例えば、ＣＰＵ（Ｂ）８０において、予め定められた所定時間以上経過しても、記憶完了フラグを受信できない場合（タイムアウト状態の場合）には、通信エラーが発生していることをいち早くユーザ等に知らせるようにしても良い。
【００６１】
上述した実施形態は本発明の好適な実施の例である。但し、これに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変形実施可能である。
【図面の簡単な説明】
【００６２】
【図１】モータの制御を行うＥＣＵの概略構成を示すブロック図である。
【図２】ＥＣＵを構成するＣＰＵ（Ａ）とＣＰＵ（Ｂ）に対する電力供給について説明するための図である。
【図３】図１のＥＣＵにおける基本的な処理の流れを示すフローチャートである。
【図４】図３の処理を時系列に沿って示すタイミングチャートである。
【図５】ＣＰＵ（Ａ）側に送信エラーが有った場合について説明するためのタイミングチャートである。
【図６】ＣＰＵ（Ｂ）側に送信エラーが有った場合について説明するためのタイミングチャートである。
【図７】層別したＲＡＭを示す図である。
【符号の説明】
【００６３】
４１ｃ  ＲＡＭ（一の揮発性記憶部）
４２ｃ  ＲＡＭ（他の揮発性記憶部）
７０  ＣＰＵ（Ａ）（一の制御部）
８０  ＣＰＵ（Ｂ）（他の制御部）
１００  ＥＣＵ（電子制御装置）
【図１】
0004800280.tif 000002
【図２】
0004800280.tif 000003
【図３】
0004800280.tif 000004
【図４】
0004800280.tif 000005
【図５】
0004800280.tif 000006
【図６】
0004800280.tif 000007
【図７】
0004800280.tif 000008