(57)【特許請求の範囲】
【請求項１】
エンジンのクランク軸が所定角度回転する毎に所定方向のパルスエッジが発生するクランク角信号と、前記クランク角信号とは別のセンサ信号と、を入力するセンサ信号処理装置（１，５７，７１）であって、
当該センサ信号処理装置に入力される前記センサ信号を、前記クランク角信号に前記パルスエッジが発生する時間間隔よりも長い所定の遅延時間だけ遅延させ、その遅延後のセンサ信号を出力する遅延手段（２１，２３，２５，２５−１，２５−２，７３，７５−１，７５−２）、を備え、
前記クランク角信号に前記パルスエッジが発生したタイミング間を等分した各タイミングを、前記遅延時間だけ遅らせた各タイミングにおいて、前記遅延手段から出力される前記センサ信号の値を取得すること、
を特徴とするセンサ信号処理装置。
【請求項２】
請求項１に記載のセンサ信号処理装置において、
前記クランク角信号に前記パルスエッジが発生する毎に、前記パルスエッジの発生時間間隔を計測すると共に、その計測した発生時間間隔を所定数で割った時間を、逓倍周期として算出し、更に、前記パルスエッジが前回発生したタイミングと、そのタイミングから前記逓倍周期ずつ後の各タイミングとに、それぞれ前記遅延時間を加算した各タイミングを、取得タイミングとして算出する算出手段（Ｓ１１０〜Ｓ１３０，Ｓ２１０〜２６０）と、
前記遅延手段から出力される前記センサ信号の値を、前記算出手段により算出された前記各取得タイミングにおいて取得する取得手段（Ｓ３１０〜Ｓ３５０，Ｓ６１０〜Ｓ６３０）と、
を備えることを特徴とするセンサ信号処理装置。
【請求項３】
請求項２に記載のセンサ信号処理装置において、
前記遅延手段（２１，２３，２５−１，２５−２，７３，７５−１，７５−２）は、当該センサ信号処理装置に入力される前記センサ信号を、複数通りの異なる遅延時間だけ遅延させて、その遅延時間が異なる各センサ信号をそれぞれ出力するように構成されており、
前記エンジンの回転速度に応じて、前記複数通りの遅延時間の何れかを、前記算出手段が前記取得タイミングを算出するために使用する前記遅延時間として選択し、その選択した遅延時間を前記算出手段に使用させると共に、前記遅延手段から出力される前記各センサ信号のうち、前記選択した遅延時間だけ遅延されて出力されるセンサ信号の値を前記取得手段に取得させる選択手段（Ｓ５１０〜Ｓ５５０）、を備えること、
を特徴とするセンサ信号処理装置。
【請求項４】
請求項１ないし請求項３の何れか１項に記載のセンサ信号処理装置において、
前記遅延手段はフィルタであること、
を特徴とするセンサ信号処理装置。
【請求項５】
請求項４に記載のセンサ信号処理装置において、
前記フィルタとして、オールパスフィルタ（２５，２５−１，２５−２，７５−１，７５−２）を備えること、
を特徴とするセンサ信号処理装置。
【請求項６】
請求項１ないし請求項５の何れか１項に記載のセンサ信号処理装置において、
前記センサ信号は、前記エンジンの気筒内圧を検出するセンサ（５）からの信号であること、
を特徴とするセンサ信号処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、センサ信号の処理装置に関する。
【背景技術】
【０００２】
クランク角センサから出力されるクランク角信号には、エンジンのクランク軸が所定角度回転する毎（換言すれば所定クランク角毎）に所定方向のパルスエッジが発生する。以下では、この所定クランク角毎に発生するパルスエッジのことを、ＮＥエッジともいう。そして、クランク角信号にＮＥエッジが発生したタイミングでの、他のセンサ信号の値を、正しく取得するための技術として、例えば特許文献１に記載の技術がある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−８７６９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
クランク角信号とは異なるセンサ信号の値（以下単に、センサ信号値ともいう）として、ＮＥエッジの間隔に相当するクランク角（上記所定角度）を所定数で割った逓倍角毎のタイミングでのセンサ信号値を取得したい、という要望がある。しかし、上記文献１の技術は、その要望を実現することができない。
【０００５】
また第１例として、例えば、過去のＮＥエッジの発生時間間隔を上記所定数で割った時間を用いて、ＮＥエッジの次回の周期における逓倍角毎の各タイミングを予測し、その予測した各タイミングにおいてセンサ信号値を取得する、という手法が考えられる。しかし、エンジンの回転速度が変動すると、予測される各タイミングは実際の逓倍角毎のタイミングからずれてしまうため、正しいセンサ信号値を取得することができない。特にエンジンの回転速度が加速した場合には、センサ信号値の取得抜けが生じてしまう。
【０００６】
また第２例として、例えば、クランク軸が逓倍角だけ回転するのに要する時間よりも十分に短い一定時間毎に、センサ信号値を読み込んでメモリに順次格納していき、そのメモリ内のセンサ信号値の中から、クランク角信号に基づき算出した逓倍角毎のタイミングに最も近いタイミングでのセンサ信号値を選択する、という手法も考えられる。しかし、メモリの必要容量が非常に多くなってしまう。
【０００７】
そこで、本発明は、クランク角信号のパルスエッジ間隔に相当するクランク角を等分した逓倍角毎のタイミングでの、正しいセンサ信号値を、少ないメモリ容量で取得することができるようにすること、を目的としている。
【課題を解決するための手段】
【０００８】
第１発明のセンサ信号処理装置には、エンジンのクランク軸が所定角度回転する毎（換言すれば所定クランク角毎）に所定方向のパルスエッジが発生するクランク角信号と、クランク角信号とは別のセンサ信号とが、入力される。
【０００９】
このセンサ信号処理装置は、遅延手段を備える。遅延手段は、当該センサ信号処理装置に入力される前記センサ信号を、クランク角信号に前記パルスエッジが発生する時間間隔よりも長い所定の遅延時間だけ遅延させ、その遅延後のセンサ信号を出力する。そして、このセンサ信号処理装置は、クランク角信号に前記パルスエッジが発生したタイミング間を等分した各タイミングを、前記遅延時間だけ遅らせた各タイミングにおいて、遅延手段から出力されるセンサ信号の値を取得する。
【００１０】
このセンサ信号処理装置によれば、クランク角信号のパルスエッジ間隔に相当するクランク角（上記所定角度）を等分した逓倍角毎のタイミングでの、正しいセンサ信号値を、取得することができる。また、前述した第２例のように一定時間毎のセンサ信号値をメモリに順次格納していく必要がないため、必要なメモリ容量を少なくすることができる。
【００１１】
なお、特許請求の範囲に記載した括弧内の符号は、一つの態様として後述する実施形態に記載の具体的手段との対応関係を示すものであって、本発明の技術的範囲を限定するものではない。
【図面の簡単な説明】
【００１２】
【図１】第１実施形態の電子制御装置（ＥＣＵ）の構成を表す構成図である。
【図２】第１実施形態の逓倍周期算出処理を表すフローチャートである。
【図３】第１実施形態の取得情報算出処理を表すフローチャートである。
【図４】時刻キュー、チャンネルキュー、キューボトム及びキュートップを説明する説明図である。
【図５】第１実施形態の信号取得処理を表すフローチャートである。
【図６】第１実施形態の取得時刻設定処理を表すフローチャートである。
【図７】第１実施形態の作用を説明する説明図である。
【図８】１次オールパスフィルタの係数毎の「周波数−遅延時間」特性を示すグラフである。
【図９】オールパスフィルタの次数毎の「係数−遅延時間」特性を示すグラフである。
【図１０】オールパスフィルタの係数毎の「次数−遅延時間」特性を示すグラフである。
【図１１】各種フィルタのゲイン特性を示すグラフである。
【図１２】各種フィルタの遅延時間特性を示すグラフである。
【図１３】第２実施形態の電子制御装置（ＥＣＵ）の構成を表す構成図である。
【図１４】第２実施形態の遅延時間選択処理を表すフローチャートである。
【図１５】第３実施形態の電子制御装置（ＥＣＵ）の構成を表す構成図である。
【図１６】第３実施形態の信号取得処理を表すフローチャートである。
【発明を実施するための形態】
【００１３】
以下に、本発明が適用された実施形態のセンサ信号処理装置としての電子制御装置について説明する。以下では、電子制御装置のことをＥＣＵという。ＥＣＵは、「Electronic Control Unit」の略である。
【００１４】
［第１実施形態］
図１に示すように、第１実施形態のＥＣＵ１には、クランク角センサ３からのクランク角信号（以下、ＮＥ信号という）Ｓａが入力される。ＮＥは、「Number of Engine Speed」の略である。更に、ＥＣＵ１には、筒内圧センサ（ＣＰＳ:Cylinder Pressure Sensor）５からのセンサ信号（以下、ＣＰＳ信号という）Ｓｃが入力される。筒内圧センサ５は、エンジンの気筒内圧（詳しくは気筒内の圧力）を検出して、その気筒内圧を表すアナログのＣＰＳ信号Ｓｃを出力する。
【００１５】
ＥＣＵ１は、クランク角センサ３からのＮＥ信号Ｓａが入力される入力回路としてのローパスフィルタ（以下、ＬＰＦという）７と、波形整形回路９と、マイクロコンピュータ（以下、マイコンという）１１と、を備える。
【００１６】
ＬＰＦ７は、ＮＥ信号Ｓａからノイズを除去するために設けられており、位相固定用の抵抗１３と、抵抗１４及びコンデンサ１５とによって構成されている。ＬＰＦ７を通過したノイズ除去後のＮＥ信号は、波形整形回路９により、図７の１段目に示すような矩形波（即ち、ハイとローとの何れかになる信号）に波形整形される。波形整形回路９は、基準電圧を生成する抵抗１６，１７と、ＬＰＦ７からのＮＥ信号と基準電圧とを大小比較する比較器１８とによって構成されている。比較器１８の出力は、ＬＰＦ７からのＮＥ信号が基準電圧よりも大きければハイになり、そうでなければローになる。
【００１７】
そして、波形整形回路９で波形整形されたＮＥ信号Ｓｂは、マイコン１１に入力される。マイコン１１に入力されるＮＥ信号Ｓｂには、図７の１段目及び４段目に示すように、エンジンのクランク軸が所定角度回転する毎（本第１実施形態では１０°ＣＡ毎）に所定方向のパルスエッジである有効エッジ（この例では立ち下がりエッジ）が発生する。以下では、ＮＥ信号Ｓｂにおける１０°ＣＡ毎のパルスエッジ（有効エッジ）のことを、ＮＥエッジという。尚、ＬＰＦ７での信号の遅延時間は無視できる程度に小さい。
【００１８】
また、ＥＣＵ１は、筒内圧センサ５からのＣＰＳ信号Ｓｃが入力される入力回路としてのアンチエイリアシングフィルタ（以下、ＡＡＦという）２１と、ノイズ除去用のＬＰＦ（ローパスフィルタ）２３と、オールパスフィルタ（以下、ＡＰＦという）２５と、を備える。
【００１９】
ＡＡＦ２１は、位相固定用の抵抗２７と、抵抗２８及びコンデンサ２９，３０とによって構成されている。ＡＡＦ２１を通過したＣＰＳ信号は、ＬＰＦ２３に入力される。ＬＰＦ２３は、抵抗３３，３４と、コンデンサ３５，３６と、オペアンプ３７とによって構成されている。ＬＰＦ２３を通過したノイズ除去後のＣＰＳ信号は、ＡＰＦ２５に入力される。ＡＰＦ２５は、周波数特性が一定で位相遅延だけを発生させるフィルタであり、抵抗３９，４０，４１と、コンデンサ４２と、オペアンプ４３とによって構成されている。そして、ＡＰＦ２５を通過したＣＰＳ信号Ｓｄは、マイコン１１に入力される。
【００２０】
マイコン１１は、ＣＰＵ４５、ＲＯＭ４６、ＲＡＭ４７及びＡ／Ｄ変換器（ＡＤＣ）４８を備える。Ａ／Ｄ変換器４８には、ＡＰＦ２５を通過したＣＰＳ信号Ｓｄが、Ａ／Ｄ変換対象として入力される。そして、マイコン１１では、ＣＰＵ４５が、ＲＯＭ４６に記憶されているプログラムを実行することで、逓倍周期算出部５１と、取得情報算出部５２と、取得時刻設定部５３と、信号取得部５４との、それぞれとして機能する。
【００２１】
本第１実施形態のＥＣＵ１は、ＮＥエッジの間隔に相当するクランク角（この例では１０°）を、１よりも大きい所定の逓倍率（所定数に相当）で割った逓倍角毎のタイミングでの、ＣＰＳ信号Ｓｃの値（以下単に、ＣＰＳ信号値ともいう）を取得するようになっている。そして、マイコン１１において、逓倍周期算出部５１、取得情報算出部５２、取得時刻設定部５３及び信号取得部５４は、逓倍角毎のタイミングでのＣＰＳ信号値を取得するための制御を行う部分である。
【００２２】
また、ＥＣＵ１において、ＡＡＦ２１、ＬＰＦ２３及びＡＰＦ２５は、当該ＥＣＵ１に入力されるＣＰＳ信号を遅延させて出力する遅延手段に相当する。そして、ＡＡＦ２１、ＬＰＦ２３及びＡＰＦ２５でのトータルの遅延時間Ｔｄｆ１は、エンジンが運転状態の場合にＮＥエッジが発生する時間間隔の最大値よりも、長い時間に設定されている。尚、図１において、ＡＰＦ２５の次数は１次であるが、ＡＰＦ２５の次数を増やすのであれば、図１に示すＡＰＦ２５の回路構成を直列に複数つなげば良い。
【００２３】
次に、マイコン１１のＣＰＵ４５が行う処理について説明する。
〈逓倍周期算出処理〉
ＣＰＵ４５は、ＮＥ信号ＳｂにＮＥエッジが発生する毎に、図２の逓倍周期算出処理を行うことで、逓倍周期算出部５１として機能する。
【００２４】
図２に示すように、ＣＰＵ４５は、逓倍周期算出処理では、まずＳ１１０にて、ＮＥ時刻今回を、ＮＥ時刻前回として記憶し、次いで、現在のフリーラン時刻を、ＮＥ時刻今回として記憶する。
【００２５】
フリーラン時刻は、マイコン１１の内部クロックによって常時カウントアップしているフリーランカウンタの値であり、現在時刻に相当する。ＮＥ時刻今回とは、ＮＥエッジが今回発生した時刻である。ＮＥ時刻前回とは、ＮＥエッジが前回発生した時刻である。尚、マイコン１１が起動してから当該逓倍周期算出処理が最初に実行された場合（即ち、最初のＮＥエッジが発生した場合）には、Ｓ１１０にて、ＮＥ時刻前回としては、例えば所定のデフォルト値が記憶される。
【００２６】
そして、ＣＰＵ４５は、次のＳ１２０にて、ＮＥ時刻今回からＮＥ時刻前回を引いた値を、ＮＥ周期Ｔｎｅとして算出する。ＮＥ周期Ｔｎｅは、ＮＥエッジの発生時間間隔（詳しくは、ＮＥエッジが発生したタイミングの時間間隔）である。
【００２７】
ＣＰＵ４５は、次のＳ１３０にて、Ｓ１２０で算出したＮＥ周期Ｔｎｅを逓倍率で割った値を、逓倍周期Ｔｍとして算出し、その後、当該逓倍周期算出処理を終了する。Ｓ１３０で算出される逓倍周期Ｔｍは、クランク軸が逓倍角（＝１０°／逓倍率）だけ回転するのに要した実際の時間である。
【００２８】
〈取得情報算出処理〉
ＣＰＵ４５は、ＮＥ信号ＳｂにＮＥエッジが発生する毎に、図２の逓倍周期算出処理に続いて、図３の取得情報算出処理を行うことにより、取得情報算出部５２として機能する。但し、マイコン１１が起動してから図２の逓倍周期算出処理が最初に実行された場合には、実際の逓倍周期Ｔｍが未だ算出されていないため、図３の取得情報算出処理は実行されない。
【００２９】
図３に示すように、ＣＰＵ４５は、取得情報算出処理では、まずＳ２１０にて、ＮＥ時刻前回に遅延時間Ｔｄを加算した値を、基準時刻として算出する。本第１実施形態において、遅延時間Ｔｄは、ＡＡＦ２１、ＬＰＦ２３及びＡＰＦ２５でのトータルの遅延時間Ｔｄｆ１と同じ値である。
【００３０】
ＣＰＵ４５は、次のＳ２２０にて、Ｓ２３０〜Ｓ２６０の繰り返し回数をカウントするためのループカウンタＬＣを、０にする。
そして、ＣＰＵ４５は、Ｓ２３０にて、キューボトムに１を加算する。
【００３１】
キューボトムと後述するキュートップとの各々は、リングバッファ構造の時刻キューとチャンネルキューとの位置を示す位置情報である。時刻キューは、ＣＰＳ信号Ｓｄの値を取得すべき時刻（取得タイミングに相当）が、情報として格納されるキューである。チャンネルキューは、ＣＰＳ信号Ｓｄの値を取得するために使用するチャンネルの番号（以下、チャンネル番号という）が、情報として格納されるキューである。本第１実施形態では、Ａ／Ｄ変換器４８のチャンネル番号が、チャンネルキューに格納される。
【００３２】
そして、キューボトムは、時刻キューとチャンネルキューとの各々において、情報が最後に格納された位置を示し、キュートップは、時刻キューとチャンネルキューとの各々において、次の情報を格納する位置を示す。また、マイコン１１の起動時におけるキューボトム及びキュートップの初期値は、図４に示すように０であり、この０は、時刻キューとチャンネルキューとの各々において、先頭に相当する０番目（０）の位置を示す。尚、図４は、時刻キューとチャンネルキューとのうち、時刻キューの方を例示しており、図４におけるｔ１〜ｔ４の各々は、時刻キューの１番目（１）から４番目（４）の各位置に格納された時刻である。また、キューボトムとキュートップとの各々は、１の加算によって最終値ｎになった後、次に１の加算が行われると、０に戻るようになっている。
【００３３】
図３の説明に戻る。ＣＰＵ４５は、次のＳ２４０にて、時刻キュー（キューボトム）に、下記式１の値を格納すると共に、チャンネルキュー（キューボトム）に、チャンネル番号を格納する。
【００３４】
「基準時刻＋逓倍周期Ｔｍ×ＬＣ」…式１
尚、時刻キュー（キューボトム）は、時刻キューの各位置のうち、キューボトムが示す位置のことである。同様に、チャンネルキュー（キューボトム）は、チャンネルキューの各位置のうち、キューボトムが示す位置のことである。そして、図３において、「ｃｈ」は「チャンネル」の略であり、このことは他の図においても同様である。
【００３５】
また、式１において、基準時刻は、Ｓ２１０で算出された値であり、逓倍周期Ｔｍは、図２のＳ１３０で算出された値であり、ＬＣは、ループカウンタＬＣの値である。また、本第１実施形態では、Ａ／Ｄ変換器４８のチャンネルのうち、例えば第１チャンネルにＣＰＳ信号Ｓｄが入力されるようになっているため、Ｓ２４０では、チャンネルキュー（キューボトム）に、チャンネル番号として、第１チャンネルの番号が格納される。
【００３６】
ＣＰＵ４５は、次のＳ２５０にて、ループカウンタＬＣをインクリメントし、次のＳ２６０にて、ループカウンタＬＣの値が逓倍率以上になったか否かを判定する。
そして、ＣＰＵ４５は、ループカウンタＬＣの値が逓倍率未満であれば（Ｓ２６０：ＮＯ）、Ｓ２３０に戻る。また、ＣＰＵ４５は、ループカウンタＬＣの値が逓倍率以上であれば（Ｓ２６０：ＹＥＳ）、Ｓ２７０に進む。
【００３７】
ＣＰＵ４５は、Ｓ２７０では、取得時刻が未設定であるか否かを判定する。取得時刻は、ＣＰＳ信号Ｓｄの値を取得する時刻であり、時刻キューに格納された何れかの時刻が、この取得時刻として設定される。
【００３８】
そして、ＣＰＵ４５は、取得時刻が未設定でなければ（Ｓ２７０：ＮＯ）、そのまま当該取得情報算出処理を終了するが、取得時刻が未設定であれば（Ｓ２７０：ＹＥＳ）、Ｓ２８０に進む。尚、マイコン１１が起動してから当該取得情報算出処理が最初に実行された場合には、取得時刻が未設定であり、Ｓ２７０で「ＹＥＳ」と判定される。
【００３９】
ＣＰＵ４５は、Ｓ２８０では、ＮＥエッジが前回発生したときのクランク角から逓倍角を引いた値を、ＣＰＳ信号クランク角として設定する。尚、クランク角は、例えば、ＮＥ信号Ｓｂと、特定のカム角位置でパルスが生じるカム角信号とに基づいて算出され、０°ＣＡから７２０°ＣＡまでの値である。そして、ＣＰＳ信号クランク角は、後述する図５の処理で取得するＣＰＳ信号値が、どのクランク角でのＣＰＳ信号値であるかを示す付加情報である。また、Ｓ２８０の処理を行うのは、後述する図５のＳ３６０で、ＣＰＳ信号クランク角に逓倍角を加える処理を行うからである。
【００４０】
ＣＰＵ４５は、次のＳ２８５にて、キュートップに１を加算する。
ＣＰＵ４５は、次のＳ２９０にて、時刻キュー（キュートップ）に格納されている時刻を、取得時刻として設定し、チャンネルキュー（キュートップ）に格納されているチャンネル番号を、取得チャンネルとして設定する。
【００４１】
尚、時刻キュー（キュートップ）は、時刻キューの各位置のうち、キュートップが示す位置のことである。同様に、チャンネルキュー（キュートップ）は、チャンネルキューの各位置のうち、キュートップが示す位置のことである。また、取得チャンネルは、ＣＰＳ信号Ｓｄの値を取得するために実際に使用するチャンネル（本第１実施形態では、Ａ／Ｄ変換器４８のチャンネル）を示す。
【００４２】
そして、ＣＰＵ４５は、次のＳ２９５にて、キュートップに１を加算し、その後、当該取得情報算出処理を終了する。
〈信号取得処理〉
フリーラン時刻が取得時刻と一致すると、ＣＰＵ４５は、図５の信号取得処理を行うことにより、信号取得部５４として機能する。
【００４３】
図５に示すように、ＣＰＵ４５は、信号取得処理では、まずＳ３１０にて、ＡＤＣ実行フラグをオンにする。ＡＤＣ実行フラグは、それをオンにするとＡ／Ｄ変換器４８によるＡ／Ｄ変換が開始され、Ａ／Ｄ変換が完了するとオフになるレジスタである。
【００４４】
ＣＰＵ４５は、次のＳ３２０にて、ＡＤＣ実行フラグがオフになるまで待つ。つまり、ＣＰＳ信号ＳｄのＡ／Ｄ変換が完了するまで待つ。そして、ＣＰＵ４５は、ＡＤＣ完了フラグがオフになったと判定すると（Ｓ３２０：ＹＥＳ）、Ｓ３３０に進む。
【００４５】
ＣＰＵ４５は、Ｓ３３０では、取得チャンネルが第１チャンネルであるか否かを判定する。具体的には、取得チャンネルの値が第１チャンネルの番号であるか否かを判定する。そして、取得チャンネルが第１チャンネルであれば（Ｓ３３０：ＹＥＳ）、Ｓ３４０に進む。ＣＰＵ４５は、Ｓ３４０では、Ａ／Ｄ変換器４８のレジスタから、第１チャンネルのＡ／Ｄ変換値であるＡＤＣ第１チャンネル値（即ち、ＣＰＳ信号ＳｄのＡ／Ｄ変換値）を読み出し、そのＡＤＣ第１チャンネル値を、ＣＰＳ信号値としてＲＡＭ４７に格納する。
【００４６】
また、ＣＰＵ４５は、Ｓ３３０にて、取得チャンネルが第１チャンネルではないと判定した場合には、Ｓ３５０に進み、Ａ／Ｄ変換器４８のレジスタから、第２チャンネルのＡ／Ｄ変換値であるＡＤＣ第２チャンネル値を読み出し、そのＡＤＣ第２チャンネル値を、ＣＰＳ信号値としてＲＡＭ４７に格納する。
【００４７】
尚、Ｓ３５０の処理は、Ａ／Ｄ変換器４８の第２チャンネルにＣＰＳ信号Ｓｄが入力される場合を想定した処理である。本第１実施形態では、常に第１チャンネルの番号が取得チャンネルとして設定されるため、Ｓ３３０とＳ３５０を削除して、Ｓ３２０で「ＹＥＳ」と判定した場合にＳ３４０へ進むようにしても良い。また、Ｓ３３０とＳ３５０を削除する場合、図３のＳ２４０でチャンネルキュー（キューボトム）にチャンネル番号を格納する処理と、図３のＳ２９０及び後述する図６のＳ４１０で取得チャンネルを設定する処理も、不要となる。一方、本第１実施形態では、Ｓ３１０，Ｓ３２０，Ｓ３４０の処理が、ＣＰＳ信号Ｓｄの値を取得する処理に相当する。
【００４８】
ＣＰＵ４５は、Ｓ３４０又はＳ３５０の処理を行った後、Ｓ３６０に進む。ＣＰＵ４５は、Ｓ３６０では、ＣＰＳ信号クランク角に逓倍角を加え、その逓倍角を加えた後のＣＰＳ信号クランク角を、今回のＳ３４０又はＳ３５０でＲＡＭ４７に格納したＣＰＳ信号値と対応付けて、ＲＡＭ４７に格納する。そして、その後、当該信号取得処理を終了する。
【００４９】
〈取得時刻設定処理〉
ＣＰＵ４５は、図５の信号取得処理に続いて、図６の取得時刻設定処理を行うことにより、取得時刻設定部５３として機能する。
【００５０】
図６に示すように、ＣＰＵ４５は、取得時刻設定処理では、Ｓ４１０にて、図３のＳ２９０と同様に、時刻キュー（キュートップ）に格納されている時刻を、取得時刻として設定し、チャンネルキュー（キュートップ）に格納されているチャンネル番号を、取得チャンネルとして設定する。そして、ＣＰＵ４５は、次のＳ４１５にて、キュートップに１を加算し、その後、当該取得時刻設定処理を終了する。
【００５１】
〈具体例の説明〉
次に、ＣＰＵ４５が上記各処理を行うことによる作用の具体例を、図７を用いて説明する。尚、図７は、「逓倍率＝４」で「逓倍角＝１０°／４＝２．５°」である場合の一例を示している。
【００５２】
図７に示すように、マイコン１１が起動してから最初のＮＥエッジ（有効エッジ）が時刻ｔ０１で発生し、次のＮＥエッジが時刻ｔ０５で発生したとする。
時刻ｔ０５でＣＰＵ４５が図２の逓倍周期算出処理を実行した場合には、時刻ｔ０１がＮＥ時刻前回として記憶され、時刻ｔ０５がＮＥ時刻今回として記憶される（図２のＳ１１０）。そして、「時刻ｔ０５−時刻ｔ０１」の値（この例では０．６ｍｓ）が、ＮＥ周期Ｔｎｅとして算出され（図２のＳ１２０）、そのＮＥ周期Ｔｎｅを逓倍率（＝４）で割った値（この例では０．１５ｍｓ）が、逓倍周期Ｔｍとして算出される（図２のＳ１３０）。
【００５３】
更に、ＣＰＵ４５は、時刻ｔ０５では、図２の逓倍周期算出処理に続いて、図３の取得情報算出処理を実行することとなる。
その場合、図７に示すように、ＮＥ時刻前回としての時刻ｔ０１から前述の遅延時間Ｔｄ（この例では１．２ｍｓ）だけ後の時刻ｔ１が、基準時刻として算出される（図３のＳ２１０）。そして、図３におけるＳ２２０〜Ｓ２６０の処理により、時刻ｔ１と、その時刻ｔ１から逓倍周期Ｔｍ（＝０．１５ｍｓ）ずつ後の３個（＝「逓倍率−１」個）の各時刻ｔ２，ｔ３，ｔ４とが、時刻キューの１番目（１）から４番目（４）の各位置に順次格納される（図４参照）。また、チャンネルキューの１番目（１）から４番目（４）の各位置には、第１チャンネルの番号が格納される。
【００５４】
時刻ｔ１〜ｔ４の各々は、ＮＥエッジが前回発生した時刻ｔ０１と、その時刻ｔ０１から逓倍周期Ｔｍずつ後の各時刻ｔ０２，ｔ０３，ｔ０４とに、それぞれ遅延時間Ｔｄを加算した各時刻である。尚、時刻ｔ０２，ｔ０３，ｔ０４は、時刻ｔ０１でのクランク角（この例では４０°ＣＡ）から逓倍角ずつ後の各クランク角での時刻でもある。
【００５５】
また、ＣＰＵ４５が時刻ｔ０５で図３の取得情報算出処理を実行した場合、図３のＳ２７０では「ＹＥＳ」と判定される。そして、図３におけるＳ２８０の処理により、時刻ｔ０１でのクランク角から逓倍角を引いた値が、ＣＰＳ信号クランク角として設定される。更に、図３におけるＳ２８５〜Ｓ２９５の処理により、時刻キューの１番目（１）の位置に格納されている時刻ｔ１が、取得時刻として設定され、チャンネルキューの１番目（１）の位置に格納されているチャンネル番号が、取得チャンネルとして設定される。尚、前述したように、本第１実施形態では、常に第１チャンネルの番号が取得チャンネルとして設定される。
【００５６】
その後、時刻ｔ１が到来して、フリーラン時刻と取得時刻とが一致すると、ＣＰＵ４５は、図５の信号取得処理を実行する。すると、Ａ／Ｄ変換器４８によるＣＰＳ信号ＳｄのＡ／Ｄ変換が実施され（図５のＳ３１０）、時刻ｔ１でのＣＰＳ信号ＳｄのＡ／Ｄ変換値に相当するＡＤＣ第１チャンネル値が、ＣＰＳ信号値としてＲＡＭ４７に格納される（図５のＳ３４０）。更に、図５におけるＳ３６０の処理により、ＣＰＳ信号クランク角として、時刻ｔ０１でのクランク角が、ＣＰＳ信号値と対応付けてＲＡＭ４７に格納される。
【００５７】
そして、ＣＰＵ４５は、図５の信号取得処理に続いて、図６の取得時刻設定処理を実行する。この時点でキュートップは図３のＳ２９５により２に更新されている。よって、図６におけるＳ４１０の処理により、時刻キューの２番目（２）の位置に格納されている時刻ｔ２が、取得時刻として設定され、チャンネルキューの２番目（２）の位置に格納されているチャンネル番号が、取得チャンネルとして設定される。
【００５８】
その後、時刻ｔ２が到来して、フリーラン時刻と取得時刻とが一致すると、ＣＰＵ４５は、再び図５の信号取得処理を実行する。すると、Ａ／Ｄ変換器４８によるＣＰＳ信号ＳｄのＡ／Ｄ変換が実施され（図５のＳ３１０）、時刻ｔ２でのＣＰＳ信号ＳｄのＡ／Ｄ変換値に相当するＡＤＣ第１チャンネル値が、ＣＰＳ信号値としてＲＡＭ４７に格納される（図５のＳ３４０）。更に、図５におけるＳ３６０の処理により、ＣＰＳ信号クランク角として、時刻ｔ０１でのクランク角に逓倍角を加えたクランク角（即ち、時刻ｔ０２でのクランク角であり、この例では４２．５°ＣＡ）が、ＣＰＳ信号値と対応付けてＲＡＭ４７に格納される。
【００５９】
そして、ＣＰＵ４５は、図５の信号取得処理に続いて、図６の取得時刻設定処理を実行する。この時点でキュートップは、前回の図６におけるＳ４１５により３に更新されている。よって、今回の図６におけるＳ４１０では、時刻キューの３番目（３）の位置に格納されている時刻ｔ３が、取得時刻として設定され、チャンネルキューの３番目（３）の位置に格納されているチャンネル番号が、取得チャンネルとして設定される。
【００６０】
その後も、フリーラン時刻と取得時刻とが一致する毎に、図５と図６の処理が実行される。このため、時刻ｔ３でのＣＰＳ信号ＳｄのＡ／Ｄ変換値と、時刻ｔ０３でのクランク角（この例では４５°ＣＡ）とが、対応付けてＲＡＭ４７に格納され、同様に、時刻ｔ４でのＣＰＳ信号ＳｄのＡ／Ｄ変換値と、時刻ｔ０４でのクランク角（この例では４７．５°ＣＡ）とが、対応付けてＲＡＭ４７に格納される。
【００６１】
また、図７に示すように、時刻ｔ０５から１．０ｍｓ後の時刻ｔ０９で、次のＮＥエッジが発生したとすると、図２及び図３の処理が再び実行される。尚、この場合、図３の処理では、Ｓ２７０で「ＮＯ」と判定されるため、Ｓ２８０〜Ｓ２９５はスキップされる。
【００６２】
このため、ＮＥエッジが前回発生した時刻ｔ０５から遅延時間Ｔｄだけ後の時刻ｔ５と、その時刻ｔ５から新たな逓倍周期Ｔｍ（この例では０．２５ｍｓ＝１．０ｍｓ／４）ずつ後の３個の各時刻ｔ６，ｔ７，ｔ８（尚、ｔ８は図示されず）とが、時刻キューの５番目（５）以降の各位置に順次格納される。そして、その時刻ｔ５〜ｔ８の各々において、図５及び図６の処理が実行される。その結果、時刻ｔ５，ｔ６，ｔ７，ｔ８でのＣＰＳ信号ＳｄのＡ／Ｄ変換値と、時刻ｔ０５，ｔ０６，ｔ０７，ｔ０８でのクランク角とが、対応付けてＲＡＭ４７に格納されることとなる。尚、時刻ｔ０６，ｔ０７，ｔ０８は、時刻ｔ０５から逓倍周期Ｔｍ（＝０．２５ｍｓ）ずつ後の各時刻であり、時刻ｔ０５でのクランク角（この例では５０°ＣＡ）から逓倍角ずつ後の各クランク角での時刻でもある。
【００６３】
〈効果の説明〉
ＥＣＵ１では、筒内圧センサ５から入力されるＣＰＳ信号Ｓｃを、ＡＡＦ２１、ＬＰＦ２３及びＡＰＦ２５からなる遅延手段により、ＮＥエッジの発生時間間隔の最大値よりも長い遅延時間Ｔｄｆ１だけ遅延させている。そして、ＮＥエッジが発生したタイミング間を逓倍率で等分した各タイミングを、遅延時間Ｔｄｆ１と同じ遅延時間Ｔｄだけ遅らせた各タイミング（例えば図７の時刻ｔ２，ｔ３，ｔ４）において、遅延後のＣＰＳ信号Ｓｄの値を取得している。
【００６４】
このため、ＮＥエッジの間隔に相当するクランク角を逓倍率で等分した逓倍角毎のタイミングでの、正しいＣＰＳ信号値を、簡単に取得することができる。例えば、失火などの燃焼状態を検出する方法として、ＣＰＳ信号値と燃焼室容積から燃焼質量割合を求める技術があるが、燃焼室容積はクランク角に応じて変化するため、クランク角の変化に応じたＣＰＳ信号値の推移を詳細に把握することが必要である。よって、逓倍角毎のＣＰＳ信号値を取得することは非常に有益である。また、ＥＣＵ１によれば、前述した第２例のように一定時間毎のＣＰＳ信号値をメモリ（例えばＲＡＭ４７）に順次格納していく必要がないため、必要なメモリ容量を少なくすることができる。
【００６５】
また、ＥＣＵ１では、マイコン１１のＣＰＵ４５が、ＮＥエッジが発生する毎に、今回のＮＥ周期Ｔｎｅ（ＮＥエッジの発生時間間隔）を計測すると共に、その計測したＮＥ周期Ｔｎｅを逓倍率で割った時間を、逓倍周期Ｔｍとして算出する（Ｓ１１０〜Ｓ１３０）。更に、ＮＥエッジが前回発生したタイミングと、そのタイミングから逓倍周期Ｔｍずつ後の各タイミングとに、それぞれ遅延時間Ｔｄを加算した各タイミングを、ＣＰＳ信号Ｓｄの取得タイミングとして算出して時刻キューに格納する（Ｓ２１０〜Ｓ２６０）。そして、ＣＰＵ４５は、時刻キューに格納された各取得タイミングにおいて、ＣＰＳ信号Ｓｄの値を取得してＲＡＭ４７に格納する（Ｓ２７０，Ｓ２８５〜Ｓ２９５，Ｓ３１０〜Ｓ３４０，Ｓ４１０，Ｓ４１５）。このため、逓倍角毎のタイミングでのＣＰＳ信号値を漏れなく取得することができる。
【００６６】
また、ＣＰＳ信号Ｓｃを遅延させる遅延手段が、フィルタ（上記例では、ＡＡＦ２１、ＬＰＦ２３及びＡＰＦ２５）であるため、目的に応じた特性のフィルタを遅延手段として利用することができる。また、遅延手段をなすフィルタの少なくとも１つとして、ＡＰＦ２５を用いているため、遅延時間を任意に設定することが容易である。
【００６７】
次に、フィルタの特性について説明する。
〈１次ＡＰＦの係数毎の「周波数−遅延時間」特性〉
図８のグラフは、横軸を周波数、縦軸を遅延時間にして、ＡＰＦの係数Ａ毎の特性を示す。１次のＡＰＦの伝達関数は下記式２の通りであり、係数Ａは、伝達関数の係数Ａである。
【００６８】
【数１】
0006332069.tif 000002
【００６９】
図８のように、遅延時間は低周波数では一定であり、ある周波数を超えると遅延時間が減少する。また、係数Ａが大きくなるにつれて、遅延時間が減少し始める周波数が高くなる。つまり、係数Ａが大きいほど、入力信号の使用周波数域が広くなる。よって、係数Ａは、入力信号の使用周波数域（例えば１０Ｈｚ〜１２０Ｈｚ）において、遅延時間が一定である値を選択すれば良い。
【００７０】
〈ＡＰＦの次数毎の「係数−遅延時間」特性〉
図９のグラフは、横軸を係数Ａ、縦軸を遅延時間にして、ＡＰＦの次数毎の特性を示す。次数は、式２の伝達関数を掛け合わせる回数である。
【００７１】
図９のように、係数Ａの増加に伴って遅延時間は減少する。また、次数が増えるにつれて、遅延時間も増加する。また図８より、係数Ａが大きいほど使用周波数域は広くなるが、係数Ａとしては、必要な遅延時間を実現する値よりも小さい値を選択する必要がある。よって、必要な使用周波数域と遅延時間とが両立するように、次数を選択すれば良い。
【００７２】
〈ＡＰＦの係数毎の「次数−遅延時間」特性〉
図１０のグラフは、横軸を次数、縦軸を遅延時間にして、ＡＰＦの係数Ａ毎の特性を示す。図１０のように、次数の増加に伴って遅延時間が増加する。
【００７３】
〈各種フィルタのゲイン特性〉
図１１のグラフは、横軸を周波数、縦軸をゲインにして、各種フィルタ（ＡＡＦ、ＬＰＦ、ＡＰＦ、ＴＯＴＡＬ）の特性の例を示す。尚、ＴＯＴＡＬは、ＡＡＦとＬＰＦとＡＰＦとの合計値である。
【００７４】
図１１のように、ＡＰＦのゲイン特性は一定であるため、ＡＰＦは、入力信号の振幅に影響を与えない。
〈各種フィルタの遅延時間特性〉
図１２のグラフは、横軸を周波数、縦軸を遅延時間にして、各種フィルタ（ＡＡＦ、ＬＰＦ、ＡＰＦ、ＴＯＴＡＬ）の特性の例を示す。ＴＯＴＡＬは、ＡＡＦとＬＰＦとＡＰＦとの合計値である。そのＴＯＴＡＬの遅延時間が、必要な遅延時間以上で、かつ、使用周波数域の遅延時間が一定となるように、各フィルタの係数Ａと次数を選択すれば良い。尚、図１２の例ではＴＯＴＡＬの遅延時間が１３０８μｓに設定されている。
【００７５】
［第２実施形態］
次に、第２実施形態のＥＣＵについて説明するが、第１実施形態と同様の構成要素や処理については、第１実施形態と同じ符号を用いる。そして、このことは、後述する他の実施形態についても同様である。
【００７６】
図１３に示す第２実施形態のＥＣＵ５７は、第１実施形態のＥＣＵ１と比較すると、下記《１》，《２》の点が異なる。
《１》ＡＰＦ２５に代えて、２つのＡＰＦ２５−１，２５−２を備える。
【００７７】
一方のＡＰＦ２５−１は、第１実施形態（図１）のＡＰＦ２５と同じ構成及び特性のものである。他方のＡＦＰ２５−２も、ＡＰＦ２５−１と同様に、抵抗５９，６０，６１と、コンデンサ６２と、オペアンプ６３とによって構成されているが、ＡＦＰ２５−２は、それの遅延時間がＡＰＦ２５−１の遅延時間よりも短い時間となるように設計されている。
【００７８】
ＬＰＦ２３を通過したＣＰＳ信号は、２つのＡＰＦ２５−１，２５−２に入力される。そして、ＡＰＦ２５−１を通過したＣＰＳ信号Ｓｄ１は、Ａ／Ｄ変換器４８の第１チャンネルにＡ／Ｄ変換対象として入力され、ＡＰＦ２５−２を通過したＣＰＳ信号Ｓｄ２は、Ａ／Ｄ変換器４８の第２チャンネルにＡ／Ｄ変換対象として入力される。
【００７９】
ＡＡＦ２１、ＬＰＦ２３及びＡＰＦ２５−１でのトータルの遅延時間は、第１実施形態におけるトータルの遅延時間Ｔｄｆ１と同じであり、以下では、第１遅延時間Ｔｄｆ１という。
【００８０】
一方、ＡＡＦ２１、ＬＰＦ２３及びＡＰＦ２５−２でのトータルの遅延時間は、第１遅延時間Ｔｄｆ１よりも短く、以下では、第２遅延時間Ｔｄｆ２という。その第２遅延時間Ｔｄｆ２は、エンジン回転数が所定閾値（例えば２０００ｒｐｍ）の場合のＮＥ周期Ｔｎｅである判定値Ｔｔｈよりも、長い時間に設定されている。
【００８１】
《２》マイコン１１のＣＰＵ４５は、ＮＥ信号ＳｂにＮＥエッジが発生する毎に、図２の処理に続いて、図１４の遅延時間選択処理を行うことにより、遅延時間選択部５５として機能し、その遅延時間選択処理を終了してから図３の処理を行う。
【００８２】
図１４に示すように、ＣＰＵ４５は、遅延時間選択処理では、Ｓ５１０にて、図２のＳ１２０で算出した今回のＮＥ周期Ｔｎｅが、前述の判定値Ｔｔｈよりも大きい（長い）か否かを判定する。
【００８３】
ＣＰＵ４５は、ＮＥ周期Ｔｎｅが判定値Ｔｔｈよりも大きいと判定した場合には（Ｓ５１０：ＹＥＳ）、Ｓ５２０に進み、前述の第１遅延時間Ｔｄｆ１を、図３のＳ２１０で用いる遅延時間Ｔｄとして設定する。そして、次のＳ５３０にて、図３のＳ２４０でチャンネルキュー（キューボトム）に格納されるチャンネル番号を、第１チャンネルの番号に設定し、その後、当該遅延時間選択処理を終了する。
【００８４】
また、ＣＰＵ４５は、Ｓ５１０にて、ＮＥ周期Ｔｎｅが判定値Ｔｔｈよりも大きくない（つまり、ＮＥ周期Ｔｎｅが判定値Ｔｔｈ以下である）と判定した場合には、Ｓ５４０に進み、前述の第２遅延時間Ｔｄｆ２を、図３のＳ２１０で用いる遅延時間Ｔｄとして設定する。そして、次のＳ５５０にて、図３のＳ２４０でチャンネルキュー（キューボトム）に格納されるチャンネル番号を、第２チャンネルの番号に設定し、その後、当該遅延時間選択処理を終了する。
【００８５】
つまり、ＥＣＵ５７では、ＡＡＦ２１、ＬＰＦ２３及びＡＰＦ２５−１，ＡＰＦ２５−２からなる遅延手段が、筒内圧センサ５からのＣＰＳ信号Ｓｃを、複数通り（この例では２通り）の異なる遅延時間Ｔｄｆ１，Ｔｄｆ２だけ遅延させて、その遅延時間が異なる各ＣＰＳ信号Ｓｄ１，Ｓｄ２をそれぞれ出力する。
【００８６】
そして、ＣＰＵ４５は、エンジンの回転速度に相当するＮＥ周期Ｔｎｅに応じて、ＣＰＳ信号Ｓｄ１，Ｓｄ２の何れかを取得対象とする。換言すれば、ＡＰＦ２５−１，ＡＰＦ２５−２の何れかを切り替えて使用することで、遅延時間Ｔｄを可変にしている。
【００８７】
具体的には、ＣＰＵ４５は、ＮＥ周期Ｔｎｅに応じて、遅延時間Ｔｄｆ１，Ｔｄｆ２の何れかを、遅延後のＣＰＳ信号の取得タイミングを算出するために使用する遅延時間Ｔｄとして選択する（図１４のＳ５１０，Ｓ５２０，Ｓ５４０）。更に、図１４のＳ５３０，Ｓ５５０の処理を行うことにより、ＡＰＦ２５−１，ＡＰＦ２５−２からのＣＰＳ信号Ｓｄ１，Ｓｄ２のうち、遅延時間Ｔｄとして選択した遅延時間（Ｔｄｆ１又はＴｄｆ２）だけ遅延された方の信号値が、図５の処理で取得されるようにしている。
【００８８】
このような第２実施形態のＥＣＵ５７によれば、ＮＥ周期Ｔｎｅが短くなる高回転時には、遅延時間Ｔｄを短くすることができる。よって、ＣＰＳ信号値の検出応答性を向上させることができる。
【００８９】
尚、筒内圧センサ５からのＣＰＳ信号Ｓｃを遅延させる遅延時間は、２通りに限らず３通り以上でも良い。例えば、ＮＥ周期Ｔｎｅが短い場合ほど、３通り以上の遅延時間のうちで短い遅延時間を、実際に使用する遅延時間Ｔｄとして選択するように構成すれば良い。
【００９０】
［第３実施形態］
図１５に示す第３実施形態のＥＣＵ７１は、第２実施形態のＥＣＵ５７と比較すると、下記《３》〜《６》の点が異なる。
【００９１】
《３》マイコン１１のＡ／Ｄ変換器４８には、ＡＡＦ２１を通過したＣＰＳ信号がＡ／Ｄ変換対象として入力される。そして、Ａ／Ｄ変換器４８は、入力されるＣＰＳ信号を一定のサンプリング周期でＡ／Ｄ変換する。サンプリング周期は、エンジンのクランク軸が逓倍角だけ回転するのに要する時間の最小値よりも十分に短い時間に設定されている。
【００９２】
《４》ＬＰＦ２３とＡＰＦ２５−１，２５−２が設けられていない。その代わりに、マイコン１１が、デジタルのＬＰＦ７３及びＡＰＦ７５−１，７５−２を備えている。マイコン１１におけるＬＰＦ７３とＡＰＦ７５−１，７５−２との各々は、ＣＰＵ４５、あるいは、ＣＰＵ４５とは別の例えばデジタルシグナルプロセッサ（ＤＳＰ）が、デジタルフィルタの処理を実行することで実現されるフィルタである。
【００９３】
尚、図１５に示すＡＰＦ７５−１，７５−２は１次のフィルタであるが、次数を増やすのであれば、図１５に示すＡＰＦ７５−１，７５−２の回路構成を直列に複数つなげば良い。
【００９４】
また、ＡＡＦ２１とＬＰＦ７３及びＡＰＦ７５−１とのトータルの遅延時間は、第２実施形態における第１遅延時間Ｔｄｆ１と同じであり、ＡＡＦ２１とＬＰＦ７３及びＡＰＦ７５−２とのトータルの遅延時間は、第２実施形態における第２遅延時間Ｔｄｆ２と同じである。
【００９５】
《５》本第３実施形態において、チャンネルは、Ａ／Ｄ変換器４８のチャンネルのことではなく、フィルタのチャンネルのことであり、ＡＰＦ７５−１，７５−２の何れかを示す。このため、チャンネルキューに格納されるチャンネル番号は、ＡＰＦ７５−１，７５−２の何れかを示すチャンネル番号である。そして、図１４のＳ５３０にて、チャンネル番号として設定する第１チャンネルの番号は、ＡＰＦ７５−１に対応する番号であり、図１４のＳ５５０にて、チャンネル番号として設定する第２チャンネルの番号は、ＡＰＦ７５−２に対応する番号である。
【００９６】
《６》マイコン１１のＣＰＵ４５は、図５の信号取得処理に代えて、図１６の信号取得処理を行うことにより、信号取得部５４ａ（図１５参照）として機能する。
図１６の信号取得処理は、図５の信号取得処理と比較すると、Ａ／Ｄ変換器４８を起動するためのＳ３１０，Ｓ３２０が削除されている。また、図１６のＳ６１０は、図５のＳ３３０と同じ判定を行う処理であり、図１６のＳ６４０は、図５のＳ３６０と同じ処理である。
【００９７】
ＣＰＵ４５は、図１６の信号取得処理では、Ｓ６１０にて取得チャンネルが第１チャンネルである（詳しくは、取得チャンネルの値が第１チャンネルの番号である）と判定した場合には、図５のＳ３４０に代わるＳ６２０に進む。そして、ＣＰＵ４５は、Ｓ６２０では、第１チャンネルに相当するＡＰＦ７５−１から出力されるＣＰＳ信号の値（デジタルデータ）である第１フィルタ出力値Ｄｄ１を、その第１フィルタ出力値Ｄｄ１が格納されるレジスタから読み出して、ＣＰＳ信号値としてＲＡＭ４７に格納する。更に、ＣＰＵ４５は、Ｓ６４０の処理を行った後、当該信号取得処理を終了する。
【００９８】
また、ＣＰＵ４５は、Ｓ６１０にて取得チャンネルが第１チャンネルではない（即ち、取得チャンネルの値が第２チャンネルの番号である）と判定した場合には、図５のＳ３５０に代わるＳ６３０に進む。そして、ＣＰＵ４５は、Ｓ６３０では、第２チャンネルに相当するＡＰＦ７５−２から出力されるＣＰＳ信号の値（デジタルデータ）である第２フィルタ出力値Ｄｄ２を、その第２フィルタ出力値Ｄｄ２が格納されるレジスタから読み出して、ＣＰＳ信号値としてＲＡＭ４７に格納する。更に、ＣＰＵ４５は、Ｓ６４０の処理を行った後、当該信号取得処理を終了する。
【００９９】
本第３実施形態のＥＣＵ７１は、第２実施形態のＥＣＵ５７におけるＬＰＦ２３とＡＰＦ２５−１，２５−２をデジタルフィルタに置換したものである。そして、このようなＥＣＵ７１によっても、第２実施形態のＥＣＵ５７と同様の効果が得られる。尚、第１実施形態のＥＣＵ１についても、第３実施形態と同様に、例えばＬＰＦ２３とＡＰＦ２５をデジタルフィルタに置換しても良い。
【０１００】
以上、本発明の実施形態について説明したが、本発明は上記実施形態に限定されることなく、種々の形態を採り得る。また、前述の数値も一例であり他の値でも良い。
例えば、ＣＰＳ信号クランク角をＲＡＭ４７に格納する処理は省略しても良い。ＲＡＭ４７におけるＣＰＳ信号値の記憶順から、そのＣＰＳ信号値がどのクランク角での信号値であるかが識別可能であるからである。また、ＮＥエッジの発生タイミングでのＣＰＳ信号値については、故意に遅延させていないＣＰＳ信号（例えばＬＰＦ２３から出力されるＣＰＳ信号）をＮＥエッジの発生タイミングで取得するようにしても良い。また、センサ信号は、ＣＰＳ信号以外（例えばインジェクタの燃料圧センサからの信号等）でも良い。
【０１０１】
また、上記実施形態における１つの構成要素が有する機能を複数の構成要素として分散させたり、複数の構成要素が有する機能を１つの構成要素に統合させたりしてもよい。また、上記実施形態の構成の少なくとも一部を、同様の機能を有する公知の構成に置き換えてもよい。また、上記実施形態の構成の一部を省略してもよい。また、上記実施形態の構成の少なくとも一部を、他の上記実施形態の構成に対して付加又は置換してもよい。なお、特許請求の範囲に記載した文言によって特定される技術思想に含まれるあらゆる態様が本発明の実施形態である。また、上述したＥＣＵの他、当該ＥＣＵを構成要素とするシステム、当該ＥＣＵとしてコンピュータを機能させるためのプログラム、このプログラムを記録した媒体、センサ信号処理方法など、種々の形態で本発明を実現することもできる。
【符号の説明】
【０１０２】
１，５７，７１…センサ信号処理装置としての電子制御装置（ＥＣＵ）、２１…アンチエイリアシングフィルタ（ＡＡＦ）、２３，７３…ローパスフィルタ（ＬＰＦ）、２５，２５−１，２５−２，７３，７５−１，７５−２…オールパスフィルタ（ＡＰＦ）
【図１】
0006332069.tif 000003
【図２】
0006332069.tif 000004
【図３】
0006332069.tif 000005
【図４】
0006332069.tif 000006
【図５】
0006332069.tif 000007
【図６】
0006332069.tif 000008
【図７】
0006332069.tif 000009
【図８】
0006332069.tif 000010
【図９】
0006332069.tif 000011
【図１０】
0006332069.tif 000012
【図１１】
0006332069.tif 000013
【図１２】
0006332069.tif 000014
【図１３】
0006332069.tif 000015
【図１４】
0006332069.tif 000016
【図１５】
0006332069.tif 000017
【図１６】
0006332069.tif 000018