JP2681771B2 - 内燃エンジンの電子点火時期制御方法 - Google Patents
内燃エンジンの電子点火時期制御方法Info
- Publication number
- JP2681771B2 JP2681771B2 JP60161794A JP16179485A JP2681771B2 JP 2681771 B2 JP2681771 B2 JP 2681771B2 JP 60161794 A JP60161794 A JP 60161794A JP 16179485 A JP16179485 A JP 16179485A JP 2681771 B2 JP2681771 B2 JP 2681771B2
- Authority
- JP
- Japan
- Prior art keywords
- energization
- crank
- ignition
- crank angle
- time
- 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 - Fee Related
Links
Landscapes
- Electrical Control Of Ignition Timing (AREA)
Description
【発明の詳細な説明】
(技術分野)
本発明は内燃エンジンの電子点火時期制御方法に関
し、特に所定のクランク角度位置信号の発生毎に割込処
理で実行される演算処理プログラムの実行中に次の割込
信号が入力した場合の電子点火時期制御方法に関する。 (発明の技術的背景とその問題点) 内燃エンジンに供給される混合気を所要のクランク角
度位置で確実に点火させるために、エンジン運転状態に
応じた点火時期と点火コイル通電期間を設定する一方、
複数のクランク角度位置、例えば気筒の上死点(TDC)
位置を基準として所定クランク角宛離隔したクランク角
度位置を検出し、上述の設定した点火時期及び点火コイ
ル通電期間とにより所定クランク角度位置からの点火コ
イル通電時期を演算し、点火コイルの通電開始直前の所
定クランク角度位置が検出されたときからの経過時間が
演算した通電時期に至ったか否かを判別して、該通電時
期に至ったとき点火コイルの通電を開始すると共に、上
記点火時期を角度・時間変換して通電停止時期を求め、
点火コイルの通電停止直前の所定クランク角度位置が検
出されたときからの経過時間が演算した通電停止時期に
至ったか否かを判別して、該通電停止時期に至ったとき
点火コイルの通電を停止し、この通電停止時に点火栓に
放電を発生させ混合気を点火する電子点火時期制御方法
が知られている。 斯かる制御方法において、検出したクランク角度位置
が点火コイル通電開始又は通電停止直前の所定クランク
角度位置であるか否かの判別、通電時期が経過したか否
かの判別等は前記クランク角度位置の検出と同時に最優
先順位の演算処理プログラムを割込処理で実行させてこ
のプログラムの実行により処理するようにしている。然
るに、この最優先順位の割込演算処理プログラムの実行
中にエンジン回転数の急変、例えば急加速により次のク
ランク角度位置が検出されてしまった場合、実行中のプ
ログラムの処理をすべて完了させた後に次の割込演算処
理プログラムの実行を開始するようにするとすれば、こ
の次に実行される割込演算処理プログラムの演算処理が
遅れることになる。特にこの次の割込演算処理で点火コ
イルの通電停止時期の経過を判別して点火を実行させる
処理である場合には適正な点火時期に点火させることが
困難となる。 (発明の目的) 本発明は斯かる問題点を解決するためになされたもの
で、最優先順位の割込演算処理プログラム実行中に次の
割込演算処理プログラムを実行すべき時期が到来したと
しても所要の点火時期に適正に点火を実行させる内燃エ
ンジンの電子点火時期制御方法を提供することを目的と
する。 内燃エンジンのクランクの1回転中でそれぞれ検出さ
れる点火コイルの設定に係る通電開始時期の直前の第1
のクランク角度位置と、該第1のクランク角度位置の前
に検出される第2のクランク角度位置と、該第1のクラ
ンク角度位置の次に検出される第3のクランク角度位置
とを少なくとも有し、前記第1のクランク角度位置を検
出したとき、該第1のクランク角度位置を検出した時か
ら前記設定に係る通電開始時期が経過したか否かを判別
し、該通電開始時期に至ったとき前記点火コイルに通電
を開始し、前記通電開始時期に至る前に前記第3のクラ
ンク角度位置を検出したとき前記点火コイルに強制的に
通電を開始する内燃エンジンの電子点火時期制御方法で
あって、前記第1のクランク角度位置と第2のクランク
角度位置との検出時間差であって、他の複数のクランク
角度位置間の検出時間差と移動平均された最新の検出時
間差に応じたクランクの回転速度に基づいて該第1のク
ランク角度位置からカウントを開始すべき前記点火コイ
ルの通電開始時期を変更することを特徴とする内燃エン
ジンの電子点火時期制御方法が提供される。 (発明の実施例) 以下、この発明の実施例を図面を参照して説明する。 第1図は本発明が適用された電子点火制御装置の全体
構成図で図中符号1は直列4気筒エンジン、2は電子コ
ントロールユニット(以下「ECU」という)でエンジン
1は直列4気筒エンジン以外にも気筒挟角(これを以下
「バンク角」という)が45゜,60゜,90゜,128゜,135゜等
のエンジンであってもよい。第1図は複数気筒のうちの
1個の気筒の要部を一部断面で示してある。符号10a,10
bは点火プラグで、図には2個だけが示されているが、
この点火プラグはそれぞれの気筒に格別に取付けられて
いる。そして後述するように各点火プラグ10a,10bは各
別に設けられた点火コイルに接続されて、ディストリビ
ュータ無しの点火方式とされている。4気筒のエンジン
に対しては、符号10aの点火プラグに図示省略の他の1
個の点火プラグが電気的に直列接続され、これと同様に
符号10bの点火プラグに対しても図示省略の外の1個の
点火プラグが電気的に直列接続される。直列接続された
各2個の点火プラグは同一の点火信号で点火され、この
同時に点火された2個のうちの一方の点火プラグは排気
行程で点火されるので、いわゆる捨火方式の点火方式が
とられる。符号3はエンジン1の燃焼室で、この燃焼室
3には、吸気管4および排気管5が連通され、各連通口
には吸気バルブ6および排気バルブ7がそれぞれ配設さ
れている。吸気管4の途中にはスロットル弁8が設けら
れ、このスロットル弁8の下流には負圧センサ又は絶対
圧センサ(以下単に「吸気圧センサ」という)9が設け
られており、この吸気圧センサ9によって電気信号に変
換された吸気管内圧力信号はECU2に送られる。またエン
ジン1の気筒周壁部には冷却水が充満され、この部分に
サーミスタ等からなるエンジン水温センサ11が挿着され
ている。このエンジン水温センサ11の検出信号はECU2に
供給される。12はピストンで、このピストン12がコネク
チングロッド13を介してクランク軸14に連結されてい
る。そして、このクランク軸14にその回転に応じて後述
の第5図(a),(b)に示すような第1および第2の
パルス信号Pc1,Pc2を発生するパルス発生機構が配設さ
れている。即ち、まずクランク軸14に回転円板15が取付
けられ、その円周部に、強磁性材製の凸起体で形成され
たリアクタ16a〜16gが円周上1個所を除く等分位置、例
えば45゜の角度間隔で突設されている。リアクタは図示
の例で云えばリアクタ16dと16eの間で1個所だけ欠落さ
れ、この欠落部の角度間隔は90゜とされている。なお、
リアクタは凸起体に限らず回転円板に磁性体を埋設して
もよい。回転円板15の外部には、その円周部に沿って、
磁石体17a,18aにコイル17b,18bを巻廻して形成した第1,
第2の電磁ピックアップ(以下「パルサ」という)17,1
8が配設されている。第1および第2のパルサ17,18の配
設角度間隔は、適用されるエンジンの上死点間隔、気筒
数等に対応して規定され、図示例では上死点間隔180゜
の直列4気筒エンジンに適用した場合が示されていて、
2個のパルサ17,18間の配設角度間隔は約180゜に規定さ
れている。 一方、ECU2には、まずこれをブロックで大別すると、
入力回路19、入力出力LSI(以下「I/O・LSI」という)2
1、中央演算装置(以下「CPU」という)22、A/Dコンバ
ータ23、および第1,第2の出力回路24a,24bが備えられ
ている。さらに入力回路19には第1および第2のパルサ
17,18でそれぞれ発生した第1および第2のパルス信号P
c1,Pc2(後述の第5図(a),(b))を波形整形する
波形整形回路25,26とこの各波形成形回路25,26からの出
力をそれぞれラッチする第1および第2のフリップフロ
ップ回路27,28が配設されている。第1のフリップフロ
ップ回路27はその出力の出力線がI/O・LSI21を介して
CPU22のINT端子(図示せず)に接続され、また第2のフ
リップフロップ回路28はそのQ出力の出力線がI/O・LSI
21を介してCPU22のSTATUS端子(図示せず)に接続され
ている。符号29は第1および第2のフリップフロップ回
路27,28に対するクリア信号線である。 CPU22は、通電時期および点火時期を演算するための
各種プログラムを実行するもので、その内部に上記の演
算プログラム、後述するNe・PB−θigマップ、Tw−Δθ
igテーブル、およびバンク角テーブル等を記憶するリー
ドオンリメモリ(以下「ROM」という)31、ならびに上
記の演算結果等を記憶するためのランダムアクセスメモ
リ(以下「RAM」という)32、入出力用のバッファ33が
備えられ、さらにこのCPU内に通電カウンタとして作用
する内部カウンタ34が配設されている。符号34a及び34b
はRAM32内の前記通電時期データを記憶するレジスタを
示し、破線で示す符号35a及び35bはコンパレータでこれ
らのコンパレータ35a及び35bは前記内部カウンタ34の計
数値と各レジスタ34a,34bの夫々の通電時期データの記
憶内容とを比較し、計数値と記憶値とが一致したときCP
U22のON−PORT端子22a,22bに所定の高レベル(以下これ
を「1」レベル又は「H」レベルという)を出力するプ
ログラム上の処理を図式的に示すものである。 CPU22のON−PORT端子22aに点火プラグ10a側の通電信
号として出力された「1」レベル、及びON−PORT端子22
bに点火プラグ10b側の通電信号として出力された「1」
レベルは夫々I/O・LSIを介して第1及び第2の出力回路
24a,24bへの各通電信号線40a,40bに導かれる。 一方、I/O・LSI21には点火プラグ10aに対する第1の
点火カウンタ36、及び他の点火プラグ10bに対する第2
の点火カウンタ37が配設されている。符号38は点火プラ
グ10a側の点火時期(通電停止時期)データをラッチす
るための点火レジスタ、符号39は点火プラグ10b側の点
火時期データをラッチするための点火レジスタ、42,43
は第1,第2のコンパレータである。第1,第2の点火カウ
ンタ36,37にはCPU22から起動信号線がそれぞれ接続され
ている。そして第1のコンパレータ42の出力線44aが第
1の出力回路24aに通じ、第2のコンパレータ43の出力
線44bが第2の出力回路24bに通じている。符号45,46
は、第1および第2の点火コイルで、これらの点火コイ
ル45,46にはそれぞれ図示省略の1次コイルおよび2次
コイルが備えられている。第1の点火コイル45における
1次コイルには、第1の出力回路24aからの出力線が接
続され、2次コイルは点火プラグ10aに接続されてい
る。また第2の点火コイル46における1次コイルには、
第2の出力回路24bからの出力線が接続され、2次コイ
ルは他の点火プラグ10bに接続されている。I/O・LSI21
の部分における符号47は後述するMeタイマーである。 次に第2図乃至第5図を参照して電子点火制御装置の
作用を説明する。第2図はCPU22で実行されるメインル
ーチンの大略のフローチャート、第3図はMe(エンジン
回転数Neの逆数)の計算およびこのMeの値からエンジン
回転数Neの値を判定するためのサブルーチンのフローチ
ャート、第4図は通電時期等制御用の割込処理プログラ
ムINTのフローチャート、第5図(a)〜(h)は第1
および第2のパルス信号等のタイミングチャートであ
る。 まず第2図によりCPU22で実行されるメインルーチン
の大略を説明する。図示省略のイグニションスイッチが
投入されると、その直後にCPU22等の初期化処理が行わ
れて、CPU22により第2図のメインルーチンの1回目の
実行がなされる。なお、それ以後は、メインルーチン
は、第1のパルスPc1がCPU22に入力される毎に実行され
る。このようにしてメインルーチンに入ると、まずステ
ップ51でクランク角度の基準位置検出が行われる。基準
位置検出後、クランク軸14の1回転するに要した時間Me
の計算、およびこのMe値に基づくエンジン回転数Neの値
の判定(ステップ52)、進角データθigの演算およびこ
の演算値のRAM32へのストア処理(ステップ53)、通電
時間Tonの演算およびこの演算値のRAM32へのストア処理
(ステップ54)、進角データθigおよび通電時間Tonに
よる通電停止時期、即ち点火時期データTigおよび通電
時期データTcgの演算およびこれら演算値のRAM32へのス
トア処理(ステップ55)が順次行われ、このような各演
算処理が、後述する割込処理プログラムINTが実行され
ないときに繰返えされる。 次いで、上記各ステップにおける処理を詳述する。基
準位置検出のステップ51では、第5図に示すように第1
のパルス信号Pc1がCPU22に入力すると、CPU22は第2の
フリップフロップ回路28のQ出力(第5図(d))が
「H」レベルにあるか、「L」レベルにあるかを識別す
る。このとき第1のパルス信号Pc1の入力したタイミン
グで第2のフリップフロップ回路28のQ出力が「L」レ
ベルになっている箇所(第5図(d)中k線の箇所)が
クランク軸14の1回転当りに1回存在する。このときの
クランク角度位置を基準クランク角度位置qと規定す
る。基準クランク角度位置qの検出後、第1のパルス信
号Pc1の各発生間隔をステージと定義して各ステージに
ステージ番号を付番する。この番号の割付け方はエンジ
ン1のバンク角により種々に規定することができ、基準
クランク角度位置qの検出されたステージを何番とする
かはエンジンの仕様ごとにROM31に記憶されている。第
5図(a)の例では、基準位置qを検出したときのステ
ージをステージ1と付番し、以下ステージ2、3…と付
番される。なお、基準クランク角度位置qの検出処理
は、上記のように便宜的にステージ番号を付番して後述
の各種処理を行うために実行されるものであり、メイン
ルーチンに入るために実行されるものではない。 基準クランク角度位置qの検出処理を実行した後、ス
テップ52でMeの計算及びエンジン回転数Neの判定が行わ
れる。これらの処理は第3図のサブルーチンで実行され
る。即ち、第3図のステップ56、57では、クランク軸14
が1ステージ分、即ち、クランク角度45゜相当回転する
のに要する時間の平均値Tsを移動平均により求める。先
ず、ステップ56で、Meタイマ47によりクロックパルスで
逐次計測される第1のパルス信号Pc1の各発生時間間隔T
si(i=1〜7)(第5図(a))の最新値(直前のス
テージの時間間隔)が取り込まれ、この最新値と、すで
に計測されているそれ以前の発生時間間隔Tsiとに基づ
いて、クランク軸1回転分の発生時間間隔Tsiの合計時
間Meが演算される。次に、ステップ57で、この合計時間
Meからクランク軸14が1ステージ分、云い換えればクラ
ンク角度45゜相当分回転するのに要する時間の平均値Ts
をTs=Me÷8により演算する。さらに、合計時間Meから
クランク角度1゜相当分回転するのに要する時間ΔTを
ΔT=Ts÷45により演算する。このように求めた平均値
Tsと時間ΔTをRAM32にストアし、後述の点火時期Tig等
の演算処理に備える。 次に、現在のエンジン回転数Neが高速回転領域にある
か否かを判定するため、Me値からエンジン回転数Neが所
定回転数NIGAc以上であるか否かを判別する(ステップ5
8)。この判別結果が肯定(Yes)であれば、フラグN2に
1を立て(ステップ59)、否定(No)であればフラグN2
を0とする(ステップ60)。このフラグN2は後述するエ
ンジンの急加減速時のTig値およびTcg値の加速補正を実
行してもよいか否かを判別するためのものでエンジン回
転数Neが所定値NIGAc以上の高速時には演算処理時間が
充分に確保できなくなるために加速補正が禁止される。
なおステップ58の判別値NIGAcは制御の安定化を図るた
めにヒステリシスを設け、エンジン回転数Neがこの判別
値NIGAcを超えたときと下廻るときとで異なる値に設定
するようにしてもよい。 メインルーチンでは、次のステップ53で基準クランク
角度位置qからの進角データθigの演算と、この演算結
果のストアを実行する。進角データθigは、Me値と、吸
気圧センサ9およびエンジン水温センサ11でそれぞれ検
出された吸気管内圧力PBおよびエンジン水温Twの各値か
ら次の(1)式にしたがって演算される。 θig=θigmap+Δθig ……(1) ここにθigmapは、基本進角データを示し、エンジン
回転数Neと吸気管内圧力PBとの関数(θigmap=f(Ne,
PB))であり、ROM31に記憶されているNe・PB−θigの
マップから読み出される。Δθigは進角データの補正値
で、例えばその値はエンジン温度Twの関数(Δθig=f
(Tw))として求められ、ROM31に記憶されているTw−
Δθigテーブルから読み出される。なお、進角データθ
igの値は、最大進角度θig′(例えば60゜)の値を上限
として規定され、上記のようにして求められた値がこの
最大進角度θig′を超えたときは、この最大進角度θi
g′の値に補正される。このようにして求められた進角
データθigはRAM33にストアされる。 次いで、ステップ54で通電時間Tonの演算と、この演
算結果のストアを実行する。通電時間Tonは次の(2)
式に示すようにエンジン回転数Neのみの関数で上記と同
様にROM31に記憶されているNe−Tonテーブルから読み出
される。 Ton=f(Ne) ……(2) このようにして求められた通電時間データTonはRAM32
にストアされる。 進角データθigおよび通電時間データTonが求められ
たのち、ステップ55でこれらの値に基づいて点火時期デ
ータTigおよび通電時期データTcgが演算される。まず、
点火時期データTigについて述べると、エンジンのバン
ク角および各気筒ごとに、クランク角度基準位置qから
最大進角度θig′だけ進角した位置のステージ番号(第
5図(a)の例ではステージ6)と、そのステージの開
始端におけるクランク角度位置q′と最大進角度位置間
のクランク角度を表わす角度データ(第5図(a))と
がROM31に記憶されている。CPU22は、これらの角度デー
タおよび進角データθig等をROM31およびRAM32からそれ
ぞれ読み出し、ステージ6パルスq′からの角度DEGを
次の(3)式により演算する。 DEG=θig′−θig+角度データ ……(3) 次いで、この角度DEGから点火時期データTigを(4)
式により演算する。 Tig=ΔT×DEG ……(4) ここにΔTは前記第3図のステップ57でRAM32に記憶
したクランク軸14がクランク角度で1゜だけ回転するの
に要する時間である。 また通電時期データTcgについては、上記のようにし
て求めた点火時期データTigおよび通電時間データTonか
ら次の(5)式により演算する。 Tcg=|m×Ts−(Ton−Tig)| ……(5) ここにmは最大進角度θig′だけ進角した位置のステ
ージ(第5図の図示例ではステージ6)以前の点火コイ
ルに通電を開始するステージまでのステージ数(第5図
の図示例ではm=1)、Tsは第3図のステップ52で求め
たクランク軸が45゜クランク角度進むに要する時間の平
均値である。上記の各演算値はRAM32にストアされる。 次いで通電および点火の実行を第4図のフローチャー
トにより説明する。第4図に示す割込演算処理プログラ
ムINTは、第1のフリップフロップ回路27から出力がC
PU22に入力する毎に最優先順位で実行される。即ち、割
込プログラムINTは第1のパルサ17により所定クランク
角度位置を検出する毎に実行され、この割込プログラム
INTが実行されるときには今まで実行していたプログラ
ムの処理中断位置(スタックポイント)が図示しないス
タックレジスタに記憶された後に、演算処理がそのプロ
グラムから割込プログラムINTに移る。 先ず、ステップ61では前回の所定クランク角度位置検
出時に実行開始された割込プログラムINTの処理が未だ
終了せず、この割込処理中に今回の割込処理が実行され
たものであるか否かを判別する。この答が否定(No)の
場合にはステップ63でMeタイマ47から前記パルス信号Pc
1の発生時間間隔の今回計測値Ts(n)を読み込み、こ
れを記憶した後、Meタイマ47をリセットすると同時に再
スタートさせる。次いで、ステップ64で、前回ループの
後述するステップ70において更新したSTG値、即ち今回
ステージが点火カウンタ36のカウントを開始すべき点火
ステージ(例えばステージ6)であるか否かを判別す
る。この判別結果が肯定(Yes)であればCPU22は点火カ
ウンタ36に起動信号を送出して、この点火カウンタ36を
スタートさせ(ステップ65、第5図(f))、ステップ
66に進む。ステップ64の判別結果が否定(No)であれば
直接ステップ66に進み、CPU22のON−PORT端子22aに
「1」レベルを出力する。このON−PORT端子22aに現わ
れる「1」レベルは通電信号線40aを介して第1の出力
回路24aに供給されるが、この第1の出力回路24aはON−
PORT端子22aの出力が「0」から「1」に反転したとき
のみ点火コイル45への通電を開始させることが出来るも
のである。従って、ON−PORT端子22aの出力レベルがも
ともと「1」であれば、これに「1」レベルを再度出力
しても第1の出力回路24aの作動に何ら変化がないが、
後述するようにON−PORT端子22aに一旦「0」レベルを
出力させて待機状態にしておくと本ステップ66が実行さ
れることにより強制的に点火コイル45への通電を開始さ
せることが出来る。 次に、ステップ67に進み、通電カウンタたる内部カウ
ンタ34をスタートさせる(第5図(g))。通電カウン
タ34はこの割込処理プログラムの実行ごとにスタートす
ることになる。次いで、ステップ68に進み、前記第3図
のステップ59又は60で設定されたフラグN2の値が値1で
あるか否かを判別する。この判別結果が肯定(Yes)で
あれば通電時期データTcgおよび点火時期データTigの加
速補正は行わずに次のステップ70に進む。一方、ステッ
プ68の判別結果が否定(No)でエンジン回転数Neが高回
転領域になければサブルーチンTHSIが実行され点火時期
データTigおよび通電時期データTcgについて公知の加速
補正が行われ、RAM32に記憶されているTigおよびTcg値
が補正された値に下記換えられる(ステップ69)。そし
てこのような加速補正を行ったのちに前記と同様にステ
ップ70に処理を進める。 ステップ70ではステージ位置を表わす変数STGの値を
値1だけインクリメントする。この変数値STGは上述の
通りステージ番号に対応するので、その値がインクリメ
ントした結果値8になると値0に更新される。そして、
この変数値STGは次回ループにおけるステージ判別に使
用される。 そして、ステップ71においてRAM32にストアされてい
る点火時期データTigを点火カウンタ回路36のレジスタ
に設定する。ステップ71において点火レジスタにはエン
ジン回転数Neが高回転領域にないかぎり、前記ステップ
69のサブルーチンTHSTの実行により加速補正された最新
の点火時期データTigが設定されることになる。又、上
述の説明から明らかなようにステップ71は本割込演算プ
ログラムINTの実行により必ず実行されるのでTigデータ
はその都度書換えられることになる(第5図(f))。 次いで、ステップ72では今回検出ステージが通電ステ
ージであるか否かを判別する。この判別結果が否定(N
o)であれば、後述するように通電レジスタ34aの設定値
と、前記ステップ67でスタートさせた通電カウンタ34の
計数値Tとの比較を実行せずにこの割込処理を終了させ
る。従って、前記ステップ67で通電カウンタ34をスター
トさせたものの、CPU22は今回ステージにおいて、第1
の出力回路24aに通電信号を出力することはない。ステ
ップ72の判別結果が肯定(Yes)であればステップ73に
進み、RAM32にストアされている通電時期データTcgを通
電レジスタ34aに設定する。そして、ステップ74に進
み、CPU22を再割込み処理受付け可能状態にすると共にC
PU22のON−PORT端子22aに「0」レベルを出力する。第
4図に示す割込み処理において以上に述べた処理は欠く
ことが出来ない処理であるのでステップ73に至るプログ
ラム処理中に次の割込要求が到来しても受け付けること
が出来ないが、ステップ73以降では受付け可能となる。
もっとも、ステップ61からステップ73に至るプログラム
の実行はエンジンが許容最高回転数で運転されていると
きであっても次のPc1パルスが発生する前に完了させる
ことが出来るので通常ステップ61乃至73の各処理実行中
に再割込処理の要求が生じることはない。又、CPU22のO
N−PORT端子22aに現われる「0」レベルは前述した通り
通電信号線40aを介して第1の出力回路24aを待機状態と
し、この待機状態により第1の出力回路24aは後述するO
N−PORT端子22aの出力の「0」レベルから「1」レベル
への反転時に点火コイル45への通電を開始させることが
できる。 次いで、ステップ75に進み、通電カウンタ34の計数値
Tと、当該通電時期データTcgとを比較し、計数値Tが
通電時期データTcgに一致する迄該ステップ75が繰返し
実行される。即ち、通電ステージにおいては通電時期Tc
gが経過する迄は再割込処理の要求がない限り、当該割
込処理プログラムINTが終了することがない。 計数値Tが通電時期データTcgを超えたとき、CPU22は
前記ON−PORT端子22aに「1」レベルを出力し、前述し
た通り第1の出力回路24aに通電信号を送出して第1の
点火コイル45の1次コイルに通電を開始させ(ステップ
76、第5図の(g)及び(h))、本プログラムを終了
する。 以上はステップ74以降に再割込要求がなかった場合の
制御手順であるが、エンジンの急加速により回転数が急
激に上昇してステップ75の処理実行中に次のPc1パルス
が発生した場合には実行中の処理を中断してステップ61
が再び実行される。このとき、ステップ61の判別結果が
肯定(Yes)となり、ステップ62に進み、スタックポイ
ントの再セットが行われる。即ち、今回の再割込要求が
生じたとき前記スタックレジスタには再割込要求が生じ
た時点のスタックポイント、即ちステップ75におけるス
タックポイントがストアされることになるがこのスタッ
クポイントは中断させた前記処理を再び実行することが
なくストアしておく必要がないので消去されるととも
に、前回割込処理要求が生じたときにストアしたスタッ
クポイントを前記スタックレジスタの最新のスタックに
ストアする。従って、今回の再割込により実行される割
込処理プログラムINTのすべての処理が終了したとき、
前回の割込処理の要求が生じた第2図のメインプログラ
ムのスタックポイントに戻されることになる。 次いで、前記ステップ66に進み、CPU22のON−PORT端
子22aに「1」レベルを出力し、第1の出力回路24aに第
1点火コイル45へ通電を開始させる。このとき、前記設
定された通電時期Tcgは未だ到来していないが、ステッ
プ66の実行により第1点火コイル45へ強制的に通電が開
始させることになる。 前記ステップ67でCPU22からの起動信号により、外部
点火カウンタ36が計数を開始すると、コンパレータ42は
CPU22とは係りなくカウンタ36の計数値と、レジスタ38
に設定され、割込処理が実行される毎に最新値に更新さ
れる点火時期データTig(第5図(f))とを比較し、
計数値が点火時期データTigを超えたときに通電停止信
号、即ち点火信号を第1の出力回路24aに供給し、第1
の点火コイル45における1次コイルへの通電を停止させ
る。これにより2次コイルに高電圧が発生し、点火プラ
グ10aに火花放電が生じ点火が行われる。 他の気筒側の点火プラグ10bに対する通電時期および
点火時期の処理についても、通電および点火のステージ
が異なるだけで、その他は上記とほぼ同様であるので説
明を省略する。 (発明の効果) 以上説明したように、本発明の内燃エンジンの電子点
火時期制御方法に依れば、内燃エンジンのクランクの1
回転中でそれぞれ検出される点火コイルの設定に係る通
電開始時期の直前の第1のクランク角度位置と、該第1
のクランク角度位置の前に検出される第2のクランク角
度位置と、該第1のクランク角度位置の次に検出される
第3のクランク角度位置とを少なくとも有し、前記第1
のクランク角度位置を検出したとき、該第1のクランク
角度位置を検出した時から前記設定に係る通電開始時期
が経過したか否かを判別し、該通電開始時期に至ったと
き前記点火コイルに通電を開始し、前記通電開始時期に
至る前に前記第3のクランク角度位置を検出したとき前
記点火コイルに強制的に通電を開始する内燃エンジンの
電子点火時期制御方法であって、前記第1のクランク角
度位置と第2のクランク角度位置との検出時間差であっ
て、他の複数のクランク角度位置間の検出時間差と移動
平均された最新の検出時間差に応じたクランクの回転速
度に基づいて該第1のクランク角度位置からカウントを
開始すべき前記点火コイルの通電開始時期を変更するよ
うにしたので、例えばエンジンの急加速時等においても
所要の点火時期に適正に点火を実行させることが出来
る。
し、特に所定のクランク角度位置信号の発生毎に割込処
理で実行される演算処理プログラムの実行中に次の割込
信号が入力した場合の電子点火時期制御方法に関する。 (発明の技術的背景とその問題点) 内燃エンジンに供給される混合気を所要のクランク角
度位置で確実に点火させるために、エンジン運転状態に
応じた点火時期と点火コイル通電期間を設定する一方、
複数のクランク角度位置、例えば気筒の上死点(TDC)
位置を基準として所定クランク角宛離隔したクランク角
度位置を検出し、上述の設定した点火時期及び点火コイ
ル通電期間とにより所定クランク角度位置からの点火コ
イル通電時期を演算し、点火コイルの通電開始直前の所
定クランク角度位置が検出されたときからの経過時間が
演算した通電時期に至ったか否かを判別して、該通電時
期に至ったとき点火コイルの通電を開始すると共に、上
記点火時期を角度・時間変換して通電停止時期を求め、
点火コイルの通電停止直前の所定クランク角度位置が検
出されたときからの経過時間が演算した通電停止時期に
至ったか否かを判別して、該通電停止時期に至ったとき
点火コイルの通電を停止し、この通電停止時に点火栓に
放電を発生させ混合気を点火する電子点火時期制御方法
が知られている。 斯かる制御方法において、検出したクランク角度位置
が点火コイル通電開始又は通電停止直前の所定クランク
角度位置であるか否かの判別、通電時期が経過したか否
かの判別等は前記クランク角度位置の検出と同時に最優
先順位の演算処理プログラムを割込処理で実行させてこ
のプログラムの実行により処理するようにしている。然
るに、この最優先順位の割込演算処理プログラムの実行
中にエンジン回転数の急変、例えば急加速により次のク
ランク角度位置が検出されてしまった場合、実行中のプ
ログラムの処理をすべて完了させた後に次の割込演算処
理プログラムの実行を開始するようにするとすれば、こ
の次に実行される割込演算処理プログラムの演算処理が
遅れることになる。特にこの次の割込演算処理で点火コ
イルの通電停止時期の経過を判別して点火を実行させる
処理である場合には適正な点火時期に点火させることが
困難となる。 (発明の目的) 本発明は斯かる問題点を解決するためになされたもの
で、最優先順位の割込演算処理プログラム実行中に次の
割込演算処理プログラムを実行すべき時期が到来したと
しても所要の点火時期に適正に点火を実行させる内燃エ
ンジンの電子点火時期制御方法を提供することを目的と
する。 内燃エンジンのクランクの1回転中でそれぞれ検出さ
れる点火コイルの設定に係る通電開始時期の直前の第1
のクランク角度位置と、該第1のクランク角度位置の前
に検出される第2のクランク角度位置と、該第1のクラ
ンク角度位置の次に検出される第3のクランク角度位置
とを少なくとも有し、前記第1のクランク角度位置を検
出したとき、該第1のクランク角度位置を検出した時か
ら前記設定に係る通電開始時期が経過したか否かを判別
し、該通電開始時期に至ったとき前記点火コイルに通電
を開始し、前記通電開始時期に至る前に前記第3のクラ
ンク角度位置を検出したとき前記点火コイルに強制的に
通電を開始する内燃エンジンの電子点火時期制御方法で
あって、前記第1のクランク角度位置と第2のクランク
角度位置との検出時間差であって、他の複数のクランク
角度位置間の検出時間差と移動平均された最新の検出時
間差に応じたクランクの回転速度に基づいて該第1のク
ランク角度位置からカウントを開始すべき前記点火コイ
ルの通電開始時期を変更することを特徴とする内燃エン
ジンの電子点火時期制御方法が提供される。 (発明の実施例) 以下、この発明の実施例を図面を参照して説明する。 第1図は本発明が適用された電子点火制御装置の全体
構成図で図中符号1は直列4気筒エンジン、2は電子コ
ントロールユニット(以下「ECU」という)でエンジン
1は直列4気筒エンジン以外にも気筒挟角(これを以下
「バンク角」という)が45゜,60゜,90゜,128゜,135゜等
のエンジンであってもよい。第1図は複数気筒のうちの
1個の気筒の要部を一部断面で示してある。符号10a,10
bは点火プラグで、図には2個だけが示されているが、
この点火プラグはそれぞれの気筒に格別に取付けられて
いる。そして後述するように各点火プラグ10a,10bは各
別に設けられた点火コイルに接続されて、ディストリビ
ュータ無しの点火方式とされている。4気筒のエンジン
に対しては、符号10aの点火プラグに図示省略の他の1
個の点火プラグが電気的に直列接続され、これと同様に
符号10bの点火プラグに対しても図示省略の外の1個の
点火プラグが電気的に直列接続される。直列接続された
各2個の点火プラグは同一の点火信号で点火され、この
同時に点火された2個のうちの一方の点火プラグは排気
行程で点火されるので、いわゆる捨火方式の点火方式が
とられる。符号3はエンジン1の燃焼室で、この燃焼室
3には、吸気管4および排気管5が連通され、各連通口
には吸気バルブ6および排気バルブ7がそれぞれ配設さ
れている。吸気管4の途中にはスロットル弁8が設けら
れ、このスロットル弁8の下流には負圧センサ又は絶対
圧センサ(以下単に「吸気圧センサ」という)9が設け
られており、この吸気圧センサ9によって電気信号に変
換された吸気管内圧力信号はECU2に送られる。またエン
ジン1の気筒周壁部には冷却水が充満され、この部分に
サーミスタ等からなるエンジン水温センサ11が挿着され
ている。このエンジン水温センサ11の検出信号はECU2に
供給される。12はピストンで、このピストン12がコネク
チングロッド13を介してクランク軸14に連結されてい
る。そして、このクランク軸14にその回転に応じて後述
の第5図(a),(b)に示すような第1および第2の
パルス信号Pc1,Pc2を発生するパルス発生機構が配設さ
れている。即ち、まずクランク軸14に回転円板15が取付
けられ、その円周部に、強磁性材製の凸起体で形成され
たリアクタ16a〜16gが円周上1個所を除く等分位置、例
えば45゜の角度間隔で突設されている。リアクタは図示
の例で云えばリアクタ16dと16eの間で1個所だけ欠落さ
れ、この欠落部の角度間隔は90゜とされている。なお、
リアクタは凸起体に限らず回転円板に磁性体を埋設して
もよい。回転円板15の外部には、その円周部に沿って、
磁石体17a,18aにコイル17b,18bを巻廻して形成した第1,
第2の電磁ピックアップ(以下「パルサ」という)17,1
8が配設されている。第1および第2のパルサ17,18の配
設角度間隔は、適用されるエンジンの上死点間隔、気筒
数等に対応して規定され、図示例では上死点間隔180゜
の直列4気筒エンジンに適用した場合が示されていて、
2個のパルサ17,18間の配設角度間隔は約180゜に規定さ
れている。 一方、ECU2には、まずこれをブロックで大別すると、
入力回路19、入力出力LSI(以下「I/O・LSI」という)2
1、中央演算装置(以下「CPU」という)22、A/Dコンバ
ータ23、および第1,第2の出力回路24a,24bが備えられ
ている。さらに入力回路19には第1および第2のパルサ
17,18でそれぞれ発生した第1および第2のパルス信号P
c1,Pc2(後述の第5図(a),(b))を波形整形する
波形整形回路25,26とこの各波形成形回路25,26からの出
力をそれぞれラッチする第1および第2のフリップフロ
ップ回路27,28が配設されている。第1のフリップフロ
ップ回路27はその出力の出力線がI/O・LSI21を介して
CPU22のINT端子(図示せず)に接続され、また第2のフ
リップフロップ回路28はそのQ出力の出力線がI/O・LSI
21を介してCPU22のSTATUS端子(図示せず)に接続され
ている。符号29は第1および第2のフリップフロップ回
路27,28に対するクリア信号線である。 CPU22は、通電時期および点火時期を演算するための
各種プログラムを実行するもので、その内部に上記の演
算プログラム、後述するNe・PB−θigマップ、Tw−Δθ
igテーブル、およびバンク角テーブル等を記憶するリー
ドオンリメモリ(以下「ROM」という)31、ならびに上
記の演算結果等を記憶するためのランダムアクセスメモ
リ(以下「RAM」という)32、入出力用のバッファ33が
備えられ、さらにこのCPU内に通電カウンタとして作用
する内部カウンタ34が配設されている。符号34a及び34b
はRAM32内の前記通電時期データを記憶するレジスタを
示し、破線で示す符号35a及び35bはコンパレータでこれ
らのコンパレータ35a及び35bは前記内部カウンタ34の計
数値と各レジスタ34a,34bの夫々の通電時期データの記
憶内容とを比較し、計数値と記憶値とが一致したときCP
U22のON−PORT端子22a,22bに所定の高レベル(以下これ
を「1」レベル又は「H」レベルという)を出力するプ
ログラム上の処理を図式的に示すものである。 CPU22のON−PORT端子22aに点火プラグ10a側の通電信
号として出力された「1」レベル、及びON−PORT端子22
bに点火プラグ10b側の通電信号として出力された「1」
レベルは夫々I/O・LSIを介して第1及び第2の出力回路
24a,24bへの各通電信号線40a,40bに導かれる。 一方、I/O・LSI21には点火プラグ10aに対する第1の
点火カウンタ36、及び他の点火プラグ10bに対する第2
の点火カウンタ37が配設されている。符号38は点火プラ
グ10a側の点火時期(通電停止時期)データをラッチす
るための点火レジスタ、符号39は点火プラグ10b側の点
火時期データをラッチするための点火レジスタ、42,43
は第1,第2のコンパレータである。第1,第2の点火カウ
ンタ36,37にはCPU22から起動信号線がそれぞれ接続され
ている。そして第1のコンパレータ42の出力線44aが第
1の出力回路24aに通じ、第2のコンパレータ43の出力
線44bが第2の出力回路24bに通じている。符号45,46
は、第1および第2の点火コイルで、これらの点火コイ
ル45,46にはそれぞれ図示省略の1次コイルおよび2次
コイルが備えられている。第1の点火コイル45における
1次コイルには、第1の出力回路24aからの出力線が接
続され、2次コイルは点火プラグ10aに接続されてい
る。また第2の点火コイル46における1次コイルには、
第2の出力回路24bからの出力線が接続され、2次コイ
ルは他の点火プラグ10bに接続されている。I/O・LSI21
の部分における符号47は後述するMeタイマーである。 次に第2図乃至第5図を参照して電子点火制御装置の
作用を説明する。第2図はCPU22で実行されるメインル
ーチンの大略のフローチャート、第3図はMe(エンジン
回転数Neの逆数)の計算およびこのMeの値からエンジン
回転数Neの値を判定するためのサブルーチンのフローチ
ャート、第4図は通電時期等制御用の割込処理プログラ
ムINTのフローチャート、第5図(a)〜(h)は第1
および第2のパルス信号等のタイミングチャートであ
る。 まず第2図によりCPU22で実行されるメインルーチン
の大略を説明する。図示省略のイグニションスイッチが
投入されると、その直後にCPU22等の初期化処理が行わ
れて、CPU22により第2図のメインルーチンの1回目の
実行がなされる。なお、それ以後は、メインルーチン
は、第1のパルスPc1がCPU22に入力される毎に実行され
る。このようにしてメインルーチンに入ると、まずステ
ップ51でクランク角度の基準位置検出が行われる。基準
位置検出後、クランク軸14の1回転するに要した時間Me
の計算、およびこのMe値に基づくエンジン回転数Neの値
の判定(ステップ52)、進角データθigの演算およびこ
の演算値のRAM32へのストア処理(ステップ53)、通電
時間Tonの演算およびこの演算値のRAM32へのストア処理
(ステップ54)、進角データθigおよび通電時間Tonに
よる通電停止時期、即ち点火時期データTigおよび通電
時期データTcgの演算およびこれら演算値のRAM32へのス
トア処理(ステップ55)が順次行われ、このような各演
算処理が、後述する割込処理プログラムINTが実行され
ないときに繰返えされる。 次いで、上記各ステップにおける処理を詳述する。基
準位置検出のステップ51では、第5図に示すように第1
のパルス信号Pc1がCPU22に入力すると、CPU22は第2の
フリップフロップ回路28のQ出力(第5図(d))が
「H」レベルにあるか、「L」レベルにあるかを識別す
る。このとき第1のパルス信号Pc1の入力したタイミン
グで第2のフリップフロップ回路28のQ出力が「L」レ
ベルになっている箇所(第5図(d)中k線の箇所)が
クランク軸14の1回転当りに1回存在する。このときの
クランク角度位置を基準クランク角度位置qと規定す
る。基準クランク角度位置qの検出後、第1のパルス信
号Pc1の各発生間隔をステージと定義して各ステージに
ステージ番号を付番する。この番号の割付け方はエンジ
ン1のバンク角により種々に規定することができ、基準
クランク角度位置qの検出されたステージを何番とする
かはエンジンの仕様ごとにROM31に記憶されている。第
5図(a)の例では、基準位置qを検出したときのステ
ージをステージ1と付番し、以下ステージ2、3…と付
番される。なお、基準クランク角度位置qの検出処理
は、上記のように便宜的にステージ番号を付番して後述
の各種処理を行うために実行されるものであり、メイン
ルーチンに入るために実行されるものではない。 基準クランク角度位置qの検出処理を実行した後、ス
テップ52でMeの計算及びエンジン回転数Neの判定が行わ
れる。これらの処理は第3図のサブルーチンで実行され
る。即ち、第3図のステップ56、57では、クランク軸14
が1ステージ分、即ち、クランク角度45゜相当回転する
のに要する時間の平均値Tsを移動平均により求める。先
ず、ステップ56で、Meタイマ47によりクロックパルスで
逐次計測される第1のパルス信号Pc1の各発生時間間隔T
si(i=1〜7)(第5図(a))の最新値(直前のス
テージの時間間隔)が取り込まれ、この最新値と、すで
に計測されているそれ以前の発生時間間隔Tsiとに基づ
いて、クランク軸1回転分の発生時間間隔Tsiの合計時
間Meが演算される。次に、ステップ57で、この合計時間
Meからクランク軸14が1ステージ分、云い換えればクラ
ンク角度45゜相当分回転するのに要する時間の平均値Ts
をTs=Me÷8により演算する。さらに、合計時間Meから
クランク角度1゜相当分回転するのに要する時間ΔTを
ΔT=Ts÷45により演算する。このように求めた平均値
Tsと時間ΔTをRAM32にストアし、後述の点火時期Tig等
の演算処理に備える。 次に、現在のエンジン回転数Neが高速回転領域にある
か否かを判定するため、Me値からエンジン回転数Neが所
定回転数NIGAc以上であるか否かを判別する(ステップ5
8)。この判別結果が肯定(Yes)であれば、フラグN2に
1を立て(ステップ59)、否定(No)であればフラグN2
を0とする(ステップ60)。このフラグN2は後述するエ
ンジンの急加減速時のTig値およびTcg値の加速補正を実
行してもよいか否かを判別するためのものでエンジン回
転数Neが所定値NIGAc以上の高速時には演算処理時間が
充分に確保できなくなるために加速補正が禁止される。
なおステップ58の判別値NIGAcは制御の安定化を図るた
めにヒステリシスを設け、エンジン回転数Neがこの判別
値NIGAcを超えたときと下廻るときとで異なる値に設定
するようにしてもよい。 メインルーチンでは、次のステップ53で基準クランク
角度位置qからの進角データθigの演算と、この演算結
果のストアを実行する。進角データθigは、Me値と、吸
気圧センサ9およびエンジン水温センサ11でそれぞれ検
出された吸気管内圧力PBおよびエンジン水温Twの各値か
ら次の(1)式にしたがって演算される。 θig=θigmap+Δθig ……(1) ここにθigmapは、基本進角データを示し、エンジン
回転数Neと吸気管内圧力PBとの関数(θigmap=f(Ne,
PB))であり、ROM31に記憶されているNe・PB−θigの
マップから読み出される。Δθigは進角データの補正値
で、例えばその値はエンジン温度Twの関数(Δθig=f
(Tw))として求められ、ROM31に記憶されているTw−
Δθigテーブルから読み出される。なお、進角データθ
igの値は、最大進角度θig′(例えば60゜)の値を上限
として規定され、上記のようにして求められた値がこの
最大進角度θig′を超えたときは、この最大進角度θi
g′の値に補正される。このようにして求められた進角
データθigはRAM33にストアされる。 次いで、ステップ54で通電時間Tonの演算と、この演
算結果のストアを実行する。通電時間Tonは次の(2)
式に示すようにエンジン回転数Neのみの関数で上記と同
様にROM31に記憶されているNe−Tonテーブルから読み出
される。 Ton=f(Ne) ……(2) このようにして求められた通電時間データTonはRAM32
にストアされる。 進角データθigおよび通電時間データTonが求められ
たのち、ステップ55でこれらの値に基づいて点火時期デ
ータTigおよび通電時期データTcgが演算される。まず、
点火時期データTigについて述べると、エンジンのバン
ク角および各気筒ごとに、クランク角度基準位置qから
最大進角度θig′だけ進角した位置のステージ番号(第
5図(a)の例ではステージ6)と、そのステージの開
始端におけるクランク角度位置q′と最大進角度位置間
のクランク角度を表わす角度データ(第5図(a))と
がROM31に記憶されている。CPU22は、これらの角度デー
タおよび進角データθig等をROM31およびRAM32からそれ
ぞれ読み出し、ステージ6パルスq′からの角度DEGを
次の(3)式により演算する。 DEG=θig′−θig+角度データ ……(3) 次いで、この角度DEGから点火時期データTigを(4)
式により演算する。 Tig=ΔT×DEG ……(4) ここにΔTは前記第3図のステップ57でRAM32に記憶
したクランク軸14がクランク角度で1゜だけ回転するの
に要する時間である。 また通電時期データTcgについては、上記のようにし
て求めた点火時期データTigおよび通電時間データTonか
ら次の(5)式により演算する。 Tcg=|m×Ts−(Ton−Tig)| ……(5) ここにmは最大進角度θig′だけ進角した位置のステ
ージ(第5図の図示例ではステージ6)以前の点火コイ
ルに通電を開始するステージまでのステージ数(第5図
の図示例ではm=1)、Tsは第3図のステップ52で求め
たクランク軸が45゜クランク角度進むに要する時間の平
均値である。上記の各演算値はRAM32にストアされる。 次いで通電および点火の実行を第4図のフローチャー
トにより説明する。第4図に示す割込演算処理プログラ
ムINTは、第1のフリップフロップ回路27から出力がC
PU22に入力する毎に最優先順位で実行される。即ち、割
込プログラムINTは第1のパルサ17により所定クランク
角度位置を検出する毎に実行され、この割込プログラム
INTが実行されるときには今まで実行していたプログラ
ムの処理中断位置(スタックポイント)が図示しないス
タックレジスタに記憶された後に、演算処理がそのプロ
グラムから割込プログラムINTに移る。 先ず、ステップ61では前回の所定クランク角度位置検
出時に実行開始された割込プログラムINTの処理が未だ
終了せず、この割込処理中に今回の割込処理が実行され
たものであるか否かを判別する。この答が否定(No)の
場合にはステップ63でMeタイマ47から前記パルス信号Pc
1の発生時間間隔の今回計測値Ts(n)を読み込み、こ
れを記憶した後、Meタイマ47をリセットすると同時に再
スタートさせる。次いで、ステップ64で、前回ループの
後述するステップ70において更新したSTG値、即ち今回
ステージが点火カウンタ36のカウントを開始すべき点火
ステージ(例えばステージ6)であるか否かを判別す
る。この判別結果が肯定(Yes)であればCPU22は点火カ
ウンタ36に起動信号を送出して、この点火カウンタ36を
スタートさせ(ステップ65、第5図(f))、ステップ
66に進む。ステップ64の判別結果が否定(No)であれば
直接ステップ66に進み、CPU22のON−PORT端子22aに
「1」レベルを出力する。このON−PORT端子22aに現わ
れる「1」レベルは通電信号線40aを介して第1の出力
回路24aに供給されるが、この第1の出力回路24aはON−
PORT端子22aの出力が「0」から「1」に反転したとき
のみ点火コイル45への通電を開始させることが出来るも
のである。従って、ON−PORT端子22aの出力レベルがも
ともと「1」であれば、これに「1」レベルを再度出力
しても第1の出力回路24aの作動に何ら変化がないが、
後述するようにON−PORT端子22aに一旦「0」レベルを
出力させて待機状態にしておくと本ステップ66が実行さ
れることにより強制的に点火コイル45への通電を開始さ
せることが出来る。 次に、ステップ67に進み、通電カウンタたる内部カウ
ンタ34をスタートさせる(第5図(g))。通電カウン
タ34はこの割込処理プログラムの実行ごとにスタートす
ることになる。次いで、ステップ68に進み、前記第3図
のステップ59又は60で設定されたフラグN2の値が値1で
あるか否かを判別する。この判別結果が肯定(Yes)で
あれば通電時期データTcgおよび点火時期データTigの加
速補正は行わずに次のステップ70に進む。一方、ステッ
プ68の判別結果が否定(No)でエンジン回転数Neが高回
転領域になければサブルーチンTHSIが実行され点火時期
データTigおよび通電時期データTcgについて公知の加速
補正が行われ、RAM32に記憶されているTigおよびTcg値
が補正された値に下記換えられる(ステップ69)。そし
てこのような加速補正を行ったのちに前記と同様にステ
ップ70に処理を進める。 ステップ70ではステージ位置を表わす変数STGの値を
値1だけインクリメントする。この変数値STGは上述の
通りステージ番号に対応するので、その値がインクリメ
ントした結果値8になると値0に更新される。そして、
この変数値STGは次回ループにおけるステージ判別に使
用される。 そして、ステップ71においてRAM32にストアされてい
る点火時期データTigを点火カウンタ回路36のレジスタ
に設定する。ステップ71において点火レジスタにはエン
ジン回転数Neが高回転領域にないかぎり、前記ステップ
69のサブルーチンTHSTの実行により加速補正された最新
の点火時期データTigが設定されることになる。又、上
述の説明から明らかなようにステップ71は本割込演算プ
ログラムINTの実行により必ず実行されるのでTigデータ
はその都度書換えられることになる(第5図(f))。 次いで、ステップ72では今回検出ステージが通電ステ
ージであるか否かを判別する。この判別結果が否定(N
o)であれば、後述するように通電レジスタ34aの設定値
と、前記ステップ67でスタートさせた通電カウンタ34の
計数値Tとの比較を実行せずにこの割込処理を終了させ
る。従って、前記ステップ67で通電カウンタ34をスター
トさせたものの、CPU22は今回ステージにおいて、第1
の出力回路24aに通電信号を出力することはない。ステ
ップ72の判別結果が肯定(Yes)であればステップ73に
進み、RAM32にストアされている通電時期データTcgを通
電レジスタ34aに設定する。そして、ステップ74に進
み、CPU22を再割込み処理受付け可能状態にすると共にC
PU22のON−PORT端子22aに「0」レベルを出力する。第
4図に示す割込み処理において以上に述べた処理は欠く
ことが出来ない処理であるのでステップ73に至るプログ
ラム処理中に次の割込要求が到来しても受け付けること
が出来ないが、ステップ73以降では受付け可能となる。
もっとも、ステップ61からステップ73に至るプログラム
の実行はエンジンが許容最高回転数で運転されていると
きであっても次のPc1パルスが発生する前に完了させる
ことが出来るので通常ステップ61乃至73の各処理実行中
に再割込処理の要求が生じることはない。又、CPU22のO
N−PORT端子22aに現われる「0」レベルは前述した通り
通電信号線40aを介して第1の出力回路24aを待機状態と
し、この待機状態により第1の出力回路24aは後述するO
N−PORT端子22aの出力の「0」レベルから「1」レベル
への反転時に点火コイル45への通電を開始させることが
できる。 次いで、ステップ75に進み、通電カウンタ34の計数値
Tと、当該通電時期データTcgとを比較し、計数値Tが
通電時期データTcgに一致する迄該ステップ75が繰返し
実行される。即ち、通電ステージにおいては通電時期Tc
gが経過する迄は再割込処理の要求がない限り、当該割
込処理プログラムINTが終了することがない。 計数値Tが通電時期データTcgを超えたとき、CPU22は
前記ON−PORT端子22aに「1」レベルを出力し、前述し
た通り第1の出力回路24aに通電信号を送出して第1の
点火コイル45の1次コイルに通電を開始させ(ステップ
76、第5図の(g)及び(h))、本プログラムを終了
する。 以上はステップ74以降に再割込要求がなかった場合の
制御手順であるが、エンジンの急加速により回転数が急
激に上昇してステップ75の処理実行中に次のPc1パルス
が発生した場合には実行中の処理を中断してステップ61
が再び実行される。このとき、ステップ61の判別結果が
肯定(Yes)となり、ステップ62に進み、スタックポイ
ントの再セットが行われる。即ち、今回の再割込要求が
生じたとき前記スタックレジスタには再割込要求が生じ
た時点のスタックポイント、即ちステップ75におけるス
タックポイントがストアされることになるがこのスタッ
クポイントは中断させた前記処理を再び実行することが
なくストアしておく必要がないので消去されるととも
に、前回割込処理要求が生じたときにストアしたスタッ
クポイントを前記スタックレジスタの最新のスタックに
ストアする。従って、今回の再割込により実行される割
込処理プログラムINTのすべての処理が終了したとき、
前回の割込処理の要求が生じた第2図のメインプログラ
ムのスタックポイントに戻されることになる。 次いで、前記ステップ66に進み、CPU22のON−PORT端
子22aに「1」レベルを出力し、第1の出力回路24aに第
1点火コイル45へ通電を開始させる。このとき、前記設
定された通電時期Tcgは未だ到来していないが、ステッ
プ66の実行により第1点火コイル45へ強制的に通電が開
始させることになる。 前記ステップ67でCPU22からの起動信号により、外部
点火カウンタ36が計数を開始すると、コンパレータ42は
CPU22とは係りなくカウンタ36の計数値と、レジスタ38
に設定され、割込処理が実行される毎に最新値に更新さ
れる点火時期データTig(第5図(f))とを比較し、
計数値が点火時期データTigを超えたときに通電停止信
号、即ち点火信号を第1の出力回路24aに供給し、第1
の点火コイル45における1次コイルへの通電を停止させ
る。これにより2次コイルに高電圧が発生し、点火プラ
グ10aに火花放電が生じ点火が行われる。 他の気筒側の点火プラグ10bに対する通電時期および
点火時期の処理についても、通電および点火のステージ
が異なるだけで、その他は上記とほぼ同様であるので説
明を省略する。 (発明の効果) 以上説明したように、本発明の内燃エンジンの電子点
火時期制御方法に依れば、内燃エンジンのクランクの1
回転中でそれぞれ検出される点火コイルの設定に係る通
電開始時期の直前の第1のクランク角度位置と、該第1
のクランク角度位置の前に検出される第2のクランク角
度位置と、該第1のクランク角度位置の次に検出される
第3のクランク角度位置とを少なくとも有し、前記第1
のクランク角度位置を検出したとき、該第1のクランク
角度位置を検出した時から前記設定に係る通電開始時期
が経過したか否かを判別し、該通電開始時期に至ったと
き前記点火コイルに通電を開始し、前記通電開始時期に
至る前に前記第3のクランク角度位置を検出したとき前
記点火コイルに強制的に通電を開始する内燃エンジンの
電子点火時期制御方法であって、前記第1のクランク角
度位置と第2のクランク角度位置との検出時間差であっ
て、他の複数のクランク角度位置間の検出時間差と移動
平均された最新の検出時間差に応じたクランクの回転速
度に基づいて該第1のクランク角度位置からカウントを
開始すべき前記点火コイルの通電開始時期を変更するよ
うにしたので、例えばエンジンの急加速時等においても
所要の点火時期に適正に点火を実行させることが出来
る。
【図面の簡単な説明】
第1図は本発明が適用された内燃エンジンの電子点火制
御装置の全体構成図、第2図は第1図の中央演算装置
(CPU)で実行される点火制御のメインフローチャー
ト、第3図は第2図のステップ52の処理内容を更に詳し
く示したフローチャート、第4図は所定クランク角度位
置の検出毎に割込実行され、通電時期、通電停止時期
(点火時期)等の制御手順を示すフローチャート、第5
図は第1及び第2電磁ピックアップ(パルサ)によって
検出されるパルス信号Pc1,Pc2の発生タイミング点火コ
イルへの通電時期、通電停止時期(点火時期)等を示す
タイミングチャートである。 1……内燃エンジン、2……電子コントロールユニット
(ECU)、10a,10b……点火プラグ、17,18……電磁ピッ
クアップ(パルサ)、22……中央演算処理装置(CP
U)、31……ROM、32……RAM、45,46……点火コイル。
御装置の全体構成図、第2図は第1図の中央演算装置
(CPU)で実行される点火制御のメインフローチャー
ト、第3図は第2図のステップ52の処理内容を更に詳し
く示したフローチャート、第4図は所定クランク角度位
置の検出毎に割込実行され、通電時期、通電停止時期
(点火時期)等の制御手順を示すフローチャート、第5
図は第1及び第2電磁ピックアップ(パルサ)によって
検出されるパルス信号Pc1,Pc2の発生タイミング点火コ
イルへの通電時期、通電停止時期(点火時期)等を示す
タイミングチャートである。 1……内燃エンジン、2……電子コントロールユニット
(ECU)、10a,10b……点火プラグ、17,18……電磁ピッ
クアップ(パルサ)、22……中央演算処理装置(CP
U)、31……ROM、32……RAM、45,46……点火コイル。
─────────────────────────────────────────────────────
フロントページの続き
(72)発明者 木村 裕
東京都港区虎ノ門1−7―12 沖電気工
業株式会社内
(72)発明者 御友 治人
東京都港区虎ノ門1−7―12 沖電気工
業株式会社内
(56)参考文献 特開 昭55−37585(JP,A)
特開 昭59−196970(JP,A)
Claims (1)
- (57)【特許請求の範囲】 1.内燃エンジンのクランクの1回転中でそれぞれ検出
される点火コイルの設定に係る通電開始時期の直前の第
1のクランク角度位置と、該第1のクランク角度位置の
前に検出される第2のクランク角度位置と、該第1のク
ランク角度位置の次に検出される第3のクランク角度位
置とを少なくとも有し、前記第1のクランク角度位置を
検出したとき、該第1のクランク角度位置を検出した時
から前記設定に係る通電開始時期が経過したか否かを判
別し、該通電開始時期に至ったとき前記点火コイルに通
電を開始し、前記通電開始時期に至る前に前記第3のク
ランク角度位置を検出したとき前記点火コイルに強制的
に通電を開始する内燃エンジンの電子点火時期制御方法
であって、前記第1のクランク角度位置と第2のクラン
ク角度位置との検出時間差であって、他の複数のクラン
ク角度位置間の検出時間差と移動平均された最新の検出
時間差に応じたクランクの回転速度に基づいて該第1の
クランク角度位置からカウントを開始すべき前記点火コ
イルの通電開始時期を変更することを特徴とする内燃エ
ンジンの電子点火時期制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP60161794A JP2681771B2 (ja) | 1985-07-24 | 1985-07-24 | 内燃エンジンの電子点火時期制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP60161794A JP2681771B2 (ja) | 1985-07-24 | 1985-07-24 | 内燃エンジンの電子点火時期制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS6223570A JPS6223570A (ja) | 1987-01-31 |
JP2681771B2 true JP2681771B2 (ja) | 1997-11-26 |
Family
ID=15742035
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP60161794A Expired - Fee Related JP2681771B2 (ja) | 1985-07-24 | 1985-07-24 | 内燃エンジンの電子点火時期制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2681771B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH024311A (ja) * | 1988-06-13 | 1990-01-09 | Kamiya Sadayoshi | 眼内レンズの検査装置 |
US10359020B2 (en) * | 2013-03-25 | 2019-07-23 | Shindengen Electric Manufacturing Co., Ltd. | Ignition control apparatus and ignition control method |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5851155B2 (ja) * | 1978-09-11 | 1983-11-15 | 三菱電機株式会社 | 内燃機関用電子式点火制御装置 |
JPS59196970A (ja) * | 1983-04-21 | 1984-11-08 | Toyota Motor Corp | 内燃機関の点火時期制御方法 |
-
1985
- 1985-07-24 JP JP60161794A patent/JP2681771B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPS6223570A (ja) | 1987-01-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPS61212653A (ja) | 内燃エンジンの電子制御装置 | |
JPH0520590B2 (ja) | ||
JPS62649A (ja) | 内燃エンジン用制御装置の出力タイミング異常検出方法 | |
JPS61272470A (ja) | 内燃エンジンの点火時期制御方法 | |
GB2221955A (en) | I.C. engine ignition timing control system | |
US5381689A (en) | Misfire detecting system for internal combustion engine | |
JPS6352225B2 (ja) | ||
JP2681771B2 (ja) | 内燃エンジンの電子点火時期制御方法 | |
JPH0320588B2 (ja) | ||
JPH0138176B2 (ja) | ||
JPH07109948A (ja) | 内燃機関のクランク角判別装置 | |
JPH0681917B2 (ja) | 内燃機関の気筒判別装置 | |
JPS61291774A (ja) | 内燃エンジンの電子点火時期制御装置 | |
JPS635589B2 (ja) | ||
JP2675921B2 (ja) | 内燃機関の失火検出装置 | |
US4928649A (en) | Ignition timing control system for an automotive engine | |
JPH0641746B2 (ja) | 内燃エンジンの電子点火制御方法 | |
JPS6314766B2 (ja) | ||
JPH0692782B2 (ja) | 内燃エンジンの電子点火装置 | |
JPH0649878Y2 (ja) | 多気筒内燃機関の気筒判別装置 | |
JP2001090600A (ja) | エンジン制御装置 | |
JPS6223554A (ja) | 内燃エンジンの始動開始直後のクランク角度基準位置確認方法 | |
JPH0122946Y2 (ja) | ||
JP3284396B2 (ja) | 多気筒エンジンの気筒判別装置 | |
JP3154570B2 (ja) | 内燃機関の失火検出装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |