(57)【特許請求の範囲】
【請求項１】
エンジンのクランク軸の回転に伴い所定の角度間隔で発生する信号列であるクランク角信号の信号周期を計測する計測手段と、
前記計測手段が計測した前記信号周期のうち調整対象となる基準信号周期を調整して前記基準信号周期よりも後の前記信号周期を予測する周期予測手段と、
前記計測手段が計測した実際の実信号周期と前記周期予測手段が予測した前記信号周期である予測信号周期との比較結果を学習し、前記周期予測手段が前記予測信号周期を予測するときの前記基準信号周期に対する調整量を学習結果に基づいて補正する学習手段と、
前記学習手段による補正後の前記予測信号周期の範囲において前記所定の角度間隔よりも詳細なクランク角度位置を求める角度位置予測手段と、
を備え、
前記周期予測手段は、調整係数により前記調整量を決定し、
前記学習手段は、前記調整係数を補正することにより前記調整量を補正し、
複数の前記クランク角度からなる角度区間において共通の前記調整係数が設定されており、
前記学習手段は、前記角度区間の各クランク角度において前記比較結果を学習し、それぞれの前記比較結果に基づいて前記角度区間に共通の前記調整係数を補正する、
ことを特徴とするエンジン制御装置。
【請求項２】
エンジンのクランク軸の回転に伴い所定の角度間隔で発生する信号列であるクランク角信号の信号周期を計測する計測手段と、
前記計測手段が計測した前記信号周期のうち調整対象となる基準信号周期を調整して前記基準信号周期よりも後の前記信号周期を予測する周期予測手段と、
前記計測手段が計測した実際の実信号周期と前記周期予測手段が予測した前記信号周期である予測信号周期との比較結果を学習し、前記周期予測手段が前記予測信号周期を予測するときの前記基準信号周期に対する調整量を学習結果に基づいて補正する学習手段と、
前記学習手段による補正後の前記予測信号周期の範囲において前記所定の角度間隔よりも詳細なクランク角度位置を求める角度位置予測手段と、
を備え、
前記学習手段は、前記エンジンの少なくとも一つの気筒の圧縮行程においてエンジン回転速度が減速する角度区間のうち所定の角度区間の学習頻度を他の角度区間よりも増加する、
ことを特徴とするエンジン制御装置。
【請求項３】
エンジンのクランク軸の回転に伴い所定の角度間隔で発生する信号列であるクランク角信号の信号周期を計測する計測手段と、
前記計測手段が計測した前記信号周期のうち調整対象となる基準信号周期を調整して前記基準信号周期よりも後の前記信号周期を予測する周期予測手段と、
前記計測手段が計測した実際の実信号周期と前記周期予測手段が予測した前記信号周期である予測信号周期との比較結果を学習し、前記周期予測手段が前記予測信号周期を予測するときの前記基準信号周期に対する調整量を学習結果に基づいて補正する学習手段と、
前記学習手段による補正後の前記予測信号周期の範囲において前記所定の角度間隔よりも詳細なクランク角度位置を求める角度位置予測手段と、
を備え、
前記周期予測手段は、前記エンジンの少なくとも一つの気筒の圧縮行程においてエンジン回転速度が減速する角度区間のうち所定の角度区間において前記信号周期を予測する場合、この所定の角度区間の前後よりも前記調整量を大きくする、
ことを特徴とするエンジン制御装置。
【請求項４】
エンジンのクランク軸の回転に伴い所定の角度間隔で発生する信号列であるクランク角信号の信号周期を計測する計測手段と、
前記計測手段が計測した前記信号周期のうち調整対象となる基準信号周期を調整して前記基準信号周期よりも後の前記信号周期を予測する周期予測手段であって、前記計測手段が計測した前記信号周期の履歴を周期記憶部に記憶する履歴記憶手段と、前記周期記憶部に記憶されている前記信号周期から前記信号周期の変化量を算出する変化量算出手段と、前記変化量算出手段が算出する前記変化量に基づいて前記基準信号周期を調整して前記基準信号周期よりも後の前記信号周期を算出する周期算出手段とを有する周期予測手段と、
前記計測手段が計測した実際の実信号周期と前記周期予測手段が予測した前記信号周期である予測信号周期との比較結果を学習し、前記周期予測手段が前記予測信号周期を予測するときの前記基準信号周期に対する調整量を学習結果に基づいて補正する学習手段と、
前記学習手段による補正後の前記予測信号周期の範囲において前記所定の角度間隔よりも詳細なクランク角度位置を求める角度位置予測手段と、
前記クランク角信号の信号数から前記クランク角度を検出する角度検出手段と、
前記角度検出手段が検出する前記クランク角度に基づいて、前記周期記憶部が出力する前記信号周期の選択と、前記変化量算出手段が前記変化量を算出する算出処理と、前記周期算出手段が前記基準信号周期を調整する調整処理とを制御する制御手段と、
を備え、
前記周期算出手段は、前記クランク角度およびエンジン回転数のうち少なくとも前記クランク角度に応じて設定された調整係数により前記調整量を決定し、前記調整係数を記憶する係数記憶部を有する、
ことを特徴とするエンジン制御装置。
【請求項５】
前記周期予測手段は、調整係数により前記調整量を決定し、
前記学習手段は、前記調整係数を補正することにより前記調整量を補正する、
ことを特徴とする請求項２から４のいずれか一項に記載のエンジン制御装置。
【請求項６】
前記学習手段は、前記比較結果として前記実信号周期と前記予測信号周期との差分である周期誤差を学習し、前記周期誤差が所定の誤差範囲内になるように前記調整係数を補正することを特徴とする請求項１または５に記載のエンジン制御装置。
【請求項７】
前記学習手段は、学習対象である前記予測信号周期の前記周期誤差を複数回学習して前記調整係数を補正することを特徴とする請求項６に記載のエンジン制御装置。
【請求項８】
前記学習手段は、前記周期誤差を複数回学習したうち、前記周期誤差が前記所定の誤差範囲を外れた回数と前記周期誤差が前記所定の誤差範囲内であった回数との少なくともいずれか一方の回数に基づいて前記調整係数を補正するか否かを決定するための補正判定値を設定することを特徴とする請求項６または７に記載のエンジン制御装置。
【請求項９】
前記学習手段は、前記周期誤差が前記所定の誤差範囲を外れた回数と前記周期誤差が前記所定の誤差範囲内であった回数とのうち少なくとも前記周期誤差が前記所定の誤差範囲を外れた回数に基づいて前記補正判定値を設定し、前記周期誤差の学習中に前記周期誤差を学習するために予め設定された複数回の学習回数の過半数に前記補正判定値が達すると、前記周期誤差の学習を中止して前記調整係数の補正処理に移行することを特徴とする請求項８に記載のエンジン制御装置。
【請求項１０】
前記学習手段は、前記周期誤差が前記所定の誤差範囲を外れた回数と前記周期誤差が前記所定の誤差範囲内であった回数とのうち少なくとも前記周期誤差が前記所定の誤差範囲を外れた回数に基づいて前記補正判定値を設定し、前記補正判定値が所定の上限値より大きい場合に前記調整係数を増加し、前記補正判定値が所定の下限値より小さい場合に前記調整係数を減少させることを特徴とする請求項８または９に記載のエンジン制御装置。
【請求項１１】
前記所定の上限値および前記所定の下限値は予め任意に設定されることを特徴とする請求項１０に記載のエンジン制御装置。
【請求項１２】
前記所定の上限値および前記所定の下限値の少なくともいずれか一方は前記補正判定値に対して複数設定され、設定された値毎に前記調整係数を補正する補正量が設定されていることを特徴とする請求項１０または１１に記載のエンジン制御装置。
【請求項１３】
前記学習手段が前記調整量を補正して前記予測信号周期を予測できる範囲内では、前記
周期誤差が前記所定の誤差範囲から外れる場合に異常を報知する報知手段を備えることを特徴とする請求項６から１２のいずれか一項に記載のエンジン制御装置。
【請求項１４】
複数の前記クランク角度からなる角度区間において共通の前記調整係数が設定されており、
前記学習手段は、前記角度区間の各クランク角度において前記比較結果を学習し、それぞれの前記比較結果に基づいて前記角度区間に共通の前記調整係数を補正する、
ことを特徴とする請求項２から４のいずれか一項を引用する請求項５から１３のいずれか一項に記載のエンジン制御装置。
【請求項１５】
前記調整係数は、前記クランク角度およびエンジン回転数のうち少なくとも前記クランク角度に応じて設定されることを特徴とする請求項１、あるいは請求項５から１４のいずれか一項に記載のエンジン制御装置。
【請求項１６】
外部から禁止信号を入力すると前記学習手段による処理を禁止する学習禁止手段を備えることを特徴とする請求項１から１５のいずれか一項に記載のエンジン制御装置。
【請求項１７】
前記学習手段は、前記比較結果の学習処理および前記調整量の補正処理を複数の前記クランク角度において実行することを特徴とする請求項１から１６のいずれか一項に記載のエンジン制御装置。
【請求項１８】
前記学習手段は、前記所定の角度間隔離れた前記クランク角度毎に前記学習処理および前記補正処理を順次実行することを特徴とする請求項１から１７のいずれか一項に記載のエンジン制御装置。
【請求項１９】
前記学習手段が前記比較結果を学習する前記クランク角度は前記エンジンの気筒毎に設定されていることを特徴とする請求項１から１８のいずれか一項に記載のエンジン制御装置。
【請求項２０】
前記学習手段が前記比較結果を学習する前記クランク角度は、前記エンジンの気筒間で同じ位置に設定されていることを特徴とする請求項１から１８のいずれか一項に記載のエンジン制御装置。
【請求項２１】
前記学習手段は、前記エンジンの少なくとも一つの気筒の圧縮行程においてエンジン回転速度が減速する角度区間のうち所定の角度区間だけ、前記比較結果を学習することを特徴とする請求項１から２０のいずれか一項に記載のエンジン制御装置。
【請求項２２】
前記学習手段は、前記エンジンの少なくとも一つの気筒の圧縮行程においてエンジン回転速度が減速する角度区間のうち所定の角度区間の学習頻度を他の角度区間よりも増加することを特徴とする請求項３または４、あるいは請求項３または４を引用する請求項５から２１のいずれか一項に記載のエンジン制御装置。
【請求項２３】
前記学習手段は、前記エンジンの少なくとも一つの気筒の燃焼行程においてエンジン回転速度が加速する角度区間のうち所定の角度区間だけ、前記比較結果を学習することを特徴とする請求項１から２２のいずれか一項に記載のエンジン制御装置。
【請求項２４】
前記学習手段は、前記エンジンの少なくとも一つの気筒の燃焼行程においてエンジン回転速度が加速する角度区間のうち所定の角度区間の学習頻度を他の角度区間よりも増加することを特徴とする請求項１から２３のいずれか一項に記載のエンジン制御装置。
【請求項２５】
前記学習手段による処理は回路で実行されることを特徴とする請求項１から２４のいずれか一項に記載のエンジン制御装置。
【請求項２６】
前記回路は集積回路であることを特徴とする請求項２５に記載のエンジン制御装置。
【請求項２７】
前記学習手段による処理はソフトウェアで実行されることを特徴とする請求項１から２４のいずれか一項に記載のエンジン制御装置。
【請求項２８】
前記周期予測手段は、前記エンジンの少なくとも一つの気筒の圧縮行程においてエンジン回転速度が減速する角度区間のうち所定の角度区間において前記信号周期を予測する場合、この所定の角度区間の前後よりも前記調整量を大きくすることを特徴とする請求項４、あるいは請求項４を引用する請求項５から２７のいずれか一項に記載のエンジン制御装置。
【請求項２９】
前記エンジンの少なくとも一つの気筒の圧縮行程においてエンジン回転速度が減速する角度区間において前記予測信号周期が前記基準信号周期よりも小さくなる場合、前記周期予測手段による予測を禁止する予測禁止手段を備えることを特徴とする請求項１から２８のいずれか一項に記載のエンジン制御装置。
【請求項３０】
前記周期予測手段は、前記エンジンの少なくとも一つの気筒の上死点を含む前後の所定の角度区間の前記信号周期を予測する場合、この所定の角度区間の直前および直後よりも前記調整量の絶対値を小さくすることを特徴とする請求項１から２９のいずれか一項に記載のエンジン制御装置。
【請求項３１】
前記周期予測手段は、前記エンジンの少なくとも一つの気筒の燃焼行程においてエンジン回転速度が加速する角度区間のうち所定の角度区間において前記信号周期を予測する場合、前回よりも前記調整量の絶対値を小さくすることを特徴とする請求項１から３０のいずれか一項に記載のエンジン制御装置。
【請求項３２】
前記エンジンの少なくとも一つの気筒の燃焼行程においてエンジン回転速度が加速する角度区間のうち所定の角度区間において前記予測信号周期が前記基準信号周期よりも大きくなる場合、前記周期予測手段による予測を禁止する予測禁止手段を備えることを特徴とする請求項１から３１のいずれか一項に記載のエンジン制御装置。
【請求項３３】
前記周期予測手段は、前記エンジンの少なくとも一つの気筒の圧縮行程においてエンジン回転速度が減速する角度区間のうち所定の角度区間におけるエンジン回転速度の減速特性を変換して、該当気筒の燃焼行程においてエンジン回転速度が加速する角度区間のうち所定の角度区間において前記調整量を算出することを特徴とする請求項１から３２のいずれか一項に記載のエンジン制御装置。
【請求項３４】
前記周期予測手段は、前記エンジンの少なくとも一つの気筒の燃焼行程においてエンジン回転速度が加速する角度区間のうち所定の角度区間における前記エンジンの加速特性を変換して、他の気筒の圧縮行程においてエンジン回転速度が減速する角度区間のうち所定の角度区間において前記調整量を算出することを特徴とする請求項１から３３のいずれか一項に記載のエンジン制御装置。
【請求項３５】
前記周期予測手段は、前記減速特性または前記加速特性の一方の特性を変換して他方の特性における前記信号周期を予測する場合、前記調整量の絶対値を、前記減速特性または前記加速特性の一方の特性における前記信号周期の変化量の絶対値よりも大きくすることを特徴とする請求項３３または３４に記載のエンジン制御装置。
【請求項３６】
前記周期予測手段は、前記エンジンの回転加速度の絶対値が所定値以下となる角度区間において、前記回転加速度の絶対値が前記所定値よりも大きい角度区間よりも前記調整量
を小さくすることを特徴とする請求項１から３５のいずれか一項に記載のエンジン制御装置。
【請求項３７】
前記周期予測手段は、エンジン回転速度が第１速度以上になると、エンジン回転速度が前記第１速度未満の場合よりも前記調整量を小さくし、エンジン回転速度が前記第１速度よりも遅い第２速度未満になると、エンジン回転速度が前記第２速度以上の場合よりも前記調整量を大きくすることを特徴とする請求項１から３６のいずれか一項に記載のエンジン制御装置。
【請求項３８】
前記周期予測手段は、前記基準信号周期と前記調整量とを加算して前記予測信号周期を求めることを特徴とする請求項１から３７のいずれか一項に記載のエンジン制御装置。
【請求項３９】
前記周期予測手段は、前記クランク角度およびエンジン回転数のうち少なくとも前記クランク角度に応じて設定された調整係数と前記計測手段により計測された前記信号周期の時間変化により決定される変化量とを乗算して前記調整量を求めることを特徴とする請求項１から３８のいずれか一項に記載のエンジン制御装置。
【請求項４０】
前記調整係数は２のべき乗の加減算で決定される値であることを特徴とする請求項３９に記載のエンジン制御装置。
【請求項４１】
前記周期予測手段は、前記計測手段により計測された２個の前記信号周期の差分に基づいて前記変化量を求めることを特徴とする請求項３９または４０に記載のエンジン制御装置。
【請求項４２】
前記周期予測手段は、連続して発生する２個の前記信号周期の差分を前記変化量とすることを特徴とする請求項４１に記載のエンジン制御装置。
【請求項４３】
前記周期予測手段は、所定の角度区間において前記調整量を０とすることを特徴とする請求項１から４２のいずれか一項に記載のエンジン制御装置。
【請求項４４】
前記周期予測手段は、今回までに前記計測手段が計測した前記信号周期のうち前記基準信号周期を調整して、今回よりも後の前記信号周期を予測することを特徴とする請求項１から４３のいずれか一項に記載のエンジン制御装置。
【請求項４５】
前記周期予測手段は、前記計測手段により今回計測された前記信号周期を前記基準信号周期とすることを特徴とする請求項１から４４のいずれか一項に記載のエンジン制御装置。
【請求項４６】
前記周期予測手段は、今回の直後の前記信号周期を予測することを特徴とする請求項１から４５のいずれか一項に記載のエンジン制御装置。
【請求項４７】
前記周期予測手段は、前記計測手段が計測した前記信号周期の履歴を周期記憶部に記憶する履歴記憶手段と、前記周期記憶部に記憶されている前記信号周期から前記信号周期の変化量を算出する変化量算出手段と、前記変化量算出手段が算出する前記変化量に基づいて前記基準信号周期を調整して前記基準信号周期よりも後の前記信号周期を算出する周期算出手段とを有し、
前記クランク角信号の信号数から前記クランク角度を検出する角度検出手段と、
前記角度検出手段が検出する前記クランク角度に基づいて、前記周期記憶部が出力する前記信号周期の選択と、前記変化量算出手段が前記変化量を算出する算出処理と、前記周期算出手段が前記基準信号周期を調整する調整処理とを制御する制御手段と、
を備えることを特徴とする請求項１から３のいずれか一項、あるいは請求項１から３のいずれか一項を引用する請求項５から４６のいずれか一項に記載のエンジン制御装置。
【請求項４８】
前記周期予測手段は、前記基準信号周期と、前記周期算出手段により前記基準信号周期を調整して算出された前記信号周期とのいずれか一方を選択するセレクタを有し、前記クランク角度またはソフト指令により前記セレクタの出力を切り換えることを特徴とする請求項４、あるいは請求項４を引用する請求項５から４６のいずれか一項、あるいは請求項４７に記載のエンジン制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、エンジンのクランク軸の回転に伴い所定の角度間隔で発生するクランク角信号に基づいてエンジンを制御するエンジン制御装置に関する。
【背景技術】
【０００２】
従来、燃料噴射弁に対する燃料噴射制御等のエンジンを適切に運転するための制御を、クランク軸の回転角度であるクランク角度を表わすクランク角信号に基づいて実行することが知られている。
【０００３】
クランク角信号は、例えば、外周に所定の角度間隔で歯を設けたクランクロータをクランク軸に設置し、クランク軸とともにクランクロータが回転するときのクランクロータの歯をクランクロータの外周側に設置したクランクセンサにより検出し、歯が通過する毎にクランクセンサがパルス信号を出力して生成される。クランク角信号の各パルスは、クランクロータに設けられた歯の角度間隔にしたがい、１０°ＣＡ（ＣＡ：Crank Angle）、６°ＣＡ等の所定の角度間隔で発生する。
【０００４】
しかし、燃費やドライバビリティの向上のため、クランク角信号が表わすクランク角度よりもさらに高精度なクランク角度に基づいてエンジン制御を行うことが望まれている。
そこで、特許文献１に開示されているように、今回までのクランク角信号の信号周期を計測し、計測した信号周期に基づいて予め次回のクランク角信号の信号周期を予測することにより、予測した信号周期内においてクランク角信号が発生する角度間隔よりも詳細な角度位置でエンジン制御を行う技術が知られている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００１−２６３１５０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、クランク角信号の信号周期はクランク角度に応じて変化し、その変化特性はエンジンの機差または経年変化により変化する。したがって、信号周期の変化特性に基づいて、計測した信号周期から信号周期を予測する場合、信号周期の変化特性が変化すると、実際の実信号周期と予測した予測信号周期との誤差が大きくなるという問題が生じる。
【０００７】
本発明は、上記課題を解決するためになされたものであり、クランク角度に応じたクランク角信号の信号周期の変化特性が変化しても信号周期を高精度に予測するエンジン制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
請求項１から４８に記載の発明によると、計測手段は、エンジンのクランク軸の回転に伴い所定の角度間隔で発生する信号列であるクランク角信号の信号周期を計測し、周期予測手段は、計測手段が計測した信号周期のうち調整対象となる基準信号周期を調整して基準信号周期よりも後の信号周期を予測し、学習手段は、計測手段が計測した実際の実信号周期と周期予測手段が予測した信号周期である予測信号周期との比較結果を学習し、周期予測手段が予測信号周期を予測するときの基準信号周期に対する調整量を学習結果に基づいて補正し、角度位置予測手段は、学習手段による補正後の予測信号周期の範囲において
クランク角信号の角度間隔よりも詳細なクランク角度位置を求める。
【０００９】
この構成によれば、クランク角度に応じて変化するクランク角信号の信号周期の変化特性がエンジンの機差または経年変化により変化しても、実信号周期と予測信号周期との比較結果を学習して基準信号周期に対する調整量を補正するので、基準信号周期を調整して基準信号周期よりも後の信号周期を高精度に予測できる。
【００１０】
請求項１および５に記載の発明によると、周期予測手段は、調整係数により調整量を決定し、学習手段は、調整係数を補正することにより調整量を補正する。
この構成によれば、調整係数に応じて調整量が決定されるので、調整量を算出する処理を共通化できる。
【００１１】
請求項６に記載の発明によると、学習手段は、比較結果として実信号周期と予測信号周期との差分である周期誤差を学習し、周期誤差が所定の誤差範囲内になるように調整係数を補正する。
【００１２】
この構成によれば、調整係数を補正して周期誤差を所定の誤差範囲まで小さくすることができる。
請求項７に記載の発明によると、学習手段は、学習対象である予測信号周期の周期誤差を複数回学習して調整係数を補正する。
【００１３】
この構成によれば、周期誤差が計測誤差等によりばらついても、複数回学習することにより周期誤差のばらつきを低減し、周期誤差の学習結果に基づいて調整係数を高精度に補正して調整量を補正できる。これにより、信号周期を高精度に予測できる。
【００１４】
請求項８に記載の発明によると、学習手段は、周期誤差を複数回学習したうち、周期誤差が所定の誤差範囲を外れた回数と周期誤差が所定の誤差範囲内であった回数との少なくともいずれか一方の回数に基づいて調整係数を補正するか否かを決定するための補正判定値を設定する。
【００１５】
この構成によれば、調整係数を補正するか否かを決定するために補正判定値をカウントすればよいので、周期誤差が所定の誤差範囲を外れた回数と周期誤差が所定の誤差範囲内であった回数とを簡単な回路または少ない処理負荷でカウントして補正判定値を設定できる。
【００１６】
請求項９に記載の発明によると、学習手段は、周期誤差が所定の誤差範囲を外れた回数と周期誤差が所定の誤差範囲内であった回数とのうち少なくとも周期誤差が所定の誤差範囲を外れた回数に基づいて補正判定値を設定し、周期誤差の学習中に周期誤差を学習するために予め設定された複数回の学習回数の過半数に補正判定値が達すると、周期誤差の学習を中止して調整係数の補正処理に移行する。
【００１７】
この構成によれば、予め設定された複数回の学習回数に達するまでに補正判定値が学習回数の過半数に達すると周期誤差の学習を中止するので、処理時間を低減できる。
請求項１０に記載の発明によると、学習手段は、周期誤差が所定の誤差範囲を外れた回数と周期誤差が所定の誤差範囲内であった回数とのうち少なくとも周期誤差が所定の誤差範囲を外れた回数に基づいて補正判定値を設定し、補正判定値が所定の上限値より大きい場合に調整係数を増加し、補正判定値が所定の下限値より小さい場合に調整係数を減少させる。
【００１８】
この構成によれば、補正判定値と、周期誤差が適切な誤差範囲内であるかを判定するために設定された上限値または下限値とを比較した結果に基づいて調整係数を増減するので、調整係数を高精度に補正して調整量を補正できる。これにより、信号周期を高精度に予測できる。
【００１９】
請求項１１に記載の発明によると、所定の上限値および所定の下限値は予め任意に設定される。
この構成によれば、例えばエンジンの機種毎に所定の上限値および所定の下限値を任意に適切に設定できる。これにより、エンジンの機種毎に調整係数を適切に補正して調整量を補正できる。
【００２０】
請求項１２に記載の発明によると、所定の上限値および所定の下限値の少なくともいずれか一方は補正判定値に対して複数設定され、設定された回数毎に調整係数を補正する補正量が設定されている。
【００２１】
この構成によれば、補正判定値の数値に応じて適切に調整係数を補正できるので、調整量を高精度に補正できる。これにより、信号周期を高精度に予測できる。
請求項１３に記載の発明によると、報知手段は、学習手段が調整量を補正して予測信号周期を予測できる範囲内では、周期誤差が所定の誤差範囲から外れる場合に異常を報知する。
【００２２】
この構成によれば、信号周期を計測する計測手段の異常等により、調整量を補正しても実信号周期と予測信号周期との周期誤差が所定の誤差範囲から外れる異常が発生すると異常が報知されるので、異常報知に応じて適切な処置を施すことができる。
【００２３】
請求項１および１４に記載の発明によると、複数のクランク角度からなる角度区間において共通の調整係数が設定されており、学習手段は、角度区間の各クランク角度において比較結果を学習し、それぞれの比較結果に基づいて同じ角度区間に共通の調整係数を補正する。
【００２４】
この構成によれば、複数のクランク角度に同じ調整補正係数を使用できるので、信号周期の予測および補正のための回路または処理負荷を低減できる。
ところで、エンジン回転速度は、気筒内の圧力とエンジンが受ける負荷の大きさとによりクランク角度に応じて変化する。したがって、信号周期もクランク角度に応じて変化する。
【００２５】
そこで、請求項１５に記載の発明によると、調整係数は、クランク角度およびエンジン回転数のうち少なくともクランク角度に応じて設定される。
この構成によれば、クランク角度に応じて変化する信号周期の変化特性に基づいて基準信号周期を調整係数により適切に調整し、基準信号周期よりも後の信号周期を高精度に予測することができる。
【００２６】
請求項１６に記載の発明によると、外部から禁止信号を入力すると学習手段による処理を禁止する学習禁止手段を備える。
この構成によれば、例えばクランク角信号を検出するセンサの異常等により信号周期を適切に計測できない異常が発生して外部から禁止信号を入力した場合、誤った信号周期に基づいて信号周期を予測することを禁止できるので、誤った予測信号周期に基づいてエンジン制御を行うことを防止できる。
【００２７】
請求項１７に記載の発明によると、学習手段は、比較結果の学習処理および調整量の補正処理を複数のクランク角度において実行する。
この構成によれば、複数のクランク角度において、補正により周期誤差を低減された予
測信号周期に基づいてエンジン制御を実行することができる。
【００２８】
請求項１８に記載の発明によると、学習手段は、所定の角度間隔離れたクランク角度毎に学習処理および補正処理を順次実行する。
この構成によれば、所定の角度間隔離れたクランク角度毎に学習処理および補正処理を順次実行するので、信号周期の変化特性の全体について予測信号周期の誤差を低減できる。
【００２９】
請求項１９に記載の発明によると、学習手段が比較結果を学習するクランク角度はエンジンの気筒毎に設定されている。
この構成によれば、学習するクランク角度の位置を気筒毎に設定できるので、気筒毎に学習すべき重要なクランク角度が異なる場合に有効である。
【００３０】
請求項２０に記載の発明によると、学習手段が比較結果を学習するクランク角度は、エンジンの気筒間で同じ位置に設定されている。
この構成によれば、気筒間で同じクランク角度の位置で学習するので、各気筒において、同じクランク角度において実信号周期と予測信号周期との周期誤差を極力低減できる。その結果、気筒間のエンジン制御のばらつきを低減できる。
【００３１】
ところで、エンジンの少なくとも一つの気筒の圧縮行程においてエンジン回転速度が減速する角度区間のうち所定の角度区間、ならびにエンジンの少なくとも一つの気筒の燃焼行程においてエンジン回転速度が加速する角度区間のうち所定の角度区間においては、エンジン回転速度の変化量が大きいため、信号周期の変化量も大きい。
【００３２】
そのため、基準信号周期を調整して基準信号周期の後の信号周期を予測する場合、信号周期の変化特性が経年変化等によりずれると、実信号周期に対する予測信号周期の誤差が大きくなる。
【００３３】
そこで、請求項２、および請求項２１から２４に記載の発明のように、エンジン回転速度の変化量が大きいために信号周期の変化量も大きい角度区間において比較結果を学習したり、他の角度区間よりも学習頻度を増加したりすることにより、予測信号周期の誤差を低減できる。
【００３４】
請求項２５に記載の発明によると、学習手段による処理は回路で実行される。これにより、エンジン制御装置におけるソフトウェアによる処理負荷を低減できる。
請求項２６に記載の発明によると、請求項２２の回路は集積回路である。これにより、エンジン制御装置を小型化できる。
【００３５】
請求項２７に記載の発明によると、学習手段による処理はソフトウェアで実行される。これにより、エンジン制御装置における回路量を低減できる。
ところで、少なくとも一つの気筒の圧縮行程では、エンジン回転速度が減速する所定の角度区間においてエンジン回転速度の減速量が大きくなり、この区間の前後よりもクランク角信号の信号周期の増加量が大きくなる。
【００３６】
そこで、請求項３および２８に記載の発明によると、周期予測手段は、エンジンの少なくとも一つの気筒の圧縮行程においてエンジン回転速度が減速する角度区間のうち所定の角度区間において基準信号周期を予測する場合、この所定の角度区間の前後よりも基準信号周期に対する調整量を大きくする。
【００３７】
この構成によれば、エンジンの少なくとも一つの気筒の圧縮行程においてエンジン回転速度が減速するときの信号周期の変化特性に応じて、信号周期を高精度に予測できる。
請求項２９に記載の発明によると、予測禁止手段は、エンジンの少なくとも一つの気筒の圧縮行程においてエンジン回転速度が減速する角度区間において予測信号周期が基準信号周期よりも小さくなる場合、周期予測手段による予測を禁止する。
【００３８】
この構成によれば、圧縮行程においてエンジン回転速度が減速し信号周期が長くなる角度区間において、基準信号周期を調整して求めた予測信号周期が基準信号周期よりも小さくなる異常が発生すると、周期予測手段による予測を禁止し、適切な処置を施すことができる。
【００３９】
また、クランク角度の角度区間のうち上死点を含む前後の所定の角度区間は、上死点に向かって減速していたエンジン回転速度が上死点を超えて加速に転じる区間であり、エンジン回転速度の変化が小さい区間である。
【００４０】
そこで、請求項３０に記載の発明によると、周期予測手段は、エンジンの少なくとも一つの気筒の上死点を含む前後の所定の角度区間の信号周期を予測する場合、この所定の角度区間の直前および直後よりも基準信号周期に対する調整量の絶対値を小さくする。
【００４１】
これにより、エンジンの少なくとも一つの気筒の上死点を含む前後の所定の角度区間のようにエンジン回転速度の変化が小さい角度区間の信号周期を予測する場合、調整量を適切に求めることができる。
【００４２】
ところで、少なくとも一つの気筒の燃焼行程では、エンジン回転速度が加速する所定の角度区間においてエンジン回転速度の加速量が小さくなり、信号周期の減少量が前回よりも小さくなる。
【００４３】
そこで、請求項３１に記載の発明によると、周期予測手段は、エンジンの少なくとも一つの気筒の燃焼行程においてエンジン回転速度が加速する角度区間のうち所定の角度区間において信号周期を予測する場合、前回よりも基準信号周期に対する調整量の絶対値を小さくする。
【００４４】
この構成によれば、エンジンの少なくとも一つの気筒の燃焼行程においてエンジン回転速度が加速する角度区間のうち所定の角度区間において、エンジン回転速度が加速するときの信号周期の変化特性に応じて、信号周期を高精度に予測できる。
【００４５】
請求項３２に記載の発明によると、予測禁止手段は、エンジンの少なくとも一つの気筒の燃焼行程においてエンジン回転速度が加速する角度区間のうち所定の角度区間において予測信号周期が基準信号周期よりも大きくなる場合、周期予測手段による予測を禁止する。
【００４６】
この構成によれば、燃焼行程においてエンジン回転速度が加速し信号周期が短くなる角度区間において、予測信号周期が基準信号周期よりも長くなる異常が発生すると、周期予測手段による予測を禁止し、適切な処置を施すことができる。
【００４７】
ここで、燃焼行程においてエンジン回転速度が加速する角度区間のうち所定の角度区間と、同じ気筒の圧縮行程においてエンジン回転速度が減速する角度区間のうち所定の角度区間とは、加速と減速とでエンジン回転速度の変化特性は異なるが、逆の変化特性であると考えることができる。
【００４８】
そこで、請求項３３に記載の発明によると、周期予測手段は、エンジンの少なくとも一つの気筒の圧縮行程においてエンジン回転速度が減速する角度区間のうち所定の角度区間
におけるエンジン回転速度の減速特性を変換して、該当気筒の燃焼行程においてエンジン回転速度が加速する角度区間のうち所定の角度区間において基準信号周期に対する調整量を算出する。
【００４９】
これにより、燃焼行程においてエンジン回転速度が加速する角度区間のうち所定の角度区間のように、前の角度区間と同じ補正方式では適切に信号周期を予測できない角度区間において、圧縮行程におけるエンジン回転速度の減速特性を燃焼行程における加速特性に変換することにより、適切に基準信号周期を調整できる。
【００５０】
また、圧縮行程においてエンジン回転速度が減速する角度区間のうち所定の角度区間では、その前の角度区間とエンジン回転速度の変化量の特性が異なるので、前の角度区間と同じ補正方式では適切に信号周期を予測することが困難な場合がある。
【００５１】
ここで、圧縮行程においてエンジン回転速度が減速する角度区間のうち所定の角度区間と、他の気筒の燃焼行程においてエンジン回転速度が加速する角度区間のうち所定の角度区間とは、減速と加速とでエンジン回転速度の変化特性は異なるが、逆の変化特性であると考えることができる。
【００５２】
そこで、請求項３４に記載の発明によると、周期予測手段は、エンジンの少なくとも一つの気筒の燃焼行程においてエンジン回転速度が加速する角度区間のうち所定の角度区間におけるエンジンの加速特性を変換して、他の気筒の圧縮行程においてエンジン回転速度が減速する角度区間のうち所定の角度区間において基準信号周期に対する調整量を算出する。
【００５３】
これにより、圧縮行程においてエンジン回転速度が減速する角度区間のうち所定の角度区間のように、前の角度区間と同じ補正方式では適切に信号周期を予測できない角度区間において、燃焼行程におけるエンジン回転速度の加速特性を圧縮行程における減速特性に変換することにより、適切に基準信号周期を調整できる。
【００５４】
請求項３５に記載の発明によると、周期予測手段は、減速特性または加速特性の一方の特性を変換して基準信号周期を補正する場合、基準信号周期の調整量の絶対値を、減速特性または加速特性の一方の特性における変化量の絶対値よりも大きくする。
【００５５】
これにより、同じ気筒において圧縮行程の減速区間から燃焼行程の加速区間に移る場合、あるいは異なる気筒において燃焼行程の加速区間から圧縮行程の減速区間に移る場合のように、エンジン回転速度の変化特性が変わり変化量の絶対値が大きくなる角度区間において、基準信号周期を高精度に調整できる。
【００５６】
請求項３６に記載の発明によると、周期予測手段は、エンジンの回転加速度の絶対値が所定値以下となる角度区間において、回転加速度の絶対値が所定値よりも大きい角度区間よりも基準信号周期に対する調整量を小さくする。
【００５７】
このように、エンジンの回転加速度が所定値以下となる角度区間のように、エンジン回転速度の変化量が小さい、すなわちエンジンの回転加速度の絶対値が所定値よりも小さくノイズにより信号周期が変動しやすい角度区間において調整量の絶対値を小さくすることにより、基準信号周期を調整するときのノイズによる誤調整を極力小さくすることができる。
【００５８】
請求項３７に記載の発明によると、周期予測手段は、エンジン回転速度が第１速度以上になると、エンジン回転速度が第１速度未満の場合よりも調整量を小さくし、エンジン回
転速度が第１速度よりも遅い第２速度未満になると、エンジン回転速度が第２速度以上の場合よりも調整量を大きくする。
【００５９】
この構成によれば、エンジン回転速度が第１速度以上になり調整量が大きくなると、エンジン回転速度が第１速度よりも遅い第２速度未満になるまで、調整量は変化しない。また、エンジン回転速度が第２速度未満になり調整量が小さくなると、エンジン回転速度が第２速度よりも速い第１速度以上になるまで、調整量は変化しない。
【００６０】
その結果、エンジン回転速度が第１速度または第１速度よりも遅い第２速度付近で変動しても、調整量が頻繁に増減することを防止できるので、調整量が頻繁に増減することにより生じる異常動作の発生を防止でき、信頼性が向上する。
【００６１】
請求項３８に記載の発明によると、周期予測手段は、基準信号周期と調整量とを加算して予測信号周期を求める。この構成によれば、加算による簡単な演算で予測信号周期を求めることができる。
【００６２】
請求項３９に記載の発明によると、周期予測手段は、クランク角度およびエンジン回転数のうち少なくともクランク角度に応じて設定された調整係数と計測手段により計測された信号周期の時間変化により決定される変化量とを乗算して前記調整量を求める。
【００６３】
この構成によれば、調整係数と信号周期の変化量とを乗算することにより、調整量を容易に算出できる。
請求項４０に記載の発明によると、調整係数は２のべき乗の加減算で決定される値である。この構成によれば、シフトと加減算とにより調整係数と変化量とを乗算して調整量を容易に算出できる。また、シフタと加減算器とを用いた簡単な回路で調整量を算出できる。
【００６４】
請求項４１に記載の発明によると、周期予測手段は、計測された２個の信号周期の差分に基づいて信号周期の変化量を求める。この構成によれば、信号周期を減算するという簡単な演算で変化量を求めることができる。
【００６５】
請求項４２に記載の発明によると、周期予測手段は、連続して発生する２個の信号周期の差分を変化量とする。
この構成によれば、間に１個異常の信号周期を挟んだ２個の信号周期の差分から変化量を算出する場合に比べ信号周期の変化量が平均化されないので、信号周期が大きく変化する場合に、信号周期の変化に応じて高精度に変化量を求めることができる。
【００６６】
請求項４３に記載の発明によると、周期予測手段は、所定の角度区間において基準信号周期を調整する調整量を０とする。この構成によれば、信号周期が殆ど変化しない角度区間において、信号周期を容易に予測できる。
【００６７】
請求項４４に記載の発明によると、周期予測手段は、今回までに計測手段が計測した信号周期のうち基準信号周期を調整して、今回よりも後の信号周期を予測する。
この構成によれば、今回までに計測された信号周期のうち基準信号周期を調整し、今回よりも後の信号周期を高精度に予測することができる。
【００６８】
また、請求項４４に記載の発明によると、例えば、今回、または今回よりも前の今回に極力近い信号周期を記憶しておき、この信号周期に基づいて基準信号周期を調整することにより、今回よりも後の信号周期を予測することができる。これにより、今回より後の信号周期をクランク角度毎に予測するために今回よりも前の対応する信号周期をすべて記憶
しておく必要がないので、今回よりも後の信号周期を予測するための記憶容量を極力小さくすることができる。
【００６９】
請求項４５に記載の発明によると、周期予測手段は、計測手段により今回計測された信号周期を基準信号周期とする。この構成によれば、今回よりも後の信号周期を今回計測された最新の信号周期を調整して予測するので、予測精度が向上する。
【００７０】
請求項４６に記載の発明によると、周期予測手段は、今回の直後の信号周期を予測する。この構成によれば、例えば今回までに計測された信号周期の変化特性に応じて、今回の直後の信号周期を高精度に予測できる。
【００７１】
請求項４に記載の発明によると、周期算出手段は、クランク角度およびエンジン回転数のうち少なくともクランク角度に応じて設定された調整係数により調整量を決定し、調整係数を記憶する係数記憶部を有する。
【００７２】
この構成によれば、クランク角度と係数記憶部に記憶されている調整係数とが対応するので、クランク角度毎にその都度調整係数を算出する必要がない。
請求項４８に記載の発明によると、周期予測手段は、基準信号周期と、周期算出手段により基準信号周期を調整して算出された信号周期とのいずれか一方を選択するセレクタを有し、クランク角度またはソフト指令によりセレクタの出力を切り換える。
【００７３】
この構成によれば、例えば予測される調整量と異なる異常な調整量が算出されたときに算出された調整量を無効にし、調整されていない基準信号周期を選択して今回よりも後の信号周期とすることができる。
【図面の簡単な説明】
【００７４】
【図１】本実施形態によるエンジン制御装置を示す構成図。
【図２】周期予測部および周期学習部を示すブロック図。
【図３】クランク角度と信号周期との関係を示すタイムチャート。
【図４】周期予測処理を示すフローチャート。
【図５】クランク角度に応じた周期予測処理を示すタイムチャート。
【図６】（Ａ）は低回転時、（Ｂ）は中回転時、（Ｃ）は高回転時の信号周期の変化を示すタイムチャート。
【図７】他の周期予測処理を示すフローチャート。
【図８】変化量算出処理を示すフローチャート。
【図９】他の変化量算出処理を示すフローチャート。
【図１０】他の変化量算出処理を示すフローチャート。
【図１１】他の変化量算出処理を示すフローチャート。
【図１２】周期調整部を示すブロック図。
【図１３】履歴記憶部を示すブロック図。
【図１４】周期算出部を示すブロック図。
【図１５】（Ａ）は調整量算出部を示すブロック図、（Ｂ）はシフタ１、２の機能と算出される角度特性係数との関係を示す図。
【図１６】他の周期調整部を示すブロック図。
【図１７】学習補正処理を示すタイムチャート。
【図１８】学習補正処理を示す他のタイムチャート。
【図１９】学習補正処理を示すフローチャート。
【図２０】補正判定処理を示すフローチャート。
【図２１】補正処理を示すフローチャート。
【図２２】（Ａ）は角度特性係数と調整量との対応を示す対応図、（Ｂ）は周期誤差と係数判定閾値との関係を示す特性図、（Ｃ）は学習値の変化を示す説明図。
【図２３】学習補正処理を示す他のフローチャート。
【図２４】周期予測部および周期学習部を示す他のブロック図。
【発明を実施するための形態】
【００７５】
以下、本発明の実施の形態を図に基づいて説明する。本実施形態によるエンジン制御装置を図１に示す。
（エンジン制御装置１０）
エンジン制御装置１０は、例えば４気筒のディーゼルエンジンにおいて燃料噴射制御等のエンジン制御を実行する電子制御装置（ＥＣＵ：Electronic Control Unit）である。以下、エンジン制御装置１０を、単に「ＥＣＵ１０」とも言う。
【００７６】
ＥＣＵ１０は、マイコン２０、ＥＥＰＲＯＭ５０、入力回路６０、出力回路６２、電源回路６４等からなる。
ＥＣＵ１０は、入力回路６０から各種センサ入力信号、スイッチ等の入力信号を入力し、他のＥＣＵへの出力信号、ならびにインジェクタ９０への制御信号を出力回路６２から出力する。
【００７７】
マイコン２０は、ＣＰＵ２２、ＲＯＭ２４、ＲＡＭ２６、Ａ／Ｄ２８、Ｉ／Ｏ３０、タイマ部４０等からなる。ＣＰＵ２２は、ＲＯＭ２４に記憶されている制御プログラムを実行することにより、各種センサ検出信号と、クランク角センサ８０およびカム角センサ８２の検出信号と、スイッチ等の入力信号とを入力回路６０からＩ／Ｏ３０を介して入力し、他のＥＣＵへの出力信号、ならびにインジェクタ９０への制御信号をＩ／Ｏ３０を介して出力回路６２から出力する。
【００７８】
ＣＰＵ２２は、各種制御の作業データの記憶領域としてＲＡＭ２６を使用し、車両走行を停止してバッテリ７０から供給される電力を電源回路６４で遮断しても保存しておく必要のあるデータはＥＥＰＲＯＭ５０に記憶する。
【００７９】
タイマ部４０は、クランク角センサ８０から入力する信号列であるクランク角信号の信号周期を計測してその後の信号周期を予測するとともに、周期誤差に基づいて予測された予測信号周期を補正する角度予測部１００を有している。角度予測部１００の詳細については後述する。
【００８０】
（クランク角度）
クランク角センサ８０は、電磁ピックアップ式のセンサであり、エンジンのクランク軸に固定されたクランクロータ４の外周と向き合って設置されている。クランクロータ４の外周には、所定の角度間隔として例えば１０°間隔で歯が形成されている。クランク角センサ８０は、クランクロータ４の歯と向き合う位置でパルス状のクランク角信号を出力する。
【００８１】
ＥＣＵ１０は、単位時間当たりのクランク角信号のパルス数に基づき、単位時間当たりの回転角度をエンジン回転速度として算出する。
カム角センサ８２は、クランク角センサ８０と同じ電磁ピックアップ式のセンサであり、クランク軸が２回転する間に１回転するカム軸に固定されたカムロータ６の外周と向き合って設置されている。
【００８２】
カムロータ６の外周には、４気筒のうち特定の気筒位置を示す歯が形成されている。カム角センサ８２が出力するカム角信号は、クランク軸が２回転する７２０°ＣＡを１サイクルとする。
【００８３】
ＥＣＵ１０は、クランク角信号とカム角信号とに基づき、例えば＃１気筒の上死点（ＴＤＣ）を基準角度位置として検出する。そして、基準角度位置からのクランク角信号のパルスの信号数であるパルス数を、吸入行程、圧縮行程、燃焼行程、排気行程からなる１燃焼サイクルの角度周期である７２０°ＣＡ周期でカウントする。ＥＣＵ１０は、このパルスカウント数に基づいて、１燃焼サイクルのうち各気筒がどの行程のどの角度位置にあるかを示すクランク角度を検出する。
【００８４】
（角度予測部１００）
次に、タイマ部４０の角度予測部１００について説明する。図２に示すように、角度予測部１００は、周期予測部１１０と周期学習部３００とからなる。まず、周期予測部１１０について説明する。周期学習部３００については、図２〜図１６に基づく周期予測部１１０についての説明後に説明する。
【００８５】
（周期予測部１１０）
周期予測部１１０は、周期計測部１２０、周期調整部１３０、学習制御部１３２、および逓倍角度クロック生成部１４０等から構成されている。
【００８６】
（周期計測部１２０）
周期計測部１２０は、カウンタ１２２および計測部１２４から構成されている。カウンタ１２２は、クランク角信号の基準角度位置からのクランク角信号のパルス数を７２０°ＣＡ毎に計測する。周期計測部１２０が計測するクランク角信号のパルスカウント数によりクランク角度が検出される。
【００８７】
計測部１２４は、クランク角信号のパルスカウント数により１０°毎に発生するクランク角信号のパルスとパルスとの時間間隔をタイマで計測することにより、クランク角信号の信号周期（クランク角信号の信号周期を、単に「信号周期」とも言う。）を計測する。タイマが実際に計測するのはクランク角信号が発生した直後のクロックから次のクランク角信号が発生した直後のクロックまでの周期である。
【００８８】
（周期調整部１３０）
周期調整部１３０は、周期計測部１２０が計測する今回のクランク角信号のパルスカウント数により各気筒の今回のクランク角度を検出し、今回計測された信号周期を調整する調整量の算出方法を今回のクランク角度に応じて決定する。そして、周期調整部１３０は、今回の算出方法により今回までに計測したクランク角信号の信号周期に基づいて調整量を算出し、今回の信号周期を調整して次回の信号周期を予測する。尚、今回計測した信号周期に限らず、信号周期を予測するときに調整対象となる基準の信号周期を基準信号周期とも言う。
【００８９】
周期調整部１３０では、後述する周期学習部３００の補正判定部３２０から調整量に対する補正量を入力すると、該当するクラン角度において信号周期を予測するときに、基準信号周期に対する調整量を補正して信号周期を予測する。
【００９０】
学習制御部１３２は、周期学習部３００における学習処理を許可するか否かを指令する学習許可信号を出力する。学習許可信号は、例えば、予測信号周期が基準信号周期よりも小さくなるべき角度区間で基準信号周期よりも大きくなる場合等、異常な予測信号周期が周期調整部１３０で予測されたときに０が出力され、周期学習部３００における学習処理を禁止する。
【００９１】
（逓倍角度クロック生成部１４０）
逓倍角度クロック生成部１４０は、周期調整部１３０が予測した予測信号周期を逓倍数で割った周期の逓倍角度クロックを生成する。ＥＣＵ１０は、逓倍角度クロック生成部１４０が出力する逓倍角度クロックに基づいて、クランクロータ４に形成された歯の角度間隔より詳細なクランク角度に同期して、燃料噴射制御等のエンジン制御を実行する。これにより、燃費やドライバビリティを向上できる。
【００９２】
また、生成された逓倍角度クロックに基づいてエンジン制御を実行することで、予測された次回の信号周期からエンジン制御の実行タイミングを算出する処理を削減でき、少ない処理負荷で高精度なエンジン制御が可能である。
【００９３】
以上説明した図１および図２において、ＥＣＵ１０は本発明のエンジン制御装置に相当し、周期計測部１２０は本発明の計測手段に相当し、周期調整部１３０は本発明の周期予測手段に相当し、逓倍角度クロック生成部１４０は本発明の角度位置予測手段に相当する。
【００９４】
（信号周期の変化）
次に、クランク角信号の信号周期の変化について説明する。エンジンの回転速度は、各気筒の圧縮行程と燃焼行程とにおける筒内圧力の影響を受けて大きく変化する。よって、エンジン回転速度、つまり信号周期の変化は、図３に示すように、クランク角度と強い関係性がある。図３では、４気筒エンジンにおける信号周期と各気筒のクランク角度との関係を示している。着火は＃１気筒→＃３気筒→＃４気筒→＃２気筒の順である。
【００９５】
信号周期はエンジンが受ける負荷トルクと各気筒の筒内圧力、特に圧縮行程および燃焼行程における筒内圧力の影響を受けて大きく変化する。例えば＃１気筒が圧縮行程のとき、ピストンが＃１ＴＤＣに近づくにつれて＃１気筒の筒内圧力が増大し、負荷トルクと筒内圧力との合力によってピストンの上昇が妨げられるためエンジン回転速度は大きく減速する。その結果、所定の角度間隔で出力されるクランク信号の信号周期は長くなる。
【００９６】
クランク角度が＃１気筒の＃１ＴＤＣを越えると＃１気筒は燃焼行程に移行する。すると、ＴＤＣの前にクランク軸の回転を減速させる方向に作用していた筒内圧力は、ＴＤＣの後で回転を加速させる方向に作用するようになる。この時、筒内圧力と負荷トルクとが相反する方向に作用する。エンジンの有効仕事はＴＤＣから約１０°ＣＡ後に筒内圧力が最大となるとき最も大きくなるため、燃焼遅れを考慮してＴＤＣから約１０°ＣＡ後に筒内圧力が最大となるようにインジェクタ９０の噴射時期が制御される。そのため、図３の例では、ＴＤＣから約１０°ＣＡ経過する前のＴＤＣ直後のクランク角信号が出力される時点では、燃焼による圧力上昇は小さく回転変化が小さくなっている。
【００９７】
その後、燃焼によって＃１気筒の筒内圧力が爆発的に増大すると、エンジン回転速度は急激に加速され信号周期は短くなる。以上より、各気筒の圧縮行程および燃焼行程の筒内圧力の影響により、ＴＤＣ付近の角度区間の前後ではエンジン回転速度および信号周期が、加速方向または減速方向に大きく変化する。
【００９８】
燃焼によって爆発的に増加した＃１気筒の筒内圧力は、ピストンの下降と共に徐々に減少する。その一方で、＃３気筒では圧縮行程が進み、＃３気筒の筒内圧力は徐々に増大していく。＃１ＴＤＣと＃３ＴＤＣとの中間角度付近では、＃１気筒の筒内圧力および＃３気筒の筒内圧力と負荷トルクとが釣り合い、エンジン回転速度の変化が小さくなる。この角度区間ではクランク軸の軸ねじれや機械振動といった不規則的なノイズ成分が現れる。
【００９９】
＃３気筒の圧縮行程がさらに進むと、＃３気筒の筒内圧力と負荷トルクとの合力が＃１気筒の１筒内圧力を上回り、エンジン回転速度は再び減速を始める。このように、エンジン回転速度および信号周期の変化特性とクランク角度との間には強い関係性がある。
【０１００】
（周期予測処理１）
図４に、本実施形態による信号周期の予測処理を実行するフローチャートを示す。図４および以後に説明する各図のフローチャートにおいて、「Ｓ」はステップを表わしている。図４のフローチャートは、クランク角信号のパルスを検出したタイミングで実行される。
【０１０１】
図４においてＥＣＵ１０は、まず今回のクランク角度θを読込む（Ｓ４００）。前述したように、クランク角度θは、クランク角信号のパルスカウント数に基づいて検出される。
【０１０２】
次に、今回までに計測された信号周期として、例えば今回と前回とのクランク角信号の信号周期と、前回と前々回とのクランク角信号の信号周期との変化量αを算出し（Ｓ４０２）、クランク角度に応じて設定された角度特性係数Ｋ（θ）を読込む（Ｓ４０４）。信号周期を補正するために今回までに計測された各信号周期はレジスタ等に記憶されており、角度特性係数は書き換え可能な不揮発性のＥＥＰＲＯＭ等に記憶されている。尚、角度特性係数Ｋ（θ）の読込みは変化量αの算出の前に行ってもよい。
【０１０３】
角度特性係数は、前述した信号周期の変化特性とクランク角度との関係性に基づいて、クランク角度に応じて予め設定されている。角度特性係数は、今回までに周期計測部１２０が計測したクランク角信号の信号周期に基づいて今回よりも後の信号周期を予測するときに、周期計測部１２０が計測した信号周期のうち基準信号周期に対する調整量を決定する係数である。
【０１０４】
次にＥＣＵ１０は、変化量αと角度特性係数Ｋ（θ）とを乗算して、次式（１）から調整量Ｈを算出する（Ｓ４０６）。
調整量Ｈ＝変化量α×角度特性係数Ｋ（θ）            ・・・（１）
ＥＣＵ１０は、基準信号周期Ｔ（ｉ）をレジスタ等から読込み（Ｓ４０８）、基準信号周期Ｔ（ｉ）に調整量Ｈを加算して、今回と次回とのクランク角信号の信号周期である予測信号周期Ｔ’（ｉ＋１）を算出する（Ｓ４１０）。
【０１０５】
逓倍角度クロック生成部１４０では、図４の周期予測処理１で算出された予測信号周期を逓倍数で割った周期の逓倍角度クロックを生成する。
このように、今回の変化量αとクランク角度に応じて設定されている角度特性係数Ｋ（θ）とによって基準信号周期の調整量Ｈを決定することで、クランク角度に応じた信号周期の変化特性に基づいて、今回より後の次回の信号周期を高精度に予測できる。
【０１０６】
例えば、図３の圧縮行程においてエンジン回転速度が減速し信号周期が長くなる角度区間のうち所定の角度区間においては、エンジン回転速度の減速量がその前後の角度区間よりも大きいので、この所定の角度区間で次回の信号周期を予測する場合、所定の角度区間の前後よりも基準信号周期を調整する調整量を大きくする。
【０１０７】
具体的には、図５において、信号周期Ｔ（２）、Ｔ（３）を計測する角度区間において予測信号周期Ｔ’（３）、Ｔ’（４）を予測する場合、信号周期Ｔ（３）、Ｔ（４）を計測する角度区間の前後のＴ（１）およびＴ（４）でＴ’（２）、Ｔ’（５）を予測するよりも角度特性係数を大きくし、調整量を大きくしている。図５では、Ｔ（１）を計測するタイミングでＴ’（２）を予測するときの予測式は記載されていないが、１．２５よりも小さいものとする。
【０１０８】
また、図３の燃焼行程においてエンジン回転速度が加速し信号周期が短くなる角度区間のうち所定の角度区間においては、エンジン回転速度の加速量が前回よりも小さいので、この所定の角度区間で次回の信号周期を予測する場合、前回よりも基準信号周期を補正する調整量の絶対値を小さくする。
【０１０９】
具体的には、図５において、信号周期Ｔ（７）、Ｔ（８）を計測する角度区間において予測信号周期Ｔ’（８）、Ｔ’（９）をそれぞれ予測する場合、前回、信号周期Ｔ（６）、Ｔ（７）を計測したときにＴ’（７）、Ｔ’（８）を予測したときよりも角度特性係数を小さくし調整量の絶対値を小さくしている。
【０１１０】
また、図３の各ＴＤＣを含む前後の所定の角度区間においては、エンジン回転速度の変化量の絶対値、つまりエンジンの回転加速度の絶対値が所定値以下であり、この所定の角度区間の直前および直後よりも小さいので、この所定の角度区間の信号周期を予測する場合、所定の角度区間の直前および直後よりも調整量の絶対値を小さくする。
【０１１１】
具体的には、図５において、ＴＤＣを含む前後の所定の角度区間の信号周期Ｔ（５）、Ｔ（６）の予測周期である予測信号周期Ｔ’（５）、Ｔ’（６）を信号周期Ｔ（４）、Ｔ（５）を計測するタイミングで求める場合、信号周期Ｔ（５）の直前の信号周期Ｔ（４）の予測信号周期Ｔ’（４）、ならびに信号周期Ｔ（６）の直後の信号周期Ｔ（７）の予測信号周期Ｔ’（７）を予測するよりも、角度特性係数を小さくし調整量の絶対値を小さくしている。
【０１１２】
（エンジン回転速度と信号周期との関係）
図６に、エンジン回転速度が低回転時（Ａ）、中回転時（Ｂ）、高回転時（Ｃ）における信号周期の変化特性を示す。
【０１１３】
図６において、Ｔｍａｘ、Ｔａｖｅ、Ｔｍｉｎはそれぞれエンジン回転状態が一定で定常運転した場合の信号周期の最大値、平均値、最小値を示す。信号周期は各気筒の圧縮行程と燃焼行程とにおける筒内圧力の影響を受け７２０／ｋ［°ＣＡ］（ｋは気筒数）周期で変化する。
【０１１４】
エンジンが低回転時には、筒内圧力が長時間作用するためエンジン回転速度の変化は大きく、エンジン回転速度が中回転、高回転と上昇するにしたがい、エンジン回転速度の変化は小さくなる。
【０１１５】
低回転時および中回転時には信号周期が変化する支配的要因は、圧縮行程および燃焼行程における筒内圧力と負荷トルクであり、クランク角度に応じて規則的で比較的滑らかで大きな変化をする特徴があるのに対し、高回転時では周期的な回転変化は小さく、不規則なノイズ成分が支配的となる。
【０１１６】
この不規則なノイズ成分はクランク軸の軸ねじれや機械振動によるものである。低回転時において信号周期が滑らかに変化する場合では、今回までの信号周期から次回の信号周期をある程度予測できるが、信号周期が振動的に激しく変動する高回転時では、補正処理によって不要なノイズ成分が強調され却って誤差が大きくなることがある。
【０１１７】
そこで本実施形態では、クランク角度に加え、エンジン回転速度に応じて信号周期の角度特性係数を設定することで、所定の回転速度以上の高回転域では、例えば信号周期の調整量を小さくしてノイズ成分による信号周期の予測精度の劣化を低減する。角度特性係数によるノイズの低減処理以外にも、平均化等のフィルタ処理により高周波成分を除去してもよい。
【０１１８】
以上説明した図４の周期予測処理１によると、今回までに計測された信号周期から信号周期の変化量を算出し、算出した変化量とクランク角度に応じて設定された角度特性係数とを乗算して調整量を算出している。そして、今回までに計測された信号周期のうち調整対象とする基準信号周期に調整量を加算して基準信号周期をクランク角度に応じて調整する。これにより、今回までに計測された信号周期に基づき、今回よりも後の信号周期をクランク角度に応じて高精度に予測することができる。
【０１１９】
また、最大でも今回までに計測された今回、前回および前々回の３個の信号周期に基づいて今回よりも後の信号周期を予測できるので、今回までに計測された信号周期を記憶する記憶容量を低減できる。
【０１２０】
以上説明した図４の周期予測処理１において、Ｓ４００〜Ｓ４１０の処理は本発明の周期予測手段が実行する機能に相当する。また、図４の説明において、角度特性係数が本発明の調整係数に相当する。
【０１２１】
（周期予測処理２）
図７に、前述したクランク角度に加え、エンジン回転速度に応じて信号周期の角度特性係数を設定する周期予測処理２のフローチャートを示す。
【０１２２】
図７において、Ｓ４２０、Ｓ４２４、Ｓ４３０およびＳ４３２は、図４のＳ４００、Ｓ４０２、Ｓ４０８およびＳ４１０と対応しており、実質的に同一処理である。
図７の周期予測処理２では、Ｓ４２０でクランク角度θを読込むことに加え、Ｓ４２２においてエンジン回転速度ＮＥを読込んでいる。そして、クランク角度θおよびエンジン回転速度ＮＥに応じて予め設定されている角度特性係数Ｋ（θ，ＮＥ）を読込み（Ｓ４２６）、変化量αと角度特性係数Ｋ（θ，ＮＥ）とを乗算して調整量Ｈを算出する（Ｓ４２８）。
【０１２３】
このように、クランク角度θおよびエンジン回転速度ＮＥに応じて予め設定されている角度特性係数Ｋ（θ，ＮＥ）を用いて調整量Ｈを算出することにより、例えば所定速度以上の高回転時において低回転時および中回転時よりも角度特性係数の値を小さくして調整量の絶対値を小さくする。これにより、高回転時において、ノイズ成分による信号周期の予測精度の劣化を低減できる。
【０１２４】
尚、エンジン回転速度が第１速度以上になると、エンジン回転速度が前記第１速度未満の場合よりも角度特性係数を小さくして信号周期の調整量の絶対値を小さくし、エンジン回転速度が第１速度よりも遅い第２速度未満になると、エンジン回転速度が第２速度以上の場合よりも角度特性係数を大きくして調整量の絶対値を大きくすることが望ましい。
【０１２５】
これにより、エンジン回転速度が第１速度以上になり調整量が大きくなると、エンジン回転速度が第１速度よりも遅い第２速度未満になるまで、調整量は変化しない。また、エンジン回転速度が第２速度未満になり調整量が小さくなると、エンジン回転速度が第２速度よりも速い第１速度以上になるまで、調整量は変化しない。
【０１２６】
その結果、エンジン回転速度が第１速度または第２速度付近で変動しても、調整量が頻繁に増減することを防止できるので、調整量が頻繁に増減することにより生じる異常動作の発生を防止でき、信頼性が向上する。
【０１２７】
以上説明した図７の周期予測処理２において、Ｓ４２０〜Ｓ４３２の処理は本発明の周期予測手段が実行する機能に相当する。
（変化量算出処理１）
図８に、図４のＳ４０２および図７のＳ４２４で実行される変化量αの算出処理のフローチャートを示す。
【０１２８】
ＥＣＵ１０は、今回までに計測したクランク角信号の２個の信号周期Ｔ（ｉ−ｍ）、Ｔ（ｉ−ｎ）を読込み（Ｓ４４０、Ｓ４４２）、次式（２）から信号周期の変化量αを算出する（Ｓ４４４）。式（２）では、２個の信号周期Ｔ（ｉ−ｍ）、Ｔ（ｉ−ｎ）の差分を、２個の信号周期が計測される順番の差の絶対値で除算して変化量αを算出している。
【０１２９】
α＝（Ｔ（ｉ−ｍ）−Ｔ（ｉ−ｎ））／｜ｎ−ｍ｜  ・・・（２）
尚、信号周期Ｔ（ｉ）は、前回と今回とのクランク角信号のパルスの時間間隔を表わしている。そして、変化量αは、例えば、最新の２個の連続する信号周期の差を算出して求められる。この場合ｍ＝０、ｎ＝１、｜ｎ−ｍ｜＝１である。
【０１３０】
式（２）の分母は、｜ｎ−ｍ｜≧２の場合に、複数区間離れた２個の信号周期の差を平均して今回よりも後の次回の信号周期に対応させるために１区間の信号周期の差に変換するための項である。
【０１３１】
間に１個以上の信号周期を挟んだ信号周期の差を信号周期が計測された順番で除算することにより、不規則的なノイズ成分を低減できる。例えば、連続する最新の２個の信号周期から変化量αを求める場合、つまりｍ＝０、ｎ＝１、｜ｎ−ｍ｜＝１の場合、例えば信号周期Ｔ（ｉ）にノイズ成分Ｎが含まれているとすると、変化量αは次式（３）で算出される。
【０１３２】
α＝Ｔ（ｉ）−Ｔ（ｉ−１）＋Ｎ                ・・・（３）
式（３）では、変化量αにノイズ成分Ｎがそのまま加算される。一方、互いに１区間離れた２個の信号周期から変化量αを算出する場合、つまりｍ＝０、ｎ＝２、｜ｎ−ｍ｜＝２の場合、変化量αは次式（４）で算出される。
【０１３３】
α＝｛（Ｔ（ｉ）−Ｔ（ｉ−２））／２｝＋Ｎ／２    ・・・（４）
式（４）では、ノイズ成分Ｎを半減できる。したがって、２個の信号周期の間の区間をさらに離せば、ノイズ成分の影響をより低減できる。
【０１３４】
ただし、２個の信号周期の間の区間を離し過ぎると、信号周期の変化特性が平均化され、今回までに計測された信号周期の変化特性に適切に適応できない。したがって、ノイズ成分の発生量および信号周期の変化特性に基づいて、信号周期の間の区間数を適切に設定する必要がある。
【０１３５】
尚、式（２）において、間に１個以上の信号周期を挟んだ信号周期の差を｜ｎ−ｍ｜で除算する代わりに、｜ｎ−ｍ｜で除算するときよりも角度特性係数Ｋを小さい値に設定することにより、ノイズ成分を低減してもよい。この場合、間に１個以上の信号周期を挟んでいても、変化量αは次式（５）で算出される。
【０１３６】
α＝Ｔ（ｉ−ｍ）−Ｔ（ｉ−ｎ）                ・・・（５）
以上説明した図８の変化量算出処理１において、Ｓ４４０〜Ｓ４４４の処理は本発明の周期予測手段が実行する機能に相当する。
【０１３７】
（変化量算出処理２）
図９に、変化量αの他の算出処理のフローチャートを示す。図９の変化量算出処理２では、図３において圧縮行程が終了しＴＤＣから燃焼行程に移行しエンジン回転速度が急激に上昇する角度区間、具体的には図５の角度区間Ａにおいて次回の予測信号周期を予測するときの変化量の算出処理が、図８の変化量算出処理１に加わっている。
【０１３８】
図９のＳ４５０において、ＥＣＵ１０は今回検出したクランク角度θが図５の角度区間Ａに含まれるか否かを判定する。
クランク角度θが角度区間Ａに含まれない場合（Ｓ４５０：Ｎｏ）、ＥＣＵ１０は、Ｓ４５２〜Ｓ４５６において図８のＳ４４０〜Ｓ４４４と同一処理を実行する。
【０１３９】
クランク角度θが角度区間Ａに含まれる場合（Ｓ４５０：Ｙｅｓ）、ＥＣＵ１０は、圧縮行程の減速区間における２個の信号周期Ｔ（ｉ−ｐ）、Ｔ（ｉ−ｑ）を読込み（Ｓ４５８、Ｓ４６０）、次式（６）から変化量αを求める（Ｓ４６２）。
【０１４０】
α＝（Ｔ（ｉ−ｐ）−Ｔ（ｉ−ｑ））／｜ｑ−ｐ｜  ・・・（６）
図５の角度区間Ａでは、ｐ＝２、ｑ＝１と設定し、今回の信号周期Ｔ（６）を計測したときに、次式（７）から変化量を算出している。
【０１４１】
α＝（Ｔ（４）−Ｔ（５））／｜１｜              ・・・（７）
つまり、角度区間Ａでは、通常の角度区間で今回と前回とで計測した信号周期を読込んでその差から変化量を算出する代わりに、前々回と前回とで計測した信号周期を読込み、信号周期の差を算出するときも、その順序を反転している。したがって、式（７）において変化量αの符号は「負」になる。
【０１４２】
このように、角度区間Ａにおいて次回の信号周期を予測するために変化量を算出する場合、圧縮行程における減速特性を燃焼行程の加速特性に変換して変化量αを算出する。
図５の燃焼行程の角度区間Ａにおいては、図９の変化量算出処理２で算出された変化量から、次回の予測信号周期Ｔ’（７）を次式（８）から算出する。
【０１４３】
Ｔ’（７）＝Ｔ（６）＋｛（Ｔ（４）−Ｔ（５））／｜１｜｝×１．５・・・（８）
このように、燃焼行程の角度区間Ａにおいては、角度特性係数を１．５に設定することにより、圧縮行程の減速区間における信号周期の変化量（Ｔ（５）−Ｔ（４））の絶対値よりも、調整量の絶対値｜（Ｔ（４）−Ｔ（５））／１｜×１．５を大きくしている。
【０１４４】
以上説明した図９の変化量算出処理２おいて、Ｓ４５０〜Ｓ４６２の処理は本発明の周期予測手段が実行する機能に相当する。
（変化量算出処理３）
図１０に、変化量αの他の算出処理のフローチャートを示す。図１０の変化量算出処理３では、図３において一つの気筒の燃焼行程において加速区間が終了し他の気筒の圧縮行程の減速区間が始まり、エンジン回転速度の変化がこの前後の角度区間よりも小さい角度区間Ｂ（図５の角度区間Ｂも参照）において、次回の予測信号周期を予測するときの変化量の算出処理が、図９の変化量算出処理２に加わっている。
【０１４５】
図１０のＳ４７０において、ＥＣＵ１０は今回検出したクランク角度θが図５の角度区間Ａに含まれるか否かを判定する。クランク角度θが角度区間Ａに含まれる場合（Ｓ４７０：Ｙｅｓ）、ＥＣＵ１０は、Ｓ４７２〜Ｓ４７６において図９のＳ４５８〜Ｓ４６２と同一処理を実行する。
【０１４６】
クランク角度θが角度区間Ａに含まれず（Ｓ４７０：Ｎｏ）、角度区間Ｂにも含まれない場合（Ｓ４７８：Ｎｏ）、ＥＣＵ１０は、Ｓ４８０〜Ｓ４８４において図９のＳ４５２〜Ｓ４５６と同一処理を実行する。
【０１４７】
クランク角度θが角度区間Ａに含まれず（Ｓ４７０：Ｎｏ）、角度区間Ｂに含まれる場合（Ｓ４７８：Ｙｅｓ）、ＥＣＵ１０は、角度区間Ｂ以外とは異なる選択パターンの２個の信号周期Ｔ（ｉ−ｒ）、Ｔ（ｉ−ｓ）を読込み（Ｓ４８６、Ｓ４８８）、次式（９）から変化量αを求める（Ｓ４９０）。
【０１４８】
α＝（Ｔ（ｉ−ｒ）−Ｔ（ｉ−ｓ））／｜ｒ−ｓ｜  ・・・（９）
図５に示す角度区間Ｂでは、ｒ＝０、ｓ＝２と設定し、次式（１０）から変化量を算出している。
【０１４９】
α＝（Ｔ（ｉ）−Ｔ（ｉ−２））／｜２｜          ・・・（１０）
このように、角度区間Ｂでは、間に１個以上の信号周期の挟んだ２個の信号周期の差を、信号周期が計測された順番の差で除算することにより、式（４）で説明したように、ノイズ成分の影響を低減できる。
【０１５０】
以上説明した図１０の変化量算出処理３において、Ｓ４７０〜Ｓ４９０の処理は本発明の周期予測手段が実行する機能に相当する。
（変化量算出処理４）
図１１に、変化量αの他の算出処理のフローチャートを示す。
【０１５１】
図１１のＳ５００〜Ｓ５０４は図８のＳ４４０〜Ｓ４４４と同一処理である。そして、Ｓ５０６においてＥＣＵ１０は、Ｓ５０４で算出した変化量αの値が負であるか否かを判定する。
【０１５２】
変化量αの値が正であれば（Ｓ５０６：Ｎｏ）、減速区間において信号周期を予測しており、基準信号周期よりも予測信号周期が大きくなると考えられる。このとき、検出したクランク角度θが加速区間を示していると（Ｓ５０８：Ｙｅｓ）、Ｓ５０４で算出した変化量はノイズやセンサ異常の発生により異常であると判断し、変化量αを「０」に設定し（Ｓ５１０）、予測を禁止する。
【０１５３】
変化量αの値が負であれば（Ｓ５０６：Ｙｅｓ）、加速区間において信号周期を予測しており、基準信号周期よりも予測信号周期が小さくなると考えられる。このとき、検出したクランク角度θが減速区間を示していると（Ｓ５１２：Ｙｅｓ）、Ｓ５０４で算出した変化量はノイズやセンサ異常の発生により異常であると判断し、変化量αを「０」に設定し（Ｓ５１０）、予測を禁止する。
【０１５４】
図１１の変化量算出処理４では、図３において各気筒の圧縮行程の減速区間と燃焼行程における加速区間とにおいて算出した変化量αが、該当角度区間において算出されると考えられる変化量を満たさない場合、ノイズやセンサ異常により生じる変化量の異常と判断し、予測を禁止する。したがって、次回の予測信号周期は今回計測した信号周期（基準信号周期）と同じ値になる。これにより、信号周期の誤調整を防止できる。
【０１５５】
以上説明した図１１の変化量算出処理４において、Ｓ５００〜Ｓ５０４の処理は本発明の周期予測手段が実行する機能に相当し、Ｓ５０６〜Ｓ５１０の処理は本発明の予測禁止手段が実行する機能に相当する。
【０１５６】
（周期調整部の回路構成）
図１２に、図２に示す周期調整部１３０の回路構成の一例である周期調整部１５０を示す。周期調整部１５０は、角度判定部１５２、履歴記憶部１５４、変化量算出部１５６、周期算出部１５８から構成されている。
【０１５７】
角度判定部１５２は、周期計測部１２０で計測されたクランク角信号のパルスカウント数を入力し、今回検出したクランク角度が各気筒のどの行程のどの角度位置であるかを判定する。
【０１５８】
そして、角度判定部１５２は、今回検出したクランク角度に応じて履歴出力制御信号を履歴記憶部１５４に出力する。履歴出力制御信号は、履歴記憶部１５４から出力される基準信号周期、履歴信号周期１、２を指定するとともに、履歴記憶部１５４に記憶されている信号周期を、変化量算出部１５６で変化量を算出するために使用する履歴信号周期１、２として出力するために信号周期に実施する前処理を指定する。
【０１５９】
さらに、角度判定部１５２は、今回検出したクランク角度に応じて、周期算出部１５８において調整量を算出するときに使用する角度特性係数を選択するための角度特性係数選択信号を出力する。
【０１６０】
履歴記憶部１５４は、周期計測部１２０が今回までに計測した複数の信号周期をレジスタ等に記憶する。そして、角度判定部１５２から出力される履歴出力制御信号に基づき、出力する基準信号周期、履歴信号周期１、２を選択するとともに、履歴信号周期１、２として出力する信号周期に前処理を実施する。
【０１６１】
変化量算出部１５６は、履歴記憶部１５４に記憶されている今回までの信号周期から、これまで説明した変化量αを算出する。
周期算出部１５８は、角度判定部１５２から出力される角度特性係数選択信号に基づいてクランク角度に応じた角度特性係数を選択し、変化量算出部１５６で算出された変化量αと選択した角度特性係数とを乗算し、今回計測した基準信号周期に加算して予測信号周期を算出する。
【０１６２】
以上説明した図１２において、周期調整部１５０は本発明の周期予測手段に相当し、角度判定部１５２は本発明の角度検出手段および制御手段に相当し、履歴記憶部１５４は本発明の履歴記憶手段に相当し、変化量算出部１５６は本発明の変化量算出手段に相当し、周期算出部１５８は本発明の周期算出手段に相当する。
【０１６３】
（履歴記憶部の回路構成）
図１３に、図１２に示す履歴記憶部１５４の回路構成の一例である履歴記憶部１６０を示す。履歴記憶部１６０は、周期計測部１２０で計測された信号周期を履歴レジスタ１６２ａ、１６２ｂ、１６２ｃに記憶する。本実施形態では、３個の履歴レジスタを備えている。尚、履歴レジスタの数は、基準信号周期を補正するために必要な信号周期の個数によっては、４個以上であってもよい。
【０１６４】
今回計測された最新の信号周期は履歴レジスタ１６２ａに記憶され、それまで履歴レジスタ１６２ａ、１６２ｂに記憶されていた信号周期は、履歴レジスタ１６２ｂから履歴レジスタ１６２ｃに、履歴レジスタ１６２ａから履歴レジスタ１６２ｂに順次移動される。
【０１６５】
ＭＵＸ（Multiplexer）１６６は、角度判定部１５２から出力される履歴出力制御信号に基づき、変化量を算出するために必要な信号周期を記憶している履歴レジスタを履歴レジスタ１６２ａ、１６２ｂ、１６２ｃから選択して出力するとともに、基準信号周期を出力する。基準信号周期は、履歴レジスタ１６２ａ、１６２ｂ、１６２ｃのうち今回計測された信号周期でもよいし、それ以外の信号周期でもよい。
【０１６６】
シフタ１６４ａ、１６４ｂは、角度判定部１５２から出力される履歴出力制御信号に基づき、ＭＵＸ１６６から出力される信号周期に対し、間に１個以上の信号周期を挟んだ信号周期の差を信号周期が計測された順番で除算する場合に、除算に対応するシフト処理を実行する。したがって、間に１個以上の信号周期を挟んだ信号周期の差は２のべき乗であることが望ましい。
【０１６７】
尚、間に１個以上の信号周期を挟んだ信号周期の差を信号周期が計測された順番で除算して変化量、すなわち調整量を小さくすることに代えて角度特性係数を小さくする場合、図１３のシフタ１６４ａ、１６４ｂを省略できる。
【０１６８】
以上説明した図１３において、履歴記憶部１６０は本発明の履歴記憶手段に相当し、履歴レジスタ１６２ａ〜１６２ｃは本発明の周期記憶部に相当する。
（周期算出部の回路構成）
図１４に、図１２に示す周期算出部１５８の回路構成の一例である周期算出部１７０を示す。周期算出部１７０のカウンタ１７２は、角度判定部１５２から出力される角度特性係数選択信号、実際にはパルス信号のパルス数をカウントする。そして、角度特性係数記憶部１７４は、カウンタ１７２がカウントするカウント数をポインタとして、クランク角度に応じて使用する順番で記憶している角度特性係数を順次出力する。
【０１６９】
角度特性係数記憶部１７４は、レジスタ等の書き換え可能な記憶部で構成されている。したがって、角度特性係数記憶部１７４またはソフトウェアを調整することなく、角度特性係数記憶部１７４に記憶されている角度特性係数をソフトウェアにより調整することができる。
【０１７０】
固定係数記憶部１７６には、固定の角度特性係数（以下、「固定係数」とも言う。）が記憶されている。固定係数は、複数のクランク角度において一定の角度特性係数を使用するときに、その角度特性係数を固定係数として固定係数記憶部１７６に記憶しておくことにより、角度特性係数記憶部１７４の記憶容量を低減できる。
【０１７１】
例えば、通常は角度特性係数として固定係数記憶部１７６に記憶されている１．０を角度特性係数とし、その他のクランク角度において、角度特性係数記憶部１７４に記憶されているクランク角度に応じた角度特性係数を使用する。
【０１７２】
セレクタ１７８は、角度特性係数選択信号のパルスが発生していない「０」の場合は固定係数記憶部１７６から出力される固定係数を選択し、角度特性係数選択信号のパルスが発生している「１」の場合は角度特性係数記憶部１７４から出力される角度特性係数を選択する。
【０１７３】
調整量算出部１８０は、図１２の変化量算出部１５６から出力される変化量αに、セレクタ１７８から出力される角度特性係数を乗算器等により乗算し調整量を算出する。この調整量は、例えば、圧縮行程の減速区間では正の値であり、燃焼行程の加速区間では負の値である。
【０１７４】
加算器１８２は、図１２の履歴記憶部１５４から出力される基準信号周期と調整量算出部１８０から出力される調整量とを加算して、次回の信号周期として予測される予測信号周期を算出する。
【０１７５】
以上説明した図１４において、周期算出部１７０は本発明の周期算出手段に相当する。
（調整量算出部の回路構成）
図１５の（Ａ）に、図１４に示す調整量算出部１８０の回路構成の一例である調整量算出部１９０を示す。調整量算出部１９０は、変化量αと角度特性係数とを乗算して調整量Ｈを算出する処理を、２個のシフタ１９４ａ、１９４ｂと１個の加減算器１９６とで実現している。この場合、角度特性係数は２のべき乗とその加減算で算出される値に設定されている。
【０１７６】
調整制御部１９２は、角度特性係数の値に応じてシフタ１９４ａ、１９４ｂのシフト量を切り換えるとともに、加減算器１９６の加算または減算を切り換える。
図１５の（Ｂ）に、角度特性係数と、シフタ１９４ａ、１９４ｂにより変化量を乗算する乗算値と、加減算器１９６の加算または減算との関係の一例を示す。
【０１７７】
シフタ１９４ａ、１９４ｂの乗算値はシフト演算可能な２のべき乗である。例えば、角度特性係数が１．７５の場合、シフタ１９４ａは左１ｂｉｔ、シフタ１９４ｂは右２ｂｉｔのシフト演算を行い、加減算器１９６は、シフタ１９４ａの出力からシフタ１９４ｂの出力を減算する。
【０１７８】
このように、シフタ１９４ａ、１９４ｂのシフト量と、加減算器１９６の加算または減算とを角度特性係数に応じて切り換えることにより、０〜２．０の範囲で角度特性係数を設定できる。尚、シフタ１９４ａ、１９４ｂのシフト量をさらに大きくすることで、角度特性係数の設定範囲を大きくするとともに、乗算値を細かくすることができる。
【０１７９】
以上説明した図１５の（Ａ）において、シフタ１９４ａ、１９４ｂおよび加減算器１９６は、角度特性係数が２のべき乗とその加減算とで算出される値に設定されている場合に、変化量に角度特性係数を乗算する回路である。
【０１８０】
（周期調整部の回路構成）
図１６に周期調整部の回路構成の他の例である周期調整部２００を示す。周期調整部２００では、最新の信号周期を基準信号周期とし、周期算出部１５８の出力と基準信号周期とのいずれかを、ソフトウェアの指令によりセレクタ２０２で選択する構成になっている。
【０１８１】
この構成によれば、セレクタ２０２以外の周期調整部２００に異常が発生した場合、周期調整部２００による信号周期の予測処理を禁止し、補正前の基準信号周期を予測信号周期として出力できる。その結果、周期調整部２００の異常時に異常な予測信号周期を次回の信号周期とすることを防止するので、信頼性が向上する。
【０１８２】
また、例えば、エンジン回転速度が高回転時にソフトウェアの指令によりセレクタ２０２で基準信号周期を選択し、基準信号周期に対する予測処理を禁止してもよい。これにより、予測処理によって不要なノイズ成分が強調され却って誤差が大きくなる高回転時において、予測処理による信号周期の予測精度の劣化を防止することができる。
【０１８３】
また、ＴＤＣ付近、ならびにＴＤＣとＴＤＣとの間の中間部分のように、信号周期の変化の小さい角度区間において、クランク角度に応じて角度判定部１５２から制御信号をセレクタ２０２に出力して基準信号周期を選択し、基準信号周期に対する予測処理を禁止してもよい。これにより、信号周期の変化が小さく予測処理によりノイズの影響を受けやすい角度区間において、予測処理による信号周期の予測精度の劣化を防止することができる。
【０１８４】
以上説明した図１６において、周期調整部２００は本発明の周期予測手段に相当し、セレクタ２０２は、基準信号周期と基準信号周期を調整して予測された予測信号周期とのいずれか一方を選択する本発明のセレクタに相当する。
【０１８５】
（周期学習部）
次に、図２に示す周期学習部３００について説明する。周期学習部３００は、周期予測部１１０が信号周期を予測するときに、基準信号周期に対する調整量を補正する必要がある場合、その補正量を決定して補正判定部３２０から周期調整部１３０に出力する。周期学習部１３０は集積回路で構成されている。
【０１８６】
図２の周期学習部３００が実行する学習補正処理のタイムチャートを図１７に示す。図１７において、クランク角信号１に対応するクランク角度１（ＣＡ１）が図２の学習対象角度を示しており、クランク角信号２に対応するクランク角度２（ＣＡ２）が図２の（学習対象角度＋１０°ＣＡ）を示している。
【０１８７】
図１７のタイムチャートでは、クランク角信号が発生する毎に、周期計測部１２０において前回と今回とのクランク角信号の信号周期が計測される。
そして、信号周期が計測されると、前述したように、今回計測された信号周期を含み今回までに計測された信号周期に基づいて、周期調整部１３０において周期予測処理が実行され、今回と次回とのクランク角信号の信号周期が予測される。周期予測処理は、クランク角信号が発生した直後のクロックφの立ち上がりに同期して、図１７の斜線で示す期間において実行される。周期調整部１３０で予測された予測信号周期は逓倍角度クロック生成部１４０の予測信号周期記憶部１４２に記憶される。
【０１８８】
周期学習部３００は、逓倍角度クロック生成部１４０から出力される予測信号周期をセレクタ３０２に入力するとともに、予測信号周期を前回予測信号周期としてレジスタ３０４に記憶する。
【０１８９】
セレクタ３０２は、周期計測部１２０から出力されるクランク角信号のパルスカウント数がクランク角度１（学習対象角度）であり、比較器３１０から出力される選択信号が１のときに逓倍角度クロック生成部１４０から出力される予測信号周期を選択し、クランク角信号のカウント数がクランク角度２（学習対象角度＋１０°ＣＡ）であり比較器３１０から出力される選択信号が０のときにレジスタ３０４に記憶されている前回予測信号周期を選択する。
【０１９０】
減算器３０６は、セレクタ３０２で選択された逓倍角度クロック生成部１４０から出力される予測信号周期またはレジスタ３０４に記憶されている予測信号周期のいずれかを、周期計測部１２０で計測された実信号周期から減算する。
【０１９１】
尚、減算器３０６は、外部からの異常信号が０であり、周期予測部１１０の学習制御部１３２の出力信号が１であり、クランク角信号のカウント数が学習対象角度または（学習対象角度＋１０°ＣＡ）である減算条件がすべて成立し、論理ゲート３１４から１が出力されると減算結果を出力し、減算条件のいずれかが成立しない場合には、減算結果を出力しない。
【０１９２】
クランク角信号のパルスカウント数が学習対象角度または（学習対象角度＋１０°ＣＡ）である減算条件は、比較器３１０、３１２のいずれかの出力が１であり論理ゲート３１６の出力が１のときに成立する。
【０１９３】
上記の条件にしたがい、今回発生したクランク角信号が学習対象角度であるクランク角信号１（ＣＡ信号１）の場合、セレクタ３０２は今回の予測信号周期を出力し、減算器３０６は、今回の予測信号周期から今回計測された実信号周期を減算する。
【０１９４】
ここで、クランク角信号１が発生したときに計測された実信号周期をＴ（ｉ）、クランク角信号１が発生したときに予測されたクランク角信号１とクランク角信号２との間の予測信号周期をＴ’（ｉ＋１）とすると、クランク角信号１が発生したときの減算器３０６の出力は、Ｔ’（ｉ＋１）−Ｔ（ｉ）である。これは、基準信号周期である実信号周期Ｔ（ｉ）から予測信号周期Ｔ’（ｉ＋１）を予測するときの基準信号周期Ｔ（ｉ）からの調整量を表わしている。
【０１９５】
次に、今回発生したクランク角信号が（学習対象角度＋１０°ＣＡ）であるクランク角信号２（ＣＡ２）の場合、セレクタ３０２はレジスタ３０４に記憶されている前回の予測信号周期を出力し、減算器３０６は、今回計測された実信号周期から前回の予測信号周期を減算する。
【０１９６】
このときの減算器３０６の出力は、クランク角信号２が発生したときに計測された実信号周期をＴ（ｉ＋１）とすると、Ｔ（ｉ＋１）−Ｔ’（ｉ＋１）である。これは、クランク角信号２が発生したときに計測された実信号周期Ｔ（ｉ＋１）からクランク角信号１が発生したときに予測された予測信号周期Ｔ’（ｉ＋１）を減算した周期誤差を表わしている。
【０１９７】
補正判定部３２０は、減算器３０６から出力される周期誤差が所定の誤差範囲内であれば、周期予測部１１０で予測した予測信号周期は適切であると判定する。
一方、補正判定部３２０は、減算器３０６から出力される周期誤差が所定の誤差範囲から外れると、周期調整部１３０で決定される基準信号周期に対する調整量を補正すべきであると判定し、その補正量を決定して周期調整部１３０に出力する。本実施形態では、調整量の補正は角度特性係数を補正することにより行う。
【０１９８】
図１７のタイムチャートでは、クランク角信号１が発生したタイミングで調整量を求め、クランク角信号２が発生したタイミングで周期誤差を求めた。
これに対し、図１８に示すように、クランク角信号２が発生したタイミングで、調整量および周期誤差を同時に求めてもよい。
【０１９９】
以上説明した図２の周期学習部３００は本発明の学習手段として機能し、論理ゲート３１４は学習禁止手段に相当する。
次に、本実施形態による信号周期の学習補正処理１、学習補正処理１で実行される補正判定処理および補正処理のフローチャートを図１９〜図２１に示す。図１９〜図２１に示すフローチャートは周期学習部３００で実行される。
【０２００】
図１９のＳ５２０において、ＥＣＵ１０は補正判定処理を実行する。Ｓ５２０の補正判定処理では、少なくとも、予め設定された最大学習回数の過半数回分が実行される。例えば、最大学習回数を１０回に設定すると、Ｓ５２０の補正判定処理は少なくとも６回実行される。
【０２０１】
（補正判定処理）
以下、Ｓ５２０で実行される補正判定処理の詳細を図２０のフローチャートに基づいて説明する。
【０２０２】
図２０のＳ５４０においてＥＣＵ１０は、角度特性係数を補正すべきか否かを判定するための係数判定閾値を、次式（１１）から求める。周期学習部３００は、式（１１）の調整量および現在の角度特性係数を周期予測部１１０から取得する。
【０２０３】
係数判定閾値＝｜調整量／現在の角度特性係数｜×係数分解能  ・・・（１１）
式（１１）において、調整量は、エンジン回転速度が減少する角度区間では正になり、エンジン回転速度が増加する角度区間では負になり、角度特性係数の値は角度区間に関わらず正である。そして、｜調整量／現在の角度特性係数｜の項は、角度特性係数を乗算する前の変化量の絶対値を表わしている。また、図２２の（Ａ）に示すように、角度特性係数を０．２５毎に増減して設定する場合には、係数分解能は０．２５となる。
【０２０４】
したがって、係数判定閾値は角度特性係数を分解能単位で増減したときに増減する増減量の絶対値を表わしている。例えば図２２において、調整量が１０または−１０の場合、係数判定閾値は２．５になる。
【０２０５】
Ｓ５４２においてＥＣＵ１０は、周期誤差の絶対値が式（１１）で求めた係数判定閾値より大きいか否かを判定する。この判定は、実際に計測された実信号周期と、図２２の（Ｂ）に示すように、現在の角度特性係数が１．０の場合に調整量が１０または−１０として求めた予測信号周期との差分である周期誤差の絶対値が２．５より大きいか否かを判定することになる。
【０２０６】
周期誤差の絶対値が係数判定閾値より大きい場合（Ｓ５４２：Ｙｅｓ）、調整量が正で周期誤差も正の場合には予測信号周期が実信号周期よりも小さ過ぎるので、角度特性係数を大きくして基準信号周期に加算する調整量を大きくし、調整量が正で周期誤差が負の場合には予測信号周期が実信号周期よりも大き過ぎるので角度特性係数を小さくして基準信号周期に加算する調整量を小さくする必要がある。
【０２０７】
また、調整量が負で周期誤差も負の場合には予測信号周期が実信号周期よりも大き過ぎるので角度特性係数を大きくして基準信号周期から減算する調整量の絶対値を大きくし、し、調整量が負で周期誤差が正の場合には予測信号周期が実信号周期よりも小さ過ぎるので角度特性係数を小さくして基準信号周期から減算する調整量の絶対値を小さくする必要がある。
【０２０８】
そこで、周期誤差の絶対値が係数判定閾値より大きく（Ｓ５４２：Ｙｅｓ）、周期誤差と調整量の符号が一致している場合には（Ｓ５４４：Ｙｅｓ）、ＥＣＵ１０は学習値に１を加算し（Ｓ５４６）、周期誤差と調整量の符号が一致していない場合には（Ｓ５４４：Ｎｏ）、ＥＣＵ１０は学習値から１を減算する（Ｓ５４８）。
【０２０９】
学習値は、正であれば角度特性係数を増加するか否かを判定するための閾値となり、負であれば角度特性係数を減少するか否かを判定するための閾値となる。
周期誤差の絶対値が係数判定閾値以下の場合（Ｓ５４２：Ｎｏ）、予測信号周期が適切に設定されていると判断できる。この場合、本実施形態では、Ｓ５４６、Ｓ５４８で設定されている学習値の値を０に近づけ、角度特性係数が増減されにくくなるように設定する。
【０２１０】
そこで、周期誤差の絶対値が係数判定閾値以下の場合（Ｓ５４２：Ｎｏ）、学習値が負であれば（Ｓ５５０：Ｙｅｓ）、ＥＣＵ１０は学習値に１を加算して学習値を０に近づけ（Ｓ５４６）、学習値が正であれば（Ｓ５５２：Ｎｏ）、ＥＣＵ１０は学習値から１を減算して学習値を０に近づける（Ｓ５４８）。
【０２１１】
学習値が０の場合（Ｓ５５０：Ｎｏ、Ｓ５５２：Ｎｏ）、ＥＣＵ１０は本処理を終了する。
以上説明した図２０の補正判定処理は、本発明の学習手段が実行する機能に相当する。また、学習値は本発明の補正判定値に相当する。また、係数判定閾値は本発明の所定の誤差範囲に相当する。
【０２１２】
図２０の補正判定処理では、周期誤差の絶対値が係数判定閾値より大きい場合に学習値を増減するだけでなく、周期誤差の絶対値が係数判定閾値以下の場合に学習値を０に近づける処理を実行した。これに対し、周期誤差の絶対値が係数判定閾値より大きい場合に学習値を増減する処理だけを実行してもよい。
【０２１３】
（学習補正処理１）
図１９のＳ５２０で図２０の補正判定処理が実行されると、図１９のＳ５２２においてＥＣＵ１０は、正または負の値を有する学習値の絶対値が最大学習回数の過半数に達したか否かを判定する。最大学習回数はソフトウェアによって任意の回数に設定される。
【０２１４】
学習値の絶対値が最大学習回数の過半数に達すると（Ｓ５２２：Ｙｅｓ）、ＥＣＵ１０は、Ｓ５２０の処理に戻らず、Ｓ５２８に処理を移行して補正処理を実行する。これは、本実施形態では、学習値の絶対値が最大学習回数の過半数に達すると、角度特性係数を増減するか否かを決定してもよいと判断するからである。これにより、補正判定処理を実行する回数を低減し、処理時間を低減できる。
【０２１５】
学習値の絶対値が最大学習回数の過半数に達していない場合（Ｓ５２２：Ｎｏ）、ＥＣＵ１０は学習回数に１を加算し（Ｓ５２４）、学習回数が最大学習回数以上であるか否かを判定する（Ｓ５２６）。学習回数の初期値は０である。学習回数が最大学習回数未満の場合（Ｓ５２６：Ｎｏ）、ＥＣＵ１０はＳ５２０に処理を戻す。
【０２１６】
学習回数が最大学習回数以上の場合（Ｓ５２６：Ｙｅｓ）、ＥＣＵ１０はＳ５２８に処理を移行して補正処理を実行する。
Ｓ５２８においてＥＣＵ１０は、図２１に示す補正処理により角度特性係数を増減する補正を実行する。図２１の補正処理については後述する。Ｓ５２８を実行すると、ＥＣＵ１０は現在の学習対象角度を更新して次の学習対象角度を設定し（Ｓ５３０）、学習回数を０に設定して本処理を終了する（Ｓ５３２）。このように、１個の学習対象角度において学習補正処理が終了すると学習対象角度を順次更新することにより、信号周期の変化特性の全体において周期誤差を低減できる。
【０２１７】
Ｓ５３０において、学習対象角度は、１０°ＣＡ毎にクランク角度を増加して順次設定してもよいし、所定の角度だけを選択して設定してもよい。
以上説明した図１９の学習補正処理１は、本発明の学習手段が実行する機能に相当する。
【０２１８】
図１９の学習補正処理１では、学習対象角度である１個のクランク角度に該当するクランク角信号が発生すると補正判定処理を実行し、学習値の絶対値が最大学習回数の過半数に達するか、学習回数が最大学習回数になると、Ｓ５２８の補正処理を実行して学習対象角度を更新した。
【０２１９】
これに対し、学習対象角度である全てのクランク角度において、該当するクランク角信号が発生する毎に補正判定処理および判定処理からなる学習補正処理を並列に実行してもよい。
【０２２０】
（補正処理）
図１９のＳ５２８で実行される補正処理の詳細を図２１のフローチャートに基づいて説明する。
【０２２１】
図２１のＳ５６０においてＥＣＵ１０は、図２０の補正判定処理により設定された学習値が角度特性係数を増加するときの増加判定閾値よりも大きいか否かを判定する。増加判定閾値は、図１９の学習補正処理１で設定されている最大学習回数が例えば１０回であれば、学習値の絶対値が最大学習回数の過半数に達したときに図２１の処理が実行されることを考慮し、例えば５回に設定される。
【０２２２】
学習値が増加判定閾値よりも大きい場合（Ｓ５６０：Ｙｅｓ）、ＥＣＵ１０は現在の角度特性係数が補正範囲の最大値であるか否かを判定する（Ｓ５６２）。角度特性係数が補正範囲の最大値ではない場合（Ｓ５６２：Ｎｏ）、ＥＣＵ１０は角度特性係数を分解能の単位で増加する（Ｓ５６４）。図２２の例であれば、角度特性係数を０．２５増加する。Ｓ５６４の実行後、ＥＣＵ１０はＳ５７６に処理を移行する。
【０２２３】
角度特性係数がすでに補正範囲の最大値である場合（Ｓ５６２：Ｙｅｓ）、ＥＣＵ１０は、これ以上角度特性係数を増加することはできず、角度特性係数を補正して予測できる予測信号周期の範囲からする補正範囲では実信号周期と予測信号周期との周期誤差を所定の誤差範囲にすることができない異常であると判断し、異常信号を出力して異常を報知する（Ｓ５６６）。異常原因としては、周期計測部１２０による信号周期の誤計測等が考えられる。異常を報知することにより、適切な処置を施すことができる。
【０２２４】
学習値が増加判定閾値以下の場合（Ｓ５６０：Ｎｏ）、ＥＣＵ１０は学習値が減少判定閾値より小さいか否かを判定する（Ｓ５６８）。減少判定閾値は、図１９の学習補正処理１で設定されている最大学習回数が１０回であれば、学習値の絶対値が最大学習回数の過半数に達したときに図２１の処理が実行されることを考慮し、例えば−５回に設定される。
【０２２５】
学習値が減少判定閾値よりも小さい場合（Ｓ５６８：Ｙｅｓ）、ＥＣＵ１０は現在の角度特性係数が補正範囲の最小値であるか否かを判定する（Ｓ５７０）。角度特性係数が補正範囲の最小値ではない場合（Ｓ５７０：Ｎｏ）、ＥＣＵ１０は角度特性係数を分解能の単位で減少する（Ｓ５７２）。図２２の例であれば、角度特性係数を０．２５減少する。Ｓ５７２の実行後、ＥＣＵ１０はＳ５７６に処理を移行する。
【０２２６】
角度特性係数がすでに補正範囲の最小値である場合（Ｓ５７０：Ｙｅｓ）、ＥＣＵ１０は、これ以上角度特性係数を減少することはできず、角度特性係数を補正する補正範囲では実信号周期と予測信号周期との周期誤差を所定の誤差範囲にすることができない異常であると判断し、異常信号を出力して異常を報知する（Ｓ５７４）。
【０２２７】
学習値が増加判定閾値以下であり（Ｓ５６０：Ｎｏ）、かつ減少判定閾値以上の場合（Ｓ５６８：Ｎｏ）、ＥＣＵ１０は予測信号周期は適切に設定されている判断し、Ｓ５７６に処理を移行する。
【０２２８】
Ｓ５７６においてＥＣＵ１０は、学習値を０に設定して本処理を終了する。
図２１の補正処理では、増加判定閾値および減少判定閾値は、例えばエンジンの機種に応じて任意に設定される。その結果、エンジンの機種毎に角度特性係数を適切に補正して調整量を補正できる。
【０２２９】
また、図２１の補正処理では、増加判定閾値および減少判定閾値を１個設定した。これに対し、増加判定閾値および減少判定閾値の少なくとも一方を異なる値で複数設定してもよい。そして、増加判定閾値および減少判定閾値の少なくとも一方について複数設定された値毎に角度特性係数の増減量が設定される。例えば、図２２の例であれば、複数設定された値に応じて、角度特性係数を±０．２５単位と±０．５単位とで増減してもよい。これにより、学習値に応じて高精度に角度特性係数を補正して調整量を補正できる。その結果、信号周期を高精度に予測できる。
【０２３０】
以上説明した図２１の補正処理において、Ｓ５６０〜Ｓ５６４、Ｓ５６８〜Ｓ５７２の処理は本発明の学習手段が実行する機能に相当し、Ｓ５６６およびＳ５７４の処理は本発明の報知手段が実行する機能に相当する。
【０２３１】
そして、増加判定閾値は本発明の所定の上限値に相当し、減少判定閾値は本発明の所定の下限値に相当する。
また、図１９〜図２１の学習補正処理、補正判定処理および補正処理を実行することにより、信号周期の変化特性がエンジンの機差または経年変化により変化しても、実信号周期と予測信号周期との周期誤差を学習して角度特性係数を高精度に補正し、基準信号周期に対する調整量を補正できる。その結果、基準信号周期を調整して基準信号周期よりも後の信号周期を高精度に予測できる。
【０２３２】
（学習補正処理２）
図２３に他の学習補正処理２のフローチャートを示す。図１９の学習補正処理１では、一つのクランク角度毎に角度特性係数に対する学習補正処理を行った。これに対し、図２３の学習補正処理２では、複数のクランク角度において同じ角度特性係数を用いて調整量を設定する角度区間において、同じ角度区間の複数のクランク角度に対して学習補正処理をまとめて実行し、共通の角度特性係数を補正する。
【０２３３】
まずＳ５８０においてＥＣＵ１０は、補正判定処理を実行する。この補正判定処理は、図２０で実行される補正判定処理と実質的に同一であるので説明を省略する。次にＥＣＵ１０は、学習回数に１を加算し（Ｓ５８２）、学習回数が最大学習回数未満であれば（Ｓ５８４：Ｎｏ）、Ｓ５８０に処理を戻す。
【０２３４】
学習回数が最大学習回数以上の場合（Ｓ５８４：Ｙｅｓ）、ＥＣＵ１０は補正判定処理で設定した学習値を学習値合計に加算する（Ｓ５８６）。学習値合計の初期値は０である。次に、ＥＣＵ１０は、現在の学習対象角度を更新して次の学習対象角度を設定し（Ｓ５８８）、学習値および学習回数を０に設定する（Ｓ５９０、Ｓ５９２）。図２３の学習補正処理２では、学習対象角度は、１０°ＣＡ毎にクランク角度を増加して順次設定される。
【０２３５】
Ｓ５９４においてＥＣＵ１０は、学習角度数に１を加算し、学習角度数が最大学習角度数未満の場合（Ｓ５９６：Ｎｏ）、Ｓ５８０に処理を戻す。学習角度数の初期値は０である。最大学習角度数は、一つの角度区間において共通の角度特性係数を使用する学習対象角度としてのクランク角度の数である。
【０２３６】
学習角度数が最大学習角度以上になると（Ｓ５９６：Ｙｅｓ）、ＥＣＵ１０は学習値合計を学習値に設定し（Ｓ５９８）、補正処理を実行する（Ｓ６００）。この補正処理は、図２１で実行される補正処理と実質的に同一であるので説明を省略する。ただし、１個のクランク角度に対して学習した学習値に対し、複数のクランク角度に対して学習した学習値であるから、Ｓ６００で実行される場合の図２１の補正処理では、図１９のＳ５２８で実行される場合の図２１の補正処理よりも、増加判定閾値は大きく減少判定閾値は小さく設定される。
【０２３７】
Ｓ６００で補正処理が実行されると、ＥＣＵ１０は、学習値合計および学習角度数を０に設定し（Ｓ６０２、Ｓ６０４）、本処理を終了する。
図２３の学習補正処理において、一つの角度区間において学習補正処理が終了すると、ＥＣＵ１０は、次の角度区間の学習補正処理を順次実行する。
【０２３８】
以上説明した図２３の学習補正処理２は、本発明の学習手段が実行する機能に相当する。
図２３の学習補正処理２では、同じ角度区間において、学習対象角度である１個のクランク角度に該当するクランク角信号が発生すると補正判定処理を実行し、学習値の絶対値が最大学習回数の過半数に達するか、学習回数が最大学習回数になると、角度区間内で学習対象角度を更新した。
【０２３９】
これに対し、同じ角度区間において学習対象角度である全てのクランク角度において、該当するクランク角信号が発生する毎に補正判定処理を並列に実行してもよい。この場合、角度区間内の全てのクランク角度において補正判定処理が終了すると、補正処理を実行する。
【０２４０】
（他の周期学習部）
図２に示す周期学習部３００では、学習判定処理を集積回路で構成されるハードウェアで実行した。これに対し、図２４の周期学習部３３０では、周期誤差および調整量の算出を演算部３４０においてソフトウェアで実行し、角度特性係数補正量の算出、補正の異常判定を補正判定部３５０でソフトウェアで実行する。
【０２４１】
図２４の周期学習部３３０は、本発明の学習手段として機能する。
[他の実施形態]
上記実施形態では、今回までに計測された信号周期の差分である変化量を算出し、この変化量をクランク角度に応じた角度特性係数で調整することにより、今回計測された信号周期に調整量を加算して次回の信号周期を予測している。
【０２４２】
これに対し、今回計測された信号周期をクランク角度に応じて直接補正してもよい。例えば、今回計測された信号周期に角度特性係数を直接乗算してもよい。また、次回の信号周期ではなく、複数回後の信号周期を予測してもよい。
【０２４３】
また、信号周期の差分は、今回までに計測された２個の信号周期による１組の差分に限らず、複数組の差分をクランク角度に応じて重みづけして求めてもよい。
また、上記実施形態では、今回までに計測した信号周期に基づいて、今回までに計測した信号周期のうち調整対象となる基準信号周期をクランク角度に応じて調整し、今回より後の信号周期を予測した。
【０２４４】
これに対し、今回よりも前までに計測した信号周期に基づいて、今回よりも前までに計測した信号周期のうち調整対象となる基準信号周期をクランク角度に応じて調整し、基準信号周期より後で、かつ今回より前の過去の信号周期を予測してもよい。
【０２４５】
また、上記実施形態では、クランク角度におよびエンジン回転速度のうち少なくともクランク角度に応じて設定された角度特性係数により、基準信号周期を調整する調整量を決定して信号周期を予測した。
【０２４６】
これに対し、クランク角度に関わらず、計測された信号周期の前後の比率、または信号周期の変化量の比率に基づいて基準信号周期に対する調整量を決定し、信号周期を予測してもよい。この場合、実信号周期と予測信号周期との周期誤差に基づいて比率を調整して調整量を補正することが考えられる。
【０２４７】
上記実施形態に対し、エンジンの少なくとも一つの気筒の圧縮行程においてエンジン回転速度が減速する角度区間のうち所定の角度区間だけ学習補正処理を実行するか、あるいはエンジンの少なくとも一つの気筒の圧縮行程においてエンジン回転速度が減速する角度区間のうち所定の角度区間の学習頻度を他の角度区間より増加してもよい。
【０２４８】
また、エンジンの少なくとも一つの気筒の燃焼行程においてエンジン回転速度が加速する角度区間のうち所定の角度区間だけ学習補正処理を実行するか、あるいはエンジンの少なくとも一つの気筒の燃焼行程においてエンジン回転速度が加速する角度区間のうち所定の角度区間の学習頻度を他の角度区間より増加してもよい。
【０２４９】
これら角度区間においてはエンジン回転速度の変化量が大きいため、信号周期の変化量も大きい。そこで、これら角度区間において学習補正処理を実行したり、他の角度区間よりも学習頻度を増加したりすることにより、予測信号周期の誤差を低減できる。
【０２５０】
また、学習補正処理を実行するクランク角度は、エンジンの気筒毎に設定してもよい。これにより、学習すべき重要なクランク角度を気筒毎に設定できる。
また、学習補正処理を実行するクランク角度は、エンジンの気筒間で同じ位置に設定してもよい。これにより、各気筒において、同じクランク角度において実信号周期と予測信号周期との周期誤差を極力低減できる。その結果、気筒間のエンジン制御のばらつきを低減できる。
【０２５１】
また、電動モータにも、回転子が回転する回転速度に回転角度に応じた変化特性がある。したがって、電動モータの回転軸の回転に伴い所定の回転角度で発生する信号列である回転角信号の信号周期にも、回転角度に応じた変化特性がある。
【０２５２】
そこで、電動モータにおいても、今回までに計測された信号周期に基づき、回転角信号で表わされる回転軸の回転角度に応じて、今回までに計測された信号周期のうち補正対象となる基準信号周期を補正して今回より後の信号周期を補正してもよい。
【０２５３】
これにより、予測した信号周期の範囲において、回転角信号の角度間隔よりも詳細な回転角度位置を求めることができる。
上記実施形態では、車両用ディーゼルエンジンのエンジン制御装置に適用したが、本発明の適用はこれに限定されるものではなく、ガソリンエンジンのエンジン制御装置に適用してもよい。
【０２５４】
このように、本発明は、上記実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々の実施形態に適用可能である。
【符号の説明】
【０２５５】
１０：ＥＣＵ（エンジン制御装置、計測手段、周期予測手段、学習手段、角度位置予測手段、予測禁止手段、学習禁止手段、報知手段）、１２０：周期計測部（計測手段）、１３０、１５０、２００：周期調整部（周期予測手段）、１４０：逓倍角度クロック生成部（角度位置予測手段）、１５２：角度判定部（角度検出手段、制御手段）、１５４、１６０：履歴記憶部（履歴記憶手段）、１５６：変化量算出部（変化量算出手段）、１５８、１７０：周期算出部（周期算出手段）、１６２ａ、１６２ｂ、１６２ｃ：履歴レジスタ（周期記憶部）、２０２：セレクタ、３００、３３０：周期学習部（学習手段）、３１４：論理ゲート（学習禁止手段）
【図１】
0005708477.tif 000002
【図２】
0005708477.tif 000003
【図３】
0005708477.tif 000004
【図４】
0005708477.tif 000005
【図５】
0005708477.tif 000006
【図６】
0005708477.tif 000007
【図７】
0005708477.tif 000008
【図８】
0005708477.tif 000009
【図９】
0005708477.tif 000010
【図１０】
0005708477.tif 000011
【図１１】
0005708477.tif 000012
【図１２】
0005708477.tif 000013
【図１３】
0005708477.tif 000014
【図１４】
0005708477.tif 000015
【図１５】
0005708477.tif 000016
【図１６】
0005708477.tif 000017
【図１７】
0005708477.tif 000018
【図１８】
0005708477.tif 000019
【図１９】
0005708477.tif 000020
【図２０】
0005708477.tif 000021
【図２１】
0005708477.tif 000022
【図２２】
0005708477.tif 000023
【図２３】
0005708477.tif 000024
【図２４】
0005708477.tif 000025