JPH0692783B2 - 内燃エンジンの点火時期制御方法 - Google Patents

内燃エンジンの点火時期制御方法

Info

Publication number
JPH0692783B2
JPH0692783B2 JP60205112A JP20511285A JPH0692783B2 JP H0692783 B2 JPH0692783 B2 JP H0692783B2 JP 60205112 A JP60205112 A JP 60205112A JP 20511285 A JP20511285 A JP 20511285A JP H0692783 B2 JPH0692783 B2 JP H0692783B2
Authority
JP
Japan
Prior art keywords
value
ignition
signal
output
stage
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
JP60205112A
Other languages
English (en)
Other versions
JPS6263172A (ja
Inventor
千昭 熊谷
真司 十万
裕 木村
治人 御友
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.)
Honda Motor Co Ltd
Oki Electric Industry Co Ltd
Original Assignee
Honda Motor Co Ltd
Oki Electric Industry Co 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 Honda Motor Co Ltd, Oki Electric Industry Co Ltd filed Critical Honda Motor Co Ltd
Priority to JP60205112A priority Critical patent/JPH0692783B2/ja
Publication of JPS6263172A publication Critical patent/JPS6263172A/ja
Publication of JPH0692783B2 publication Critical patent/JPH0692783B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Electrical Control Of Ignition Timing (AREA)

Description

【発明の詳細な説明】 (発明の技術分野) この発明は内燃エンジンの点火時期制御に関し、特に複
数の気筒を有する内燃エンジンの各気筒に対応する夫々
の点火コイルの通電及び通電停止をクランク角度位置信
号のみにより制御する、所謂角度ロック方式による点火
時期制御方法に関する。
(発明の背景とその問題点) 内燃エンジンの出力軸の円周上に一つの欠落部を有して
等間隔(例えば45゜等分位置)に配された複数の突起2
の角度位置を異なる円周位置にある第1及び第2の位置
検出手段により検出し、前記第1の位置検出手段が隣接
する先の角度位置と後の角度位置を検出する間に前記第
2の位置検出手段が角度位置を検出しないとき、前記後
の角度位置を基準クランク角度位置とる基準クランク角
度位置検出方法が知られている。又、この基準クランク
角度位置検出方法により基準クランク角度位置を検出し
た後、第1の位置検出手段により所定の角度位置を検出
し、その後、該所定角度位置検出時点から所要の時間経
過した後に点火を実行してエンジンの運転状態に最適な
クランク角度位置での点火時期を制御する方法(以下こ
れを「演算点火制御方法」という)が知られている。更
に、エンジンの極低回転領域等のエンジン回転数変動が
大きい運転領域では上述の演算点火制御に代えて所定の
クランク角度位置(例えば各気筒の上死点位置)に点火
時期を固定する。所謂、角度ロック制御方式又は固定点
火制御方法が採用されている。前述の演算点火制御に用
いられた回転体の突起が各気筒の上死点位置に夫々対応
して突設されていれば固定点火制御においても前記第1
の位置検出手段が各気筒の上死点位置に対応して突設さ
れた角度位置の各検出時に各気筒の点火を実行すればよ
いことになる。しかし、例えば直列4気筒エンジンのみ
ならず、気筒夾角が45゜,60゜,90゜,128゜,135゜等のV
型4気筒エンジン等の場合は各気筒の上死点間隔が種々
異なるために形式に依っては、斯かる点火制御方法を適
用した点火制御装置を適用することが出来ない。
(発明の目的) 本発明は、上述の問題点を解決するためになされたもの
で設定された点火角度位置で各気筒総てに対して正確に
点火を実行させ、しかも種々の型式のエンジンに適用可
能な内燃エンジンの点火時期制御方法を提供することを
目的とする。
(発明の構成) 本発明に依れば、内燃エンジンの出力軸の円周上に一つ
の欠落部を有して等間隔に配された複数の角度位置を異
なる円周位置にある第1及び第2の位置検出手段により
検出し、前記第1の位置検出手段が隣接する先の角度位
置と後の角度位置を検出する間に前記第2の位置検出手
段が前記角度位置を検出しないとき、前記後の角度位置
を基準クランク角度位置とし、該基準クランク角度位置
を検出した後に所定の角度位置を検出したとき点火を実
行する点火時期制御方法において、前記第1及び第2の
位置検出手段を、点火順序が前後する2つの気筒の各上
死点間のクランク角度に対応する角度だけ離間して配設
すると共に、前記第1及び第2の位置検出手段の一方が
欠落部に対応しており他方が角度位置を検出する位置が
前記2つの気筒の各上死点位置と一致するように配設
し、クランクの回転速度が所定値以下の場合は、前記上
死点位置で固定的に各気筒の点火を実行し、クランクの
回転速度が所定値より大きい場合は、前記第1の位置検
出手段が基準クランク角度位置を検出した後に車両の運
転状態より求められる所定のクランク角度を検出した位
置で前記各気筒の点火を実行することを特徴とする内燃
エンジンの点火時期制御方法が提供される。
(実施例) 以下この発明の実施例を図面を参照して説明する。
第1図は本発明が適用用された電子点火時期制御装置の
全体構成図で図中符号1は直列4気筒エンジン、符号2
は電子コントロールユニット(以下「ECU」という)で
エンジン1は直列4気筒エンジン以外にも気筒夾角(こ
れを以下「バンク角」という)が45゜,60゜,90゜,128
゜,135゜等のエンジンであってもよい。第1図は複数気
筒の内の1個の気筒の要部を一部断面で示してある。符
号10a,10bは点火プラグで、図には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にその回転に応じて後述の第2図
(a),(b)に示すような第1及び第2のパルス信号
PC1,PC2を発生するパルス発生機構が配設されている。
即ち、まず、クランク軸14に回転円板15が取付けられ、
その円周部に、強磁性材製の凸起体で形成されたリアク
タ16a〜16gが円周上1箇所を除く等分位置、例えば45゜
の角度間隔で突設されている。リアクタは図示の例で云
えばリアクタ16dと16eの間で1箇所だけ欠落され、この
欠落部の角度間隔は90゜とされている。回転円板15の外
部には、その円周部に沿って、磁石体17a,18aにコイル1
7b,18bを巻回して形成した第1,第2の位置検出手段であ
る電磁ピックアップ(以下「パルサ」という)17,18が
配設されている。第1及び第2のパルサ17,18の配設角
度間隔は、適用されるエンジンの上死点間隔に対応して
規定され、図示例では上死点間隔、180゜の直列4気筒
エンジンに適用した場合が示されていて、2個のパルサ
17,18間の配設角度間隔は略180゜に規定されている。
尚、例えばバンク角128゜のエンジンに本発明が適用さ
れる場合には、パルサ17,18の配設間隔は該エンジンの
上死点間隔(128゜)に規定される。
一方、ECU2には、まずこれをブロックで大別すると、入
力回路19、入出力LI(以下「I/O・LSI」という)21、中
央演算処理装置(以下「CPU」という)22、A/Dコンバー
タ23、及び第1、第2の出力回路24a,24bが備えられて
いる。さらに入力回路19には第1及び第2のパルサ17,1
8で夫々発生した第1及び第2のパルス信号PC1,PC2(後
述の第2図(a),(b))を波形整形する波形整形回
路25,26と、この各波形整形回路25,26からの出力を夫々
ラッチする第1及び第2のフリップフロップ回路27,28
が配設されている。第1のフリップフロップ回路27はそ
のQ出力の出力線がI/O・LSI21を介してCPU22のINT端子
に接続され、また第2のフリップフロップ回路28はその
Q出力の出力線かI/O・LSI21を介してCPU22のSTATUS端
子に接続されている。符号29は第1及び第2のフリップ
フロップ回路27,28に対するクリア信号線である。
CPU22は、通電時期及び点火時期を演算するための各種
プログラムを実行するもので、その内部に上記の演算プ
ログラム、後述するNe・P−θigマップ、Tw−Δθig
テーブル、バンク角テーブル等を記憶するリードオンリ
メモリ(以下「ROM」という)31、ならびに上記の演算
結果等を記憶するめのランダムアクセスメモリ(以下
「RAM」という)32、入出力用のI/Oバッファ33が備えら
れ、さらにこのCPU内に通電カウンタとして作用する内
部カウンタ34が配設されている。符号34a及び34bはRAM3
2内の前記通電時期データを記憶するレジスタを示し、
破線で示す符号35a及び35bはコンパレータでこれらのコ
ンパレータ35a及び35bは前記内部カウンタ34の計数値と
各レジスタ34a,34bの夫々の通電時期データの記憶内容
とを比較、計数値と記憶値とが一致したときCPU22のON
−PORT端子22a,22bに所定の高レベル(以下これを
「1」レベル又は「H」レベルという)を出力するプロ
グラム状の処理を図式的に示すものである。
CPU22のON−PORT端子22aに点火プラグ10a側の通電信号
として出力された「1」レベル、及びON−PORT端子22b
に点火プラグ10b側の通電信号として出力された「1」
レベルは夫々I/O・LSI21を介して第1及び第2の出力回
路24a,24bへの各通電信号線40a,40bに導かれる。
一方、I/O・LSI21には詳細は後述する点火プラグ10aに
対する第1の点火カウンタ36、及び他の点火プラグ10b
に対する第2の点火用カウンタ回路37が配設されてい
る。第3図は点火用カウンタ回路36,37の内部構成を示
し、いずれのカウンタ回路も2進点火時期データ(例え
ば16ビットデータ)の下位8ビット及び上位8ビットの
各データをストアする、第1及び第2レジスタ38a,38b
と、一定周期で発生するクロック信号のパルス数を計数
する第1及び第2カウンタ39a,39bと、第1レジスタ38a
のデータと第1カウンタ39aの計数値を比較する第1コ
ンパレータ41aと、第2レジスタ39aのデータと第2カウ
ンタ39bの計数値を比較する第2のコンパレータ41bと、
第2レジスタ38bにバスラインで接続され、前記点火時
期データの上位8ビットのデータをストアする前段レジ
スタ42とで構成され、第1レジスタ38a及び前段レジス
タ42はデータバス43を介してCPU22に接続されている。
第1及び第2カウンタ39a,39bは8ビットのいずれもア
ップカウンタで第1カウンタ39aのクロック端子CKにはA
ND回路49の出力側が接続され、AND回路49の一方の出力
端子はR−Sフリップフロップ50のQ出力端子が接続さ
れ、他方の入力端子には前記クロック信号が印加され
る。第1カウンタ39aの最上位ビット出力端子は第2カ
ウンタ39bのクロック端子39bに接続されている。第2コ
ンパレータ41bの出力側は対応する前記第1及び第2の
出力回路24a,24bに接続されると共に第1及び第2カウ
ンタ39a,39b並びにR−Sフリップフロップ50の各リセ
ット端子Rに接続されている。R−Sフリップフロップ
50のセット端子SにはCPU22から供給される起動信号パ
ルスが印加される。
第1図に戻り、I/O・LSI21におれる符号30及び47は夫々
後述する出力タイミング信号の以上を検出するフェール
セーフ回路及びMeタイマである。第1及び第2の点火カ
ウンタ36,37は夫々出力線44a,44bを介して第1及び第2
の出力回路24a,24bに接続されている。
符号45,45は第1及び第2の点火コイルで、これらの点
火コイル45,46には、夫々図示省略の1次コイル及び2
次コイルが備えられている。第1の点火コイル45におけ
る1次コイルには、第1の出力回路24aからの出力線が
接続され、2次コイルは点火プラグ10aに接続されてい
る。また第2の点火コイル46における1次コイルには、
第2の出力回路24bからの出力線が接続され2次コイル
は他の点火プラグ10bに接続されている。
次に、第2図、第4図乃至第13図を参照して電子点火時
期制御装置の作用を説明する。第4図乃至第10図及び第
12図はCPU22で実行される点火時期制御手順を示すフロ
ーチャートで、まず第4図のメインルーチンのフローチ
ャートから説明すれば、図示省略のイグニッションスイ
ッチが投入された直後等にCPU22等の初期化処理が行わ
れ、次いてステップ100でクランク角度の基準位置検出
が行われる。基準位置検出後、クランク軸14の1回転す
るに要した時間Meの計算、及びこのMe値に基づくエンジ
ン回転数Neの値の判定(ステップ200)、進角データθi
gの演算及びこの演算値のRAM32へのストア処理(ステッ
プ300)、通電時間Toの演算及びこの演算値のRAM32へ
のストア処理(ステップ400)、進角データθig及び通
電時間Toによる通電停止時期、即即ち点火時期データ
Tig及び通電時期データTcgの演算及びこれら演算値のRA
M32へのストア処理(ステップ500)が順次行われ、この
ような各演算処理が、後述する割込処理プログラムINT
が実行されないときに繰返される。
次いで上記各ステップにおける処理を詳述する。
第5図は第4図の初期化処理及びステップ100における
基準位置検出手順を詳示し、先ず、図示省略のイグニッ
ションスイッチの投入直後、後述する出力タイミング信
号の異常時、CPU22の所謂暴走時等においてステップ101
が実行されCPU22の初期化が行われる。初期化処理で
は、RAM32エリアの零クリア、I/Oポートの初期化設定等
が行われる。初期化処理後ステージ変数STGには仮の値
1を設定する(ステップ102)。これとともに後述する
検出した基準位置が正しい基準位置であるか否かの判定
に使用する第1の変数CT1をリアクタ16a〜16gの数と同
じ値に、第2の変数CT2を零に夫々設定する(ステップ1
03,104)。第1のフリップフロッブ回路27をクリア信号
(第2図(e))によりリセット(ステップ105)した
のち、第1番目の第1のパルス信号PC1がこの第1のフ
リップフロップ回路27にラッチされるのを待機する(ス
テップ106)。以下クランク角度基準位置の検出及びそ
の確認方法の理解を容易にするために、ステージ変数ST
G、第1の変数CT1及び第2の変数CT2各値の変化を第1
表を参照しながら説明する。
なお、第1表は第1図のパルサ17が第2ステージに対向
した位置にあるときに、エンジンが始動したものとし、
且つ実エンジン回転数が200rpm以上であると仮定したと
きの各変数値STG,CT1,CT2の変化を示す。第1番目の第
1パルス信号PC1(ステージ3信号)が第1のフリップ
フロップ回路27にラッチされると以下のようにして基準
位置の検出及びその確認が実行される。まず、第1のフ
リップフロップ回路27をリセット(ステップ107)、Me
タイマ47をスタートさせる(ステップ108)。このあと
第1のパルス信号PC1の入力があるまで待機し(ステッ
プ109)、次の第1のパルス信号が入力した時点でMeタ
イマ47を読み取る(ステップ110)。Meタイマの値Tsiを
読み取った後Meタイマ47がオーバーフローしたか否かを
判別する。Meタイマは極低回転数以下の回転数に相当す
るMeの値でオーバーフローする。この判別結果が肯定
(Yes)であれば、以後の基準位置の検出処理は行わず
ステップ102の処理位置(以下「STAT1」のように云う)
に処理実行を戻す。判別結果が否定(No)であれば次に
続くステップ112〜115で以下のようにしてエンジン回転
数Neが所定の低回転数たる例えば200rpm以上であるか否
かを判別するとともに、今回パルスPC1がステージ4を
通過した最初のパルスであるかいかなを判別する。この
判別を第2表を参照しながら説明する。
上表でステージ4とは、前述したようにリアクタの欠落
部に相当し、クランク角度が90゜相当のステージであ
る。また、ステージ4以外のステージとは、リアクタの
等分位置におけるクランク角度45゜相当のステージであ
る。まずステップ112でMe値が第1の判別値(例えば、
ステージ4以外のステージで計測したエンジン回転数が
200rpmに相当する値として37.5ms)以上であるか否かを
判別する。この判別結果が否定(No)であれば、第2表
第1欄に示すようにステージ4、または、ステージ4以
外のステージの何れにおいてもエンジン回転数Neは少な
くとも200rpm以上と判断されるので、基準位置の判断ス
テップであるステップ116に処理を進める。ステップ112
の判別結果が工程(Yes)であれば、さらにステップ113
でMe値が前記第1の判別値の2倍に等しい第2の判別値
(例えば75ms)以上であるか否かを判別する。この判別
結果が肯定(Yes)であれば第2表第3欄に示すように
ステージ4、及びステージ4以外のステージの何れのス
テージにおいてもエンジン回転数Neは200rpm以下であり
前述したようにこのような低回転領域では、パルサ17,1
8らのパルス信号の発生機能が損なわれてパルス信号が
適正に発生しないことがあるので、処理をSTAT1に戻
す。ステップ113の判別結果が否定(No)であれば、Me
値は75ms≧Me>37.5msの範囲にあり、このときは第2表
に示すように当該Meを読み取ったステージの如何によっ
てはエンジン回転数Neは200rpm以上である場合があり得
る。即ちMe値をステージ4以外のステージで計測した場
合にはエンジン回転数は200rpm以下であることを意味す
るが、ステージ4で計測した場合にはエンジン回転数は
200rpmと400rpmの間にあることになる。そこでステップ
114でCT2の値が零であるか否かを判別して零であること
を確認した後、今回ループのMe値の計測はステージ4で
行われたものと仮定してCT2の値に前回ループで設定さ
れたSTGの値(値2)を設定し、この値を記憶する(ス
テップ115)。そして今回ループ以降に再びステップ114
が実行されてCT2の値が零以外の値であることを判別し
たとすれば、クランク角度90゜相当のステージ4は、ク
ランク軸14の1回転中に1回だけしかその存在が許され
ないので、実際のエンジン回転数Neが200rpm以下であっ
たか、又はPC1パルス信号に異常が生じて発生すべきパ
ルスが発生しなかったものと判断してSTAT1に戻る。次
いでステップ116で前記第2図(c),(d)に示した
ように第1のフリップフロップ回路27に第1のパルス信
号PC1がラッチされたときに、第2のフリップフロップ2
8のQ出力が零、即ち第2のパルス信号PC2が欠落してい
るか否かを判別する。この判別結果が否定(No)であれ
ばステージ変数STGを値1だけインクリメントし(ステ
ップ117)、第1の変数値CT1を値1だけデクリメントし
つつ(ステップ118)、ステップ107からの処理を繰返し
実行する。この繰返し実行の間に、エンジン回転数Neが
200rpm以下と判別された場合、またはエンジン回転数Ne
が200rpm以上であっても第2のパルス信号PC2の欠落位
置が見出されることなしに、第1の変数値CT1が零に至
ったとき(ステップ118)の判別結果が肯定(Yes)のと
きは誤パルス信号の入力等があった可能性があるので内
燃エンジンをクランキング状態としてSTAT1に処理を戻
す。一方、前記ステップ116の判別結果が肯定(Yes)の
場合は、このときのクランク角度位置が真の基準位置か
否かを次のようにしてステップ119以下で確認する。即
ちまずステップ117で第2の変数CT2の値が当初の設定値
たる零のままであるか否かを判別する。この判別結果が
肯定(Yes)であれば、前記ステップ112の判別部分で述
べたように、このステップ112の判別結果が否定(No)
で、エンジン回転数Neはクランク角度45゜相当のステー
ジで適正に検出されたのちにステップ116で基準位置が
検出されていると判断し、この検出された基準位置を、
正しい基準位置であると判断して、これに基準ステージ
番号(第1表の例で云えば数値7)を設定する(ステッ
プ123)。
一方、ステップ119の判別結果が否定(No)の場合は、
前記ステップ112〜114の処理部分で述べたように、エン
ジン回転数Neはクランク角度90゜相当のステージで検出
されたものと仮定し、第2の変数CT2の値を2と設定
(ステップ115)としてその後の処理を進めた場合であ
るので、第2表に示すように、この数値2と設定したス
テージが、正しくクランク角度90゜相当のステージであ
ったかどうかを、ステップ116で求めた基準位置のステ
ージから逆算してこれを確認する。この確認を第1表第
2欄に掲げた数値列を参照して説明する。まず、ステッ
プ120で「STG−CT2=A′」を求める。ここでSTGは基準
位置が見出されたステージの直前のステージで設定され
た値で数値例では4である。CT2はステップ115で設定し
た第2の変数CT2の値で2である。この数値を前記式に
代入すると、4−2=2=A′が求められる。次いでス
テップ121で「基準STG−A′=A」を求める。基準STG
は、第1表から数値7である。したがって上式は7−2
=5=Aが求められる。これを次のステップ122で上記
のようにして求めたAの値が5であったか否かを判別す
る。A=5の値は、2つのパルサ17,18の間隔を前述の
とおりに設定し、第1F/F=1で第2F/F=0のとき、第1
のパルサ17が検出したクランク角度位置を基準クランク
角度位置とするとき、いかなる形式のエンジンについて
も数値5である。前記ステップ121の計算結果Aの値は
5であるので、上述の数値列の場合、ステップ122の判
別結果は肯定(Yes)である。このステップ122判別結果
が肯定(Yes)であれば、前記と同様にステップ116で検
出された基準位置は、正しい基準位置8であると判断し
て、この基準位置8のステージに基準ステージ番号を設
定する(ステップ123)。もしステップ122の判別結果が
否定であればその検出されたステージは正しい基準ステ
ージではないので処理をSTAT1に戻す。
以上のようにして基準位置8が正しく検出されると、次
いで第4図のステップ200でMe値の計算及びエンジン回
転数Neの判定が行なわれる。これを第6図のサブルーチ
ンのフローチャートを用いて説明する。ステップ201
で、第1のパルス信号PC1の斯く発生時間間隔Tsi(i=
1〜7)(第2図(a))が、Meタイマ47によりクロッ
クパルスで計測され、その1回転分の合計時間Meが演算
処理される。ステップ202では、この合計時間Meからク
ランク軸14が1ステージ分、云い換えればクランク角度
45゜相当分回転するのに要する時間の平均値Ts=Me÷8
と、クランク角度1゜相当分回転するのに要する時間Δ
T=Ts÷45とを演算し、これをRAM32にストアし、後述
の点火時期Tig等の演算処理に備える。
次に、ステップ203以降の各ステップで現在のエンジン
回転数Neが如何なる回転数領域にあるかを判定する。先
ず、ステップ203乃至206において、エンジン回転数Neが
極低回転領域にあるか否かを判別する。ステップ203で
はエンジン回転数Neが点火時期制御を後述する固定点火
制御に切換えるべき所定回転数NIGより所定値だけ
低い所定回転数NIGRL(例えば、400rpm)以下か否か
を判別し、この答が肯定(Yes)であればステップ204に
進み、フラグN1の値を零に設定し、否定(No)であれば
ステップ205に進む。ステップ205ではエンジン回転数Ne
が前記所定回転数NIGより所定値だけ高い所定回転
数NIGRH(例えば、500rpm)以上か否かを判別する。
この答が肯定(Yes)であればステップ206に進み、フラ
グN1に設定し、否定(No)であればステップ207に進
む。このようにフラグ値N1を零から値1に、又は値1か
ら零に切換える判別回転数を互いに異なる値に設定して
あるため点火時期制御の安定化を図ることが出来る。
次いで、ステップ207乃至210においてエンジン回転数Ne
が高速回転領域にあるか否かを判別する。この高速回転
領域の判別も上述のステップ203乃至206のときと同様に
判別値にヒステリシス特性を持たせる値に設定されてお
り、ステップ207においてエンジン回転数Neが所定回転
数NIGAc1より所定値だけ低い所定回転数NIGAc1 (例
えば5000rpm)以下と判別されると(ステップ207の判別
結果が肯定(Yes))、フラグ値N2が零に設定され(ス
テップ207)、ステップ209においてエンジン回転数Neが
前記所定回転数NIGAc1より所定値だけ高い所定回転数
IGAc1 (例えば、5500rpm)以上と判別されると(ス
テップ209の判別結果が肯定(Yes))、フラグ値N2が値
1に設定される(ステップ210)。このフラグN2は後述
するエンジンの急加速時に後述の点火時期データTigの
加速補正を実行してもよいか否かを判別するためのもの
で、エンジン回転数Neが第1の所定回転数NIGAc1以上
の高速時には演算処理時間が十分に確保できなくなるた
めに点火時期データTigの加速補正が禁止される。
ステップ211乃至214ではエンジン回転数Neが前記所定回
転数NIGAc1以下、且つ、所定回転数NIGAc2(NIG
<NIGAc2<NIGAc1)以上の領域にあるかを判別する。
この回転領域の判別も上述と同様に判別値にヒステリシ
ス特性を持たせる値に設定されており、ステップ211に
おいてエンジン回転数Neが前記所定回転数NIGAc2より
所定値だけ低い所定回転数NIGAc2 (例えば、2500rp
m)以下と判別されると(ステップ211の判別結果が肯定
(Yes))、フラグ値N3が零に設定され(ステップ21
2)、ステップ213においてエンジン回転数Neが所定回転
数NIGAc2より所定値だけ高い所定回転数NIGAc2 (例
えば、3000rpm)以上と判別されると(ステップ213の判
別結果が肯定(Yes))、フラグ値N3が値1に設定され
る(ステップ214)。このフラグN3はエンジンの急加減
速時に、上述の加速補正した点火時期データTigに基づ
いてさらに後述の通電時期データTcgの加速補正を実行
してもよいか否かを判別するためのもので、エンジン回
転数Neが所定回転数NIGAc2以下であれば、演算処理時
間が十分に確保できるので、点火時期データTigととも
に通電時期データTcgの加速補正をも実行する。
メインルーチンでは、次のステップ300で基準クランク
角度位置qからの進角データθigの演算と、この演算結
果のストアを実行する。進角データθigは、Me値と、吸
気圧センサ9及びエンジン水温センサ11で夫々検出され
た吸気管内圧力P及びエンジン水温Twの各値とから次
の(1)式に従って演算される。
ここに は、基本進角データを示し、エンジン回転数Neと吸気管
内圧力Pとの関数 であり、ROM31に記憶されているNe・P−θigマップ
から読みだされる。Δθigは進角データの補正値で例え
ばその値はエンジン温度Twの関数(Δθig=f(Tw))
として求められROM31に記憶されているTw−Δθigテー
ブルから読み出される。なお、進角データθigの値は、
最大進角度θig′(例えば60゜)の値を上限として規定
され、上記のようにして求められた値がこの最大進角度
θig′を越えたときは、この最大進角度θig′の値に補
正される。このようにして求められた進角データθigは
RAM32にストアされる。
次いで、ステップ400で通電時間Toの演算と、この演
算結果のストアを実行する。通電時間Toは次の(2)
式に示すようにエンジン回転数Neのみの関数で上記と同
様にROM31に記憶されているNe−Toテーブルから読み
出される。
To=f(Ne) …(2) このようにして求められた通電時間データToはRAM32
にストアされる。
進角データθig及び通電時間データToが求められたの
ち、ステップ500でこれらの値に基づいて点火時期デー
タTig及び通電時期データTcgが演算される。まず点火時
期データTigについて述べると、エンジンのバンク角及
び各気筒ごとに、クランク角度基準位置qから最大進角
度θig′だけ進角した位置のステージ番号(第2図
(a)の例ではステージ6)と、このステージ位置の始
端から最大進角度θig′位置までのクランク角度(これ
を以下「角度データ」という)とがROM31に記憶されて
いる。CPU22は、これらの角度データ及び進角データθi
g等をROM31及びRAM32から夫々読み出し、ステージ6パ
ルスq′からの角度DEGを次の(3)式により演算す
る。
DEG=θig′−θig+角度データ …(3) 次いで、この角度DEGから点火時期データTigを(4)式
により演算する。
Tig=ΔT×DEG …(4) ここにΔTは前記第6図のステップ202でRAM32に記憶し
た、クランク軸14がクランク角度で1゜だけ回転するの
に要する時間である。
また、通電時期データTcgについては、上記のようにし
て求めた点火時期データTig及び通電時間データTo
ら次の(5)式により演算する。
Tcg=|(To−Tig)−Ts×m| …(5) ここにmは最大進角度θig′だけ進角した位置のステー
ジ(第2図の図示例ではステージ6)以前の点火コイル
に通電を開始するステージまでのステージ数(第2図の
図示例ではm−1)、Tsは第6図のステップ202で求め
たクランク軸が45゜クランク角度進むに要する時間の平
均値である。上記の各演算値はRAM32にストアされる。
次いで、通電及び点火の実行を第7図のフローチャート
により説明する。第7図に示す割込演算処理プログラム
INTは、第1のフリップフロップ回路27からQ出力がCPU
22に入力する毎に最優先順位で実行される。即ち、割込
プログラムINTは第1のパルサ17により所定クランク角
度位置を検出する毎に実行され、この割込プログラムIN
Tが実行されるときには今まで実行していたプログラム
の処理中断位置(スタックポイント)が図示しないスタ
ックレジスタに記憶された後に演算処理がそのプログラ
ムから割込プログラムINTに移る。
先ず、ステップ601では前回の所定クランク角度位置検
出時に実行開始された割込プログラムINTの処理が未だ
終了せず、この割込処理中に今回の割込処理が実行され
たものであるかを判別する。この答が否定(No)の場合
にはステップ603に進み、Meタイマ47の計測値を読込
み、これを記憶した後Meタイマ47をリセットして再スタ
ートさせる。次いで、ステップ604に進み、前回ループ
の後述するステップ615において更新したSTG値、即ち今
回ステージが点火カウンタ回路36のカウントを開始すべ
き点火ステージ(例えば第6ステージ)であるか否かを
判別する。この判別結果が肯定(Yes)であればCPU22は
点火カウンタ回路36に起動信号を送出して、この点火カ
ウンタ回路36を起動させ(ステップ605、第2図
(g))、ステップ606に進む。この起動信号は点火カ
ウンタ回路36の第3図に示すR−Sフリップフロップ50
のセット端子Sに入力し、そのQ出力端子に「1」レベ
ルを発生させる。フリップフロップ50のQ出力端子に発
生した「1」レベルはAND回路49を開成状態にし、これ
により第1カウンタ39aのクロック端子CKへのクロック
信号の印加が開始される。
一方、ステップ604の判別結果が否定(No)であれば直
接ステップ606に進み、CPU22のON−PORT端子22aに
「1」レベルを出力する。このON−PORT端子22aに現わ
れる「1」レベルは通電信号線40aを介して第1の出力
回路24aに供給されるがこの第1の出力回路24aはON−PO
RT端子22aの出力が「0」から「1」に反転したときに
のみ点火コイル45への通電を開始させることが出来るも
のである。従って、ON−PORT端子22aの出力レベルがも
ともと「1」であれば、これに「1」レベルを再度出力
しても第1の出力回路24aの作動に何ら変化がないが、
後述するようにON−PORT端子22aに一旦「0」レベルを
出力させて待機状態にしておくと本ステップ606が実行
されることにより強制的に点火コイル45への通電を開始
させることが出来る。
次に、ステップ607に進み、通電カウンタたる内部カウ
ンタ34をスタートさせる(第2図(g))。通電カウン
タ34はこの割込処理プログラムの実行ごとにスタートす
ることになる。次いで、ステップ608に進み、エンジン
回転数Neが (例えば、200rpm)以上であるか否かを判別する。この
答が否定(No)であればステップ609に進み、後述する
点火禁止処理が実行され不良点火によるエンジンへの悪
影響が防止される。ステップ608の判別結果が肯定(Ye
s)の場合には前記固定点火制御を実行すべきか否かを
フラグCRFLG値が値1に等しいか否かによって判別する
(ステップ610)。フラグ値CRFLGが値1に等しければ後
述する固定点火制御サブルーチンCRNKを実行する一方、
フラグ値CRFLGが零の場合にはステップ611に進み、前記
パルス信号PC1の発生時間間隔(前ステージ時間間隔)T
s(n)の記憶値を今回ループのステップ603で読込んだ
Meタイマ47の計測値に更新する。更新したTs(n)値は
前記第6図のステップ201で実行されるMe値の演算に使
用される。
次いでステップ612では吸気圧センサ9、エンジン水温
センサ11等で夫々検出される吸気圧値P、エンジン水
温値Twの槻込みが実行される。尚、ステップ612におい
て、各ステージ毎に読込むべきパラメータ値が設定され
ており、例えば吸気圧値Pは#2ステージにおいて、
エンジン水温値Twは#5ステージにおいて夫々読込まれ
るようにされている。
次に、ステップ613及び650でエンジンの過回転判別を行
なう。即ち、まず、ステップ613で第4ステージである
かを判別する。第4ステージは、第2図(a)に示すよ
うに、クランク角度が90゜相当のステージで他のステー
ジの2倍の角度間隔を有しており、この間新たな割込み
演算処理プログラムINTの実行要求は生じない。即ち、
第4ステージのプログラム処理時間は他のステージに比
べて2倍の時間が確保でき高回転時に他のステージにお
いて演算処理できなものも第4ステージではこれを可能
にするのである。これはクランク角度位置の検出が2つ
のパルサ17,18と、円周状1箇所の欠落部を有する、回
転円板15に突設されたリアクタ16a−16gとによって行な
われることに基づく。そこでステップ613の判別結果が
否定(No)の場合には過回転判別に要する処理時間が確
保できないものとしてステッ650を飛び越してステップ6
14に進む一方、肯定(Yes)の場合にはステップ650に進
み、サブルーチンNECHKを実行する。
第8図はサブルーチンNECHKのフローチャートを示し、
ステップ651で第7図のステップ611で記憶されたTs3
(今回ループは第4ステージのパルスPC1が検出された
直後に実行されたものであるから今回ループで検出され
る最新のTsn値は第3ステージにおけるPC1パルスの発生
時間間隔Ts3である。)が変数値Teとして設定され
る。この変数値Teを用いて後述のステップ652及び6
54における判別が実行される。ステップ652ではエンジ
ンが過回転状態を脱したか否かを判別する。即ち、この
判別はエンジン回転数Neが所定の下限回転数NIGov
(例えば、15000rpm)以下か否かによって判別する。
この判別結果が肯定(Yes)の場合にはフラグCUTFLGに
値0を設定してエンジンが過回転状態を離脱したことを
記憶する(ステップ653)。否定(No)の場合にはステ
ップ654に進み、エンジンが過回転状態にあるか否かを
判別する。即ち、エンジン回転数Neが所定の上限回転数
IGov(例えば、16000rpm)以上か否を判別し、この
判別結果が肯定(Yes)の場合にはフラグCUTFLGに値1
を設定し、エンジンが過回転状態にあることを記憶し
(ステップ655)、否定(No)の場合には次ステップ656
に進む。尚、ステップ652及び654においてエンジンが過
回転状態にあるか否かの判別に所定の上限及び下限回転
数の異なる判別値を用いるのは、これによりエンジン制
御の安定化を図るためである。
前記ステップ656ではフラグ値N1が零に等しいか否かを
判別する。このフラグN1の値は前述の第3図ステップ20
4又は206において設定され、ステップ656の判別結果が
肯定(Yes)の場合にはエンジン回転数Neが極低回転領
域にあることを意味し、斯かる場合、後述する固定点火
制御を実行すべくフラグCRFLGの値を値1に設定し(ス
テップ657)、否定(No)の場合には値0に設定する
(ステップ658)。このフラグ値CRFLGは前記第7図ステ
ップ610における判別に使用される。フラグCRFLGの値を
設定し終えるとサブルーチンNECHKの実行が終了し、第
7図の前記ステップ614に進む。
ステップ614では前記第6図のステップ208又は210で設
定されたフラグN2の値が値1であるか否かを判別する。
この判別結果が肯定(Yes)であれば通電時期データTcg
及び点火時期データTigの加速補正は行なわずに次のス
テップ615に進む。一方、ステップ614の判別結果が否定
(No)であればステップ670においてサブルーチンTHSI
が実行され、点火時期データTig及び通電時期データTcg
の加速補正が行なわれる。この加速補正の実行を第9図
及び第10図のサブルーチンTHSI,THSIAのフローチャート
を用いて説明する。
先ず、ステップ671において、前回ステージがステージ
4であったか否かを判別する。この判別結果が肯定(Ye
s)であれば、前記ステップ603で検出されステップ611
で記憶されているTs(n)値はステージ4においてクラ
ンク軸がクランク角度90゜回転するのに要する時間とし
て求めたことになるから、Ts(n)値を2で割っ値をT1
値とする(ステップ672)。一方、ステップ671の判別結
果が否定(No)であれば前回ステージで読み取ったTs
(n)値を、そのままT1値とする(ステップ673)。次
いで、ステップ674で前々回ステージがステージ4であ
ったか否かを判別する。この判別結果が肯定(Yes)で
あれば、上記と同様にして、前々回ステージのTs(n−
)値として読み取られた値がステージ4においてクラ
ンク軸がクランク角度90゜回転するに要する時間として
求めたことになり、Ts(n−)値を2で割った値をT2
とし(ステップ675)、一方、ステップ674の判別結果が
否定(No)であれば、前々回ステージで読み取ったTs
(n−)値をそのままT2値とする(ステップ676)。
そしてつぎのステップ677で、クランク軸が前回ステー
ジ及び前々回ステージにおいて夫々クランク角度45゜相
当分回転するのに要した時間T1及びT2の両者の差分ΔTs
を求め、ステップ678でこの差分の絶対値|ΔTs|が所定
値ΔMe値より大であるか否かを判別する。この判別結果
が(No)であれば、エンジンの加減速は大きくないもの
と判断、直接ステップ680に進み、肯定(Yes)であれば
前回ステージでのエンジンの加速又は減速が大きく、今
回ステージでも引続エンジンの加速又は減速が大きいで
あろうと判定して前記T1値にステップ677で求めた差分
ΔTを加算した値を今回ステージで予測される最新のT1
値とし(ステップ679)、ステップ680に進む。ステップ
680では上述のようにして求めたT1値をTsNEw値とし、
またTsNEs値からクランク軸がクランク角度1゜相当分
回転するのに要する時間ΔTNEeを求める(ステップ68
1)。
次いで、ステップ682において第10図のサブルーチンTHS
IAが実行される。このサブルーチンTHSIAは上述のTsNE
w値及びΔTNEw値に基づく点火時期データTig及び通
電時期データTcgの再計算を実行するもので、まず、ス
テップ690で点火時期データTigについて再計算を行う。
この計算は前記式(4)のΔT値として上述のΔTNE
値が適用されて最新のTig値が求められる。次いで、ス
テップ691で前記フラグN3に1が設定されているか否か
を判別する。この判別結果が否定(No)であれば、即
ち、エンジン回転数Neが所定回転数NIGAc2以下であれ
ば上記再計算により求めた点火時期データTig及び上述
のTsNEw値に基づいてさらに通電時期データTcgについ
てメインルーチンで使用した前記式(5)により再計算
を実行する。ステップ691の判別結果が肯定(Yes)であ
れば、通電時期データTcgについての再計算は行わずに
本プログラムを終了し、第7図のステップ615に進む。
ステップ615ではステージ位置を表わす変数STGの値を値
1だけインクリメントする。この変数値STGは上述の通
りステージ番号に対応するので、その値がインクリメン
トした結果、値8になると値0に更新される。そして、
この変数値STGは次回ループにおけるステージ判別に使
用される。
次いで、ステップ616においてRAM32にストアされている
点火時期データTigを点火カウンタ回路36のレジスタに
設定する。より具体的には、CPU22はステップ616におい
て、下記のようにして点火時期データTigをカウンタ回
路36の第1及び第2のレジスタ38a,38b(第3図)にス
トアする。先ず、CPU22はデータバス43上に点火時期デ
ータTigの上位8ビットデータを送出した後、ラッチ信
号AHを前段レジスタ42に印加する(第11図)。すると前
段レジスタ42はラッチ信号AHの印加のタイミングでTig
値データの上位8ビットデータをストアする。次いで、
CPU22はデータバス43上にTig値データの下位8ビットデ
ータを送出し、その後、ラッチ信号ALを第1及び第2レ
ジスタ38a,38bに同時に印加する(第11図)。このラッ
チ信号ALの印加により、第1レジスタ38aにはデータバ
ス43上に送出されTig値データの下位8ビットデータ
が、第2レジスタ38bには前段レジスタ42にストアされ
ている上位8ビットデータが夫々同時にストアされるこ
とになる。従って、前段レジスタを介することなく第2
レジスタにTig値の上位8ビットデータを、次いで第1
レジスタに下位8ビットデータを順次ストアする場合に
は、Tig値データのストアには少なくともラッチ信号AH
の送出時点からラッチ信号ALの送出時点までの機関t′
(第11図)が必要であったが上述のように前段レジスタ
42を介するようにすれば、ラッチ信号ALの送出と実質的
に同時にTig値データがレジスタにストアされることに
なり(第11図のストア時間t)、データストア中のコン
パレータの誤作動を問題にする必要がない。これによ
り、Tig値データを書換えるに要する時間t′がカウン
タの計数値とレジスタに既にストアされているTig値デ
ータとの差で表わされる時間より小さいことを確認する
ためのプログラムやカウンタが不用となる。
上述のステップ616において、点火レジスタにはエンジ
ン回転数Neが高回転領域にないかぎり前記ステップ650
のサブルーチンTHSTの実行により加速補正された最新の
点火時期データTigが設定されることになる。又、上述
の説明から明らかなようにステップ616は本割込演算プ
ログラムINTの実行により必ず実行されるのでTigデータ
はその都度書換えられることになる(第2図(g))。
次に第7図のステップ618が実行される。このステップ
は上述のサブルーチンNECHKで設定されフラグ値CUTFLG
が値1に等しいか否かを判別し、判別結果が否定(No)
であるときは後述するステップ619以下が実行される
が、肯定(Yes)の場合、即ち、エンジンの過回転状態
が検出されればステップ619以下を実行せず本プログラ
ムを終了する。従って、後者の場合には後述するように
点火コイルへの通電が実行されなくなり、これにより混
合気の点火が阻止されエンジンの過回転が防止される。
前記ステップ619では今回検出ステージが通電ステージ
であるか否かを判別する。この判別結果が否定(No)で
あれば、後述するように通電レジスタ34aの設定値と、
前記ステップ607でスタートさせた通電カウンタ34の計
数値Tとの比較を実行せずにこの割込処理を終了させ
る。従って、前記ステップ60で通電カウンタ34をスター
トさせたものの、CPU22は今回ステージにおいて、第1
の出力回路24aに通電信号を出力することはない。ステ
ップ619の判別結果が肯定(Yes)であればステップ620
に進み、RAM32にストアされている通電時期データTcgを
通電レジスタ34aに設定する。そして、ステップ621に進
み、CPU22を再割込処理受付け可能状態にすると共にCPU
22のON−PORT端子22aに「0」レベルを出力する。第7
図に示す割込処理において以上に述べた処理は欠くこと
が出来ない処理であるのでステップ620に至るプログラ
ム処理中に次の割込要求が到来しても受け付けることが
出来ないが、ステップ620以降では受け付け可能とな
る。もっとも、ステップ601からステップ620に至るプロ
グラムの実行はエンジンが前記第8図のステップ652及
び654においてエンジン回転数Neの過回転判別に用いた
判別回転数近傍で運転されているときであっても次のPC
1パルスが発生する前に完了させることが出来るので通
常ステップ601乃至620の各処理実行中に再割込処理の要
求が生じることはない。又、CPU22のON−PORT端子22aに
現われる「0」レベルは前述した通り通電信号線40aを
介して第1の出力回路24aを待機状態とし、この待機状
態により第1の出力回路24aは後述するON−PORT端子22a
の出力の「0」レベルから「1」レベルへの反転時に点
火コイル45への通電を開始させることができる。
次いで、ステップ622に進み、通電カウンタ34の計数値
Tと、当該通電時期データTcgとを比較し、計数値Tが
通電時期データTcgに一致する迄該ステップ622が繰返し
実行される。即ち、通電ステージにおいては通電時間Tc
gが通過する迄は再割込処理の要求がない限り、当該割
込処理プログラムINTが終了することがない。
計数値Tが通電時期データTcgを超えたとき、CPU22は前
記ON−PORT端子22aに「1」レベルを出力し、前述した
通り第1の出力回路24aに通電信号を送出して第1の点
火コイル45の1次コイルに通電を開始させ(ステップ62
3、第2図の(h)及び(i))、本プログラムを終了
する。
以上はステップ621以降に再割込要求がなかった場合の
制御手順であるが、エンジンの急加速により回転数が急
激に上昇してステップ622の処理実行中に次のPC1パルス
が発生した場合には実行中の処理を中断してステップ60
1が再び実行される。このとき、ステップ601の判別結果
が肯定(Yes)となり、ステップ62に進み、スタックポ
イントの再セットが行われる。即ち、今回の再割込要求
が生じたとき前記スタックレジスタには再割込要求が生
じた時点のスタックポイント、即ち、ステップ75におけ
るスタックポイントがストアされることになるが、この
スタックポイントは中断させた前記処理を再び実行する
ことがなくストアしておく必要がないので消去されると
共に、前回割込処理要求が生じたときにストアしたスタ
ックポイントを前記スタックレジスタの最新のスタック
にストアする。従って、今回の再割込により実行される
割込処理プログラムINTのすべての処理が終了したと
き、前回の割込処理の要求が生じた第4図のメインプロ
グラムのスタックポイントに戻されることになる。
次いで、前記ステップ606に進み、CPU22のON−PORT端子
22aに「1」レベルを出力し、第1の出力回路24aに第1
点火コイル45へ通電を開始させる。このとき、前記設定
された通電時期Tcgは未だ到来していないがステップ606
の実行により第1点火コイル45へ強制的に通電が開始さ
せることになる。
前記ステップ605でCPU22からの起動信号により、第1カ
ウンタ39aのクロック端子CKにクロック信号の印加が開
始されると、第1カウンタ39aはクロック信号の入力の
毎に計数値を1宛インクリメントし、第1カウンタ39a
の最上位ビット出力端子の出力が「1」レベルから
「0」レベルに反転するタイミングで第2カウンタ39b
の計数値は1宛インクリメントされる。第1コンパレー
タ41aは第1カウンタ39aの計数値と第1レジスタ38aに
ストアされているTig値の下位8ビットデータとを比較
し、両者が一致したとき第2コンパレータ41bに一致信
号を出力する。一方、第2コンパレータ41bは第2カウ
ンタの計数値と第2レジスタ38bにストアされているTig
値の上位8ビットデータとを比較し、両者が一致し、且
つ第1コンパレータ41aからの前記一致信号が入力した
とき後述する出力タイミングの異常検出を行なった後通
電停止信号、即ち点火信号を第1の出力回路24aに供給
し、第1の点火コイル45における1次コイルへの通電を
停止させる。これにより2次コイルに高電圧が発生し点
火プラグ10aに火花放電が生じ点火が行なわれる。
第2コンパレータ41bからの前記点火信号は第1及び第
2カウンタ39a,39b、並びにR−Sフリップフロップ50
の各リセット端子Rにも供給され、第1及び第2カウン
タ39a,39bの各計数値を零にリセットすると共にフリッ
プフロップ50のQ出力端子の出力を「0」レベルに反転
させ、AND回路49を閉成状態にする。これにより第1及
び第2カウンタ39a,39bは次回の起動信号が入力する迄
計数を停止する。
尚、上述の実施例では点火時期データTigを計数するカ
ウンタ回路に本発明を適用したが通電時期データTcg用
に外部カウンタ回路を設け、これに本発明を適用しても
よい。又、第3図に示すレジスタは8ビットデータを処
理する2つのレジスタ38a,38b及び前段レジスタ42を用
いたが種々の変形例が考えられ、例えば、後段レジスタ
として4ビットデータを処理する4つのレジスタ及び前
段レジスタとして4ビットデータを処理する3つのレジ
スタを用いてもよく、この場合、3つの前段レジスタに
最上位から夫々4ビット宛分割したデータを順次ストア
した後、最下位4ビットデータを後段レジスタの1つに
ストアすると同じタイミングで3つの前段レジスタにス
トアしておいた各データを残りの各後段レジスタにスト
アされる。
次に、第14図及び第15図を参照して、第1図のI/O・LSI
21に内蔵される前記フェールセーフ回路30の構成及びそ
の作用について説明する。
尚、この実施例では点火プラグ10a及び10bの2系統の点
火制御が実行されるが、点火プラグ10aの一方の系統の
出力タイミングがフェールセーフ回路30により監視さ
れ、これにより制御装置の出力タイミングの異常が検出
される。
制御装置の出力タイミングが異常であるか否かは、1動
作周期、即ち連続した点火から点火までの1点火周期の
間に発生する第1のパルス信号PC1、云い換えれば第1
のフリップフロップ回路27から出力されるパルス信号P
(以下このフェールセーフ回路の説明では「Pパル
ス」という)の個数を例えば今回、前回、前々回の点火
時の3回に亘って計数し、これら三者の計数値が所定の
数値関係にあるとき、異常であると判定する。そして異
常と判定した場合はリセット信号を出力してCPU22をリ
セットして点火の実行を禁止する。異常であるか否かを
判定する場合のPパルス計数値の組合わせ例を第3表
により説明する。
まず異常がないと判定する場合から説明する。前記第1
図に示したように回転円板15の円周上には、その1周に
7個のリアクタ16a〜16gが配設されており、連続し点火
から点火までの1点火周期の間に第1のパルス信号PC
1、云い換えればPパルスは出力タイミングが正常で
且つエンジンが一定回転数を保持している限り7個発生
する筈である。したがって第3表第4欄に示すようにP
パルス計数値が毎回検出時に“7"であれば出力タイミ
ングに異常がないと判定する。
パルス計数値が“6"の場合は、エンジン回転数が高
回転領域にあるとき、または急加速時においてPパル
スの信号発生感覚が狭くなり、Pパルスの立上りと、
後述のカウンタリセット信号とが非同期のために重なる
場合が生じ、この重なったPパルスはカウントされな
い。したがって第3表第3欄に示すようにPパルス数
“6"が連続して計数された場合は、Pパルス計数値
“7"の場合と同様に、出力タイミングに異常がないと判
定する。
次いで異常と判定される場合を説明する。
パルス計数値が“4"以下の場合は、例えばエンジン
回転数Neが極低回転数のような場合で、パルサ17に誘起
されるべきパルス信号の一部が欠落している異常状態が
考えられる。このようなPパルス計数値が“4"以下の
場合は、第3図第1欄に示すよに出力タイミングは直ち
に異常と判定する。
パルス計数値が“5"以下の場合は、いま例えばエン
ジン回転数Neが所定の低回転数以下で点火時期が当初TD
Cの位置にいわゆる角度ロックされており、次の点火時
期までの間にエンジン回転数値Neが上昇して、当該次の
点火時期がステージ6にあるとする。このように角度ロ
ック状態から、エンジン回転数Neが上昇した制御切換時
にはPパルス計数値が“5"という状態が1回発生する
ことはあり得る。しかしこのP計数値“5"という状態
が連続して2回生ずることはあり得ないと考え、第3表
第2欄に示すようにPパルスの計数値が“5"であるこ
とを連続して2回検出した場合は、制御装置の出力タイ
ミングは異常であると判定する。
パルス計数値が“8"場合は、点火時期が当初ステー
ジ番号で6のクランク角度位置にあり、この状態からエ
ンジン回転数Neが急減して、次がステージ番号で7で、
さらにその次がステージ1の位置に移行したとすると、
このPパルス数“8"は2回連続して計数されることが
あり得る。しかし、3回連続して計数されることはあり
得ないと考える。このため第3表第5欄に示すようにP
パルス計数値が“8"であることを連続して3回検出し
た場合は、制御装置の出力タイミングは異常であると判
定する。
パルス計数値が“9"場合は、点火時期が当初ステー
ジ番号で6のクランク角度位置にあり、この状態からエ
ンジン回転数Neが急激に低下して次回の点火は、ステー
ジ1の位置に移行したとする。このような場合にP
ルス計数値“9"の状態が1回はあり得る。しかしP
ルス計数値“9"が2回連続して計数されることはあり得
ないと考え、第3表第6欄に示すようにPパルス計数
値が“9"であることを連続して2回検出した場合は、出
力タイミングは異常であると判定する。
パルス計数値が“10"以上の場合は、入力段回路が
高圧ノイズ等をパルス信号として誤って取入れてしまっ
たような場合の異常時等に有効な判別となる。このよう
なPパルス計数値が“10"以上の場合は、第3表第7
欄に示すようにクランク角度位置検出系は直ちに異常と
判定する。
次に第14図により上述のような判定処理を実行するフェ
ールセーフ回路30の内部構成を詳述する。フェールセー
フ回路30には、Pパルスのカウント機能、Pパルス
計数値を記憶するラッチ機能、3個のPパルス計数値
が所定の関係にあるか否かを判定する判定機能、並びに
異常と判定したときのリセット信号の出力機能等の各機
能を有する回路が備えられている。即ち、まず符号83は
パルスカウント用のバイナリカウンタで、その入力
端子83aにはPパルスの入力線路84が接続されてい
る。符号85は点火用信号の入力端子、86は後述するST信
号の入力端子で、これらの点火用信号及びST信号がORゲ
ート87に入力され、このORゲート87の出力端子がカウン
タ83のリセット端子Rに接続されている。そしてカウン
タ83の4個の出力端子01〜04に、前回Pパルス計数値
ラッチ用の第1のレジスタ88、及び前々回Pパルス計
数値ラッチ用の第2のレジスタ88が順次接続されてい
る。第1及び第2のレジスタ88,89はDフリップフロッ
プのQ出力端子及び出力端子を組とする8個の出力端
子を有し、図には符号Q1〜Q4の出力端子のみが記載され
て1〜4の符号の記載が省略してある。符号Q1〜Q2
間の端子がQ1に、符号Q2とQ3の間の端子が2等に夫々
相当する。符号90,91は後述する前回Pパルスラッチ
用信号及び前々回Pパルスラッチ用信号の各入力端子
で、入力端子90は2入力ORゲート82を介して第1のレジ
スタのクロック端子CKに接続され、入力端子91は他の2
入力ORゲート81を介して第2のレジスタ89のクロック端
子CKに接続されている。上記の両2入力ORゲート82,81
の他方の入力端子には、イグニッションスイッチ(図示
せず)の投入直後に発生するパワーオンリセット信号PO
R、後述するリセット信号RESET、及び前記CPU22内で実
行されるプログラムのいわゆる暴走時にこれをクリアす
るためのウォッチドッグタイマクリア信号W/T CLRの各
信号の入力端子が3入力ORゲート80を介て接続されてい
る。
ここで、Pパルス計数値に対するカウンタ83、及び第
1、第2のレジスタ88,89の各出力端子に現れる2進数
の出力値を表で示すと第4表のとおりである。
そして、Pパルス計数値に応じて各出力端子に上表の
ような2進数値を出力するカウンタ83、第1、第2の両
レジスタに対し、これらの出力値から前記第3表に従っ
て出力タイミングが異常であるか否かを判別するために
次のような各回路が配設されている。
まずカウンタ83の出力端子01〜04に、Pパルス“4"以
下を異常と判別するためのバイナリのコンパレータ53が
接続されている。コンパレータ53におけるA0〜A3は夫々
カウンタ83の各出力端子01〜04に接続されたPパルス
計数値の入力端子、B0〜B3は比較設定値“4"設定端子
で、B2端子のみ「1」で他の端子には「0」が与えられ
て“4"に相当する2進数の「0100」が設定される。入力
端子A0〜A3からのPパルス数の入力値が設定値“4"以
下のとき出力端子53aから「1」信号が出力される。
次いでPパルス計数値が“5"異常の場合、即ち前記第
3表の第2欄〜第7欄の場合は、クランク角度位置検出
系が異常であるか否かを判別するために、カウンタ83及
び第1、第2のレジスタの各2進数出力値(前記第4
表)をデコードするANDゲート群と、これら各ANDゲート
の出力を比較する論理回路等が次のように配設されてい
る。
まずカウンタ83、及び第1のレジスタ88から出力される
パルス計数値“5"に相当する2進数出力値(第4
表)をデコードして「1」を出力する第1、第2の4入
力ANDゲート54,55が配設されている。第1のANDゲート5
4の4入力端子には、カウンタ83の(01)及び(03)出
力端子が直接、カウンタ83の(02)及び(04)出力端子
が夫々インバータ58b及び58dを介して接続され、第2の
ANDゲート55の4入力端子には、第1のレジスタ88にお
ける1,Q2,3,Q4の各出力端子が接続されている。
符号56,57は、Pパルス計数値“9"に相当する2進数
値(第4表)をデコードして「1」を出力する第3、第
4の4入力ANDゲートである。第3のANDゲート56の4入
力端子のうちの2個の入力端子にはカウンタ83の(01)
及び(04)出力端子が夫々接続され他の2個の入力端子
にはカウンタ83の(02)及び(03)出力端子が夫々イン
バータ58b及び58cを介して接続されている。また第4の
ANDゲート57の4入力端子には、第2のレジスタ46にお
けるQ1,2,3,Q4の各出力端子が接続されている。
符号59,60,61は、Pパルス計数値“6"に相当する2進
数値をデコードして「1」を出力する第5、第6及び第
7の4入力ANDゲートである。第5のANDゲート59の4入
力端子のうちの2個の入力端子にはカウンタ83の(02)
及び(03)出力端子が夫々接続され、他の2個の入力端
子にはカウンタ83の(01)及び(04)出力端子が夫々イ
ンバータ58a及び58dを介して接続されている。また第6
のANDゲート60の4入力端子には、第1のレジスタ88に
おける1,Q2,Q3,4の各出力端子が接続されている。
さらに第7のアンドゲート61の4入力端子には、第2の
レジスタ89における1,Q2,Q3,4の各出力端子が接続
されている。
符号63,64,65は、Pパルス計数値“8"に相当する2進
数値をデコードして「1」を出力する第9、第10及び第
11の4入力ANDゲートである。第9ANDゲートの4入力端
子のうち1個の入力端子にはカウンタ83の(04)端子が
接続され他の3個の入力端子には、カウンタ83の(01)
(02)(03)出力端子が夫々インバータ58a,58b及び58c
を介して接続されている。また第10ANDゲート64の4入
力端子には第1のレジスタ88におけるQ1,2,3,Q4の
各出力接続されている。さらに第11のANDゲート65の4
入力端子には第2のレジスタ89におけるQ1,Q2,3,4
の各出力端子が接続されている。第10及び第11の両AND
ゲート64,65の各出力端子は、第12の2入力ANDゲート66
入力端子に夫々接続されて、両出力はさらにアンドがと
られている。
符号67,68の第13及び第14の3入力ANDゲートは、これら
2つのANDゲートによりカウンタ83が計数するPパル
ス計数値が“10"から“11"に変化する直前に「1」を出
力するデコーダを構成する。第13のANDゲート67の3入
力端子のうちの1個の入力端子にはカウンタ83の(02)
端子が接続され、他の2個の入力端子には、カウンタ83
の(01)(03)端子が夫々インバータ58a,58cを介して
接続されている。また第14のANDゲート68の3個の入力
端子には、Pパルスの入力線路84、第13ANDゲート67
の出力端子、及びカウンタ83の(04)出力端子が夫々接
続されている。カウンタ83のPパルス計数値が“10"
のとき、第14のANDゲート68の入力線路84に接続される
端子以外の入力端子には「1」が入力されており該第14
のANDゲート68は待機状態にある。第11個目のパルが入
力線路84に発生したとき、第14のANDゲート68はカウン
タ83の出力端子(01)に「1」が現れる迄の短期間
「1」を出力する。
そしてさらに上記の各ANDゲートの出力に基づいて今
回、前回及び前々回のPパルスの計数値の間に前記第
3表に示す数値関係が成立したとき「1」を出力する第
1及び第2の論理回路69,70が配設されている。第1の
論理回路69はインバータ58eも含めてアンド・オアの論
理機能を有し、これと同様に第2の論理回路70はインバ
ータ58fも含めてアンド・オアの論理機能を有してい
る。そして第1の論理回路69における69a及び69bの各入
力端子には、第2及び第1のANDゲート55,54の出力端子
が夫々接続され、69c及び69dの各入力端子には、第4及
び第3のANDゲート57,56の出力端子が夫々接続されてい
る。
一方、第2の論理回路70における符号70aの入力端子
は、本実施例では接地され「0」が入力されており、入
力端子78bに第5のANDゲート59の出力端子が接続されて
いる。また符号70c及び70dの各入力端子には、第12及び
第9のANDゲートの出力端子が夫々接続されている。
そしてさらに上記第1,第2の論理回路69,70の後段に、
リセット信号出力回路を構成する3入力ORゲート71,フ
リップフロップ回路72及び2入力ORゲート76等が順次配
設されている。ORゲート71の3個の入力端子には、コン
パレータ53の出力端子53aと、各インバータ58e,58fを介
して第1、第2の論理回路69,70の両出力線路とが夫々
接続されている。
また、ORゲート71の出力端子は、フリップフロップ回路
72におけるD入力端子に接続され、このフリップフロッ
プ回路72のQ出力端子が2入力ORゲート76における一方
の入力端子に接続されている。ORゲート76における他方
の入力端子には、第14のANDゲート68の出力端子が接続
されている。そしてこのORゲート76からCPU22リセット
用のリセット信号出力端子が導出されている。符号73は
フェール検出のタイミング信号となる後述する前回OUT
信号の入力端子、74は後述するST信号の入力端子でこれ
ら両入力端子73、74が、第15の2入力ANDゲート75の両
入力端子に夫々接続されこの第15のANDゲート75の出力
端子がフリップフロップ回路72のクロック端子CKに接続
されている。
符号78はフェールリセット回路で、フリップフロップ回
路72のQ出力端子からの出力信号、云い換えれば異常と
判定されたときのリセット信号を導入し、このリセット
信号の入力時からさらにクロックパルスを所定個数カウ
ントした所定時間の経過後に、3入力ORゲート79を介し
て当該フリップフロップ回路72にリセット用信号を送出
するものである。ORゲート79における3入力端子のうち
の他の2個の入力端子には、前記と同様のパワーオンリ
セット信号POR及びウォッチドッグタイマクリア信号W/T
CLRの各信号の入力端子が接続されている。
次いで、上述のフェールセーフ回路30の作用を説明す
る。
エンジンのイグニッションスイッチ(図示せず)を閉成
(オン)すると、第1図のECU2に給電が開始されるが、
この給電の開始直後に後述する「1」レベルにある▲
▼信号が出力されるとともに給電電圧が所定レベルに
達したときにパワーオンリセット信号PORが1パルスだ
け出力される。この▲▼信号86はカウンタ83を初期
リセットし、POR信号は、第1、第2レジスタ88及び89
の各CK端子に入力してPパルス計数値の読込みを指令
するがカウンタ83は前述のとおり▲▼信号によりリ
セットされたばかりであるから第1及び第2のレジスタ
88及び89の各内容は0にクリアされたことに等しい。PO
R信号はフリップフロップ回路72に供給されてこれをリ
セットする。
次いで、上述の供給によりCPU22の初期化例えばレジス
タのクリア、変数値の初期値の設定等が完了するとCPU2
2は「1」レベルのST信号を出力するがCPU22の初期化が
完了する迄はST信号は「0」レベルにあり、ST信号の反
転信号である▲▼信号は上述の通り「1」レベルに
ある。初期化完了後のST信号により2入力ANDゲート75
は動作待機状態に保持される。この状態において入力路
線84にPパルスが現れるとカウンタ83はPパルス発
生数の計数を開始し、Pパルスが入力する前記第4表
に示す通りに出力端子(01)〜(04)の出力レベルを変
化させる。前述した点火カウンタ(図示省略)の計数値
が点火時期データTigに達する毎にI/O・LSI21の図示し
ない同期パルス発生回路が4つの同期パルス信号、即ち
前OUT信号(第15図(e))、前々Pパルス計数値ラ
ッチ用信号(以下「前々Pラッチ信号」という同図
(f))、前Pパルス計数値ラッチ用信号(以下「前
ラッチ信号」という(同図(g))、及びOUT信号
(同図(h))をこの順序で順次発生する。前OUT信号
は待機状態にあるANDゲート75の他方の端子に入力し、
この入力タイミングでフリップフロップ回路72のクロッ
ク端子CKに「1」レベルが供給される。フリップフロッ
プ回路72はそのクロック端子CKに「1」レベルが入力さ
れている間D端子入力が「0」レベルである場合、即
ち、前記第3表に例示される今回、前回及び前々回に検
出されたPパルス計数値が異常を表わす所定の数値関
係にない場合、Q出力端子は「0」レベルに保持され
る。次いで、前々Pラッチ信号がOR回路81を介して第
2レジスタ89のクロック端子CKに供給される。この前々
ラッチ信号(同図(f))が第2のレジスタ89のク
ロック端子CKに入力するタイミングで、第1のレジスタ
88にラッチされていた前回Pパルス計数値が第2のレ
ジスタに前々回Pパルス計数値としてラッチされる
(同図(k))。次いで、前Pラッチ信号(同図
(g))が第1のレジスタ88のクロック端子CKに入力
し、このタイミングで、カウンタ83で計数された今回P
パルス計数値が第1のレジスタ83に前回Pパルス計
数値としてラッチされる(同図(j))。この第1のレ
ジスタ83へのラッチ作用の直後に続いて発生されるOUT
信号(同図(k))によりカウンタ83がリセットされ、
次の新たな今回Pパルス数の計数を開始させる一方、
このOUT信号により出力回路24aに前記点火信号を出力さ
せる。
一方、今回、前回、前々回の各Pパルスの計数値間に
前記第3表の第1、第2、及び第5、第6、第7の各欄
に示す数値関係が成立したときは、例えば第3表第1欄
のPパルス計数値が“4"以下の場合は、コンパレータ
53の出力端子53aから「1」信号が出力され、これがOR
ゲート71を介してフリップフロップ回路72のD入力端子
に「1」が導かれる。また第3表第2欄のPパルス計
数値“5"が2回連続して検出されたときは、第1及び第
2のANDゲート54,55からときに「1」が出力され、これ
が第1の論理回路69の69a,69bの両入力端子に入力して
当該論理回路69からはインバータ58eを経て「1」が出
力され、ORゲート71を介してフリップフロップ回路72の
D入力端子に「1」が導かれる。上記の第3表、第1及
び第2欄以外の第5、第6、第7の各欄の数値関係成立
の場合も上記と同様にしてフリップフロップ回路72のD
入力端子には「1」が導かれる。従って前OUT信号(第1
5図(e))の発生タイミングでフリップフロップ回路7
2のクロック端子CKに「1」信号が入力し、Q出力端子
からは異常判定信号たる「1」信号が出力され、この
「1」信号に基づいてORゲート76からリセット信号が出
力され、CPU22がリセットされる。
このようにして今回Pパルス計数値及び今回以前に計
数したPパルス計数値に基づいて、制御装置の出力タ
イミングが異常であるか否かが誤診することなく正確に
検出される。
異常と判定されてCPU22がRESET信号によりリセットされ
るとCPU22はST信号を「0」に、ST信号を「1」に夫々
反転させ、この反転されたST信号によりイグニッション
スイッチ閉成(オン)直後と同様にカウンタ83がリセッ
トされる。RESET信号はORゲート80を介して第1及び第
2のレジスタ88、89の各CK端子にも供給されこれらのレ
ジスタの内容も零にリセットされる。この様にCPU22等
がリセットされた後、所定時間が経過するとフェールリ
セット回路78からのフェールリセット信号によりフリッ
プフロップ回路72がリセットされ、出力端子77からのリ
セット信号が消失してCPU22のリセットが解除され、
「1」レベルに回復したR−Sフリップフロップ50の各
リセット端子Rにも供給され、第1及び第2カウンタ39
a,39bの各計数値を零にリセットすると共にフリップフ
ロップ50のQ出力端子の出力を「0」レベルに反転さ
せ、AND回路49を閉成状態にする。これにより第1及び
第2カウンタ39a,39bは次回の起動信号が入力する迄計
数を停止する。
尚、他の気筒側の点火プラグ10bに対する通電時期及び
点火時期の処理についても通電及び点火のステージが異
なるだけで、その他は上記とほぼ同様であるので説明を
省略する。
第12図は第7図のステップ630で実行される、本発明に
係る固定点火制御サブルーチンCRNKのフローチャートを
示し、前記ステップ608でエンジンが固定点火制御すべ
き状態にあると判別されると、第12図のステップ631
で、先ず、今回ループのステージがステージ7であるか
否かを判別し、その答が肯定(Yes)であれば第1の点
火コイル45への通電を開始し(ステップ632)、否定(N
o)であれば、次ステップ633に進む。
ステップ633では今回ステージがステージ1であるか否
かを判別する。その答が肯定(Yes)であれば、第1の
点火コイル45への通電を停止して第1の点火プラグ10a
を点火させる(ステップ634)。即ち、第13図(f)に
示すように、ステージ7を示す第1のパルス信号PC17
(第13図(a))を検出すると同時に第1の点火コイル
45への通電を開始し、ステージ1を示す第1のパルス信
号PC11を検出すると同時に通電を停止して第1の点火プ
ラグ10aを点火する。一方、ステップ633の答が否定(N
o)であれば次ステップ635に進む。
ステップ635では今回ループのステージがステージ4で
あるか否かを判別し、その答が肯定(Yes)であれば、
第13図(g)に示すように、第2の点火コイル46に通電
する(ステップ636)と共に、前記第7図のステップ603
で再スタートさせたMeカウンタ47の計時値Teが所定
値(例えば50msec)に到達したか否かを判別する。その
答が否定(No)の場合、即ち、所定値に未だ到達してい
なければステップ638に進んで、第2のフリップフロッ
プ回路28のQ出力(第13図(d))が“H"レベルか否か
を判別し、“H"レベルであれば、即ち、ステージ4にお
ける第2の点火プラグ10b側の気筒の実質的に上死点位
置で発生する第2のパルス信号PC2M(第13図(b))が
検出されると第2の点火コイル46への通電を停止して第
2の点火プラグ10bを点火する(ステップ639)。このよ
うに本実施例では本発明が気筒の上死点間隔が180゜離
隔したエンジンに適用されたためPC2MパルスはPC14パル
ス発生後、略45゜クランク角度回転した位置で発生して
いるが上死点間隔が上述の実施例と異なるエンジンでは
第2のパルサ18を当該エンジンの上死点間隔に合せて第
1のパルサ17から離間した位置に配設することにより、
第2の点火プラグに対応する気筒の上死点位置と実質的
に同じ任意のクランク角度位置で点火させることができ
る。
一方、ステップ638の答が否定(No)の場合、即ち、前
記パルス信号PC2Mを未だ検出していなければ、ステップ
637に戻り、パルス信号PC2Mを検出する迄、第2の点火
コイル46への通電を継続しつつ待機する。しかし、この
待機期間中に前記Meカウンタ47の計時値が所定値(50ms
ec)に到達した場合(ステップ637の答が肯定(Yes))
にはステップ640に進み、点火コイルの2次コイルの電
流を徐々に低下させることにより点火プラグの点火を禁
止する点火禁止処理を第2の点火コイル46に行なう。こ
の理由は、ステージ4を示す第2のパルス信号PC24(第
13図(b))を検出してから前記パルス信号PC2Mを検出
する迄の時間は、エンジン回転数が200rpm以上である限
り、高々37.5msecである。従って、50msec経過しても第
2のフリップフロップ回路28のQ出力が“L"レベルであ
るということは、パルス信号PC2Mの検出をし損じたこと
を示す。そして、このし損じは、エンジン回転数Neが低
下し、パルス信号PC2Mの出力レベルが低くなると発生し
易くなる。そこで、ステージ5を示す第2のパルス信号
PC25(第13図(b))、又はそれ以後に発生する第2の
パルス信号PC2を検出することによる、好ましくないエ
ンジンの作動行程での点火を防止するため、前記点火禁
止処理を行なうのである。
ここで再び、前述のステップ631乃至634で実行される第
1の点火プラグ側の固定点火制御の場合に戻ると、前記
パルス信号PC17の割込処理で実行されるステップ632の
第1の点火コイル45の通電開始後に、パルス信号PC11の
検出をし損じた場合、パルス信号PC12、又はそれ以後に
発生する第1のパルス信号PC1で実行される割込処理に
より前記第7図のステップ603で計測されるTsi-1値に基
づきエンジン回転数Neが (200rpm)以下であると第7図のステップ608の答が否
定(No)となり、前記ステップ609に進んで前述の点火
禁止処理が行なわれ、この場合にも不良点火によるエン
ジンへの悪影響が防止される。
尚、第7図のステップ610でCRFLG値が値1に等しいと判
別されたとき、同図ステップ605でスタートさせた点火
カウンタはその作動を停止又は出力信号を無効にする処
理が実行される。
ST信号によりANDゲート75は再び待機状態にされる。ま
た点火コイル21,22に通電後、異常と判定されたとき
は、図示省略のソフトオフ手段により点火コイル21,22
の1次側電流を徐々に低下させ2次側の誘起起電力が小
にされて、点火プラグ10a,10bの火花放電が防止され
る。
なお前記第3表の異常状態と見做すPパルス計数値の
組合せ関係は、任意に設定することができる。
(発明の効果) 以上詳述したように本発明の内燃エンジンの点火時期制
御方法に依れば、前記第1及び第2の位置検出手段を、
点火順序が前後する2つの気筒の各上死点間のクランク
角度に対応する角度だけ離間して配設すると共に、前記
第1又は第2の位置検出手段の一方が欠落部に対応して
おり他方が角度位置を検出する位置が前記2の気筒の各
上死点位置と一致するように配設し、クランクの回転速
度が所定値以下の場合は、前記上死点位置で固定的に各
気筒の点火を実行し、クランクの回転速度が所定値より
大きい場合は、前記第1の位置検出手段が基準クランク
角度位置を検出した後に車両の運転状態より求められる
所定のクランク角度を検出した位置で前記各気筒の点火
を実行するようにしたので各気筒共所定のクランク角度
位置で点火を実行させることが出来、しかも、第1及び
第2の位置検出手段の配設位置を上死点間隔だけ離隔さ
せるだけで種々の型式のエンジンに適用できるという効
果を奏する。
【図面の簡単な説明】
第1図は本発明が実施される内燃エンジンの電子点火制
御装置の全体構成図、第2図は第1及び第2位置検出手
段(パルサ)によって検出されるパルス信号PC1,PC2の
発生タイミング、点火コイルへの通電時期、通電停止時
期(点火時期)等を示すタイミングチャート、第3図は
第1図の点火用カウンタ回路36,37の内部構成を詳示す
る回路図、第4図は第1図の中央演算装置(CPU)で実
行される点火制御のメインフローチャート、第5図は第
4図のステップ100で実行される、内燃エンジンの始動
開始直後のクランク角度基準位置検出手順を示すフロー
チャート、第6図は第4図のステップ200の処理内容を
詳示するフローチャート、第7図は所定クランク角度位
置の検出毎に割込実行され、通電時期、通電停止時期
(点火時期)等の制御手順を示すフローチャート、第8
図は第7図の割込処理プログラムINTのステップ650の処
理内容を詳示するフローチャート、第9図は第7図の割
込処理プログラムINTのステップ670の処理内容を詳示す
るサブルーチンTHSIのフローチャート、第10図は第9図
のサブルーチンTHSIのステップ682の処理内容を詳示す
るサブルーチンTHSIAのフローチャート、第11図は第2
図のレジスタにデータがストアされるタイミングを示す
タイングチャート、第12図は第7図のステップ630の処
理内容を詳示するサブルーチンCRNKのフローチャート、
第13図は固定点火制御の実行の際の点火コイルへの通電
時期、通電停止時期(点火時期)等を示すタイミングチ
ャート、第14図は第1図の装置におけるフェールセーフ
回路30の一例をさらに詳細に示す回路図、第15図は同上
フェールセーフ回路における各信号波形等を示すタイミ
ングチャートである。 1……エンジン、10a,10b……点火プラグ、14……クラ
ンク軸、17,18……第1、第2のパルサ、24……CPU、31
……ROM、32……RAM。
フロントページの続き (72)発明者 木村 裕 東京都港区虎ノ門1丁目7番12号 沖電気 工業株式会社内 (72)発明者 御友 治人 東京都港区虎ノ門1丁目7番12号 沖電気 工業株式会社内 (56)参考文献 特開 昭53−49639(JP,A) 特開 昭59−160070(JP,A) 特公 平5−11562(JP,B2)

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】内燃エンジンの出力軸の円周上に一つの欠
    落部を有して等間隔に配された複数の角度位置を異なる
    円周位置にある第1及び第2の位置検出手段により検出
    し、前記第1の位置検出手段が隣接する先の角度位置と
    後の角度位置を検出する間に前記第2の位置検出手段が
    前記角度位置を検出しないとき、前記後の角度位置を基
    準クランク角度位置とし、該基準クランク角度位置を検
    出した後に所定の角度位置を検出したとき点火を実行す
    る点火時期制御方法において、前記第1及び第2の位置
    検出手段を、点火順序が前後する2つの気筒の各上死点
    間のクランク角度に対応する角度だけ離間して配設する
    と共に、前記第1又は第2の位置検出手段の一方が欠落
    部に対応しており他方が角度位置を検出する位置が前記
    2つの気筒の各上死点位置と一致するように配設し、ク
    ランクの回転速度が所定値以下の場合は、前記上死点位
    置で固定的に各気筒の点火を実行し、クランクの回転速
    度が所定値より大きい場合は、前記第1の位置検出手段
    が基準クランク角度位置を検出した後に車両の運転状態
    より求められる所定のクランク角度を検出した位置で前
    記各気筒の点火を実行することを特徴とする内燃エンジ
    ンの点火時期制御方法。
JP60205112A 1985-09-17 1985-09-17 内燃エンジンの点火時期制御方法 Expired - Lifetime JPH0692783B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP60205112A JPH0692783B2 (ja) 1985-09-17 1985-09-17 内燃エンジンの点火時期制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60205112A JPH0692783B2 (ja) 1985-09-17 1985-09-17 内燃エンジンの点火時期制御方法

Publications (2)

Publication Number Publication Date
JPS6263172A JPS6263172A (ja) 1987-03-19
JPH0692783B2 true JPH0692783B2 (ja) 1994-11-16

Family

ID=16501619

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60205112A Expired - Lifetime JPH0692783B2 (ja) 1985-09-17 1985-09-17 内燃エンジンの点火時期制御方法

Country Status (1)

Country Link
JP (1) JPH0692783B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4465665B2 (ja) 2005-11-29 2010-05-19 トヨタ自動車株式会社 内燃機関の制御装置および制御方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6053190B2 (ja) * 1976-10-15 1985-11-25 株式会社デンソー 回転基準位置検出装置
JPS59160070A (ja) * 1983-03-02 1984-09-10 Hitachi Ltd V型多気筒内燃機関点火装置
JPH0511562A (ja) * 1991-07-04 1993-01-22 Sharp Corp 電子写真装置のカラーバランス調整装置

Also Published As

Publication number Publication date
JPS6263172A (ja) 1987-03-19

Similar Documents

Publication Publication Date Title
US4664082A (en) Method of detecting abnormality in a reference crank angle position detection system of an internal combustion engine
US4887215A (en) Method of examining operation of electronic control system for internal combustion engines
EP0024733A2 (en) Method and system for operating an internal combustion engine at maximum torque under varying operating conditions
JP4168907B2 (ja) エンジン制御装置
US4796208A (en) Method of detecting reference crank angle position in an internal combustion engine at the time of starting same
JP3543637B2 (ja) 内燃機関用制御装置
US6612296B1 (en) Control apparatus for internal combustion engine
US4711227A (en) Apparatus and method for electronic ignition control
JPH0692783B2 (ja) 内燃エンジンの点火時期制御方法
JPS6270646A (ja) 内燃機関の点火装置
EP2667199B1 (en) Semiconductor data processing apparatus and engine control apparatus
JP3133150B2 (ja) クランク軸回転変動による失火検出方法
JP2681771B2 (ja) 内燃エンジンの電子点火時期制御方法
JP4475704B2 (ja) エンジン制御装置
US5301650A (en) Ignition device for internal combustion engines
JPH08303287A (ja) 電子燃料噴射制御装置のフェールセーフモードからの復帰方法及び車両用電子燃料噴射制御装置
JP2007218203A (ja) 点火故障診断装置、点火故障診断システム及び点火故障診断方法
JP3741872B2 (ja) Ramの診断装置
JPH06195244A (ja) 制御用コンピュータの異常検出装置
JP3146587B2 (ja) 内燃機関用制御装置
JP2003065137A (ja) 逆回転検出制御装置
JPS61286585A (ja) 内燃エンジンの電子点火制御方法
JP2560313B2 (ja) 内燃機関回転センサの異常検出方法
JPS61291774A (ja) 内燃エンジンの電子点火時期制御装置
JPH0742606A (ja) エンジン用回転角度位置検出装置