(57)【特許請求の範囲】
【請求項１】
被検出パルス信号が入力される、検出部と、処理部と、タイマと、目標タイマ値計算部と、判定部と、信号出力部とを備えるパルス信号検出回路におけるパルス信号検出方法であって、
前記検出部により、前記被検出パルス信号の第１被検出パルスを検出する第１のステップと、
前記処理部により、前記第１被検出パルスが検出された後に、実行中の処理を中断して割り込み処理を開始する第２のステップと、
前記処理部により、前記割り込み処理を用いて、前記第１被検出パルスの検出に対応して、前記タイマからタイマ値を第１検出タイマ値として取得する第３のステップと、
前記目標タイマ値計算部により、取得された前記第１検出タイマ値に所定の第１出力時間を加算して、その加算結果から、前記第１被検出パルスが検出されたタイミングと前記第１検出タイマ値が取得されたタイミングとの差である、予め求められた誤差時間を減算した第１目標タイマ値を計算する第４のステップと、
前記判定部により、前記タイマの前記タイマ値が前記第１目標タイマ値に達したか否か判定する第５のステップと、
前記信号出力部により、前記タイマの前記タイマ値が前記第１目標タイマ値に達した時に、第１出力信号を出力する第６のステップと、を含む
ことを特徴とするパルス信号検出方法。
【請求項２】
前記被検出パルス信号は、内燃機関の回転に応じて生成され、
前記第１出力信号は、前記内燃機関を点火するための信号である
ことを特徴とする請求項１に記載のパルス信号検出方法。
【請求項３】
前記タイマは、前記タイマ値として、初期タイマ値から最終タイマ値までを繰り返しカウントし、
前記第１出力時間は、前記誤差時間より長い
ことを特徴とする請求項２に記載のパルス信号検出方法。
【請求項４】
前記第１のステップの前に、回転数計算部により、前記被検出パルス信号に基づいて前記内燃機関の回転数を計算する第７のステップをさらに含み、
前記第３のステップと前記第４のステップとの間に、出力時間設定部により、前記回転数に応じて、前記第１出力時間を設定する第８のステップをさらに含む
ことを特徴とする請求項２または請求項３に記載のパルス信号検出方法。
【請求項５】
前記第３のステップと前記第８のステップとの間に、前記処理部により、前記回転数が所定の回転数以上か否か判定する第９のステップをさらに含み、
前記第９のステップにおいて前記回転数が前記所定の回転数以上の場合に、前記第８のステップに進む
ことを特徴とする請求項４に記載のパルス信号検出方法。
【請求項６】
前記第９のステップにおいて前記回転数が前記所定の回転数より低い場合に、前記検出部により、前記第１のステップで検出された前記第１被検出パルスとは異なる第２被検出パルスを検出する第１０のステップと、
前記処理部により、前記第１０のステップで前記第２被検出パルスが検出された後に、実行中の処理を中断して割り込み処理を開始する第１１のステップと、
前記処理部により、前記第１１のステップの前記割り込み処理を用いて、前記タイマから前記タイマ値を第２検出タイマ値として取得する第１２のステップと、
前記目標タイマ値計算部により、前記第１２のステップにおいて取得された前記第２検出タイマ値に第２出力時間を加算して、その加算結果から前記誤差時間を減算した第２目標タイマ値を計算する第１３のステップと、
前記判定部により、前記タイマの前記タイマ値が前記第２目標タイマ値に達したか否か判定する第１４のステップと、
前記信号出力部により、前記タイマの前記タイマ値が前記第２目標タイマ値に達した時に、前記内燃機関を点火する第２出力信号を出力する第１５のステップと、をさらに含む
ことを特徴とする請求項５に記載のパルス信号検出方法。
【請求項７】
前記第２出力時間は、前記回転数によらず一定である
ことを特徴とする請求項６に記載のパルス信号検出方法。
【請求項８】
タイマ値により時間を計測するタイマと、
被検出パルス信号の第１被検出パルスを検出する検出部と、
前記第１被検出パルスが検出された後に、実行中の処理を中断して割り込み処理を開始して、前記割り込み処理を用いて、前記第１被検出パルスの検出に対応して、前記タイマから前記タイマ値を第１検出タイマ値として取得する処理部と、
取得された前記第１検出タイマ値に所定の第１出力時間を加算して、その加算結果から、前記第１被検出パルスが検出されたタイミングと前記第１検出タイマ値が取得されたタイミングとの差である、予め求められた誤差時間を減算した第１目標タイマ値を計算する目標タイマ値計算部と、
前記タイマの前記タイマ値が前記第１目標タイマ値に達したか否か判定する判定部と、
前記タイマの前記タイマ値が前記第１目標タイマ値に達した時に、第１出力信号を出力する信号出力部と、を備える
ことを特徴とするパルス信号検出回路。
【請求項９】
前記被検出パルス信号は、内燃機関の回転に応じて生成され、
前記第１出力信号は、前記内燃機関を点火するための信号である
ことを特徴とする請求項８に記載のパルス信号検出回路。
【請求項１０】
前記タイマは、前記タイマ値として、初期タイマ値から最終タイマ値までを繰り返しカウントし、
前記第１出力時間は、前記誤差時間より長い
ことを特徴とする請求項９に記載のパルス信号検出回路。
【請求項１１】
前記被検出パルス信号に基づいて前記内燃機関の回転数を計算する回転数計算部と、
前記回転数に応じて、前記第１出力時間を設定する出力時間設定部と、をさらに備える
ことを特徴とする請求項９または請求項１０に記載のパルス信号検出回路。
【請求項１２】
前記処理部は、前記回転数が所定の回転数以上か否か判定し、
前記回転数が前記所定の回転数以上の場合に、
前記出力時間設定部は、前記回転数に応じて、前記第１出力時間を設定し、
前記目標タイマ値計算部は、前記第１目標タイマ値を計算する
ことを特徴とする請求項１１に記載のパルス信号検出回路。
【請求項１３】
前記回転数が前記所定の回転数より低い場合に、
前記検出部は、前記第１被検出パルスとは異なる第２被検出パルスを検出し、
前記処理部は、前記第２被検出パルスが検出された後、前記割り込み処理を用いて、前記タイマから前記タイマ値を第２検出タイマ値として取得し、
前記目標タイマ値計算部は、前記第２検出タイマ値に第２出力時間を加算して、その加算結果から、前記誤差時間を減算した第２目標タイマ値を計算し、
前記判定部は、前記タイマの前記タイマ値が前記第２目標タイマ値に達したか否か判定し、
前記信号出力部は、前記タイマの前記タイマ値が前記第２目標タイマ値に達した時に、前記内燃機関を点火する第２出力信号を出力する
ことを特徴とする請求項１２に記載のパルス信号検出回路。
【請求項１４】
前記第２出力時間は、前記回転数によらず一定である
ことを特徴とする請求項１３に記載のパルス信号検出回路。
【請求項１５】
内燃機関により駆動されるロータと、
前記ロータの外周に設けられた被検出素子と、
前記被検出素子の前端部および後端部を検出して、前記前端部に対応した正極性の被検出パルスと前記後端部に対応した負極性の被検出パルスとを有する被検出パルス信号を生成する被検出パルス生成部と、
前記被検出パルス信号が入力される請求項９から請求項１４の何れかに記載のパルス信号検出回路と、
前記パルス信号検出回路から出力される前記第１出力信号または前記第２出力信号に基づいて前記内燃機関に点火する点火部と、を備える
ことを特徴とする内燃機関の点火装置。
【請求項１６】
コンピュータを、
タイマ値により時間を計測するタイマ手段と、
被検出パルス信号の第１被検出パルスを検出する検出手段と、
前記第１被検出パルスが検出された後に、実行中の処理を中断して割り込み処理を開始して、前記割り込み処理を用いて、前記第１被検出パルスの検出に対応して、前記タイマ手段から前記タイマ値を第１検出タイマ値として取得する処理手段と、
取得された前記第１検出タイマ値に所定の第１出力時間を加算して、その加算結果から、前記第１被検出パルスが検出されたタイミングと前記第１検出タイマ値が取得されたタイミングとの差である、予め求められた誤差時間を減算した第１目標タイマ値を計算する目標タイマ値計算手段と、
前記タイマ手段の前記タイマ値が前記第１目標タイマ値に達したか否か判定する判定手段と、
前記タイマ手段の前記タイマ値が前記第１目標タイマ値に達した時に、第１出力信号を出力する信号出力手段と、
として機能させるためのプログラム。
【請求項１７】
前記被検出パルス信号は、内燃機関の回転に応じて生成され、
前記第１出力信号は、前記内燃機関を点火するための信号である
ことを特徴とする請求項１６に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パルス信号検出方法、パルス信号検出回路、内燃機関の点火装置およびプログラムに関する。
【背景技術】
【０００２】
内燃機関（エンジン）用の点火装置（例えばＣＤＩ）は、内燃機関のクランクシャフトに取り付けられたロータと、ロータの外周に設けられた２つのリラクタと、ピックアップコイルと、パルス信号検出回路と、パルス信号検出回路からの点火タイミングに従って内燃機関に点火する点火部と、を備えている。
【０００３】
ピックアップコイルは、各リラクタの前端部および後端部を検出して、クランクシャフトの回転に応じた正および負極性の被検出パルスを繰り返し有するエンジン回転パルス信号（クランク角信号）を出力する。パルス信号検出回路は、マイコンを用いてエンジン回転パルス信号の被検出パルスを検出する。このマイコンは、検出された被検出パルスに基づいて、固定点火タイミング、演算点火タイミングおよびエンジン回転数を演算する。具体的には、パルス信号検出回路は、エンジン回転パルス信号の正極性の被検出パルスのみに対応したパルスを有する正パルス信号と、エンジン回転パルス信号の負極性の被検出パルスのみに対応したパルスを有する負パルス信号と、を生成する。
【０００４】
正パルス信号はマイコンの割り込み端子に入力され、マイコンは正パルス信号のパルスに基づいて時間計測を行う。負パルス信号はマイコンのインプットキャプチャ端子に入力され、マイコンは負パルス信号のパルスに基づいて時間計測を行う。
【０００５】
マイコンは、正パルス信号の所定のパルスが検出されたタイミングで、フリーランタイマからタイマ値を取得して、取得されたタイマ値に基づいてエンジン回転数および演算点火タイミングを演算する。また、マイコンは、負パルス信号の所定のパルスが検出されたタイミングで、フリーランタイマからタイマ値を取得して、取得されたタイマ値に基づいて固定点火タイミングを演算する。
【０００６】
時間計測専用のインプットキャプチャ端子で負パルス信号のパルスが検出されると、マイコンは瞬時にタイマ値を取得できる。一方、汎用の割り込み端子で正パルス信号のパルスが検出されると、マイコンは、実行中の処理を中断して割り込み処理を開始して、この割り込み処理を用いてタイマ値を取得する。
【０００７】
このようなインプットキャプチャ端子を１つだけ有するマイコンは、複数のインプットキャプチャ端子を有するマイコンより安価である。従って、このマイコンを備える点火装置も安価にできる。
【０００８】
上記点火装置に関連して、例えば、特許文献１に記載されている点火装置も知られている。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００４−１７６６２５号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、上述した従来のパルス信号検出回路が有するマイコンは、割り込み端子にパルスが入力されると、割り込み処理を用いてタイマ値を取得するので、図８に示すように、パルスが検出されたタイミング（時刻ｔ１０）と、タイマ値が取得されたタイミング（時刻ｔ１１）との間に、割り込み処理に起因した誤差時間が発生してしまう。即ち、タイマ値が取得されるまでの割り込み処理の実行時間や、これに加えて他の割り込み処理が実行中の場合には他の割り込み処理が終了するまでの待ち時間によって、マイコンがタイマ値を取得できるタイミングは、パルスが検出されたタイミング（時刻ｔ１０）から遅れることになる。よって、取得されたタイマ値に基づいて計算される点火タイミングに、目標点火タイミングに対する誤差が発生してしまうという問題がある。
【００１１】
そこで、本発明に係る実施例では、安価なマイコンを用いた場合であっても、正確なタイミングを得ることができるパルス信号検出方法、パルス信号検出回路、点火装置およびプログラムを提供する。
【課題を解決するための手段】
【００１２】
本発明の一態様に係る実施例に従ったパルス信号検出方法は、
被検出パルス信号が入力される、検出部と、処理部と、タイマと、目標タイマ値計算部と、判定部と、信号出力部とを備えるパルス信号検出回路におけるパルス信号検出方法であって、
前記検出部により、前記被検出パルス信号の第１被検出パルスを検出する第１のステップと、
前記処理部により、前記第１被検出パルスが検出された後に、実行中の処理を中断して割り込み処理を開始する第２のステップと、
前記処理部により、前記割り込み処理を用いて、前記タイマからタイマ値を第１検出タイマ値として取得する第３のステップと、
前記目標タイマ値計算部により、取得された前記第１検出タイマ値に所定の第１出力時間を加算して、その加算結果から、前記第１被検出パルスが検出されたタイミングと前記第１検出タイマ値が取得されたタイミングとの差である、予め求められた誤差時間を減算した第１目標タイマ値を計算する第４のステップと、
前記判定部により、前記タイマの前記タイマ値が前記第１目標タイマ値に達したか否か判定する第５のステップと、
前記信号出力部により、前記タイマの前記タイマ値が前記第１目標タイマ値に達した時に、第１出力信号を出力する第６のステップと、を含む。
【００１３】
前記パルス信号検出方法において、
前記被検出パルス信号は、内燃機関の回転に応じて生成され、
前記第１出力信号は、前記内燃機関を点火するための信号であっても良い。
【００１４】
前記パルス信号検出方法において、
前記タイマは、前記タイマ値として、初期タイマ値から最終タイマ値までを繰り返しカウントし、
前記第１出力時間は、前記誤差時間より長くても良い。
【００１５】
前記パルス信号検出方法において、
前記第１のステップの前に、回転数計算部により、前記被検出パルス信号に基づいて前記内燃機関の回転数を計算する第７のステップをさらに含み、
前記第３のステップと前記第４のステップとの間に、出力時間設定部により、前記回転数に応じて、前記第１出力時間を設定する第８のステップをさらに含んでも良い。
【００１６】
前記パルス信号検出方法において、
前記第３のステップと前記第８のステップとの間に、前記処理部により、前記回転数が所定の回転数以上か否か判定する第９のステップをさらに含み、
前記第９のステップにおいて前記回転数が前記所定の回転数以上の場合に、前記第８のステップに進んでも良い。
【００１７】
前記パルス信号検出方法において、
前記第９のステップにおいて前記回転数が前記所定の回転数より低い場合に、前記検出部により、前記第１のステップで検出された前記第１被検出パルスとは異なる第２被検出パルスを検出する第１０のステップと、
前記処理部により、前記第１０のステップで前記第２被検出パルスが検出された後に、実行中の処理を中断して割り込み処理を開始する第１１のステップと、
前記処理部により、前記第１１のステップの前記割り込み処理を用いて、前記タイマから前記タイマ値を第２検出タイマ値として取得する第１２のステップと、
前記目標タイマ値計算部により、前記第１２のステップにおいて取得された前記第２検出タイマ値に第２出力時間を加算して、その加算結果から前記誤差時間を減算した第２目標タイマ値を計算する第１３のステップと、
前記判定部により、前記タイマの前記タイマ値が前記第２目標タイマ値に達したか否か判定する第１４のステップと、
前記信号出力部により、前記タイマの前記タイマ値が前記第２目標タイマ値に達した時に、前記内燃機関を点火する第２出力信号を出力する第１５のステップと、をさらに含んでも良い。
【００１８】
前記パルス信号検出方法において、前記第２出力時間は、前記回転数によらず一定であっても良い。
【００１９】
本発明の一態様に係る実施例に従ったパルス信号検出回路は、
タイマ値により時間を計測するタイマと、
被検出パルス信号の第１被検出パルスを検出する検出部と、
前記第１被検出パルスが検出された後に、実行中の処理を中断して割り込み処理を開始して、前記割り込み処理を用いて、前記タイマから前記タイマ値を第１検出タイマ値として取得する処理部と、
取得された前記第１検出タイマ値に所定の第１出力時間を加算して、その加算結果から、前記第１被検出パルスが検出されたタイミングと前記第１検出タイマ値が取得されたタイミングとの差である、予め求められた誤差時間を減算した第１目標タイマ値を計算する目標タイマ値計算部と、
前記タイマの前記タイマ値が前記第１目標タイマ値に達したか否か判定する判定部と、
前記タイマの前記タイマ値が前記第１目標タイマ値に達した時に、第１出力信号を出力する信号出力部と、を備える。
【００２０】
前記パルス信号検出回路において、
前記被検出パルス信号は、内燃機関の回転に応じて生成され、
前記第１出力信号は、前記内燃機関を点火するための信号であっても良い。
【００２１】
前記パルス信号検出回路において、
前記タイマは、前記タイマ値として、初期タイマ値から最終タイマ値までを繰り返しカウントし、
前記第１出力時間は、前記誤差時間より長くても良い。
【００２２】
前記パルス信号検出回路において、
前記被検出パルス信号に基づいて前記内燃機関の回転数を計算する回転数計算部と、
前記回転数に応じて、前記第１出力時間を設定する出力時間設定部と、をさらに備えても良い。
【００２３】
前記パルス信号検出回路において、
前記処理部は、前記回転数が所定の回転数以上か否か判定し、
前記回転数が前記所定の回転数以上の場合に、
前記出力時間設定部は、前記回転数に応じて、前記第１出力時間を設定し、
前記目標タイマ値計算部は、前記第１目標タイマ値を計算しても良い。
【００２４】
前記パルス信号検出回路において、
前記回転数が前記所定の回転数より低い場合に、
前記検出部は、前記第１被検出パルスとは異なる第２被検出パルスを検出し、
前記処理部は、前記第２被検出パルスが検出された後、前記割り込み処理を用いて、前記タイマから前記タイマ値を第２検出タイマ値として取得し、
前記目標タイマ値計算部は、前記第２検出タイマ値に第２出力時間を加算して、その加算結果から、前記誤差時間を減算した第２目標タイマ値を計算し、
前記判定部は、前記タイマの前記タイマ値が前記第２目標タイマ値に達したか否か判定し、
前記信号出力部は、前記タイマの前記タイマ値が前記第２目標タイマ値に達した時に、前記内燃機関を点火する第２出力信号を出力しても良い。
【００２５】
前記パルス信号検出回路において、前記第２出力時間は、前記回転数によらず一定であっても良い。
【００２６】
本発明の一態様に係る実施例に従った内燃機関の点火装置は、
内燃機関により駆動されるロータと、
前記ロータの外周に設けられた被検出素子と、
前記被検出素子の前端部および後端部を検出して、前記前端部に対応した正極性の被検出パルスと前記後端部に対応した負極性の被検出パルスとを有する被検出パルス信号を生成する被検出パルス生成部と、
前記被検出パルス信号が入力される前記パルス信号検出回路と、
前記パルス信号検出回路から出力される前記第１出力信号または前記第２出力信号に基づいて前記内燃機関に点火する点火部と、を備える。
【００２７】
本発明の一態様に係る実施例に従ったプログラムは、
コンピュータを、
タイマ値により時間を計測するタイマ手段と、
被検出パルス信号の第１被検出パルスを検出する検出手段と、
前記第１被検出パルスが検出された後に、実行中の処理を中断して割り込み処理を開始して、前記割り込み処理を用いて、前記タイマ手段から前記タイマ値を第１検出タイマ値として取得する処理手段と、
取得された前記第１検出タイマ値に所定の第１出力時間を加算して、その加算結果から、前記第１被検出パルスが検出されたタイミングと前記第１検出タイマ値が取得されたタイミングとの差である、予め求められた誤差時間を減算した第１目標タイマ値を計算する目標タイマ値計算手段と、
前記タイマ手段の前記タイマ値が前記第１目標タイマ値に達したか否か判定する判定手段と、
前記タイマ手段の前記タイマ値が前記第１目標タイマ値に達した時に、第１出力信号を出力する信号出力手段と、として機能させる。
【００２８】
また、前記プログラムにおいて、
前記被検出パルス信号は、内燃機関の回転に応じて生成され、
前記第１出力信号は、前記内燃機関を点火するための信号であっても良い。
【発明の効果】
【００２９】
本発明の一態様に係るパルス信号検出方法、パルス信号検出回路、内燃機関の点火装置およびプログラムによれば、被検出パルスが検出されたタイミングとタイマ値が取得されたタイミングとの差である誤差時間を予め求めておいて、取得されたタイマ値に出力時間を加算した結果から、その誤差時間を減算した目標タイマ値を算出するようにしている。従って、タイマ値がこの目標タイマ値に達したタイミングを検出することで、被検出パルスが検出されたタイミングから出力時間だけ遅れた正確なタイミングを得ることができる。これにより、安価なマイコンを用いた場合であっても、正確なタイミングを得ることができる。
【図面の簡単な説明】
【００３０】
【図１】図１は、本発明の実施例１に係る点火装置の概略図である。
【図２】図２は、本発明の実施例１に係るパルス信号検出回路のブロック図である。
【図３】図３は、本発明の実施例１に係るパルス信号検出回路の動作を表すフローチャートである。
【図４】図４は、本発明の実施例１に係るパルス信号検出回路の動作を表すタイミング図である。
【図５】図５は、本発明の実施例２に係るパルス信号検出回路のブロック図である。
【図６】図６は、本発明の実施例２に係るパルス信号検出回路の動作を表すフローチャートである。
【図７】図７は、本発明の実施例２に係るパルス信号検出回路の動作を表すタイミング図である。
【図８】図８は、従来のパルス信号検出回路の動作を表すタイミング図である。
【発明を実施するための形態】
【００３１】
以下、本発明に係る各実施例について図面に基づいて説明する。
【実施例１】
【００３２】
図１は、本発明の実施例１に係る点火装置の概略図である。図１に示すように、点火装置は、ロータ１０と、２つのリラクタ（被検出素子）１１，１２と、ピックアップコイル（被検出パルス生成部）１３と、パルス信号検出回路１４と、点火部１５と、を備える。この点火装置は、例えば、自動２輪車用の内燃機関に用いられる。
【００３３】
ロータ１０は、内燃機関（図示せず）のクランクシャフト（図示せず）に取り付けられており、内燃機関により駆動される。
２つのリラクタ１１，１２は、ロータ１０の外周に所定の間隔を空けて設けられており、リラクタ１２は、ロータ１０の外周上に沿ってリラクタ１１より長い形状を有している。
【００３４】
ピックアップコイル１３は、リラクタ１１の前端部Ｅ１および後端部Ｅ２と、リラクタ１２の前端部Ｅ３および後端部Ｅ４とを検出して、各前端部Ｅ１，Ｅ３に対応した正極性の被検出パルスＰ１，Ｐ３と各後端部Ｅ２，Ｅ４に対応した負極性の被検出パルスＰ２，Ｐ４とを有するエンジン回転パルス信号（被検出パルス信号）を生成する。これにより、ピックアップコイル１３は、クランクシャフトの回転に応じた正および負極性の被検出パルスを繰り返し有するエンジン回転パルス信号を出力する。つまり、エンジン回転パルス信号は、１周期に、正極性の被検出パルスＰ１、負極性の被検出パルスＰ２、正極性の被検出パルス（第１被検出パルス）Ｐ３および負極性の被検出パルス（第２被検出パルス）Ｐ４を、この順番に有するように生成される。
【００３５】
パルス信号検出回路１４は、入力されたエンジン回転パルス信号における所定の被検出パルスを検出すると共に、検出された被検出パルスに基づいて決定した演算点火タイミングに演算点火信号（第１出力信号）を出力し、固定点火タイミングに固定点火信号（第２出力信号）を出力する。
点火部１５は、固定点火信号または演算点火信号に基づいて内燃機関に点火する。
【００３６】
図２は、本発明の実施例１に係るパルス信号検出回路１４のブロック図である。図２に示すように、パルス信号検出回路１４は、パルス信号生成部２０と、マイコン５０とを備える。マイコン５０は、タイマ２１と、検出部２２と、処理部２３と、目標タイマ値計算部２４と、判定部２５と、点火信号出力部（信号出力部）２６と、回転数計算部２７と、点火出力時間設定部（出力時間設定部）２８と、キャプチャ検出部２９と、キャプチャ処理部３０とを有する。マイコン５０は、時間計測専用のインプットキャプチャ端子（負パルス入力端子）ＩＮ１と、汎用の割り込み端子（正パルス入力端子）ＩＮ２と、を有する。
【００３７】
パルス信号生成部２０は、内燃機関の回転に応じて生成されたエンジン回転パルス信号の正極性の被検出パルスＰ１，Ｐ３にそれぞれ対応した第１パルスＰ１ｘと第３パルスＰ３ｘを有する正パルス信号と、エンジン回転パルス信号の負極性の被検出パルスＰ２，Ｐ４にそれぞれ対応した第２パルスＰ２ｘと第４パルスＰ４ｘとを有する負パルス信号と、を生成する。
【００３８】
正パルス信号はマイコン５０の割り込み端子ＩＮ２に入力され、マイコン５０は正パルス信号の第１パルスＰ１ｘと第３パルスＰ３ｘに基づいて時間計測を行う。
【００３９】
負パルス信号はマイコン５０のインプットキャプチャ端子ＩＮ１に入力され、マイコン５０は負パルス信号の第２パルスＰ２ｘと第４パルスＰ４ｘに基づいて時間計測を行う。
【００４０】
タイマ２１は、フリーランタイマとして構成されていて、タイマ値により時間を計測する。つまり、タイマ２１は、タイマ値として、初期タイマ値から最終タイマ値までを繰り返しカウントする。
【００４１】
検出部２２は、エンジン回転パルス信号の被検出パルスＰ１，Ｐ３に対応した、正パルス信号の第１パルスＰ１ｘと第３パルスＰ３ｘを検出する。つまり、検出部２２は、エンジン回転パルス信号の被検出パルスＰ１，Ｐ３を検出していることになる。
【００４２】
処理部２３は、検出部２２によって第１パルスＰ１ｘと第３パルスＰ３ｘの何れかが検出された後に、実行中の処理を中断して割り込み処理を開始して、割り込み処理を用いて、タイマ２１からタイマ値を取得する。第３パルスＰ３ｘが検出された後に取得されたタイマ値は、第１検出タイマ値Ｔ１である。
【００４３】
目標タイマ値計算部２４は、回転数が所定の回転数以上の場合、処理部２３で取得された第１検出タイマ値Ｔ１に所定の演算点火出力時間（第１出力時間）Ｄ１を加算して、その加算結果から、予め求められた誤差時間Ｅを減算した演算点火タイマカウント値（第１目標タイマ値）Ｃ１を計算する。誤差時間Ｅは、第１パルスＰ１ｘと第３パルスＰ３ｘの何れかが検出されたタイミングと、第１検出タイマ値Ｔ１が取得されたタイミングと、の差である。
【００４４】
この誤差時間Ｅは、例えば、次の様にして予め求めておく。検出部２２は、第１パルスＰ１ｘと第３パルスＰ３ｘの何れかを検出したタイミングで、パルス検出信号をマイコン５０の外部に出力する。また、処理部２３は、タイマ２１からタイマ値を取得したタイミングで、タイマ値取得信号をマイコン５０の外部に出力する。そして、オシロスコープなどの測定器を用いて、上記パルス検出信号と上記タイマ値取得信号とが現れる時間の差を測定する。そして、測定された時間をタイマ２１のカウント数に換算して、誤差時間Ｅとして目標タイマ値計算部２４に設定する。この誤差時間Ｅは、処理部２３が他の割り込み処理を実行していない場合、回転数などによらずほぼ一定となる。つまり、工場出荷時等に誤差時間Ｅを設定しておけば良い。
【００４５】
また、目標タイマ値計算部２４は、回転数が所定の回転数より低い場合、キャプチャ処理部３０で取得された検出タイマ値Ｔ２に所定の固定点火出力時間Ｄ２を加算した固定点火タイマカウント値Ｃ２を計算する。この固定点火出力時間Ｄ２は、例えば、回転数によらず一定である。
【００４６】
判定部２５は、回転数が所定の回転数以上の場合、タイマ２１のタイマ値が演算点火タイマカウント値Ｃ１に達したか否か判定し、回転数が所定の回転数より低い場合、タイマ２１のタイマ値が固定点火タイマカウント値Ｃ２に達したか否か判定する。
【００４７】
点火信号出力部２６は、判定部２５の制御に基づき、回転数が所定の回転数以上の場合、タイマ２１のタイマ値が演算点火タイマカウント値Ｃ１に達した時、内燃機関を点火する演算点火信号を出力する。また、点火信号出力部２６は、回転数が所定の回転数より低い場合、タイマ２１のタイマ値が固定点火タイマカウント値Ｃ２に達した時、内燃機関を点火する固定点火信号を出力する
【００４８】
回転数計算部２７は、エンジン回転パルス信号に基づいて内燃機関の回転数を計算する。
点火出力時間設定部２８は、回転数が所定の回転数以上の場合、回転数に応じて、上記演算点火出力時間Ｄ１を設定する。点火出力時間設定部２８は、演算点火出力時間Ｄ１と回転数とが対応付けられたテーブルを有している。この演算点火出力時間Ｄ１は、誤差時間Ｅより長い。
【００４９】
キャプチャ検出部２９は、エンジン回転パルス信号の被検出パルスＰ２，Ｐ４に対応した、負パルス信号の第２パルスＰ２ｘと第４パルスＰ４ｘを検出する。つまり、キャプチャ検出部２９は、エンジン回転パルス信号の被検出パルスＰ２，Ｐ４を検出していることになる。
【００５０】
キャプチャ処理部３０は、キャプチャ検出部２９によって第２パルスＰ２ｘと第４パルスＰ４ｘの何れかが検出された時に、瞬時にタイマ２１からタイマ値を取得する。第４パルスＰ４ｘが検出された時に取得されたタイマ値は、検出タイマ値Ｔ２である。
【００５１】
次に、図３，４を参照して、パルス信号検出回路１４の動作を説明する。
【００５２】
図３は、本発明の実施例１に係るパルス信号検出回路１４の動作を表すフローチャートである。
図４は、本発明の実施例１に係るパルス信号検出回路１４の動作を表すタイミング図である。
【００５３】
図４には、エンジン回転パルス信号と、負パルス信号と、正パルス信号と、タイマ値と、演算点火信号とが示されている。図４には、エンジン回転パルス信号の一部として、ある１周期（時刻ｔ１〜ｔ５）の被検出パルスＰ１〜Ｐ４と、次の１周期（時刻ｔ５以降）の最初の被検出パルスＰ１とが示されている。
【００５４】
また、ここでは、図４の時刻ｔ１より前に、前回の第１パルスＰ１ｘが検出された時のタイマ値が得られているとする。
【００５５】
まず、検出部２２は、図４に示す時刻ｔ１に、正パルス信号の第１パルスＰ１ｘを検出する（ステップＳ１）。
【００５６】
処理部２３は、検出部２２により第１パルスＰ１ｘが検出された後に、実行中の処理を中断して割り込み処理を開始する（ステップＳ２）。そして、処理部２３は、この割り込み処理を用いて、タイマ２１からタイマ値を取得する（ステップＳ３）。
【００５７】
回転数計算部２７は、前回の第１パルスＰ１ｘが検出された時のタイマ値と、今回取得されたタイマ値とに基づいて、前回の第１パルスＰ１ｘと今回の第１パルスＰ１ｘとの間の時間（１周期時間）を算出する（ステップＳ４）。
【００５８】
回転数計算部２７は、ステップＳ４で得られた１周期時間に基づいて内燃機関の回転数を計算する（ステップＳ５：第７のステップ）。
【００５９】
なお、ステップＳ３で取得されたタイマ値は、割り込み処理に起因した誤差時間Ｅだけ時刻ｔ１から遅れたタイミングで取得された値であるが、前回の第１パルスＰ１ｘが検出された時のタイマ値も誤差時間Ｅを有しているので、算出された１周期時間の誤差は相殺されて問題とはならない。
【００６０】
次に、検出部２２は、図４に示す時刻ｔ２に、正パルス信号の第３パルスＰ３ｘを検出する（ステップＳ６：第１のステップ）。
【００６１】
処理部２３は、検出部２２により第３パルスＰ３ｘが検出された後に、実行中の処理を中断して割り込み処理を開始する（ステップＳ７：第２のステップ）。
【００６２】
処理部２３は、図４に示す時刻ｔ３に、割り込み処理を用いて、タイマ２１からタイマ値を第１検出タイマ値Ｔ１として取得する（ステップＳ８：第３のステップ）。ここで、第３パルスＰ３ｘが検出されたタイミング（時刻ｔ２）と、第１検出タイマ値Ｔ１が取得されたタイミング（時刻ｔ３）と、の差が誤差時間Ｅである。
【００６３】
次に、処理部２３は、ステップＳ５において計算された回転数が所定の回転数以上か否か判定する（ステップＳ９：第９のステップ）。
【００６４】
処理部２３は、回転数が所定の回転数以上の場合（ステップＳ９；Ｙｅｓ）、目標タイマ値計算部２４に第１検出タイマ値Ｔ１を出力すると共に、点火出力時間設定部２８を制御する。そして、点火出力時間設定部２８は、回転数に応じて所定の演算点火出力時間Ｄ１を設定する（ステップＳ１０：第８のステップ）。
【００６５】
次に、目標タイマ値計算部２４は、ステップＳ８で取得された第１検出タイマ値Ｔ１に演算点火出力時間Ｄ１を加算して、その加算結果から、予め求められた誤差時間Ｅを減算した演算点火タイマカウント値Ｃ１を計算する（ステップＳ１１：第４のステップ）。つまり、Ｃ１＝Ｔ１＋Ｄ１−Ｅである。
【００６６】
次に、判定部２５は、タイマ２１のタイマ値が演算点火タイマカウント値Ｃ１に達したか否か判定する（ステップＳ１２：第５のステップ）。達していない場合（ステップＳ１２；Ｎｏ）、ステップＳ１２の判定を繰り返す。
【００６７】
判定部２５は、図４に示す時刻ｔ４に、タイマ２１のタイマ値が演算点火タイマカウント値Ｃ１に達した時（ステップＳ１２；Ｙｅｓ）、点火信号出力部２６を制御する。そして、点火信号出力部２６は、内燃機関を点火する演算点火信号を出力する（ステップＳ１３：第６のステップ）。
【００６８】
このように、第３パルスＰ３ｘが検出されたタイミング（時刻ｔ２）から演算点火出力時間Ｄ１だけ遅れた正確な演算点火タイミング（時刻ｔ４）で演算点火信号を出力することができる。
【００６９】
なお、目標タイマ値計算部２４による誤差時間の補正を上記のように行わない場合、上記時刻ｔ４より遅い時刻ｔ４’（＝ｔ２＋Ｅ＋Ｄ１）に演算点火信号が出力されてしまう。
【００７０】
その後、ステップＳ１の処理に戻る。つまり、検出部２２は、図４に示す時刻ｔ５に、正パルス信号の次の第１パルスＰ１ｘを検出する。
【００７１】
一方、処理部２３は、回転数が所定の回転数より低い場合（ステップＳ９；Ｎｏ）、キャプチャ処理部３０からの検出タイマ値Ｔ２を待つように、目標タイマ値計算部２４を制御する。なお、以降の処理は、図４のタイミング図への図示を省略する。
【００７２】
キャプチャ検出部２９は、負パルス信号の第４パルスＰ４ｘを検出する（ステップＳ１４）。
【００７３】
次に、キャプチャ処理部３０は、タイマ２１からタイマ値を検出タイマ値Ｔ２として取得する（ステップＳ１５）。キャプチャ処理部３０は、割り込み処理を用いずに瞬時にタイマ値を取得できる。
【００７４】
次に、目標タイマ値計算部２４は、ステップＳ１５でキャプチャ処理部３０により取得された検出タイマ値Ｔ２に所定の固定点火出力時間Ｄ２を加算した、固定点火タイマカウント値Ｃ２を計算する（ステップＳ１６）。この固定点火出力時間は、例えば、回転数によらず一定である。
【００７５】
判定部２５は、タイマ２１のタイマ値が固定点火タイマカウント値Ｃ２に達したか否か判定する（ステップＳ１７）。達していない場合（ステップＳ１７；Ｎｏ）、ステップＳ１７の判定を繰り返す。
【００７６】
判定部２５は、タイマ２１のタイマ値が固定点火タイマカウント値Ｃ２に達した時（ステップＳ１７；Ｙｅｓ）、点火信号出力部２６を制御する。そして、点火信号出力部２６は、内燃機関を点火する固定点火信号を出力する（ステップＳ１８）。
【００７７】
この時、キャプチャ処理部３０を用いているため、第４パルスＰ４ｘが検出されたタイミングから固定点火出力時間Ｄ２だけ遅れた正確な固定点火タイミングで固定点火信号を出力することができる。その後、ステップＳ１の処理に戻る。
【００７８】
以上で説明した様に、本実施例によれば、第３パルスＰ３ｘが検出されたタイミングと第１検出タイマ値Ｔ１が取得されたタイミングとの差である誤差時間Ｅを予め求めておいて、取得された第１検出タイマ値Ｔ１に演算点火出力時間Ｄ１を加算した結果から、その誤差時間Ｅを減算した演算点火タイマカウント値Ｃ１を算出するようにしている。従って、タイマ値がこの演算点火タイマカウント値Ｃ１に達したタイミングを検出することで、第３パルスＰ３ｘが検出されたタイミングから演算点火出力時間Ｄ１だけ遅れた正確なタイミングを得ることができる。これにより、１つのインプットキャプチャ端子と１つの割り込み端子とを有する安価なマイコンを用いた場合であっても、正確な演算点火タイミングを得ることができる。
【００７９】
また、このように上記誤差時間Ｅを減算するようにしているので、処理部２３が、第３パルスＰ３ｘが検出されたタイミングで他の割り込み処理を実行中であったとしても、誤差時間Ｅの補正を上記のように行わない場合より誤差が少ない演算点火タイミングを得ることができる。
【００８０】
さらに、タイマ２１はフリーランタイマであるため、第１検出タイマ値Ｔ１が誤差時間Ｅより小さい値となる場合もあるが、第１検出タイマ値Ｔ１に、誤差時間Ｅより長い演算点火出力時間Ｄ１を加算した結果から、誤差時間Ｅを減算しているので、演算処理におけるアンダーフローを防止できる。これにより、演算処理を簡単に行うことができる。
【実施例２】
【００８１】
本実施例は、１つの割り込み端子でエンジン回転パルス信号の正極性及び負極性の被検出パルスを検出するようにして、インプットキャプチャ端子を用いない点が実施例１と異なる。
【００８２】
図５は、本発明の実施例２に係るパルス信号検出回路１４ａのブロック図である。図５に示すように、パルス信号検出回路１４ａは、図２の実施例１のパルス信号検出回路１４のキャプチャ検出部２９とキャプチャ処理部３０の代わりに、負パルス検出部４０を備える。また、処理部２３ａの機能は、図２の実施例１の処理部２３の機能とは異なる。マイコン５０ａは、ポート入力端子（負パルス入力端子）ＩＮ３と、割り込み端子（正負パルス入力端子）ＩＮ４と、を有する。その他の回路構成は、図２の実施例１と同一であるため、同一の要素に同一の符号を付して説明を省略する。
【００８３】
パルス信号生成部２０ａは、エンジン回転パルス信号の正極性の被検出パルスＰ１，Ｐ２，Ｐ３，Ｐ４にそれぞれ対応した第１パルスＰ１ｘ、第２パルスＰ２ｘ、第３パルスＰ３ｘ及び第４パルスＰ４ｘを有する正負パルス信号と、エンジン回転パルス信号の負極性の被検出パルスＰ２，Ｐ４にそれぞれ対応した第２パルスＰ２ｘ及び第４パルスＰ４ｘを有する負パルス信号と、を生成する。
【００８４】
正負パルス信号はマイコン５０ａの割り込み端子ＩＮ４に入力され、マイコン５０ａは正負パルス信号の第１パルスＰ１ｘから第４パルスＰ４ｘに基づいて時間計測を行う。
【００８５】
負パルス信号はマイコン５０ａのポート入力端子ＩＮ３に入力される。マイコン５０ａの負パルス検出部４０は、負パルス信号の第２パルスＰ２ｘと第４パルスＰ４ｘの何れかを検出した時、負パルス検出信号を処理部２３ａに供給する。
【００８６】
処理部２３ａは、検出部２２によって第１パルスＰ１ｘから第４パルスＰ４ｘの何れかが検出された後に、実行中の処理を中断して割り込み処理を開始して、割り込み処理を用いて、タイマ２１からタイマ値を取得する。第３パルスＰ３ｘが検出された後に取得されたタイマ値は、第１検出タイマ値Ｔ１であり、第４パルスＰ４ｘが検出された後に取得されたタイマ値は、第２検出タイマ値Ｔ２ａである。
【００８７】
目標タイマ値計算部２４は、回転数が所定の回転数以上の場合、実施例１と同様に、処理部２３ａで取得された第１検出タイマ値Ｔ１に所定の演算点火出力時間Ｄ１を加算して、その加算結果から、予め求められた誤差時間Ｅを減算した演算点火タイマカウント値Ｃ１を計算する。この誤差時間Ｅは、実施例１と同様に、予め求めておく。
【００８８】
また、目標タイマ値計算部２４は、回転数が所定の回転数より低い場合、処理部２３ａで取得された第２検出タイマ値Ｔ２ａに所定の固定点火出力時間（第２出力時間）Ｄ２ａを加算した固定点火タイマカウント値（第２目標タイマ値）Ｃ２ａを計算する。この固定点火出力時間Ｄ２ａは、例えば、回転数によらず一定である。
【００８９】
判定部２５は、実施例１と同様に、回転数が所定の回転数以上の場合、タイマ２１のタイマ値が演算点火タイマカウント値Ｃ１に達したか否か判定し、回転数が所定の回転数より低い場合、タイマ２１のタイマ値が固定点火タイマカウント値Ｃ２ａに達したか否か判定する。
【００９０】
点火信号出力部２６は、実施例１と同様に、判定部２５の制御に基づき、回転数が所定の回転数以上の場合、タイマ２１のタイマ値が演算点火タイマカウント値Ｃ１に達した時、内燃機関を点火する演算点火信号を出力する。また、点火信号出力部２６は、回転数が所定の回転数より低い場合、タイマ２１のタイマ値が固定点火タイマカウント値Ｃ２ａに達した時、内燃機関を点火する固定点火信号を出力する
【００９１】
次に、図６，７を参照して、パルス信号検出回路１４ａの動作を説明する。
【００９２】
図６は、本発明の実施例２に係るパルス信号検出回路１４ａの動作を表すフローチャートである。
図７は、本発明の実施例２に係るパルス信号検出回路１４ａの動作を表すタイミング図である。
【００９３】
図６のフローチャートのステップＳ１からステップＳ１３は、実施例１と同様であるため、説明を省略し、実施例１と異なる処理のみを以下に説明する。なお、ステップＳ２とステップＳ７において、処理部２３ａは、負パルス検出部４０から負パルス検出信号が供給されないことから、ステップＳ１とステップＳ６で検出されたパルスが正極性の被検出パルスＰ１，Ｐ３に対応する第１パルスＰ１ｘと第３パルスＰ３ｘであることを認識できる。
【００９４】
図７には、エンジン回転パルス信号と、負パルス信号と、正負パルス信号と、タイマ値と、固定点火信号とが示されている。図７には、エンジン回転パルス信号の一部として、ある１周期（時刻ｔ１ａ〜ｔ６ａ）の被検出パルスＰ１〜Ｐ４と、次の１周期（時刻ｔ６ａ以降）の最初の被検出パルスＰ１とが示されている。
【００９５】
処理部２３ａは、回転数が所定の回転数より低い場合（ステップＳ９；Ｎｏ）、検出部２２からの次のパルス検出信号を待つ。
【００９６】
検出部２２は、図７に示す時刻ｔ３ａに、正負パルス信号の第４パルスＰ４ｘを検出する（ステップＳ２１：第１０のステップ）。つまり、検出部２２は、ステップＳ６で検出された正極性の被検出パルス（第１被検出パルス）Ｐ３とは異なる負極性の被検出パルス（第２被検出パルス）Ｐ４を検出していることになる。このとき、負パルス検出部４０も第４パルスＰ４ｘを検出しており、負パルス検出信号を処理部２３ａに供給する。
【００９７】
処理部２３ａは、第４パルスＰ４ｘが検出されて検出部２２からパルス検出信号が入力された後に、実行中の処理を中断して割り込み処理を開始する（ステップＳ２２：第１１のステップ）。ここで、負パルス検出部４０からの負パルス検出信号が供給されることによって、処理部２３ａは、時刻ｔ３ａで検出されたパルスが第４パルスＰ４ｘであることを認識できる。
【００９８】
処理部２３ａは、図７に示す時刻ｔ４ａに、割り込み処理を用いて、タイマ２１からタイマ値を第２検出タイマ値Ｔ２ａとして取得する（ステップＳ２３：第１２のステップ）。ここで、第４パルスＰ４ｘが検出されたタイミング（時刻ｔ３ａ）と第２検出タイマ値Ｔ２ａが取得されたタイミング（時刻ｔ４ａ）との差が、誤差時間Ｅである。この誤差時間Ｅは、実施例１と同様に、予め求めておく。
【００９９】
次に、目標タイマ値計算部２４は、ステップＳ２３で取得された第２検出タイマ値Ｔ２ａに所定の固定点火出力時間Ｄ２ａを加算して、その加算結果から、予め求められた誤差時間Ｅを減算した固定点火タイマカウント値Ｃ２ａを計算する（ステップＳ２４：第１３のステップ）。つまり、Ｃ２ａ＝Ｔ２ａ＋Ｄ２ａ−Ｅである。
【０１００】
次に、判定部２５は、タイマ２１のタイマ値が固定点火タイマカウント値Ｃ２ａに達したか否か判定する（ステップＳ２５：第１４のステップ）。達していない場合（ステップＳ２５；Ｎｏ）、ステップＳ２５の判定を繰り返す。
【０１０１】
判定部２５は、図７に示す時刻ｔ５ａに、タイマ２１のタイマ値が固定点火タイマカウント値Ｃ２ａに達した時（ステップＳ２５；Ｙｅｓ）、点火信号出力部２６を制御する。そして、点火信号出力部２６は、内燃機関を点火する固定点火信号を出力する（ステップＳ２６：第１５のステップ）。
【０１０２】
このように、第４パルスＰ４ｘが検出されたタイミング（時刻ｔ３ａ）から固定点火出力時間Ｄ２ａだけ遅れた正確な固定点火タイミング（時刻ｔ５ａ）で固定点火信号を出力することができる。
【０１０３】
なお、目標タイマ値計算部２４による誤差時間の補正を上記のように行わない場合、上記時刻ｔ５ａより遅い時刻ｔ５ａ’（＝ｔ３ａ＋Ｅ＋Ｄ２ａ）に固定点火信号が出力されてしまう。
【０１０４】
その後、ステップＳ１の処理に戻る。つまり、検出部２２は、図７に示す時刻ｔ６ａに、正負パルス信号の次の第１パルスＰ１ｘを検出する。
【０１０５】
以上で説明した様に、本実施例によれば、インプットキャプチャ端子を用いずに、１つの割り込み端子ＩＮ４と、１つのポート入力端子ＩＮ３のみを用いるので、実施例１より更に安価なマイコン５０ａを用いることができる。
【０１０６】
その上、誤差時間Ｅを予め求めておいて、取得された第２検出タイマ値Ｔ２ａに固定点火出力時間Ｄ２ａを加算した結果から、その誤差時間Ｅを減算した固定点火タイマカウント値Ｃ２ａを算出するようにしている。従って、正確な固定点火タイミングを得ることができる。また、実施例１と同様に、正確な演算点火タイミングを得ることもできる。さらに、他の実施例１と同様の効果も得ることができる。
【０１０７】
（変形例）
上述した実施例１，２に対して様々な変更を加えることが可能である。以下、変形の一例について説明する。以下の説明では、上述した実施例１，２における対応する部分に対して用いた符号と同一の符号を用いており、重複する説明を省略する。
【０１０８】
上述した実施例１，２では、パルス信号検出回路１４，１４ａを内燃機関の点火装置に適用する一例について説明したが、これに限られず、内燃機関の点火装置以外の、被検出パルスに基づいてあるタイミングを生成する装置にも適用できる。
【０１０９】
また、上述した実施例１，２では、エンジン回転パルス信号は、１周期に、正極性の被検出パルスＰ１、負極性の被検出パルスＰ２、正極性の被検出パルスＰ３および負極性の被検出パルスＰ４を、この順番に有する一例について説明したが、これに限られない。つまり、被検出パルスの数や極性は、上記以外でも良い。従って、パルス信号検出回路１４，１４ａは、第３パルスＰ３ｘ以外のパルスに基づいて演算点火信号を生成し、第４パルスＰ４ｘ以外のパルスに基づいて固定点火信号を生成しても良い。また、パルス信号検出回路１４，１４ａは、第１パルスＰ１ｘ以外のパルスに基づいて回転数を計算しても良い。
【０１１０】
さらに、上述した実施例１，２で説明したマイコン５０，５０ａを構成しているタイマ２１と、検出部２２と、処理部２３，２３ａと、目標タイマ値計算部２４と、判定部２５と、点火信号出力部２６と、回転数計算部２７と、点火出力時間設定部２８と、キャプチャ検出部２９と、キャプチャ処理部３０と、負パルス検出部４０との少なくとも一部は、ハードウェアで構成してもよいし、ソフトウェアで構成してもよい。ソフトウェアで構成する場合には、マイコン５０，５０ａを構成している上記各部の少なくとも一部の機能を実現するプログラムをフレキシブルディスクやＣＤ−ＲＯＭ等の記録媒体に収納し、コンピュータに読み込ませて実行させてもよい。記録媒体は、磁気ディスクや光ディスク等の着脱可能なものに限定されず、ハードディスク装置やメモリなどの固定型の記録媒体でもよい。
【０１１１】
また、マイコン５０，５０ａを構成している上記各部の少なくとも一部の機能を実現するプログラムを、インターネット等の通信回線（無線通信も含む）を介して頒布してもよい。さらに、同プログラムを暗号化したり、変調をかけたり、圧縮した状態で、インターネット等の有線回線や無線回線を介して、あるいは記録媒体に収納して頒布してもよい。
【符号の説明】
【０１１２】
１０  ロータ
１１，１２  リラクタ（被検出素子）
１３  ピックアップコイル（被検出パルス生成部）
１４，１４ａ  パルス信号検出回路
１５  点火部
２０，２０ａ  パルス信号生成部
２１  タイマ
２２  検出部
２３，２３ａ  処理部
２４  目標タイマ値計算部
２５  判定部
２６  点火信号出力部（信号出力部）
２７  回転数計算部
２８  点火出力時間設定部（出力時間設定部）
２９  キャプチャ検出部
３０  キャプチャ処理部
４０  負パルス検出部
５０，５０ａ  マイコン
【図１】
0005674500.tif 000002
【図２】
0005674500.tif 000003
【図３】
0005674500.tif 000004
【図４】
0005674500.tif 000005
【図５】
0005674500.tif 000006
【図６】
0005674500.tif 000007
【図７】
0005674500.tif 000008
【図８】
0005674500.tif 000009