(57)【要約】    【課題】  一つのマスタユニットが複数のスレーブユニットを定常的に監視可能であって、スレーブユニットの数が増加しても、マスタユニットの処理負荷及び通信用バスの通信負荷の増加を抑制することができる電子制御装置を提供する。    【解決手段】  マスタＥＣＵ１１が問題データＱＤを生成し、さらに問題データＱＤをマスタＥＣＵ１１に対応する解答生成関数Ｆ1に適用して、解答データＡＤ[1]を生成し、その解答データＡＤ[1]をバス１０を介してスレーブＥＣＵ１２に送信する。スレーブＥＣＵ１２〜１４は、受信した解答データを問題データとして、対応する解答生成関数に適用して、それぞれ解答データＡＤ[2]，ＡＤ[3]，ＡＤ[4]を生成する。解答データＡＤ[4]がマスタＥＣＵ１１に送信され、解答データＡＤ[4]がマスタＥＣＵ１１で生成される比較正解データＡＣと異なるときに異常が発生したと判定される。【選択図】  図２
2017027429.tif 000002
【特許請求の範囲】
【請求項１】
相互に通信可能に接続されたＮ個（Ｎは３以上の整数）の電子制御ユニットで構成され、制御対象の制御を行う電子制御装置において、
前記Ｎ個の電子制御ユニットは一つのマスタユニットと、該マスタユニット以外の（Ｎ−１）個のスレーブユニット[i]（ｉ＝２〜Ｎ）で構成され、
前記マスタユニットは、問題生成関数を用いた演算と、前記Ｎ個の電子制御ユニットのそれぞれに対応するＮ個の解答生成関数Ｆi（ｉ＝１〜Ｎ）を用いた演算とを実行可能であり、前記問題生成関数を用いて問題データを生成するとともに、生成された問題データを、該マスタユニットに対応する解答生成関数Ｆ[1]に適用することによって、解答データＡＤ[1]を生成してスレーブユニット[2]に送信し、
スレーブユニット[i]（ｉ＝２〜Ｎ−１）は、対応する解答生成関数Ｆiを用いた演算を実行可能であり、前記マスタユニットまたはスレーブユニット[i-1]から送信される解答データＡＤ[i-1]を、問題データとして解答生成関数Ｆiに適用することによって、解答データＡＤ[i]を生成してスレーブユニット[i+1]に送信し、
スレーブユニット[N]は、対応する解答生成関数ＦNを用いた演算を実行可能であり、スレーブユニット[N-1]から送信される解答データＡＤ[N-1]を、問題データとして解答生成関数ＦNに適用することによって、解答データＡＤ[N]を生成して前記マスタユニットに送信し、
前記マスタユニットは、前記Ｎ個の解答生成関数Ｆiを用いて、前記解答データＡＤ[N]に対応する正解データを生成し、前記解答データＡＤ[N]が前記正解データと一致しないときに、前記マスタユニットまたはスレーブユニット[i]の少なくとも一つに異常が発生したと判定することを特徴とする電子制御装置。
【請求項２】
前記マスタユニットは、前記正解データと前記解答データＡＤ[N]が一致している間は、前記問題データの生成と、前記解答データＡＤ[1]の生成及び送信とを一定時間毎に実行することを特徴とする請求項１に記載の電子制御装置。
【請求項３】
前記マスタユニットは、前記一定時間毎に送信する解答データＡＤ[1]を特定するためのインデクス情報を生成し、前記解答データＡＤ[i]の伝送に使用する通信フレームは、前記インデクス情報を含むことを特徴とする請求項２に記載の電子制御装置。
【請求項４】
一つの解答データＡＤ[i]を複数の通信フレームに格納して、前記解答データＡＤ[i]の伝送を行うことを特徴とする請求項３に記載の電子制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の電子制御ユニットで構成される電子制御装置に関し、特に複数の電子制御ユニットの一つがマスタユニットとして、他の電子制御ユニット（スレーブユニット）及びマスタユニット自身の異常を判定する機能を有する電子制御装置に関する。
【背景技術】
【０００２】
特許文献１は、マスタＣＰＵ制御装置（以下「マスタユニット」という）及び一つまたは複数のスレーブＣＰＵ制御装置（以下「スレーブユニット」という）を備えた内燃機関制御系の異常監視システムを開示する。このシステムでは、マスタユニットからスレーブユニットに制御指令値が送信され、その制御指令値を入力として例題演算がスレーブユニットで実行され、その演算結果がマスタユニットに返送される。マスタユニットでは、内部的に同一例題演算により生成した期待値と、スレーブユニットから返送される演算結果とを照合することにより異常が検出される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−２４０６３１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に示された監視手法を、マスタユニットが複数のスレーブユニットの監視を行う場合に適用すると、マスタユニットと複数のスレーブユニットのそれぞれとの間で、制御指令値の伝送及び対応する演算結果の伝送が行われることとなるため、通信負荷が増大するという課題があり、通信負荷はスレーブユニットの数の増加にほぼ比例して増加することとなる。
【０００５】
本発明はこの点に着目してなされたものであり、一つのマスタユニットが複数のスレーブユニットを定常的に監視可能であって、スレーブユニットの数が増加しても、マスタユニットの処理負荷及び通信用バスの通信負荷の増加を抑制することができる電子制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため請求項１に記載の発明は、相互に通信可能に接続されたＮ個（Ｎは３以上の整数）の電子制御ユニット（１１〜１４）で構成され、制御対象（１）の制御を行う電子制御装置において、前記Ｎ個の電子制御ユニットは一つのマスタユニット（１１）と、該マスタユニット以外の（Ｎ−１）個のスレーブユニット[i]（ｉ＝２〜Ｎ）（１２〜１３）で構成され、前記マスタユニット（１１）は、問題生成関数（Ｄ（ｘ））を用いた演算と、前記Ｎ個の電子制御ユニットのそれぞれに対応するＮ個の解答生成関数Ｆi（ｉ＝１〜Ｎ）を用いた演算とを実行可能であり、前記問題生成関数を用いて問題データ（ＱＤ）を生成するとともに、生成された問題データ（ＱＤ）を、該マスタユニットに対応する解答生成関数Ｆ[1]に適用することによって、解答データＡＤ[1]を生成してスレーブユニット[2]に送信し、スレーブユニット[i]（ｉ＝２〜Ｎ−１）は、対応する解答生成関数Ｆiを用いた演算を実行可能であり、前記マスタユニットまたはスレーブユニット[i-1]から送信される解答データＡＤ[i-1]を、問題データとして解答生成関数Ｆiに適用することによって、解答データＡＤ[i]を生成してスレーブユニット[i+1]に送信し、スレーブユニット[N]は、対応する解答生成関数Ｆ[N]を用いた演算を実行可能であり、スレーブユニット[N-1]から送信される解答データＡＤ[N-1]を、問題データとして解答生成関数Ｆ[N]に適用することによって、解答データＡＤ[N]を生成して前記マスタユニットに送信し、前記マスタユニットは、前記Ｎ個の解答生成関数Ｆiを用いて、前記解答データＡＤ[N]に対応する正解データ（ＡＣ）を生成し、前記解答データＡＤ[N]が前記正解データ（ＡＣ）と一致しないときに、前記マスタユニットまたはスレーブユニット[i]の少なくとも一つに異常が発生したと判定することを特徴とする。
【０００７】
この構成によれば、マスタユニットにおいて、問題生成関数を用いて問題データが生成されるとともに、生成された問題データをマスタユニットに対応する解答生成関数Ｆ1に適用することによって、解答データＡＤ[1]が生成され、スレーブユニット[2]に送信される。スレーブユニット[i]（ｉ＝２〜Ｎ−１）では、マスタユニットまたはスレーブユニット[i-1]から送信される解答データＡＤ[i-1]を、問題データとして解答生成関数Ｆiに適用することによって、解答データＡＤ[i]が生成され、スレーブユニット[i+1]に送信される。すなわち、スレーブユニット[2]からスレーブユニット[N-1]まで、解答データの生成と、生成された解答データの送信とが順次実行される。最終のスレーブユニット[N]では、スレーブユニット[N-1]から送信される解答データＡＤ[N-1]を、問題データとして解答生成関数ＦNに適用することによって、解答データＡＤ[N]が生成され、マスタユニットに送信される。マスタユニットでは、Ｎ個の解答生成関数Ｆiを用いて、解答データＡＤ[N]に対応する正解データが生成され、解答データＡＤ[N]が正解データと一致しないときに、マスタユニットまたはスレーブユニット[i]の少なくとも一つに異常が発生したと判定される。したがって、マスタユニットはスレーブユニット[2]への解答データＡＤ[1]の送信と、スレーブユニット[N]からの解答データＡＤ[N]の受信のみを行うことによって制御装置全体としての異常判定を行うことができる。その結果、スレーブユニットの数が増加してもマスタユニットにおける監視のための処理負荷が、ほとんど増加することがなく、かつ通信用バスの通信負荷を抑制することが可能となる。
【０００８】
請求項２に記載の発明は、請求項１に記載の電子制御装置において、前記マスタユニット（１１）は、前記正解データ（ＡＣ）と前記解答データＡＤ[N]が一致している間は、前記問題データ（ＱＤ）の生成と、前記解答データＡＤ[1]の生成及び送信とを一定時間毎に実行することを特徴とする。
【０００９】
この構成によれば、マスタユニットでは、正解データと解答データＡＤ[N]が一致している間は、問題データの生成及び解答データＡＤ[1]の生成及び送信が一定時間毎に実行されるので、本来実行すべき処理とともに、スレーブユニットの監視を常時行うことができる。
【００１０】
請求項３に記載の発明は、請求項２に記載の電子制御装置において、前記マスタユニットは、前記一定時間毎に送信する解答データＡＤ[1]を特定するためのインデクス情報（ＳＥＱＮ）を生成し、前記解答データＡＤ[i]の伝送に使用する通信フレームは、前記インデクス情報を含むことを特徴とする。
【００１１】
この構成によれば、マスタユニットでは、一定時間毎に送信する解答データＡＤ[1]特定するためのインデクス情報が生成され、そのインデクス情報を通信フレームに含めて解答データＡＤ[1]の送信が行われるので、スレーブユニット[N]から受信した解答データＡＤ[N]が、一定時間毎に送出された解答データＡＤ[1]の何れに対応するものであるかを容易に特定することができ、正解データと解答データＡＤ[N]との対比を正確に実行することできる。
【００１２】
請求項４に記載の発明は、請求項３に記載の電子制御装置において、一つの解答データＡＤ[i]を複数の通信フレームに格納して、前記解答データＡＤ[i]の伝送を行うことを特徴とする。
この構成によれば、一つの解答データＡＤ[i]が複数の通信フレームに格納されて伝送されるので、解答データＡＤ[i]の伝送における信頼性を高めることができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の一実施形態にかかる内燃機関とその制御装置の構成を示す図である。
【図２】制御装置を構成する４つの電子制御ユニットの監視方法の概要を説明するための図である。
【図３】マスタユニット（ＩＧ−ＥＣＵ１１）のＣＰＵにおいて実行される問題生成処理のフローチャートである。
【図４】マスタユニット（ＩＧ−ＥＣＵ１１）のＣＰＵにおいて実行される解答生成処理のフローチャート
【図５】スレーブユニット（ＥＣＵ１２〜１４）のＣＰＵにおいて実行される解答生成処理のフローチャートである。
【図６】マスタユニット（ＩＧ−ＥＣＵ１１）のＣＰＵにおいて実行される正解生成処理のフローチャートである。
【図７】マスタユニット（ＩＧ−ＥＣＵ１１）のＣＰＵにおいて実行される答合わせ処理のフローチャートである。
【図８】バス（１０）に送出される通信データフレームの構成及びバス上の通信データフレームを示す図である。
【図９】実施形態の変形例を説明するための図である。
【発明を実施するための形態】
【００１４】
以下本発明の実施の形態を図面を参照して説明する。
図１は、本発明の一実施形態にかかる内燃機関とその制御装置の構成を示す図である。図１において、例えば４気筒を有する内燃機関（以下単に「エンジン」という）１は、吸気弁及び排気弁と、これらを駆動するカムを備えるとともに、吸気弁作動位相可変機構９を備えている。吸気弁作動位相可変機構９は、エンジン１の吸気弁を駆動するカムの、クランク軸回転角度を基準とした作動位相を連続的に変更することにより、吸気弁の作動位相を変更するための機構である。
【００１５】
エンジン１の吸気通路２の途中にはスロットル弁３が設けられ、スロットル弁３には、スロットル弁３を駆動するアクチュエータ８が接続されている。エンジン１は、各気筒の吸気弁の少し上流側に気筒毎に設けられ、吸気通路２の吸気ポート内に燃料を噴射する燃料噴射弁６と、各気筒に設けられた点火プラグ７と備えている。
【００１６】
エンジン１の作動を制御する制御装置は、点火プラグ７による点火の制御を行う点火制御電子制御ユニット（以下「ＩＧ−ＥＣＵ」という）１１と、燃料噴射弁６による燃料噴射の制御を行う燃料噴射制御電子制御ユニット「以下「ＦＩ−ＥＣＵ」という）１２と、アクチュエータ８を駆動してスロットル弁３の開度を変更し、吸入空気量制御（スロットル弁開度制御）を行うスロットル弁制御電子制御ユニット（以下「ＴＨ−ＥＣＵ」という）１３と、吸気弁作動位相可変機構９による吸気弁作動位相制御を行う吸気弁作動位相制御電子制御ユニット（以下「ＶＴ−ＥＣＵ」という）１４とによって構成される。各ＥＣＵ１１〜１４は、バス１０を介して相互に接続されており、必要な情報はバス１０を介して相互に伝送可能に構成されている。ＥＣＵ１１〜１４は、それぞれ必要なメモリ（ＲＯＭ(Read Only Memory)及びＲＡＭ(Random Access Memory）、ＣＰＵ(Central Processing Unit）、通信インタフェースなどを備えている。
【００１７】
図示は省略しているが、エンジン１の運転状態を検出するための各種センサ（例えばスロットル弁３の開度ＴＨを検出するセンサ、吸入空気量ＧＡＩＲを検出するセンサ、エンジン１の冷却水温ＴＷを検出するセンサ、クランク軸の回転角度を検出するクランク角センサ、カム軸の回転角度を検出するセンサなど）が、エンジン１の適所に配置されるとともに、エンジン１によって駆動される車両のアクセルペダルの操作量ＡＰを検出するセンサや大気圧ＰＡを検出するセンサなどが当該車両の適所に配置されており、それらのセンサの検出信号は、上記ＥＣＵ１１〜１４の一部または全部のＥＣＵに供給される。
【００１８】
本実施形態では、ＩＧ−ＥＣＵ１１をマスタＥＣＵとし、ＦＩ−ＥＣＵ１２，ＴＨ−ＥＣＵ１３，及びＶＴ−ＥＣＵ１４をスレーブＥＣＵとして、マスタＥＣＵであるＩＧ−ＥＣＵ１１が、自身を含むＥＣＵ１１〜１４を監視し、異常（特にＣＰＵの異常）を判定する処理（以下「監視処理」という）を実行する。以下の説明では、ＩＧ−ＥＣＵ１１をマスタＥＣＵ１１ともいい、ＦＩ−ＥＣＵ１２，ＴＨ−ＥＣＵ１３，及びＶＴ−ＥＣＵ１４を、それぞれスレーブＥＣＵ１２，スレーブＥＣＵ１３，及びスレーブＥＣＵ１４ともいう。
【００１９】
先ず監視処理の概要を図２を参照して説明する。マスタＥＣＵ１１が初期データＱＩＮＩを問題生成関数に適用して問題データＱＤを生成し、さらに問題データＱＤをマスタＥＣＵ１１自身に対応する解答生成関数Ｆ1に適用して、解答データＡＤ[1]を生成し、その解答データＡＤ[1]をバス１０を介してスレーブＥＣＵ１２に送信する。スレーブＥＣＵ１２は解答データＡＤ[1]を問題データとして、スレーブＥＣＵ１２に対応する解答生成関数Ｆ2に適用して解答データＡＤ[2]を生成し、その解答データＡＤ[2]をバス１０を介してスレーブＥＣＵ１３に送信する。スレーブＥＣＵ１３は解答データＡＤ[2]を問題データとして、スレーブＥＣＵ１３に対応する解答生成関数Ｆ3に適用して解答データＡＤ[3]を生成し、その解答データＡＤ[3]をバス１０を介してスレーブＥＣＵ１４に送信する。スレーブＥＣＵ１４は解答データＡＤ[3]を問題データとして、スレーブＥＣＵ１４に対応する解答生成関数Ｆ4に適用して解答データＡＤ[4]を生成し、その解答データＡＤ[4]をバス１０を介してマスタＥＣＵ１１に送信する。
【００２０】
マスタＥＣＵ１１は、自身の解答生成関数Ｆ1の他に、スレーブＥＣＵ１２〜１４に対応する解答生成関数Ｆ2〜Ｆ4を用いた演算を実行可能であり、問題データＱＤを解答生成関数Ｆ1に適用して正解データＡＤＣ[1]を生成し、正解データＡＤＣ[1]を解答生成関数Ｆ2に適応して正解データＡＤＣ[2]を生成し、正解データＡＤＣ[2]を解答生成関数Ｆ3に適応して正解データＡＤＣ[3]を生成し、正解データＡＤＣ[3]を解答生成関数Ｆ4に適応して正解データＡＤＣ[4]を生成し、スレーブＥＣＵ１４から受信した解答データＡＤ[4]が正解データＡＤＣ[4]と一致しないときに、ＥＣＵ１１〜１４の少なくとも一つＥＣＵで異常が発生したと判定する。
【００２１】
マスタＥＣＵ１１における問題データＱＤの生成、解答データＡＤ[1]の生成、及び解答データＡＤ[1]のスレーブＥＣＵ１２への送信は、異常が検知されない限り、一定時間毎に実行され、ＥＣＵ１１〜１４の監視処理が常時実行される。この監視処理は、制御装置の起動時、及び各ＥＣＵのＣＰＵにおける通常制御演算処理が実行されない隙間の時間を利用して実行され、処理の優先度に合わせて確実に且つ周期的に実行される。
【００２２】
初期データＱＩＮＩ、問題データＱＤ及び解答データＡＤ[i]（ｉ＝１〜４）は、例えば３つの数値の組み合わせである３次元ベクトルによって定義され、問題生成関数Ｄ（ｘ）及び解答生成関数Ｆi（ｉ＝１〜４）は、３行３列の行列で定義され、入力されるデータの集合を別の集合に一対一で写像変換するもの（異なる入力データに対応して同一の出力データが生成されることがない関数）である。
【００２３】
図３は、マスタＥＣＵ１１のＣＰＵにおいて実行される問題生成処理のフローチャートである。この処理は、制御装置の起動時に実行される。
ステップＳ１１では、問題生成関数Ｄ（ｘ）を呼び出し、次いでＲＯＭに格納されている初期データＱＩＮＩを問題生成関数Ｄ（ｘ）に適用して、問題データＱＤを生成する（ステップＳ１２，Ｓ１３）。
【００２４】
図４は、マスタＥＣＵ１１のＣＰＵにおいて実行される解答生成処理のフローチャートであり、この処理は問題データＱＤが生成されると実行される。
ステップＳ２１では、解答生成関数Ｆ1（ｘ）を呼び出し、問題データＱＤを問題データｘとして解答生成関数Ｆ1（ｘ）に適用して、解答データＡＤ[1]を生成する（ステップＳ２２，Ｓ２３）。
【００２５】
図５（ａ）（ｂ）及び（ｃ）は、それぞれスレーブＥＣＵ１２，１３，及び１４のＣＰＵにおいて実行される解答生成処理のフローチャートである。これら処理は、それぞれ解答データＡＤ[1]，ＡＤ[2]，及びＡＤ[3]を受信すると実行される。
【００２６】
スレーブＥＣＵ１２のＣＰＵでは、図５（ａ）に示すように、解答生成関数Ｆ2（ｘ）を呼び出し（ステップＳ３１）、解答データＡＤ[1]を問題データｘとして解答生成関数Ｆ2（ｘ）に適用して、解答データＡＤ[2]を生成する（ステップＳ３２，Ｓ３３）。
【００２７】
スレーブＥＣＵ１３のＣＰＵでは、図５（ｂ）に示すように、解答生成関数Ｆ3（ｘ）を呼び出し（ステップＳ４１）、解答データＡＤ[2]を問題データｘとして解答生成関数Ｆ3（ｘ）に適用して、解答データＡＤ[3]を生成する（ステップＳ４２，Ｓ４３）。
【００２８】
スレーブＥＣＵ１４のＣＰＵでは、図５（ｃ）に示すように、解答生成関数Ｆ4（ｘ）を呼び出し（ステップＳ５１）、解答データＡＤ[3]を問題データｘとして解答生成関数Ｆ4（ｘ）に適用して、解答データＡＤ[4]を生成する（ステップＳ５２，Ｓ５３）。
【００２９】
図６は、マスタＥＣＵ１１のＣＰＵにおいて実行される正解生成処理のフローチャートである。この処理は、解答データＡＤ[1]の送信後であって、解答データＡＤ[4]の受信前に実行される。上述したマスタＥＣＵ１１，及びスレーブＥＣＵ１２〜１４における解答生成処理と同様の処理を、別途正解生成処理として実行し、解答データＡＤ[4]に対応する正解データＡＤＣ[4]を、比較正解データＡＣとして生成する処理である。
【００３０】
ステップＳ６１では、解答生成関数Ｆ1（ｘ）を呼び出し、問題データＱＤを問題データｘとして解答生成関数Ｆ1（ｘ）に適用して、正解データＡＤＣ[1]を生成する（ステップＳ６２，Ｓ６３）。ステップＳ６４では、解答生成関数Ｆ2（ｘ）を呼び出し、正解データＡＤＣ[1]を問題データｘとして解答生成関数Ｆ2（ｘ）に適用して、正解データＡＤＣ[2]を生成する（ステップＳ６５，Ｓ６６）。
【００３１】
同様にして、解答生成関数Ｆ3（ｘ）を呼び出し（ステップＳ６７）、正解データＡＤＣ[2]を問題データｘとして解答生成関数Ｆ3（ｘ）に適用して、正解データＡＤＣ[3]を生成し（ステップＳ６８，Ｓ６９）、解答生成関数Ｆ4（ｘ）を呼び出し（ステップＳ７０）、正解データＡＤＣ[3]を問題データｘとして解答生成関数Ｆ4（ｘ）に適用して、正解データＡＤＣ[4]を生成し（ステップＳ７１，Ｓ７２）、比較正解データＡＣを正解データＡＤＣ[4]に設定する（ステップＳ７３）。
【００３２】
図７は、マスタＥＣＵ１１のＣＰＵにおいて実行される答合わせ処理のフローチャートである。この処理は、解答データＡＤ[4]の受信後に実行される。
ステップＳ８１では、解答データＡＤ[4]が比較正解データＡＣと等しいか否かを判別し、その答が肯定（ＹＥＳ）であるときは、問題データＱＤを比較正解データＡＣに設定する（ステップＳ８２）。この問題データＱＤは、次の監視処理においてマスタＥＣＵ１１のＣＰＵで実行される解答生成処理（図４）に適用される。
【００３３】
ステップＳ８１の答が否定（ＮＯ）であるときは、マスタＥＣＵ１１またはスレーブＥＣＵ１２〜１４の少なくとも一つに異常が発生したと判定して異常判定フラグＦＦＡＩＬを「１」に設定し（ステップＳ８３）、フェールセーフ処理に移行する。フェールセーフ処理では、各ＥＣＵ１１〜１４において例えばエンジン１を適切に停止させるための処理が実行される。
【００３４】
図８（ａ）は、バス１０に送出される通信データフレームの構成を示す図であり、通信データフレームは、ヘッダ（宛先情報などを含む）、上述した解答データＡＤ[i]、シーケンス番号ＳＥＱＮ、通常データＤＡＴＡ、及び誤り訂正用の巡回冗長コードＣＲＣによって構成される。通常データＤＡＴＡは、エンジン１の制御を行うために伝送する必要があるデータである。
【００３５】
シーケンス番号ＳＥＱＮは、マスタＥＣＵ１１がスレーブＥＣＵ１２宛てに送信する解答データＡＤ[1]を特定するためのインデクスであり、例えば１から５０までの番号が巡回するように設定される。シーケンス番号ＳＥＱＮの設定は、マスタＥＣＵ１１で行われ、スレーブＥＣＵ１２〜１４での書き換えは行われない（禁止される）。したがって、マスタＥＣＵ１１は、スレーブＥＣＵ１４から受信した解答データＡＤ[4]が、マスタＥＣＵ１１がスレーブＥＣＵ１２宛てに送信したどの解答データＡＤ[1]に対応するものであるかを認識し、答合わせ処理を正確に行うことができる。
【００３６】
また解答データＡＤ[i]を含む通信データフレームは、例えば図８（ｂ）に示すように、マスタＥＣＵ１１は、同じ解答データＡＤ[1]を格納したフレームＦＬ１２Ａと、フレームＦＬ１２Ｂとをバス１０に送出し、スレーブＥＣＵ１３は、同じ解答データＡＤ[3]を格納したフレームＦＬ３４Ａと、フレームＦＬ３４Ｂとをバス１０に送出すること、すなわち送信側で同じ解答データＡＤ[i]を２つのフレームに格納して送信し、受信側では２つのフレームに格納された解答データＡＤ[i]が一致したときに正しい解答データＡＤ[i]を受信したと判定することが望ましい。このように、複数フレームの同じ解答データＡＤ[i]を格納して送信を行うことにより、解答データＡＤ[i]の伝送における信頼性を高めることができる。この場合、フレームＦＬ１２Ａ及びＦＬ１２Ｂに含まれるシーケンス番号ＳＥＱＮは同一であることが必要であるが、通常データＤＡＴＡは異なるものであってもよい。
【００３７】
以上のように本実施形態では、マスタＥＣＵ１１において、問題生成関数Ｄ（ｘ）を用いて問題データＱＤが生成されるとともに、生成された問題データＱＤをマスタＥＣＵ１１に対応する解答生成関数Ｆ1（ｘ）に適用することによって、解答データＡＤ[1]が生成され、スレーブＥＣＵ１２に送信される。スレーブＥＣＵ１２，１３では、マスタＥＣＵ１１またはスレーブＥＣＵ１２から送信される解答データＡＤ[1]，ＡＤ[2]を、問題データｘとして解答生成関数Ｆ2（ｘ）,Ｆ3（ｘ）に適用することによって、解答データＡＤ[2]，ＡＤ[3]が生成され、それぞれスレーブＥＣＵ１３，１４に送信される。スレーブＥＣＵ１４では、スレーブＥＣＵ１３から送信される解答データＡＤ[3]を、問題データｘとして解答生成関数Ｆ4（ｘ）に適用することによって、解答データＡＤ[4]が生成され、マスタＥＣＵ１１に送信される。マスタＥＣＵ１１では、４個の解答生成関数Ｆ1〜Ｆ4を用いて、解答データＡＤ[4]に対応する正解データＡＤＣ[4]が比較正解データＡＣとして生成され、解答データＡＤ[4]が比較正解データＡＣと一致しないときに、マスタＥＣＵ１１またはスレーブＥＣＵ１２〜１４の少なくとも一つに異常が発生したと判定される。したがって、マスタＥＣＵ１１はスレーブＥＣＵ１２への解答データＡＤ[1]の送信と、スレーブＥＣＵ１４からの解答データＡＤ[4]の受信のみを行うことによって、制御装置全体としての異常判定を行うことができる。その結果、スレーブＥＣＵの数が増加してもマスタＥＣＵ１１における監視のための処理負荷が、ほとんど増加することがなく、かつバス１０の通信負荷を抑制することが可能となる。
【００３８】
またマスタＥＣＵ１１では、比較正解データＡＣと解答データＡＤ[4]とが一致している間は、問題データＱＤの生成及び解答データＡＤ[1]の生成及び送信が一定時間毎に実行されるので、本来実行すべき処理とともに、スレーブＥＣＵ１２〜１４の監視を常時行うことができる。
【００３９】
本実施形態では、マスタＥＣＵ１１がマスタユニットに相当し、スレーブＥＣＵ１２〜１４がスレーブユニットに相当し、シーケンス番号ＳＥＱＮがインデクス情報に相当する。
【００４０】
図９は、上述した実施形態の変形例を説明するための図であり、この変形例では、同図（ａ）に示すように、マスタＥＣＵ１１及びスレーブＥＣＵ１２〜１４が、接続線２１〜２４によってディジーチェイン接続されており、接続線２１〜２４を介してＥＣＵ１１〜１４は相互に通信可能に構成されている。
【００４１】
この変形例では、図９（ｂ）に示されるように、パイプライン処理を採用することにより、より短い周期で監視処理を実行することが可能となる。図９（ｂ）に示す「Ｃ」は通信処理を示している。マスタＥＣＵ１１においては、処理Ｐ１によって問題データ生成及び解答データＡＤ[1]の生成が行われ、解答データＡＤ[1]の通信処理Ｃが終了すると、直ぐにまた処理Ｐ１が実行される。すなわち、処理Ｐ１と処理Ｃが繰り返し実行される。
【００４２】
スレーブＥＣＵ１２では、マスタＥＣＵ１１から解答データＡＤ[1]を受信すると処理Ｐ２によって解答データＡＤ[2]が生成され、解答データＡＤ[2]の通信処理Ｃが終了し、次の解答データＡＤ[1]を受信すると、処理Ｐ２が実行される。すなわち、処理Ｐ２と処理Ｃが繰り返し実行される。スレーブＥＣＵ１３では、スレーブＥＣＵ１２から解答データＡＤ[2]を受信すると処理Ｐ３によって解答データＡＤ[3]が生成され、解答データＡＤ[3]の通信処理Ｃが終了し、次の解答データＡＤ[2]を受信すると、処理Ｐ３が実行される。すなわち、処理Ｐ３と処理Ｃが繰り返し実行される。スレーブＥＣＵ１４では、スレーブＥＣＵ１３から解答データＡＤ[3]を受信すると処理Ｐ４によって解答データＡＤ[4]が生成され、解答データＡＤ[4]の通信処理Ｃが終了し、次の解答データＡＤ[3]を受信すると、処理Ｐ４が実行される。すなわち、処理Ｐ４と処理Ｃが繰り返し実行される。
【００４３】
マスタＥＣＵ１１では、時刻ｔ１以後は正解生成処理、答合わせ処理、及び解答生成処理で構成される処理Ｐ１ａと処理Ｃとが繰り返し実行される。なお、４回実行される処理Ｐ１では、問題データＱＤを生成するために、４つの異なる初期データＱＩＮＩが問題生成関数Ｄ（ｘ）に適用される。
【００４４】
なお本発明は上述した実施形態に限るものではなく、種々の変形が可能である。例えば、上述した実施形態では、ＩＧ−ＥＣＵ１１がマスタＥＣＵとして動作するようにしたが、ＦＩ−ＥＣＵ１２，ＴＨ−ＥＣＵ１３，またはＶＴ−ＥＣＵ１４の何れかがマスタＥＣＵとして動作するようにしてもよい。また、制御装置を構成するＥＣＵの数は、上述した４個に限るものではなく、本発明は３個以上のＥＣＵによって構成される制御装置に適用可能であり、かつ従来技術より優れた効果が得られる。
【００４５】
また制御対象は内燃機関に限るものではなく、例えば内燃機関、変速装置、ナビゲーション装置などを含む車両搭載装置全体を制御対象とする制御装置などにも本発明は適用可能である。
【符号の説明】
【００４６】
１  内燃機関
１１  点火制御電子制御ユニット（マスタユニット）
１２  燃料噴射制御電子制御ユニット（スレーブユニット）
１３  スロットル弁制御電子制御ユニット（スレーブユニット）
１４  吸気弁作動位相制御電子制御ユニット（スレーブユニット）
【図１】
2017027429.tif 000003
【図２】
2017027429.tif 000004
【図３】
2017027429.tif 000005
【図４】
2017027429.tif 000006
【図５】
2017027429.tif 000007
【図６】
2017027429.tif 000008
【図７】
2017027429.tif 000009
【図８】
2017027429.tif 000010
【図９】
2017027429.tif 000011