(57)【特許請求の範囲】
【請求項１】
エンジンの各種センサから入ってくる情報に短時間に応答して複数のタスクの遷移状態を制御するリアルタイムオペレーティングシステムを有するエンジン制御ソフトのタイミング管理装置において、
前記エンジン制御ソフトに使用される１つの基本タイマと、
前記各種センサからの非同期系のイベントの他に、前記基本タイマの出力を用いて種々の周期の同期系のイベントに対してイベントフラグをセット及びクリアして前記複数のタスクの遷移状態を制御するイベントハンドラとを具備し、
前記イベントハンドラは、前記基本タイマのカウントにビット値を下位ビットに、そのカウント値のビット値を反転したものを上位ビットに設定したイベントフラグを形成し、このイベントフラグに設定されたビット値と予め設定されたビット値と論理積を取り、タスクを処理したいタイミングの決定を行うことを特徴とするエンジン制御ソフトのタイミング管理装置。
【請求項２】
前記イベントハンドラは、タイミングが決定されたタスクの処理を開始する時間が遅れた場合には、遅れ時間だけ次回のタスクの起動処理を遅らすようにタイミングを補正することを特徴とする、請求項１に記載のエンジン制御ソフトのタイミング管理装置。
【請求項３】
前記遅れ時間を所定の単位に丸めることを特徴とする、請求項２に記載のエンジン制御ソフトのタイミング管理装置。
【請求項４】
前記遅れ時間をｎ回とり平均化することを特徴とする、請求項２に記載のエンジン制御ソフトのタイミング管理装置。
【請求項５】
前記遅れ時間がタスク処理の周期を越える場合には次回のタスクの起動処理を無効にすることを特徴とする、請求項２に記載のエンジン制御ソフトのタイミング管理装置。
【請求項６】
前記遅れ時間がタスク処理の周期を越える場合にはエラーフラグを立てることを特徴とする、請求項２に記載のエンジン制御ソフトのタイミング管理装置。
【請求項７】
前記遅れ時間がタスク処理の周期を越える場合には、自タスクの起動処理の優先度を上げることを特徴とする、請求項２に記載のエンジン制御ソフトのタイミング管理装置。
【請求項８】
前記遅れ時間がタスク処理の周期を越え、次回のタスクの起動処理のタイミングの補正を行う場合には、次回のタスクの起動処理を早くすることを特徴とする、請求項２に記載のエンジン制御ソフトのタイミング管理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は制御ソフトプログラムを使用する車両のエンジン制御システムに関し、特に制御ソフトプログラムのタイミング管理装置の規模の低減、タスクの起動処理のタイミングの補正に関する。
【０００２】
【従来の技術】
上記エンジン制御システムの制御ソフトプログラムは複数のタスクで構成され、これらのタスクの有効利用を行うためにリアルタイムオペレーティングシステム（ＲＴＯＳ）が用いられる。このリアルタイムオペレーティングシステムは計測器などのセンサから入ってくる情報に短時間に応答してタスクをＲＵＮ状態、ＲＥＡＤＹ状態、ＷＡＩＴ状態等にする処理を行う。車両のエンジン制御システムでは各種のタイミング制御が存在するが、上記リアルタイムオペレーティングシステムを用いてタイミング管理が行われている。タイミング管理ではイベントフラグが用いられるが、特にタイマ系のタイミング制御のイベントフラグについて、下記に、説明する。
【０００３】
タイマ系のタイミング制御として、例えば、周期２ｍｓの処理を行うタスクをｔｓｋ−２ｍ、周期４ｍｓの処理を行うタスクをｔｓｋ−４ｍ、周期８ｍｓの処理を行うタスクをｔｓｋ−８ｍ、等が設けられ、上記タスクｔｓｋ−２ｍ、ｔｓｋ−４ｍ、ｔｓｋ−８ｍ、等をそれぞれ起動するイベントフラグをｆｌｇ−２ｍ、ｆｌｇ−４ｍ、ｆｌｇ−８ｍ、等とする。
【０００４】
図１６はイベントフラグｆｌｇ−２ｍ、ｆｌｇ−４ｍ、ｆｌｇ−８ｍの形成を説明する図である。本図に示すように、基本タイマに対して、２ｍｓタイマ、４ｍｓタイマ、８ｍｓタイマ、等が設けられ、各出力がイベントフラグｆｌｇ−２ｍ、ｆｌｇ−４ｍ、ｆｌｇ−８ｍ、等となり、タスクｔｓｋ−２ｍ、ｔｓｋ−４ｍ、ｔｓｋ−８ｍ、等をそれぞれ起動する。
【０００５】
上記イベントフラグｆｌｇ−２ｍ、ｆｌｇ−４ｍ、ｆｌｇ−８ｍの形成では、各イベントフラグを用意するために各タイマを用意して各タスクのタイミングの管理を行う必要がある。タスクの数が多いとそれに伴ってタイマの数も多くなるので、タイマの数を削減してシステムの規模を低減するべきとの課題がある。
図１７はタスクｔｓｋ−２ｍ、ｔｓｋ−４ｍ、ｔｓｋ−８ｍ、等の起動タイミングを示す図である。リアルタイムオペレーティングシステムにおいては、本図に示すように、上記のタイマ系の同期割り込みのタスクが周期的に起動される。しかし、タイマ系の同期割り込み以外の非同期割り込みのタスクも処理しなければならないが、特に優先度の高い、非同期割り込みタスクにより、同期割り込みの周期が乱れ、特定のタイミングでタスク処理が部分的に密となり、処理が遅れるとの問題が発生する。
【０００６】
【発明が解決しようとする課題】
したがって、本発明は上記課題及び問題に鑑み、タイマの数を削減して規模を低減し、非同期割り込みタスクに起因する、タイマ系の同期割り込みの処理遅れを防止できるエンジン制御ソフトプログラムのタイミング管理装置を提供することを目的とする。
【０００７】
【課題を解決するための手段】
本発明は、前記問題点を解決するために、エンジンの各種センサから入ってくる情報に短時間に応答して複数のタスクの遷移状態を制御するリアルタイムオペレーティングシステムを有するエンジン制御ソフトのタイミング管理装置において、前記エンジン制御ソフトに使用される１つの基本タイマと、前記各種センサからの非同期系のイベントの他に、前記基本タイマの出力を用いて種々の周期の同期系のイベントに対してイベントフラグをセット及びクリアして前記複数のタスクの遷移状態を制御するイベントハンドラとを具備し、前記イベントハンドラは、前記基本タイマのカウントにビット値を下位ビットに、そのカウント値のビット値を反転したものを上位ビットに設定したイベントフラグを形成し、このイベントフラグに設定されたビット値と予め設定されたビット値と論理積を取り、タスクを処理したいタイミングの決定を行う。この手段により、周期系の複数のタスク毎にタイマを設けることが不要となり、装置の規模を低減することが可能になる。
【０００８】
前記イベントハンドラは、タイミングが決定されたタスクの処理を開始する時間が遅れた場合には、遅れ時間だけ次回のタスクの起動処理を遅らすようにタイミングを補正する。この手段により、処理が特定のタイミングで密となり、処理遅れが発生するのを防止できる。
前記遅れ時間を所定の単位に丸める。この手段により、処理が簡単化できる。
【０００９】
前記遅れ時間をｎ回とり平均化する。この手段により、定常的な遅れを補正することが可能になる。
前記遅れ時間がタスク処理の周期を越える場合には次回のタスクの起動処理を無効にする。この手段により、処理が簡単化できる。
前記遅れ時間がタスク処理の周期を越える場合にはエラーフラグを立てる。この手段により、過負荷、優先度の重なりがチェックすることができる。
【００１０】
前記遅れ時間がタスク処理の周期を越える場合には、自タスクの起動処理の優先度を上げる。この手段により、遅れを防止できる。
前記遅れ時間がタスク処理の周期を越え、次回のタスクの起動処理のタイミングの補正を行う場合には、次回のタスクの起動処理を早くする。この手段により、次々回のタスクの処理への支障を少なくすることができる。
【００１１】
【発明の実施の形態】
以下本発明の実施の形態について図面を参照して説明する。
図１は本発明に係る車両のエンジンシステムを示す図である。本図に示すように、エンジンシステムは、種々の計測器からの出力信号を入力するエンジンコントルールコンピュータを有し、これを用いてエンジンの制御を行う。
【００１２】
図２は図１のエンジンコントロールコンピュータの概略を説明する図である。本図に示すように、種々の計測器として、例えば、水温センサー、バッテリー、バキュームセンサー、吸気温センサー、Ｏ2 センサー、ノックセンサ等からの出力信号を入力する入力インタフェース回路と、この入力インタフェース回路の出力に接続されるＡ／Ｄ変換器と、さらにスロットルポジションセンサー、スタータ、ディストリビューター、エアコンディショナ、スピードセンサー、ニュートラルスタートスイッチ等の出力信号、電気負荷信号を入力する別のインタフェース回路と、Ａ／Ｄ変換器及び別のインタフェース回路に接続されるメモリを具備するＣＰＵと、ＣＰＵ用の定電圧電源と、ＣＰＵに接続される出力インタフェース回路とを具備し、出力インタフェース回路に接続されるアクチュエータとして、ＩＳＣＶ、＃１、２、３、４インジェクター、サーキットオープニングルー、イグナイタ（スパークプラグを含む）等及び警告灯がある。
【００１３】
図３は図２のエンジンコントロールコンピュータを説明する概略図である。本図に示すように、エンジンコントロールコンピュータのＣＰＵでは、前述の入出力インタフェース（Ｉ／Ｏ）回路１の動作処理、複数のタスクからなる制御ソフトプログラム２の実行処理、この制御ソフトプログラムの実行処理の制御を行うリアルタイムオペレーティングシステム３（ＲＴＯＳ）等の処理が行われる。リアルタイムオペレーティングシステムによるタスク管理において、全タスクを、タイミング、優先度により管理するタイミング管理はイベントフラグにより行われる。
【００１４】
図４は図３のタスク状態遷移を説明する図である。本図に示すように、リアルタイムオペレーティングシステムは、▲１▼のディスパッチにより、ＲＥＡＤＹ状態のタスクの中、最も優先度の高いタスクをＲＵＮ状態に移す。
さらに、リアルタイムオペレーティングシステムは、▲２▼のプリエンプトにより、現在実行中のタスクより優先度の高い別タスクの起動要求を発行（ＲＥＡＤＹ状態に移行）した場合、実行中タスクの処理を中断しＲＥＡＤＹ状態に移す。
【００１５】
ＷＡＩＴ状態のタスクがそれぞれ実行条件（＝イベントフラグの状態）をもっているが、リアルタイムオペレーティングシステムは、▲３▼のように、イベントフラグの状態の変化によりその条件が成立したタスクをＲＥＡＤＹ状態に移して、待ち（ＷＡＩＴ）を解除する。
タスクは実行中に、自身の実行条件（＝イベントフラグの状態）を、リアルタイムオペレーティングシステムに対して発行する。リアルタイムオペレーティングシステムは、イベントフラグの状態をチェックし、条件不成立時はそのタスクを、▲４▼のように、ＷＡＩＴ状態に移して、待ち（ＷＡＩＴ）状態にする。
【００１６】
下表にイベントフラグ機能を説明する。
【００１７】
【表１】
0003775868.tif 000002
【００１８】
さらに、前述したＣＰＵにはＣＰＵにはさらにイベントハンドラが、以下に説明するように、設けられる。
図５はイベントハンドラのプログラム構成を説明する図である。本図に示すように、イベントｘの発生タイミングで、リアルタイムオペレーティングシステムに対して、システムコールｓｅｔ ｆｌｇ（ｘ）を発行する。この発行により、リアルタイムオペレーティングシステムは、前述のように、イベントフラグｘをセットし、後述する制御ソフトプログラムのタスクはイベントフラグｘの待ち状態タスクをＲＥＡＤＹ状態に起動する。起動後に、システムコールｃｌｒ ｆｌｇ（ｘ）を発行して、イベントフラグｘをクリアする。つまり、システムコールｓｅｔ ｆｌｇ（ｘ）の発行以外では、イベントフラグ待ち状態タスクは起動されないようにするためである。
【００１９】
図６はタスクのプログラム構成を説明する図である。本図に示すように、タスクｔｓｋ−１は、システムコールｗａｉ ｆｌｇ（ＦＬＡＧ−１）をリアルタイムオペレーティングシステムに通知し、イベントフラグｘの待ち状態に入る。リアルタイムオペレーティングシステムのディスパッチによりタスクｔｓｋ−１が起動（実行再開）され、次のステップのアプリケーション処理モジュールに実行が移る。なお、このタスクにはリアルタイムオペレーティングシステムの処理に資するためにタスク情報として優先度、ＩＤ、タスク状態等が設定されている。また、タスクｔｓｋ−１の情報、ＦＬＡＧ−１の定義等は外部情報ファイルに、以下のように、設定される。
【００２０】
図７は外部情報ファイルのプログラム構成を説明する図である。本図に示すように、外部情報ファイルには、タスクの定義として、タスク状態の初期値、タスクスタック領域、優先度、タスク関数、タスクＩＤ等が設定され、タイミングパラメータ定義として、例えばｔｓｋ−１のタイミングパラメータラベルＦＬＡＧ−１がイベントフラグｆｌｇ（ｘ）のパラメータに設定される。図１７に示されるように、例えば、２ｍｓｅｃ毎のタスクＩＤはｔｓｋ−２ｍ、４ｍｓｅｃ毎のタスクＩＤはｔｓｋ−４ｍ、８ｍｓｅｃ毎のタスクＩＤはｔｓｋ−８ｍ等として表される。また、２ｍｓｅｃ毎のイベントｘをイベント２ｍとして表し、イベントフラグｆｌｇ（ｘ）をｆｌｇ（２ｍ）として表す。同様に、４ｍｓｅｃ毎のイベントｘをイベント４ｍとして表し、イベントフラグｆｌｇ（ｘ）をｆｌｇ（４ｍ）として表す。同様に、８ｍｓｅｃ毎のイベントｘをイベント８ｍとして表し、イベントフラグｆｌｇ（ｘ）をｆｌｇ（４ｍ）として表す。以下同様である。
【００２１】
タククの優先度は、例えば、
ｔｓｋ−２ｍ＞ｔｓｋ−４ｍ＞ｔｓｋ−８ｍ＞…
のように、定義される。
図８は電源投入時の各タスクの初期状態からの動作例を説明するタイミングチャートである。本図に示すように、リセット時のイベントハンドラのイニシャル処理により、イベント２ｍ、４ｍ、８ｍ等が同時に発生し、イベントフラグｆｌｇ（２ｍ）、イベントフラグｆｌｇ（４ｍ）、イベントフラグｆｌｇ（８ｍ）、等がセットされる。これによりｔｓｋ−２ｍ、ｔｓｋ−４ｍ、ｔｓｋ−８ｍ等がＲＥＡＤＹ状態になる。そして、イベントフラグｆｌｇ（２ｍ）、イベントフラグｆｌｇ（４ｍ）、イベントフラグｆｌｇ（８ｍ）、等がクリアされる。ディスパッチは、優先度の最も高いｔｓｋ−２ｍをＲＵＮ状態にする。ｔｓｋ−２ｍはリアルタイムオペレーティングシステムに次のイベントフラグｆｌｇ（２ｍ）待ちを通知する。リアルタイムオペレーティングシステムはｔｓｋ−２ｍを待ち状態にして、ディスパッチは優先度の最も高いｔｓｋ−４ｍをＲＵＮ状態にする。ｔｓｋ−４ｍはリアルタイムオペレーティングシステムに次のイベントフラグｆｌｇ（４ｍ）待ちを通知する。リアルタイムオペレーティングシステムはｔｓｋ−４ｍを待ち状態にしてディスパッチは優先度の最も高いｔｓｋ−８ｍをＲＵＮ状態にする。以下同様の手順を繰り返す。
【００２２】
図９はｔｓｋ−２ｍ実行中に非同期のイベントａが発生しｔｓｋ−ａを開始する例を説明するタイミングチャートである。本図に示すように、非同期のイベントａの発生による割り込みがあると、イベントハンドラはシステムコールｓｅｔ ｆｌｇ（ａ）を発行する。同時にｔａｋ−２ｍの処理を中断する。リアルタイムオペレーティングシステムはイベントフラグｆｌｇ（ａ）を設定して、ｔｓｋ−ａをＲＥＡＤＹ状態にする。その後イベントハンドラはシステムコールｃｌｒ ｆｌｇ（ａ）を発行する。リアルタイムオペレーティングシステムはイベントフラグｆｌｇ（ａ）をクリアして、イベントハンドラの処理を終了する。ディスパッチは、
ｔｓｋ−ａ＞ｔｓｋ−２ｍ
の場合には、ｔｓｋ−ａをＲＵＮ状態にする。ｔｓｋ−ａはシステムコールｗａｉ ｆｌｇ（ａ）を発行する。リアルタイムオペレーティングシステムはｔｓｋ−ａを待ち状態にする。ディスパッチはｔｓｋ−２ｍをＲＵＮ状態にして処理を再開する。ｔｓｋ−ａはシステムコールｗａｉ ｆｌｇ（２ｍ）を発行する。以下は図８と同様な手順を取る。
【００２３】
図１０はｔｓｋ−２ｍ実行中に非同期のイベントａが発生しｔｓｋ−ａを開始する別の例を説明するタイミングチャートである。図９との相違は、
ｔｓｋ−ａ＜ｔｓｋ−２ｍ
の場合には、ｔｓｋ−２ｍを再開して、その後にｔｓｋ−ａをＲＵＮ状態にすることである。
【００２４】
図１１はタイマ系におけるイベントハンドラのシステムコールｓｅｔ ｆｌｇ（ｘ）の発行を説明する図である。本図に示す基本タイマ１１は、例えば１６ビット長のタイマカウント値Ｃ−ｔｍｒを生成する。基本タイマ１１及びエンジンの各種センサの出力に接続されるイベントハンドラ１２は、それらの出力をイベントとして、イベントフラグを形成する。そのイベントフラグは、３２ビットマクロコンピュータの場合には、３２ビット長に設定される。このイベントフラグにより、同期系のタスクｔｓｋ−２ｍ、ｔｓｋ−４ｍ、ｔｓｋ−８ｍ、等、非同期系のタスクａ、ｂ、等の待ち状態からＲＥＤＹ状態への遷移処理が行われる。以下にイベントフラグについて説明する。
【００２５】
図１２は図１１のイベントフラグを説明する図である。本図に示すように、イベントフラグの３２ビット長の下位の１６ビットに基本タイマのカウンタ値Ｃ−ｔｍｒを割り付け、上位の１６ビットにカウンタ値Ｃ ｔｍｒを反転した反転カウンタ値Ｃ ｔｍｒを割り付ける。
図１３はイベントフラグの動作を説明する図である。
【００２６】
ステップＳ１において、基本タイマのカウントアップ毎にカウント値Ｃ ｔｍｒを入力する。
ステップＳ２において、イベントフラグｆｌｇ ｔｍｒに、
反転Ｃ−ｔｍｒ×２16＋Ｃ−ｔｍｒ
を設定する。
【００２７】
ステップＳ３において、イベントフラグｆｌｇ ｔｍｒに設定されたビットパターンと、タスクが処理をしたいタイマカウント値Ｋ ｔｍｒからイベントフラグｆｌｇ ｔｍｒへの設定方法に対応して形成するフラグパターンとの論理積（ＡＮＤ）を、下記式のように、取る。
反転Ｃ−ｔｍｒ×２16＋Ｃ−ｔｍｒ∩反転Ｋ−ｔｍｒ×２16＋Ｋ−ｔｍｒ
ステップＳ４において、フラグパターンで示されるビットがすべてセットされたか判断する。この判断が「ＮＯ」ならステップＳ６に進む。なお、任意のカウンタ値について上記論理積式が成立するカウンタ値は１つのみ存在する。
【００２８】
ステップＳ５において、上記判断が「ＹＥＳ」なら該当するタスクを待ち状態からＲＥＡＤＹ状態にする。つまり起動条件が成立させる。
ステップＳ６において、イベントフラグｆｌｇ ｔｍｒの全ビットをクリアして終了する。
したがって、本発明によれば、１つの基本カウンタで複数のタスクの起動条件を成立させることができ、従来のように、多数のカウンタを必要としないので、装置の規模を低減できる。
【００２９】
図１４は他の優先度の高いタスクの割り込みにより、タイマ系のタスクｔｓｋ−４ｍを一例として処理が遅れた場合にタスク処理を行うべきタイマカウント値Ｋ ｔｍｒの補正例を説明するフローチャートであり、図１５は図１４の補正を説明するタイムチャートである。図１４において、
ステップＳ１０において、アプリケーション処理の終了時刻Ｃ’ ｔｍｒを得る。
【００３０】
ステップＳ１１において、タスク処理の遅れ時間ｔｄを以下のようにして求める。
ｔｄ＝Ｃ’ ｔｍｒ−Ｋ ｔｍｒ
このｔｄを四捨五入してｍｓｅｃの単位に丸める。
ステップＳ１２において、今回のタスク処理を行うべきタイマカウント値を以下のように補正する。
【００３１】
Ｋ ｔｍｒ＝Ｋ ｔｍｒ＋ｔｄ
ステップＳ１３において、次回のタスク処理を行うべきタイマカウント値を以下のように設定する。
Ｋ ｔｍｒ＝Ｋ ｔｍｒ＋４ｍｓｅｃ
ステップＳ１４において、前述のように、イベントフラグ待ちをセットする。
【００３２】
なお、他のタスクについても同様に補正が行われる。本発明によれば、処理開始時間が遅れた分だけ、次の処理開始時間をずらす補正を行うことにより、自動的にタスクのスケジューリングが変更されるので、処理が特定のタイミングで密となり、処理がさらに遅れることを防止することが可能になる。すなわち、遅れ時間ｔｄは他のタスクの処理時間により可変であるためｔｓｋ−４ｍの相対タイミングにずれが発生するのを防止できる。
【００３３】
次に、遅れ時間ｔｄをｎ回とり平均してタスク処理を行うべきタイマカウント値Ｋ ｔｍｒを補正するようにしてもよい。一次遅れを無視して、定常的に遅れるものを優先的に補正を行うためである。
次に、遅れ時間ｔｄが、例えば、ｔｓｋ−４ｍの場合に、一時的に４ｍｓｅｃを越えるときに、補正を行わない。今回の処理が次回の処理を越えるので、次回の処理を補正せず無効にして、次々回の処理を行うようにして、処理を簡単にするためである。
【００３４】
次に、遅れ時間ｔｄが一時的に４ｍｓを越える場合にはエラーフラグを立てる。過負荷、優先度の高いものの重なりをチェックする必要があるためである。
次に、遅れ時間がｔｄが一時的に４ｍｓを越える場合には自タスクの優先度を上げる。遅れ時間がｔｄが一時的に４ｍｓを越えるのを防止するためである。
次に、遅れ時間がｔｄが一時的に４ｍｓを越え次回の処理の補正を行う場合には、図１４のステップＳ１３の式を、以下のように、変更して、起動を早める。
【００３５】
Ｋ ｔｍｒ＝Ｋ ｔｍｒ＋１ｍｓｅｃ
次々回の処理に支障を与えないようにするためである。
以上の処理は、一例であり、他のタイマ系の異なる周期についても、同様に適用される。
【図面の簡単な説明】
【図１】本発明に係る車両のエンジンシステムを示す図である。
【図２】図１のエンジンコントロールコンピュータの概略を説明する図である。
【図３】図２のエンジンコントロールコンピュータを説明する概略図である。
【図４】図３のタスク状態遷移を説明する図である。
【図５】イベントハンドラのプログラム構成を説明する図である。
【図６】タスクのプログラム構成を説明する図である。
【図７】外部情報ファイルのプログラム構成を説明する図である。
【図８】電源投入時の各タスクの初期状態からの動作例を説明するタイミングチャートである。
【図９】ｔｓｋ−２ｍ実行中に非同期のイベントａが発生しｔｓｋ−ａを開始する例を説明するタイミングチャートである。
【図１０】ｔｓｋ−２ｍ実行中に非同期のイベントａが発生しｔｓｋ−ａを開始する別の例を説明するタイミングチャートである。
【図１１】タイマ系におけるイベントハンドラのシステムコールｓｅｔ ｆｌｇ（ｘ）の発行を説明する図である。
【図１２】図１１のイベントフラグを説明する図である。
【図１３】イベントフラグの動作を説明する図である。
【図１４】他の優先度の高いタスクの割り込みにより、タイマ系のタスクｔｓｋ−４ｍを一例として処理が遅れた場合にタスク処理を行うべきタイマカウント値Ｋ ｔｍｒの補正例を説明するフローチャートである。
【図１５】図１４の補正を説明するタイムチャートである。
【図１６】イベントフラグｆｌｇ−２ｍ、ｆｌｇ−４ｍ、ｆｌｇ−８ｍの形成を説明する図である。
【図１７】タスクｔｓｋ−２ｍ、ｔｓｋ−４ｍ、ｔｓｋ−８ｍ、等の起動タイミングを示す図である。
【符号の説明】
１…Ｉ／Ｏインタフェース
２…制御ソフトプローグラム
３…リアルタイムオペレーティングシステム
１１…基本タイマ
１２…イベントハンドラ
【図１】
0003775868.tif 000003
【図２】
0003775868.tif 000004
【図３】
0003775868.tif 000005
【図４】
0003775868.tif 000006
【図５】
0003775868.tif 000007
【図６】
0003775868.tif 000008
【図７】
0003775868.tif 000009
【図８】
0003775868.tif 000010
【図９】
0003775868.tif 000011
【図１０】
0003775868.tif 000012
【図１１】
0003775868.tif 000013
【図１２】
0003775868.tif 000014
【図１３】
0003775868.tif 000015
【図１４】
0003775868.tif 000016
【図１５】
0003775868.tif 000017
【図１６】
0003775868.tif 000018
【図１７】
0003775868.tif 000019