(57)【要約】【課題】エンジンの回転速度を的確に反映させた点火時期に点火動作を行なわせることができるエンジン用点火装置を提供する。【解決手段】信号発生器４が各基準信号を発生してから次の基準信号を発生するまでの間、点火時期演算用マップを構成する一連の回転速度データにそれぞれ相応する３６０°周期を各基準信号が発生するタイミングからの経過時間として短い順に順次計測する３６０°周期計測手段７を設け、各基準信号が発生する直前に計測が完了したｎ番目の３６０°周期に相当する回転速度Ｎhighと、未計測のｎ＋１番目の３６０°周期に相当する回転速度Ｎlowと、回転速度Ｎhigh及びＮlowにおける点火時期θhigh及びθlowと、ｎ番目の３６０°周期の計測が完了した後に回転速度演算手段５が演算した最新の回転速度ＲＰＭとを用いてエンジンの点火時期を補間演算して、演算した点火時期に点火を行なわせる。【選択図】    図１
2006118435.tif 000002
【特許請求の範囲】
【請求項１】
エンジンの点火時期を定める点火信号を発生する点火信号発生部と、前記点火信号が発生したときに点火用高電圧を発生する点火回路とを備えたエンジン用点火装置において、  前記点火信号発生部は、
前記エンジンの回転速度と点火時期との間の関係を与える特性曲線のｐ個（ｐは２以上の整数）の折れ点をそれぞれ規定するｐ個の回転速度を与えるデータが、回転速度が高い順に１ないしｐ番目の回転速度データとして集積されると共に、該１ないしｐ番目の回転速度データによりそれぞれ与えられる回転速度におけるエンジンの点火時期を与えるデータが１ないしｐ番目の点火時期データとして集積された構造を有する点火時期演算用マップを記憶したマップ記憶手段と、
前記エンジンの特定の気筒のピストンの上死点に相当するクランク角位置に対して一定角度進角した位置に設定された基準クランク角位置で基準信号を発生する信号発生器と、  前記信号発生器が各基準信号を発生する毎に該基準信号の発生周期から前記エンジンの回転速度ＲＰＭを演算する回転速度演算手段と、
前記信号発生器が各基準信号を発生してから次の基準信号を発生するまでの間、前記１ないしｐ番目の回転速度データによりそれぞれ与えられる回転速度で前記クランク軸が３６０°回転する間の経過時間である１ないしｐ番目の３６０°周期を各基準信号が発生するタイミングからの経過時間として順次計測する過程を行なう３６０°周期計測手段と、  各基準信号が発生する直前に計測が完了したｎ（０＜ｎ＜ｐ−１）番目の３６０°周期に相当する回転速度Ｎhigh及び未だ計測が完了していないｎ＋１番目の３６０°周期に相当する回転速度Ｎlowと、該回転速度Ｎhigh及びＮlowに対して前記マップを検索することにより求めた点火時期θhigh及びθlowと、前記ｎ番目の３６０°周期の計測が完了した後に前記回転速度演算手段が演算した最新の回転速度ＲＰＭとを用いて補間演算を行なうことにより最新の回転速度における点火時期を演算する点火時期演算手段と、
前記点火時期演算手段が前記点火時期を演算した後直ちに演算された点火時期に相当するクランク角位置までクランク軸が回転する間の予測経過時間を点火時期計時データとして演算して、該点火時期計時データを計測することにより前記点火信号を発生する点火信号発生手段と、
を具備してなるエンジン用点火装置。
【請求項２】
前記３６０°周期計測手段は、各基準信号が発生したときに第１の３６０°周期を計測対象時間としてその計測を行なわせた後、ｍ番目（ｍ＝２，３，…）の３６０°周期Ｔmとｍ−１番目の３６０°周期Ｔm-1との差Ｔm−Ｔm-1を計測対象時間として順次計測して、各計測対象時間の計測が完了する毎にカウンタの計数値をインクリメントするように構成され、
前記点火時期演算手段は、前記基準信号が発生したときの前記カウンタの計数値ｎから該基準信号が発生する直前に計測が完了した３６０°周期がｎ番目の３６０°周期であると認識するように構成されている請求項１に記載のエンジン用点火装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マイクロプロセッサを用いてエンジンの点火時期を制御するエンジン用点火装置に関するものである。
【背景技術】
【０００２】
マイクロプロセッサを用いてエンジンの点火時期を制御する点火装置は、図６に示すように、エンジン１の点火時期を定める点火信号を発生する点火信号発生部２と、点火信号が発生したときに点火用高電圧を発生する点火回路３とにより構成される。この種の点火装置は例えば特許文献１に示されている。
【０００３】
点火信号発生部２は、エンジンの特定の気筒のピストンの上死点に相当するクランク角位置に対して一定角度進角した位置に設定された基準クランク角位置で基準信号を発生する信号発生器４と、信号発生器４が各基準信号を発生する毎に該基準信号の発生周期からエンジンの回転速度（クランク軸が１回転する間の平均回転速度）ＲＰＭを演算する回転速度演算手段５と、エンジンの回転速度と点火時期との間の関係を与える特性曲線上の多数の折れ点のそれぞれを規定する回転速度データと点火時期データとをテーブルの形に集積した構造を有する点火時期演算用マップを記憶したマップ記憶手段６と、回転速度演算手段が演算した回転速度に対して点火時期演算用マップを検索することにより得た回転速度データ及び点火時期データと演算された回転速度とを用いて補間演算を行なうことにより点火時期を演算する点火時期演算手段８′と、エンジンのクランク軸が基準クランク角位置から点火時期演算手段が演算した点火時期に相当するクランク角位置まで回転する間の予測経過時間を点火時期計時データとして演算して、該点火時期計時データを計測した時に点火信号を発生する点火信号発生手段９′とにより構成される。
【０００４】
信号発生器４は、エンジンのクランク軸とともに回転するロータに設けられたリラクタ（突起または凹部）の回転方向の前端側エッジ及び後端側エッジをそれぞれ検出して極性が異なるパルス信号を発生する。図７は信号発生器が発生するパルス信号の波形の一例をクランク角θに対して示したもので、この例では、信号発生器がリラクタの回転方向の前端側エッジを検出したとき及び後端側エッジを検出したときにそれぞれ負極性のパルス信号Ｖs1及び正極性のパルス信号Ｖs2を発生する。各パルス信号の発生位置は各パルス信号がしきい値レベルに達する位置であるが、図７においては、各パルス信号がピークに達する位置を各パルス信号の発生位置としている。信号発生器が発生するパルス信号Ｖs1及びＶs2のうち、ピストンの上死点ＴＤＣに対して一定の角度進角した位置に設定された基準クランク角位置θ1で発生するパルス信号Ｖs1が基準信号として用いられる。図７においてＡ，Ｂ及びＣは基準信号が発生するクランク角位置（基準クランク角位置）であり、Ａ，Ｂ間及びＢ，Ｃ間の角度（機械角）は３６０°である。またＤは基準クランク角位置Ｃで計測が開始される点火時期に相当するクランク角位置（点火位置）を示している。
【０００５】
回転速度演算手段５は、基準信号が発生する毎にマイクロプロセッサが実行しているプログラムに割込みをかけて、Ａ，Ｂ間及びＢ，Ｃ間（３６０°の区間）をクランク軸が回転するのに要した時間（基準信号の発生周期）ＴAB及びＴBCを３６０°周期として計測し、これらの周期からＡ，Ｂ間及びＢ，Ｃ間でのエンジンの回転速度ＲＰＭを演算する。
【０００６】
マップ記憶手段６に記憶される点火時期演算用マップは、図４に示したように、エンジンの回転速度と点火時期との間の関係を与える特性曲線（折れ線グラフ）のｐ個の折れ点をそれぞれ規定するｐ個の回転速度を与えるデータが、回転速度が高い順に１ないしｐ番目の回転速度データＮ1ないしＮpとして順に並べられて集積されると共に、該１ないしｐ番目の回転速度データＮ1ないしＮpによりそれぞれ与えられる回転速度におけるエンジンの点火時期を与えるデータが１ないしｐ番目の点火時期データθ1ないしθpとして順に並べられて集積された構造を有する。この例では、各データが２バイトのデータからなるため、Ｘ番目のデータが格納されたＲＡＭのアドレスＡxと、Ｘ＋１番目のデータが格納されたＲＡＭのアドレスＡx+1との間には、Ａx+1＝Ａx ＋２の関係がある。
【０００７】
点火時期演算手段８′は、図８に示したように、点火時期演算用マップを構成する回転速度データの中から、演算された回転速度ＲＰＭの前後の回転速度Ｎhigh及びＮlowとこれらの回転速度に対応する点火時期データθhigh及びθlowとを検索し、これらＮhigh及びＮlowとθhigh及びθlowと、演算された回転速度ＲＰＭとを用いて、補間演算を行なうことにより、回転速度ＲＰＭにおける点火時期データIGDATを求める。
【０００８】
点火時期演算手段７′が回転速度ＲＰＭに対して図４に示した点火時期演算用マップを検索する際には、点火時期演算用マップの回転速度データをその先頭アドレスに格納された高回転側の回転速度データＮ1から順に読み出して、読み出した回転速度データを演算された回転速度ＲＰＭと比較していき、ＲＰＭ＞Ｎxとなったときに、この回転速度データＮxをＮlowとして検索するとともに、回転速度データＮx-1をＮhighとして検索する。またＮxにおける点火時期データθx及び回転速度データＮx-1における点火時期データθx-1をそれぞれ点火時期データθhigh及びθlowとして検索し、以下の式を用いて補間演算を行なうことにより、回転速度ＲＰＭにおける点火時期データIGDATを求める。
IGDAT＝{(θhigh−θlow）／（Ｎhigh−Ｎlow)}（ＲＰＭ−Ｎlow）＋θlow  …（１）
上記点火時期データIGDATは、例えば、ピストンの上死点に相当するクランク角位置ＴＤＣから点火時期に相当するクランク角位置までの角度（進み角度）［ＢＴＤＣ°］の形で与えられる。
【０００９】
点火信号発生手段９′は、エンジンのクランク軸が現在の回転速度ＲＰＭで、基準クランク角位置から点火時期演算手段が演算した点火時期に相当するクランク角位置まで回転する間の予測経過時間（図７の点火位置Ｄで点火を行なわせる場合にはＴDC）を点火時期計時データとして演算して、演算した点火時期計時データを基準クランク角位置Ｃで点火タイマにセットしてその計測を開始させ、点火タイマが点火時期計時データの計測を完了したときに点火位置Ｄが検出されたとして、点火信号を発生させる。
【００１０】
点火回路３は、点火コイルと、点火コイルの一次電流を制御する一次電流制御回路とからなっていて、点火信号が発生したときに一次電流制御回路が点火コイルの一次電流に急激な変化を生じさせて、該点火コイルの二次コイルに点火用の高電圧を発生させる。この点火用高電圧はエンジンの気筒に取り付けられた点火プラグに印加されるため、該点火プラグで火花放電が生じ、エンジンが点火される。
【００１１】
図９は、従来の点火装置において、ある一定間隔毎にメインルーチンにてマイクロプロセッサが実行する処理のアルゴリズムを示したフローチャートである。図９においてＮaddは回転速度データが格納されたアドレスを示し、ＩＧaddは点火時期データが格納されたアドレスを示す。また＠Ｎadd及び＠ＩＧaddはそれぞれＮadd及びＩＧaddに格納されたデータを示し、ＲＰＭは基準信号の周期から演算されたエンジンの回転速度を示している。
【００１２】
メインルーチンにて図９に示した処理が開始されると、先ずステップ１で回転速度データ（Ｎマップ）の先頭アドレス（回転速度データＮ1が格納されたＲＡＭのアドレス）をＮaddとし、点火時期データの先頭アドレス（点火時期データθ1が格納されたＲＡＭのアドレス）をＩＧaddとする。またカウンタの計数値を０にリセットする。次いでステップ２で基準信号の発生周期から演算された回転速度ＲＰＭがＮaddに格納された回転速度データ（＠Ｎadd）以上であるか否かを判定する。その結果ＲＰＭ≧＠Ｎaddでないと判定されたときには、ステップ３に進んでＮadd及びＩＧaddに２を加えるとともに、カウンタの計数値を１だけインクリメントする。次いでステップ４でカウンタの計数値が折れ点数ｐ−１以上であるか否かを判定する。その結果、カウンタの計数値が折れ点数ｐ−１以上でない場合にはステップ２に戻り、カウンタの計数値が折れ点数ｐ−１以上である場合には、ステップ５に進んでカウンタの計数値を折れ点数ｐ−１とし、ステップ６でＩＧaddにカウンタ値（＝ｐ−１）の２倍の数値を加えたアドレスに格納されたデータ［＠｛ＩＧadd＋（カウンタ値×２）｝］をIGDATとする。ステップ２でＲＰＭ≧＠Ｎaddであると判定されたときには、ステップ７に進んでカウンタの計数値が０であるか否かを判定する。その結果カウンタの計数値が０であるとき（ＲＰＭ≧Ｎ1のとき）にはステップ６に移行し、ＩＧaddにカウンタ値（＝０）の２倍の数値を加えたアドレスに格納されたデータ［＠｛ＩＧadd＋（カウンタ値×２）｝］をIGDATとする。
【００１３】
ステップ７でカウンタの計数値が０でないと判定されたときには、ステップ８に進んで、アドレスＮaddに格納された回転速度データ（＠Ｎadd）をＮlowとし、Ｎaddから２を減じたアドレスに格納された回転速度データ［＠（Ｎadd−２）］をＮhighとする。またアドレスＩＧaddに格納された点火時期データ（＠ＩＧadd）をθlowとし、アドレスＩＧadd−２に格納された点火時期データ［＠（ＩＧadd−２）］を点火時期データθhighとする。次いでステップ９で（１）式を用いて補間演算を行なうことにより、回転速度ＲＰＭにおける点火時期データIGDATを演算する。
【特許文献１】特開平１０−１８４５１５号公報
【発明の開示】
【発明が解決しようとする課題】
【００１４】
上記のように、従来の点火装置においては、回転速度ＲＰＭに対してその前後の回転速度Ｎhigh及びＮlowを点火時期演算用マップから検索する際に、点火時期演算用マップの回転速度データをその先頭アドレスに格納された高回転側の回転速度データＮ1から順に読み出して、読み出した回転速度データを演算された回転速度ＲＰＭと順次比較するようにしていたため、マップの検索に時間がかかるのを避けられなかった。そのため、図７の点火位置Ｄにおいて点火を行なわせる際に、基準クランク角位置Ｃで行なわれる割込みルーチンで、その直前の１回転の区間（基準クランク角位置ＢからＣまでの区間）で計測した時間ＴBCに基づいて演算した回転速度ＲＰＭを用いて点火時期を演算すると、演算に要する時間が、基準クランク角位置Ｃから点火位置Ｄまでエンジンが回転する間の時間ＴCDを超えることがあり、演算した点火時期を計測することができなくなることがある。
【００１５】
そのため、従来の点火装置では、基準クランク角位置ＡからＢの区間で計測した時間ＴABに基づいて演算した回転速度ＲＰＭを用いて、基準クランク角位置ＢからＣの区間でメインルーチンにてマップを検索することにより、点火位置Ｄを求める演算を行なっている。
【００１６】
このように、従来の点火装置では、エンジンの点火時期を２回転前の基準信号の発生周期に基づいて演算された回転速度を用いて演算していたため、機関の急加速時や急減速時などにエンジンの回転速度が点火時期に正しく反映されないことがあり、点火時期の制御を的確に行なうことができないことがあった。
【００１７】
従って本発明の目的は、エンジンの各点火時期をその直前に検出された回転速度に基づいて演算して、エンジンの急加減速時においても、点火時期に実際のエンジンの回転速度を正しく反映させて、常に点火時期の制御を的確に行なわせることができるようにしたエンジン用点火装置を提供することにある。
【課題を解決するための手段】
【００１８】
本発明は、エンジンの点火時期を定める点火信号を発生する点火信号発生部と、点火信号が発生したときに点火用高電圧を発生する点火回路とを備えたエンジン用点火装置に適用される。
【００１９】
本発明においては、点火信号発生部が以下の要素により構成される。
（Ａ）エンジンの回転速度と点火時期との間の関係を与える特性曲線のｐ個（ｐは２以上の整数）の折れ点をそれぞれ規定するｐ個の回転速度を与えるデータが、回転速度が高い順に１ないしｐ番目の回転速度データとして集積されると共に、該１ないしｐ番目の回転速度データによりそれぞれ与えられる回転速度におけるエンジンの点火時期を与えるデータが１ないしｐ番目の点火時期データとして集積された構造を有する点火時期演算用マップを記憶したマップ記憶手段。
（Ｂ）エンジンの特定の気筒のピストンの上死点に相当するクランク角位置に対して一定角度進角した位置に設定された基準クランク角位置で基準信号を発生する信号発生器。
（Ｃ）信号発生器が各基準信号を発生する毎に該基準信号の発生周期からエンジンの回転速度ＲＰＭを演算する回転速度演算手段。
（Ｄ）信号発生器が各基準信号を発生してから次の基準信号を発生するまでの間、前記１ないしｐ番目の回転速度データによりそれぞれ与えられる回転速度でクランク軸が３６０°回転する間の経過時間である１ないしｐ番目の３６０°周期を各基準信号が発生するタイミングからの経過時間として順次計測する過程を行なう３６０°周期計測手段。
（Ｅ）各基準信号が発生する直前に計測が完了したｎ（０＜ｎ＜ｐ−１）番目の３６０°周期に相当する回転速度Ｎhigh及び未だ計測が完了していないｎ＋１番目の３６０°周期に相当する回転速度Ｎlowと、該回転速度Ｎhigh及びＮlowに対して前記マップを検索することにより求めた点火時期θhigh及びθlowと、前記ｎ番目の３６０°周期の計測が完了した後に前記回転速度演算手段が演算した最新の回転速度ＲＰＭとを用いて補間演算を行なうことにより最新の回転速度における点火時期を演算する点火時期演算手段。
（Ｆ）点火時期演算手段が点火時期を演算した後直ちに演算された点火時期に相当するクランク角位置までクランク軸が回転する間の予測経過時間を点火時期計時データとして演算して、該点火時期計時データを計測することにより点火信号を発生する点火信号発生手段。
【００２０】
上記のように、信号発生器が各基準信号を発生してから次の基準信号を発生するまでの間、点火時期演算用マップを構成する１ないしｐ番目の回転速度データによりそれぞれ与えられる回転速度でクランク軸が３６０°回転する間の経過時間である１ないしｐ番目の３６０°周期を各基準信号が発生するタイミングからの経過時間として順次計測する過程を行なって、各基準信号が発生する直前に計測が完了したｎ（０＜ｎ＜ｐ−１）番目の３６０°周期に相当する回転速度及び未だ計測が完了していないｎ＋１番目の３６０°周期に相当する回転速度を補間演算に用いる回転速度Ｎhigh及びＮlowとし、これらの回転速度における点火時期データをそれぞれ補間演算に用いる点火時期データθhigh及びθlowとするようにすると、各基準信号が発生したときに補間演算に用いるデータを直ちに求めることができるため、各基準信号が発生したときにその直前の１回転に要した時間に基づいて演算された回転速度に対して点火時期の演算を行なって、演算した点火時期で点火信号を発生させることができる。従って、常にエンジンの点火時期にエンジンの回転速度を正しく反映させて、点火時期の制御を的確に行なわせることができ、エンジンの急減速時や急加速時の動作を安定にすることができる。
【００２１】
本発明の好ましい態様では、上記３６０°周期計測手段が、各基準信号が発生したときに１番目の３６０°周期を計測対象時間としてその計測を行なわせた後、ｍ番目（ｍ＝２，３，…）の３６０°周期Ｔmとｍ−１番目の３６０°周期Ｔm-1との差Ｔm−Ｔm-1を計測対象時間として順次計測して、各計測対象時間の計測が完了する毎にカウンタの計数値をインクリメントするように構成される。この場合、点火時期演算手段は、基準信号が発生したときのカウンタの計数値ｎから該基準信号が発生する直前に計測が完了した３６０°周期がｎ番目の３６０°周期であると認識するように構成される。
【発明の効果】
【００２２】
以上のように、本発明によれば、高速側から低速側に順次並ぶ１ないしｐ番目の回転速度データとこれらの回転速度データにそれぞれ対応する点火時期データとを集積した構造を有する点火時期演算用マップを用いて点火時期を演算する点火装置において、エンジンの基準クランク角位置で信号発生器が各基準信号を発生してから次の基準信号を発生するまでの間に、１ないしｐ番目の回転速度データによりそれぞれ与えられる回転速度でクランク軸が３６０°回転する間の経過時間である１ないしｐ番目の３６０°周期を各基準信号が発生するタイミングからの経過時間として順次計測する過程を行なって、各基準信号が発生する直前に計測が完了したｎ（０＜ｎ＜ｐ−１）番目の３６０°周期に相当する回転速度及び未だ計測が完了していないｎ＋１番目の３６０°周期に相当する回転速度を補間演算に用いる回転速度Ｎhigh及びＮlowとし、これらの回転速度における点火時期データをそれぞれ補間演算に用いる点火時期データθhigh及びθlowとするようにしたので、各基準信号が発生したときにその直前の１回転に要した時間に基づいて演算された回転速度に対して点火時期の演算を行なって、演算した点火時期で点火信号を発生させることができる。従って、常にエンジンの点火時期に回転速度を正しく反映させて、点火時期の制御を的確に行なわせることができ、エンジンの急減速時や急加速時の動作を安定にすることができる。
【発明を実施するための最良の形態】
【００２３】
以下図面を参照して本発明の好ましい実施形態を詳細に説明する。
図１は本発明の好ましい実施形態を示したもので、同図において１はエンジン、２は点火信号発生部、３は点火回路である。本実施形態では、エンジン１が単気筒２サイクル機関であるとしている。
【００２４】
本発明においては、点火信号発生部２が、信号発生器４と、回転速度演算手段５と、点火時期演算用マップを記憶したマップ記憶手段６と、３６０°周期計測手段７と、点火時期演算手段８と、点火信号発生手段９とにより構成されている。
【００２５】
信号発生器４は、エンジン１のクランク軸とともに回転するロータに設けられたリラクタ（突起または凹部）の回転方向の前端側エッジ及び後端側エッジをそれぞれ検出して極性が異なるパルス信号を発生するもので、従来から用いられているものと同様のものである。信号発生器４は、図５に示したように、エンジンの特定の気筒のピストンが上死点に達するクランク角位置（上死点位置）ＴＤＣに対して一定角度進角した位置に設定された基準位置θ1で負極性のパルス信号Ｖs1を発生し、基準位置θ1よりは遅れ、上死点位置よりは進んだ位置に設定されたエンジンの低速時の点火位置θ2で正極性のパルス信号Ｖs2を発生する。正極性のパルス信号Ｖs2は、エンジンの始動時及び極低速時の点火時期を定めるための信号として用いられる。なお本実施形態では、基準信号を負極性のパルス信号Ｖs1としているが、基準信号を正極性のパルス信号としてもよいのはもちろんである。
【００２６】
回転速度演算手段５は、信号発生器４が各基準信号Ｖs1を発生する毎に該基準信号の発生周期（クランク軸が１回転するのに要した時間）からエンジンの回転速度ＲＰＭを演算する手段で、各基準信号が発生したときにタイマの計測値を読み込んで、前回の基準信号発生時に読み込んだタイマの計測値と今回読み込んだタイマの計測値との差をとることによりクランク軸が１回転するのに要した時間を３６０°周期として検出する手段と、この３６０°周期からエンジンの回転速度を演算する手段とにより構成される。
【００２７】
マップ記憶手段６に記憶された点火時期演算用マップは、図４に示したように、エンジンの回転速度と点火時期との間の関係を与える特性曲線（折れ線）のｐ個（ｐは２以上の整数）の折れ点をそれぞれ規定するｐ個の回転速度を与えるデータが、回転速度が高い順に並べられて１ないしｐ番目の回転速度データＮ1ないしＮpとして集積されると共に、該１ないしｐ番目の回転速度データＮ1ないしＮpによりそれぞれ与えられる回転速度におけるエンジンの点火時期を与えるデータが１ないしｐ番目の点火時期データθ1ないしθpとして集積された構造を有する。本実施形態では、マップを構成する各データは２バイトのデータからなるため、Ｘ番目のデータが格納されたＲＡＭのアドレスＡxと、Ｘ＋１番目のデータが格納されたＲＡＭのアドレスＡx+1との間には、Ａx+1＝Ａx ＋２の関係がある。
【００２８】
３６０°周期計測手段７は、信号発生器４が各基準信号を発生してから次の基準信号を発生するまでの間、１ないしｐ番目の回転速度データによりそれぞれ与えられる回転速度でクランク軸が３６０°回転する間の経過時間である１ないしｐ番目の３６０°周期Ｔ1，Ｔ2，…を各基準信号が発生するタイミングからの経過時間として順次計測する過程を行なう手段である。
【００２９】
図５は、３６０°周期計測手段７の動作を示したもので、図示の例では、基準クランク角位置Ｂで基準信号Ｖs1が発生したときに、先ず点火時期演算用マップの１番目の回転速度データＮ1に相当する１番目の３６０°周期Ｔ1をタイマにセットしてその計測を開始し、この１番目の３６０°周期Ｔ1の計測が完了したときにタイマ割込みルーチンを実行する。このタイマ割込みルーチンでは、３６０°周期の計測動作が行なわれた回数をカウントするカウンタの計数値を１とするとともに、タイマにＴ2−Ｔ1をセットしてその計測を行なわせることにより、２番目の回転速度データＮ2に相当する２番目の３６０°周期Ｔ2の計測（基準信号Ｖs1が発生するタイミングからの経過時間としての計測）を行なわせる。この２番目の３６０°周期の計測が完了したときに再びタイマ割込みをかけてカウンタの計数値を２とし、引き続きタイマにＴ3−Ｔ2をセットしてその計測を行なわせることにより、３番目の回転速度データＮ3に相当する３番目の３６０°周期Ｔ3の計測を行なわせる。３６０°周期Ｔ3の計測が完了したときにタイマ割込みをかけてカウンタの計数値を３とする。以下同様にして、次の基準クランク角位置Ｃで基準信号が発生するまでの間、基準クランク角位置Ｂにおける基準信号の発生タイミングからの経過時間として４番目以降の３６０°周期の計測を行なわせる。図５に示した例では、基準クランク角位置Ｃで基準信号Ｖs1が発生するまでの間に、５番目の３６０°周期Ｔ5の計測が完了し、カウンタの計数値が５となっている。このことから、基準クランク角位置Ｂで基準信号が発生してから基準クランク角位置Ｃで基準信号が発生するまでの時間ＴBCが５番目の３６０°周期Ｔ5と未だ計測が完了していない６番目の３６０°周期Ｔ6との間にあること（Ｔ5＜ＴBC＜Ｔ6であること）、すなわち、基準クランク角位置Ｂから基準クランク角位置Ｃまでの１回転の区間におけるエンジンの平均回転速度ＲＰＭは、回転速度データＮ5により与えられる回転速度と回転速度データＮ6により与えられる回転速度との間にあること（Ｎ6＜ＲＰＭ＜Ｎ5であること）が分かる。これより、Ｎhigh及びＮlowがそれぞれ回転速度データＮ5及びＮ6により与えられる回転速度であることが分かり、これらの回転速度データに対応する点火時期データθ5及びθ6により与えられる点火時期がそれぞれθhigh及びθlowであることが分かる。
【００３０】
上記のことから、基準信号Ｖs1が発生したときのカウンタの計数値ｎ（０＜ｎ＜ｐ−１）と、この計数値ｎに１を加えた値ｎ＋１とから直ちに、直前の１回転の区間における平均回転速度ＲＰＭの前後の回転速度Ｎhigh及びＮlowを知ることができ、これらの回転速度に対応する点火時期データを検索することにより、演算されたＲＰＭに対する点火時期の前後の点火時期θhigh及びθlowを直ちに知ることができる。
【００３１】
点火時期演算手段８は、各基準信号が発生する直前に計測が完了したｎ（０＜ｎ＜ｐ−１）番目の３６０°周期に相当する回転速度Ｎhigh及び未だ計測が完了していないｎ＋１番目の３６０°周期に相当する回転速度Ｎlowと、該回転速度Ｎhigh及びＮlowに対してマップを検索することにより求めた点火時期θhigh及びθlowと、ｎ番目の３６０°周期の計測が完了した後に回転速度演算手段が演算した最新の回転速度ＲＰＭとを用いて、前記（１）式により補間演算を行なうことにより、演算された回転速度ＲＰＭに対する点火時期を与える点火時期データIGDATを演算する。この点火時期データIGDATは、ピストンの上死点に相当するクランク角位置ＴＤＣから点火時期に相当するクランク角位置までの角度［ＢＴＤＣ°］で与えられる。
【００３２】
点火信号発生手段９は、点火時期演算手段８が点火時期を演算した後直ちに演算された点火時期に相当するクランク角位置までクランク軸が回転する間の予測経過時間を点火時期計時データとして演算して、該点火時期計時データを計測することにより点火信号を発生する手段である。
【００３３】
この点火信号発生手段９は、例えば、基準信号が発生したときに点火タイマをスタートさせる手段と、点火タイマの計測値が演算された点火時期計時データに一致したときにマイクロプロセッサが実行しているプログラムに割込みをかけて点火信号を発生させる手段とにより構成することができる。
【００３４】
点火回路３は、従来の点火装置で用いられていたものと同様のもので、点火信号が発生したときに点火コイルの一次電流に急激な変化を生じさせて、該点火コイルの二次コイルに点火用の高電圧を発生させる。この点火用高電圧はエンジンの気筒に取り付けられた点火プラグに印加されるため、該点火プラグで火花放電が生じ、エンジンが点火される。点火回路３としては例えば、コンデンサ放電式の回路（ＣＤＩ）を用いることができる。
【００３５】
本発明の実施形態において、基準信号が発生する毎にマイクロプロセッサに実行させる割込みルーチンのアルゴリズムの要部を示すフローチャートを図２に示した。このアルゴリズムによる場合には、先ずステップ１においてタイマの計測値を読み込んで、新たに読み込んだタイマの計測値から１回転前の基準信号発生時に読み込んだタイマの計測値を差し引くことにより直前の１回転の３６０°周期を算出し、タイマをリセットした後、ステップ２でこの３６０°周期からエンジンの回転速度（平均回転速度）ＲＰＭを演算する。
【００３６】
その後ステップ３において、点火時期演算用マップの回転速度データの先頭アドレス（Ｎ1が格納されているＲＡＭのアドレス）をＮaddとし、点火時期データの先頭アドレス（θ1が格納されているＲＡＭのアドレス）をＩＧaddとする。次いでステップ４で３６０°周期の計数動作が行なわれた回数をカウントするカウンタの計数値が０であるか否かを判定する。次いでステップ５でカウンタの計数値がｐであるか否かを判定し、計数値がｐでない場合にステップ６に進む。ステップ６ではカウンタの計数値の２倍の数値をＮaddに加えたアドレスに格納された回転速度データにより与えられる回転速度をＮlowとし、カウンタの計数値の２倍の数値をＩＧaddに加えたアドレスに格納された点火時期データにより与えられる点火時期をθlowとする。次いでステップ７に進んでカウンタの計数値を１だけマイナスし、ステップ８に進む。ステップ８では、カウンタの計数値の２倍の数値をＮaddに加えたアドレスに格納された回転速度データにより与えられる回転速度をＮhighとするとともに、カウンタの計数値の２倍の数値をＩＧaddに加えたアドレスに格納された点火時期データにより与えられる点火時期をθhighとする。その後ステップ９で前記（１）式を用いて補間演算を行なうことにより回転速度ＲＰＭに対する点火時期データIGDATを求め、この点火時期データをレジスタに転送する。次いでステップ１０で１番目の３６０°周期Ｔ1後にタイマ割込みを生じさせるための処理を行なわせる。ステップ１０における処理では、１番目の３６０°周期Ｔ1をタイマの目標計測値Ｔaとしてセットした後、タイマ割込みを許可し、カウンタの計数値を０とする。次いでステップ１１で基準信号割込みで行なう必要があるその他の処理を行なわせた後メインルーチンに復帰する。
【００３７】
ステップ４でカウンタの計数値が０であると判定されたとき(ＲＰＭ≧Ｎ1のとき）には、ステップ１２に進んでＩＧaddのアドレスに格納された最高速時の点火時期データθ1により与えられる点火時期をIGDATとした後ステップ１０に移行する。
【００３８】
ステップ５でカウンタの計数値がｐであると判定されたとき（ＲＰＭ＜Ｎpのとき）には、ステップ１３に進んでＩＧadd＋（カウンタの計数値−１）×２のアドレスに格納された最低速時の点火時期データθpにより与えられる点火時期をＩＧＤＡＴとした後、ステップ１０に移行する。
【００３９】
図３は、３６０°周期の計測を行なわせるために、タイマがセットされた目標計測値を計測する毎に実行されるタイマ割込みルーチンのアルゴリズムを示したものである。図３に示したタイマ割込みルーチンでは、先ずステップ１で、次に計測を行なわせる３６０°周期Ｔmから直前に計測が行なわれた３６０°周期Ｔm-1を減じた値を現在のタイマの計測値に加えた値をタイマの新たな目標計測値Ｔaとし、ステップ２でカウンタの計数値を１だけインクリメントした後メインルーチンに復帰する。
【００４０】
本実施形態では、図２に示した基準信号割込みルーチンにより点火時期演算手段８が構成され、図２に示した割込みルーチンのステップ１０と図３のタイマ割込みルーチンとにより３６０°周期計測手段７が構成される。
【００４１】
上記のように、エンジンの基準クランク角位置θ1で信号発生器が各基準信号Ｖs1を発生してから次の基準信号Ｖs1を発生するまでの間に、１ないしｐ番目の回転速度データによりそれぞれ与えられる回転速度でクランク軸が３６０°回転する間の経過時間である１ないしｐ番目の３６０°周期Ｔ1ないしＴpを各基準信号が発生するタイミングからの経過時間として順次計測する過程を行なって、各基準信号が発生する直前に計測が完了したｎ（０＜ｎ＜ｐ−１）番目の３６０°周期に相当する回転速度及び未だ計測が完了していないｎ＋１番目の３６０°周期に相当する回転速度を補間演算に用いる回転速度Ｎhigh及びＮlowとし、これらの回転速度における点火時期データをそれぞれ補間演算に用いる点火時期データθhigh及びθlowとするようにすると、各基準信号が発生したときにその直前の１回転に要した時間に基づいて演算された回転速度に対して点火時期の演算を行なって、演算した点火時期で点火信号を発生させることができるため、常にエンジンの点火時期に回転速度を正しく反映させて、点火時期の制御を的確に行なわせることができ、エンジンの急減速時や急加速時の動作を安定にすることができる。
【図面の簡単な説明】
【００４２】
【図１】本発明の実施形態の構成を示したブロック図である。
【図２】本発明の実施形態において信号発生器が基準信号を発生する毎にマイクロプロセッサが実行する基準信号割込みのアルゴリズムを示したフローチャートである。
【図３】本発明の実施形態においてタイマが３６０°周期を計測する毎にマイクロプロセッサが実行するタイマ割込みルーチンのアルゴリズムを示したフローチャートである。
【図４】本発明の実施形態で用いる点火時期演算用マップの構造を示した図表である。
【図５】本発明の実施形態で用いる３６０°周期計測手段の動作を説明するための信号波形図である。
【図６】従来のエンジン用点火装置の構成を示したブロック図である。
【図７】従来のエンジン用点火装置の動作を説明するための信号波形図である。
【図８】点火時期をマップ演算する際に行なう補間演算を説明するためのグラフである。
【図９】従来のエンジン用点火装置においてマイクロプロセッサがメインルーチンにて一定間隔毎に実行する処理のアルゴリズムを示したフローチャートである。
【符号の説明】
【００４３】
１  エンジン
２  点火信号発生部
３  点火回路
４  信号発生器
５  回転速度演算手段
６  マップ記憶手段
７  ３６０°周期計測手段
８  点火時期演算手段
９  点火信号発生手段
【図１】
2006118435.tif 000003
【図２】
2006118435.tif 000004
【図３】
2006118435.tif 000005
【図４】
2006118435.tif 000006
【図５】
2006118435.tif 000007
【図６】
2006118435.tif 000008
【図７】
2006118435.tif 000009
【図８】
2006118435.tif 000010
【図９】
2006118435.tif 000011