(57)【特許請求の範囲】
【請求項１】
複数のプロセッサコアを含んで構成されるマルチコア型演算処理ユニットを用いて車両に搭載された制御対象の制御を行う車両用制御装置において、
前記マルチコア型演算処理ユニットは、前記制御対象を含む、前記制御対象の制御系の故障を診断するための外部診断装置との間でデータの送受信を行う通信部を備え、
前記複数のプロセッサコアのうち、予め決められた特定コアが、前記通信部を介して前記外部診断装置との間のデータ送受信処理を実行し、
前記複数のプロセッサコアの少なくとも１つは、前記制御系の故障を検知する故障検知処理を実行し、
前記特定コアは、前記故障検知処理において故障が検出された場合にその故障の内容を示す故障コードを確定する故障検知確定処理を実行し、
前記特定コアは、前記外部診断装置から前記故障検知処理を停止することを要求する故障検知停止要求メッセージを受信したときは、前記故障検知確定処理を実行しないようにするとともに、前記特定コア以外のプロセッサコアであって、前記故障検知処理を実行するプロセッサコアに対して前記故障検知処理を実行しないように指令することを特徴とする車両用制御装置。
【請求項２】
前記マルチコア型演算処理ユニットは、前記複数のプロセッサコアの全部が使用可能な共有メモリを備え、
前記特定コアと、該特定コア以外のプロセッサコアとの間のデータ伝送は、前記共有メモリを介して行われることを特徴とする請求項１に記載の車両用制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両に搭載された内燃機関、変速機、空調装置などの制御対象を制御する車両用制御装置に関し、特に複数のプロセッサコアを含んで構成されるマルチコア型演算処理ユニットを用いて制御対象を制御する制御装置に関する。
【背景技術】
【０００２】
特許文献１は、マルチコア型演算処理ユニットを用いた、内燃機関の制御装置を開示する。この装置では、マルチコア型演算処理ユニットの複数のコアにおいてそれぞれ実行される処理の同期をとるために、１つコアから他のコアに割り込みによってイベントの通知が行われる。イベントの誤通知が発生することがあるため、そのような誤通知を防止するための手法が示されている。
【０００３】
特許文献２もマルチコア型演算処理ユニットを用いた、内燃機関の制御装置を開示する。この装置では、複数のアクチュエータの制御入力値の演算に関わる複数のタスクが、複数のコアに分散して割り当てられ、複数のコア間で処理の同期をとるための通信を行いつつ並列に演算処理が行われる。内燃機関に燃焼異常が起きた場合には、燃焼異常を回避するために優先すべき制御入力値の演算に関わるタスクが、複数のコアの中から選択された１つのコアに割り当てられる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−１０８７８６号公報
【特許文献２】特開２０１４−１０５６７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記特許文献１，２に示されるように、マルチコア型演算処理ユニットを用いた内燃機関の制御装置、あるいは他の車両搭載装置を制御する車両用制御装置が従来より知られている。車両用制御装置の作動状態（故障あるいはより軽微な異常など）を診断する診断処理は、ＩＳＯ（国際標準化機構）の規定に準拠して実行することが義務付けられている。この診断処理は、外部診断装置を診断対象の制御装置に接続して実行されるが、上記特許文献１，２に示される制御装置では、そのような外部診断装置を接続して診断処理を実行することは考慮されていない。
【０００６】
外部診断装置を接続して実行される診断処理では、車両用制御装置と外部診断装置との間のデータ通信を行うときに、外部診断装置から送信される要求メッセージの対して規定応答時間内に車両用制御装置から応答することが求められる。マルチコア型演算処理ユニットを用いた車両用制御装置については、そのような要求を確実に満たすための構成あるいは制御手法がこれまでのところ提案されていない。
【０００７】
本発明は上述した点に鑑みなされたものであり、マルチコア型演算処理ユニットを用いた制御装置であって、外部診断装置との間でデータ通信を適切に実行し、特に応答時間についての要求を確実に満たすとともに、規定の変更時にも比較的容易に対応可能な車両用制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するため請求項１に記載の発明は、複数のプロセッサコア（Ｃ１１〜Ｃ１３，Ｃ２１，Ｃ２２））を含んで構成されるマルチコア型演算処理ユニット（１１，１３））を用いて車両に搭載された制御対象（１０，２０）の制御を行う車両用制御装置において、前記マルチコア型演算処理ユニットは、前記制御対象を含む、前記制御対象の制御系の故障を診断するための外部診断装置（２）との間でデータの送受信を行う通信部（３３，４３））を備え、前記複数のプロセッサコアのうち、予め決められた特定コア（Ｃ１１，Ｃ２１）が、前記通信部を介して前記外部診断装置との間のデータ送受信処理を実行し、前記複数のプロセッサコアの少なくとも１つ（Ｃ１２，Ｃ２２）は、前記制御系の故障を検知する故障検知処理を実行し、前記特定コア（Ｃ１１，Ｃ２１）は、前記故障検知処理において故障が検出された場合にその故障の内容を示す故障コードを確定する故障検知確定処理を実行し、前記特定コア（Ｃ１１，Ｃ２１）は、前記外部診断装置（２）から前記故障検知処理を停止することを要求する故障検知停止要求メッセージを受信したときは、前記故障検知確定処理を実行しないようにするとともに、前記特定コア（Ｃ１１，Ｃ２１）以外のプロセッサコアであって、前記故障検知処理を実行するプロセッサコア（Ｃ１２，Ｃ２２）に対して前記故障検知処理を実行しないように指令することを特徴とする。
【０００９】
この構成によれば、マルチコア型演算処理ユニットは、通信部を介して外部診断装置との間でデータの送受信を行うことが可能であり、複数のプロセッサコアのうち、予め決められた特定コアによって、外部診断装置との間のデータ送受信処理が実行される。すなわち、外部診断装置が接続された状態でデータ送受信処理は、上述した特許文献に示されるように複数のプロセッサコアによって分担して実行されるのではなく、特定コアのみによって実行される。このような構成を採用することによって、複数のプロセッサコアがそれぞれ外部診断装置との間でデータ送受信処理を実行する場合に必要となる複雑な処理が不要となり、処理プログラムを簡易化できるとともに、データ送受信処理速度を高めることができる。その結果、外部診断装置に対する応答時間についての要求を確実に満たすとともに、規定の変更時にも比較的容易に対応することが可能となる。また、複数のプロセッサコアの１つまたは複数のコアによって、制御対象の故障または制御系の故障を検知する故障検知処理が実行され、故障が検出された場合にその故障の内容を示す故障コードを確定する故障検知確定処理が特定コアによって実行される。特定コアは、外部診断装置との間のデータ送受信処理を実行するので、故障検知確定処理を特定コアが実行することによって、故障コードを迅速に外部診断装置に送信することが可能となる。さらに、特定コアが外部診断装置から故障検知停止要求メッセージを受信したときは、故障検知確定処理を実行しないようにするとともに、特定コア以外の、故障検知処理を実行するプロセッサコアに対して故障検知処理を実行しないように指令するので、例えば当該制御装置と、センサ及び／またはアクチュエータとを接続するコネクタを外すような場合おいて、故障検知を実行することによる誤検知を防止できる。
【００１２】
請求項２に記載の発明は、請求項１に記載の車両用制御装置において、前記マルチコア型演算処理ユニット（１１，１３）は、前記複数のプロセッサコアの全部が使用可能な共有メモリ（３４，４４）を備え、前記特定コア（Ｃ１１，Ｃ２１）と、該特定コア以外のプロセッサコア（Ｃ１２，Ｃ１３，Ｃ２２）との間のデータ伝送は、前記共有メモリを介して行われることを特徴とする。
【００１３】
この構成によれば、特定コアと、該特定コア以外のプロセッサコアとの間のデータ伝送は、共有メモリを介して行われるため、コア間の通信処理が不要となり、外部診断装置が接続された状態での特定コアの演算処理負荷を抑制することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の一実施形態にかかる車両用制御装置の構成を示すブロック図である。
【図２】図１に示すマルチコア型演算処理ユニット（ＭＣＵ１１）の機能と構成を説明するためのブロック図である。
【図３】図１に示すマルチコア型演算処理ユニット（ＭＣＵ１３）の機能と構成を説明するためのブロック図である。
【図４】外部診断装置から要求メッセージが送出された場合におけるマルチコア型演算処理ユニットの応答動作例を示すタイムチャートである。
【図５】マルチコア型演算処理ユニット（ＭＣＵ１１）で実行される処理を示すフローチャートである。
【図６】図５に示す処理で実行される診断応答処理のフローチャートである。
【発明を実施するための形態】
【００１５】
以下本発明の実施の形態を図面を参照して説明する。
図１は本発明の一実施形態にかかる車両用制御装置の構成を示すブロック図であり、この制御装置は、車両１に搭載された内燃機関、変速機、空調装置などの制御を行うマルチコア型演算処理ユニット（以下「ＭＣＵ」という）１１〜１４と、それらを相互に接続するバス３とを備えている。バス３は、データリンクコネクタ４を介して、外部診断装置２と接続可能に構成されている。外部診断装置２は、ＭＣＵ１１〜１４を含む制御装置、内燃機関、変速機などの制御対象、制御に使用される各種センサ及びアクチュエータなど（以下全体として「制御系」という）の故障診断を、ＭＣＵ１１〜１４とバス３を介した通信を行うことによって実行する。
【００１６】
図２（ａ）はＭＣＵ１１と制御対象である内燃機関（以下「エンジン」という）１０とで構成される制御系を説明するためのブロック図であり、図２（ｂ）はＭＣＵ１１の構成を示すブロック図である。図２（ａ）に示すように、ＭＣＵ１１には、エンジン１０に装着された各種センサの検出信号、例えば６度毎のクランク角度位置ＣＲＫを示すクランク角度信号、エンジン１０の各気筒のピストンが上死点ＴＤＣに位置するタイミングを示す上死点位置信号、エンジン１０のスロットル弁の開度ＴＨを示すスロットル弁開度検出信号、エンジン１０の冷却水温ＴＷを示す冷却水温検出信号、吸気温ＴＡを示す吸気温検出信号などが供給され、ＭＣＵ１１はそれらの検出信号に応じて燃料噴射量及び点火時期などの制御パラメータを算出し、算出した制御パラメータに対応する信号、すなわちエンジン１０の燃料噴射弁を駆動する燃料噴射制御信号ＩＮＪ及びエンジン１０の点火プラグを駆動する点火制御信号ＩＧなどを出力する。図２（ａ）に示した検出信号及び制御信号は例示であり、図示した検出信号以外の検出信号がＭＣＵ１１に供給されるとともに、図示した制御信号以外の制御信号も出力される。
【００１７】
ＭＣＵ１１は、演算部３１と、入出力部３２と、通信部３３とを備え、演算部３１は３つのプロセッサコア（以下単に「コア」という）Ｃ１１，Ｃ１２，Ｃ１３と、各コアに対応して設けられたキャッシュメモリＣＡ１１，ＣＡ１２，ＣＡ１３と、コアＣ１１〜Ｃ１３が使用可能な共有メモリ３４とを備えている。各コアＣ１１〜Ｃ１３は、共有メモリ３４に格納されているデータを読み出し、対応するキャッシュメモリＣＡ１１，ＣＡ１２，ＣＡ１３を使用して、エンジン制御のために必要な演算処理を分担して実行する。演算処理によって得られた制御パラメータは、共有メモリ３４を介して入出力部３２に出力される。
【００１８】
入出力部３２には、上述した各種検出信号を出力するセンサ、及び燃料噴射弁、点火プラグなどのアクチュエータが接続されており、入出力部３２は、入力される検出信号をデジタル値に変換して共有メモリ３４に格納するとともに、共有メモリ３４に格納される制御パラメータに応じた、アクチュエータの駆動信号を出力する。通信部３３は、バス３に接続されており、バス３上のデータの受信及びバス３へのデータの送信を行う。
【００１９】
図３（ａ）はＭＣＵ１３と制御対象である自動変速機２０とで構成される制御系を説明するためのブロック図であり、図３（ｂ）はＭＣＵ１３の構成を示すブロック図である。図３（ａ）に示すように、ＭＣＵ１３には、自動変速機２０に装着された各種センサの検出信号、例えば入力軸回転数ＮＭの検出信号、出力軸回転数ＮＣの検出信号、作動油温ＴＡＴＦを示す検出信号などが供給され、ＭＣＵ１３はそれらの検出信号に応じてロックアップクラッチの制御信号ＳＣＬＣや変速段の制御信号ＳＣＧＲなどを出力する。図３（ａ）に示した検出信号及び制御信号は例示であり、図示した検出信号以外の検出信号がＭＣＵ１３に供給されるとともに、図示した制御信号以外の制御信号も出力される。
【００２０】
ＭＣＵ１３は、演算部４１と、入出力部４２と、通信部４３とを備え、演算部４１は２つのコアＣ２１，Ｃ２２と、各コアに対応して設けられたキャッシュメモリＣＡ２１，ＣＡ２２と、コアＣ２１，Ｃ２２が使用可能な共有メモリ４４とを備えている。各コアＣ２１，Ｃ２２は、共有メモリ４４に格納されているデータを読み出し、対応するキャッシュメモリＣＡ２１，ＣＡ２２を使用して、変速機制御のために必要な演算処理を分担して実行する。演算処理によって得られた制御パラメータは、共有メモリ４４を介して入出力部４２に出力される。
【００２１】
入出力部４２には、上述した各種検出信号を出力するセンサ、及びロックアップクラッチの油圧制御アクチュエータ、変速段切り換え用の複数の油圧制御アクチュエータなどが接続されており、入出力部４２は、入力される検出信号をデジタル値に変換して共有メモリ４４に格納するとともに、共有メモリ４４に格納される制御パラメータに応じた、アクチュエータの駆動信号を出力する。通信部４３は、バス３に接続されており、バス３上のデータの受信及びバス３へのデータの送信を行う。
【００２２】
図４は、外部診断装置２から診断情報要求メッセージ及び故障検知停止要求メッセージが送出され、その要求メッセージに対してＭＣＵ１１及びＭＣＵ１３が応答する動作例を示すタイムチャートであり、図の上から下に向かって時間が経過するように示されている。本実施形態では、ＭＣＵ１１のコアＣ１１及びＭＣＵ１３のコアＣ２１が、外部診断装置２との間でデータ送受信処理を実行する特定コアとして予め設定されている。
【００２３】
コアＣ１１は、送受信処理、故障検知確定処理、及び診断応答処理を実行する。送受信処理は、他のＭＣＵ１２〜１４や外部診断装置２との間のデータ送受信を行う処理であり、故障検知確定処理は、コアＣ１２で実行されるエンジン故障検知処理の結果に基づいて、外部診断装置２へ送信する故障コードを確定する処理であり、診断応答処理は外部診断装置２からの要求に応じて実行される応答処理である。
【００２４】
コアＣ１２は、エンジン故障検知処理、ＴＲＱＴ算出処理、及び協調制御処理を実行する。エンジン故障検知処理は、エンジン１０あるいはエンジン１０に装着されたセンサやアクチュエータなどの故障を検知する処理であり、ＴＲＱＴ算出処理は、車両１のアクセルペダルの踏み込み量などに応じてエンジン１０の目標トルクＴＲＱＴを算出する処理であり、協調制御処理は、他のＭＣＵ１２〜１４が実行する制御との協調制御を行う処理である。
【００２５】
コアＣ１３は、入出力処理、アイドル停止処理、及びＴＲＱＡ算出処理を実行する。入出力処理は、センサにより検出されるデータの入力処理及びアクチュエータへ駆動信号を出力する処理であり、アイドル停止処理は、所定のアイドル停止条件が成立したときにエンジンを一時的に停止させる処理であり、ＴＲＱＡ算出処理はエンジンの実出力トルクＴＲＱＡを算出する処理である。
【００２６】
ＭＣＵ１３のコアＣ２１は、入出力処理、故障検知確定処理、送受信処理、及び診断応答処理を実行する。これらの処理はＭＣＵ１１で実行される対応する処理と同様の処理である。故障検知確定処理では、コアＣ２２が実行するＡＴ故障検知処理、すなわち自動変速機２０あるいは自動変速機２０に装着されたセンサやアクチュエータなどの故障を検知する処理の結果に基づいて、外部診断装置２へ送信する故障コードが確定される。
【００２７】
コアＣ２２は、上記ＡＴ故障検知処理、ＴＲＱＤ算出処理、協調制御処理、及びＳＦＴＴ算出処理を実行する。ＴＲＱＤ算出処理は、車両１の駆動輪の駆動トルクＴＲＱＤを算出する処理であり、ＳＦＴＴ算出処理は、自動変速機２０の目標変速段ＳＦＴＴを車両運転状態に応じて算出する処理である。
【００２８】
外部診断装置２が診断情報要求メッセージＭＲＱ１を送出すると、コアＣ１１及びＣ２１はその診断情報要求メッセージＭＲＱ１を受信し、それぞれ診断応答処理ＲＥＳ１１及びＲＥＳ２１を起動する。診断応答処理では、図６に示すように診断要求内容に応じた処理が実行される。コアＣ１１及びＣ２１はそれぞれ診断応答処理を実行して、応答メッセージＭＲＥＳ１１及び応答メッセージＭＲＥＳ２１を送出する。この応答メッセージＭＲＥＳ１１，ＭＲＥＳ２１には、この時点で確定している故障コードが含まれる。
【００２９】
これらの応答メッセージの送出は、ＩＳＯの規定１４２２９に準拠するため、診断情報要求メッセージＭＲＱ１の送出時点から規定応答時間ＴＲＥＳＬＭ内に行われる必要がある。規定応答時間ＴＲＥＳＬＭ内に応答メッセージＭＲＥＳの送出が行われないとき、例えばコアＣ２１の応答メッセージＭＲＥＳ２１の送出が遅れると、外部診断装置２によってＭＣＵ１３が車両に搭載されていないと誤認識されて正しく診断が行われなくなったり、診断情報要求メッセージの再送出などが行われ、診断処理が遅れることになる。
【００３０】
次に外部診断装置２が故障検知停止要求メッセージＭＲＱ２を送出すると、コアＣ１１及びＣ２１はその故障検知停止要求メッセージＭＲＱ２を受信し、それぞれ診断応答処理ＲＥＳ１２及びＲＥＳ２２を起動する。故障検知停止要求メッセージＭＲＱ２は、故障検知を停止させる必要があるときに送出される。例えば制御装置のメンテナンスのために、制御装置と、センサ及び／またはアクチュエータとを接続するコネクタを外すような場合には、故障検知処理を実行すると誤検知する可能性がある。したがって、そのような場合には故障検知停止要求メッセージＭＲＱ２が外部診断装置２から送出される。
【００３１】
故障検知停止要求メッセージＭＲＱ２に対応して、コアＣ１１は自身の故障検知確定処理（破線で表示）を実行しないようにするとともに、コア１２に対してエンジン故障検知処理（破線で表示）を実行しないように指令し、応答メッセージＭＲＥＳ１２を送出する。またコアＣ２１は自身の故障検知確定処理（破線で表示）を実行しないようにするとともに、コアＣ２２に対してＡＴ故障検知処理（破線で表示）を実行しないように指令し、応答メッセージＭＲＥＳ２２を送出する。これらの応答メッセージの送出も、要求メッセージＭＲＱ２の送出時点から規定時間ＴＲＥＳＬＭ内に行われる必要がある。
【００３２】
このように本実施形態では、ＭＣＵ１１，１３（１２，１４も同様）が備える複数のコアのうち、予め決められた一つコア（以下「特定コア」とう）Ｃ１１，Ｃ２１が、外部診断装置２から送出される要求メッセージに対応する診断応答処理を優先度の高いイベント処理として実行するようにしたので、複数のＭＣＵで実行する診断応答処理を共通化することができる。その結果、１つの汎用モジュールを全てのＭＣＵの特定コアにおける応答診断処理に適用することが可能となり、ＩＳＯの規定で要求される規定応答時間ＴＲＥＳＬＭ内に応答メッセージを確実に送出できるプログラムを容易に作成できる。
【００３３】
また特定コアＣ１１，Ｃ２１が診断応答処理及び故障検知確定処理をともに実行するようにしたので、故障検知停止要求メッセージＭＲＱ２が送出された場合に、規定応答時間ＴＲＥＳＬＭ内に故障検知確定処理を停止させる処理を確実に完了することが可能となる。診断応答処理と、故障検知確定処理とがそれぞれ別のコアで実行する構成を採用すると、迅速に停止指令を伝達するためにコア間通信が必要となり、また停止指令が遅れて故障検知確定処理が行われてしまう。そのため、共有メモリに格納された故障検知確定処理の結果を削除する処理が必要となるといった事態を招き、各コアの処理負荷がかえって増加するという問題が発生する。本実施形態では、特定コアＣ１１，Ｃ２１等（ＭＣＵ１２，１４も同様）が、診断応答処理及び故障検知確定処理をともに実行するようにしたので、このような問題を回避することができる。
【００３４】
またＭＣＵ１１においてコアＣ１１が、コアＣ１２におけるエンジン故障検知処理を停止させる指令は、共有メモリ３４を経由してコアＣ１１からコアＣ１２へ伝達されるので、コア間通信は不要とすることができる。
【００３５】
図５（ａ），（ｂ），及び（ｃ）は、ＭＣＵ１１のコアＣ１１〜Ｃ１３で実行される通常制御処理の一部を示すフローチャートであり、図５（ｄ）は上述したように外部診断装置２が診断情報要求メッセージ、故障検知停止要求メッセージなどを送出したときに、特定コアであるコアＣ１１が実行するイベント処理のフローチャートである。このイベント処理は、コアＣ１１により実行され、外部診断装置２が送出する要求メッセージの受信及び応答メッセージの送信が、要求メッセージの受信イベントに対応して実行される（ステップＳ２１）。
【００３６】
図５（ａ）のステップＳ１１では、故障検知停止中であるか否かを判別し、その答が肯定（ＹＥＳ）であるときは、直ちにステップＳ１３に進む。故障検知停止中でなければ、故障検知確定処理を実行する（ステップＳ１２）。ステップＳ１３では、送受信処理を実行する。
【００３７】
図５（ｂ）のステップＳ３１では、故障検知停止中であるか否かを判別し、その答が肯定（ＹＥＳ）であるときは、直ちにステップＳ３３に進む。故障検知停止中でなければ、エンジン故障検知処理を実行する（ステップＳ３２）。ステップＳ３３，Ｓ３４では、それぞれＴＲＱＴ算出処理及び協調制御処理を実行する。
【００３８】
図５（ｃ）のステップＳ４１〜Ｓ４３では、入出力処理、アイドル停止処理、及びＴＲＱＡ算出処理を実行する。
【００３９】
図６は、図５（ｄ）のステップＳ２１で実行される診断応答処理のフローチャートである。ステップＳ５１では受信したメッセージのチェックを行い、異常がないときはメッセージ正常フラグＦＭＳＧＯＫを「１」に設定する。ステップＳ５２では、メッセージ正常フラグＦＭＳＧＯＫが「１」であるか否かを判別し、その答が否定（ＮＯ）であって異常が検出されたときは、その異常を外部診断装置２に通知するネガティブメッセージを作成し（ステップＳ５３）、ステップＳ６７に進む。
【００４０】
ステップＳ５２の答が肯定（ＹＥＳ）であるときは、診断要求判定処理を実行し、外部診断装置２が要求する処理内容を判定する（ステップＳ５４）。ステップＳ５５では、判定結果に応じて、処理をステップＳ５６，Ｓ５８，Ｓ６０，Ｓ６２，Ｓ６４，またはＳ６６の何れかに分岐させる。ステップＳ５６では、Ａ処理（例えば診断情報要求に対応する処理）を実行し、Ａ処理に対応する応答メッセージを作成する（ステップＳ５７）。
【００４１】
ステップＳ５８では、Ｂ処理（例えばセンサ検出データ要求に対応する処理）を実行し、Ｂ処理に対応する応答メッセージを作成する（ステップＳ５９）。ステップＳ６０では、Ｃ処理（例えばリセット要求に対応する処理）を実行し、Ｃ処理に対応する応答メッセージを作成する（ステップＳ６１）。ステップＳ６２では、Ｄ処理（例えば故障検知停止要求に対応する処理）を実行し、Ｄ処理に対応する応答メッセージを作成する（ステップＳ６３）。ステップＳ６４では、Ｅ処理（例えば通信停止要求に対応する処理）を実行し、Ｅ処理に対応する応答メッセージを作成する（ステップＳ６５）。
【００４２】
予め決められているＡ〜Ｅ処理以外の処理要求（非サポート要求）を受信ししたときは、ステップＳ６６に進み、非サポート処理であることを通知する非サポートメッセージを作成する。
【００４３】
ステップＳ６７，Ｓ６８では、作成したメッセージの送信を実行する。送信が完了すると、送信完了処理を実行する（ステップＳ６９）。すなわち、外部診断装置２からの要求メッセージの受信から応答メッセージの送信までに要した応答時間ＴＲＥＳを計測し、規定応答時間ＴＲＥＳＬＭ以内に応答が完了したことを確認する。
【００４４】
ステップＳ７０では、他のコアＣ１２，Ｃ１３に通知する必要のある診断制御状態を通知する。この通知は、共有メモリ３４に通知すべき情報を書き込むことによって実行される。例えば、図４を参照して説明したように、故障検知停止要求を受信したときに、コアＣ１２に対してエンジン故障検知を停止する指令が行われる。
【００４５】
なお、ＭＣＵ１３のコアＣ２１における診断応答処理、及び他のＭＣＵ１２，１４の特定コアにおける診断応答処理は、図６に示す処理と同様のものであるため、図示及び説明を省略する。
【００４６】
上述した規定応答時間ＴＲＥＳＬＭは、ＭＣＵ１１〜１４で実行される制御処理が、例えばエンジン１０や自動変速機２０の制御のように重要な制御対象に対応するものである場合には、比較的短い時間（例えば数十ミリ秒程度）に設定されている。そのため、例えば応答メッセージの作成処理（図６，ステップＳ５３，Ｓ５７，Ｓ５９など）と、送信完了処理（図６，ステップＳ５９）とを異なるコアが実行するような構成を採用すると、異なるコアにおける処理を調整するための処理が必要となって、ＭＣＵ全体としての処理負荷が増加することなる。本実施形態では、このような外部診断装置２からの要求メッセージの受信及び応答処理を、予め決められた特定コア（Ｃ１１，Ｃ２１）が実行するようにしたので、そのような問題を回避して処理プログラムを簡易化できるとともに、データ送受信処理速度を高めることができる。その結果、外部診断装置２に対する応答時間ＴＲＥＳについての要求を確実に満たすとともに、規定の変更時にも比較的容易に対応することが可能となる。
【００４７】
またＭＣＵ１１ではコアＣ１２によってエンジン故障検知処理が実行され、故障が検出された場合にその故障の内容を示す故障コードを確定する故障検知確定処理が特定コアであるコアＣ１１によって実行される。コアＣ１１は、外部診断装置２との間のデータ送受信処理を実行するので、故障検知確定処理をコアＣ１１が実行することによって、故障コードを迅速に外部診断装置２に送信すること、及び故障検知停止要求に対して迅速に対応することが可能となる。
【００４８】
また特定コアであるＣ１１，Ｃ２１と、他のコアＣ１２，Ｃ２２などとの間のデータ伝送は、共有メモリ３４，４４を介して行われるため、コア間の通信処理が不要となり、外部診断装置２が接続された状態での特定コアＣ１１，Ｃ２１の演算処理負荷を抑制することができる。
【００４９】
なお本発明は上述した実施形態に限るものではなく、種々の変形が可能である。例えば、上述した実施形態では、４つのＭＣＵで構成される車両用制御装置を示したが、本発明は制御装置が有するＭＣＵの数にかからず適用可能である。ＭＣＵ１１〜１４が備えるコアの数は、２以上であればよく、２個または３個に限定されるものではない。
また上述した実施形態では、故障検知処理を実行するコアが１つである例を示したが、２つ以上のコアが故障検知処理を実行するようにしてもよい。
【符号の説明】
【００５０】
２  外部診断装置
３  バス
１０  内燃機関
１１〜１４  マルチコア型演算処理ユニット
２０  自動変速機
３３，３４  通信部
３４，４４  共有メモリ
Ｃ１１〜Ｃ１３，Ｃ２１，Ｃ２２  プロセッサコア
【図１】
0006293618.tif 000002
【図２】
0006293618.tif 000003
【図３】
0006293618.tif 000004
【図４】
0006293618.tif 000005
【図５】
0006293618.tif 000006
【図６】
0006293618.tif 000007