(57)【要約】  本発明は、簡易な処理により適切にマルチタスク処理のリセットを行うことを目的とする。マルチタスク装置（１０１）は、車両に搭載された装置であり、複数のタスクを優先度順に時分割で実行するマルチタスク処理部（１１）と、ウォッチドッグタイマ（１２）と、を備える。複数のタスクは、ウォッチドッグタイマをリフレッシュする、複数のタスクのうち最も優先度が低いリフレッシュタスクと、外部機器（２０）との通信を行うタスクである通信タスクと、通信タスクの通信量に応じてウォッチドッグタイマ（１２）の監視時間を可変に制御する監視時間制御タスクと、を含む。ウォッチドッグタイマ（１２）は、リフレッシュタスクによりリフレッシュされない時間が監視時間を超えると、複数のタスクの異常を検知する。
2021044476.tif 000002
【特許請求の範囲】
【請求項１】
車両に搭載されたマルチタスク装置であって、
複数のタスクを優先度順に時分割で実行するマルチタスク処理部と、
ウォッチドッグタイマと、を備え、
前記複数のタスクは、
前記ウォッチドッグタイマをリフレッシュする、前記複数のタスクのうち最も優先度が低いリフレッシュタスクと、
前記マルチタスク装置の外部機器との通信を行うタスクである通信タスクと、
前記通信タスクの通信量に応じて前記ウォッチドッグタイマの監視時間を可変に制御する監視時間制御タスクと、を含み、
前記ウォッチドッグタイマは、前記リフレッシュタスクによりリフレッシュされない時間が前記監視時間を超えると、前記複数のタスクの異常を検知する、
マルチタスク装置。
【請求項２】
前記監視時間制御タスクにおいて、前記通信量が多いほど前記監視時間が長い、
請求項１に記載のマルチタスク装置。
【請求項３】
前記通信タスクは、Ｅｔｈｅｒｎｅｔ通信、ＣＡＮ通信、ＬＩＮ通信、電波通信、もしくは前記車両の室内または室外に搭載されたカメラの映像の通信の少なくともいずれかを含むタスクである、
請求項１に記載のマルチタスク装置。
【請求項４】
前記ウォッチドッグタイマは、前記監視時間を記憶するレジスタを備える、
請求項１に記載のマルチタスク装置。
【請求項５】
前記ウォッチドッグタイマが前記複数のタスクの異常を検知すると、前記複数のタスクの処理がリセットされる、
請求項１に記載のマルチタスク装置。
【請求項６】
車両に搭載されたマルチタスク装置において、
複数のタスクを優先度順に時分割で実行し、
ウォッチドッグタイマにより前記複数のタスクの処理時間を監視し、
前記複数のタスクは、
前記ウォッチドッグタイマをリフレッシュする、前記複数のタスクのうち最も優先度が低いリフレッシュタスクと、
前記マルチタスク装置の外部機器との通信を行うタスクである通信タスクと、
前記通信タスクの通信量に応じて前記ウォッチドッグタイマの監視時間を可変に制御する監視時間制御タスクと、を含み、
前記ウォッチドッグタイマは、前記リフレッシュタスクによりリフレッシュされない時間が前記監視時間を超えると、前記複数のタスクの異常を検知する、
マルチタスク方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、マルチタスク処理を監視する技術に関する。
【背景技術】
【０００２】
ソフトウェアの実装ミス等により、プログラムが無限ループすることがある。こうした不具合を検知するために、マルチタスク装置にウォッチドッグタイマが設けられることがある。通常、ウォッチドッグタイマは、タスクの処理時間が監視時間を超えると異常を検知し、マルチタスクをリセットする。しかし、ウォッチドッグタイマは、妥当な理由によりタスクの処理に遅延が生じている場合にも、リセットを発生させてしまうことがある。【０００３】
この問題に対して、特許文献１には、データ通信量を監視し、データ通信量が多い場合にはタスクの処理時間が監視時間を超えてもマルチタスクをリセットしない技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−２９３１６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１の技術によれば、マルチタスクを構成する各タスクの処理時間を全て監視する必要があり、処理が煩雑であった。本発明は、上記の問題点を解決するためになされたものであり、簡易な処理により適切にマルチタスク処理のリセットを行うことを目的とする。
【課題を解決するための手段】
【０００６】
本発明のマルチタスク装置は、車両に搭載された装置であり、複数のタスクを優先度順に時分割で実行するマルチタスク処理部と、ウォッチドッグタイマと、を備える。複数のタスクは、ウォッチドッグタイマをリフレッシュする、複数のタスクのうち最も優先度が低いリフレッシュタスクと、マルチタスク装置の外部機器との通信を行うタスクである通信タスクと、通信タスクの通信量に応じてウォッチドッグタイマの監視時間を可変に制御する監視時間制御タスクと、を含む。ウォッチドッグタイマは、リフレッシュタスクによりリフレッシュされない時間が監視時間を超えると、複数のタスクの異常を検知する。
【発明の効果】
【０００７】
本発明では、時分割で実行されるマルチタスクのうちウォッチドッグタイマのリフレッシュタスクの優先度が最も低い。そのため、ウォッチドッグタイマは、マルチタスクの全タスクの処理時間を監視し、当該処理時間に基づき異常を検知する。従って、各タスクの処理時間を個別に監視する必要がない。また、外部機器との通信量に応じてウォッチドッグタイマの監視時間を設定するため、外部機器との通信量の増加に伴いマルチタスクの処理時間が長くなった場合に、タスク異常と判定することを防ぐことができる。これにより、簡易な処理によって適切にマルチタスク処理のリセットを行うことが可能となる。本発明の目的、特徴、態様、および利点は、以下の詳細な説明と添付図面とによって、より明白となる。
【図面の簡単な説明】
【０００８】
【図１】実施の形態１のマルチタスク装置の構成を示すブロック図である。
【図２】実施の形態１のマルチタスク装置の動作を示すフローチャートである。
【図３】実施の形態１のマルチタスク装置による監視時間制御タスクを示すフローチャートである。
【図４】ウォッチドッグタイマのレジスタ値の設定テーブルを示す図である。
【図５】実施の形態１のマルチタスク装置のハードウェア構成を示す図である。
【図６】実施の形態１のマルチタスク装置のハードウェア構成を示す図である。
【発明を実施するための形態】
【０００９】
＜Ａ．実施の形態１＞
＜Ａ−１．構成＞
図１は、実施の形態１のマルチタスク装置１０１の構成を示すブロック図である。マルチタスク装置１０１は、車両に搭載され、マルチタスク処理部１１とウォッチドッグタイマ１２を備えている。マルチタスク装置１０１は、例えばナビゲーション装置である。
【００１０】
マルチタスク処理部１１はマルチタスク処理を実行する。マルチタスク処理とは、複数のタスクを時分割で順に処理することである。以下、マルチタスク処理部１１が実行する複数のタスクをマルチタスクと称する。マルチタスクを構成するタスクには、通信タスク、監視時間制御タスク、およびリフレッシュタスク等がある。これら各タスクには優先度が予め定められており、マルチタスク処理部１１は優先度の順番で各タスクを実行する。
【００１１】
マルチタスク処理部１１は、通信部１１１、監視時間制御部１１２、およびリフレッシュ部１１３を備えている。
【００１２】
通信部１１１は通信タスクを実行する。通信タスクは、マルチタスク装置１０１の外部の機器である外部機器２０との通信を行うタスクである。通信タスクは、監視時間制御タスクとリフレッシュタスクよりも優先度が高い。図１には、Ｅｔｈｅｒｎｅｔ（登録商標）通信を行うＥｔｈｅｒｎｅｔ機器２１、ＬＩＮ（Ｌｏｃａｌ  Ｉｎｔｅｒｃｏｎｎｅｃｔ  Ｎｅｔｗｏｒｋ）通信を行うＬＩＮ機器２２、ＣＡＮ（Ｃｏｎｔｒｏｌｌｅｒ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）通信を行うＣＡＮ機器２３、電波通信を行うＲａｄｉｏ機器２４、および車両室内または車両室外に設置されたカメラ２５を外部機器２０の例として挙げている。外部機器２０は、これらの機器の少なくとも一つを含んでいれば良い。通信タスクは、電波通信、車両通信、前記車両の室内または室外に搭載されたカメラの映像の通信、または無線ＬＡＮ通信の少なくともいずれかを含むタスクである。
【００１３】
監視時間制御部１１２は、監視時間制御タスクを実行する。監視時間制御タスクは、通信タスクの通信量に応じてウォッチドッグタイマ１２の監視時間を調整するタスクである。監視時間制御タスクは、通信タスクよりも優先度が低く、リフレッシュタスクよりも優先度が高い。通信部１１１が複数の外部機器２０と通信を行う場合、監視時間制御部１１２は、全ての外部機器２０との通信量の合計によって監視時間を調整しても良いし、ＥｔｈｅｒｎｅｔまたはＣＡＮ等、特定の１または複数の種類の通信に係る通信量によって監視時間を調整しても良い。
【００１４】
リフレッシュ部１１３は、リフレッシュタスクを実行する。リフレッシュタスクは、ウォッチドッグタイマ１２をリフレッシュするタスクである。リフレッシュタスクは、マルチタスクを構成するタスクの中で最も優先度が低い。
【００１５】
ウォッチドッグタイマ１２は、レジスタ１２１とカウンタ１２２を備えている。レジスタ１２１には、ウォッチドッグタイマ１２の監視時間に相当する値が保持される。この値は、監視時間制御部１１２によって書き込まれる。言い換えれば、レジスタ１２１はウォッチドッグタイマ１２の監視時間を記憶している。これにより、マルチタスク処理のリセットが発生した場合には、レジスタ１２１の監視時間を参照することで、リセットの理由等を解析することが可能である。カウンタ１２２には、レジスタ１２１の保持する値が入力され、それからカウンタ１２２はカウントダウンを行う。正常時には、監視時間より短い時間間隔でリフレッシュタスクが実行されるため、カウンタ１２２が０になることはない。しかし、リフレッシュタスクの実行間隔が監視時間より長くなると、カウンタ１２２の値が０になり、ウォッチドッグタイマ１２から異常検出信号が出力される。そして、マルチタスク処理部１１のマルチタスク処理がリセットされる。具体的には、例えば図１に図示しないリセット回路がリセット信号を出力することにより、マルチタスク処理がリセットされる。あるいは、マルチタスク装置１０１の電源が切断されることにより、マルチタスク処理部１１の処理が強制的にリセットされる。ここでは、カウンタ１２２がカウントダウンする例を述べたが、０からレジスタ値までカウントアップするカウンタ１２２であっても良い。
【００１６】
＜Ａ−２．動作＞
図２は、マルチタスク処理部１１の動作を示すフローチャートである。以下、図２に沿ってマルチタスク処理部１１の動作を説明する。通信タスクとして、タスクＡ，Ｂ，Ｃがあり、この順に優先度が高いものとする。従って、通信部１１１は、タスクＡ、タスクＢ、およびタスクＣを順に実行する（ステップＳ１１−Ｓ１３）。但し、割り込みイベントがあれば、必ずしもこの順番でタスクが実行されるとは限らない。その後、監視時間制御部１１２が、監視時間制御タスクを実行する（ステップＳ１４）。その後、リフレッシュ部１１３がウォッチドッグタイマ１２のカウンタ１２２をリフレッシュするリフレッシュタスクを実行し（ステップＳ１５）、ステップＳ１１の処理に戻る。
【００１７】
図３は、監視時間制御タスクのフローチャートである。以下、図３に沿って監視時間制御タスクの処理を説明する。まず、監視時間制御部１１２が、タスクＡ−Ｃにおける通信量を取得する（ステップＳ２１）。なお、通信部１１１はタスクＡ−Ｃの実行後に、各タスクにおける通信量を図示しない共有メモリに格納しており、監視時間制御部１１２は当該共有メモリから各タスクの通信量を取得する。
【００１８】
次に、監視時間制御部１１２は、通信量が予め定められた閾値より大きいか否かを判断する（ステップＳ２２）。タスクＡがＥｔｈｅｒｎｅｔ機器２１との通信タスク、タスクＢがＬＩＮ機器２２との通信タスク、タスクＣがＣＡＮ機器２３との通信タスクであるとする。本ステップで監視時間制御部１１２は、タスクＡ−Ｃの通信量の合計値について判断しても良い。あるいは、監視時間制御部１１２は特定の通信種別、例えばEthernet機器２１との通信タスクＡとＣＡＮ機器２３との通信タスクＢの通信量についてのみ判断しても良い。また、監視時間制御部１１２は通信種別ごとに通信量を判断しても良い。この場合、通信量の閾値は通信種別ごとに定められても良い。
【００１９】
ステップＳ２２において通信量が閾値より大きい場合、監視時間制御部１１２はウォッチドッグタイマ１２のレジスタ値を大きくする（ステップＳ２３）。これにより、ウォッチドッグタイマ１２の監視時間が長くなる。ステップＳ２２において通信量が閾値以下であれば、監視時間制御部１１２はウォッチドッグタイマ１２のレジスタ値を変更せず、処理は終了する。
【００２０】
図４は、ウォッチドッグタイマ１２のレジスタ値の設定テーブルを示している。図４の設定テーブルは、ＣＡＮ機器２３およびＥｔｈｅｒｎｅｔ機器２１との通信量と、ウォッチドッグタイマ１２のレジスタ値（時間換算）とを対応づけている。図３のフローでは、監視時間制御部１１２が通信量を閾値と比較してウォッチドッグタイマ１２のレジスタ値を変更することについて説明した。より具体的には、監視時間制御部１１２は一例として図４に示す設定テーブルに沿ってレジスタ値を設定する。ＣＡＮ機器２３およびＥｔｈｅｒｎｅｔ機器２１との通信量をｘ（Ｍｂｐｓ）とする。０≦ｘ＜０．１の場合、レジスタ値を１秒とする。また、０．１≦ｘ＜０．３の場合、レジスタ値を２秒とする。また、０．３≦ｘ＜０．５の場合、レジスタ値を３秒とする。また、０．５≦ｘ＜２の場合、レジスタ値を５秒とする。また、２≦ｘの場合、レジスタ値を１０秒とする。このように、通信量が多いほど監視時間が長くなる。
【００２１】
＜Ａ−３．効果＞
実施の形態１のマルチタスク装置１０１は、車両に搭載された装置であり、複数のタスクを優先度順に時分割で実行するマルチタスク処理部１１と、ウォッチドッグタイマ１２と、を備える。マルチタスク処理部１１が実行する複数のタスクは、ウォッチドッグタイマ１２をリフレッシュする、複数のタスクのうち最も優先度が低いリフレッシュタスクと、マルチタスク装置１０１の外部機器２０との通信を行うタスクである通信タスクと、通信タスクの通信量に応じてウォッチドッグタイマ１２の監視時間を可変に制御する監視時間制御タスクと、を含む。ウォッチドッグタイマ１２は、リフレッシュタスクによりリフレッシュされない時間が監視時間を超えると、複数のタスクの異常を検知する。このような構成によれば、リフレッシュタスクが最後に実施されるため、ウォッチドッグタイマ１２によりマルチタスクを構成する全タスクの合計処理時間が監視される。そのため、マルチタスク装置１０１は、各タスクの処理時間を個別に監視する場合に比べて、通信量に応じた適切なリセットを容易に行うことができる。
【００２２】
また、実施の形態１のマルチタスク装置１０１により実行されるマルチタスク方法は、車両に搭載された装置において複数のタスクを優先度順に時分割で実行し、複数のタスクのうちリフレッシュタスクによりリフレッシュされない時間が監視時間を超過すると異常を検知し、複数のタスクのうちマルチタスク装置１０１の外部機器２０との通信を行うタスクである通信タスクの通信量を監視し、通信量に応じてウォッチドッグタイマ１２の監視時間を可変に制御する。そして、リフレッシュタスクは、複数のタスクのうち最も優先度が低い。これにより、ウォッチドッグタイマ１２によりマルチタスクを構成する全タスクの合計処理時間が監視される。そのため、マルチタスク装置１０１は、各タスクの処理時間を個別に監視する場合に比べて、通信量に応じた適切なリセットを容易に行うことができる。
【００２３】
＜Ｂ．ハードウェア構成＞
上述したマルチタスク装置１０１におけるマルチタスク処理部１１とウォッチドッグタイマ１２は、図５に示す処理回路８１により実現される。すなわち、処理回路８１はマルチタスク処理部１１とウォッチドッグタイマ１２を備える。処理回路８１には、専用のハードウェアが適用されても良いし、メモリに格納されるプログラムを実行するプロセッサが適用されても良い。プロセッサは、例えば中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、ＤＳＰ（Digital Signal Processor）等である。
【００２４】
処理回路８１が専用のハードウェアである場合、処理回路８１は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ＡＳＩＣ（Application Specific Integrated Circuit）、ＦＰＧＡ（Field-Programmable Gate Array）、またはこれらを組み合わせたものが該当する。マルチタスク処理部１１とウォッチドッグタイマ１２の機能それぞれは、複数の処理回路８１で実現されてもよいし、各部の機能をまとめて一つの処理回路で実現されてもよい。
【００２５】
処理回路８１がプロセッサである場合、マルチタスク処理部１１とウォッチドッグタイマ１２の機能は、ソフトウェア等（ソフトウェア、ファームウェアまたはソフトウェアとファームウェア）との組み合わせにより実現される。ソフトウェア等はプログラムとして記述され、メモリに格納される。図６に示すように、処理回路８１に適用されるプロセッサ８２は、メモリ８３に記憶されたプログラムを読み出して実行することにより、各部の機能を実現する。すなわち、マルチタスク装置１０１は、処理回路８１により実行されるときに、車両に搭載されたマルチタスク装置において、複数のタスクを優先度順に時分割で実行するステップと、ウォッチドッグタイマにより前記複数のタスクの処理時間を監視するステップと、前記リフレッシュタスクによりリフレッシュされない時間が前記監視時間を超えると、ウォッチドッグタイマが複数のタスクの異常を検知するステップと、が結果的に実行されることになるプログラムを格納するためのメモリ８３を備える。換言すれば、このプログラムは、マルチタスク処理部１１等の手順または方法をコンピュータに実行させるものであるともいえる。ここで、メモリ８３には、例えば、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、フラッシュメモリ、ＥＰＲＯＭ（Erasable Programmable Read Only Memory）、ＥＥＰＲＯＭ（Electrically Erasable Programmable Read Only Memory）などの、不揮発性または揮発性の半導体メモリ、ＨＤＤ（Hard Disk Drive）、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤ（Digital Versatile Disk）及びそのドライブ装置等、または、今後使用されるあらゆる記憶媒体であってもよい。
【００２６】
以上、マルチタスク処理部１１とウォッチドッグタイマ１２の各機能が、ハードウェア及びソフトウェア等のいずれか一方で実現される構成について説明した。しかしこれに限ったものではなく、一部を専用のハードウェアで実現し、別の一部をソフトウェア等で実現する構成であってもよい。例えばウォッチドッグタイマ１２については専用のハードウェアとしての処理回路でその機能を実現し、それ以外についてはプロセッサ８２としての処理回路８１がメモリ８３に格納されたプログラムを読み出して実行することによってその機能を実現することが可能である。
【００２７】
以上のように、処理回路は、ハードウェア、ソフトウェア等、またはこれらの組み合わせによって、上述の各機能を実現することができる。
【００２８】
なお、本発明は、その発明の範囲内において、各実施の形態を自由に組み合わせたり、各実施の形態を適宜、変形、省略したりすることが可能である。この発明は詳細に説明されたが、上記した説明は、すべての態様において、例示であって、この発明がそれに限定されるものではない。例示されていない無数の変形例が、この発明の範囲から外れることなく想定され得るものと解される。
【符号の説明】
【００２９】
１１  マルチタスク処理部、１２  ウォッチドッグタイマ、２０  外部機器、２１  Ｅｔｈｅｒｎｅｔ機器、２２  ＬＩＮ機器、２３  ＣＡＮ機器、２４  Ｒａｄｉｏ機器、２５  カメラ、８１  処理回路、８２  プロセッサ、８３  メモリ、１０１  マルチタスク装置、１１１  通信部、１１２  監視時間制御部、１１３  リフレッシュ部、１２１  レジスタ、１２２  カウンタ。
【図１】
2021044476.tif 000003
【図２】
2021044476.tif 000004
【図３】
2021044476.tif 000005
【図４】
2021044476.tif 000006
【図５】
2021044476.tif 000007
【図６】
2021044476.tif 000008
【国際調査報告】
2021044476.tif 000009
2021044476.tif 000010
2021044476.tif 000011
2021044476.tif 000012