(57)【要約】【課題】高負荷時において処理負荷を低下させることによる車両制御への影響を予測して低減する電子制御装置を提供する。【解決手段】電子制御装置は、間引きフラグ、低優先停止フラグ、中優先停止フラグのいずれのフラグも更新していないか、更新した場合に更新してから所定時間経過している状態で（Ｓ４００：Ｙｅｓ）、処理負荷が９５％以上の場合（Ｓ４０２：Ｙｅｓ）、間引きフラグ、低優先停止フラグ、中優先停止フラグの順にいずれがオフであるかを判定し（Ｓ４０４、Ｓ４０８、Ｓ４１２）、いずれかのフラグがオフであればオンにし、そのときの時刻および車両運転状態を記憶する（Ｓ４０６、Ｓ４１０、Ｓ４１４）。間引きフラグがオンになると、対象となる車両制御処理の実行が間引かれて実行頻度が低下し、低優先停止フラグ、中優先停止フラグがオンになると、対象となる車両制御処理の実行が停止される。【選択図】図２
2012218467.tif 000002
【特許請求の範囲】
【請求項１】
車両に搭載され車両制御処理を含む複数の処理を実行する電子制御装置において、
前記複数の処理による処理負荷を検出する負荷検出手段と、
前記負荷検出手段が検出する前記処理負荷が所定の調整実行値以上の場合、前記複数の処理のうち予め選択された一部の処理の実行頻度を低下させる負荷調整処理を実行する負荷調整手段と、
を備えることを特徴とする電子制御装置。
【請求項２】
前記負荷調整手段は、前記複数の処理のうち一部の処理の実行頻度を低下させている状態で前記処理負荷が前記調整実行値以上の場合、さらに、前記複数の処理のうち予め選択された一部の処理の実行を停止する段階的な前記負荷調整処理を実行することを特徴とする請求項１に記載の電子制御装置。
【請求項３】
実行が停止される対象となる前記処理は予め複数の優先度に分類されており、前記負荷調整手段は、低い優先度の前記処理の実行を停止している状態で前記処理負荷が前記調整実行値以上の場合、さらに、実行を停止している前記処理よりも優先度の高い前記処理の実行を停止する段階的な前記負荷調整処理を実行することを特徴とする請求項２に記載の電子制御装置。
【請求項４】
前記負荷調整処理の対象であるすべての前記処理に対して前記負荷調整手段が前記負荷調整処理を実行している状態で前記処理負荷が前記調整実行値以上の場合、ダイアグコードを生成して記憶部に記憶するダイアグ記憶手段を備えることを特徴とする請求項２または３に記載の電子制御装置。
【請求項５】
前記ダイアグ記憶手段は、前記ダイアグコードとともに、車両の運転状態を前記記憶部に記憶することを特徴とする請求項４に記載の電子制御装置。
【請求項６】
前記負荷調整手段は、前記段階的な前記負荷調整処理の各段階の前記負荷調整処理を開始すると、所定時間経過後に次の段階の前記負荷調整処理を実行するか否かを判定することを特徴とする請求項２から５のいずれか一項に記載の電子制御装置。
【請求項７】
前記負荷調整手段は、前記処理負荷が前記調整実行値よりも低い所定の調整解除値以下の場合、前記複数の処理のうち一部の処理の実行を停止している場合には、そのうちの少なくとも一部の処理の実行を停止する前記負荷調整処理を解除し、前記複数の処理のうち一部の処理の実行を停止しておらず一部の処理の実行頻度を低下させている場合には実行頻度を低下させる前記負荷調整処理を解除する解除処理を実行することを特徴とする請求項１から６のいずれか一項に記載の電子制御装置。
【請求項８】
前記負荷調整手段は、前記処理負荷が前記調整実行値よりも低い所定の調整解除値以下の場合、前記段階的な前記負荷調整処理の実行順序とは逆の順序で各段階の前記負荷調整処理を解除する解除処理を実行し、各段階の前記負荷調整処理の解除を開始すると、所定時間経過後に次の段階の前記負荷調整処理を解除するか否かを判定することを特徴とする請求項２から６のいずれか一項に記載の電子制御装置。
【請求項９】
前記負荷調整手段が前記解除処理を実行するときの時刻と車両の運転状態とを前記記憶部に記憶する情報記憶手段を備えることを特徴とする請求項７または８に記載の電子制御装置。
【請求項１０】
前記負荷調整手段が前記負荷調整処理を実行するときの時刻と車両の運転状態とを前記記憶部に記憶する情報記憶手段を備えることを特徴とする請求項１から９のいずれか一項に記載の電子制御装置。
【請求項１１】
前記負荷調整処理の対象となる前記処理は、車両走行の安全性および前記処理負荷が前記調整実行値以上のときの必要性の少なくともいずれか一方に基づいて予め選択されていることを特徴とする請求項１から１０のいずれか一項に記載の電子制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両に搭載される電子制御装置に関する。
【背景技術】
【０００２】
従来、車両に搭載される電子制御装置に搭載された複数のプロセッサの間で処理を均等化することにより、特定のプロセッサの処理負荷が上昇することを防止し、電子制御装置としての処理負荷が過度に上昇することを防止する技術が知られている。
【０００３】
しかしながら、この技術では、処理負荷が上昇し、高負荷のためにどの処理の実行が停止されるかは負荷状態および各処理の優先度によって変化するので、どの処理の実行が停止されるかを認識ができない。そのため、処理が停止されたことによる車両制御への影響を予測できないという問題がある。
【０００４】
これに対し、特許文献１に開示されている技術では、高負荷のためにウォッチドッグタイマのクリアや宿題回答をマイクロコンピュータ（以下、マイコンとも言う。）が実行できずにマイコンの異常と誤判断することを防止するために、高負荷プログラムが実行される高負荷時に、宿題回答方式による異常監視処理を停止させることにより、マイコンを異常と判定せず、マイコンをリセットしないようにしている。さらに、特許文献１では、高負荷プログラムが実行されるときには、制御対象に対する制御信号の生成を禁止している。
【０００５】
ここで、宿題回答とは、予め定められた監視用の信号をマイコンに送り、監視用信号に基づいてマイコンが所定の演算を行った演算結果をマイコンから受け取り、受け取った演算結果が正常値と異なる場合、あるいは所定時間内でマイコンから演算結果が回答されない場合、マイコンの異常であると判定する異常監視方式である。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００５−２５０８５４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、車両に搭載される電子制御装置において、特許文献１のように、制御対象に対する制御信号の生成を高負荷時に禁止すると、処理負荷は低下するものの、車両制御への影響が大きいという問題がある。
【０００８】
本発明は、上記課題を解決するためになされたものであり、高負荷時において処理負荷を低下させることによる車両制御への影響を予測して低減する電子制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
請求項１から１１に記載の発明によると、負荷検出手段が検出する処理負荷が所定の調整実行値以上の場合、負荷調整手段は、複数の処理のうち予め選択された一部の処理の実行頻度を低下させる。尚、処理負荷とは、例えばアイドルタスク以外のタスクが実行される割合を表わしている。
【００１０】
これにより、実行頻度を低下させられた処理は実行頻度が低下するものの実行されるので、車両制御に対する影響を低減しつつ、処理負荷を低下させることができる。
また、実行頻度を低下させる処理を予め選択しておくことにより、処理負荷が調整実行値以上になり処理の実行頻度が低下されたときに車両制御に与える影響を予測できる。そして、例えば、実行頻度を低下させても車両制御に大きな影響を与えない処理を予め選択しておけば、車両制御に対する影響を極力低減できる。
【００１１】
請求項２に記載の発明によると、負荷調整手段は、複数の処理のうち一部の処理の実行頻度を低下させている状態で処理負荷が所定の調整実行値以上の場合、さらに、複数の処理のうち予め選択された一部の処理の実行を停止する段階的な負荷調整処理を実行する。
【００１２】
このように、処理の実行頻度の低下、その次に処理の実行停止と、負荷調整処理を段階的に実行するので、車両制御に対する影響を極力低減しながら、処理負荷を低下させることができる。
【００１３】
また、実行停止の対象となる処理を予め選択しておくことにより、処理負荷が調整実行値以上になり処理の実行が停止されたときに車両制御に与える影響を予測できる。そして、例えば、実行を停止しても車両制御に大きな影響を与えない処理を予め選択しておけば、車両制御に対する影響を極力低減できる。
【００１４】
請求項３に記載の発明によると、実行が停止される対象となる処理は予め複数の優先度に分類されており、負荷調整手段は、低い優先度の処理の実行を停止している状態で処理負荷が所定の調整実行値以上の場合、さらに、実行を停止している処理よりも優先度の高い処理の実行を停止する段階的な負荷調整処理を実行する。
【００１５】
このように、一部の処理の実行頻度を低下させている状態で処理負荷が調整実行値以上の場合、停止処理の対象として予め選択された処理の実行をすべて停止するのではなく、優先度の低い処理から優先度の高い処理へと段階的に実行を停止する処理を増やしていくので、車両制御に対する影響を極力低減しながら、処理負荷を低下させることができる。
【００１６】
請求項４に記載の発明によると、負荷調整処理の対象であるすべての処理に対して負荷調整手段が負荷調整処理を実行している状態で処理負荷が調整実行値以上の場合、ダイアグ記憶手段は、ダイアグコードを生成して記憶部に記憶する。
【００１７】
これにより、ディーラ等で診断ツールを使用してダイアグコードを読み出すことにより、処理負荷の異常上昇が発生したことを容易に検出できる。
請求項５に記載の発明によると、ダイアグ記憶手段は、ダイアグコードとともに、車両の運転状態を記憶部に記憶する。
【００１８】
これにより、処理負荷の異常上昇が発生したことを検出できるとともに、そのときの車両の運転状態を読み出すことにより、処理負荷の異常上昇の原因を解析できる。その結果、処理負荷の異常上昇を回避するように車両制御処理の仕様を修正できる。
【００１９】
ところで、負荷調整処理を開始しても処理負荷が変化するまでには時間遅れがあるので、段階的に負荷調整処理を実行する場合、各段階で負荷調整処理を開始してすぐに処理負荷が調整実行値以上であるか否かを判定すると、処理負荷は判定閾値である調整実行値以上のままである可能性が高いため、各段階の負荷調整処理が次々に実行される。
【００２０】
そうなると、負荷調整処理の対象ではあるが処理負荷を低下させる上で不必要な処理にまで負荷調整処理が実行される恐れがある。
そこで、請求項６に記載の発明によると、負荷調整手段は、段階的な負荷調整処理の各段階の負荷調整処理を開始すると、所定時間経過後に次の段階の負荷調整処理を実行するか否かを判定する。
【００２１】
これにより、各段階の負荷調整処理により生じる処理負荷の変化を待ってから、次の段階の負荷調整処理を実行するか否かを判定できる。その結果、各段階の負荷調整処理が次々に実行されることを防止できる。
【００２２】
請求項７に記載の発明によると、負荷調整手段は、処理負荷が調整実行値よりも低い所定の調整解除値以下の場合、複数の処理のうち一部の処理の実行を停止している場合には、そのうちの少なくとも一部の処理の実行を停止する負荷調整処理を解除し、複数の処理のうち一部の処理の実行を停止しておらず一部の処理の実行頻度を低下させている場合には実行頻度を低下させる負荷調整処理を解除する解除処理を実行する。
【００２３】
このように負荷調整処理により処理負荷が調整解除値以下になると、負荷調整処理の実行状態に応じて、負荷調整処理の対象となった処理に対する負荷調整処理を解除することにより、適切な車両制御を再開することができる。
【００２４】
ところで、負荷調整の解除処理を開始しても処理負荷が変化するまでには時間遅れがあるので、段階的に解除処理を実行する場合、各段階で解除処理を開始してすぐに処理負荷が調整解除値以下であるか否かを判定すると、処理負荷は判定閾値である調整解除値以下のままである可能性が高いため、各段階の解除処理が次々に実行される。
【００２５】
そうなると、負荷調整処理を解除する必要のない処理にまで解除処理が実行され、処理負荷が不必要に低下する恐れがある。
そこで、請求項８に記載の発明によると、負荷調整手段は、処理負荷が調整実行値よりも低い所定の調整解除値以下の場合、段階的な負荷調整処理の実行順序とは逆の順序で各段階の負荷調整処理を解除する解除処理を実行し、各段階の負荷調整処理の解除を開始すると、所定時間経過後に次の段階の負荷調整処理を解除するか否かを判定する。
【００２６】
これにより、各段階の負荷調整の解除処理により生じる処理負荷の変化を待ってから、次の段階の解除処理を実行するか否かを判定できる。その結果、各段階の解除処理が次々に実行されることを防止できる。
【００２７】
請求項９に記載の発明によると、情報記憶手段は、負荷調整手段が解除処理を実行するときの時刻と車両の運転状態とを記憶部に記憶する。
これにより、処理負荷が低下して解除処理を実行するときの時刻と車両の運転状態とを読み出せば、解除処理がいつ、どのような運転状態で実行されるかを解析できる。その結果、処理負荷の異常上昇を避けるように車両制御処理の仕様を修正できる。
【００２８】
請求項１０に記載の発明によると、情報記憶手段は、負荷調整手段が負荷調整処理を実行するときの時刻と車両の運転状態とを記憶部に記憶する。
これにより、処理負荷が上昇して負荷調整処理を実行するときの時刻と車両の運転状態とを読み出せば、負荷調整処理がいつ、どのような運転状態で実行されるかを解析できる。その結果、処理負荷の異常上昇を避けるように車両制御処理の仕様を修正できる。
【００２９】
請求項１１に記載の発明によると、負荷調整処理の対象となる処理は、車両走行の安全性および処理負荷が調整実行値以上のときの必要性の少なくともいずれ一方に基づいて予め選択されている。
【００３０】
つまり、実行頻度を低下させるか実行を停止しても車両走行の安全性に影響を殆ど及ぼさないか、あるいは処理負荷が調整実行値以上のときに実行する必要のない処理に対して負荷調整処理を実行する一方、実行頻度を低下させるか実行を停止すると車両走行の安全性に影響を及ぼすか、あるいは処理負荷が調整実行値以上のときに実行する必要のある処理に対して負荷調整処理を実行しない。これにより、処理負荷が調整実行値以上のときに適切な車両制御処理を実行し、車両を安全に走行させながら処理負荷を低下させることができる。
【図面の簡単な説明】
【００３１】
【図１】本実施形態による電子制御装置を示すブロック図。
【図２】処理負荷監視処理を示すフローチャート。
【図３】（Ａ）は通常制御処理を示すフローチャート、（Ｂ）は低優先停止処理を示すフローチャート、（Ｃ）は中優先停止処理を示すフローチャート。
【図４】処理負荷監視処理、負荷調整処理、および解除処理を示すタイムチャート。
【発明を実施するための形態】
【００３２】
以下、本発明の実施形態を図に基づいて説明する。
図１に、車両に搭載される本実施形態のエンジン用の電子制御装置（ＥＣＵ：Electronic Control Unit）１０を示す。エンジンＥＣＵ（以下、単にＥＣＵとも言う。）１０は、電源回路１２、１４、マイコン２０、ＥＥＰＲＯＭ４０、入出力回路４２等から構成されている。
【００３３】
電源回路１２は、スタートスイッチ４がオンになると、ＥＣＵ１０の主な電子部品にバッテリ２の電力を供給する。電源回路１４は、スタートスイッチ４のオン、オフに関わらず、常にＥＣＵ１０の該当する電子部品、例えばＳＲＡＭ（スタンバイＲＡＭ）２８にバッテリ２の電力を供給する。
【００３４】
マイコン２０は、ＣＰＵ２２、ＲＡＭ２４、ＲＯＭ２６、ＳＲＡＭ２８、Ｉ／Ｏ３０から主に構成されている。マイコン２０は、ＲＯＭ２６に記憶されている制御プログラムをＣＰＵ２２が実行することにより、Ａ/Ｆセンサ５０、回転数センサ５２、エアフロセンサ５４、スロットルセンサ５６、水温センサ５８等から車両運転状態を表わす検出信号を入力し、車両運転状態に基づいて複数のエンジン制御処理を実行する。
【００３５】
制御プログラムが作業用に使用し、スタートスイッチ４がオフになると記憶データが消失するＲＡＭ２４に対し、ＳＲＡＭ２８は、スタートスイッチ４のオン、オフに関わらず、電源回路１４を介してバッテリ２から電力を供給されている。したがって、ＳＲＡＭ２８に記憶されているデータは、バッテリ２の交換等によりバッテリ２からの電力供給が遮断されない限り保存される。
【００３６】
Ｉ／０３０は、入出力回路４２を介して、各種センサから検出信号を入力したり、ＣＡＮ等の車内ＬＡＮにより他のＥＣＵと通信する。
ＥＥＰＲＯＭ４０は、マイコン２０に外付けされている。ＥＥＰＲＯＭ４０は、書き込み可能な不揮発性の記憶部であり、バッテリ２が交換されても、記憶されているデータは保存される。
【００３７】
（処理負荷監視処理）
図２に、車両制御処理の一部であるエンジン制御処理を含みＥＣＵ１０が実行する複数の処理に対する処理負荷の監視処理を示す。図２において「Ｓ」はステップを表わしている。図４のタイムチャートに示すように、処理負荷監視処理は４ｍｓ毎に実行される。処理負荷監視処理は、後述する間引き処理、低優先停止処理および中優先停止処理からなる負荷調整処理の対象となる処理の実行周期よりも短い周期で、かつ高い優先度で実行される。
【００３８】
図２のフローチャートにおいて、まずＥＣＵ１０は、後述する間引きフラグ、低優先停止フラグ、中優先停止フラグのいずれかをオンまたはオフにして更新した場合、更新してから所定の経過時間として、例えば間引き対象処理の実行周期（８ｍｓ）よりも長い１０ｍｓが経過したか否かを判定する（Ｓ４００）。
【００３９】
間引きフラグがオンになると、予め間引き処理の対象として選択された処理の実行が間引かれるので対象となる処理の実行頻度が低下する。低優先停止フラグがオンになると、予め低優先停止処理の対象として選択された処理の実行が停止される。中優先停止フラグがオンになると、予め中優先停止処理の対象として選択された処理の実行が停止される。
【００４０】
間引き処理、低優先停止処理、中優先停止処理はこの順序で段階的に実行される。低優先停止処理および中優先停止処理のそれぞれの対象となる処理は、車両制御における優先度が「低優先度」、「中優先度」の処理であり、予め分類されている。
【００４１】
いずれかのフラグが更新されることにより、間引き処理、低優先停止処理および中優先停止処理からなる負荷調整処理のいずれか、または負荷調整処理のいずれかを解除する解除処理の実行が開始されても処理負荷は瞬時には変化しない。したがって、負荷調整処理または解除処理の実行が開始されてから所定時間経過して処理負荷が変化する間は待機する。
【００４２】
本実施形態では、図４に示すように、待機するための経過時間を、間引き処理の実行周期である８ｍｓよりも長い１０ｍｓに設定している。これにより、負荷調整処理においては、例えば、図４において間引きフラグがオン（時間ｔ１参照）になってから処理負荷が高負荷状態を示す９５％以上の状態が続き、処理負荷監視処理が２回実行されているにも関わらず、１０ｍｓの間は間引きフラグに続いて低優先停止フラグはオンに設定されていない。
【００４３】
そして、間引きフラグがオンになってから１０ｍｓ経過した後の３回目の処理負荷監視処理で処理負荷が９５％以上であることにより、低優先停止フラグはオンに設定される（時間ｔ２参照）。
【００４４】
解除処理でも同様に、例えば、図４において中優先停止フラグがオフ（時間ｔ４参照）になってから、処理負荷が負荷調整処理のいずれかの解除を判定する閾値である７０％以下の状態が続き、処理負荷監視処理が２回実行されているにも関わらず、１０ｍｓの間は中優先停止フラグに続いて低優先停止フラグはオフに設定されていない。
【００４５】
そして、中優先停止フラグがオフになってから１０ｍｓ経過した後の３回目の処理負荷監視処理で処理負荷が７０％以下であることにより、低優先停止フラグはオフに設定される（時間ｔ５参照）。
【００４６】
尚、経過時間は１０ｍｓに限るものではなく、間引き処理、低優先停止処理および中優先停止処理のうち最も長い実行周期である１６ｍｓよりも長くし、２０ｍｓ程度に設定してもよい。
【００４７】
間引きフラグ、低優先停止フラグ、中優先停止フラグのうち、いずれかのフラグを更新しており、更新してから所定時間経過していない場合（Ｓ４００：Ｎｏ）、ＥＣＵ１０は本処理を終了する。これにより、いずれかのフラグが更新されてから１０ｍｓの間、フラグは更新されない。
【００４８】
どのフラグも更新していないか、更新した場合に更新してから所定時間経過していると（Ｓ４００：Ｙｅｓ）、ＥＣＵ１０は、処理負荷が９５％以上か否かを判定する（Ｓ４０２）。Ｓ４０２において、処理負荷は次式（１）から算出して検出される。アイドルタスクは、タスクが何も実行されない場合に実行される。
【００４９】
処理負荷［％］＝（１００−アイドルタスク稼働率）［％］    ・・・（１）
本実施形態では、負荷調整処理の実行を判定するための閾値である調整実行値として９５％を採用している。
【００５０】
図４のタイムチャートのスタート時に示すように、処理負荷が上昇して９５％以上になると（Ｓ４０２：Ｙｅｓ）、ＥＣＵ１０は間引きフラグがオンかオフかを判定する（Ｓ４０４）。処理負荷が９５％未満の場合（Ｓ４０２：Ｎｏ）、ＥＣＵ１０はＳ４１８に処理を移行する。
【００５１】
間引きフラグがオフの場合（Ｓ４０４：Ｎｏ）、ＥＣＵ１０は、間引きフラグをオンにし、間引きフラグのオン状態と、このときの時刻と、車両運転状態として、エンジン回転数、吸気量、スロットル開度、水温、車速等をＳＲＡＭ２８またはＥＥＰＲＯＭ４０に記憶し（Ｓ４０６）、本処理を終了する。
【００５２】
本実施形態では、図４に示すように、間引きフラグがオンになると（図４の時間ｔ１参照）、ＥＣＵ１０は間引き対象処理の実行を２回に１回間引く負荷調整処理を実行する。これにより、実行を間引かれた処理は１６ｍｓ毎に実行されることになる。図４において、実線は処理が実行されることを表わし、点線は処理の実行が省略されることを表わしている。
【００５３】
尚、間引き処理の対象処理の実行頻度を低下させる場合、車両制御への影響が許容範囲であれば、２回に１回の割合に限る必要はない。例えば、通常、８ｍｓ毎に実行される間引き対象処理を、例えば４回に３回間引いて３２ｍｓ毎に実行するようにしてもよい。
【００５４】
尚、車載カメラ、ナビゲーション装置および地図ＤＢが車両に搭載されている場合には、車載カメラの撮像データに基づいて検出される路面状態、ナビゲーション装置および地図ＤＢから取得する道路の曲率および勾配等の道路情報、ナビゲーション装置が通信経由で取得する天気情報等の車両の走行環境を車両運転状態に加えた車両走行状態をＳＲＡＭ２８またはＥＥＰＲＯＭ４０に記憶してもよい。
【００５５】
間引きフラグがオンの場合（Ｓ４０４：Ｙｅｓ）、ＥＣＵ１０は、対象となる処理の実行頻度を低下させているにも関わらず処理負荷が低下せず９５％以上になっていると判断し、低優先停止フラグがオンか否かを判定する（Ｓ４０８）。
【００５６】
低優先停止フラグがオフの場合（Ｓ４０８：Ｎｏ）、ＥＣＵ１０は、間引きフラグに続いて低優先停止フラグをオンにし（図４の時間ｔ２参照）、低優先停止フラグのオン状態と、このときの時刻および車両運転状態とをＳＲＡＭ２８またはＥＥＰＲＯＭ４０に記憶し（Ｓ４１０）、本処理を終了する。
【００５７】
図４に示すように、低優先停止フラグがオンになると（図４の時間ｔ２参照）、ＥＣＵ１０は低優先停止処理の対象処理の実行を停止する負荷調整処理を実行する。
低優先停止フラグがオンの場合（Ｓ４０８：Ｙｅｓ）、ＥＣＵ１０は、対象となる処理の実行頻度を低下させ、さらに低優先処理の実行を停止しているにも関わらず処理負荷が低下せず９５％以上になっていると判断し、中優先停止フラグがオンか否かを判定する（Ｓ４１２）。
【００５８】
中優先停止フラグがオフの場合（Ｓ４１２：Ｎｏ）、ＥＣＵ１０は、間引きフラグおよび低優先停止フラグに続いて中優先停止フラグをオンにし（図４の時間ｔ３参照）、中優先停止フラグのオン状態と、このときの時刻および車両運転状態とをＳＲＡＭ２８またはＥＥＰＲＯＭ４０に記憶し（Ｓ４１４）、本処理を終了する。
【００５９】
図４に示すように、中優先停止フラグがオンになると（図４の時間ｔ３参照）、ＥＣＵ１０は中優先停止処理の対象処理の実行を停止する負荷調整処理を実行する。
中優先停止フラグがオンの場合（Ｓ４１２：Ｙｅｓ）、ＥＣＵ１０は、間引き処理の対象となる処理の実行頻度を低下させ、さらに低優先停止処理および中優先停止処理の対象となる処理の実行を停止しているにも関わらず処理負荷が低下せず９５％以上になっていると判断する。この場合、ＥＣＵ１０は、負荷調整処理を実行しても処理負荷が高い処理負荷異常であると判断して処理負荷異常のダイアグコードを生成し、このときの時刻および車両運転状態とダイアグコードとをＳＲＡＭ２８またはＥＥＰＲＯＭ４０に記憶し（Ｓ４１６）、本処理を終了する。
【００６０】
尚、間引き処理、低優先停止処理および中優先停止処理からなる負荷調整処理がすべて実行されている状態で処理負荷が９５％以上となり、処理負荷異常とならないように、間引き処理、低優先停止処理および中優先停止処理の対象となる処理を、車両制御処理の設計段階で選択しておくことが望ましい。
【００６１】
処理負荷が９５％未満の場合（Ｓ４０２：Ｎｏ）、ＥＣＵ１０は処理負荷が７０％以下か否かを判定する（Ｓ４１８）。処理負荷が９５％未満で、かつ７０％を超えている場合（Ｓ４１８：Ｎｏ）、ＥＣＵ１０は、今の処理負荷は適切であるから処理負荷を調整する必要はないと判断し、本処理を終了する。
【００６２】
本実施形態では、負荷調整処理の解除を判定するための閾値である調整解除値として、前述した７０％を採用している。調整解除値は、次式（２）により算出される。本実施形態では、調整実行値は前述した９５％、負荷調整処理による負荷低減分は２０％、調整値は５％とし、調整解除値を７０％に設定している。
【００６３】
調整解除値＝調整実行値−負荷調整処理による負荷低減分−調整値    ・・・（２）
処理負荷が７０％以下の場合（Ｓ４１８：Ｙｅｓ）、ＥＣＵ１０は、処理負荷は十分に低下したと判断し、中有優先停止フラグがオンであるか否かを判定する（Ｓ４２０）。
【００６４】
処理負荷が十分に低下している状態で中優先停止フラグがオンの場合（Ｓ４２０：Ｙｅｓ）、ＥＣＵ１０は、中優先停止処理の対象となる処理を停止させる必要はないと判断し、中優先停止フラグをオフにするとともに、中優先停止フラグのオフ状態と、そのときの時刻および車両運転状態とをＳＲＡＭ２８またはＥＥＰＲＯＭ４０に記憶し（Ｓ４２２）、本処理を終了する。
【００６５】
処理負荷が７０％以下の場合、オンに設定されている中優先停止フラグ、低優先停止フラグ、間引きフラグは、負荷調整処理において各フラグをオンにする順序とは逆の順序で段階的にオフにされる。
【００６６】
図４に示すように、中優先停止フラグがオフになると（図４の時間ｔ４参照）、ＥＣＵ１０は、中優先停止処理の対象処理の実行を停止する負荷調整処理を解除する解除処理を実行し、対象処理の実行を再開する。
【００６７】
中優先停止フラグがオフの場合（Ｓ４２０：Ｎｏ）、ＥＣＵ１０は、低有優先停止フラグがオンであるか否かを判定する（Ｓ４２４）。
処理負荷が十分に低下している状態で低優先停止フラグがオンの場合（Ｓ４２４：Ｙｅｓ）、ＥＣＵ１０は、低優先停止処理の対象となる処理を停止させる必要はないと判断し、中優先停止フラグに続いて低優先停止フラグをオフにするとともに、低優先停止フラグのオフ状態と、そのときの時刻および車両運転状態とをＳＲＡＭ２８またはＥＥＰＲＯＭ４０に記憶し（Ｓ４２６）、本処理を終了する。
【００６８】
図４に示すように、低優先停止フラグがオフになると（図４の時間ｔ５参照）、ＥＣＵ１０は、低優先停止処理の対象処理の実行を停止する負荷調整処理を解除する解除処理を実行し、対象処理の実行を再開する。
【００６９】
低優先停止フラグがオフの場合（Ｓ４２４：Ｎｏ）、ＥＣＵ１０は、間引きフラグがオンであるか否かを判定する（Ｓ４２８）。間引きフラグがオフの場合（Ｓ４２８：Ｎｏ）、ＥＣＵ１０は、負荷調整処理を実行していない状態で処理負荷が十分に低下していると判断し、本処理を終了する。
【００７０】
処理負荷が十分に低下している状態で間引きフラグがオンの場合（Ｓ４２８：Ｙｅｓ）、ＥＣＵ１０は、間引き処理の対象となる処理を間引いて実行頻度を低下させる必要はないと判断し、中優先停止フラグおよび低優先停止フラグに続いて間引きフラグをオフにするとともに、間引きフラグのオフ状態と、そのときの時刻および車両運転状態とをＳＲＡＭ２８またはＥＥＰＲＯＭ４０に記憶し（Ｓ４３０）、本処理を終了する。
【００７１】
図４に示すように、間引きフラグがオフになると（図４の時間ｔ６参照）、ＥＣＵ１０は、間引き処理の対象処理の実行頻度を低下させる負荷調整処理を解除する解除処理を実行し、対象処理の実行頻度を元に戻す。
【００７２】
図２のＳ４０６、Ｓ４１０、Ｓ４１４、Ｓ４２２、Ｓ４２６およびＳ４３０においてＳＲＡＭ２８またはＥＥＰＲＯＭ４０に記憶された各フラグのオン、オフ情報、時刻および車両運転状態に基づき、車両の開発時にソフトウェアの設計部門等において、いつ、どのような車両運転状態で処理負荷が上昇または低下するかが解析される。そして、高負荷状態または処理負荷異常の原因を解析した結果、高負荷状態または処理負荷異常の原因が車両制御処理の仕様にある場合、車両制御処理の仕様の修正要と判断する。そして、高負荷状態または処理負荷異常を解消するために、車両制御処理の仕様の修正が検討される。
【００７３】
また、定期点検または車両の挙動異常時にユーザがディーラ等に車両を持ち込むと、ディーラでは、車両を点検するとともに、診断ツールによりＳ４１６でＳＲＡＭ２８またはＥＥＰＲＯＭ４０に記憶されたダイアグコードを車両から読み出す。
【００７４】
このときに、処理負荷異常のダイアグコードが読み出されると、ディーラでは車両制御の処理負荷異常の原因を解析できないので、車両はソフトウェアの設計部門等に持ち込まれる。そして、ソフトウェアの設計部門において、Ｓ４１６で記憶された時刻および車両運転状態に基づき、いつ、どのような車両運転状態で処理負荷異常が発生するかが解析される。
【００７５】
（負荷調整処理、解除処理）
図３の（Ａ）、（Ｂ）、（Ｃ）に負荷調整処理および解除処理を示す。図３の（Ａ）は通常制御処理における間引き処理を示し、図３の（Ｂ）は低優先停止処理の対象である始動時処理を示し、図３の（Ｃ）は中優先停止処理の対象であるエアコンカット処理を示している。
【００７６】
（通常制御処理）
図３の（Ａ）のＳ４４０において、ＥＣＵ１０は、間引き処理、低優先停止処理および中優先停止処理の対象ではない通常制御処理を実行する。通常制御処理は８ｍｓ毎に実行されるものとする。そして、間引きフラグがオンの場合（Ｓ４４２：Ｙｅｓ）、ＥＣＵ１０は、カウンタを＋１し（Ｓ４４４）、カウンタの値が２以上になったか否かを判定する（Ｓ４４６）。間引きフラグがオフの場合（Ｓ４４２：Ｎｏ）、ＥＣＵ１０はＳ４５０に処理を移行する。
【００７７】
カウンタの値が２より小さい場合（Ｓ４４６：Ｎｏ）、ＥＣＵ１０は、間引き処理の対象となる処理を実行せずに間引いて本処理を終了する。これにより、間引き処理の対象処理は２回に１回間引かれる。
【００７８】
間引き処理の対象となるのは、例えば、エアコンのマグネットクラッチ操作処理、バッテリ２の電圧情報の更新処理等である。エアコンのマグネットクラッチ操作処理が間引かれて空調の制御頻度が低下したり、バッテリ２の電圧情報の更新処理が間引かれて更新間隔が長くなっても、車両走行の安全性に影響を与えず、高負荷時において通常頻度で実行する必要性は非常に低い。
【００７９】
カウンタの値が２以上の場合（Ｓ４４６：Ｙｅｓ）、ＥＣＵ１０は、間引き処理の対象となる処理の実行を既に１回間引いていると判断し、カウンタの値を０クリアし（Ｓ４４８）、Ｓ４５０に処理を移行する。Ｓ４５０においてＥＣＵ１０は、間引き処理の対象である処理を間引かずに実行する。
【００８０】
（低優先停止処理）
図３の（Ｂ）のＳ４６０において、ＥＣＵ１０は、低優先停止フラグがオンであるか否かを判定する。低優先停止フラグがオンの場合（Ｓ４６０：Ｙｅｓ）、ＥＣＵ１０は、低優先停止処理の対象となる始動時処理を実行せずに本処理を終了する。
【００８１】
低優先停止処理の対象となる始動時処理は、例えば、始動時の触媒暖機処理、各種センサ等から検出されるエンジン運転状態の始動時用の補正量算出処理である。例えば、始動時触媒暖機処理は８ｍｓ毎、始動時補正量算出処理は１６ｍｓ毎に実行される。Ｓ４６２を実行しないことにより停止される始動時処理は、始動時触媒暖機処理および始動時補正量算出処理始を実行するための判定処理等である。このような始動時処理のための判定処理は、高負荷時に実行を停止しても車両走行の安全性に影響を与えず、高負荷時においての必要性は非常に低い。
【００８２】
低優先停止フラグがオフの場合（Ｓ４６０：Ｎｏ）、ＥＣＵ１０は、低優先停止処理の対象である処理を停止させる必要はないと判断し、低優先停止処理の対象である始動時処理を停止させずに実行する（Ｓ４６２）。
【００８３】
（中優先停止処理）
図３の（Ｃ）のＳ４７０において、ＥＣＵ１０は、中優先停止フラグがオンであるか否かを判定する。中優先停止フラグがオンの場合（Ｓ４７０：Ｙｅｓ）、ＥＣＵ１０は、中優先停止処理の対象となる処理を実行せずに本処理を終了する。中優先停止処理の対象となる処理は、例えば、発進時においてエアコンの実行を停止するか、エアコンの稼働能力を低下させるエアコンカット処理である。エアコンカット処理は１６ｍｓ毎に実行される。
【００８４】
エアコンカット処理の実行を高負荷時に停止すると、車両の発進時の加速は低下するもの、車両走行の安全性に影響を与えず、高負荷時においての必要性は低い。
中優先停止フラグがオフの場合（Ｓ４７０：Ｎｏ）、ＥＣＵ１０は、中優先停止処理の対象である処理を停止させる必要はないと判断し、中優先停止処理の対象である処理を停止させずに実行する（Ｓ４７２）。
【００８５】
以上説明した本実施形態によると、処理負荷が９５％以上になる処理負荷異常時において、間引き処理、低優先停止処理、中優先停止処理の対象となる処理を予め選択しておくので、間引き処理、低優先停止処理、中優先停止処理の実行が車両制御に与える影響を予測できる。そして、実行頻度を低下させるか実行を停止しても、車両制御に大きな影響を与えない処理を予め選択しておけば、車両制御に対する影響を極力低減できる。
【００８６】
また、間引き処理、低優先停止処理、中優先停止処理をこの順序で段階的に実行するので、車両制御に与える影響を極力低減しながら処理負荷を低下させることができる。
本実施形態では、ＥＣＵ１０が本発明の電子制御装置に相当し、ＳＲＡＭ２８またはＥＥＰＲＯＭ４０が本発明の記憶部に相当する。そして、ＥＣＵ１０は、負荷検出手段、負荷調整手段、ダイアグ記憶手段、情報記憶手段が実行する機能を実現する。
【００８７】
また、図２のＳ４０２において処理負荷を算出して検出する処理が本発明の負荷検出手段が実行する機能に相当し、図２のＳ４０２およびＳ４１８において処理負荷の大きさを判定する処理と、図２のＳ４０４、Ｓ４０８、Ｓ４１２、Ｓ４２０、Ｓ４２４、Ｓ４２８の処理と、Ｓ４０６、Ｓ４１０、Ｓ４１４、Ｓ４２２、Ｓ４２６、Ｓ４３０において、それぞれ間引きフラグ、低優先停止フラグ、中優先停止フラグをオンまたはオフにする処理と、図３のＳ４４２〜Ｓ４４８、Ｓ４６０およびＳ４７０の処理が本発明の負荷調整手段が実行する負荷調整処理または解除処理に相当し、Ｓ４０６、Ｓ４１０、Ｓ４１４、Ｓ４２２、Ｓ４２６およびＳ４３０において時刻および運転状態を記憶する処理が本発明の情報記憶手段が実行する機能に相当し、Ｓ４１６においてダイアグコード、時刻および運転状態を記憶する処理が本発明のダイアグ記憶手段が実行する機能に相当する。
【００８８】
［他の実施形態］
上記実施形態では、間引きフラグ、低優先停止フラグおよび中優先停止フラグのオン、オフ状態と、そのときの時刻および車両運転状態とを記憶する記憶部として、ＳＲＡＭ２８またはＥＥＰＲＯＭ４０を例示した。これ以外にも、例えば、ＥＥＰＲＯＭ以外の書き換え可能な不揮発性メモリに各フラグのオン、オフと、そのときの時刻および車両運転状態とを記憶してもよい。
【００８９】
また、処理の実行を停止する対象となる優先度は、低優先度と中優先度の２段階に限らず、３段階以上に設定してもよいし、優先度を１段階にしてもよい。また、停止処理を実行せず、処理負荷を低下させるために間引き処理だけを実行してもよい。
【００９０】
上記実施形態では、間引きフラグ、低優先停止フラグおよび中優先停止フラグのオン、オフと、そのときの時刻および車両運転状態とを、処理負荷を監視している同じＥＣＵ１０の記憶部に記憶したが、別のＥＣＵの記憶部に記憶してもよい。
【００９１】
また、処理負荷を監視するＥＣＵはエンジンＥＣＵ１０に限るものではなく、他のＥＣＵで処理負荷を監視してもよい。
このように、本発明は、上記実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々の実施形態に適用可能である。
【符号の説明】
【００９２】
１０：ＥＣＵ（電子制御装置、負荷検出手段、負荷調整手段、ダイアグ記憶手段、情報記憶手段）、ＳＲＡＭ２８（記憶部）、ＥＥＰＲＯＭ４０（記憶部）
【図１】
2012218467.tif 000003
【図２】
2012218467.tif 000004
【図３】
2012218467.tif 000005
【図４】
2012218467.tif 000006