(57)【要約】【課題】マルチコアＣＰＵの故障監視を、監視用ＣＰＵを増やさずに低コストで可能とする車載用電子制御装置を提供する。【解決手段】制御ＩＣ２内のＣＰＵコア１０をメインＣＰＵコアとし、他のＣＰＵコア２０，３０，４０をサブＣＰＵコアとし、ＣＰＵコア２０，３０，４０は、ＣＰＵコア１０が送信した例題データに対する回答データを算出してＣＰＵコア１０へ送信し、ＣＰＵコア１０は、監視ＩＣ３の送信した例題データに対する回答データを算出すると共に、ＣＰＵコア２０，３０，４０へ例題データを送信し、自身の回答データとＣＰＵコア２０，３０，４０が返信した回答データとに基づいて最終回答データを生成して監視ＩＣ３へ送信し、監視ＩＣ３は、ＣＰＵコア１０から受信した最終回答データと予め用意した回答データ期待値との照合結果で制御ＩＣ２の故障診断を行う。【選択図】図１
2015103052.tif 000002
【特許請求の範囲】
【請求項１】
複数のＣＰＵコアを持つＣＰＵと、前記ＣＰＵの故障監視を行う監視部と、を備えた車載用電子制御装置であって、
前記複数のＣＰＵコアのうちの１つをメインＣＰＵコアとし、他のＣＰＵコアをサブＣＰＵコアとし、
前記サブＣＰＵコアは、前記メインＣＰＵコアから送信された例題データに対する回答データを算出して前記メインＣＰＵコアへ送信し、
前記メインＣＰＵコアは、前記監視部から送信された例題データに対する回答データを算出すると共に、前記サブＣＰＵコアへ例題データを送信し、自身の回答データと前記サブＣＰＵコアから返信された回答データとに基づいて最終回答データを生成して前記監視部へ送信し、
前記監視部は、前記メインＣＰＵコアから受信した前記最終回答データと前記メインＣＰＵコアへ送信した例題データに対応させて予め用意した回答データ期待値との照合結果に基づいて前記ＣＰＵの故障診断を行う車載用電子制御装置。
【請求項２】
前記サブＣＰＵコアが複数あるとき、前記メインＣＰＵコアから各サブＣＰＵコアへ例題データを送信する請求項１に記載の車載用電子制御装置。
【請求項３】
前記メインＣＰＵコアは、各サブＣＰＵコアへ同一の送信タイミング且つ送信周期で前記例題データを送信する請求項２に記載の車載用電子制御装置。
【請求項４】
前記メインＣＰＵコアは、各サブＣＰＵコアへ異なる送信周期で前記例題データを送信する請求項２に記載の車載用電子制御装置。
【請求項５】
前記メインＣＰＵコアは、前記複数のサブＣＰＵコアの少なくとも１つが故障したとき、全てのサブＣＰＵコアへの例題データの送信を停止する請求項２〜４のいずれか１つに記載の車載用電子制御装置。
【請求項６】
前記メインＣＰＵコアは、前記複数のサブＣＰＵコアの少なくとも１つが故障したとき、当該故障したサブＣＰＵコアのみ例題データの送信を停止する請求項２〜４のいずれか１つに記載の車載用電子制御装置。
【請求項７】
前記サブＣＰＵコアが複数あるとき、前記メインＣＰＵコアは、前記監視部から送信された例題データに対する回答データを算出して当該回答データを例題データとして初段のサブＣＰＵコアへ送信し、最終段のサブＣＰＵコア以外の各サブＣＰＵコアは、受信した例題データに対する回答データを算出して当該回答データを例題データとして後段のサブＣＰＵコアへ順次送信し、前記最終段のサブＣＰＵコアは、受信した例題データに対する回答データを算出して当該回答データを前記メインＣＰＵコアへ送信する請求項１に記載の車載用電子制御装置。
【請求項８】
前記メインＣＰＵコアは、前記監視部から送信された例題データから算出した前記回答データに代えて、前記監視部から送信された例題データを前記初段のサブＣＰＵコアへ送信する請求項７に記載の車載用電子制御装置。
【請求項９】
複数のＣＰＵコアを持つＣＰＵと、前記ＣＰＵの故障監視を行う監視部と、を備えた車載用電子制御装置であって、
前記複数のＣＰＵコアの中の１つをメインＣＰＵコアとし、他のＣＰＵコアをサブＣＰＵコアとし、
前記メインＣＰＵコアは、前記監視部から送信された例題データに対する回答データを算出して当該回答データを前記サブＣＰＵコアへ例題データとして送信し、
前記サブＣＰＵコアは、前記メインＣＰＵコアから送信された例題データに対する回答データを算出して最終回答データとして前記監視部へ送信し、
前記監視部は、前記サブＣＰＵコアから受信した前記最終回答データと前記メインＣＰＵコアへ送信した例題データに対応させて予め用意した回答データ期待値との照合結果に基づいて前記ＣＰＵの故障診断を行う車載用電子制御装置。
【請求項１０】
前記サブＣＰＵコアが複数あるとき、前記メインＣＰＵコアは、前記監視部から送信された例題データに対する回答データを算出して当該回答データを例題データとして初段のサブＣＰＵコアへ送信し、最終段のサブＣＰＵコア以外の各サブＣＰＵコアは、受信した例題データに対する回答データを算出して当該回答データを例題データとして後段のサブＣＰＵコアへ順次送信し、前記最終段のサブＣＰＵコアは、受信した例題データに対する回答データを算出して当該回答データを前記監視部へ送信する請求項９に記載の車載用電子制御装置。
【請求項１１】
前記メインＣＰＵコア及び前記サブＣＰＵコアは、自己診断機能により故障と判定したときに、フェールセーフ処理を実行すると共に、予め定めた故障通知データを生成して送信先へ送信する請求項１〜請求項１０のいずれか１つに記載の車載用電子制御装置。
【請求項１２】
前記メインＣＰＵコア及び前記サブＣＰＵコアは、前記故障通知データを受信したとき、演算動作を行わずに前記故障通知データを送信先へ送信する請求項１１に記載の車載用電子制御装置。
【請求項１３】
前記メインＣＰＵコア及び前記サブＣＰＵコアは、受信されるべきデータが予め定めた所定時間内に受信できないときフェールセーフ処理を実行する請求項１〜１２のいずれか１つに記載の車載用電子制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルチコアＣＰＵを用いた車載用電子制御装置に関し、詳しくはマルチコアＣＰＵの故障監視技術に関する。
【背景技術】
【０００２】
一般にＣＰＵを用いた車載用電子制御装置では、車両に搭載した制御対象（例えば、エンジンや自動変速機等）の制御を担うメインＣＰＵを、サブＣＰＵ等の監視部によって監視することで、電子制御装置の機能安全性を保証するようにしている。例えば、特許文献１に記載されているような電子スロットル制御を行うエンジン制御装置（車載用電子制御装置）への適用例では、アクセルポジションセンサやスロットルセンサの検出値に基づいてスロットルモータの駆動回路を制御するメインＣＰＵの故障監視を、監視用サブＣＰＵ（監視部）を用いて行っている。
【０００３】
具体的には、監視用サブＣＰＵの例題出題部で生成した例題データをメインＣＰＵに送信する。メインＣＰＵは受信した例題データを例題演算部で演算し、演算結果を回答データとして監視用サブＣＰＵに返信する。監視用サブＣＰＵは、メインＣＰＵから送信された回答データを、送信した例題データに対する回答データの期待値と比較照合部で比較し、受信した回答データが期待値と一致しない場合にメインＣＰＵ異常と判断する。メインＣＰＵ異常と判断したときは、監視用サブＣＰＵにより、スロットルモータ駆動回路の電源を遮断してスロットルモータの駆動を停止するフェールセーフ処理を行うことで、メインＣＰＵ異常発生時の安全性を確保するようにしている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０００−２９７３４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、近年の多くの車載用電子制御装置では、演算量の増加に伴い複数のＣＰＵコアを有するマルチコアＣＰＵを用いる傾向にある。しかしながら、マルチコアＣＰＵを採用するときに、従来のシングルコアＣＰＵ使用時と同一のＣＰＵ故障監視技術を用いた場合、ＣＰＵコア毎に監視用サブＣＰＵ等の監視部を設けることになる。このため、ＣＰＵコアの数と同数の監視用サブＣＰＵが必要となり、コストアップに繋がるという問題がある。
【０００６】
本発明は上記問題点に着目してなされたもので、マルチコアＣＰＵを採用した場合でも、単一の監視部で複数のＣＰＵコアの故障監視を可能にしてコストを抑えた車載用電子制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
このため、本発明の車載用電子制御装置は、複数のＣＰＵコアを持つＣＰＵと、前記ＣＰＵの故障監視を行う監視部と、を備えた車載用電子制御装置であって、前記複数のＣＰＵコアのうちの１つをメインＣＰＵコアとし、他のＣＰＵコアをサブＣＰＵコアとし、前記サブＣＰＵコアは、前記メインＣＰＵコアから送信された例題データに対する回答データを算出して前記メインＣＰＵコアへ送信し、前記メインＣＰＵコアは、前記監視部から送信された例題データに対する回答データを算出すると共に、前記サブＣＰＵコアへ例題データを送信し、自身の回答データと前記サブＣＰＵコアから返信された回答データとに基づいて最終回答データを生成して前記監視部へ送信し、前記監視部は、前記メインＣＰＵコアから受信した前記最終回答データと前記メインＣＰＵコアへ送信した例題データに対応させて予め用意した回答データ期待値との照合結果に基づいて前記ＣＰＵの故障診断を行うことを特徴とする。
【０００８】
また、本発明の車載用電子制御装置は、複数のＣＰＵコアを持つＣＰＵと、前記ＣＰＵの故障監視を行う監視部と、を備えた車載用電子制御装置であって、前記複数のＣＰＵコアの中の１つをメインＣＰＵコアとし、他のＣＰＵコアをサブＣＰＵコアとし、前記メインＣＰＵコアは、前記監視部から送信された例題データに対する回答データを算出して当該回答データを前記サブＣＰＵコアへ例題データとして送信し、前記サブＣＰＵコアは、前記メインＣＰＵコアから送信された例題データに対する回答データを算出して最終回答データとして前記監視部へ送信し、前記監視部は、前記サブＣＰＵコアから受信した前記最終回答データと前記メインＣＰＵコアへ送信した例題データに対応させて予め用意した回答データ期待値との照合結果に基づいて前記ＣＰＵの故障診断を行うことを特徴とする。
【発明の効果】
【０００９】
本発明の車載用電子制御装置によれば、単一の監視部で複数のＣＰＵコアを有するマルチコアＣＰＵの故障監視ができるので、低コストで信頼性の高いマルチコアＣＰＵを用いた車載用電子制御装置を提供できる。
【００１０】
また、本発明の車載用電子制御装置によれば、低コストで信頼性の高いマルチコアＣＰＵを用いた車載用電子制御装置を提供できることに加え、サブＣＰＵコアから最終回答データを監視部に直接送信することで、ＣＰＵコアの無応答故障時に監視部が早期に故障診断できる利点がある。
【図面の簡単な説明】
【００１１】
【図１】本発明に係る車載用電子制御装置の第１実施形態を示すハードウエア構成図である。
【図２】第１実施形態の故障監視動作を説明するタイムチャートである。
【図３】第１実施形態のＣＰＵ異常発生時の動作例を説明するタイムチャートである。
【図４】第１実施形態のＣＰＵ異常発生時の別の動作例を説明するタイムチャートである。
【図５】第１実施形態のＣＰＵ無応答故障時の動作例を説明するタイムチャートである。
【図６】本発明に係る車載用電子制御装置の第２実施形態の故障監視動作を説明するタイムチャートある。
【図７】本発明に係る車載用電子制御装置の第３実施形態を示すハードウエア構成図である。
【図８】第３実施形態の故障監視動作を説明するタイムチャートである。
【図９】第３実施形態のＣＰＵ異常発生時の動作例を説明するタイムチャートである。
【図１０】第３実施形態のＣＰＵ無応答故障時の動作例を説明するタイムチャートである。
【図１１】本発明に係る車載用電子制御装置の第４実施形態を示すハードウエア構成図である。
【図１２】第４実施形態の故障監視動作を説明するタイムチャートである。
【図１３】第４実施形態のＣＰＵ異常発生時の動作例を説明するタイムチャートである。
【図１４】第４実施形態のＣＰＵ無応答故障時の動作例を説明するタイムチャートである。
【図１５】本発明に係る車載用電子制御装置の第５実施形態を示すハードウエア構成図である。
【図１６】第５実施形態の故障監視動作を説明するタイムチャートである。
【図１７】第５実施形態のＣＰＵ異常発生時の動作例を説明するタイムチャートである。
【図１８】第５実施形態のＣＰＵ無応答故障時の動作例を説明するタイムチャートである。
【発明を実施するための形態】
【００１２】
以下、本発明の実施形態を図面に基づいて説明する。
図１は、本発明に係る車載用電子制御装置の第１実施形態を示すハードウエア構成図である。
図１において、車載用電子制御装置１は、例えば主にエンジン制御を行う制御ＩＣ（メインＣＰＵ）２と、制御ＩＣ２の故障監視を行う監視部として監視ＩＣ（サブＣＰＵ）３とを備えて構成される。
【００１３】
制御ＩＣ２は、複数のＣＰＵコア（本実施形態では４つ）１０，２０，３０，４０を同一パッケージに封入したマルチコアＣＰＵである。各ＣＰＵコア１０，２０，３０，４０は、それぞれの制御部（図の簡素化のために図示せず）において、例えば前述した電子スロットル制御等を含む各エンジン制御を並列処理している。
【００１４】
前記ＣＰＵコア１０は、監視ＩＣ３と通信ラインで接続され、制御部における実制御を遂行するための演算処理と共に、故障診断処理として監視ＩＣ３から受信した例題データを他の全てのＣＰＵコア２０，３０，４０に一斉に送信し、他のＣＰＵコア２０，３０，４０から受信した回答データと自身の回答データに基づいて最終回答データを生成して監視ＩＣ３へ送信するメインＣＰＵコアとして機能し、監視ＩＣ送受信部１１と、診断部１２と、コア間送受信部１３とを備える。前記監視ＩＣ送受信部１１は、監視ＩＣ３から例題データを受信する例題受信部１１Ａと、回答データを監視ＩＣ３へ送信する回答送信部１１Ｂとを備える。前記診断部１２は、例題受信部１１Ａから受信した例題データを演算する例題演算部１２Ａと、例題演算部１２Ａの演算結果、他のＣＰＵコア２０，３０，４０から受信した回答データ及び後述するＥＣＭ（Error Control Module）５１の診断結果に基づいて監視ＩＣ３へ送信する最終回答データを生成する回答生成部１２Ｂとを備える。前記コア間送受信部１３は、例題受信部１１Ａから受信した例題データを、他のＣＰＵコア２０，３０，４０へ同一の送信タイミング且つ送信周期で送信する例題送信部１３Ａと、他のＣＰＵコア２０，３０，４０から回答データを受信する回答受信部１３Ｂとを備える。
【００１５】
各ＣＰＵコア２０，３０，４０は、制御部における実制御を遂行するための演算処理と共に、故障診断処理としてＣＰＵコア１０から受信した例題データを演算し、演算結果である回答データをＣＰＵコア１０へ送信するサブＣＰＵコアとして機能し、コア間送受信部２１，３１，４１と、診断部２２，３２，４２とをそれぞれ備える。各コア間送受信部２１，３１，４１は、ＣＰＵコア１０からの例題データを受信する例題受信部２１Ａ，３１Ａ，４１Ａと、ＣＰＵコア１０へ回答データを送信する回答送信部２１Ｂ，３１Ｂ，４１Ｂとを備える。各診断部２２，３２，４２は、各例題受信部２１Ａ，３１Ａ，４１Ａから受信した例題データを演算する例題演算部２２Ａ，３２Ａ，４２Ａと、例題演算部２２Ａ，３２Ａ，４２Ａから受信した演算結果に基づいてＣＰＵコア１０へ送信する回答データを生成する回答生成部２２Ｂ，３２Ｂ，４２Ｂとを備える。尚、制御ＩＣ２内のＣＰＵコア１０と他のＣＰＵコア２０，３０，４０間のデータ送受信は、図示しない共有メモリを用いて行われる。
【００１６】
また、ＣＰＵコア１０，２０には、ロックステップコア５０，６０と前述のＥＣＭ（Error Control Module）５１，６１からなる故障診断機能が設けられている。この故障診断機能は、ロックステップコア５０，６０がそれぞれ対応するＣＰＵコア１０，２０と同じ動作を行い、ＣＰＵコア１０，２０とロックステップコア５０，６０の動作の差異をＥＣＭ５１，６１でそれぞれ検出し、動作の差異が生じたときにＥＣＭ５１，６１からＣＰＵコア１０，２０の診断部１２，２２に対してＣＰＵコアの異常が通知される構成である。
【００１７】
前記監視ＩＣ３は、例題・回答テーブル４と、制御ＩＣ送受信部５と、回答判定部６とを備える。前記例題・回答テーブル４は、例題データと予め用意された回答データ期待値とをインデックス化して格納している。制御ＩＣ送受信部５は、例題・回答テーブル４から選択した例題データを制御ＩＣ２内のＣＰＵコア１０へ送信する例題送信部５Ａと、ＣＰＵコア１０から最終回答データを受信する回答受信部５Ｂとを備える。前記回答判定部６は、回答受信部５Ｂで受信した最終回答データと例題・回答テーブル４内の選択送信した例題データに対応する回答データ期待値との照合結果に基づいて制御ＩＣ２の故障の有無を判定する。
【００１８】
次に、本実施形態の故障監視動作についてタイムチャートを参照して説明する。
図２は、本実施形態の故障監視動作を説明するタイムチャートで、制御ＩＣ２が正常な場合である。
監視ＩＣ３は、例題・回答テーブル４に格納されている例題データｑ１〜ｑＮの中から選択した例題データを例題送信部５ＡによりＣＰＵコア１０へ送信する。
【００１９】
ＣＰＵコア１０は、例題受信部１１Ａで監視ＩＣ３からの例題データを受信すると、例題演算部１２Ａで例題演算を開始すると共に、例題送信部１３Ａにより例題データを他の全てのＣＰＵコア２０，３０，４０へ同一の送信タイミング及び送信周期で送信する。
【００２０】
他のＣＰＵコア２０，３０，４０は、それぞれ例題受信部２１Ａ，３１Ａ，４１Ａで例題データを受信すると、例題演算部２２Ａ，３２Ａ，４２Ａで例題演算を開始し、その演算結果に基づいて回答生成部２２Ｂ，３２Ｂ，４２Ｂで生成した回答データを、回答送信部２１Ｂ，３１Ｂ，４１ＢによりＣＰＵコア１０へ送信する。尚、ロックステップコア６０とＥＣＭ６１からなる故障診断機能が設けられているＣＰＵコア２０では、ＥＣＭ６１から回答生成部２２Ｂに対して異常がないことが通知されたことを確認して回答データをＣＰＵコア１０へ送信する。
【００２１】
ＣＰＵコア１０は、回答受信部１３Ｂにより他のＣＰＵコア２０，３０，４０から回答データを受信すると、回答生成部１２Ｂにおいて、他のＣＰＵコア２０，３０，４０の回答データと自身の回答データを比較して不一致がないか、また、ＥＣＭ５１から異常がないことが通知されたか否かを確認し、全てのＣＰＵコア１０，２０，３０，４０の回答データに不一致がないことを確認し、ＥＣＭ５１から異常なしが通知されたことを確認すると、監視ＩＣ３に対する最終回答データを生成して回答送信部１１Ｂから送信する。
【００２２】
監視ＩＣ３は、回答受信部５ＢがＣＰＵコア１０からの最終回答データを受信すると、回答判定部６において例題・回答テーブル４からの回答データ期待値と受信した最終回答データとを照合し、一致していれば制御ＩＣ２は正常と判定する。かかる故障監視動作を１タスクとして監視ＩＣ３により制御ＩＣ２の故障監視が周期的に実行される。尚、図２中の待ち期間は、トリガ（データ送受信タイミング）待ちで他の処理を実行している期間を示す。
【００２３】
次に、本実施形態の異常発生時の動作例について図３〜図５のタイムチャートを参照して説明する。
図３は、異常発生時に全てのＣＰＵコアを停止する場合のタイムチャートを示す。ここでは、ＣＰＵコア３０に異常が発生した場合について説明する。
【００２４】
例えばＣＰＵコア３０の自己診断機能により例題演算部３２Ａの演算機能が故障と判定された場合、回答生成部３２Ｂはフェールセーフ制御出力Ｆ／Ｓを発生して制御対象を安全側に制御するフェールセーフ処理に移行すると共に、異常発生を通知する予め定めた故障通知データとして例えば誤回答データ「０」を生成して回答送信部３１Ｂを介して送信先であるＣＰＵコア１０へ送信する。ＣＰＵコア１０は、ＣＰＵコア３０から誤回答データ「０」を受信すると、異常発生と判断して回答生成部１２Ｂからフェールセーフ制御出力Ｆ／Ｓを発生してフェールセーフ処理に移行すると共に、最終回答データとして誤回答データ「０」を生成して監視ＩＣ３へ送信する。監視ＩＣ３は誤回答データ「０」を受信すると、制御ＩＣ２の異常と判断して回答判定部６からフェールセーフ制御出力Ｆ／Ｓを発生してフェールセーフ処理に移行し、例題データの送信を停止する。正常であるＣＰＵコア２０，４０は、その間、次回の例題データ受信タイミングまで通常の実制御を継続し、例題データ受信タイミングに例題データを受信しないことでタイムアウトと判断し、回答生成部２２Ｂ，４２Ｂからフェールセーフ制御出力Ｆ／Ｓを発生してフェールセーフ処理に移行する。
【００２５】
尚、図４のタイムチャートに示すように、異常が発生したＣＰＵコア３０のみフェールセーフ処理に移行させ、正常な他のＣＰＵコア１０，２０，４０はそのまま制御動作を継続させるようにしてもよい。この場合、ＣＰＵコア１０は、ＣＰＵコア３０を異常と判断した場合に、例題データの送信先から故障したＣＰＵコア３０を除外し、正常なＣＰＵコア２０，４０のみに例題データを送信する。
【００２６】
図５は、ＣＰＵコアの例題演算部が無応答故障した場合のタイムチャートである。ここでは、ＣＰＵコア１０が無応答故障した場合について説明する。
例えば、ＣＰＵコア１０の例題演算部１２Ａが無応答故障し監視ＩＣ３へ最終回答データが送信できない場合、監視ＩＣ３は、ＣＰＵコア１０への例題データ送信から所定時間内にＣＰＵコア１０からの最終回答データが受信できないことにより制御ＩＣ２は異常と判断し、回答判定部６からフェールセーフ制御出力Ｆ／Ｓを発生してフェールセーフ処理に移行すると共に、例題データの送信を停止する。他のＣＰＵコア２０，３０，４０は、次回の例題データ受信タイミングまで通常の実制御を継続するが、回答データの送信から所定時間内にＣＰＵコア１０から例題データが受信できないことでタイムアウトと判断して、回答生成部２２Ｂ，３２Ｂ，４２Ｂからそれぞれフェールセーフ制御出力Ｆ／Ｓを発生してフェールセーフ処理に移行する。
【００２７】
かかる本実施形態によれば、単一の監視ＩＣ３でＣＰＵコアを複数有するマルチコアＣＰＵである制御ＩＣ２の故障監視が可能である。これにより、従来のようにＣＰＵコア数分の監視ＩＣ３を設ける必要がなく、また、単一の監視ＩＣ３をマルチプレクサを用いて複数のＣＰＵコアに順次切替え接続する構成と比較してマルチプレクサやセレクタ信号生成手段等が不要となるので、監視ＩＣを増やすことなく低コストでマルチコアＣＰＵの故障監視が可能となる。従って、安価で信頼性の高い車載用電子制御装置を提供できる。
【００２８】
次に、車載用電子制御装置の第２実施形態について説明する。
本実施形態は、ＣＰＵコア１０から他のＣＰＵコア２０，３０，４０への例題データの送信を、送信周期を異ならせて他のＣＰＵコア２０，３０，４０へ順次行うようにしたもので、図１に示す第１実施形態とはＣＰＵコア１０から他のＣＰＵコア２０，３０，４０への例題データの送信動作が異なるだけで、ハードウエア構成は同じであるので図示を省略し、ここでは、故障監視動作についてタイムチャートを参照して説明する。
【００２９】
図６に、本実施形態の故障監視動作のタイムチャートを示す。ＣＰＵコア１０は、監視ＩＣ３から例題データを受信すると、例題演算部１２Ａで例題演算をすると共に、例題データをＣＰＵコア２０へ送信し、ＣＰＵコア２０から回答データを受信する。ＣＰＵコア１０は、回答データが正しい回答データであることを確認すると、監視ＩＣ３に最終回答データを生成して送信する。監視ＩＣ３は、ＣＰＵコア１０から最終回答データを受信すると、回答判定部６においてＣＰＵコア１０からの最終回答データと例題・回答テーブル４からの回答データ期待値の照合を行い、一致していればＣＰＵコア１０，２０は正常と判定する。かかる動作を１タスクとして、監視ＩＣ３によりＣＰＵコア２０，３０，４０毎に順次故障監視を行う。
【００３０】
本実施形態のようにＣＰＵコア１０からＣＰＵコア２０，３０，４０毎に順次例題データを送信する構成では、ＣＰＵコア１０からＣＰＵコア２０，３０，４０への例題データの送信周期を、ＣＰＵコア２０，３０，４０の重要度に応じて異ならせることができる。即ち、重要度が高いＣＰＵコアへの例題データの送信周期を、重要度の低いＣＰＵコアへの例題データの送信周期より短くする。かかる構成によれば、重要度の低いＣＰＵコアの例題演算頻度を下げることができ、例題演算負荷を軽減できる。
【００３１】
尚、本実施形態においても、ＣＰＵコアの異常発生時に、監視ＩＣ３からの例題データの送信を停止して全ＣＰＵコア１０，２０，３０，４０を停止させてもよく、例題データの送信先から異常が発生したＣＰＵコアだけを除外し正常な他のＣＰＵコアの制御動作を継続させるようにしてもよい。
【００３２】
図７に、本発明の車載用電子制御装置の第３実施形態のハードウエア構成図を示し説明する。尚、第１実施形態と同一要素には同一符号を付して説明を省略する。
この車載用電子制御装置１は、ＣＰＵコア１０の構成及びＣＰＵコア１０と他のＣＰＵコア２０，３０，４０間のデータ通信ラインの接続形態が、第１実施形態と異なっている。本実施形態では、ＣＰＵコア１０の例題受信部１１Ａは例題演算部１２Ａに接続し、回答生成部１２Ｂが例題送信部１３Ａに接続し、回答生成部１２Ｂで生成した回答データを例題データとして例題送信部１３Ａへ送信する。ＣＰＵコア１０の例題送信部１３Ａは初段のＣＰＵコア２０の例題受信部２１Ａに接続し、ＣＰＵコア２０の回答送信部２１ＢがＣＰＵコア３０の例題受信部３１Ａに接続し、ＣＰＵコア３０の回答送信部３１Ｂが最終段のＣＰＵコア４０の例題受信部４１Ａに接続し、最終段のＣＰＵコア４０の回答送信部４１ＢはＣＰＵコア１０の回答受信部１３Ｂに接続している。
【００３３】
次に、本実施形態の故障監視動作についてタイムチャートを参照して説明する。
図８は、制御ＩＣ２が正常な場合のタイムチャートである。
ＣＰＵコア１０は、第１実施形態と同様にして監視ＩＣ３から例題データを受信すると、例題演算部１２Ａで例題演算し、演算結果に基づいて回答生成部１２Ｂで生成した回答データを例題送信部１３Ａにより例題データとして初段のＣＰＵコア２０へ送信する。
【００３４】
ＣＰＵコア２０は、ＣＰＵコア１０から例題データを受信すると、例題演算部２２Ａで例題演算を行い、演算結果に基づいて回答生成部２２Ｂで生成した回答データを例題データとして後段のＣＰＵコア３０へ送信する。ＣＰＵコア３０は、ＣＰＵコア２０から例題データを受信すると、例題演算部３２Ａで例題演算を行い、演算結果に基づいて回答生成部３２Ｂで生成した回答データを例題データとして最終段のＣＰＵコア４０へ送信する。ＣＰＵコア４０は、ＣＰＵコア３０から例題データを受信すると、例題演算部４２Ａで例題演算を行い、演算結果に基づいて回答生成部４２Ｂで生成した回答データをＣＰＵコア１０へ送信する。
【００３５】
ＣＰＵコア１０は、例題データを送信してから規定の経過時間内にＣＰＵコア４０から回答データを受信すると、回答生成部１２Ｂで第１実施形態と同様にして受信回答データとＥＣＭ５１の検査結果に基づいて最終回答データを生成して監視ＩＣ３へ送信する。監視ＩＣ３は、ＣＰＵコア１０から最終回答データを受信すると、回答判定部６で例題・回答テーブル４の送信例題データに対応する回答データ期待値と受信した最終回答データとを照合し、一致していれば制御ＩＣ２は正常と判定する。上述した故障監視動作を１タスクとして監視ＩＣ３により制御ＩＣ２の故障監視を周期的に実行する。尚、ＣＰＵコア１０は、規定の経過時間内にＣＰＵコア４０から回答データが受信できない場合は、異常発生と判断して誤回答データ「０」を生成して監視ＩＣ３へ送信する。
【００３６】
次に、本実施形態の異常発生時の動作について説明する。
図９に、例えばＣＰＵコア３０に異常が発生した場合のタイムチャートを示す。例えばＣＰＵコア３０が自己診断機能により例題演算部３２Ａの演算機能を異常と判定した場合、ＣＰＵコア３０は回答生成部３２Ｂからフェールセーフ制御出力Ｆ／Ｓを発生してフェールセーフ処理に移行すると共に、誤回答データ「０」を送信先のＣＰＵコア４０へ送信する。ＣＰＵコア４０は、誤回答データ「０」を受信した場合は、例題演算せずに誤回答データ「０」をＣＰＵコア１０へ送信すると共に、フェールセーフ処理に移行する。ＣＰＵコア１０は、ＣＰＵコア４０から誤回答データ「０」を受信すると、フェールセーフ処理に移行すると共に、監視ＩＣ３へ最終回答データとして誤回答データ「０」を送信する。これにより、監視ＩＣ３はフェールセーフ処理に移行すると共に、例題データの送信を停止する。尚、ＣＰＵコア２０は、その間、次回の例題データ受信タイミングまで通常の実制御を継続し、次回の例題データ受信タイミングにＣＰＵコア１０から例題データが受信できないことでタイムアウトと判断してフェールセーフ処理に移行する。
【００３７】
図１０に、例えばＣＰＵコア１０が無応答故障した場合のタイムチャートを示す。ＣＰＵコア１０に無応答故障が発生し、ＣＰＵコア２０が例題データ受信タイミングに例題データを受信できないと、ＣＰＵコア２０はタイムアウトと判断しＣＰＵコア１０故障と見なし、フェールセーフ処理に移行すると共に、ＣＰＵコア３０へ誤回答データ「０」を送信する。ＣＰＵコア３０は誤回答データ「０」の受信でフェールセーフ処理に移行し、ＣＰＵコア４０に誤回答データ「０」を送信する。ＣＰＵコア４０は誤回答データ「０」の受信でフェールセーフ処理に移行し、ＣＰＵコア１０に誤回答データ「０」を送信するが、ＣＰＵ１０は無応答状態で監視ＩＣ３へ最終回答データを送信できないので、監視ＩＣ３は、例題データの送信から所定時間内にＣＰＵコア１０から最終回答データが受信できず、フェールセーフ処理に移行する。
【００３８】
図１１に、本発明の車載用電子制御装置の第４実施形態のハードウエア構成図を示し説明する。尚、第１実施形態と同一要素には同一符号を付して説明を省略する。
この車載用電子制御装置１は、ＣＰＵコア１０が、図１に示す第１実施形態のＣＰＵコア１０と同様に、例題受信部１１Ａから例題演算部１２Ａと例題送信部１３Ａへ例題データを送信するよう構成されている。その他は図７に示す第３実施形態と同じ構成である。
【００３９】
次に、本実施形態の故障監視動作についてタイムチャートを参照して説明する。
図１２は、制御ＩＣ２が正常な場合のタイムチャートである。
【００４０】
ＣＰＵコア１０は、第１実施形態と同様にして監視ＩＣ３から例題データを受信すると、受信した例題データを例題演算部１２Ａで演算すると共に、例題送信部１３Ａにより初段のＣＰＵコア２０へ送信する。
【００４１】
それ以後の動作は、第３実施形態と同様であり、ＣＰＵ２０，３０，４０は、例題演算により得られた回答データを例題データとして後段に順次送信し、ＣＰＵコア１０は例題データの送信から所定の経過時間内に最終段のＣＰＵコア４０から回答データを受信すると、最終回答データを生成して監視ＩＣ３へ送信する。監視ＩＣ３は、受信した最終回答データと回答データ期待値を照合し、一致していれば制御ＩＣ２は正常と判定する。尚、ＣＰＵコア１０が、所定時間内にＣＰＵコア４０から回答データを受信できない場合は、第３実施形態と同様に最終回答データとして誤回答データ「０」を生成して監視ＩＣ３へ送信する。
【００４２】
かかる第４実施形態によれば、ＣＰＵコア１０とＣＰＵコア２０の例題演算が略同時期に行われるので、第３実施形態と比較してＣＰＵコア２０の例題演算完了が、ＣＰＵコア１０の例題データ演算時間分早くなる。従って、監視ＩＣ３における制御ＩＣ２の故障診断結果が第３実施形態に比べて早く得られる利点がある。
【００４３】
次に、本実施形態の異常発生時の動作について説明する。
図１３に、例えばＣＰＵコア３０に異常が発生した場合のタイムチャートを示す。この場合の動作は、図９に示す第３実施形態の場合と同様であるので説明を省略する。
【００４４】
本実施形態によれば、ＣＰＵコア１０とＣＰＵコア２０が同時期に演算動作を開始するので、例えばＣＰＵコア３０に異常が発生した場合に、コア３０，４０，１０、監視ＩＣ３がフェールセーフ処理に移行するタイミングが第３実施形態と比較して早くなる。
【００４５】
図１４に、例えばＣＰＵコア１０が無応答故障した場合のタイムチャートを示す。ＣＰＵコア１０に無応答故障が発生した場合、ＣＰＵコア１０のコア間送受信部１３が正常であれば、ＣＰＵコア２０へ例題データを送信できるので、ＣＰＵコア２０，３０，４０は、正常であれば例題演算と回答データの送信を通常通りに行い、ＣＰＵコア４０からＣＰＵコア１０へ回答データが送信される。しかし、ＣＰＵ１０は無応答状態であり、監視ＩＣ３へ最終回答データを送信できないので、監視ＩＣ３は、例題データの送信から所定時間内にＣＰＵコア１０から最終回答データを受信できず、フェールセーフ処理に移行する。ＣＰＵコア２０，３０，４０は、次回の例題データ受信タイミングまで通常の実制御を継続し、次回の例題データ受信タイミングに例題データが受信できないことにより故障発生と見なし、それぞれフェールセーフ処理に移行する。
【００４６】
図１５に、本発明の車載用電子制御装置の第５実施形態のハードウエア構成図を示し説明する。尚、第１実施形態と同一要素には同一符号を付して説明を省略する。
この車載用電子制御装置１は、ＣＰＵコア１０′が、例題受信部１１Ａと、診断部１２と、例題送信部１３Ａとを備え、回答送信部及び回答受信部を持たない。前記例題受信部１１Ａは監視ＩＣ３から受信した例題データを診断部１２の例題演算部１２Ａへ送信し、診断部１２の回答生成部１２Ｂは、生成した回答データを例題送信部１３Ａに例題データとして送信する構成である。また、ＣＰＵコア４０の回答送信部４１Ｂは、監視ＩＣ３の回答受信部５Ｂに接続して最終回答データを監視ＩＣ３へ送信する構成である。
【００４７】
次に、本実施形態の故障監視動作についてタイムチャートを参照して説明する。
図１６は、制御ＩＣ２が正常な場合のタイムチャートである。
ＣＰＵコア１０′は、第１実施形態と同様にして監視ＩＣ３から例題データを受信すると、例題演算部１２Ａで例題演算し、回答生成部１２Ｂで生成した回答データを例題送信部１３Ａにより例題データとして初段のＣＰＵコア２０へ送信する。
【００４８】
ＣＰＵコア２０，３０は、第３実施形態と同様にして受信した例題データの演算結果に基づいて生成した回答データを例題データとして後段のＣＰＵコア３０，４０へ送信する。最終段のＣＰＵコア４０は、受信した例題データの演算結果に基づいて生成した最終回答データを監視ＩＣ３へ送信する。
【００４９】
監視ＩＣ３は、ＣＰＵコア４０から最終回答データを受信すると、回答判定部６で例題・回答テーブルの送信例題データに対応する回答データ期待値と受信した回答データとを照合し、一致していれば制御ＩＣ２は正常と判定する。この動作を周期的に繰り返して故障診断が行われる。尚、監視ＩＣ３は、所定時間内にＣＰＵコア４０から最終回答データが受信できない場合は、制御ＩＣ２に故障ありと見なしてフェールセーフ処理に移行する。
【００５０】
本実施形態の異常発生時の動作について説明する。
図１７に、例えばＣＰＵコア３０に異常が発生した場合のタイムチャートを示す。例えばＣＰＵコア３０が自己診断機能により例題演算部３２Ａの演算機能が異常と判定された場合、ＣＰＵコア３０はフェールセーフ処理に移行すると共に、例えば誤回答データ「０」をＣＰＵコア４０へ送信する。その後の動作は、ＣＰＵコア１０′を介さずにＣＰＵコア４０から監視ＩＣ３へ最終回答データが送信されることを除いて、第３実施形態の図９のタイムチャートで示すのと同様の動作である。尚、ＣＰＵコア１０′とＣＰＵコア２０は、次回の例題データ受信タイミングまで通常の実制御を継続し、次回の例題データ受信タイミングに例題データが受信できないことによりタイムアウトと判断してそれぞれフェールセーフ処理に移行する。
【００５１】
図１８に、例えばＣＰＵコア１０′が無応答故障した場合のタイムチャートを示す。ＣＰＵコア１０′に無応答故障が発生した場合、ＣＰＵコア２０が例題データ受信タイミングに例題データを受信できないので、ＣＰＵコア２０は、タイムアウトと判断してＣＰＵコア１０′が故障していると見なし、フェールセーフ処理に移行すると共に、ＣＰＵコア３０へ誤回答データ「０」を例題データとして送信する。ＣＰＵコア３０は誤回答データ「０」の受信によりフェールセーフ処理に移行し、ＣＰＵコア４０へ誤回答データ「０」を送信する。ＣＰＵコア４０は誤回答データ「０」の受信によりフェールセーフ処理に移行し、監視ＩＣ３へ最終回答データとして誤回答データ「０」を送信する。監視ＩＣ３はＣＰＵコア４０からの誤回答データ「０」の受信によりフェールセーフ処理に移行する。
【００５２】
かかる第５実施形態によれば、制御ＩＣ２で無応答故障が発生した場合に、監視ＩＣ３による故障検出が上述した各実施形態よりも早くでき、フェールセーフ処理への移行が早くなる。従って、車載用電子装置１の信頼性をより高めることができる。
【００５３】
尚、上述の各実施形態では、ＣＰＵコア１０，１０′，２０がロックステップ機能を備える例を示したが、ロックステップ機能はなくてもよいことは言うまでもない。また、本発明は、制御ＩＣ２が１つのメインＣＰＵコアと１つのサブＣＰＵコアの２つのＣＰＵコアを有するデュアルコアＣＰＵであっても適用できる。
【符号の説明】
【００５４】
１    車載用電子制御装置
２    制御ＩＣ
３    監視ＩＣ
４    例題・回答テーブル
５    制御ＩＣ送受信部
５Ａ，１３Ａ    例題送信部
５Ｂ，１３Ｂ    回答受信部
６    回答判定部
１０，１０′，２０，３０，４０    ＣＰＵコア
１１    監視ＩＣ送受信部
１１Ａ，２１Ａ，３１Ａ，４１Ａ    例題受信部
１１Ｂ，２１Ｂ，３１Ｂ，４１Ｂ    回答送信部
１２，２２，３２，４２    診断部
１２Ａ，２２Ａ，３２Ａ，４２Ａ    例題演算部
１２Ｂ，２２Ｂ，３２Ｂ，４２Ｂ    回答生成部
１３，２１，３１，４１    コア間送受信部
５０，６０    ロックステップコア
５１，６１    ＥＣＭ
【図１】
2015103052.tif 000003
【図２】
2015103052.tif 000004
【図３】
2015103052.tif 000005
【図４】
2015103052.tif 000006
【図５】
2015103052.tif 000007
【図６】
2015103052.tif 000008
【図７】
2015103052.tif 000009
【図８】
2015103052.tif 000010
【図９】
2015103052.tif 000011
【図１０】
2015103052.tif 000012
【図１１】
2015103052.tif 000013
【図１２】
2015103052.tif 000014
【図１３】
2015103052.tif 000015
【図１４】
2015103052.tif 000016
【図１５】
2015103052.tif 000017
【図１６】
2015103052.tif 000018
【図１７】
2015103052.tif 000019
【図１８】
2015103052.tif 000020