JP2017102518A - 処理装置 - Google Patents

処理装置 Download PDF

Info

Publication number
JP2017102518A
JP2017102518A JP2015232878A JP2015232878A JP2017102518A JP 2017102518 A JP2017102518 A JP 2017102518A JP 2015232878 A JP2015232878 A JP 2015232878A JP 2015232878 A JP2015232878 A JP 2015232878A JP 2017102518 A JP2017102518 A JP 2017102518A
Authority
JP
Japan
Prior art keywords
timer
carrier
task
time
processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2015232878A
Other languages
English (en)
Other versions
JP6551194B2 (ja
Inventor
菊池 潤
Jun Kikuchi
潤 菊池
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Denso Corp
Original Assignee
Denso Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Denso Corp filed Critical Denso Corp
Priority to JP2015232878A priority Critical patent/JP6551194B2/ja
Publication of JP2017102518A publication Critical patent/JP2017102518A/ja
Application granted granted Critical
Publication of JP6551194B2 publication Critical patent/JP6551194B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

【課題】タイマ周期内においてタイマタスク処理を実行し終えるとともに、イベントタスク処理をタイマタスク処理に先行して実行することのできる処理装置を提供する。
【解決手段】タスク処理を実行する処理装置であって、タスク処理としては、タイマ周期毎に実行するタイマタスク処理、および、突発的に実行するイベントタスク処理があり、タイマ周期におけるタイマタスク処理の実行に割り当てることのできる時間からタイマタスク処理の実行時間を除いたタイマ周期余剰時間において、イベントタスク処理を実行しており、タイマタスク処理の実行中においてタイマタスク処理よりも優先度の高いイベントタスク処理の要求があり、タイマ周期余剰時間が有限の場合、タイマタスク処理の実行を一次的に保留して、イベントタスク処理を実行する。
【選択図】図23

Description

本発明は、タスク処理を実行する処理装置に関するものである。
特許文献1に示されるように、各種割り込み要求を、優先度の高い割り込み要求順に実行処理するマイクロプロセッサが知られている。
特開平2−68632号公報
割り込み要求としては、タイマ周期毎に実行するタイマタスクと、突発的に実行するイベントタスクとがある。タイマタスクはタイマ周期内において処理を実行し終えなければならない、という制約がある。したがって例えばマイクロプロセッサがタイマタスクを実行処理している際に、タイマタスクよりも優先度の高いイベントタスクの割り込み要求がある場合、そのイベントタスクを優先的に処理すると、タイマタスクをタイマ周期内に終えることができなくなる虞がある。
そこで本発明は上記問題点に鑑み、タイマ周期内においてタイマタスク処理を実行し終えるとともに、イベントタスク処理をタイマタスク処理に先行して実行することのできる処理装置を提供することを目的とする。
上記した目的を達成するための開示された発明の1つは、タスク処理を実行する処理装置(100)であって、
タスク処理としては、タイマ周期毎に実行するタイマタスク処理、および、突発的に実行するイベントタスク処理があり、
タイマ周期におけるタイマタスク処理の実行に割り当てることのできる時間からタイマタスク処理の実行時間を除いたタイマ周期余剰時間において、イベントタスク処理を実行しており、
タイマタスク処理の実行中においてタイマタスク処理よりも優先度の高いイベントタスク処理の要求があり、タイマ周期余剰時間が有限の場合、タイマタスク処理の実行を一次的に保留して、イベントタスク処理を実行する。
タイマ周期余剰時間が有限の場合、タイマ周期余剰時間においてイベントタスク処理を実行したとしても、タイマ周期内においてタイマタスク処理を実行し終えることができる。したがって上記したようにタイマタスク処理の実行中においてイベントタスク処理の要求があり、タイマ周期余剰時間が有限の場合、タイマタスク処理の実行を一次的に保留して、イベントタスク処理を実行する。これによれば、タイマ周期内においてタイマタスク処理を実行し終えることができるとともに、イベントタスク処理をタイマタスク処理に先行して実行することができる。
なお、特許請求の範囲に記載の請求項、および、課題を解決するための手段それぞれに記載の要素に括弧付きで符号をつけている。この括弧付きの符号は実施形態に記載の各構成要素との対応関係を簡易的に示すためのものであり、実施形態に記載の要素そのものを必ずしも示しているわけではない。括弧付きの符号の記載は、いたずらに特許請求の範囲を狭めるものではない。
第1実施形態に係る電子制御装置の概略構成を示すブロック図である。 電子制御装置の演算処理を説明するためのタイミングチャートである。 電子制御装置の演算処理を説明するためのタイミングチャートである。 電子制御装置の演算処理を説明するためのタイミングチャートである。 電子制御装置の演算処理を説明するためのタイミングチャートである。 電子制御装置の演算処理を説明するためのタイミングチャートである。 電子制御装置の演算処理を説明するためのタイミングチャートである。 電子制御装置の演算処理を説明するためのタイミングチャートである。 電子制御装置の演算処理を説明するためのタイミングチャートである。 電子制御装置の演算処理を説明するためのタイミングチャートである。 電子制御装置の演算処理を説明するためのタイミングチャートである。 電子制御装置の演算処理を説明するためのタイミングチャートである。 電子制御装置の演算処理を説明するためのタイミングチャートである。 電子制御装置の演算処理を説明するためのタイミングチャートである。 電子制御装置の演算処理を説明するためのタイミングチャートである。 電子制御装置の演算処理を説明するためのタイミングチャートである。 電子制御装置の演算処理を説明するためのタイミングチャートである。 電子制御装置の演算処理を説明するためのタイミングチャートである。 電子制御装置の演算処理を説明するためのタイミングチャートである。 電子制御装置の演算処理を説明するためのタイミングチャートである。 電子制御装置の演算処理を説明するためのタイミングチャートである。 電子制御装置の演算処理を説明するためのタイミングチャートである。 電子制御装置の演算処理を説明するためのタイミングチャートである。 キャリアタスクを説明するためのフローチャートである。 キャリア関連時間演算を説明するためのフローチャートである。 優先判定を説明するためのフローチャートである。 タイマタスク実行判定を説明するためのフローチャートである。 タイマタスクを説明するためのフローチャートである。 タイマタスク処理を説明するためのフローチャートである。 クリア処理を説明するためのフローチャートである。 電子制御装置の演算処理の変形例を説明するためのタイミングチャートである。 タイマタスク実行判定の変形例を説明するためのフローチャートである。 電子制御装置の演算処理の変形例を説明するためのタイミングチャートである。
以下、本発明に係る処理装置を、モータを制御する電子制御装置に適用した場合の実施形態を図に基づいて説明する。
(第1実施形態)
図1に示すように電子制御装置100はインバータ200と電気的に接続されている。そしてインバータ200はモータ300と電気的に接続されている。電子制御装置100はインバータ200を構成するスイッチ素子をPWM制御することで、モータ300のステータコイルに3相交流を流す。これによりステータコイルから3相回転磁界が発生し、モータ300のロータに回転トルクが発生する。この回転トルクによってモータ300の回転が促される、若しくは、妨げられる。なおモータ300は車両の出力軸に連結されている。したがって上記の回転トルクによって車両の推進力や制動力が発生される。
電子制御装置100は図示しない各種センサと電気的に接続されている。具体的に言えば電子制御装置100は電流センサや回転角センサなどと電気的に接続されている。電流センサは3相交流を検出する。回転角センサはロータの回転角を検出する。電子制御装置100はこれら電流センサや回転角センサの検出信号に基づいて、ロータに発生している回転トルク(以下、出力トルクと示す)を算出する。
図1に示すように電子制御装置100は上位ECU400と図示しないバス配線を介して通信可能となっている。上位ECU400はロータに発生させたい回転トルク(以下、目標トルクと示す)を電子制御装置100に通知する。電子制御装置100は目標トルクと出力トルクとの偏差を算出する。そして電子制御装置100は算出した偏差がゼロとなるように、インバータ200に出力するPWM信号のデューティ比を決定する。
上記したように電子制御装置100はインバータ200の制御、上位ECU400との通信を行う。また電子制御装置100は故障時などにおいてもそれに応じた処理を行う。以下においては、電子制御装置100によるインバータ200の制御をキャリアタスク処理と示す。また電子制御装置100による上位ECU400との通信をタイマタスク処理と示す。そして電子制御装置100による故障時の処理をイベントタスク処理と示す。
キャリアタスク処理とタイマタスク処理は周期的に行われる。キャリアタスク処理はキャリア周期内にて実行され終わらなければならない、という制約がある。同様にしてタイマタスク処理はタイマ周期内にて実行され終わらなければならない、という制約がある。キャリアタスク処理は最も優先度が高く、タイマタスク処理はキャリアタスク処理よりも優先度が低い。そしてキャリア周期はタイマ周期よりも周期が短い。
イベントタスク処理は突発的に行われる。イベントタスク処理としては複数種類あり、それぞれの優先度が異なる。本実施形態で説明するイベントタスク処理は、タイマタスク処理よりも優先度が高い。このように優先度の高いタイマタスク処理は、例えば電源喪失時におけるフリーズデータ保存がある。
電子制御装置100はキャリアタスク処理をキャリア周期内にて行う。キャリアタスク処理の実行時間はキャリア周期よりも短い。そのため電子制御装置100がキャリアタスク処理を実行し終わった後、キャリア周期内において余剰時間(以下、キャリア周期余剰時間と示す)が発生する。電子制御装置100はこのキャリア周期余剰時間において、タイマタスク処理とイベントタスク処理の少なくとも一方を実行する。
次に、図2〜図23に基づいて電子制御装置100のキャリアタスク処理、タイマタスク処理、および、イベントタスク処理それぞれを具体的に説明する。なお図面においては、下付き文字を用いて各種記号を表している。しかしながら本文中においては、下付き表記とすることで各種記号が不明りょうとなることを避けるため、下付き表記としていない。
図2〜図23それぞれの各種記号には記号nにかかわるインデックスが付与されている。これは、タイマタスク要求が起きた後のキャリア周期Ccycの順番を示している。なおインデックスmも図示している。これはタイマタスク要求が起きた時のキャリア周期Ccycを示している。また後述するようにインデックスmは、タイマタスク要求の終了する時のキャリア周期Ccycの順番も示している。
先ず図2〜図15に基づいて、キャリアタスク処理を行っている最中にタイマタスク要求があった場合の電子制御装置100の演算処理を説明する。以下に示す例では、図2に示すようにn=mのキャリア周期Ccycにおける、キャリアタスク処理の実行が終了した後のキャリア周期余剰時間Csurにて、タイマタスク要求Treqがオフからオンに切り換っている。そしてこの後のn=1のキャリア周期Ccyc1において電子制御装置100はキャリアタスク処理を実行し終わっている。図2〜図14ではこのキャリアタスク処理の終了タイミングでの電子制御装置100の演算処理を示している。そして図15では次のn=2のキャリアタスク処理の終了タイミングでの電子制御装置100の演算処理を示している。上記した各種終了タイミングは各図面においてキャリアタスク実行時間Cact1,Cact2に三角形を付与して示している。
なお上記したようにキャリアタスク処理はインバータ200の制御にかかわる処理である。電子制御装置100はこの処理を行った後に、下記に示すようにタイマタスク処理およびイベント処理にかかわる演算処理を実施する。図2〜図23では図面を明りょうとするため、下記に示すタイマタスク処理およびイベント処理にかかわる演算処理に要する時間を省略している。
図2に示すように電子制御装置100は、現時点のn=1のキャリア周期Ccyc1におけるキャリア周期余剰時間Csur1を算出する。下式に示すように電子制御装置100は、キャリア周期Ccyc1から実行済みのキャリアタスク実行時間Cact1を減算することで、キャリア周期余剰時間Csur1を算出する。
(数1)
Csur1=Ccyc1−Cact1
また図3に示すように電子制御装置100は、先のn=mのキャリア周期Ccycにおいてタイマタスク処理を実行したオフセット時間αを、タイマタスク処理済みの合計時間であるタイマタスク処理済時間合計TactSUMに格納する。すなわち電子制御装置100は、下式に示すように、現時点でのタイマタスク処理済時間合計TactSUMをオフセット時間αに設定する。
(数2)
TactSUM=α
図4に示すように電子制御装置100は、次のn=2のキャリア周期Ccyc2におけるキャリア周期余剰時間Csur2を算出する。電子制御装置100は外部信号とキャリア周期との相関マップを有している。電子制御装置100は外部信号と相関マップとに基づいて、次に行うキャリア周期Ccyc2をこの時点において決定している。また電子制御装置100は、キャリアタスク処理において実行時間の最も長いキャリアタスク最長時間CestMAXを記憶している。下式に示すように電子制御装置100は、キャリア周期Ccyc2からキャリアタスク最長時間CestMAXを減算することで、キャリア周期余剰時間Csur2を推定する。
(数3)
Csur2=Ccyc2−CestMAX
また図5に示すように電子制御装置100は、n=2のキャリア周期Ccyc2以降におけるキャリア周期も推定する。電子制御装置100はキャリアタスク最長時間CestMAXだけではなく、周期の最も短いキャリア最短周期CcycMINも記憶している。電子制御装置100は、キャリア周期Ccyc2以降におけるキャリア周期をキャリア最短周期CcycMINと推定する。また電子制御装置100は、下式に示すようにキャリア最短周期CcycMINからキャリアタスク最長時間CestMAXを減算することで、キャリア周期Ccyc2以降におけるキャリア周期余剰最短時間CsurMINを算出する。
(数4)
CsurMIN=CcycMIN−CestMAX
次に図6に示すように電子制御装置100は、現時点のn=1のキャリア周期Ccyc1における、タイマタスク処理の実行残り時間であるタイマタスク処理残時間Test1を算出する。電子制御装置100はタイマタスク処理に最大限かかる時間を、タイマタスク処理残時間Test0として予め記憶している。また上記したように電子制御装置100はタイマタスク処理済時間合計TactSUMを求めている。そこで下式に示すように電子制御装置100は、タイマタスク処理残時間Test0からタイマタスク処理済時間合計TactSUMを減算することで、現時点でのタイマタスク処理残時間Test1を算出する。
(数5)
Test1=Test0−TactSUM
図7に示すように電子制御装置100は、タイマ周期Tcyc中において、キャリア周期Ccycが幾つ含まれるのかを推定する。この場合、電子制御装置100は下式を演算することで、キャリア周期Ccycの含まれる数mを推定する。なお下式のRounddownは、小数点以下切り下げを意味している。図示例では、m=10としている。そして式中に含まれるCcycSUMは後述するキャリア周期合計であり、ここではCcyc1に等しい。以下においては、下式の(Tcyc−CcycSUM)/CcycMINから得られる小数点以下の数字をmaとする。
(数6)
m=Rounddown((Tcyc−CcycSUM)/CcycMIN)+1
図8に示すように電子制御装置100は、キャリアタスクの推定時間の合計(総時間)であるキャリアタスク推定時間合計CestSUMを算出する。n=1のキャリア周期Ccyc1において電子制御装置100はキャリアタスク処理を実行し終えている。そしてそのキャリアタスク実行時間はCact1である。またn=10(m)のキャリア周期Ccyc10におけるキャリア周期余剰時間にてタイマ周期Tcycが終了している。上記した少数点以下の数字maは、下記するようにn=10のキャリア周期におけるキャリアタスク実行時間βとキャリア周期余剰時間γとに依存している。ma≧CestMAX/CcycMINの場合、β=CestMAX、γ=CcycMIN×ma−βである。またこれとは異なりma<CestMAX/CcycMINの場合、β=CcycMIN×ma、γ=0である。
以上に示したようにタイマ周期Tcyc内の10回のキャリア周期Ccyc1〜Ccyc10のうち、n=1のキャリア周期Ccyc1ではキャリアタスク処理の実行時間がCact1で求められている。そしてn=10のキャリア周期Ccyc10ではキャリアタスク実行時間はβで求められる。したがって現時点でのタイマ周期Tcyc内においてキャリアタスク処理の実行する時間の合計である、キャリアタスク推定時間合計CestSUMは下式で表される。
(数7)
CestSUM=CestMAX×(10−1−1)+β
図9に示すように電子制御装置100は、現時点でのタイマ周期Tcyc内におけるキャリア周期余剰時間の合計(総時間)であるキャリア周期余剰時間合計CsurSUMを算出する。上記したように電子制御装置100はn=1,2におけるキャリア周期余剰時間Csur1,Csur2を算出し終えている。また電子制御装置100はn=10(m)におけるキャリア周期余剰時間γも算出し終えている。したがって現時点でのキャリアタスク周期余剰時間合計CsurSUMは下式で表される。
(数8)
CsurSUM=Csur1+Csur2+CsurMIN×(10−2−1)+γ
図10において、n=1のキャリア周期Ccyc1におけるキャリアタスク実行時間Cact1をキャリア周期余剰時間合計CsurSUMとキャリアタスク推定時間合計CestSUMとに同列で並べて示す。これにタイマタスク処理済時間合計TactSUMが加わることで、タイマ周期Tcycの内訳が完成する。
図11において、現時点でのタイマタスク処理残時間Test1の原点をキャリア周期余剰時間合計CsurSUMの原点とそろえて示す。すると、この両者の差が現時点におけるタイマ周期余剰時間Tsur1として浮かび上がる。このタイマ周期余剰時間Tsur1は、タイマ周期Tcyc内においてキャリアタスク処理とタイマタスク処理を行った結果、処理可能時間として最低限余ることの期待される余剰時間である。下式に示すように電子制御装置100は、キャリア周期余剰時間合計CsurSUMからタイマタスク処理残時間Test1を減算することで、現時点でのタイマ周期余剰時間Tsur1を算出する。
(数9)
Tsur1=CsurSUM−Test1
イベントタスク要求Ereqは未だオフである。したがって図12に破線で囲って示すように電子制御装置100は、n=1のキャリア周期Ccyc1におけるキャリア周期余剰時間Csur1にタイマタスク処理を割り当てることを決定する。
図13に示すように電子制御装置100は、n=1のキャリア周期Ccyc1におけるタイマタスク実行割合Trateを100%に設定する。次いで電子制御装置100は、下式で示すようにタイマタスク処理済時間合計TactSUMを更新する。下式の左辺のタイマタスク処理済時間合計TactSUMは更新後の値を示し、右辺のタイマタスク処理済時間合計TactSUMは更新前の値を示している。なお更新前のタイマタスク処理済時間合計TactSUMは数2で示されるようにオフセット時間αと等しい。
(数10)
TactSUM=TactSUM+Csur1×Trate1
図14に示すように電子制御装置100は、タイマ周期Tcycにおける消費時間を示すキャリア周期合計CcycSUMを更新する。下式に示すように電子制御装置100は、キャリアタスク実行時間Cact1とキャリア周期余剰時間Csur1とからキャリア周期合計CcycSUMを更新する。
(数11)
CcycSUM=Ccyc1=Cact1+Csur1
以上が、n=1のキャリア周期Ccyc1において電子制御装置100が行うキャリアタスクである。
次いで図15に、n=2のキャリア周期Ccyc2において電子制御装置100が行うキャリアタスクを示す。この場合に電子制御装置100は、キャリア周期Ccyc2におけるタイマタスク処理残時間Test2、キャリアタスク推定時間合計CestSUM、および、キャリア周期余剰時間合計CsurSUMそれぞれを算出する。そして電子制御装置100は、これらによりタイマ周期余剰時間Tsur2を算出する。以下、詳説しないが、電子制御装置100はn=1の場合と同様にして、タイマタスク実行割合Trate2を100%に設定し、タイマタスク処理済時間合計TactSUMとキャリア周期合計CcycSUMそれぞれを更新する。
kを1以上m以下の自然数とすると、n=kにおける電子制御装置100の各種演算式は、下式にまとめて示すことができる。これらは、図23にまとめて示される。
(数12)
Csurk=Ccyck−Cactk
(数13)
Csur(k+1)=Ccyc(k+1)−CestMAX
(数14)
CsurMIN=CcycMIN−CestMAX
(数15)
Testk=Test0−TactSUM
(数16)
m=Rounddown((Tcyc−CcycSUM)/CcycMIN)+k
(数17)
CestSUM=CestMAX×(m−1−k)+β
(数18)
CsurSUM=Csurk+Csur(k+1)+CsurMIN×(m−2−k)+γ
(数19)
Tsurk=CsurSUM−Testk
(数20)
TactSUM=TactSUM+Csurk×Tratek
(数21)
CcycSUM=CcycSUM+Ccyck
なお、上記した一般式の左辺のタイマタスク処理済時間合計TactSUMとキャリア周期合計CcycSUMそれぞれは更新後の値を示す。そして右辺のタイマタスク処理済時間合計TactSUMとキャリア周期合計CcycSUMそれぞれは更新前の値を示す。タイマタスク処理済時間合計TactSUMの初期値はオフセット時間αである。キャリア周期合計CcycSUMの初期値はゼロである。そして特許請求の範囲との対応関係としては、数18が数101に相当する。数12が数102に相当する。数13が数103に相当する。数14が数104に相当する。数15が数106に相当する。数16が数105に相当する。
次に、図16〜図19に基づいて、キャリアタスク処理とタイマタスク処理を行っている最中にイベントタスク要求があった場合の電子制御装置100の演算処理を説明する。
以下に示す例では、図16に示すように、n=3のキャリア周期Ccyc3においてイベントタスク要求Ereqがオフからオンに切り換っている。図16と図17はキャリア周期Ccyc3におけるキャリアタスク処理Cact3の終了タイミングでの電子制御装置100の演算処理を示している。また図18はn=4のキャリア周期Ccyc4におけるキャリアタスク処理Cact4の終了タイミングでの電子制御装置100の演算処理を示している。そして図19はイベントタスク要求Ereqがオンからオフに切り換ったn=6のキャリア周期Ccyc6におけるキャリアタスク処理Cact6の終了タイミングでの電子制御装置100の演算処理を示している。
図16に示すように、タイマタスク要求Treqだけではなくイベントタスク要求Ereqもオンになっている。したがって電子制御装置100はn=3のキャリア周期余剰時間Csur3におけるタイマタスクとイベントタスクそれぞれの実行割合を決定する。タイマタスクの実行割合とイベントタスクの実行割合の和は100%で表される。したがってこれら2つの実行割合を決定することは、タイマタスク実行割合Trate3の値を決定することに相当する。
n=2まではタイマタスク要求Treqだけがオンとなっていた。そのためにタイマタスク実行割合Trate1,Trate2それぞれは100%となっていた。しかしながらタイマタスク実行割合Trate3は、イベントタスク要求Ereqがオンになると、タイマ周期余剰時間Tsur3の値によっては変化することとなる。
図17に示すように電子制御装置100は、n=3のキャリア周期Ccyc3においてキャリア周期余剰時間Csur3をイベントタスク処理に割り当てた場合のタイマ周期余剰時間Tsurp3を算出する。この新たなタイマ周期余剰時間Tsurp3は、下式で表すことができる。
(数22)
Tsurp3=Tsur3−Csur3
新たなタイマ周期余剰時間Tsurp3が0以上の場合、キャリア周期余剰時間Csur3においてイベントタスク処理を実行したとしても、タイマ周期Tcyc内においてタイマタスク処理を実行し終えることを示している。したがってこの場合に電子制御装置100は、図18に示すようにタイマタスク実行割合Trate3を0%にする。これによりイベントタスク実行割合は100%になる。
以後、電子制御装置100はキャリア周期余剰時間合計CsurSUMとタイマ周期余剰時間Tsurとに基づいて、新たなタイマ周期余剰時間Tsurpを算出する。そして電子制御装置100は新たなタイマ周期余剰時間Tsurpが0以上の場合にタイマタスク実行割合Trateを0%にし続ける。これによりイベントタスク実行割合が100%になり、電子制御装置100はキャリア周期余剰時間Csurにおいてイベントタスク処理を実行する。
図19に示すようにn=5のキャリア周期Ccyc5においてイベントタスク要求Ereqがオンからオフに切り換る。したがってこの後のキャリア周期Ccyc6以降において電子制御装置100はタイマタスク実行割合Trateを100%に戻し、タイマタスク処理をキャリア周期余剰時間において実行する。
なお図19ではキャリア周期余剰時間Csur5の途中でイベントタスク要求Ereqがオフに切り換っているが、キャリア周期余剰時間Csur5においてタイマタスク実行割合Trate5は0%に固定されるように図示している。これは、イベントタスク要求Ereqのオンへの切り換わりタイミングが、キャリアタスクの終了後だからである。すなわち、イベントタスク要求Ereqのオンへの切り換わりタイミングが、タイマタスク実行割合Trateの決定後だからである。
図19に示すようにタイマ周期余剰時間Tsur6は、イベントタスク処理の実行のために以前のタイマ周期余剰時間Tsur1〜Tsur5よりも短くなっているが、未だに有限である。したがって図20に示すように電子制御装置100は、タイマ周期Tcycの終了までにタイマタスク処理を終えることが可能となっている。
なお図19においては、キャリア周期Ccyc5においてイベントタスク要求Ereqがオンからオフに切り換わる例を示した。しかしながらこれとは異なり、例えば図21に示すようにキャリア周期余剰時間Csur3〜Csur5それぞれにおいてイベントタスク処理を行ったとしても、イベントタスク要求Ereqがオンからオフへと切り換わらない場合も起こり得る。そしてこの場合においてタイマ周期余剰時間Tsur6が著しく短くなることも起こり得る。すなわちタイマ周期余剰時間Tsur6がキャリア周期余剰時間Csur6よりも短くなったり、ゼロになったりすることも起こり得る。
このような場合に電子制御装置100は、図22に示すようにイベントタスク処理を一次的に保留して、タイマタスク処理を実行する。これにより電子制御装置100はタイマ周期Tcyc内においてタイマタスク処理を実行し終える。そして電子制御装置100は、タイマタスク処理を実行し終えた後に再びイベントタスク処理を実行する。なおn=10のキャリア周期余剰時間Csur10におけるタイマタスク実行割合Trate10は、この場合Test10×100/Csur10に設定される。
以上に示したように電子制御装置100は、タイマタスク要求Treqとイベントタスク要求Ereqの両方が起こった場合、タイマ周期余剰時間に基づいて、タイマタスク処理とイベントタスク処理の少なくとも一方を行う。なおこれまでに図2〜図22を用いて説明したキャリアタスク処理、タイマタスク処理、および、イベントタスク処理に対する電子制御装置100の演算処理は、例えば図23に示すように一般化してまとめて示すことができる。
次に、図24に基づいて電子制御装置100のキャリアタスクを説明する。このキャリアタスクは、上記したインバータ200の制御にかかわるキャリアタスク処理の他に、タイマタスク処理およびイベント処理にかかわる演算処理を含んでいる。簡単に言えば、このキャリアタスクは上記した数12〜数22にかかわる演算処理やタイマタスク実行割合Trateの演算処理を含んでいる。
図24に示すステップS10において電子制御装置100は、キャリアタスクの始めにオフセット時間αを計測して、タイマタスク処理済時間合計TactSUMに格納する。そして電子制御装置100はステップS20へと進む。オフセット時間αの具体的な計測方法については、後述する。
ステップS20へ進むと電子制御装置100は、キャリアタスク処理を実行する。この際に電子制御装置100は、キャリアタスク実行時間Cactを計測する。このキャリアタスク実行時間Cactの計測は、電子制御装置100の内部クロックをカウントすることで行ってもよい。若しくは、キャリアタスク処理の各種処理にかかる時間を電子制御装置100が予め記憶しておく。そして電子制御装置100はキャリアタスク処理における条件分岐を検出する。電子制御装置100は条件分岐に基づいてキャリアタスク処理において実行した各種処理を選び出し、その選び出した各種処理の時間を加算することで、キャリアタスク実行時間を計測してもよい。なお電子制御装置100がキャリアタスク実行時間にかかわるマップを有し、そのマップに含まれる値の探索処理が上記の各種処理に含まれることもある。その場合に電子制御装置100は、マップに含まれる値の探索時間を入力信号に基づいて検出する。この際に電子制御装置100は線形補完を行ってもよい。探索時間の次に電子制御装置100は探索回数を検出する。最後に電子制御装置100は探索時間に探索回数を乗算することで、そのマップの値検出にかかわる処理時間を算出する。この後に電子制御装置100はステップS30へ進む。
ステップS30へ進むと電子制御装置100は、タイマタスク要求Treqがオンか否かを判定する。タイマタスク要求Treqがオンの場合、電子制御装置100はステップS40へと進む。これとは異なりタイマタスク要求Treqがオフの場合、電子制御装置100はステップS50へと進む。
ステップS40へ進むと電子制御装置100は、キャリア関連時間を演算する。このキャリア関連時間演算は、上記した数12〜数20に示す演算に相当する。キャリア関連時間については後で詳説する。この後に電子制御装置100はステップS60へと進む。
ステップS60へ進むと電子制御装置100は、イベントタスク要求Ereqがオンか否かを判定する。イベントタスク要求Ereqがオンの場合、電子制御装置100はステップS70へと進む。これとは異なりイベントタスク要求Ereqがオフの場合、電子制御装置100はステップS80へと進む。
ステップS70へ進むと電子制御装置100は、優先判定を行う。この優先判定は後で詳説する。この後に電子制御装置100はキャリアタスクを終了する。
ステップS80へ進むと電子制御装置100は、タイマタスク実行割合Trateを100%にする。この後に電子制御装置100はステップS90へと進む。
ステップS90へ進むと電子制御装置100は、タイマタスク処理済時間合計TactSUMを更新する。このタイマタスク処理済時間合計TactSUMの更新は、上記した数20によって示される。
ステップS100へ進むと電子制御装置100は、キャリア周期合計CcycSUMを更新する。このキャリア周期合計CcycSUMの更新は、上記した数21によって示される。この後に電子制御装置100はキャリアタスクを終了する。
フローを遡り、ステップS30においてタイマタスク要求Treqがオフと判定してステップS50へ進むと電子制御装置100は、イベントタスク要求Ereqがオンか否かを判定する。イベントタスク要求Ereqがオンの場合、電子制御装置100はステップS110へと進む。これとは異なりイベントタスク要求Ereqがオフの場合、電子制御装置100はステップS120へと進む。
ステップS110へ進むと電子制御装置100は、タイマタスク実行割合Trateを0%にする。これによりイベントタスク実行割合が100%になる。この後に電子制御装置100はキャリアタスクを終了する。
ステップS120へ進むと電子制御装置100は、タイマタスク実行割合Trateを100%にする。この後に電子制御装置100はキャリアタスクを終了する。
以上に示したように電子制御装置100は、タイマタスク要求Treqとイベントタスク要求Ereqそれぞれがオフの場合、キャリアタスク処理を実行しつつ、タイマタスク実行割合Trateを100%とする。これはつまり、タイマタスク実行割合Trateは初期値として100%に設定されることを意味している。
また電子制御装置100は、タイマタスク要求Treqがオンであり、イベントタスク要求Ereqがオフの場合、キャリアタスク処理を実行しつつ、キャリア関連時間演算を行う。そして電子制御装置100はタイマタスク実行割合Trateを100%に設定し、タイマタスク処理済時間合計TactSUMとキャリア周期合計CcycSUMそれぞれを更新する。
電子制御装置100は、タイマタスク要求Treqがオフであり、イベントタスク要求Ereqがオンの場合、キャリアタスク処理を実行しつつ、タイマタスク実行割合Trateを0%としてイベントタスク処理を実行する。
電子制御装置100は、タイマタスク要求Treqとイベントタスク要求Ereqそれぞれがオンの場合、キャリアタスク処理を実行しつつ、キャリア関連時間演算を行う。そして電子制御装置100は優先判定を行い、優先判定結果に基づいてタイマタスク処理およびイベント処理の少なくとも一方を実行する。
次に、図25に基づいてステップS40のキャリア関連時間演算を説明する。
先ずステップS41において電子制御装置100は数12〜数14を演算してキャリア周期余剰時間Csurk、Csur(k+1)、CsurMINを算出する。そして電子制御装置100はステップS42へと進む。
ステップS42へ進むと電子制御装置100は数20を演算してタイマタスク処理済時間合計TactSUMを算出する。そして電子制御装置100はステップS43へと進む。なおタイマタスク処理済時間合計TactSUMはn=1においてオフセット時間αに設定される。そしてnが2以上の場合にタイマタスク実行割合Trateが演算において必要になるが、これはn=1のキャリア周期Ccyc1におけるステップS70、S110、S120のいずれかにおいて設定されている。したがってこのステップS42において電子制御装置100は、実質的にはタイマタスク処理済時間合計TactSUMを算出するのではなく、読み出すこととなる。
ステップS43へ進むと電子制御装置100は数16を演算してタイマ周期Tcyc内においてキャリア周期Ccycの含まれる数mを算出する。換言すれば電子制御装置100はタイマタスクに対するキャリアタスクの割り込み予定回数を算出する。そして電子制御装置100はステップS44へと進む。
ステップS44へ進むと電子制御装置100は数17を演算してキャリアタスク推定時間合計CestSUMを算出する。そして電子制御装置100はステップS45へと進む。
ステップS45へ進むと電子制御装置100は数18を演算してキャリア周期余剰時間合計CsurSUMを算出する。そして電子制御装置100はステップS46へと進む。
ステップS46へ進むと電子制御装置100は数15を演算してタイマタスク処理残時間Testkを算出する。そして電子制御装置100はステップS47へと進む。
ステップS47へ進むと電子制御装置100は数19を演算してタイマ周期余剰時間Tsurkを算出する。そして電子制御装置100はステップS40のキャリア関連時間演算を終える。
次に、図26に基づいてステップS70の優先判定を説明する。優先判定は、ステップS71〜ステップS73を有する。これらのうちステップS72はステップS90と同じく、タイマタスク処理済時間合計TactSUMの更新である。またステップS73はステップS100と同じく、キャリア周期合計CcycSUMの更新である。したがって以下においてはステップS71を説明する。
ステップS71は、タイマタスク実行判定である。図27に示すようにタイマタスク実行判定は、ステップS74〜ステップS76を有する。電子制御装置100は先ずステップS74において、n=kのキャリア周期Ccyckにおけるキャリア周期余剰時間Csurkはタイマ周期余剰時間Tsurk以下か否かを判定する。換言すれば、数22に示されるように、タイマ周期余剰時間Tsurkからキャリア周期余剰時間Csurkを減算することで得られる新たなタイマ周期余剰時間Tsurpkが0以上か否かを判定する。新たなタイマ周期余剰時間Tsurpkが0以上の場合、電子制御装置100はキャリア周期余剰時間Csurkの全時間においてイベントタスク処理を行ってもタイマ周期余剰時間Tsurは0以上であると判定して、ステップS75へと進む。これとは異なり新たなタイマ周期余剰時間Tsurpkが負の場合、電子制御装置100はキャリア周期余剰時間Csurkの全時間においてイベントタスク処理を行うとタイマ周期余剰時間Tsurが負になると判定して、ステップS76へと進む。
ステップS75へ進むと電子制御装置100はタイムタスク実行割合Tratekを0%にする。これによりイベントタスク実行割合を100%に設定する。そして電子制御装置100はステップS71を終了する。
ステップS76へ進むと電子制御装置100はタイムタスク実行割合Tratekを、キャリア周期余剰時間Csurkによってタイマタスク処理残時間Testkを割った値に100を乗算した値にする。これによりキャリア周期Ccyckにおけるタイマタスク処理の実行時間がタイマタスク処理残時間となる。この処理時間については例えば図22において明示している。この処理によって電子制御装置100はステップS71を終了する。
ここまではキャリアタスクについての説明であった。以下においては、図28〜図30に基づいてタイマタスクを説明する。
図28に示すステップS210において電子制御装置100は、先ずタイマタスク処理残時間Test0を求める。本実施形態において電子制御装置100はタイマタスク処理残時間Test0を、タイマタスク処理に最大限かかる時間として予め記憶している。したがって電子制御装置100はステップS210においてタイマタスク処理残時間Test0を読み出す。この後に電子制御装置100はステップS220へと進む。
なおタイマタスク処理残時間Test0は、下記に示す方法によって検出してもよい。すなわち電子制御装置100は、タイマタスク処理の各種処理にかかる時間を予め記憶しておく。そして電子制御装置100はタイマタスク処理における条件分岐を推定する。電子制御装置100は条件分岐に基づいてタイマタスク処理において実行する各種処理を選び出し、その選び出した各種処理の時間を加算する。こうすることで電子制御装置100は、タイマタスク処理残時間Test0を計測してもよい。なお電子制御装置100がタイマタスク処理残時間Test0にかかわるマップを有し、そのマップに含まれる値の探索処理が上記の各種処理に含まれることもある。その場合に電子制御装置100は、マップに含まれる値の探索時間を入力信号に基づいて検出する。この際に電子制御装置100は線形補完を行ってもよい。探索時間の次に電子制御装置100は探索回数を検出する。最後に電子制御装置100は探索時間に探索回数を乗算することで、そのマップの値検出にかかわる処理時間を算出する。
ステップS220へ進むと電子制御装置100は、タイマタスク処理を実行する。このタイマタスク処理は、これまでに説明してきたように、キャリア周期余剰時間において実行される。図2〜図23に明示してきたように、タイマタスク処理が1度のキャリア周期内のキャリア周期余剰時間内において終了しない場合、次のキャリア周期のキャリア周期余剰時間内において実行される。このようにタイマタスク処理は開始から終了までの間に何度も実行と中断とを繰り返す。このタイマタスク処理については後で図29に基づいて説明する。タイマタスク処理の全てが終了すると、電子制御装置100はステップS230へと進む。
ステップS230へ進むと電子制御装置100は、クリア処理を実行する。このクリア処理については、後で図30に基づいて説明する。このクリア処理を行うと、電子制御装置100はタイマタスクを終了する。
次に、図29に基づいてタイマタスク処理を説明する。タイマタスク処理は、図29に示すように処理A〜処理Dによって構成されているとする。そして電子制御装置100は後述の処理進捗カウンタを有している。
ステップS221において電子制御装置100は、先ず処理Aを実行する。この処理Aの実行が終了すると電子制御装置100はステップS222へと進む。
ステップS222へ進むと電子制御装置100は、処理進捗カウンタを1だけインクリメントする。これにより電子制御装置100はタイマタスクの処理Aが終了したことを記憶する。この後に電子制御装置100はステップS223へと進む。
以下同様にして、ステップS223へ進むと電子制御装置100は処理Bを実行する。処理Bの実行が終了すると電子制御装置100はステップS224へと進む。
ステップS224へ進むと電子制御装置100は、処理進捗カウンタを1だけインクリメントする。これにより処理進捗カウンタが2となり、電子制御装置100はタイマタスクの処理Bが終了したことを記憶する。この後に電子制御装置100はステップS225へと進む。
ステップS225へ進むと電子制御装置100は処理Cを実行する。処理Cの実行が終了すると電子制御装置100はステップS226へと進む。
ステップS226へ進むと電子制御装置100は、処理進捗カウンタを1だけインクリメントする。これにより処理進捗カウンタが3となり、電子制御装置100はタイマタスクの処理Cが終了したことを記憶する。この後に電子制御装置100はステップS227へと進む。
ステップS227へ進むと電子制御装置100は処理Dを実行する。処理Dの実行が終了すると電子制御装置100はステップS228へと進む。
ステップS228へ進むと電子制御装置100は、処理進捗カウンタをクリアする。これにより処理進捗カウンタがゼロとなり、電子制御装置100はタイマタスク処理が終了したと判定する。以上のステップS221〜S228を実行することで電子制御装置100はステップS220を終了する。
なお上記したように電子制御装置100はタイマタスク要求Treqがオンになったキャリア周期において、オフセット時間αを計測する。例えば電子制御装置100が、処理A〜Dの演算時間を予め記憶している場合、オフセット時間αを、処理進捗カウンタの値によって計測してもよい。図29においてはタイマタスク処理が処理A〜処理Dの4つしかなく、処理進捗カウンタの値の上限値が3である例を示した。しかしながらこの処理数をより細かく分けて、処理進捗カウンタの上限値もより大きくすれば、オフセット時間αの検出分解能を高めることができる。なおオフセット時間αは、これとは異なり、電子制御装置100の内部クロックに基づいて計測してもよい。
次に、図30に基づいてクリア処理を説明する。電子制御装置100は先ずステップS231においてタイマタスク要求Treqをオンからオフにする。この後に電子制御装置100はステップS232へと進む。
ステップS232へ進むと電子制御装置100は、タイマタスク処理済時間合計TactSUMをゼロにクリアする。この後に電子制御装置100はステップS233へと進む。
ステップS233へ進むと電子制御装置100は、タイマタスク処理残時間Testをゼロにクリアする。以上のステップS231〜S233を実行することで電子制御装置100はステップS230を終了する。
次に、本実施形態に係る電子制御装置100の作用効果を説明する。上記したように電子制御装置100は、タイマタスク要求Treqがオンの場合、タイマ周期余剰時間Tsurを算出する。タイマ周期余剰時間Tsurが有限の場合、タイマ周期Tcyc内のキャリア周期余剰時間Csurにおいて、タイマタスク処理の全てを実行したとしても、タスク処理を行うことのできる時間があまることを示す。したがってタイマタスク要求Treqだけではなくイベントタスク要求Ereqがオンであり、タイマ周期余剰時間Tsurが有限の場合、電子制御装置100はタイマタスク実行割合Trateを100%から低下させる。これにより電子制御装置100はイベントタスク実行割合をゼロから有限の値に変化させる。これによれば、タイマ周期Tcyc内においてタイマタスク処理を実行し終えることができるとともに、イベントタスク処理をタイマタスク処理に先行して実行することができる。
電子制御装置100は、タイマタスク要求Treqとイベントタスク要求Ereqがオンであり、タイマ周期余剰時間Tsurがキャリア周期余剰時間Csur以上の場合、タイマタスク実行割合を0%にし、イベントタスク実行割合を100%にする。この場合、そのキャリア周期余剰時間Csurの全時間をイベントタスク処理に割り当てたとしても、タイマ周期余剰時間Tsurは0以上となる。そのため上記したようにイベントタスク処理の実行割合を100%にしても、タイマ周期Tcyc内においてタイマタスク処理を実行し終えることができる。
数13に示すように、n=k+1のキャリア周期におけるキャリア周期余剰時間Csur(k+1)を、n=k+1のキャリア周期Ccyc(k+1)からキャリアタスク最長時間CestMAXを減算することで算出している。また数14に示すように、n=k+2以降のキャリア周期におけるキャリア周期余剰時間を、キャリア最短周期CcycMINからキャリアタスク最長時間CestMAXを減算することで算出している。これによりタイマ周期余剰時間Tsurkは、タイマ周期Tcyc内においてキャリアタスク処理とタイマタスク処理を行った結果、処理可能時間として最低限余ることの期待される余剰時間となっている。したがってタイマ周期余剰時間Tsurkが有限である限り、その時間内においてイベントタスク処理を行っても、タイマ周期Tcyc内においてタイマタスク処理を実行し終えることができる。
以上、本発明の好ましい実施形態について説明したが、本発明は上記した実施形態になんら制限されることなく、本発明の主旨を逸脱しない範囲において、種々変形して実施することが可能である。
(第1の変形例)
本実施形態では処理装置を、モータ300を制御する電子制御装置100に適用した例を示した。しかしながら処理装置の適用としては上記例に限定されず、例えばエンジンを制御するエンジンECUに適用することができる。なお処理装置が提供する手段、機能、方法、および、プログラムなどは、実体的なメモリ装置や非遷移的実体的記録媒体に記録されたソフトウェアおよびそれを実行するコンピュータ、ソフトウェアのみ、ハードウェアのみ、あるいはそれらの組合せによって提供することができる。例えば、処理装置がハードウェアである電子回路によって提供される場合、それは多数の論理回路を含むデジタル回路、またはアナログ回路によって提供することができる。
(第2の変形例)
本実施形態では、タイマタスク処理よりも優先度の高いイベントタスク処理(以下、第1イベントタスク処理と示す)の要求があった場合の電子制御装置100の演算処理を説明した。しかしながらイベントタスク処理としては、タイマタスク処理よりも優先度の低いイベントタスク処理(以下、第2イベントタスク処理と示す)もある。電子制御装置100は、タイマタスク要求だけではなく、第1イベントタスク処理の要求と第2イベントタスク処理それぞれの要求が同時にあった場合、第1イベントタスク処理の実行割合を有限とし、第2イベントタスク処理の実行割合をゼロとする。これによれば、優先度の高い第1イベントタスク処理を、優先度の低い第2イベントタスク処理よりも先に処理することができる。なお複数のイベントタスク処理の実行割合の内の1つを有限にした場合、他のイベントタスク処理の実行割合はゼロになる。またタイマタスク要求と第2イベントタスク処理の要求があった場合、電子制御装置100はタイマタスク処理が実行され終わるまで第2イベントタスク処理の実行割合をゼロにする。電子制御装置100はタイマタスク処理が実行され終わると、第2イベントタスク処理の実行割合を100%にする。第2イベントタスク処理は、例えばダイアグ情報の送信要求である。
(第3の変形例)
本実施形態では、図27に示すように、タイマタスク実行判定において電子制御装置100は、n=kのキャリア周期Ccyckにおけるキャリア周期余剰時間Csurkがタイマ周期余剰時間Tsurkよりも大きい場合に、ステップS76を実行する例を示した。ステップS76において電子制御装置100は、タイムタスク実行割合Tratekを、キャリア周期余剰時間Csurkによってタイマタスク処理残時間Testkを割った値に100を乗算した値にする。
これとは異なり、例えば図32に示すように、n=kのキャリア周期Ccyckにおけるキャリア周期余剰時間Csurkがタイマ周期余剰時間Tsurkよりも大きい場合に、電子制御装置100はステップS77を実行してもよい。ステップS77において電子制御装置100は、タイムタスク実行割合Tratekを100%にする。これによりイベントタスク実行割合を0%にしてもよい。なおこの場合、タイマタスク実行割合Trateではなく、単にタイムタスク処理を実行するのか否かを決定するタイマタスクフラグを切り換えるようにしてもよい。同様にして、イベントタスク実行割合ではなく、単にイベントタスク処理を実行するのか否かを決定するイベントタスクフラグを切り換えるようにしてもよい。フラグがオンの場合に実行割合が100%になり、オフの場合に実行割合が0%になる。
(第4の変形例)
本実施形態では、電子制御装置100がキャリアタスク処理、タイマタスク処理、および、イベントタスク処理を行う例を示した。しかしながら電子制御装置100は、タイマタスク処理とイベントタスク処理のみを行ってもよい。この場合に電子制御装置100は、タイマ周期をタイマタスク処理とイベントタスク処理に割り当てる。
先ず電子制御装置100はタイマタスクを行う際に、タイマ周期Tcycからタイマタスク処理残時間Test0を減算して、タイマ周期余剰時間Tsurを算出する。そして電子制御装置100は、タイマ周期余剰時間Tsurが有限であり、例えば図33に示すようにタイマタスク処理を実行している最中にイベントタスク要求Ereqがオンになると、タイマ周期余剰時間Tsurをイベントタスク処理に割り当てることを決定する。このイベントタスクがタイマタスクよりも優先度が高い場合、電子制御装置100は一時的にタイマタスク処理の実行を保留して、イベントタスク処理を優先して実行する。タイマ周期余剰時間内においてイベントタスク要求がオフになると、電子制御装置100は再びタイマタスク処理を実行する。この場合タイマ周期余剰時間Tsurは有限なので、電子制御装置100はタイマ周期Tcyc内においてタイマタスク処理を実行し終えることができる。図33では、タイマ周期余剰時間Tsurとイベントタスク実行時間Eactとが等しいとして図示している。
なお、イベントタスク処理の実行によってタイマ周期余剰時間Tsurがゼロになったとしても、イベントタスク要求Ereqがオンからオフに切り換らないことも起こり得る。その場合に電子制御装置100は、実行していたイベントタスク処理を一時的に保留して、タイマタスク処理を再び実行する。そして次のタイマ周期Tcyc内において、電子制御装置100はイベントタスク処理を実行する。なおタイマタスク要求Treqが所定周期を空けて実行される場合、電子制御装置100はタイマタスク要求Treqがオフになった後の所定周期において、イベントタスク処理を実行する。
(その他の変形例)
本実施形態ではオフセット時間αを計測して、タイマタスク処理済時間合計TactSUMに格納する例を示した。しかしながらオフセット時間αは端数なので、図31に示すように無視してゼロに設定してもよい。この場合、演算処理が簡素化される。
本実施形態では、n=mのキャリア周期におけるキャリアタスク実行時間βとキャリア周期余剰時間γとを具体的に算出する例を示した。しかしながらβとγそれぞれは端数なので、図31に示すように無視してゼロと設定してもよい。この場合、演算処理が簡素化される。
本実施形態では、n=k+1のキャリア周期におけるキャリア周期余剰時間Csur(k+1)をキャリアタスク最長時間CestMAXに基づいて推定する例を示した。またn=k+2以降のキャリア周期におけるキャリア周期余剰時間を、キャリア最短周期CcycMINとキャリアタスク最長時間CestMAXとに基づいて推定する例を示した。しかしながら、例えば電子制御装置100の搭載される車両の走行状態が一定で、モータ300の駆動状態も一定であることが予測される場合、n=k+1以降のキャリア周期余剰時間を、キャリア周期余剰最短時間以上、n=kのキャリア周期余剰時間Csurk以下の値に設定してもよい。このように、n=k+1以降のキャリア周期余剰時間の推定は、固定値を用いるのではなく、車両の運転状況などに応じて変化させてもよい。またその車両の走行状態からの変化率が分かる場合、一定状態時に推定したキャリア周期余剰時間に、その変化率を乗算することで、n=k+1以降のキャリア周期余剰時間の推定を行ってもよい。
100…電子制御装置
Ccyc…キャリア周期
Cact…キャリアタスク実行時間
Csur…キャリア周期余剰時間
Test…タイマタスク処理残時間
CestSUM…キャリアタスク推定時間合計
CsurSUM…キャリア周期余剰時間合計
Tsur…タイマ周期余剰時間
TactSUM…タイマタスク処理済時間合計
CcycSUM…キャリア周期合計

Claims (19)

  1. タスク処理を実行する処理装置(100)であって、
    前記タスク処理としては、タイマ周期毎に実行するタイマタスク処理、および、突発的に実行するイベントタスク処理があり、
    前記タイマ周期における前記タイマタスク処理の実行に割り当てることのできる時間から前記タイマタスク処理の実行時間を除いたタイマ周期余剰時間において、前記イベントタスク処理を実行しており、
    前記タイマタスク処理の実行中において前記タイマタスク処理よりも優先度の高い前記イベントタスク処理の要求があり、前記タイマ周期余剰時間が有限の場合、前記タイマタスク処理の実行を一次的に保留して、前記イベントタスク処理を実行する処理装置。
  2. 前記タスク処理としては、前記タイマタスク処理と前記イベントタスク処理の他に、前記タイマ周期よりも周期の短いキャリア周期毎に実行するキャリアタスク処理があり、
    前記キャリア周期における前記キャリアタスク処理の実行時間を除いたキャリア周期余剰時間が、前記タイマタスク処理の実行に割り当てることのできる時間に相当し、
    前記キャリア周期余剰時間において、前記タイマタスク処理および前記イベントタスク処理の少なくとも一方を実行しており、
    前記タイマタスク処理の要求がある場合、前記キャリア周期毎に、前記タイマ周期内における前記キャリア周期余剰時間の総時間であるキャリア周期余剰時間合計の推定と更新、および、前記タイマタスク処理を実行し終えるのに要する時間であるタイマタスク処理残時間の算出と更新を行うとともに、前記キャリア周期余剰時間合計から前記タイマタスク処理残時間を減算することで前記タイマ周期余剰時間の算出と更新を行い、
    前記タイマタスク処理の要求と、前記タイマタスク処理よりも優先度の高い前記イベントタスク処理の要求とがあり、前記タイマ周期余剰時間が有限の場合、前記キャリア周期余剰時間における前記イベントタスク処理の実行割合を有限とし、前記タイマタスク処理の実行割合を100%よりも低める請求項1に記載の処理装置。
  3. 前記タイマ周期余剰時間の更新時における前記キャリア周期余剰時間が、更新した前記タイマ周期余剰時間以下であり、前記イベントタスク処理の要求がある場合、前記イベントタスク処理の実行割合を100%にし、前記タイマタスク処理の実行割合を0%にする請求項2に記載の処理装置。
  4. 前記タイマ周期余剰時間の更新時における前記キャリア周期余剰時間が、更新した前記タイマ周期余剰時間よりも長く、前記イベントタスク処理の要求がある場合、前記タイマタスク処理の実行割合を、更新した前記タイマタスク処理残時間に100を乗算し、それを更新した前記キャリア周期余剰時間で割った値にし、前記イベントタスク処理の実行割合を100から前記タイマタスク処理の実行割合を減算した値に設定する請求項3に記載の処理装置。
  5. 前記タイマ周期余剰時間の更新時における前記キャリア周期余剰時間が、更新した前記タイマ周期余剰時間よりも長く、前記イベントタスク処理の要求がある場合、前記イベントタスク処理の実行割合を0%にし、前記タイマタスク処理の実行割合を100%にする請求項3に記載の処理装置。
  6. 前記イベントタスク処理の要求として、前記タイマタスク処理よりも優先度の高い第1イベントタスク要求と、前記タイマタスク処理よりも優先度の低い第2イベントタスク要求と、があり、
    前記タイマタスク処理の要求と、前記第1イベントタスク要求と前記第2イベントタスク要求それぞれが同時にあり、前記タイマ周期余剰時間が有限の場合、前記キャリア周期余剰時間における前記第1イベントタスク要求に対する前記イベントタスク処理の実行割合を有限とし、前記第2イベントタスク要求に対する前記イベントタスク処理の実行割合をゼロとする請求項2〜5いずれか1項に記載の処理装置。
  7. 前記タイマタスク処理の要求が起きた後に開始される前記キャリア周期の順番をn、前記タイマ周期内において実施される前記キャリア周期の数をm、1以上m以下の自然数をk、k番目の前記キャリア周期における前記キャリア周期余剰時間をCsurk、最も時間の短い前記キャリア周期であるキャリア周期余剰最短時間をCsurMIN、n=mにおける前記キャリア周期余剰時間をγ、前記キャリア周期余剰時間合計をCsurSUMとすると、n=kの前記キャリア周期において、
    (数101)
    CsurSUM=Csurk+Csur(k+1)+CsurMIN×(m−2−k)+γ
    を計算することで、前記キャリア周期余剰時間合計を推定して更新する請求項2〜6いずれか1項に記載の処理装置。
  8. n=kの前記キャリア周期をCcyck、n=kの前記キャリア周期における前記キャリアタスク処理を実行した時間であるキャリアタスク実行時間をCactkとすると、n=kの前記キャリア周期において、
    (数102)
    Csurk=Ccyck−Cactk
    を計算することで、n=kの前記キャリア周期における前記キャリア周期余剰時間を算出する請求項7に記載の処理装置。
  9. n=k+1の前記キャリア周期をCcyc(k+1)、最も実行時間の長い前記キャリアタスク処理の実行時間であるキャリアタスク最長時間をCestMAXとすると、n=kの前記キャリア周期において、
    (数103)
    Csurk(k+1)=Ccyc(k+1)−CestMAX
    を計算することで、n=k+1の前記キャリア周期における前記キャリア周期余剰時間を推定する請求項8に記載の処理装置。
  10. 最も周期の短い前記キャリア周期であるキャリア最短周期をCcycMINとすると、n=kの前記キャリア周期において、
    (数104)
    CsurMIN=CcycMIN−CestMAX
    を計算することで、n=k+2以降の前記キャリア周期における前記キャリア周期余剰時間を推定する請求項9に記載の処理装置。
  11. 前記タイマ周期をTcyc、n=kまでの前記キャリア周期の合計時間をキャリア周期合計としてCcycSUM、少数点以下の切り下げをRounddownとすると、n=kの前記キャリア周期において、
    (数105)
    m=Rounddown((Tcyc−CcycSUM)/CcycMIN)+k
    を計算することで、n=kの前記キャリア周期における前記数mを推定する請求項10に記載の処理装置。
  12. n=mの前記キャリア周期における前記キャリアタスクの実行時間をβ、(Tcyc−CcycSUM)/CcycMINの計算によって得られる小数点以下の数字をmaとすると、ma≧CestMAX/CcycMINの場合、β=CestMAX、γ=CcycMIN×ma−βとし、ma<CestMAX/CcycMINの場合、β=CcycMIN×ma、γ=0とする請求項11に記載の処理装置。
  13. γ=0とする請求項7〜12のいずれか1項に記載の処理装置。
  14. n=kの前記キャリア周期における前記タイマタスク処理残時間をTestk、n=0の前記キャリア周期における前記タイマタスク処理残時間をTest0、n=kの前記キャリア周期における前記タイマタスク処理を行った時間の合計であるタイマタスク処理済時間合計をTactSUMとすると、n=kの前記キャリア周期において、
    (数106)
    Testk=Test0−TactSUM
    を計算することで、n=kの前記キャリア周期における前記タイマタスク処理残時間を算出して更新する請求項2〜13いずれか1項に記載の処理装置。
  15. n=kの前記キャリア周期における前記キャリア周期余剰時間をCsurk、前記タイマタスク処理の実行割合をTratekとすると、n=kの前記キャリア周期において、
    n=k−1の前記キャリア周期における前記タイマタスク処理済時間合計にCsurk×Tratekを加算することで、n=kの前記キャリア周期における前記タイマタスク処理済時間合計を算出する請求項14に記載の処理装置。
  16. 前記タイマタスク処理済時間合計の初期値は、前記タイマタスク処理の要求が起きた時の前記キャリア周期の前記キャリア周期余剰時間における前記タイマタスク処理の実行時間であり、それを計測する請求項15に記載の処理装置。
  17. 前記タイマタスク処理済時間合計の初期値を、ゼロに設定する請求項15に記載の処理装置。
  18. n=kの前記キャリア周期における前記キャリア周期をCcyckとすると、n=kの前記キャリア周期において、
    n=k−1までの前記キャリア周期の合計時間にCcyckを加算することで、n=kまでの前記キャリア周期の合計時間を算出する請求項2〜17いずれか1項に記載の処理装置。
  19. 前記キャリア周期の合計時間の初期値はゼロである請求項18に記載の処理装置。
JP2015232878A 2015-11-30 2015-11-30 処理装置 Active JP6551194B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015232878A JP6551194B2 (ja) 2015-11-30 2015-11-30 処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015232878A JP6551194B2 (ja) 2015-11-30 2015-11-30 処理装置

Publications (2)

Publication Number Publication Date
JP2017102518A true JP2017102518A (ja) 2017-06-08
JP6551194B2 JP6551194B2 (ja) 2019-07-31

Family

ID=59018162

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015232878A Active JP6551194B2 (ja) 2015-11-30 2015-11-30 処理装置

Country Status (1)

Country Link
JP (1) JP6551194B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115549811A (zh) * 2021-06-30 2022-12-30 深圳市瑞图生物技术有限公司 时序控制方法、装置、干化学扫描设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007305029A (ja) * 2006-05-15 2007-11-22 Matsushita Electric Ind Co Ltd リアルタイムosにおける処理時間配分方法
JP2013058228A (ja) * 2012-11-01 2013-03-28 Nihon Univ 保安処理装置
JP2014182606A (ja) * 2013-03-19 2014-09-29 Denso Corp 演算装置およびプログラム
WO2015097839A1 (ja) * 2013-12-27 2015-07-02 株式会社日立製作所 優先度割込み対応リアルタイムハイパバイザ

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007305029A (ja) * 2006-05-15 2007-11-22 Matsushita Electric Ind Co Ltd リアルタイムosにおける処理時間配分方法
JP2013058228A (ja) * 2012-11-01 2013-03-28 Nihon Univ 保安処理装置
JP2014182606A (ja) * 2013-03-19 2014-09-29 Denso Corp 演算装置およびプログラム
WO2015097839A1 (ja) * 2013-12-27 2015-07-02 株式会社日立製作所 優先度割込み対応リアルタイムハイパバイザ

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115549811A (zh) * 2021-06-30 2022-12-30 深圳市瑞图生物技术有限公司 时序控制方法、装置、干化学扫描设备和存储介质

Also Published As

Publication number Publication date
JP6551194B2 (ja) 2019-07-31

Similar Documents

Publication Publication Date Title
JP6169547B2 (ja) チップ上のマルチコアシステムの全域チップ電力を管理する方法およびその装置
US8418188B2 (en) Task execution controller and recording medium on which task execution control program is recorded
KR20150001102A (ko) 가상 머신을 이용한 서버 전력 예측 장치 및 그 방법
JP6533523B2 (ja) モータ駆動制御装置および信号生成方法
CN107317853B (zh) 消息弹窗动效展示方法、装置及系统
CN110103987B (zh) 应用于自动驾驶车辆的决策规划方法和装置
CN111976503B (zh) 扭矩控制方法、装置、车辆、电子设备和存储介质
CN102270959B (zh) 电机位置控制器
JP6551194B2 (ja) 処理装置
CN109177977A (zh) 基于驾驶意图的换挡策略修正方法及系统
US8400087B2 (en) Method and arrangement for determining rotation speed of a motor
US9035710B2 (en) PWM signal generating circuit, printer, and PWM signal generating method
CN115019150B (zh) 目标检测定点模型建立方法、装置及可读存储介质
JP4497105B2 (ja) 計器装置
CN107370425B (zh) 电机的控制方法及装置
CN111605558B (zh) 一种车辆速度的确定方法、装置、电子设备和车辆
CN109905059B (zh) 一种无传感器直流无刷电机控制方法及装置
CN110968925B (zh) 机器人及时间对齐方法、装置、电子设备、存储介质
JP6153814B2 (ja) 列車運行管理システム及び列車運行シミュレーション方法
CN109866711A (zh) 制动速度轨迹的生成方法、装置和存储介质
JP2016038620A (ja) 電子制御装置
CN115580273B (zh) 信号产生电路、信号产生方法以及电压控制方法
JP7498632B2 (ja) モータ制御回路、モータ駆動制御装置、モータユニット、及びモータ制御方法
JP2013247776A (ja) パルスモータ制御装置およびパルス信号生成方法
CN110007247B (zh) 用于估计电池的状态的方法和装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180216

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180912

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181030

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181204

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190604

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190617

R151 Written notification of patent or utility model registration

Ref document number: 6551194

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250