JPH0118443B2 - - Google Patents

Info

Publication number
JPH0118443B2
JPH0118443B2 JP55006802A JP680280A JPH0118443B2 JP H0118443 B2 JPH0118443 B2 JP H0118443B2 JP 55006802 A JP55006802 A JP 55006802A JP 680280 A JP680280 A JP 680280A JP H0118443 B2 JPH0118443 B2 JP H0118443B2
Authority
JP
Japan
Prior art keywords
task
engine
hereinafter referred
interrupt
bit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
JP55006802A
Other languages
Japanese (ja)
Other versions
JPS56105507A (en
Inventor
Matsuo Amano
Takeshi Hirayama
Takao Sasayama
Seiji Suda
Yasunori Mori
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP680280A priority Critical patent/JPS56105507A/en
Publication of JPS56105507A publication Critical patent/JPS56105507A/en
Publication of JPH0118443B2 publication Critical patent/JPH0118443B2/ja
Granted legal-status Critical Current

Links

Classifications

    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02DCONTROLLING COMBUSTION ENGINES
    • F02D41/00Electrical control of supply of combustible mixture or its constituents
    • F02D41/24Electrical control of supply of combustible mixture or its constituents characterised by the use of digital means
    • F02D41/26Electrical control of supply of combustible mixture or its constituents characterised by the use of digital means using computer, e.g. microprocessor
    • F02D41/263Electrical control of supply of combustible mixture or its constituents characterised by the use of digital means using computer, e.g. microprocessor the program execution being modifiable by physical parameters

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Mechanical Engineering (AREA)
  • General Engineering & Computer Science (AREA)
  • Control By Computers (AREA)
  • Combined Controls Of Internal Combustion Engines (AREA)
  • Feedback Control In General (AREA)

Description

【発明の詳細な説明】[Detailed description of the invention]

本発明はエンジン制御方法に関し、さらに具体
的にはマイクロコンピユータを使用した自動車の
エンジン制御方法に関する。 最近ではエンジンの制御機能を向上させる目的
でマイクロコンピユータを使用したエンジンの総
合的制御が行なわれつつある。 マイクロコンピユータを使用したエンジン制御
システムに高精度の制御機能を持たせる為にはソ
フトウエアとして割込処理プログラム、特に一定
周期毎に実行されるインターバル割込処理プログ
ラムを多数、必要とされる。この結果、インター
バル割込により起動される各種制御プログラム
(以下、タスクと記す。)を管理する管理プログラ
ム(OS)によるセントラルプロセツシングユニ
ツト(以下、CPUと記す。)の占有時間の増大を
招来する。(特開昭53−146034号公報参照)。 本発明の目的はタスクの起動を管理するのに必
要な管理時間を短かくすることが可能なエンジン
の制御方法を提供することにある。 本発明の特徴は上記エンジン制御システムのタ
スク群の起動周期を管理し、起動周期に達した事
により起動要求フラグをセツトし、このフラグに
より該起動周期のタスクを実行するものにおい
て、起動周期の設定をそれより短かい起動周期タ
スクの実行回数で行なうようにしたことである。
このことにより起動管理に必要な時間が起動周期
の長いタスクに対して大幅に減少し、処理効率が
上昇する。 以下、本発明を図面に示した実施例に基づき詳
細に説明する。 第1図にはエンジン系統全体の制御装置が示さ
れている。図において、吸入空気はエアクリーナ
2、スロツトルチヤンバ4、吸気管6を通り、シ
リンダ8へ供給される。シリンダ8で燃焼したガ
スは、シリンダ8から排気管10を通り、大気中
へ排出される。 スロツトルチヤンバ4には、燃料を噴射するた
めのインジエクタ12が設けられており、このイ
ンジエクタ12から噴出した燃料はスロツトルチ
ヤンバ4の空気通路内で霧化され、吸入空気と混
合して混合気を形成し、この混合気は吸気管6を
通つて、吸気弁20の開弁により、シリンダ8の
燃焼室へ供給される。 インジエクタ12の出口近傍には絞り弁14,
16が設けらている。絞り弁14は、アクセルペ
ダルと機械的に連通するように構成され、運転者
により駆動される。一方、絞り弁16はダイヤフ
ラム18により駆動されるように配置され、空気
流量が小の領域で全閉状態となり、空気流量が増
大するにつれてダイヤフラム18への負圧が増大
することにより絞り弁16は開き始め、吸入抵抗
の増大を抑止する。 スロツトルチヤンバ4の絞り弁14,16の上
流には空気通路22が設けられ、この空気通路2
2には熱式空気流量計を構成する電気的発熱体2
4が配設され、空気流速と発熱体の伝熱量との関
係から定まる空気流速に応じて変化する電気信号
が取り出される。発熱体24は空気通路22内に
設けられているので、シリンダ8のバツクフアイ
ア時に生じる高温ガスから保護されると共に、吸
入空気中のごみなどによつて汚染されることから
も保護される。この空気通路22の出口はベンチ
ユリの最狭部近傍に開口され、その入口はベンチ
ユリの上流側に開口されている。 インジエクタ12に供給される燃料は、燃料タ
ンク30から、フユーエルポンプ32、フユーエ
ルダンパ34及びフイルタ36を介して燃圧レギ
ユレータ38へ供給される。一方、燃圧レギユレ
ータ38からはインジエクタ12へパイプ40を
介して加圧燃料が供給され、そのインジエクタ1
2から燃料が噴射される吸気管6の圧力と上記イ
ンジエクタ12への燃量圧の差が常に一定になる
ように、燃圧レギユレータ38から燃料タンク3
0へリターンパイプ42を介して燃料が戻される
ようになつている。 吸気弁20から吸入された混合気はピストン5
0により圧縮され、点火プラグ52によるスパー
クにより燃焼し、この燃焼は運動エネルギに変換
される。シリンダ8は冷却水54により冷却さ
れ、この冷却水の温度は水温センサ56により計
測され、この計測値はエンジン温度として利用さ
れる。点火プラグ52には点火コイル58より点
火タイミングに合わせて高電圧が供給される。 また、図示しないクランク軸にはエンジンの回
転に応じて基準クランク角毎におよび一定角度
(例えば0.5度)毎に基準角信号およびポジシヨン
信号を出すクランク角センサが設けられている。 このクランク角センサの出力、水温センサ56
の出力56A及び発熱体24からの電気信号はマ
イクロコンピユータなどからなる制御回路64に
入力され、制御回路64で演算処理され、この制
御回路64の出力によつてインジエクタ12及び
点火コイル58が駆動される。 以上の構成に基づき制御されるエンジン系統に
おいて、スロツトルチヤンバ4にはスロツトルの
絞り弁16を跨いで吸気管6に連通するバイパス
26が設けられ、このバイパス26には開閉制御
されるバイパスバルブ62が設けられている。こ
のバイパスバルブ62の駆動部には、前記制御回
路64の制御入力が供給され、開閉制御されるよ
うになつている。 このバイパスバルブ62は絞り弁16を迂回し
て設けられたバイパス26に臨ませられ、パルス
電流によつて開閉制御がなされる。このバイパス
バルブ62は弁のリフト量によりバイパス26の
断面積を変更するもの、このリフト量は制御回路
64の出力によつて駆動系が駆動され制御され
る。即ち、制御回路64においては駆動系の制御
のため開閉周期信号が発生され、駆動系はこの開
閉周期信号によつてバイパスバルブ64のリフト
量を調節するための制御信号をバイパスバルブ6
2の駆動部に付与するものである。 第2図、第1図の点火装置の説明図であり、増
幅器68を介してパワー・トランジスタ72へパ
ルス電流が供給され、この電流によりトランジス
タ72はONする。これによりバツテリ66より
点火コイル68へ一次コイル電流が流れる。この
パルス電流の立ち下がりでトランジスタ74は遮
断状態となり、点火コイル58の2次コイルに高
電圧を発生する。 この高電圧は配電器70を介してエンジンの各
シリンダにある点火プラグ52のそれぞれにエン
ジン回転に同期して高電圧を配電する。 第3図は排気ガス環流(以下EGRと記す)シ
ステムを説明するためのもので、負圧源80の一
定負圧が制圧弁84を介して制御弁86へ加えて
いる。制圧弁84はトランジスタ90に加えられ
繰返しパルスのONデユーテイ比率に応じ、負圧
源の一定負圧を大気88へ開放にする対する比率
を制御し、制御弁86への負圧の印加状態を制御
する。従つて制御弁86へ加えられる負圧はトラ
ンジスタ90のONデユーテイ比率で定まる。こ
の定圧弁84の制御負圧により排気管10から吸
気管6へのEGR量が制御される。 第4図は制御システムの全体構成図である。
CPU102とリード・オンリ・メモリ104
(以下ROMと記す)とランダム・アクセス・メ
モリ106(以下RAMと記す)と入出力回路1
08とから構成されている。上記CPU102は
ROM104内に記憶された各種のプログラムに
より、入出力回路108からの入力データを演算
し、その演算結果を再び入出力回路108へ戻
す。これらの演算に必要な中間的な記憶はRAM
106を使用する。CPU102,ROM104,
RAM106、入出力回路108間の各種データ
のやり取りはデータ・バスとコントロール・バス
とアドレス・バスからなるバスライン110によ
つて行なわれる。 入出力回路108には第1のアナログ・デイジ
タル・コンバータ(以下ADC1と記す)と第2
のアナログ・デイジタル・コンバータ(以下
ADC2と記す)と角度信号処理回路126と1
ビツト情報を入出力する為のデイスクリート入出
力回路(以下DIOと記す)との入力手段を持つ。 ADC1にはバツテリ電圧検出センサ132
(以下VBSと記す)と冷却水温センサ56(以下
TWSと記す)と大気温センサ112(以下TAS
と記す)と調整電圧発生器114(以下VRSと
記す)とスロツトル角センサ116(以下θTHS
と記す)とλセンサ118(以下λSと記す)と
の出力がマルチ・プレクサ120(以下MPXと
記す)に加えられ、MPX120によりこの内の
1つを選択してアナログ・デイジタル・変換回路
122(以下ADCと記す)へ入力する。ADC1
22の出力であるデイジタル値はレジスタ124
(以下REGと記す)に保持される。 また流量センサ24(以下AFSと記す)は
ADC2へ入力され、アナログ・デイジタル・変
換回路128(以下ADCと記す)を介してデイ
ジタル変換されレジスタ130(以下REGと記
す)へセツトされる。 角度仲センサ146(以下ANGSと記す)か
らは基準クランク角例えば180度クランク角を示
す信号(以下REFと記す)と微少角例えば1度
クランク角を示す信号(以下POSと記す)とが
出力され、角度信号処理回路126へ加えられ、
ここで波形整形される。 DIOにはアイドル・スイツチ148(以下
IDLE―SWと記す)とトツプ・ギヤ・スイツチ
150(以下TOP―SWと記す)とスタータ・ス
イツチ152(以下START―SWと記す)とが
入力される。 次にCPUの演算結果に基づくパルス出力回路
および制御対象について説明する。インジエクタ
制御回路(INJCと記す)は演算結果のデイジタ
ル値をパルス出力に変換する回路である。従つて
燃料噴射量に相当したパルス幅を有するパルスが
INJC134で作られ、ANDゲート136を介し
てインジエクタ12へ印加される。 点火パルス発生回路138(以下IGNCと記
す)は点火時期をセツトするレジスタ(ADVと
記す)と点火コイルの1次電流通電開始時間をセ
ツトするレジスタ(DWLと記す)とを有し、
CPUよりこれらデータがセツトされる。セツト
されたデータに基づいてパルスを発生し、第2図
に詳述した増幅器68へANDゲート140を介
してこのパルスを加える。 バイパスバルブ62の開弁率は制御回路(以下
ISCCと記す)142からANDゲート144を介
して加えられるパルスによつて制御される。
ISCC142はパルス幅をセツトするレジスタ
ISCDと繰返しパルス周期をセツトするレジスタ
ISCPとを持つている。 第3図に示したEGR制御弁86を制御するト
ランジスタ90を制御するEGR量制御パルス発
生回路180(以下EGRCと記す)にはパルスの
デユーテイを表わす値をセツトするレジスタ
EGRDとパルスの繰返し周期を表わす値をセツト
するレジスタEGRPとを有している。このEGRC
の出力パルスはANDゲート156を介してトラ
ンジスタ90に加えられる。 また1ビツトの入出力信号は回路DIOにより制
御される。入力信号としてはIDLE―SW信号、
TOP―SW信号、START―SW信号がある。ま
た出力信号としては燃料ポンプを駆動するための
パルス出力信号がある。このDIOは端子を入力端
子として使用するか、出力端子として使用するか
を決定するためのレジスタDDRと、出力データ
をラツチするためのレジスタDOUTとが設けら
れている。 レジスタ160は入出力回路108内部の色々
な状態を指令する命令を保持するレジスタ(以下
MODと記す)であり、例えばこのレジスタに命
令をセツトすることにより、ANDゲート136,
140,144,156を総てターンオンさせた
り、ターンオフさせたりする。このようにMOD
レジスタ160に命令をセツトすることにより、
INJCやIGNC,ISCCの出力の停止や起動を制御
できる。 第5図は第4図の制御回路のプログラムシステ
ムの基本構成を示す図である。 図においてイニシヤル処理プログラム202、
割込処理プログラム206、マクロ処理プログラ
ム228およびタスクデイスパツチヤ208はタ
スク群を管理するための管理プログラムである。
イニシヤル処理プログラム202はマイクロコン
ピユータを作動させるための前処理を行なうため
のプログラムであり、例えば、RAM106の記
憶内容をクリアしたり入出力インターフエイス回
路108のレジスタ類の初期値を設定したり、さ
らにはエンジン制御を行なうのに必要な前処理を
行なうための入力情報例えば冷却水温Tw、バツ
テリ電圧等のデータを取込むための処理を行な
う。また、割込処理プログラム206は各種の割
込を受け付け、その割込要因を分析し、タスク群
210ないし226の内の必要なタスクを起動さ
せるための起動要求をタスク制御テーブルにセツ
トすると共にタスクデイスパツチヤ208に出
す。割込要因には電源電圧、冷却水温度等の入力
情報をAD変換終了後に発生するAD変換割込
(ADC)、エンジン回転に同期して発生するイニ
シヤル割込(INTL)、又設定された一定時間毎
に、例えば10ms毎に発生するインターバル割込
(INTV)、更にはエンジンのストツプ状態を検出
し、発生するエンスト割込(ENST)等がある。 タスク群210乃至226の各タスクには優先
順位を表わすタスク番号が割合てられており、各
タスクはタスクレベル0乃至2の何れかのタスク
レベルに属する。即ち、タスク0乃至タスク2は
タスクレベル0に、タスク3乃至タスク5はタス
クレベル1に、更にタスク6乃至タスク8はタス
クレベル2に各々属する。 タスクデイスパツチヤ208は前記各種割込に
基づく起動要求を受けこれらの起動要求に対応す
る各種タスクに付けられた優先順位に基づき
CPUの占有時間を割り当てる。 ここでタスクデイスパツチヤ208によるタス
クの優先制御は下記の方法に拠る。(1)優先度の低
いタスクを中断し、優先度の高いタスクへの実行
権の移行はタスクレベル間のみで行なう。なおこ
こではレベル0が最も優先度が高いものとする。
(2)同じタスクレベル内で、現在実行中又は中断中
のタスクがある場合は、該タスクが最も優先度が
高く該タスクが終了するまで他のタスクは動作で
きない。(3)同じタスクレベル内で複数のタスクに
起動要求がある場合には、タスク番号が小さい程
優先度が高いものとする。タスクデイスパツチヤ
208の処理内容は後述するが本発明の一実施例
では上記優先制御を行なうためにタスク単位に
RAMにタスク制御テーブルを設けるように構成
している。そして上記各タスクの実行終了毎にそ
のタスクの実行終了報告をマクロ処理プログラム
228に行ないタスク制御テーブルに記録する。 次にタスクデイスパツチヤ208の処理内容に
ついて第6図乃至第9図に基づき説明する。第6
図はタスクデイスパツチヤ208の管理する
RAMに設けられたタスク制御テーブルを示す。
このタスク制御テーブルにはブロツクがタスクレ
ベルに対応して設けられており、本実施例ではタ
スクレベル0乃至2の3組設けられている。各ブ
ロツクには各々8ビツトが割り当てられ、その内
0乃至2ビツト目(Q0〜Q2)までが起動要求タ
スク表示を行なう起動ビツトであり、7ビツト目
(R)が同一タスクレベル中の何れかのタスクが
現在中断中(実行中も含む)であるかを示す実行
ビツトを表わす。そして前記起動ビツトQ0乃至
Q2はそれぞれ各タスクレベル中で実行優先度の
高い順に配列されており、例えば第5図中でタス
ク4に該当する起動ビツトはタスクレベル1の
Q0である。ここでタスクの起動要求があつた場
合タスクに対応した起動ビツトにフラグが割込処
理プログラムで立てられ、一方タスクデイスパツ
チヤ208は出された起動要求を高いレベルのタ
スクに該当する起動ビツトより順に検索し、出さ
れた起動要求に該当するフラグをリセツトすると
共に実行ビツトにフラグ1を立て、該当タスクを
起動させるための処理を行なう。 第7図はタスクデイスパツチヤ208の管理す
るRAM106に設けられたスタートアドレステ
ーブルである。スタートアドレスSA0乃至SA8は
第5図に示したタスク群210乃至226の各タ
スク0乃至8に該当するスタートアドレスを示
す。各スタートアドレス情報には16ビツトが割合
てられ、これらのスタートアドレス情報は後述す
る如くタスクデイスパツチヤ208により起動要
求のあつた該当タスクを起動するのに使用され
る。 次に第8図乃至第9図にタスクデイスパツチヤ
の処理フローを説明する。第8図に於いてステツ
プ300でタスクデイスパツチヤの処理が開始さ
れるとステツプ302でタスクレベルlに属する
タスクが実行中断中か否かが判断される。ここで
スタート時はl=0であり、レベルゼロより検索
する。実行ビツト(第6図のR0ビツト)に1が
立つていたらマクロ処理プログラム228により
未だタスク終了報告がタスクデイスパツチヤ20
8に出されていない状態のプログラムがレベルゼ
ロのタスク内にあることを意味し、このタスクは
実行が中断されていたものである。すなわちこの
実行中だつたタスクがより優先レベルが高い割込
みが生じたために中断させられている状態を示す
ものである。従つて、実行ビツト(R0)にフラ
グ1が立つていたらステツプ302より314に
ジヤンプし、中断タスクを再開する。 一方、実行ビツト(R0)にフラグ1が立つて
いない、即ち実行表示フラグがリセツトされてい
る場合にはステツプ304に移行し、レベルl=
0のタスク内に起動待ちタスクがあるか否かが判
断される。即ち、レベルl=0の起動ビツトを対
応するタスクの実行優先度の高い順、即ちQ0
Q1,Q2の順に検索する。タスクレベルlに属す
る起動ビツトにフラグ1が立つていない場合はス
テツプ306に移行し、タスクレベルの高レベル
から低レベルへの更新が行なわれる。即ちタスク
レベルl=0は+1インクリメントされl+1→
lとする。ステツプ306でタスクレベルの更新
が行なわれるとステツプ308に移行しタスクレ
ベルの全レベルがチエツクされたか否かが判断さ
れる。全レベルのチエツクが行なわれていない、
即ちl=3でない場合にはステツプ302に戻り
同様に上記手順で処理が行なわれる。ステツプ3
08でタスクレベルの全レベルがチエツクされて
いる場合にはステツプ310に移行し、割込み解
除が行なわわれる。即ち、ステツプ302乃至ス
テツプ308までの処理期間中は割込みを禁止し
ているのでこのステツプで割込み解除が為され
る。そして次のステツプ312で次の割込みを待
つ。このステツプ312でバツクグランドのタス
クを行なうようにしても良い。 次に前記ステツプ304でタスクレベルlに起
動待ちタスクがある場合、即ちタスクレベルlに
属する起動ビツトにフラグ1が立つている場合に
は第9図のステツプ400に移行する。ステツプ
400及び402のループで、タスクレベルlの
どの起動ビツトにフラグ1が立つているかを検索
する。対応する優先実行度の高いレベルの順に即
ちQ0,Q1,Q2の順で検索するように、先ず相対
タスク番号mをゼロにする。ステツプ401で
Qm=1かを判断する。またステツプ402で次
のタスク番号へ移るためにmをインクリメントす
る。該当する起動ビツトを割出したらステツプ4
04に移行し、ステツプ404ではそのフラグの
立つている起動ビツトをリセツトし、その該当タ
スクレベルのlの実行ビツト(以下Rビツト)に
フラグ1を立てる。更にステツプ406では起動
タスク番号をレベルlと相対タスク番号mより式
n=l×3+mを用いて割出し、ステツプ408
でこのタスク番号nからROMの絶対アドレスを
指定し、(このアドレスはスタートアドレステー
ブルの記憶番地となる。)第7図に示したRAM
に設けられたスタートアドレステーブルにより該
当する起動タスクのスタートアドレス情報を取出
す。 次にステツプ410では該当起動タスクを実行
するか否かの判断が行なわれる。ここでは取出し
たスタートアドレス情報が特定の値、例えば0で
あれば該当タスク実行は行なわなくてよいと判断
される。この判断ステツプはエンジン制御を行な
う前記タスク群の内、各車種により選択的に特定
のタスクのみの機能を持たせるのに必要なもので
ある。ステツプ410で該当タスクの実行が停止
であると判断された場合にはスステツプ414に
移行し、該当タスクレベルlのRビツトをリセツ
トする。そして更にステツプ302に戻りタスク
レベルl内のタスクに起動要求のでているタスク
があるか否かが判断される。これは同一タスクレ
ベルl中に複数の起動ビツトにフラグが立つてい
る場合があり得るのでステツプ414でRビツト
をリセツトした後ステツプ302に移行するよう
に構成されている。 一方ステツプ410で該当タスク実行が停止で
ない場合即ち実行する場合にはステツプ412へ
移行し該当タスクへジヤンプし、タスクの実行が
行なわれる。 次に第10図はマクロ処理プログラム228の
処理フローを示す図である。このプログラムは終
了マスクを見つけるためのステツプ562と56
4から成る。このステツプ562と564で先ず
タスクレベルの0より検索し、終了したタスクレ
ベルを見つける。これによりステツプ568へ進
みここで終了したタスクのタスク制御ブロツクの
7ビツト目の実行(RUN)フラグをリセツトす
る。これによりそのタスクの実行が完全に終わつ
た事になる。そして再びタスクデイスパツチヤ2
08に戻り次の実行タスクが決定される。 次に第11図に第5図のプログラムシステムの
具体的実施例を示す。図に於いて管理プログラム
OSはイニシヤル処理プログラム202、割込み
処理プログラム206、タスクデイスパツチヤ2
08及びマスク処理プログラム228より成る。 割込み処理プログラム206には各種の割込み
処理プログラムがあり、イニシヤル割込み処理
(以下INTL割込み処理という)602はエンジ
ン回転に同期して発生するイニシヤル割込み信号
によつて、エンジン1回転当たりエンジン気筒数
の半分、即ち4気筒なら2回イニシヤル割込みが
発生する。このイニシヤル割込みによつてFGIタ
スク612で計算した燃料の噴射時間を入出力イ
ンターフエイス回路108のINJDレジスタに設
定する。AD変換割込み処理604は2種類あり
1つはAD変換器1割込み(以下ADC1と略す)
及びAD変換器2割込み(以下ADC2と略す)で
ある。AD変換器1は8ビツトの精度を有し、電
源電圧、冷却水温度、吸気温度及び使用調整など
の入力に用いられ、マルチプレクサー120に対
する入力ポイントの指定を行なうと同時に変換を
開始し、変換終了後にADC1割込みを発生する。
なお本割込みはクランキング前にのみ使用する。
又AD変換器128は空気流量の入力に用いられ
変換終了後にADC2割込みを発生する。なお、
本割込みもクランキング前にのみ使用する。 次にインターバル割込み処理プログラム(以下
INTV割込み処理プログラムと示す。)606で
はINTV割込み信号はINTVレジスタに設定した
時間例えば10ms毎に発生し、一定周期で起動す
べきタスクの時間監視用基本信号として用いられ
る。本割込み信号によつて、ソフトタイマの更新
を行ない、規定周期に達したタスクを起動する。
更にエンスト割込み処理プログラム(以下ENST
割込み処理プログラムと記す。)608ではエン
ジンのストツプ状態を検出するもので、INTL割
込み信号を検出すると、計数を開始し所定時間例
えば1秒以内に次にINTL割込み信号を検出でき
なかつた時、ENST割込みが発生する。例えば1
秒経過してもINTL割込み信号が検出できなかつ
た場合にエンストが起つたものと判断し点火コイ
ルへの通電及び燃料ポンプの停止を行なう。これ
らの処理の後スタータスイツチ152がオンする
まで待機する。上記割込み要因に対する処理概要
を表1に示す。
The present invention relates to an engine control method, and more specifically to an automobile engine control method using a microcomputer. Recently, comprehensive control of engines using microcomputers is being carried out for the purpose of improving engine control functions. In order to provide a highly accurate control function to an engine control system using a microcomputer, a large number of software interrupt processing programs, especially interval interrupt processing programs that are executed at regular intervals, are required. As a result, the time occupied by the central processing unit (hereinafter referred to as CPU) by the management program (OS) that manages various control programs (hereinafter referred to as tasks) started by interval interrupts increases. do. (Refer to Japanese Patent Application Laid-Open No. 146034/1983). An object of the present invention is to provide an engine control method that can shorten the management time required to manage the activation of tasks. A feature of the present invention is that the engine control system manages the startup cycle of a task group, sets a startup request flag when the startup cycle is reached, and uses this flag to execute the task of the startup cycle. This is done by setting the number of executions of the task with a shorter startup cycle.
This significantly reduces the time required for activation management for tasks with long activation cycles, increasing processing efficiency. Hereinafter, the present invention will be explained in detail based on embodiments shown in the drawings. FIG. 1 shows a control device for the entire engine system. In the figure, intake air passes through an air cleaner 2, a throttle chamber 4, an intake pipe 6, and is supplied to a cylinder 8. The gas burned in the cylinder 8 passes through the exhaust pipe 10 from the cylinder 8 and is discharged into the atmosphere. The throttle chamber 4 is provided with an injector 12 for injecting fuel, and the fuel injected from the injector 12 is atomized within the air passage of the throttle chamber 4 and mixed with intake air. A mixture is formed, and this mixture is supplied to the combustion chamber of the cylinder 8 through the intake pipe 6 when the intake valve 20 is opened. A throttle valve 14 is located near the outlet of the injector 12.
16 are provided. The throttle valve 14 is configured to be in mechanical communication with the accelerator pedal and is driven by the driver. On the other hand, the throttle valve 16 is arranged so as to be driven by the diaphragm 18, and is fully closed when the air flow rate is small.As the air flow rate increases, the negative pressure on the diaphragm 18 increases, so that the throttle valve 16 It begins to open and suppresses the increase in inhalation resistance. An air passage 22 is provided upstream of the throttle valves 14 and 16 of the throttle chamber 4.
2 is an electric heating element 2 that constitutes a thermal air flow meter.
4 is disposed, and an electric signal that changes depending on the air flow rate determined from the relationship between the air flow rate and the amount of heat transfer of the heating element is extracted. Since the heating element 24 is provided within the air passage 22, it is protected from high-temperature gas generated when the cylinder 8 backfires, and is also protected from being contaminated by dust in the intake air. The outlet of the air passage 22 is opened near the narrowest part of the bench lily, and the inlet thereof is opened on the upstream side of the bench lily. Fuel supplied to the injector 12 is supplied from a fuel tank 30 to a fuel pressure regulator 38 via a fuel pump 32, a fuel damper 34, and a filter 36. On the other hand, pressurized fuel is supplied from the fuel pressure regulator 38 to the injector 12 via a pipe 40.
From the fuel pressure regulator 38 to the fuel tank 3 so that the difference between the pressure in the intake pipe 6 where fuel is injected from the fuel tank 3 and the fuel pressure to the injector 12 is always constant.
Fuel is returned to zero via a return pipe 42. The air-fuel mixture taken in from the intake valve 20 is transferred to the piston 5.
0 and is combusted by a spark from the ignition plug 52, and this combustion is converted into kinetic energy. The cylinder 8 is cooled by cooling water 54, and the temperature of this cooling water is measured by a water temperature sensor 56, and this measured value is used as the engine temperature. A high voltage is supplied to the spark plug 52 from an ignition coil 58 in accordance with the ignition timing. Further, the crankshaft (not shown) is provided with a crank angle sensor that outputs a reference angle signal and a position signal at every reference crank angle and every fixed angle (for example, 0.5 degrees) according to the rotation of the engine. The output of this crank angle sensor, water temperature sensor 56
The output 56A and the electrical signal from the heating element 24 are input to a control circuit 64 consisting of a microcomputer, etc., and are processed by the control circuit 64, and the injector 12 and the ignition coil 58 are driven by the output of this control circuit 64. Ru. In the engine system controlled based on the above configuration, the throttle chamber 4 is provided with a bypass 26 that straddles the throttle valve 16 and communicates with the intake pipe 6, and this bypass 26 has a bypass valve that is controlled to open and close. 62 are provided. A control input from the control circuit 64 is supplied to the driving section of the bypass valve 62, so that opening and closing of the bypass valve 62 is controlled. This bypass valve 62 faces the bypass 26 provided bypassing the throttle valve 16, and is controlled to open and close by pulsed current. This bypass valve 62 changes the cross-sectional area of the bypass 26 by the amount of lift of the valve, and this amount of lift is controlled by driving a drive system by the output of a control circuit 64. That is, in the control circuit 64, an opening/closing cycle signal is generated to control the drive system, and the drive system uses this opening/closing cycle signal to send a control signal to the bypass valve 64 for adjusting the lift amount of the bypass valve 64.
This is applied to the second drive unit. FIG. 2 is an explanatory diagram of the ignition device of FIG. 1, in which a pulse current is supplied to a power transistor 72 via an amplifier 68, and the transistor 72 is turned on by this current. As a result, a primary coil current flows from the battery 66 to the ignition coil 68. The fall of this pulse current turns the transistor 74 into a cut-off state, and generates a high voltage in the secondary coil of the ignition coil 58. This high voltage is distributed via the power distributor 70 to each of the spark plugs 52 in each cylinder of the engine in synchronization with the engine rotation. FIG. 3 is for explaining an exhaust gas recirculation (hereinafter referred to as EGR) system, in which constant negative pressure from a negative pressure source 80 is applied to a control valve 86 via a pressure control valve 84. The pressure control valve 84 is applied to the transistor 90 and controls the ratio of the constant negative pressure of the negative pressure source being released to the atmosphere 88 according to the ON duty ratio of the repetitive pulse, and controls the state of application of negative pressure to the control valve 86. do. Therefore, the negative pressure applied to the control valve 86 is determined by the ON duty ratio of the transistor 90. The controlled negative pressure of the constant pressure valve 84 controls the amount of EGR flowing from the exhaust pipe 10 to the intake pipe 6. FIG. 4 is an overall configuration diagram of the control system.
CPU 102 and read-only memory 104
(hereinafter referred to as ROM), random access memory 106 (hereinafter referred to as RAM), and input/output circuit 1
It consists of 08. The above CPU 102 is
Using various programs stored in the ROM 104, input data from the input/output circuit 108 is operated, and the operation results are returned to the input/output circuit 108 again. The intermediate storage required for these operations is RAM.
106 is used. CPU102, ROM104,
Various types of data are exchanged between the RAM 106 and the input/output circuit 108 via a bus line 110 consisting of a data bus, a control bus, and an address bus. The input/output circuit 108 includes a first analog-to-digital converter (hereinafter referred to as ADC1) and a second analog-to-digital converter (hereinafter referred to as ADC1).
analog to digital converter (hereinafter referred to as
ADC2) and angle signal processing circuits 126 and 1
It has an input means with a discrete input/output circuit (hereinafter referred to as DIO) for inputting and outputting bit information. ADC1 has a battery voltage detection sensor 132
(hereinafter referred to as VBS) and cooling water temperature sensor 56 (hereinafter referred to as VBS)
(hereinafter referred to as TWS) and atmospheric temperature sensor 112 (hereinafter referred to as TAS)
), the adjustment voltage generator 114 (hereinafter referred to as VRS), and the throttle angle sensor 116 (hereinafter referred to as θTHS)
The outputs of the λ sensor 118 (hereinafter referred to as λS) are applied to a multiplexer 120 (hereinafter referred to as MPX), and the MPX 120 selects one of them and converts it into an analog-to-digital conversion circuit 122 (hereinafter referred to as λS). (hereinafter referred to as ADC). ADC1
The digital value that is the output of 22 is stored in register 124.
(hereinafter referred to as REG). In addition, the flow rate sensor 24 (hereinafter referred to as AFS)
The signal is input to the ADC 2, converted into a digital signal via an analog-to-digital conversion circuit 128 (hereinafter referred to as ADC), and set in a register 130 (hereinafter referred to as REG). The angle center sensor 146 (hereinafter referred to as ANGS) outputs a signal indicating a reference crank angle, for example, 180 degrees crank angle (hereinafter referred to as REF), and a signal indicating a minute angle, for example, 1 degree crank angle (hereinafter referred to as POS). , added to the angle signal processing circuit 126,
The waveform is shaped here. DIO has an idle switch 148 (hereinafter
IDLE-SW), top gear switch 150 (hereinafter referred to as TOP-SW), and starter switch 152 (hereinafter referred to as START-SW) are input. Next, the pulse output circuit and control target based on the calculation results of the CPU will be explained. The injector control circuit (denoted as INJC) is a circuit that converts the digital value of the calculation result into a pulse output. Therefore, a pulse with a pulse width corresponding to the fuel injection amount is
It is generated by INJC 134 and applied to injector 12 via AND gate 136. The ignition pulse generation circuit 138 (hereinafter referred to as IGNC) has a register (hereinafter referred to as ADV) for setting the ignition timing and a register (hereinafter referred to as DWL) for setting the primary current energization start time of the ignition coil.
These data are set by the CPU. A pulse is generated based on the set data and is applied via AND gate 140 to amplifier 68, detailed in FIG. The opening rate of the bypass valve 62 is determined by the control circuit (hereinafter referred to as
ISCC) 142 via an AND gate 144.
ISCC142 is a register that sets the pulse width.
Register to set ISCD and repeat pulse period
Has ISCP. The EGR amount control pulse generation circuit 180 (hereinafter referred to as EGRC) that controls the transistor 90 that controls the EGR control valve 86 shown in FIG. 3 has a register that sets a value representing the duty of the pulse.
It has EGRD and a register EGRP for setting a value representing the pulse repetition period. This EGRC
The output pulse of is applied to transistor 90 via AND gate 156. Further, the 1-bit input/output signal is controlled by the circuit DIO. The input signal is IDLE-SW signal,
There is a TOP-SW signal and a START-SW signal. Further, the output signal includes a pulse output signal for driving the fuel pump. This DIO is provided with a register DDR for determining whether a terminal is used as an input terminal or an output terminal, and a register DOUT for latching output data. The register 160 is a register (hereinafter referred to as a register) that holds instructions for commanding various states inside the input/output circuit 108.
For example, by setting an instruction in this register, the AND gate 136,
140, 144, and 156 are all turned on or turned off. MOD like this
By setting the instruction in register 160,
You can control the stop and start of INJC, IGNC, and ISCC output. FIG. 5 is a diagram showing the basic configuration of a program system for the control circuit shown in FIG. 4. In the figure, an initial processing program 202,
The interrupt processing program 206, macro processing program 228, and task dispatcher 208 are management programs for managing task groups.
The initial processing program 202 is a program for performing preprocessing for operating the microcomputer, such as clearing the memory contents of the RAM 106, setting initial values of registers of the input/output interface circuit 108, and further processing. performs processing to take in input information such as cooling water temperature Tw, battery voltage, etc. for preprocessing necessary for engine control. In addition, the interrupt processing program 206 accepts various interrupts, analyzes the cause of the interrupt, sets a startup request for starting a necessary task among the task groups 210 to 226 in the task control table, and Submit to dispatcher 208. Interrupt factors include an AD conversion interrupt (ADC) that occurs after AD conversion of input information such as power supply voltage and cooling water temperature, an initial interrupt (INTL) that occurs in synchronization with engine rotation, and a set constant There are interval interrupts (INTV) that occur every 10 ms, for example, and engine stall interrupts (ENST) that occur when the engine is stopped. Each task in the task groups 210 to 226 is assigned a task number representing a priority order, and each task belongs to one of task levels 0 to 2. That is, tasks 0 to 2 belong to task level 0, tasks 3 to 5 belong to task level 1, and tasks 6 to 8 belong to task level 2. The task dispatcher 208 receives startup requests based on the various interrupts and performs processing based on priorities assigned to various tasks corresponding to these startup requests.
Allocate CPU occupancy time. Here, task priority control by the task dispatcher 208 is based on the following method. (1) A task with a lower priority is suspended and the execution right is transferred to a task with a higher priority only between task levels. It is assumed here that level 0 has the highest priority.
(2) If there is a task currently being executed or suspended within the same task level, this task has the highest priority and other tasks cannot operate until this task is completed. (3) If there are activation requests for multiple tasks within the same task level, the smaller the task number, the higher the priority. The processing content of the task dispatcher 208 will be described later, but in one embodiment of the present invention, processing is performed on a task-by-task basis in order to perform the above-mentioned priority control.
The configuration is such that a task control table is provided in RAM. Each time the execution of each task is completed, a report of the completion of the task is sent to the macro processing program 228 and recorded in the task control table. Next, the processing contents of the task dispatcher 208 will be explained based on FIGS. 6 to 9. 6th
The figure is managed by the task dispatcher 208.
Shows the task control table provided in RAM.
This task control table is provided with blocks corresponding to task levels, and in this embodiment there are three sets of task levels 0 to 2. Eight bits are assigned to each block, of which the 0th to 2nd bits (Q 0 to Q 2 ) are activation bits that display the activation request task, and the 7th bit (R) is the activation bit that displays the activation request task. Represents an execution bit indicating which task is currently suspended (including execution). And the activation bit Q 0 to
Q 2 are arranged in descending order of execution priority within each task level. For example, in Figure 5, the activation bit corresponding to task 4 is the activation bit of task level 1.
Q is 0 . When a request to start a task is received, a flag is set in the start bit corresponding to the task by the interrupt processing program, and the task dispatcher 208 sends the issued start request to the start bit corresponding to the higher level task in order. It searches, resets the flag corresponding to the issued activation request, sets flag 1 in the execution bit, and performs processing to activate the corresponding task. FIG. 7 shows a start address table provided in RAM 106 managed by task dispatcher 208. Start addresses SA0 to SA8 indicate the start addresses corresponding to each task 0 to 8 of the task groups 210 to 226 shown in FIG. 16 bits are allocated to each start address information, and these start address information are used by the task dispatcher 208 to start the corresponding task for which a start request has been made, as will be described later. Next, the processing flow of the task dispatcher will be explained with reference to FIGS. 8 and 9. In FIG. 8, when task dispatcher processing is started in step 300, it is determined in step 302 whether or not execution of a task belonging to task level 1 is being suspended. At the start, l=0, and the search starts from level zero. If the execution bit (R0 bit in FIG. 6) is set to 1, the macro processing program 228 still sends a task completion report to the task dispatcher 20.
This means that the program that has not been issued at level 8 is in a level zero task, and the execution of this task has been suspended. In other words, this indicates a state in which the currently executing task has been interrupted due to the occurrence of an interrupt with a higher priority level. Therefore, if flag 1 is set in the execution bit (R0), the process jumps from step 302 to 314 and restarts the suspended task. On the other hand, if flag 1 is not set in the execution bit (R0), that is, if the execution display flag has been reset, the process moves to step 304, and level l=
It is determined whether or not there is a task waiting to be started among the tasks numbered zero. That is, the activation bits at level l=0 are sorted in order of the execution priority of the corresponding tasks, that is, Q 0 ,
Search in the order of Q 1 and Q 2 . If flag 1 is not set in the activation bit belonging to task level 1, the process moves to step 306, and the task level is updated from a high level to a low level. That is, task level l=0 is incremented by +1 and l+1→
Let it be l. When the task level is updated in step 306, the process moves to step 308, where it is determined whether all task levels have been checked. All levels are not checked,
That is, if l=3 is not the case, the process returns to step 302 and the process is performed in the same manner as described above. Step 3
If all task levels have been checked in step 08, the process moves to step 310, where the interrupt is canceled. That is, since interrupts are prohibited during the processing period from step 302 to step 308, the interrupt is canceled at this step. Then, in the next step 312, the next interrupt is waited for. A background task may be performed in step 312. Next, in step 304, if there is a task waiting to be activated at task level l, that is, if the flag 1 is set in the activation bit belonging to task level l, the process moves to step 400 in FIG. In a loop of steps 400 and 402, a search is made to find out which activation bit of task level l is flagged as 1. First, the relative task number m is set to zero so that the search is performed in the order of the corresponding priority execution levels, that is, in the order of Q 0 , Q 1 , and Q 2 . At step 401
Determine whether Qm=1. Also, in step 402, m is incremented to move to the next task number. After determining the relevant boot bit, proceed to step 4.
In step 404, the start bit with the flag set is reset, and a flag 1 is set in the execution bit (hereinafter referred to as the R bit) of the corresponding task level. Furthermore, in step 406, the activation task number is determined from the level l and the relative task number m using the formula n=l×3+m, and step 408
Specify the absolute address of the ROM from this task number n (this address will be the storage address of the start address table).
The start address information of the corresponding startup task is extracted from the start address table provided in the start address table. Next, in step 410, a determination is made as to whether or not to execute the corresponding startup task. Here, if the extracted start address information is a specific value, for example 0, it is determined that the corresponding task does not need to be executed. This determination step is necessary to selectively provide the function of only a specific task for each vehicle type among the task group for controlling the engine. If it is determined in step 410 that the execution of the corresponding task is stopped, the process moves to step 414, and the R bit of the corresponding task level 1 is reset. Then, the process returns to step 302 and it is determined whether or not there is a task in task level l that has issued a start request. Since there may be cases in which a plurality of activation bits are flagged during the same task level, the R bit is reset in step 414 and then the process proceeds to step 302. On the other hand, if execution of the relevant task is not stopped in step 410, that is, if it is to be executed, the process moves to step 412, jumps to the relevant task, and executes the task. Next, FIG. 10 is a diagram showing the processing flow of the macro processing program 228. This program uses steps 562 and 56 to find the termination mask.
Consists of 4. In steps 562 and 564, the task level is first searched from 0 to find the completed task level. As a result, the process advances to step 568, where the execution (RUN) flag in the 7th bit of the task control block of the completed task is reset. This means that the task has completed execution. And again Task Day Patschiya 2
Returning to step 08, the next task to be executed is determined. Next, FIG. 11 shows a specific embodiment of the program system shown in FIG. Management program in diagram
The OS includes an initial processing program 202, an interrupt processing program 206, and a task dispatcher 2.
08 and a mask processing program 228. The interrupt processing program 206 includes various interrupt processing programs, and the initial interrupt processing (hereinafter referred to as INTL interrupt processing) 602 uses an initial interrupt signal that is generated in synchronization with engine rotation to interrupt half of the number of engine cylinders per engine rotation. That is, if it is a 4-cylinder engine, the initial interrupt will occur twice. By this initial interrupt, the fuel injection time calculated by the FGI task 612 is set in the INJD register of the input/output interface circuit 108. There are two types of AD conversion interrupt processing 604, one is AD converter 1 interrupt (hereinafter abbreviated as ADC1).
and AD converter 2 interrupt (hereinafter abbreviated as ADC2). The AD converter 1 has 8-bit accuracy and is used for inputting power supply voltage, cooling water temperature, intake air temperature, usage adjustment, etc., and starts conversion at the same time as specifying the input point to the multiplexer 120. Generates ADC1 interrupt after completion.
Note that this interrupt is used only before cranking.
Further, the AD converter 128 is used to input the air flow rate and generates an ADC2 interrupt after the conversion is completed. In addition,
This interrupt is also used only before cranking. Next, the interval interrupt processing program (below
It is referred to as INTV interrupt processing program. ) 606, the INTV interrupt signal is generated every 10 ms, for example, according to the time set in the INTV register, and is used as a basic signal for time monitoring of tasks to be started at regular intervals. This interrupt signal updates the soft timer and activates the task that has reached the specified period.
In addition, the engine stall interrupt processing program (hereinafter referred to as ENST)
This is called an interrupt processing program. ) 608 detects the stop state of the engine. When an INTL interrupt signal is detected, counting is started, and when the next INTL interrupt signal cannot be detected within a predetermined period of time, for example, 1 second, an ENST interrupt is generated. For example 1
If the INTL interrupt signal is not detected even after seconds have passed, it is determined that an engine stall has occurred, and the ignition coil is energized and the fuel pump is stopped. After these processes, the process waits until the starter switch 152 is turned on. Table 1 shows an overview of the processing for the above interrupt factors.

【表】 イニシヤル処理プログラム202及びマクロ処
理プログラム228については記述の通りの処理
を行なう。 上記各種の割込みにより起動されるタスク群は
次の通りである。タスクレベル0に属するタスク
としてはAD2入力タスク(以下ADIN2タスクと
記す)、燃料噴射制御タスク(以下EGIタスクと
記す)及び始動モニタタスク(MONITタスクと
言う)がある。又タスクレベル1に属するタスク
としてはAD1入力タスク(以上ADIN1タスクと
記す)、時間係数処理タスク(以下AFSIタスク)
がある。更にタスクレベル2に属するタスクとし
てはアイドル回転制御タスク(以下ISCタスクと
記す)、補正計算タスク(以下HOSEIタスクと記
す)及び始動前処理タスク(以下ISTRTタスク
と記す)がある。 上記各タスクレベルの割り当てとタスクの機能
を表2に示す。
[Table] The initial processing program 202 and macro processing program 228 perform the processing as described. The task groups activated by the various interrupts mentioned above are as follows. Tasks belonging to task level 0 include an AD2 input task (hereinafter referred to as ADIN2 task), a fuel injection control task (hereinafter referred to as EGI task), and a start monitor task (hereinafter referred to as MONIT task). Also, tasks that belong to task level 1 are AD1 input task (hereinafter referred to as ADIN1 task) and time coefficient processing task (hereinafter referred to as AFSI task).
There is. Furthermore, tasks belonging to task level 2 include an idle rotation control task (hereinafter referred to as ISC task), a correction calculation task (hereinafter referred to as HOSEI task), and a start preprocessing task (hereinafter referred to as ISTRT task). Table 2 shows the assignment of each task level and the function of the task.

【表】【table】

【表】 表2から明らかなように各種割込みにより起動
される各タスクの起動周期は予め定められており
これらの情報はROM104に格納されている。 次に第12図及び第13図に基づいて第11図
のソフトタイマテーブルを用いずにINTV割込の
起動をかける場合について説明する。 第12図はRAM106に設けられるソフトタ
イマフラグである。このソフトタイマフラグは
各々、ほぼ一定周期で起動されるようにタスク群
を管理するために設定されている。 場合によつては起動周期のうち異なる起動周期
の数だけのビツト数のみでも良い。ビツトを(以
下、これをフラグビツトと記す。)例えばF1〜
F8の8ビツトで構成されているとする。 そして、各フラグビツトは例えばフラグビツト
F1は10m sec、F2は20m sec、F3は40m
sec、……、F8は1280m secと倍数系列の起動
周期に対応づけられている。 これらの起動周期は倍数系列の数値であれば任
意に変更可能である。 さて、一定周期で起動されるタスク群とそれら
の起動周期との関係の一例を表3、表4に示す。
[Table] As is clear from Table 2, the activation cycle of each task activated by various interrupts is determined in advance, and this information is stored in the ROM 104. Next, based on FIGS. 12 and 13, a case will be described in which an INTV interrupt is activated without using the soft timer table shown in FIG. 11. FIG. 12 shows a soft timer flag provided in the RAM 106. Each of the soft timer flags is set to manage a group of tasks so that they are activated at approximately constant intervals. In some cases, the number of bits may be equal to the number of different activation cycles among the activation cycles. Bits (hereinafter referred to as flag bits), for example F1~
Assume that it is composed of 8 bits of F8. Each flag bit is, for example, 10 m sec for flag bit F1, 20 m sec for F2, and 40 m sec for F3.
sec, ..., F8 is associated with 1280 m sec and the activation cycle of the multiple series. These activation cycles can be arbitrarily changed as long as they are numerical values in multiple series. Now, Tables 3 and 4 show examples of the relationship between task groups that are activated at regular intervals and their activation cycles.

【表】【table】

【表】 起動されるタスクと起動周期との関係が表1の
場合には前記ソフトタイマフラグののフラグビツ
トF1〜F6とタスク1〜タスク6とが対応してい
る。 また表2の場合には前記フラグビツトF1,F2
が夫々、タスク1,2に、フラグビツトF3がタ
スク3,4,5に、更にフラグビツトF4がタス
ク6,7に、フラグビツトF5,F6が夫々タスク
8,9に対応している。 そして本実施例では異なる起動周期のうち最小
の起動周期(以下、最小起動周期という。)に該
当するタスク、即ち本実施例では10m sec毎に起
動されるタスク0をインターバル割込により起動
し、該タスクの起動に伴い前記ソフトタイマフラ
グの判定結果に基づいて順次、倍数系列の起動周
期で他のタスクを起動するものである。 上記の処理内容を第13図の処理フローに基づ
き説明する。同図の処理フローでは一例としてタ
スク1の起動によりタスク2を起動する場合につ
いて示してあるが、他の場合、例えばタスク2に
よりタスク3を起動する場合も同様である(但
し、表1の場合に限る。尚、表2の場合について
は後述する。)。 同図において、ステツプ700でインターバル
割込によりタスク1が起動されると、次のステツ
プ702でソフトタイマフラグSTFのフラグビ
ツトF1が1であるか否かの判定が行われる。こ
こで前記ソフトタイマフラグSFTにおいて起動
されるべきタスクの起動周期に該当するフラグビ
ツトには“1”が立てられており、起動されない
タスクの起動周期に該当するフラグビツトは
“0”の状態にあるものとする。 さてステツプ702でソフトタイマフラグ
SFTのフラグビツトF1が“1”であると判定さ
れた場合にはステツプ704に移行し、フラグビ
ツトF1を“0”にし、次のステツプ708で再
度、前記フラグビツトF1が“1”であるか否か
の判定が行われる。 既にステツプ704でフラグビツトF1を“0”
にしてあるので、ステツプ708ではフラグビツ
トF1は“1”でないと判定され、次のステツプ
712に移行し、タスク1の本来の処理が行わ
れ、ステツプ714でタスク1は終了する。 他方、次の周期でタスク1がステツプ700で
起動される場合には既にソフトタイマフラグ
SFTのフラグビツトF1は既述の如く、ステツプ
704で“0”にされている為にステツプ702
ではフラグビツトF1は“0”であると判定され、
ステツプ706に移行する。 ステツプ706ではフラグビツトF1を“1”
にし、ステツプ708に移行する。ステツプ70
8で再度、フラグビツトF1が“1”であるか否
かの判定を行い、既にステツプ706でフラグビ
ツトF1を“1”にしてあるので、ステツプ71
0に移行する。 ステツプ710はタスク2の起動(第6図のタ
スク2に該当するQフラグを1にする。)を行い、
ステツプ712に移行し、タスク1の本来の処理
を行いステツプ714でタスク1を終了する。 以上の如くステツプ704,706で1周期
(この場合、タスク1の起動周期である20m sec)
毎にフラグビツトF1は“1”、“0”の状態を交
互に繰り返し、タスク1の起動時にフラグビツト
F1が“0”である場合、即ちタスク1の起動周
期の2倍の周期でタスク2は起動される。 従つて前掲の表1に示したようなタスク1乃至
タスク6を順次、起動する場合にはタスク1乃至
タスク5の冒頭または末尾にステツプ702〜7
12からなるプログラムを挿入することにより
(但し、ソフトタイマフラグの判定の対象となる
フラグビツトはF2〜F5に夫々、置換されるもの
とする。)可能となる。 次に表2の場合にはタスク1,2,3,6,
8,9については上述したステツプ702〜71
2からなるプログラムを各タスクに挿入すること
により順次、倍数系列の起動周期で起動される
が、タスク3と同一起動周期であるタスク4,5
及びタスク6と同一起動周期であるタスク7につ
いては既述した如くタスクデイスパツチヤ208
の管理するRAM106に設けられたタスク制御
ブロツクにおいて上記タスク4,5,7に該当す
る起動ビツトにフラグ1を立てることにより起動
される。 本実施例によれば第11図に示した如き起動周
期の異なる数だけのソフトタイマブロツクを
RAMに設ける必要がなくなるので、その分を他
の制御に振り当てることが可能となる。 第14図は第5図あるいは第11図の割込処理
プログラム206およびタスクデイスパツチヤー
の追加フローチヤートである。割込処理プログラ
ム206でINTVIRQであることがステツプ89
0で判断されると、ステツプ892へ進みレベル
0のQ0ビツトを1とする。これによりタスク0
である表2のADIN2の起動要求が登録されたこ
とになる。次にタスクデイスパの208へ進む。 ステツプ894は第8図および第9図のステツ
プ410までを示し、この動作は上で述べた通り
である。第9図のステツプ410でYESと判断
されるとステツプ896へ進む。このステツプ8
96〜910までは、第12図のソフトタイマカ
ウンタの更新を行なうソフトである。ステツプ8
96でソフトタイマの更新のクロツクとなるタス
クかどうかを判断する。表3の場合、タスク0〜
4がステツプ896でYESとなる。一方表4の
場合、タスク0,1,2,5,7,がYESとな
り、その他はNOとなる。ステツプ896で、F1
〜F8のFnのnを決定する。表3でタスク0のと
きn=1となり、F1についての更新判断を行う。
ステツプ902で第13図の702の如く、F1
が1かどうか判断する。YESであれば、ステツ
プ904でFnであるF1をゼロとし、一方NOで
あれば、ステツプ906でFnであるF1を1とす
る。FnであるF1が1となると、ステツプ910
で該当するタスクのQが1にされ、起動要求の登
録がなされる。この例では表3のタスク1に該当
するQである。このようにして起動要求が出さ
れ、第9図のステツプ411へと実行が進む。 次にIRQの発生回路を第15図に示す。レジス
タ735とカウンタ736と比較器737とフリ
ツプフロツプ738はINTVIRQの発生回路であ
り、レジスタ735にINTVIRQの発生周期例え
ば本実施例では10〔ms〕がセツトされる。これに
対しクロツクパルスがカウンタ736へセツトさ
れ、そのカウント値がレジスタ735と一致する
とフリツプフロツプ738をセツト状態とする。
このセツト状態でカウンタ736をクリアし、再
びカウントを再開する。従つて一定時間(10m
sec)ごとにINTVIRQが発生する。 レジスタ741とカウンタ742と比較器74
3、フリツプフロツプ744はエンジンの停止を
検知するENSTIRQの発生回路である。レジスタ
741とカウンタ742と比較器743は上の説
明と同様であり、カウント値がレジスタ741の
値に達するとENSTIRQを発生する。しかしエン
ジンの回転中はクランク角センサより一定クラン
ク角毎に発生するREFパルスによりカウンタ7
42がクリアされるのでカウンタ742のカウン
ト値がレジスタ741の値に達しないので
ENSTIRQは発生しない。 フリツプフロツプ738に発生したINTVIRQ
やフリツプフロツプ744に発生したENSTIRQ
さらにADC1やADC2で発生したIRQはそれぞれ
フリツプフロツプ740,746,764,76
8へセツトされる。またフリツプフロツプ73
7,745,762,766にはIRQを発生させ
るか禁止するかの信号がセツトされる。フリツプ
フロツプ737,745,762,766に
“H”がセツトされていればANDゲート748,
750,770,772は能動となり、IRQが発
生するとORゲートよりただちにIRQが発生する。 従つてフリツプフロツプ737,745,76
2,766のそれぞれに“H”を入るか“L”を
入るかによつてIRQの発生を禁止したり、禁止を
解除したりできる。またIRQが発生するとフリツ
プフロツプ740,746,764,768の内
容をCPUに取り込むことにより、IRQ発生の原
因が解かる。 IRQに応じてCPUがプログラムを実行し始め
た場合、そのIRQ信号はクリアする必要があるの
で実行を始めたIRQに関するフリツプフロツプ7
40,746,764,768の1つをクリアす
る。 以上に述べた本発明の実施例では自動車のエン
ジン制御に関して説明したがこれに限定されたも
のでなく他の計算機制御に適用可能であることは
勿論である。 以上、本発明は管理プログラムで行うべきイン
ターバル割込処理をタスクに分担させるように構
成したので、管理プログラムで担当する割込処理
に要する時間が減少し、割込処理能の向上、延い
ては制御性の向上が図れる。 第16図は本発明の他の実施例であり、ステツ
プ890でINTVIRQかどうかの判断を行なう。
このステツプは第14図のステツプ890と同様
である。ステツプ920でFnのnを1とする。
つまりFnをF1とし、F1についての処理を行うこ
とを決定する。ステツプ922でF1について第
13図の内容をしらべ前の状態がF1=1であれ
ば、ステツプ926でF1=0にし、F1=0であ
ればステツプ924でF1=1にする。ステツプ
928でn=8かを判断する。つまり第12図の
すべてのソフトタイマカウンタのビツトについて
の処理が終つたかを判断する。この場合n=1な
のでNOとなり、ステツプ930でn=2にわか
る。つまり次からF2のビツトの処理を行なう。
同様にしてn=8となるとすべてのビツトの処理
が終つたことになり、第12図のソフトタイマカ
ウンタの更新が完了する。 次にステツプ934〜942で、ソフトタイマ
カウンタに基づく各タスクの起動要求の登録が行
なわれる。先ず、ステツプ932で、INTVIRQ
が10m sec毎に発生するので、起動周期が10m
secのタスクのQを総て1にする。ステツプ93
4でn=1とするとことによりF1の処理を開始
する。第12図のF1ビツトか1かどうかをステ
ツプ936で判断し、F1=1であれば、ステツ
プ938へ進む。このステツプでソフトタイマカ
ウンタのF1ビツトに対応したタスク総の起動要
求フラグQを1とする。そしてステツプ940へ
進む。一方ステツプ936でNOであれば、その
ままステツプ940へ進む。ステツプ940で
Fnのn=8かどうかを判断する。この場合はn
=1なので、判断はNOとなる。ステツプ942
へ進み、n=1からn=2へ更新される。これに
よりF2の処理になる。同様にF8の処理まで進め
ば、ステツプ940の判断がYESとなり第16
図のフローは終了する。このフローは割込処理2
06のINTVIRQ処理である。ステツプ940か
らタスクデイスパツチヤーへ処理が進む。この第
16図の処理では第9図のステツプ410と41
1間の処理は不要であり、ステツプ410で
YESであれば、直ちにステツプ411へ進む。
[Table] When the relationship between activated tasks and activation cycles is shown in Table 1, flag bits F1 to F6 of the soft timer flag correspond to tasks 1 to 6. In addition, in the case of Table 2, the flag bits F1, F2
correspond to tasks 1 and 2, respectively, flag bit F3 to tasks 3, 4, and 5, flag bit F4 to tasks 6 and 7, and flag bits F5 and F6 to tasks 8 and 9, respectively. In this embodiment, a task corresponding to the minimum startup cycle (hereinafter referred to as the minimum startup cycle) among the different startup cycles, that is, task 0, which is started every 10 m sec in this embodiment, is started by an interval interrupt, Upon activation of the task, other tasks are activated in sequence at a multiple series activation cycle based on the determination result of the soft timer flag. The contents of the above processing will be explained based on the processing flow shown in FIG. The processing flow in the figure shows an example where task 2 is started by starting task 1, but the same applies to other cases, such as when task 2 starts task 3 (however, in the case of Table 1 (The case in Table 2 will be described later.) In the figure, when task 1 is activated by an interval interrupt in step 700, it is determined in the next step 702 whether flag bit F1 of the soft timer flag STF is 1 or not. Here, in the soft timer flag SFT, the flag bit corresponding to the activation cycle of the task to be activated is set to "1", and the flag bit corresponding to the activation cycle of the task that is not activated is in the state of "0". shall be. Now, in step 702, set the soft timer flag.
If it is determined that the flag bit F1 of the SFT is "1", the process moves to step 704, sets the flag bit F1 to "0", and checks again in the next step 708 whether or not the flag bit F1 is "1". A determination is made. Flag bit F1 has already been set to “0” in step 704.
Therefore, in step 708, it is determined that flag bit F1 is not "1", and the process moves to the next step 712, where the original processing of task 1 is performed, and in step 714, task 1 ends. On the other hand, when task 1 is started at step 700 in the next cycle, the soft timer flag has already been set.
As mentioned above, the flag bit F1 of the SFT is set to "0" in step 704, so it is not set in step 702.
Then flag bit F1 is determined to be “0”,
The process moves to step 706. In step 706, flag bit F1 is set to “1”.
and moves to step 708. Step 70
In step 8, it is determined again whether flag bit F1 is "1", and since flag bit F1 has already been set to "1" in step 706, step 71 is executed.
Transition to 0. Step 710 starts task 2 (sets the Q flag corresponding to task 2 in FIG. 6 to 1),
The process moves to step 712 to perform the original processing of task 1, and then ends task 1 in step 714. As described above, steps 704 and 706 complete one cycle (in this case, 20 m sec, which is the startup cycle of task 1).
The flag bit F1 alternately repeats the state of “1” and “0” for each task, and when task 1 starts, the flag bit F1
When F1 is "0", that is, task 2 is activated at twice the activation period of task 1. Therefore, when starting tasks 1 to 6 in sequence as shown in Table 1 above, steps 702 to 702 are placed at the beginning or end of tasks 1 to 5.
This becomes possible by inserting a program consisting of 12 bits (provided that the flag bits to be determined by the soft timer flag are replaced with F2 to F5, respectively). Next, in the case of Table 2, tasks 1, 2, 3, 6,
For steps 8 and 9, follow steps 702 to 71 described above.
By inserting a program consisting of 2 into each task, tasks 4 and 5 are started sequentially at a multiple series start cycle, but tasks 4 and 5 have the same start cycle as task 3.
As for task 7, which has the same startup cycle as task 6, the task dispatcher 208
Tasks 4, 5, and 7 are activated by setting flags 1 in activation bits corresponding to tasks 4, 5, and 7 in the task control block provided in the RAM 106 managed by the task controller. According to this embodiment, as many soft timer blocks with different activation cycles as shown in FIG. 11 are used.
Since it is no longer necessary to provide it in RAM, it becomes possible to allocate that amount to other controls. FIG. 14 is an additional flowchart of the interrupt processing program 206 and task dispatcher of FIG. 5 or FIG. 11. In step 89, the interrupt processing program 206 determines that it is INTVIRQ.
If it is determined to be 0, the process advances to step 892 and the Q0 bit of level 0 is set to 1. This will cause task 0
This means that the startup request for ADIN2 in Table 2 has been registered. Next, proceed to 208 of Task Day Spa. Step 894 represents steps up to step 410 of FIGS. 8 and 9, and the operation is as described above. If YES is determined in step 410 of FIG. 9, the process advances to step 896. This step 8
96 to 910 are software for updating the soft timer counter shown in FIG. Step 8
At step 96, it is determined whether the task serves as a clock for updating the soft timer. In the case of Table 3, tasks 0~
4 becomes YES in step 896. On the other hand, in the case of Table 4, tasks 0, 1, 2, 5, and 7 are YES, and the others are NO. At step 896, F1
~Determine n of Fn of F8. In Table 3, when task 0, n=1, and an update judgment is made for F1.
In step 902, as shown in 702 in FIG.
Determine whether or not is 1. If YES, F1, which is Fn, is set to zero in step 904; on the other hand, if NO, F1, which is Fn, is set to 1 in step 906. When F1, which is Fn, becomes 1, step 910
Then, the Q of the corresponding task is set to 1, and a start request is registered. In this example, it is Q that corresponds to task 1 in Table 3. In this way, a startup request is issued, and execution proceeds to step 411 in FIG. Next, the IRQ generation circuit is shown in FIG. A register 735, a counter 736, a comparator 737, and a flip-flop 738 are an INTVIRQ generation circuit, and the INTVIRQ generation period is set in the register 735, for example, 10 [ms] in this embodiment. In response, a clock pulse is set to counter 736, and when the count value matches register 735, flip-flop 738 is set.
In this set state, the counter 736 is cleared and counting is restarted. Therefore, for a certain period of time (10m
INTVIRQ occurs every sec). Register 741, counter 742, and comparator 74
3. A flip-flop 744 is an ENSTIRQ generation circuit that detects engine stoppage. Register 741, counter 742, and comparator 743 are similar to those described above, and when the count value reaches the value of register 741, ENSTIRQ is generated. However, while the engine is rotating, the REF pulse generated by the crank angle sensor at a certain crank angle causes the counter 7 to
42 is cleared, so the count value of counter 742 does not reach the value of register 741.
ENSTIRQ does not occur. INTVIRQ occurred on flip-flop 738
ENSTIRQ occurred on flip-flop 744.
Furthermore, the IRQs generated by ADC1 and ADC2 are flip-flops 740, 746, 764, and 76, respectively.
It is set to 8. Also, flip-flop 73
7, 745, 762, and 766 are set with signals indicating whether to generate or inhibit IRQ. If flip-flops 737, 745, 762, and 766 are set to "H", AND gate 748,
750, 770, and 772 become active, and when an IRQ is generated, an IRQ is generated immediately from the OR gate. Therefore, flip-flops 737, 745, 76
Depending on whether "H" or "L" is input to each of 2,766, generation of IRQ can be inhibited or inhibited. Furthermore, when an IRQ occurs, the cause of the IRQ can be determined by loading the contents of flip-flops 740, 746, 764, and 768 into the CPU. When the CPU starts executing a program according to the IRQ, the IRQ signal needs to be cleared, so the flip-flop 7 related to the IRQ that started execution
Clear one of 40,746,764,768. Although the above-described embodiments of the present invention have been explained with respect to engine control of an automobile, the present invention is not limited to this and is of course applicable to other types of computer control. As described above, since the present invention is configured so that the interval interrupt processing to be performed by the management program is divided among tasks, the time required for the interrupt processing handled by the management program is reduced, and the interrupt processing performance is improved. Controllability can be improved. FIG. 16 shows another embodiment of the present invention, in which a determination is made in step 890 as to whether it is INTVIRQ.
This step is similar to step 890 in FIG. In step 920, n of Fn is set to 1.
In other words, it is decided to set Fn to F1 and to perform processing on F1. In step 922, the contents of FIG. 13 are checked for F1. If the previous state is F1=1, step 926 sets F1=0, and if F1=0, step 924 sets F1=1. At step 928, it is determined whether n=8. In other words, it is determined whether the processing for all the bits of the soft timer counter shown in FIG. 12 has been completed. In this case, since n=1, the answer is NO, and in step 930 it is determined that n=2. In other words, the next bit of F2 will be processed.
Similarly, when n=8, it means that all bits have been processed, and the updating of the soft timer counter in FIG. 12 is completed. Next, in steps 934 to 942, a start request for each task is registered based on the soft timer counter. First, in step 932, INTVIRQ
occurs every 10m sec, so the startup cycle is 10m
Set the Q of all tasks in sec to 1. Step 93
By setting n=1 in step 4, the processing of F1 is started. It is determined in step 936 whether the F1 bit in FIG. 12 is 1. If F1=1, the process advances to step 938. In this step, the activation request flag Q for all tasks corresponding to the F1 bit of the soft timer counter is set to 1. The process then proceeds to step 940. On the other hand, if NO in step 936, the process directly advances to step 940. At step 940
Determine whether n=8 of Fn. In this case n
= 1, so the judgment is NO. Step 942
Then, n=1 is updated to n=2. This results in F2 processing. Similarly, if you proceed to the process of F8, the judgment in step 940 will be YES and the 16th step will be YES.
The flow in the figure ends. This flow is interrupt processing 2
This is INTVIRQ processing of 06. Processing proceeds from step 940 to the task dispatcher. In the process of FIG. 16, steps 410 and 41 of FIG.
1 is not necessary, and in step 410
If YES, the process immediately proceeds to step 411.

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

第1図はエンジン系統全体の制御装置を示す構
成図、第2図は第1図の点火装置の説明図、第3
図は排気ガス環流システムを説明するための構成
図、第4図はエンジン制御システムの全体構成
図、第5図は本発明に係わるエンジン制御方法の
プログラムシステムの基本的構成を示す図、第6
図はタスクデイスパツチヤの管理するRAMに設
けられたタスク制御ブロツクのテーブルを示す
図、第7図は各種割込みにより起動されるタスク
群のスタートアドレステーブルを示す図、第8図
及び第9図はタスクデイスパツチヤの処理フロー
を示す図、第10図はマクロ処理プログラムの処
理フローを示す図、第11図はソフトのシステム
図、第12図はソフトタイマカウンタ、第13図
はINTVIRQの処理フロー図、第14図はソフト
タイマカウンタの更新と起動要求登録の処理フロ
ー図、第15図は割込発生回路図、第16図は本
発明の他の実施例を示すフロー図である。 102……CPU、104……ROM、106…
…RAM、108……入出力回路。
Figure 1 is a configuration diagram showing the control device for the entire engine system, Figure 2 is an explanatory diagram of the ignition system in Figure 1, and Figure 3 is an explanatory diagram of the ignition system in Figure 1.
FIG. 4 is a block diagram for explaining the exhaust gas recirculation system, FIG. 4 is an overall block diagram of the engine control system, FIG. 5 is a diagram showing the basic structure of the program system for the engine control method according to the present invention, and FIG.
The figure shows the table of task control blocks provided in the RAM managed by the task dispatcher, Figure 7 shows the start address table of task groups activated by various interrupts, and Figures 8 and 9 show the table of task control blocks provided in the RAM managed by the task dispatcher. Figure 10 shows the processing flow of the task dispatcher, Figure 10 shows the processing flow of the macro processing program, Figure 11 shows the software system diagram, Figure 12 shows the software timer counter, and Figure 13 shows the processing flow of INTVIRQ. , FIG. 14 is a process flow diagram for updating the soft timer counter and registering a start request, FIG. 15 is a diagram of an interrupt generation circuit, and FIG. 16 is a flow diagram showing another embodiment of the present invention. 102...CPU, 104...ROM, 106...
...RAM, 108...Input/output circuit.

Claims (1)

【特許請求の範囲】[Claims] 1 エンジンの運転状態を検出する各種センサ
と、該センサからの出力信号をデイジタル処理す
る演算回路と、該演算回路を操作するプログラム
を記憶する記憶手段と、該演算回路の演算結果に
基づきエンジン制御を行う制御機構とからなり、
前記プログラムをその制御機能に基づいて分類
し、分類されたタスク群のエンジンに及ぼす影響
に応じてその起動周期を各々に設定し、設定され
た周期に基づいて各タスクに起動要求を出すもの
において、前記起動周期を最小起動周期の2のn
乗倍(n=0,1,2……)の関係になるように
設定し、前記起動周期のうち最小起動周期の計測
をインターバル割込により行い、この最小起動周
期に応じて実行されるタスクの実行回数によりそ
れより長い起動周期の計測を行ない、この計測さ
れた起動周期に応じて実行されるタスクの実行回
数によりさらに長い起動周期を計測するようにし
たことを特徴とするエンジンの制御方法。
1 Various sensors that detect the operating state of the engine, an arithmetic circuit that digitally processes output signals from the sensor, storage means that stores a program for operating the arithmetic circuit, and engine control based on the arithmetic results of the arithmetic circuit. It consists of a control mechanism that performs
The program is classified based on its control function, a startup cycle is set for each classified task group according to its influence on the engine, and a startup request is issued to each task based on the set cycle. , the activation period is 2 n of the minimum activation period.
Set so that the relationship is multiplied by (n = 0, 1, 2...), measure the minimum activation period among the activation periods using an interval interrupt, and perform tasks according to this minimum activation period. A method for controlling an engine, characterized in that a longer startup cycle is measured based on the number of executions of , and an even longer startup cycle is measured based on the number of times a task is executed according to the measured startup cycle. .
JP680280A 1980-01-25 1980-01-25 Control method of engine Granted JPS56105507A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP680280A JPS56105507A (en) 1980-01-25 1980-01-25 Control method of engine

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP680280A JPS56105507A (en) 1980-01-25 1980-01-25 Control method of engine

Publications (2)

Publication Number Publication Date
JPS56105507A JPS56105507A (en) 1981-08-22
JPH0118443B2 true JPH0118443B2 (en) 1989-04-05

Family

ID=11648310

Family Applications (1)

Application Number Title Priority Date Filing Date
JP680280A Granted JPS56105507A (en) 1980-01-25 1980-01-25 Control method of engine

Country Status (1)

Country Link
JP (1) JPS56105507A (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3224286A1 (en) * 1982-06-28 1983-12-29 Robert Bosch Gmbh, 7000 Stuttgart CONTROL DEVICE WITH A MICROCALCULATOR
JPS5994112A (en) * 1982-11-19 1984-05-30 Nippon Telegr & Teleph Corp <Ntt> Time division positioning controller
DE19500957A1 (en) * 1994-07-19 1996-01-25 Bosch Gmbh Robert Procedures for the control of technical processes or processes
JP4813410B2 (en) * 2007-03-28 2011-11-09 住友建機株式会社 Heating structure of partition device for preventing intrusion of screed mixture in road paving machine

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5374221A (en) * 1976-12-14 1978-07-01 Mitsubishi Electric Corp Chopper control device

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5374221A (en) * 1976-12-14 1978-07-01 Mitsubishi Electric Corp Chopper control device

Also Published As

Publication number Publication date
JPS56105507A (en) 1981-08-22

Similar Documents

Publication Publication Date Title
JPS6212384B2 (en)
US4282573A (en) Processor interrupt device for an electronic engine control apparatus
US4274141A (en) Method and apparatus for controlling an internal combustion engine, particularly the starting up of the engine
JPS6239261B2 (en)
US4310888A (en) Technique for controlling the starting operation of an electronic engine control apparatus
US4337513A (en) Electronic type engine control method and apparatus
US4363097A (en) Electronic type engine control method
JPS6350546B2 (en)
JPH0375740B2 (en)
KR920003200B1 (en) Engine control device
KR880001665B1 (en) Fuel injection control apparatus for internal combustion engine
EP0030114B1 (en) Method for starting an operation of an internal combustion engine and apparatus therefor
JPS6343579B2 (en)
JPH0118443B2 (en)
JPS6218748B2 (en)
JPS5974340A (en) Fuel injector
KR920003201B1 (en) Fuel injection control apparatus for internal combustion engine
JPH0138176B2 (en)
JPS5895214A (en) Signal processing method for hot-wire flow rate sensor
US4522178A (en) Method of fuel control in engine
JPH0118256B2 (en)
JPH0318026B2 (en)
JPS6356420B2 (en)
JPS58150047A (en) Fuel injection controller of internal-combustion engine
JPS6240645B2 (en)