(57)【要約】【課題】車載用電子機器の制御において、前記車載用電子機器の制御プログラムの実行状態を監視して、前記制御プログラムに異常な実行状態が検出された場合であっても、前記車載用電子機器の制御を継続できるようにすること。【解決手段】車載用電子機器の制御装置のＣＰＵに接続する実行時間監視タイマ回路と実行順序監視回路と設定レジスタとその他の付属回路などからなるプログラム実行監視専用回路を設け、車載用電子機器の制御プログラムが実行するタスクの実行順序、及び／又は、制御プログラムが実行するタスクの先頭アドレスから終了アドレスまでの実行時間の監視を行い、上記実行順序、及び／又は、実行時間に異常を検出した場合には、代替的な処理を行うことにより、電動パワーステアリングなどの車載用電子機器の制御を継続可能とする、装置及び方法を提供する。【選択図】図３
2016047575.tif 000002
【特許請求の範囲】
【請求項１】
車載用電子機器の制御装置であって、前記制御装置には、前記車載用電子機器の制御プログラムが実行するタスクの実行順序と実行時間とを監視するプログラム実行監視専用回路を実装したことを特徴とする車載用電子機器の制御装置。
【請求項２】
前記プログラム実行監視専用回路は、前記タスクの実行順序が予め設定された順序と異なる場合、又は／及び、前記タスクの実行時間が予め設定された閾値を超えた場合に、予め設定された信号を出力する請求項１に記載の車載用電子機器の制御装置。
【請求項３】
前記予め設定された信号が出力された場合には、代替処理を行い、前記車載用電子機器の制御を継続することが可能な請求項１又は２に記載の車載用電子機器の制御装置。
【請求項４】
前記プログラム実行監視専用回路は、車載用ＭＣＵに備えられている請求項１乃至３のいずれか１項に記載の車載用電子機器の制御装置。
【請求項５】
車載用電子機器の制御装置であって、前記制御装置には、前記車載用電子機器の制御プログラムが実行するタスクの実行順序と実行時間とを監視するプログラム実行監視専用回路を実装し、
前記プログラム実行監視専用回路には、少なくとも実行順序監視比較回路と実行時間監視タイマ回路と設定レジスタとが設けられ、
前記設定レジスタには複数の前記タスク毎の先頭アドレス、終了アドレス及び実行時間閾値が予め登録されており、
前記タスクの実行順序の監視は、前記実行順序監視比較回路により、前記タスク毎の先頭アドレスと命令フェッチ時の先頭アドレスとの比較により行い、
前記実行時間の監視は、前記実行時間監視タイマ回路により、前記タスク毎の先頭アドレスから終了アドレスまでの実行時間とそのタスクの前記実行時間閾値との比較により行い、
前記プログラム実行監視専用回路は、前記タスクの実行順序が予め設定された順序と異なる場合、又は／及び、前記タスクの実行時間が予め設定された閾値を超えた場合に、予め設定された信号を出力し、代替処理を実行することにより、前記車載用電子機器の制御を継続する車載用電子機器の制御装置。
【請求項６】
前記代替処理は、前記タスクの実行順序が予め設定された順序と異なる場合には、プロセスの重要度等に応じて、正規の順番に該当するタスクを実行する処理、実行時間が短い予め設定された別のタスクを実行する処理、異常が発生する一つ前のタスクからやり直す処理、又は、実行中のプロセス全体をやり直す処理、のいずれか一つの処理を行うものであり、
前記タスクの実行時間が予め設定された閾値を超えた場合には、前記タスクに代えて前記タスクごとに予め設定された処理を行うものであり、
前記代替処理はＣＰＵへの割込みにより行い、前記代替処理による割込みを抜けた後には、再びプログラムの実行監視に移行することにより前記車載用電子機器の制御を継続することが可能な請求項５に記載の車載用電子機器の制御装置。
【請求項７】
前記設定レジスタには前記タスク毎に実行順序監視フラグ及び実行時間監視フラグが予め設定されており、
前記実行順序監視フラグが「有効」となっているタスクのみを前記実行順序の監視の対象とし、
前記実行時間監視フラグが「有効」となっているタスクのみを前記実行時間の監視の対象とする請求項５又は６に記載の車載用電子機器の制御装置。
【請求項８】
前記プログラム実行監視専用回路は、車載用ＭＣＵに備えられている請求項５乃至７のいずれか１項に記載の車載用電子機器の制御装置。
【請求項９】
前記車載用電子機器は電動パワーステアリング装置である請求項５乃至８のいずれか１項に記載の車載用電子機器の制御装置。
【請求項１０】
車載用電子機器の制御プログラムが実行するタスクの実行順序と実行時間とを監視するプログラム実行監視専用回路を用いて、前記車載用電子機器の制御プログラムの実行状態を監視する方法であり、
前記プログラム実行監視専用回路には、少なくとも実行順序監視比較回路と実行時間監視タイマ回路と設定レジスタとが設けられ、
前記設定レジスタには複数の前記タスク毎の先頭アドレス、終了アドレス及び実行時間閾値が予め登録されており、
前記タスクの実行順序の監視は、前記実行順序監視比較回路により、前記タスク毎の先頭アドレスと命令フェッチ時の先頭アドレスとの比較により行い、
前記実行時間の監視は、前記実行時間監視タイマ回路により、前記タスク毎の先頭アドレスから終了アドレスまでの実行時間とそのタスクの前記実行時間閾値との比較により行い、
前記プログラム実行監視専用回路は、前記タスクの実行順序が予め設定された順序と異なる場合、又は／及び、前記タスクの実行時間が予め設定された閾値を超えた場合に、予め設定された信号を出力し、代替処理を実行することにより、前記車載用電子機器の制御を継続する車載用電子機器の制御方法。
【請求項１１】
前記代替処理は、前記タスクの実行順序が予め設定された順序と異なる場合には、プロセスの重要度等に応じて、正規の順番に該当するタスクを実行する処理、実行時間が短い予め設定された別のタスクを実行する処理、異常が発生する一つ前のタスクからやり直す処理、又は、実行中のプロセス全体をやり直す処理、のいずれか一つの処理を行うものであり、
前記タスクの実行時間が予め設定された閾値を超えた場合には、前記タスクに代えて前記タスクごとに予め設定された処理を行うものであり、
前記代替処理はＣＰＵへの割込みにより行い、前記代替処理による割込みを抜けた後には、再びプログラムの実行監視に移行することにより前記車載用電子機器の制御を継続することが可能な請求項１０に記載の車載用電子機器の制御方法。
【請求項１２】
前記設定レジスタには前記タスク毎に実行順序監視フラグ及び実行時間監視フラグが予め設定されており、
前記実行順序監視フラグが「有効」となっているタスクのみを前記実行順序の監視の対象とし、
前記実行時間監視フラグが「有効」となっているタスクのみを前記実行時間の監視の対象とする請求項１０又は１１に記載の車載用電子機器の制御方法。
【請求項１３】
前記プログラム実行監視専用回路は、車載用ＭＣＵに備えられている請求項１０乃至１２のいずれか１項に記載の車載用電子機器の制御方法。
【請求項１４】
前記車載用電子機器は電動パワーステアリング装置である請求項１０乃至１３のいずれか１項に記載の車載用電子機器の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車載用電子機器の制御装置及び制御方法に関するものであり、さらに言えば、前記制御装置が制御する電動パワーステアリング装置の制御プログラムの異常な実行状態を監視するプログラム実行監視専用回路を備えた前記制御装置及びこれを用いた制御方法に関するものである。
【背景技術】
【０００２】
今日、車両の電子化が進んでおり、車両の各種装備品や、駆動システム乃至その補助システムなどに、多数の電子機器が備えられ、その制御が行われている。そして、このような車載用電子機器の制御を行う制御装置では、車両の安全な運行や、搭乗者の利便性・快適性の向上のために、高い安全性と信頼性とが要求されている。【０００３】
そのため、上記の様な制御装置では、安全性と信頼性の向上のために、上記電子機器の制御プログラムに異常が生じた場合でも、例えば、ウォッチドッグタイマ（ＷＤＴ）を設けて、所定時間ごとに上記ＷＤＴの起動とリセットとを繰り返し、プログラムの異常な実行状態が一定時間以上継続しないようになっている。【０００４】
また、上記電子機器として、例えば、電動パワーステアリング装置（ＥＰＳ）の場合には、特許文献１（特開２００９−１１３６１８号公報）に記載されたように、制御部で、夫々のタスクの終了時間を計測し、計測した各タスクの終了時間に基づいてプログラムの異常な実行状態の検知を行うことにより、上記の様なＷＤＴによって検出不可能なプログラムの異常な実行状態を正確に検出する技術が開示されている。【０００５】
更に、特許文献２（特開２００６−９０３５６号公報）では、車両制御用の制御装置において、処理負荷の高いタスクを検出して、所定のタスク混雑基準に基づいて、より処理負荷の低い処理内容に置換えることによって、タスク抜けなどの障害の発生を抑制する技術が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００９−１１３６１８号公報
【特許文献２】特開２００６−９０３５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかし、上記特許文献１に記載された発明では、割込みを行って異常検出を行っているが、所定の時間で区切られた複数のタスクの終了までは、異常な実行状態の検知を行うことが出来ず、異常と判定した場合であっても代替的な処理を行わないため、電動パワーステアリング装置による操舵アシストを継続できないという問題があった。【０００８】
また、上記特許文献２に記載された発明では、処理負荷の高いタスク処理を一部簡素化して実行しているが、上記特許文献１の場合と同様に、タスクが終了しない場合には異常を検出できないという課題があった。【０００９】
そこで本発明は、上記問題や課題の解決のために、車載用電子機器の制御装置が制御する電子機器の制御プログラムの異常な実行状態を監視すると共に、上記異常な実行状態が検出された場合には代替処理を行って、車載用電子機器の制御を継続して行うことが可能な、制御装置及び制御方法を提供することを課題とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するために本発明は、車載用電子機器の制御装置であって、前記制御装置には、前記車載用電子機器の制御プログラムが実行するタスクの実行順序と実行時間とを監視するプログラム実行監視専用回路を実装したことを特徴とする車載用電子機器の制御装置を提供する。【００１１】
また、上記課題の解決は、前記プログラム実行監視専用回路は、前記タスクの実行順序が予め設定された順序と異なる場合、又は／及び、前記タスクの実行時間が予め設定された閾値を超えた場合に、予め設定された信号を出力することにより、或いは、前記予め設定された信号が出力された場合には、代替処理を行い、前記車載用電子機器の制御を継続することを可能にすることにより、或いは、前記プログラム実行監視専用回路は、車載用ＭＣＵに備えられていることにより、より効果的に達成される。【００１２】
また、上記課題を解決するために本発明は、車載用電子機器の制御装置であって、前記制御装置には、前記車載用電子機器の制御プログラムが実行するタスクの実行順序と実行時間とを監視するプログラム実行監視専用回路を実装し、前記プログラム実行監視専用回路には、少なくとも実行順序監視比較回路と実行時間監視タイマ回路と設定レジスタとが設けられ、前記設定レジスタには複数の前記タスク毎の先頭アドレス、終了アドレス及び実行時間閾値が予め登録されており、前記タスクの実行順序の監視は、前記実行順序監視比較回路により、前記タスク毎の先頭アドレスと命令フェッチ時の先頭アドレスとの比較により行い、前記実行時間の監視は、前記実行時間監視タイマ回路により、前記タスク毎の先頭アドレスから終了アドレスまでの実行時間とそのタスクの前記実行時間閾値との比較により行い、前記プログラム実行監視専用回路は、前記タスクの実行順序が予め設定された順序と異なる場合、又は／及び、前記タスクの実行時間が予め設定された閾値を超えた場合に、予め設定された信号を出力し、代替処理を実行することにより、前記車載用電子機器の制御を継続する車載用電子機器の制御装置を提供する。【００１３】
また、上記課題の解決は、前記代替処理は、前記タスクの実行順序が予め設定された順序と異なる場合には、プロセスの重要度等に応じて、正規の順番に該当するタスクを実行する処理、実行時間が短い予め設定された別のタスクを実行する処理、異常が発生する一つ前のタスクからやり直す処理、又は、実行中のプロセス全体をやり直す処理、のいずれか一つの処理を行うものであり、前記タスクの実行時間が予め設定された閾値を超えた場合には、前記タスクに代えて前記タスクごとに予め設定された処理を行うものであり、前記代替処理はＣＰＵへの割込みにより行い、前記代替処理による割込みを抜けた後には、再びプログラムの実行監視に移行することにより前記車載用電子機器の制御を継続することを可能にすることにより、或いは、前記設定レジスタには前記タスク毎に実行順序監視フラグ及び実行時間監視フラグが予め設定されており、前記実行順序監視フラグが「有効」となっているタスクのみを前記実行順序の監視の対象とし、前記実行時間監視フラグが「有効」となっているタスクのみを前記実行時間の監視の対象とすることにより、或いは、前記プログラム実行監視専用回路は、車載用ＭＣＵに備えられていることにより、或いは、前記車載用電子機器は電動パワーステアリング装置であることにより、より効果的に達成される。【００１４】
また、上記課題を解決するために本発明は、車載用電子機器の制御プログラムが実行するタスクの実行順序と実行時間とを監視するプログラム実行監視専用回路を用いて、前記車載用電子機器の制御プログラムの実行状態を監視する方法であり、前記プログラム実行監視専用回路には、少なくとも実行順序監視比較回路と実行時間監視タイマ回路と設定レジスタとが設けられ、前記設定レジスタには複数の前記タスク毎の先頭アドレス、終了アドレス及び実行時間閾値が予め登録されており、前記タスクの実行順序の監視は、前記実行順序監視比較回路により、前記タスク毎の先頭アドレスと命令フェッチ時の先頭アドレスとの比較により行い、前記実行時間の監視は、前記実行時間監視タイマ回路により、前記タスク毎の先頭アドレスから終了アドレスまでの実行時間とそのタスクの前記実行時間閾値との比較により行い、前記プログラム実行監視専用回路は、前記タスクの実行順序が予め設定された順序と異なる場合、又は／及び、前記タスクの実行時間が予め設定された閾値を超えた場合に、予め設定された信号を出力し、代替処理を実行することにより、前記車載用電子機器の制御を継続する車載用電子機器の制御方法を提供する。【００１５】
また、上記課題の解決は、前記代替処理は、前記タスクの実行順序が予め設定された順序と異なる場合には、プロセスの重要度等に応じて、正規の順番に該当するタスクを実行する処理、実行時間が短い予め設定された別のタスクを実行する処理、異常が発生する一つ前のタスクからやり直す処理、又は、実行中のプロセス全体をやり直す処理、のいずれか一つの処理を行うものであり、前記タスクの実行時間が予め設定された閾値を超えた場合には、前記タスクに代えて前記タスクごとに予め設定された処理を行うものであり、前記代替処理はＣＰＵへの割込みにより行い、前記代替処理による割込みを抜けた後には、再びプログラムの実行監視に移行することにより前記車載用電子機器の制御を継続することを可能にすることにより、或いは、前記設定レジスタには前記タスク毎に実行順序監視フラグ及び実行時間監視フラグが予め設定されており、前記実行順序監視フラグが「有効」となっているタスクのみを前記実行順序の監視の対象とし、前記実行時間監視フラグが「有効」となっているタスクのみを前記実行時間の監視の対象とすることにより、或いは、前記プログラム実行監視専用回路は、車載用ＭＣＵに備えられていることにより、或いは、前記車載用電子機器は電動パワーステアリング装置であることにより、より効果的に達成される。
【発明の効果】
【００１６】
本発明によれば、上記制御装置に実装されたプログラム実行監視専用回路により、プログラムが行う各タスクの実行順序と実行時間とを監視するため、ソフトウェアにより監視する場合に比較して、迅速なプログラムの異常な実行状態の監視が可能である。【００１７】
また、従来のソフトウェアやＷＤＴを用いたプログラムの異常監視と比較して、異常の監視のために、一のタスクの終了を待つ必要が無いことから、異常発生から異常検出までの時間を短縮して、迅速にフェールセーフ処理等を行うことが可能である。【００１８】
更に、本発明では、上記フェールセーフ処理として、代替処理を行うことが可能であるため、電子機器の制御を継続して行うことが可能である。【００１９】
そのため、本発明を車載用電子機器の制御装置に用いた場合には、安全性と信頼性とが更に向上し、例えばこれを車両に搭載される電動パワーステアリング装置の制御装置に用いた場合には、上記制御装置のプログラムに異常が発生した場合であっても、操舵補助を継続して行うことが可能である。
【図面の簡単な説明】
【００２０】
【図１】電動パワーステアリング装置の一般的な構成を示した図である。
【図２】コントロールユニット（ＥＣＵ）の基本構成例を示した図である。
【図３】マイクロコントロールユニット（ＭＣＵ）の概略の構成を示した図である。
【図４】本発明のプログラム実行監視専用回路（第１実施形態）の構成を示す図である。
【図５】制御プロセスに関する設定レジスタの処理アドレスと実行時間閾値の設定例（第１実施形態）を示す図である。
【図６】通常処理とその実行時間閾値と、代替処理とその代替処理実行時間閾値の設定レジスタの設定例を示す図である。
【図７】実行順序の監視の流れを示す図である。
【図８】実行時間に異常が生じない場合の計測例を示す概念図である。
【図９】実行時間に異常が生じた場合の計測例を示す概念図である。
【図１０】実行時間に異常が生じた場合の割込み処理の流れを示すフローチャートである。
【図１１】本発明のプログラム実行監視専用回路（第２実施形態）の構成を示す図である。
【図１２】制御プロセスに関する設定レジスタの処理アドレスと実行時間閾値の設定例（第２実施形態）を示す図である。
【図１３】処理ｎから処理ｎ＋１までの実行時間を監視対象とする場合の計測例を示す概念図である。
【図１４】実行順序監視フラグと実行時間監視フラグを有する設定レジスタの設定例を示す図である。
【発明を実施するための形態】
【００２１】
以下に、本発明を車載用電子機器である電動パワーステアリング装置に用いた場合を例として、本発明の実施形態を説明する。
【００２２】
まず、本発明の第１実施形態について説明する。
【００２３】
電動パワーステアリング装置（ＥＰＳ）は、車両のステアリング機構にモータの回転力で操舵補助力（アシスト力）を付与するものであり、モータの駆動力で減速機構を介してギア又はベルト等の伝達機構により、ステアリングシャフト或いはラック軸に操舵補助力を付与するようになっている。そして、このような電動パワーステアリング装置は、操舵補助力のトルクを正確に発生させるため、モータ電流のフィードバック制御を行っている。
【００２４】
かかるフィードバック制御は、操舵補助指令値（電流指令値）とモータ電流検出値との差が小さくなるようにモータ印加電圧を調整するものであり、モータ印加電圧の調整は、一般的にＰＷＭ（パルス幅変調）制御のデューティ（Ｄｕｔｙ）の調整で行っている。
【００２５】
上記の電動パワーステアリング装置の一般的な構成を図１に示して説明すると、ハンドル１のコラム軸（ステアリングシャフト、ハンドル軸）２は減速機構３の減速ギア、ユニバーサルジョイント４ａ及び４ｂ、ピニオンラック機構５、タイロッド６ａ，６ｂを経て、更にハブユニット７ａ，７ｂを介して操向車輪８Ｌ，８Ｒに連結されている。また、コラム軸２には、ハンドル１の操舵トルクを検出するトルクセンサ１０及び操舵角θを検出する舵角センサ１４が設けられており、ハンドル１の操舵力を補助するモータ２０が減速機構３の減速ギアを介してコラム軸２に連結されている。
【００２６】
そして、上記の電動パワーステアリング装置を制御するコントロールユニット（ＥＣＵ）３０は、マイクロコントロールユニット（ＭＣＵ）３１を基幹部品として構成され、バッテリ１３から電力が供給されると共に、イグニションキー１１を経てイグニションキー信号が入力される。
【００２７】
このように構成されるコントロールユニット（ＥＣＵ）３０では、トルクセンサ１０で検出された操舵トルクＴｈと車速センサ１２で検出された車速Ｖｅｌとに基づいてアシスト（操舵補助）指令の電流指令値の演算を行い、電流指令値に補償等を施した電圧制御指令値Ｖｒｅｆによってモータ２０に供給する電流を制御する。なお、舵角センサ１４は必須のものではなく、配設されていなくても良く、モータに連結されたレゾルバ等の回転位置センサから操舵角を取得することも可能である。
【００２８】
また、上記コントロールユニット（ＥＣＵ）３０には、車両の各種情報を授受するＣＡＮ（Ｃｏｎｔｒｏｌｌｅｒ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）５０が接続されており、車速ＶｅｌはＣＡＮ５０から受信することも可能である。また、コントロールユニット（ＥＣＵ）３０には、ＣＡＮ５０以外の通信、アナログ／ディジタル信号、電波等を授受する非ＣＡＮ５１も接続可能である。
【００２９】
上記の様なコントロールユニット（ＥＣＵ）３０は、概ね、図２に示すような基本構成を有しており、中央演算処理装置（ＣＰＵ）を備えた上記マイクロコントロールユニット（ＭＣＵ）３１のほか、モータ駆動回路３５、モータ電流検出回路３７、舵角検出回路３９、電源のリレー３３などを備えている。
【００３０】
そして、本実施形態のプログラム実行監視専用回路１１０は、上記の様なコントロールユニット３０のＭＣＵ３１の中に実装されている。図３は、上記ＭＣＵ３１の概略の構成を示したものであり、ＭＣＵ３１の内部には、本実施形態の上記プログラム実行監視専用回路１１０の他に、ＣＰＵ１３０、ＲＯＭ（ＥＥＰＲＯＭなどを含む）１５０、ＲＡＭ１７０、インターフェース等を通してペリフェラル１９０などが備えられ、これらがデータバスや命令バスなどにより接続されている。また、ここで、上記ＲＯＭ１５０には複数のプロセスからなる電動パワーステアリング装置の制御プログラムや、制御データなどが格納されており、上記ＣＰＵ１３０は、上記制御プログラムを実行して、電動パワーステアリング装置の制御を行い、上記ＲＡＭ１７０は、上記ＣＰＵ１３０の作動に当たりワークメモリとしても機能する。そして、上記ＣＰＵ１３０と本実施形態の上記プログラム実行監視専用回路１１０との間ではレジスタやプログラムカウンタ、ＣＰＵの状態情報などが伝達されており、更に、上記プログラム実行監視専用回路１１０からは、ＣＰＵ１３０への割込み指示や外部ポートへのハードウェア（ＨＷ）アラームなどへの信号線が接続されている。
【００３１】
また、本実施形態の上記プログラム実行監視専用回路１１０は、図４に示すように、さらに、実行順序監視比較回路１１３、実行時間監視タイマ回路１１１、設定レジスタ１１５、及びその他の付属回路１１７により構成されている。
【００３２】
このうち、実行順序監視比較回路１１３は上記制御プログラムがＣＰＵ１３０で実行するタスク（処理）が、順番通りに行われているかを監視する回路であり、処理が所定のプロセスの下で実行されているか否か、直前のタスクが適正なものであるか否かなどを監視するものである。
【００３３】
また、実行時間監視タイマ回路１１１は、各々の処理が、予め処理ごとに定められた一定の閾値以上の時間を経過して実行されていないか否かを監視するものである。
【００３４】
また、設定レジスタ１１５は、上記プログラム実行監視専用回路１１０の稼働に用いられる設定情報を予め記録してあるものである。例えば、図５は、上記ＭＣＵ３１の内部におけるプログラム実行監視専用回路１１０の、あるプロセスについてのレジスタ設定例である。ここでは処理アドレスとして、複数の処理（例えば、１〜ｎ迄：ここではｎ＝１０）のそれぞれの先頭アドレスと、上記それぞれの処理（１〜ｎ迄：ここではｎ＝１０）の処理の実行時間の閾値とが設定されている。なお、ここで、プロセスとは制御プログラムを構成する複数の制御手順をいい、例えば、操舵トルクＴと車速Ｖに基づいて操舵補助トルク指令値を算出するトルク制御プロセス、操舵補助トルク指令値に基づいて操舵補助モータ２０を駆動する電流制御プロセスなどが含まれている。そして、各プロセスは、基本的には、複数の処理を周期的に実行し、その処理の数は、プロセスごとに異なっている。また、上記設定レジスタ１１５には、図６に示すように、プログラムが通常行う処理の種類と実行順序及びその実行時間閾値と、プログラムが代替処理を行う場合の処理の種類と実行順序及びその実行時間閾値などの設定条件が格納されている。
【００３５】
なお、ここで、図６の代替処理を行う場合の処理の実行時間閾値は通常行う処理の実行時間閾値の半分に設定されているが、代替処理の内容と当該代替処理の実行時間閾値とは、例示したものであって、これに限定されるものではない。そのため、複数の通常処理を、場合によっては一の代替処理で補っても良く、その実行時間閾値も通常行う処理の実行時間閾値の半分に限らない設定とすることが可能である。
【００３６】
また、その他の付属回路１１７には、ハードウェア（ＨＷ）タイマやタイマカウンタ、コンペアレジスタなどの他、割込み処理やＨＷアラームの生成回路、ＣＰＵ１３０から読み取った実行順序や実行時間、代替処理実行の有無などを格納するログレジスタなどが必要に応じて設けられている。
【００３７】
上記のように構成されるプログラム実行監視専用回路１１０では、次のような実行手順により、上記制御プログラムの実行監視と、必要な代替処理が行われる。
【００３８】
実行順序の監視は、基本的には、上記プログラム実行監視専用回路１１０内の実行順序監視比較回路１１３により、設定レジスタに予め登録してある関数ポインタテーブルなどを含む複数の処理（１〜ｎ）のそれぞれの先頭アドレス（処理アドレス）と、命令フィッチ時の処理アドレスや、ＣＰＵ内のプログラムカウンタなどの情報を元に現在どのプログラムを実行しているかの情報を取得し、これと比較することで行われる。
【００３９】
すなわち、ＣＰＵ１３０がタスクを実行する際には、命令コード等をＲＯＭ１５０から読み出して、ＣＰＵ１３０内のレジスタに転送する。そのため、プログラム実行監視専用回路１１０では、図７に示すように、ＣＰＵ１３０の当該レジスタに転送される命令コードの処理アドレス等をＣＰＵ１３０内のレジスタ又はＲＯＭ１５０へのアクセス情報などから読み出す（ステップＳ１）。
【００４０】
そして、図５で示したように、プログラム実行監視専用回路１１０内の設定レジスタ１１５にあらかじめ登録してある処理アドレスと、上記読み出した命令コードの処理アドレス等とを比較し、同じ処理アドレスを有する処理が、設定レジスタ１１５に登録してある処理アドレス上で何番目の実行順序（１〜ｎ）にあるかをログレジスタにログ情報として格納しておく（ステップＳ２）。
【００４１】
そして、次に上記ログレジスタのログ情報から、前回までの処理の実行順序の記録の有無を検出し（ステップＳ３）、前回までに処理の実行順序の記録が無ければステップＳ１へ戻り、処理の実行順序の記録があれば次のステップＳ４へ移行する。
【００４２】
次のステップＳ４では、上記ログレジスタのログ情報から、前回検出した処理が何番目の実行順序であったかの情報を取り出し、続くステップＳ５で、今回検出した処理の実行順序が、前回検出した処理の次の実行順序に該当するか否かを判断する。
【００４３】
そして、上記ステップＳ５により、今回検出した処理の実行順序が、前回検出した処理の次の実行順序に該当し、処理の順番に異常がないと判断された場合にはステップＳ１に戻る。また、その一方、処理の順番に異常があると判断される場合には、ＨＷアラームの発生や代替処理などを行う次のステップＳ６へ移行する。
【００４４】
上記代替処理としては、例えば、ＣＰＵ１３０に割込みを行い、図６に示したように、現在の処理の順番に基づいて、その順番に該当する正規の処理乃至代替処理を行う他、実行中のプロセス全体を初期状態に戻して一連の処理の実行をやり直したり、ログ情報などを基にして、異常が発生する一つ前の処理からやり直したりするなど、プロセスの重要度等に応じて、どのような処理を選択するかが可能である。また、同じ処理で何度も異常が発生し、処理が無限ループに陥る可能性を排除するために、異常情報のログをログレジスタに記録しておき、同一の異常を何度も検出した場合には実行順序の監視に回数制限をかけたり、場合によっては、障害が発生した処理をスキップする等の代替処理を行ったりすることも可能である。そして、上記のように代替処理に移行しこれを実行した後は、再びプログラムの実行順序の監視に移行する。
【００４５】
以上のように、本実施形態のプログラム実行監視専用回路１１０内の実行順序監視比較回路１１３では、複数の処理（１〜ｎ）のそれぞれの先頭アドレス（処理アドレス）に基づいて、上記制御プログラムの実行順序の監視が行われるが、本実施形態におけるプログラムの実行監視では、例えば、上記ＣＰＵ１３０のプログラムカウンタから各プロセスの実行順序を読み取って、プログラム実行監視専用回路１１０内の設定レジスタにあらかじめ登録してある処理アドレスと比較し、プロセス自体の選択の妥当性などを監視する構成と方法を採用しても良い。
【００４６】
次に、上記本実施形態のプログラム実行監視専用回路１１０において、上記制御プログラムの実行時間の監視と代替処理とを行う場合について、その実行手順を説明する。
【００４７】
本実施形態のプログラム実行監視専用回路１１０では、図５について既に説明した通り、制御プログラムを構成する各プロセスが処理ごとに細分化され、それぞれの処理（１〜ｎ）について、実行時間監視のための実行時間閾値が設定され、設定レジスタ１１５に格納されている。そして、図６で示したように、上記それぞれの処理には、これに対となるように代替処理が設定されており、その代替処理についても実行時間閾値が設定され、同じく設定レジスタ１１５に格納されている。
【００４８】
図８は、上記の様な複数の処理ｎ（処理ｎ：但し、１≦ｎ≦Ｎ）について、当該処理の実行時間が、所定の実行時間閾値を超過しない場合、すなわち、ＣＰＵ１３０による処理の実行時間に異常が生じない場合の計測例と、それに合わせた本実施形態の実行時間監視タイマ回路１１１の動作を示した概念図である。
【００４９】
ここで横軸は複数の処理の流れを示しており、図８では、一つのプロセスの処理がＮだけあるとした場合に、次の周期で更に同じ処理に移行する場合も示している。また、縦軸はそれぞれの処理ごとに経過したプログラムカウンタ値乃至実行時間を示している。そのため、各処理に実線により示した右上がりの斜線は、当該各処理の時間の経過を表し、同じく各処理に示した鎖線は各処理に設定される実行時間閾値を示している。
【００５０】
図８で示すように、実行時間監視タイマ回路１１１では、各処理ｎが開始されると共に上記実行時間監視タイマ回路１１１による実行時間の監視がスタート（Ｓｔａｒｔ）する。なお、ここで、上記実行時間の監視は上記プログラム実行監視専用回路内のタイマを用いて行われる。また、上記時間計測はプログラム実行監視回路１１０のタイマカウント値乃至これに基づいた実時間の演算値を相互に変換して使用するものでも良い。
【００５１】
そして、上記実行時間監視タイマ回路１１１では、上記実行時間の経過を測定すると共に、図５乃至図６に記載したような、その処理ごとに予め設定された実行時間閾値との比較を行い、上記各処理の経過時間（図８（Ａ）の右上がりの実線）すなわち実行時間が、各処理に予め設定された上記実行時間閾値（図８（Ａ）に示した横方向の鎖線）に到達せずに終了した場合には、上記実行時間監視タイマ回路１１１による実行時間の監視をストップ（Ｓｔｏｐ）する。
【００５２】
更に、上記のように実行時間が正常である場合には、同様の処理を一つのプロセスを構成する処理Ｎだけ繰り返し、次のプロセス乃至次の周期の処理に移行する。また、上記の処理は、全て本プログラム実行監視専用回路１１０により、予め設定された情報に基づいて、自動的に行うことが可能である。なお、上記実行時間の監視において、上記各処理の実行時間閾値などの設定情報は予め設定レジスタ１１５等に入力しておき必要に応じてこれを読み取り用いられるものであり、上記プログラム実行監視専用回路１１０のハードウェアタイマとＣＰＵのクロックとは予め必要に応じて同期をとっておいても良い。
【００５３】
一方、図９は、上記と同様に構成される図であるが、図８の場合とは異なり、実行時間に異常が発生した場合の計測例と、それに合わせた本実施形態の実行時間監視タイマ回路１１１の動作を示した概念図である。
【００５４】
図９で示すように、図８で示した場合と同様に、実行時間監視タイマ回路１１１では、各処理ｎが開始されると共に上記実行時間監視タイマ回路１１１による実行時間の監視がスタート（Ｓｔａｒｔ）する。
【００５５】
そして、上記実行時間監視タイマ回路１１１では、上記と同様に、上記実行時間の経過を測定すると共に、その処理ごとに予め設定された実行時間閾値との比較を行い、上記各処理との経過時間（図９の右上がりの実線）すなわち実行時間が、各処理に予め設定された実行時間閾値（図９に示した横方向の鎖線）に到達するか否かを監視する。
【００５６】
そして、例えば、図９の処理２において示したように、上記処理の実行時間が予め設定された実行時間閾値に達した場合には、実行時間異常発生として本プログラム実行監視専用回路によって、割込みがＣＰＵ１３０に通知され、割込み処理を行う。
【００５７】
上記割込み処理は、上記異常が生じたと判定された処理を代替処理に置き換えて実行する処理である。そのため、例えば、図９の処理２を例にとると、図６に示したように、処理２の処理の実行時間が１２０[μＳ]に到達し、実行時間に異常が有ると判断された場合には、上記処理２を適切に中断し、処理２の代替処理が割込みにより行われる。なお、ここで、割込み処理自体はソフトウェアによる処理である。
【００５８】
そして、上記の代替処理が終了し、割込みを抜けた場合には、図９で示したよう次の処理３に移行し、通常の監視状態に移行する。また、上記のように、代替処理の行われた処理については、次の周期の処理では、当該処理を代替処理に置き換えて実行される。そのため、例えば、上記処理２については、図９で示したように、プロセスの次の実行周期では、最初から処理２の代替処理が行われ、プログラム実行監視専用回路１１０による実行時間の監視は、当該代替処理について設けられた、例えば図６に示す代替処理実行時間閾値に基づいて行うことも可能である。
【００５９】
次に、図１０を用いて、図９に示したような処理の一つ（例えば処理Ｎ）について、当該処理の実行時間が、所定の実行時間閾値を超過した場合、すなわち、異常が生じた場合の実行時間監視タイマ回路１１１での処理の流れについて説明する。
【００６０】
上記の図９の場合などのように、上記ＣＰＵ１３０での処理Ｎの処理が、上記実行時間閾値で設定された時間内に終了していない場合（実行時間が実行時間閾値と等しくなった場合）は、上記実行時間監視タイマ回路１１１のタイマストップが行われないためタイムアウトとなり、割込み処理が行われる。
【００６１】
図１０は、そのような割込み処理の流れの概要を示したフローチャートである。
【００６２】
上記割込み処理では、最初に、割込み禁止処理を行う（ステップＳ２０）。これは、本プログラム実行監視専用回路による指示に基づいた割込み動作中に、さらに、別の割込みがＣＰＵ１３０に指示され、多重割込みが生ずることを防止するためである。
【００６３】
そして、上記割込み禁止を行った後には、実行中の処理の検索処理が行われる（ステップＳ２１）。
【００６４】
これは、割込みを行った処理が、例えば、図６に記載した処理の何番目の処理であるかを設定レジスタ１１５などから読み出すと共に、あわせて、当該処理が代替処理でないか否かの判断を行うための情報を取得するものである。
【００６５】
そして、上記読み取った情報をもとに、割込みを行った実行中の処理が代替処理でないか否かの判定を行う（ステップＳ２２）。これは、上記実行中の処理が代替処理の場合に、さらに同じ代替処理を行うことによって、処理が無限ループに陥る可能性を排除するためである。そのため、上記判定により、実行中の処理が代替処理であると判定された場合には、異常終了として割込み処理を終了し、ハードウェアアラームなどを起動する信号を外部ポートに出力する（ステップＳ３０）。一方、実行中の処理が代替処理でないと判定された場合には、次のステップＳ２３へ移行する。
【００６６】
ステップ２３は、実行中の処理を代替処理で置き換えるよう、ＣＰＵ１３０の命令コードや関数実行テーブル等の内容を組み替える処理である。上記代替処理は、図６に記載されるように、それぞれの処理ごとに予め設定されているため、上記設定に基づいて組換えが行われる。
【００６７】
そして、さらにステップ２４では、代替処理の実行時間や順序を監視するために、プログラム実行監視専用回路１１０の設定レジスタ１１５等の再設定を行うものである。そのためここでは、後の参照のために、実行中であった処理の次の処理の処理アドレスや、代替処理の処理アドレスや代替処理実行時間閾値などの情報が当該設定レジスタ１１５等に記録される。
【００６８】
そして、上記の代替処理が行われると、処理Ｎの演算値のチェック処理が行われる（ステップＳ２５）。これは、代替処理を行った処理Ｎの演算値が異常かどうかの判断を行うものであり（ステップＳ２６）、その判断は、上記代替処理に基づく処理Ｎの演算値が、予め設定された所定の閾値内にあるか否かなどにより行われる。そして、上記処理Ｎの演算値に異常が有ると判断される場合には、上記処理Ｎの演算値をデフォルト値で置き換え（ステップＳ２７）、上記処理Ｎの演算値に異常がないと判断される場合にはステップＳ２８へ移行する。
【００６９】
そして、ステップＳ２８では、ＣＰＵ１３０のプログラムカウンタを処理Ｎ+１の先頭に設定し、ステップＳ２０で禁止した、他の割込みを許可する指示を行い（ステップ２９）上記プログラム実行監視回路による割込みを終了させる。
【００７０】
本実施形態では、上記のように実行時間の監視を行うことで、処理Ｎの実行時間が所定の実行時間閾値を超過した場合には、プログラムの実行を停止することなく、代替処理を行って制御の継続を行うことが可能である。そして、本実施形態は、上記プログラムの実行監視をＭＣＵの内部に実装したプログラム実行監視専用回路により行っており、上記回路は命令バスからの命令フェッチアドレスやＣＰＵ内のプログラムカウンタなどの情報を元に、現在どのプログラムを実行しているかを知ることができると共に、これにより、予め処理１〜Ｎの先頭アドレス及び実行時間の上限閾値を設定レジスタに登録しておくと上記専用回路内のタイマを用いて、ほぼ自動的に実行時間を計測することが可能である。
【００７１】
本発明の第２実施形態について説明する。
【００７２】
第１実施形態と比べると、第２実施形態では、図１１に示されるように、プログラム実行監視専用回路２１０を構成する実行時間監視タイマ回路２１１及び設定レジスタ２１５に変更がある。その他の構成には変更はなく、第１実施形態と同じである。
【００７３】
設定レジスタ２１５は、図１２に示されるように、処理アドレスとして各処理の先頭アドレスの他に終了アドレスが設定されている。そして、実行時間監視タイマ回路２１１は、各処理の実行がそれぞれの終了アドレスに達することにより各処理の終了を検知するようになっている。
【００７４】
第２実施形態における制御プログラムの実行順序の監視及び代替処理の実行は、第１実施形態と同じである。ただ、第１実施形態では処理アドレスには各処理の先頭アドレスのみが設定されているので、先頭アドレス＝処理アドレスであるが、第２実施形態では処理アドレスには各処理の終了アドレスも設定されているので、処理アドレス中の先頭アドレスを参照して制御プログラムの実行監視を実行する。
【００７５】
第２実施形態における制御プログラムの実行時間の監視及び必要な代替処理の実行は、上述のように各処理に設定されている終了アドレスを使用して各処理の終了を検知する以外は、第１実施形態と同じである。
【００７６】
このように、実行時間監視タイマ回路２１１では、各処理の終了を、設定レジスタ２１５に格納されている各処理の終了アドレスに基づいて検知している。よって、次の処理の開始をもって前の処理の終了とするような回路では、例えば、処理ｎから処理ｎ＋１までのトータルの実行時間を監視対象とすることができないが、本実行時間監視タイマ回路２１１では、処理ｎの終了アドレスに処理ｎ＋１の終了アドレスをセットすることにより、処理ｎから処理ｎ＋１までのトータルの実行時間を監視対象とすることができる。例えば、図８の場合において、処理３から処理４までの実行時間を監視対象としたい場合は、処理３の終了アドレスに処理４の終了アドレスをセットすることにより、図１３に示されるような動作となり、処理３から処理４までの実行時間を監視対象とすることができる。
【００７７】
また、単独の処理の実行時間だけや、処理ｎと処理ｎ＋２等のように連続しない処理の実行時間を監視対象としたい場合などでも、各処理の終了アドレスを使用することにより、監視対象とすることができる。
【００７８】
第２実施形態において、プログラム実行監視専用回路２１０中の設定レジスタ２１５に、例えば、図１４に示されるような実行順序監視フラグ及び実行時間監視フラグを各処理に設定しても良い。実行順序監視フラグは、当該処理を実行順序の監視対象とするか否かを示すもので、実行順序監視フラグが「有効」となっている処理は実行順序の監視対象とし、「無効」となっている処理は監視対象外とする。実行時間監視フラグは、当該処理を実行時間の監視対象とするか否かを示すもので、実行時間監視フラグが「有効」となっている処理は実行時間の監視対象とし、「無効」となっている処理は監視対象外とする。
【００７９】
実行順序監視フラグを使用した実行順序の監視では、設定レジスタ２１５に登録してある先頭アドレスと命令コードの先頭アドレス等を比較する際に、実行順序監視フラグが「有効」となっている処理の先頭アドレスのみと比較し、「無効」となっている処理の先頭アドレスはスキップする。このような監視を可能とするためには、設定レジスタ２１５に登録する処理の並びが正常時での処理の順序と整合するようにしなければならない。例えば、図１４の場合、正常時には「処理１」、「処理３」、・・・の順序で処理が実行されることとなる。
【００８０】
実行時間監視フラグを使用した実行時間の監視では、実行時間監視フラグが「有効」となっている処理が開始されたら、実行時間の監視をスタートする。
【００８１】
実行順序監視フラグ及び実行時間監視フラグを使用することにより、必要な処理或いは重要な処理のみを監視対象とする等の柔軟な監視を実施することができる。
【００８２】
なお、本発明の上記実施形態（第１実施形態、第２実施形態）は、本発明の実施例を例示したものでありこれに限定されるものではない。したがって、本発明の趣旨に反しない限り、様々な構成により実施が可能である。
【００８３】
例えば、上記実行時間の監視について、他の割込みによる処理の遅延を考慮した構成とする事も可能である。そのため、センサ情報取得時などで汎用的な割込み処理を使用する場合で、割込み処理時間を処理Ｎに含めたくない場合は、ハードウェアがＣＰＵの情報を取得して割込みの間、実行時間のタイマカウンタをストップ(維持)するような仕組みを実装しても良く、もしくは、割込み中、上記タイマカウンタをストップするか、若しくは継続するか否かを選択できるようにしても良い。
【００８４】
また、割込み処理内の実行時間を計測するために、通常処理（周期処理）と割込み処理で設定レジスタを分けられるように構成する事も可能である。
【００８５】
以上のように、本発明の車載用電子機器の制御装置及び方法によれば、上記の様な、車載用電子機器の制御プログラムの異常な実行状態を監視して、上記異常な状態が検出された場合には代替処理を行って、上記制御を継続して行うことが可能であり、継続して操舵アシストを行うことが可能である。
【００８６】
そのため、本発明の車載用電子機器の制御装置及び方法を、例えば、電動パワーステアリング装置の制御に用いた場合には、その制御装置に異常が生じたと判断された場合であっても、継続して操舵アシストを行うことが可能である。
【符号の説明】
【００８７】
１                  ハンドル
２                  コラム軸（ステアリングシャフト、ハンドル軸）
３                  減速機構
４ａ、４ｂ          ユニバーサルジョイント
５                  ピニオンラック機構
６ａ、６ｂ          タイロッド
７ａ、７ｂ          ハブユニット
８Ｌ、８Ｒ          操向車輪
１０                トルクセンサ
１１                イグニションキー
１２                車速センサ
１３                バッテリ
１４                舵角センサ
２０                モータ
３０                コントロールユニット（ＥＣＵ）
３１                マイクロコントロールユニット（ＭＣＵ）
３３                リレー
３５                モータ駆動回路
３７                モータ電流検出回路
３９                舵角検出回路
１１０、２１０      プログラム実行監視専用回路
１１１、２１１      実行時間監視タイマ回路
１１３              実行順序監視比較回路
１１５、２１５      設定レジスタ
１１７              その他の付属回路
１３０              ＣＰＵ
１５０              ＲＯＭ
１７０              ＲＡＭ
１９０              ペリフェラル
【図１】
2016047575.tif 000003
【図２】
2016047575.tif 000004
【図３】
2016047575.tif 000005
【図４】
2016047575.tif 000006
【図５】
2016047575.tif 000007
【図６】
2016047575.tif 000008
【図７】
2016047575.tif 000009
【図８】
2016047575.tif 000010
【図９】
2016047575.tif 000011
【図１０】
2016047575.tif 000012
【図１１】
2016047575.tif 000013
【図１２】
2016047575.tif 000014
【図１３】
2016047575.tif 000015
【図１４】
2016047575.tif 000016
【手続補正書】
【提出日】平成28年2月23日(2016.2.23)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
（削除）
【請求項２】
（削除）
【請求項３】
（削除）
【請求項４】
（削除）
【請求項５】
車載用電子機器の制御装置であって、前記制御装置には、前記車載用電子機器の制御プログラムが実行するタスクの実行順序と実行時間とを監視するプログラム実行監視専用回路を実装し、
前記プログラム実行監視専用回路には、少なくとも実行順序監視比較回路と実行時間監視タイマ回路と設定レジスタとが設けられ、
前記設定レジスタには複数の前記タスク毎の先頭アドレス、終了アドレス及び実行時間閾値が予め登録されており、
前記タスクの実行順序の監視は、前記実行順序監視比較回路により、前記タスク毎の先頭アドレスと命令フェッチ時の先頭アドレスとの比較により行い、
前記実行時間の監視は、前記実行時間監視タイマ回路により、前記タスク毎の先頭アドレスから終了アドレスまでの実行時間とそのタスクの前記実行時間閾値との比較により行い、
前記プログラム実行監視専用回路は、前記タスクの実行順序が予め設定された順序と異なる場合、又は／及び、前記タスクの実行時間が予め設定された閾値を超えた場合に、予め設定された信号を出力し、代替処理を実行することにより、前記車載用電子機器の制御を継続する車載用電子機器の制御装置。
【請求項６】
前記代替処理は、前記タスクの実行順序が予め設定された順序と異なる場合には、プロセスの重要度等に応じて、正規の順番に該当するタスクを実行する処理、実行時間が短い予め設定された別のタスクを実行する処理、異常が発生する一つ前のタスクからやり直す処理、又は、実行中のプロセス全体をやり直す処理、のいずれか一つの処理を行うものであり、
前記タスクの実行時間が予め設定された閾値を超えた場合には、前記タスクに代えて前記タスクごとに予め設定された処理を行うものであり、
前記代替処理はＣＰＵへの割込みにより行い、前記代替処理による割込みを抜けた後には、再びプログラムの実行監視に移行することにより前記車載用電子機器の制御を継続することが可能な請求項５に記載の車載用電子機器の制御装置。
【請求項７】
前記設定レジスタには前記タスク毎に実行順序監視フラグ及び実行時間監視フラグが予め設定されており、
前記実行順序監視フラグが「有効」となっているタスクのみを前記実行順序の監視の対象とし、
前記実行時間監視フラグが「有効」となっているタスクのみを前記実行時間の監視の対象とする請求項５又は６に記載の車載用電子機器の制御装置。
【請求項８】
前記プログラム実行監視専用回路は、車載用ＭＣＵに備えられている請求項５乃至７のいずれか１項に記載の車載用電子機器の制御装置。
【請求項９】
前記車載用電子機器は電動パワーステアリング装置である請求項５乃至８のいずれか１項に記載の車載用電子機器の制御装置。
【請求項１０】
車載用電子機器の制御プログラムが実行するタスクの実行順序と実行時間とを監視するプログラム実行監視専用回路を用いて、前記車載用電子機器の制御プログラムの実行状態を監視する方法であり、
前記プログラム実行監視専用回路には、少なくとも実行順序監視比較回路と実行時間監視タイマ回路と設定レジスタとが設けられ、
前記設定レジスタには複数の前記タスク毎の先頭アドレス、終了アドレス及び実行時間閾値が予め登録されており、
前記タスクの実行順序の監視は、前記実行順序監視比較回路により、前記タスク毎の先頭アドレスと命令フェッチ時の先頭アドレスとの比較により行い、
前記実行時間の監視は、前記実行時間監視タイマ回路により、前記タスク毎の先頭アドレスから終了アドレスまでの実行時間とそのタスクの前記実行時間閾値との比較により行い、
前記プログラム実行監視専用回路は、前記タスクの実行順序が予め設定された順序と異なる場合、又は／及び、前記タスクの実行時間が予め設定された閾値を超えた場合に、予め設定された信号を出力し、代替処理を実行することにより、前記車載用電子機器の制御を継続する車載用電子機器の制御方法。
【請求項１１】
前記代替処理は、前記タスクの実行順序が予め設定された順序と異なる場合には、プロセスの重要度等に応じて、正規の順番に該当するタスクを実行する処理、実行時間が短い予め設定された別のタスクを実行する処理、異常が発生する一つ前のタスクからやり直す処理、又は、実行中のプロセス全体をやり直す処理、のいずれか一つの処理を行うものであり、
前記タスクの実行時間が予め設定された閾値を超えた場合には、前記タスクに代えて前記タスクごとに予め設定された処理を行うものであり、
前記代替処理はＣＰＵへの割込みにより行い、前記代替処理による割込みを抜けた後には、再びプログラムの実行監視に移行することにより前記車載用電子機器の制御を継続することが可能な請求項１０に記載の車載用電子機器の制御方法。
【請求項１２】
前記設定レジスタには前記タスク毎に実行順序監視フラグ及び実行時間監視フラグが予め設定されており、
前記実行順序監視フラグが「有効」となっているタスクのみを前記実行順序の監視の対象とし、
前記実行時間監視フラグが「有効」となっているタスクのみを前記実行時間の監視の対象とする請求項１０又は１１に記載の車載用電子機器の制御方法。
【請求項１３】
前記プログラム実行監視専用回路は、車載用ＭＣＵに備えられている請求項１０乃至１２のいずれか１項に記載の車載用電子機器の制御方法。
【請求項１４】
前記車載用電子機器は電動パワーステアリング装置である請求項１０乃至１３のいずれか１項に記載の車載用電子機器の制御方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００２
【補正方法】変更
【補正の内容】
【０００２】
スク抜けなどの障害の発生を抑制する技術が開示されている。
先行技術文献
特許文献
［０００６］
特許文献１：特開２００９−１１３６１８号公報
特許文献２：特開２００６−９０３５６号公報
発明の概要
発明が解決しようとする課題
［０００７］
しかし、上記特許文献１に記載された発明では、割込みを行って異常検出を行っているが、所定の時間で区切られた複数のタスクの終了までは、異常な実行状態の検知を行うことが出来ず、異常と判定した場合であっても代替的な処理を行わないため、電動パワーステアリング装置による操舵アシストを継続できないという問題があった。
［０００８］
また、上記特許文献２に記載された発明では、処理負荷の高いタスク処理を一部簡素化して実行しているが、上記特許文献１の場合と同様に、タスクが終了しない場合には異常を検出できないという課題があった。
［０００９］
そこで本発明は、上記問題や課題の解決のために、車載用電子機器の制御装置が制御する電子機器の制御プログラムの異常な実行状態を監視すると共に、上記異常な実行状態が検出された場合には代替処理を行って、車載用電子機器の制御を継続して行うことが可能な、制御装置及び制御方法を提供することを課題とする。
課題を解決するための手段
［００１０］
［００１１］
［００１２］
上記課題を解決するために本発明は、車載用電子機器の制御装置であって、前記制御装置には、前記車載用電子機器の制御プログラムが実行するタスクの実行順序と実行時間とを監視するプログラム実行監視専用回路を実装し、前記プログラム実行監視専用回路には、少なくとも実行順序監視比較回路
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００３
【補正方法】変更
【補正の内容】
【０００３】
と実行時間監視タイマ回路と設定レジスタとが設けられ、前記設定レジスタには複数の前記タスク毎の先頭アドレス、終了アドレス及び実行時間閾値が予め登録されており、前記タスクの実行順序の監視は、前記実行順序監視比較回路により、前記タスク毎の先頭アドレスと命令フェッチ時の先頭アドレスとの比較により行い、前記実行時間の監視は、前記実行時間監視タイマ回路により、前記タスク毎の先頭アドレスから終了アドレスまでの実行時間とそのタスクの前記実行時間閾値との比較により行い、前記プログラム実行監視専用回路は、前記タスクの実行順序が予め設定された順序と異なる場合、又は／及び、前記タスクの実行時間が予め設定された閾値を超えた場合に、予め設定された信号を出力し、代替処理を実行することにより、前記車載用電子機器の制御を継続する車載用電子機器の制御装置を提供する。
［００１３］
また、上記課題の解決は、前記代替処理は、前記タスクの実行順序が予め設定された順序と異なる場合には、プロセスの重要度等に応じて、正規の順番に該当するタスクを実行する処理、実行時間が短い予め設定された別のタスクを実行する処理、異常が発生する一つ前のタスクからやり直す処理、又は、実行中のプロセス全体をやり直す処理、のいずれか一つの処理を行うものであり、前記タスクの実行時間が予め設定された閾値を超えた場合には、前記タスクに代えて前記タスクごとに予め設定された処理を行うものであり、前記代替処理はＣＰＵへの割込みにより行い、前記代替処理による割込み
【国際調査報告】
2016047575.tif 000017
2016047575.tif 000018
2016047575.tif 000019