(57)【要約】【課題】  サブ通信モジュールを確実に動作可能な車両用制御装置を提供する。【解決手段】  ＣＡＮ等の車載ネットワークに接続されるメイン制御部１２及びサブ制御部２２を有する車両用制御装置において、サブ通信モジュール２４は、所定のデータで構成される送信データをメイン通信モジュール１４に送信し、メイン通信モジュール１４は、送信データに基づき構成される返信データをサブ通信モジュール２４に送信し、サブ通信モジュール２４が返信データを受信する時に、サブ制御部２２は、返信データに基づき、サブ通信モジュール２４が正常であるか否かを確認する。サブ通信モジュール２４が正常であることが確認された後に、ＳＰＩ等の異なる経路を介してメイン通信モジュール１４が故障していることが判定される時に、車載ネットワーク上の車載装置への制御データの送信は、サブ通信モジュール２４によって実行される。【選択図】  図１
2018158591.tif 000002
【特許請求の範囲】
【請求項１】
車載ネットワークに接続されるメイン制御部及びサブ制御部を有する車両用制御装置であって、
前記車載ネットワーク上の通信を実行可能な第１のメイン通信モジュールと、
前記車載ネットワーク上の通信を実行可能な第１のサブ通信モジュールと、
前記車載ネットワークとは異なる経路上の通信を実行可能な第２のメイン通信モジュールと、
前記異なる経路上の通信を実行可能な第２のサブ通信モジュールと、
を備え、
前記第１のサブ通信モジュールは、所定のデータで構成される送信データを前記第１のメイン通信モジュールに送信し、
前記第１のメイン通信モジュールは、前記送信データに基づき構成される返信データを前記第１のサブ通信モジュールに送信し、
前記第１のサブ通信モジュールが前記返信データを受信する時に、前記サブ制御部は、前記返信データに基づき、前記第１のサブ通信モジュールが正常であるか否かを確認し、
前記第１のメイン通信モジュールが故障していることが前記メイン制御部によって判定される時に、前記第２のメイン通信モジュールは、故障データを前記第２のサブ通信モジュールに送信し、
前記第２のサブ通信モジュールが前記故障データを受信する時に、前記サブ制御部は、前記第１のメイン通信モジュールが故障していることを判定し、
前記車載ネットワークを介して前記第１のサブ通信モジュールが正常であることが確認された後に、前記異なる経路を介して前記第１のメイン通信モジュールが故障していることが判定される時に、前記車載ネットワーク上の車載装置への制御データの送信は、前記第１のメイン通信モジュールの代わりに前記第１のサブ通信モジュールによって実行されることを特徴とする車両用制御装置。
【請求項２】
前記第２のメイン通信モジュールからのデータが断絶する時に、前記サブ制御部は、前記第１のメイン通信モジュールからのデータが断絶しているか否かを判定し、
前記第２のメイン通信モジュールからのデータが断絶し、且つ前記第１のメイン通信モジュールからのデータが断絶しない時に、前記車載ネットワーク上の前記車載装置への前記制御データの送信は、前記第１のメイン通信モジュールによって実行され続けることを特徴とする請求項１に記載の車両用制御装置。
【請求項３】
前記第２のメイン通信モジュールからのデータが断絶し、且つ前記第１のメイン通信モジュールからのデータも断絶する時に、前記サブ制御部は、前記メイン制御部が故障していることを推定し、且つ前記車載ネットワーク上の前記車載装置への前記制御データの送信を前記第１のサブ通信モジュールによって実行することを特徴とする請求項２に記載の車両用制御装置。
【請求項４】
前記第１のサブ通信モジュールから前記第１のメイン通信モジュールに送信される前記送信データを構成する前記所定のデータは、所定の間隔で前記サブ制御部での所定の演算を実行することによって生成される可変データであることを特徴とする請求項１乃至３の何れか１項に記載の車両用制御装置。
【請求項５】
前記返信データが前記可変データに基づく時に、前記サブ制御部は、前記第１のサブ通信モジュールが正常であることを確認することを特徴とする請求項４に記載の車両用制御装置。
【請求項６】
前記返信データが前記可変データに基づかない時に、前記サブ制御部は、前記第１のサブ通信モジュールの異常を前記異なる経路を介して前記メイン制御部に送信し、
前記異なる経路を介して前記第１のサブ通信モジュールの前記異常が前記メイン制御部によって受信され、且つ前記第１のメイン通信モジュールが故障していることが前記メイン制御部によって判定される時に、前記第２のメイン通信モジュールは、前記第１のメイン通信モジュールの前記故障データを前記第２のサブ通信モジュールに送信せず、且つ前記車載ネットワーク上の前記車載装置への前記制御データの送信は、前記第１のメイン通信モジュール及び前記第１のサブ通信モジュールによって実行されないことを特徴とする請求項５に記載の車両用制御装置。
【請求項７】
前記サブ制御部は、前記第１のサブ通信モジュールが故障しているか否かを判定し、
前記第１のサブ通信モジュールが故障していないことが前記サブ制御部によって判定された後に、前記サブ制御部は、前記返信データに基づき、前記第１のサブ通信モジュールが正常であるか否かを確認することを特徴とする請求項１乃至６に記載の車両用制御装置。
【請求項８】
前記第１のサブ通信モジュールは、前記返信データに基づく次の所定のデータで構成される次の送信データを前記第１のメイン通信モジュールに送信し、
前記第１のメイン通信モジュールが前記送信データを受信する時に、前記メイン制御部は、前記送信データ及び返信データに基づき、前記第１のメイン通信モジュールが正常であるか否かを確認し、
前記第１のメイン通信モジュールが正常であることが確認されない時に、前記第２のメイン通信モジュールは、前記第１のメイン通信モジュールの異常を前記第２のサブ通信モジュールに送信することを特徴とする請求項１乃至７に記載の車両用制御装置。
【請求項９】
前記車載ネットワーク上の前記車載装置への前記制御データの送信が、前記第１のメイン通信モジュールの代わりに前記第１のサブ通信モジュールによって実行される時に、前記制御データは、前記車載装置の動作を縮退させる縮退データであることを特徴とする請求項１乃至８に記載の車両用制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば自動車等の車両に用いられる制御装置（車両用制御装置）であって、メイン制御部及びサブ制御部を備えて冗長化された制御装置等に関する。
【背景技術】
【０００２】
例えば特許文献１は、駆動装置の制御装置を開示し、その制御装置は、メイン系マイコン及びサブ系マイコンを備え、ＡＤ（Analog-to-Digital）変換モジュール及びＣＡＮ（Controller Area Network）モジュールが冗長化されている。特許文献１の制御装置では、具体的には、入力データを演算する出力演算ソフトがメイン系マイコンのみに格納されている。メイン系ＣＡＮモジュールが異常であり、且つサブ系ＣＡＮモジュールが正常である時に、メイン系マイコンは、ＤＰＲＡＭ（Dual Port RAM）に格納されるサブ系ＣＡＮ入力データを使用し、サブ系ＣＡＮモジュールでの通信を実行することができる。
【０００３】
なお、特許文献１のサブ系マイコン（サブ系駆動装置（ＡＴＣＵ）用制御装置のＣＰＵ）は、サブ系ＣＡＮモジュールの状態（正常又は異常）及びサブ系ＣＡＮ入力データ（入力値）をＤＰＲＡＭに常に書き込むことができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１６−０５５８３２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１では、メイン系ＣＡＮモジュールが正常である時に、メイン系ＣＡＮモジュールでの通信が実行される一方、サブ系ＣＡＮモジュールでの通信は、実行されない。従って、メイン系ＣＡＮモジュールの状態が正常から異常に変化し、且つサブ系ＣＡＮモジュールが正常である時に、サブ系ＣＡＮモジュールでの通信が実際に実行される。しかしながら、サブ系ＣＡＮモジュールが起動する時に、サブ系ＣＡＮモジュールでの通信が実際には実行されない可能性を本発明者らは認識した。言い換えれば、サブ系マイコンによってサブ系ＣＡＮモジュールが正常であることが誤って判定される時に、サブ系ＣＡＮモジュールに送信データの送信命令が伝わっていても、サブ系ＣＡＮモジュールは、送信データを実際に送信することができない。
【０００６】
また、特許文献１では、メイン系マイコンが異常である時に、サブ系ＣＡＮモジュールでの通信は、実行されない。なぜならば、サブ系ＣＡＮモジュールでの通信は、メイン系マイコンによって制御されるからである。
【０００７】
本発明の１つの目的は、サブ系ＣＡＮモジュール等のサブ通信モジュールを確実に動作可能な車両用制御装置を提供することである。本発明のもう１つの目的は、メイン系マイコン等のメイン制御部が故障する状況であっても、サブ通信モジュールを動作可能な車両用制御装置を提供することである。本発明の他の目的は、以下に例示する態様及び最良の実施形態、並びに添付の図面を参照することによって、当業者に明らかになるであろう。
【課題を解決するための手段】
【０００８】
以下に、本発明の概要を容易に理解するために、本発明に従う態様を例示する。
【０００９】
第１の態様において、車載ネットワークに接続されるメイン制御部及びサブ制御部を有する車両用制御装置は、
前記車載ネットワーク上の通信を実行可能な第１のメイン通信モジュールと、
前記車載ネットワーク上の通信を実行可能な第１のサブ通信モジュールと、
前記車載ネットワークとは異なる経路上の通信を実行可能な第２のメイン通信モジュールと、
前記異なる経路上の通信を実行可能な第２のサブ通信モジュールと、
を備え、
前記第１のサブ通信モジュールは、所定のデータで構成される送信データを前記第１のメイン通信モジュールに送信し、
前記第１のメイン通信モジュールは、前記送信データに基づき構成される返信データを前記第１のサブ通信モジュールに送信し、
前記第１のサブ通信モジュールが前記返信データを受信する時に、前記サブ制御部は、前記返信データに基づき、前記第１のサブ通信モジュールが正常であるか否かを確認し、
前記第１のメイン通信モジュールが故障していることが前記メイン制御部によって判定される時に、前記第２のメイン通信モジュールは、故障データを前記第２のサブ通信モジュールに送信し、
前記第２のサブ通信モジュールが前記故障データを受信する時に、前記サブ制御部は、前記第１のメイン通信モジュールが故障していることを判定し、
前記車載ネットワークを介して前記第１のサブ通信モジュールが正常であることが確認された後に、前記異なる経路を介して前記第１のメイン通信モジュールが故障していることが判定される時に、前記車載ネットワーク上の車載装置への制御データの送信は、前記第１のメイン通信モジュールの代わりに前記第１のサブ通信モジュールによって実行される。
【００１０】
第１の態様では、車載ネットワーク（例えばＣＡＮ）上の車載装置への制御データの送信が第１のサブ通信モジュールによって実行される前に、第１のサブ通信モジュールは、車載ネットワークを介して送信データを第１のメイン通信モジュールに実際に送信し、その実行結果としての返信データを第１のメイン通信モジュールから実際に受信している。第１の態様では、第１のサブ通信モジュールが実際に送信データを送信できたことが確認されているので、第１のサブ通信モジュールは、車載ネットワーク上の車載装置に制御データを確実に送信することができる。このように、第１の態様では、サブ通信モジュールを確実に動作可能な車両用制御装置を提供することができる。
【００１１】
第１の態様に従属する第２の態様において、
前記第２のメイン通信モジュールからのデータが断絶する時に、前記サブ制御部は、前記第１のメイン通信モジュールからのデータが断絶しているか否かを判定してもよく、
前記第２のメイン通信モジュールからのデータが断絶し、且つ前記第１のメイン通信モジュールからのデータが断絶しない時に、前記車載ネットワーク上の前記車載装置への前記制御データの送信は、前記第１のメイン通信モジュールによって実行され続けてもよい。
【００１２】
第２の態様では、第２のメイン通信モジュールからのデータが断絶する状況であっても、第１のメイン通信モジュールからのデータが断絶しない時に、サブ制御部は、車載ネットワークの異常（例えばメイン制御部の故障）ではなく、異なる経路の異常（例えばＳＰＩ通信線の断線）を推定することができる。第２の態様では、第１のメイン通信モジュールからのデータが断絶しない時に、言い換えれば、第１のメイン通信モジュールが実際に例えば返信データを送信できたことが確認されているので、第１のメイン通信モジュールは、車載ネットワーク上の車載装置に制御データを確実に送信することができる。このように、第１のメイン通信モジュールの動作は、継続可能である。
【００１３】
第２の態様に従属する第３の態様において、
前記第２のメイン通信モジュールからのデータが断絶し、且つ前記第１のメイン通信モジュールからのデータも断絶する時に、前記サブ制御部は、前記メイン制御部が故障していることを推定し、且つ前記車載ネットワーク上の前記車載装置への前記制御データの送信を前記第１のサブ通信モジュールによって実行してもよい。
【００１４】
第３の態様では、第２のメイン通信モジュールからのデータが断絶し、且つ第１のメイン通信モジュールからのデータも断絶する時に、サブ制御部は、異なる経路の異常（例えばＳＰＩ通信線の断線）ではなく、メイン制御部の故障を推定することができる。第３の態様では、言い換えれば、第１のメイン通信モジュールが実際に例えば返信データを送信できなかったことが確認されているので、第１のメイン通信モジュールは、もはや車載ネットワーク上の車載装置に制御データを確実に送信することができない。従って、第１のメイン通信モジュールの代わりに第１のサブ通信モジュールは、車載ネットワーク上の車載装置に制御データを確実に送信することができる。
【００１５】
第１〜第３の態様の何れか１つの態様に従属する第４の態様において、
前記第１のサブ通信モジュールから前記第１のメイン通信モジュールに送信される前記送信データを構成する前記所定のデータは、所定の間隔で前記サブ制御部での所定の演算を実行することによって生成される可変データであってもよい。
【００１６】
第４の態様では、送信データを構成する所定のデータが可変データであるので、送信データは、所定の間隔で変更される。従って、送信データに基づき構成される返信データも所定の間隔で変更される。このような返信データを利用することによって、第４の態様では、第１のサブ通信モジュールが実際に送信データを送信できたことをより一層確実に確認することができる。言い換えれば、返信データが固定データであり、又は送信データ（可変データ）が返信データに反映されない時に、サブ制御部は、第１のサブ通信モジュールが正常であることを確認しない又は第１のサブ通信モジュールの異常を判定することができる。
【００１７】
第４の態様に従属する第５の態様において、
前記返信データが前記可変データに基づく時に、前記サブ制御部は、前記第１のサブ通信モジュールが正常であることを確認してもよい。
【００１８】
第５の態様では、返信データが可変データ（所定の間隔で変更される送信データ）に基づく時に、第１のサブ通信モジュールが実際に送信データを送信できたことをより一層確実に確認することができる。
【００１９】
第５の態様に従属する第６の態様において、
前記返信データが前記可変データに基づかない時に、前記サブ制御部は、前記第１のサブ通信モジュールの異常を前記異なる経路を介して前記メイン制御部に送信してもよく、
前記異なる経路を介して前記第１のサブ通信モジュールの前記異常が前記メイン制御部によって受信され、且つ前記第１のメイン通信モジュールが故障していることが前記メイン制御部によって判定される時に、前記第２のメイン通信モジュールは、前記第１のメイン通信モジュールの前記故障データを前記第２のサブ通信モジュールに送信せず、且つ前記車載ネットワーク上の前記車載装置への前記制御データの送信は、前記第１のメイン通信モジュール及び前記第１のサブ通信モジュールによって実行されなくてもよい。
【００２０】
第６の態様では、返信データが可変データ（所定の間隔で変更される送信データ）に基づかない時に、サブ制御部は、第１のサブ通信モジュールの異常を異なる経路を介してメイン制御部に送信する。第６の態様では、第１のメイン通信モジュールが故障する状況であっても、メイン制御部は、第１のメイン通信モジュールが故障していることをサブ制御部に伝えない。従って、第６の態様では、返信データが可変データに基づかない時に、サブ制御部は、第１のメイン通信モジュールが故障していることを判定できないので、第１のサブ通信モジュールは、車載ネットワーク上の車載装置に制御データを送信しない。
【００２１】
第１〜第６の態様の何れか１つの態様に従属する第７の態様において、
前記サブ制御部は、前記第１のサブ通信モジュールが故障しているか否かを判定してもよく、
前記第１のサブ通信モジュールが故障していないことが前記サブ制御部によって判定された後に、前記サブ制御部は、前記返信データに基づき、前記第１のサブ通信モジュールが正常であるか否かを確認してもよい。
【００２２】
第７の態様では、第１のサブ通信モジュールが故障していないことがサブ制御部によって判定される時に、第１のサブ通信モジュールが実際に送信データを送信できたか否かを返信データによって確かめることができる。言い換えれば、第１のサブ通信モジュールが故障していないことがサブ制御部によって判定される時に、第１のサブ通信モジュールでの送信が実際には実行されない可能性を本発明者らは認識した。
【００２３】
第１〜第７の態様の何れか１つの態様に従属する第８の態様において、
前記第１のサブ通信モジュールは、前記返信データに基づく次の所定のデータで構成される次の送信データを前記第１のメイン通信モジュールに送信してもよく、
前記第１のメイン通信モジュールが前記送信データを受信する時に、前記メイン制御部は、前記送信データ及び前記返信データに基づき、前記第１のメイン通信モジュールが正常であるか否かを確認してもよく、
前記第１のメイン通信モジュールが正常であることが確認されない時に、前記第２のメイン通信モジュールは、前記第１のメイン通信モジュールの異常を前記第２のサブ通信モジュールに送信してもよい。
【００２４】
第８の態様では、第１のメイン通信モジュールが故障していないことがメイン制御部によって判定される状況であっても、第１のメイン通信モジュールでの送信が実際には実行されない可能性を本発明者らは認識した。言い換えれば、第８の態様では、第１のメイン通信モジュールは、車載ネットワークを介して返信データを第１のサブ通信モジュールに実際に送信し、その実行結果としての返信データが送信データに反映されない時に、第１のメイン通信モジュールでの送信が実際には実行されていないことを推定し、又は第１のメイン通信モジュールが正常であることが確認されない。このような状況において、第８の態様では、メイン制御部は、第１のメイン通信モジュールの異常をサブ制御部に伝えることができる。
【００２５】
第１〜第８の態様の何れか１つの態様に従属する第９の態様において、
前記車載ネットワーク上の前記車載装置への前記制御データの送信が、前記第１のメイン通信モジュールの代わりに前記第１のサブ通信モジュールによって実行される時に、前記制御データは、前記車載装置の動作を縮退させる縮退データであってもよい。
【００２６】
第９の態様では、第１のメイン通信モジュールの故障がサブ制御部に伝えられる時に、サブ制御部は、車載装置に縮退データを送信することができる。言い換えれば、第９の態様では、第１のサブ通信モジュールが冗長化されない時に、車両用制御装置によって制御される車載装置の機能を縮小し又は車載装置の一部を停止することができる。
【００２７】
当業者は、例示した本発明に従う態様が、本発明の精神を逸脱することなく、さらに変更され得ることを容易に理解できるであろう。
【図面の簡単な説明】
【００２８】
【図１】本発明に従う車両用制御装置の構成例を示す。
【図２】図２（Ａ）は、第１のサブ通信モジュールが正常であるか否かを確認するためのＣＡＮ送信データ（所定のデータ）を生成するサブ制御装置の動作例を示すフローチャート図を示し、図２（Ｂ）は、ＣＡＮ送信データ（所定のデータ）に基づくＣＡＮ返信データを生成するメイン制御装置の動作例を示すフローチャート図を示す。
【図３】図３（Ａ）は、サブ制御装置に縮退データを送信させるためのＣＡＮ故障データを生成するメイン制御装置の動作例を示すフローチャート図を示し、図３（Ｂ）は、縮退データを生成するサブ制御装置の動作例を示すフローチャート図を示す。
【発明を実施するための形態】
【００２９】
以下に説明する最良の実施形態は、本発明を容易に理解するために用いられている。従って、当業者は、本発明が、以下に説明される実施形態によって不当に限定されないことを留意すべきである。
【００３０】
図１は、本発明に従う車両用制御装置の構成例を示す。図１には図示されていないが、自動車等の車両は、典型的には、多くのＥＣＵ（Electronic Control Unit）を備え、それらのＥＣＵは、例えばＣＡＮ等の車載ネットワークに接続されている。また、それらのＥＣＵは、図示されない各種のアクチュエータを制御し、車両の走行を実現することができる。図１に示される車両用制御装置は、それらのＥＣＵの中の１つのＥＣＵ、又はそれらのＥＣＵを統括する統括ＥＣＵであり、車両用制御装置は、例えば２線式差動電圧方式のＣＡＮ通信を実行可能なＣＡＮ（広義には、車載ネットワーク）に接続されるメイン制御部１２及びサブ制御部２２を有する。メイン制御部１２及びサブ制御部２２のそれぞれは、典型的には、例えばＣＰＵ等の演算部を備えている。
【００３１】
図１において、メイン制御部１２は、例えばＣＡＮ通信モジュール等の第１のメイン通信モジュール１４（車載ネットワークモジュール）でＣＡＮ上の通信を実行し、通常の動作として、車載ネットワーク上のＥＣＵ（広義には、車載装置）に制御データを送信することができる。他方、サブ制御部２２は、通常の動作として、車載ネットワーク上のＥＣＵに制御データを送信しない。メイン側のＣＡＮ通信モジュールが故障する場合に限って、サブ制御部２２は、例外又は緊急の動作として、第１のサブ通信モジュール２４（具体的には、サブ側のＣＡＮ通信モジュール）で車載ネットワーク上のＥＣＵに制御データを送信可能である。このように冗長化されたメイン側及びサブ側のＣＡＮ通信モジュールが車両用制御装置に設けられている。
【００３２】
図１の車両用制御装置は、具体的には、メイン制御装置１０及びサブ制御装置２０を備え、メイン制御装置１０及びサブ制御装置２０の各々は、例えばＳＰＩ（Serial Peripheral Interface）等のＣＡＮとは異なる経路上の通信（メイン・サブ間通信）を実行可能なＳＰＩ通信モジュールを有している。第２のメイン通信モジュール１６（具体的には、メイン側のＳＰＩ通信モジュール）は、第１のメイン通信モジュール１４（メイン側のＣＡＮ通信モジュール）の故障、異常等を第２のサブ通信モジュール２６（具体的には、サブ側のＳＰＩ通信モジュール）に伝えることができる。同様に、第２のサブ通信モジュール２６（具体的には、サブ側のＳＰＩ通信モジュール）は、第１のサブ通信モジュール２４（サブ側のＣＡＮ通信モジュール）の故障、異常等を第１のメイン通信モジュール１６（具体的には、メイン側のＳＰＩ通信モジュール）に伝えることができる。
【００３３】
図２（Ａ）は、第１のサブ通信モジュール２４（サブ側のＣＡＮ通信モジュール）が正常であるか否かを確認するためのＣＡＮ送信データ（所定のデータ）を生成するサブ制御装置２０の動作例を示すフローチャート図を示す。図２（Ｂ）は、ＣＡＮ送信データ（所定のデータ）に基づくＣＡＮ返信データを生成するメイン制御装置１０の動作例を示すフローチャート図を示す。
【００３４】
第１のサブ通信モジュール２４（サブ側のＣＡＮ通信モジュール）は、通常の動作として、車載ネットワーク上のＥＣＵ（広義には、車載装置）に制御データを送信せず、メイン制御装置１０だけに対して、サブ側のＣＡＮ通信モジュールが正常であるか否かを確認するためのＣＡＮ送信データ（所定のデータ）を送信することができる（図２（Ａ）のステップＳＴ０４参照）。
【００３５】
なお、サブ制御装置２０が通常の動作を開始する時に、メイン側の返信データ（サブ側の受信データ）には初期値が設定されて、サブ制御装置２０は、例えばステップＳＴ０１及びステップＳＴ０２を省略し、ステップＳＴ０３を実行する。言い換えれば、サブ制御装置２０が通常の動作を開始する時に、サブ制御装置２０は、直ぐにステップＳＴ０３でＣＡＮ送信データ（所定のデータ）を生成することができる。
【００３６】
図２（Ａ）のステップＳＴ０３において、サブ制御装置２０は、サブ側の所定の演算として、例えば受信データの数値と任意に設定されるサブ側の例えば固定の数値とを加算する。サブ側の演算値である加算値は、所定のデータ（所定の数値）に設定される。サブ制御装置２０は、その所定のデータを含む送信データを生成し、サブ制御装置２０は、サブ側のＣＡＮ通信モジュールを使用して、ＣＡＮ上のメイン制御装置１０に送信データ（所定のデータ）を送信する（ステップＳＴ０４参照）。
【００３７】
ところで、第１のメイン通信モジュール１４（メイン側のＣＡＮ通信モジュール）は、通常の動作として、車載ネットワーク上のＥＣＵに制御データを送信するとともに、サブ制御装置２０だけに対して、サブ側のＣＡＮ通信モジュールからの送信データ（所定のデータ）に基づくＣＡＮ返信データを生成することができる（図２（Ｂ）のステップＳＴ１３参照）。
【００３８】
なお、メイン制御装置１０が通常の動作を開始する時に、メイン制御装置１０は、例えばステップＳＴ１１及びステップＳＴ１２を省略し、ステップＳＴ１３を実行する。言い換えれば、メイン制御装置１０がサブ制御装置２０からの送信データ（所定のデータ）を受信する時に、メイン側の受信データにサブ側の送信データ（所定のデータ）が設定されて、メイン制御装置１０は、ステップＳＴ１３で受信データ（所定のデータ）に基づく返信データ（メイン側の送信データ）を生成することができる。
【００３９】
図２（Ｂ）のステップＳＴ１３において、メイン制御装置１０は、メイン側の所定の演算として、例えば受信データの数値（所定のデータの所定の数値）と任意に設定されるメイン側の例えば固定の数値とを加算する。メイン側の演算値である加算値は、メイン側の送信データの数値に設定される。メイン制御装置１０は、その送信データを含む返信データを生成し、メイン制御装置１０は、メイン側のＣＡＮ通信モジュールを使用して、ＣＡＮ上のサブ制御装置２０に返信データを送信する（ステップＳＴ１４参照）。
【００４０】
図２（Ａ）のステップＳＴ０１において、サブ制御装置２０は、ステップＳＴ０４で送信データ（所定のデータ）を送信した後に、一定時間が経過したか否かを判定することができる。ここで、一定時間は、サブ制御装置２０での送信データ（所定のデータ）の送信からサブ制御装置２０での受信データ（返信データ）の受信までに要する通常の時間に基づき、例えば、一定時間は、通常の時間に最大の許容時間を追加することによって設定される。
【００４１】
一定時間が経過した後に、サブ制御装置２０は、サブ側のＣＡＮ通信モジュール（具体的には受信バッファ）に受信されているサブ側の受信データを読み出することができる。なお、メイン制御装置１０は、メイン側のＣＡＮ通信モジュールを使用して、ＣＡＮ上のサブ制御装置２０にメイン側の返信データを送信するので、サブ側の受信データは、通常、メイン側の返信データと一致する。図２（Ａ）のステップＳＴ０２において、サブ制御装置２０は、サブ側の受信データが正当であるか否かが確認される。具体的には、サブ制御装置２０は、サブ側の受信データ（＝メイン側の返信データ）の数値が図２（Ｂ）のステップ１３でのメイン側の演算値と一致しているか否かを確認するために、メイン側の所定の演算と同一の演算を実行する（図２（Ａ）のステップＳＴ０２参照）。
【００４２】
図２（Ａ）のステップＳＴ０２において、より具体的には、サブ制御装置２０は、サブ制御部２２（具体的にはＲＡＭ）に記憶されたサブ側の演算値（ステップＳＴ０３の実行結果である所定のデータの所定の数値）を読み出し、その演算値（所定のデータの所定の数値）と任意に設定されるメイン側の例えば固定の数値とを加算する。或いは、サブ制御装置２０は、サブ側のＣＡＮ通信モジュール（具体的には送信バッファ）に記憶されたサブ側の送信データの数値を読み出し、その数値（所定のデータの所定の数値）と任意に設定されるメイン側の例えば固定の数値とを加算する。
【００４３】
ステップＳＴ０２では、サブ制御装置２０は、サブ側の受信データ（＝メイン側の返信データ）の数値が加算値と一致しているか否かを確認することができる。なお、メイン側の例えば固定の数値は、サブ制御装置２０及びメイン制御装置１０間で同一の数値が用いられ、その数値は、サブ制御装置２０及びメイン制御装置１０の各々に予め設定されている。ステップＳＴ０４でサブ側のＣＡＮ通信モジュールが送信データ（所定のデータ）を実際に送信できた時には、サブ側の受信データ（＝メイン側の返信データ）の数値が加算値と一致するので、サブ制御装置２０は、サブ側のＣＡＮ通信モジュールが正常であることを確認する。
【００４４】
他方、ステップＳＴ０４でサブ側のＣＡＮ通信モジュールが送信データ（所定のデータ）を実際に送信できなかった時には、サブ側の受信データ（＝メイン側の返信データ）の数値が加算値と一致しないので、サブ制御装置２０は、サブ側のＣＡＮ通信モジュールが正常であることを確認しない。言い換えれば、サブ側の受信データ（＝メイン側の返信データ）の数値が加算値と一致しない時に、サブ制御装置２０は、サブ側のＣＡＮ通信モジュールでの送信が実際には実行されていないことを推定し、サブ側のＣＡＮ通信モジュールの異常を判定することができる（図２（Ａ）のステップＳＴ０５参照）。
【００４５】
以下に、サブ側の送信データ（所定のデータ）とメイン側の返信データとの関係について、具体的に説明する。サブ側の受信データが例えば「０」（＝初期値）を表し、サブ側の固定値が例えば「２」である時に、ステップＳＴ０３で所定のデータは、例えば「２」（＝「０」＋「２」）を表す。従って、例えば「２」を表すサブ側の送信データが実際にサブ側のＣＡＮ通信モジュールからメイン側のＣＡＮ通信モジュールに伝わる時に、ステップＳＴ１２でのメイン側の受信データは、例えば「２」を表す。メイン側の受信データが「２」を表し、メイン側の固定値が例えば「３」である時に、ステップＳＴ１３でメイン側の返信データは、例えば「５」（＝「２」＋「３」）を表す。従って、例えば「３」を表すメイン側の返信データ（送信データ）が実際にメイン側のＣＡＮ通信モジュールからサブ側のＣＡＮ通信モジュールに伝わる時に、ステップＳＴ０２でのサブ側の受信データ（メイン側の送信データ）は、例えば「５」を表す。同時に、ステップＳＴ０２において、ステップＳＴ０４で送信された送信データの数値（「２」）とメイン側の固定値（「３」）との加算値（「５」）が演算されて、この加算値とサブ側の受信データ（メイン側の送信データ）の数値とが比較される。ステップＳＴ０４でサブ側のＣＡＮ通信モジュールが送信データを実際に送信できた時には、サブ側の受信データ（＝メイン側の返信データ）の数値が加算値と一致するので、サブ制御装置２０は、サブ側のＣＡＮ通信モジュールが正常であることを確認する。なお、次のステップＳＴ０３で次の所定のデータは、例えば「７」（＝「５」＋「２」）を表す。このように、サブ側のＣＡＮ通信モジュールが正常である時に、送信データを構成する所定のデータは、可変データ（所定の間隔で変更される送信データ）である。
【００４６】
ところで、例えば「７」を表すサブ側の次の送信データが実際にサブ側のＣＡＮ通信モジュールからメイン側のＣＡＮ通信モジュールに伝わない時に、次のステップＳＴ１２でのメイン側の次の受信データは、前の受信データであり続け、例えば「２」を表す。従って、次のステップＳＴ１３でメイン側の次の返信データは、例えば「５」（＝「２」＋「３」）を表し続ける。次のステップＳＴ０２において、ステップＳＴ０２でのサブ側の次の受信データ（メイン側の次の送信データ）は、例えば「５」を表し続ける。同時に、次のステップＳＴ０２において、ステップＳＴ０４で送信されなかった送信データの数値（「７」）とメイン側の固定値（「３」）との次の加算値（「１０」）が演算されて、この次の加算値とサブ側の次の受信データ（メイン側の次の送信データ）の数値とが比較される。ステップＳＴ０４でサブ側のＣＡＮ通信モジュールが送信データを実際に送信できなかった時には、サブ側の受信データ（＝メイン側の返信データ）の数値が加算値と一致しないので、サブ制御装置２０は、サブ側のＣＡＮ通信モジュールが正常であることを確認しない。即ち、サブ制御装置２０は、サブ側のＣＡＮ通信モジュールでの送信が実際には実行されていないことを推定し、サブ側のＣＡＮ通信モジュールの異常を判定することができる（ステップＳＴ０５参照）。
【００４７】
図２（Ｂ）のステップＳＴ１１において、メイン制御装置１０は、ステップＳＴ１４で送信データ（返信データ）を送信した後に、一定時間が経過したか否かを判定することができる。ここで、一定時間は、メイン制御装置１０での送信データ（返信データ）の送信からメイン制御装置１０での受信データ（送信データ）の受信までに要する通常の時間に基づき、例えば、一定時間は、通常の時間に最大の許容時間を追加することによって設定される。
【００４８】
一定時間が経過した後に、メイン制御装置１０は、メイン側のＣＡＮ通信モジュール（具体的には受信バッファ）に受信されているメイン側の受信データを読み出することができる。なお、サブ制御装置２０は、サブ側のＣＡＮ通信モジュールを使用して、ＣＡＮ上のメイン制御装置１０にサブ側の送信データを送信するので、メイン側の受信データは、通常、サブ側の送信データと一致する。図２（Ｂ）のステップＳＴ１２において、メイン制御装置１０は、メイン側の受信データが正当であるか否かが確認される。具体的には、メイン制御装置１０は、メイン側の受信データ（＝サブ側の送信データ）の数値が図２（Ａ）のステップ０３でのサブ側の演算値と一致しているか否かを確認するために、サブ側の所定の演算と同一の演算を実行する（図２（Ｂ）のステップＳＴ１２参照）。
【００４９】
図２（Ｂ）のステップＳＴ１２において、より具体的には、メイン制御装置１０は、メイン制御部１２（具体的にはＲＡＭ）に記憶されたメイン側の演算値（ステップＳＴ１３の実行結果である返信データの数値）を読み出し、その演算値（返信データの数値）と任意に設定されるサブ側の例えば固定の数値とを加算する。或いは、メイン制御装置１０は、メイン側のＣＡＮ通信モジュール（具体的には送信バッファ）に記憶されたメイン側の送信データの数値を読み出し、その数値（返信データの数値）と任意に設定されるサブ側の例えば固定の数値とを加算する。
【００５０】
ステップＳＴ１２では、メイン制御装置１０は、メイン側の受信データ（＝サブ側の送信データ）の数値が加算値と一致しているか否かを確認することができる。なお、サブ側の例えば固定の数値は、メイン制御装置１０及びサブ制御装置２０間で同一の数値が用いられ、その数値は、メイン制御装置１０及びサブ制御装置２０の各々に予め設定されている。ステップＳＴ１４でメイン側のＣＡＮ通信モジュールが送信データ（返信データ）を実際に送信できた時には、メイン側の受信データ（＝サブ側の送信データ）の数値が加算値と一致するので、サブ制御装置２０は、サブ側のＣＡＮ通信モジュールが正常であることを確認する。
【００５１】
他方、ステップＳＴ１４でメイン側のＣＡＮ通信モジュールが送信データ（返信データ）を実際に送信できなかった時には、メイン側の受信データ（＝サブ側の送信データ）の数値が加算値と一致しないので、メイン制御装置１０は、メイン側のＣＡＮ通信モジュールが正常であることを確認しない。言い換えれば、メイン側の受信データ（＝サブ側の送信データ）の数値が加算値と一致しない時に、メイン制御装置１０は、メイン側のＣＡＮ通信モジュールでの送信が実際には実行されていないことを推定し、メイン側のＣＡＮ通信モジュールの異常を判定することができる（図２（Ｂ）のステップＳＴ１５参照）。
【００５２】
以下に、メイン側の送信データ（返信データ）とサブ側の次の送信データとの関係について、具体的に説明する。例えば「５」を表すメイン側の送信データが実際にメイン側のＣＡＮ通信モジュールからサブ側のＣＡＮ通信モジュールに伝わる時に、ステップＳＴ０２でのサブ側の受信データは、例えば「５」を表す。サブ側の受信データが「５」を表し、サブ側の固定値が例えば「２」である時に、ステップＳＴ０３でサブ側の次の送信データは、例えば「７」（＝「５」＋「２」）を表す。従って、例えば「７」を表すサブ側の次の所定のデータ（次の送信データ）が実際にサブ側のＣＡＮ通信モジュールからメイン側のＣＡＮ通信モジュールに伝わる時に、ステップＳＴ１２でのメイン側の受信データ（メイン側の受信データ）は、例えば「７」を表す。同時に、ステップＳＴ１２において、ステップＳＴ１４で送信された送信データの数値（「５」）とサブ側の固定値（「２」）との加算値（「７」）が演算されて、この加算値とメイン側の受信データ（サブ側の次の送信データ）の数値とが比較される。ステップＳＴ１４でメイン側のＣＡＮ通信モジュールが送信データを実際に送信できた時には、メイン側の受信データ（＝サブ側の次の送信データ）の数値が加算値と一致するので、メイン制御装置１０は、メイン側のＣＡＮ通信モジュールが正常であることを確認する。なお、次のステップＳＴ１３で次の返信のデータは、例えば「１０」（＝「７」＋「３」）を表す。このように、メイン側のＣＡＮ通信モジュールが正常である時に、返信データは、可変データである。
【００５３】
ステップＳＴ１４でメイン側のＣＡＮ通信モジュールが送信データを実際に送信できなかった時には、メイン側の受信データ（＝サブ側の次の送信データ）の数値が加算値と一致しないので、メイン制御装置１０は、メイン側のＣＡＮ通信モジュールが正常であることを確認しない。即ち、メイン制御装置１０は、メイン側のＣＡＮ通信モジュールでの送信が実際には実行されていないことを推定し、メイン側のＣＡＮ通信モジュールの異常を判定することができる（ステップＳＴ１５参照）。
【００５４】
なお、メイン制御装置１０は、図２（Ｂ）のステップＳＴ１２（及びステップＳＴ１５）を常に省略してもよく、従って、例えば、サブ制御装置２０だけがサブ側のＣＡＮ通信モジュールが正常であるか否かを確認してもよい。また、サブ制御装置２０は、図２（Ａ）のステップＳＴ０５を常に省略してもよく、従って、例えば、サブ制御装置２０はサブ側のＣＡＮ通信モジュールの異常をメイン制御装置１０に伝えなくてもよい、言い換えれば、サブ制御装置２０だけがサブ側のＣＡＮ通信モジュールの異常を認識してもよい。さらに、ステップＳＴ０３及び／又はステップＳＴ１３において所定の演算の実行は、省略されてもよく、従って、例えば、所定データ及び／返信データは、固定データであってもよく、この場合に、例えば、受信バッファが初期化されてステップＳＴ１２及び／又はステップＳＴ０２において受信データが正当（所定データ及び／返信データ）であるか否かが確認されてもよい。加えて、例えば、メイン制御装置１０によってメイン側のＣＡＮ通信モジュールの故障が判定される時に、ステップＳＴ０４及びステップＳＴ１４は、１回だけ実行されてもよく、この場合に、サブ側のＣＡＮモジュールで車載ネットワーク上のＥＣＵに制御データを送信する前に、サブ制御装置２０は、サブ側のＣＡＮモジュールの正常を確認し、且つメイン側のＣＡＮ通信モジュールの故障を判定してもよい。
【００５５】
図３（Ａ）は、サブ制御装置２０に縮退データを送信させるためのＣＡＮ故障データを生成するメイン制御装置１０の動作例を示すフローチャート図を示し、図３（Ｂ）は、縮退データを生成するサブ制御装置２０の動作例を示すフローチャート図を示す。図１のメイン制御装置１０がＣＡＮ上のＥＣＵを制御又は統括する時に、メイン制御装置１０の役割は、大きい。１例として、メイン制御装置１０が例えば複数のＥＣＵを制御しながら車両の自動走行を実現する時に、メイン側のＣＡＮ通信モジュールの故障に応じて、サブ制御装置２０は、通常の自動走行から、例えば待避自動走行（自動走行停止を含む）等の例外又は緊急の自動走行に移行することができる。言い換えれば、メイン側のＣＡＮ通信モジュールが故障している時に、サブ制御装置２０は、例えば複数のＥＣＵにそれらの動作を縮退させる縮退データを送信することができる。
【００５６】
図３（Ａ）のステップＳＴ２１において、メイン制御装置１０のメイン制御部１２は、第１のメイン通信モジュール１４に対応するメイン側の例えばＣＡＮ通信モジュールが故障しているか否かを判定する。メイン制御部１２は、例えばＣＡＮコントローラを含み、ＣＡＮ通信モジュールは、例えばＣＡＮトランシーバであり、ＣＡＮコントローラは、ＣＡＮトランシーバの故障を検出又は診断することができる。メイン側のＣＡＮ通信モジュールが故障していない時に、メイン制御部１２は、例えば通常の自動走行に必要な制御出力値をリアルタイムに計算し、その制御出力値に基づき例えばアクチュエータを制御するＥＣＵに制御出力値を含む送信データをメイン側のＣＡＮ通信モジュールから送信する（ステップＳＴ２２及びＳＴ２３参照）。これにより、例えば車両の通常の自動走行が実現される。
【００５７】
メイン側のＣＡＮ通信モジュールが故障している時に、メイン制御部１２は、サブ側のＣＡＮ通信モジュールが故障しているか否かを判定することができる（ステップＳＴ２４参照）。図３（Ｂ）のステップＳＴ３０において、サブ制御装置２０のサブ制御部２２は、第１のサブ通信モジュール２４に対応するサブ側の例えばＣＡＮ通信モジュールが故障しているか否かを判定し、ＣＡＮ通信モジュールの故障を例えばＳＰＩ通信でメイン制御部１２に伝えることができる（ステップＳＴ３６参照）。
【００５８】
メイン側のＣＡＮ通信モジュールが故障している時に、メイン制御部１２は、サブ側のＣＡＮ通信モジュールが異常であるか否かを判定することができる（ステップＳＴ２４参照）。図２（Ａ）のステップＳＴ０２及びＳＴ０５において、サブ制御部２２は、サブ側のＣＡＮ通信モジュールが正常であるか否かを確認することができ、ＣＡＮ通信モジュールの異常を例えばＳＰＩ通信でメイン制御部１２に伝えることができる。
【００５９】
なお、図３（Ａ）のステップＳＴ２４において、メイン制御部１２は、サブ側のＣＡＮ通信モジュールの故障又は異常の何れかを受信しているか否かを判定しているが、サブ側のＣＡＮ通信モジュールの異常だけを受信しているか否かを判定してもよい。或いは、メイン制御部１２は、サブ側のＣＡＮ通信モジュールの故障だけを受信しているか否かを判定してもよい。
【００６０】
図３（Ａ）のステップＳＴ２４において、メイン側のＣＡＮ通信モジュールが故障し、サブ側のＣＡＮ通信モジュールも故障している時に、メイン制御部１２は、ステップＳＴ２５を実行しない。同様に、メイン側のＣＡＮ通信モジュールが故障し、サブ側のＣＡＮ通信モジュールが異常である時に、メイン制御部１２は、ステップＳＴ２５を実行しない。メイン側のＣＡＮ通信モジュールが故障しているが、サブ側のＣＡＮ通信モジュールが故障しないで、正常であることがメイン制御部１２によって確認される時に、メイン制御部１２は、ステップＳＴ２５を実行する。
【００６１】
図３（Ａ）のステップＳＴ２５において、サブ制御装置２０に縮退データを送信させるために、メイン制御部１２は、メイン側のＣＡＮ通信モジュールの故障を表す故障データ（縮退動作指示）を例えばＳＰＩ通信でサブ制御部２２に伝えることができる（図３（Ｂ）のステップＳＴ３５、ＳＴ３３及びＳＴ３４参照）。
【００６２】
サブ側のＣＡＮ通信モジュールが故障していない時に、サブ制御部２２は、メイン制御装置１０とサブ制御装置２０との間のＳＰＩ通信が有効であるか否かを判定することができる（図３（Ｂ）のステップＳＴ３０及びＳＴ３１参照）。例えばメイン制御部１２から出力されるクロック信号がサブ制御部２２によって受信されない時に、サブ制御部２２は、ＳＰＩ通信が有効でないこと、即ちメイン側のＳＰＩ通信モジュールからのデータが断絶していることを判定することができる。
【００６３】
なお、図３（Ａ）のステップＳＴ２１でメイン側のＣＡＮ通信モジュールが故障していない時に、メイン制御部１２は、ＳＰＩ通信でメイン側のＣＡＮ通信モジュールの非故障をサブ制御部２２に伝えてもよく、言い換えれば、メイン制御部１２は、常に、ＳＰＩ通信でメイン側のＣＡＮ通信モジュールの非故障又は故障の何れか一方をサブ制御部２２に伝えてもよい。従って、メイン制御部１２から出力されるクロック信号がサブ制御部２２によって受信される状況であっても、サブ制御部２２（サブ側のＳＰＩ通信モジュール）によって受信されるデータ信号がメイン側のＣＡＮ通信モジュールの非故障又は故障の何れか一方を表さない時に、サブ制御部２２は、ステップＳＴ３１でＳＰＩ通信が有効でないこと、即ちメイン側のＳＰＩ通信モジュールからのデータが断絶していることを判定することができる。
【００６４】
メイン制御装置１０とサブ制御装置２０との間のＳＰＩ通信が有効でない時に、サブ制御部２２は、メイン側のＣＡＮ通信モジュールが正常であるか否かを判定することができる（図３（Ｂ）のステップＳＴ３２参照）。例えば図２（Ａ）のステップＳＴ０２において、サブ制御部２２は、メイン側のＣＡＮ通信モジュールからの送信データ又は返信データを受信する時に、メイン側のＣＡＮ通信モジュールが正常であること、即ちメイン側のＣＡＮ通信モジュールからのデータが断絶していないことを判定することができる。
【００６５】
なお、図２（Ｂ）のステップＳＴ１２でメイン側のＣＡＮ通信モジュールが正常であることが確認される時に、メイン制御部１２は、ＳＰＩ通信でメイン側のＣＡＮ通信モジュールの異常をサブ制御部２２に伝えない。従って、サブ制御部２２（サブ側のＳＰＩ通信モジュール）によって受信されるデータ信号がメイン側のＣＡＮ通信モジュールの異常を表さない時に、サブ制御部２２は、メイン側のＣＡＮ通信モジュールが正常であること、即ちメイン側のＣＡＮ通信モジュールからのデータが断絶していないことを判定することができる。
【００６６】
図３（Ｂ）のステップＳＴ３２において、好ましくは、上述のように、メイン制御装置１０とサブ制御装置２０との間のＣＡＮ通信を用いて、サブ制御部２２は、メイン側のＣＡＮ通信モジュールの正常を確認することができる。しかしながら、サブ制御部２２は、メイン制御装置１０とＣＡＮ上のＥＣＵとの間のＣＡＮ通信を用いて、言い換えれば、メイン側のＣＡＮ通信モジュールがＥＣＵ宛の送信データを送信していることを確認して、メイン側のＣＡＮ通信モジュールが正常であること、即ちメイン側のＣＡＮ通信モジュールからのデータが断絶していないことを判定してもよい。
【００６７】
メイン制御装置１０とサブ制御装置２０との間のＳＰＩ通信が有効でないが、メイン側のＣＡＮ通信モジュールが正常である時に、サブ制御部２２は、ＳＰＩ通信線の断線を推定することができる。従って、サブ制御部２２は、図３（Ｂ）のステップＳＴ３３及びＳＴ３４を実行しない。
【００６８】
他方、メイン制御装置１０とサブ制御装置２０との間のＳＰＩ通信が有効でなく、メイン側のＣＡＮ通信モジュールが正常でない時に、サブ制御部２２は、メイン制御部１２の故障を推定することができる。従って、サブ制御部２２は、図３（Ｂ）のステップＳＴ３３及びＳＴ３４を実行する。特に、メイン制御部１２又はメインＣＰＵが故障している時に、言い換えれば、メイン制御装置１０が完全に故障している時に、メイン制御部１２は、縮退動作指示をサブ制御部２２に与えることができない。このような状況において、メイン制御部１２の故障がサブ制御部２２によって推定され得る。
【００６９】
メイン制御部１２の故障を推定する時に、サブ制御部２２は、例えば例外又は緊急の自動走行に必要な縮退動作用制御出力値をリアルタイムに計算し、その縮退動作用制御出力を含む送信データ（縮退データ）をサブ側のＣＡＮ通信モジュールから送信する（ステップＳＴ３３及びＳＴ３４参照）。これにより、例えば車両の例外又は緊急の自動走行が実現される。
【００７０】
メイン制御装置１０とサブ制御装置２０との間のＳＰＩ通信が有効である時に、サブ制御部２２は、メイン側のＣＡＮ通信モジュールが故障しているか否かを判定することができる（ステップＳＴ３５参照）。また、メイン制御装置１０とサブ制御装置２０との間のＳＰＩ通信が有効である時に、サブ制御部２２は、メイン側のＣＡＮ通信モジュールが異常である否かを判定することができる（ステップＳＴ３５参照）。なお、ステップＳＴ３５において、サブ制御部２２は、メイン側のＣＡＮ通信モジュールの故障又は異常の何れかを受信しているか否かを判定しているが、メイン側のＣＡＮ通信モジュールの故障だけを受信しているか否かを判定してもよい。或いは、サブ制御部２２は、メイン側のＣＡＮ通信モジュールの異常だけを受信しているか否かを判定してもよい。
【００７１】
図３（Ｂ）のステップＳＴ３５において、サブ制御部２２は、メイン側のＣＡＮ通信モジュールの故障又は異常を表す故障データ又は異常データ（縮退動作指示）を例えばＳＰＩ通信で受信可能である。縮退動作指示を受信する時に、サブ制御部２２は、例えば例外又は緊急の自動走行に必要な縮退動作用制御出力値をリアルタイムに計算し、その縮退動作用制御出力を含む送信データ（縮退データ）をサブ側のＣＡＮ通信モジュールから送信する（ステップＳＴ３３及びＳＴ３４参照）。これにより、例えば車両の例外又は緊急の自動走行が実現される。
【００７２】
なお、メイン制御装置１０は、図３（Ａ）のステップＳＴ２４を常に省略してもよく、従って、例えば、サブ制御装置２０は、図２（Ａ）のステップＳＴ０２の実行結果がサブ側のＣＡＮ通信モジュールの正常を表すことを所定の間隔で確認してもよい。言い換えれば、図３（Ａ）のステップＳＴ２４が省略される時に、図３（Ｂ）のステップＳＴ３０でサブ側のＣＡＮ通信モジュールの非故障が判定される毎に、サブ制御装置２０は、図２（Ａ）のステップＳＴ０２でサブ側のＣＡＮ通信モジュールの正常（非異常）を確認し、その後に、図３（Ｂ）の例えばＳＴ３１を実行してもよい。
【００７３】
本発明は、上述の例示的な実施形態に限定されず、また、当業者は、上述の例示的な実施形態を特許請求の範囲に含まれる範囲まで、容易に変更することができるであろう。
【符号の説明】
【００７４】
１０・・・メイン制御装置、１２・・・メイン制御部、１４・・・第１のメイン通信モジュール（例えばＣＡＮ通信モジュール）、１６・・・第２のメイン通信モジュール（例えばＳＰＩ通信モジュール）、２０・・・サブ制御装置、２２・・・サブ制御部、２４・・・第１のサブ通信モジュール（例えばＣＡＮ通信モジュール）、２６・・・第２のサブ通信モジュール（例えばＳＰＩ通信モジュール）。
【図１】
2018158591.tif 000003
【図２】
2018158591.tif 000004
【図３】
2018158591.tif 000005