JPH05321802A - 内燃機関のトルク制御装置 - Google Patents

内燃機関のトルク制御装置

Info

Publication number
JPH05321802A
JPH05321802A JP24993092A JP24993092A JPH05321802A JP H05321802 A JPH05321802 A JP H05321802A JP 24993092 A JP24993092 A JP 24993092A JP 24993092 A JP24993092 A JP 24993092A JP H05321802 A JPH05321802 A JP H05321802A
Authority
JP
Japan
Prior art keywords
engine
control
program
task
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP24993092A
Other languages
English (en)
Other versions
JPH0751932B2 (ja
Inventor
Toshio Furuhashi
俊夫 古橋
Masaaki Fujisawa
正明 藤沢
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 JP4249930A priority Critical patent/JPH0751932B2/ja
Publication of JPH05321802A publication Critical patent/JPH05321802A/ja
Publication of JPH0751932B2 publication Critical patent/JPH0751932B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Electrical Control Of Ignition Timing (AREA)
  • Output Control And Ontrol Of Special Type Engine (AREA)
  • Electrical Control Of Air Or Fuel Supplied To Internal-Combustion Engine (AREA)
  • Combined Controls Of Internal Combustion Engines (AREA)

Abstract

(57)【要約】 【目的】回転制御を実行する上で必要な回転数の大きい
上げ下げと回転数の小さい上げ下げを効果的に調整で
き、しかもコンピュータの占有負荷をできるだけ均一化
して制御精度を確保する内燃機関のトルク制御装置を提
供すること。 【構成】エンジンがアイドル状態にあると判別されたと
きに空気制御手段(14)を制御してエンジンの回転数
を制御するための空気制御デ−タを発生する空気制御演
算処理(414)より点火手段(162)を制御してエ
ンジンの回転数を制御するための点火時期制御デ−タを
発生する点火時期制御演算処理の実行優先度を高く設定
する。 【効果】空気量制御することで回転数の大きい上げ下げ
の調整を行うと共にこれに優先して点火時期制御を実行
することで回転数の小さい上げ下げを調整して効果的に
回転数の正確な制御を実行できる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、エンジンがアイドル状
態にある場合の回転数制御を行うトルク制御装置に関す
る。
【0002】
【従来の技術】従来より、アイドル時のエンジン回転速
度制御方法については、絞り弁を迂回するバイパス通路
に空気制御弁を設けてエンジンの吸入空気量(混合気を
含む)を調整してエンジン回転数を制御する方法または
エンジンに供給される混合気濃度の割合(空燃比)を操作
してアイドル回転数を制御する方法等種々提案されてい
る。
【0003】
【発明が解決しようとする課題】このような従来の方法
では、吸気系、燃料系の応答遅れが支配的であること及
び吸入空気、燃料の増減に対する回転数の反映量が大き
いというため、回転数の大きい上げ下げは可能である
が、回転数の小さい変動に対しては十分な効果を得るこ
とができなかった。
【0004】また、この種の装置ではマイクロコンピュ
−タを使用することが有効であるが、マイクロコンピュ
−タの占有処理率の問題も合わせ解決することが必要で
あった。
【0005】本発明の目的は、回転制御を実行する上で
必要な回転数の大きい上げ下げと回転数の小さい上げ下
げを効果的に調整でき、しかもコンピュータの占有負荷
をできるだけ均一化して制御精度を確保する内燃機関の
トルク制御装置を提供することにある。
【0006】
【課題を解決するための手段】本発明の特徴は、 (a).エンジンの実際アイドル回転数を検出する回転
数検出手段(80); (b).前記エンジンのアイドル状態を検出するアイド
ル状態検出手段(76,410,710); (c).前記アイドル状態検出手段によって前記エンジ
ンがアイドル状態にあると判別されたときに空気制御手
段(14)を制御してエンジンの回転数を制御するため
の空気制御デ−タを発生する空気制御演算処理(41
4)と、前記空気演算処理より実行優先度が高く設定さ
れ、点火手段(162)を制御してエンジンの回転数を制
御するための点火時期制御デ−タを発生する点火時期制
御演算処理(712〜716)とを実行するセントラル
プロセッシングユニット(102)、リ−ドオンリメモ
リ(104)及びランダムアクセスメモリ(106)よ
りなる演算手段(309); (d).前記演算手段からの前記制御デ−タを前記空気
制御手段及び点火手段の制御信号に変換するデ−タ変換
手段(156,164); (e).前記デ−タ変換手段の出力にもとづいて前記空
気制御手段及び点火手段を制御する出力手段 とよりなるトルク制御装置にある。
【0007】
【作用】本発明は絞り弁を迂回する空気量を制御するこ
とで回転数の大きい上げ下げの調整を行うと共にこれに
優先して実行点火時期を制御することで回転数の小さい
上げ下げを調整して効果的に回転数の正確な制御を実行
でき、しかも空気量の制御を行う演算処理に対して点火
時期の制御を行う演算処理を優先して実行させるように
してコンピュータの占有負荷をできるだけ均一化して制
御精度を確保することができる。
【0008】
【実施例】以下、本発明の一実施例を図面により説明す
る。尚、本実施例ではエンジンの吸気量の制御状態を検
出するセンサとして圧力センサを用いているが、上述の
如く、空気流量センサやスロットルバルブの開度状態を
検出するセンサでも使用可能である。
【0009】図1はエンジン系統全体のシステム図であ
る。
【0010】先ず、エンジン1のシリンダへ導かれる吸
入空気の流れについて説明する。
【0011】エアークリーナ2より導入された空気は吸
気手段として図示された空気通路、インテークマニホー
ルド3を通ってエンジン1に供給されるが、その途中で
ターボチャージャ4のタービン6により高速回転される
コンプレッサ8により圧縮される。圧縮された空気はス
ロットルチャンバ内に設けられた空気の量を制御するス
ロットルバルブ10あるいはエアーバイパスバルブ14
を介してエンジンの各シリンダに導入される。図1では
1個のシリンダのみ代表的に示した。
【0012】このシリンダには吸気バルブ16が設けら
れており、この吸気バルブ16の開弁時に空気および後
述する燃料からなる混合気が導入される。スロットルバ
ルブ10は運転者によって制御されるアクセスペダル1
2と機械的に連動し、アクセルペダル12の踏込量に応
じてスロットルバルブ10の開度が定まる。その結果、
空気抵抗が制御され、シリンダ内へ導入される空気量が
制御される。
【0013】次に燃料供給系につき説明する。燃料タン
ク20からフィルタ22を介して燃料ポンプ24へ燃料
が導かれ、燃料ポンプ24で加圧された燃料は燃圧制御
弁26でインテークマニホールド圧に対し、一定圧力に
保持されるように制御される。
【0014】燃料供給手段である噴射弁28には燃圧制
御弁26により制御された圧力の燃料が導入され、制御
ユニット30で作られた出力パルスにより噴射弁28が
開き、燃料がインテークマニホールド3内に供給され
る。インテークマニホールド3内に供給された燃料は、
吸入空気と共に混合気を形成し、吸気バルブ16を介し
てシリンダ内に導入される。
【0015】次に点火系につき説明する。バッテリ40
にキースイッチ42を介して接続された点火手段を構成
する点火コイル44の他端は制御ユニット30に接続さ
れている。制御ユニット30内に設けられたパワートラ
ンジスタにより点火コイル44にエネルギ充電の為の充
電電流が供給される。次に該充電電流が遮断されること
により点火コイル44の2次コイルに高電圧を発生し、
該高電圧はこれもディストリビュータ46を介して各シ
リンダに設けられている点火プラグ50へ供給される。
上記ディストリビュータ46はシリンダ内のピストン4
8により回転力が与えられる出力軸と機械的に連動して
回転する。これら、制御ユニット内のパワートランジス
タ,点火コイル44,ディストリビュータ46,点火プ
ラグ50が後述(図2)の点火装置162を構成する。
【0016】上述のシリンダに導入された混合気はピス
トン48により圧縮され、点火プラグ50からの火花エ
ネルギにより燃焼を開始する。混合気の燃焼により生じ
る熱エネルギに変換され、エンジンの出力軸を介して機
械エネルギが出力される。
【0017】次に排気系について説明する。シリンダ内
の燃焼ガスは排気バルブ(図示せず)を介して排気管52
に導かれ、タービン6を回転させる。その後触媒ユニッ
ト54およびマフラ56を介して大気へ放出される。尚
タービン6にはバイパス通路60が設けられており、バ
イパス通路60の開口をダイヤフラム58で制御するこ
とによりタービン6の回転速度の調整が行なわれる。ま
た排気管52とインテークマニホールド3との間にEG
Rバルブ62が設けられており、排気ガスが吸気系に導
かれる。スタータ系を説明する。エンジン1の出力軸に
はスタータモータ64が必要に応じ、接続される機構と
なっている。スタータスイッチ66がターンオンするこ
とにより、スタータモータ64が励磁され、それと共に
スタータ軸に設けられたピニオンがエンジン1の出力軸
に設けられたフライホイルに結合し、エンジン1のピス
トンを駆動する。この動作によりエンジン1のシリンダ
内で熱エネルギが機械エネルギに変換され、エンジン1
はこの新たに発生したエネルギで出力軸を動かす。この
ことによりエンジン1は自走状態となり、スタート動作
を完了する。
【0018】次にエンジン制御のためのセンサにつき説
明する。制御ユニット30には上記エンジン1の各系統
の状態に表わす入力信号としてノックセンサ72,水温
センサ74,スロットルスイッチ(スロットルSW)7
6,圧力センサ78,クランク角センサ80,排気ガス
センサ82,スタータスイッチ66の各出力が入力され
る。ノックセンサ82は既に知られている方法によりノ
ッキング状態に応じてパルス発生する。水温センサ74
はエンジンの冷却水温に基づくアナログ電圧をユニット
60へ伝える。スロットルスイッチ46はスロットルバ
ルブ10の全閉状態で“H”レベルの出力を出し、その
他の状態で、“L”レベルの出力を出す。圧力センサ7
8はインテークマニホールド3内のスロットルバルブ1
0下流の圧力に応じた電圧を出力する。
【0019】クランク角センサ80は既に知られている
如く2値のスリットを切った円板がエンジン1の出力軸
シャフトに同期して回るディストリビュータ46のシャ
フトに固定され、該円板の回転がホトカプラにより検知
される。これによりエンジン1の出力軸の回転に応じ、
基準角パルス(以下REFパルスと記す。)と単位回転
角パルス(以下POSパルスと記す。)とを発生する。
4気筒エンジンでは基準角(REF)パルス90度毎
に、単位(POS)パルスは例えば2度毎にそれぞれ発
生する。
【0020】次に制御ユニット30について説明する。
図2は図1の制御ユニット30の詳細回路構成図であ
り、CPU102とROM104とRAM106と入出力回路108とから
構成されている。上記CPU102はROM104内に記憶された各
種のプログラムにより、入出力回路108からの入力デ
ータを演算し、その演算結果を再び入出力回路108へ
戻す。これらの演算に必要な中間的な記憶はRAM106を使
用する。CPU102,ROM104,RAM106,入出力回路108間
の各種データのやり取りはデータ・バスとコントロール
・バスとアドレス・バスからなるバスライン110によ
って行なわれる。入出力回路108には第1のアナログ
・ディジタル・コンバータ(以下ADC1と記す)と第2の
アナログ・ディジタル・コンバータ(以下ADC2と記
す)とエンジン回転速度を検出する角度信号処理回路1
40と1ビット情報を入出力する為のディストリート入
出力回路(以下DIOと記す)との入力手段を待つ。
【0021】ADC1にはバッテリ電圧検出センサ12
2(以下VBSと記す)と冷却水温センサ74(以下T
WSと記す)と大気温センサ124(以下TASと記
す)と調整電圧発生器126(以下VRSと記す)とス
ロットル角センサ128(以下θTHSと記す)と排気
ガスセンサ82(以下λSと記す)との出力がマルチ・
プレクサ130(以下MPXと記す)に加えられ、MPX1
30によりこの内の1つを選択してアナログ・ディジタル
・変換回路132(以下ADCと記す)へ入力する。AD
C132の出力であるディジタル値はレジスタ134(以下
REGと記す)に保持される。
【0022】また圧力センサ78(以下VCSと記す)
はADC2へ入力され、アナログ・ディジタル・変換回
路136(以下ADCと記す)を介してディジタル変換
され、レジスタ138(以下REGと記す)へセットさ
れる。
【0023】角度センサ80(以下ANGSと記す)か
らはREF(基準クランク角、例えば180度クランク
角を示す信号)とPOS(単位角、例えば2度クランク
角を示す信号)とが出力され、角度信号処理回路140
へ加えられ、ここでエンジン速度の計測が行なわれる。
DIO(ディストリート入出力回路)にはスロットル・
スイッチ76(以下TH−SWと記す)とトップ・ギヤ
・スイッチ142(以下TOP−SWと記す)とスター
タスイッチ66(以下START−SWと記す)とが入力
されている。尚このDIOの詳細は図28を用いて後述
する。
【0024】次にCPUの演算結果に基づくパルス出力
回路および制御対象について説明する。燃料供給手段で
ある噴射弁28を制御するための制御信号を発生する出
力手段としての制御回路152(INJCと記す)は演
算結果のディジタル値をパルス出力に変換する回路であ
る。従って燃料噴射量に相当したパルス幅を有するパル
スがINJC152 で作られ、ANDゲート154を介してイ
ンジェクタ28へ印加される。尚INJC152 の詳細は図2
9〜図30により後述する。
【0025】点火手段を制御するための制御信号を発生
する出力手段としての点火パルス発生回路156(以下
IGNCと記す)は点火時期をセットするレジスタ(A
DVと記す)と点火コイル44の1次電流通電開始時間
をセットするレジスタ(DWLと記す)とを有し、CP
Uよりこれらデータがセットされる。センサされたデー
タに基づいてパルスを発生し、図1の点火コイル44の
1次電流を制御するための点火装置162(制御ユニッ
ト30内のパワートランジスタとその駆動回路とからな
る)へANDゲート158,160を介してこのパルス
を加える。このIGNC156 は図27を用いて後述する。
【0026】エアー・バイパス・バルブ14の開弁率は
制御回路(以下ISCCと記す)164からANDゲー
ト166を介して加えられるパルスによって制御され
る。ISCC164 はパルス幅をセットするレジスタISCD
と繰返しパルス周期をセットするレジスタISCPとを
持っている。このISCCの詳細回路は図26で説明す
る。
【0027】図1に示したEGR制御弁62を制御する
EGR量制御パルス発生回路168(以下EGRCと記
す)にはパルスのデューティを表わす値をセットするレ
ジスタEGRDとパルスの繰返し周期を表わす値をセッ
トするレジスタEGRPとを有している。このEGRC
の出力パルスはANDゲート170を介してEGR制御
弁62に加えられる。このEGRC回路も図26を用い
て後述する。
【0028】また1ビットの入出力回路は回路DIO
(ディスクリート入出力回路)により制御される。入力
信号としてはスロットルスイッチからのTH−SW信
号,トップギアスイッチ142からのTOP−SW信
号,スタータスイッチ66からのSTART−SW信号
がある。また出力信号としては燃料ポンプ24を駆動す
るためのパルス出力信号がある。このDIOは端子を入
力端子として使用するか、出力端子として使用するかを
決定するためのレジスタDDR192と、出力データをラッチ
するためのレジスタDOUT194 とが設けられている。
【0029】モードレジスタ172は入出力回路108
内部の色々な状態を指令する命令を保持するレジスタ
(以下MODと記す)であり、例えばこのモードレジスタ
172に命令セットすることにより、ANDゲート15
4,158,166,170を総て動作状態にさせた
り、不動作状態にさせたりする。このようにモードレジ
スタ172に命令をセットすることにより、INJC152やI
GNC156,ISCC164,EGRC168の出力の停止や起動を制御で
きる。
【0030】次にROM104に格納されているプログラムに
つき説明する。
【0031】図3は図2の制御回路のプログラムシステ
ムである。キー・スイッチ42(図1)により電源電圧
がCPU102に加えられるとCPU102はスタータ・モード20
2となり、イニシャライズ・プログラム(INITIALIZ)2
04を実行する。次に監視プログラム(MONIT)20
6を実行し、バック・グランド・ジョブ(BACKGROUNDJO
B)208を実行する。このバック・グランド・ジョブと
して例えばEGR量の計算タスク(以下ERG・TAS
Kと記す。)やエアー・バイパス・バルブ14の開度を
計算するタスク(以下ISC・TASKと記す)を実行
する。
【0032】このタスクの実行中、割込要因(以下IR
Qと記す)が発生すると割込要因の分析を行なうため開
始点222へジャンプし、割込要因分析(以下IRQ ANAL
と記す)プログラム224を実行する。
【0033】この割込要因分析(IRQ ANAL)の
プログラム224はさらにADC1の終了割込処理(以
下ADCIEND IRQと記す)プログラム226とADC2の終
了割込処理(以下ADC2END IRQと記す)プログラム228
と本発明の第1ステップが実行される一定期間経過割込
処理(以下INTV IRQと記す)プログラム230と
本発明の第2のステップ及び第3ステップが実行される
エンジン回転同期割込処理(以下INTL IRQと記
す)プログラム232からなり、後述する各タスクにそ
れぞれ起動要求(以下QUEUEと記す)を出す。
【0034】この割込要因分析(IRQ ANAL)プ
ログラム224内の各プログラムADC1 END I
RQ226やADC2 END IRQ228やINT
VIRQ230やINTL IRQ232の各プログラ
ムにより起動要求(QUEUE)が出力される各タスクはレベ
ル・ゼロ・タスク群252やレベル1タスク群254やレ
ベル2タスク群256やレベル3タスク群258である
か、あるいは該各タスク群を構成するタスクである。ま
たINTV IRQプログラム232によりさらにエン
ジンの停止が検出されると起動要求(QUEUE)が発
生するタスクはエンジン停止時の処理タスク262(以
下ENST ATSKと記す)である。このENST TASK
262 が実行されると再び制御システムはスタート・モー
ドとなり、開始点202へ戻る。
【0035】タスク・スケジューラ242は起動要求
(QUEUE)の発生しているタスク群かあるいは実行
中断タスク群の内、レベルの高いタスク群(ここではレ
ベル・ゼロを最高とする)から実行するように、タスク
群の実行順序を決定する。タスク群の実行が終了すると
終了報告プログラム260(以下EXITと記す)によ
り終了報告される。この終了報告により、再び実行待ち
になってタスク群の内の最もレベルの高いタスク群を順
に実行する。
【0036】実行中断タスク群や起動要求(QUEU
E)の発生しているタスク群がなくなるとタスク・スケ
ジューラ242より再びバック・グラウンド・ジョブ2
08の実行へ移る。さらにレベル・ゼロ・タスク群から
レベル3タスク群のどれかを実行中に割込(IRQ)が
発生すると割込要因分析プログラムの開始点222へ戻
る。
【0037】第1表に以上述べた各タスクの起動とその
機能を示す。
【0038】
【表1】
【0039】表1において、制御システムを管理するた
めのプログラムとして、割込分析(IRQ ANAL)プログラ
ムやタスクスケジューラ(TASK SCHDULER)プログラムや
終了報告(EXIT)プログラムがある。これらのプロ
グラム(以下OSと記す)は図4の如くROM104のアドレ
スA000からアドレスA300に保持されている。尚
アドレスは16進法記載で表現されている。
【0040】さらにレベル・ゼロ・プログラムとしてA
D1の出力取込み(AD1IN)、AD2の出力取込み
(AD2IN)、エンジン回転速度出力取込み(RPM
IN)の各プログラムがあり、通常一定時間経過割込
(INTV IRQ)の10〔mSEC〕で起動され
る。レベル1プログラムとして燃料制御(INJC)、
点火時期制御(IGNCAL)、通電角制御(DWLCAL)プログ
ラムがあり、一定時間経過割込(INTV IRQ)の
20〔mSEC〕ごとに起動される。レベル2プログラ
ムとしてO2 フィードバック制御(LAMBDA)プログラム
があり、一定時間経過割込(INTV IRQ)の40
〔mSEC〕ごとに起動される。レベル3プログラムと
して補正計算(HOSEI)プログラムがあり一定時間
経過割込(INTV IRQ)の100〔mSEC〕ご
とに起動される。
【0041】またバック・グラウンド・ジョブとして排
気環流制御(EGRCAL)とバイパスエアー制御(ISCCAL)
プログラムがある。
【0042】上記レベル・ゼロ・プログラムはPROG
1としてそれぞれ図4のROM104のアドレスA600から
AAFFに記憶されている。レベル・1プログラムはPR
OG2としてROM104のアドレスAB00からABFFに記
憶されている。レベル2プログラムはPROG3として
ROM104のアドレスAE00からAEFFに記憶されてい
る。レベル3プログラムはPROG4としてROM104のア
ドレスAF00からAFFFに記憶されている。
【0043】またバック・グラウンド・ジョブ・プログ
ラムはB000からB1FFに保持されている。
【0044】なお上記プログラムPROG1からPRO
G4までの各プログラムのスタート・アドレスのリスト
(以下SETMRと記す)がB200からB2FFまで
に保持され、PROG1からPROG4までの各プログ
ラム起動周期を表わす値(以下TTMと記す)がアドレ
スB300からB3FFに記憶されている。これらの詳
細は図15に示されている。
【0045】その他のデータは必要に応じ図4のROM
のアドレスB400からB4FFに記憶される。それに
続いて演算のためのデータとして用いる、点火時期マッ
プ(ADV.MAP)、空燃比制御マップ(AF.MA
P)や排気ガス制御マップ(EGR.MAP)をそれぞ
れ記憶されている。
【0046】イニシャライズプログラムを説明する。
【0047】図3におけるイニシャライズ(INITIALIZ)
プログラム204の詳細を図5を用いて説明する。ステ
ップ282で割込(IRQ)発生時の退避エリアを設定
する。次にステップ284でRAM106を全てクリアする。
ステップ286で入出力回路108のレジスタ内に初期
値の設定を行なう。この初期値設定として例えば、角度
センサ146の計測時間の初期値やDIOの端子の入力
と出力の使い分けのDDRの設定や一定時間経過割込
(INTV IRQ)発生のためのタイマの設定があ
る。
【0048】ステップ288でADC1に起動をかけ、
さらにADC1の終了割込(ADC1ENDIRQ)の為の禁止解
除を行なう。この場合、ADC1に入力されるマルチプ
レクサ(MPX)の指定を行ない、ADC1を起動する
ためのパルスを送る。
【0049】これにより図2のADC1のマルチプレク
サMPXの入力の1つであるバッテリ電圧検出センサVB
S122の出力がセレクトされてADC1へ入力される。ス
テップ290へ戻ってここでADC1 END IRQ
を持つ。ADC1の変換動作が完了し、REG134へディジ
タル値がセットされるとステータス・レジスタSTAUS198
へADC164の動作完了が報告され、ADC1 END I
RQがCPU102へ入力される。これによりプログラムAD
1 INが実行され、バッテリ電圧センサ132の出力
が取り込まれる。
【0050】ステップ292でセンサ122から82の
出力を全て取り込んだかを確認する。この場合センサ1
22の入力の取り込みが完了されただけなので、ステッ
プ288へ戻る。このステップ288でマルチプレクサ
(MPX)162は次の入力であるセンサ74の出力を
セレクトする。水温センサ74の出力のアナログ・ディ
ジタル変換が完了すると再び、ステップ290でプログ
ラムAD1 IN(取り込み)が実行され、レジスタRE
G134内に保持されている水温センサTWS74の出力のディ
ジタル値が取り込まれてROM104のデータ(DATA)エ
リアに保持される。ステップ292で再びステップ28
8へ戻される。このようにステップ288からステップ
292のループを回ることによりセンサ122から82
の出力のディジタル値が次々に取り込まれ、排気ガスセ
ンサであるλS82の出力値の取り込みが完了すると、
ステップ294へ進む。
【0051】ステップ294で始動時の点火時期の演算
と設定を行なう。この点火時期θADV(ST)はエン
ジンの冷却水温TWの関数として演算する。この関数を
図7に示す。図7の特性に従ってθADV(ST)を演
算し、この演算された結果は図2IGNC156 のレジスタA
DVにセットされる。
【0052】ステップ296で始動時のエアー・バイパ
ス・バルブ14の初期値の演算を行なう。この演算は図
9に示す特性に基づいて行なわれ、その演算出力は制御
回路ISCC164 のレジスタISCDにセットされる、尚I
SCPについても固定値がセットされる。この固定値は
制御弁の特性で定まる値である。
【0053】ステップ298で燃料噴射時間であるIN
JCのオン・デューティの初期値が演算される。この演
算は図8に示す特性に基づいて行なわれるものであり、
その演算出力は制御回路INJC152 のレジスタINJDに
セットされる。レジスタINJDのセットにより、図3のイ
ニシャライズ(INITIALIZ)プログラム204の実行を終
了する。
【0054】次に監視プログラム206を説明する。図
6にMONITプログラム206を示す。MONITプ
ログラム206はステップ302より開始され、ステッ
プ302で図1のスタータ・スイッチ66がON状態か
どうかDIOのDIO5入力を監視することにより行な
われる。もしスタータ・スイッチ66がON状態である
とDIOの第5ビットDIO5が“H”となっている。
また逆にOFFしていると“L”となっている。今エン
ジンの始動前であるとするとスタータ・スイッチ66は
OFFであり、ステップ302からステップ312へ進
み、ここで始動後かどうかを判断する。この判断は例え
ばスタータ・フラグが立っているかどうかを判断する。
このスタータ・フラグはステップ308で立てられるも
のである。このスタータ・フラグはRAM内の所定位置
にセットされる。始動前はスタータ・フラグが立ってい
ないので、ステップ312でNOとなり、再びステップ
302へ戻る。スタータ・スイッチ66がONされるま
でステップ302のNOからステップ312のNOを通
ってステップ302へ戻るルートを回る。このルートを
回りながら、スタータ・スイッチ66の監視を行なう。
【0055】スタータ・スイッチ66がONするとステ
ップ302で判断がYESとなり、ステップ304へ進
む。ここで、既にスタータ・スイッチがONしていたか
どうかを判断する。初めてステップ304へ進んだ場合
はスタータ・スイッチのONを検出した直後であり、ス
タータフラグが立っていないのでステップ304で判断
がNOとなる。スタータ・フラグの立っていない時は判
断をNOとしてステップ306へ進み、始動の為の準備
がされる。例えば本実施例では、燃料・ポンプ24の起
動のためにDIOのDOUTレジスタ194の第ゼロ・
ビットに“H”をセットする。これにより燃料・ポンプ
24の電源が入る。次にステップ306で、DOUTレ
ジスタ194の第1ビットを“H”とする。これにより
IGNC回路156の出力に設けられているANDゲー
ト160が動作状態になる。実際にDOUTレジスタ1
94の第ゼロビットと第1ビットのセットは同時に行な
われる。
【0056】ステップ308で一定時間経過割込(INTV
IRQ)の禁止解除がなされる。この一定時間経過割込(I
NTV IRQ)の禁止解除は例えば図2のMASKレ
ジスタ196の第4ビットを“H”にすることにより行
なう。さらにステップ308でスタータ・フラグを立て
る。このスタータ・フラグは既にスタータ・スイッチ6
6がONであることを示していて、ステップ304とス
テップ312でこのフラグを判断に用いる。
【0057】ステップ310で入出力回路108の出力
系である制御回路INJCと制御回路IGNCと制御回
路ISCCと制御回路EGRCの出力端のANDゲート
を動作状態にするため、後で説明するモード・レジスタ
172に“H”をセットする。これにより各制御装置へ
パルス出力が送られる。ステップ310からステップ3
02へ戻り、ステップ302でスタータ・スイッチ66
がONかどうかが判断される。始動中はスタータ・スイ
ッチ66がONであり、YESからステップ304へ進
む。このステップ304で、スタータ・フラグをチェッ
クし、フラグが立っていれば既にスタート中であるとし
てステップ302へ戻る。
【0058】このようにスタータ・モータ66が駆動さ
れている間は、ステップ302のYESと304のYE
Sとから作られるループを回っている。
【0059】エンジン1が始動されるとスタータ・スイ
ッチ66がOFFとなるので、ステップ302の判断は
NOとなり、ステップ312へ進み、ステップ312で
スタータ・フラグがチェックされ、スタータ・フラグが
立っているのでステップ314へ進む。このステップ31
4で、エンジン停止の検知と処理の禁止解除の為にエン
スト・フラグがセットされ、このステップ314以降エ
ンジンの停止はINTVIRQとINTLIRQ処理プログラムのエン
ジンの停止検知ステップで検知できる。次にバック・グ
ラウンド・ジョブのプログラム208へ進む。このプロ
グラムを図10に詳述する。
【0060】図において、ステップ410でスロットル
・スイッチ76がONかどうかが判断される。もしON
であれば排気ガス還流制御は行なわれない。
【0061】従ってステップ412へ進み、ここでレジ
スタEGRDにゼロをセットする。このことによりEG
R弁62の開弁率はゼロになる。一方ステップ414で
ISCDに所定の値をセットする。このため、レジスタIS
CDにセットされた値に応じて図1のエアー・バイパス
・バルブ14が制御される。バイパス通路13の空気流
量を制御するエアー・バイパス・バルブ14は特定の運
転状態に応じて制御される。すなわち気温の低い冬季の
運転、エンジンの冷えている始動時の運転およびエンジ
ンに負荷のかかるカーエアコンデンショナーを使用中の
運転等の場合にはバイパス通路13の空気流量を増加さ
れる。ステップ414で冷却水温TWに応じてエアー・
バイパス・バルブ14のデューティがレジスタISCD
に設定される。この値に応じてアイドル時のエンジン回
転速度が制御される。このステップ414の終了により
再び410へ進み、このフローを繰り返す。
【0062】一方、スロットル・スイッチ76がオンで
ない状態ではエアー・バイパス・バルブ14は開弁され
ず、代りに排気ガス還流制御が行なわれる。このために
ステップ418でレジスタISCDにゼロをセットす
る。ステップ422で冷却水温TWが一定値、例えばT
A℃より高いかどうかを判断し、もし高ければEGRを
掛けないようにする。このためステップ426でEGR
CUTを行なうための値“ゼロ”を設定する。またステ
ップ422で冷却水温が一定値(TA℃)より低い値で
あればステップ424へ進む。ステップ424で冷却水
温がTB℃より低いかどうかを判断する。もし低い場
合、やはりEGRを掛けないのでステップ426でEGRC
UTを行なう値“ゼロ”を設定する。これらの値はステッ
プ430でEGRDレジスタにセットされる。
【0063】一方冷却水温TWがTB℃より高くTA℃
より低い場合EGRを行なう。このときのEGR量は圧
力センサ78の出力VCとエンジン回転速度Nで定ま
る。出力VCとNとによるEGR量のマップは図4のR
OMのアドレスB700〜B7FFに設けられており、この
マップから検索してEGR量を定める。ステップ428
で検索を行ない、この値をステップ430でレジスタE
GRDへセットする。このレジスタEGRDのセット値
に応じて図1に示したEGR装置62は駆動される。
【0064】図10に示したフローチャートでは、ステ
ップ430あるいはステップ414の終了により、再び
ステップ410へ戻る。このようにすることによりコン
ピュータはエアー・バイパス・バルブ14を制御するた
めのステップ410からステップ414までのフローチ
ャートかあるいはステップ418からステップ430ま
でのステップのフローチャートを常に実行できる。従っ
て割込(IRQ)などの発生が生じないものとすれば、
開始点202よりスタートしたプログラムはイニシャラ
イズ(INITIALIZ )プログラム204,監視(MONI
T)プログラム206を通ってバック・グラウンド・ジ
ョブ208であるISCプログラムあるいはEGRCALプロ
グラムを常に実行し続けることになる。
【0065】監視(MONIT)プログラム206やバッ
ク・グラウンド・ジョブ208は割込(IRQ)を発生さ
せてその処理を中断できるようになっており、割込(I
RQ)による処理が終了すると再び上記プログラムの実
行を再開する。
【0066】次に図3における割込(IRQ)の発生に
基づく処理の説明を行なう。割込(IRQ)の要因分析
のプログラム224はADC1END IRQ226の処理とADC2 END
IRQ228の処理とINTV IRQ230の処理と、INTLIRQ232 の処
理とからなっている。ここで各プログラム226,22
8,230,232のそれぞれを実行するためには先
ず、割込(IRQ)に基づくサービスの要求内容は何か
を調べる。このため図2のステータス(STATUS)レジス
タ198の内容が調べられる。このステータス(STATU
S)レジスタの内容を見ることにより、割込(IRQ)の
発生要因が判明する。この発生要因に応じて上記各プロ
グラム226,228,230,232を実行し、これ
によりタスク(TASK)252,254,256,2
58,262の内の実行が必要なタスク(TASK)に
起動要求(QUEUE)を出す。
【0067】但し、割込(IRQ)の発生を多くすると管
理プログラム(以下OSと記す)の実行時間が多くなり実
質的なエンジン制御の為の演算時間がとれなくなる欠点
がある。従ってこの実施例では、ADC1 END IRQ228 はイ
ニシャライズ(INITIALIZ)あるいは監視(MONIT)
プログラム204と206の実行中のみ発生させ、その
他は発生させない。つまり監視(MONIT)プログラム
206の図6で示したステップ314で図2のマスク
(MASK)レジスタ196にADC1END IRQ の禁止命令で
ある“L”をセットする。またADC2END ITQ226は最初か
ら発生させない、つまりスタート点である202で全て
の割込みが禁止されるように入出力回路のゼネラル・リ
セット信号でIRQ発生禁止状態になるようにマスク
(MASK)レジスタをセットする。その後割込(IR
Q)禁止解除の命令を出さないようにすることによりAD
C2END IRQ の発生を禁止する。
【0068】割込要因分析プログラム224の具体例を
図11〜図14に示す。割込要因(IRQ)の分析を行
なうための開始点222よりステップ450においてAD
C1END IRQ でないことが判断されると、ステップ452
へ行く。一方割込(IRQ)の発生要因がADC1END IRQ か
どうかを判断し、そうであればステップ450よりイニ
シャライズ(INITIALIZ )プログラムのステップ290
へジャンプする。ADC1 END IRQが発生するのはこの実施
例では図5のイニシャライズ(INITIALIZ)プログラム
204の実行中のみである。それ以外の状態ではADC1 E
ND IRQは禁止される。ステップ450の判断が“NO”
の場合ステップ452へ進む。
【0069】ステップ452で割込(IRQ)の要因が
一定周期で発生する一定時間経過割込(INTV IRQ)かど
うかを判断する。“YES”の場合、ステップ454へ
進む。ステップ454からステップ458は図12のス
テップ482と組合わせられてエンジンの停止状態を検
知する。
【0070】次にステップ454で、エンジン停止状態
を検知すべきかどうかを、エンスト検知フラグがセット
されているかどうかにより判断する。エンジン停止の検
知が必要な場合のみこのエンスト検知フラグがセットさ
れている。ステップ454でこのフラグがリセットの場
合、エンジンの停止検知は行なわず、ステップ460へ
進む。一方フラグがセットされている場合、エンジン停
止の検知を行なう為にステップ456へ進む。
【0071】このステップでエンジン出力軸の基準回転
角で発生するREF信号からの時間経過を計測するため
エンストカウンタのカウント値を更新する。このエンス
トカウンタは基準回転角を表わすREF信号毎にクリア
されるので、エンストカウンタ値の前のREF信号発生
からの時間経過を表わす。ステップ458でエンストカ
ウント値が規定値に達している場合、エンジンが停止し
たと判断され、ステップ474へ進みエンストタスク
(ENSTTASK)(図14)を実行する。
【0072】エンストタスク(ENSTTASK)の内容は、燃
料ポンプ24を停止させるために図2のDIOOを
“H”から“L”に変更すること、図2のANDゲート
154,158,166,170を停止状態にするため
にモード(MODE)レジスタ172に“L”とセット
することおよびプログラムシステムのスタート点202
へジャンプすることである。
【0073】またステップ458でエンジンが停止して
いないと判断されるとステップ460へ進む。ステップ4
60からステップ470はタスク・レベル・ゼロからタ
スク・レベル3までのプログラムが起動タイミングに達
したかどうかの判断をする機能を持つ。先ずタスク・レ
ベル・ゼロを調べる。その為のステップ460でタスク
コントロールワード(TCW)の番号nを表わすRAM
内の所定のアドレスの内容をゼロにする。タスク・レベ
ル・ゼロのタスク・コントロール・ワードすなわち図1
5のRAM106内のTCW0のビットb0〜b5で構成され
ているカウンタ0をプラス1だけインクリメントする。
このように本実施例では加算法を採用したが、減算法を
採用することも可能である。ステップ462でTCW0
のカウンタの値と図15のタスク起動タイマTTM0の
値とを比較する。ここでTTM0には“1”が入ってい
る。
【0074】ここで一定時間経過割込(INTV IR
Q)は10〔mSEC〕毎に発生するものとしているの
で、TTM0に“1”が入っていることはタスク・レベ
ル・ゼロ・プログラム(図3の252)は10〔mSE
C〕毎に起動されることを表わしている。図15のTC
W0のカウンタ(CNTR0)とTTM0をステップ4
64で比較し、一致する場合“YES”へ進む。この場
合は一致するのでステップ466へ進み、タスク・コン
トロール・ワードTCW0のビットb6にフラグ“1”
を立てる。この実施例では各TCWのb6はそのタスク
の起動要求(QUEUE)のフラグとなる。ステップ4
66でさらにTCW0のb6にフラグ“1”を立てたの
でこのTCW0のb6〜b5に設けられたカウンタCNTR
0 をクリアする。ステップ468でTCWのnをインク
リエントする。すなわちステップ468でタスク・レベ
ル・ゼロからタスク・レベル1の起動タイミング検索に
移る。ステップ470でタスク・レベル3の終了かを判
断する。つまりn=4かを判断する。この場合n=1で
あるので、ステップ462へ戻る。ステップ462でタ
スク・レベル1のプログラムのタスク・コントロール・
ワードである図15のRAM106内のTCW1のカウンタC
NTR1の内容を“+1”インクリメントする。ステッ
プ464で、図15のROM104のTTM1と比較する。こ
の実施例ではTTM1の内容は“2”である。つまりタ
スク・レベル1の起動タイミングは20〔mSEC〕で
ある。今カウンタCNTR1 の内容が“1”であると仮定す
ると464の判断は“NO”つまりタスク・レベル1プ
ログラム254は起動タイミングではないことが判断さ
れ、ステップ468へ進む。ここで再び検索されるタス
ク・レベルが再新され、次はタスク・レベル2となる。
同様にしてタスク・レベル3まで終了すると、ステップ
468でn=4となり、ステップ470でn=nMAX
(4)の条件が満足される。そしてタスク・スケジュー
ラ242へ進む。
【0075】ステップ452で一定時間経過割込(INTV
IRQ )でなければステップ472へ進む。ここでエンジ
ンの出力軸の基準回転角毎に発生する基準角割込(IN
TLIRQ)かどうか判断する。この場合かならずYE
Sになるはずであるが、もしノイズ等で誤動作した場合
ステップ472でNOとなり、割込前の状態に戻る。一
方基準角割込(INTL IRQ)の場合、図12のス
テップ482へ進む。ここで図11のステップ456,
458と組合わせられてエンジンの停止状態を検知す
る。すなわちエンストカウンタをステップ482でクリ
アする。
【0076】ステップ484で燃料ポンプ24が動作中
かどうかを判断し、もし停止していれば、エンジン出力
軸が基準回転角まで回転したことであるのでステップ4
90で図2のDIOのDIOOを“H”にすることによ
り燃料ポンプ24を動作状態にする。
【0077】ステップ502で、本発明の第2ステップ
の補正演算を実行する。すなわち、点火時期の急変に基
づくエンジントルクの急変を防止するための処理を行な
う。以下ダイナミックリミテーション(DYNAL)と
記す。その詳細は図13を用いて後述する。
【0078】ステップ504でエンジン回転数の読出し
を行ない、最終回転数nMAXを越えているかどうかを
判断する。nMAXを越えている場合、エンジンの出力
トルクを低下させる為にステップ510へ進む。ステッ
プ520〜524は点火動作の間引を行なうステップで
ある。つまり図2のANDゲート160を間欠的に動作
状態とする。ステップ520でDIO1の出力が“H”
かどうかを判断し、“H”の場合は点火を停止する為に
ステップ522でDIO1を“L”にする。そうでない
場合はステップ524でDIO1を“H”にする。これ
により間欠的に点火が行なわれる。
【0079】ステップ506〜514でインテークマニ
ホールド内の圧力Pが最高圧力PMAXを越えているか
どうかを判断する。圧力PがPMAXを越えると危険で
ある。このPMAXはエンジン回転速度Nに対し、図1
8の如き特性になっている。この図18の特性は例えば
NA〜NMの各エンジン回転速度のバンドに分けられ
て、その各バンド内でのPMAX値の最低値をそのバン
ドの代表値として選び、図19に示す如く、ROMのア
ドレスのB800〜B80Dに記憶されている。
【0080】先ず、ステップ506で番号Zをゼロにす
る。このZは上記NA〜NMのバンドの順番を表わして
いる。ステップ508で先頭番地B80E+Zの番地か
らバンドの境界値を読出す。つまり最初はバンドNAと
NBの境界NOの値がアドレスB80Eより読出され
る。したがってステップ508でエンジン回転速度Nと
アドレスB804に記憶されているバンドNAとNBと
の境界の回転速度値とが比較される。エンジン回転速度
Nがこの境界値より大きい場合、ステップ510へ進
み、Zがインクリメントされる。これにより実際の回転
速度Nと比較される値は番地B80Fから読出されたN
1の値に移る。このN1の値はバンドNBとバンドNC
との境界値である。
【0081】このようにして実際のエンジン回転速度N
が、次々に読出される境界値と比較され、そのつど番号
Zがインクリエントされる。その境界値より実際のエン
ジン回転速度の値Nが小さくなった時点でステップ50
8からステップ512へ進む。ステップ512でこのバ
ンド順番を意味するZの値が用いられ、アドレスB80
0から何番目かがZの値で決められ、最大圧力がB80
0+Zのアドレスより読み出される。この最大圧力PM
AXと測定圧力Pが比較され、この最大圧力PMAXを越え
ている場合、エンジントルクを減少させるためにステッ
プ520へ進む。一方マニホールド圧が最大圧より小さ
い時はDIOのDIO1出力を“H”とし、ANDゲー
ト160(図2)を動作状態とする。そしてタスクスケ
ジューラプログラムへ進む。
【0082】次に、本発明の第2ステップであるダイナ
ミックリミテーションプログラム(DYNAL)を説明
する。
【0083】図13は図12のダイナミックリミテーシ
ョンプログラム(DYNAL)の詳細フローチャートで
ある。まず、後述の図21に示されるレベル1プログラ
ム中の表1に示したIGNCALプログラムにより点火時期の
目標値θ TARGETが計算される。これは一定時間経過毎
に実行されている。そして、第2ステップではこの目標
値θ TARGETと前回の点火時期であるθ(t−1)との差
Δθがステップ532で計算されている。この差Δθの
大きさが一定値ΔθMAXより大きいかどうかをステッ
プ534で判断し、このΔθMAXより大きくない場
合、目標値θ TARGETと前回の点火時期θ(t−1)と
の差が小さいとの理由で、ステップ536で、目標値θ
TARGETを今回の点火時期θ(t)とする。
【0084】一方ステップ534で目標値θ TARGETと
前回の点火時期θ(t−1)との差Δθが一定幅ΔθM
AXより大きいと判断された場合、ステップ538とス
テップ540及びステップ542で一定角(+Δθ1
−Δθ2)のみ目標値に近づける処理を行なう。すなわ
ち目標値θ TARGETが前回の点火時期に対し、大きいか
小さいかを判断する。この目標値θ TARGETや前回の点
火時期θ(t−1)はこの実施例では点火時期より前の
基準回転角から点火角までの間のセンサ80からの単位
パルスであるPOSパルスの数で表わされる。
【0085】従って、θ TARGET>θ(t−1)の条件
が満足されることは点火時期を進み側に移す必要がある
ことを意味し、そうでない場合は遅れ側に移す必要があ
ることを意味している。
【0086】そして、ステップ538で、目標値θ TA
RGETが前回の点火時期θ(t−1)より大きい場合に
は、今回行なう点火時期を目標値θ TARGETに近づける
為にステップ540で一定値Δθ1のみ加算した値θ
(t−1)+Δθ1を今回の点火時期θ(t)とする。
一方そうでない場合、ステップ542でθ(t−1)か
ら一定値Δθ2を減じたθ(t−1)−Δθ2が今回の点
火時期θ(t)とされる。次に本発明の第3ステップに
該当する処理としてステップ544で、ステップ536
とステップ540及びステップ542のいずれかで求め
られたθ(t)を図2の入出力回路108のIGNC156 のレ
ジスタADVへセットする。そして図12のステップ5
04へ続く。
【0087】このように、本発明の第2ステップ及び第
3ステップは回転に同期して実行されている。
【0088】次に図14はエンストタスク(ENST
TASK)の詳細フローチャートであり、図11のステ
ップ474の詳細である。このステップ747で説明し
た如く、燃料ポンプ24を停止し、図2の入出力回路1
08の出力を全て停止するためにモードレジスタ(MO
DE)172に“L”をセットする。その後スタート点
202のアドレスへジャンプする。
【0089】図16はタスク・スケジューラ242の詳
細フローチャートであり、ステップ560でタスク・レ
ベルnの実行が必要かを判断する。最初はnをクリア
し、このためn=0である。タスク・レベル・ゼロのプ
ログラムの実行の必要について判断する。すなわち、優
先順位の高いタスクから順に起動要求(QUEUE)の存
在を調べてゆく。これは図15のRAM106をタスク・コン
トロール・ワードTCWのb6とb7を検索することに
より判断できる。b6は起動要求フラグでここに“1”
が立っていると起動要求が“有り”であることがわか
る。またb7には実行中を示すフラグであり、ここで
“1”が立っていると実行中であり現時点では中断され
ていることを示す。従ってb6とb4の少なくともどち
らかに“1”があれば実行要となりステップ568へ進
む。
【0090】ステップ568でb7のフラグを判断し、
b7が“1”であれば実行中断中でありステップ570
よりその中断していたタスクの実行を再開する。b6と
b7の両方にフラグが立っていてもやはりステップ56
8の判断は“YES”となり、中断中のところのプログ
ラムから再開する。b6のみが“1”の場合、そのレベ
ルの起動要求フラグつまりb6をステップ572でクリ
アして、ステップ574でb7のフラグ(以下RUNフ
ラグと記す)をセットする。ステップ572と574は
そのタスク・レベルの起動要求状態から実行状態に進ん
だことを示す。ステップ578でそのタスク・レベル・
プログラムのスタート・アドレスを検索する。これは図
15に示したROM104の内に各タスク・レベルのT
CWに対応させて設けられたスタートアドレステーブル
TSAより求められ、つまりステップ560でのタスク
レベルnの値に図15に示したROM104内のタスクスター
トアドレステーブル(TASK START ADDRESS)の先頭番地
を加算した(n+TASK・START・ADDRESSの先頭番地)の
式から読出し番地を決め、この番地の記憶内容をスター
トアドレスとしてこのスタート・アドレスへジャンプす
ることによりそのタスクの実行が行なわれる。
【0091】図16へ戻ってステップ560で“NO”
と判断された場合、この場合は検索のタスク・レベルの
プログラムには起動要求がでていなくしかも、実行中断
でもないことを示している。この場合次のタスク・レベ
ルの検索にうつる。つまりタスク・レベルのnがn+1
となってレベルが1つ移動する。ここでnがMAXつま
りここでは4であるかをみ、4でなければステップ56
0へ進む。これを繰り返し、n=4となると点566よ
りバック・グラウンド・ジョブの中断点へ戻る。つまり
点566ではタスク・レベル・ゼロ〜3までの全てのプ
ログラムに実行の必要がないことが判明したことにな
り、IRQの発生前のバック・グラウンド・ジョブの中
断点へ戻る。
【0092】図15は上で述べたタスク・コントロール
・ワードTCWとROM内のタスク・起動周期を表わす
TTM、タスク・スタート・アドレス・テーブルの関係
を示したものである。タスク・コントロール・ワードT
CWの0〜3に対応してROM内にタスク起動周期TTM
があり、一定時間経過割込(INTV IRQ)ごとにT
CWカウンタのCNTR0〜3が各々に更新され、各タ
スクのTTMと一致したことにより、そのTCWのb6
にフラグが立つ、このフラグにより次にROM内のタス
ク・スタート・アドレスTSAよりそのタスクのスター
ト・アドレスが検索され、そのスタート・アドレスへジ
ャンプすることによりプログラム1〜4の選ばれたプロ
グラムが実行される。この実行中はRAM106内のそのプロ
グラムに対応したTCWのb7にフラグが立つ。このフ
ラグが立っている間は実行中であることが判断できる。
このようにして図3のタスク・スケジューラ242によ
り、レベル0〜3のプログラムが実行される。そして例
えばレベル0〜3までのプログラム252〜258のい
ずれかが実行されている時に割込(IRQ)が発生すれば
再びそのタスクを中断して割込(IRQ)の処理になる。
今割込(IRQ)が発生により実行が開始されたタスクは
やがてその処理を終了する。これにより終了報告を行な
うため、終了報告(EXIT)プログラム260へジャ
ンプする。
【0093】この終了報告(EXIT)プログラムの詳
細を図17に示す。このプログラムは、終了タスクを見
つけるためのステップ592と594からなる。このス
テップ592と594で先ずタスク・レベルのゼロより
検索し、終了したタスク・レベルを見つける。これによ
りステップ596へ進み、ここで終了したタスク・コン
トロール・ワード(TCW)のb7のフラグ(RUNフ
ラグ)をリセットする。これによりそのプログラムの実
行が完全に終ったことになる。そして再びタスク・スケ
ジューラへ戻り、次の実行プログラムが決定される。
【0094】図20はレベルゼロプログラムである。こ
のプログラムは表1に示す通り、一定時間経過に実行さ
れており、例えば10m・SEC毎に起動要求が出され
る。ステップ650でADC1のデータの取込みを行な
い、654で次の割込データを選択し、ステップ656
でADC1の次のデータを取り込むための起動をかけ
る。また652のステップは始動前にADCEND IRQを使用
するためであり、始動前のフラグが立っている場合、始
動前であるため割込中断の再開(RTI)つまり中断し
ているプログラムへ戻る。このプログラムは図5のイニ
シャライズ(INITIALIZ)プログラム204である。
【0095】ステップ658でAD2のデータであるイ
ンテークマニホールド圧Pを取り込み、さらにステップ
670でADC2の次のデータ取り込みのための起動を
かける。ステップ672でエンジン速度を取り込む。こ
の後、ステップ674で始動は完了したかどうか判断す
る。始動完了であればステップ682へジャンプする。
一方そうでない場合はステップ676で始動前か始動中
かを判断する。エンジンの測定速度Nが始動回転速度に
達していなければ始動前であり、ステップ682へジャン
プする。始動中であればステップ678へ移り、図2の
入出力回路108の出力禁止を解除するためにモード(M
ODE)レジスタ172に“H”をセットする。そして
始動中を示すフラグをセットする。尚このレベル(LE
VEL)ゼロタスクは10mSEC毎に起動要求が出さ
れるので、ほぼ10mSEC毎に実行される。従って始
動中は10mSEC毎にステップ678や680が実行
される。一度セットした後同じ主旨のフラグやデータを
セットしても実害は起こらない。ステップ680で基準
回転角割込(INTL IRQ)を受付可能にするため
に、図2のマスク(MASK)レジスタ196へ“H”
フラグをセットし、さらにエンジン停止の検知を行なう
為にエンスト検知フラグをセットする。この検知フラグ
は図11のステップ454で使用される。ステップ68
2と684でエンジン回転速度Nがアイドル目標回転値
NLLより大きい場合NLLフラグをセットする。
【0096】ステップ686で始動が完了したかどうか
を判断する。測定値Nが始動完了と判断できる回転速度
より大きい場合は始動完と判断し、始動完フラグをセッ
トする。そうでない場合はNLLフラグをリセットす
る。そしてこのレベル(LEVEL)ゼロタスクは終了し、そ
の終了報告を行なう為、終了報告(EXIT)プログラ
ム260へジャンプし、図15のRAM106TCW0のb7
ビットのフラグをクリアする。
【0097】図21はレベル1プログラムであり、これ
も一定時間経過毎に実行されるものである。
【0098】まずステップ702で始動中かどうかを判
断する。始動中の場合、始動中の燃料を供給し、さらに
点火時期を決定するので、これらの計算の為にステップ
704へ進む。このステップ704でエンジン冷却水温の
値TWに基づいて始動燃料を決定する。またステップ7
06でエンジン回転速度Nと水温TWとに基づいて点火
時期θを決定する。
【0099】一方始動中でない場合はステップ708で
インテークマニホールド圧Pとエンジン速度Nとから燃
料供給量を求めて図2の制御回路INJC152 のINJDレ
ジスタへセットする。次に本発明の第1ステップとして
のステップ710〜724の処理は点火時期の演算フロ
ーチャートである。
【0100】ここで制御される点火進角値Wはエンジン
回転速度Nに対し図22の如き特性になる。つまりアイ
ドル目標回転速度NLL値より低くなると進角値をW2
に向けて増加させる。これによりトルク出力を増加させ
てエンジン回転数Nを目標値NLLに近づける。尚目標
回転速度NLLでは進角量が少なく進角値はW1であ
り、エンジン回転速度に対し点火進み角が少ないのでト
ルク出力が少ない。従って目標回転速度NLL値の付近
でエンジンの回転速度がバランスするはずである。ここ
でNCRANKは、エンジンのクランキング時の回転数を、ま
たNSTARTは、始動完了時のエンジン回転数を、それぞれ
示す。この場合、具体的にはマニホールド圧Pとエンジ
ン回転速度Nとの関数によって決まる。この関係はAD
Vマップとして図4の如くROM104のアドレスB500〜
B5FFに格納されている。
【0101】ステップ710でスロットルスイッチ76
が閉じているかどうかを判断し、閉じている場合、ステ
ップ712でアイドル目標回転速度NLLより大きいか
どうかを見る。ここで大きい場合、ステップ716でエ
ンジン回転速度Nの関数として図22に示した点火進角
値Wに対応した角度θが決められる。この値Wは図22
の如く、回転速度Nが増加してもNLL付近では一定な
ので回転速度Nが増加するほど最高トルク出力特性に比
べ遅角状態となる。従って出力トルクは減少する。しか
し目標回転速度NLLより大幅に大きい場合、図22の
如く回転速度Nに対応して進角している。この領域は高
速回転でエンジンブレーキが掛けられたような場合に用
いられるもので、運転の滑らかさと排気ガス状態なども
考慮して決められる。
【0102】いずれにしても回転速度Nがアイドル目標
回転速度NLLより大きい場合は減速特性となり、そう
でない場合は加速特性となるように点火時期が定められ
る。スロットルスイッチ76が開いている場合、ステッ
プ718で点火時期θがインテークマニホールド圧力P
と回転速度Nより求められる。この圧力Pが規定値(タ
ーボチャージャ4の動作開始を示す圧力)より大きい値
のとき、ステップ718で求めたθに補正係数θCがス
テップ722で加算され、その値がθとされる。この補
正係数θCはレベル3のタスクで求められる。詳細は後
述する。
【0103】ステップ724は点火パルスを受けてから
パワートランジスタを含む点火コイル電流の制御部が動
作するまでの時間を補正するものであり、補正量f(N)
は図23の如き特性になる。つまり制御部の遅れはほぼ
一定時間と考えられ、この時間に対応したエンジン回転
角をf(N)として求め、ステップ724でf(N)とθの
加算を行ない、この値を目標点火時期θ TARGETとす
る。このθ TARGETは図13で説明したダイナミックリ
ミテーションのステップ532〜544で用いられる。
【0104】ステップ726〜734は安全対策であ
り、ステップ726で回転速度Nが最高回転速度NMA
X越えた場合ステップ726からステップ734へジャ
ンプし、燃料ポンプ24をオフする。最高回転速度NM
AXを越えていない場合、ステップ728で圧力Pの最
大値を求める。これは図12のステップ506〜512
によりPMAXを求めるフローと同じ動作である。圧力
PがPMAXより大きいとき、燃料ポンプ24をオフす
るためステップ734へジャンプする。そうでない場
合、燃料ポンプ24をオンさせる。尚すでにオン状態の
ときさらにオンさせるよう入出力回路108へデータセ
ットしても問題は生じない。この後ステップ736で点
火コイル44の一次電流の通電開始時期を演算し、終了
報告(EXIT)プログラムへジャンプしてレベル1プログ
ラムは終了する。
【0105】図24はレベル3プログラムであり、図2
1で使用される補正量θCが求められる。インテークマ
ニホールド圧力Pがターボチャージャ4が動作を開始し
た時の圧力より大きくなった場合、ターボチャージャ4
の動作に伴い点火時期がシフトされる。このシフト値θ
Cは図25の特性より求められる。つまり吸気温度TA
をパラメータとし、吸気温が低い場合点火時期が進み側
にあり、吸気温が上るに従って遅れ側に移る。従って補
正値θCは吸気温TAが高くなるにつれて負の大きな値
となる。
【0106】図26は図2の制御回路EGRC168およびISC
C164詳細図である。図2でISCDとEGRDの各レジ
スタはパルス幅を表わすもので、レジスタ802に相当
する。またISCPとEGRPに相当するレジスタが8
06である。
【0107】今、モード(MODE)レジスタ172の
ビットb0に“H”がセットされているとする。このた
めANDゲート166(図2)と816が共に動作状態
である。カウンタ回路が構成されるタイマ804はAN
Dゲート816からクロックを計数する。この計数値B
はレジスタ806の値とコンパレータ810で比較さ
れ、計数値Bの値がレジスタ806の値C以上となると
タイマ804はクリアされる。従ってタイマ804はレ
ジスタ806の値Cで定まる周期で計数をくり返す。
【0108】またタイマ804の計数値はレジスタ80
2の値とコンパレータ808と比較される。このときレ
ジスタ802の値Aがタイマ804の計数値Bより大な
る条件でフリップフロップ812をセットし、値Bが値
A以上となる条件でリセットされる。このためフリップ
フロップ812のセット時間はレジスタ802の値Aに
より定まる。この値Aを大きくすることによりフリップ
フロップ812のセット時間は長くなる。
【0109】さらに上で述べた如く、タイマ804の計
数はレジスタ806のセット値に応じた周波数で繰返さ
れるので、フリップフロップ812のセット出力はレジ
スタ806のセット値により繰返し周期に応じ、繰返し
出力される。MODEレジスタ172(図2)のb0ビ
ットが“H”レベルでANDゲート166を介して出力
される。
【0110】MODEレジスタ172のb0を“L”に
するとANDゲート166と816はOFFし、フリッ
プフロップ812の出力は停止され、同時にタイマ80
4への入力も停止される。
【0111】従って図2に示すMODEレジスタ172
へCPUから制御データをセットすることにより、図2
6の回路動作のスタートあるいは停止を制御できる。図
26はMODEレジスタのb0によりANDゲート16
6と816が制御される例であるがb0は図2のISCC16
4 を制御するビットである。図2のEGRC168 も図26と
同様の構成であるが、ISCC164 の動作スタートストップ
はMODEレジスタのb0ビットで制御され、EGRC168
はb2ビットで制御される。
【0112】図27は点火を制御する出力手段である図
2IGNC156 の詳細図である。CPUより点火コイル44
の一次電流通電開始点を制御するデータがDWLレジス
タへセットされ、点火時期を表わすデータがADVレジ
スタへセットされる。今DWLレジスタのセット値をA、
ADVレジスタのセット値をCとする。
【0113】今、MODEレジスタ172のb1ビット
が“H”であると、ANDゲート158と860は信号
を伝える状態になっており、POSパルスがANDゲー
ト860を介してカウンタ850へ入力される。このカ
ウンタ850のカウント値はこのため、エンジンクラン
ク角に応じて増大し、基準角を示すREFパルスにより
クリアされる。このカウント値をBとする。カウント値
が小さいときは比較器852のA>Bの出力がORゲー
トを介してフリップフロップ856へ加えられ、フリッ
プフロップ856はリセット状態となる。従ってAND
ゲート158からはパルス出力が出ない。カウンタ85
0のカウント値が大きくなるとDWLレジスタの値Aよ
りカウンタ850のカウント値が大きくなり、ANDゲ
ート864を介してフリップフロップ856はセットさ
れる。このセット出力がANDゲート158を介しさら
に図2のANDゲート160を介して点火装置162に
加えられ、点火装置162の点火コイル44に一次コイ
ル電流が流れる。カウント値がさらに高くなるとコンパ
レータ854のC≦Bの出力よりフリップフロップ85
6は再びOFFする。これによりANDゲート858か
らパルス出力は停止し、点火のためのスパークが生じ
る。
【0114】図2のDIOの詳細を図28に示す。この
図でDDR192はDIOの入出力ポートDIO0から
DIO7を入力状態とするか出力状態とするかを決定す
るものである。DDRの内“H”がセットされたビット
よりの信号がそれに対応した872〜886のトライス
テートに加えられそのトライステートは導通状態とな
る。これによりDDRの“H”のビットに対応したDO
UTのビットは対応しているトライステートを介して出
力される。一方ラインDIO0〜DIO7の信号はCPU
よりバッファアンプ892〜904を介して自由に読み
取ることができる。トライステート872〜886の内
不導通となっているトライステートに対応したラインの
信号は外部の状態に存在するので、このラインに対して
は外部の状態を読み取ることができる。
【0115】図29は燃料を制御する出力手段である図
2のINJC152 の詳細図であり、クランク角センサよりの
REFパルスはクランク角の上死点前の一定角(例えば
80度とか、90度)の所で生じる。クランク角の上死
点(TDC)とREFの関係を図30のA,Bに示す。
今MODEレジスタ172のb4ビットが“H”となっ
ていると仮定するのでゲート910,912,154
(図2)はONしている。このため、カウンタ904の
カウント値は図30Cに示す如くREFパルス毎にクリ
アされる。レジスタ902の値Aは噴射開始点を決める
値をCPUより受けて保持するレジスタである。レジス
タ902の値Aとカウント値Bは比較器906へセット
され、フリップフロップ908をセットする。
【0116】フリップフロップ908がセットされると
ANDゲート154よりパルスが送られて噴射弁28へ
パルスが送られる。さらにゲート912が開きカウンタ
よりなるタイマ916はクロックパルスを計数する。I
NJDレジスタ914は図2のINJDレジスタであ
り、このレジスタのセット値Cに対応する時間,弁は開
弁する。すなわちタイマ916のカウント値DがCより
小さい間はフリップフロップ920がセットされている
が、C≦Dの条件でフリップフロップ920がリセット
され、ANDゲート154からの噴射用パルスは停止す
る。
【0117】このようにして燃料噴射の開始点と開弁時
間が制御できる。
【0118】さらにMODEレジスタ172のb4をゼ
ロ(L)にすることによりゲート154の出力および全ての
動作を停止できる。
【0119】
【発明の効果】以上説明した如く、本発明によれば絞り
弁を迂回する空気量を制御することで回転数の大きい上
げ下げの調整を行うと共にこれに優先して実行点火時期
を制御することで回転数の小さい上げ下げを調整して効
果的に回転数の正確な制御を実行でき、しかも空気量の
制御を行う演算処理に対して点火時期の制御を行う演算
処理を優先して実行させるようにしてコンピュータの占
有負荷をできるだけ均一化して制御精度を確保すること
ができる。
【図面の簡単な説明】
【図1】エンジン制御システムの全体システム図。
【図2】図1の制御回路のブロック図。
【図3】プログラムシステム図。
【図4】図2のROMのプログラム格納図。
【図5】図3のイニシャライズ(INTIALIZ)プログラム
204の詳細図。
【図6】図3の監視(MONIT)プログラム206の
詳細図。
【図7】点火時期特性図。
【図8】燃料供給特性図。
【図9】エアーバイパス制御の特性図。
【図10】図3のバックグランドプログラム208の詳
細図。
【図11】図3のプログラム226,228,230の
詳細図。
【図12】図3のプログラム232の詳細図。
【図13】図12のダイナミックリミテーションプログ
ラム(DYNAL)502の詳細図。
【図14】図3のプログラム262の詳細図。
【図15】図11の動作説明図。
【図16】図3のプログラム242の詳細図。
【図17】図3のプログラム260の詳細図。
【図18】図12の動作説明図。
【図19】図12の動作説明図。
【図20】図3のプログラム252の詳細図。
【図21】図3のプログラム254の詳細図。
【図22】図21の動作説明図。
【図23】点火遅れ補正の特性図。
【図24】図3のプログラム258の詳細図。
【図25】図24の動作説明図。
【図26】図2の詳細図。
【図27】図2の制御回路156の詳細図。
【図28】図2の制御回路192の詳細図。
【図29】図2の制御回路152の詳細図。
【図30】図29の動作説明図。
【符号の説明】
1…エンジン、2…エアークリーナ、3…インテークマ
ニホールド、4…ターボチャージャ、6…タービン、8
…コンプレッサ、10…スロットルバルブ、12…アク
セルペダル、14…エアーバイパスバルブ、16…吸気
バルブ、20…燃料タンク、22…フィルタ、24…燃
料ポンプ、26…燃圧制御弁、28…噴射弁、30…制
御ユニット、40…バッテリ、42…キースイッチ、4
4…点火コイル、46…ディストリビュータ、50…点
火プラグ、49…ピストン、52…排気管、54…触媒
ユニット、56…マフラ、60…バイパス通路、62…
EGRバルブ、64…スタータモータ、66…スタータ
スイッチ、72…ノックセンサ、74…スロットルセン
サ、76…スロットルスイッチ、78…圧力センサ、8
0…クランク角センサ、82…排気ガスセンサ、102
…CPU、104…ROM、106…RAM、108…入
出力回路、110…バスライン、122…電圧センサ、
124…大気温センサ、126…調整電圧発生器、12
8…スロットル角センサ、130…マルチプレクサ、1
32…アナログディジタル、134,138,192,1
94,802,806,902,914…レジスタ、13
6…アナログディジタル変換回路、140…角度信号処
理回路、142…トップギアスイッチ、152…インジ
ェクタ制御回路、154,158,160,166,17
0,910,912…ANDゲート、156…点火パルス
発生回路、162…点火装置、164…バイパスバルブ
制御回路、168…EGR量制御パルス発生回路、17
2…モードレジスタ、190…ステータレジスタ、19
6…マスクレジスタ、204…イニシャライズプログラ
ム、206…監視プログラム、208…バックグランド
ジョブ、224…割込要因分析プログラム、226…A
DC1終了プログラム、228…ADC2終了プログラ
ム、230…一定時間経過割込(INTV IRQ)処
理プログラム、232…基準角割込処理プログラム(I
NTL IRQ)、242…タスクスケジュールプログ
ラム、252…レベルゼロプログラム、254…レベル
1プログラム、256…レベル2プログラム、258…
レベル3プログラム、262…エンスト処理プログラ
ム、586,812,908,920…フリップフロッ
プ、804,850,904,916…カウンタ、80
8,810,852,854,906,918…コンパ
レータ、872〜886…トライステート回路。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】(a).エンジンの実際アイドル回転数を
    検出する回転数検出手段(80); (b).前記エンジンのアイドル状態を検出するアイド
    ル状態検出手段(76,410,710); (c).前記アイドル状態検出手段によって前記エンジ
    ンがアイドル状態にあると判別されたときに空気制御手
    段(14)を制御してエンジンの回転数を制御するため
    の空気制御デ−タを発生する空気制御演算処理(41
    4)と、前記空気演算処理より実行優先度が高く設定さ
    れ、点火手段(162)を制御してエンジンの回転数を制
    御するための点火時期制御デ−タを発生する点火時期制
    御演算処理(712〜716)とを実行するセントラル
    プロセッシングユニット(102)、リ−ドオンリメモ
    リ(104)及びランダムアクセスメモリ(106)よ
    りなる演算手段(309); (d).前記演算手段からの前記制御デ−タを前気空気
    制御手段及び点火手段の制御信号に変換するデ−タ変換
    手段(156,164); (e).前記デ−タ変換手段の出力にもとづいて前記空
    気制御手段及び点火手段を制御する出力手段とよりなる
    内燃機関のトルク制御装置。
JP4249930A 1992-09-18 1992-09-18 内燃機関のトルク制御装置 Expired - Lifetime JPH0751932B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4249930A JPH0751932B2 (ja) 1992-09-18 1992-09-18 内燃機関のトルク制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4249930A JPH0751932B2 (ja) 1992-09-18 1992-09-18 内燃機関のトルク制御装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP8292180A Division JPS578349A (en) 1980-06-20 1980-06-20 Control method of ignition timing in engine

Publications (2)

Publication Number Publication Date
JPH05321802A true JPH05321802A (ja) 1993-12-07
JPH0751932B2 JPH0751932B2 (ja) 1995-06-05

Family

ID=17200295

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4249930A Expired - Lifetime JPH0751932B2 (ja) 1992-09-18 1992-09-18 内燃機関のトルク制御装置

Country Status (1)

Country Link
JP (1) JPH0751932B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011512589A (ja) * 2008-02-14 2011-04-21 インターナショナル・ビジネス・マシーンズ・コーポレーション 制御装置との通信用に構成されたホスト・コンピュータ・システムにおける制御ブロックに関する間接データ・アドレス指定を提供するためのコンピュータ・プログラム、装置、および方法(入出力処理システムのチャネル・サブシステムにおける制御ブロックに関する間接データ・アドレス指定の提供)
CN115573825A (zh) * 2022-10-09 2023-01-06 一汽解放汽车有限公司 发动机的瞬态响应控制方法、装置、电子设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS56165972U (ja) * 1980-05-10 1981-12-09

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS56165972U (ja) * 1980-05-10 1981-12-09

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011512589A (ja) * 2008-02-14 2011-04-21 インターナショナル・ビジネス・マシーンズ・コーポレーション 制御装置との通信用に構成されたホスト・コンピュータ・システムにおける制御ブロックに関する間接データ・アドレス指定を提供するためのコンピュータ・プログラム、装置、および方法(入出力処理システムのチャネル・サブシステムにおける制御ブロックに関する間接データ・アドレス指定の提供)
CN115573825A (zh) * 2022-10-09 2023-01-06 一汽解放汽车有限公司 发动机的瞬态响应控制方法、装置、电子设备
CN115573825B (zh) * 2022-10-09 2024-06-04 一汽解放汽车有限公司 发动机的瞬态响应控制方法、装置、电子设备

Also Published As

Publication number Publication date
JPH0751932B2 (ja) 1995-06-05

Similar Documents

Publication Publication Date Title
US4450815A (en) Internal combustion engine control apparatus
JPH0250303B2 (ja)
JPS6256345B2 (ja)
JPH0370106B2 (ja)
JPS6256339B2 (ja)
JPS6352225B2 (ja)
JP3326945B2 (ja) 内燃機関の制御装置
JPS6313011B2 (ja)
JP3191676B2 (ja) 内燃機関の点火時期制御装置
JPS632027B2 (ja)
EP0030114B1 (en) Method for starting an operation of an internal combustion engine and apparatus therefor
EP0106366B1 (en) Control method for internal combustion engines
US4524739A (en) Engine control method
JPH05321802A (ja) 内燃機関のトルク制御装置
JPH0217703B2 (ja)
JPH0138176B2 (ja)
JPS61155641A (ja) 燃料噴射量制御装置
US4522178A (en) Method of fuel control in engine
JP3709595B2 (ja) 筒内直接噴射式火花点火エンジンの制御装置
JP2749138B2 (ja) 内燃機関の燃焼異常検出装置
JP2605038B2 (ja) 内燃エンジンの電気装置の制御方法
JPS6035148A (ja) 空燃比制御方法
JP2873506B2 (ja) エンジンの空燃比制御装置
JPH03185247A (ja) エンジンの燃料制御装置
JP2510878B2 (ja) 内燃機関の補助空気量制御装置