JP3890877B2 - 車両用制御装置 - Google Patents
車両用制御装置 Download PDFInfo
- Publication number
- JP3890877B2 JP3890877B2 JP2000328429A JP2000328429A JP3890877B2 JP 3890877 B2 JP3890877 B2 JP 3890877B2 JP 2000328429 A JP2000328429 A JP 2000328429A JP 2000328429 A JP2000328429 A JP 2000328429A JP 3890877 B2 JP3890877 B2 JP 3890877B2
- Authority
- JP
- Japan
- Prior art keywords
- task
- time
- interrupt
- control
- timer
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Control By Computers (AREA)
- Programmable Controllers (AREA)
Description
【0001】
【発明の属する技術分野】
この発明は、エンジン制御やオートマチックトランスミッション制御などの各タスクについて起動や時間やメモリなどの管理をリアルタイムオペレーティングシステム上で行う車両用制御装置に関するものである。
【0002】
【従来の技術】
車両の制御システムにおける制御プログラムは複数のタスクで構成されるのが通常であり、これらのタスクを有効利用するためにリアルタイムオペレーティングシステム(以下RTOSと称す)が用いられる。このような車両用のRTOSとしては、例えば、特開平10−105418号公報にその制御技術の一例が開示されている。この公報に開示された技術は、エンジンの各種センサから入力される情報に短時間に応答して複数のタスクの遷移状態を制御するRTOSを有するエンジン制御用の制御装置において、エンジン制御に使用される1つの基本タイマと、各種センサからの非同期系のイベントの他に、基本タイマの出力を用いて種々の周期の同期系イベントに対してイベントフラグをセットおよびクリアして複数のタスクの遷移状態を制御するイベントハンドラを備え、イベントハンドラは、基本タイマのカウンタのビット値を下位ビットに、そのカウント値のビット値を反転したものを上位ビットに設定したイベントフラグを形成し、このイベントフラグに設定されたビット値と予め設定されたビット値との論理積を取り、タスクを処理したいタイミングの決定を行うようにしたものである。
【0003】
このような手段を講じることにより、処理の遅れ時間がタスク処理周期を越えた場合には、自タスクの起動処理の優先度を上げて遅れを防止することができ、また、遅れ時間がタスク処理の周期を越え、次回のタスクの起動処理のタイミングの補正を行う場合には次回の起動処理を早くすることにより次々回のタスク処理への支障を少なくすることができると共に、制御プログラムのタイミング管理装置の規模の低減が可能であるとされている。
【0004】
【発明が解決しようとする課題】
しかし、このような従来の車両用制御装置においては、タスクの優先順位が動的に変更されるため、プログラムの可読性が良くないという課題が残り、また複数のタスクを制御するため、タスクの状態を待避して保存しておくために必要となる記憶装置としてのRAMの容量が増加することになり、また、新たにタスクを追加する場合には、タイミング処理の再設定を行う必要があり、制御内容の変更や追加時に効率的な開発ができないという問題があった。
【0005】
この発明は、このような課題を解決するためになされたもので、一つの制御対象に対してタスクを一つにすることによりRAMの容量増加を抑え、タスクの優先順位を動的に変更しない構成を取ることによりプログラムソースの可読性を向上させ、可能な限り少ないタスク数で制御処理を構成することにより、制御内容の変更時などにおいて、制御ソフトウェアのプログラム構成に大幅な変更を必要とせず、プログラムの開発効率を向上することが可能な車両用制御装置を得ることを目的とするものである。
【0006】
【課題を解決するための手段】
この発明に係わる車両用制御装置は、外部信号源からの信号を入力する入力手段、所定のプログラムと外部信号源からの信号とにより演算を行う演算手段、この演算手段による演算結果を制御対象のアクチュエータ類に与えて制御する出力手段、タスク起動手段と記憶手段と演算手段とタイマを有すると共に、これらの動作を管理するリアルタイムオペレーティングシステムの管理手段を備え、制御対象の内の一つの制御対象を制御するための制御プログラムが一つのタスクとしてリアルタイムオペレーティングシステム上で動作し、管理手段にタイマからの割り込み要求により周期的に割り込みを行う割り込み手段と、この割り込み要求からの経過時間をカウントする時間経過判定手段とを備えており、この時間経過判定手段が経過時間を判定して周期的にタスクを起動する、または、管理手段にアラーム機能を有する所定時間設定タスクが設けられ、この所定時間設定タスクの設定時間により周期的にタスクを起動するものである。
【0008】
また、外部信号源からの信号を入力する入力手段、所定のプログラムと外部信号源からの信号とにより演算を行う演算手段、この演算手段による演算結果を複数の制御対象のアクチュエータ類に与えて制御する出力手段、タスク起動手段と記憶手段と演算手段とタイマを有すると共に、これらの動作を管理するリアルタイムオペレーティングシステムの管理手段を備え、複数の制御対象を制御するための制御プログラムが一つのタスクとしてリアルタイムオペレーティングシステム上で動作するように構成されると共に、このタスクが、割り込み手段に周期的に割り込み要求するタイマの割り込み要求からの経過時間を判定する時間経過判定手段の判定結果、または、アラーム機能を備えた所定時間設定タスクの設定時間により、周期的に起動するように構成したものである。
【0009】
さらに、外部信号源からの信号を入力する入力手段、所定のプログラムと外部信号源からの信号とにより演算を行う演算手段、この演算手段による演算結果を複数の制御対象のアクチュエータ類に与えて制御する出力手段、タスク起動手段と記憶手段と演算手段とタイマを有すると共に、これらの動作を管理するリアルタイムオペレーティングシステムの管理手段を備え、複数の制御対象のそれぞれに対応して制御する複数の制御プログラムが独立した複数のタスクを構成してリアルタイムオペレーティングシステム上で動作するように構成されると共に、このそれぞれのタスクが、割り込み手段に周期的に割り込み要求するタイマの割り込み要求からの経過時間を判定する時間経過判定手段の判定結果、または、アラーム機能を備えた所定時間設定タスクの設定時間により、周期的に、また、あらかじめ設定された優先順位に従って起動するように構成したものである。
【0010】
【発明の実施の形態】
実施の形態1.
図1は、この発明の実施の形態1によるRTOSを用いた車両用制御装置のシステム構成図、図2はその制御内容を示すフローチャートである。図において、1はRTOSの機能の核となるカーネル、2はRTOSをスタートさせるための中央演算処理装置(以下CPUと称す)の初期化手段、3はRTOSのカーネル1がスタートして最初に動作するRTOS初期化手段、4はRTOS上に構成されているタスクの管理を行うスケジューラであり、5はRTOS上で動作するよう構成されている車両用制御タスクaを示しており、この実施の形態では車両用制御はエンジン制御を例にとっている。
【0011】
6はRTOSのカーネル1などが実装されるCPU、また、7は入出力ドライバで、CPU6を介してアクチュエータやバルブなどのアクチュエータ類8にデータを送ったり、センサやスイッチなどの外部信号源9からのデータをCPU6を介してタスクa5や内部割り込み処理手段10、および、外部割り込み処理手段11に送るためのものである。
【0012】
12は割り込みハンドラであり、割り込み要求が発生したときに実行されるべき割り込み処理を判断するもので、割り込み要求はCPU6の内蔵タイマ13により内部割り込み要求が発生し、外部信号源9からの入力信号により外部割り込み要求が発生する。CPU6から発生した割り込み要求に応じて、内部割り込み手段10により割り込み処理が実行され、また、外部信号源9からの入力信号により、外部割り込み手段11により割り込み処理が実行される。14はタイマであり、タイマ14はRTOSで扱うカウンタを設定するために使用されるものである。
【0013】
このように構成されたこの発明の実施の形態1の車両用制御装置において、電源が投入されると、まず、CPU初期化手段2によりCPU6が初期化される。次ぎにRTOS初期化手段3によりRTOSが初期化され、続いてスケジューラ4により管理されるタスクa5が予め決められた手順でスタートする。CPU6に内蔵されたタイマ13から割り込み要求が発生すると、割り込みハンドラ12で実行すべき割り込み処理が判断され、内部割り込み手段10により割り込み処理が実行される。外部システムからデータを送信する外部信号源9からの信号が入力されると、CPU6にて割り込み要求が発生して割り込みハンドラ12へ送信され、外部割り込み手段11により所望の割り込み処理が実行される。タスクa5と内部割り込み手段10と外部割り込み手段11とで演算された結果は入出力ドライバ7を経由し外部に接続されるアクチュエータ類8に送信され、また、外部信号源9から入力された情報は入出力ドライバ7を経由しタスクa5や各種割り込み手段10と11に送信される。
【0014】
これらの動作の一例を示したのが図2のフローチャートである。オペレーションシステムのスタートは図2の(a)に示すように、まずステップ201にてCPU6の初期化が行われる。続いてステップ202にてタスクa5の状態および優先順位などの情報を決定してRTOSが初期化され、タスクa5は自動的に最初にスタートするようにプログラムされているため、ステップ203にてスケジューラ4により次に起動すべきものがタスクa5であるとして選択され、ステップ204にてタスクa5がスタートする。
【0015】
タスクa5がスタートすると、図の(b)に示すようにタスクa5の処理が実行される。この処理は、まずステップ211において、制御を行うためにCPU6を初期化する処理が実行され、次ぎにステップ212にて制御プログラムが使用する割り込み処理手段を使用可能にする。続くステップ213においては、ステップ214とステップ215とが周期的に実行されるように、これらの処理が無限ループの構成となるべく処理され、ステップ214ではエンジン制御処理を行うステップ215にて処理を実行する前に、この処理をスタートする周期分プログラムを停止して時間調節し、その処理にはCPU6に内蔵されたタイマ13が使用される。続いて、ステップ215にてエンジン制御処理を実行し、ステップ214とステップ215とを繰り返す。
【0016】
このプログラムで行う割り込み処理には、タイマ13からの要求による内部割り込みと、外部に接続される外部信号源9からの入力情報を受け取って発生する外部割り込み処理とがある。図の(c)と(d)とはこれらの割り込み処理を説明するもので、内部、または、外部からの入力情報によりCPU6から割り込み要求が発生した場合、実行されていたエンジン制御処理のタスクa5を一時中断し、ステップ221、または、ステップ231にて割り込み処理を実行する。割り込み処理が終了すると、一時中断していたタスクa5の処理に制御を戻し、タスクa5の処理を行う。
【0017】
タスクa5は上記したようにエンジン制御処理を対象として構成されたタスクであり、一つの制御対象を制御する演算手段である。このように構成することによりRTOS上で動作するように構成されていない制御プログラムでもRTOS上で動作するような構成へ移植することが容易となり、また、複数のタスクを使用した場合のように、タスクの状態を保存するためのRAMに対する待避の必要がなく、RAMの消費量を削減することが可能であり、またCPUの資源を有効に使用することができることになる。
【0018】
実施の形態2.
図3は、この発明の実施の形態2のRTOSを用いた車両用制御装置のシステム構成図、図4は実施の形態2の制御内容を示すフローチャートであり、この実施の形態2は、車両用制御装置上に一つの制御対象を一つのタスクとして実装する場合において、RTOSの機能の一つであるアラーム機能を用いて周期的にタスクを起動するタスク起動方法に関するものであり、アラーム機能に、所定の時間を設定して所定時間毎に周期的に割り込みを行う所定時間経過判定手段を用いるようにし、この割り込みによりタスクを起動するようにしたものである。
【0019】
図3において、15はタイマ16の設定を行うタイマ設定手段、17はタイマ16の割り込み要求によりスタートする割り込み手段、18はこの割り込み手段17の割り込み処理中において経過した時間をカウントするカウンタ、19はタスクa5を周期的にスタートさせるために所定時間の経過を判定する所定時間経過判定手段であり、以上の各機能を付加した以外は上記の実施の形態1と同一の構成である。
【0020】
このような構成をもつこの発明の実施の形態2の車両用制御装置において、電源が投入されると、CPU初期化処理手段2によりCPU6が初期化され、次ぎにRTOS初期化手段3によりRTOSが初期化されるのは実施の形態1の場合と同様である。続いて、タイマ設定手段15がタイマ16を設定し、周期的(1単位時間毎)に割り込み要求を発生するようにする。割り込み手段17はタイマ16の再設定と、タスクa5を周期的にスタートさせるアラーム機能の設定を行い、また、この割り込み手段17が実行する割り込みの回数と経過時間とをカウンタ18によりカウントする。カウンタ18がカウントした値がタスクa5のスタート周期に達しているかどうかの判断を所定時間経過判定手段19が行い、所定時間が経過したと判定されるとタスクa5がスタートする。このように、所定時間経過判定手段19の判定によりタスクa5をスタートさせることと、タイマ16により周期的に割り込み要求を発生させること以外の動作については実施の形態1の場合と同様である。
【0021】
また、この実施の形態における動作の一例を示したのが図4のフローチャートである。なお、図4以降の各フローチャート図において、既出のステップ番号が併記してあるものについては既出の動作と同一動作であることを示している。RTOSのスタートは図4の(a)に示すように、まずステップ401にてCPU6の初期化が行われ、次ぎに、ステップ402にてタスクa5の状態および優先順位などの情報を決定してRTOSの初期化が行われ、ステップ403にて各種タイマの設定が行われる。ここで設定されるタイマの内、タイマ16はカウンタ18のカウント値をインクリメントする割り込み要求発生に使用される。続いてステップ404にてスケジューラ4が動作しタスクa5がスタートする。
【0022】
ステップ403にて設定されたタイマ16による割り込み要求発生により実行される割り込み処理を図4(c)の割り込み処理フローチャートに示している。割り込み要求が発生すると、まずステップ421において上記のステップ403にて設定したタイマ16を再設定する。続いてステップ422ではカウンタ18が単位時間+1のインクリメントでこの割り込み処理の実行回数をカウントし、さらに、この割り込み処理の実行回数をステップ423にて判断し、初回の処理であった場合には、ステップ424に進んでタスクa5を起動するための所定の時間(アラーム)を所定時間経過判定手段19に設定する。この時間設定後、および、ステップ423が初回の処理でないと判断したときにはステップ425でタスクa5を起動する所定時間の経過を所定時間経過判定手段19にて判断し、経過していた場合にはステップ426でタスクa5をスタートさせ、経過していなければリターンしてこの割り込みを繰り返す。
【0023】
タスクa5の動作は図4(b)に示す通りであり、ステップ411にてこのタスク起動の回数を判断し、最初の起動であればステップ412に示す初期設定を行い、その後ステップ413にてエンジン制御の制御プログラムが使用する割り込み処理手段を使用可能にする。最初の起動でなければ初期設定を行わずに、直接割り込み許可を行い、続いてステップ414にてエンジン制御を行ってタスクを終了する。また、図4の(d)と(e)とに示す外部割り込みと、内部割り込みとについては実施の形態1の場合と同様である。
【0024】
この実施の形態の車両用制御装置では以上のような構成と動作とを有するものであり、実施の形態1の効果に加え、アラーム機能を用いてタスクを周期的にスタートさせる機能を有しており、その設定を割り込み処理で実行するようにしたので、システム自体で時間管理することが可能になって時間調整を必要とせず、プログラムの変更はアラーム機能を用いてタスクをスタートさせる変更を加えるだけでよく、制御処理に関する部分に変更を加える必要がない。
【0025】
実施の形態3.
図5は、この発明の実施の形態3のRTOSを用いた車両用制御装置のシステム構成図、図6は実施の形態3の制御内容を示すフローチャートであり、この実施の形態3は、車両用制御装置上に一つの制御対象を一つのタスクとして実装する場合において、そのタスクがRTOSの機能の一つであり、周期的にタスクを起動するアラーム機能を使用し、さらに、アラーム機能の設定を所定時間設定タスクを付加して行うようにしたものであり、実施の形態2で示した図3に対してアラーム機能を設定するタスクである所定時間設定タスク20が付加され、そのために、アラーム機能の設定処理を行わずに経過時間のカウントのみを行い、タイマ16の割り込み要求によりスタートする割り込み手段21が実施の形態2の割り込み手段17に代わって設けられるようにしたものである。
【0026】
このような構成を持つ実施の形態3の車両用制御装置において、電源が投入されてからスケジューラ4が起動するまでは実施の形態2と同様である。次ぎに、実施の形態3では、アラームの設定を行う所定時間設定タスク20をRTOSがスタートして最初に起動されるよう構成されており、スケジューラ4によりまず所定時間設定タスク20がスタートする。この所定時間設定タスク20は、タスクa5を一定時間ごとに起動するアラーム機能を設定し、この設定内容を所定時間経過判定手段19に与える。タイマ16の割り込み要求が発生すると、タイマ割り込み手段21による割り込み処理が実行され、この割り込み処理によりカウンタ18が経過時間をカウントする。経過時間が所定の時間を経過すれば所定時間経過判定手段19が所定時間設定タスク20の設定内容から判定し、タスクa5をスタートする。それ以降の動作は実施の形態2の場合と同様である。
【0027】
この実施の形態3における動作の一例を示したのが図6のフローチャートである。RTOSのスタートは図6の(a)に示すように、まずステップ601にてCPU6の初期化が行われ、続いてステップ602にてタスクa5の状態および優先順位などの情報を決定してRTOSの初期化が行われ、ステップ603にてタイマ16の設定が行われる。ステップ604ではスケジューラ4が次に起動すべきものを採択し、ステップ605にて所定時間設定タスク20がスタートする。所定時間設定タスク20が所定時間周期でタスクa5を起動するのに必要な、アラームの設定を行うことにより、アラーム機能を使用してタスクa5を周期的に起動することを可能にする。
【0028】
所定時間設定タスク20は、図6の(b)に示すように、ステップ611にて制御プログラムが使用する割り込み処理手段を使用可能にし、ステップ612にてタスクa5を起動するための所定時間を設定する。また、割り込み手段21による割り込み処理は図6の(d)に示すように、ステップ631で割り込み処理の起動回数のカウントを行い、単位時間+1のインクリメントを行う。続いてステップ632ではタスクa5を起動する所定時間経過の判定を行い、経過していると判定された場合にはステップ633にてタスクa5をスタートさせ、経過していないと判定された場合には割り込みを行わずにリターンする。これらのルーチン以外の図の(c)(e)(f)については実施の形態2と同様である。
【0029】
この実施の形態の車両用制御装置では以上のようにアラーム機能を設定するタスクである所定時間設定タスク20を付加するようにしたので実施の形態2の場合と同様に、システム自体で時間管理することが可能になり、プログラムの変更はアラーム機能を用いてタスクをスタートさせる変更を加えるだけでよく、制御処理に関する部分に変更を加える必要がない。
【0030】
実施の形態4.
図7は、この発明の実施の形態4のRTOSを用いた車両用制御装置のシステム構成図、図8は実施の形態4の制御内容を示すフローチャートであり、この実施の形態は一つのタスクに複数の制御対象を実装するようにしたもので、例えばこの制御対象をエンジン制御とオートマチックトランスミッション制御とにした場合を一例としたものである。
【0031】
オートマチックトランスミッション制御もエンジン制御と同様に周期的に実行する。エンジン制御は実施の形態1ないし実施の形態3で説明したように、自動的にタスクa5をスタートさせ、タスクの処理に無限ループを用いる場合、割り込み処理でアラーム機能を設定してタスクをスタートさせる場合、アラーム設定に所定時間設定タスクを付加した場合のいずれの方法でも選択することができる。ここではエンジン制御処理を1つのタスクa5として実装し、タスクa5はアラーム機能を用いて周期的に起動され、割り込み処理でアラーム機能を設定する場合を一例としており、オートマチックトランスミッション制御を割り込み処理として周期的に起動し、この割り込みについては内部割り込みの一種として扱うように構成したものである。
【0032】
このために、図7の構成図において実施の形態2の図3と異なっている点は、内部割り込み手段22のみであり、内部割り込み手段22にはオートマチックトランスミッション制御が加わっている。また、動作内容についても内部割り込み処理にオートマチックトランスミッション制御処理が加わる以外は、実施の形態2と同様である。
【0033】
図8の、動作の一例を示すフローチャートも(a)ないし(e)は実施の形態2の図4と同様であり、オートマチックトランスミッション制御処理の内部割り込み処理を示す図8の(f)のみが追加されたものである。オートマチックトランスミッション制御処理の内部割り込みは、図の(f)に示したように、内部割り込みの一つとして制御割り込み要求が発生したときにはステップ851にてトランスミッション制御が行われる。この割り込みは上記したように周期的に行われ、図の(b)に示すステップ813にて割り込みが行われるものである。
【0034】
このようにこの実施の形態では複数の制御対象を一つのタスクとして構成したので、実施の形態2と同様の効果に加え、プログラム構成を大幅に変更することなく複数の制御対象を制御することができる車両用制御装置を得ることができるものである。
【0035】
実施の形態5.
図9は、この発明の実施の形態5のRTOSを用いた車両用制御装置のシステム構成図、図10は実施の形態5の制御内容を示すフローチャートであり、この実施の形態は複数のタスクと複数のアラームとを設定し、それぞれのタスクを周期的に起動させるようにしたもので、一例として周期的にプログラムを実行するエンジン制御とオートマチックトランスミッション制御とをそれぞれのタスクの制御対象とした場合を示している。
【0036】
図9において、23はRTOSの機能の核となるカーネル、2はRTOSをスタートするためのCPUの初期化手段、24はRTOSのカーネル23がスタートして最初に実行され、タスクa5とタスクb25との状態を設定するRTOS初期化手段、26はタスクa5とタスクb25とを周期的に起動させるため、タイマ16とタイマ27との設定を行うタイマ設定手段、4はRTOS上に構成されているタスク管理を行うスケジューラである。
【0037】
28はRTOSのカーネル23などが実装されるCPU、7はCPU28を介してアクチュエータ類8にデータを送り、外部信号源9からのデータをCPU28を介してタスクa5やタスクb25などに送る入出力ドライバ、17はタイマ16の割り込み要求によりスタートする割り込み手段、29はタイマ27の割り込み要求によりスタートする割り込み手段、18と30とは割り込み手段17と29との割り込み処理中において経過した時間をカウントするカウンタ、31はタスクa5とタスクb25とを周期的にスタートさせるために所定時間の経過を判定する所定時間経過判定手段aと所定時間経過判定手段bとを有する所定時間経過判定手段である。
【0038】
32はタスクa5とタスクb25とを所定時間毎にスタートさせるためのアラーム機能の設定を行う所定時間設定タスク、12は割り込み要求が発生したときに実行されるべき割り込み処理を判断する割り込みハンドラで、割り込み要求はCPU28の内蔵タイマ13により割り込み要求が発生し、外部信号源9からの入力信号により外部割り込み要求が発生する。CPU28から発生した割り込み要求に応じて、内部割り込み手段10により、また、外部割り込み手段11により割り込み処理が実行される。14はタイマであり、タイマ14はRTOSで扱うカウンタを設定するために使用されるものである。
【0039】
このような構成を持つこの発明の実施の形態5の車両用制御装置において、まず電源が投入されるとCPU初期化手段2とRTOS初期化手段24とによる初期化が行われ、続いて、タイマ設定手段26によりタスクa5とタスクb25とをアラーム機能を用いてスタートさせるタイマ16とタイマ27とを設定し、タスクa5とタスクb25とを周期的にスタートさせるために割り込み手段17と29とで所定時間のカウントを行う。続いてスケジューラ4がスタートし、アラーム機能の設定を行う所定時間設定タスク32によりタスクa5とタスクb25とを周期的にスタートさせるために必要なアラーム機能の設定を行う。そして、所定時間経過の判定処理を行う所定時間経過判定手段31により所定時間が経過したと判断された場合、タスクa5とタスクb25とが周期的に起動される。
【0040】
図10は、この実施の形態の動作の一例を示すもので、RTOSのスタートは図10の(a)に示すように、まずステップ901にてCPU28の初期化が行われ、ステップ902にてRTOSの初期化が行われる。ステップ903ではタスクa5とタスクb25とをスタートさせるアラーム機能に使用させるためのタイマの設定が行われるが、このタイマはタイマ16とタイマ27とである。ステップ904ではスケジューラ4が実行に移され、ここではアラーム機能の設定を行う所定時間設定タスク32を最初に実行するよう構成されているために、ステップ905ではスケジューラ4が所定時間設定タスク32をスタートさせる。
【0041】
所定時間設定タスク32の実行は図10の(b)に示すように、ステップ911にてエンジン制御とオートマチックトランスミッション制御とで使用される割り込みが許可され、ステップ912にてタスクa5とタスクb25とを周期的に起動するための所定時間設定(アラーム機能の設定)が行われ、本タスクを終了する。
【0042】
図10の(e)は、タスクを周期的に起動するためのタイマ16と27とが発生する割り込み要求に応じて割り込みを行うフローチャートであり、タスクa5をスタートする場合もタスクb25をスタートする場合も同様である。タイマ16による割り込み手段17及びタイマ27による割り込み手段29では、タイマによる割り込み要求が発生すると、ステップ941にて単位時間カウントを行い、ステップ942では所定時間が経過したかどうかを判定し、経過していた場合はステップ943にてタスクa5もしくはタスクb25をスタートし、経過していない場合にはリターンしてルーチンを繰り返す。
【0043】
図10の(c)はタスクa5の動作の一例を示すもので、タスクa5は図10の(b)に示したフローチャートで設定した所定時間が経過する毎に起動され、ステップ921でこのタスクの起動回数を判断し、初めて起動される場合はステップ922にて初期設定を行い、ステップ923にて割り込み許可を実行する。起動回数が二度目以降であるならば、初期設定を行わずに直接ステップ923にて割り込み許可を実行し、続いて、ステップ924にてエンジン制御処理を実行する。図10(d)に示したタスクb25の動作は、タスクa5の場合と同様に所定時間が経過する毎にスタートし、ステップ931にてオートマチックトランスミッション制御処理を行いタスクを終了する。なお、図の(f)と(g)とに示す割り込み処理は実施の形態2の図4に示したものと同一である。
【0044】
以上のように、実施の形態5による車両用制御装置においては、複数の制御対象を複数のタスクとして構成したので、各制御処理を他のプログラムに追加することが容易となり、制御プログラムの再利用性を向上させることができ、また、タスクの優先順位を動的に更新せずにあらかじめ決定しておくことにより、プログラムソースの可読性を向上させることができ、さらに、優先順位更新処理を行わないのでタスクスタート時間の遅延を防ぐことができるものである。
【0045】
【発明の効果】
以上に説明したように、請求項1の発明によれば、外部信号源からの信号を入力する入力手段、所定のプログラムと外部信号源からの信号とにより演算を行う演算手段、この演算手段による演算結果を制御対象のアクチュエータ類に与えて制御する出力手段、タスク起動手段と記憶手段と演算手段とタイマを有すると共に、これらの動作を管理するリアルタイムオペレーティングシステムの管理手段を備え、制御対象の内の一つの制御対象を制御するための制御プログラムが一つのタスクとしてリアルタイムオペレーティングシステム上で動作し、管理手段にタイマからの割り込み要求により周期的に割り込みを行う割り込み手段と、この割り込み要求からの経過時間をカウントする時間経過判定手段とを備えており、この時間経過判定手段が経過時間を判定して周期的にタスクを起動する、または、管理手段にアラーム機能を有する所定時間設定タスクが設けられ、この所定時間設定タスクの設定時間により周期的にタスクを起動するので、RTOS上で動作するように構成されていない制御プログラムでも容易にRTOS上で動作するような構成に移植することができ、また、複数のタスクを使用した場合のように、タスクの状態を保存するためにRAMに対する待避の必要がなく、RAMの消費量を削減することが可能であり、またCPUの資源を有効に使用することができ、さらに、システム自体で時間管理することが可能になって時間調整を必要とせず、プログラムの変更は、アラーム機能を用いてタスクをスタートさせる変更を加えるだけでよく、制御処理に関する部分に変更を加える必要がない。
【0047】
さらにまた、請求項2の発明によれば、外部信号源からの信号入力手段と、所定のプログラムと外部信号源からの信号とにより演算を行う演算手段と、演算手段による演算結果を複数の制御対象に与えて制御する出力手段と、タスク起動手段や演算手段やタイマから構成されたRTOSの管理手段とを備え、複数の制御対象を制御するための制御プログラムが一つのタスクとしてRTOS上で動作するように構成されると共に、このタスクが、割り込み手段に周期的に割り込み要求するタイマの割り込み要求からの経過時間を判定する時間経過判定手段の判定結果、または、アラーム機能を備えた所定時間設定タスクの設定時間により周期的に起動するように構成したので、請求項1と同様の効果に加え、プログラム構成を大幅に変更することなく複数の制御対象を制御することができるものである。
【0048】
また、請求項3の発明によれば、外部信号源からの信号入力手段と、所定のプログラムと外部信号源からの信号とにより演算を行う演算手段と、演算手段による演算結果を複数の制御対象に与えて制御する出力手段と、タスク起動手段や演算手段やタイマから構成されたRTOSの管理手段とを備え、複数の制御対象のそれぞれに対応して制御する複数の制御プログラムが独立した複数のタスクを構成してRTOS上で動作するように構成されると共に、このそれぞれのタスクが、割り込み手段に周期的に割り込み要求するタイマの割り込み要求からの経過時間を判定する時間経過判定手段の判定結果、または、アラーム機能を備えた所定時間設定タスクの設定時間により周期的に、また、あらかじめ設定された優先順位に従って起動するように構成したので、各制御処理を他のプログラムに追加することが容易となり、制御プログラムの再利用性を向上させることができ、また、タスクの優先順位を動的に更新せずに予め決定しておくことにより、プログラムソースの可読性を向上させることができ、さらに、優先順位更新処理を行わないのでタスクスタート時間の遅延を防ぐことができるものである。
【図面の簡単な説明】
【図1】 この発明の実施の形態1による車両用制御装置のシステム構成図である。
【図2】 この発明の実施の形態1による車両用制御装置の制御内容を示すフローチャートである。
【図3】 この発明の実施の形態2による車両用制御装置のシステム構成図である。
【図4】 この発明の実施の形態2による車両用制御装置の制御内容を示すフローチャートである。
【図5】 この発明の実施の形態3による車両用制御装置のシステム構成図である。
【図6】 この発明の実施の形態3による車両用制御装置の制御内容を示すフローチャートである。
【図7】 この発明の実施の形態4による車両用制御装置のシステム構成図である。
【図8】 この発明の実施の形態4による車両用制御装置の制御内容を示すフローチャートである。
【図9】 この発明の実施の形態5による車両用制御装置のシステム構成図である。
【図10】 この発明の実施の形態5による車両用制御装置の制御内容を示すフローチャートである。
【符号の説明】
1、23 カーネル、2 CPU初期化手段、
3、24 RTOS初期化手段、4 スケジューラ、5 タスクa、
6、28 中央演算処理装置(CPU)
7 入出力ドライバ、8 アクチュエータ類、9 外部信号源、
10、22 内部割り込み手段、11 外部割り込み手段、
12 割り込みハンドラ、13、14、16、27 タイマ、
15、26 タイマ設定手段、17、21、29 割り込み手段、
18、30 カウンタ、19、31 所定時間経過判定手段、
20、32 所定時間設定タスク、25 タスクb。
【発明の属する技術分野】
この発明は、エンジン制御やオートマチックトランスミッション制御などの各タスクについて起動や時間やメモリなどの管理をリアルタイムオペレーティングシステム上で行う車両用制御装置に関するものである。
【0002】
【従来の技術】
車両の制御システムにおける制御プログラムは複数のタスクで構成されるのが通常であり、これらのタスクを有効利用するためにリアルタイムオペレーティングシステム(以下RTOSと称す)が用いられる。このような車両用のRTOSとしては、例えば、特開平10−105418号公報にその制御技術の一例が開示されている。この公報に開示された技術は、エンジンの各種センサから入力される情報に短時間に応答して複数のタスクの遷移状態を制御するRTOSを有するエンジン制御用の制御装置において、エンジン制御に使用される1つの基本タイマと、各種センサからの非同期系のイベントの他に、基本タイマの出力を用いて種々の周期の同期系イベントに対してイベントフラグをセットおよびクリアして複数のタスクの遷移状態を制御するイベントハンドラを備え、イベントハンドラは、基本タイマのカウンタのビット値を下位ビットに、そのカウント値のビット値を反転したものを上位ビットに設定したイベントフラグを形成し、このイベントフラグに設定されたビット値と予め設定されたビット値との論理積を取り、タスクを処理したいタイミングの決定を行うようにしたものである。
【0003】
このような手段を講じることにより、処理の遅れ時間がタスク処理周期を越えた場合には、自タスクの起動処理の優先度を上げて遅れを防止することができ、また、遅れ時間がタスク処理の周期を越え、次回のタスクの起動処理のタイミングの補正を行う場合には次回の起動処理を早くすることにより次々回のタスク処理への支障を少なくすることができると共に、制御プログラムのタイミング管理装置の規模の低減が可能であるとされている。
【0004】
【発明が解決しようとする課題】
しかし、このような従来の車両用制御装置においては、タスクの優先順位が動的に変更されるため、プログラムの可読性が良くないという課題が残り、また複数のタスクを制御するため、タスクの状態を待避して保存しておくために必要となる記憶装置としてのRAMの容量が増加することになり、また、新たにタスクを追加する場合には、タイミング処理の再設定を行う必要があり、制御内容の変更や追加時に効率的な開発ができないという問題があった。
【0005】
この発明は、このような課題を解決するためになされたもので、一つの制御対象に対してタスクを一つにすることによりRAMの容量増加を抑え、タスクの優先順位を動的に変更しない構成を取ることによりプログラムソースの可読性を向上させ、可能な限り少ないタスク数で制御処理を構成することにより、制御内容の変更時などにおいて、制御ソフトウェアのプログラム構成に大幅な変更を必要とせず、プログラムの開発効率を向上することが可能な車両用制御装置を得ることを目的とするものである。
【0006】
【課題を解決するための手段】
この発明に係わる車両用制御装置は、外部信号源からの信号を入力する入力手段、所定のプログラムと外部信号源からの信号とにより演算を行う演算手段、この演算手段による演算結果を制御対象のアクチュエータ類に与えて制御する出力手段、タスク起動手段と記憶手段と演算手段とタイマを有すると共に、これらの動作を管理するリアルタイムオペレーティングシステムの管理手段を備え、制御対象の内の一つの制御対象を制御するための制御プログラムが一つのタスクとしてリアルタイムオペレーティングシステム上で動作し、管理手段にタイマからの割り込み要求により周期的に割り込みを行う割り込み手段と、この割り込み要求からの経過時間をカウントする時間経過判定手段とを備えており、この時間経過判定手段が経過時間を判定して周期的にタスクを起動する、または、管理手段にアラーム機能を有する所定時間設定タスクが設けられ、この所定時間設定タスクの設定時間により周期的にタスクを起動するものである。
【0008】
また、外部信号源からの信号を入力する入力手段、所定のプログラムと外部信号源からの信号とにより演算を行う演算手段、この演算手段による演算結果を複数の制御対象のアクチュエータ類に与えて制御する出力手段、タスク起動手段と記憶手段と演算手段とタイマを有すると共に、これらの動作を管理するリアルタイムオペレーティングシステムの管理手段を備え、複数の制御対象を制御するための制御プログラムが一つのタスクとしてリアルタイムオペレーティングシステム上で動作するように構成されると共に、このタスクが、割り込み手段に周期的に割り込み要求するタイマの割り込み要求からの経過時間を判定する時間経過判定手段の判定結果、または、アラーム機能を備えた所定時間設定タスクの設定時間により、周期的に起動するように構成したものである。
【0009】
さらに、外部信号源からの信号を入力する入力手段、所定のプログラムと外部信号源からの信号とにより演算を行う演算手段、この演算手段による演算結果を複数の制御対象のアクチュエータ類に与えて制御する出力手段、タスク起動手段と記憶手段と演算手段とタイマを有すると共に、これらの動作を管理するリアルタイムオペレーティングシステムの管理手段を備え、複数の制御対象のそれぞれに対応して制御する複数の制御プログラムが独立した複数のタスクを構成してリアルタイムオペレーティングシステム上で動作するように構成されると共に、このそれぞれのタスクが、割り込み手段に周期的に割り込み要求するタイマの割り込み要求からの経過時間を判定する時間経過判定手段の判定結果、または、アラーム機能を備えた所定時間設定タスクの設定時間により、周期的に、また、あらかじめ設定された優先順位に従って起動するように構成したものである。
【0010】
【発明の実施の形態】
実施の形態1.
図1は、この発明の実施の形態1によるRTOSを用いた車両用制御装置のシステム構成図、図2はその制御内容を示すフローチャートである。図において、1はRTOSの機能の核となるカーネル、2はRTOSをスタートさせるための中央演算処理装置(以下CPUと称す)の初期化手段、3はRTOSのカーネル1がスタートして最初に動作するRTOS初期化手段、4はRTOS上に構成されているタスクの管理を行うスケジューラであり、5はRTOS上で動作するよう構成されている車両用制御タスクaを示しており、この実施の形態では車両用制御はエンジン制御を例にとっている。
【0011】
6はRTOSのカーネル1などが実装されるCPU、また、7は入出力ドライバで、CPU6を介してアクチュエータやバルブなどのアクチュエータ類8にデータを送ったり、センサやスイッチなどの外部信号源9からのデータをCPU6を介してタスクa5や内部割り込み処理手段10、および、外部割り込み処理手段11に送るためのものである。
【0012】
12は割り込みハンドラであり、割り込み要求が発生したときに実行されるべき割り込み処理を判断するもので、割り込み要求はCPU6の内蔵タイマ13により内部割り込み要求が発生し、外部信号源9からの入力信号により外部割り込み要求が発生する。CPU6から発生した割り込み要求に応じて、内部割り込み手段10により割り込み処理が実行され、また、外部信号源9からの入力信号により、外部割り込み手段11により割り込み処理が実行される。14はタイマであり、タイマ14はRTOSで扱うカウンタを設定するために使用されるものである。
【0013】
このように構成されたこの発明の実施の形態1の車両用制御装置において、電源が投入されると、まず、CPU初期化手段2によりCPU6が初期化される。次ぎにRTOS初期化手段3によりRTOSが初期化され、続いてスケジューラ4により管理されるタスクa5が予め決められた手順でスタートする。CPU6に内蔵されたタイマ13から割り込み要求が発生すると、割り込みハンドラ12で実行すべき割り込み処理が判断され、内部割り込み手段10により割り込み処理が実行される。外部システムからデータを送信する外部信号源9からの信号が入力されると、CPU6にて割り込み要求が発生して割り込みハンドラ12へ送信され、外部割り込み手段11により所望の割り込み処理が実行される。タスクa5と内部割り込み手段10と外部割り込み手段11とで演算された結果は入出力ドライバ7を経由し外部に接続されるアクチュエータ類8に送信され、また、外部信号源9から入力された情報は入出力ドライバ7を経由しタスクa5や各種割り込み手段10と11に送信される。
【0014】
これらの動作の一例を示したのが図2のフローチャートである。オペレーションシステムのスタートは図2の(a)に示すように、まずステップ201にてCPU6の初期化が行われる。続いてステップ202にてタスクa5の状態および優先順位などの情報を決定してRTOSが初期化され、タスクa5は自動的に最初にスタートするようにプログラムされているため、ステップ203にてスケジューラ4により次に起動すべきものがタスクa5であるとして選択され、ステップ204にてタスクa5がスタートする。
【0015】
タスクa5がスタートすると、図の(b)に示すようにタスクa5の処理が実行される。この処理は、まずステップ211において、制御を行うためにCPU6を初期化する処理が実行され、次ぎにステップ212にて制御プログラムが使用する割り込み処理手段を使用可能にする。続くステップ213においては、ステップ214とステップ215とが周期的に実行されるように、これらの処理が無限ループの構成となるべく処理され、ステップ214ではエンジン制御処理を行うステップ215にて処理を実行する前に、この処理をスタートする周期分プログラムを停止して時間調節し、その処理にはCPU6に内蔵されたタイマ13が使用される。続いて、ステップ215にてエンジン制御処理を実行し、ステップ214とステップ215とを繰り返す。
【0016】
このプログラムで行う割り込み処理には、タイマ13からの要求による内部割り込みと、外部に接続される外部信号源9からの入力情報を受け取って発生する外部割り込み処理とがある。図の(c)と(d)とはこれらの割り込み処理を説明するもので、内部、または、外部からの入力情報によりCPU6から割り込み要求が発生した場合、実行されていたエンジン制御処理のタスクa5を一時中断し、ステップ221、または、ステップ231にて割り込み処理を実行する。割り込み処理が終了すると、一時中断していたタスクa5の処理に制御を戻し、タスクa5の処理を行う。
【0017】
タスクa5は上記したようにエンジン制御処理を対象として構成されたタスクであり、一つの制御対象を制御する演算手段である。このように構成することによりRTOS上で動作するように構成されていない制御プログラムでもRTOS上で動作するような構成へ移植することが容易となり、また、複数のタスクを使用した場合のように、タスクの状態を保存するためのRAMに対する待避の必要がなく、RAMの消費量を削減することが可能であり、またCPUの資源を有効に使用することができることになる。
【0018】
実施の形態2.
図3は、この発明の実施の形態2のRTOSを用いた車両用制御装置のシステム構成図、図4は実施の形態2の制御内容を示すフローチャートであり、この実施の形態2は、車両用制御装置上に一つの制御対象を一つのタスクとして実装する場合において、RTOSの機能の一つであるアラーム機能を用いて周期的にタスクを起動するタスク起動方法に関するものであり、アラーム機能に、所定の時間を設定して所定時間毎に周期的に割り込みを行う所定時間経過判定手段を用いるようにし、この割り込みによりタスクを起動するようにしたものである。
【0019】
図3において、15はタイマ16の設定を行うタイマ設定手段、17はタイマ16の割り込み要求によりスタートする割り込み手段、18はこの割り込み手段17の割り込み処理中において経過した時間をカウントするカウンタ、19はタスクa5を周期的にスタートさせるために所定時間の経過を判定する所定時間経過判定手段であり、以上の各機能を付加した以外は上記の実施の形態1と同一の構成である。
【0020】
このような構成をもつこの発明の実施の形態2の車両用制御装置において、電源が投入されると、CPU初期化処理手段2によりCPU6が初期化され、次ぎにRTOS初期化手段3によりRTOSが初期化されるのは実施の形態1の場合と同様である。続いて、タイマ設定手段15がタイマ16を設定し、周期的(1単位時間毎)に割り込み要求を発生するようにする。割り込み手段17はタイマ16の再設定と、タスクa5を周期的にスタートさせるアラーム機能の設定を行い、また、この割り込み手段17が実行する割り込みの回数と経過時間とをカウンタ18によりカウントする。カウンタ18がカウントした値がタスクa5のスタート周期に達しているかどうかの判断を所定時間経過判定手段19が行い、所定時間が経過したと判定されるとタスクa5がスタートする。このように、所定時間経過判定手段19の判定によりタスクa5をスタートさせることと、タイマ16により周期的に割り込み要求を発生させること以外の動作については実施の形態1の場合と同様である。
【0021】
また、この実施の形態における動作の一例を示したのが図4のフローチャートである。なお、図4以降の各フローチャート図において、既出のステップ番号が併記してあるものについては既出の動作と同一動作であることを示している。RTOSのスタートは図4の(a)に示すように、まずステップ401にてCPU6の初期化が行われ、次ぎに、ステップ402にてタスクa5の状態および優先順位などの情報を決定してRTOSの初期化が行われ、ステップ403にて各種タイマの設定が行われる。ここで設定されるタイマの内、タイマ16はカウンタ18のカウント値をインクリメントする割り込み要求発生に使用される。続いてステップ404にてスケジューラ4が動作しタスクa5がスタートする。
【0022】
ステップ403にて設定されたタイマ16による割り込み要求発生により実行される割り込み処理を図4(c)の割り込み処理フローチャートに示している。割り込み要求が発生すると、まずステップ421において上記のステップ403にて設定したタイマ16を再設定する。続いてステップ422ではカウンタ18が単位時間+1のインクリメントでこの割り込み処理の実行回数をカウントし、さらに、この割り込み処理の実行回数をステップ423にて判断し、初回の処理であった場合には、ステップ424に進んでタスクa5を起動するための所定の時間(アラーム)を所定時間経過判定手段19に設定する。この時間設定後、および、ステップ423が初回の処理でないと判断したときにはステップ425でタスクa5を起動する所定時間の経過を所定時間経過判定手段19にて判断し、経過していた場合にはステップ426でタスクa5をスタートさせ、経過していなければリターンしてこの割り込みを繰り返す。
【0023】
タスクa5の動作は図4(b)に示す通りであり、ステップ411にてこのタスク起動の回数を判断し、最初の起動であればステップ412に示す初期設定を行い、その後ステップ413にてエンジン制御の制御プログラムが使用する割り込み処理手段を使用可能にする。最初の起動でなければ初期設定を行わずに、直接割り込み許可を行い、続いてステップ414にてエンジン制御を行ってタスクを終了する。また、図4の(d)と(e)とに示す外部割り込みと、内部割り込みとについては実施の形態1の場合と同様である。
【0024】
この実施の形態の車両用制御装置では以上のような構成と動作とを有するものであり、実施の形態1の効果に加え、アラーム機能を用いてタスクを周期的にスタートさせる機能を有しており、その設定を割り込み処理で実行するようにしたので、システム自体で時間管理することが可能になって時間調整を必要とせず、プログラムの変更はアラーム機能を用いてタスクをスタートさせる変更を加えるだけでよく、制御処理に関する部分に変更を加える必要がない。
【0025】
実施の形態3.
図5は、この発明の実施の形態3のRTOSを用いた車両用制御装置のシステム構成図、図6は実施の形態3の制御内容を示すフローチャートであり、この実施の形態3は、車両用制御装置上に一つの制御対象を一つのタスクとして実装する場合において、そのタスクがRTOSの機能の一つであり、周期的にタスクを起動するアラーム機能を使用し、さらに、アラーム機能の設定を所定時間設定タスクを付加して行うようにしたものであり、実施の形態2で示した図3に対してアラーム機能を設定するタスクである所定時間設定タスク20が付加され、そのために、アラーム機能の設定処理を行わずに経過時間のカウントのみを行い、タイマ16の割り込み要求によりスタートする割り込み手段21が実施の形態2の割り込み手段17に代わって設けられるようにしたものである。
【0026】
このような構成を持つ実施の形態3の車両用制御装置において、電源が投入されてからスケジューラ4が起動するまでは実施の形態2と同様である。次ぎに、実施の形態3では、アラームの設定を行う所定時間設定タスク20をRTOSがスタートして最初に起動されるよう構成されており、スケジューラ4によりまず所定時間設定タスク20がスタートする。この所定時間設定タスク20は、タスクa5を一定時間ごとに起動するアラーム機能を設定し、この設定内容を所定時間経過判定手段19に与える。タイマ16の割り込み要求が発生すると、タイマ割り込み手段21による割り込み処理が実行され、この割り込み処理によりカウンタ18が経過時間をカウントする。経過時間が所定の時間を経過すれば所定時間経過判定手段19が所定時間設定タスク20の設定内容から判定し、タスクa5をスタートする。それ以降の動作は実施の形態2の場合と同様である。
【0027】
この実施の形態3における動作の一例を示したのが図6のフローチャートである。RTOSのスタートは図6の(a)に示すように、まずステップ601にてCPU6の初期化が行われ、続いてステップ602にてタスクa5の状態および優先順位などの情報を決定してRTOSの初期化が行われ、ステップ603にてタイマ16の設定が行われる。ステップ604ではスケジューラ4が次に起動すべきものを採択し、ステップ605にて所定時間設定タスク20がスタートする。所定時間設定タスク20が所定時間周期でタスクa5を起動するのに必要な、アラームの設定を行うことにより、アラーム機能を使用してタスクa5を周期的に起動することを可能にする。
【0028】
所定時間設定タスク20は、図6の(b)に示すように、ステップ611にて制御プログラムが使用する割り込み処理手段を使用可能にし、ステップ612にてタスクa5を起動するための所定時間を設定する。また、割り込み手段21による割り込み処理は図6の(d)に示すように、ステップ631で割り込み処理の起動回数のカウントを行い、単位時間+1のインクリメントを行う。続いてステップ632ではタスクa5を起動する所定時間経過の判定を行い、経過していると判定された場合にはステップ633にてタスクa5をスタートさせ、経過していないと判定された場合には割り込みを行わずにリターンする。これらのルーチン以外の図の(c)(e)(f)については実施の形態2と同様である。
【0029】
この実施の形態の車両用制御装置では以上のようにアラーム機能を設定するタスクである所定時間設定タスク20を付加するようにしたので実施の形態2の場合と同様に、システム自体で時間管理することが可能になり、プログラムの変更はアラーム機能を用いてタスクをスタートさせる変更を加えるだけでよく、制御処理に関する部分に変更を加える必要がない。
【0030】
実施の形態4.
図7は、この発明の実施の形態4のRTOSを用いた車両用制御装置のシステム構成図、図8は実施の形態4の制御内容を示すフローチャートであり、この実施の形態は一つのタスクに複数の制御対象を実装するようにしたもので、例えばこの制御対象をエンジン制御とオートマチックトランスミッション制御とにした場合を一例としたものである。
【0031】
オートマチックトランスミッション制御もエンジン制御と同様に周期的に実行する。エンジン制御は実施の形態1ないし実施の形態3で説明したように、自動的にタスクa5をスタートさせ、タスクの処理に無限ループを用いる場合、割り込み処理でアラーム機能を設定してタスクをスタートさせる場合、アラーム設定に所定時間設定タスクを付加した場合のいずれの方法でも選択することができる。ここではエンジン制御処理を1つのタスクa5として実装し、タスクa5はアラーム機能を用いて周期的に起動され、割り込み処理でアラーム機能を設定する場合を一例としており、オートマチックトランスミッション制御を割り込み処理として周期的に起動し、この割り込みについては内部割り込みの一種として扱うように構成したものである。
【0032】
このために、図7の構成図において実施の形態2の図3と異なっている点は、内部割り込み手段22のみであり、内部割り込み手段22にはオートマチックトランスミッション制御が加わっている。また、動作内容についても内部割り込み処理にオートマチックトランスミッション制御処理が加わる以外は、実施の形態2と同様である。
【0033】
図8の、動作の一例を示すフローチャートも(a)ないし(e)は実施の形態2の図4と同様であり、オートマチックトランスミッション制御処理の内部割り込み処理を示す図8の(f)のみが追加されたものである。オートマチックトランスミッション制御処理の内部割り込みは、図の(f)に示したように、内部割り込みの一つとして制御割り込み要求が発生したときにはステップ851にてトランスミッション制御が行われる。この割り込みは上記したように周期的に行われ、図の(b)に示すステップ813にて割り込みが行われるものである。
【0034】
このようにこの実施の形態では複数の制御対象を一つのタスクとして構成したので、実施の形態2と同様の効果に加え、プログラム構成を大幅に変更することなく複数の制御対象を制御することができる車両用制御装置を得ることができるものである。
【0035】
実施の形態5.
図9は、この発明の実施の形態5のRTOSを用いた車両用制御装置のシステム構成図、図10は実施の形態5の制御内容を示すフローチャートであり、この実施の形態は複数のタスクと複数のアラームとを設定し、それぞれのタスクを周期的に起動させるようにしたもので、一例として周期的にプログラムを実行するエンジン制御とオートマチックトランスミッション制御とをそれぞれのタスクの制御対象とした場合を示している。
【0036】
図9において、23はRTOSの機能の核となるカーネル、2はRTOSをスタートするためのCPUの初期化手段、24はRTOSのカーネル23がスタートして最初に実行され、タスクa5とタスクb25との状態を設定するRTOS初期化手段、26はタスクa5とタスクb25とを周期的に起動させるため、タイマ16とタイマ27との設定を行うタイマ設定手段、4はRTOS上に構成されているタスク管理を行うスケジューラである。
【0037】
28はRTOSのカーネル23などが実装されるCPU、7はCPU28を介してアクチュエータ類8にデータを送り、外部信号源9からのデータをCPU28を介してタスクa5やタスクb25などに送る入出力ドライバ、17はタイマ16の割り込み要求によりスタートする割り込み手段、29はタイマ27の割り込み要求によりスタートする割り込み手段、18と30とは割り込み手段17と29との割り込み処理中において経過した時間をカウントするカウンタ、31はタスクa5とタスクb25とを周期的にスタートさせるために所定時間の経過を判定する所定時間経過判定手段aと所定時間経過判定手段bとを有する所定時間経過判定手段である。
【0038】
32はタスクa5とタスクb25とを所定時間毎にスタートさせるためのアラーム機能の設定を行う所定時間設定タスク、12は割り込み要求が発生したときに実行されるべき割り込み処理を判断する割り込みハンドラで、割り込み要求はCPU28の内蔵タイマ13により割り込み要求が発生し、外部信号源9からの入力信号により外部割り込み要求が発生する。CPU28から発生した割り込み要求に応じて、内部割り込み手段10により、また、外部割り込み手段11により割り込み処理が実行される。14はタイマであり、タイマ14はRTOSで扱うカウンタを設定するために使用されるものである。
【0039】
このような構成を持つこの発明の実施の形態5の車両用制御装置において、まず電源が投入されるとCPU初期化手段2とRTOS初期化手段24とによる初期化が行われ、続いて、タイマ設定手段26によりタスクa5とタスクb25とをアラーム機能を用いてスタートさせるタイマ16とタイマ27とを設定し、タスクa5とタスクb25とを周期的にスタートさせるために割り込み手段17と29とで所定時間のカウントを行う。続いてスケジューラ4がスタートし、アラーム機能の設定を行う所定時間設定タスク32によりタスクa5とタスクb25とを周期的にスタートさせるために必要なアラーム機能の設定を行う。そして、所定時間経過の判定処理を行う所定時間経過判定手段31により所定時間が経過したと判断された場合、タスクa5とタスクb25とが周期的に起動される。
【0040】
図10は、この実施の形態の動作の一例を示すもので、RTOSのスタートは図10の(a)に示すように、まずステップ901にてCPU28の初期化が行われ、ステップ902にてRTOSの初期化が行われる。ステップ903ではタスクa5とタスクb25とをスタートさせるアラーム機能に使用させるためのタイマの設定が行われるが、このタイマはタイマ16とタイマ27とである。ステップ904ではスケジューラ4が実行に移され、ここではアラーム機能の設定を行う所定時間設定タスク32を最初に実行するよう構成されているために、ステップ905ではスケジューラ4が所定時間設定タスク32をスタートさせる。
【0041】
所定時間設定タスク32の実行は図10の(b)に示すように、ステップ911にてエンジン制御とオートマチックトランスミッション制御とで使用される割り込みが許可され、ステップ912にてタスクa5とタスクb25とを周期的に起動するための所定時間設定(アラーム機能の設定)が行われ、本タスクを終了する。
【0042】
図10の(e)は、タスクを周期的に起動するためのタイマ16と27とが発生する割り込み要求に応じて割り込みを行うフローチャートであり、タスクa5をスタートする場合もタスクb25をスタートする場合も同様である。タイマ16による割り込み手段17及びタイマ27による割り込み手段29では、タイマによる割り込み要求が発生すると、ステップ941にて単位時間カウントを行い、ステップ942では所定時間が経過したかどうかを判定し、経過していた場合はステップ943にてタスクa5もしくはタスクb25をスタートし、経過していない場合にはリターンしてルーチンを繰り返す。
【0043】
図10の(c)はタスクa5の動作の一例を示すもので、タスクa5は図10の(b)に示したフローチャートで設定した所定時間が経過する毎に起動され、ステップ921でこのタスクの起動回数を判断し、初めて起動される場合はステップ922にて初期設定を行い、ステップ923にて割り込み許可を実行する。起動回数が二度目以降であるならば、初期設定を行わずに直接ステップ923にて割り込み許可を実行し、続いて、ステップ924にてエンジン制御処理を実行する。図10(d)に示したタスクb25の動作は、タスクa5の場合と同様に所定時間が経過する毎にスタートし、ステップ931にてオートマチックトランスミッション制御処理を行いタスクを終了する。なお、図の(f)と(g)とに示す割り込み処理は実施の形態2の図4に示したものと同一である。
【0044】
以上のように、実施の形態5による車両用制御装置においては、複数の制御対象を複数のタスクとして構成したので、各制御処理を他のプログラムに追加することが容易となり、制御プログラムの再利用性を向上させることができ、また、タスクの優先順位を動的に更新せずにあらかじめ決定しておくことにより、プログラムソースの可読性を向上させることができ、さらに、優先順位更新処理を行わないのでタスクスタート時間の遅延を防ぐことができるものである。
【0045】
【発明の効果】
以上に説明したように、請求項1の発明によれば、外部信号源からの信号を入力する入力手段、所定のプログラムと外部信号源からの信号とにより演算を行う演算手段、この演算手段による演算結果を制御対象のアクチュエータ類に与えて制御する出力手段、タスク起動手段と記憶手段と演算手段とタイマを有すると共に、これらの動作を管理するリアルタイムオペレーティングシステムの管理手段を備え、制御対象の内の一つの制御対象を制御するための制御プログラムが一つのタスクとしてリアルタイムオペレーティングシステム上で動作し、管理手段にタイマからの割り込み要求により周期的に割り込みを行う割り込み手段と、この割り込み要求からの経過時間をカウントする時間経過判定手段とを備えており、この時間経過判定手段が経過時間を判定して周期的にタスクを起動する、または、管理手段にアラーム機能を有する所定時間設定タスクが設けられ、この所定時間設定タスクの設定時間により周期的にタスクを起動するので、RTOS上で動作するように構成されていない制御プログラムでも容易にRTOS上で動作するような構成に移植することができ、また、複数のタスクを使用した場合のように、タスクの状態を保存するためにRAMに対する待避の必要がなく、RAMの消費量を削減することが可能であり、またCPUの資源を有効に使用することができ、さらに、システム自体で時間管理することが可能になって時間調整を必要とせず、プログラムの変更は、アラーム機能を用いてタスクをスタートさせる変更を加えるだけでよく、制御処理に関する部分に変更を加える必要がない。
【0047】
さらにまた、請求項2の発明によれば、外部信号源からの信号入力手段と、所定のプログラムと外部信号源からの信号とにより演算を行う演算手段と、演算手段による演算結果を複数の制御対象に与えて制御する出力手段と、タスク起動手段や演算手段やタイマから構成されたRTOSの管理手段とを備え、複数の制御対象を制御するための制御プログラムが一つのタスクとしてRTOS上で動作するように構成されると共に、このタスクが、割り込み手段に周期的に割り込み要求するタイマの割り込み要求からの経過時間を判定する時間経過判定手段の判定結果、または、アラーム機能を備えた所定時間設定タスクの設定時間により周期的に起動するように構成したので、請求項1と同様の効果に加え、プログラム構成を大幅に変更することなく複数の制御対象を制御することができるものである。
【0048】
また、請求項3の発明によれば、外部信号源からの信号入力手段と、所定のプログラムと外部信号源からの信号とにより演算を行う演算手段と、演算手段による演算結果を複数の制御対象に与えて制御する出力手段と、タスク起動手段や演算手段やタイマから構成されたRTOSの管理手段とを備え、複数の制御対象のそれぞれに対応して制御する複数の制御プログラムが独立した複数のタスクを構成してRTOS上で動作するように構成されると共に、このそれぞれのタスクが、割り込み手段に周期的に割り込み要求するタイマの割り込み要求からの経過時間を判定する時間経過判定手段の判定結果、または、アラーム機能を備えた所定時間設定タスクの設定時間により周期的に、また、あらかじめ設定された優先順位に従って起動するように構成したので、各制御処理を他のプログラムに追加することが容易となり、制御プログラムの再利用性を向上させることができ、また、タスクの優先順位を動的に更新せずに予め決定しておくことにより、プログラムソースの可読性を向上させることができ、さらに、優先順位更新処理を行わないのでタスクスタート時間の遅延を防ぐことができるものである。
【図面の簡単な説明】
【図1】 この発明の実施の形態1による車両用制御装置のシステム構成図である。
【図2】 この発明の実施の形態1による車両用制御装置の制御内容を示すフローチャートである。
【図3】 この発明の実施の形態2による車両用制御装置のシステム構成図である。
【図4】 この発明の実施の形態2による車両用制御装置の制御内容を示すフローチャートである。
【図5】 この発明の実施の形態3による車両用制御装置のシステム構成図である。
【図6】 この発明の実施の形態3による車両用制御装置の制御内容を示すフローチャートである。
【図7】 この発明の実施の形態4による車両用制御装置のシステム構成図である。
【図8】 この発明の実施の形態4による車両用制御装置の制御内容を示すフローチャートである。
【図9】 この発明の実施の形態5による車両用制御装置のシステム構成図である。
【図10】 この発明の実施の形態5による車両用制御装置の制御内容を示すフローチャートである。
【符号の説明】
1、23 カーネル、2 CPU初期化手段、
3、24 RTOS初期化手段、4 スケジューラ、5 タスクa、
6、28 中央演算処理装置(CPU)
7 入出力ドライバ、8 アクチュエータ類、9 外部信号源、
10、22 内部割り込み手段、11 外部割り込み手段、
12 割り込みハンドラ、13、14、16、27 タイマ、
15、26 タイマ設定手段、17、21、29 割り込み手段、
18、30 カウンタ、19、31 所定時間経過判定手段、
20、32 所定時間設定タスク、25 タスクb。
Claims (3)
- 外部信号源からの信号を入力する入力手段、所定のプログラムと前記外部信号源からの信号とにより演算を行う演算手段、この演算手段による演算結果を制御対象のアクチュエータ類に与えて制御する出力手段、タスク起動手段と記憶手段と前記演算手段とタイマを有すると共に、これらの動作を管理するリアルタイムオペレーティングシステムの管理手段を備え、前記制御対象の内の一つの制御対象を制御するための制御プログラムが一つのタスクとして前記リアルタイムオペレーティングシステム上で動作し、管理手段にタイマからの割り込み要求により周期的に割り込みを行う割り込み手段と、この割り込み要求からの経過時間をカウントする時間経過判定手段とを備えており、この時間経過判定手段が経過時間を判定して周期的にタスクを起動する、または、管理手段にアラーム機能を有する所定時間設定タスクが設けられ、この所定時間設定タスクの設定時間により周期的にタスクを起動することを特徴とする車両用制御装置。
- 外部信号源からの信号を入力する入力手段、所定のプログラムと前記外部信号源からの信号とにより演算を行う演算手段、この演算手段による演算結果を複数の制御対象のアクチュエータ類に与えて制御する出力手段、タスク起動手段と記憶手段と前記演算手段とタイマを有すると共に、これらの動作を管理するリアルタイムオペレーティングシステムの管理手段を備え、前記複数の制御対象を制御するための制御プログラムが一つのタスクとして前記リアルタイムオペレーティングシステム上で動作するように構成されると共に、このタスクが、割り込み手段に周期的に割り込み要求するタイマの割り込み要求からの経過時間を判定する時間経過判定手段の判定結果、または、アラーム機能を備えた所定時間設定タスクの設定時間により、周期的に起動するように構成したことを特徴とする車両用制御装置。
- 外部信号源からの信号を入力する入力手段、所定のプログラムと前記外部信号源からの信号とにより演算を行う演算手段、この演算手段による演算結果を複数の制御対象のアクチュエータ類に与えて制御する出力手段、タスク起動手段と記憶手段と前記演算手段とタイマを有すると共に、これらの動作を管理するリアルタイムオペレーティングシステムの管理手段を備え、前記複数の制御対象のそれぞれに対応して制御する複数の制御プログラムが独立した複数のタスクを構成して前記リアルタイムオペレーティングシステム上で動作するように構成されると共に、このそれぞれのタスクが、割り込み手段に周期的に割り込み要求するタイマの割り込み要求からの経過時間を判定する時間経過判定手段の判定結果、または、アラーム機能を備えた所定時間設定タスクの設定時間により、周期的に、また、あらかじめ設定された優先順位に従って起動するように構成したことを特徴とする車両用制御装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000328429A JP3890877B2 (ja) | 2000-10-27 | 2000-10-27 | 車両用制御装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000328429A JP3890877B2 (ja) | 2000-10-27 | 2000-10-27 | 車両用制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002132306A JP2002132306A (ja) | 2002-05-10 |
JP3890877B2 true JP3890877B2 (ja) | 2007-03-07 |
Family
ID=18805285
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000328429A Expired - Fee Related JP3890877B2 (ja) | 2000-10-27 | 2000-10-27 | 車両用制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3890877B2 (ja) |
-
2000
- 2000-10-27 JP JP2000328429A patent/JP3890877B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2002132306A (ja) | 2002-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR970016979A (ko) | 다중 처리 시스템에서 타스크의 큐잉 시스템 및 방법 | |
EP3391211B1 (en) | Controlling scheduling of a gpu | |
US5448743A (en) | General I/O port interrupt mechanism | |
CN112199170B (zh) | 实时操作系统的定时处理方法、装置、设备及存储介质 | |
JP2001256067A (ja) | プロセッサ省電力制御方法、記憶媒体、およびプロセッサ省電力制御装置 | |
WO2012113232A1 (zh) | 调整时钟中断周期的方法和装置 | |
US20040031034A1 (en) | System, method and software for reducing interrupt latency while polling in system management mode | |
US20050028159A1 (en) | Memory managing system and task controller in multitask system | |
JP4523910B2 (ja) | 並列処理装置及び並列処理方法及び並列処理プログラム | |
WO2005099334A2 (en) | Event handling mechanism | |
JP3890877B2 (ja) | 車両用制御装置 | |
JP6669705B2 (ja) | 数値制御装置 | |
CN110192183B (zh) | 计算机装置、任务启动方法以及计算机可读的存储介质 | |
JP2000207174A (ja) | 電子制御装置 | |
JP2636722B2 (ja) | マルチタスク実行管理方式 | |
JPH06168047A (ja) | コンピュータ装置のタイミング基準設定方法及び装置 | |
JP2001092676A (ja) | 組み込みプログラムにおけるタスク管理システム | |
JP2868447B2 (ja) | トランザクション処理タスク数制御方式 | |
JP2002268898A (ja) | 車両用制御装置 | |
JP2018106310A (ja) | メモリ制御装置 | |
KR101119458B1 (ko) | 비동기 통신 기술 | |
JP4535663B2 (ja) | ステートマシン制御方式およびステートマシン | |
JP2006163983A (ja) | リアルタイムosシミュレーション方式 | |
JP2013167945A (ja) | 情報処理装置、タスク起床制御方法、及びタスク起動制御プログラム | |
EP1450255B1 (en) | Microcontroller device for complex processing procedures and corresponding interrupt management process |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060808 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061002 |
|
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: 20061114 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20061127 |
|
LAPS | Cancellation because of no payment of annual fees |