(57)【特許請求の範囲】
【請求項１】
複数のタスクを順次実行可能な電子制御装置を用いてモータを駆動するモータ駆動装置であって、
前記電子制御装置は、
タスクの実行順序を静的に定義したタスク起動用テーブルを参照し、当該タスク起動用テーブルの定義順に処理対象タスクについての起動要求の有無および停止要求の有無を判断する判断手段と、
前記判断手段によって起動要求が有ると判断されたタスクについての起動処理を実行し、前記判断手段によって停止要求が有ると判断されたタスクについての停止処理を実行する実行手段と、
を備え、
前記判断手段は、処理対象タスクについて起動要求の有無を判断した後に停止要求の有無を判断し、起動要求が有り且つ停止要求が有ると判断した場合、後から得られた停止要求有りの判断を優先し、
前記実行手段は、当該タスクについて停止処理を実行することを特徴とするモータ駆動装置。
【請求項２】
前記実行手段は、起動要求が有ると判断されたタスクが既に起動されている場合、そのタスクを継続して実行することを特徴とする請求項１に記載のモータ駆動装置。
【請求項３】
前記モータは、電動パワーステアリング装置に用いられ、車両の操舵アシストトルクを発生することを特徴とする請求項１または２に記載のモータ駆動装置。
【請求項４】
モータ駆動装置において複数のタスクを順次実行する電子制御装置の制御方法であって、
タスクの実行順序を静的に定義したタスク起動用テーブルを参照し、当該タスク起動用テーブルの定義順に処理対象タスクについての起動要求の有無および停止要求の有無を判断する判断ステップと、
前記判断ステップにて起動要求が有ると判断されたタスクについての起動処理を実行し、前記判断ステップにて停止要求が有ると判断されたタスクについての停止処理を実行する実行ステップと、
を含み、
前記判断ステップにおいて、処理対象タスクについて起動要求の有無を判断した後に停止要求の有無を判断し、起動要求が有り且つ停止要求が有ると判断した場合、後から得られた停止要求有りの判断を優先し、
前記実行ステップにおいて、当該タスクについて停止処理を実行することを特徴とするモータ駆動装置における電子制御装置の制御方法。
【請求項５】
前記実行ステップにおいて、起動要求が有ると判断されたタスクが既に起動されている場合、そのタスクを継続して実行することを特徴とする請求項４に記載のモータ駆動装置における電子制御装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のタスクを順次実行可能な電子制御装置を用いたモータ駆動装置、及び、モータ駆動装置における電子制御装置の制御方法に関する。
【背景技術】
【０００２】
従来、複数のタスクを順次実行可能な電子制御装置において、タスクの実行順序を制御する方法が知られている。例えば、特許文献１に記載のタスクスケジューリング方法は、実行可能なタスクにタスク番号を付与して登録するタスク実行テーブルを用い、そのタスク番号に従ってタスクの実行順序を制御する。そして、実行可能タスクがタスク実行テーブルに登録されている場合のみタスクを実行し、実行後にタスク実行テーブルから登録を削除する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００１−１００８０７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
一般にタスクは動的に実行されるか、または静的に実行される。動的な実行とは、イベント発生に伴って不定期に実行されることをいい、静的な実行とは、イベント発生の有無に関わらず、所定周期毎に、すなわち定期的に実行されることをいう。
【０００５】
特許文献１に記載の方法は、静的にタスクを実行する場合、すなわち所定周期毎にタスクを実行する場合、実行可能なタスクを毎回タスク実行テーブルへ登録処理する必要がある。そのため、所定周期毎に登録処理がオーバーヘッドとなり、電子制御装置の処理負荷が増大するという問題がある。
【０００６】
本発明は、このような点に鑑みて創作されたものであり、その目的は、複数のタスクを順次実行可能な電子制御装置において、タスクの実行順序の制御に係る処理負荷を低減する電子制御装置を提供することにある。
【課題を解決するための手段】
【０００７】
請求項１〜３に記載の発明は、複数のタスクを順次実行可能な電子制御装置を用いてモータを駆動するモータ駆動装置に係る発明である。請求項１に記載のモータ駆動装置の電子制御装置は、判断手段と、実行手段とを備える。
判断手段は、タスクの実行順序を静的に定義したタスク起動用テーブルを参照し、当該タスク起動用テーブルの定義順に処理対象タスクについての起動要求の有無および停止要求の有無を判断する。
実行手段は、判断手段によって起動要求が有ると判断されたタスクについての起動処理を実行し、判断手段によって停止要求が有ると判断されたタスクについての停止処理を実行する。
【０００８】
ここで、タスクの実行順序を「静的に」定義するとは、イベント発生の有無に関わらず、所定周期毎に実行するように定義することをいう。
これにより、所定周期毎にタスクを実行する場合、タスク起動用テーブルを参照してタスクの起動処理または停止処理を実行するため、実行可能なタスクを毎回登録処理してタスクの実行順序を制御する従来技術に比べて、電子制御装置の処理負荷を低減することができる。
【０００９】
このモータ駆動装置では、電子制御装置の判断手段は、処理対象タスクについて起動要求の有無を判断した後に停止要求の有無を判断し、起動要求が有り且つ停止要求が有ると判断した場合、後から得られた停止要求有りの判断を優先する。そして、実行手段は、当該タスクについて停止処理を実行する。
これにより、不要なタスク起動を抑制し、電子制御装置の処理負荷をさらに低減することができる。
【００１０】
請求項２に記載のモータ駆動装置では、電子制御装置の実行手段は、起動要求が有ると判断されたタスクが既に起動されている場合、そのタスクを継続して実行する。
これにより、１回の起動要求によりタスクを起動した後、そのタスクの起動状態が維持される。したがって、不要な二重起動を省くことができ、電子制御装置の処理負荷をさらに低減することができる。
【００１１】
また、本発明とは別の態様のモータ駆動装置では、電子制御装置の判断手段は、処理対象タスクについて停止要求の有無を判断した後に起動要求の有無を判断し、停止要求が有り且つ起動要求が有ると判断した場合、後から得られた起動要求有りの判断を優先する。そして、実行手段は、当該タスクについて起動処理を実行する。
これにより、タスクの起動漏れを防止し、タスクを確実に実行することができる。
【００１２】
請求項３に記載のモータ駆動装置は、電動パワーステアリング装置に用いられ車両の操舵アシストトルクを発生するためのモータを駆動するものである。
【００１３】
一般にモータ駆動装置は、タスクを静的に実行する制御が適している。特に、電動パワーステアリング装置に適用されるモータ駆動装置は、モータの回転角、操舵トルク、車速等の情報を定期的に監視し、迅速かつ的確な処理を実行することが要求されるため、本発明の電子制御装置による処理負荷を低減する効果が有効に発揮される。
【００１４】
請求項４、５に記載の発明は、モータ駆動装置において複数のタスクを順次実行する電子制御装置の制御方法に係る発明である。この制御方法に係る発明は、ハードウェア資源である電子制御装置を用いて具体的に実現される。
【００１５】
請求項４に記載のモータ駆動装置における電子制御装置の制御方法は、判断ステップと実行ステップとを含む。
判断ステップでは、タスクの実行順序を静的に定義したタスク起動用テーブルを参照し、当該タスク起動用テーブルの定義順に処理対象タスクについての起動要求の有無および停止要求の有無を判断する。
実行ステップでは、判断ステップで起動要求が有ると判断されたタスクについての起動処理を実行し、判断ステップで停止要求が有ると判断されたタスクについての停止処理を実行する。
請求項１に記載の発明と同様、タスクの実行順序を「静的に」定義するとは、イベント発生の有無に関わらず、所定周期毎に実行するように定義することをいう。
【００１６】
このモータ駆動装置における電子制御装置の制御方法では、判断ステップにおいて、処理対象タスクについて起動要求の有無を判断した後に停止要求の有無を判断し、起動要求が有り且つ停止要求が有ると判断した場合、後から得られた停止要求有りの判断を優先する。そして、実行ステップにおいて、当該タスクについて停止処理を実行する。
【００１７】
請求項５に記載のモータ駆動装置における電子制御装置の制御方法では、実行ステップにおいて、起動要求が有ると判断されたタスクが既に起動されている場合、そのタスクを継続して実行する。
【００１８】
また、本発明とは別の態様のモータ駆動装置における電子制御装置の制御方法では、判断ステップにおいて、処理対象タスクについて停止要求の有無を判断した後に起動要求の有無を判断し、停止要求が有り且つ起動要求が有ると判断した場合、後から得られた起動要求有りの判断を優先する。そして、実行ステップにおいて、当該タスクについて起動処理を実行する。
【００１９】
請求項４、５に記載のモータ駆動装置における電子制御装置の制御方法の効果は、それぞれ、請求項１、２に記載のモータ駆動装置の効果に対応する。
【図面の簡単な説明】
【００２０】
【図１】本発明の第１〜第３実施形態による電子制御装置が適用される電動パワーステアリング装置の概略構成図。
【図２】本発明の第１〜第３実施形態による電子制御装置のシステム概略図。
【図３】本発明の第１〜第３実施形態による電子制御装置の（ａ）タスク起動用テーブル、（ｂ）タスク起動構造体を示す概念図。
【図４】本発明の第１、第２実施形態によるタスク起動処理における（ａ）起動要求処理、（ｂ）停止要求処理のフローチャート。
【図５】本発明の第１実施形態による停止要求を優先するタスク起動処理のフローチャート。
【図６】本発明の第２実施形態による起動要求を優先するタスク起動処理のフローチャート。
【図７】本発明の第３実施形態による最新要求を優先するタスク起動処理における（ａ）起動要求処理、（ｂ）停止要求処理のフローチャート。
【発明を実施するための形態】
【００２１】
自動車等のハンドル操作をアシストするための電動パワーステアリング装置に本発明の電子制御装置（以下「ＥＣＵ」という）を適用した実施形態を図面に基づいて説明する。
（第１実施形態）
図１は、電動パワーステアリング装置を備えたステアリングシステムの全体構成を示す。ステアリングシステム９０に備えられる電動パワーステアリング装置１は、ハンドル９１に接続されたステアリングシャフト９２に操舵トルクを検出するためのトルクセンサ９４を設置している。
ステアリングシャフト９２の先端にはピニオンギア９６が設けられており、ピニオンギア９６はラック軸９７に噛み合っている。ラック軸９７の両端には、タイロッド等を介して一対の車輪９８が回転可能に連結されている。
【００２２】
これにより、運転者がハンドル９１を回転させると、ハンドル９１に接続されたステアリングシャフト９２が回転し、ステアリングシャフト９２の回転運動は、ピニオンギア９６によってラック軸９７の直線運動に変換され、ラック軸９７の直線運動変位に応じた角度について一対の車輪９８が操舵される。
【００２３】
電動パワーステアリング装置１は、操舵アシストトルクを発生するモータ８０、モータ８０の回転を減速してステアリングシャフト９２に伝える減速ギア８９、及び、モータ駆動装置２を備える。モータ８０は３相ブラシレスモータであり、減速ギア８９を正逆回転させる。モータ駆動装置２は、ＥＣＵ１０を備える。モータ駆動装置２は、また、モータ８０の回転角を検出する回転角センサ８５、上述のトルクセンサ９４、車速を検出する車速センサ９５を含む。
この構成により、電動パワーステアリング装置１は、ハンドル９１の操舵を補助するための操舵アシストトルクを発生し、ステアリングシャフト９２に伝達する。
【００２４】
図２にＥＣＵのシステム概略図を示す。ＥＣＵ１０は、マイクロコンピュータ（以下「マイコン」という）１１、入力回路１６および出力回路１７を備えている。
マイコン１１は、プログラムを実行するＣＰＵ（中央演算処理装置）１２、ＣＰＵ１２によって実行されるプログラムを記憶するＲＯＭ１３、ＣＰＵ１２による演算結果等を記憶するためのＲＡＭ１４、及び、入力回路１６および出力回路１７との間で信号をやり取りするためのＩ／Ｏ１５を備えている。
ＣＰＵ１２は、特許請求の範囲に記載の「判断手段」および「実行手段」に相当する。
【００２５】
入力回路１６は、マイコン１１の制御の条件とするための各種センサからの信号を入力する。出力回路１７は、マイコン１１の制御に応じてアクチュエータを駆動する。
本実施形態では、入力回路１６は、上述の回転角センサ８５、トルクセンサ９４および車速センサ９５からの信号を入力し、出力回路１７は、マイコン１１の制御に応じてモータ８０を駆動する。
【００２６】
マイコン１１は、実行可能な複数のタスクの実行順序を静的に定義したタスク起動用テーブル２１を記憶している。タスク起動用テーブル２１は、図３（ａ）に示すように、例えばタスクＡ〜タスクＥの５つのタスクについて、タスクＡ→タスクＢ・・・→タスクＥの順にタスク起動構造体２２のアドレスが定義されている。タスク起動構造体２２は、図３（ｂ）に示すように、起動関数のアドレス、起動要求フラグのアドレス、停止要求フラグのアドレス、タスク状態のアドレスの各データを一括して扱うようにしたものである。
【００２７】
ここで、タスクの実行順序を「静的に」定義するとは、イベント発生の有無に関わらず、所定周期毎にタスクを実行するように定義することをいう。本実施形態では、「ハンドルを操舵する」、「スイッチを押す」等のイベントの発生によってタスクを実行するのではなく、所定周期毎、例えば数十ｍｓ毎に、ＰＷＭ制御によりモータ８０を駆動するための電流指令値演算等のタスクを実行する。
【００２８】
次に、第１実施形態のＥＣＵ１０が実行する処理について、図４、図５のフローチャートを参照して説明する。以下のフローチャートの説明で、記号Ｓは「ステップ」を示す。また、末尾の記号Ａは起動に係るステップを示し、記号Ｂは停止に係るステップを示す。
まず、図４（ａ）は起動要求処理のフローチャートであり、図４（ｂ）は停止要求処理のフローチャートである。起動要求時には起動要求フラグをオンにし（Ｓ０１Ａ）、停止要求時には停止要求フラグをオンにする（Ｓ０１Ｂ）。
【００２９】
図５は、停止要求を優先するタスク起動処理のフローチャートである。この処理における判断および実行の主体はＣＰＵ１２である。
図５のＳ１０Ａでは、起動要求フラグがオンであるか否かを判断する。ＹＥＳの場合、Ｓ２０Ａにてタスク状態を「起動中」にし、Ｓ３０Ａにて起動要求フラグをオフにする。Ｓ１０ＡでＮＯの場合は、Ｓ２０ＡおよびＳ３０Ａをスキップする。
次に、Ｓ４０Ｂでは、停止要求フラグがオンであるか否かを判断する。ＹＥＳの場合、Ｓ５０Ｂにてタスク状態を「停止中」にし、Ｓ６０Ｂにて停止要求フラグをオフにする。Ｓ４０ＢでＮＯの場合は、Ｓ５０ＢおよびＳ６０Ｂをスキップする。
第１実施形態は、Ｓ４０ＢをＳ１０Ａよりも後で実行することにより、停止要求を優先する。
【００３０】
Ｓ７０では、タスク状態が「起動中」であるか否かを判断する。ＹＥＳの場合、Ｓ８０にてタスク起動構造体（図３（ｂ）参照）に定義されている起動関数のアドレスをコールし、タスクを起動する。一方、ＮＯの場合はＳ８０をスキップし、タスクを起動しない。また、起動中であると判断したタスクが既に起動されている場合は、そのタスクを継続して実行する。
【００３１】
以上の処理を、タスク起動用テーブル（図３（ａ）参照）に定義されているタスクＡ〜タスクＥについて順次実行する。すなわち、Ｓ９０で、タスク起動用テーブルの最終タスクであるタスクＥまで実行したか否かを判断し、ＮＯの場合はＳ１０Ａに戻り、ＹＥＳの場合は、タスク起動処理を終了する。
【００３２】
（効果）
第１実施形態のＥＣＵ１０は、下記の効果を奏する。
（１）所定周期毎にタスクを実行する場合、タスク起動用テーブル２１を参照してタスクの起動処理または停止処理を実行するため、実行可能なタスクを毎回登録処理してタスクの実行順序を制御する従来技術に比べて、ＥＣＵ１０の処理負荷を低減することができる。
【００３３】
（２）起動要求が有ると判断されたタスクが既に起動されている場合、そのタスクを継続して実行することにより、１回の起動要求によりタスクを起動した後、そのタスクの起動状態が維持される。したがって、不要な二重起動を省くことができ、ＥＣＵ１０の処理負荷をさらに低減することができる。
【００３４】
（３）停止要求を優先することにより、不要なタスク起動を抑制し、ＥＣＵ１０の処理負荷をさらに低減することができる。
【００３５】
（第２実施形態）
次に、第２実施形態のＥＣＵ１０が実行する処理について図４、図６のフローチャートを参照して説明する。第２実施形態は、図４に示す起動要求処理および停止要求処理のフローチャートについては第１実施形態と同様である。また、図６に示すタスク起動処理において、起動要求フラグのオン／オフを判断するステップと停止要求フラグのオン／オフを判断するステップとの実行順を逆にする以外は第１実施形態と同様である。
【００３６】
図６は、起動要求を優先するタスク起動処理のフローチャートである。この処理における判断および実行の主体はＣＰＵ１２である。
図６のＳ１０Ｂでは、停止フラグがオンであるか否かを判断する。ＹＥＳの場合、Ｓ２０Ｂにてタスク状態を「停止中」にし、Ｓ３０Ｂにて停止要求フラグをオフにする。Ｓ１０ＢでＮＯの場合は、Ｓ２０ＢおよびＳ３０Ｂをスキップする。
次に、Ｓ４０Ａでは、起動要求フラグがオンであるか否かを判断する。ＹＥＳの場合、Ｓ５０Ａにてタスク状態を「起動中」にし、Ｓ６０Ａにて起動要求フラグをオフにする。Ｓ４０ＡでＮＯの場合は、Ｓ５０ＡおよびＳ６０Ａをスキップする。
第２実施形態は、Ｓ４０ＡをＳ１０Ｂよりも後で実行することにより、起動要求を優先する。
【００３７】
第２実施形態のＥＣＵ１０は、第１実施形態の効果（３）に代えて下記の効果（４）を奏する。
（４）起動要求を優先することにより、タスクの起動漏れを防止し、タスクを確実に実行することができる。
【００３８】
（第３実施形態）
次に、第３実施形態のＥＣＵ１０が実行する処理について図５、図７のフローチャートを参照して説明する。第３実施形態では、図４のフローチャートにかえて、図７に示す起動要求処理および停止要求処理のフローチャートを採用する。また、タスク起動処理については、第１実施形態と同様、図５のフローチャートを採用する。
【００３９】
図７（ａ）は、起動要求処理のフローチャートである。起動要求時には、起動要求フラグをオンにし（Ｓ０３Ａ）、停止要求フラグをオフにする（Ｓ０４Ｂ）。すなわち、最新の要求である起動要求を優先し、起動要求以前に停止要求がされていた場合は、停止要求をキャンセルする。また、起動要求以前に停止要求がされていない場合は、そのまま停止要求フラグがオフの状態を維持する。
【００４０】
図７（ｂ）は、停止要求処理のフローチャートである。停止要求時には、停止要求フラグをオンにし（Ｓ０３Ｂ）、起動要求フラグをオフにする（Ｓ０４Ａ）。すなわち、最新の要求である停止要求を優先し、停止要求以前に起動要求がされていた場合は、起動要求をキャンセルする。また、停止要求以前に起動要求がされていない場合は、そのまま起動要求フラグがオフの状態を維持する。
【００４１】
これにより、最新の要求が停止要求である場合は、第１実施形態の効果（３）と同様に、不要なタスク起動を抑制し、ＥＣＵ１０の処理負荷をさらに低減することができる。また、最新の要求が起動要求である場合は、第２実施形態の効果（４）と同様に、タスクの起動漏れを防止し、タスクを確実に実行することができる。
【００４２】
（その他の実施形態）
（ア）上記の実施形態では、タスク起動用テーブル２１に定義されたすべてのタスクについて、停止要求処理を優先するか、または起動要求処理を優先する。その他の実施形態では、あるタスクについては停止要求処理を優先し、別のタスクについては起動要求処理を優先するようにしてもよい。これにより、例えばフュイルセーフの思想等によって、タスクの特性に応じた適切な処理を実行することができる。
【００４３】
（イ）起動要求が有ると判断されたタスクが既に起動されている場合、そのタスクを継続して実行するのではなく、再起動してもよい。また、あるタスクについては継続して実行し、別のタスクについては再起動するようにしてもよい。
【００４４】
以上、本発明はこのような実施形態に限定されるものではなく、発明の趣旨を逸脱しない範囲において、種々の形態で実施することができる。
【符号の説明】
【００４５】
１      ・・・電動パワーステアリング装置、
２      ・・・モータ駆動装置、
１０      ・・・ＥＣＵ（電子制御装置）、
１１      ・・・マイコン、
１２      ・・・ＣＰＵ（判断手段、実行手段）、
１３      ・・・ＲＯＭ、
１４      ・・・ＲＡＭ、
１５      ・・・Ｉ／Ｏ、
１６      ・・・入力回路、
１７      ・・・出力回路、
２１      ・・・タスク起動用テーブル、
２２      ・・・タスク起動構造体、
８０      ・・・モータ。
【図１】
0005387987.tif 000002
【図２】
0005387987.tif 000003
【図３】
0005387987.tif 000004
【図４】
0005387987.tif 000005
【図５】
0005387987.tif 000006
【図６】
0005387987.tif 000007
【図７】
0005387987.tif 000008