(57)【要約】【課題】監視用ＣＰＵの個数を増やすことなく、制御用ＣＰＵを短時間で診断する。【解決手段】車載用電子制御装置は、監視用ＣＰＵが制御用ＣＰＵに診断処理の実行を指示したときに、下記の（１）から（３）の各処理を実行する。（１）被診断ＣＰＵコアの各々の例題演算部が同時並行に動作し、その演算結果を共通記憶装置に記憶する。（２）診断機能付きＣＰＵコアの比較処理部が、被診断ＣＰＵコア毎に、共通記憶装置に記憶されている演算値と期待値を比較する。（３）全部の被診断ＣＰＵコアについて演算値と期待値が一致するときには診断機能付きＣＰＵコアの例題演算部の演算値を監視用ＣＰＵに出力し、いずれかの被診断ＣＰＵコアについて演算値と期待値が一致しないときには異常値を監視用ＣＰＵに出力する。【選択図】図２
2020046979.tif 000002
【特許請求の範囲】
【請求項１】
複数個のＣＰＵコアと共通記憶装置を備えている制御用ＣＰＵと、監視用ＣＰＵを備えている車載用電子制御装置であり、
前記複数個のＣＰＵコアのうちの一つのＣＰＵコア（診断機能付きＣＰＵコア）は、例題演算部と、比較処理部と、前記監視用ＣＰＵとのインタフェースとを備えており、
前記診断機能付きＣＰＵコア以外の各ＣＰＵコア（被診断ＣＰＵコア）は、例題演算部を備えており、
前記共通記憶装置は、前記複数個のＣＰＵコアの各々とデータ通信可能であり、
前記監視用ＣＰＵが前記制御用ＣＰＵに診断処理の実行を指示したときに、
（１）前記被診断ＣＰＵコアの各々の前記例題演算部が同時並行に動作し、その演算結果を前記共通記憶装置に記憶する処理と、
（２）前記診断機能付きＣＰＵコアの前記比較処理部が、被診断ＣＰＵコア毎に、前記共通記憶装置に記憶されている前記演算値と期待値を比較する処理と、
（３）全部の被診断ＣＰＵコアについて前記演算値と前記期待値が一致するときには前記診断機能付きＣＰＵコアの例題演算部の演算値を前記監視用ＣＰＵに出力し、いずれかの被診断ＣＰＵコアについて前記演算値と前記期待値が一致しないときには異常値を前記監視用ＣＰＵに出力する処理と、を実行する車載用電子制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書が開示する技術は、車載用電子制御装置に関する。
【背景技術】
【０００２】
車載用電子制御装置は、その装置が正常に動作しているのか、異常に動作しているのかを診断し、異常であればフェールセーフ処理を発動させる必要がある。正常・異常を判別するために、制御用ＣＰＵの他に監視用ＣＰＵを用意し、監視用ＣＰＵから制御用ＣＰＵに例題を与え、その例題に対する制御用ＣＰＵによる演算値を監視用ＣＰＵに送り、その演算値と期待値を比較する技術が開発されている。制御用ＣＰＵが正常である場合の例題に対する演算値は予め演算しておくことができ、それを期待値とすることができる。この技術によって、制御用ＣＰＵの正常・異常を診断することができる。
【０００３】
制御用ＣＰＵに要求される仕様を満たすために、複数個のＣＰＵコアによって制御用ＣＰＵを構成する場合がある。複数個のＣＰＵコアを備えた制御用ＣＰＵに前記した診断技術を適用すると、ＣＰＵコアの数に等しい個数の監視用ＣＰＵが必要となり、システムが大型化・複雑化する。
【０００４】
特許文献１に、上記に対処する技術が開示されている。同技術では、複数個のＣＰＵコアのうちの一つに、他のＣＰＵコアの正常・異常を診断する機能を付与する。以下では、この診断機能が付与された一つのＣＰＵコアを診断機能付きＣＰＵコアといい、他のＣＰＵコアを被診断ＣＰＵコアという。
【０００５】
特許文献１の技術では、監視用ＣＰＵで診断機能付きＣＰＵコアを診断し、その診断で正常と判断された診断機能付きＣＰＵコアで他の被診断ＣＰＵコアを逐次診断する。例えば、被診断ＣＰＵコアに１番、２番・・・と番号を付した場合、診断機能付きＣＰＵコアは、最初にＣＰＵコア１番を診断し、その診断が終了したらＣＰＵコア２番を診断し、その診断が終了したらＣＰＵコア３番を診断していく手順に従って、全部の被診断ＣＰＵコアを診断する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１０−１２８６２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１の技術によって、監視用ＣＰＵの個数を増やすことなく複数個のＣＰＵコアを有する制御用ＣＰＵの診断が可能となるが、各被診断ＣＰＵコアを逐次的に診断するために、制御用ＣＰＵの診断に時間を要し、フェールセーフ処理の発動が遅れるという問題が生じる。本明細書では、監視用ＣＰＵの個数を増やす必要がなく、しかも制御用ＣＰＵを短時間で診断できる技術を開示する。
【課題を解決するための手段】
【０００８】
本明細書で開示する車載用電子制御装置は、複数個のＣＰＵコアと共通記憶装置を備えている制御用ＣＰＵと、監視用ＣＰＵを備えている。複数個のＣＰＵコアのうちの一つのＣＰＵコア（診断機能付きＣＰＵコアという）は、例題演算部と、比較処理部と、監視用ＣＰＵとのインタフェースとを備える。診断機能付きＣＰＵコア以外の各ＣＰＵコア（被診断ＣＰＵコアという）は、例題演算部を備える。共通記憶装置は、複数個のＣＰＵコアの各々とデータ通信可能である。この車載用電子制御装置は、監視用ＣＰＵが制御用ＣＰＵに診断処理の実行を指示したときに、下記（１）から（３）の各処理を実行する。
（１）被診断ＣＰＵコアの各々の例題演算部が同時並行に動作し、その演算結果を共通記憶装置に記憶する。
（２）診断機能付きＣＰＵコアの比較処理部が、被診断ＣＰＵコア毎に、共通記憶装置に記憶されている演算値と期待値を比較する。
（３）全部の被診断ＣＰＵコアについて演算値と期待値が一致するときには診断機能付きＣＰＵコアの例題演算部の演算値を監視用ＣＰＵに出力し、いずれかの被診断ＣＰＵコアについて演算値と期待値が一致しないときには異常値を監視用ＣＰＵに出力する。
【０００９】
上記した車載用電子制御装置では、複数個の被診断ＣＰＵコアが同時に例題演算を実施する。従来の逐次的処理に比して、全部の被診断ＣＰＵコアが例題演算を終了するのに要する時間を短縮できる。また、診断機能付きＣＰＵコアは、全部の被診断ＣＰＵコアが正常であるときにのみ演算値を出力することから、その演算値が期待値に一致すれば、診断機能付きＣＰＵコアのみならず、被診断ＣＰＵコアの全部が正常であると判断できる。監視用ＣＰＵは、一つの演算値を一つの期待値と比較すればよく、従来の監視用ＣＰＵと同レベルのもので足りる。システムの複雑化・大型化を避けながら、制御用ＣＰＵの診断を短時間で終えることが可能となる。
【図面の簡単な説明】
【００１０】
【図１】実施例の車載用電子制御装置１０の構成を示すブロック図。
【図２】車載用電子制御装置１０の診断処理の方法を示すフローチャート。
【発明を実施するための形態】
【００１１】
図面を参照して、実施例の車載用電子制御装置１０について説明する。図１に示すように、車載用電子制御装置１０は、制御用ＣＰＵ２と監視用ＣＰＵ４とを備える。制御用ＣＰＵ２は、図示しない車載電子装置を制御する。車載用電子制御装置１０は、監視用ＣＰＵ４によって、制御用ＣＰＵ２が正常に作動しているのか否かを判別する。制御用ＣＰＵ２が正常に作動していないと判定した場合には、監視用ＣＰＵ４は、フェールセーフ処理を発動する。
【００１２】
制御用ＣＰＵ２は、複数のＣＰＵコア２０、３０、４０と、共有記憶装置５０とを備える。複数のＣＰＵコア２０、３０、４０は、第１のＣＰＵコア２０、第２のＣＰＵコア３０及び第３のＣＰＵコア４０を含む。ここで、第１のＣＰＵコア２０は、診断機能付きＣＰＵコアであり、第２のＣＰＵコア３０と第３のＣＰＵコア４０といった他のＣＰＵコアは、被診断ＣＰＵコアである。共有記憶装置５０は各々のＣＰＵコア２０、３０、４０と通信可能に構成されている。複数のＣＰＵコア２０、３０、４０を備えているために、制御用ＣＰＵ２の処理速度が高速化されている。
【００１３】
被診断ＣＰＵコア３０は例題演算部３２を備え、被診断ＣＰＵコア４０は例題演算部４２を備える。例題演算部３２、４２は、予め記憶された例題を演算する。また、被診断ＣＰＵコア３０、４０はそれぞれが独立して構成されており、各々の例題演算部３２、４２は、同時に例題演算をすることができる。
【００１４】
共有記憶装置５０は、例えばＲＡＭを用いて構成されている。共有記憶装置５０は、入力された様々なデータを記憶し、随時それらのデータを出力することができるように構成されている。共有記憶装置５０は、被診断ＣＰＵコア３０、４０の各々の演算値が入力されると、被診断ＣＰＵコア３０、４０と特定する情報と、その被診断ＣＰＵコア３０、４０による演算値を関連付けて記憶し、必要に応じてその演算値を診断機能付きＣＰＵコア２０へ出力することができる。
【００１５】
診断機能付きＣＰＵコア２０は、比較処理部２４と例題演算部２２とを備える。比較処理部２４は、被診断ＣＰＵコア３０、４０の各演算値と、対応する各々の期待値が一致しているかを比較する。比較処理部２４は、演算値と期待値が全て一致していたときに（全部の被診断ＣＰＵコア３０、４０について、演算値と期待値が一致したときに）、被診断ＣＰＵコア３０、４０は全て正常であると判断し、例題演算部２２を作動させる。例題演算部２２は、比較処理部２４の指示を受けて、上記した被診断ＣＰＵコア３０、４０と同様に、予め記憶された例題を演算する。一方で、いずれかの被診断ＣＰＵコア３０、４０について演算値と期待値が一致しない場合は、比較処理部２４は、被診断ＣＰＵコア３０、４０のいずれかが異常であると判断し、診断機能付きＣＰＵコア２０から監視用ＣＰＵ４に異常値を出力する。診断機能付きＣＰＵコア２０は、インタフェース２６を備えている。制御用ＣＰＵ２は、インタフェース２６を介して監視用ＣＰＵ４と通信可能に接続されている。従って、制御用ＣＰＵ２の診断機能付きＣＰＵコア２０は、インタフェース２６を介して、演算値又は異常値を監視用ＣＰＵ４に出力することができる。
【００１６】
監視用ＣＰＵ４は、比較処理部１４とフェールセーフ処理部１８とを備える。比較処理部１４は、制御用ＣＰＵ２から出力された演算値を入力し、その演算値と期待値が一致しているか比較する。演算値と期待値が一致する場合は、比較処理部１４は、制御用ＣＰＵ２が全て正常であると判断する。診断機能付きＣＰＵコア２０は、被診断ＣＰＵコア３０、４０の全部が正常に作動しているときに限って演算値を出力することから、その演算値が一致する場合は、被診断ＣＰＵコア３０、４０の全部と診断機能付きＣＰＵコア２０の双方が正常であると判断することができる。即ち、制御用ＣＰＵ２が正常であると判断することができる。一方、演算値と期待値が一致しない場合は、比較処理部１４は、診断機能付きＣＰＵコア２０と被診断ＣＰＵコア３０、４０のうちの少なくとも一個が異常であると判断し、フェールセーフ処理部１８を作動させてフェールセーフ処理を発動する。
【００１７】
上記したように車載用電子制御装置１０では、複数個の被診断ＣＰＵコア３０、４０が同時に例題演算を実施する。従来の逐次的処理に比して、全部の被診断ＣＰＵコア３０、４０が例題演算を終了するのに要する時間を短縮できる。また、診断機能付きＣＰＵコア２０は、全部の被診断ＣＰＵコア３０、４０が正常であるときにのみ演算値を出力することから、その演算値が期待値に一致すれば、診断機能付きＣＰＵコア２０のみならず、被診断ＣＰＵコア３０、４０の全部が正常であると判断できる。監視用ＣＰＵ４は、制御用ＣＰＵ２からの一つの演算値を一つの期待値と比較すればよく、従来の監視用ＣＰＵと同レベルのもので足りる。システムの複雑化・大型化を避けながら、制御用ＣＰＵ２の診断を短時間で終えることが可能となる。
【００１８】
図２を参照して、車載用電子制御装置１０の診断処理の方法を説明する。この診断処理は、監視用ＣＰＵ４から制御用ＣＰＵ２に診断処理の実行が指示されると、速やかに開始される。
【００１９】
先ず、ステップＳ２では、第２のＣＰＵコア（被診断ＣＰＵコア）３０の例題演算部３２が、予め記憶された例題を演算する。同様にステップＳ４では、第３のＣＰＵコア（被診断ＣＰＵコア）４０の例題演算部４２が、予め記憶された例題を演算する。ステップＳ２とステップＳ４は、監視用ＣＰＵ４から診断処理の指示を制御用ＣＰＵ２が受けると、被診断ＣＰＵコア３０、４０の各々で同時並行して実施される。演算した後、診断処理はステップＳ６へ移動する。
【００２０】
ステップＳ６では、共有記憶装置５０が、ステップＳ２及びＳ４で演算された各演算値を記憶する。各演算値は、その演算値を演算したＣＰＵコアを特定する情報と関連づけて記憶される。診断処理は、ステップＳ８へ移動する。
【００２１】
ステップＳ８では、診断機能付きＣＰＵコア２０の比較処理部２４が、共有記憶装置５０に記憶されている演算値と期待値を比較する。この比較は、被診断ＣＰＵコア毎に比較する。被診断ＣＰＵコア３０、４０の全部について演算値と期待値が一致する場合、診断処理はステップＳ１０へ移動し、比較処理部２４は、例題演算部２２が作動するように指示する。一方で、いずれかの被診断ＣＰＵコア３０、４０について、演算値が期待値と一致しない場合、診断処理はステップＳ１４へ移動する。
【００２２】
ステップＳ１０では、例題演算部２２が、予め記憶された例題を演算する。続くステップＳ１２では、診断機能付きＣＰＵコア２０は、ステップＳ１０で演算した演算値を監視用ＣＰＵ４に出力する。出力した後に、診断判定処理はステップＳ１６へ移動する。
【００２３】
一方、ステップＳ１４では、診断機能付きＣＰＵコア２０は、異常値を監視用ＣＰＵ４に出力する。そして、診断処理はステップＳ１６へと移動する。
【００２４】
ステップＳ１６では、監視用ＣＰＵ４の比較処理部１４が、ステップＳ１２で出力された演算値を期待値と比較する。演算値と期待値が一致する場合には、診断処理はここで終了する。演算値と期待値が一致しない場合には、ステップＳ１８に移行して、フェールセーフ処理を実行する。
【００２５】
以上の一連ステップにより、診断処理は完了し、制御用ＣＰＵ２が異常であればフェールセーフ処理を行うことができる。
【００２６】
本実施例では、例題演算部３２で演算する例題（ステップＳ２で演算する例題）が被診断ＣＰＵコア３０に予め記憶されており、例題演算部４２で演算する例題が被診断ＣＰＵコア４０に予め記憶されている。これに代えて、診断機能付きＣＰＵコア２０から例題演算部３２、４２に例題を送信してもよい。例題演算部３２に送信する例題と、例題演算部４２に送信する例題が相違する場合は、逐次的に例題処理を実施しなければならないが、それでも例題演算部３２と例題演算部４２が同時に演算する期間が生じ、その分だけ診断時間を短縮することができる。
【００２７】
同様に、例題演算部２２で演算する例題（ステップＳ１０で演算する例題）が診断機能付きＣＰＵコア２０に予め記憶されていてもよいが、監視用ＣＰＵ４から例題演算部２２に例題を送信してもよい。
【００２８】
また、例題演算部３２と例題演算部４２が同時に演算するだけでなく、例題演算部２２まで同時演算する期間が生じるようにしてもよい。この方式でも、比較処理部２４が、被診断ＣＰＵコア３０、４０の全部について演算値と期待値を比較する。診断機能付きＣＰＵコア２０は、全ての被診断ＣＰＵコア３０、４０について演算値と期待値が全て一致したときに、先に例題演算部２２で演算した演算値を監視用ＣＰＵ４に出力することができる。一方で、いずれかの被診断ＣＰＵコア３０、４０の演算値と期待値が一致しないときに、診断機能付きＣＰＵコア２０は、異常値を監視用ＣＰＵ４に出力する。従って、診断機能付きＣＰＵコア２０の例題演算部２２が、被診断ＣＰＵコア３０、４０の例題演算部３２、４２と同時演算する期間の分だけ、診断処理を短縮することができる。
【００２９】
本実施例では、制御用ＣＰＵ２に異常があるか否かだけを判断し、異常な場合に、どのＣＰＵコアが異常かを特定する機能がない。これに代えて、どのＣＰＵコアが異常かを特定する機能を付与してもよい。例えば、第２のＣＰＵコア３０の演算値と期待値が一致しない場合を想定する。このとき異常であることを示す値が「Ｅ」であり、第２のＣＰＵコア３０の固有の識別値が「０２」であるとする。この場合、診断機能付きＣＰＵコア２０は「Ｅ０２」を異常値として監視用ＣＰＵ４に出力することができる。従って、監視用ＣＰＵ４は、第２のＣＰＵコア３０で異常があることを特定し、フェールセーフ処理部１８に知らせることができる。フェールセーフ処理部１８は、第２のＣＰＵコア３０が異常である場合のフェールセーフ処理を選択して実行することができる。同様に、第１のＣＰＵコア２０が異常である場合にはそれに対応するフェールセーフ処理を選択して実行することができ、第３のＣＰＵコア４０が異常である場合にはそれに対応するフェールセーフ処理を選択して実行することができる。
【００３０】
本実施例では、三個のＣＰＵコアを備える制御用ＣＰＵ２を例示したが、これに限定されず、二又は四個以上のＣＰＵコアを備えていてもよい。このように制御用ＣＰＵ２が比較的に多くのＣＰＵコアを備える場合、本技術における効果がより高められる。
【００３１】
以上、いくつかの具体例を詳細に説明したが、これらは例示に過ぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。本明細書又は図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものである。
【符号の説明】
【００３２】
２：制御用ＣＰＵ
４：監視用ＣＰＵ
１０：車載用電子制御装置
１４、２４：比較処理部
１８：フェールセーフ処理部
２０：診断機能付きＣＰＵコア
２２、３２、４２：例題演算部
２６：インタフェース
３０、４０：被診断ＣＰＵコア
５０：共有記憶装置
【図１】
2020046979.tif 000003
【図２】
2020046979.tif 000004