JP2002049498A - Task activation control method - Google Patents
Task activation control methodInfo
- Publication number
- JP2002049498A JP2002049498A JP2000234881A JP2000234881A JP2002049498A JP 2002049498 A JP2002049498 A JP 2002049498A JP 2000234881 A JP2000234881 A JP 2000234881A JP 2000234881 A JP2000234881 A JP 2000234881A JP 2002049498 A JP2002049498 A JP 2002049498A
- Authority
- JP
- Japan
- Prior art keywords
- task
- activation
- priority
- cycle
- request
- 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.)
- Pending
Links
Landscapes
- Combined Controls Of Internal Combustion Engines (AREA)
Abstract
(57)【要約】
【課題】 自動車制御等におけるコンピュータによる自
動制御において、同一起動周期、異なる優先度を持つタ
スクの起動処理効率を向上できるタスク起動制御方法を
提供すること。
【解決手段】 各タスクに設定された優先度によりタス
クを優先度順に並べた優先度リストを設定し、同一の起
動タイミングで起動要求が発生するタスクの起動要求を
設定し、設定した起動要求に対して前記優先度リストに
設定された優先度順に起動処理を実行し、同一起動タイ
ミングの複数のタスクを一つの起動要求によって起動処
理する。
(57) [Problem] To provide a task activation control method capable of improving the activation processing efficiency of tasks having the same activation cycle and different priorities in automatic control by a computer in vehicle control or the like. SOLUTION: A priority list in which tasks are arranged in order of priority according to the priority set for each task is set, a task start request in which a start request occurs at the same start timing is set, and the set start request is set. On the other hand, the boot process is executed in the order of the priority set in the priority list, and a plurality of tasks having the same boot timing are booted by one boot request.
Description
【0001】[0001]
【発明の属する技術分野】本発明は、コンピュータによ
る自動制御におけるタスク起動制御方法に関し、特に、
自動車のエンジン等の電子式自動制御において固有のタ
スク起動タイミングを持つ複数のタスクの起動を制御す
るタスク起動制御方法に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a task activation control method in automatic control by a computer, and more particularly, to a task activation control method.
The present invention relates to a task activation control method for controlling activation of a plurality of tasks having unique task activation timings in electronic automatic control of an automobile engine or the like.
【0002】[0002]
【従来の技術】近年、自動車の制御にマイクロコンピュ
ータが導入され、エンジン、パワートレインなどを高精
度に制御することが可能となった。これにより、自動車
制御システムの開発においては、マイクロコンピュータ
のソフトウェア開発が大きな比重を占めるようになり、
制御アルゴリズム上の処理の効率化が重要な課題となっ
ている。2. Description of the Related Art In recent years, microcomputers have been introduced for controlling automobiles, and it has become possible to control engines, power trains and the like with high accuracy. As a result, software development of microcomputers has become a major player in the development of automotive control systems,
It is important to improve the efficiency of the processing on the control algorithm.
【0003】マイクロコンピュータによるエンジン制御
システムなどでは、吸入空気量や燃料噴射量の演算など
のように、デジタル制御理論に基づく離散値処理のため
に等時間間隔処理を行うタスク、点火タイマセットなど
のように、制御対象物の状態量であるクランク位置情報
に基づく処理を行うタスクなど、制御対象毎に複数のタ
スクがあり、通常、これらの各タスクは、所定時間間隔
毎、所定クランク角毎に割込み実行されるようになって
おり、複数の割込み処理を適切に実行するため、従来か
ら各種提案がなされている。[0003] In an engine control system using a microcomputer, a task of performing an equal time interval processing for discrete value processing based on digital control theory, such as a calculation of an intake air amount and a fuel injection amount, and an ignition timer set. As described above, there are a plurality of tasks for each control target such as a task of performing a process based on crank position information which is a state quantity of the control target, and these tasks are usually performed at predetermined time intervals and at predetermined crank angles. Interrupts are executed, and various proposals have conventionally been made to appropriately execute a plurality of interrupt processes.
【0004】例えば、特開平6−200820号公報に
は、各タスクの割込み要求を示すフラグを優先度付きで
作成するとともに、各優先度においてタスクの終了前に
重複して発生する割込み要求の回数を記憶し、上記フラ
グが指示するタスクを、優先度の高位側から低位側へ向
かって、記憶した割込み要求回数だけ各優先度で実行す
る技術が開示されている。For example, Japanese Patent Laid-Open Publication No. 6-200820 discloses that a flag indicating an interrupt request of each task is created with a priority, and the number of interrupt requests that occur repeatedly before the end of the task at each priority. And executes the task indicated by the flag at each priority from the higher priority to the lower priority by the stored interrupt request count.
【0005】また、上記以外にもタスク起動手段として
例えば特開平10−105416号公報、特開平10−
105418号公報等が挙げられる。[0005] In addition to the above, for example, Japanese Patent Application Laid-Open No. 10-105416,
No. 105418 and the like.
【0006】[0006]
【発明が解決しようとする課題】しかしながら、自動車
制御の高付加価値化と制御ユニットの低価格化が進み、
単一のマイクロコンピュータにより複数制御を行うよう
になると、制御対象によって制御遅れに対する許容度が
異なることから、より高精度な制御を行うためには、前
述のように複数のタスクがそれぞれ固有の起動周期で実
行するだけではなく、同一起動周期で起動するタスクで
あっても固有の優先度を持つ必要がある。However, high value-added automobile control and low price control units have been developed.
If multiple controls are performed by a single microcomputer, the tolerance for control delay differs depending on the control target.To achieve more precise control, multiple tasks must be started individually as described above. Not only tasks that are executed in a cycle but also tasks that are started in the same startup cycle need to have a unique priority.
【0007】また、自動車制御装置のハードウェア条件
(コスト,ROM,RAM容量)は厳しく、その上、リ
アルタイム制御であることから、その応答速度に対する
要求も厳しいため、CPU資源の大部分は各制御の計算
に割り当て、タスク起動処理は出来る限り軽い処理にす
る必要がある。Further, since the hardware conditions (cost, ROM, RAM capacity) of the vehicle control device are severe, and since it is a real-time control, the demand for the response speed is also severe, so that most of the CPU resources are used for each control. And the task activation process needs to be as light as possible.
【0008】これに対し、上述の従来技術では、各タス
ク毎に独立に起動周期を計測しているため、同一起動周
期のタスクを新たに作成したり、追加したりする場合に
は、同一起動周期であるにも拘らず、起動周期の計測処
理・起動要求の判定処理が新たに必要となる。On the other hand, in the above-mentioned prior art, since the activation cycle is measured independently for each task, when a task having the same activation cycle is newly created or added, the same activation cycle is used. Despite the cycle, a new process of measuring the startup cycle and determining the startup request is required.
【0009】本発明は上記事情に鑑みてなされたもの
で、自動車制御等におけるコンピュータによる自動制御
において、同一起動周期、異なる優先度を持つタスクの
起動処理効率を向上できるタスク起動制御方法を提供す
ることを目的としている。The present invention has been made in view of the above circumstances, and provides a task activation control method capable of improving the activation processing efficiency of tasks having the same activation cycle and different priorities in automatic control by a computer in vehicle control or the like. It is intended to be.
【0010】[0010]
【課題を解決するための手段】前記目的を達成するため
に、本発明に係るタスク起動制御方法は、コンピュータ
による自動制御で、所定のタイミングで起動する割込み
処理により、固有のタスク起動タイミングを持つ複数の
タスクに対して起動処理を実行するタスク起動制御方法
において、各タスクに設定された優先度によりタスクを
優先度順に並べた優先度リストを設定し、同一の起動タ
イミングで起動要求が発生するタスクの起動要求を設定
し、設定した起動要求に対して前記優先度リストに設定
された優先度順に起動処理を実行し、同一起動タイミン
グの複数のタスクを一つの起動要求によって起動処理す
ることを特徴とする。これにより、同一起動タイミング
の複数のタスクを一つの起動要求によって効率よく起動
させることができる。In order to achieve the above object, a task activation control method according to the present invention has a unique task activation timing by an interrupt process activated at a predetermined timing by automatic control by a computer. In a task activation control method for executing activation processing for a plurality of tasks, a priority list in which tasks are arranged in priority order according to the priority set for each task is set, and activation requests are generated at the same activation timing. A task start request is set, a start process is executed for the set start request in the order of the priority set in the priority list, and a plurality of tasks having the same start timing are started by a single start request. Features. Thus, a plurality of tasks having the same start timing can be started efficiently by one start request.
【0011】本発明に係るタスク起動制御方法では、タ
スク起動タイミングとして、所定の時間間隔でタイマに
よって起動する割込み処理によるものがあり、各タスク
毎に異なる時間間隔で前記起動要求を設定することがで
きる。これにより、時間周期で各タスクを起動させるこ
とができる。In the task activation control method according to the present invention, there is a task activation timing based on an interrupt process activated by a timer at a predetermined time interval, and the activation request can be set at a different time interval for each task. it can. Thus, each task can be activated in a time cycle.
【0012】この場合、一定の基本時間間隔でタイマに
よって起動する割込み処理によりカウントされる基本カ
ウンタを1つ持ち、各タスク起動周期毎に1つずつ周期
判定用のカウンタを備え、前記基本カウンタと前記周期
判定用カウンタが一致したときに起動周期であることを
検出して前記起動要求を設定し、検出後に基本カウンタ
値と該周期分のカウンタ値を加算して前記周期判定用カ
ウンタを更新し、次回の起動タイミングを設定すること
ができる。In this case, there is one basic counter counted by an interrupt process started by a timer at a constant basic time interval, and a counter for determining a period is provided for each task activation period. When the cycle determination counters match, the start request is set by detecting that the cycle is the start cycle, and after the detection, the base count value and the counter value for the cycle are added to update the cycle determination counter. , The next start timing can be set.
【0013】これにより、基本時間間隔でカウントする
のは基本カウンタのみでよく、周期判定用カウンタの更
新は各起動周期間隔になるため、各周期毎のカウンタを
基本時間間隔で更新するより高速な起動周期検出が可能
となる。Thus, only the basic counter needs to be counted at the basic time interval, and the cycle determination counter is updated at each activation cycle interval. Therefore, a higher speed than updating the counter for each cycle at the basic time interval is obtained. The start cycle can be detected.
【0014】また、本発明に係るタスク起動制御方法で
は、タスク起動タイミングとして、制御対象物の状態量
によって起動する割込み処理によるものがあり、各タス
ク毎に異なる状態量で前記起動要求を設定することがで
きる。これにより、制御対象物の状態量同期で、例え
ば、エンジンのクランク角同期で、各タスクを起動させ
ることができる。Further, in the task activation control method according to the present invention, the task activation timing is based on an interrupt process activated by the state quantity of the controlled object, and the activation request is set with a different state quantity for each task. be able to. Thus, each task can be started in synchronization with the state quantity of the control target, for example, in synchronization with the crank angle of the engine.
【0015】また、本発明に係るタスク起動制御方法で
は、タスク起動タイミングとして、不定期に発生する外
部事象を契機とするタスクがあり、事象同期で前記起動
要求を設定することができる。これにより事象同期で、
各タスクを起動させることができる。In the task activation control method according to the present invention, the task activation timing includes a task triggered by an external event that occurs irregularly, and the activation request can be set in event synchronization. This allows event synchronization,
Each task can be started.
【0016】また、本発明に係るタスク起動制御方法で
は、上述のような各種の起動タイミングを有するもの
で、その起動タイミングに応じて起動要求を設定するこ
とができる。The task activation control method according to the present invention has various activation timings as described above, and an activation request can be set according to the activation timings.
【0017】[0017]
【発明の実施の形態】図1は本発明によるタスク起動制
御方法が適用される内燃機関(エンジン)の全体システ
ムを示している。FIG. 1 shows an overall system of an internal combustion engine to which a task activation control method according to the present invention is applied.
【0018】エンジン本体1は、各気筒の燃焼室2にピ
ストン3を有し、ピストン3はコネクティングロッド4
によってクランク軸5に連結されている。The engine body 1 has a piston 3 in a combustion chamber 2 of each cylinder, and the piston 3 is connected to a connecting rod 4
To the crankshaft 5.
【0019】エンジン本体1の吸気ポート6には、エア
クリーナ7、空気流量計8,電動式スロットル弁9を収
容したスロットルボディ10,コレクタ11、吸気管1
2が接続されており、これらを通して各気筒の吸気ポー
ト6より各燃焼室2に空気が吸入される。吸気ポート6
はカム軸駆動の吸気弁13により開閉される。An intake port 6 of the engine body 1 has an air cleaner 7, an air flow meter 8, a throttle body 10 containing an electric throttle valve 9, a collector 11, and an intake pipe 1.
2 are connected, and air is sucked into each combustion chamber 2 from the intake port 6 of each cylinder through these. Intake port 6
Is opened and closed by a camshaft driven intake valve 13.
【0020】エンジン本体1には、筒内噴射用のインジ
ェクタ14と点火プラグ15とが各気筒毎設けられてい
る。The engine body 1 is provided with an in-cylinder injector 14 and a spark plug 15 for each cylinder.
【0021】エンジン本体1の排気ポート16には、排
気管17、触媒コンバータ18が接続されており、これ
らを通して排気ガスが排出される。排気ポート18はカ
ム軸駆動の排気弁19により開閉される。An exhaust pipe 17 and a catalytic converter 18 are connected to an exhaust port 16 of the engine body 1, through which exhaust gas is discharged. The exhaust port 18 is opened and closed by an exhaust valve 19 driven by a camshaft.
【0022】燃料供給装置として、燃料タンク20より
ガソリンなどの燃料を汲み上げて燃料を1次加圧する電
動式の燃料ポンプ21と、1次加圧された燃料を更に2
次加圧する高圧燃料ポンプ22が設けられ、2次加圧さ
れた高圧の燃料はインジェクタを配管されている燃料系
に供給される。As a fuel supply device, an electric fuel pump 21 for pumping fuel such as gasoline from a fuel tank 20 to first pressurize the fuel,
A high-pressure fuel pump 22 for the next pressurization is provided, and the high-pressure fuel for the second pressurization is supplied to a fuel system provided with an injector.
【0023】エンジン制御を行うコントロールユニット
50は、図2に示されているように、CPU51、RO
M52、RAM53およびA/D変換器等を含むI/O
ボート54等で構成されたマイクロコンピュータ式のも
のであり、エンジンの運転状態を検出する各種のセンサ
などからの信号を入力として取り込み、所定の演算処理
を実行し、この演算結果として算定された各種の制御信
号を出力し、インジェクタ14や点火コイル48、電動
スロットル駆動部49に所定の制御信号を供給し、燃料
供給量制御や点火時期制御等を実行するものである。As shown in FIG. 2, the control unit 50 for controlling the engine includes a CPU 51, an RO,
I / O including M52, RAM53, A / D converter, etc.
It is a microcomputer type composed of a boat 54 and the like, receives signals from various sensors and the like for detecting the operating state of the engine as inputs, executes predetermined arithmetic processing, and performs various arithmetic operations calculated as the arithmetic results. , And supplies a predetermined control signal to the injector 14, the ignition coil 48, and the electric throttle drive unit 49 to execute fuel supply amount control, ignition timing control, and the like.
【0024】コントロールユニット50にエンジンの運
転状態を示す信号を入力するセンサとしては、クランク
角センサ55、スロットルセンサ56、アクセルセンサ
57、ブレーキスイッチ58、空気流量計(エアフロー
センサ)8、冷却水温センサ59、燃圧センサ60、車
速センサ61、オートクルーズメインスイッチ62、空
燃比センサ63等がある。The sensors for inputting signals indicating the operating state of the engine to the control unit 50 include a crank angle sensor 55, a throttle sensor 56, an accelerator sensor 57, a brake switch 58, an air flow meter (air flow sensor) 8, a cooling water temperature sensor. 59, a fuel pressure sensor 60, a vehicle speed sensor 61, an auto cruise main switch 62, an air-fuel ratio sensor 63, and the like.
【0025】上述のようなエンジン制御において、マイ
クロコンピュータ50では、各センサ類からの信号入力
処理、エンジン回転数算出、吸入空気量算出、燃料噴射
量算出、点火時期算出といった各項目毎の各種プログラ
ムが、一つのオペレーティングシステム(以下OSと略
す)の管理下で効率的に実行される。このOSのマネジ
メント機能としては、 (1-1) タスクの等時間間隔制御 (1-2) タスクの即時起動制御 (1-3) タスクの優先度制御 (1-4) タスク毎に固有の制約を持たない標準スタック設
定 (1-5) スタックの使用状況モニタ機能 (1-6) 異常割込み動作のモニタ機能 などの機能があり、制御開発環境を向上させるととも
に、限られたCPU能力を最大限に発揮させ、デジタル
制御理論の基本である等時間間隔処理を可能な限り達成
することができる。In the above-described engine control, the microcomputer 50 executes various programs for each item such as signal input processing from each sensor, engine speed calculation, intake air amount calculation, fuel injection amount calculation, and ignition timing calculation. Is efficiently executed under the control of one operating system (hereinafter abbreviated as OS). The management functions of this OS include (1-1) Equal time interval control of tasks (1-2) Immediate activation of tasks (1-3) Priority control of tasks (1-4) Restrictions specific to each task (1-5) Stack usage monitoring function (1-6) Abnormal interrupt operation monitoring function, etc. to improve the control development environment and maximize the limited CPU capacity To achieve as much as possible the equal time interval processing that is the basis of digital control theory.
【0026】等時間間隔処理は、例えば1ms毎の定期
割込みを基本として、1,2,4,10,20,40,
80,160,320ms毎の9種類の等時間間隔割込
みタスクを用意しており、また、制御対象物の状態量
(物理量)であるクランク角位置、もしくは不定期に発
生する外部事象を契機とするなど任意の制御タイミング
に同期する処理として、イベントタスクを用意してい
る。The equal time interval processing is based on a periodic interruption every 1 ms, for example, and is based on 1, 2, 4, 10, 20, 40,
Nine types of equal time interval interrupt tasks are prepared at intervals of 80, 160, and 320 ms, and are triggered by the crank angle position, which is the state quantity (physical quantity) of the controlled object, or an external event that occurs irregularly. For example, an event task is prepared as a process synchronized with an arbitrary control timing.
【0027】等時間間隔割込みタスクおよびイベントタ
スクは、それぞれタスク制御テーブル300を持つ。タ
スク制御テーブル300は、図3に示されているよう
に、各タスク毎に、優先度、起動周期/イベント、起動
要求のデータ項と、次優先度ポインタ、次起動周期/イ
ベントポインタ、プログラム登録テーブル310へのポ
インタを有している。The equal time interval interrupt task and the event task each have a task control table 300. As shown in FIG. 3, the task control table 300 includes, for each task, a priority, a start cycle / event, a data item of a start request, a next priority pointer, a next start cycle / event pointer, and program registration. It has a pointer to the table 310.
【0028】プログラム登録テーブル310は、該タス
クで実行する全プログラムの入口アドレスを配列として
実行順に設定しており、最後の要素に区切りデータ(値
0)を設定している。例えば、プログラム登録テーブル
310のEGI入口にはEGIプログラム320の入口
アドレスが登録される(図3参照)。In the program registration table 310, the entry addresses of all programs executed by the task are set in the order of execution as an array, and delimiter data (value 0) is set in the last element. For example, the entry address of the EGI program 320 is registered at the EGI entrance of the program registration table 310 (see FIG. 3).
【0029】上述のOSの下で働く各プログラムは、各
タスクに対応するプログラム登録テーブル310にプロ
グラム入口アドレスを登録することで、所望の優先度・
起動周期・プログラム実行順番を簡単に設定することが
でき、機能別の開発、デバッグが容易に行える。Each program operating under the OS described above registers a program entry address in the program registration table 310 corresponding to each task, thereby obtaining a desired priority / priority.
The start cycle and program execution order can be easily set, and development and debugging for each function can be easily performed.
【0030】各タスクには、図4に示されているよう
に、高優先度側から低優先度側に向かってレベル254
〜0の256段階の優先度が付けられ、図15のタスク
504に示すように、高優先度タスクに対し低優先度タ
スクが分割して処理されるとともに、各タスクの多重待
ち処理が行われる。As shown in FIG. 4, each task has a level 254 from the high priority side to the low priority side.
Priority is given to 256 levels of 0 to 0, and as shown in a task 504 in FIG. 15, a low-priority task is divided and processed for a high-priority task, and multiple waiting processing of each task is performed. .
【0031】タスクの優先度を、たとえば、16で割っ
た商により、タスクを16個のスタック共有タスク群
(優先度レベル254〜240,239〜224,・・
・,15〜0)に分け、同じスタック共有タスク群に含
まれるタスク同士は分割処理しないようにしてスタック
を共有し、メモリ節約を図ることができる。例えば、図
4に示されている例では、スタック共有タスク群Aに含
まれる優先度レベル254〜240のタスクはスタック
#1を共有している。また、図15では、タスク501
〜502が同じスタック共有タスク群に含まれており、
互いの動作で分割処理されない。A task is divided into 16 stack shared task groups by a quotient obtained by dividing the task priority by 16, for example.
(Priority levels 254 to 240, 239 to 224, ...
, 15 to 0), and the tasks included in the same stack sharing task group do not perform the division processing and share the stack to save memory. For example, in the example shown in FIG. 4, the tasks of the priority levels 254 to 240 included in the stack sharing task group A share the stack # 1. Also, in FIG.
~ 502 are included in the same stack sharing task group,
It is not split by each other's operation.
【0032】各タスクの優先度割当ては、一つの具体例
として、図5に示すように設定している。この具体例で
は、タスク501〜503、504〜505、508〜
510、513〜515がそれぞれ同じスタック共有タ
スク群となり、スタックを共有している。この各タスク
の優先度割当ての情報は、タスク優先度割当てテーブル
500としてRAM52に存在する。The priority assignment of each task is set as shown in FIG. 5 as one specific example. In this specific example, tasks 501-503, 504-505, 508-
510, 513 to 515 are the same stack shared task group, and share the stack. Information on the priority assignment of each task is stored in the RAM 52 as a task priority assignment table 500.
【0033】タスク優先度割当てテーブル500に基づ
いて、優先度リスト600、起動周期リスト700、イ
ベントリスト800が作成される。Based on the task priority assignment table 500, a priority list 600, a start cycle list 700, and an event list 800 are created.
【0034】優先度リスト600は、図6に示されてい
るように、OS管理下の全てのタスクのタスク制御テー
ブルを優先度(レベル)順にポインタで連結した線形リ
ストであり、換言すれば、各タスクに設定された優先度
に基づいてタスクを優先度順に並べたリストであり、起
動要求のあるタスクを優先度順に起動するために使用さ
れる。As shown in FIG. 6, the priority list 600 is a linear list in which task control tables of all tasks under OS management are linked by pointers in order of priority (level), in other words, This is a list in which the tasks are arranged in order of priority based on the priority set for each task, and is used to start the tasks having an activation request in order of priority.
【0035】起動周期リスト700は、図7に示されて
いるように、同一起動周期のタスク制御テーブルをポイ
ンタで連結した線形リストであり、同一起動周期で異な
る優先度のタスクを高速に検索して起動要求を記憶する
ために使用する。例えば、2ms周期では同一周期に異
なる優先度のタスク503とタスク504のタスク制御
テーブルが連結される。タスク507とタスク508は
どちらも10ms周期であるが、周期位相をずらすこと
で、異なる周期として連結しており、負荷分散を図って
いる。As shown in FIG. 7, the activation cycle list 700 is a linear list in which task control tables of the same activation cycle are linked by pointers, and searches for tasks of different priorities in the same activation cycle at high speed. Used to store the activation request. For example, in the 2 ms cycle, task control tables of tasks 503 and 504 having different priorities are connected in the same cycle. Both the task 507 and the task 508 have a period of 10 ms, but are connected as different periods by shifting the period phase to achieve load distribution.
【0036】また、起動周期リスト700は、各起動周
期のタスク毎に、起動周期計測の基本となる周期計測カ
ウンタ(基本カウンタ)710によって各周期の起動タ
イミングを検出するための周期判定用カウンタ720を
定義している。The start-up cycle list 700 includes a cycle determination counter 720 for detecting a start-up timing of each cycle by a cycle measurement counter (basic counter) 710 as a basis of the start-up cycle measurement for each task in the start-up cycle. Is defined.
【0037】イベントリスト800は、図8に示されて
いるように、同一のイベントで起動するタスク制御テー
ブルをポインタで連結した線形リストであり、同一イベ
ントで異なる優先度のタスクを高速に検索して起動要求
を記憶するために使用される。As shown in FIG. 8, the event list 800 is a linear list in which task control tables activated by the same event are linked by a pointer. Used to store startup requests.
【0038】次に、コントロールユニット50における
OSの各種機能を、図9〜図14のフローチャートに基
づいて説明する。Next, various functions of the OS in the control unit 50 will be described with reference to the flowcharts of FIGS.
【0039】イグニッションスイッチがオンされてシス
テムに電源が投入されると、リセットに伴うリセット割
込みが起動し、各種イニシャライズが行なわれる。この
リセット割込みでは、図9に示されているように、各優
先度割当てテーブル500に基づいて、各タスク制御テ
ーブル300のイニシャライズ(ステップ901)、優
先度リスト600のイニシャライズ(ステップ90
2)、起動周期リスト700のイニシャライズ(ステッ
プ903)、イベントリスト800のイニシャライズ
(ステップ904)、その他のイニシャライズ(ステッ
プ905)が行われる。なお、起動周期リスト700の
イニシャライズでは、周期計測カウンタ710をクリア
し、各起動周期の周期判定用カウンタ720の初期化が
行われる。When the ignition switch is turned on and the power is turned on to the system, a reset interrupt accompanying the reset is activated, and various initializations are performed. In this reset interrupt, as shown in FIG. 9, each task control table 300 is initialized (step 901) and the priority list 600 is initialized (step 90) based on each priority assignment table 500.
2), initialization of the activation cycle list 700 (Step 903), initialization of the event list 800 (Step 904), and other initialization (Step 905) are performed. In the initialization of the startup cycle list 700, the cycle measurement counter 710 is cleared, and the cycle determination counter 720 for each startup cycle is initialized.
【0040】タスク制御テーブル300、優先度リスト
600、起動周期リスト700、イベントリスト800
の初期化終了後、1ms毎に定期割込みを起動するため
のタイマが起動されて定期割込みが許可され(ステップ
906)、その後、バックグランドタスクの実行状態と
なる(ステップ907)。Task control table 300, priority list 600, start cycle list 700, event list 800
After the initialization is completed, a timer for activating a periodic interrupt is activated every 1 ms, and the periodic interrupt is permitted (step 906). Thereafter, the background task enters an execution state (step 907).
【0041】次に、1ms毎の定期割込みについて図1
0を参照して説明する。この定期割込みでは、レジスタ
を退避し(ステップ1001)、低優先度タスクの分割
を可能にする。その後に、次回定期割込みの設定を行う
(ステップ1002)。この処理は、CPU51に依存
したコーディングとなり、割込みフラグのクリア、次回
割込みタイマ値の再設定などを行う。その後、起動要求
設定ルーチン1003をコールする。Next, FIG. 1 shows a periodic interrupt every 1 ms.
0 will be described. In this periodic interrupt, the register is saved (step 1001), and the low-priority task can be divided. Thereafter, the next periodic interrupt is set (step 1002). This processing is coding dependent on the CPU 51, and clears an interrupt flag, resets the next interrupt timer value, and the like. After that, the activation request setting routine 1003 is called.
【0042】起動要求設定ルーチンは、起動周期リスト
700を用いて起動要求をタスク制御テーブル300に
書き込む処理であり、この起動要求設定ルーチンを図1
1を参照して説明する。まず、周期計測カウンタ710
をインクリメントする(ステップ1101)。これは、
各タスクの起動周期であるか否かをを検出するための基
本となるカウンタであり、1ms毎の定期割込みで1ず
つ加算される。The activation request setting routine is a process for writing an activation request to the task control table 300 using the activation cycle list 700.
This will be described with reference to FIG. First, the cycle measurement counter 710
Is incremented (step 1101). this is,
This is a basic counter for detecting whether or not it is the activation cycle of each task, and is incremented by 1 at regular interrupts every 1 ms.
【0043】次いで、起動周期リスト700の先頭周期
を選択する(ステップ1102)。各周期には起動タイ
ミングを検出するために周期判定用カウンタ720が用
意してあり、周期計測カウンタ710と周期判定用カウ
ンタ720の比較を行う(ステップ1103)。周期計
測カウンタ710と周期判定用カウンタ720が一致し
ない場合には(ステップ1103否定)、起動周期リス
ト700から次の周期を選択し(ステップ1109)、
次周期の有無を判定する(ステップ1110)。次周期
があれば、ステップ1103に戻り、次周期がなけれ
ば、このルーチンを終了する。Next, the leading cycle of the starting cycle list 700 is selected (step 1102). In each cycle, a cycle determination counter 720 is provided for detecting the activation timing, and the cycle measurement counter 710 and the cycle determination counter 720 are compared (step 1103). If the cycle measurement counter 710 and the cycle determination counter 720 do not match (No at Step 1103), the next cycle is selected from the start cycle list 700 (Step 1109).
It is determined whether there is a next cycle (step 1110). If there is a next cycle, the process returns to step 1103, and if there is no next cycle, this routine ends.
【0044】周期計測カウンタ710と周期判定用カウ
ンタ720が一致すると(ステップ1103肯定)、該
周期の起動タイミングであることが検出でき、該周期の
周期判定用カウンタ720に該周期分のカウンタ値を加
算して、次回起動周期を設定する(ステップ110
4)。When the period measurement counter 710 and the period determination counter 720 match (Yes at step 1103), it is possible to detect the start timing of the period, and the period determination counter 720 of the period stores the counter value for the period. (Step 110)
4).
【0045】次に、起動周期リスト700の該周期から
先頭タスクを選択し(ステップ1105)、タスク有り
と判定後(ステップ1106肯定)、そのタスクのタス
ク制御リスト300の起動要求を設定する(ステップ1
107)。次いで、起動周期リスト700の該周期から
次のタスクを選択し(ステップ1008)、次のタスク
が有れば(ステップ1106肯定)、そのタスクのタス
ク制御リスト300にも起動要求を設定する(ステップ
1107)。該周期の全タスクの起動要求設定処理が終
了すると、タスクなしと判定され(ステップ1107否
定)、起動周期リスト700から次の周期を選択する
(ステップ1109)。Next, the first task is selected from the cycle of the startup cycle list 700 (step 1105), and after it is determined that there is a task (Yes at step 1106), an activation request of the task control list 300 of the task is set (step 1105). 1
107). Next, the next task is selected from the cycle of the activation cycle list 700 (step 1008), and if there is a next task (Yes at step 1106), an activation request is also set in the task control list 300 of that task (step 1008). 1107). When the activation request setting process for all tasks in the cycle is completed, it is determined that there is no task (No at Step 1107), and the next cycle is selected from the activation cycle list 700 (Step 1109).
【0046】全ての周期の起動要求設定処理が終了する
と、次周期なしと判定され(ステップ1110否定)、
起動要求設定ルーチンを終了して1ms定期割込み(図
10)に戻る。When the activation request setting process for all cycles is completed, it is determined that there is no next cycle (No at Step 1110), and
The activation request setting routine ends, and the routine returns to the 1 ms periodic interrupt (FIG. 10).
【0047】起動要求設定ルーチンが終了すると、優先
度リスト600から最高優先度タスクを選択する(ステ
ップ1004)。次に、タスクが有るか否かを判定し
(ステップ1005)、ある場合には(ステップ100
5肯定)、スタック共有タスクが実行中であるか否かを
判定する(ステップ1006)。スタック共有タスクは
スタック用メモリを節約するための仕組みであり、実行
中の場合には(ステップ1006肯定)、実行中のタス
クを優先してレジスタを復帰し(ステップ1010)、
1ms定期割込みを終了する。When the activation request setting routine ends, the highest priority task is selected from the priority list 600 (step 1004). Next, it is determined whether or not there is a task (step 1005).
5 is affirmative), it is determined whether or not the stack sharing task is being executed (step 1006). The stack sharing task is a mechanism for saving stack memory. When the task is being executed (Yes at step 1006), the register is restored with priority given to the task being executed (step 1010).
The 1 ms periodic interrupt ends.
【0048】スタック共有タスクが実行中でない場合に
は(ステップ1006否定)、次に、該タスクの起動要
求が有るか否かを判定する(ステップ1007)。起動
要求がない場合には(ステップ1007否定)、優先度
リスト600から次の優先度のタスクを選択し(ステッ
プ1009)、ステップ1005に戻る。これに対し、
起動要求がある場合には(ステップ1007肯定)タス
ク起動処理ルーチンをコールする(ステップ100
8)。If the stack sharing task is not being executed (No at Step 1006), it is next determined whether or not there is an activation request for the task (Step 1007). If there is no activation request (No at Step 1007), the task of the next priority is selected from the priority list 600 (Step 1009), and the process returns to Step 1005. In contrast,
If there is an activation request (Yes at Step 1007), a task activation processing routine is called (Step 100).
8).
【0049】タスク起動処理ルーチンは、プログラム登
録テーブル310によってタスクに登録されたプログラ
ムを起動するルーチンである。タスク起動処理ルーチン
を図12を参照して説明する。まず、該タスクの実行中
フラグを設定し(ステップ1201)、1ms定期割込
みの割込みマスクを解除する(ステップ1202)。The task start processing routine is a routine for starting a program registered in a task by the program registration table 310. The task activation processing routine will be described with reference to FIG. First, the execution flag of the task is set (step 1201), and the interrupt mask of the 1 ms periodic interrupt is released (step 1202).
【0050】次に、プログラム登録テーブル310から
先頭プログラムを選択する(ステップ1203)。プロ
グラムが有る場合には(ステップ1204肯定)、該プ
ログラムをコールする(ステップ1205)。このプロ
グラムの処理内容はユーザが任意に作成する。該プログ
ラムが終了すると、プログラム登録テーブル310から
次のプログラムを選択し(ステップ1206)、ステッ
プ1204に戻る。Next, the first program is selected from the program registration table 310 (step 1203). If there is a program (Yes at Step 1204), the program is called (Step 1205). The processing contents of this program are arbitrarily created by the user. When the program ends, the next program is selected from the program registration table 310 (step 1206), and the process returns to step 1204.
【0051】該タスクの全プログラム起動が終了する
と、プログラムなしと判定され(ステップ1204否
定)、1ms定期割込み用の割込みマスクを再設定する
(ステップ1207)。次いで、該タスク実行中フラグ
をクリアし(ステップ1208)、該タスクのタスク制
御テーブル300の起動要求をクリアする。次に、該タ
スクで更新した外部出力用のポート出力バッファの内容
を出力ポートに反映し(ステップ1210)、タスク起
動処理ルーチンを終了して1ms定期割込み(図10参
照)に戻る。When all the programs of the task have been started, it is determined that there is no program (No at Step 1204), and the interrupt mask for the 1 ms periodic interrupt is reset (Step 1207). Next, the task execution flag is cleared (step 1208), and the activation request of the task control table 300 of the task is cleared. Next, the contents of the external output port output buffer updated by the task are reflected on the output port (step 1210), the task activation processing routine is terminated, and the routine returns to the 1 ms periodic interrupt (see FIG. 10).
【0052】タスク起動処理ルーチンが終了すると、優
先度リスト600から次の優先度のタスクを選択し(ス
テップ1009)、ステップ1005に戻る。全ての優
先度のタスクを処理し終わると、タスクなしと判定され
(ステップ1005否定)、レジスタを復帰して(ステ
ップ1010)、1ms定期割込みを終了し、バックグ
ランドタスク(ステップ907)に戻る。When the task activation processing routine ends, the task of the next priority is selected from the priority list 600 (step 1009), and the process returns to step 1005. When all priorities have been processed, it is determined that there is no task (No at Step 1005), the register is restored (Step 1010), the 1 ms periodic interrupt is ended, and the process returns to the background task (Step 907).
【0053】次に、イベント割込み起動ルーチンについ
て図13を参照して説明する。イベント割込みは、制御
対象のエンジンのクランク角同期など、1ms定期割込
み以外の起動タイミングで起動要求が発生するタスクを
起動するための割込みであり、クランク角割込みなどの
割込み内で処理するほど優先度が高くない処理に対し、
より低い優先度で実行する場合に使用する。Next, the event interrupt activation routine will be described with reference to FIG. An event interrupt is an interrupt for starting a task that generates a start request at a start timing other than the 1 ms periodic interrupt, such as a crank angle synchronization of the engine to be controlled, and the priority is set so that the task is processed within the interrupt such as the crank angle interrupt. Is not high,
Used when running at a lower priority.
【0054】イベントを検知したユーザ作成のプログラ
ムによりイベント割込み起動ルーチンがコールされる
と、まず、イベントリスト800の先頭イベントが選択
される(ステップ1301)。次に、イベントの有無を
判定し(ステップ1302)、イベントがない場合(ス
テップ1302否定)、イベント割込み起動ルーチンが
終了し、ユーザー作成のプログラムに戻る。イベントが
有る場合(ステップ1302肯定)、該イベントがユー
ザプログラムの要求したイベントであるであるか否かを
判定し(ステップ1303)、要求イベント以外の場合
には(ステップ1303否定)、イベントリスト800
から次のイベントを選択し(ステップ1304)、ステ
ップ1302に戻る。When an event interrupt activation routine is called by a user-created program that has detected an event, first, the first event in the event list 800 is selected (step 1301). Next, it is determined whether or not there is an event (Step 1302). If there is no event (No at Step 1302), the event interrupt activation routine ends, and the program returns to the program created by the user. If there is an event (Yes at Step 1302), it is determined whether or not the event is an event requested by the user program (Step 1303).
, The next event is selected (step 1304), and the process returns to step 1302.
【0055】これに対し、要求イベントである場合には
(ステップ1303肯定)、該イベントの先頭タスクを
選択し(ステップ1305)、タスクの有無を判定する
(ステップ1306)。タスクが有る場合には(ステッ
プ1306肯定)、該タスクのタスク制御テーブル30
0の起動要求を設定し(ステップ1307)、イベント
リスト800から該イベントの次のタスクを選択して
(ステップ1308)、ステップ1306に戻る。On the other hand, if the event is a request event (Yes at Step 1303), the leading task of the event is selected (Step 1305), and it is determined whether there is a task (Step 1306). If there is a task (Yes at step 1306), the task control table 30
0 is set (Step 1307), the next task of the event is selected from the event list 800 (Step 1308), and the process returns to Step 1306.
【0056】該イベントの全タスクの起動要求設定が終
了すると、タスクなしと判定され(ステップ1306否
定)、イベント割込みが起動される(ステップ130
9)。イベント割込みの起動は、例えば、割込み許可を
設定することにより実現する。その後、イベント割込み
起動ルーチンが終了し、ユーザ作成のプログラムに戻
る。When the setting of the activation request for all tasks of the event is completed, it is determined that there is no task (No at Step 1306), and an event interrupt is activated (Step 130).
9). The activation of the event interrupt is realized, for example, by setting the interrupt permission. Thereafter, the event interrupt activation routine ends, and the program returns to the program created by the user.
【0057】次に、イベント割込みを図14を参照して
説明する。イベント割込みのステップ1401、140
3〜1409の処理内容は、1ms割込み処理のステッ
プ1001、1004〜1010と共通である。Next, an event interrupt will be described with reference to FIG. Event interruption steps 1401 and 140
The processing contents of 3 to 1409 are common to steps 1001 and 1004 to 1010 of the 1 ms interrupt processing.
【0058】イベント割込みでは、まず、レジスタを退
避し(ステップ1401)、低優先度タスクの分割を可
能にする。その後に、イベント割込みの禁止を行う(ス
テップ1402)。In the event interrupt, first, the register is saved (step 1401), and the low-priority task can be divided. After that, the event interruption is prohibited (step 1402).
【0059】次に、1ms定期割込みと同様、優先度リ
スト600を使用して起動要求のあるタスクを優先度順
に起動する(ステップ1403〜1408)。全タスク
の起動が終了すると、レジスタを復帰して(ステップ1
409)、イベント割込みを終了し、バックグランドタ
スク(ステップ907)に戻る。Next, as in the case of the 1 ms periodic interrupt, the tasks requested to be activated are activated in the order of priority using the priority list 600 (steps 1403 to 1408). When all tasks have been started, the registers are restored (step 1).
409), end the event interrupt, and return to the background task (step 907).
【0060】上述したように、同一の起動タイミングで
起動要求が発生するタスクの起動要求を設定し、設定し
た起動要求に対して優先度リストに設定された優先度順
に起動処理を実行するから、同一起動タイミングの複数
のタスクを一つの起動要求によって起動処理することが
できる。As described above, since the activation requests of the tasks whose activation requests occur at the same activation timing are set, and the activation processes are executed in the priority order set in the priority list in response to the set activation requests, A plurality of tasks having the same activation timing can be activated by one activation request.
【0061】以上、本発明の一実施形態について詳述し
たが、本発明は、前記実施形態に限定されるものではな
く、特許請求の範囲に記載された本発明の精神を逸脱す
ることなしに、設計において種々の変更をすることがで
きる。例えば、本発明によるタスク起動制御方法は、自
動車のエンジン制御に限られることはなく、トランスミ
ッションを含む自動車のパワートレインの自動制御のタ
スク起動制御方法として適用することができる。更に、
自動車のみならず、船舶、家電品等のコンピュータによ
り制御される各種の機器の自動制御のタスク起動制御方
法として適用することができる。As described above, one embodiment of the present invention has been described in detail. However, the present invention is not limited to the above embodiment, without departing from the spirit of the present invention described in the appended claims. Various changes can be made in the design. For example, the task activation control method according to the present invention is not limited to vehicle engine control, but can be applied as a task activation control method for automatic control of a power train of a vehicle including a transmission. Furthermore,
The present invention can be applied as a task activation control method for automatic control of various devices controlled by computers such as ships, home appliances, etc., as well as automobiles.
【0062】[0062]
【発明の効果】以上説明したように、本発明によるタス
ク起動制御方法によれば、各タスクに設定された優先度
によりタスクを優先度順に並べた優先度リストを設定
し、同一の起動タイミングで起動要求が発生するタスク
の起動要求を設定し、設定した起動要求に対して前記優
先度リストに設定された優先度順に起動処理を実行し、
同一起動タイミングの複数のタスクを一つの起動要求に
よって起動処理することから、起動処理の高速化を図る
ことができる。また、タスクの起動周期と優先度の登録
に自由度を持たせることで、ユーザの使い勝手を向上さ
せることができ、登録の自由度に応じた起動処理時間の
増加を最小限に抑えることができる。As described above, according to the task activation control method of the present invention, a priority list in which tasks are arranged in priority order according to the priority set for each task is set, and at the same activation timing. A start request of the task in which the start request occurs is set, and a start process is executed for the set start request in the order of the priority set in the priority list,
Since a plurality of tasks having the same activation timing are activated by one activation request, the activation processing can be sped up. In addition, by giving a degree of freedom to the registration of the task start cycle and the priority, the usability of the user can be improved, and an increase in the start processing time according to the degree of freedom of the registration can be minimized. .
【図1】本発明によるタスク起動制御方法が適用される
内燃機関の全体システムの構成図。FIG. 1 is a configuration diagram of an overall system of an internal combustion engine to which a task activation control method according to the present invention is applied.
【図2】本発明によるタスク起動制御方法が適用される
内燃機関の制御系を示すブロック図。FIG. 2 is a block diagram showing a control system of an internal combustion engine to which the task activation control method according to the present invention is applied.
【図3】本発明によるタスク起動制御方法の実施で使用
されるタスク制御テーブル及びプログラム登録テーブル
の構造図。FIG. 3 is a structural diagram of a task control table and a program registration table used in implementing the task activation control method according to the present invention.
【図4】タスクの優先度とスタック領域の対応を示す説
明図。FIG. 4 is an explanatory diagram showing correspondence between task priorities and stack areas.
【図5】本実施の形態における優先度の割当てを示すタ
スク優先度割当てテーブルの構造図。FIG. 5 is a structural diagram of a task priority assignment table showing priority assignment in the present embodiment.
【図6】本発明によるタスク起動制御方法の実施で使用
される優先度リストの構造図。FIG. 6 is a structural diagram of a priority list used in the implementation of the task activation control method according to the present invention.
【図7】本発明によるタスク起動制御方法の実施で使用
される起動周期リストの構造図。FIG. 7 is a structural diagram of an activation cycle list used in the execution of the task activation control method according to the present invention.
【図8】本発明によるタスク起動制御方法の実施で使用
されるイベントリストの構造図。FIG. 8 is a structural diagram of an event list used in implementing the task activation control method according to the present invention.
【図9】本発明によるタスク起動制御方法におけるリセ
ット割込みのフローチャート。FIG. 9 is a flowchart of a reset interrupt in the task activation control method according to the present invention.
【図10】本発明によるタスク起動制御方法における1
ms定期割込みのフローチャート。FIG. 10 shows a task activation control method 1 according to the present invention.
10 is a flowchart of an ms periodic interrupt.
【図11】本発明によるタスク起動制御方法における起
動要求設定ルーチンのフローチャート。FIG. 11 is a flowchart of an activation request setting routine in the task activation control method according to the present invention.
【図12】本発明によるタスク起動制御方法におけるタ
スク起動処理ルーチンのフローチャート。FIG. 12 is a flowchart of a task activation processing routine in the task activation control method according to the present invention.
【図13】本発明によるタスク起動制御方法におけるイ
ベント割込み起動ルーチンのフローチャート。FIG. 13 is a flowchart of an event interrupt activation routine in the task activation control method according to the present invention.
【図14】本発明によるタスク起動制御方法におけるイ
ベント割込みのフローチャート。FIG. 14 is a flowchart of an event interrupt in the task activation control method according to the present invention.
【図15】タスクの実行状態を示す説明図。FIG. 15 is an explanatory diagram showing an execution state of a task.
50 コントロールユニット 300 タスク制御テーブル 500 タスク優先度割当てテーブル 600 優先度リスト 700 起動周期リスト 710 周期計測カウンタ 720 周期判定用カウンタ 800 イベントリスト Reference Signs List 50 control unit 300 task control table 500 task priority assignment table 600 priority list 700 activation cycle list 710 cycle measurement counter 720 cycle determination counter 800 event list
───────────────────────────────────────────────────── フロントページの続き (72)発明者 天野 松男 茨城県ひたちなか市大字高場2520番地 株 式会社日立製作所自動車機器グループ内 Fターム(参考) 3G084 BA05 BA13 BA15 BA16 BA17 EB04 EB05 EB10 EC01 FA05 FA06 FA07 FA10 FA38 5B098 AA05 BA04 FF04 FF08 GA04 GC03 GC05 ──────────────────────────────────────────────────続 き Continuing from the front page (72) Inventor Matsuo Amano 2520 Oji Takaba, Hitachinaka-shi, Ibaraki F-term in the Automotive Equipment Group, Hitachi, Ltd. (Reference) 3G084 BA05 BA13 BA15 BA16 BA17 EB04 EB05 EB10 EC01 FA05 FA06 FA07 FA10 FA38 5B098 AA05 BA04 FF04 FF08 GA04 GC03 GC05
Claims (6)
タイミングで起動する割込み処理により、固有のタスク
起動タイミングを持つ複数のタスクに対して起動処理を
実行するタスク起動制御方法において、 各タスクに設定された優先度によりタスクを優先度順に
並べた優先度リストを設定し、同一の起動タイミングで
起動要求が発生するタスクの起動要求を設定し、設定し
た起動要求に対して前記優先度リストに設定された優先
度順に起動処理を実行し、同一起動タイミングの複数の
タスクを一つの起動要求によって起動処理することを特
徴とするタスク起動制御方法。1. A task start control method for executing start processing for a plurality of tasks having unique task start timings by interrupt processing started at a predetermined timing by automatic control by a computer. A priority list in which tasks are arranged in the order of priority according to the priorities set, a start request for a task that generates a start request at the same start timing is set, and the set start request is set in the priority list. A task activation control method, wherein the activation processing is executed in the order of priority and a plurality of tasks having the same activation timing are activated by one activation request.
動する割込み処理により、各タスク毎に異なる時間間隔
で前記起動要求を設定することを特徴とする請求項1記
載のタスク起動制御方法。2. The task activation control method according to claim 1, wherein the activation request is set at a different time interval for each task by an interrupt process activated by a timer at a constant basic time interval.
動する割込み処理によりカウントされる基本カウンタを
1つ持ち、各タスク起動周期毎に1つずつ周期判定用の
カウンタを備え、前記基本カウンタと前記周期判定用カ
ウンタが一致したときに起動周期であることを検出して
前記起動要求を設定し、検出後に基本カウンタ値と該周
期分のカウンタ値を加算して前記周期判定用カウンタを
更新し、次回の起動タイミングを設定することを特徴と
する請求項2記載のタスク優先度制御方法。。3. A method according to claim 1, further comprising: a basic counter counted by an interrupt process started by a timer at a constant basic time interval, a counter for determining a period for each task activation period, and a counter for determining the period. The start request is set by detecting that the cycle is the start cycle when the counters match, and the start request is set.After the detection, the base counter value and the counter value for the cycle are added to update the cycle determination counter, 3. The task priority control method according to claim 2, wherein a next start timing is set. .
込み処理により、各タスク毎に異なる状態量で前記起動
要求を設定することを特徴とする請求項1記載のタスク
起動制御方法。4. The task activation control method according to claim 1, wherein the activation request is set with a different amount of state for each task by an interrupt process activated according to the amount of state of the control target.
て、事象同期で前記起動要求を設定することを特徴とす
る請求項1記載のタスク起動制御方法。5. The task activation control method according to claim 1, wherein the activation request is set synchronously with an event triggered by an external event occurring irregularly.
動する割込み処理により、各タスク毎に異なる時間間隔
で前記起動要求を設定し、制御対象物の状態量によって
起動する割込み処理により、各タスク毎に異なる状態量
で前記起動要求を設定し、不定期に発生する外部事象を
契機として、事象同期で前記起動要求を設定することを
特徴とする請求項1記載のタスク起動制御方法。6. An interrupt process started by a timer at a fixed basic time interval, the start request is set at a different time interval for each task, and each task is started by an interrupt process started by a state quantity of a control object. 2. The task activation control method according to claim 1, wherein the activation request is set with different state quantities, and the activation request is set synchronously with an event triggered by an external event occurring irregularly.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2000234881A JP2002049498A (en) | 2000-08-02 | 2000-08-02 | Task activation control method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2000234881A JP2002049498A (en) | 2000-08-02 | 2000-08-02 | Task activation control method |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2002049498A true JP2002049498A (en) | 2002-02-15 |
Family
ID=18727185
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2000234881A Pending JP2002049498A (en) | 2000-08-02 | 2000-08-02 | Task activation control method |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2002049498A (en) |
Cited By (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20040015457A (en) * | 2002-08-13 | 2004-02-19 | 현대모비스 주식회사 | Method for controlling tasks having different controlling period |
| JP2006202244A (en) * | 2005-01-21 | 2006-08-03 | Himax Optoelectronics Corp | Apparatus and method for scheduling a request to a source device |
| JP2009175971A (en) * | 2008-01-23 | 2009-08-06 | Hitachi Ltd | Control device |
| CN101870002A (en) * | 2010-07-08 | 2010-10-27 | 哈尔滨工业大学 | A flatness error control method for large-scale optical components processed by single-point diamond milling |
| CN102371955A (en) * | 2011-10-27 | 2012-03-14 | 苏州海格新能源汽车电控系统科技有限公司 | Method for realizing time-sharing task of whole-vehicle controller |
| WO2012085980A1 (en) * | 2010-12-24 | 2012-06-28 | 三菱電機株式会社 | Electronic control device and in-vehicle information device |
| JP2016091554A (en) * | 2014-10-30 | 2016-05-23 | ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング | Method for driving a control device |
| JP2016113968A (en) * | 2014-12-16 | 2016-06-23 | アイシン精機株式会社 | Vehicular control device and control method |
| US20200039453A1 (en) * | 2016-10-19 | 2020-02-06 | Hitachi Automotive Systems, Ltd. | Vehicle controller |
| US11703425B2 (en) | 2020-11-05 | 2023-07-18 | Canon Kabushiki Kaisha | Information processing apparatus, system, production facility, information processing method, method of manufacturing products, and recording medium |
-
2000
- 2000-08-02 JP JP2000234881A patent/JP2002049498A/en active Pending
Cited By (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20040015457A (en) * | 2002-08-13 | 2004-02-19 | 현대모비스 주식회사 | Method for controlling tasks having different controlling period |
| JP2006202244A (en) * | 2005-01-21 | 2006-08-03 | Himax Optoelectronics Corp | Apparatus and method for scheduling a request to a source device |
| JP2009175971A (en) * | 2008-01-23 | 2009-08-06 | Hitachi Ltd | Control device |
| US8423681B2 (en) | 2008-01-23 | 2013-04-16 | Hitachi, Ltd. | Control apparatus for process input-output device |
| CN101870002A (en) * | 2010-07-08 | 2010-10-27 | 哈尔滨工业大学 | A flatness error control method for large-scale optical components processed by single-point diamond milling |
| WO2012085980A1 (en) * | 2010-12-24 | 2012-06-28 | 三菱電機株式会社 | Electronic control device and in-vehicle information device |
| US9323313B2 (en) | 2010-12-24 | 2016-04-26 | Mitsubishi Electric Corporation | Electronic control apparatus and onboard information equipment |
| CN102371955A (en) * | 2011-10-27 | 2012-03-14 | 苏州海格新能源汽车电控系统科技有限公司 | Method for realizing time-sharing task of whole-vehicle controller |
| JP2016091554A (en) * | 2014-10-30 | 2016-05-23 | ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング | Method for driving a control device |
| JP2016113968A (en) * | 2014-12-16 | 2016-06-23 | アイシン精機株式会社 | Vehicular control device and control method |
| US20200039453A1 (en) * | 2016-10-19 | 2020-02-06 | Hitachi Automotive Systems, Ltd. | Vehicle controller |
| US11703425B2 (en) | 2020-11-05 | 2023-07-18 | Canon Kabushiki Kaisha | Information processing apparatus, system, production facility, information processing method, method of manufacturing products, and recording medium |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6968552B2 (en) | Processor unit for executing event process in real time in response to occurrence of event | |
| EP0017219B1 (en) | Electronic type engine control method and apparatus | |
| JP2002049498A (en) | Task activation control method | |
| JPH06100155B2 (en) | Calculation processing method of engine control device | |
| US6754576B2 (en) | Electronic control unit having different mask return processes | |
| CN103423011B (en) | Semiconductors data processing unit and engine controller | |
| JP2014137695A (en) | Information processor | |
| US7930523B2 (en) | Inter-CPU data transfer device | |
| JP4167324B2 (en) | Engine speed calculation device | |
| JPH0138176B2 (en) | ||
| JP3552552B2 (en) | Control amount calculation device for vehicles | |
| JP2002004936A (en) | Detector for misfire of internal combustion engine | |
| JPS5974339A (en) | Fuel injector | |
| JP2004257387A (en) | Engine air amount prediction method based on speed change, control program for internal combustion engine, and control system for internal combustion engine | |
| US4522178A (en) | Method of fuel control in engine | |
| JPH02153246A (en) | Combustion abnormality detection device for internal combustion engines | |
| JP3324818B2 (en) | How to use engine crank position information | |
| JPH0739821B2 (en) | Fuel supply system for fuel injection engine | |
| JPS6146442A (en) | Fuel injection control device | |
| JP2903526B2 (en) | Pulse generator | |
| JP3442806B2 (en) | Job priority processing method | |
| JP3455243B2 (en) | How to use analog / digital conversion results | |
| KR840001328B1 (en) | Method of controlling air-fuel ratio of internal combustion engine | |
| JP2001323840A (en) | Automotive control unit | |
| JPH06200821A (en) | Integrating method of job |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050815 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050830 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051031 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20060214 |