JPH0663483B2 - 内燃機関制御装置 - Google Patents

内燃機関制御装置

Info

Publication number
JPH0663483B2
JPH0663483B2 JP14902185A JP14902185A JPH0663483B2 JP H0663483 B2 JPH0663483 B2 JP H0663483B2 JP 14902185 A JP14902185 A JP 14902185A JP 14902185 A JP14902185 A JP 14902185A JP H0663483 B2 JPH0663483 B2 JP H0663483B2
Authority
JP
Japan
Prior art keywords
interrupt
signal
rotation angle
rotation
control
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 - Lifetime
Application number
JP14902185A
Other languages
English (en)
Other versions
JPS6210453A (ja
Inventor
康孝 山内
祥文 後藤
孝幸 小野
孝一 大原
彰司 泉
Original Assignee
日本電装株式会社
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 日本電装株式会社 filed Critical 日本電装株式会社
Priority to JP14902185A priority Critical patent/JPH0663483B2/ja
Publication of JPS6210453A publication Critical patent/JPS6210453A/ja
Publication of JPH0663483B2 publication Critical patent/JPH0663483B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Combined Controls Of Internal Combustion Engines (AREA)
  • Control By Computers (AREA)

Description

【発明の詳細な説明】 発明の目的 [産業上の利用分野] 本発明は内燃機関制御装置に関し、詳しくは内燃機関回
転数が高くなっても点火装置或は燃料噴射装置を含む内
燃機関の被制御部を正確に制御する制御装置に関するも
のである。
[従来の技術] 従来、内燃機関制御装置は、内燃機関の状態を表わす信
号(例えば吸入空気量,冷却水温,バッテリ電圧,内燃
機関回転信号など)をとりこみマイクロコンピュータ等
の電子回路にて燃料噴射制御,点火時期制御などを行な
っている。
ところで、マイクロコンピュータにて燃料噴射量や点火
時期を計算するものとして、内燃機関の回転に応じて出
力する回転信号の所定回数毎に最上位の割込みルーチン
を起動し、その最上位の割込みルーチンにて計算を実行
するものが存在する。
しかしながら内燃機関の回転数が高くなると、上記回転
信号が入力する時間間隔が短くなり、回転数が6000rpm
の状態では、クランク角30゜毎の回転信号とすると833
μsの時間間隔となってしまう。そして、内燃機関制御
装置に用いられるマイクロコンピュータの実行速度は基
本サイクルが0.5〜1μs程度のものが多いので、回転
数が6000rpm時にはクランク角30゜の回転信号間に実行
することのできる命令数は500〜1000ステップとなり、
かなり短いプログラムに限られてしまう。
一方、燃料噴射制御や点火時期制御は、より最適なもの
を求める為、多様化、厳密化してきており、処理プログ
ラムの長いものとなってきている。
従って、内燃機関が高回転で回っている場合には、マイ
クロコンピュータの処理効率を高めておかなくては、処
理時間が許容処理時間より長くなり、制御に遅れや矛盾
を生ずる。
特にクランク軸の回転角の演算処理が遅れると、点火時
期がずれ、ノッキングを発生させ、場合によってはエン
ジンストール、あるいはエンジンの破損にもつながっ
た。
そこで特開昭55−84860にて開示されている如く、クラ
ンク軸の所定クランク角毎に上位レベルの割込みルーチ
ンを起動させ、更に下位レベルの割込みルーチンを起動
させることにより処理の分散をはかり、高回転での制御
性を高めていた。
[発明が解決しようとする問題点] しかしながら前述の下位レベルの割り込みルーチンの実
行処理中に、次の所定クランク角の上位レベルの割込み
が発生すると、クランク角のカウンタが進み、以後の処
理が今まで実行していた下位レベルの割込み処理との一
貫性を欠き、処理結果に矛盾をきたすことがあった。例
えば下位レベルの割込みルーチンにて、点火時期を制御
し、燃料噴射量を制御する制御装置において、点火時期
制御後に次のクランク角の上位レベルの割込みが発生し
た場合を考えると、点火時期制御は前回のクランク角を
用いて求められ燃料噴射量は次のクランク角を用いて求
められることとなり、矛盾した制御処理となる。
本発明は上記問題点に鑑みてなされたもので、下位レベ
ルの割込み処理中に上位レベルの割込みが発生したとし
ても、これまでの実行処理との一貫性を保つことがで
き、内燃機関の高回転時等の全回転域において回転角に
対応した処理を確実に実行することのできる優れた内燃
機関制御装置を提供することを目的とするものである。
発明の構成 [問題点を解決するための手段] かかる目的を実現すべく、本発明は問題を解決するため
の手段として次の構成をとった。即ち、第1図に示す如
く、 内燃機関の所定回転毎に信号を出力する回転信号出力手
段M1と、 上記回転信号の所定回数毎に割込み起動され、上記回転
信号に基づいて回転角を演算する回転角演算手段M2と、 上記回転角演算手段M2で演算された回転角を記憶し、該
回転角が新たに演算される毎に記憶内容を更新する第1
記憶手段M3と、 上記回転角演算手段M2にて回転角が演算される毎に、上
記回転角演算手段M2の割込みより下位レベルの割込みに
より起動され、回転角に応じて制御を決定する制御決定
手段M4と、 を備えた内燃機関制御装置において、 更に、上記制御決定手段M4が起動されると、該制御決定
手段M4にて行なわれる回転角に応じた制御の決定前に上
記第1記憶手段M3で記憶した回転角を取り込み、上記制
御決定手段の起動中該回転角を記憶する第2記憶手段M5
とを備え、 上記制御決定手段M4が、上記第1記憶手段の記憶内容に
関係なく上記第2記憶手段M5で記憶した回転角に応じて
制御を決定することを特徴とする内燃機関制御装置の構
成がそれである。
本発明における回転信号出力手段M1とは、内燃機関の回
転に応じた信号を出力するものである。これは例えば、
従来よりディストリビュータに備えられる2個の信号用
ピックアップより発生する信号を出力するものであり、
クランク角検出のためのNe信号及びクランク角度基準位
置検出のためのG信号を出力する。
回転角演算手段M2とは上記回転信号出力手段M1により出
力された回転信号を入力し、内燃機関の回転角を演算し
求めるものである。これは例えば、上記Ne信号及びG信
号を入力しクランク軸のクランク角を演算するものであ
る。尚、この回転角演算手段M2は上記回転信号出力手段
M1より出力した回転信号の所定回転数毎に、例えばクラ
ンク軸の所定クランク毎に割込み起動された処理におい
て実行されるものであり、マイクロコンピュータを中心
とする論理演算回路等によって構成される。
第1記憶手段M3とは、上記回転角演算手段M2で求めた回
転角を記憶する記憶部であり、上記回転角演算手段M2で
回転角が新たに求められる毎に記憶内容が更新される。
尚、本第1記憶手段M3はマイクロコンピュータのメモリ
等によって構成される。
第2記憶手段M5とは、上記第1記憶手段M3で記憶した回
転角を取り込み記憶する記憶部であり、制御決定手段M4
にて実行される回転角に応じた制御の決定前に上記第1
記憶手段よりその記憶内容が本第2記憶手段M5に転送さ
れる。尚、本第2記憶手段5はマイクロコンピュータの
メモリ等によって構成される。
制御決定手段M4とは、上記第2記憶手段M5で記憶した回
転角に応じて、点火装置或は燃料噴射装置を含む内燃機
関の被制御部の制御を決定するものである。そして、こ
の制御決定手段M4とは上記回転角演算手段M2にて回転角
が求められる毎に、上記回転角演算手段M2の割込みより
下位レベルの割込みで起動された処理において実行され
るものであり、例えば回転角演算手段M2における割込み
の処理ルーチンの中でソフト的に上記下位レベルの割込
みが起動され、該割込みの処理ルーチンにおいて実行さ
れる。尚、本制御決定手段M4は例えばマイクロコンピュ
ータの制御部等によって構成される。
[作用] 上記構成を有する本発明の内燃機関制御装置は、まず上
位レベルの割込みにて、第1記憶手段M3に上記回転角演
算手段M2で求めた回転角が記憶される。そしてその上位
レベルより下位レベルの割込みにて、制御決定手段M4に
て行なわれる制御前に、上記記憶された内容が第2記憶
手段M5に記憶される。そしてその第2記憶手段M5で記憶
した回転角に応じて制御決定手段M4が制御を決定する。
従って下位レベルの割込み処理中に上位レベルの割込み
が発生すると、第1記憶手段M3は新たに求められた回転
角で記憶内容を更新されるが、第2記憶手段M5は更新さ
れることはない。それゆえにその下位レベルの処理の再
開後においても中断前の処理と常に一貫性を保つよう処
理がなされるよう作用する。
[実施例] 以下本発明の実施例を図面に基づいて詳細に説明する。
第2図は本発明一実施例としての内燃機関とその周辺装
置との概略構成を示す概略構成図、第3図はその電子制
御回路の構成を示すブロック図、である。
図において、1は4サイクル4気筒の内燃機関、2は電
子制御回路、3は電源としてのバッテリ、である。内燃
機関1の吸気管4には、上流からエアクリーナ5,エアフ
ロメータ7,吸気温センサ9,スロットルバルブ11,アイド
ルスイッチ12等が配設され、吸入空気は分岐管15に設け
られた燃料噴射手段としての電磁式燃料噴射弁17より噴
射された燃料と共に混合気となって図示しないシリンダ
に吸入される。一方、内燃機関1の排気管19には排気組
成中の酸素濃度を検出するO2センサ21が設けられてい
る。
更に、23はイグナイタ、25はイグナイタ23に発生する高
電圧を内燃機関1のクランクシャフト27の回転に同期し
て各気筒の図示しない点火プラグに分配するディストリ
ビュータであって、ディストリビュータ25には上記クラ
ンクシャフト27の回転に比例したパルス信号を発生する
回転角センサ25aと特定気筒の上死点を検出し、基準信
号を出力する気筒判別センサ25bとが設けられ、それぞ
れ各検出信号である回転数信号Neと気筒判別信号G1とを
生成する。また29はバッテリ3を電子制御回路2に接続
するイグニッションスイッチ、31はイグニッションスイ
ッチ29と一部連動してスタータモータ32をオン・オフす
るスタータスイッチ、33は内燃機関1の冷却水の水温Th
wを検出する水温センサ、34はダイアグノーシスの結果
表示等を行なうチェックエンジンランプ、35は短絡用ス
イッチである。
電子制御回路2は、マイクロコンピュータ50を核とし
て、アナログ入力回路52,A/D変換回路53,ディジタル
入力回路54,電源回路60,出力信号バッファよりなる出力
回路62,63,64から構成されている。電子制御回路2のア
ナログ入力回路52は、エアフロメータ7からの信号とし
ての吸入空気量Us、水温センサ33からの信号としての内
燃機関1の冷却水温Thw、吸気温センサ9からの信号と
しての吸気温Tha、バッテリ電圧+B、を入力し、これ
らの信号は次段のA/D変換回路53によって順次A/D
変換され、マイクロコンピュータ50に取り込まれる。
一方、ディジタル入力回路54は、ディストリビュータ25
の生成する気筒判別信号G1と回転数信号Ne、O2センサ21
からの信号としてのリーン・リッチ信号Ox、スロットル
バルブ11が全閉であることを示すアイドルスイッチ12か
らの信号Idle、スタータスイッチ31の状態を示す信号ST
A、短絡用スイッチ35の状態を示す信号Tan、及び第2図
には示されていない車速センサ36からのスピード信号SP
Dを入力し、マイクロコンピュータ50に出力する。
電源回路60はイグニッションスイッチ29を介してバッテ
リ電圧+Bを、又、イグニッションスイッチ29を介する
ことなくバックアップ用の電圧Battを入力して、マイク
ロコンピュータ50に供給される定電圧Vsubとその他の回
路に供給されるもうひとつの定電圧Vcとを生成する。こ
のほか、電源回路60は、マイクロコンピュータ50のイニ
シャル信号initを生成する電源シーケンスとしての動作
も行なう。
マイクロコンピュータ50は第4図のブロック図に示す如
く、ひとつのチップ内に周知のセントラルプロセッシン
グユニット(CPU)70,ROM71,RAM72,入出力ポート73,ク
ロック発生回路75,共通バス76等を集積した1チップマ
イクロコンピュータであって、特に本実施例では後述す
る割込み制御部77をも内蔵している。尚、クロック発生
回路75は外付の水晶振動子79を得て、CPU70の作動基本
クロックを生成する他、後述する4msec毎に割込を起動
する信号を発生する。
CPU70は入出力ポート73を介し内燃機関1の運転条件を
読みこみ、内燃機関1の点火時期や燃料噴射量及び噴射
タイミングを演算する。そして、入出力ポート73を介し
てA/D変換回路53の制御信号の他に、出力回路62に点
火時期制御信号IGtを、出力回路64に燃料噴射制御信号
τpを、出力回路63にダイアグノーシスの結果信号を、
各々出力する制御信号を出力する。
次にマイクロコンピュータ50における割込み処理を説明
する。
本実施例のマイクロコンピュータ50は、割込要因として
8レベルを有しており、以下の第1表にその割込要因の
一覧表を示す。
上記8種類の割込み要因にはハード的に1〜8の順で優
先順位がついている。そしてそれぞれには6段階のプラ
イオリティが付されている。
例えば、同じプライオリティの割込みが入力されると、
同時には受付けられず、先に受けつけた割込み処理が実
行され、この処理が終了するまで後に入力された割込み
は待たされる。
又、プライオリティの高い割込みが入力されると、それ
まで実行していた処理(ベース処理又はより低いプライ
オリティの割込処理)を一時中断して高いプライオリテ
ィの割込処理を実行する。そして高いプライオリティの
割込処理が終了すると、中断していた処理の続きを実行
する。この割込多重処理は6レベル(プライオリティの
数)まで許されている。
表1でNMIはノン・マスカブル・インターラプトであ
り、未定義のオブジェクト(命令語)を実行しようとす
ると発生する割込要因である。NMI処理ルーチンではレ
ジスタ、スタック等を初期化したのち、電源投入時の初
期化ルーチンへジャンプする。
ASR1はNe信号(ディジタル入力回路54で波形整形された
後のもの)の立上りエッジで受けつけられる。この立上
りエッジに同期して、フリーランタイマの値をオートセ
ーブレジスタにラッチする。尚、フリーランタイマとは
CPU内部に設けられ発振器からの信号を受けて作動して
いる周知のものをいう。
TITMはフリーランタイマの4ms毎の中間ビットのオーバ
ーフローに同期して発生する割込要因である。
CPROは、コンペアレジスタにあらかじめ設定された割込
時刻とフリーランタイマの時刻とを常に比較して、両者
が一致すると発生する割込要因である。そして、この時
刻一致のタイミングで出力状態が更新される出力ポート
を有しており、この出力信号はイグナイタ23への点火信
号IGtとして用いられている。
SOFTは、プログラムにより起動可能な割込である。専用
のレジスタのビットに1を書き込むと、割込要求が発生
する。このSOFT割込はNe割込(ASR1)及び4msタイマ割
込(TITM)の両者で起動され、それぞれの後処理を行な
うどちらの割込要因により発生したかはRAMエリア上の
フラグにより判別する。
CPR1はCPR0同様コンペアレジスタにあらかじめ設定され
た時刻とフリーランタイマとの値とが一致すると発生す
る割込要因である。このCPR1の出力はインジェクタ17へ
の駆動信号τpとして用いられる。なお、CPR0とCPR1と
で独立にコンペアレジスタ及び出力ポートを有してい
る。
ASR0はA/D変換器53からのアナログ量に対応したパル
スの立下がりで発生する割込要因である。そしてASR0は
端子の立上り及び立下がりのそれぞれのタイミングでフ
リーランタイマの値をラッチする2個のオートセーブレ
ジスタを利用している。
IRPは、車速センサ36からの信号SPDの立下がりで発生す
る割込要因である。
次に、上記割込要因はどのような回路構成をもって割込
処理がなされるか第5図の割込処理回路のブロック図に
より説明する。尚、この割込処理回路はマイクロコンピ
ュータ50の割込み制御部77に相当するものである。
割込の要求があった場合、まず割込みの要求を示す信号
が割込要求ラッチ101に送られ、一時保持される。そし
て割込要求ラッチ101に保持された信号は第1マスクオ
フ回路102及び第2マスクオフ回路106を経て最上位検出
回路107に送られる。上記第1マスクオフ回路102は、内
部バス104から個別マスク103に書き込まれた割込要因に
基づいて割込の発生を許可するものである。即ち、それ
ぞれの割込要因は異なった割込みの禁止事項を持つ為、
第1マスクオフ回路102により個別に割込の発生を許可
する。一方、第2マスクオフ回路106は、内部バス105か
ら送られる“I"ビット105が0の時にNMIを除く全ての割
込を禁止する。又、上記最上位検出回路107は、最上位
検出回路107で存在している割込要求のうち、最も高い
優先順位のものを選んでベクタマドレス発生回路108及
びプライオリティマスク発生回路109に出力する。上記
プライオリティマスク発生回路109では同レベル以下の
プライオリティの割込みを禁止する情報を第2マスクオ
フ回路106に出力している。従って最も高い優先順位の
割込みを許可し、同レベル以下の割込を禁止するよう動
作する。
続いて、コンペアレジスタ及びオートセーブレジスタを
用いる割込み制御のハード構成について示す。
第6図はコンペアレジスタとその周辺を示したブロック
図であり、入出力ポート73の一部として構成される。フ
リーランタイマ121は周知のもので時間を出力するが、
フリーランタイマ121に限っては入出力ポート73の一部
ではなくCPU内部に設けられたものである。又、第1コ
ンペアレジスタ(CPR0)122,第2コンペアレジスタ(CP
R0)123は内部バス125から書き込まれた値を保持する。
そしてフリーランタイマ121よりの出力信号と、CPR0122
とCPR1 123との値が比較回路124に入力する。そしてフ
リーランタイマ121よりの出力信号とCPR0122の値とが一
致した時は、割込み要求信号であるCPR0信号を発生し、
又、フリーランタイマ121よりの出力信号とCPR1 123の
内容とが一致した時は割込要求信号であるCPR1信号を発
生する。
一方、フリップフロップ126及びフリップフロップ127は
CPR0122に対応した出力を行なうものである。フリップ
フロップ126は内部バス104により書き込まれた値を保持
するものである。又、フリップフロップ126の出力端子
Qはフリップフロップ127の入力端子に接続されてお
り、インバータ128にてフリップフロップ127の出力信号
(DOUTO信号)のモードを切替える。即ち、比較回路124
からのコンペア一致信号に同期してフリップフロップ12
7の出力を更新するモードと、フリップフロップ126への
DOUT書き込みパルスに同期してフリップフロップ127の
出力を更新するモードとをインバータ128にて選択する
ことができる。又、フリップフロップ129,フリップフロ
ップ130、インバータ131も同様の構成をとり、同じ働き
をする。
第7図はオートレジスタとその周辺を示すブロック図で
あり、入出力ポート73の一部として構成される。外部端
子のASR0信号がLOWレベルからHIGHレベルに立ち上がる
とその時点でのフリーランタイマ121の値がラッチASR0P
141に記憶・保持され、割込要求信号となる。又、ASR0
信号がHIGHからLOWレベルに立ち下がると、インバータ1
44により反転されてラッチASR0Nのラッチ信号となる。
一方、ASR1信号のLOWからHIGHへの立上りで割込要求が
発生し、ラッチASR1(143)にフリーランタイマ121の値
がラッチされる。
以上のハードウェアの構成を有する本実施例の内燃機関
制御装置においてマイクロコンピュータ50のCPU70が行
なう処理について、第8図〜第18図に基づいて説明す
る。
第8図は本制御のベースルーチンを示すフローチャート
であり、イグニッションスイッチ29が閉じ、電子制御回
路2に電源が供給されると、本ルーチンの処理が開始さ
れる。
まずステップ201にてI/Oの初期化を行なう。ここで
は出力回路62,63,64が全てOFFとなる出力を行なう。
続くステップ202ではRAMの内容を全て0にクリアする。
ステップ203では必要なRAMの初期値設定を行なう。
ステップ204では個別マスク103に割込を許可するものの
み1のデータをセットする。
ステップ205では“I"ビット105に1をセットし、割込を
許可する。
ステップ206ではエンジンがストールしているか否かを
判断する。これは、ディストリビュータ25からの回転数
信号Neが所定時間で所定量以上発生するかどうかを判断
するもので所定量以上発生しない場合にストールしたと
判断する。ストールしていないと判断された時はステッ
プ207に処理が移る。
ステップ207は、エンジン回転数NEを算出するもので、
ディストリビュータ25からの回転数信号Neの最新の6パ
ルスの時間間隔により算出される。尚、上記のディスト
リビュータ25から発生する回転数信号Neはクランクシャ
フト27のクランク角30゜毎に1パルス発生する信号であ
る。即ち、常に最新の180゜クランク角毎の平均的な回
転数が求められることになり、クランクシャフト27の工
程間のバラツキを平滑化することができる。そしてステ
ップ207の処理を終えると処理はステップ212に移る。
一方、ステップ206においてエンジンがストールしてい
ると判断される時は処理はステップ208に移る。ステッ
プ208は燃料噴射を停止するもので、出力回路64にイン
ジェクタ17がOFFとなる出力を行なう。
続くステップ209ではイグナイタ23に、通電停止の信号
を出力回路62より出力する。ステップ210では、気筒判
別信号G1を基準とするクランクシャフト27の回転角を記
憶する為のRAMであるCCRANK及びCCRを0とし、初期化す
る。
ステップ211にてエンジン回転数のRAMであるNEを0とす
る。
ステップ212は燃料噴射量を算出するもので、吸入空気
量US,エンジン回転数NEを基本として、冷却水温Thw等に
より補正し算出される公知の燃料噴射量算出処理であ
る。
ステップ213もステップ212同様公知の点火時期算出処理
である。
ステップ214は50ms経過しているか否かを判断するもの
で、経過していると判断された時はステップ215に処理
が移る。ステップ215は公知のダイアグ(自己診断)処
理を行なうもので、ステップ216に続く。一方ステップ2
14で経過していないと判断された時は、ステップ215を
飛び越しステップ216に処理が移る。
ステップ216は0.74sec経過しているか否かを判断するも
ので、経過していると判断された時はステップ217に処
理が移る。
ステップ217は車速SPDを算出するもので、0.74sec間の
車速センサ信号のパルス入力数をカウントすることによ
り得られる。
そしてステップ216で0.74sec未経過と判断された時、又
はステップ217でSPD算出した後に、処理はステップ204
に戻る。尚、本ルーチンは、電源が供給されている限
り、上記ループをくり返し実行するものである。
尚、上記個別マスクの設定(ステップ204)及び割込許
可(ステップ205)はこのベースルーチンにおいてくり
返し行なわれるので、万一EMI(電磁障害)などで設定
が変っても、すみやかに復帰できる。
続いて前記ベースルーチンに対してハード的に割込む割
込処理を、第9図のフローチャートにて説明する。
本処理ルーチンは内燃機関のクランクシャフト27の回転
角30゜(以下30℃Aと呼ぶ)毎の回転信号を受けて発生
するNeハード割込処理を示すものであり、クランクシャ
フトの30℃A毎の回転数信号Neを受けて処理が開始され
る。
ステップ251では、スタータスイッチ31がOFFからONにな
った時点からの経過時間を表わすカウンタCSTAが37より
大きいかどうかを判断する。第10図の内燃機関スタート
時の各信号のタイミングチャートに示す如くスタータス
イッチSTAがOFFからONになると瞬間的に大電流がスター
タコイルに流れ、バッテリ電圧が低下し、スタータのマ
グネットクラッチが接続される時にディストリビュータ
25からの気筒判別信号G1,回転数信号Neにノイズが乗り
やすくなる。そしてこのノイズを信号として受つける
と、誤点火につながり、始動性が悪化する。このためス
タータスイッチ31がOFFからONになってから所定の時間
(カウンタCSTAが37より大きくなるまで)だけG1信号を
受けつけないようCSTAの判断がなされる。
ステップ251でCSTAが37より大きいと判断された場合に
処理はステップ252に移る。
ステップ252ではディストリビュータ25からのクランク
シャフトの360℃A毎に1パルス入力される気筒判別信
号G1の有無を判断する。上記気筒判別信号G1はマイクロ
コンピュータ50の入出力ポート73のラッチ回路に入力さ
れるもので、その有無を判断する。ラッチが有と判断さ
れた場合は処理がステップ256に移り、無と判断された
場合は処理がステップ253に移る。
ステップ253はCCRが0であるかどうかを判断するもので
ある。このCCRはクランク角を示すためのクランク角カ
ウンタで、第10図に示すような値をとるとともに始動後
有効な気筒判別信号G1を入力したかどうかを判別するた
めのフラグとしても用いられる。ステップ253でCCRは0
でないと判断した場合は処理はステップ254に移る。
ステップ254は上記CCRを1だけカウンタアップするもの
で、処理はステップ255に移る。
ステップ255ではCCRが13か否かを判断する。これはエン
ジン始動後気筒判別信号G1が瞬断した場合は、CCRはク
ランクシャフトの30℃A回転毎にインクリメントされて
いるので本来のG1信号入力時で13となり、この場合でも
エンジンの安定な回転を保つため、G1信号が入力されて
いるのと同様の処理にするため処理はステップ256に移
る。
ステップ256ではCCRに1をセットする。
ステップ257ではG1ラッチ入力をクリアする。
ステップ258ではフラグfNEを1にセットし、後で起動さ
れるソフト割込に対し、回転数信号Neの入力処理を指示
する。
続くステップ259では割込要求ラッチ101のソフト割込要
求ビットをセットし、ソフト割込を起動する。
続いて第11図にてフリーランタイマ121の4ms毎の中間ビ
ットオーバフローによりハード的に割込む4msタイマ割
込処理を示す。
処理が開始されるとステップ301はW出力処理を行な
う。W出力処理は公知のダイアグノーシスの結果表示を
行なうW信号を出力するもので、時系列的にチェックエ
ンジンランプ34を点滅させることによりエラーコードを
作るものである。ステップ302ではA/D変換回路53に
対してどの入力信号をA/D変換するかのスケジュール
を行なうものである。ステップ303ではA/D変換回路5
3にA/D変換のスタート信号を送る。ステップ304では
フラグf4MSを1にセットし、ソフト割込に対して4msタ
イミング処理を指示する。ステップ305ではソフト割込
を起動するために割込要求ラッチ101のソフト割込要求
ビットをセットする。
続いて、第12図のフローチャートで示すソフト割込につ
いて説明する。
このソフト割込は回転数信号の30゜クランク角ごとに起
動される場合(第9図のステップ259によるもの)と4ms
毎のタイマ割込により起動される場合(第11図のステッ
プ305によるもの)とがあり、それぞれフラグfNE,f4MS
が1になっている場合にそれぞれのソフト割込の処理が
実行される。処理が開始されるとステップ320でfNEが1
かどうかの判断が行なわれ、fNEが1であるならば後述
するNeソフト割込処理がステップ321にて実行される。
又、ステップ322ではf4MSが1かどうかの判断が行なわ
れf4MSが1であるならば後述する4msソフト割込処理が
実行される。
第13図は上記第12図のステップ321のNeソフト割込処理
の詳細なフローチャートで以下に説明する。処理が開始
されると、ステップ351ではクランクシャフト27の30℃
A毎の回転時間をとりこむ。これは今回の回転数信号Ne
入力時のASR1のラッチ時刻から前回の回転数信号Ne入力
時のASR1のラッチ時刻を減算することにより得られる。
なお、前回の回転数信号Ne入力時より64ms以上経過して
いる場合は、上記求める回転時間は64msとして処理す
る。
続くステップ352では上記Neハード割込にてカウントア
ップされるクランク角カウンタCCRが0か否かを判断す
る。0の時はクランク角の位置が確定していないので、
ステップ370に処理が移り、このNeソフト割込を終え
る。CCRが0でない時はステップ353に処理が移り、CCR
の値をCCRANKにセットする。CCRANKは、Neソフト割込処
理内で利用するクランク角カウンタであり、以後CCRの
値はこのNeソフト割込では利用しない。
続くステップ354では、エンジン回転数により低回転時
か否かを判断する。低回転時にはステップ355に処理が
移り、各気筒が上死点(TDC)のタイミングか否かを判
定する。本実施例においては4気筒エンジンであるの
で、CCRANKの値が1または7の時がTDCタイミングとな
る。TDCと判断された場合はステップ356に処理が移り、
イグナイタ23にOFF状態の通電信号IGtを出力する。これ
は、第6図においてDOM0を0とし、DOUT書込みパルスに
同期してフリップフロップ127の出力を0にすることに
より、その値がフリップフロップ127に保持されOFF状態
のDOUT信号を出力する。一方、ステップ355において各
気筒がTDCでない時にはステップ357に処理が移り、各気
筒がBTDC30℃Aであるか否かの判断を行なう。CCRANKの
値が6又は12の時がBTDC30℃Aのタイミングであり、BT
DC30℃Aと判断された場合はステップ358に処理が移
り、イグナイタ32にON状態の通電信号IGtを出力する。
これは第6図においてDOM0を0とし、DOUT書込みパルス
に同期してフリップフロップ127の出力をON状態にする
ことにより行なう。以上ステップ355〜ステップ358まで
の各ステップにより、低回転時には回転数信号Neに同期
してイグナイタ32への通電信号IGtが変化する。このよ
うに低回転時にコンペアレジスタCPR0122による時刻一
致処理を行なわないのは、始動時には回転変動が大きい
ので、時刻一致処理を行なうと、通電・点火タイミング
がずれる恐れがある為と、更には低回転時には回転数信
号Neの入力間隔が長くなり、フリーランタイマ、コンペ
アレジスタのビット長で表現できる時間以上の要求タイ
ミングとなり、プログラム処理が難しい為である。
一方、ステップ354において、低回転でないと判断され
ると、ステップ359に処理が移る。ステップ359では各気
筒BTDC90℃Aのタイミングか否かを判断する。CCRANKの
値が4又は10の時がBTDC90℃Aタイミングであり、各気
筒BTDC90℃Aの場合はステップ360に処理が移る。ステ
ップ360は点火時期を決定するものであるが、上記第8
図のベースルーチン中のステップ213において算出され
た点火時期をとりこみ、通電、点火を制御するクランク
角CCRANKを決定する。
ここでこの制御クランク角CCRANKの決定の様子を第14図
の説明図で説明する。基本的には通電又は点火の直前の
Neソフト割込内にてコンペアレジスタCPR0122に一致時
刻をセットし、第6図におけるDOM0を1としてコンペア
一致にてフリップフロップ126の内容がフリップフロッ
プ127にとりこまれる様になされており、通電処理のCCR
ANKの値が5,点火処理のCCRANKの値が6となる(第14図
(a)参照)。ただし、コンペア一致時刻と直前回転数
信号Neの発生タイミングとが近い場合は、通電処理より
30℃A手前で行ない、そのCCRANKの値が4となり、一
方、点火処理は通電開始のコンペア一致割込処理内で行
なう(第14図(b)参照)。そして上記2つの処理の選
択は回転数信号Neから通電・点火までの時間txが、プロ
グラムの処理遅れを生じない程度の値より大きいか、小
さいかによって決定する。本実施例においては、各種の
割込の多重関係を考慮し、tx≧500μsの場合は第14図
(a)で示されるような処理とし、tx<500μsの場合
は第14図(a)で示されるような処理とする。
この様な処理方法にすることにより、通常は直前の回転
数信号Neのタイミングでコンペアレジスタに一致時刻を
設定するので、急加減速時にも通電時間や点火時期がず
れることを防ぐことができる。また、通電・点火タイミ
ングがNe信号に近い場合には手前のNe信号のタイミング
でコンペアレジスタに一致時刻を設定するので、プログ
ラムの処理遅れにより、点火時期が遅れることを防ぐこ
とができる。
一方、ステップ359で各気筒BTDC90℃Aのタイミングで
ないと判断された場合はステップ360を飛ばして処理は
ステップ361に移る。続くステップ361ではCCRANKがステ
ップ360にて決定された通電タイミングであるか否かを
判断する。通電タイミングであると判断された場合はス
テップ364に処理が移り、ステップ364を実行後ステップ
365に移る。ステップ364はイグナイタ32にコンペア一致
時にてON状態の通電信号IGtを出力する為のセットを行
なうもので、第6図に示したコンペアレジスタCPR0122
に一致時刻を書き込んだ後、DOM0を1,DOUT書き込みパル
スを1に書き込む。フリップフロップ126には1が保持
されるが、コンペアレジスタCPR0122の比較回路124より
の一致信号を受けると、フリップフロップ127にフリッ
プフロップ126の保持する信号が送られる。
一方、ステップ361で通電タイミングでないと判断され
た場合はステップ362に処理が移る。ステップ362ではCC
RANKが点火タイミングか否かを判断する。点火タイミン
グであると判断された場合、処理はステップ363に移
る。
ステップ363はイグナイタ32にコンペア一致時にてOFF状
態の通電信号IGtを出力する為のセットを行なうもの
で、第6図に示したコンペアレジスタCPR0122に一致時
刻を書き込んだ後、DOM0を1、DOUT書き込みパルスを0
とする。フリップフロップ126には0が保持されるが、
コンペア一致信号を受けると、フリップフロップ127に
0が保持されOFF信号を出力する。尚、ステップ362で点
火タイミングでないと判断された場合は処理はステップ
363を飛ばしてステップ365に移る。
ステップ365ではCCRANKが噴射タイミングか否かを判断
する。CCRANKが11の時が噴射開始タイミングであり、CC
RANKが11と判断された場合、処理はステップ366に移
る。
ステップ366では燃料カット処理をほどこしているか否
かを判断する。その燃料カットの条件は、アイドルスイ
ッチ12が閉じている時に、エンジン回転数が冷却水温Th
wで定まる値よりも高い場合に成立するのでこの判断を
実行する。燃料カット処理中でないと判断された場合、
処理はステップ367に移る。尚ステップ365で噴射タイミ
ングであると判断されるがステップ366で燃料カット中
であると判断された場合は処理はステップ370に飛び越
す。
続くステップ367では上記第8図のベースルーチン中の
ステップ212の処理で算出された噴射量をとりこむ。
続くステップ368は電磁式燃料噴射弁17に燃料噴射制御
信号τpを出力するもので、第6図に示したDOM1を0
に、フリップフロップ129に1を書き込み、フリップフ
ロップ130の出力DOUTを1にし、電磁式燃料噴射弁17に
燃料噴射制御信号τpを出力する。
続くステップ369では、コンペアレジスタの一致信号を
受けると燃料噴射を停止する燃料噴射制御信号τpを出
力する為のセットを行なう。ステップ368においてフリ
ップフロップ129に1を書き込んだ時のフリーランタイ
マの値をとりこみ、又、ステップ367で取り込んだ噴射
量をふまえたうえで燃料噴射を停止する時刻をコンペア
レジスタCPR1 123に書き込む。更に、DOM1に1を書き
込み、その次にフリップフロップ129に0を書き込むこ
とにより、コンペア一致時にOFF信号を出力するような
されている。
なお、ステップ368において、フリップフロップ129に1
を書き込む処理と、その直後にフリーランタイマの値を
とりこむ処理との間に、上位割込が発生しない様に、割
込禁止の処理を行なう。これは第5図で“I"ビット105
を0にすることにより行なう。そしてフリーランタイマ
の値をとりんだ後に“I"ビットを1にもどしておく。
さらに、本実施例では噴射量の下限が0.75msに制限され
ているので問題はないが、下限が設定されていない制御
装置においては、ステップ369にておいて、コンペアレ
ジスタCPR1に、一致時刻(噴射終了時刻)を書き込んだ
後で、フリーランタイマの値と、いま書き込んだコンペ
アレジスタCPR1の値との比較を行ない、一致時刻が過ぎ
ている場合にはDOM1を0にする(フリップフロップ129
の出力は0となる)。これは、ステップ368と369の間で
上位割込が発生し、噴射終了時刻が過ぎてしまうと、次
にフリーランタイマとコンペアレジスタとが一致するま
で噴射し続けることを防ぐための処理である。
続くステップ370はフラグfNEを0にクリアするもので、
ステップ370の処理を終えると本ルーチンであるNeソフ
ト割込処理を終了する。
一方、上記した第12図のステップ323の4msソフト割込処
理について、第15図のフローチャートで説明する。
まず処理が開始されると、ステップ401でスタータスイ
ッチよりSTA信号をとりこみ、ON状態か否かの判断を行
なう。
ステップ401でON状態と判断されると、続くステップ402
では前回の4msソフト割込において、スタータがON状態
であったか否かを判断する。
ステップ402でON状態でないと判断された場合、即ち、
今回の4ms割込でスタータがONとなった場合は処理はス
テップ403に移る。
ステップ403はCSTAを0にクリアするもので、続いて、
ステップ404ではクランク角カウンタCCRANK及びCCRを0
にクリアする。
一方、ステップ402でON状態と判断された場合、即ち前
回に続いてスタータがON状態である場合にカウンタCSTA
を1ずつインクリメントする。
上記ステップ401でスタータがON状態でないと判断した
場合、ステップ404の処理を終えた場合、もしくはステ
ップ405の処理を終えた場合に処理はステップ406に続
く。ステップ406では他の4msのタイミング処理を行な
う。続いてステップ407にてフラグf4MSをクリアする。
ステップ407の処理を終えて本ルーチンの4msソフト割込
は終了する。即ち、本ルーチンは4ms毎に処理されるも
ので、スタータスイッチがONされてからの経過時間をカ
ウンタCSTAで記憶していくものである。そして上記CSTA
は第9図に示したNeハード割込処理のG1信号を受けつけ
ない時間の算出に利用される。
続いて他の割込みについて簡単に説明する。車速センサ
からのスピード信号SPDの入力毎に発生する割込処理に
ついて第16図のフローチャートに基づいて説明する。
ステップ421でカウンタCSPDを1ずつインクリメントし
て終了する。
次に第6図における比較回路124より出力するCPR0122の
一致信号による割込処理について第17図のフローチャー
トに基づいて説明する。
処理が開始されるとステップ451でイグナイタ32への通
電信号IGtがON状態か否かを判断する。この判断は第6
図フリップフロップ126の内容をとりこみ、1か否かで
判断する。IGtがON状態の場合はステップ452に処理が移
る。
ステップ452は、第14図(b)に該当するコンペア一致
時刻と直前の回転信号Neの発生タイミングとが近いかど
うかを判断するものである。判断は、前記した第13図の
Neソフト割込ルーチンのステップ364の処理中で実行で
きるもので、上記ステップ364でフラグfCPRSPKに1を立
てるようにして、その判断をステップ452で実行する。
ステップ452でコンペア一致時刻と直前の回転数信号Ne
の発生タイミングが近いと判断された場合、処理はステ
ップ453に移る。
ステップ453は、前記した第13図のステップ363と同様な
コンペア一致時にIGtをOFFにする処理であり、ステップ
453の処理を終えると、本ルーチンの処理は終了する。
以上本実施例のハードウェア及びソフトウェアの構成を
詳述してきたが、本実施例の割込処理を、更に第18図の
タイミングチャートに基づいて説明する。第18図は回転
数信号Neが入力された時のNeハード割込処理及びNeソフ
ト割込処理のタイミングチャートである。
それぞれ斜線の部分がプログラムの実行中を表わす。CC
Rが3から4になる時に、Neソフト割込はベースルーチ
ンでの割込禁止処理や、上位割込処理実行のため、処理
が遅れてしまっている。従って従来の制御装置ではCCR
=3に対するNeソフト割込処理の実行中にクランク角が
更新されることになる。例えば、上記CCR=3が通電タ
イミングであるとすると、第13図のステップ361以前でC
CRが更新されてしまうと、通電開始の処理が行なわれ
ず、IGtがONしないので、点火することができなくなっ
てしまう。
しかしながら、本実施例のNeソフト割込内にて更新され
るクランク角カウンタCCRANKは回転角に応じた制御の決
定前にCCRを転送したものであるので、まだ3の値を保
っている。従って、クランク角に対応した処理は一貫し
て行なうことが可能となる。
即ち、本実施例は点火時期制御信号IGtと燃料噴射制御
信号τpとを、ソフト割込み処理で記憶したクランク角
カウンタCCRANKを用いるようにしている。そしてNeソフ
ト割込処理中にハード割込みがなされても、そのハード
割込みより起動されるソフト割込みが待たされ、前回の
ソフト割込みが再開され、前回の正しいクランク角を用
いて点火時期,燃料噴射時期が決定するよう実行され
る。従って、クランク角とそのクランク角を用いた制御
とが一貫性を保つことができ、常にクランク角に対応し
た処理を確実に実行することができる。
発明の効果 本発明の内燃機関制御装置によれば、制御決定が下位レ
ベルの割込みルーチンにて記憶した回転角に応じて、な
されているので下位レベルの割込み処理中に上位レベル
の割込みが発生したとしても、常に割込み以前の回転角
に応じて、処理を再開することができ、割込み前と割込
み後との実行処理の一貫性を保つことができ、内燃機関
の高回転時等の全回転域において回転角に対応した処理
を確実に実行することができるという優れた効果を有す
る。
その結果、内燃機関の高性能化に寄与し、更には、従来
のマイクロコンピュータで、より高回転の内燃機関を精
密に制御できるという副次的な効果も有する。
【図面の簡単な説明】
第1図は本発明の構成を表わすブロック図、 第2図〜第18図は本発明の一実施例を表わし、第2図は
その適用される内燃機関およびその周辺装置の概略系統
図、第3図はそこに用いられる電子制御回路の構成を示
すブロック図、第4図はそのマイクロコンピュータの構
成を示すブロック図、第5図はその割込処理回路のブロ
ック図、第6図はコンペアレジスタとその周辺を示すブ
ロック図、第7図はオートレジスタとその周辺を示すブ
ロック図、第8図は制御の基本処理を示すフローチャー
ト、第9図はNeハード割込処理を示すフローチャート、
第10図は内燃機関スタート時における各信号のタイミン
グチャート、第11図は4ms毎ハード割込処理を示すフロ
ーチャート、第12図はソフト割込処理を示すフローチャ
ート、第13図はソフト割込処理のNeソフト割込処理部を
示すフローチャート、第14図は制御クランク角CCRANKの
決定の様子を示す説明図、第15図はソフト割込処理の4m
s毎ソフト割込処理部を示すフローチャート、第16図は
スピード信号入力毎に発生する割込処理を示すフローチ
ャート、第17図は比較回路より出力するコンペアレジス
タの一致信号により発生する割込処理を示すフローチャ
ート、第18図は割込処理を説明するタイミングチャート
である。 M1……回転信号出力手段 M2……回転角演算手段 M3……第1記憶手段、M4……制御決定手段 M5……第2記憶手段 1……内燃機関、2……電子制御回路 3……バッテリ、17……電磁式燃料噴射弁 23……イグナイタ、32……スタータ 50……マイクロコンピュータ 60……電源回路 70……セントラルプロセッシングユニット(CPU) 71……ROM、72……RAM 73……入出力ポート、77……割込制御部
───────────────────────────────────────────────────── フロントページの続き (72)発明者 大原 孝一 愛知県刈谷市昭和町1丁目1番地 日本電 装株式会社内 (72)発明者 泉 彰司 愛知県刈谷市昭和町1丁目1番地 日本電 装株式会社内

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】内燃機関の所定回転毎に信号を出力する回
    転信号出力手段と、 上記回転信号の所定回数毎に割込み起動され、上記回転
    信号に基づいて回転角を演算する回転角演算手段と、 上記回転角演算手段で演算された回転角を記憶し、該回
    転角が新たに演算される毎に記憶内容を更新する第1記
    憶手段と、 上記回転角演算手段にて回転角が演算される毎に、上記
    回転角演算手段の割込みより下位レベルの割込みにより
    起動され、回転角に応じて制御を決定する制御決定手段
    と、 を備えた内燃機関制御装置において、 更に、上記制御決定手段が起動されると、該制御決定手
    段にて行なわれる回転角に応じた制御の決定前に上記第
    1記憶手段で記憶した回転角を取り込み、上記制御決定
    手段の起動中該回転角を記憶する第2記憶手段とを備
    え、 上記制御決定手段が、上記第1記憶手段の記憶内容の更
    新に関係なく上記第2記憶手段で記憶した回転角に応じ
    て制御を決定することを特徴とする内燃機関制御装置。
JP14902185A 1985-07-05 1985-07-05 内燃機関制御装置 Expired - Lifetime JPH0663483B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP14902185A JPH0663483B2 (ja) 1985-07-05 1985-07-05 内燃機関制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP14902185A JPH0663483B2 (ja) 1985-07-05 1985-07-05 内燃機関制御装置

Publications (2)

Publication Number Publication Date
JPS6210453A JPS6210453A (ja) 1987-01-19
JPH0663483B2 true JPH0663483B2 (ja) 1994-08-22

Family

ID=15465933

Family Applications (1)

Application Number Title Priority Date Filing Date
JP14902185A Expired - Lifetime JPH0663483B2 (ja) 1985-07-05 1985-07-05 内燃機関制御装置

Country Status (1)

Country Link
JP (1) JPH0663483B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10083195T1 (de) * 1999-09-17 2001-11-29 Keihin Corp Auto-Steuereinheit

Also Published As

Publication number Publication date
JPS6210453A (ja) 1987-01-19

Similar Documents

Publication Publication Date Title
JPS6239261B2 (ja)
EP0017218B1 (en) Method of electronically controlling internal combustion engines
JP4014580B2 (ja) 内燃エンジンの点火時期制御装置
JP2000047883A (ja) タスク制御方法および記録媒体
JPS6313011B2 (ja)
JPH0375740B2 (ja)
JP2000120473A (ja) 直噴ガソリンエンジンの燃料噴射制御装置
JPH0663483B2 (ja) 内燃機関制御装置
JPS632027B2 (ja)
JPH0138176B2 (ja)
JPH02535B2 (ja)
JPS60132043A (ja) 燃料噴射制御装置
JP3511670B2 (ja) エンジンの制御装置
JPS5968530A (ja) 内燃機関の制御方法
JP2605038B2 (ja) 内燃エンジンの電気装置の制御方法
JPS5830424A (ja) 電子制御式燃料噴射制御方法
JP2662224B2 (ja) エンジンの燃料制御装置
JP3124011B2 (ja) 内燃機関の始動時燃料噴射制御装置
JP2503466B2 (ja) 内燃機関の燃料噴射制御装置
JPS6125934A (ja) 内燃機関の燃料供給制御装置
JPS6119947A (ja) 燃料噴射制御装置
JP2694654B2 (ja) 内燃機関の空燃比制御装置
JPS6030446A (ja) 燃料噴射制御方法
JPS6239260B2 (ja)
JPS63314352A (ja) エンジン制御装置

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term