JPH10105418A - Timing managing device for engine control software - Google Patents

Timing managing device for engine control software

Info

Publication number
JPH10105418A
JPH10105418A JP25477096A JP25477096A JPH10105418A JP H10105418 A JPH10105418 A JP H10105418A JP 25477096 A JP25477096 A JP 25477096A JP 25477096 A JP25477096 A JP 25477096A JP H10105418 A JPH10105418 A JP H10105418A
Authority
JP
Japan
Prior art keywords
task
timing
engine control
control software
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
JP25477096A
Other languages
Japanese (ja)
Other versions
JP3775868B2 (en
Inventor
Shogo Imada
昭吾 今田
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 Ten Ltd
Original Assignee
Denso Ten Ltd
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 Ten Ltd filed Critical Denso Ten Ltd
Priority to JP25477096A priority Critical patent/JP3775868B2/en
Publication of JPH10105418A publication Critical patent/JPH10105418A/en
Application granted granted Critical
Publication of JP3775868B2 publication Critical patent/JP3775868B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Programmable Controllers (AREA)
  • Combined Controls Of Internal Combustion Engines (AREA)

Abstract

PROBLEM TO BE SOLVED: To reduce the scale of a control software program to be used in an engine control system and to correct the timing of a task start processing. SOLUTION: The timing managing device of an engine control softrare providing a real time operating system is provided with a basic timer 11 to be used in the engine control software and an event handler 12 controlling the transition state of the plural tasks by seetting and clearing an event flag as against the synchronization-system events of various kinds of cycles through the use of the output of the basic timer in addition to the asynchronization-system events from various kinds of sensors. The event handler 12 generates an event flag where a bit value is set in a low-order bit and the one obtained by inverting the bit value of the count value is set in the high-order bit in the counting of the basic timer, obtains the AND of the bit value which is set in the event flag with the previously set bit value and decides the timing for processing the task.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は制御ソフトプログラ
ムを使用する車両のエンジン制御システムに関し、特に
制御ソフトプログラムのタイミング管理装置の規模の低
減、タスクの起動処理のタイミングの補正に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a vehicle engine control system using a control software program, and more particularly, to a reduction in the size of a timing management device for a control software program and a correction of the timing of a task activation process.

【0002】[0002]

【従来の技術】上記エンジン制御システムの制御ソフト
プログラムは複数のタスクで構成され、これらのタスク
の有効利用を行うためにリアルタイムオペレーティング
システム(RTOS)が用いられる。このリアルタイム
オペレーティングシステムは計測器などのセンサから入
ってくる情報に短時間に応答してタスクをRUN状態、
READY状態、WAIT状態等にする処理を行う。車
両のエンジン制御システムでは各種のタイミング制御が
存在するが、上記リアルタイムオペレーティングシステ
ムを用いてタイミング管理が行われている。タイミング
管理ではイベントフラグが用いられるが、特にタイマ系
のタイミング制御のイベントフラグについて、下記に、
説明する。
2. Description of the Related Art A control software program of the above-mentioned engine control system is composed of a plurality of tasks, and a real-time operating system (RTOS) is used to effectively use these tasks. This real-time operating system responds to information coming from sensors such as measuring instruments in a short time,
A process for changing the state to a READY state, a WAIT state, or the like is performed. Although various timing controls exist in an engine control system of a vehicle, timing management is performed using the real-time operating system. The event flag is used in the timing management.
explain.

【0003】タイマ系のタイミング制御として、例え
ば、周期2msの処理を行うタスクをtsk−2m、周
期4msの処理を行うタスクをtsk−4m、周期8m
sの処理を行うタスクをtsk−8m、等が設けられ、
上記タスクtsk−2m、tsk−4m、tsk−8
m、等をそれぞれ起動するイベントフラグをflg−2
m、flg−4m、flg−8m、等とする。
As timing control of a timer system, for example, a task for processing a cycle of 2 ms is tsk-2m, a task for processing a cycle of 4 ms is tsk-4m, and a cycle of 8 m
A task for performing the processing of s is provided as tsk-8m, and the like.
The above tasks tsk-2m, tsk-4m, tsk-8
m, etc., is set to an event flag of flg-2.
m, flg-4m, flg-8m, etc.

【0004】図16はイベントフラグflg−2m、f
lg−4m、flg−8mの形成を説明する図である。
本図に示すように、基本タイマに対して、2msタイ
マ、4msタイマ、8msタイマ、等が設けられ、各出
力がイベントフラグflg−2m、flg−4m、fl
g−8m、等となり、タスクtsk−2m、tsk−4
m、tsk−8m、等をそれぞれ起動する。
FIG. 16 shows event flags flg-2m, f
It is a figure explaining formation of lg-4m and flg-8m.
As shown in the figure, a 2 ms timer, a 4 ms timer, an 8 ms timer, etc. are provided for the basic timer, and each output is an event flag flg-2m, flg-4m, fl
g-8m, etc., and tasks tsk-2m, tsk-4
m, tsk-8m, etc., respectively.

【0005】上記イベントフラグflg−2m、flg
−4m、flg−8mの形成では、各イベントフラグを
用意するために各タイマを用意して各タスクのタイミン
グの管理を行う必要がある。タスクの数が多いとそれに
伴ってタイマの数も多くなるので、タイマの数を削減し
てシステムの規模を低減するべきとの課題がある。図1
7はタスクtsk−2m、tsk−4m、tsk−8
m、等の起動タイミングを示す図である。リアルタイム
オペレーティングシステムにおいては、本図に示すよう
に、上記のタイマ系の同期割り込みのタスクが周期的に
起動される。しかし、タイマ系の同期割り込み以外の非
同期割り込みのタスクも処理しなければならないが、特
に優先度の高い、非同期割り込みタスクにより、同期割
り込みの周期が乱れ、特定のタイミングでタスク処理が
部分的に密となり、処理が遅れるとの問題が発生する。
The event flags flg-2m, flg
In the formation of -4m and flg-8m, it is necessary to prepare each timer to prepare each event flag and manage the timing of each task. When the number of tasks is large, the number of timers is also increased. Accordingly, there is a problem that the number of timers should be reduced to reduce the scale of the system. FIG.
7 is a task tsk-2m, tsk-4m, tsk-8
It is a figure which shows the start timing of m, etc. In the real-time operating system, as shown in the figure, the task of the synchronous interrupt of the timer system is periodically started. However, asynchronous interrupt tasks other than timer-based synchronous interrupts must also be processed. And the problem that the processing is delayed occurs.

【0006】[0006]

【発明が解決しようとする課題】したがって、本発明は
上記課題及び問題に鑑み、タイマの数を削減して規模を
低減し、非同期割り込みタスクに起因する、タイマ系の
同期割り込みの処理遅れを防止できるエンジン制御ソフ
トプログラムのタイミング管理装置を提供することを目
的とする。
SUMMARY OF THE INVENTION Accordingly, in view of the above problems and problems, the present invention reduces the number of timers to reduce the scale, and prevents the processing delay of a timer system synchronous interrupt due to an asynchronous interrupt task. It is an object of the present invention to provide a timing management device for an engine control software program that can be used.

【0007】[0007]

【課題を解決するための手段】本発明は、前記問題点を
解決するために、エンジンの各種センサから入ってくる
情報に短時間に応答して複数のタスクの遷移状態を制御
するリアルタイムオペレーティングシステムを有するエ
ンジン制御ソフトのタイミング管理装置において、前記
エンジン制御ソフトに使用される1つの基本タイマと、
前記各種センサからの非同期系のイベントの他に、前記
基本タイマの出力を用いて種々の周期の同期系のイベン
トに対してイベントフラグをセット及びクリアして前記
複数のタスクの遷移状態を制御するイベントハンドラと
を具備し、前記イベントハンドラは、前記基本タイマの
カウントにビット値を下位ビットに、そのカウント値の
ビット値を反転したものを上位ビットに設定したイベン
トフラグを形成し、このイベントフラグに設定されたビ
ット値と予め設定されたビット値と論理積を取り、タス
クを処理したいタイミングの決定を行う。この手段によ
り、周期系の複数のタスク毎にタイマを設けることが不
要となり、装置の規模を低減することが可能になる。
According to the present invention, there is provided a real-time operating system for controlling a transition state of a plurality of tasks in a short time in response to information input from various sensors of an engine. An engine control software timing management device comprising: one basic timer used for the engine control software;
In addition to the asynchronous events from the various sensors, an event flag is set and cleared for various types of synchronous events using the output of the basic timer to control the transition states of the plurality of tasks. An event handler, wherein the event handler forms an event flag in which a bit value is set to a lower bit of the count of the basic timer, and an inverted bit value of the count value is set to an upper bit. The logical product of the bit value set in (1) and the bit value set in advance is determined, and the timing at which the task is to be processed is determined. By this means, it is not necessary to provide a timer for each of a plurality of tasks in the periodic system, and the size of the apparatus can be reduced.

【0008】前記イベントハンドラは、タイミングが決
定されたタスクの処理を開始する時間が遅れた場合に
は、遅れ時間だけ次回のタスクの起動処理を遅らすよう
にタイミングを補正する。この手段により、処理が特定
のタイミングで密となり、処理遅れが発生するのを防止
できる。前記遅れ時間を所定の単位に丸める。この手段
により、処理が簡単化できる。
[0008] The event handler corrects the timing so that, if the time to start the processing of the task whose timing has been determined is delayed, the next task activation processing is delayed by the delay time. By this means, it is possible to prevent the processing from becoming dense at a specific timing and causing a processing delay. The delay time is rounded to a predetermined unit. By this means, the processing can be simplified.

【0009】前記遅れ時間をn回とり平均化する。この
手段により、定常的な遅れを補正することが可能にな
る。前記遅れ時間がタスク処理の周期を越える場合には
次回のタスクの起動処理を無効にする。この手段によ
り、処理が簡単化できる。前記遅れ時間がタスク処理の
周期を越える場合にはエラーフラグを立てる。この手段
により、過負荷、優先度の重なりがチェックすることが
できる。
The delay time is averaged by taking n times. By this means, it is possible to correct a steady delay. If the delay time exceeds the cycle of task processing, the next task activation processing is invalidated. By this means, the processing can be simplified. If the delay time exceeds the cycle of task processing, an error flag is set. By this means, overload and overlapping of priorities can be checked.

【0010】前記遅れ時間がタスク処理の周期を越える
場合には、自タスクの起動処理の優先度を上げる。この
手段により、遅れを防止できる。前記遅れ時間がタスク
処理の周期を越え、次回のタスクの起動処理のタイミン
グの補正を行う場合には、次回のタスクの起動処理を早
くする。この手段により、次々回のタスクの処理への支
障を少なくすることができる。
When the delay time exceeds the cycle of task processing, the priority of the start processing of the own task is raised. By this means, a delay can be prevented. When the delay time exceeds the cycle of the task processing and the timing of the next task activation processing is corrected, the next task activation processing is accelerated. By this means, it is possible to reduce the obstacle to the next task processing.

【0011】[0011]

【発明の実施の形態】以下本発明の実施の形態について
図面を参照して説明する。図1は本発明に係る車両のエ
ンジンシステムを示す図である。本図に示すように、エ
ンジンシステムは、種々の計測器からの出力信号を入力
するエンジンコントルールコンピュータを有し、これを
用いてエンジンの制御を行う。
Embodiments of the present invention will be described below with reference to the drawings. FIG. 1 is a diagram showing an engine system of a vehicle according to the present invention. As shown in the figure, the engine system has an engine control computer that inputs output signals from various measuring instruments, and controls the engine using the computer.

【0012】図2は図1のエンジンコントロールコンピ
ュータの概略を説明する図である。本図に示すように、
種々の計測器として、例えば、水温センサー、バッテリ
ー、バキュームセンサー、吸気温センサー、O2 センサ
ー、ノックセンサ等からの出力信号を入力する入力イン
タフェース回路と、この入力インタフェース回路の出力
に接続されるA/D変換器と、さらにスロットルポジシ
ョンセンサー、スタータ、ディストリビューター、エア
コンディショナ、スピードセンサー、ニュートラルスタ
ートスイッチ等の出力信号、電気負荷信号を入力する別
のインタフェース回路と、A/D変換器及び別のインタ
フェース回路に接続されるメモリを具備するCPUと、
CPU用の定電圧電源と、CPUに接続される出力イン
タフェース回路とを具備し、出力インタフェース回路に
接続されるアクチュエータとして、ISCV、#1、
2、3、4インジェクター、サーキットオープニングル
ー、イグナイタ(スパークプラグを含む)等及び警告灯
がある。
FIG. 2 is a diagram schematically illustrating the engine control computer of FIG. As shown in this figure,
As various measuring instruments, for example, an input interface circuit for inputting output signals from a water temperature sensor, a battery, a vacuum sensor, an intake air temperature sensor, an O 2 sensor, a knock sensor, and the like, and an A connected to an output of the input interface circuit A / D converter, another interface circuit for inputting output signals of a throttle position sensor, a starter, a distributor, an air conditioner, a speed sensor, a neutral start switch, etc., and an electric load signal, and an A / D converter and another A CPU having a memory connected to the interface circuit of
A constant voltage power supply for the CPU, and an output interface circuit connected to the CPU, and as an actuator connected to the output interface circuit, ISCV, # 1,
There are 2, 3, 4 injectors, circuit opening rues, igniters (including spark plugs) and warning lights.

【0013】図3は図2のエンジンコントロールコンピ
ュータを説明する概略図である。本図に示すように、エ
ンジンコントロールコンピュータのCPUでは、前述の
入出力インタフェース(I/O)回路1の動作処理、複
数のタスクからなる制御ソフトプログラム2の実行処
理、この制御ソフトプログラムの実行処理の制御を行う
リアルタイムオペレーティングシステム3(RTOS)
等の処理が行われる。リアルタイムオペレーティングシ
ステムによるタスク管理において、全タスクを、タイミ
ング、優先度により管理するタイミング管理はイベント
フラグにより行われる。
FIG. 3 is a schematic diagram illustrating the engine control computer of FIG. As shown in the figure, in the CPU of the engine control computer, the operation processing of the input / output interface (I / O) circuit 1, the execution processing of the control software program 2 including a plurality of tasks, and the execution processing of the control software program -Time operating system 3 (RTOS) that controls the system
Are performed. In task management by a real-time operating system, timing management for managing all tasks by timing and priority is performed by an event flag.

【0014】図4は図3のタスク状態遷移を説明する図
である。本図に示すように、リアルタイムオペレーティ
ングシステムは、のディスパッチにより、READY
状態のタスクの中、最も優先度の高いタスクをRUN状
態に移す。さらに、リアルタイムオペレーティングシス
テムは、のプリエンプトにより、現在実行中のタスク
より優先度の高い別タスクの起動要求を発行(READ
Y状態に移行)した場合、実行中タスクの処理を中断し
READY状態に移す。
FIG. 4 is a diagram for explaining the task state transition of FIG. As shown in the figure, the real-time operating system dispatches the READY
The task with the highest priority among the tasks in the state is moved to the RUN state. Further, the real-time operating system issues a preemption request to start another task having a higher priority than the currently executing task (READ).
When the state is shifted to the Y state), the processing of the task being executed is interrupted and the state is shifted to the READY state.

【0015】WAIT状態のタスクがそれぞれ実行条件
(=イベントフラグの状態)をもっているが、リアルタ
イムオペレーティングシステムは、のように、イベン
トフラグの状態の変化によりその条件が成立したタスク
をREADY状態に移して、待ち(WAIT)を解除す
る。タスクは実行中に、自身の実行条件(=イベントフ
ラグの状態)を、リアルタイムオペレーティングシステ
ムに対して発行する。リアルタイムオペレーティングシ
ステムは、イベントフラグの状態をチェックし、条件不
成立時はそのタスクを、のように、WAIT状態に移
して、待ち(WAIT)状態にする。
Each task in the WAIT state has an execution condition (= event flag state), and the real-time operating system shifts the task in which the condition is satisfied by the change in the event flag state to the READY state as shown in FIG. Release the wait (WAIT). During execution, the task issues its own execution conditions (= event flag state) to the real-time operating system. The real-time operating system checks the state of the event flag. If the condition is not satisfied, the real-time operating system shifts the task to the WAIT state as shown in FIG.

【0016】下表にイベントフラグ機能を説明する。The following table describes the event flag function.

【0017】[0017]

【表1】 [Table 1]

【0018】さらに、前述したCPUにはCPUにはさ
らにイベントハンドラが、以下に説明するように、設け
られる。図5はイベントハンドラのプログラム構成を説
明する図である。本図に示すように、イベントxの発生
タイミングで、リアルタイムオペレーティングシステム
に対して、システムコールset flg(x)を発行
する。この発行により、リアルタイムオペレーティング
システムは、前述のように、イベントフラグxをセット
し、後述する制御ソフトプログラムのタスクはイベント
フラグxの待ち状態タスクをREADY状態に起動す
る。起動後に、システムコールclr flg(x)を
発行して、イベントフラグxをクリアする。つまり、シ
ステムコールset flg(x)の発行以外では、イ
ベントフラグ待ち状態タスクは起動されないようにする
ためである。
Further, an event handler is further provided in the CPU as described below. FIG. 5 is a diagram illustrating the program configuration of the event handler. As shown in the figure, the system call set is issued to the real-time operating system at the timing of occurrence of the event x. issues flg (x). With this issuance, the real-time operating system sets the event flag x as described above, and the task of the control software program described later activates the task waiting for the event flag x in the READY state. After startup, the system call clr Flg (x) is issued to clear the event flag x. That is, the system call set This is to prevent the task waiting for the event flag from being started except for the issuance of flg (x).

【0019】図6はタスクのプログラム構成を説明する
図である。本図に示すように、タスクtsk−1は、シ
ステムコールwai flg(FLAG−1)をリアル
タイムオペレーティングシステムに通知し、イベントフ
ラグxの待ち状態に入る。リアルタイムオペレーティン
グシステムのディスパッチによりタスクtsk−1が起
動(実行再開)され、次のステップのアプリケーション
処理モジュールに実行が移る。なお、このタスクにはリ
アルタイムオペレーティングシステムの処理に資するた
めにタスク情報として優先度、ID、タスク状態等が設
定されている。また、タスクtsk−1の情報、FLA
G−1の定義等は外部情報ファイルに、以下のように、
設定される。
FIG. 6 is a diagram for explaining a program configuration of a task. As shown in the figure, the task tsk-1 has a system call wai. Notify flg (FLAG-1) to the real-time operating system, and enter the wait state for the event flag x. The task tsk-1 is started (resume execution) by the dispatch of the real-time operating system, and the execution is shifted to the application processing module of the next step. In this task, a priority, an ID, a task state, and the like are set as task information in order to contribute to the processing of the real-time operating system. Also, information on task tsk-1 and FLA
The definition of G-1 is stored in the external information file as follows:
Is set.

【0020】図7は外部情報ファイルのプログラム構成
を説明する図である。本図に示すように、外部情報ファ
イルには、タスクの定義として、タスク状態の初期値、
タスクスタック領域、優先度、タスク関数、タスクID
等が設定され、タイミングパラメータ定義として、例え
ばtsk−1のタイミングパラメータラベルFLAG−
1がイベントフラグflg(x)のパラメータに設定さ
れる。図17に示されるように、例えば、2msec毎
のタスクIDはtsk−2m、4msec毎のタスクI
Dはtsk−4m、8msec毎のタスクIDはtsk
−8m等として表される。また、2msec毎のイベン
トxをイベント2mとして表し、イベントフラグflg
(x)をflg(2m)として表す。同様に、4mse
c毎のイベントxをイベント4mとして表し、イベント
フラグflg(x)をflg(4m)として表す。同様
に、8msec毎のイベントxをイベント8mとして表
し、イベントフラグflg(x)をflg(4m)とし
て表す。以下同様である。
FIG. 7 is a view for explaining the program configuration of the external information file. As shown in this figure, the external information file contains initial values of task status,
Task stack area, priority, task function, task ID
The timing parameter definition is, for example, a timing parameter label FLAG-tsk-1 of tsk-1.
1 is set as a parameter of the event flag flg (x). As shown in FIG. 17, for example, the task ID every 2 msec is tsk-2m, and the task ID every 4 msec
D is tsk-4m, task ID every 8msec is tsk
-8 m etc. Also, an event x every 2 msec is represented as an event 2m, and an event flag flg
(X) is represented as flg (2m). Similarly, 4mse
The event x for each c is represented as an event 4m, and the event flag flg (x) is represented as flg (4m). Similarly, an event x every 8 msec is represented as an event 8m, and an event flag flg (x) is represented as flg (4m). The same applies hereinafter.

【0021】タククの優先度は、例えば、 tsk−2m>tsk−4m>tsk−8m>… のように、定義される。図8は電源投入時の各タスクの
初期状態からの動作例を説明するタイミングチャートで
ある。本図に示すように、リセット時のイベントハンド
ラのイニシャル処理により、イベント2m、4m、8m
等が同時に発生し、イベントフラグflg(2m)、イ
ベントフラグflg(4m)、イベントフラグflg
(8m)、等がセットされる。これによりtsk−2
m、tsk−4m、tsk−8m等がREADY状態に
なる。そして、イベントフラグflg(2m)、イベン
トフラグflg(4m)、イベントフラグflg(8
m)、等がクリアされる。ディスパッチは、優先度の最
も高いtsk−2mをRUN状態にする。tsk−2m
はリアルタイムオペレーティングシステムに次のイベン
トフラグflg(2m)待ちを通知する。リアルタイム
オペレーティングシステムはtsk−2mを待ち状態に
して、ディスパッチは優先度の最も高いtsk−4mを
RUN状態にする。tsk−4mはリアルタイムオペレ
ーティングシステムに次のイベントフラグflg(4
m)待ちを通知する。リアルタイムオペレーティングシ
ステムはtsk−4mを待ち状態にしてディスパッチは
優先度の最も高いtsk−8mをRUN状態にする。以
下同様の手順を繰り返す。
The priority of a task is defined as, for example, tsk-2m>tsk-4m>tsk-8m>. FIG. 8 is a timing chart for explaining an operation example from the initial state of each task when the power is turned on. As shown in this figure, the event 2m, 4m, 8m
Etc. occur simultaneously, and the event flag flg (2m), the event flag flg (4m), and the event flag flg
(8m), etc. are set. Thereby, tsk-2
m, tsk-4m, tsk-8m, etc. are in the READY state. Then, the event flag flg (2m), the event flag flg (4m), and the event flag flg (8
m), etc. are cleared. Dispatch puts tsk-2m having the highest priority in the RUN state. tsk-2m
Notifies the real-time operating system of waiting for the next event flag flg (2m). The real-time operating system puts tsk-2m in a waiting state, and dispatch puts the tsk-4m having the highest priority in the RUN state. tsk-4m indicates to the real-time operating system the next event flag flg (4
m) Notify wait. The real-time operating system waits for tsk-4m, and dispatch sets the tsk-8m having the highest priority to the RUN state. Hereinafter, the same procedure is repeated.

【0022】図9はtsk−2m実行中に非同期のイベ
ントaが発生しtsk−aを開始する例を説明するタイ
ミングチャートである。本図に示すように、非同期のイ
ベントaの発生による割り込みがあると、イベントハン
ドラはシステムコールset flg(a)を発行する。
同時にtak−2mの処理を中断する。リアルタイムオ
ペレーティングシステムはイベントフラグflg(a)
を設定して、tsk−aをREADY状態にする。その
後イベントハンドラはシステムコールclr flg
(a)を発行する。リアルタイムオペレーティングシス
テムはイベントフラグflg(a)をクリアして、イベ
ントハンドラの処理を終了する。ディスパッチは、 tsk−a>tsk−2m の場合には、tsk−aをRUN状態にする。tsk−
aはシステムコールwai flg(a)を発行する。
リアルタイムオペレーティングシステムはtsk−aを
待ち状態にする。ディスパッチはtsk−2mをRUN
状態にして処理を再開する。tsk−aはシステムコー
ルwai flg(2m)を発行する。以下は図8と同
様な手順を取る。
FIG. 9 shows an asynchronous event during execution of tsk-2m.
Tie for explaining an example in which the event a is generated and tsk-a is started.
It is a mining chart. As shown in this figure,
If there is an interrupt due to the occurrence of vent a, the event
Dora is the system call set issues flg (a).
At the same time, the processing of taka-2m is interrupted. Real-time audio
The operating system uses the event flag flg (a)
Is set to bring tsk-a into the READY state. That
After event handler is system call clr flg
(A) is issued. Real-time operating system
The system clears the event flag flg (a) and
End the process of the event handler. Dispatching puts tsk-a in the RUN state if tsk-a> tsk-2m. tsk-
a is the system call wai issues flg (a).
The real-time operating system uses tsk-a
Put in the waiting state. Dispatch runs tsk-2m
State and restart the process. tsk-a is the system code
Le wai issue flg (2m). The following is the same as FIG.
Take the following steps.

【0023】図10はtsk−2m実行中に非同期のイ
ベントaが発生しtsk−aを開始する別の例を説明す
るタイミングチャートである。図9との相違は、 tsk−a<tsk−2m の場合には、tsk−2mを再開して、その後にtsk
−aをRUN状態にすることである。
FIG. 10 is a timing chart for explaining another example in which an asynchronous event a occurs during execution of tsk-2m and tsk-a is started. The difference from FIG. 9 is that when tsk−a <tsk−2m, tsk−2m is restarted, and then tsk−m
-A is in the RUN state.

【0024】図11はタイマ系におけるイベントハンド
ラのシステムコールset flg(x)の発行を説明
する図である。本図に示す基本タイマ11は、例えば1
6ビット長のタイマカウント値C−tmrを生成する。
基本タイマ11及びエンジンの各種センサの出力に接続
されるイベントハンドラ12は、それらの出力をイベン
トとして、イベントフラグを形成する。そのイベントフ
ラグは、32ビットマクロコンピュータの場合には、3
2ビット長に設定される。このイベントフラグにより、
同期系のタスクtsk−2m、tsk−4m、tsk−
8m、等、非同期系のタスクa、b、等の待ち状態から
REDY状態への遷移処理が行われる。以下にイベント
フラグについて説明する。
FIG. 11 shows a system call set of an event handler in the timer system. FIG. 9 is a diagram illustrating issuance of flg (x). The basic timer 11 shown in FIG.
A 6-bit timer count value C-tmr is generated.
The event handler 12 connected to the outputs of the basic timer 11 and various sensors of the engine forms an event flag using those outputs as events. The event flag is 3 in the case of a 32-bit macro computer.
It is set to 2 bits long. With this event flag,
Synchronous tasks tsk-2m, tsk-4m, tsk-
8m, etc., the transition processing from the waiting state of the asynchronous tasks a, b, etc. to the REDY state is performed. Hereinafter, the event flag will be described.

【0025】図12は図11のイベントフラグを説明す
る図である。本図に示すように、イベントフラグの32
ビット長の下位の16ビットに基本タイマのカウンタ値
C−tmrを割り付け、上位の16ビットにカウンタ値
tmrを反転した反転カウンタ値C tmrを割り
付ける。図13はイベントフラグの動作を説明する図で
ある。
FIG. 12 is a diagram for explaining the event flags of FIG. As shown in FIG.
The counter value C-tmr of the basic timer is assigned to the lower 16 bits of the bit length, and the counter value C is assigned to the upper 16 bits. inversion counter value C obtained by inverting tmr Assign tmr. FIG. 13 is a diagram illustrating the operation of the event flag.

【0026】ステップS1において、基本タイマのカウ
ントアップ毎にカウント値C tmrを入力する。ステ
ップS2において、イベントフラグflg tmrに、 反転C−tmr×216+C−tmr を設定する。
In step S1, the count value C is incremented every time the basic timer counts up. Enter tmr. In step S2, the event flag flg Set tmr to inverted C−tmr × 2 16 + C−tmr.

【0027】ステップS3において、イベントフラグf
lg tmrに設定されたビットパターンと、タスクが
処理をしたいタイマカウント値K tmrからイベント
フラグflg tmrへの設定方法に対応して形成する
フラグパターンとの論理積(AND)を、下記式のよう
に、取る。 反転C−tmr×216+C−tmr∩反転K−tmr×
16+K−tmr ステップS4において、フラグパターンで示されるビッ
トがすべてセットされたか判断する。この判断が「N
O」ならステップS6に進む。なお、任意のカウンタ値
について上記論理積式が成立するカウンタ値は1つのみ
存在する。
In step S3, the event flag f
lg tmr and the timer count value K that the task wants to process Event flag flg from tmr The logical product (AND) with the flag pattern formed corresponding to the setting method for tmr is calculated as in the following equation. Inverted C-tmr × 2 16 + C-tmr∩Inverted K-tmr ×
2 16 + K-tmr In step S4, it is determined whether all the bits indicated by the flag pattern have been set. This judgment is "N
If "O", the process proceeds to step S6. It should be noted that there is only one counter value that satisfies the logical product expression for an arbitrary counter value.

【0028】ステップS5において、上記判断が「YE
S」なら該当するタスクを待ち状態からREADY状態
にする。つまり起動条件が成立させる。ステップS6に
おいて、イベントフラグflg tmrの全ビットをク
リアして終了する。したがって、本発明によれば、1つ
の基本カウンタで複数のタスクの起動条件を成立させる
ことができ、従来のように、多数のカウンタを必要とし
ないので、装置の規模を低減できる。
In step S5, the above judgment is made that "YE
If "S", the corresponding task is changed from the waiting state to the READY state. That is, the start condition is satisfied. In step S6, the event flag flg Clear all bits of tmr and end. Therefore, according to the present invention, the activation condition of a plurality of tasks can be satisfied by one basic counter, and a large number of counters are not required unlike the related art, so that the scale of the apparatus can be reduced.

【0029】図14は他の優先度の高いタスクの割り込
みにより、タイマ系のタスクtsk−4mを一例として
処理が遅れた場合にタスク処理を行うべきタイマカウン
ト値K tmrの補正例を説明するフローチャートであ
り、図15は図14の補正を説明するタイムチャートで
ある。図14において、ステップS10において、アプ
リケーション処理の終了時刻C’ tmrを得る。
FIG. 14 shows a timer count value K at which task processing is to be performed when the processing is delayed by taking an example of a timer-based task tsk-4m due to interruption of another high-priority task. FIG. 15 is a flowchart illustrating a correction example of tmr, and FIG. 15 is a time chart illustrating the correction of FIG. In FIG. 14, in step S10, the end time C ′ of the application process tmr.

【0030】ステップS11において、タスク処理の遅
れ時間tdを以下のようにして求める。 td=C’ tmr−K tmr このtdを四捨五入してmsecの単位に丸める。ステ
ップS12において、今回のタスク処理を行うべきタイ
マカウント値を以下のように補正する。
In step S11, the task processing delay time td is obtained as follows. td = C ' tmr-K tmr This td is rounded off and rounded to the unit of msec. In step S12, the timer count value at which the current task process is to be performed is corrected as follows.

【0031】K tmr=K tmr+td ステップS13において、次回のタスク処理を行うべき
タイマカウント値を以下のように設定する。 K tmr=K tmr+4msec ステップS14において、前述のように、イベントフラ
グ待ちをセットする。
K tmr = K tmr + td In step S13, the timer count value at which the next task processing is to be performed is set as follows. K tmr = K tmr + 4 msec In step S14, the event flag wait is set as described above.

【0032】なお、他のタスクについても同様に補正が
行われる。本発明によれば、処理開始時間が遅れた分だ
け、次の処理開始時間をずらす補正を行うことにより、
自動的にタスクのスケジューリングが変更されるので、
処理が特定のタイミングで密となり、処理がさらに遅れ
ることを防止することが可能になる。すなわち、遅れ時
間tdは他のタスクの処理時間により可変であるためt
sk−4mの相対タイミングにずれが発生するのを防止
できる。
It should be noted that other tasks are similarly corrected. According to the present invention, by performing the correction for shifting the next processing start time by an amount corresponding to the processing start time delayed,
Task scheduling changes automatically,
Processing becomes dense at a specific timing, and it is possible to prevent the processing from being further delayed. That is, since the delay time td is variable depending on the processing time of another task, td
A shift in the relative timing of sk-4m can be prevented.

【0033】次に、遅れ時間tdをn回とり平均してタ
スク処理を行うべきタイマカウント値K tmrを補正
するようにしてもよい。一次遅れを無視して、定常的に
遅れるものを優先的に補正を行うためである。次に、遅
れ時間tdが、例えば、tsk−4mの場合に、一時的
に4msecを越えるときに、補正を行わない。今回の
処理が次回の処理を越えるので、次回の処理を補正せず
無効にして、次々回の処理を行うようにして、処理を簡
単にするためである。
Next, the timer count value K for performing the task processing by averaging the delay time td by n times is described. tmr may be corrected. This is because the first-order delay is ignored, and the one that is constantly delayed is preferentially corrected. Next, when the delay time td is, for example, tsk−4 m, when the delay time temporarily exceeds 4 msec, no correction is performed. Since the current process exceeds the next process, the next process is invalidated without correction and the next process is performed, thereby simplifying the process.

【0034】次に、遅れ時間tdが一時的に4msを越
える場合にはエラーフラグを立てる。過負荷、優先度の
高いものの重なりをチェックする必要があるためであ
る。次に、遅れ時間がtdが一時的に4msを越える場
合には自タスクの優先度を上げる。遅れ時間がtdが一
時的に4msを越えるのを防止するためである。次に、
遅れ時間がtdが一時的に4msを越え次回の処理の補
正を行う場合には、図14のステップS13の式を、以
下のように、変更して、起動を早める。
Next, if the delay time td temporarily exceeds 4 ms, an error flag is set. This is because it is necessary to check for overload and overlapping of high priority items. Next, when the delay time td temporarily exceeds 4 ms, the priority of the invoking task is raised. This is to prevent the delay time td from temporarily exceeding 4 ms. next,
When the delay time td temporarily exceeds 4 ms and the correction of the next processing is performed, the expression of step S13 in FIG. 14 is changed as follows to speed up the start-up.

【0035】K tmr=K tmr+1msec 次々回の処理に支障を与えないようにするためである。
以上の処理は、一例であり、他のタイマ系の異なる周期
についても、同様に適用される。
K tmr = K tmr + 1 msec This is to prevent trouble from occurring in the next process.
The above process is an example, and is similarly applied to different periods of other timer systems.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明に係る車両のエンジンシステムを示す図
である。
FIG. 1 is a diagram showing an engine system of a vehicle according to the present invention.

【図2】図1のエンジンコントロールコンピュータの概
略を説明する図である。
FIG. 2 is a diagram schematically illustrating the engine control computer of FIG. 1;

【図3】図2のエンジンコントロールコンピュータを説
明する概略図である。
FIG. 3 is a schematic diagram illustrating the engine control computer of FIG. 2;

【図4】図3のタスク状態遷移を説明する図である。FIG. 4 is a diagram for explaining a task state transition in FIG. 3;

【図5】イベントハンドラのプログラム構成を説明する
図である。
FIG. 5 is a diagram illustrating a program configuration of an event handler.

【図6】タスクのプログラム構成を説明する図である。FIG. 6 is a diagram illustrating a program configuration of a task.

【図7】外部情報ファイルのプログラム構成を説明する
図である。
FIG. 7 is a diagram illustrating a program configuration of an external information file.

【図8】電源投入時の各タスクの初期状態からの動作例
を説明するタイミングチャートである。
FIG. 8 is a timing chart illustrating an operation example from the initial state of each task when the power is turned on.

【図9】tsk−2m実行中に非同期のイベントaが発
生しtsk−aを開始する例を説明するタイミングチャ
ートである。
FIG. 9 is a timing chart illustrating an example in which an asynchronous event a occurs during execution of tsk-2m and tsk-a is started.

【図10】tsk−2m実行中に非同期のイベントaが
発生しtsk−aを開始する別の例を説明するタイミン
グチャートである。
FIG. 10 is a timing chart illustrating another example in which an asynchronous event a occurs during execution of tsk-2m and tsk-a is started.

【図11】タイマ系におけるイベントハンドラのシステ
ムコールset flg(x)の発行を説明する図であ
る。
FIG. 11 shows a system call set of an event handler in a timer system. FIG. 9 is a diagram illustrating issuance of flg (x).

【図12】図11のイベントフラグを説明する図であ
る。
FIG. 12 is a diagram illustrating the event flags of FIG. 11;

【図13】イベントフラグの動作を説明する図である。FIG. 13 is a diagram illustrating the operation of an event flag.

【図14】他の優先度の高いタスクの割り込みにより、
タイマ系のタスクtsk−4mを一例として処理が遅れ
た場合にタスク処理を行うべきタイマカウント値K
mrの補正例を説明するフローチャートである。
FIG. 14 shows an interrupt from another high-priority task.
Timer count value K at which task processing should be performed when processing is delayed, taking timer-system task tsk-4m as an example t
9 is a flowchart illustrating an example of correcting mr.

【図15】図14の補正を説明するタイムチャートであ
る。
FIG. 15 is a time chart for explaining the correction of FIG. 14;

【図16】イベントフラグflg−2m、flg−4
m、flg−8mの形成を説明する図である。
FIG. 16 shows event flags flg-2m and flg-4.
It is a figure explaining formation of m and flg-8m.

【図17】タスクtsk−2m、tsk−4m、tsk
−8m、等の起動タイミングを示す図である。
FIG. 17 shows tasks tsk-2m, tsk-4m, and tsk.
It is a figure which shows the starting timing of -8m, etc.

【符号の説明】[Explanation of symbols]

1…I/Oインタフェース 2…制御ソフトプローグラム 3…リアルタイムオペレーティングシステム 11…基本タイマ 12…イベントハンドラ DESCRIPTION OF SYMBOLS 1 ... I / O interface 2 ... Control software program 3 ... Real-time operating system 11 ... Basic timer 12 ... Event handler

Claims (8)

【特許請求の範囲】[Claims] 【請求項1】 エンジンの各種センサから入ってくる情
報に短時間に応答して複数のタスクの遷移状態を制御す
るリアルタイムオペレーティングシステムを有するエン
ジン制御ソフトのタイミング管理装置において、 前記エンジン制御ソフトに使用される1つの基本タイマ
と、 前記各種センサからの非同期系のイベントの他に、前記
基本タイマの出力を用いて種々の周期の同期系のイベン
トに対してイベントフラグをセット及びクリアして前記
複数のタスクの遷移状態を制御するイベントハンドラと
を具備し、 前記イベントハンドラは、前記基本タイマのカウントに
ビット値を下位ビットに、そのカウント値のビット値を
反転したものを上位ビットに設定したイベントフラグを
形成し、このイベントフラグに設定されたビット値と予
め設定されたビット値と論理積を取り、タスクを処理し
たいタイミングの決定を行うことを特徴とするエンジン
制御ソフトのタイミング管理装置。
1. A timing management device for engine control software having a real-time operating system for controlling a transition state of a plurality of tasks in a short time in response to information input from various sensors of an engine, wherein the timing control device is used for the engine control software. One basic timer and an asynchronous event from the various sensors, and an event flag is set and cleared for a synchronous event of various cycles using the output of the basic timer. An event handler for controlling a transition state of the task, wherein the event handler sets a bit value to the lower bit of the count of the basic timer, and sets an inverted bit value of the count value to an upper bit. A flag is formed, and the bit value set in the event flag is set in advance. A timing management device for engine control software, which takes a logical product of the obtained bit value and a logical value to determine a timing at which a task is to be processed.
【請求項2】 前記イベントハンドラは、タイミングが
決定されたタスクの処理を開始する時間が遅れた場合に
は、遅れ時間だけ次回のタスクの起動処理を遅らすよう
にタイミングを補正することを特徴とする、請求項1に
記載のエンジン制御ソフトのタイミング管理装置。
2. The method according to claim 1, wherein the event handler corrects the timing so as to delay the next task activation processing by the delay time when the time to start the processing of the task whose timing is determined is delayed. The timing management device for engine control software according to claim 1, wherein:
【請求項3】 前記遅れ時間を所定の単位に丸めること
を特徴とする、請求項2に記載のエンジン制御ソフトの
タイミング管理装置。
3. The timing management device for engine control software according to claim 2, wherein the delay time is rounded to a predetermined unit.
【請求項4】 前記遅れ時間をn回とり平均化すること
を特徴とする、請求項2に記載のエンジン制御ソフトの
タイミング管理装置。
4. The timing management device for engine control software according to claim 2, wherein the delay time is taken n times and averaged.
【請求項5】 前記遅れ時間がタスク処理の周期を越え
る場合には次回のタスクの起動処理を無効にすることを
特徴とする、請求項2に記載のエンジン制御ソフトのタ
イミング管理装置。
5. The timing management device for engine control software according to claim 2, wherein when the delay time exceeds a cycle of task processing, the next task activation processing is invalidated.
【請求項6】 前記遅れ時間がタスク処理の周期を越え
る場合にはエラーフラグを立てることを特徴とする、請
求項2に記載のエンジン制御ソフトのタイミング管理装
置。
6. The timing management device for engine control software according to claim 2, wherein an error flag is set when the delay time exceeds the cycle of task processing.
【請求項7】 前記遅れ時間がタスク処理の周期を越え
る場合には、自タスクの起動処理の優先度を上げること
を特徴とする、請求項2に記載のエンジン制御ソフトの
タイミング管理装置。
7. The engine control software timing management device according to claim 2, wherein when the delay time exceeds a task processing cycle, the priority of the start processing of the own task is increased.
【請求項8】 前記遅れ時間がタスク処理の周期を越
え、次回のタスクの起動処理のタイミングの補正を行う
場合には、次回のタスクの起動処理を早くすることを特
徴とする、請求項2に記載のエンジン制御ソフトのタイ
ミング管理装置。
8. The method according to claim 2, wherein when the delay time exceeds the cycle of the task processing and the timing of the next task activation processing is corrected, the next task activation processing is accelerated. 4. A timing management device for engine control software according to 4.
JP25477096A 1996-09-26 1996-09-26 Engine control software timing management device Expired - Lifetime JP3775868B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP25477096A JP3775868B2 (en) 1996-09-26 1996-09-26 Engine control software timing management device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP25477096A JP3775868B2 (en) 1996-09-26 1996-09-26 Engine control software timing management device

Publications (2)

Publication Number Publication Date
JPH10105418A true JPH10105418A (en) 1998-04-24
JP3775868B2 JP3775868B2 (en) 2006-05-17

Family

ID=17269650

Family Applications (1)

Application Number Title Priority Date Filing Date
JP25477096A Expired - Lifetime JP3775868B2 (en) 1996-09-26 1996-09-26 Engine control software timing management device

Country Status (1)

Country Link
JP (1) JP3775868B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100426201B1 (en) * 2001-12-27 2004-04-06 씨멘스 오토모티브 주식회사 A task imformation driving system of e.c.u
JP2010009434A (en) * 2008-06-30 2010-01-14 Meidensha Corp Load distribution method in collection of monitor and control information

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100426201B1 (en) * 2001-12-27 2004-04-06 씨멘스 오토모티브 주식회사 A task imformation driving system of e.c.u
JP2010009434A (en) * 2008-06-30 2010-01-14 Meidensha Corp Load distribution method in collection of monitor and control information

Also Published As

Publication number Publication date
JP3775868B2 (en) 2006-05-17

Similar Documents

Publication Publication Date Title
KR970016979A (en) Queuing system and method of tasks in a multiprocessing system
JPH1015836A (en) Robot controller and method for controlling the same
JP4241462B2 (en) Control unit and microcomputer
JP2020135214A (en) Task management apparatus
US20010047470A1 (en) Management of interrupts each having hardware and software priorities in a microprocessor
JPH10105418A (en) Timing managing device for engine control software
JP2005301812A (en) Digital controller, and engine controller using the same
JP5771114B2 (en) Controller and how to handle tasks and ladders
JP2636722B2 (en) Multitask execution management method
JPH11232148A (en) Method and system for measuring load rate of computer
JP2004220326A (en) Control software structure and controller using the structure
US20020082718A1 (en) Method of operating an industrial controller
JPH10105416A (en) Task start controller using real time operating system
JP2010102567A (en) Periodical task execution device, periodical task execution method, and program
JPH10177489A (en) Task scheduling method
JP3890877B2 (en) Vehicle control device
JPS63300326A (en) Transaction execution schedule system
US20230409403A1 (en) Control device and control method
JPH06309180A (en) Interrupt controller for computer system
Green Time sharing in a traffic control program
JP3075646B2 (en) Task activation method
JP2013161363A (en) Electronic control device and method for executing program
JPH02311916A (en) Waiting time controller
JPH07141300A (en) Period processing method using plural processors
JPH0778091A (en) Multitask managing method

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20051227

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: 20060124

A61 First payment of annual fees (during grant procedure)

Effective date: 20060221

Free format text: JAPANESE INTERMEDIATE CODE: A61

R150 Certificate of patent (=grant) or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (prs date is renewal date of database)

Year of fee payment: 4

Free format text: PAYMENT UNTIL: 20100303

FPAY Renewal fee payment (prs date is renewal date of database)

Year of fee payment: 5

Free format text: PAYMENT UNTIL: 20110303

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110303

Year of fee payment: 5

FPAY Renewal fee payment (prs date is renewal date of database)

Year of fee payment: 6

Free format text: PAYMENT UNTIL: 20120303

FPAY Renewal fee payment (prs date is renewal date of database)

Year of fee payment: 6

Free format text: PAYMENT UNTIL: 20120303

FPAY Renewal fee payment (prs date is renewal date of database)

Year of fee payment: 7

Free format text: PAYMENT UNTIL: 20130303