(57)【要約】【課題】点火位置の演算に要する時間を従来より大幅に短縮することができるようにした内燃機関用点火装置を提供する。【解決手段】内燃機関１の回転速度の可変範囲を第１ないし第４の速度領域に分けて、該第１ないし第４の速度領域に対してそれぞれ第１ないし第４の番号がつけられた点火位置演算用のブロックマップＢＭ1ないしＢＭ4を作成し、これらのブロックマップにより点火位置演算用マップを構成する。点火位置演算手段５は、回転速度に対して点火位置を検索した際に検索に適合したブロックマップを適合ブロックマップとしてその番号と先頭アドレスとを記憶する手段を備えていて、新たな回転速度に対して点火位置を演算する際には、記憶された適合ブロックマップの先頭アドレスに格納されているデータから点火位置の検索を開始するように構成されている。【選択図】    図１
2005188299.tif 000002
【特許請求の範囲】
【請求項１】
内燃機関の回転速度を検出する回転速度検出手段と、前記内燃機関の点火位置対回転速度特性を折れ線で近似して該折れ線の複数の折れ点をそれぞれ規定する回転速度及び点火位置を格納した点火位置演算用マップを記憶したマップ記憶手段と、前記回転速度検出手段により検出された回転速度に対して前記点火位置演算用マップを検索することにより前記内燃機関の点火位置を演算する点火位置演算手段と、前記点火位置演算手段により演算された点火位置を検出したときに点火信号を発生する点火信号発生手段と、前記点火信号が発生した時に点火用の高電圧を発生する点火回路とを備えた内燃機関用点火装置において、
前記内燃機関の回転速度の可変範囲が第１ないし第ｎ（ｎは２以上の整数）の速度領域に分けられて、該第１ないし第ｎの速度領域に対してそれぞれ作成されて第１ないし第ｎの番号がつけられたｎ個のブロックマップにより前記点火位置演算用マップが構成され、  前記点火位置演算手段は、各回転速度に対して点火位置を検索した際に検索に適合したブロックマップを適合ブロックマップとして少なくとも該適合ブロックマップの番号を記憶する適合ブロック記憶手段を有していて、新たな回転速度に対して点火位置を演算する際に前記適合ブロック記憶手段に記憶された番号のブロックマップに格納されているデータから検索を開始して、該適合ブロック記憶手段に記憶された番号のブロックマップが新たな回転速度に対して点火位置を検索するのに適合していないときに他のブロックマップを検索するように構成されていること、
を特徴とする内燃機関用点火装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内燃機関の点火位置の制御をマイクロコンピュータを用いて行う内燃機関用点火装置に関するものである。
【背景技術】
【０００２】
マイクロコンピュータにより点火位置（点火動作を行わせるクランク角位置）を制御する内燃機関用点火装置は、例えば特許文献１に示されたように、内燃機関の回転速度を検出する回転速度検出手段と、点火位置演算用マップを記憶したマップ記憶手段と、回転速度検出手段により検出された回転速度に対して点火位置演算用マップを検索することにより内燃機関の点火位置を演算する点火位置演算手段と、点火位置演算手段により演算された点火位置を検出したときに点火信号を発生する点火信号発生手段と、点火信号が発生した時に点火用の高電圧を発生する点火回路とを備えている。
【０００３】
マイクロコンピュータにより回転速度に対して点火位置を制御する場合には、内燃機関の点火位置対回転速度特性を折れ線で近似して、該折れ線の各折れ点を規定する回転速度Ｎo，Ｎ1，Ｎ2，…（Ｎo＞Ｎ1＞Ｎ2＞…）と、点火位置θo，θ1，θ2，…とを図５に示したようにテーブルの形にまとめ、回転速度Ｎo，Ｎ1，…及び点火位置θo，θ1，…をそれぞれ回転速度格納用メモリ及び点火位置格納用メモリに格納する。そして、回転速度Ｎo，Ｎ1，…を格納したメモリ群の先頭アドレスと、点火位置θo，θ1，…をそれぞれ格納したメモリ群の先頭アドレスとをメモリに記憶させておく。
【０００４】
点火位置演算手段は、先ずマップの先頭アドレスから順に回転速度を格納したメモリの内容を読み出して、検出された回転速度を読み出した回転速度と逐次比較することにより、回転速度検出手段により検出された回転速度の上下の折れ点の回転速度Ｎhigh及びＮlowが格納された回転速度格納用メモリのアドレスを検索する。次いで、点火位置演算用マップから、回転速度Ｎhigh及びＮlowがそれぞれ格納された回転速度格納用メモリのアドレスに対応する点火位置格納用メモリのアドレスを求め、求められた点火位置格納用メモリのアドレスの内容を読み出すことにより、回転速度Ｎhigh及びＮlowにおける点火位置θhigh及びθlowを求める。そして、回転速度Ｎhig及びＮlowと点火位置θhig及びθlowとを用いて補間演算を行うことにより、検出された回転速度Ｎにおける点火位置を演算する。
【０００５】
例えば検出された回転速度ＮがＮ4p-1とＮ4pとの間にある場合には、回転速度Ｎをマップの先頭の回転速度ＮoからＮ4p-1まで順次比較することにより回転速度Ｎの上下の回転速度Ｎ4p-1とＮ4pとを検索してこれらの回転速度をそれぞれＮhig及びＮlowとする。またこれらの回転速度における点火位置θ4p-1及びθ4pをそれぞれθhig及びθlowとして検索し、下記の式により補間演算を施すことにより回転速度Ｎに対する点火位置θｉを求める。
θｉ＝｛（θhigh−θlow）／（Ｎhigh−Ｎlow）｝（Ｎ−Ｎlow）＋θlow    （１）
このように、実際の回転速度に対して点火位置演算用マップを検索することにより求めた上下の折れ点の回転速度及び点火位置から補間演算により実際の回転速度に対する点火位置を演算することを「点火位置をマップ演算する」という。
【０００６】
マイクロコンピュータにより点火位置を制御する内燃機関においては、例えば、図４に示したように、機関のクランク軸の上死点位置（ピストンが上死点に達したときのクランク角位置）ＴＤＣに対して十分に進角した位置に設定された基準位置Ａ，Ｂ，Ｃ，…で第１パルスＶs1を発生し、上死点位置ＴＤＣ付近で第２パルスＶs2を発生する信号発生器を機関に取り付けて、第１パルスＶs1の発生間隔（クランク軸が１回転するのに要する時間）Ｔo，Ｔ1，Ｔ2，…から機関の回転速度を演算するようにしている。
【０００７】
また演算された回転速度に対してマップ演算することにより求めた点火位置（点火動作を行わせるクランク角位置）θia，θib，θic，…をそれぞれ点火タイマ計時データ（基準位置から点火位置まで機関が回転するのに要する時間）Ｔia，Ｔib，Ｔic，…に変換して、基準位置Ａ，Ｂ，Ｃ，…で点火タイマにこれらの計時データの計測を開始させ、該点火タイマが計時データＴia，Ｔib，Ｔic，…の計測をそれぞれ完了したときのタイミングを点火時期ｔia，ｔib，ｔic，…として、これらの点火時期に点火信号を発生させるようにしている。
【特許文献１】特開平７−３０５６７３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
上記のように、従来の点火装置においては、点火位置対回転速度特性の折れ点を規定する回転速度及び点火位置のデータをそれぞれ高回転速度から低回転速度側に順次並べた構造を有する単一の点火位置演算用マップを用いて、このマップを高回転速度側から低回転速度側に順次検索することにより、点火位置の補間演算に用いる回転速度と点火位置とを検索するようにしていたため、点火位置対回転速度特性の折れ点の数が多い場合に、低回転速度領域でのマップ検索処理に時間がかかり、マップ検索時間とその他の処理とに必要な時間が、基準位置から点火位置までクランク軸が回転するのに要する時間を超えてしまうことがある。そのため、各基準位置で点火タイマにセットする計時データとしては、１回転前の基準位置で検出された回転速度に基づいて演算されたデータを用いる必要があり、各基準位置で検出された回転速度に基づいて演算された最新の点火位置で点火を行わせることができないという問題があった。
【０００９】
例えば、図４の基準位置Ｃで時間Ｔ2に基づいて回転速度を演算した直後にその回転速度に対して点火位置を演算した場合、回転速度の演算に要する時間と、点火位置の検索に要する時間と、検索した点火位置を点火タイマ計時データに変換するのに要する時間との合計が基準位置Ｃから点火位置θicまでクランク軸が回転するのに要する時間を超えてしまう。そのため、基準位置Ｃで点火タイマにセットする計時データとしては、１回転前の基準位置Ｂで時間Ｔ1に基づいて検出された回転速度に対して演算されたものを用いざるを得ず、最新の回転速度データに基づいて点火位置を制御することができない。
【００１０】
また各基準位置で点火タイマにセットする計時データとして１回転前の回転速度に基づいて演算されたデータを用いることを許容するとしても、点火位置の検索に要する時間が長くなると、クランク軸が１回転する間の時間のうち、点火位置の演算以外の処理に使用できる時間が短くなるため、点火位置の制御とともに燃料噴射量の制御などの他の制御を併せて行う場合に、必要な各種の処理を行う時間が不足して、制御が的確に行われなくなるおそれがある。最新の回転速度データを用いて点火位置を制御することを可能にしたり、機関の高速回転時に点火位置の制御以外の制御に必要な処理を余裕をもって行わせて制御を的確に行わせるためには、点火位置の演算に要する時間をできるだけ短くすることが好ましい。
【００１１】
本発明の目的は、点火位置の演算に要する時間を従来より大幅に短縮することができるようにした内燃機関用点火装置を提供することにある。
【課題を解決するための手段】
【００１２】
本発明は、内燃機関の回転速度を検出する回転速度検出手段と、内燃機関の点火位置対回転速度特性を折れ線で近似して該折れ線の複数の折れ点をそれぞれ規定する回転速度及び点火位置を格納した点火位置演算用マップを記憶したマップ記憶手段と、回転速度検出手段により検出された回転速度に対して点火位置演算用マップを検索することにより内燃機関の点火位置を演算する点火位置演算手段と、点火位置演算手段により演算された点火位置を検出したときに点火信号を発生する点火信号発生手段と、点火信号が発生した時に点火用の高電圧を発生する点火回路とを備えた内燃機関用点火装置を対象とする。
【００１３】
本発明においては、内燃機関の回転速度の可変範囲を第１ないし第ｎ（ｎは２以上の整数）の速度領域に分けて、該第１ないし第ｎの速度領域に対してそれぞれ第１ないし第ｎの番号がつけられたブロックマップを作成し、これらｎ個のブロックマップにより点火位置演算用マップを構成する。
【００１４】
点火位置演算用マップを構成する各ブロックマップは、点火位置対回転速度特性の折れ線の各速度領域に属する複数の折れ点のそれぞれを規定する回転速度及び点火位置を格納したものからなっている。
【００１５】
また点火位置演算手段は、回転速度に対して点火位置を検索した際に検索に適合したブロックマップを適合ブロックマップとして少なくとも該適合ブロックマップの番号を記憶する適合ブロック記憶手段を有していて、新たな回転速度に対して点火位置を演算する際に前記適合ブロック記憶手段に記憶された番号のブロックマップに格納されているデータから検索を開始し、該適合ブロック記憶手段に記憶された番号のブロックマップが新たな回転速度に対して点火位置を検索するのに適合していないときに他のブロックマップを検索するように構成されている。
【００１６】
上記のように、点火位置演算用マップをｎ個のブロックマップにより構成すると、各ブロックマップに含まれる折れ点の数が総折れ点数の１／ｎ倍になるため、各ブロックマップは規模が小さいものとなり、そのマップ全体を検索するのに要する時間は、全回転速度領域を１つにまとめて作成した点火位置演算用マップの全体を検索する時間に比べて大幅に短くすることができる。また回転速度に対して点火位置を検索した際に、検索に適合したブロックマップ（最終的に点火位置を検索するのに用いたブロックマップ）の番号を記憶させておいて、新たな回転速度に対して点火位置を検索する際に、前回の検索で適合したブロックマップを先ず検索するようにすると、前回と同じブロックマップを用いて新たな点火位置を検索できる確率が高いため、検索するマップの規模が小さくなっていることと相まって、点火位置演算用マップの検索に要する時間を大幅に短縮することができる。
【００１７】
本発明の好ましい態様では、点火位置演算手段が、各回転速度に対して点火位置を検索した際に検索に適合したブロックマップを適合ブロックマップとして該適合ブロックマップの番号と該適合ブロックの先頭アドレスとを記憶する適合ブロック記憶手段を有していて、新たな回転速度に対して点火位置を演算する際に前記適合ブロック記憶手段に記憶された番号のブロックマップの先頭アドレスに格納されているデータから検索を開始して、該適合ブロック記憶手段に記憶された番号のブロックマップが新たな回転速度に対して点火位置を検索するのに適合していないときに他のブロックマップを検索するように構成される。
【発明の効果】
【００１８】
以上のように、本発明によれば、内燃機関の回転速度の可変範囲を第１ないし第ｎのブロックに分けて、点火位置演算用マップを第１ないし第ｎのブロックマップににより構成するとともに、回転速度に対して点火位置を検索した際に検索に適合したブロックマップの番号を記憶する手段を設けておいて、新たな回転速度に対して点火位置を検索する際に、前回の検索で適合したブロックマップを先ず検索するようにしたので、点火位置の検索に要する時間を大幅に短縮することができる。従って、点火位置対回転速度特性の折れ点の数が著しく多くない場合には、クランク軸の回転角度位置が基準位置に一致したときに演算された回転速度に対してすぐに点火位置を演算して、その点火位置で点火動作を行わせることができ、最新の回転速度を反映させた形で点火位置を制御することができる。
【００１９】
また本発明によれば、点火位置の演算に要する時間を短くすることができるため、点火位置の制御以外の他の制御を併せて行う場合に、他の制御に必要な演算処理を行う時間を十分に確保して、その制御を的確に行わせることができる。
【発明を実施するための最良の形態】
【００２０】
以下図面を参照して本発明の好ましい実施形態を詳細に説明する。
図１は本発明に係わる内燃機関用点火装置の全体的な構成を示したもので、同図において、１は内燃機関、２は内燃機関に取り付けられた信号発生器３の出力から内燃機関の回転速度を検出する回転速度検出手段、４は内燃機関の点火位置対回転速度特性を折れ線で近似して該折れ線の複数の折れ点をそれぞれ規定する回転速度及び点火位置を格納した点火位置演算用マップを記憶したマップ記憶手段、５は回転速度検出手段により検出された回転速度に対して点火位置演算用マップを検索することにより内燃機関の点火位置を演算する点火位置演算手段、６は点火位置演算手段により演算された点火位置を検出したときに点火信号を発生する点火信号発生手段、７は点火信号が発生した時に点火用の高電圧を発生して該高電圧を内燃機関１の気筒に取り付けられた点火プラグに印加する点火回路である。
【００２１】
信号発生器３は、内燃機関の上死点位置（機関のピストンが上死点に達したときのクランク角位置）に対して十分に進角した位置に設定された基準位置及び該基準位置よりは遅れ、上死点位置よりも僅かに進んだ位置に設定された設定位置でそれぞれ第１パルスＶs1及び第２パルスＶs2（図４参照）を発生するもので、この信号発生器としては、例えば、所定の極弧角を有する突起または凹部からなるリラクタを備えて内燃機関と同期回転するように設けられたロータと、該ロータのリラクタの回転方向の前端側エッジ及び後端側エッジをそれぞれ検出して極性が異なるパルスを発生するパルサとからなるものを用いることがができる。
【００２２】
回転速度検出手段２は、基準位置で第１パルスＶs1が発生する毎に、クロックパルスを計数しているタイマの計測値を読み込んで、第１パルスＶs1の発生間隔（クランク軸が１回転するのに要した時間）Ｔｎを求め、この時間Ｔｎから内燃機関の回転速度Ｎを求める。
【００２３】
本発明においては、内燃機関の回転速度の可変範囲が第１ないし第ｎ（ｎは２以上の整数）の速度領域に分けられて、該第１ないし第ｎの速度領域に対してそれぞれ第１ないし第ｎの番号がつけられたｎ個のブロックマップが作成され、これら第１ないし第ｎのブロックマップにより点火位置演算用マップが構成される。マップ記憶手段４は、点火位置演算用マップを構成する第１ないし第ｎのブロックマップＢＭ1ないしＢＭnを記憶している。
【００２４】
図２は、本発明で用いる点火位置演算用マップの構造の一例を示したもので、この例では、回転速度の可変範囲が第１の速度領域Ｎo〜Ｎp，第２の速度領域Ｎp〜Ｎ2p，第３の速度領域Ｎ2p〜Ｎ3p及び第４の速度領域Ｎ3p〜Ｎ4pの４つの速度領域に分けられ、これら第１ないし第４の速度領域に対してそれぞれ第１ないし第４のブロックマップＢＭ1ないしＢＭ4が作成されている。
【００２５】
各ブロックマップは、点火位置対回転速度特性の折れ線の各速度領域に属する複数の折れ点のそれぞれを規定する回転速度及び点火位置をそれぞれ記憶した回転速度格納用メモリ及び点火位置格納用メモリを、高回転速度側から低回転速度側にテーブルの形で集積したものからなっている。ここで、一連の回転速度を格納したメモリからなる一次元マップを回転速度マップ（Ｎマップ）と呼び、一連の点火位置を格納したメモリからなる一次元マップを点火位置マップ（θマップ）と呼ぶことにする。
【００２６】
例えば第１のブロックマップＢＭ1は、速度領域ＮoないしＮpに属するＰ＋１個の回転速度Ｎo，Ｎ1，Ｎ2，…，Ｎp（Ｎo＞Ｎ1＞…＞Ｎp）をそれぞれ格納したメモリを回転速度が高い順に並べた構造を有する回転速度マップと、これらの回転速度における点火位置θo，θ1，θ2，…，θpをそれぞれ格納したメモリを順に並べて集積した構造を有する点火位置マップとからなっている。点火位置θo，θ1，θ2，…は、上死点位置（ピストンが上死点に達したときのクランク角位置）から点火位置までの角度の形で与えられる。
【００２７】
図２に示したマップにおいては、各回転速度に付された添え字０，１，２，…から明らかなように、各ブロックマップの回転速度データを格納しているメモリのアドレスは、先頭から末尾に向かって１ずつ増加する連続番号になっており、２番目以降の各ブロックマップの先頭の回転速度データを格納しているメモリのアドレスは、番号が１つ若いブロックマップの回転速度マップの末尾のデータを格納しているメモリのアドレスと同じになっている。
【００２８】
同様に、各点火位置に付された添え字から明らかなように、各ブロックマップの点火位置データを格納しているメモリのアドレスも、先頭から末尾に向かって１ずつ増加する連続番号となっており、２番目以降の各ブロックマップの先頭の点火位置データを格納しているメモリのアドレスは、番号が１つ若いブロックマップの点火位置マップの末尾のデータを格納しているメモリのアドレスと同じになっている。
【００２９】
点火位置演算手段５は、各回転速度に対して点火位置を検索する際に検索に適合したブロックマップを適合ブロックマップとして該適合ブロックマップの番号と該適合ブロックマップの先頭アドレスとを記憶する適合ブロック記憶手段を有していて、新たな回転速度に対して点火位置を演算する際には、先ず適合ブロック記憶手段に記憶された番号のブロックマップの先頭アドレスに格納されているデータから検索を開始し、該適合ブロック記憶手段に記憶された番号のブロックマップが新たな回転速度に対して点火位置を検索するのに適合していないとき（そのブロックマップでは検出された回転速度に対して、補間演算に用いる回転速度及び点火位置を検索することができないとき）に他のブロックマップを検索するように構成されている。
【００３０】
このように構成すると、例えば、前回の検索時に検出された回転速度ＮがＮp＜Ｎ＜Ｎp+1であったために、ブロックマップＢＭ2を適合マップとしてその番号が記憶されている場合に、新たに検出された回転速度ＮがＮp+1＞Ｎ＞Ｎp+2であるときには、最初にブロックマップＢＭ2の先頭アドレスに格納されているデータＮpから検索することにより、補間演算に用いる回転速度Ｎp+1，Ｎp+2及び点火位置θp+1，θp+2を直ぐに検索することができるため、最高回転速度Ｎoが格納されたメモリのアドレスから順に検索していく場合に比べて検索に要する時間を大幅に短縮することができる。
【００３１】
前回の検索時に検出された回転速度ＮがＮp＜Ｎ＜Ｎp+1であったために、ブロックマップＢＭ2を適合マップとしてその番号が記憶されている場合に、新たに検出された回転速度ＮがＮp-1＞Ｎ＞Ｎpであるときには、最初にブロックマップＢＭ2を検索した際に補間演算に用いる回転速度及び点火位置を検索することができないため、他のブロックマップを検索し、適合するブロックマップＢＭ1を見出して補間演算に用いる回転速度Ｎp，Ｎp+1及び点火位置θp，θp+1を検索したときに、そのブロックマップの番号「１」と、その先頭アドレスとを記憶しておく。
【００３２】
このように、本発明によれば、検出された回転速度に対して点火位置を求めるための補間演算に用いる回転速度及び点火位置を検索するのに要する時間を大幅に短縮することができるため、基準位置で回転速度が演算された時に、続いて演算された回転速度に対して点火位置を演算するとともに、演算した点火位置を検出するために点火タイマに計測させる点火タイマ計時データを求めて、この点火タイマ計時データを点火タイマにセットすることにより、最新の回転速度データを用いて点火位置を制御することができる。
【００３３】
例えば、図４において、基準位置Ｃで時間Ｔ2に基づいて回転速度を演算した後、直ぐにその回転速度における点火位置を演算して、その点火位置を検出するための計時データを点火タイマにセットすることにより、時間Ｔ2に基づいて検出した最新の回転速度を反映させた点火位置θicで点火動作を行わせることができる。
【００３４】
図２に示したような構造を有する点火位置演算用マップを用いて、検出された回転速度に対して点火位置を演算する場合にマイクロコンピュータに実行させるプログラムのアルゴリズムを示するフローチャートを図３に示した。このアルゴリズムによる場合には、先ずステップ１で前回のマップ検索時に記憶された適合ブロックマップの回転速度マップ（以下Ｎマップという。）の先頭アドレスをＮＢaddとし、記憶された適合ブロックマップの点火位置マップ（以下θマップという。）の先頭アドレスをＩＧＢaddとする。また記憶されている適合ブロックマップの番号をＢＮｏ．とし、カウンタの計数値を０にリセットする。
【００３５】
次いでステップ２において、回転速度検出手段２により検出された回転速度ＮとアドレスＮＢaddに記憶されている回転速度（図３において、＠は、当該符号が付されたアドレスに記憶されている内容を示す。）とを比較し、その結果検出された回転速度ＮがアドレスＮＢaddに記憶されている回転速度よりも低い場合（今回検出された回転速度Ｎが前回の適合ブロックマップに含まれている場合）には、ステップ３に進んで、アドレスＮＢadd及びＩＧＢaddにそれぞれ２を加えたものを新たなアドレスＮＢadd及びＩＧＢaddとし、カウンタの計数値を１だけインクリメントする。
【００３６】
次いでステップ４でカウンタの計数値が（ブロック内の折れ点数−１）以上であるか否かを判定する。図２に示したようにブロックマップに含まれる折れ点数がｐ＋１である場合には、カウンタの計数値がｐ以上であるか否かを判定する。最初はカウンタの計数値が０であって、（ブロック内の折れ点数−１）以上でないため、ステップ２に戻る。これらの過程を繰り返すことにより、ステップ２で検出された回転速度ＮがアドレスＮＢaddに記憶された回転速度以上であると判定されたときには、ステップ５に進んでカウンタの計数値が０であるか否かを判定する。最初にステップ２で回転速度ＮがアドレスＮＢaddに記憶された回転速度以上であると判定された場合を除き、カウンタの計数値は０でないため、ステップ６に進み、適合ブロックマップのＮマップの先頭アドレスと、適合ブロックマップのθマップの先頭アドレスと、適合ブロックマップの番号とを記憶させる。次いでステップ７に進み、アドレスＮＢaddに記憶されている回転速度、アドレス（ＮＢadd−２）に記憶されている回転速度をそれぞれＮlow及びＮhighとし、アドレスＩＧＢaddに記憶されている点火位置及びアドレス（ＩＧＢadd−２）に記憶されている点火位置をそれぞれＩＧlow及びＩＧhighとする。次いでステップ８で下記の（１）´式の補間演算を行い、その演算結果を点火位置データＩＧＤＡＴとして記憶させてこのルーチンを終了する。
ＩＧＤＡＴ＝｛（ＩＧhigh−ＩＧlow）／（Ｎhigh−Ｎlow）｝（Ｎ−Ｎlow）＋ＩＧlow                                                                    …（１）´  
上記（１）´式は、（１）式の“θ”を“ＩＧ”で置き換えた点を除き（１）式と同様である。ステップ７及びステップ８により点火位置補間ルーチンが構成される。
【００３７】
ステップ２を最初に実行した際に回転速度ＮがアドレスＮＢaddに記憶された回転速度以上であると判定されたとき（今回検出された回転速度が前回の適合ブロックマップに含まれていないとき）には、ステップ５に進む。このときカウンタの計数値は０になっているため、ステップ９に進み、ブロックマップの番号ＢＮｏ．が１であるか否かを判定する。その結果ブロックマップ番号が１でない場合には、ステップ１０に進んでアドレスＮＢaddからブロック内の折れ点数の２倍の数値を引いた値を新たなアドレスＮＢaddし、カウンタの計数値を０，ブロックマップ番号ＢＮｏ．から１を引いた数値を新たなブロックマップ番号ＢＮｏ．としてステップ２に戻る。この過程は、前回の適合ブロックマップよりも１つ若い番号のブロックマップに検索の対象を移す過程である。この過程により適合するブロックマップが見出された場合には最終的にステップ２−ステップ５−ステップ６−ステップ７の過程が実行されて、補間演算に用いる回転速度及び点火位置が検索され、ステップ８で補間演算が行われて検出された回転速度に対する点火位置が求められる。
【００３８】
ステップ９においてブロックマップ番号ＢＮｏ．が１であると判定されたとき、即ち前回の適合ブロックマップが最高速側のブロックマップであると判定されたときには、ステップ１１に進んで、適合ブロックマップのＮマップの先頭アドレスと、適合ブロックマップのθマップの先頭アドレスと、適合ブロックマップの番号とを記憶させ、次いでステップ１２で折れ点数−１の演算を行う。その後ステップ１３で適合ブロックマップのθマップの先頭アドレスにカウンタの計数値の２倍の数値を加えた数値のアドレスに記憶された点火位置を検索された点火位置データとしてこのルーチンを終了する。図３のルーチンを開始したときに最初にステップ２−ステップ５−ステップ９−ステップ１１−ステップ１２−ステップ１３の経路をたどった場合には、カウンタの計数値は０であるので、ステップ１３で検索される点火位置格納用メモリのアドレスは第１のブロックマップＢＭ1の先頭アドレスとなる。即ち、検出された回転速度Ｎが最高速側のブロックマップの最高速回転速度Ｎoよりも高いと判定されたときには、最高加点速度Ｎoにおける点火位置を点火位置データとする。
【００３９】
図３のステップ４において、カウンタの計数値が（ブロック内の折れ点数−１）以上であると判定されたとき（前回の適合ブロックマップの最後の回転速度まで検索が行われたとき）には、ステップ１４に進んでブロックマップの番号がブロックマップ数（図２に示した例では＝４）に等しくなっているか否かを判定し、等しくなっている場合には、ステップ１１に進んで、適合ブロックマップのＮマップの先頭アドレスと、適合ブロックマップのθマップの先頭アドレスと、適合ブロックマップの番号とを記憶させ、次いでステップ１２で折れ点数−１の演算を行う。その後ステップ１３で適合ブロックマップのθマップの先頭アドレスにカウンタの計数値の２倍の数値を加えた数値のアドレスに記憶された点火位置を検索された点火位置データとしてこのルーチンを終了する。前回の適合ブロックマップが第４のブロックマップＢＭ4で、検出された回転速度Ｎが第４のブロックマップの最も低い回転速度よりも更に低い場合には、ステップ１３により第４のブロックマップの最低回転速度Ｎ4Pにおける点火位置θ4pが点火位置データとして検索される。
【００４０】
またステップ１４でブロックマップ番号がブロック数に等しくないと判定されたときには、ステップ１５に進んでカウンタの計数値を０とし、現在検索中のブロックマップ番号ＢＮｏ．に１を加えたものを新たなブロックマップ番号ＢＮｏ．としてステップ２に戻る。この過程は、検出された回転速度が前回の適合ブロックマップの最低回転速度よりも更に低いときに、検索するブロックマップを番号の大きい方に移行するための処理を行う過程である。この過程により適合するブロックマップが見出された場合には最終的にステップ２−ステップ５−ステップ６−ステップ７の過程が実行されて、補間演算に用いる回転速度及び点火位置が検索され、ステップ８で補間演算が行われて検出された回転速度に対する点火位置が求められる。
【００４１】
図３に示したアルゴリズムによる場合には、ステップ６及びステップ１１により、各回転速度に対して点火位置を検索した際に検索に適合したブロックマップを適合ブロックマップとして該適合ブロックマップの番号と該適合ブロックマップの先頭アドレスとを記憶する適合ブロック記憶手段が構成される。
【００４２】
点火信号発生手段６は、上記のようにしてマップ演算された点火位置のデータ（上死点位置から点火位置までの角度）を基準位置から点火位置までクランク軸が回転する間に点火タイマに計測させるデータ（点火タイマ計時データ）の形に変換される。回転速度の演算に用いた時間（クランク軸が１回転するのに要した時間）をＴnとし、上死点位置から測った基準位置の角度をθref、点火位置の角度をθｉとした場合、点火タイマ計時データＴｉは次の式により演算される。
Ｔｉ＝Ｔｎ（θref−θｉ）／３６０                                    （２）
【００４３】
点火信号発生手段６は、点火タイマ計時データを演算した後該計時データを点火タイマにセットして該計時データの計測を開始させ、その計測が完了したときに点火回路７に点火信号を与える。
【００４４】
点火回路７は、例えばコンデンサ放電式の回路からなっていて、点火信号が与えられたときに点火用コンデンサの電荷を点火コイルに放電させることにより該点火コイルの二次コイルに点火用の高電圧を誘起させる。この点火用高電圧は内燃機関の気筒に取り付けられた点火プラグに印加されるため、該点火プラグで火花放電が生じ、混合気が燃焼される。
【００４５】
上記の実施形態では、各ブロックマップの回転速度マップの構造を、所定の速度領域に属する複数の回転速度をそれぞれ格納したメモリを回転速度が高い順に並べた構造としたが、各ブロックマップの回転速度マップは、所定の速度領域に属する複数の回転速度をそれぞれ格納したメモリを回転速度が低い順に並べた構造としてもよい。
【００４６】
また上記の実施形態では、各ブロックマップに格納されたデータを検索する際に、各ブロックマップの先頭アドレスに格納されているデータから検索を開始するようにしたが、必ずしも先頭アドレスに格納されているデータから検索を開始する必要はなく、例えば、各ブロックマップの最後のアドレスに格納されているデータから検索を開始するようにしてもよい。
【図面の簡単な説明】
【００４７】
【図１】本発明の実施形態の全体的な構成を示すブロック図である。
【図２】本発明の実施形態で用いる点火位置演算用マップの構造を示す図表である。
【図３】本発明の実施形態においてマイクロコンピュータに実行させるプログラムのアルゴリズムを示したフローチャートである。
【図４】本発明に係わる点火装置の動作を説明するための波形図である。
【図５】従来の点火装置において用いられていた点火位置演算用マップの構造を示す図表である。
【符号の説明】
【００４８】
１  内燃機関
２  回転速度検出手段
３  信号発生器
４  マップ記憶手段
５  点火位置演算手段
６  点火信号発生手段
７  点火回路
【図１】
2005188299.tif 000003
【図２】
2005188299.tif 000004
【図３】
2005188299.tif 000005
【図４】
2005188299.tif 000006
【図５】
2005188299.tif 000007