JP4332971B2 - エンジン制御装置及びそれに用いられる信号処理回路 - Google Patents
エンジン制御装置及びそれに用いられる信号処理回路 Download PDFInfo
- Publication number
- JP4332971B2 JP4332971B2 JP2000026405A JP2000026405A JP4332971B2 JP 4332971 B2 JP4332971 B2 JP 4332971B2 JP 2000026405 A JP2000026405 A JP 2000026405A JP 2000026405 A JP2000026405 A JP 2000026405A JP 4332971 B2 JP4332971 B2 JP 4332971B2
- Authority
- JP
- Japan
- Prior art keywords
- signal
- level
- cylinder discrimination
- time
- read
- 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 - Fee Related
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Combined Controls Of Internal Combustion Engines (AREA)
Description
【発明の属する技術分野】
本発明は、4サイクルエンジンを制御するエンジン制御装置に関し、特にエンジンの気筒判別に関するものである。
【0002】
【従来の技術】
一般に、エンジンを制御するエンジン制御装置においては、図17に示す如く、エンジンのクランク軸の回転に応じてクランク角センサ1から出力されるクランク角信号(回転信号とも呼ばれる)NEと、クランク軸の回転に対し1/2の比率で回転するエンジンのカム軸の回転に応じてカム角センサ2から出力される気筒判別用信号Gとが、信号処理回路3に入力される。そして、信号処理回路3が、上記両信号NE,Gから気筒判別用の各種信号NE2,TDC,G2を生成してマイクロコンピュータ(以下、CPUともいう)4に出力し、CPU4は、その信号処理回路3からの信号NE2,TDC,G2に基づき気筒判別を行ってエンジンを制御するようにしている。
【0003】
ここで、カム角センサとして、電磁ピックアップ(MPU)式のセンサを用いた場合の気筒判別方法の従来例について、図18を用いて説明する。
まず、この例において、クランク角センサから出力されるクランク角信号NEは、クランク軸の回転位置が予め設定された1つの特定位置でない時には、クランク軸が10°回転する期間を1周期としたパルス信号となり、クランク軸の回転位置が特定位置に来た時には、クランク軸が30°回転する期間を1周期とした欠歯信号Kとなる。つまり、クランク角信号NEは、クランク軸が10°回転する毎(10°CA毎)にロウレベル→ハイレベル→ロウレベルといった具合にパルス状に変化すると共に、クランク軸の回転位置が特定位置に来た時には、立ち上がりの間隔が3倍長くなり、その3倍長くなった期間が欠歯信号Kとなる。そして、この欠歯信号Kは、クランク軸が1回転する毎(360°CA毎)に発生する。
【0004】
また、この例において、MPU式のカム角センサから出力される気筒判別用信号Gは、カム軸が1回転する毎(即ちクランク軸が2回転する毎)に、且つ、クランク角信号NEが欠歯信号Kとなって10°CA毎のパルス信号に戻るタイミングからクランク軸が120°回転するまでの期間(120°CA分の期間)内に、ロウレベル→ハイレベル→ロウレベルといった具合にパルス状に変化する。
【0005】
次に、エンジン制御装置においては、信号処理回路が、上記クランク角信号NE及び気筒判別用信号Gと、エンジンを始動させるためのスタータスイッチがオンされた時にハイレベルとなるスタータ信号STAとに基づいて、下記の[S1−1]〜[S1−4]の動作を行う。
【0006】
[S1−1]:まず、信号処理回路は、図18の時刻t1に示すように、スタータ信号STAがハイレベルになると(スタータスイッチがオンされると)、クランク角信号NE中における欠歯信号Kの検出動作(即ち、クランク角信号NEが欠歯信号Kになったことを検出する動作)を開始する。
【0007】
[S1−2]:そして、時刻t2以降に示すように、クランク角信号NEが欠歯信号Kになったことを最初に検出すると、以後、クランク角信号NEを分周して、クランク軸が30°回転する期間を1周期とした(換言すれば、クランク軸が30°回転する毎(30°CA毎)に立ち上がる)第2パルス信号としての30°CA信号NE2を生成し、その30°CA信号NE2をCPUへ出力すると共に、欠歯信号Kを検出してから30°CA信号NE2の所定周期分の期間(この例では、4周期分の期間であり120°CA分の期間)を、カム角センサからの気筒判別用信号Gが立ち上がるか否かの判定区間HKとして設定する。
【0008】
尚、このような判定区間HKを設けているのは、欠歯信号Kが発生するタイミングと気筒判別用信号Gが立ち上がるタイミングとの時間差が、センサの個体差や経時変化、或いは更に、カム軸を操作して吸排気バルブの開閉タイミングを可変にする制御などによって、常に一定とはならないためである。
【0009】
[S1−3]:また、信号処理回路は、図18の時刻t2’,t3’t4’,…,t7’に示すように、上記判定区間HKの終了タイミング毎に30°CA分だけアクティブレベル(この例ではロウレベル)となる基準位置信号TDCを生成して、その基準位置信号TDCをCPUに出力する。よって、この基準位置信号TDCは、クランク軸の回転位置が欠歯信号Kの発生する特定位置から120°進んだ基準位置に来た時に、30°CA分だけロウレベルとなる。
【0010】
[S1−4]:そして更に、信号処理回路は、上記基準位置信号TDCがアクティブレベルとなる毎にレベルが反転する第2気筒判別用信号G2を、以下の手順で生成してCPUへ出力する。
即ち、信号処理回路は、初期状態では第2気筒判別用信号G2をロウレベルにしており、上記判定区間HK内で気筒判別用信号Gが立ち上がった場合には、その判定区間HKの終了時の基準位置信号TDCの立ち下がりタイミングにて、第2気筒判別用信号G2をハイレベルに設定し(図18の時刻t2’,t4’,t6’参照)、逆に、判定区間HK内で気筒判別用信号Gが立ち上がらなかった場合には、その判定区間HKの終了時の基準位置信号TDCの立ち下がりタイミングにて、第2気筒判別用信号G2をロウレベルに設定する(図18の時刻t3’,t5’,t7’参照)。
【0011】
一方、エンジン制御装置において、CPUは、図18の時刻t1に示すように、スタータ信号STAがハイレベルになると、内部のクランクカウンタの値(カウント値)CNTを−1に設定し、以後、信号処理回路からの30°CA信号NE2が立ち上がる毎に起動される処理により、下記の[C1−1]〜[C1−4]の手順でクランクカウンタの値CNTを更新する。尚、クランクカウンタの値CNTは、クランク軸の2回転分の累積回転角度を、30°CA信号NE2の周期に相当する30°を分解能として示すものであり、この例では0から23までの値となる。
【0012】
[C1−1]:信号処理回路からの基準位置信号TDCがハイレベルであり、且つ、現在のクランクカウンタの値CNTが0よりも小さければ(即ち−1であれば)、クランクカウンタの値CNTを変えずに、そのまま処理を終了する。
[C1−2]:信号処理回路からの基準位置信号TDCがハイレベルであり、且つ、現在のクランクカウンタの値CNTが0以上であれば、クランクカウンタの値CNTを1つカウントアップ(+1)させる。
【0013】
[C1−3]:これに対して、信号処理回路からの基準位置信号TDCがロウレベルであれば、信号処理回路からの第2気筒判別用信号G2の論理レベルを読み取り、その読み取った第2気筒判別用信号G2の論理レベルがハイレベルであれば、クランクカウンタの値CNTを強制的に0へと初期化する。
【0014】
[C1−4]:また、信号処理回路からの基準位置信号TDCがロウレベルであり、且つ、第2気筒判別用信号G2の論理レベルもロウレベルであれば、現在のクランクカウンタの値CNT(現在値)が0〜23の中間値である12以上か否かを判定して、現在値が12よりも小さければ、クランクカウンタの値CNTを12にし、逆に現在値が12以上であれば、クランクカウンタの値CNTを0にする、といった補正処理を行う。
【0015】
即ち、CPUは、信号処理回路からの30°CA信号NE2が立ち上がる毎に、下記の表1の規則でクランクカウンタの値CNTを更新している。尚、表1及び後述する他の表において、CNT(n-1) は、今回の処理で更新する前のクランクカウンタの値(現在値)を示しており、CNT(n) は、今回の処理で更新する新たなクランクカウンタの値(今回値)を示している。また、「L」はロウレベルを示し、「H」はハイレベルを示している。
【0016】
【表1】
【0017】
このため、図18の時刻t2〜t2’に示すように、スタータ信号STAがハイレベルになってからの最初の判定区間HKで気筒判別用信号Gが立ち上がったならば、その判定区間HKが終了する時刻t2’にて、信号処理回路からCPUへの基準位置信号TDCがロウレベルになると共に、第2気筒判別用信号G2がハイレベルとなり、CPUでは、クランクカウンタの値CNTが0に初期化される。
【0018】
そして以後、CPUにおいては、クランクカウンタの値CNTが、0→1→2→3…とカウントアップされていき、時刻t3’に示すように、次の欠歯信号Kの発生に伴う判定区間HKの終了タイミングでは、信号処理回路からの第2気筒判別用信号G2が時刻t2’とは反対のロウレベルとなるため、その時刻t3’では、クランクカウンタの値CNTを12にする補正処理が行われる。
【0019】
そして更に、時刻t4’に示すように、次の欠歯信号Kの発生に伴う判定区間HKの終了タイミングでは、第2気筒判別用信号G2が時刻t3’とは反対のハイレベルとなるため、その時刻t4’では、クランクカウンタの値CNTが0に初期化され、その後は、図18の時刻t4’以降に示すように、時刻t2’〜時刻t4’と同様の動作が繰り返される。
【0020】
そして、CPUは、クランクカウンタの値CNTの値に基づいて、点火すべき気筒を判別する。
例えば、エンジンがV型6気筒エンジンであるとすると、クランクカウンタの値CNTが0の時に、第1気筒の上死点前(BTDC)30°CAと判断し、クランクカウンタの値が4の時に、第2気筒のBTDC30°CAと判断し、クランクカウンタの値が8の時に、第3気筒のBTDC30°CAと判断し、クランクカウンタの値が12の時に、第4気筒のBTDC30°CAと判断し、クランクカウンタの値が16の時に、第5気筒のBTDC30°CAと判断し、クランクカウンタの値が20の時に、第6気筒のBTDC30°CAと判断する。
【0021】
尚、CPUが最初に基準位置信号TDC=ロウ且つ第2気筒判別用信号G2=ハイであることを検出した時だけでなく、その後も、同じ条件が成立する毎にクランクカウンタの値CNTを0に初期化するようにしているのは、万一、クランクカウンタの値CNTがノイズ等の影響によって正常値から増減しても、それを速やかに正常値へと戻せるようにするためである。また、CPUが基準位置信号TDC=ロウ且つ第2気筒判別用信号G2=ロウであることを検出した時に、クランクカウンタの値CNTを、その時の値に応じて(詳しくは12以上か否かに応じて)0又は12に補正するようにしているのは、ノイズ等の影響によって信号処理回路からCPUへの30°CA信号NE2が数発欠落したとしても、クランクカウンタの値CNTを正常値へと復帰させることができるようにするためである。
【0022】
ところで、MPU式のカム角センサを用いて図18のような気筒判別処理を行うエンジン制御装置では、カム角センサからエンジン制御装置へ至る配線や、カム角センサ自身に異常が発生して、信号処理回路に入力される気筒判別用信号Gの論理レベルがハイレベル又はロウレベルに固定されても、CPUにてクランクカウンタの値CNTを正しく更新して正常な気筒判別を行うことができる。
【0023】
例えば、図19に示すように、図18の時刻t4の直後に相当する時刻tAにて、カム角センサからの配線やカム角センサ自身に異常が発生し、以後、気筒判別用信号Gに立ち上がりが生じなくなってしまった場合、CPUへの第2気筒判別用信号G2は、信号処理回路の前述した[S1−4]の動作によりロウレベルのままとなる。
【0024】
すると、CPUにおいては、クランクカウンタの値CNTに対して、上記[C1−3]の強制的な0への初期化は行われず、上記[C1−2]のカウントアップと上記[C1−4]の補正処理だけが行われることとなるため、図19に示すように、クランクカウンタの値CNTは図18の正常時と同様に0〜23の範囲で周回されて、気筒判別を正しく行うことができる。尚、図19の時刻t4’,t6’において、クランクカウンタの値CNTは、上記[C1−4]の補正処理により、その時の現在値に応じて0に補正されている。
【0025】
しかしながら、このようなMPU式のカム角センサを用いたエンジン制御装置では、スタータスイッチがオンされてから早期に気筒判別を行うことができないという欠点がある。
つまり、スタータスイッチがオンされてから最初に欠歯信号Kが発生した際の判定区間HKにて、仮にカム角センサからの気筒判別用信号Gに立ち上がりが発生したとしても、その判定区間HKが終了した時点(図18の時刻t2’)でしかクランクカウンタのカウント動作を開始することができず、その分、気筒判別が遅れてしまい、エンジンの始動性を向上させるのに限界が生じる。
【0026】
このため、近年では、カム角センサとして、カム軸の回転位置に応じて出力レベルがハイレベルとロウレベルとに変化する磁気抵抗素子(MRE)式のセンサを採用する方向に移行している。
そこで次に、カム角センサとして、MRE式のセンサを用いた場合の気筒判別方法の従来例について、図20を用いて説明する。
【0027】
まず、図20の例において、クランク角センサから出力されるクランク角信号NEは、図18の場合と同じであるが、MRE式のカム角センサから出力される気筒判別用信号Gは、カム軸の回転位置に応じて、クランク角センサからのクランク角信号NEがパルス信号となっている期間中に論理レベルが1回反転するようになっている。このため、気筒判別用信号Gは、クランク軸が2回転する期間(720°CAの期間)を1周期とし、クランク角信号NEが欠歯信号Kとなるタイミングでは、その各タイミング毎に交互に異なった論理レベルとなる。
【0028】
次に、エンジン制御装置においては、信号処理回路が、上記クランク角信号NE及び気筒判別用信号Gと、スタータ信号STAとに基づいて、下記の[S2−1]〜[S2−4]の動作を行う。
[S2−1]:まず、MRE式のカム角センサを用いた場合でも、信号処理回路は、図20の時刻t1に示す如くスタータ信号STAに立ち上がりが生じると、クランク角信号NE中における欠歯信号Kの検出動作を開始する。
【0029】
[S2−2]:そして、この場合でも、信号処理回路は、図20の時刻t2以降に示すように、クランク角信号NEが欠歯信号Kになったことを最初に検出すると、以後、クランク角信号NEを分周して、30°CA毎に立ち上がる第2パルス信号としての30°CA信号NE2を生成し、その30°CA信号NE2をCPUへ出力する。
【0030】
[S2−3]:また、信号処理回路は、図20の時刻t2’,t3’t4’,…,t7’に示す如く、欠歯信号Kを検出してから30°CA信号NE2の所定周期分の期間(この例では、4周期分の期間であり120°CA分の期間)が経過する毎に、30°CA分だけアクティブレベル(この例ではロウレベル)となる基準位置信号TDCを生成して、その基準位置信号TDCをCPUに出力する。よって、この場合でも、CPUへの基準位置信号TDCは、クランク軸の回転位置が欠歯信号Kの発生する特定位置から120°進んだ基準位置に来た時に、30°CA分だけロウレベルとなる。
【0031】
[S2−4]:そして更に、信号処理回路は、上記基準位置信号TDCがアクティブレベルとなる毎にレベルが反転する第2気筒判別用信号G2を、以下の手順で生成してCPUへ出力する。
即ち、まず、信号処理回路は、初期状態では第2気筒判別用信号G2をロウレベルにしており、また、図20にて「○」印で示すように、クランク角信号NEが欠歯信号Kになったことを検出する毎に気筒判別用信号Gの論理レベルを読み取る。そして、信号処理回路は、図20の時刻t2に示す如くクランク角信号NEが欠歯信号Kになったことを最初に検出した時に、第2気筒判別用信号G2を、その時に読み取った気筒判別用信号Gの論理レベルと同じレベルに設定し、それ以後は、図20の時刻t2’,t3’,t4’,…,t7’に示す如く、基準位置信号TDCの立ち下がりタイミング毎に、第2気筒判別用信号G2を、そのタイミングの直前の欠歯信号Kの検出時に読み取った気筒判別用信号Gの論理レベルとは反対のレベルに設定する(図20における斜めの点線矢印参照)。
【0032】
このため、図20の例において、信号処理回路からCPUに出力される基準位置信号TDCと第2気筒判別用信号G2は、MPU式のカム角センサを用いた場合(図18)と同様に変化することとなる。尚、図20では、時刻t2で気筒判別用信号Gがロウレベルであるため、第2気筒判別用信号G2は、基準位置信号TDCが最初に立ち下がる時刻t2’までロウレベルのままとなっている。
【0033】
そして、エンジン制御装置において、CPUは、図20の時刻t1に示すように、スタータ信号STAに立ち上がりが生じると、内部のクランクカウンタの値(カウント値)CNTを−1に設定し、以後、信号処理回路からの30°CA信号NE2が立ち上がる毎に起動される処理により、下記の[C2−1]〜[C2−4]の手順でクランクカウンタの値CNTを更新する。尚、この場合においても、クランクカウンタの値CNTは、クランク軸の2回転分の累積回転角度を、30°CA信号NE2の周期に相当する30°を分解能として示すものであり、0から23までの値となる。
【0034】
[C2−1]:信号処理回路からの基準位置信号TDCがハイレベルであり、且つ、現在のクランクカウンタの値CNTが0よりも小さければ(即ち−1であれば)、信号処理回路によって欠歯信号Kが最初に検出されたエンジンの始動時であると判断して、第2気筒判別用信号G2の論理レベルを読み取り、その読み取った第2気筒判別用信号G2の論理レベルがロウレベルであれば、クランクカウンタの値CNTを第1計数開始値としての20に設定し、逆に、第2気筒判別用信号G2の論理レベルがハイレベルであれば、クランクカウンタの値CNTを第2計数開始値としての8に設定する。
【0035】
[C2−2]:信号処理回路からの基準位置信号TDCがハイレベルであり、且つ、現在のクランクカウンタの値CNTが0以上であれば、クランクカウンタの値CNTを1つカウントアップ(+1)させる。
[C2−3]:これに対して、信号処理回路からの基準位置信号TDCがロウレベルであれば、信号処理回路からの第2気筒判別用信号G2の論理レベルを読み取り、その読み取った第2気筒判別用信号G2の論理レベルがハイレベルであれば、クランクカウンタの値CNTを強制的に0へと初期化する。
【0036】
[C2−4]:また、信号処理回路からの基準位置信号TDCがロウレベルであり、且つ、第2気筒判別用信号G2の論理レベルもロウレベルであれば、現在のクランクカウンタの値CNT(現在値)が0〜23の中間値である12以上か否かを判定して、現在値が12よりも小さければ、クランクカウンタの値CNTを12にし、逆に現在値が12以上であれば、クランクカウンタの値CNTを0にする、といった補正処理を行う。
【0037】
即ち、CPUは、信号処理回路からの30°CA信号NE2が立ち上がる毎に、下記の表2の規則でクランクカウンタの値CNTを更新している。
【0038】
【表2】
【0039】
つまり、上記[C2−2]〜[C2−4]の処理は、MPU式のカム角センサを用いた場合の前述した[C1−2]〜[C1−4]と同じであり、MRE式のカム角センサを用いる場合、CPUでの処理には、表2にて「※」印を付した上記[C2−1]の始動時用処理が追加される。
【0040】
このため、図20の時刻t2に示すように、スタータ信号STAがハイレベルになってから最初の欠歯信号Kの発生タイミングで、気筒判別用信号Gがロウレベルであったならば、信号処理回路からCPUへの第2気筒判別用信号G2もロウレベルとなるため、信号処理回路による30°CA信号NE2の出力開始に伴い、CPUでは、上記[C2−1]の処理によりクランクカウンタの値CNTが20に設定される。
【0041】
そして以後、CPUにおいては、クランクカウンタの値CNTが、信号処理回路からの30°CA信号NE2が立ち上がる毎に20→21→22…とカウントアップされていき、時刻t2’に示す如く基準位置信号TDC=ロウ且つ第2気筒判別用信号G2=ハイになった時には、上記[C2−3]の処理によりクランクカウンタの値CNTが0に初期化される。また、時刻t3’に示す如く基準位置信号TDC=ロウ且つ第2気筒判別用信号G2=ロウになった時には、上記[C2−4]の処理により、クランクカウンタの値CNTが、その時の現在値に応じて12又は0(図20の例では12)に補正され、その後、時刻t4’に示す如く、再び基準位置信号TDC=ロウ且つ第2気筒判別用信号G2=ハイになると、クランクカウンタの値CNTは上記[C2−4]の処理により0に初期化される。
【0042】
その後は、図20の時刻t4’以降に示すように、時刻t2’〜時刻t4’と同様の動作が繰り返される。
そして、CPUは、MPU式のカム角センサを用いた場合と同様に、クランクカウンタの値CNTの値に基づいて、点火すべき気筒を判別する。
【0043】
以上のようなMRE式のカム角センサを用いたエンジン制御装置によれば、そのカム角センサから出力される気筒判別用信号Gのレベルを、クランク角信号NEにおける欠歯信号Kの検出時に読み取って、気筒判別を行うようにしているため、スタータスイッチがオンされてクランク角信号NEが最初に欠歯信号Kとなるタイミングから、クランクカウンタの値CNTを確定させて早期に気筒判別を行うことができ、その結果、エンジンの始動性を向上させることができる。
【0044】
【発明が解決しようとする課題】
しかしながら、図20を用いて説明したエンジン制御装置では、CPU側の処理として上記[C2−1]の始動時用処理を追加するだけで早期の気筒判別が可能となるものの、カム角センサからの配線やカム角センサ自身に異常が発生して、信号処理回路に入力される気筒判別用信号Gの論理レベルがロウレベルに固定されてしまうと、クランクカウンタの値CNTが360°CA毎に0へと強制的に初期化されてしまい、気筒判別を正しく行うことができないという問題がある。
【0045】
例えば、図20を用いて説明したエンジン制御装置において、信号処理回路に入力される気筒判別用信号Gの論理レベルがハイレベルに固定された場合には、CPUへの第2気筒判別用信号G2がロウレベルのままとなるため、図18を用いて説明したエンジン制御装置(MPU式のカム角センサを用いたエンジン制御装置)の場合と同様に、CPUにおいては、クランクカウンタの値CNTに対して上記[C2−3]の強制的な0への初期化は行われず、上記[C2−2]のカウントアップと上記[C2−4]の補正処理だけが行われることとなるため、クランクカウンタの値CNTは図20の正常時と同様に0〜23の範囲で周回されて、気筒判別を正しく行うことができる。
【0046】
これに対して、図21に例示するように、例えば図20の時刻t4の直後に相当する時刻tBにて、カム角センサからの配線やカム角センサ自身に異常が発生し、気筒判別用信号Gがロウレベルに固定されてしまった場合には、CPUへの第2気筒判別用信号G2が時刻t4’からハイレベルのままとなるため、その後、CPUでは、信号処理回路からの基準位置信号TDCがロウレベルとなる360°CA毎(図21の時刻t5’,t6’,t7’)に、クランクカウンタの値CNTが誤って0に初期化されてしまい、クランクカウンタの値CNTの連続性が損なわれて、正しく気筒判別することができなくなってしまう。
【0047】
本発明は、こうした問題に鑑みなされたものであり、気筒判別用信号のレベルを読み取ることで早期気筒判別を行うエンジン制御装置において、気筒判別用信号を出力するセンサやその配線に異常が生じても、気筒判別を正しく行うことができるようにすることを目的としている。
【0048】
【課題を解決するための手段、及び発明の効果】
上記目的を達成するためになされた請求項1に記載のエンジン制御装置は、信号処理回路と、その信号処理回路から出力される信号を入力して、エンジンを制御するマイクロコンピュータとを備えており、信号処理回路には、エンジンのクランク軸の回転に応じて第1の信号出力手段から出力されるクランク角信号と、クランク軸の回転に対し1/2の比率で回転する回転軸の回転に応じて第2の信号出力手段から出力される気筒判別用信号とが入力される。
【0049】
そして、第1の信号出力手段から出力されるクランク角信号は、クランク軸の回転位置が予め設定された1つの特定位置でない時には、クランク軸が所定の単位角度回転する期間を1周期としたパルス信号となり、クランク軸の回転位置が前記特定位置に来た時には、クランク軸が前記単位角度よりも大きい所定角度回転する期間を1周期とした欠歯信号となる。
【0050】
また、第2の信号出力手段から出力される気筒判別用信号は、クランク角信号が欠歯信号となるタイミングでは、その各タイミング毎に交互に異なった論理レベルとなる。
【0051】
ここで、信号処理回路は、クランク角信号が欠歯信号になったことを最初に検出すると、以後、そのクランク角信号に基づいて、クランク軸が前記単位角度よりも大きい第2の単位角度回転する期間を1周期とした第2パルス信号と、該第2パルス信号に同期し且つクランク軸の回転位置が所定の基準位置に来た時にアクティブレベルとなる基準位置信号とを、マイクロコンピュータへ出力する。そして更に、信号処理回路は、クランク角信号が欠歯信号になったことを検出する毎に上記気筒判別用信号の論理レベルを読み取って、その読み取った論理レベルに応じて出力レベルを設定することにより、上記基準位置信号がアクティブレベルとなる毎にレベルが反転する第2気筒判別用信号をマイクロコンピュータへ出力する。
【0052】
そして、マイクロコンピュータでは、信号処理回路から第2パルス信号の出力が開始されると、カウント手段が、信号処理回路からの第2気筒判別用信号の論理レベルを読み取って、前記第2の単位角度を分解能としてクランク軸の2回転分の累積回転角度を示すカウント値を、その読み取った第2気筒判別用信号の論理レベルに応じた計数開始値に設定し、以後、前記カウント値を、信号処理回路からの第2パルス信号が発生する毎に累積的に更新して、そのカウント値をクランク軸の2回転分(720°CA分)に相当する値の範囲で周回させる。
【0053】
また、マイクロコンピュータでは、信号処理回路からの基準位置信号がアクティブレベルとなる毎に、レベル読取手段が、上記第2気筒判別用信号の論理レベルを読み取り、初期化手段が、レベル読取手段によって第2気筒判別用信号の論理レベルが読み取られると、その読み取られた論理レベルに応じて、前記カウント値を所定値へと強制的に初期化する。
【0054】
そして、マイクロコンピュータは、前記カウント値に基づいてエンジンの気筒判別を行う。
ここで更に、請求項1に記載のエンジン制御装置では、マイクロコンピュータが初期化制御手段とカウント値補正手段を備えている。そして、初期化制御手段は、上記レベル読取手段によって今回読み取られた第2気筒判別用信号の論理レベルが、そのレベル読取手段によって前回読み取られた論理レベルから変化しているか否かを判定し、変化していると判定した場合に、上記初期化手段の動作(即ち、レベル読取手段により今回読み取られた第2気筒判別用信号の論理レベルに応じてカウント値を所定値へと強制的に初期化する動作)を許可する。また、その初期化制御手段により第2気筒判別用信号の論理レベルが変化していないと判定された場合(即ち、初期化手段の動作が許可されずに禁止される場合)には、カウント値補正手段が、前記カウント値に基づき該カウント値を所定の値に補正する。
【0055】
つまり、請求項1に記載のエンジン制御装置では、図20を用いて説明したのと同様の気筒判別方法を実施している。このため、マイクロコンピュータは、第1の信号出力手段からのクランク角信号中に欠歯信号が最初に発生した時点から気筒判別を行うことができるのであるが、前述したように、第2の信号出力手段やその手段からの配線に異常が発生して、気筒判別用信号の論理レベルが固定されてしまうと、信号処理回路からマイクロコンピュータへの第2気筒判別用信号の論理レベルも固定され、その結果、信号処理回路からマイクロコンピュータへの基準位置信号がアクティブレベルとなる360°CA毎に、前記カウント値が強制的に同じ値へと初期化されてしまい、正しく気筒判別することができなくなってしまう。
【0056】
そこで、請求項1に記載のエンジン制御装置では、初期化制御手段を設け、その初期化制御手段が、レベル読取手段によって今回読み取られた第2気筒判別用信号の論理レベルと、レベル読取手段によって前回読み取られた第2気筒判別用信号の論理レベルとが異なっているか否かを判定して、異なっていると判定した場合に、上記初期化手段の動作を許可するようにしている。換言すれれば、レベル読取手段によって今回読み取られた論理レベルと、そのレベル読取手段によって前回読み取られた論理レベルとが同じであると判定した場合には、初期化手段の動作を禁止するようにしている。
【0057】
このため、請求項1に記載のエンジン制御装置によれば、第2の信号出力手段自身やその手段からの配線に異常が発生して、信号処理回路への気筒判別用信号の論理レベルが固定されてしまっても、マイクロコンピュータ側では、気筒判別用のカウント値を、カウント手段によって該カウント値の連続性が維持されるように周回させることができ、正しく気筒判別することができるようになる。
【0058】
尚、請求項1に記載のエンジン制御装置において、マイクロコンピュータは、レベル読取手段によって今回読み取られた論理レベルと前回読み取られた論理レベルとが同じであると、初期化制御手段により判定された場合に、異常が発生したと判断して、何等かのフェイルセーフ処理を行うようにすることもできる。
【0059】
次に、請求項2に記載のエンジン制御装置も、信号処理回路と、その信号処理回路から出力される信号を入力してエンジンを制御するマイクロコンピュータとを備えており、信号処理回路には、請求項1に記載のエンジン制御装置と同様の、第1の信号出力手段からのクランク角信号と第2の信号出力手段からの気筒判別用信号とが入力される。
【0060】
そして、信号処理回路は、クランク角信号が欠歯信号になったことを最初に検出すると、以後、そのクランク角信号に基づいて、クランク軸が前記単位角度(即ち、クランク角信号におけるパルス信号の1周期に相当する角度)よりも大きい第2の単位角度回転する期間を1周期とした第2パルス信号と、該第2パルス信号に同期し且つクランク軸の回転位置が所定の基準位置に来た時にアクティブレベルとなる基準位置信号とを、マイクロコンピュータへ出力する。そして更に、信号処理回路は、クランク角信号が欠歯信号になったことを検出する毎に上記気筒判別用信号の論理レベルを読み取って、その読み取った論理レベルに応じて出力レベルを設定することにより、上記基準位置信号がアクティブレベルとなる毎にレベルが反転する第2気筒判別用信号をマイクロコンピュータへ出力する。
【0061】
一方、請求項2に記載のエンジン制御装置においても、マイクロコンピュータでは、信号処理回路から第2パルス信号の出力が開始されると、カウント手段が、信号処理回路からの第2気筒判別用信号の論理レベルを読み取って、前記第2の単位角度を分解能としてクランク軸の2回転分の累積回転角度を示すカウント値を、その読み取った第2気筒判別用信号の論理レベルに応じた計数開始値に設定し、以後、前記カウント値を、信号処理回路からの第2パルス信号が発生する毎に累積的に更新して、そのカウント値をクランク軸の2回転分に相当する値の範囲で周回させ、また、レベル読取手段が、信号処理回路からの基準位置信号がアクティブレベルとなる毎に上記第2気筒判別用信号の論理レベルを読み取る。
【0062】
また、マイクロコンピュータでは、レベル読取手段によって第2気筒判別用信号の論理レベルが読み取られると、レベル判定手段が、そのレベル読取手段によって読み取られた論理レベルがハイレベルとロウレベルとのうちの何れかに設定された特定レベルであるか否かを判定する。そして、そのレベル判定手段により前記読み取られた論理レベルが特定レベルであると判定された場合には、初期化手段が、前記カウント値を所定値へと強制的に初期化する。また、レベル判定手段により前記読み取られた論理レベルが特定レベルではないと判定された場合には、カウント値補正手段が、前記カウント値に基づき該カウント値を所定の値に補正する。
【0063】
そして、マイクロコンピュータは、前記カウント値に基づいてエンジンの気筒判別を行う。
つまり、請求項2に記載のエンジン制御装置では、図20を用いて説明したのと同様の気筒判別方法を実施しており、特にマイクロコンピュータは、信号処理回路からの基準位置信号がアクティブレベルになった際の第2気筒判別用信号の論理レベルが、ハイ又はロウのうちの特定レベル(図20の例ではハイレベル)である場合に、カウント値を強制的に所定値(図20の例では0)へと初期化するようにしている。このため、前述したように、第2の信号出力手段からの配線やその第2の信号出力手段自身の異常によって、信号処理回路への気筒判別用信号の論理レベルが、マイクロコンピュータへの第2気筒判別用信号の論理レベルを上記特定レベルにする方のレベルに固定されて、その第2気筒判別用信号の論理レベルが上記特定レベルのままになってしまうと、信号処理回路からマイクロコンピュータへの基準位置信号がアクティブレベルとなる360°CA毎に、カウント値が強制的に同じ値へと初期化されてしまい、正しく気筒判別することができなくなってしまう。
【0064】
そこで特に、請求項2に記載のエンジン制御装置においては、信号処理回路が、欠歯信号の発生タイミングで今回読み取った気筒判別用信号の論理レベルが、前回に読み取った気筒判別用信号の論理レベルから変化しているか否かを判定して、変化していないと判定した場合には、マイクロコンピュータへの第2気筒判別用信号の出力レベルを、前記特定レベルとは反対のレベルに固定するようにしている。
【0065】
よって、請求項2に記載のエンジン制御装置では、第2の信号出力手段から信号処理回路への気筒判別用信号の論理レベルがハイとロウの何れに固定されても、マイクロコンピュータへの第2気筒判別用信号は上記特定レベルに固定されず、その特定レベルとは反対のレベルに固定されることとなり、その結果、マイクロコンピュータ側では、初期化手段によるカウント値の初期化が行われなくなる。
【0066】
このため、請求項2に記載のエンジン制御装置によっても、第2の信号出力手段自身やその手段からの配線に異常が発生して、信号処理回路への気筒判別用信号の論理レベルが固定されても、マイクロコンピュータ側では、気筒判別用のカウント値を、カウント手段によって該カウント値の連続性が維持されるように周回させることができ、正しく気筒判別することができるようになる。
【0067】
次に、請求項3に記載の信号処理回路は、当該回路からの信号に基づいてエンジンの気筒判別を行い該エンジンを制御するマイクロコンピュータと共に、エンジン制御装置に用いられるものであり、この信号処理回路には、前述した請求項1,2に記載のエンジン制御装置と同様の、第1の信号出力手段からのクランク角信号と第2の信号出力手段からの気筒判別用信号とが入力される。
【0068】
そして、この信号処理回路は、上記クランク角信号に基づいて、クランク軸の回転位置が所定の基準位置に来たことを検出すると共に、クランク軸が前記単位角度(即ち、クランク角信号におけるパルス信号の1周期に相当する角度)よりも大きい第2の単位角度回転する期間を1周期とした第2パルス信号を生成して、その第2パルス信号をマイクロコンピュータへ出力し、更に、クランク角信号が欠歯信号になったことを検出する毎に上記気筒判別用信号の論理レベルを読み取って、その読み取った論理レベルに応じて出力レベルを設定することにより、クランク軸の回転位置が前記基準位置に来たことを検出したタイミング毎にレベルが反転する第2気筒判別用信号をマイクロコンピュータへ出力する。
【0069】
そして特に、この信号処理回路は、今回読み取った気筒判別用信号の論理レベルが、前回に読み取った気筒判別用信号の論理レベルから変化しているか否かを判定して、変化していないと判定した場合には、マイクロコンピュータへの第2気筒判別用信号の出力レベルを、今回読み取った気筒判別用信号の論理レベルに拘わらず、前回の出力レベルとは反対のレベルに設定する。
【0070】
このような請求項3の信号処理回路によれば、第2の信号出力手段からの配線やその第2の信号出力手段自身の異常によって、当該回路への気筒判別用信号の論理レベルがハイとロウの何れに固定されたとしても、マイクロコンピュータへの第2気筒判別用信号は、正常時と同様に、クランク軸の回転位置が基準位置に来る360°CA毎にレベル反転することとなる。
【0071】
よって、第2の信号出力手段からの気筒判別用信号の論理レベルが固定されたとしても、その影響がマイクロコンピュータ側に及ぶことがなく、マイクロコンピュータは正常時と全く同様に正しく気筒判別することができるようになる。
そして更に、マイクロコンピュータ側の気筒判別用処理を設計する際において、当該信号処理回路からの第2気筒判別用信号はクランク軸の回転位置が基準位置に来る毎に必ずレベル反転する、ということを前提にすることができるため、異常に対処するための追加処理を削減でき、その結果、マイクロコンピュータ側の気筒判別用処理を簡単なものにすることができる。
【0072】
【発明の実施の形態】
以下、本発明が適用された実施形態のエンジン制御装置について、図面を用いて説明する。
まず図1は、請求項1の発明が適用された第1実施形態のエンジン制御装置(以下、ECUという)10の構成を表す構成図である。尚、このECU10は、例えばV型6気筒の4サイクルエンジンを制御対象としており、6個の気筒に夫々対応した燃料噴射弁11〜16及び点火コイル21〜26を駆動してエンジンを制御する。そして、このECU10は、前述した図20と同様の要領で気筒判別を行うものである。
【0073】
図1に示すように、本第1実施形態のECU10は、エンジンを制御するための各種処理を行うCPU(マイクロコンピュータ)31と、入力バッファ33,35,37と、A/D変換器39と、出力バッファ41と、信号処理回路43とを備えている。
【0074】
そして、エンジンに取り付けられたクランク角センサ47から出力されるクランク角信号NEが、入力バッファ33を介して信号処理回路43に入力され、また、エンジンに取り付けられたカム角センサ49から出力される気筒判別用信号Gが、入力バッファ35を介して信号処理回路43に入力される。
【0075】
ここで、クランク角センサ47は、第1の信号出力手段に相当するものであり、エンジンのクランク軸に固定されたロータ47aと、そのロータ47aの外周に対向して設けられ、該ロータ47aの外周に10°CAの間隔で形成された歯を検出してパルス信号を出力する光電式やホールIC式の信号出力部47bとからなる。そして、上記ロータ47aの外周には、歯が2個欠損した欠歯部が設けられている。
【0076】
このため、クランク角センサ47から入力バッファ33を介して信号処理回路43に入力されるクランク角信号NEは、前述の図20に示したように、クランク軸が10°回転する毎(10°CA毎)にロウレベル→ハイレベル→ロウレベルといった具合にパルス状に変化すると共に、クランク軸の回転位置が上記ロータ47aの欠歯部に対応する1つの特定位置(即ち、ロータ47aの欠歯部が信号出力部47bに対向する位置)に来た時には、立ち上がりの間隔が3倍長くなる。そして、10°CA毎にパルス状に変化する部分がパルス信号となり、また、立ち上がりの間隔が3倍長くなる(即ちパルス信号が2回欠落する)期間が360°CA毎に発生して、この期間が欠歯信号Kとなっている(図2及び図4参照)。
【0077】
また、カム角センサ49は、第2の信号出力手段に相当するものであり、クランク軸の回転に対し1/2の比率で回転するエンジンのカム軸に固定されたロータ49aと、そのロータ49aの回転に応じて、該ロータ49aが1/2回転する毎(即ち360°CA毎)に論理レベルが反転する気筒判別用信号Gを出力する磁気抵抗素子(MRE)を有した信号出力部49bとからなる。
【0078】
そして、カム角センサ49から入力バッファ35を介して信号処理回路43に入力される気筒判別用信号Gは、前述の図20に示したように、クランク角センサ47からパルス信号が出力されている期間中に論理レベルが1回反転して、クランク角センサ47から上記欠歯信号Kが出力されるタイミングでは、その各タイミング毎に交互に異なった論理レベルとなる。
【0079】
一方、ECU10内のCPU31には、エンジンを始動させるためのスタータスイッチ51がオンされた時にハイレベルとなるスタータ信号STAや、アクセルペダルが全閉の時にオンされるアイドルスイッチ53からの信号など、エンジンの運転状態を示す各種スイッチ信号が、入力バッファ37を介して入力される。
【0080】
そして更に、CPU31には、吸入空気量を検出するエアフロメータ55,スロットル操作量を検出するスロットルセンサ57,及び冷却水温を検出する水温センサ59などの各種センサからの信号が、A/D変換器39を介して入力される。
【0081】
また、信号処理回路43には、入力バッファ37からスタータ信号STAも入力されており、この信号処理回路43は、そのスタータ信号STAと上記クランク角信号NE及び気筒判別用信号Gとに基づいて、後述する手順により、30°CA毎に立ち上がる第2パルス信号としての30°CA信号NE2と、クランク軸の回転位置が欠歯信号Kの発生する特定位置から120°進んだ基準位置に来た時に30°CA分だけアクティブレベル(本実施形態ではロウレベル)となる基準位置信号TDCと、その基準位置信号TDCがアクティブレベルとなる毎にレベルが反転する第2気筒判別用信号G2とを生成して、CPU31へ出力する。
【0082】
そして、CPU31は、信号処理回路43から出力される上記信号NE2,TDC,G2に基づいて気筒判別を行うと共に、その判別結果と上記各種スイッチ信号及び上記各種センサからの信号とに基づいて、エンジンの最適な点火時期や燃料噴射時期及び噴射量等を演算し、その演算結果に基づき、出力バッファ41を介して、各気筒の燃料噴射弁11〜16を駆動すると共に、イグナイタ61を駆動して所定の気筒の点火コイル21〜26に通電する。
【0083】
次に、信号処理回路43は、クランク角センサ47から欠歯信号Kが出力されたこと(即ち、クランク角信号NEが欠歯信号Kになったこと)を検出する欠歯検出部63と、この欠歯検出部63により上記欠歯信号Kの発生が検出された時に、カム角センサ49からの気筒判別用信号Gの論理レベルを読み取るレベル読取部65と、クランク角センサ47から出力されるクランク角信号NE中のパルス信号から30°CA信号NE2を生成する30°CA信号生成部67と、それら各部63,65,67と連携して上記基準位置信号TDC及び第2気筒判別用信号G2を生成する判別用信号生成部69とを備えている。
【0084】
尚、前述したように、クランク角センサ47からは、クランク軸の回転に伴いロータ47aの欠歯部が信号出力部47bに対向する位置に来た時に、欠歯信号Kが出力されるため、本実施形態では、その欠歯信号Kの検出を“欠歯検出”ともいっている。
【0085】
そして、欠歯検出部63は、スタータ信号STAに立ち上がりが生じると(スタータスイッチがオンされると)、以後、図2に示す手順により、クランク角信号NE中における欠歯信号Kの検出を行う。
即ち、図2に示すように、まず欠歯検出部63は、クランク角信号NEがロウレベルからハイレベルへと立ち上がる毎に、計時用のタイマ値T2を0にリセットすると共に、そのリセットする直前のタイマ値T2から、クランク角信号NEの最新の立ち上がり間隔T1を計測している。そして更に、図2における一点鎖線に示す如く、上記計測した立ち上がり間隔T1をN倍して、欠歯信号検出用のしきい値時間(N×T1)を設定する。
【0086】
ここで、本実施形態では、前述したように、クランク角センサ47のロータ47aに設けられた欠歯部が、歯を2個欠損させたものであり、欠歯信号Kは、10°CA毎のパルス信号が2回欠落する期間であるため、上記Nは、2〜3の間の例えば2.5に設定されている。
【0087】
そして、欠歯検出部63は、上記タイマ値T2がしきい値時間(N×T1)を越えた時、即ち、図2の例では時刻taであり、クランク角信号NEの前回の立ち上がりタイミングから、その時に設定しているしきい値時間(N×T1)が経過しても、クランク角信号NEが立ち上がらないことを検出した時に、クランク角センサ47から欠歯信号Kが出力されたと判断して、欠歯検出信号FKを一定の期間だけハイレベルにする。
【0088】
尚、欠歯検出信号FKは、例えばクランク角信号NEが次に立ち下がったタイミングで、ロウレベルに戻される。また、この欠歯検出信号FKのハイレベルへの立ち上がりにより、レベル読取部65、30°CA信号生成部67、及び判別用信号生成部69が、欠歯信号Kの発生を知ることとなる。
【0089】
そして、レベル読取部65は、図2に示すように、上記欠歯検出信号FKが立ち上がると、そのタイミングで、カム角センサ49からの気筒判別用信号Gの論理レベルを読み取り、その読み取った気筒判別用信号Gの論理レベル(以下、読取レベルともいう)Grを記憶する。尚、この読取レベルGrは、後述するように、判別用信号生成部69によって参照される。
【0090】
次に、30°CA信号生成部67は、スタータ信号STAがハイレベルになってから上記欠歯検出信号FKが最初に立ち上がると、内部カウンタの値を0にリセットして、以後、クランク角信号NEが立ち上がる毎に図3のフローチャートで示す動作を行うことにより、30°CA信号NE2を生成する。
【0091】
即ち、図3に示すように、30°CA信号生成部67は、クランク角信号NEが立ち上がると、まず、上記内部カウンタの値を1インクリメントし(S110)、次に、その内部カウンタの値が34になったか否かを判定する(S120)。
【0092】
そして、内部カウンタの値が34になっていなければ(S120:NO)、内部カウンタの値を3で割った余りが1であるか否かを判定して(S130)、1であれば(S130:YES)、30°CA信号NE2をハイレベルにする(S140)。また、内部カウンタの値を3で割った余りが1でなければ(S130:NO)、内部カウンタの値を3で割った余りが0であるか否かを判定して(S150)、0であれば(S150:YES)、30°CA信号NE2をロウレベルにし(S160)、0でなければ(S150:NO)、30°CA信号NE2の論理レベルを変えることなく、クランク角信号NEの次の立ち上がりを待つ。
【0093】
一方、内部カウンタの値が34になった場合には(S120:YES)、その時点から一定時間後に30°CA信号NE2がロウレベルとなるように内部タイマをセットすると共に(S170)、内部カウンタの値を0に戻し(S180)、更に、30°CA信号NE2をハイレベルにする(S140)。このため、内部カウンタの値が34から0に戻された場合、30°CA信号NE2は、ロウレベルからハイレベルになると共に、上記内部タイマによる一定時間後にロウレベルへ戻ることとなる。
【0094】
つまり、30°CA信号生成部67は、図4に示すように、欠歯信号Kの発生時を起点として、クランク角信号NEが立ち上がる毎に、内部カウンタの値を1ずつカウントアップさせると共に、その値が34になると0に戻すようにしている。そして更に、内部カウンタの値が1〜33の場合には、その内部タイマの値を3で割った余りが1と2の場合に30°CA信号NE2をハイレベルにし、内部タイマの値を3で割った余りが0の場合に30°CA信号NE2をロウレベルにし、また、内部カウンタの値を34から0に戻した時には、30°CA信号NE2を上記内部タイマによる一定時間だけハイレベルにするようにしている。
【0095】
そして、30°CA信号生成部67は、こうした動作により、クランク角信号NEを分周して、そのクランク角信号NEに同期し且つ30°CA毎に立ち上がる30°CA信号NE2を生成している。
次に、判別用信号生成部69は、スタータ信号STAが立ち上がると、CPU31への基準位置信号TDCをハイレベルに初期設定すると共に、CPU31への第2気筒判別用信号G2をロウレベルに初期設定する(図20参照)。
【0096】
そして、判別用信号生成部69は、以後、30°CA信号生成部67で生成される30°CA信号NE2の立ち上がりタイミング毎に図5のフローチャートで示す処理を行うことにより、基準位置信号TDC及び第2気筒判別用信号G2のレベルを変化させる。尚、図5において、G(n) は、レベル読取部65によって今回読み取られた気筒判別用信号Gの最新の読取レベルGrを格納するための1ビットの記憶部である。
【0097】
図5に示すように、判別用信号生成部69は、30°CA信号NE2が立ち上がると、まずS210にて、欠歯検出部63からの欠歯検出信号FKがハイレベルであるか否かを判定することにより、欠歯検出部63によってクランク角信号NE中の欠歯信号Kが検出された欠歯検出タイミングであるか否かを判断する。
【0098】
ここで、欠歯検出タイミングであると判断した場合には、今回30°CA信号NE2が立ち上がる直前に、レベル読取部65によって気筒判別用信号Gの論理レベルが読み取られているため、続くS220にて、レベル読取部65により今回読み取られた気筒判別用信号Gの読取レベルGrをG(n) に格納し、その後、S230に進む。また、上記S210にて欠歯検出タイミングではないと判断した場合には、そのままS230に移行する。
【0099】
次に、判別用信号生成部69は、S230にて、スタータ信号STAが立ち上がってから30°CA信号NE2が最初に立ち上がったタイミングであるか否かを判定し、肯定判定した場合には、クランク角信号NE中に欠歯信号Kが最初に発生したエンジンの始動直後であると判断して、S240に進む。そして、このS240にて、CPU31への第2気筒判別用信号G2の出力レベルを、G(n) 内の論理レベルに設定して、処理を終了する。
【0100】
このため、スタータ信号STAが立ち上がってからクランク角信号NE中に欠歯信号Kが最初に発生すると、CPU31への第2気筒判別用信号G2は、その時の気筒判別用信号Gの論理レベルと同じレベルになる。
一方、判別用信号生成部69は、上記S230にて、エンジンの始動直後ではないと否定判定した場合には、S250に移行して、基準位置信号TDCをロウレベルにするタイミング(以下、TDC出力タイミングという)であるか否かを判定する。尚、TDC出力タイミングであるか否かは、上記S210で欠歯検出タイミングであると判断した時から、30°CA信号NE2が4回立ち上がったタイミングであるか否かによって判定する。
【0101】
そして、TDC出力タイミングではないと判定した場合には、そのまま処理を終了するが、TDC出力タイミングであると判定した場合には、S260に進んで、CPU31への基準位置信号TDCを、30°CA信号NE2が次に立ち上がるまでの間(即ち、次回の処理開始時までの間)、ロウレベルにする。そして更に、続くS270にて、CPU31への第2気筒判別用信号G2の出力レベルを、G(n) 内の論理レベルとは反対のレベルに設定して、処理を終了する。
【0102】
このため、第2気筒判別用信号G2の論理レベルは、基準位置信号TDCがロウレベルとなるタイミング毎に、そのタイミングの直前の欠歯検出時に読み取った気筒判別用信号Gの論理レベルとは反対のレベルに設定される。
つまり、信号処理回路43は、前述した[S2−1]〜[S2−4]と同じ動作を行うことにより、基準位置信号TDCと第2気筒判別用信号G2とを生成してCPU31に出力している。
【0103】
このため、本第1実施形態のECU10において、カム角センサ49から信号処理回路43へ入力される気筒判別用信号Gが正常である場合、CPU31への基準位置信号TDCと第2気筒判別用信号G2の各論理レベルは、前述した図20と全く同様に変化することとなる。
【0104】
一方、本第1実施形態のECU10において、CPU31は、スタータ信号STAに立ち上がりが生じると、内部のクランクカウンタの値(カウント値に相当)CNTを−1に設定し、以後、信号処理回路43からの30°CA信号NE2が立ち上がる毎に図6の処理を行って、クランクカウンタの値CNTを更新していく。尚、本実施形態においても、クランクカウンタの値CNTは、クランク軸の2回転分の累積回転角度を、30°CA信号NE2の周期に相当する30°を分解能として示すものであり、0から23までの値となる。
【0105】
図6に示すように、CPU31は、信号処理回路43からの30°CA信号NE2が立ち上がると、まずS300にて、現在のクランクカウンタの値CNTが0よりも小さいか否かを判定し、0よりも小さければ(即ち−1ならば)、信号処理回路43によって欠歯信号Kが最初に検出されたエンジンの始動時であると判断して、S305に進む。尚、この状態において、信号処理回路43からの基準位置信号TDCはハイレベルになっている。
【0106】
そして、S305では、信号処理回路43からの第2気筒判別用信号G2の論理レベルを読み取って、その読み取った論理レベルがハイレベルであるか否かを判定し、ハイレベルでなければ(即ちロウレベルであれば)、S310に進んで、クランクカウンタの値CNTを第1計数開始値としての20に設定し、その後、処理を終了する。また、上記S305にて、読み取った第2気筒判別用信号G2の論理レベルがハイレベルであると判定した場合には、S315に移行して、クランクカウンタの値CNTを第2計数開始値としての8に設定し、その後、処理を終了する。
【0107】
一方、上記S300にて、現在のクランクカウンタの値CNTが0より小さくない(即ち0以上である)と判定した場合には、S320に移行して、信号処理回路43からの基準位置信号TDCがロウレベルであるか否かを判定する。
ここで、基準位置信号TDCがロウレベルではない(即ちハイレベルである)と判定した場合には、S325に進んで、クランクカウンタの値CNTを1つカウントアップし、続くS330にて、クランクカウンタの値CNTが24以上になったか否かを判定する。そして、クランクカウンタの値CNTが24以上であれば、続くS335にて、クランクカウンタの値CNTを0に戻してから処理を終了し、また、上記S330でクランクカウンタの値CNTが24以上でないと判定した場合には、そのまま処理を終了する。
【0108】
また、上記S320にて、基準位置信号TDCがロウレベルであると判定した場合には、S337に移行して、信号処理回路43からの第2気筒判別用信号G2の論理レベルを読み取る。
そして、次のS340にて、上記S337で今回読み取られた第2気筒判別用信号G2の論理レベルG2(n) と、上記S337で前回読み取られた第2気筒判別用信号G2の論理レベルG2(n-1) とが一致しているか否かを判定し、両論理レベルG2(n) ,G2(n-1) が不一致の場合には、今回読み取られた論理レベルG2(n) が前回読み取られた論理レベルG2(n-1) から変化している(即ち、第2気筒判別用信号G2がレベル反転している)と判断して、S345に進む。
【0109】
尚、スタータ信号STAが立ち上がってから、上記S320にて基準位置信号TDCがロウレベルであると最初に判定した場合には、第2気筒判別用信号G2の前回の読み取りレベルG2(n-1) が存在しないため、上記340では、前回の読み取りレベルG2(n-1) を今回の読み取りレベルG2(n) とは反対の論理レベルとして扱う。つまり、この場合には、両論理レベルG2(n) ,G2(n-1) が不一致であると判定する。
【0110】
S345では、上記S337で今回読み取られた第2気筒判別用信号G2の論理レベルG2(n) がハイレベルであるか否かを判定し、ハイレベルであれば、続くS350にて、クランクカウンタの値CNTを強制的に0へと初期化し、その後、処理を終了する。また、上記S345で論理レベルG2(n) がハイレベルではない(即ちロウレベルである)と判定した場合には、S355に移行して、クランクカウンタの値CNTを強制的に12へと初期化し、その後、処理を終了する。
【0111】
一方、上記S340にて、S337で今回読み取られた第2気筒判別用信号G2の論理レベルG2(n) と、S337で前回読み取られた第2気筒判別用信号G2の論理レベルG2(n-1) とが一致していると判定した場合には、今回読み取られた論理レベルG2(n) が前回読み取られた論理レベルG2(n-1) から変化していない(即ち、第2気筒判別用信号G2がレベル反転していない)と判断して、S360に進み、クランクカウンタの値CNTに対する以下のS360〜S370の補正処理を行った後、処理を終了する。
【0112】
この補正処理では、まずS360にて、現在のクランクカウンタの値CNT(現在値)が0〜23の中間値である12以上か否かを判定し、現在値が12よりも小さければ、S365にて、クランクカウンタの値CNTを12にし、逆に現在値が12以上であれば、S370にて、クランクカウンタの値CNTを0にする。
【0113】
つまり、CPU31は、信号処理回路43からの30°CA信号NE2が立ち上がる毎に、下記の表3の規則でクランクカウンタの値CNTを更新している。尚、表3において、G2(n-1) は、基準位置信号TDCが前回ロウレベルとなった時の第2気筒判別用信号G2の論理レベルを示している。
【0114】
【表3】
【0115】
具体的には、S300〜S315の処理により、前述した[C2−1]と同じ処理を行い、S300,S320,及びS325の処理により、前述した[C2−2]と同じ処理を行っている。尚、S330及びS335の処理は、クランクカウンタの値CNTを必ず0〜23の値にするガード用の処理である。
【0116】
そして特に、本第1実施形態のCPU31では、前述した[C2−3]及び[C2−4]の処理に代えて、以下の[C3−3]及び[C3−4]の処理を行っている。
[C3−3]:信号処理回路43からの基準位置信号TDCがロウレベルであれば、第2気筒判別用信号G2の論理レベルを読み取る。そして、今回読み取った第2気筒判別用信号G2の論理レベルG2(n) が、前回読み取った第2気筒判別用信号G2の論理レベルG2(n-1) と異なっていれば、クランクカウンタの値CNTを、今回読み取った論理レベルG2(n) に応じて、G2(n) がハイレベルなら強制的に0へと初期化し、G2(n) がロウレベルなら強制的に12へと初期化する。尚、この[C3−3]の動作は、S320,及びS337〜S355の処理によって実現されている。
【0117】
よって、基準位置信号TDCがロウレベルになったタイミングで、第2気筒判別用信号G2がロウレベルからハイレベルに変化した場合、クランクカウンタの値CNTは0に初期化され、また、第2気筒判別用信号G2がハイレベルからロウレベルに変化した場合、クランクカウンタの値CNTは12に初期化される。
【0118】
尚、0と12は、クランク軸の1回転分(360°CA分)に相当する値だけ互いに異なった値であるため、このような初期化によってクランクカウンタの値CNTの連続性を損なうことはない。つまり、上記初期化で設定される値(0と12)は、仮に上記初期化が行われなかったとしても、クランクカウンタの値CNTがなるべき値となっている。
【0119】
[C3−4]:また、信号処理回路43からの基準位置信号TDCがロウレベルでり、且つ、今回読み取った第2気筒判別用信号G2の論理レベルG2(n) と前回読み取った第2気筒判別用信号G2の論理レベルG2(n-1) とが同じであれば、現在のクランクカウンタの値CNT(現在値)が12以上か否かを判定して、現在値が12よりも小さければクランクカウンタの値CNTを12にし、逆に現在値が12以上であればクランクカウンタの値CNTを0にする、といった補正処理を行う。尚、この[C3−4]の動作は、S320,S337,S340,及びS360〜S370の処理によって実現されている。
【0120】
このような本第1実施形態のECU10において、カム角センサ49から信号処理回路43へ入力される気筒判別用信号Gが正常で、信号処理回路43からCPU31への基準位置信号TDCと第2気筒判別用信号G2とが図20のようにレベル変化した場合、CPU31では、クランクカウンタの値CNTが、まず図20の時刻t2にて、S310の処理により20に設定され、その後、信号処理回路からの30°CA信号NE2が立ち上がる毎に、S325の処理によって20→21→22…とカウントアップされていく。そして、図20の時刻t2’にて基準位置信号TDCが最初にロウレベルになると、クランクカウンタの値CNTは、S350の処理により0へと初期化される。
【0121】
以後、クランクカウンタの値CNTは、基準位置信号TDCがハイレベルである期間において、30°CA信号NE2が立ち上がる毎に、S325の処理によって1づつカウントアップされるが、図20の時刻t3’にて基準位置信号TDC=ロウ且つ第2気筒判別用信号G2=ロウになると、この時の第2気筒判別用信号G2の論理レベルは基準位置信号TDCが前回ロウレベルとなった時刻t2’の時の論理レベルと比較して、ハイレベルからロウレベルへと変化しているため、クランクカウンタの値CNTはS355の処理により12へと初期化される。
【0122】
そして、図20の時刻t4’にて基準位置信号TDC=ロウ且つ第2気筒判別用信号G2=ハイになると、この時の第2気筒判別用信号G2の論理レベルは基準位置信号TDCが前回ロウレベルとなった時刻t3’の時の論理レベルと比較して、ロウレベルからハイレベルへと変化しているため、クランクカウンタの値CNTはS350の処理により0へと初期化される。
【0123】
その後、クランクカウンタの値CNTは、30°CA信号NE2が立ち上がる毎に1づつカウントアップされると共に、図20の時刻t5’でS355の処理により12へと初期化され、図20の時刻t6’でS350の処理により0へと初期化され、図20の時刻t7’でS355の処理により12へと初期化される。
【0124】
以後は、こうした動作が繰り返されることにより、クランクカウンタの値CNTは、0〜23の範囲で周回される。
そして、CPU31は、このように周回されるクランクカウンタの値CNTに基づき、「従来の技術」の欄で説明したような要領で点火すべき気筒を判別する。例えば、CNT=0の時に第1気筒のBTDC30°CAと判断し、CNT=4の時に第2気筒のBTDC30°CAと判断し、CNT=8の時に第3気筒のBTDC30°CAと判断し、CNT=12の時に第4気筒のBTDC30°CAと判断し、CNT=16の時に第5気筒のBTDC30°CAと判断し、CNT=20の時に第6気筒のBTDC30°CAと判断する。
【0125】
このような本第1実施形態のECU10によれば、クランク角センサ47からの欠歯信号Kを最初に検出した時点(図20の時刻t2)から、気筒判別を行ってエンジンの制御を開始できるのであるが、図7に示すように、例えば図20の時刻t4の直後に相当する時刻tLにて、カム角センサ49からの配線やカム角センサ49自身に異常が発生し、信号処理回路43への気筒判別用信号Gがロウレベルに固定されてしまった場合には、CPU31への第2気筒判別用信号G2が、信号処理回路43の前述した[S2−4]の動作(特に、図5のS220及びS270の動作)により、時刻t4’以降、ハイレベルのままとなってしまう。また、図8に示すように、例えば図20の時刻t5の直後に相当する時刻tHにて、信号処理回路43への気筒判別用信号Gがハイレベルに固定されてしまった場合には、CPU31への第2気筒判別用信号G2が、時刻t5’以降、ロウレベルのままとなってしまう。
【0126】
そこで、本第1実施形態のECU10では、CPU31が図6のS340〜S370の処理を行うことにより、基準位置信号TDCが前回ロウレベルとなった時に読み取った第2気筒判別用信号G2の論理レベルG2(n-1) と、基準位置信号TDCが今回ロウレベルとなった時に読み取った第2気筒判別用信号G2の論理レベルG2(n) とが一致している場合には、クランクカウンタの値CNTに対して、0又は12への強制的な初期化(S350又はS355)は行わず、現在値に応じた0又は12への補正(S360〜S370)だけを行うようにしている。換言すれば、上記両論理レベルG2(n-1) ,G2(n) が相違している場合にだけ、正常と判断して、クランクカウンタの値CNTを0か12に初期化するようにしている。
【0127】
このため、本第1実施形態のECU10によれば、図7に示すように、基準位置信号TDCがロウレベルとなった時の第2気筒判別用信号G2の論理レベルが連続してハイレベルとなる時刻t5’,t6’t7’において、クランクカウンタの値CNTは、強制的に0へと初期化されず、その各時点での現在値が12以上か否かに応じて0又は12に補正されるだけであり、その結果、クランクカウンタの値CNTの連続性が維持される。また図8に示すように、基準位置信号TDCがロウレベルとなった時の第2気筒判別用信号G2の論理レベルが連続してロウレベルとなる時刻t6’t7’において、クランクカウンタの値CNTは、強制的に12へと初期化されず、その各時点での現在値が12以上か否かに応じて0又は12に補正されるだけであり、この場合にも、クランクカウンタの値CNTの連続性が維持される。
【0128】
つまり、本第1実施形態のECU10によれば、カム角センサ49やカム角センサ49からの配線に異常が生じても、CPU31において、クランクカウンタの値CNTが、前述した図21のようにならず、正しく気筒判別することができるようになる。
【0129】
尚、本第1実施形態のECU10では、CPU31が行う図6の処理のうち、S300〜S335の処理が、請求項1に記載のカウント手段に相当し、S337の処理が、請求項1に記載のレベル読取手段に相当し、S345〜S355の処理が、請求項1に記載の初期化手段に相当している。そして、S340の処理が、請求項1に記載の初期化制御手段に相当し、S360〜S370の処理が、請求項1に記載のカウント値補正手段に相当している。
【0130】
ところで、上記第1実施形態において、CPU31が行う図6の処理は、下記の▲1▼又は▲2▼のように変更しても良い。
▲1▼:CPU31は、図6のS345で否定判定した場合に、S355の処理を行わず、S360の処理へ移行する。このようにすれば、クランクカウンタの値CNTは、基準位置信号TDCがロウレベルになったタイミングにおいて、第2気筒判別用信号G2がロウレベルからハイレベルに変化した場合に、0へと初期化され、それ以外の場合には、その時の現在値が12以上か否かに応じて0又は12に補正されることとなる。
【0131】
▲2▼:CPU31は、図6のS345で肯定判定した場合に、S350の処理を行わず、S360の処理へ移行する。このようにすれば、クランクカウンタの値CNTは、基準位置信号TDCがロウレベルになったタイミングにおいて、第2気筒判別用信号G2がハイレベルからロウレベルに変化した場合に、12へと初期化され、それ以外の場合には、その時の現在値が12以上か否かに応じて0又は12に補正されることとなる。
【0132】
そして、上記▲1▼又は▲2▼のようにしても、前述した第1実施形態と同様の効果を得ることができる。
一方、上記第1実施形態のCPU31において、今回読み取った第2気筒判別用信号G2の論理レベルG2(n) と前回読み取った第2気筒判別用信号G2の論理レベルG2(n-1) とが一致しているとS340で判定した場合には、カム角センサ49に異常が発生したと判断して、何等かのフェイルセーフ処理を行うようにすることもできる。また更に、上記両論理レベルG2(n) ,G2(n-1) が一致していると判定した時に、今回読み取った論理レベルG2(n) がハイレベルであれば、カム角センサ49からの気筒判別用信号Gがロウレベルに固定されていると判断し、逆に今回読み取った論理レベルG2(n) がロウレベルであれば、カム角センサ49からの気筒判別用信号Gがハイレベルに固定されていると判断する異常モード判別手段を設ければ、異常の状況に一層適したフェイルセーフ処理が可能となる。
【0133】
次に、請求項2の発明が適用された第2実施形態のエンジン制御装置(ECU)について、図9〜図12を用いて説明する。尚、本第2実施形態のECUも、図1に示した第1実施形態のECU10と同様の構成要素からなるため、ここでは、それら構成要素及び各信号について、第1実施形態の場合と同じ符号を用いる。
【0134】
本第2実施形態のECU10は、前述した第1実施形態と比較して、下記の(1)及び(2)の点だけが異なっている。
(1):まず、信号処理回路43の判別用信号生成部69は、30°CA信号生成部67で生成される30°CA信号NE2の立ち上がりタイミング毎に、前述した図5の処理に代えて、図9の処理を行う。尚、本第2実施形態においても、判別用信号生成部69は、スタータ信号STAが立ち上がると、基準位置信号TDCをハイレベルに初期設定すると共に、第2気筒判別用信号G2をロウレベルに初期設定する。また、図9において、G(n) は、レベル読取部65によって今回読み取られた気筒判別用信号Gの最新の読取レベルGrを格納するための1ビットの記憶部であり、G(n-1) は、レベル読取部65によって前回読み取られた気筒判別用信号Gの読取レベルGrを格納するための1ビットの記憶部である。
【0135】
そして、本第2実施形態の判別用信号生成部69が行う図9の処理は、図5の処理に対して下記の(1−1)及び(1−2)の点のみ異なっている。尚、図9において、図5と同じ処理については、同一のステップ番号を付しているため、説明を省略する
(1−1):S210とS220との間にS400の処理が追加されている。
【0136】
そして、判別用信号生成部69は、S210にて欠歯検出タイミングであると判定すると、このS400にて、G(n) 内の論理レベルをG(n-1) に格納し、その後、S220にて、レベル読取部65により今回読み取られた気筒判別用信号Gの読取レベルGrをG(n) に格納する。
【0137】
但し、スタータ信号STAが立ち上がってから、S210にて欠歯検出タイミングであると最初に判定した場合(図20の時刻t2に相当)には、気筒判別用信号Gの前回の読み取りレベルGrが存在しないため、上記400ではG(n-1) に、レベル読取部65によって今回読み取られた読取レベルGrとは反対の論理レベルを格納する。
【0138】
(1−2):S260とS270との間にS410の処理が追加され、更に、そのS410での判定結果に応じて行われるS420の処理が追加されている。そして、判別用信号生成部69は、S250でTDC出力タイミングであると判定して、S260で基準位置信号TDCをロウレベルにすると、S410に進んで、G(n) 内の論理レベルとG(n-1) 内の論理レベルとが一致しているか否かを判定する。そして、その両論理レベルが一致していなければ、S270に進んで、第2気筒判別用信号G2の出力レベルを、G(n) 内の論理レベル(即ち、今回の読取レベルGr)とは反対のレベルに設定し、その後、処理を終了する。
【0139】
これに対し、S410にて、G(n) 内の論理レベルとG(n-1) 内の論理レベルとが一致していると判定した場合には、レベル読取部65によって今回読み取られた気筒判別用信号Gの論理レベルが、レベル読取部65によって前回読み取られた気筒判別用信号Gの論理レベルから変化しておらず異常であると判断して、S420に移行する。そして、このS420にて、第2気筒判別用信号G2の出力レベルを、G(n) 内の論理レベルに拘わらず、ロウレベルに設定して、その後、処理を終了する。
【0140】
(2):次に、CPU31は、信号処理回路43からの30°CA信号NE2が立ち上がる毎に、前述した図6の処理に代えて、図10の処理を行う。
そして、本第2実施形態のCPU31が行う図10の処理では、図6の処理と比較すると、S340〜S355の処理に代えて、S500及びS510の処理が行われる。尚、図10において、図6と同じ処理については、同一のステップ番号を付しているため、説明を省略する。
【0141】
即ち、CPU31は、S337にて信号処理回路43からの第2気筒判別用信号G2の論理レベルを読み取ると、S500に進んで、上記S337で今回読み取られた第2気筒判別用信号G2の論理レベルG2(n) がロウレベルであるか否かを判定し、ロウレベルであれば、S360〜S370の補正処理を行う。これに対し、S500にて、上記S337で今回読み取られた論理レベルG2(n) がロウレベルではない(ハイレベルである)と判定した場合には、S510に移行して、クランクカウンタの値CNTを強制的に0へと初期化し、その後、処理を終了する。
【0142】
このため、本第2実施形態のCPU31では、信号処理回路43からの基準位置信号TDCがロウレベルであり、且つ第2気筒判別用信号G2が特定レベルとしてのハイレベルである場合にだけ(S320:YES且つS500:NO)、クランクカウンタの値CNTを強制的に0へと初期化することとなる。
【0143】
つまり、CPU31は、信号処理回路43からの30°CA信号NE2が立ち上がる毎に、「従来の技術」の欄で述べた表2の規則でクランクカウンタの値CNTを更新している。具体的には、S300〜S315の処理により[C2−1]と同じ処理を行い、S300,S320,及びS325の処理により[C2−2]と同じ処理を行い、S320,S337,S500,及びS510の処理により[C2−3]と同じ処理を行い、S320,S337,S500,及びS360〜S370の処理により[C2−4]と同じ処理を行っている。
【0144】
このような本第2実施形態のECU10において、カム角センサ49から信号処理回路43へ入力される気筒判別用信号Gが正常であると共に、その気筒判別用信号Gとスタータ信号STAとクランク角センサ47からのクランク角信号NEとが図20のような時間関係で変化した場合、信号処理回路43からCPU31へは、「従来の技術」の欄で図20に従い説明したのと同じ手順で、基準位置信号TDCと第2気筒判別用信号G2とが出力される。そして、CPU31においても、「従来の技術」の欄で図20に従い説明したのと同じ手順で、クランクカウンタの値CNTが0〜23の範囲で周回される。
【0145】
このため、「発明が解決しようとする課題」の欄で図21を用いて説明したように、信号処理回路43からの第2気筒判別用信号G2がハイレベルのままになってしまうと、CPU31では、信号処理回路43からの基準位置信号TDCがロウレベルとなる360°CA毎に、クランクカウンタの値CNTが誤って0に初期化されてしまい、正しく気筒判別することができなくなってしまう。
【0146】
そこで特に、本第2実施形態のECU10では、信号処理回路43が、図9のS400,S220,及びS410の処理により、欠歯信号Kの発生タイミングで今回読み取った気筒判別用信号Gの論理レベルが、前回に読み取った気筒判別用信号Gの論理レベルから変化しているか否かを判定し、変化していないと判定した場合には(S410:YES)、図9のS420の処理により、CPU31への第2気筒判別用信号G2の出力レベルを、ハイレベルとは反対のロウレベルに固定するようにしている。
【0147】
よって、図11に示すように、例えば図20の時刻t4の直後に相当する時刻tLにて、カム角センサ49からの配線やカム角センサ49自身に異常が発生して、気筒判別用信号Gがロウレベルに固定されてしまった場合、信号処理回路43は、欠歯信号Kの発生時における気筒判別用信号Gの論理レベルが連続して同じレベル(この例ではロウレベル)になった回のTDC出力タイミングである時刻t5’以降、CPU31への第2気筒判別用信号G2を、気筒判別用信号Gの論理レベルに拘わらずロウレベルに固定することとなる。
【0148】
このため、CPU31においては、図11の時刻t5’以降、クランクカウンタの値CNTが、図21の如く強制的に0へと初期化されず、基準位置信号TDCがロウレベルとなった各時点での現在値に応じて0又は12に補正されるだけであり、その結果、クランクカウンタの値CNTの連続性が維持される。
【0149】
また、図12に示すように、例えば図20の時刻t5の直後に相当する時刻tHにて、カム角センサ49からの配線やカム角センサ49自身に異常が発生して、気筒判別用信号Gがハイレベルに固定されてしまった場合にも、信号処理回路43は、欠歯信号Kの発生時における気筒判別用信号Gの論理レベルが連続して同じレベル(この例ではハイレベル)になった回のTDC出力タイミングである時刻t6’以降、CPU31への第2気筒判別用信号G2を、気筒判別用信号Gの論理レベルに拘わらずロウレベルに固定することとなる。そして、この場合においても、CPU31では、クランクカウンタの値CNTが強制的に0へと初期化されず、クランクカウンタの値CNTの連続性が維持される。
【0150】
以上のことから、本第2実施形態のECU10によっても、カム角センサ49やカム角センサ49からの配線に異常が生じて、信号処理回路43への気筒判別用信号Gの論理レベルが固定されても、CPU31側では、クランクカウンタの値CNTを0〜23の範囲で連続的に周回させることができ、正しく気筒判別することができるようになる。
【0151】
また特に、本第2実施形態のECU10によれば、CPU31は、従来の表2の規則でクランクカウンタの値CNTを更新すれば良く、CPU31のソフトウエアを変えることなく、上記効果を得ることができる。
尚、本第2実施形態のECU10では、CPU31が行う図10の処理のうち、S300〜S335の処理が、請求項2に記載のカウント手段に相当し、S337の処理が、請求項2に記載のレベル読取手段に相当し、S500の処理が、請求項2に記載のレベル判定手段に相当し、S510の処理が、請求項2に記載の初期化手段に相当し、S360〜S370の処理が、請求項2に記載のカウント値補正手段に相当している。
【0152】
次に、請求項3の発明が適用された第3実施形態のエンジン制御装置(ECU)について、図13〜図16を用いて説明する。尚、本第3実施形態のECUも、図1に示した第1実施形態のECU10と同様の構成要素からなるため、ここでは、それら構成要素及び各信号について、第1及び第2実施形態の場合と同じ符号を用いる。
【0153】
本第3実施形態のECU10は、前述した第2実施形態と比較して、下記の(A)及び(B)の点だけが異なっている。
(A):まず、信号処理回路43の判別用信号生成部69は、30°CA信号生成部67で生成される30°CA信号NE2の立ち上がりタイミング毎に、前述した図9の処理に代えて、図13の処理を行う。尚、本第3実施形態においても、判別用信号生成部69は、スタータ信号STAが立ち上がると、基準位置信号TDCをハイレベルに初期設定すると共に、第2気筒判別用信号G2をロウレベルに初期設定する。また、図13におけるG(n) とG(n-1) は、図9に示したものと同じ役割の記憶部である。
【0154】
そして、図13の処理では、図9の処理と比較すると、S420の処理に代えて、S600の処理が行われる。尚、図13において、図9と同じ処理については、同一のステップ番号を付しているため、説明を省略する
即ち、信号処理回路43の判別用信号生成部69は、S410にて、G(n) 内の論理レベルとG(n-1) 内の論理レベルとが一致していると判定すると、S600に移行して、第2気筒判別用信号G2の出力レベルを、G(n) 内の論理レベルに拘わらず反転させ、その後、処理を終了する。
【0155】
このため、本第3実施形態の信号処理回路43では、TDC出力タイミングになると、第2実施形態と同様のS400,S220,及びS410の処理により、欠歯信号Kの発生タイミングで今回読み取った気筒判別用信号Gの論理レベルが、前回に読み取った気筒判別用信号Gの論理レベルから変化しているか否かを判定するが、変化していないと判定した場合には(S410:YES)、S600の処理により、CPU31への第2気筒判別用信号G2の出力レベルを、今回読み取った気筒判別用信号Gの論理レベルに拘わらず、前回の出力レベルとは反対のレベルに設定することとなる。
【0156】
(B):次に、CPU31は、信号処理回路43からの30°CA信号NE2が立ち上がる毎に、前述した図10の処理に代えて、図14の処理を行う。
そして、図14の処理では、図10の処理と比較すると、S360とS370の処理が削除されている。
【0157】
具体的に説明すると、CPU31は、S500にて、S337で今回読み取られた第2気筒判別用信号G2の論理レベルG2(n) がロウレベルであると判定すると、S365に移行して、クランクカウンタの値CNTを、その時の現在値に拘わらず12にする。尚、図14において、他の部分については、図10と同じステップ番号を付しているため、説明を省略する。
【0158】
つまり、本第3実施形態のCPU31では、下記の表4における「初期化」の欄に示す如く、信号処理回路43からの基準位置信号TDCがロウレベルとなった時に、第2気筒判別用信号G2がハイレベルならばクランクカウンタの値CNTを強制的に0へと初期化し(S500:NO,S510)、逆に第2気筒判別用信号G2がロウレベルならばクランクカウンタの値CNTを強制的に12へと初期化するようにしている(S500:YES,S365)。
【0159】
【表4】
【0160】
尚、基準位置信号TDCがハイレベルである場合、CPU31は、S300〜S315の処理により、前述した[C2−1]と同じ処理を行い、S300,S320,及びS325の処理により、前述した[C2−2]と同じ処理を行う。このような本第3実施形態のECU10において、カム角センサ49から信号処理回路43へ入力される気筒判別用信号Gが正常であると共に、その気筒判別用信号Gとスタータ信号STAとクランク角センサ47からのクランク角信号NEとが図20のような時間関係で変化した場合、信号処理回路43からCPU31へは、「従来の技術」の欄で図20に従い説明したのと同じ手順で、基準位置信号TDCと第2気筒判別用信号G2とが出力される。
【0161】
また、この場合、CPU31においては、クランクカウンタの値CNTが、図20の時刻t2’までは、「従来の技術」の欄で説明したのと同じ手順で−1→20→21→22→23→0と更新される。
そして、その後、クランクカウンタの値CNTは、基準位置信号TDCがハイレベルである期間は30°CA信号NE2が立ち上がる毎に1づつカウントアップされる。また、基準位置信号TDC=ロウ且つ第2気筒判別用信号G2=ロウになった時(図20の時刻t3’,t5’,t7’)には強制的に12へと初期化され、基準位置信号TDC=ロウ且つ第2気筒判別用信号=ハイとなった時(図20の時刻t4’,t6’)には強制的に0へと初期化される。
【0162】
このため、正常時において、クランクカウンタの値CNTは、従来装置及び上記各実施形態の場合と同様に、図20の如く0〜23の範囲で繰り返し周回することとなる。
一方、本第3実施形態のECU10において、図15に示すように、例えば図20の時刻t4の直後に相当する時刻tLにて、カム角センサ49からの配線やカム角センサ49自身に異常が発生して、気筒判別用信号Gがロウレベルに固定されてしまった場合、信号処理回路43は、欠歯信号Kの発生時における気筒判別用信号Gの論理レベルが連続して同じレベル(この例ではロウレベル)になった最初の時である時刻t5以降、CPU31への第2気筒判別用信号G2を、TDC出力タイミング(時刻t5’,t6’,t7’)が到来する毎に、気筒判別用信号Gの論理レベルに拘わらず強制的にレベル反転させることとなる。
【0163】
このため、CPU31においては、図11の時刻t5’以降も、クランクカウンタの値CNTが、正常時と全く変わることなく0〜23の範囲で周回されることとなる。
また、図16に示すように、例えば図20の時刻t5の直後に相当する時刻tHにて、カム角センサ49からの配線やカム角センサ49自身に異常が発生して、気筒判別用信号Gがハイレベルに固定されてしまった場合にも、信号処理回路43は、欠歯信号Kの発生時における気筒判別用信号Gの論理レベルが連続して同じレベル(この例ではハイレベル)になった最初の時である時刻t6以降、CPU31への第2気筒判別用信号G2を、TDC出力タイミング(時刻t6’,t7’)が到来する毎に、気筒判別用信号Gの論理レベルに拘わらず強制的にレベル反転させることとなる。よって、この場合にも、CPU31においては、クランクカウンタの値CNTが、正常時と全く変わることなく0〜23の範囲で周回されることとなる。
【0164】
以上のことから、本第3実施形態のECU10によっても、カム角センサ49やカム角センサ49からの配線に異常が生じて、信号処理回路43への気筒判別用信号Gの論理レベルが固定されても、CPU31側では、クランクカウンタの値CNTを0〜23の範囲で連続的に周回させることができ、正しく気筒判別することができるようになる。
【0165】
また特に、本第3実施形態の信号処理回路43を用いれば、CPU31は、前述した表4のようなシンプルな規則でクランクカウンタの値CNTを更新すれば良く、CPU31での気筒判別用処理を簡素化することができる。このことは、図14と図6或いは図10とを比較すれば明らかである。
【0166】
つまり、CPU31は、基準位置信号TDCがロウレベルとなる毎に(換言すれば、第2気筒判別用信号G2がレベル反転する毎に)、その時の第2気筒判別用信号G2の論理レベルに応じて、クランクカウンタの値CNTを、G2=ハイなら0に初期化し、G2=ロウなら12に初期化する、といった単純な処理を行うだけで、ノイズ等の影響によりクランクカウンタの値CNTが正常値から外れてしまうことを防止しつつ、その値CNTを0〜23の範囲で正常に周回させることができる。
【0167】
尚、本第3実施形態のECU10では、信号処理回路43が請求項3に記載の信号処理手段としての信号処理回路に相当している。
また、上記第3実施形態のECU10において、CPU31は、第2実施形態の場合と同じ図10の処理を行うようにしても良い。但し、前述したように、図14の処理を行うようにした方が、処理の簡素化という面で有利である。
【0168】
一方、上記第3実施形態において、信号処理回路43は、TDC出力タイミング(即ち、クランク軸の回転位置が前述の基準位置に来たタイミング)を内部的に検知するだけで、基準位置信号TDCを出力しないように構成しても良い。
そして、この場合、CPU31は、図14のS320にて、基準位置信号TDCがロウレベルであるか否かを判定する代わりに、以下の処理を行えば良い。
【0169】
即ち、S320では、第2気筒判別用信号G2の論理レベルを読み取ると共に、前回の読取レベルと今回の読取レベルとが同じであるか否かを判定する。そして、前回の読取レベルと今回の読取レベルとが同じでればS325に進み、逆に異なっていれば、第2気筒判別用信号G2がレベル反転したと判断してS500に移行する。そして、この場合、S337の処理は不要となり、またS500では、上記変更後のS320で今回読み取られた第2気筒判別用信号G2の論理レベルG2(n) がロウレベルであるか否かを判定すれば良い。
【0170】
以上、本発明の一実施形態について説明したが、本発明は、種々の形態を採り得ることは言うまでもない。
例えば、前述した第2及び第3実施形態では、信号処理回路43が、今回の欠歯検出時(欠歯信号Kの検出時)に読み取った気筒判別用信号Gの論理レベルと、前回の欠歯検出時に読み取った気筒判別用信号Gの論理レベルとを直接比較することにより、今回読み取った気筒判別用信号Gの論理レベル(以下、今回のGレベルという)が、前回に読み取った気筒判別用信号Gの論理レベル(以下、前回のGレベルという)から変化しているか否かを判定するようにしたが、以下のようにしても良い。
【0171】
即ち、クランク角信号NE中の欠歯信号Kを前回検出してから今回検出するまでの間に、気筒判別用信号Gの論理レベルが反転したか否かを監視して、レベルが反転した場合には、今回のGレベルが前回のGレベルから変化していると判定し、逆に気筒判別用信号Gの論理レベルが1度も反転していなければ、今回のGレベルが前回のGレベルから変化していないと判定する、といったように構成することもできる。
【0172】
更に、その際、欠歯信号Kを前回検出してから今回検出するまでの間における気筒判別用信号Gの“L→Hの反転”と“H→Lの反転”との合計反転回数を計数して、その合計反転回数が、奇数の場合には、今回のGレベルが前回のGレベルから変化していると判定し、偶数の場合には、今回のGレベルが前回のGレベルから変化していないと判定する、というようにすれば一層良い。
【0173】
尚、気筒判別用信号Gの論理レベルが反転したか否かの監視は、気筒判別用信号Gにレベル反転のエッジが発生したか否かを監視することで行うことができる。
また、上記各実施形態では、欠歯信号Kの発生から基準位置信号TDCがアクティブレベルとなるまでの期間が、120°CA分の期間であるものを例に挙げたが、その期間は、120°CA以外のクランク角に相当する期間でも良い。
【0174】
また更に、上記各実施形態では、制御対象が6気筒エンジンである場合を例に挙げたが、それに限るものではなく、例えば4気筒エンジンや8気筒エンジンでも良い。
一方、上記各実施形態では、カム角センサ49から出力される気筒判別用信号Gが、360°CA毎に1回だけレベル反転するものであったが、気筒判別用信号Gは、クランク角センサ47から欠歯信号Kが出力される各タイミング毎に交互に異なった論理レベルとなっていれば良く、クランク角センサ47からパルス信号が出力されている期間中に複数回レベル反転する信号であっても良い。
【0175】
また、信号処理回路43において、レベル読取部65は、欠歯検出部63からの欠歯検出信号FKが立ち上がってからクランク角信号NEが最初に立ち上がったタイミング、即ち図2の時刻tbにて、気筒判別用信号Gの論理レベルを読み取るように構成しても良い。
【0176】
また更に、上記各実施形態では、信号処理回路43の各部がスタータスイッチのオンを起点に最初から動作するものとして説明したが、信号処理回路43は、例えば電源オンのパワーオンリセット時や、エンジン回転数が0であることを検出した時等、他の要因が発生した時を起点として最初から動作するように構成することもできる。
【0177】
また、上記各実施形態では、クランクカウンタの値CNTをカウントアップさせたが、クランクカウンタの値CNTをカウントダウンさせるようにしても良い。また更に、クランクカウンタの値CNTを周回させる範囲は、0〜23に限るものではなく、例えば5〜28や10〜33等、適宜設定することができる。
【図面の簡単な説明】
【図1】 第1実施形態のエンジン制御装置の構成を表す構成図である。
【図2】 第1実施形態の信号処理回路における欠歯検出部及びレベル読取部の動作を表すタイムチャートである。
【図3】 第1実施形態の信号処理回路における30°CA信号生成部の動作を表すフローチャートである。
【図4】 第1実施形態の信号処理回路における30°CA信号生成部の動作を表すタイムチャートである。
【図5】 第1実施形態の信号処理回路における判別用信号生成部の動作を表すフローチャートである。
【図6】 第1実施形態のCPUで実行される処理を表すフローチャートである。
【図7】 カム角センサからの気筒判別用信号Gがロウレベルに固定されてしまった場合の、第1実施形態の作用を説明するタイムチャートである。
【図8】 カム角センサからの気筒判別用信号Gがハイレベルに固定されてしまった場合の、第1実施形態の作用を説明するタイムチャートである。
【図9】 第2実施形態の信号処理回路における判別用信号生成部の動作を表すフローチャートである。
【図10】 第2実施形態のCPUで実行される処理を表すフローチャートである。
【図11】 カム角センサからの気筒判別用信号Gがロウレベルに固定されてしまった場合の、第2実施形態の作用を説明するタイムチャートである。
【図12】 カム角センサからの気筒判別用信号Gがハイレベルに固定されてしまった場合の、第2実施形態の作用を説明するタイムチャートである。
【図13】 第3実施形態の信号処理回路における判別用信号生成部の動作を表すフローチャートである。
【図14】 第3実施形態のCPUで実行される処理を表すフローチャートである。
【図15】 カム角センサからの気筒判別用信号Gがロウレベルに固定されてしまった場合の、第3実施形態の作用を説明するタイムチャートである。
【図16】 カム角センサからの気筒判別用信号Gがハイレベルに固定されてしまった場合の、第3実施形態の作用を説明するタイムチャートである。
【図17】 エンジン制御装置の一般的なハードウエア構成を表すブロック図である。
【図18】 電磁ピックアップ式のカム角センサを用いた従来のエンジン制御装置で行われる気筒判別用の動作を表すタイムチャートである。
【図19】 電磁ピックアップ式のカム角センサを用いた従来のエンジン制御装置において、カム角センサからの気筒判別用信号Gに立ち上がりが生じなくなった場合の動作を表すタイムチャートである。
【図20】 磁気抵抗素子式のカム角センサを用いた従来のエンジン制御装置で行われる気筒判別用の動作を表すタイムチャートである。
【図21】 磁気抵抗素子式のカム角センサを用いた従来のエンジン制御装置における問題を説明するタイムチャートである。
【符号の説明】
10…エンジン制御装置(ECU)、11〜16…燃料噴射弁、21〜26…点火コイル、31…マイクロコンピュータ(CPU)、33,35,37…入力バッファ、39…A/D変換器、41…出力バッファ、43…信号処理回路、47…クランク角センサ、49…カム角センサ、51…スタータスイッチ、53…アイドルスイッチ、55…エアフロメータ、57…スロットルセンサ、59…水温センサ、61…イグナイタ、63…欠歯検出部、65…レベル読取部、67…30°CA信号生成部、69…判別用信号生成部
Claims (3)
- 第1の信号出力手段からエンジンのクランク軸の回転に応じて出力され、前記クランク軸の回転位置が予め設定された1つの特定位置でないときには、前記クランク軸が所定の単位角度回転する期間を1周期としたパルス信号となり、前記クランク軸の回転位置が前記特定位置に来た時には、前記クランク軸が前記単位角度よりも大きい所定角度回転する期間を1周期とした欠歯信号となるクランク角信号と、
第2の信号出力手段から前記クランク軸の回転に対し1/2の比率で回転する回転軸の回転に応じて出力され、前記クランク角信号が欠歯信号となるタイミングでは、その各タイミング毎に交互に異なった論理レベルとなる気筒判別用信号とを入力して、
前記クランク角信号が欠歯信号になったことを最初に検出すると、以後、前記クランク角信号に基づいて、前記クランク軸が前記単位角度よりも大きい第2の単位角度回転する期間を1周期とした第2パルス信号と、該第2パルス信号に同期し且つ前記クランク軸の回転位置が所定の基準位置に来た時にアクティブレベルとなる基準位置信号とを出力すると共に、前記クランク角信号が欠歯信号になったことを検出する毎に前記気筒判別用信号の論理レベルを読み取って、その読み取った論理レベルに応じて出力レベルを設定することにより、前記基準位置信号がアクティブレベルとなる毎にレベルが反転する第2気筒判別用信号を出力する信号処理回路と、
該信号処理回路から出力される前記各信号を入力して、前記エンジンを制御するマイクロコンピュータとを備え、
更に前記マイクロコンピュータは、
前記信号処理回路により前記第2パルス信号の出力が開始されると、前記第2気筒判別用信号の論理レベルを読み取って、前記第2の単位角度を分解能として前記クランク軸の2回転分の累積回転角度を示すカウント値を、前記読み取った論理レベルに応じた計数開始値に設定し、以後、前記カウント値を、前記第2パルス信号が発生する毎に累積的に更新して前記クランク軸の2回転分に相当する値の範囲で周回させるカウント手段と、
前記基準位置信号がアクティブレベルとなる毎に前記第2気筒判別用信号の論理レベルを読み取るレベル読取手段と、
該レベル読取手段により前記第2気筒判別用信号の論理レベルが読み取られると、その読み取られた論理レベルに応じて、前記カウント値を所定値へと強制的に初期化する初期化手段と、
を有すると共に、前記カウント値に基づき前記エンジンの気筒判別を行うように構成されたエンジン制御装置において、
前記マイクロコンピュータは、
前記レベル読取手段により今回読み取られた前記第2気筒判別用信号の論理レベルが、前記レベル読取手段により前回読み取られた論理レベルから変化しているか否かを判定して、変化していると判定した場合に、前記初期化手段の動作を許可する初期化制御手段と、
前記初期化制御手段により前記第2気筒判別用信号の論理レベルが変化していないと判定された場合に、前記カウント値に基づき該カウント値を所定の値に補正するカウント値補正手段と、
を備えていることを特徴とするエンジン制御装置。 - 第1の信号出力手段からエンジンのクランク軸の回転に応じて出力され、前記クランク軸の回転位置が予め設定された1つの特定位置でないときには、前記クランク軸が所定の単位角度回転する期間を1周期としたパルス信号となり、前記クランク軸の回転位置が前記特定位置に来た時には、前記クランク軸が前記単位角度よりも大きい所定角度回転する期間を1周期とした欠歯信号となるクランク角信号と、
第2の信号出力手段から前記クランク軸の回転に対し1/2の比率で回転する回転軸の回転に応じて出力され、前記クランク角信号が欠歯信号となるタイミングでは、その各タイミング毎に交互に異なった論理レベルとなる気筒判別用信号とを入力して、
前記クランク角信号が欠歯信号になったことを最初に検出すると、以後、前記クランク角信号に基づいて、前記クランク軸が前記単位角度よりも大きい第2の単位角度回転する期間を1周期とした第2パルス信号と、該第2パルス信号に同期し且つ前記クランク軸の回転位置が所定の基準位置に来た時にアクティブレベルとなる基準位置信号とを出力すると共に、前記クランク角信号が欠歯信号になったことを検出する毎に前記気筒判別用信号の論理レベルを読み取って、その読み取った論理レベルに応じて出力レベルを設定することにより、前記基準位置信号がアクティブレベルとなる毎にレベルが反転する第2気筒判別用信号を出力する信号処理回路と、
該信号処理回路から出力される前記各信号を入力して、前記エンジンを制御するマイクロコンピュータとを備え、
更に前記マイクロコンピュータは、
前記信号処理回路により前記第2パルス信号の出力が開始されると、前記第2気筒判別用信号の論理レベルを読み取って、前記第2の単位角度を分解能として前記クランク軸の2回転分の累積回転角度を示すカウント値を、前記読み取った論理レベルに応じた計数開始値に設定し、以後、前記カウント値を、前記第2パルス信号が発生する毎に累積的に更新して前記クランク軸の2回転分に相当する値の範囲で周回させるカウント手段と、
前記基準位置信号がアクティブレベルとなる毎に前記第2気筒判別用信号の論理レベルを読み取るレベル読取手段と、
該レベル読取手段により前記第2気筒判別用信号の論理レベルが読み取られると、その読み取られた論理レベルが、ハイレベルとロウレベルとのうちの何れかに設定された特定レベルであるか否かを判定するレベル判定手段と、
前記レベル判定手段により前記読み取られた論理レベルが前記特定レベルであると判定された場合、前記カウント値を所定値へと強制的に初期化する初期化手段と、
前記レベル判定手段により前記読み取られた論理レベルが前記特定レベルではないと判定された場合、前記カウント値に基づき該カウント値を所定の値に補正するカウント値補正手段と、
を有すると共に、前記カウント値に基づき前記エンジンの気筒判別を行うように構成されたエンジン制御装置において、
前記信号処理回路は、今回読み取った前記気筒判別用信号の論理レベルが、前回に読み取った前記気筒判別用信号の論理レベルから変化しているか否かを判定して、変化していないと判定した場合には、前記第2気筒判別用信号の出力レベルを、前記特定レベルとは反対のレベルに固定するように構成されていること、
を特徴とするエンジン制御装置。 - 第1の信号出力手段からエンジンのクランク軸の回転に応じて出力され、前記クランク軸の回転位置が予め設定された1つの特定位置でない時には、前記クランク軸が所定の単位角度回転する期間を1周期としたパルス信号となり、前記クランク軸の回転位置が前記特定位置に来た時には、前記クランク軸が前記単位角度よりも大きい所定角度回転する期間を1周期とした欠歯信号となるクランク角信号と、
第2の信号出力手段から前記クランク軸の回転に対し1/2の比率で回転する回転軸の回転に応じて出力され、前記クランク角信号が欠歯信号となるタイミングでは、その各タイミング毎に交互に異なった論理レベルとなる気筒判別用信号とを入力して、
前記クランク角信号に基づき、前記クランク軸の回転位置が所定の基準位置に来たことを検出すると共に、前記クランク軸が前記単位角度よりも大きい第2の単位角度回転する期間を1周期とした第2パルス信号を出力し、更に、前記クランク角信号が欠歯信号になったことを検出する毎に前記気筒判別用信号の論理レベルを読み取って、その読み取った論理レベルに応じて出力レベルを設定することにより、前記クランク軸の回転位置が前記基準位置に来たことを検出したタイミング毎にレベルが反転する第2気筒判別用信号を出力する信号処理手段と、
該信号処理手段から出力される前記各信号に基づいて、前記エンジンの気筒判別を行い該エンジンを制御するマイクロコンピュータと、
を備えたエンジン制御装置において、
前記信号処理手段として用いられる信号処理回路であって、当該信号処理回路は、今回読み取った前記気筒判別用信号の論理レベルが、前回に読み取った前記気筒判別用信号の論理レベルから変化しているか否かを判定して、変化していないと判定した場合には、前記第2気筒判別用信号の出力レベルを、今回読み取った前記気筒判別用信号の論理レベルに拘わらず、前回の出力レベルとは反対のレベルに設定するように構成されていること、を特徴とする信号処理回路。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000026405A JP4332971B2 (ja) | 2000-02-03 | 2000-02-03 | エンジン制御装置及びそれに用いられる信号処理回路 |
US09/665,693 US6341253B1 (en) | 1999-09-24 | 2000-09-20 | Engine control apparatus with cylinder discrimination function |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000026405A JP4332971B2 (ja) | 2000-02-03 | 2000-02-03 | エンジン制御装置及びそれに用いられる信号処理回路 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2001214794A JP2001214794A (ja) | 2001-08-10 |
JP2001214794A5 JP2001214794A5 (ja) | 2007-02-01 |
JP4332971B2 true JP4332971B2 (ja) | 2009-09-16 |
Family
ID=18552142
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000026405A Expired - Fee Related JP4332971B2 (ja) | 1999-09-24 | 2000-02-03 | エンジン制御装置及びそれに用いられる信号処理回路 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4332971B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101091214B (zh) * | 2004-12-28 | 2010-06-09 | 国际商业机器公司 | 信息记录装置、其数据流控制器及其数据流的控制方法 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4168907B2 (ja) | 2003-10-29 | 2008-10-22 | 株式会社デンソー | エンジン制御装置 |
JP7291238B2 (ja) * | 2019-11-13 | 2023-06-14 | 日立Astemo株式会社 | エンジン制御装置及びエンジン制御方法 |
-
2000
- 2000-02-03 JP JP2000026405A patent/JP4332971B2/ja not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101091214B (zh) * | 2004-12-28 | 2010-06-09 | 国际商业机器公司 | 信息记录装置、其数据流控制器及其数据流的控制方法 |
Also Published As
Publication number | Publication date |
---|---|
JP2001214794A (ja) | 2001-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2856014B2 (ja) | クランク軸回転変動による失火検出方法 | |
US6341253B1 (en) | Engine control apparatus with cylinder discrimination function | |
US5870688A (en) | Misfire diagnostic system for internal combustion engine | |
JP2006257958A (ja) | カム位相センサ,可変バルブタイミング機構の制御装置及び可変バルブタイミング機構の制御方法 | |
JP4276190B2 (ja) | 内燃機関の制御装置 | |
WO1993025811A1 (en) | Method of detecting misfire by utilizing variation of rotation of crankshaft | |
JPH06213058A (ja) | エンジン制御装置 | |
US6679223B2 (en) | Engine control system with cam sensor | |
JP2876885B2 (ja) | 内燃機関のクランク角位置検出装置 | |
JP4073914B2 (ja) | エンジン制御装置 | |
JP4834638B2 (ja) | エンジンの気筒判定装置 | |
JP4332971B2 (ja) | エンジン制御装置及びそれに用いられる信号処理回路 | |
JP2003343340A (ja) | 内燃機関の失火検出装置 | |
JP2004044437A (ja) | 内燃機関制御装置 | |
JP4399997B2 (ja) | エンジン制御装置 | |
JP4475704B2 (ja) | エンジン制御装置 | |
JP2795062B2 (ja) | クランク軸回転変動による失火検出方法 | |
JP2003003901A (ja) | エンジン制御装置 | |
JP2005264862A (ja) | エンジン制御装置 | |
JP3133150B2 (ja) | クランク軸回転変動による失火検出方法 | |
JP4333552B2 (ja) | エンジン制御装置 | |
JP2005042589A (ja) | 内燃機関のクランク角検出装置 | |
JP4196426B2 (ja) | 内燃機関のクランク角判定装置 | |
JP2004162531A (ja) | 内燃機関の気筒判別装置 | |
JP4406324B2 (ja) | エンジン制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061208 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20061208 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20081031 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081111 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090113 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20090602 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090615 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120703 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120703 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130703 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |