説明

電子制御装置、これを用いたモータ駆動装置、及び、電子制御装置の制御方法

【課題】複数のタスクを順次実行可能な電子制御装置において処理負荷を低減する。
【解決手段】電子制御装置は、実行可能な複数のタスクの実行順序を静的に定義したタスク起動用テーブル21を記憶している。タスク起動用テーブル21には、タスクの実行順にタスク起動構造体22のアドレスが定義されている。電子制御装置は、所定周期毎のタスク起動処理においてタスク起動用テーブル21を参照し、各タスクについての起動要求の有無および停止要求の有無を判断する。そして、判断された起動要求または停止要求に応じて起動処理または停止処理を実行する。これにより、実行可能なタスクを毎回登録処理してタスクの実行順序を制御する従来技術に比べて、電子制御装置の処理負荷を低減することができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数のタスクを順次実行可能な電子制御装置、これを用いたモータ駆動装置、及び、電子制御装置の制御方法に関する。
【背景技術】
【0002】
従来、複数のタスクを順次実行可能な電子制御装置において、タスクの実行順序を制御する方法が知られている。例えば、特許文献1に記載のタスクスケジューリング方法は、実行可能なタスクにタスク番号を付与して登録するタスク実行テーブルを用い、そのタスク番号に従ってタスクの実行順序を制御する。そして、実行可能タスクがタスク実行テーブルに登録されている場合のみタスクを実行し、実行後にタスク実行テーブルから登録を削除する。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2001−100807号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
一般にタスクは動的に実行されるか、または静的に実行される。動的な実行とは、イベント発生に伴って不定期に実行されることをいい、静的な実行とは、イベント発生の有無に関わらず、所定周期毎に、すなわち定期的に実行されることをいう。
【0005】
特許文献1に記載の方法は、静的にタスクを実行する場合、すなわち所定周期毎にタスクを実行する場合、実行可能なタスクを毎回タスク実行テーブルへ登録処理する必要がある。そのため、所定周期毎に登録処理がオーバーヘッドとなり、電子制御装置の処理負荷が増大するという問題がある。
【0006】
本発明は、このような点に鑑みて創作されたものであり、その目的は、複数のタスクを順次実行可能な電子制御装置において、タスクの実行順序の制御に係る処理負荷を低減する電子制御装置を提供することにある。
【課題を解決するための手段】
【0007】
請求項1〜4に記載の発明は、複数のタスクを順次実行可能な電子制御装置に係る発明である。請求項1に記載の電子制御装置は、判断手段と、実行手段とを備える。
判断手段は、タスクの実行順序を静的に定義したタスク起動用テーブルを参照し、当該タスク起動用テーブルの定義順に処理対象タスクについての起動要求の有無および停止要求の有無を判断する。
実行手段は、判断手段によって起動要求が有ると判断されたタスクについての起動処理を実行し、判断手段によって停止要求が有ると判断されたタスクについての停止処理を実行する。
【0008】
ここで、タスクの実行順序を「静的に」定義するとは、イベント発生の有無に関わらず、所定周期毎に実行するように定義することをいう。
これにより、所定周期毎にタスクを実行する場合、タスク起動用テーブルを参照してタスクの起動処理または停止処理を実行するため、実行可能なタスクを毎回登録処理してタスクの実行順序を制御する従来技術に比べて、電子制御装置の処理負荷を低減することができる。
【0009】
請求項2に記載の電子制御装置では、実行手段は、起動要求が有ると判断されたタスクが既に起動されている場合、そのタスクを継続して実行する。
これにより、1回の起動要求によりタスクを起動した後、そのタスクの起動状態が維持される。したがって、不要な二重起動を省くことができ、電子制御装置の処理負荷をさらに低減することができる。
【0010】
さらに、請求項3に記載の電子制御装置では、判断手段は、処理対象タスクについて起動要求の有無を判断した後に停止要求の有無を判断し、起動要求が有り且つ停止要求が有ると判断した場合、後から得られた停止要求有りの判断を優先する。そして、実行手段は、当該タスクについて停止処理を実行する。
これにより、不要なタスク起動を抑制し、電子制御装置の処理負荷をさらに低減することができる。
【0011】
また、請求項4に記載の電子制御装置では、判断手段は、処理対象タスクについて停止要求の有無を判断した後に起動要求の有無を判断し、停止要求が有り且つ起動要求が有ると判断した場合、後から得られた起動要求有りの判断を優先する。そして、実行手段は、当該タスクについて起動処理を実行する。
これにより、タスクの起動漏れを防止し、タスクを確実に実行することができる。
【0012】
請求項5、6に記載の発明は、モータ駆動装置に係る発明である。請求項5に記載のモータ駆動装置は、請求項1〜4のいずれか一項に記載の電子制御装置を用い、モータを駆動するための複数のタスクを順次実行する。特に、請求項6に記載のモータ駆動装置は、電動パワーステアリング装置に用いられ車両の操舵アシストトルクを発生するためのモータを駆動するものである。
【0013】
一般にモータ駆動装置は、タスクを静的に実行する制御が適している。特に、電動パワーステアリング装置に適用されるモータ駆動装置は、モータの回転角、操舵トルク、車速等の情報を定期的に監視し、迅速かつ的確な処理を実行することが要求されるため、本発明の電子制御装置による処理負荷を低減する効果が有効に発揮される。
【0014】
請求項7〜10に記載の発明は、複数のタスクを順次実行する電子制御装置の制御方法に係る発明である。この制御方法に係る発明は、ハードウェア資源である電子制御装置を用いて具体的に実現される。
【0015】
請求項7に記載の電子制御装置の制御方法は、判断ステップと実行ステップとを含む。
判断ステップでは、タスクの実行順序を静的に定義したタスク起動用テーブルを参照し、当該タスク起動用テーブルの定義順に処理対象タスクについての起動要求の有無および停止要求の有無を判断する。
実行ステップでは、判断ステップで起動要求が有ると判断されたタスクについての起動処理を実行し、判断ステップで停止要求が有ると判断されたタスクについての停止処理を実行する。
請求項1に記載の発明と同様、タスクの実行順序を「静的に」定義するとは、イベント発生の有無に関わらず、所定周期毎に実行するように定義することをいう。
【0016】
請求項8に記載の電子制御装置の制御方法では、実行ステップにおいて、起動要求が有ると判断されたタスクが既に起動されている場合、そのタスクを継続して実行する。
【0017】
さらに、請求項9に記載の電子制御装置の制御方法では、判断ステップにおいて、処理対象タスクについて起動要求の有無を判断した後に停止要求の有無を判断し、起動要求が有り且つ停止要求が有ると判断した場合、後から得られた停止要求有りの判断を優先する。そして、実行ステップにおいて、当該タスクについて停止処理を実行する。
【0018】
また、請求項10に記載の電子制御装置の制御方法では、判断ステップにおいて、処理対象タスクについて停止要求の有無を判断した後に起動要求の有無を判断し、停止要求が有り且つ起動要求が有ると判断した場合、後から得られた起動要求有りの判断を優先する。そして、実行ステップにおいて、当該タスクについて起動処理を実行する。
【0019】
請求項7〜10に記載の電子制御装置の制御方法の効果は、それぞれ、請求項1〜4に記載の電子制御装置の効果に対応する。
【図面の簡単な説明】
【0020】
【図1】本発明の第1〜第3実施形態による電子制御装置が適用される電動パワーステアリング装置の概略構成図。
【図2】本発明の第1〜第3実施形態による電子制御装置のシステム概略図。
【図3】本発明の第1〜第3実施形態による電子制御装置の(a)タスク起動用テーブル、(b)タスク起動構造体を示す概念図。
【図4】本発明の第1、第2実施形態によるタスク起動処理における(a)起動要求処理、(b)停止要求処理のフローチャート。
【図5】本発明の第1実施形態による停止要求を優先するタスク起動処理のフローチャート。
【図6】本発明の第2実施形態による起動要求を優先するタスク起動処理のフローチャート。
【図7】本発明の第3実施形態による最新要求を優先するタスク起動処理における(a)起動要求処理、(b)停止要求処理のフローチャート。
【発明を実施するための形態】
【0021】
自動車等のハンドル操作をアシストするための電動パワーステアリング装置に本発明の電子制御装置(以下「ECU」という)を適用した実施形態を図面に基づいて説明する。
(第1実施形態)
図1は、電動パワーステアリング装置を備えたステアリングシステムの全体構成を示す。ステアリングシステム90に備えられる電動パワーステアリング装置1は、ハンドル91に接続されたステアリングシャフト92に操舵トルクを検出するためのトルクセンサ94を設置している。
ステアリングシャフト92の先端にはピニオンギア96が設けられており、ピニオンギア96はラック軸97に噛み合っている。ラック軸97の両端には、タイロッド等を介して一対の車輪98が回転可能に連結されている。
【0022】
これにより、運転者がハンドル91を回転させると、ハンドル91に接続されたステアリングシャフト92が回転し、ステアリングシャフト92の回転運動は、ピニオンギア96によってラック軸97の直線運動に変換され、ラック軸97の直線運動変位に応じた角度について一対の車輪98が操舵される。
【0023】
電動パワーステアリング装置1は、操舵アシストトルクを発生するモータ80、モータ80の回転を減速してステアリングシャフト92に伝える減速ギア89、及び、モータ駆動装置2を備える。モータ80は3相ブラシレスモータであり、減速ギア89を正逆回転させる。モータ駆動装置2は、ECU10を備える。モータ駆動装置2は、また、モータ80の回転角を検出する回転角センサ85、上述のトルクセンサ94、車速を検出する車速センサ95を含む。
この構成により、電動パワーステアリング装置1は、ハンドル91の操舵を補助するための操舵アシストトルクを発生し、ステアリングシャフト92に伝達する。
【0024】
図2にECUのシステム概略図を示す。ECU10は、マイクロコンピュータ(以下「マイコン」という)11、入力回路16および出力回路17を備えている。
マイコン11は、プログラムを実行するCPU(中央演算処理装置)12、CPU12によって実行されるプログラムを記憶するROM13、CPU12による演算結果等を記憶するためのRAM14、及び、入力回路16および出力回路17との間で信号をやり取りするためのI/O15を備えている。
CPU12は、特許請求の範囲に記載の「判断手段」および「実行手段」に相当する。
【0025】
入力回路16は、マイコン11の制御の条件とするための各種センサからの信号を入力する。出力回路17は、マイコン11の制御に応じてアクチュエータを駆動する。
本実施形態では、入力回路16は、上述の回転角センサ85、トルクセンサ94および車速センサ95からの信号を入力し、出力回路17は、マイコン11の制御に応じてモータ80を駆動する。
【0026】
マイコン11は、実行可能な複数のタスクの実行順序を静的に定義したタスク起動用テーブル21を記憶している。タスク起動用テーブル21は、図3(a)に示すように、例えばタスクA〜タスクEの5つのタスクについて、タスクA→タスクB・・・→タスクEの順にタスク起動構造体22のアドレスが定義されている。タスク起動構造体22は、図3(b)に示すように、起動関数のアドレス、起動要求フラグのアドレス、停止要求フラグのアドレス、タスク状態のアドレスの各データを一括して扱うようにしたものである。
【0027】
ここで、タスクの実行順序を「静的に」定義するとは、イベント発生の有無に関わらず、所定周期毎にタスクを実行するように定義することをいう。本実施形態では、「ハンドルを操舵する」、「スイッチを押す」等のイベントの発生によってタスクを実行するのではなく、所定周期毎、例えば数十ms毎に、PWM制御によりモータ80を駆動するための電流指令値演算等のタスクを実行する。
【0028】
次に、第1実施形態のECU10が実行する処理について、図4、図5のフローチャートを参照して説明する。以下のフローチャートの説明で、記号Sは「ステップ」を示す。また、末尾の記号Aは起動に係るステップを示し、記号Bは停止に係るステップを示す。
まず、図4(a)は起動要求処理のフローチャートであり、図4(b)は停止要求処理のフローチャートである。起動要求時には起動要求フラグをオンにし(S01A)、停止要求時には停止要求フラグをオンにする(S01B)。
【0029】
図5は、停止要求を優先するタスク起動処理のフローチャートである。この処理における判断および実行の主体はCPU12である。
図5のS10Aでは、起動要求フラグがオンであるか否かを判断する。YESの場合、S20Aにてタスク状態を「起動中」にし、S30Aにて起動要求フラグをオフにする。S10AでNOの場合は、S20AおよびS30Aをスキップする。
次に、S40Bでは、停止要求フラグがオンであるか否かを判断する。YESの場合、S50Bにてタスク状態を「停止中」にし、S60Bにて停止要求フラグをオフにする。S40BでNOの場合は、S50BおよびS60Bをスキップする。
第1実施形態は、S40BをS10Aよりも後で実行することにより、停止要求を優先する。
【0030】
S70では、タスク状態が「起動中」であるか否かを判断する。YESの場合、S80にてタスク起動構造体(図3(b)参照)に定義されている起動関数のアドレスをコールし、タスクを起動する。一方、NOの場合はS80をスキップし、タスクを起動しない。また、起動中であると判断したタスクが既に起動されている場合は、そのタスクを継続して実行する。
【0031】
以上の処理を、タスク起動用テーブル(図3(a)参照)に定義されているタスクA〜タスクEについて順次実行する。すなわち、S90で、タスク起動用テーブルの最終タスクであるタスクEまで実行したか否かを判断し、NOの場合はS10Aに戻り、YESの場合は、タスク起動処理を終了する。
【0032】
(効果)
第1実施形態のECU10は、下記の効果を奏する。
(1)所定周期毎にタスクを実行する場合、タスク起動用テーブル21を参照してタスクの起動処理または停止処理を実行するため、実行可能なタスクを毎回登録処理してタスクの実行順序を制御する従来技術に比べて、ECU10の処理負荷を低減することができる。
【0033】
(2)起動要求が有ると判断されたタスクが既に起動されている場合、そのタスクを継続して実行することにより、1回の起動要求によりタスクを起動した後、そのタスクの起動状態が維持される。したがって、不要な二重起動を省くことができ、ECU10の処理負荷をさらに低減することができる。
【0034】
(3)停止要求を優先することにより、不要なタスク起動を抑制し、ECU10の処理負荷をさらに低減することができる。
【0035】
(第2実施形態)
次に、第2実施形態のECU10が実行する処理について図4、図6のフローチャートを参照して説明する。第2実施形態は、図4に示す起動要求処理および停止要求処理のフローチャートについては第1実施形態と同様である。また、図6に示すタスク起動処理において、起動要求フラグのオン/オフを判断するステップと停止要求フラグのオン/オフを判断するステップとの実行順を逆にする以外は第1実施形態と同様である。
【0036】
図6は、起動要求を優先するタスク起動処理のフローチャートである。この処理における判断および実行の主体はCPU12である。
図6のS10Bでは、停止フラグがオンであるか否かを判断する。YESの場合、S20Bにてタスク状態を「停止中」にし、S30Bにて停止要求フラグをオフにする。S10BでNOの場合は、S20BおよびS30Bをスキップする。
次に、S40Aでは、起動要求フラグがオンであるか否かを判断する。YESの場合、S50Aにてタスク状態を「起動中」にし、S60Aにて起動要求フラグをオフにする。S40AでNOの場合は、S50AおよびS60Aをスキップする。
第2実施形態は、S40AをS10Bよりも後で実行することにより、起動要求を優先する。
【0037】
第2実施形態のECU10は、第1実施形態の効果(3)に代えて下記の効果(4)を奏する。
(4)起動要求を優先することにより、タスクの起動漏れを防止し、タスクを確実に実行することができる。
【0038】
(第3実施形態)
次に、第3実施形態のECU10が実行する処理について図5、図7のフローチャートを参照して説明する。第3実施形態では、図4のフローチャートにかえて、図7に示す起動要求処理および停止要求処理のフローチャートを採用する。また、タスク起動処理については、第1実施形態と同様、図5のフローチャートを採用する。
【0039】
図7(a)は、起動要求処理のフローチャートである。起動要求時には、起動要求フラグをオンにし(S03A)、停止要求フラグをオフにする(S04B)。すなわち、最新の要求である起動要求を優先し、起動要求以前に停止要求がされていた場合は、停止要求をキャンセルする。また、起動要求以前に停止要求がされていない場合は、そのまま停止要求フラグがオフの状態を維持する。
【0040】
図7(b)は、停止要求処理のフローチャートである。停止要求時には、停止要求フラグをオンにし(S03B)、起動要求フラグをオフにする(S04A)。すなわち、最新の要求である停止要求を優先し、停止要求以前に起動要求がされていた場合は、起動要求をキャンセルする。また、停止要求以前に起動要求がされていない場合は、そのまま起動要求フラグがオフの状態を維持する。
【0041】
これにより、最新の要求が停止要求である場合は、第1実施形態の効果(3)と同様に、不要なタスク起動を抑制し、ECU10の処理負荷をさらに低減することができる。また、最新の要求が起動要求である場合は、第2実施形態の効果(4)と同様に、タスクの起動漏れを防止し、タスクを確実に実行することができる。
【0042】
(その他の実施形態)
(ア)上記の実施形態では、タスク起動用テーブル21に定義されたすべてのタスクについて、停止要求処理を優先するか、または起動要求処理を優先する。その他の実施形態では、あるタスクについては停止要求処理を優先し、別のタスクについては起動要求処理を優先するようにしてもよい。これにより、例えばフュイルセーフの思想等によって、タスクの特性に応じた適切な処理を実行することができる。
【0043】
(イ)起動要求が有ると判断されたタスクが既に起動されている場合、そのタスクを継続して実行するのではなく、再起動してもよい。また、あるタスクについては継続して実行し、別のタスクについては再起動するようにしてもよい。
【0044】
以上、本発明はこのような実施形態に限定されるものではなく、発明の趣旨を逸脱しない範囲において、種々の形態で実施することができる。
【符号の説明】
【0045】
1 ・・・電動パワーステアリング装置、
2 ・・・モータ駆動装置、
10 ・・・ECU(電子制御装置)、
11 ・・・マイコン、
12 ・・・CPU(判断手段、実行手段)、
13 ・・・ROM、
14 ・・・RAM、
15 ・・・I/O、
16 ・・・入力回路、
17 ・・・出力回路、
21 ・・・タスク起動用テーブル、
22 ・・・タスク起動構造体、
80 ・・・モータ。

【特許請求の範囲】
【請求項1】
複数のタスクを順次実行可能な電子制御装置であって、
タスクの実行順序を静的に定義したタスク起動用テーブルを参照し、当該タスク起動用テーブルの定義順に処理対象タスクについての起動要求の有無および停止要求の有無を判断する判断手段と、
前記判断手段によって起動要求が有ると判断されたタスクについての起動処理を実行し、前記判断手段によって停止要求が有ると判断されたタスクについての停止処理を実行する実行手段と、
を備えることを特徴とする電子制御装置。
【請求項2】
前記実行手段は、起動要求が有ると判断されたタスクが既に起動されている場合、そのタスクを継続して実行することを特徴とする請求項1に記載の電子制御装置。
【請求項3】
前記判断手段は、処理対象タスクについて起動要求の有無を判断した後に停止要求の有無を判断し、起動要求が有り且つ停止要求が有ると判断した場合、後から得られた停止要求有りの判断を優先し、
前記実行手段は、当該タスクについて停止処理を実行することを特徴とする請求項1または2に記載の電子制御装置。
【請求項4】
前記判断手段は、処理対象タスクについて停止要求の有無を判断した後に起動要求の有無を判断し、停止要求が有り且つ起動要求が有ると判断した場合、後から得られた起動要求有りの判断を優先し、
前記実行手段は、当該タスクについて起動処理を実行することを特徴とする請求項1または2に記載の電子制御装置。
【請求項5】
請求項1〜4のいずれか一項に記載の電子制御装置を用い、モータを駆動するための複数のタスクを順次実行することを特徴とするモータ駆動装置。
【請求項6】
前記モータは、電動パワーステアリング装置に用いられ、車両の操舵アシストトルクを発生することを特徴とする請求項5に記載のモータ駆動装置。
【請求項7】
複数のタスクを順次実行する電子制御装置の制御方法であって、
タスクの実行順序を静的に定義したタスク起動用テーブルを参照し、当該タスク起動用テーブルの定義順に処理対象タスクについての起動要求の有無および停止要求の有無を判断する判断ステップと、
前記判断ステップにて起動要求が有ると判断されたタスクについての起動処理を実行し、前記判断ステップにて停止要求が有ると判断されたタスクについての停止処理を実行する実行ステップと、
を含むことを特徴とする電子制御装置の制御方法。
【請求項8】
前記実行ステップにおいて、起動要求が有ると判断されたタスクが既に起動されている場合、そのタスクを継続して実行することを特徴とする請求項7に記載の電子制御装置の制御方法。
【請求項9】
前記判断ステップにおいて、処理対象タスクについて起動要求の有無を判断した後に停止要求の有無を判断し、起動要求が有り且つ停止要求が有ると判断した場合、後から得られた停止要求有りの判断を優先し、
前記実行ステップにおいて、当該タスクについて停止処理を実行することを特徴とする請求項7または8に記載の電子制御装置の制御方法。
【請求項10】
前記判断ステップにおいて、処理対象タスクについて停止要求の有無を判断した後に起動要求の有無を判断し、停止要求が有り且つ起動要求が有ると判断した場合、後から得られた起動要求有りの判断を優先し、
前記実行ステップにおいて、当該タスクについて起動処理を実行することを特徴とする請求項7または8に記載の電子制御装置の制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2012−79193(P2012−79193A)
【公開日】平成24年4月19日(2012.4.19)
【国際特許分類】
【出願番号】特願2010−225477(P2010−225477)
【出願日】平成22年10月5日(2010.10.5)
【出願人】(000004260)株式会社デンソー (27,639)
【Fターム(参考)】