説明

車両用制御装置

【課題】車両用制御装置において重要度の高いがタスクの待ち時間が長い場合に、待ち時間を短縮する。
【解決手段】複数の各タスクに、実行順序の優先度に応じて設定した初期重み値を与え、該初期重み値に基づく実行順序に従って前記複数のタスクを実行する車両制御装置において、各タスクの重要度に応じて重み付け値(W)を付与しておき、実行待ちタスクの待ち時間に基づいてタスクの実行順序の優先度を変更する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、車両用制御装置に関し、詳しくは、目的とする制御動作を行うためになされる一連の複数のタスクのうち、実行順序が先のタスク処理が行えない場合に、制御機能として重要度は高いが、実行順序は後順位としたタスクの処理を先に行えるようにするものである。
【背景技術】
【0002】
従来、車両には、エンジン点火制御、ブレーキ制御、オートマチックトランスミッション(AT)制御などを行う車両用制御装置が搭載されている。車両用制御装置は制御用のタスクを決められたタイミングで実行している。
タスクとは、CPUがセンサから信号を受け取り、該信号を用いて所定の処理を行い、必要に応じてRAMにデータを書き込み又は読み込み、アクチュエータに制御信号を送信する等の一連の処理を指す。
【0003】
車両用制御装置においては、車両の高機能化および高性能化に伴い制御動作は複雑化している。よって、例えば、AT制御を行うために必要なタスクの数が増大し、それに伴い、複数のタスクを処理するに必要な時間(処理時間)が増大する傾向にある。
通常、タスクの実行順序は予め設定されており、例えば、センサからのデータを取得するタスクが実行順序で優先タクスとして設定されている。
しかしながら、センサに異常が発生してタスクが実行されないと、後順位のタスクは実行されないこととなる。
【0004】
このため、例えば、特開2006−90356号公報(特許文献1)においては、負荷状態判定タスクを設けた車両用制御装置が提案されている。該負荷常態判定タスクは、AT制御用タスクの終了から開始までの余裕時間を測定し、該余裕時間に基づいてタスクの処理内容を変化させている。余裕時間が所定のタスク混雑基準を満たさない場合には、タスクの処理内容を一部省略して簡略化し、タスクの処理負荷を通常よりも下げることで、タスクの込み合い度合いを軽減している。
【0005】
しかし、特許文献1においては、前記のように、タスクの処理内容を一部省略するためタスク抜けが発生しやすくなる。
また、負荷状態判定タスクを新たに設けているため、車両用制御装置が実行するタスクが増えるという問題がある。特に、負荷状態判定タスクが余裕時間を測定しているAT制御タスクはシフトチェンジにより実行されるタスクであるため、シフトチェンジする度に負荷状態判定タスクも実行される。このため、車両用制御装置はAT制御タスク、負荷状態判定タスクを含め実行すべきタスクの数が多くなり、車両用制御装置が全てのタスクを実行する実行時間が長くなる問題がある。
即ち、「シフトチェンジするために、このタスクが走ること」と「シフトチェンジ毎に余裕時間を算出しなおしていること」により、処理が重くなるため、オーバーヘッド、および待ち時間が長くなる。
また、各タスクを一定時間づつ順番に実行すると、優先度の低いタスクが長時間待たされる問題は解決できない。
【0006】
【特許文献1】特開2006−90356号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
本発明は、前記問題に鑑みてなされたもので、負荷状態判定タスク等の新たなタスクを設けることなく、実行順序が後順位となっているが、制御機能の点からは重要度の高いタスクの待ち時間の減少をはかり、必要なタスクが確実に実行できるようにすることを課題としている。
【課題を解決するための手段】
【0008】
前記課題を解決するため、本発明は、複数の各タスクに、実行順序の優先度に応じて設定した初期重み値を与え、該初期重み値に基づく実行順序に従って前記複数のタスクを実行する車両制御装置において、
実行待ちタスクの待ち時間に基づいて前記実行順序の優先度を変更することを特徴とする車両制御装置を提供している。
【0009】
具体的には、前記各タスク毎に重要度に応じた重み付け値(W)を設定し、該重み付け値(W)よりタスクの一定時間の待ち回数(N)と前記初期重み値とを乗じ数値を減算した変更重み付け値を算出し、この変更重み付け値に基づいて前記複数のタスクの実行順序の優先度を変更している。
前記のように、タスクの重要度に応じて重み付け値(W)を設定し、重要度の大きいタスクの待ち時間が長くなると、実行順序が先順位に設定された優先度の高いタスクが実行されていない場合に、後順位の優先度の低いタスクを先に実行できるようにしている。
【0010】
例えば、前記設定した初期重み値および前記重み付け値は、実行順序の優先度が低くなって後順位となるに従って大きな数値とし、変更重み付け値の小さい順に実行順序の優先度を設定している。
【0011】
このように、タスクの実行順序の優先度を、タスクの待ち時間に応じて逐次変更し、実行順序の優先度を固定化しないことにより、重要度の高いタスクの待ち時間を減少している。即ち、実行順序の優先度が後順位となるタスクでも、長時間待ちを回避したい重要度の高いタスクに変更重み付け値を与えることにより、長時間待たされることを防き、リアルタイム性を維持している。よって、特許文献1の負荷状態判定タスク等からなる新たなタスクを設けることなく、タスク抜けや時間待ちを低減することができる。
【0012】
前記本発明の車両用制御装置は、具体的には、演算処理手段(CPU)と、該CPUに接続したROM、RAMからなるメモリおよびドライバを備えた電子制御ユニットからなり、該電子制御ユニットにセンサおよびアクチュエータを接続している。
前記ROMは、各タスクの実行順序の優先度に応じて設定した初期重み値と、各タスクに重要度に応じて付した係数値を記憶している。
前記RAMは、各センサから受信したデータ値、受信時間、各タスクの抜け回数もしくは待ち時間等を逐次記憶している。
【0013】
前記CPUは、実行キューに新たなタスクが挿入された時にソート手段で実行順序を再ソートとている。
即ち、CPUは、RAMよりタスクの待ち時間を取得すると共に、ROMより重み付け値を取得し、該タスクの待ち時間回数に優先度の初期重み値を乗じて取得した数値を、該タスクの重み付け値より減算して変更重み付け値を演算し、この変更重み付け値に基づいて、タスクの実行順序を変更している。
なお、新たに追加されるタスクを蓄積する蓄積用キューを設け、設定時間経過後、設定数のタスクが蓄積された場合、予め定めた特定タスクが蓄積された時に、前記ソートでタスクの実行順序を変更してもよい。
【0014】
前記複数のタスクを実行して行う車両制御は、オートマチックトランスミッション制御、エンジン点火制御、ブレーキ制御、ステアリング制御、省燃費促進制御から選択される1種以上の制御である。
【発明の効果】
【0015】
前述したように、本発明の車両用制御装置によれば、重要度が高いタスクの待ち時間が長くなると実行順序を変更し、実行順序が後順位となっている重要なタスクに付いては、タスク抜けや長時間待ちを回避し、制御のリアルタイム性を維持することができる。
【発明を実施するための最良の形態】
【0016】
以下、本発明の車両用制御装置の実施形態を図面を参照して説明する。
図1乃至図4に本発明の実施形態を示す。
本実施形態の車両用の制御装置(ECU)10は省燃費促進制御装置としている。
【0017】
図1に示すように、制御装置10は、CPU11、ROM12、RAM13、ドライバ14を有している。
ドライバ14は、複数のセンサ20(20A、20B)及び複数のアクチュエータ21(21A、21B)と接続している。
制御装置10はセンサ20からの信号を受け取り、アクチュエータ21に制御信号を送信している。
センサ20は、本実施形態では、車速センサ、クランク角センサ、アクセル開度用角度センサ、燃料流量センサ、エンジン付加センサ等からなる。
アクチュエータ21は省燃費運転制御用であり、省燃費運転モードの表示を行う警告灯を点灯させる制御信号をアクチュエータ21に送信している。
【0018】
CPU11はドライバ14と接続すると共に、ROM12、RAM13と接続している。CPU11は、センサ20から入力された信号を用い、ROM12に記憶されたプログラムを、RAM13を参照して実行することで、複数のタスクの実行順序を設定している。
【0019】
前記タスクとは、CPU11がセンサ20から信号を受け取り、該信号を用いて所定の処理を行い、必要に応じてRAM13にデータを書き込み、または読み込み、ドライバ14よりアクチュエータ21に制御信号を送信する等の一連の処理を指す。
【0020】
前記ROM12は、書き込み不可のメモリであり、CPU11が各タスクを実行するためのプログラムが記憶されている。具体的には、図2の表に示すような、各タスクの実行順序の優先度Pに応じて設定した初期重み値と、各タスクの重み付け値W、タスクの一定待ち時間の回数等を記憶している。
タスクの実行順序の優先度Pは、優先順位に応じて、1、2、3、4と設定し、初期重み値の数値が小さい程、実行順序の優先度を高くしている。
また、同一の優先度Pのタスクでは、図3に示すように、受信順に実行順序を規定している。
【0021】
前記重み付け値Wはタスクの制御機能の重要度に応じて、重要度が小さいタスクは重み付け値Wを大きくしている。例えば、図2に示すように、タスクA=2、タスクB=3、タスクC=15、タスクD=20、タスクZ=20としている。
実行順序の優先度Pが同一であるタスク(図2でタスクAとタスクB)であっても、重要度の高いタスクAの重み付け値Wは「2」、タスクAより重要度が低いタスクBの重み付け値Wは「3」である。
【0022】
前記RAM13は書き換え用のメモリであり、各センサ20から受信したデータ値、受信時間、各タスクの抜け回数もしくは待ち時間等を逐次記憶している。
【0023】
前記CPU11は、ソート手段を備え、実行キューに新たなタスクが挿入され、該タスクが待ち時間無しに処理される場合には、初期重み値と受信順にタスクの実行順序を規定している。
一方、実行キューに新たなタスクが挿入された時、タスクに待ち時間が発生している場合、RAM12よりタスクの待ち回数(即ち、一定時間で規定した待ち時間を1回とし、該待ち時間の回数)を取得すると共に、ROM11よりタスクの重み付け値Wを取得する。該重み付け値(W)より、タスクの一定時間の待ち回数(N)と前記初期重み値Pとを乗じ数値を減算した変更重み付け値を演算している。この変更重み付け値の値が小さい順をタスクの実行順序となるように変更してソート手段で再ソートしている。
【0024】
具体的には、図2および図3に示す処理順序の優先度4のタスクが一定時間待たされると、タスクZの待ち時間回数*Nx=1という情報をRAM13に保存している。
再ソート時には、図2に示す優先度Pの初期重み値、係数値K、タスクが待たされた回数Nxを用いて、タスクの重要度に応じた加算重み値を下式(1)で算出する
加算重み値=W−P・Nx
前記図2で、タスクZの待ち時間が1回であるとすると、
タスクZは20−4・1で変更重み値は16となる。
タスクA、B、C、Dに待ち時間が発生していない場合、各タスクA、B、C,Dの変更後の重み値はタスクA=2、タスクB=3、タスクC=15、タスクD=20である。タスクDよりタスクZの方が小さくなるため実行順序はタスクZが繰り上がり、タスクDより優先する。即ち、タスクA→B→C→D→Zの実行順序から、タスクA→B→C→Z→Dの実行順序に再ソートしている。
【0025】
また、前記順序でタスクを実行して、再度同じタスク(例えばタスクA)等が応答待ち時間が長時間占有してしまう状況に陥った場合、タスクZha一定時間経過後、さらに「タスクZの待ち回数Nz=2」をRAM13で保存して、前記式(1)を用いて再計算し、その結果に従って再ソートする。
その結果、タスクZは20−4・2=12となり、実行順序は、タスクA→B→Z→C→DとさらにタスクZは繰り上がる。
【0026】
前記制御装置10の作動工程を図4のフローチャートに示す。
ステップ(1)で、タスク(x)が実行キューに追加されると、該追加時間からの実行時間までをカウントし、タスク(x)が追加されてから前記規定した一定の待ち時間が経過された否かを検出する。
ステップ(2)でタスク(x)が一定待ち時間経過していると、前記した(1)式でタスク(x)の変更重み付け値を算出し、算出した変更重み付け値に基づいて、未処理のタスク間で実行順序を変更して再ソートする。
ステップ(3)で再ソートした結果でタスクを実行する。
【0027】
省燃費運転促進用の制御装置10のタスクについて説明する。
必要な一連のタスクをまとめると、下記のタスクA→タスクB→タスクCからなる。
タスクAは、複数の下記に列挙するセンサに現在のデータを要求するタスクである。これらセンサは、クランク用角度センサ、アクセル開度用角度センサ、燃料流量センサ、車速センサ、エンジン負荷センサからなる。
タスクBは、タスクAの要求に応じてセンサから受信した各データを用いて、エンジン回転数、アクセル開度、燃料流量、車速、エンジン負荷を計算するタスクである。
タスクCは、タスクBで演算した各種値を用いて車両の燃料消費量および燃費を計算し、省燃費運転を促す制御(例えば、警告等を点灯)を行う電子制御ユニット(ECU)へデータを送信するタスクである。
【0028】
通常は、タスクA→B→Cの順序で実行されるが、例えば、タスクAで一部のセンサ20(例えば、燃料流量センサ)に要求したデータが、該センサに異常が発生してデータが長時間受信出来ない場合は、該センサからのデータが取得できるまで、即ち、タスクAで要求したすべてのセンサ20のデータを取得できるまで、タスクBの処理ができない事となる。
前記センサが故障等で永遠に該センサからデータを受信できない場合、ハードリセット等を発生させて復帰することは可能であるが、それより前にタスクAが一定時間以上待たされる場合(前記ステップ(1)がYESの場合)、ステップ(2)でタスクの実行順序をソートし直して、実行順序をタスクB→A→Cに変更する。
【0029】
其の際、タスクBでの演算の基となるデータは、前に受信しているセンサのデータに基づいて演算する。この場合、タスクBは最新のデータではなく1つ古いデータを利用することになるが、影響が少ないデータであれば、ハードリセットを回避でき、リアルタイム性を維持することができる。
【0030】
このように、長時間の待ち時間が発生する場合、センサに異常が発生したと判断されるため、タスクB→A→Cに並び変えたとしても、タスクAは異常センサからのデータは待ちで正常に終了しないため、一定時間経過後、ソートをし直し、結果的にB→C→Aの順序で実行されることになる。
即ち、タスクの実行順序は、A→B→CからB→A→Cへ変更し、さらに、B→A→CからB→C→Aへと変更する。
このように、予期しない異常によって特定タスクが複数回未実行の状態となる場合、これを各タスクは自分が何回実行されなかったか、またはその理由(どのセンサに異常が発生しているか等)を管理し、通知を行うことにより、ハードリセットと比べて比較的安全に車両制御を行うことができる。
【0031】
なお、前記実施形態では実行キューに新たなタスクが追加された場合に、タスクの待ち時間に応じて実行順序の並び替えを行っているが、定期的にタスクの追加状況をチェックして、其の都度、タスクの並び替えを行ってもよい。
その場合、新たに追加されるタスクを蓄積する蓄積用キューを設けている。
設定した時間経過後、設定数のタスクが蓄積された時、あるいは、予め定めた特定のタスクが追加された時、追加されたタスクをソートされているタスクに加えて、前記実施形態に基づいて、タスクの実行順序を入れ替えてソートし直している。
【0032】
なお、追加されたタスクを加えてタスクの実行順序を並び替える場合、全タスクを対象とせずに、優先度の高いタスク(優先度1または優先度1と2のタスク)は処理時間が短時間のものが多いため、優先順序を変えず、優先度の低いタスク(優先度4または優先度3と4のタスク)の実行順序だけソートし直しても良い。該方式とすると、ソート時間を短縮できる。
【図面の簡単な説明】
【0033】
【図1】本発明である車両用制御装置の構成を示す概略図である。
【図2】タスクの優先度と重み付け値を示す表である。
【図3】タスクの実行順序を示す図である、
【図4】車両用制御装置の動作を示すフローチャートである。
【符号の説明】
【0034】
10 車両用制御装置(ECU)
11 CPU
12 ROM
13 RAM
14 ドライバ
20 センサ
21 アクチュエータ

【特許請求の範囲】
【請求項1】
複数の各タスクに、実行順序の優先度に応じて設定した初期重み値を与え、該初期重み値に基づく実行順序に従って前記複数のタスクを実行する車両制御装置において、
実行待ちタスクの待ち時間に基づいて前記実行順序の優先度を変更することを特徴とする車両制御装置。
【請求項2】
前記各タスク毎に重要度に応じた重み付け値(W)を設定し、該重み付け値(W)よりタスクの一定時間の待ち回数(N)と前記初期重み値とを乗じ数値を減算した変更重み付け値を算出し、この変更重み付け値に基づいて前記複数のタスクの実行順序の優先度を変更する請求項1に記載の車両用制御装置。
【請求項3】
前記設定した初期重み値および前記重み付け値は、実行順序の優先度が低くなって後順位となるに従って大きな数値とし、変更重み付け値の小さい順に実行順序の優先度を設定している請求項2に記載の車両用制御装置。
【請求項4】
オートマチックトランスミッション制御、エンジン点火制御、ブレーキ制御、ステアリング制御、省燃費促進制御から選択される1種以上の車両制御用である請求項1乃至請求項3のいずれか1項に記載の車両用制御装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate


【公開番号】特開2009−280021(P2009−280021A)
【公開日】平成21年12月3日(2009.12.3)
【国際特許分類】
【出願番号】特願2008−132463(P2008−132463)
【出願日】平成20年5月20日(2008.5.20)
【出願人】(395011665)株式会社オートネットワーク技術研究所 (2,668)
【出願人】(000183406)住友電装株式会社 (6,135)
【出願人】(000002130)住友電気工業株式会社 (12,747)
【Fターム(参考)】