説明

エンジン制御装置

【課題】欠歯部の誤判定とクランクカウンタ値の誤補正を抑制
【解決手段】パルス間隔T3≧2.4×パルス間隔T4の条件で欠歯部Kであると判定されると(時刻t1)、パルス間隔T0〜T5を用い判定結果が正しいか検証する。判定結果が正しい場合に、欠歯部Kと判定された時(時刻t1)のクランクカウンタ(以下CCと略す)の値(時刻t1以後の欠歯時カウンタ値記憶レジスタを参照)と、欠歯部Kと判定された時のCCの正しい値として設定された値との差(以下、カウンタ補正値という)を算出する(時刻t3以後の補正値記憶レジスタを参照)。その後に、カウンタ補正値とCCの現在値と、書換タイミングに基づき設定された値(+1)とに基づき、補正後カウンタ値(時刻t5以後の補正後カウンタ値格納バッファを参照)が算出され、その後クランク信号の最初の立ち上がり時に補正後カウンタ値に書き換えられる(時刻t6のCCを参照)。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、エンジン制御装置に関するものである。
【背景技術】
【0002】
従来、エンジン制御装置は、エンジンのクランク軸の回転に応じてクランク軸センサから出力されるクランク信号と、クランク軸の回転に対して1/2の比率で回転するエンジンのカム軸の回転に応じてカム軸センサから出力される気筒判別信号(G信号)とに基づいて、クランク軸の回転角度を検出し、燃料噴射制御や点火時期制御などを行っている。
【0003】
クランク軸センサは、例えば、エンジンのクランク軸に固定されたロータと、ロータの外周に10°CAの間隔で形成された歯の通過を検出するピックアップコイルとからなる。また、クランク軸のロータの外周には歯が2個欠損した欠歯部が設けられている。
【0004】
このためクランク信号は、クランク軸が10℃A回転する毎にパルス状に発生するとともに、クランク軸の回転位置が特定位置となった際には、そのパルス間隔が3倍(すなわち、30℃A)となる。そしてクランク信号は、パルス間隔が長くなる期間が360℃A毎に発生する。
【0005】
またカム軸センサは、例えば、クランク軸の回転に対し1/2の比率で回転するエンジンのカム軸に固定されたロータと、ロータの外周の1箇所に形成された歯の通過を検出するピックアップコイルとからなる。このためG信号は、カム軸のロータが1回転する毎(即ち720℃A毎)にパルス状に発生する。
【0006】
そしてエンジン制御装置は、クランク信号に基づいて、クランク軸の回転角度(いわゆるクランク角)を表すクランクカウンタをカウントアップさせ、そのクランクカウンタの値に基づきエンジン回転に同期した制御を行う。
【0007】
さらにエンジン制御装置は、クランク信号に欠歯部が現れたか否かを判定する欠歯判定を行い、その欠歯判定で欠歯部が現れたと判定したときのG信号のレベルから、クランク位置を特定する。例えば、G信号がハイレベルならば、現在のクランク位置が特定のクランク位置(ここではX°CAとする)であると特定し、G信号がローレベルならば、現在のクランク位置がX°CAから360°CAだけ進んだクランク位置であると特定する。
【0008】
そしてエンジン制御装置は、欠歯判定で欠歯部が現れたと判定する毎に、クランクカウンタの値を、特定されたクランク位置に対応する予め設定されたカウンタ値(以下、基準カウンタ値ともいう)に設定する(例えば、特許文献1を参照)。これにより、クランクカウンタのカウンタ値が実際のクランク位置とずれてしまった場合であっても、欠歯判定で欠歯部が現れたと判定する毎に、クランクカウンタのカウンタ値を、実際のクランク位置に対応した正しい値に補正することができる。
【特許文献1】特開2005−133614号公報
【発明の開示】
【発明が解決しようとする課題】
【0009】
しかし、特許文献1に記載のエンジン制御装置では、図7に示すように、今回計測中のパルス間隔Taが、前回計測したパルス間隔Tbを所定の欠歯判定比倍(図7では2.4倍)した長さ以上になると、その今回計測中のパルス間隔Taが欠歯部であると判定する(パルスPK1を参照)。
【0010】
このため、クランク信号にノイズPNが重畳してパルス間隔が狭くなる状況が発生すると(パルス間隔Tcを参照)、その直後のパルス間隔Tdが、前回計測したパルス間隔Tcを所定の欠歯判定比倍した長さ以上になり、欠歯部であると誤判定してしまう(パルスPK2を参照)ために、エンジンを適正に制御できなくなるという問題があった。
【0011】
この問題を解決するためには、「今回計測中のパルス間隔が、前回計測したパルス間隔を所定の欠歯判定比倍した長さ以上になる」という簡便な判定方法ではなく、より詳細な判定方法を採用することが有効である。ここで、詳細な判定方法をハードウェアで構成すると回路設計が複雑になるため、ソフトウェアで構成することが望ましい。
【0012】
しかし、欠歯部判定をソフトウェアで構成すると、以下に示すような問題があった。
図8に示すように、欠歯部KHが現れて、所定時間(図8では、欠歯部が現れてクランク信号の立ち上がりエッジが5回検出されるまで)が経過した後に(図9の時刻t11を参照)、クランクカウンタの値を基準カウンタ値に設定しようとする。しかし、欠歯部判定よりも優先度が高いソフト処理の実行のために、基準カウンタ値の設定が完了するまでに(図8の時刻t12を参照)、遅れDLが生じることがある。
【0013】
そして、優先度が高いソフト処理の処理時間が長かったり、エンジン回転速度が高くクランク信号のパルス間隔が短かったりすると、図9に示すように、カウント値を補正しようとした時刻t21から、カウント値の補正が完了した時刻t22までの間に、クランク信号の次のパルスが入力して、クランクカウンタの値が変化してしまうことがある。このため、補正すべきタイミングで補正することができず、クランクカウンタのカウンタ値を、実際のクランク位置に対応した正しい値に補正することができなくなるという問題があった。
【0014】
本発明は、こうした問題に鑑みなされたものであり、欠歯部の誤判定を抑制するとともに、クランクカウンタの値の誤補正を抑制して、適正なエンジン制御を可能とするエンジン制御装置を提供することを目的とする。
【課題を解決するための手段】
【0015】
上記目的を達成するためになされた請求項1に記載のエンジン制御装置では、パルス間隔計測手段が、クランク信号の有効エッジ同士の間隔であるパルス間隔を計測する。そして欠歯部判断手段が、パルス間隔計測手段により計測された連続する2つのパルス間隔をそれぞれ、新しい順に第1パルス間隔および第2パルス間隔として、第1パルス間隔を示す値を第2パルス間隔を示す値で除算した値である第1パルス間隔除算値が、パルス間隔のうち所定角度間隔毎のパルスが所定数だけ故意に抜かれたパルス間隔である欠歯部のパルス間隔に基づいて予め設定された第1判定値以上であるか否かを判断し、第1パルス間隔除算値が第1判定値以上である場合に、欠歯部が検出されたと判断する。
【0016】
その後に差値算出手段が、欠歯部判断手段により欠歯部が検出されたと判断されたときのクランクカウンタの値と、欠歯部におけるクランクカウンタの値として予め設定された値である欠歯部カウンタ設定値との差であるカウンタ差値を算出する。また欠歯部判断検証手段が、欠歯部判断手段により欠歯部が検出されたと判断された場合に、この判断が正しいか否かを、パルス間隔計測手段により計測されたパルス間隔に基づいて判断する。
【0017】
そして補正値算出手段が、欠歯部判断手段による判断が正しいと欠歯部判断検証手段により判断された場合に、差値算出手段により算出されたカウンタ差値と、クランクカウンタの現在の値と、クランクカウンタの値を書き換える書換タイミングに基づいて予め設定されたカウンタ調整値とに基づいて、クランクカウンタの値を補正するための補正後カウンタ値を算出する。
【0018】
さらにカウンタ書換手段が、補正値算出手段により補正後カウンタ値が算出された後に、書換タイミングでクランクカウンタの値を補正後カウンタ値に書き換える。
このように構成された請求項1に記載のエンジン制御装置では、欠歯部判断手段により欠歯部が検出されたときのクランクカウンタの正しい値が欠歯部カウンタ設定値として設定されている。このため、欠歯部が検出されたときのクランクカウンタの値に基づいて、クランクカウンタの値の本来の値からのズレ、すなわち上記のカウンタ差値を算出することができる。
【0019】
そして欠歯部判断検証手段により、欠歯部判断手段の判断が正しいか否かが判断される。すなわち、欠歯部判断手段の「第1パルス間隔除算値が第1判定値以上であるか否か」という条件だけではなく、その他の条件を加えて欠歯部を検出することができる。このため、欠歯部の検出精度を向上させることができる。
【0020】
また補正値算出手段により、カウンタ差値と、クランクカウンタの現在の値と、書換タイミングに基づいて予め設定されたカウンタ調整値とに基づいて、補正後カウンタ値を算出され、さらにカウンタ書換手段により、書換タイミングでクランクカウンタの値が補正後カウンタ値に書き換えられる。
【0021】
ここで書換タイミングは、例えば、補正後カウンタ値を算出してから最初にクランクカウンタの立ち上がりエッジを検出した場合が挙げられる。そして、この場合を書換タイミングに設定すると、カウンタ調整値は「1」に設定される。つまりカウンタ調整値は、補正値算出手段が補正後カウンタ値を算出してから、カウンタ書換手段がクランクカウンタの値を書き換えるまでのクランクカウンタの値の増加を調整するために設けられている。
【0022】
したがって補正値算出手段は、補正後カウンタ値を算出する時点でのクランクカウンタの値と、カウンタ差値を用いて補正後カウンタ値を算出する。このため、欠歯部判断検証手段がソフトウェアで構成されている場合において、欠歯部判断検証手段よりも優先度が高いソフト処理の実行のために、欠歯部判断検証手段による処理が遅れた場合であっても、補正値算出手段は、カウンタ書換手段がクランクカウンタの値を書き換える時点での正しい補正後カウンタ値を算出することができる。
【0023】
以上より、欠歯部の誤判定を抑制するとともに、クランクカウンタの値の誤補正を抑制することができる。
また請求項1に記載のエンジン制御装置では、請求項2に記載のように、欠歯部判断検証手段は、第1パルス間隔除算値が、第1判定値より大きくなるように予め設定された第2判定値未満である場合に、欠歯部判断手段による判断が正しいと判断するようにするとよい。
【0024】
このように構成されたエンジン制御装置によれば、エンストのために、欠歯部判断手段の「第1パルス間隔除算値が第1判定値以上である」という条件(以下、第1欠歯判断条件ともいう)が成立した場合に、欠歯部判断手段による判断が正しくないと判断される。エンストすると、第1パルス間隔が第2パルス間隔に比べて非常に大きくなるからである。したがって、エンストによる欠歯部判断手段の誤判断を検証することができる。
【0025】
また請求項2に記載のエンジン制御装置では、請求項3に記載のように、欠歯部判断検証手段は、さらに、パルス間隔計測手段により計測された連続する2つのパルス間隔であって、第1パルス間隔および第2パルス間隔よりも新しいパルス間隔をそれぞれ、新しい順に第3パルス間隔および第4パルス間隔として、第3パルス間隔を示す値を第4パルス間隔を示す値で除算した値である第2パルス間隔除算値が、1より小さくなるように予め設定された第3判定値以上である場合に、欠歯部判断手段による判断が正しいと判断するようにするとよい。
【0026】
このように構成されたエンジン制御装置によれば、エンスト後のエンジンの再始動により、欠歯部判断手段の第1欠歯判断条件と、欠歯部判断検証手段の「第1パルス間隔除算値が第2判定値未満である」という条件が成立した場合に、欠歯部判断手段による判断が正しくないと判断される。再始動ではエンジンは急加速状態となり、第3パルス間隔は第4パルス間隔より十分小さくなるからである。したがって、エンスト後の再始動による欠歯部判断手段の誤判断を検証することができる。
【0027】
また請求項1に記載のエンジン制御装置では、請求項4に記載のように、欠歯部判断検証手段は、パルス間隔計測手段により計測された連続する2つのパルス間隔であって、第2パルス間隔に連続し且つ第2パルス間隔よりも古いパルス間隔を第5パルス間隔として、第2パルス間隔を示す値を第5パルス間隔を示す値で除算した値である第3パルス間隔除算値が、1より小さくなるように予め設定された第4判定値以上である場合に、欠歯部判断手段による判断が正しいと判断するようにするとよい。
【0028】
このように構成されたエンジン制御装置によれば、クランク信号にノイズが重畳して第1欠歯判断条件が成立した場合に、欠歯部判断手段による判断が正しくないと判断される。ノイズが重畳すると、第2パルス間隔が第5パルス間隔に比べてかなり小さくなる場合があるからである。したがって、ノイズの重畳による欠歯部判断手段の誤判断を検証することができる。
【0029】
また請求項1に記載のエンジン制御装置では、請求項5に記載のように、欠歯部判断検証手段は、パルス間隔計測手段により計測されたパルス間隔であって、第1パルス間隔に連続し且つ第1パルス間隔よりも新しいパルス間隔を第6パルス間隔として、第6パルス間隔を示す値を第1パルス間隔を示す値で除算した値である第4パルス間隔除算値が、1より小さくなるように予め設定された第5判定値未満である場合に、欠歯部判断手段による判断が正しいと判断するようにするとよい。
【0030】
このように構成されたエンジン制御装置によれば、エンジンの急減速により、欠歯部判断手段の第1欠歯判断条件が成立した場合に、欠歯部判断手段による判断が正しくないと判断される。急減速では、第6パルス間隔が第1パルス間隔に比べてかなり大きくなるからである。したがって、エンジンの急減速による欠歯部判断手段の誤判断を検証することができる。
【0031】
また請求項1〜請求項5の何れかに記載のエンジン制御装置では、請求項6に記載のように、パルス間隔計測手段および欠歯部判断手段の少なくとも一方は、ハードウェアで構成されるようにするとよい。
【0032】
このように構成されたエンジン制御装置によれば、パルス間隔計測手段および欠歯部判断手段の少なくとも一方による処理がハードウェアで実行される分、ソフトウェアで実行される処理の負荷を低減することができる。
【発明を実施するための最良の形態】
【0033】
以下に本発明の実施形態について図面をもとに説明する。
図1は本発明が適用されたエンジン制御装置1の全体構成図、図2はカウンタ処理部15の主要部を示す構成図、図3はカウンタ補正回路41の構成の概略を示す図、図4は欠歯データ取得部42の構成の概略を示す図、図5はカウンタ補正値算出処理を示すフローチャート、図6はクランクカウンタ11の値を書き換える動作を説明するタイムチャートである。
【0034】
エンジン制御装置1は、車両に搭載された4サイクルの内燃機関型エンジンを制御するものであり、図1に示すように、マイコン(マイクロコンピュータ)3と、入力回路5と、出力回路6とを備えている。
【0035】
これらのうちマイコン3は、クランク軸センサ7からのクランク信号、カム軸センサ9からの気筒判別用信号(以下、G信号という)、水温センサやスロットル開度センサ等からの他の各種センサ信号、及びトランスミッションのシフトポジションスイッチやエアコンスイッチ等からの各種スイッチ信号を入力回路5を介して取り込み、それら各種信号に基づいて、インジェクタへ出力回路6を介して駆動信号(噴射指令信号)を出力する燃料噴射制御や、点火装置へ出力回路6を介して駆動信号(点火指令信号)を出力する点火時期制御等のエンジン回転に同期した制御を実施している。
【0036】
特にマイコン3は、クランク角(クランク軸の回転角度)を表すクランクカウンタ11をクランク信号に基づきカウントアップさせ、そのカウント値をエンジン回転に同期した制御に使用している。例えば、クランクカウンタ11の値(以下、クランクカウンタ値ともいう)が或る値から他の或る値になるまで駆動信号を出力するとか、クランクカウンタ11の値が或る値になってから一定時間が経過するまで駆動信号を出力するといった具合に、クランクカウンタ11の値を使用する。
【0037】
なお、クランク軸センサ7からマイコン3に入力されるクランク信号は、図6に示すように、エンジンのクランク軸の回転位置が予め定められた基準位置に来ていない場合には、クランク軸が10°回転する毎(10°CA毎)にロー→ハイ→ローといった具合にパルス状に変化し、クランク軸の回転位置が基準位置に来たときには、立ち上がりの間隔が整数倍(本実施形態では3倍)長くなる。つまり、クランク信号は、クランク軸の回転位置が基準位置に来ていない場合には、10°CA毎のパルス列となり、クランク軸の回転位置が基準位置に来たときには、10°CA毎のパルスが所定数(本実施形態では2個)抜けることで立ち上がり間隔が30°CA分の長さになった欠歯部Kとなる。また、カム軸センサ9からマイコン3に入力されるG信号は、クランク軸の回転に対し1/2の比率で回転するエンジンのカム軸の回転位置が特定位置に来たときに、ロー→ハイ→ローといった具合にパルス状に変化する信号である。このため、G信号の立ち上がりエッジは720°CA毎に発生することとなる。
【0038】
ここでマイコン3は、図1に示すように、クランク信号とG信号とを入力してクランクカウンタ11に関する信号処理を行う信号処理部13を備えている。そして信号処理部13は、クランク信号に基づいてクランクカウンタ11をカウントアップさせる処理を主に行うカウンタ処理部15と、クランク信号の各パルス間隔(本実施形態では、立ち上がりエッジ同士の間隔である)について、そのパルス間隔が欠歯部Kであるか否かを判定する欠歯判定部17と、クランクカウンタ11のカウント値に基づき信号を出力するための信号出力部19と、クランクカウンタ11とは別にクランク信号によってカウントアップされる第2カウンタ21とを備えている。
【0039】
さらにマイコン3は、エンジンを制御するための各種処理を実行するCPU23と、CPU23によって実行されるプログラムなどが格納されたROM25と、CPU23による演算結果を一時記憶するRAM27と、入力回路5を介して入力されるアナログの信号をデジタルデータに変換して取り込むためのAD変換器29と、入力回路5を介して入力されるデジタルの信号(ハイ又はローの二値信号)を取り込むとともに、本マイコン3の外部へ信号を出力するためのI/Oポート31とを備えている。
【0040】
これらのうち欠歯判定部17は、クランク信号のパルス間隔を計測するとともに、今回計測中のパルス間隔が、前回計測したパルス間隔を所定の欠歯判定比倍(本実施形態では、2.4倍)した長さ以上になると、その今回計測中のパルス間隔が欠歯部Kであると判定して、図6に示すように、その判定時点から次のクランク信号の立ち上がりエッジ(つまり、欠歯部Kの終了タイミングに相当するクランク信号の立ち上がりエッジ)までの間、ハイレベルの欠歯検出信号を出力する動作を行う。
【0041】
次にカウンタ処理部15は、クランクカウンタ11の他に、図2に示すように、クランクカウンタ11の値を補正するカウンタ補正回路41と、欠歯部Kを検出するためのデータを取得する欠歯データ取得部42と、クランクカウンタ11を分周する分周カウンタ43と、欠歯部Kが検出されたときのクランクカウンタ11の値を記憶するための欠歯時カウンタ値記憶レジスタ44と、欠歯検出信号が入力した時点でのクランクカウンタ11の値を取得して欠歯時カウンタ値記憶レジスタ44に記憶する欠歯時カウンタ値取得部45とを備えている。
【0042】
これらのうちカウンタ補正回路41は、図3に示すように、クランクカウンタ11の値を補正するための補正値(以下、カウンタ補正値という。図5のS40を参照)を記憶するための補正値記憶レジスタ51と、クランクカウンタ11の値と補正値記憶レジスタ51に記憶された値とに基づいて、補正された後のクランクカウンタ11の値(以下、補正後カウンタ値ともいう)を演算する補正値演算回路52と、補正値演算回路52で演算された補正後カウンタ値を格納する補正後カウンタ値格納バッファ53と、補正値演算回路52による演算の実行を指示するための補正フラグ54と、補正フラグ54をセットおよびクリアを行うフラグ制御部55とを備え、補正値演算回路52による補正後カウンタ値の算出の完了後、クランク信号の最初の立ち上がり時に、補正後カウンタ値格納バッファ53に格納された補正後カウンタ値をクランクカウンタ11に書き込むように構成されている。
【0043】
そして補正値演算回路52は、補正フラグ54がセットされると、演算処理を実行するように構成され、クランクカウンタ11の値と、補正値記憶レジスタ51に記憶された値と「+1」(以下、この「+1」をカウンタ調整値ともいう)とを加算した値を算出する加算器56と、加算器56で算出された値が予め設定された上限値(本実施形態では71)を越えている場合には、(上限値+1)を減算した値を出力する上限値超え判定部57とを備える。上限値超え判定部57は、加算器56で算出された値が例えば「70」,「72」,「74」であるときには、それぞれ「70」,「0」,「2」を出力する。
【0044】
またフラグ制御部55は、補正値記憶レジスタ51に値が格納されると補正フラグ54をセットし、補正後カウンタ値格納バッファ53に格納された値がクランクカウンタ11にセットされると補正フラグ54をクリアする。
【0045】
次に欠歯データ取得部42は、図4に示すように、エッジ検出部61と、ANDゲート62と、パルス間隔計測部63と、比較器64と、ラッチ回路65と、パルス間隔保持レジスタ66と、内部カウンタコンペアレジスタ67とを備えている。
【0046】
これらのうちエッジ検出部61は、クランク信号を入力して、クランク信号の立ち上がりエッジを検出し、その旨を示すエッジ検出信号を出力する。
また内部カウンタコンペアレジスタ67は、パルス間隔計測部63による計測を一旦停止させるタイミングを規定するために予め設定されたクランクカウンタ値を格納する。
【0047】
また比較器64は、第2カウンタ21の値と、内部カウンタコンペアレジスタ67の値とを比較して、両者が等しい場合にパルス信号を出力する。
またラッチ回路65は、比較器64の出力をラッチする。
【0048】
またANDゲート62は、エッジ検出部61からのエッジ検出信号と、ラッチ回路65から出力される信号を論理反転した信号との論理積演算を行う。すなわちANDゲート62は、ラッチ回路65がラッチ信号を出力していないときに、クランク信号の立ち上がるタイミングでパルス信号を出力する。
【0049】
またパルス間隔計測部63は、ANDゲート62から出力されるパルス信号の時間間隔、すなわち、クランク信号のパルス間隔を計測し、その計測結果をパルス間隔保持レジスタ66に格納する。
【0050】
またパルス間隔保持レジスタ66は、パルス間隔計測部63により計測されたパルス間隔を示す値を、新しい順に予め設定された所定保持数(本実施形態では6)格納する。
次にCPU23は、カウンタ補正値を算出するためのカウンタ補正値算出処理を実行する。このカウンタ補正値算出処理は、第2カウンタ21の値と内部カウンタコンペアレジスタ67の値とが一致したときに実行される処理である。
【0051】
このカウンタ補正値算出処理が実行されると、CPU23は、図5に示すように、まずS10にて、欠歯判定部17により欠歯部Kであると判定された判定結果が正しいか否かを確定するための欠歯確定処理を行う。
【0052】
この欠歯確定処理は、具体的には、パルス間隔保持レジスタ66に格納された6つのパルス間隔を示す値を、図6に示すように、新しい順にT0,T1,T2,T3,T4,T5として、式(1)〜式(5)が成立した場合に、欠歯判定部17の判定結果が正しいと確定する。
【0053】
T3/T4 < n1 ・・・(1)
T1/T2 ≧ n2 ・・・(2)
T0/T1 ≧ n3 ・・・(3)
T4/T5 ≧ n4 ・・・(4)
T2/T3 < n5 ・・・(5)
なお、欠歯判定部17により欠歯部Kであると判定されるのは、式(6)が成立した場合である。
【0054】
T3/T4 ≧ n0 ・・・(6)
ここで、式(1)〜式(6)の定数n0〜n5は予め設定された判定値である。本実施形態では、定数n0,n1,n2,n3,n4,n5はそれぞれ、「2.4」,「6.0」,「0.65」,「0.65」,「0.67」,「0.7」である。
【0055】
式(1)は、エンストのために式(6)が成立した場合を除外するための条件である。エンストすると、パルス間隔T3がパルス間隔T4に比べて非常に大きくなるからである。
【0056】
式(2)及び式(3)は、エンスト後に再始動したときに式(6)及び式(1)が成立した場合を除外するための条件である。再始動ではパルス間隔T2からパルス間隔T0の範囲で急加速状態となり、式(2)及び式(3)が不成立となるからである。
【0057】
式(4)は、クランク信号にノイズが混入して式(6)が成立した場合を除外するための条件である。ノイズが混入すると、パルス間隔T4がパルス間隔T5に比べてかなり小さくなる場合があるからである。
【0058】
式(5)は、急減速のために式(6)が成立した場合を除外するための条件である。急減速では、パルス間隔T2がパルス間隔T3に比べてかなり大きくなるからである。
そしてS10の欠歯確定処理が終了すると、S20にて、S10の処理で欠歯判定部17の判定結果が正しいと確定されたか否かを判断する。ここで、欠歯判定部17の判定結果が正しいと確定されなかった場合には(S20:NO)、カウンタ補正値算出処理を終了する。
【0059】
一方、欠歯判定部17の判定結果が正しいと確定された場合には(S20:YES)、S30にて、比較器64の出力のラッチを解除するためのラッチクリア信号をラッチ回路65に対して出力する。これにより、ラッチ回路65がラッチを解除するため、ANDゲート62は、パルス間隔計測部63へのパルス信号の出力を再開する。つまり、パルス間隔計測部63がパルス間隔の計測を再開する。
【0060】
その後S40にて、欠歯時カウンタ値記憶レジスタ44の値から、欠歯判定部17により欠歯部Kが検出されたときのクランクカウンタ11の正しい値として予め設定されたクランクカウンタ基準値(本実施形態では67)を減算し、さらに、この減算値の正負符号を変更し、この符号を変更した値を上述のカウンタ補正値とする。そしてS50にて、S40で算出されたカウンタ補正値を補正値記憶レジスタ51に記憶して、カウンタ補正値算出処理を終了する。
【0061】
このように構成されたエンジン制御装置1では、パルス間隔計測部63によりパルス間隔が計測される。そして欠歯判定部17により、今回計測中のパルス間隔が、前回計測したパルス間隔を所定の欠歯判定比倍(本実施形態では、2.4倍)した長さ以上になると、その今回計測中のパルス間隔が欠歯部Kであると判定される。
【0062】
さらに、今回計測中のパルス間隔が欠歯部Kであると欠歯判定部17により判定される(以下、「欠歯判定部17により欠歯部Kが検出される」ともいう)と、カウンタ処理部15の欠歯時カウンタ値取得部45により、欠歯判定部17により欠歯部Kが検出されたときのクランクカウンタ11の値が欠歯時カウンタ値記憶レジスタ44に記憶される(図6の時刻t1を参照)。
【0063】
その後、第2カウンタ21の値と内部カウンタコンペアレジスタ67の値(本実施形態では3)とが一致すると(図6の時刻t2を参照)、欠歯判定部17により欠歯部Kであると判定された判定結果が正しいか否かを確定するための欠歯確定処理が行われる(S10)。そして、欠歯判定部17の判定結果が正しいと確定された場合には(S20:YES)、欠歯時カウンタ値記憶レジスタ44の値からクランクカウンタ基準値を減算し、この減算値の正負符号を変更した値がカウンタ補正値として補正値記憶レジスタ51に記憶(図6の時刻t3を参照)される(S40,S50)。
【0064】
そして、補正値記憶レジスタ51にカウンタ補正値が記憶されると、補正フラグ54がセットされて(図6の時刻t4を参照)、補正値演算回路52による演算が実行されることにより、補正後カウンタ値格納バッファ53に補正後カウンタ値が格納される(図6の時刻t5を参照)。さらに、補正値演算回路52による補正後カウンタ値の算出の完了後、クランク信号の最初の立ち上がり時に、補正後カウンタ値格納バッファ53に格納された補正後カウンタ値がクランクカウンタ11に書き込まれる(図6の時刻t6を参照)。
【0065】
このように構成されたエンジン制御装置1では、今回計測中のパルス間隔が欠歯部Kであると欠歯判定部17により判定されたときの正しいクランクカウンタ値がクランクカウンタ基準値(本実施形態では67)として設定されている。このため、欠歯判定部17により欠歯部Kが検出されたときのクランクカウンタ値に基づいて、クランクカウンタ値の本来の値からのズレ、すなわちカウンタ補正値を算出することができる。
【0066】
そして欠歯確定処理(S10)により、欠歯判定部17の判定が正しいか否かが判断される。すなわち、欠歯判定部17の「今回計測中のパルス間隔が、前回計測したパルス間隔を所定の欠歯判定比倍した長さ以上」という条件だけではなく、その他の条件を加えて欠歯部Kを検出することができる。このため、欠歯部Kの検出精度を向上させることができる。
【0067】
また補正値演算回路52により、カウンタ補正値と、クランクカウンタ11の現在の値と、クランクカウンタ値を書き換える書換タイミングに基づいて予め設定されたカウンタ調整値とに基づいて、補正後カウンタ値が算出され、さらに、カウンタ補正回路41により、補正後カウンタ値の算出の完了後、クランク信号の最初の立ち上がり時(書換タイミング)に、クランクカウンタ値が補正後カウンタ値に書き換えられる。
【0068】
したがって補正値演算回路52は、補正後カウンタ値を算出する時点でのクランクカウンタ値と、カウンタ補正値を用いて補正後カウンタ値を算出する。このため、欠歯確定処理(S10)がソフトウェアで構成されている場合において、欠歯確定処理(S10)が遅れた場合であっても、補正値演算回路52は、クランクカウンタ値を書き換える時点での正しい補正後カウンタ値を算出することができる。
【0069】
以上より、欠歯部Kの誤判定を抑制するとともに、クランクカウンタ値の誤補正を抑制することができる。
また、パルス間隔計測部63及び欠歯判定部17がハードウェアで構成されている。このため、パルス間隔計測部63及び欠歯判定部17による処理がハードウェアで実行される分、エンジン制御装置1においてソフトウェアで実行される処理の負荷を低減することができる。
【0070】
以上説明した実施形態において、パルス間隔計測部63は本発明におけるパルス間隔計測手段、欠歯判定部17は本発明における欠歯部判断手段、S40の処理は本発明における差値算出手段、S10の処理は本発明における欠歯部判断検証手段、補正値演算回路52は本発明における補正値算出手段、カウンタ補正回路41は本発明におけるカウンタ書換手段である。
【0071】
また、クランクカウンタ基準値は本発明における欠歯部カウンタ設定値、カウンタ補正値は本発明におけるカウンタ差値、式(1)のパルス間隔T3は本発明における第1パルス間隔、式(1)のパルス間隔T4は本発明における第2パルス間隔、式(2)のパルス間隔T1及び式(3)のパルス間隔T0は本発明における第3パルス間隔、式(2)のパルス間隔T2及び式(3)のパルス間隔T1は本発明における第4パルス間隔、式(4)のパルス間隔T5は本発明における第5パルス間隔、式(5)のパルス間隔T2は本発明における第6パルス間隔である。
【0072】
また、欠歯判定比および定数n0は本発明における第1判定値、定数n1は本発明における第2判定値、定数n2,n3は本発明における第3判定値、定数n4は本発明における第4判定値、定数n5は本発明における第5判定値である。
【0073】
以上、本発明の一実施例について説明したが、本発明は上記実施例に限定されるものではなく、本発明の技術的範囲に属する限り種々の形態を採ることができる。
例えば、上記実施形態においては、カウンタ調整値が「+1」であるものを示したが、これに限られるものではなく、書換タイミングに応じてカウンタ調整値を変更する必要がある。例えば、補正後カウンタ値の算出の完了後、クランク信号の2回目の立ち上がり時にクランクカウンタ値を書き換えるようにする場合には、カウンタ調整値は「+2」となる。
【図面の簡単な説明】
【0074】
【図1】エンジン制御装置1の全体構成図である。
【図2】カウンタ処理部15の主要部を示す構成図である。
【図3】カウンタ補正回路41の構成の概略を示す図である。
【図4】欠歯データ取得部42の構成の概略を示す図である。
【図5】カウンタ補正値算出処理を示すフローチャートである。
【図6】クランクカウンタ値を書き換える動作を説明するタイムチャートである。
【図7】欠歯部の誤判定の動作を説明するタイムチャートである。
【図8】ソフトウェアによるクランクカウンタ値の書き換え動作を説明するタイムチャートである。
【図9】ソフトウェアによるクランクカウンタ値の誤補正の動作を説明するタイムチャートである。
【符号の説明】
【0075】
1…エンジン制御装置、3…マイコン、5…入力回路、6…出力回路、7…クランク軸センサ、9…カム軸センサ、11…クランクカウンタ、13…信号処理部、15…カウンタ処理部、17…欠歯判定部、19…信号出力部、21…第2カウンタ、23…CPU、25…ROM、27…RAM、29…AD変換器、31…I/Oポート、41…カウンタ補正回路、42…欠歯データ取得部、43…分周カウンタ、44…欠歯時カウンタ値記憶レジスタ、45…欠歯時カウンタ値取得部、51…補正値記憶レジスタ、52…補正値演算回路、53…補正後カウンタ値格納バッファ、54…補正フラグ、55…フラグ制御部、56…加算器、57…上限値超え判定部、61…エッジ検出部、62…ANDゲート、63…パルス間隔計測部、64…比較器、65…ラッチ回路、66…パルス間隔保持レジスタ、67…内部カウンタコンペアレジスタ

【特許請求の範囲】
【請求項1】
エンジンのクランク軸の回転に対応した所定角度間隔毎のパルス列のクランク信号を入力し、前記クランク軸の回転角度を表すクランクカウンタをカウントアップさせるエンジン制御装置において、
前記クランク信号の有効エッジ同士の間隔であるパルス間隔を計測するパルス間隔計測手段と、
前記パルス間隔計測手段により計測された連続する2つの前記パルス間隔をそれぞれ、新しい順に第1パルス間隔および第2パルス間隔として、前記第1パルス間隔を示す値を前記第2パルス間隔を示す値で除算した値である第1パルス間隔除算値が、前記パルス間隔のうち前記所定角度間隔毎のパルスが所定数だけ故意に抜かれたパルス間隔である欠歯部のパルス間隔に基づいて予め設定された第1判定値以上であるか否かを判断し、前記第1パルス間隔除算値が前記第1判定値以上である場合に、前記欠歯部が検出されたと判断する欠歯部判断手段と、
前記欠歯部判断手段により前記欠歯部が検出されたと判断されたときの前記クランクカウンタの値と、前記欠歯部における前記クランクカウンタの値として予め設定された値である欠歯部カウンタ設定値との差であるカウンタ差値を算出する差値算出手段と、
前記欠歯部判断手段により前記欠歯部が検出されたと判断された場合に、該判断が正しいか否かを、前記パルス間隔計測手段により計測された前記パルス間隔に基づいて判断する欠歯部判断検証手段と、
前記欠歯部判断手段による判断が正しいと前記欠歯部判断検証手段により判断された場合に、前記差値算出手段により算出された前記カウンタ差値と、前記クランクカウンタの現在の値と、前記クランクカウンタの値を書き換える書換タイミングに基づいて予め設定されたカウンタ調整値とに基づいて、前記クランクカウンタの値を補正するための補正後カウンタ値を算出する補正値算出手段と、
前記補正値算出手段により前記補正後カウンタ値が算出された後に、前記書換タイミングで前記クランクカウンタの値を前記補正後カウンタ値に書き換えるカウンタ書換手段と
を備えることを特徴とするエンジン制御装置。
【請求項2】
前記欠歯部判断検証手段は、
前記第1パルス間隔除算値が、前記第1判定値より大きくなるように予め設定された第2判定値未満である場合に、前記欠歯部判断手段による判断が正しいと判断する
ことを特徴とする請求項1に記載のエンジン制御装置。
【請求項3】
前記欠歯部判断検証手段は、さらに、
前記パルス間隔計測手段により計測された連続する2つのパルス間隔であって、前記第1パルス間隔および前記第2パルス間隔よりも新しいパルス間隔をそれぞれ、新しい順に第3パルス間隔および第4パルス間隔として、前記第3パルス間隔を示す値を前記第4パルス間隔を示す値で除算した値である第2パルス間隔除算値が、1より小さくなるように予め設定された第3判定値以上である場合に、前記欠歯部判断手段による判断が正しいと判断する
ことを特徴とする請求項2に記載のエンジン制御装置。
【請求項4】
前記欠歯部判断検証手段は、
前記パルス間隔計測手段により計測された連続する2つのパルス間隔であって、前記第2パルス間隔に連続し且つ前記第2パルス間隔よりも古いパルス間隔を第5パルス間隔として、前記第2パルス間隔を示す値を前記第5パルス間隔を示す値で除算した値である第3パルス間隔除算値が、1より小さくなるように予め設定された第4判定値以上である場合に、前記欠歯部判断手段による判断が正しいと判断する
ことを特徴とする請求項1に記載のエンジン制御装置。
【請求項5】
前記欠歯部判断検証手段は、
前記パルス間隔計測手段により計測されたパルス間隔であって、前記第1パルス間隔に連続し且つ前記第1パルス間隔よりも新しいパルス間隔を第6パルス間隔として、前記第6パルス間隔を示す値を前記第1パルス間隔を示す値で除算した値である第4パルス間隔除算値が、1より小さくなるように予め設定された第5判定値未満である場合に、前記欠歯部判断手段による判断が正しいと判断する
ことを特徴とする請求項1に記載のエンジン制御装置。
【請求項6】
前記パルス間隔計測手段および前記欠歯部判断手段の少なくとも一方は、ハードウェアで構成される
ことを特徴とする請求項1〜請求項5の何れかに記載のエンジン制御装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2010−25017(P2010−25017A)
【公開日】平成22年2月4日(2010.2.4)
【国際特許分類】
【出願番号】特願2008−188592(P2008−188592)
【出願日】平成20年7月22日(2008.7.22)
【出願人】(000004260)株式会社デンソー (27,639)
【Fターム(参考)】