(57)【特許請求の範囲】
【請求項１】
外部信号源からの信号を入力する入力手段、所定のプログラムと前記外部信号源からの信号とにより演算を行う演算手段、この演算手段による演算結果を制御対象のアクチュエータ類に与えて制御する出力手段、タスク起動手段と記憶手段と前記演算手段とタイマを有すると共に、これらの動作を管理するリアルタイムオペレーティングシステムの管理手段を備え、前記制御対象の内の一つの制御対象を制御するための制御プログラムが一つのタスクとして前記リアルタイムオペレーティングシステム上で動作し、管理手段にタイマからの割り込み要求により周期的に割り込みを行う割り込み手段と、この割り込み要求からの経過時間をカウントする時間経過判定手段とを備えており、この時間経過判定手段が経過時間を判定して周期的にタスクを起動する、または、管理手段にアラーム機能を有する所定時間設定タスクが設けられ、この所定時間設定タスクの設定時間により周期的にタスクを起動することを特徴とする車両用制御装置。
【請求項２】
外部信号源からの信号を入力する入力手段、所定のプログラムと前記外部信号源からの信号とにより演算を行う演算手段、この演算手段による演算結果を複数の制御対象のアクチュエータ類に与えて制御する出力手段、タスク起動手段と記憶手段と前記演算手段とタイマを有すると共に、これらの動作を管理するリアルタイムオペレーティングシステムの管理手段を備え、前記複数の制御対象を制御するための制御プログラムが一つのタスクとして前記リアルタイムオペレーティングシステム上で動作するように構成されると共に、このタスクが、割り込み手段に周期的に割り込み要求するタイマの割り込み要求からの経過時間を判定する時間経過判定手段の判定結果、または、アラーム機能を備えた所定時間設定タスクの設定時間により、周期的に起動するように構成したことを特徴とする車両用制御装置。
【請求項３】
外部信号源からの信号を入力する入力手段、所定のプログラムと前記外部信号源からの信号とにより演算を行う演算手段、この演算手段による演算結果を複数の制御対象のアクチュエータ類に与えて制御する出力手段、タスク起動手段と記憶手段と前記演算手段とタイマを有すると共に、これらの動作を管理するリアルタイムオペレーティングシステムの管理手段を備え、前記複数の制御対象のそれぞれに対応して制御する複数の制御プログラムが独立した複数のタスクを構成して前記リアルタイムオペレーティングシステム上で動作するように構成されると共に、このそれぞれのタスクが、割り込み手段に周期的に割り込み要求するタイマの割り込み要求からの経過時間を判定する時間経過判定手段の判定結果、または、アラーム機能を備えた所定時間設定タスクの設定時間により、周期的に、また、あらかじめ設定された優先順位に従って起動するように構成したことを特徴とする車両用制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、エンジン制御やオートマチックトランスミッション制御などの各タスクについて起動や時間やメモリなどの管理をリアルタイムオペレーティングシステム上で行う車両用制御装置に関するものである。
【０００２】
【従来の技術】
車両の制御システムにおける制御プログラムは複数のタスクで構成されるのが通常であり、これらのタスクを有効利用するためにリアルタイムオペレーティングシステム（以下ＲＴＯＳと称す）が用いられる。このような車両用のＲＴＯＳとしては、例えば、特開平１０−１０５４１８号公報にその制御技術の一例が開示されている。この公報に開示された技術は、エンジンの各種センサから入力される情報に短時間に応答して複数のタスクの遷移状態を制御するＲＴＯＳを有するエンジン制御用の制御装置において、エンジン制御に使用される１つの基本タイマと、各種センサからの非同期系のイベントの他に、基本タイマの出力を用いて種々の周期の同期系イベントに対してイベントフラグをセットおよびクリアして複数のタスクの遷移状態を制御するイベントハンドラを備え、イベントハンドラは、基本タイマのカウンタのビット値を下位ビットに、そのカウント値のビット値を反転したものを上位ビットに設定したイベントフラグを形成し、このイベントフラグに設定されたビット値と予め設定されたビット値との論理積を取り、タスクを処理したいタイミングの決定を行うようにしたものである。
【０００３】
このような手段を講じることにより、処理の遅れ時間がタスク処理周期を越えた場合には、自タスクの起動処理の優先度を上げて遅れを防止することができ、また、遅れ時間がタスク処理の周期を越え、次回のタスクの起動処理のタイミングの補正を行う場合には次回の起動処理を早くすることにより次々回のタスク処理への支障を少なくすることができると共に、制御プログラムのタイミング管理装置の規模の低減が可能であるとされている。
【０００４】
【発明が解決しようとする課題】
しかし、このような従来の車両用制御装置においては、タスクの優先順位が動的に変更されるため、プログラムの可読性が良くないという課題が残り、また複数のタスクを制御するため、タスクの状態を待避して保存しておくために必要となる記憶装置としてのＲＡＭの容量が増加することになり、また、新たにタスクを追加する場合には、タイミング処理の再設定を行う必要があり、制御内容の変更や追加時に効率的な開発ができないという問題があった。
【０００５】
この発明は、このような課題を解決するためになされたもので、一つの制御対象に対してタスクを一つにすることによりＲＡＭの容量増加を抑え、タスクの優先順位を動的に変更しない構成を取ることによりプログラムソースの可読性を向上させ、可能な限り少ないタスク数で制御処理を構成することにより、制御内容の変更時などにおいて、制御ソフトウェアのプログラム構成に大幅な変更を必要とせず、プログラムの開発効率を向上することが可能な車両用制御装置を得ることを目的とするものである。
【０００６】
【課題を解決するための手段】
この発明に係わる車両用制御装置は、外部信号源からの信号を入力する入力手段、所定のプログラムと外部信号源からの信号とにより演算を行う演算手段、この演算手段による演算結果を制御対象のアクチュエータ類に与えて制御する出力手段、タスク起動手段と記憶手段と演算手段とタイマを有すると共に、これらの動作を管理するリアルタイムオペレーティングシステムの管理手段を備え、制御対象の内の一つの制御対象を制御するための制御プログラムが一つのタスクとしてリアルタイムオペレーティングシステム上で動作し、管理手段にタイマからの割り込み要求により周期的に割り込みを行う割り込み手段と、この割り込み要求からの経過時間をカウントする時間経過判定手段とを備えており、この時間経過判定手段が経過時間を判定して周期的にタスクを起動する、または、管理手段にアラーム機能を有する所定時間設定タスクが設けられ、この所定時間設定タスクの設定時間により周期的にタスクを起動するものである。
【０００８】
また、外部信号源からの信号を入力する入力手段、所定のプログラムと外部信号源からの信号とにより演算を行う演算手段、この演算手段による演算結果を複数の制御対象のアクチュエータ類に与えて制御する出力手段、タスク起動手段と記憶手段と演算手段とタイマを有すると共に、これらの動作を管理するリアルタイムオペレーティングシステムの管理手段を備え、複数の制御対象を制御するための制御プログラムが一つのタスクとしてリアルタイムオペレーティングシステム上で動作するように構成されると共に、このタスクが、割り込み手段に周期的に割り込み要求するタイマの割り込み要求からの経過時間を判定する時間経過判定手段の判定結果、または、アラーム機能を備えた所定時間設定タスクの設定時間により、周期的に起動するように構成したものである。
【０００９】
さらに、外部信号源からの信号を入力する入力手段、所定のプログラムと外部信号源からの信号とにより演算を行う演算手段、この演算手段による演算結果を複数の制御対象のアクチュエータ類に与えて制御する出力手段、タスク起動手段と記憶手段と演算手段とタイマを有すると共に、これらの動作を管理するリアルタイムオペレーティングシステムの管理手段を備え、複数の制御対象のそれぞれに対応して制御する複数の制御プログラムが独立した複数のタスクを構成してリアルタイムオペレーティングシステム上で動作するように構成されると共に、このそれぞれのタスクが、割り込み手段に周期的に割り込み要求するタイマの割り込み要求からの経過時間を判定する時間経過判定手段の判定結果、または、アラーム機能を備えた所定時間設定タスクの設定時間により、周期的に、また、あらかじめ設定された優先順位に従って起動するように構成したものである。
【００１０】
【発明の実施の形態】
実施の形態１．
図１は、この発明の実施の形態１によるＲＴＯＳを用いた車両用制御装置のシステム構成図、図２はその制御内容を示すフローチャートである。図において、１はＲＴＯＳの機能の核となるカーネル、２はＲＴＯＳをスタートさせるための中央演算処理装置（以下ＣＰＵと称す）の初期化手段、３はＲＴＯＳのカーネル１がスタートして最初に動作するＲＴＯＳ初期化手段、４はＲＴＯＳ上に構成されているタスクの管理を行うスケジューラであり、５はＲＴＯＳ上で動作するよう構成されている車両用制御タスクａを示しており、この実施の形態では車両用制御はエンジン制御を例にとっている。
【００１１】
６はＲＴＯＳのカーネル１などが実装されるＣＰＵ、また、７は入出力ドライバで、ＣＰＵ６を介してアクチュエータやバルブなどのアクチュエータ類８にデータを送ったり、センサやスイッチなどの外部信号源９からのデータをＣＰＵ６を介してタスクａ５や内部割り込み処理手段１０、および、外部割り込み処理手段１１に送るためのものである。
【００１２】
１２は割り込みハンドラであり、割り込み要求が発生したときに実行されるべき割り込み処理を判断するもので、割り込み要求はＣＰＵ６の内蔵タイマ１３により内部割り込み要求が発生し、外部信号源９からの入力信号により外部割り込み要求が発生する。ＣＰＵ６から発生した割り込み要求に応じて、内部割り込み手段１０により割り込み処理が実行され、また、外部信号源９からの入力信号により、外部割り込み手段１１により割り込み処理が実行される。１４はタイマであり、タイマ１４はＲＴＯＳで扱うカウンタを設定するために使用されるものである。
【００１３】
このように構成されたこの発明の実施の形態１の車両用制御装置において、電源が投入されると、まず、ＣＰＵ初期化手段２によりＣＰＵ６が初期化される。次ぎにＲＴＯＳ初期化手段３によりＲＴＯＳが初期化され、続いてスケジューラ４により管理されるタスクａ５が予め決められた手順でスタートする。ＣＰＵ６に内蔵されたタイマ１３から割り込み要求が発生すると、割り込みハンドラ１２で実行すべき割り込み処理が判断され、内部割り込み手段１０により割り込み処理が実行される。外部システムからデータを送信する外部信号源９からの信号が入力されると、ＣＰＵ６にて割り込み要求が発生して割り込みハンドラ１２へ送信され、外部割り込み手段１１により所望の割り込み処理が実行される。タスクａ５と内部割り込み手段１０と外部割り込み手段１１とで演算された結果は入出力ドライバ７を経由し外部に接続されるアクチュエータ類８に送信され、また、外部信号源９から入力された情報は入出力ドライバ７を経由しタスクａ５や各種割り込み手段１０と１１に送信される。
【００１４】
これらの動作の一例を示したのが図２のフローチャートである。オペレーションシステムのスタートは図２の（ａ）に示すように、まずステップ２０１にてＣＰＵ６の初期化が行われる。続いてステップ２０２にてタスクａ５の状態および優先順位などの情報を決定してＲＴＯＳが初期化され、タスクａ５は自動的に最初にスタートするようにプログラムされているため、ステップ２０３にてスケジューラ４により次に起動すべきものがタスクａ５であるとして選択され、ステップ２０４にてタスクａ５がスタートする。
【００１５】
タスクａ５がスタートすると、図の（ｂ）に示すようにタスクａ５の処理が実行される。この処理は、まずステップ２１１において、制御を行うためにＣＰＵ６を初期化する処理が実行され、次ぎにステップ２１２にて制御プログラムが使用する割り込み処理手段を使用可能にする。続くステップ２１３においては、ステップ２１４とステップ２１５とが周期的に実行されるように、これらの処理が無限ループの構成となるべく処理され、ステップ２１４ではエンジン制御処理を行うステップ２１５にて処理を実行する前に、この処理をスタートする周期分プログラムを停止して時間調節し、その処理にはＣＰＵ６に内蔵されたタイマ１３が使用される。続いて、ステップ２１５にてエンジン制御処理を実行し、ステップ２１４とステップ２１５とを繰り返す。
【００１６】
このプログラムで行う割り込み処理には、タイマ１３からの要求による内部割り込みと、外部に接続される外部信号源９からの入力情報を受け取って発生する外部割り込み処理とがある。図の（ｃ）と（ｄ）とはこれらの割り込み処理を説明するもので、内部、または、外部からの入力情報によりＣＰＵ６から割り込み要求が発生した場合、実行されていたエンジン制御処理のタスクａ５を一時中断し、ステップ２２１、または、ステップ２３１にて割り込み処理を実行する。割り込み処理が終了すると、一時中断していたタスクａ５の処理に制御を戻し、タスクａ５の処理を行う。
【００１７】
タスクａ５は上記したようにエンジン制御処理を対象として構成されたタスクであり、一つの制御対象を制御する演算手段である。このように構成することによりＲＴＯＳ上で動作するように構成されていない制御プログラムでもＲＴＯＳ上で動作するような構成へ移植することが容易となり、また、複数のタスクを使用した場合のように、タスクの状態を保存するためのＲＡＭに対する待避の必要がなく、ＲＡＭの消費量を削減することが可能であり、またＣＰＵの資源を有効に使用することができることになる。
【００１８】
実施の形態２．
図３は、この発明の実施の形態２のＲＴＯＳを用いた車両用制御装置のシステム構成図、図４は実施の形態２の制御内容を示すフローチャートであり、この実施の形態２は、車両用制御装置上に一つの制御対象を一つのタスクとして実装する場合において、ＲＴＯＳの機能の一つであるアラーム機能を用いて周期的にタスクを起動するタスク起動方法に関するものであり、アラーム機能に、所定の時間を設定して所定時間毎に周期的に割り込みを行う所定時間経過判定手段を用いるようにし、この割り込みによりタスクを起動するようにしたものである。
【００１９】
図３において、１５はタイマ１６の設定を行うタイマ設定手段、１７はタイマ１６の割り込み要求によりスタートする割り込み手段、１８はこの割り込み手段１７の割り込み処理中において経過した時間をカウントするカウンタ、１９はタスクａ５を周期的にスタートさせるために所定時間の経過を判定する所定時間経過判定手段であり、以上の各機能を付加した以外は上記の実施の形態１と同一の構成である。
【００２０】
このような構成をもつこの発明の実施の形態２の車両用制御装置において、電源が投入されると、ＣＰＵ初期化処理手段２によりＣＰＵ６が初期化され、次ぎにＲＴＯＳ初期化手段３によりＲＴＯＳが初期化されるのは実施の形態１の場合と同様である。続いて、タイマ設定手段１５がタイマ１６を設定し、周期的（１単位時間毎）に割り込み要求を発生するようにする。割り込み手段１７はタイマ１６の再設定と、タスクａ５を周期的にスタートさせるアラーム機能の設定を行い、また、この割り込み手段１７が実行する割り込みの回数と経過時間とをカウンタ１８によりカウントする。カウンタ１８がカウントした値がタスクａ５のスタート周期に達しているかどうかの判断を所定時間経過判定手段１９が行い、所定時間が経過したと判定されるとタスクａ５がスタートする。このように、所定時間経過判定手段１９の判定によりタスクａ５をスタートさせることと、タイマ１６により周期的に割り込み要求を発生させること以外の動作については実施の形態１の場合と同様である。
【００２１】
また、この実施の形態における動作の一例を示したのが図４のフローチャートである。なお、図４以降の各フローチャート図において、既出のステップ番号が併記してあるものについては既出の動作と同一動作であることを示している。ＲＴＯＳのスタートは図４の（ａ）に示すように、まずステップ４０１にてＣＰＵ６の初期化が行われ、次ぎに、ステップ４０２にてタスクａ５の状態および優先順位などの情報を決定してＲＴＯＳの初期化が行われ、ステップ４０３にて各種タイマの設定が行われる。ここで設定されるタイマの内、タイマ１６はカウンタ１８のカウント値をインクリメントする割り込み要求発生に使用される。続いてステップ４０４にてスケジューラ４が動作しタスクａ５がスタートする。
【００２２】
ステップ４０３にて設定されたタイマ１６による割り込み要求発生により実行される割り込み処理を図４（ｃ）の割り込み処理フローチャートに示している。割り込み要求が発生すると、まずステップ４２１において上記のステップ４０３にて設定したタイマ１６を再設定する。続いてステップ４２２ではカウンタ１８が単位時間＋１のインクリメントでこの割り込み処理の実行回数をカウントし、さらに、この割り込み処理の実行回数をステップ４２３にて判断し、初回の処理であった場合には、ステップ４２４に進んでタスクａ５を起動するための所定の時間（アラーム）を所定時間経過判定手段１９に設定する。この時間設定後、および、ステップ４２３が初回の処理でないと判断したときにはステップ４２５でタスクａ５を起動する所定時間の経過を所定時間経過判定手段１９にて判断し、経過していた場合にはステップ４２６でタスクａ５をスタートさせ、経過していなければリターンしてこの割り込みを繰り返す。
【００２３】
タスクａ５の動作は図４（ｂ）に示す通りであり、ステップ４１１にてこのタスク起動の回数を判断し、最初の起動であればステップ４１２に示す初期設定を行い、その後ステップ４１３にてエンジン制御の制御プログラムが使用する割り込み処理手段を使用可能にする。最初の起動でなければ初期設定を行わずに、直接割り込み許可を行い、続いてステップ４１４にてエンジン制御を行ってタスクを終了する。また、図４の（ｄ）と（ｅ）とに示す外部割り込みと、内部割り込みとについては実施の形態１の場合と同様である。
【００２４】
この実施の形態の車両用制御装置では以上のような構成と動作とを有するものであり、実施の形態１の効果に加え、アラーム機能を用いてタスクを周期的にスタートさせる機能を有しており、その設定を割り込み処理で実行するようにしたので、システム自体で時間管理することが可能になって時間調整を必要とせず、プログラムの変更はアラーム機能を用いてタスクをスタートさせる変更を加えるだけでよく、制御処理に関する部分に変更を加える必要がない。
【００２５】
実施の形態３．
図５は、この発明の実施の形態３のＲＴＯＳを用いた車両用制御装置のシステム構成図、図６は実施の形態３の制御内容を示すフローチャートであり、この実施の形態３は、車両用制御装置上に一つの制御対象を一つのタスクとして実装する場合において、そのタスクがＲＴＯＳの機能の一つであり、周期的にタスクを起動するアラーム機能を使用し、さらに、アラーム機能の設定を所定時間設定タスクを付加して行うようにしたものであり、実施の形態２で示した図３に対してアラーム機能を設定するタスクである所定時間設定タスク２０が付加され、そのために、アラーム機能の設定処理を行わずに経過時間のカウントのみを行い、タイマ１６の割り込み要求によりスタートする割り込み手段２１が実施の形態２の割り込み手段１７に代わって設けられるようにしたものである。
【００２６】
このような構成を持つ実施の形態３の車両用制御装置において、電源が投入されてからスケジューラ４が起動するまでは実施の形態２と同様である。次ぎに、実施の形態３では、アラームの設定を行う所定時間設定タスク２０をＲＴＯＳがスタートして最初に起動されるよう構成されており、スケジューラ４によりまず所定時間設定タスク２０がスタートする。この所定時間設定タスク２０は、タスクａ５を一定時間ごとに起動するアラーム機能を設定し、この設定内容を所定時間経過判定手段１９に与える。タイマ１６の割り込み要求が発生すると、タイマ割り込み手段２１による割り込み処理が実行され、この割り込み処理によりカウンタ１８が経過時間をカウントする。経過時間が所定の時間を経過すれば所定時間経過判定手段１９が所定時間設定タスク２０の設定内容から判定し、タスクａ５をスタートする。それ以降の動作は実施の形態２の場合と同様である。
【００２７】
この実施の形態３における動作の一例を示したのが図６のフローチャートである。ＲＴＯＳのスタートは図６の（ａ）に示すように、まずステップ６０１にてＣＰＵ６の初期化が行われ、続いてステップ６０２にてタスクａ５の状態および優先順位などの情報を決定してＲＴＯＳの初期化が行われ、ステップ６０３にてタイマ１６の設定が行われる。ステップ６０４ではスケジューラ４が次に起動すべきものを採択し、ステップ６０５にて所定時間設定タスク２０がスタートする。所定時間設定タスク２０が所定時間周期でタスクａ５を起動するのに必要な、アラームの設定を行うことにより、アラーム機能を使用してタスクａ５を周期的に起動することを可能にする。
【００２８】
所定時間設定タスク２０は、図６の（ｂ）に示すように、ステップ６１１にて制御プログラムが使用する割り込み処理手段を使用可能にし、ステップ６１２にてタスクａ５を起動するための所定時間を設定する。また、割り込み手段２１による割り込み処理は図６の（ｄ）に示すように、ステップ６３１で割り込み処理の起動回数のカウントを行い、単位時間＋１のインクリメントを行う。続いてステップ６３２ではタスクａ５を起動する所定時間経過の判定を行い、経過していると判定された場合にはステップ６３３にてタスクａ５をスタートさせ、経過していないと判定された場合には割り込みを行わずにリターンする。これらのルーチン以外の図の（ｃ）（ｅ）（ｆ）については実施の形態２と同様である。
【００２９】
この実施の形態の車両用制御装置では以上のようにアラーム機能を設定するタスクである所定時間設定タスク２０を付加するようにしたので実施の形態２の場合と同様に、システム自体で時間管理することが可能になり、プログラムの変更はアラーム機能を用いてタスクをスタートさせる変更を加えるだけでよく、制御処理に関する部分に変更を加える必要がない。
【００３０】
実施の形態４．
図７は、この発明の実施の形態４のＲＴＯＳを用いた車両用制御装置のシステム構成図、図８は実施の形態４の制御内容を示すフローチャートであり、この実施の形態は一つのタスクに複数の制御対象を実装するようにしたもので、例えばこの制御対象をエンジン制御とオートマチックトランスミッション制御とにした場合を一例としたものである。
【００３１】
オートマチックトランスミッション制御もエンジン制御と同様に周期的に実行する。エンジン制御は実施の形態１ないし実施の形態３で説明したように、自動的にタスクａ５をスタートさせ、タスクの処理に無限ループを用いる場合、割り込み処理でアラーム機能を設定してタスクをスタートさせる場合、アラーム設定に所定時間設定タスクを付加した場合のいずれの方法でも選択することができる。ここではエンジン制御処理を１つのタスクａ５として実装し、タスクａ５はアラーム機能を用いて周期的に起動され、割り込み処理でアラーム機能を設定する場合を一例としており、オートマチックトランスミッション制御を割り込み処理として周期的に起動し、この割り込みについては内部割り込みの一種として扱うように構成したものである。
【００３２】
このために、図７の構成図において実施の形態２の図３と異なっている点は、内部割り込み手段２２のみであり、内部割り込み手段２２にはオートマチックトランスミッション制御が加わっている。また、動作内容についても内部割り込み処理にオートマチックトランスミッション制御処理が加わる以外は、実施の形態２と同様である。
【００３３】
図８の、動作の一例を示すフローチャートも（ａ）ないし（ｅ）は実施の形態２の図４と同様であり、オートマチックトランスミッション制御処理の内部割り込み処理を示す図８の（ｆ）のみが追加されたものである。オートマチックトランスミッション制御処理の内部割り込みは、図の（ｆ）に示したように、内部割り込みの一つとして制御割り込み要求が発生したときにはステップ８５１にてトランスミッション制御が行われる。この割り込みは上記したように周期的に行われ、図の（ｂ）に示すステップ８１３にて割り込みが行われるものである。
【００３４】
このようにこの実施の形態では複数の制御対象を一つのタスクとして構成したので、実施の形態２と同様の効果に加え、プログラム構成を大幅に変更することなく複数の制御対象を制御することができる車両用制御装置を得ることができるものである。
【００３５】
実施の形態５．
図９は、この発明の実施の形態５のＲＴＯＳを用いた車両用制御装置のシステム構成図、図１０は実施の形態５の制御内容を示すフローチャートであり、この実施の形態は複数のタスクと複数のアラームとを設定し、それぞれのタスクを周期的に起動させるようにしたもので、一例として周期的にプログラムを実行するエンジン制御とオートマチックトランスミッション制御とをそれぞれのタスクの制御対象とした場合を示している。
【００３６】
図９において、２３はＲＴＯＳの機能の核となるカーネル、２はＲＴＯＳをスタートするためのＣＰＵの初期化手段、２４はＲＴＯＳのカーネル２３がスタートして最初に実行され、タスクａ５とタスクｂ２５との状態を設定するＲＴＯＳ初期化手段、２６はタスクａ５とタスクｂ２５とを周期的に起動させるため、タイマ１６とタイマ２７との設定を行うタイマ設定手段、４はＲＴＯＳ上に構成されているタスク管理を行うスケジューラである。
【００３７】
２８はＲＴＯＳのカーネル２３などが実装されるＣＰＵ、７はＣＰＵ２８を介してアクチュエータ類８にデータを送り、外部信号源９からのデータをＣＰＵ２８を介してタスクａ５やタスクｂ２５などに送る入出力ドライバ、１７はタイマ１６の割り込み要求によりスタートする割り込み手段、２９はタイマ２７の割り込み要求によりスタートする割り込み手段、１８と３０とは割り込み手段１７と２９との割り込み処理中において経過した時間をカウントするカウンタ、３１はタスクａ５とタスクｂ２５とを周期的にスタートさせるために所定時間の経過を判定する所定時間経過判定手段ａと所定時間経過判定手段ｂとを有する所定時間経過判定手段である。
【００３８】
３２はタスクａ５とタスクｂ２５とを所定時間毎にスタートさせるためのアラーム機能の設定を行う所定時間設定タスク、１２は割り込み要求が発生したときに実行されるべき割り込み処理を判断する割り込みハンドラで、割り込み要求はＣＰＵ２８の内蔵タイマ１３により割り込み要求が発生し、外部信号源９からの入力信号により外部割り込み要求が発生する。ＣＰＵ２８から発生した割り込み要求に応じて、内部割り込み手段１０により、また、外部割り込み手段１１により割り込み処理が実行される。１４はタイマであり、タイマ１４はＲＴＯＳで扱うカウンタを設定するために使用されるものである。
【００３９】
このような構成を持つこの発明の実施の形態５の車両用制御装置において、まず電源が投入されるとＣＰＵ初期化手段２とＲＴＯＳ初期化手段２４とによる初期化が行われ、続いて、タイマ設定手段２６によりタスクａ５とタスクｂ２５とをアラーム機能を用いてスタートさせるタイマ１６とタイマ２７とを設定し、タスクａ５とタスクｂ２５とを周期的にスタートさせるために割り込み手段１７と２９とで所定時間のカウントを行う。続いてスケジューラ４がスタートし、アラーム機能の設定を行う所定時間設定タスク３２によりタスクａ５とタスクｂ２５とを周期的にスタートさせるために必要なアラーム機能の設定を行う。そして、所定時間経過の判定処理を行う所定時間経過判定手段３１により所定時間が経過したと判断された場合、タスクａ５とタスクｂ２５とが周期的に起動される。
【００４０】
図１０は、この実施の形態の動作の一例を示すもので、ＲＴＯＳのスタートは図１０の（ａ）に示すように、まずステップ９０１にてＣＰＵ２８の初期化が行われ、ステップ９０２にてＲＴＯＳの初期化が行われる。ステップ９０３ではタスクａ５とタスクｂ２５とをスタートさせるアラーム機能に使用させるためのタイマの設定が行われるが、このタイマはタイマ１６とタイマ２７とである。ステップ９０４ではスケジューラ４が実行に移され、ここではアラーム機能の設定を行う所定時間設定タスク３２を最初に実行するよう構成されているために、ステップ９０５ではスケジューラ４が所定時間設定タスク３２をスタートさせる。
【００４１】
所定時間設定タスク３２の実行は図１０の（ｂ）に示すように、ステップ９１１にてエンジン制御とオートマチックトランスミッション制御とで使用される割り込みが許可され、ステップ９１２にてタスクａ５とタスクｂ２５とを周期的に起動するための所定時間設定（アラーム機能の設定）が行われ、本タスクを終了する。
【００４２】
図１０の（ｅ）は、タスクを周期的に起動するためのタイマ１６と２７とが発生する割り込み要求に応じて割り込みを行うフローチャートであり、タスクａ５をスタートする場合もタスクｂ２５をスタートする場合も同様である。タイマ１６による割り込み手段１７及びタイマ２７による割り込み手段２９では、タイマによる割り込み要求が発生すると、ステップ９４１にて単位時間カウントを行い、ステップ９４２では所定時間が経過したかどうかを判定し、経過していた場合はステップ９４３にてタスクａ５もしくはタスクｂ２５をスタートし、経過していない場合にはリターンしてルーチンを繰り返す。
【００４３】
図１０の（ｃ）はタスクａ５の動作の一例を示すもので、タスクａ５は図１０の（ｂ）に示したフローチャートで設定した所定時間が経過する毎に起動され、ステップ９２１でこのタスクの起動回数を判断し、初めて起動される場合はステップ９２２にて初期設定を行い、ステップ９２３にて割り込み許可を実行する。起動回数が二度目以降であるならば、初期設定を行わずに直接ステップ９２３にて割り込み許可を実行し、続いて、ステップ９２４にてエンジン制御処理を実行する。図１０（ｄ）に示したタスクｂ２５の動作は、タスクａ５の場合と同様に所定時間が経過する毎にスタートし、ステップ９３１にてオートマチックトランスミッション制御処理を行いタスクを終了する。なお、図の（ｆ）と（ｇ）とに示す割り込み処理は実施の形態２の図４に示したものと同一である。
【００４４】
以上のように、実施の形態５による車両用制御装置においては、複数の制御対象を複数のタスクとして構成したので、各制御処理を他のプログラムに追加することが容易となり、制御プログラムの再利用性を向上させることができ、また、タスクの優先順位を動的に更新せずにあらかじめ決定しておくことにより、プログラムソースの可読性を向上させることができ、さらに、優先順位更新処理を行わないのでタスクスタート時間の遅延を防ぐことができるものである。
【００４５】
【発明の効果】
以上に説明したように、請求項１の発明によれば、外部信号源からの信号を入力する入力手段、所定のプログラムと外部信号源からの信号とにより演算を行う演算手段、この演算手段による演算結果を制御対象のアクチュエータ類に与えて制御する出力手段、タスク起動手段と記憶手段と演算手段とタイマを有すると共に、これらの動作を管理するリアルタイムオペレーティングシステムの管理手段を備え、制御対象の内の一つの制御対象を制御するための制御プログラムが一つのタスクとしてリアルタイムオペレーティングシステム上で動作し、管理手段にタイマからの割り込み要求により周期的に割り込みを行う割り込み手段と、この割り込み要求からの経過時間をカウントする時間経過判定手段とを備えており、この時間経過判定手段が経過時間を判定して周期的にタスクを起動する、または、管理手段にアラーム機能を有する所定時間設定タスクが設けられ、この所定時間設定タスクの設定時間により周期的にタスクを起動するので、ＲＴＯＳ上で動作するように構成されていない制御プログラムでも容易にＲＴＯＳ上で動作するような構成に移植することができ、また、複数のタスクを使用した場合のように、タスクの状態を保存するためにＲＡＭに対する待避の必要がなく、ＲＡＭの消費量を削減することが可能であり、またＣＰＵの資源を有効に使用することができ、さらに、システム自体で時間管理することが可能になって時間調整を必要とせず、プログラムの変更は、アラーム機能を用いてタスクをスタートさせる変更を加えるだけでよく、制御処理に関する部分に変更を加える必要がない。
【００４７】
さらにまた、請求項２の発明によれば、外部信号源からの信号入力手段と、所定のプログラムと外部信号源からの信号とにより演算を行う演算手段と、演算手段による演算結果を複数の制御対象に与えて制御する出力手段と、タスク起動手段や演算手段やタイマから構成されたＲＴＯＳの管理手段とを備え、複数の制御対象を制御するための制御プログラムが一つのタスクとしてＲＴＯＳ上で動作するように構成されると共に、このタスクが、割り込み手段に周期的に割り込み要求するタイマの割り込み要求からの経過時間を判定する時間経過判定手段の判定結果、または、アラーム機能を備えた所定時間設定タスクの設定時間により周期的に起動するように構成したので、請求項１と同様の効果に加え、プログラム構成を大幅に変更することなく複数の制御対象を制御することができるものである。
【００４８】
また、請求項３の発明によれば、外部信号源からの信号入力手段と、所定のプログラムと外部信号源からの信号とにより演算を行う演算手段と、演算手段による演算結果を複数の制御対象に与えて制御する出力手段と、タスク起動手段や演算手段やタイマから構成されたＲＴＯＳの管理手段とを備え、複数の制御対象のそれぞれに対応して制御する複数の制御プログラムが独立した複数のタスクを構成してＲＴＯＳ上で動作するように構成されると共に、このそれぞれのタスクが、割り込み手段に周期的に割り込み要求するタイマの割り込み要求からの経過時間を判定する時間経過判定手段の判定結果、または、アラーム機能を備えた所定時間設定タスクの設定時間により周期的に、また、あらかじめ設定された優先順位に従って起動するように構成したので、各制御処理を他のプログラムに追加することが容易となり、制御プログラムの再利用性を向上させることができ、また、タスクの優先順位を動的に更新せずに予め決定しておくことにより、プログラムソースの可読性を向上させることができ、さらに、優先順位更新処理を行わないのでタスクスタート時間の遅延を防ぐことができるものである。
【図面の簡単な説明】
【図１】  この発明の実施の形態１による車両用制御装置のシステム構成図である。
【図２】  この発明の実施の形態１による車両用制御装置の制御内容を示すフローチャートである。
【図３】  この発明の実施の形態２による車両用制御装置のシステム構成図である。
【図４】  この発明の実施の形態２による車両用制御装置の制御内容を示すフローチャートである。
【図５】  この発明の実施の形態３による車両用制御装置のシステム構成図である。
【図６】  この発明の実施の形態３による車両用制御装置の制御内容を示すフローチャートである。
【図７】  この発明の実施の形態４による車両用制御装置のシステム構成図である。
【図８】  この発明の実施の形態４による車両用制御装置の制御内容を示すフローチャートである。
【図９】  この発明の実施の形態５による車両用制御装置のシステム構成図である。
【図１０】  この発明の実施の形態５による車両用制御装置の制御内容を示すフローチャートである。
【符号の説明】
１、２３  カーネル、２  ＣＰＵ初期化手段、
３、２４  ＲＴＯＳ初期化手段、４  スケジューラ、５  タスクａ、
６、２８  中央演算処理装置（ＣＰＵ）
７  入出力ドライバ、８  アクチュエータ類、９  外部信号源、
１０、２２  内部割り込み手段、１１  外部割り込み手段、
１２  割り込みハンドラ、１３、１４、１６、２７  タイマ、
１５、２６  タイマ設定手段、１７、２１、２９  割り込み手段、
１８、３０  カウンタ、１９、３１  所定時間経過判定手段、
２０、３２  所定時間設定タスク、２５  タスクｂ。
【図１】
0003890877.tif 000002
【図２】
0003890877.tif 000003
【図３】
0003890877.tif 000004
【図４】
0003890877.tif 000005
【図５】
0003890877.tif 000006
【図６】
0003890877.tif 000007
【図７】
0003890877.tif 000008
【図８】
0003890877.tif 000009
【図９】
0003890877.tif 000010
【図１０】
0003890877.tif 000011