(57)【特許請求の範囲】
【請求項１】
回転軸が所定角度回転する毎に、そのことを示すタイミングエッジが発生する回転信号と、該回転信号に前記タイミングエッジが発生してから該タイミングエッジが次に発生するまでのパルス間隔の最小時間よりも短い一定時間毎に所定の機器により更新されるデータとが、入力される信号処理装置であって、
所定回数分の前記パルス間隔である単位間隔が終了する毎に、今回終了した前記単位間隔において前記一定時間毎に更新された前記データの総数と、前記パルス間隔当たりの目標データ保存数を前記所定回数倍した単位間隔毎目標データ保存数との関係を表す情報として、前記総数に対する前記単位間隔毎目標データ保存数の割合を表す割合情報を設定する割合情報設定手段と、
前記一定時間毎に更新される前記データを、前記割合情報設定手段により設定された割合情報が表す割合の頻度でメモリに転送する転送制御手段と、
を備えており、
前記割合情報設定手段は、
前記単位間隔が終了する毎に、今回終了した前記単位間隔の時間を計測する計測手段と、
前記計測手段による前記時間の計測値から、「該計測値／（前記単位間隔毎目標データ保存数×前記一定時間）」の演算結果を整数化処理した整数値を、前記割合情報として設定する設定手段とを備え、
前記転送制御手段は、前記機器からのデータが、前記設定手段により設定された前記整数値の回数だけ更新される毎に１回の割合で、該機器からのデータを前記メモリに転送すること、
を特徴とする信号処理装置。
【請求項２】
請求項１に記載の信号処理装置において、
前記転送制御手段は、
前記機器からのデータが入力されると共に、転送要求が与えられたときに入力されている前記データを前記メモリに転送する転送手段と、
前記機器からのデータの更新回数を計数し、該計数値が前記設定手段により設定された前記整数値と一致する毎に、前記転送手段に対して前記転送要求を与えると共に、前記計数値を初期化する転送要求出力手段とを備えていること、
を特徴とする信号処理装置。
【請求項３】
請求項２に記載の信号処理装置において、
前記転送要求出力手段は、前記回転信号に前記タイミングエッジが発生したときにも、前記転送手段に対して前記転送要求を与えると共に、前記計数値を初期化すること、
を特徴とする信号処理装置。
【請求項４】
請求項１ないし請求項３の何れか１項に記載の信号処理装置において、
前記整数化処理は、小数点以下を切り上げる処理であること、
を特徴とする信号処理装置。
【請求項５】
請求項１ないし請求項４の何れか１項に記載の信号処理装置において、
前記所定回数は、１回であり、
前記回転信号には、前記回転軸の回転位置が基準位置に来たときに、前記タイミングエッジの発生間隔が、前記所定角度の所定数倍の角度だけ前記回転軸が回転するのに要する時間になる欠歯部が発生するようになっており、
前記回転信号に前記タイミングエッジが発生する毎に、今回発生した前記タイミングエッジが前記欠歯部の終了に該当する欠歯終了エッジであるか否かを判定する欠歯部判定手段を備え、
前記設定手段は、前記欠歯部判定手段により前記タイミングエッジが前記欠歯終了エッジであると判定された場合には、前記演算結果を前記所定数分の１にして整数化処理した整数値を、前記割合情報として設定すること、
を特徴とする信号処理装置。
【請求項６】
請求項５に記載の信号処理装置において、
前記欠歯部判定手段は、
前記回転信号に前記タイミングエッジが発生する毎に動作して、前記計測手段により今回計測された時間と、前記計測手段により前回計測された時間とを比較することにより、今回発生した前記タイミングエッジが前記欠歯終了エッジであるか否かを判定すること、
を特徴とする信号処理装置。
【請求項７】
請求項１ないし請求項４の何れか１項に記載の信号処理装置において、
前記所定回数は、１回であること、
を特徴とする信号処理装置。
【請求項８】
請求項１ないし請求項７の何れか１項に記載の信号処理装置において、
前記回転軸は、エンジンのクランク軸であること、
を特徴とする信号処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一定時間毎に更新されるデータをメモリに記憶するための信号処理装置に関する。
【背景技術】
【０００２】
例えば、エンジンを制御する装置においては、シリンダ内の圧力を検出する燃焼圧センサからの燃焼圧信号や、インジェクタに供給される燃料の圧力を検出する燃料圧センサからの燃料圧信号等、エンジンの制御に使用されるアナログセンサ信号を、Ａ／Ｄ変換器によりＡ／Ｄ変換し（デジタルデータに変換し）、その変換後のデータをエンジン制御用の制御処理に用いている。
【０００３】
また例えば、エンジンを制御する装置においては、エンジンのクランク軸の回転に同期してインジェクタや点火装置等を動作させるために、クランク軸が所定角度回転する毎にそのことを示すタイミングエッジが発生する回転信号が入力される。そして、回転信号としては、例えば、クランクセンサから出力されるクランク信号が知られており、そのクランク信号では、例えば１０°ＣＡ毎に特定方向のタイミングエッジが発生する。尚、「ＣＡ」とは、クランクアングル（クランク軸の回転角度）を意味している。
【０００４】
更に、例えば上記燃焼圧信号や燃料圧信号等、クランク軸の回転角度に関連性がある物理量を表す所定のセンサ信号については、回転信号の角度分解能（即ち、上記所定角度であり、回転信号にタイミングエッジが発生する間隔分のクランク角度）よりも小さい一定角度毎のデータを取得して処理することが要求されている。
【０００５】
ここで、その要望を実現するための技術として、例えば、特許文献１には、所定のクランク角度分の処理対象区間（期間）において、クランク信号のパルス間隔（即ち、クランク信号に所定角度毎のタイミングエッジが発生してから該タイミングエッジが次に発生するまでの間隔）の最小時間よりも短い一定時間毎に、センサ信号のデータをメモリに順次記憶していき、上記処理対象区間が終了した後、メモリ内の各データが記憶されたときのクランク角度を特定する技術が記載されている。そして、この技術によれば、クランク角度を特定する処理が終了した後に、メモリから、クランク信号の角度分解能よりも小さい所望の一定角度毎のデータを選択し、その選択した各データを用いて目的の制御処理を行えば良い。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００５−２２０７９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところで、上記の技術では、一定時間毎のデータを全てメモリに記憶するため、そのメモリの必要記憶容量が大きくなってしまう。
こうした背景から、本発明は、メモリの必要記憶容量を抑えつつ、回転信号の角度分解能よりも小さい一定角度毎のデータをメモリに記憶可能な信号処理装置の提供を目的としている。
【課題を解決するための手段】
【０００８】
第１発明の信号処理装置には、回転軸が所定角度回転する毎に、そのこと（即ち、回転軸が所定角度回転したこと）を示すタイミングエッジが発生する回転信号と、その回転信号にタイミングエッジが発生してから該タイミングエッジが次に発生するまでのパルス間隔の最小時間よりも短い一定時間毎に所定の機器により更新されるデータとが、入力される。そして、この信号処理装置は、割合情報設定手段と、転送制御手段とを備えている。
【０００９】
割合情報設定手段は、所定回数分の前記パルス間隔である単位間隔が終了する毎に、今回終了した単位間隔において一定時間毎に更新されたデータの総数と、前記パルス間隔当たりの目標データ保存数を前記所定回数倍した単位間隔毎目標データ保存数との関係を表す情報として、前記総数に対する前記単位間隔毎目標データ保存数の割合を表す割合情報を設定する。
【００１０】
そして、転送制御手段は、一定時間毎に更新されるデータを、割合情報設定手段により設定された割合情報が表す割合の頻度でメモリに転送する。例えば、設定された割合情報が表す割合が「１／Ｗ」であるとすると、転送制御手段は、一定時間毎に更新されるデータを、Ｗ個に１個の頻度（割合）でメモリに転送する。
【００１１】
ここで、回転信号の角度分解能である前記所定角度を「Ａ」とし、パルス間隔当たりの目標データ保存数を「Ｂ」とすると、割合情報設定手段により設定される割合情報が表す割合は、機器から入力される一定時間毎のデータ（詳しくは、一定時間毎に更新されるデータ）のうち、回転軸が「Ａ／Ｂ」度回転する毎のタイミングで更新されたと考えられるデータの、発生頻度を表すこととなる。
【００１２】
このため、転送制御手段により、メモリには、機器からの一定時間毎のデータのうち、回転軸が「Ａ／Ｂ」度回転する毎のタイミングで更新されたと考えられるデータが転送されることとなる。
【００１３】
そして、この信号処理装置によれば、下記〈１〉，〈２〉の効果が得られる。
〈１〉機器からの一定時間毎のデータを全てメモリに記憶するのではなく、その一定時間毎のデータを間引いて、回転軸が「Ａ／Ｂ」度回転する毎のタイミングで更新されたと考えられるデータをメモリに転送するため、データを記憶するためのメモリの必要記憶容量を抑えることができる。
【００１４】
〈２〉前記所定回数を「Ｃ」とすると、割合情報設定手段は、単位間隔が終了する毎であって、回転軸が「Ｃ×Ａ」度回転する毎に割合情報を設定する（つまり、更新する）ため、回転軸の回転速度が変わっても、連続する単位間隔の長さが急変しなければ、回転信号の角度分解能よりも小さい「Ａ／Ｂ」度毎のデータをメモリに記憶することができると共に、単位間隔当たりに（即ち、回転軸が「Ｃ×Ａ」度回転する期間当たりに）メモリに記憶されるデータの数を、概ね単位間隔毎目標データ保存数に抑えることができる。
【００１５】
ところで、第２発明として、割合情報設定手段は、以下の計測手段と設定手段とを備えた構成にすることができる。即ち、計測手段は、単位間隔が終了する毎に、今回終了した単位間隔の時間を計測し、設定手段は、計測手段による時間の計測値から、「該計測値／（単位間隔毎目標データ保存数×一定時間）」の演算結果を整数化処理した整数値を、割合情報として設定する。そして、この場合、転送制御手段は、機器からのデータが、前記設定手段により設定された整数値の回数だけ更新される毎に１回の割合で、機器からのデータをメモリに転送すればよい。
【００１６】
この構成によれば、転送制御手段を簡単な構成のものにすることができる。
例えば、第３発明として、転送制御手段は、転送手段と転送要求出力手段とから構成することができる。即ち、転送手段は、機器からのデータが入力されると共に、転送要求が与えられたときに入力されているデータを前記メモリに転送する。そして、転送要求出力手段は、機器からのデータの更新回数を計数し、その計数値が設定手段により設定された整数値と一致する毎に、転送手段に対して転送要求を与えると共に、更新回数の計数値を初期化する。
【００１７】
また、第４発明として、転送要求出力手段は、回転信号にタイミングエッジが発生したときにも、転送手段に対して転送要求を与えると共に、更新回数の計数値を初期化するようになっていることが好ましい。タイミングエッジが発生したとき毎のデータであって、回転軸が所定角度（Ａ度）回転したとき毎のデータを、確実にメモリに転送することができるからである。
【００１８】
また、整数化処理としては、例えば、小数点以下を切り上げる切り上げ処理と、小数点以下を切り捨てる切り捨て処理と、小数点以下を四捨五入する四捨五入処理との何れかが考えられるが、第５発明として、切り上げ処理を採用すれば、他の整数化処理を採用した場合よりも前記整数値が大きめになるため、メモリに記憶されるデータ数を少なめにすることができ、メモリの必要記憶容量を抑えるという面で有利である。
【００１９】
一方、前記所定回数（Ｃ）は、１回でも２回以上（複数回）でも良いが、特に１回ならば、回転信号の角度分解能よりも小さい「Ａ／Ｂ」度毎のデータをメモリに記憶することに関して、回転軸の回転速度変動の影響を受けにくくなるという利点がある。尚、所定回数（Ｃ）が１回であるということは、前記単位間隔がパルス間隔であると共に、単位間隔毎目標データ保存数がパルス間隔当たりの目標データ保存数であるということである。
【００２０】
また、第２〜第５発明の信号処理装置において、所定回数（Ｃ）が１回であると共に、回転信号に欠歯部が発生するのであれば、下記第６発明のように構成することで対応することができる。尚、その欠歯部とは、回転軸の回転位置が基準位置に来たときに、タイミングエッジの発生間隔（パルス間隔）が、前記所定角度の所定数倍の角度だけ回転軸が回転するのに要する時間になる部分である。
【００２１】
即ち、第６発明の信号処理装置では、欠歯部判定手段が、回転信号にタイミングエッジが発生する毎に、今回発生したタイミングエッジが欠歯部の終了に該当する欠歯終了エッジであるか否かを判定する。そして、設定手段は、欠歯部判定手段によりタイミングエッジが欠歯終了エッジであると判定された場合には、前記演算結果を前記所定数分の１にして整数化処理した整数値を、前記割合情報として設定する。
【００２２】
このように構成すれば、回転信号における欠歯部の次のパルス間隔（即ち、欠歯終了エッジから次のタイミングエッジまでのパルス間隔であり、以下、欠歯部直後パルス間隔という）の期間において、転送制御手段が用いる整数値が、他のパルス間隔の期間で用いる整数値と比べて過大（具体的には、回転軸の回転速度が一定ならば所定数倍）になってしまうことが防止される。よって、欠歯部直後パルス間隔の期間においても、回転軸が「Ａ／Ｂ」度回転する毎のタイミングで更新されたと考えられるデータをメモリに転送することができる。
【００２３】
また例えば、第７発明として、欠歯部判定手段は、回転信号にタイミングエッジが発生する毎に動作して、計測手段により今回計測された時間（尚、計測手段により計測される時間は、所定回数が１回であるため、パルス間隔の時間である）と、計測手段により前回計測された時間とを比較することにより、今回発生したタイミングエッジが欠歯終了エッジであるか否かを判定するように構成することができる。
【００２４】
そして、この構成によれば、割合情報設定手段が備える計測手段を利用して、今回発生したタイミングエッジが欠歯終了エッジであるか否かを判定することができるため、追加構成が少なくて済む。
【００２５】
一方、回転軸としては、例えば、エンジンのクランク軸やモータの回転軸が考えられる。そして、回転軸がエンジンのクランク軸であれば、メモリに記憶されるデータを、例えばエンジンを制御するために使用することができ、回転軸がモータの回転軸であれば、メモリに記憶されるデータを、例えばモータを制御するために使用することができる。
【図面の簡単な説明】
【００２６】
【図１】第１実施形態の信号処理装置の構成を表す構成図である。
【図２】タイミング制御器の動作内容を表すフローチャートである。
【図３】第１実施形態の作用の一例を説明する説明図である。
【図４】クランク信号の欠歯部の説明図である。
【図５】第２実施形態の信号処理装置の構成を表す構成図である。
【発明を実施するための形態】
【００２７】
以下に、本発明が適用された実施形態の信号処理装置について説明する。
［第１実施形態］
図１に示す本実施形態の信号処理装置１は、自動車のエンジンを制御するエンジン制御装置に設けられる。そして、この信号処理装置１には、エンジンを制御するために使用されるアナログセンサ信号の電圧値を表す検出対象のデータが、一定時間Ｔｓ毎に更新されて入力される。
【００２８】
本実施形態においては、アナログセンサ信号がＡ／Ｄ変換器（ＡＤＣ）３により一定時間Ｔｓ毎にＡ／Ｄ変換され、そのＡ／Ｄ変換器３から一定時間Ｔｓ毎に出力されるデータがデジタルフィルタ（ＤＦ）５に順次入力される。そして、デジタルフィルタ５にてフィルタ処理された後のデータであって、一定時間Ｔｓ毎に更新されるデータが、そのデジタルフィルタ５から当該信号処理装置１に入力される。つまり、Ａ／Ｄ変換器３からデジタルフィルタ５を介して一定時間Ｔｓ毎に出力されるアナログセンサ信号のＡ／Ｄ変換データが、信号処理装置１に入力される。
【００２９】
尚、Ａ／Ｄ変換器３からのデータが、デジタルフィルタ５を介さずに信号処理装置１に入力されるようになっていても良い。また、アナログセンサ信号は、例えば、シリンダ内の圧力を検出する燃焼圧センサからの燃焼圧信号であるが、インジェクタに供給される燃料の圧力を検出する燃料圧センサからの燃料圧信号等でもよい。また、デジタルフィルタ５のフィルタ処理としては、例えば、ローパスフィルタの処理が考えられるが、ハイパスフィルタやバンドパスフィルタ等の処理でも良い。
【００３０】
一方、この信号処理装置１が設けられるエンジン制御装置には、デジタルフィルタ５からのデータが当該信号処理装置１によって記憶されるバッファとしてのメモリ６が備えられている。また、そのエンジン制御装置には、エンジンを制御するための様々な制御処理を行うＣＰＵ７や、その制御処理に用いられるデータ等が記憶されるＲＡＭ９や、ＣＰＵ７が実行するプログラムが記憶されたＲＯＭ（図示省略）等からなるマイコンが搭載されている。尚、信号処理装置１は、上記マイコンの一部として（マイコンと同じチップ内に）構成されていても良い。
【００３１】
また更に、信号処理装置１には、回転信号として、エンジンのクランク軸の回転角度を表すクランクセンサからのクランク信号も入力される。そのクランク信号は、クランク軸が所定角度回転する毎に、そのことを示すタイミングエッジが発生する信号である。
【００３２】
尚、本実施形態において、上記所定角度は、例えば１０度（１０°）である。また、タイミングエッジは、立ち上がりエッジと立ち下がりエッジとのうちの、一方であるのが一般的であるが、両方であっても良い。また、上記一定時間Ｔｓは、クランク信号のパルス間隔（即ち、クランク信号にタイミングエッジが発生してから該タイミングエッジが次に発生するまでの１０°ＣＡ分の間隔）の最小時間よりも、短い時間に設定されており、例えば１０μｓである。また、以下では、クランク信号のパルス間隔のことを、単に「パルス間隔」ともいい、クランク信号におけるタイミングエッジのことを、単に「クランクエッジ」ともいう。
【００３３】
そして、信号処理装置１は、上記一定時間（データの更新間隔）Ｔｓよりも十分に短い一定時間（本実施形態では例えば０．１μｓ）Ｔｃ毎の内部クロックによってカウントアップされるフリーランタイマ（ＦＲＴ）１１と、当該装置１に入力されるクランク信号にクランクエッジが発生する毎に、そのときの時刻情報として、フリーランタイマ１１の値（以下、フリーランタイマ値という）を記憶するインプットキャプチャ部１３と、計測部１５、演算部１７及びレジスタ１９とを備えている。
【００３４】
計測部１５は、クランクエッジが発生する毎に、インプットキャプチャ部１３から該インプットキャプチャ部１３に更新記憶されたフリーランタイマ値を読み出すと共に、そのインプットキャプチャ部１３から今回読み出したフリーランタイマ値（即ち、クランクエッジが今回発生したときの時刻）と、インプットキャプチャ部１３から前回読み出したフリーランタイマ値（即ち、クランクエッジが前回発生したときの時刻）との差分を、パルス間隔時間（パルス間隔の時間）Ｔｉとして算出する。
【００３５】
演算部１７は、クランクエッジが発生して計測部１５により新たなパルス間隔時間Ｔｉが算出される毎に、その算出されたパルス間隔時間Ｔｉと、予め設定されたパルス間隔当たりの目標データ保存数Ｎａと、データの更新間隔である上記一定時間Ｔｓとを用いて、下記式１の演算を行うと共に、その演算結果Ｗを整数化処理した整数値を求め、その求めた整数値を、間引き回数Ｎｂとしてレジスタ１９に書き込む（設定する）。
【００３６】
Ｗ＝「Ｔｉ／（Ｎａ×Ｔｓ）」…式１
尚、パルス間隔当たりの目標データ保存数Ｎａは、パルス間隔当たりにメモリ６に記憶するデータの数の目標数である。また、本実施形態では、上記整数化処理として、例えば、小数点以下を切り上げる切り上げ処理を行っている。一方、計測部１５は、パルス間隔時間を、内部クロックの周期Ｔｃを分解能として計測するものであるため、式１において、実際には、「Ｔｉの値」として、計測部１５により算出されたパルス間隔時間Ｔｉの値に上記周期Ｔｃを乗じた値（＝Ｔｉ×Ｔｃ）を使用するか、あるいは逆に、「Ｔｓの値」として、一定時間Ｔｓを上記周期Ｔｃで割った値（＝Ｔｓ／Ｔｃ）を使用する。
【００３７】
また、演算部１７は、間引き回数Ｎｂとしての整数値を、式１の演算を実施せずに、マップから求めるように構成することもできる。つまり、目標データ保存数Ｎａと一定時間Ｔｓは既知の値であることから、例えば、様々な値のパルス間隔時間Ｔｉの各々と、そのパルス間隔時間Ｔｉについて求められるべき整数値とを、対応付けて記録したデータマップを、所定のマップ記憶部に予め記憶しておき、演算部１７は、そのデータマップから、計測部１５により算出されたパルス間隔時間Ｔｉに対応する整数値を、読み出して求めるようにしても良い。
【００３８】
そして更に、信号処理装置１は、デジタルフィルタ５からのデータが入力されると共に、転送要求が与えられたときに入力されているデータをメモリ６に転送するＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）コントローラ２１を備えており、そのＤＭＡコントローラ２１に転送要求を与えるための手段として、カウンタ２３、タイミング制御器２５及び転送要求生成器２７も備えている。
【００３９】
カウンタ２３は、デジタルフィルタ５からのデータの更新回数を計数する。
具体的に説明すると、デジタルフィルタ５は、新たなデータを出力する一定時間Ｔｓ毎に、処理完了信号を出力するようになっており、カウンタ２３は、その処理完了信号によってカウントアップされる。
【００４０】
尚、処理完了信号は、Ａ／Ｄ変換器３から出力されるようになっていても良い。また、Ａ／Ｄ変換器３やデジタルフィルタ５としては、出力データを更新する毎に、マイコンに対して割り込み要求信号を出力するものがあるため、例えば、その割り込み要求信号を処理完了信号として用いることができる。
【００４１】
タイミング制御器２５は、図２に示すように、カウンタ２３の値（以下、単に「カウンタ値」ともいう）と、レジスタ１９内の間引き回数Ｎｂとを比較し（Ｓ１２０）、カウンタ値が間引き回数Ｎｂと一致したならば（Ｓ１２０：ＹＥＳ）、転送要求生成器２７に転送要求の指令信号を出力する（Ｓ１３０）。更に、タイミング制御器２５は、図２に示すように、クランク信号にクランクエッジが発生したときにも（Ｓ１１０：ＹＥＳ）、転送要求生成器２７に転送要求の指令信号を出力する（Ｓ１３０）。
【００４２】
そして、転送要求生成器２７は、タイミング制御器２５からの上記指令信号を受けると、ＤＭＡコントローラ２１に転送要求を出力する。また、カウンタ２３には、タイミング制御器２５からの上記指令信号が、リセット信号として入力されるようになっている。
【００４３】
このため、クランクエッジが発生するか、カウンタ値がレジスタ１９内の間引き回数Ｎｂと一致する毎に、タイミング制御器２５から指令信号が出力されて、転送要求生成器２７からＤＭＡコントローラ２１に対して転送要求が与えられると共に、カウンタ値が０に戻される（初期化される）こととなる。
【００４４】
よって、クランクエッジが発生すると、そのときにデジタルフィルタ５から出力されているデータが、ＤＭＡコントローラ２１を介しメモリ６に転送される。そして、その後、次のクランクエッジが発生するまでのパルス間隔の期間（本実施形態では１０°ＣＡ分の期間）においては、デジタルフィルタ５からのデータが、前回のパルス間隔の時間Ｔｉを基にして設定された間引き回数Ｎｂに１回の割合で、ＤＭＡコントローラ２１を介しメモリ６に転送されることとなる。
【００４５】
このように、信号処理装置１において、ＤＭＡコントローラ２１と、カウンタ２３、タイミング制御器２５及び転送要求生成器２７とからなる転送制御用の回路は、クランクエッジが発生したときに、デジタルフィルタ５からのデータをメモリ６に転送すると共に、クランクエッジの発生タイミングを起点として、デジタルフィルタ５からのデータが、レジスタ１９内の間引き回数Ｎｂだけ更新される毎に１回の割合で、そのデジタルフィルタ５からのデータをメモリ６に転送するようになっている。
【００４６】
尚、カウンタ値が間引き回数Ｎｂの１つ前の値（Ｎｂ−１）になっている状態で、デジタルフィルタ５から処理完了信号が出力された時点から、カウンタ値が間引き回数Ｎｂに変化してＤＭＡコントローラ２１によるメモリ６へのデータ転送が完了するまでの所要時間は、上記一定時間Ｔｓよりも十分に短い時間である。
【００４７】
次に、以上のような信号処理装置１の動作例について、図３を用い説明する。
尚、図３は、クランクエッジが時刻ｔ１で発生し、その時刻ｔ１のクランクエッジを終点とするパルス間隔（前回のパルス間隔）の時間Ｔｉが例えば１００μｓで、パルス間隔当たりの目標データ保存数Ｎａが例えば“４”である場合を例示している。また図３において、上から３段目の「ＡＤＣ，ＤＦタイミング」は、一定時間Ｔｓ毎のＡ／Ｄ変換器３によるＡ／Ｄ変換タイミングであり、デジタルフィルタ５からのデータが更新されるタイミングでもある。
【００４８】
図３に示すように、時刻ｔ１でクランクエッジが発生すると、演算部１７は、「Ｔｉ／（Ｎａ×Ｔｓ）」＝「１００μｓ／（４×１０μｓ）」の演算結果である“２．５”の、小数点以下を切り上げた整数値（＝３）を、間引き回数Ｎｂとしてレジスタ１９に書き込む。
【００４９】
また、時刻ｔ１でクランクエッジが発生すると、タイミング制御器２５が転送要求の指令信号を出力するため、そのときにデジタルフィルタ５から出力されているデータ（Ｄ０）が、ＤＭＡコントローラ２１を介してメモリ６に転送されると共に、カウンタ値が０になる。
【００５０】
そして、その後、次のクランクエッジが発生するまでの間は、デジタルフィルタ５からのデータが更新される毎にカウンタ値が１ずつ増加し、カウンタ値が間引き回数Ｎｂである“３”になる毎に、タイミング制御器２５が転送要求の指令信号を出力して、そのときにデジタルフィルタ５から出力されているデータが、ＤＭＡコントローラ２１を介してメモリ６に転送されると共に、カウンタ値が０に戻る。このため、デジタルフィルタ５からのデータは、３回に１回の割合でメモリ６に転送されることとなる。図３の例では、時刻ｔ１でデータ（Ｄ１）が転送されてから次のクランクエッジが発生するまでの間に、３番目に更新されたデータ（Ｄ３）と、６番目に更新されたデータ（Ｄ６）と、９番目に更新されたデータ（Ｄ９）とが、メモリ６に転送される。
【００５１】
尚、クランクエッジが発生してから、メモリ６への最初のデータ転送が実施されるまでの間（具体的には、例えばタイミング制御器２５が転送要求の指令信号を出力するまでの間）に、メモリ６からＲＡＭ９へ、そのメモリ６内のデータを転送するように構成すれば、メモリ６の記憶容量は、１つのパルス間隔分（１０°ＣＡ期間分）のデータを記憶可能な容量で済む。そして、その場合、連続するパルス間隔の長さの最大増加率が「Ｒ」（例えば１．５）ならば、メモリ６の記憶容量は、パルス間隔当たりの目標データ保存数ＮａをＲ倍（例えば１．５倍）した数のデータが記憶可能な容量であればよい。
【００５２】
また、この信号処理装置１が設けられるエンジン制御装置において、ＣＰＵ７は、メモリ６から、あるいは、メモリ６からＲＡＭ９にデータが転送されるのであればＲＡＭ９から、データを読み出してエンジン制御用の処理を行うことができる。例えば、その処理としては、Ａ／Ｄ変換対象のアナログセンサ信号が燃焼圧信号であれば、燃焼割合の算出処理や失火検出処理やノック検出処理等が考えられる。
【００５３】
以上のような信号処理装置１において、演算部１７によりレジスタ１９に書き込まれる間引き回数Ｎｂは、クランク信号のパルス間隔において一定時間Ｔｓ毎に更新されたデータの総数ΣＤに対する目標データ保存数Ｎａの割合（＝Ｎａ／ΣＤ）を表す割合情報としての数値であり、詳しくは、その割合を逆数にして整数化した値である。
【００５４】
つまり、本実施形態において、演算部１７は、計測部１５により算出されたパルス間隔時間Ｔｉを一定時間Ｔｓで割った値（＝Ｔｉ／Ｔｓ）を、パルス間隔におけるデータ総数ΣＤとして扱っている。尚、このため、変形例として、例えば、計測部１５の代わりに、パルス間隔において更新されたデータの数（ΣＤ）を計測するデータ数計測部を設け、演算部１７は、式１における「Ｔｉ／Ｔｓ」の代わりに、そのデータ数計測部によって計測されたデータ数を用いて、間引き回数Ｎｂを求めるようになっていても良い。
【００５５】
そして、信号処理装置１では、前述したように、デジタルフィルタ５からのデータが、レジスタ１９内の間引き回数Ｎｂだけ更新される毎に１回の割合で、そのデジタルフィルタ５からのデータをメモリ６に転送するようになっている。つまり、デジタルフィルタ５からの一定時間Ｔｓ毎のデータを、Ｎｂ個に１個の頻度でメモリ６に転送している。
【００５６】
更に、そのＮｂ個に１個という頻度は、デジタルフィルタ５からの一定時間Ｔｓ毎のデータのうち、クランク軸が「１０／Ｎａ」度回転する毎のタイミングで更新されたと考えられるデータの、発生頻度を表すこととなる。
【００５７】
このため、メモリ６には、デジタルフィルタ５からの一定時間Ｔｓ毎のデータのうち、クランク軸が「１０／Ｎａ」度回転する毎のタイミングで更新されたと考えられるデータが転送される。
【００５８】
よって、この信号処理装置１によれば、デジタルフィルタ５からの一定時間Ｔｓ毎のデータを間引いて、クランク軸が「１０／Ｎａ」度回転する毎のタイミングで更新されたと考えられるデータをメモリ６に転送することとなり、メモリ６の必要記憶容量を抑えることができる。
【００５９】
また、演算部１７は、パルス間隔が終了する毎（即ち、クランクエッジが発生する毎）に、今回終了したパルス間隔の時間Ｔｉに基づいて、次のパルス間隔において使用される間引き回数Ｎｂを更新するようになっている。このため、クランク軸の回転速度が変わっても、連続するパルス間隔の長さが急変しなければ、クランク信号の角度分解能よりも小さい「１０／Ｎａ」度毎のデータをメモリ６に記憶することができると共に、パルス間隔当たりに（即ち、１０°ＣＡ当たりに）メモリ６に記憶されるデータの数を、概ね目標データ保存数Ｎａに抑えることができる。
【００６０】
更に、タイミング制御器２５は、カウンタ値と間引き回数Ｎｂとが一致したときだけではなく、クランクエッジが発生したときにも、転送要求の指令信号を出力して、そのときのデータをメモリ６に転送すると共にカウンタ値を初期化するため、クランクエッジが発生したとき毎のデータであって１０°ＣＡ毎のデータを、確実にメモリ６に転送することができる。
【００６１】
また、整数化処理としては、切り上げ処理以外（例えば、小数点以下の切り捨て処理や四捨五入処理等）でも良いが、本実施形態では、切り上げ処理を採用しているため、他の処理を行う場合よりも、間引き回数Ｎｂが大きめになり、メモリ６に記憶されるデータ数を少なめにすることができるため、メモリ６の必要記憶容量を抑えるという面で有利である。
【００６２】
尚、本実施形態では、エンジンのクランク軸が、回転軸の一例に相当し、Ａ／Ｄ変換器３とデジタルフィルタ５が、データを一定時間毎に更新する機器の一例に相当している。
また、本実施形態では、パルス間隔が、所定回数分のパルス間隔である単位間隔の一例になっており、パルス間隔当たりの目標データ保存数Ｎａが、そのパルス間隔当たりの目標データ保存数Ｎａを所定回数倍した単位間隔毎目標データ保存数の一例になっている。つまり、上記実施形態は、所定回数の一例として、１回を例示した実施形態である。
【００６３】
そして、本実施形態では、計測部１５と演算部１７が、割合情報設定手段の一例に相当し、そのうちで、計測部１５が、計測手段の一例に相当し、演算部１７が、設定手段の一例に相当している。そして、計測部１５により算出されるパルス間隔時間Ｔｉが、計測手段による時間の計測値の一例に相当している。また、レジスタ１９が、割合情報の設定先である設定部の一例に相当している。
【００６４】
また、ＤＭＡコントローラ２１、カウンタ２３、タイミング制御器２５及び転送要求生成器２７が、転送制御手段の一例に相当し、そのうちで、ＤＭＡコントローラ２１が、転送手段の一例に相当し、カウンタ２３、タイミング制御器２５及び転送要求生成器２７が、転送要求出力手段の一例に相当している。また、カウンタ２３の値（カウンタ値）が、データの更新回数を計数した計数値の一例に相当している。
【００６５】
［変形例］
一方、上記実施形態においては、割合情報としての間引き回数Ｎｂを、パルス間隔毎に更新するようになっていたが、間引き回数Ｎｂを、Ｍ回（Ｍは２以上の整数）分のパルス間隔毎に更新するように構成しても良い。
【００６６】
その場合、下記２点の変形をすれば良い。
第１に、信号処理装置１には、クランク信号のクランクエッジがＭ回に１回の割合で入力されるようにする。つまり、クランク信号をＭ分周して信号処理装置１に入力させる。
【００６７】
第２に、式１における、「Ｎａ」に代えて、「Ｎａ×Ｍ」を用いる。
そして、この変形例の場合、Ｍ個分のパルス間隔が、単位間隔の一例に相当し、「Ｎａ×Ｍ」が、単位間隔毎目標データ保存数の一例に相当することとなる。
【００６８】
但し、パルス間隔毎に間引き回数Ｎｂを更新する構成の方が、クランク信号の角度分解能よりも小さい「１０／Ｎａ」度毎のデータをメモリ６に記憶することに関して、クランク軸の回転速度変動の影響を受けにくくなるため、有利である。
【００６９】
［第２実施形態］
上記第１実施形態において、クランク信号に、いわゆる欠歯部が発生するのであれば、次の第２実施形態のように構成することで対応することができる。
【００７０】
尚、クランク信号の欠歯部とは、クランク軸の回転位置が１回転中における基準位置に来たときに、クランクパルスが所定の数だけ欠落する部分であり、クランクエッジの発生間隔（パルス間隔）が、前述の所定角度を所定数（ｎ）倍した角度分の回転所要時間になる部分である。
【００７１】
一例として、本第２実施形態では、欠歯部でのクランクパルスの欠落数が“２”であって、上記所定数ｎが“３”であるとする。
このため、図４に示すように、クランク信号には、１０°ＣＡ毎（クランク軸が所定角度としての１０度回転する毎）に、０番から３３番までの３４個のクランクエッジが発生し、３４個目である３３番のクランクエッジが発生してから次の０番のクランクエッジが発生するまでの３０°ＣＡ分の時間が、欠歯部となる。また、以下では、欠歯部の終了に該当する０番のクランクエッジを、「欠歯終了エッジ」という。
【００７２】
図５に示す第２実施形態の信号処理装置３１は、第１実施形態の信号処理装置１と比較すると、まず、欠歯判定部３３が追加されている。
その欠歯判定部３３は、クランクエッジが発生して計測部１５により新たなパルス間隔時間Ｔｉが算出される毎に動作し、その計測部１５により今回算出されたパルス間隔時間Ｔｉ（以下「Ｔｉ１」と記す）と、計測部１５により前回算出されたパルス間隔時間Ｔｉ（以下「Ｔｉ０」と記す）とを比較することにより、今回発生したクランクエッジが欠歯終了エッジであるか否かを判定する。つまり、欠歯判定部３３は、「Ｔｉ１」と「ＴｉＯ」との比率から、今回のクランクエッジが欠歯終了エッジであるか否か（換言すれば、今回終了したパルス間隔が欠歯部であるか否か）を判定する。
【００７３】
具体的には、欠歯判定部３３は、「Ｔｉ１／Ｔｉ０」の値が所定の欠歯判定値以上であれば、今回のクランクエッジが欠歯終了エッジであると判定するように構成することができる。尚、欠歯判定値は、クランク軸の回転速度変動を考慮して、１０°ＣＡ分のパルス間隔と３０°ＣＡ分のパルス間隔とが識別可能な値に設定しておけば良い。
【００７４】
そして更に、この信号処理装置３１において、演算部１７は、欠歯判定部３３によって今回のクランクエッジが欠歯終了エッジであると判定された場合には、計測部１５により今回算出されたパルス間隔時間Ｔｉが「１０×ｎ」°ＣＡ（３０°ＣＡ）分の時間であることから、式１の演算結果Ｗをｎ分の１にし、そのｎ分の１にした値（＝Ｗ／ｎ）を整数化処理した整数値を、間引き回数Ｎｂとしてレジスタ１９に書き込む。
【００７５】
尚、演算部１７が演算を行うことにより間引き回数Ｎｂとしての整数値を求めるのであれば、演算部１７は、式１の演算結果Ｗをｎで割れば良いが、その演算に限らず、例えば、式１における「Ｎａ」又は「Ｔｓ」をｎ倍にしたり、「Ｔｉ」をｎ分の１にしたりする補正を行うことにより、整数化対象の「Ｗ／ｎ」を求めても良い。つまり、結果が同じであれば、演算自体は、どのような順序で行っても良い。
【００７６】
また、演算部１７が、演算を実施せずに、間引き回数Ｎｂとしての整数値をマップから求めるのであれば、前述したデータマップを、第１データマップとしてマップ記憶部に記憶させておき、更に、様々な値のパルス間隔時間Ｔｉの各々と、そのパルス間隔時間Ｔｉについて「Ｔｉ／（Ｎａ×Ｔｓ）／ｎ」の値を整数化処理した整数値とを、対応付けて記録した第２データマップも、マップ記憶部に予め記憶しておき、演算部１７は、欠歯判定部３３によってクランクエッジが欠歯終了エッジであると判定された場合には、上記第２データマップの方から、計測部１５により算出されたパルス間隔時間Ｔｉに対応する整数値を、読み出して求めるようになっていれば良い。つまり、欠歯判定部３３の判定結果に応じて、使用するデータマップを切り替えれば良い。
【００７７】
以上のような第２実施形態によれば、クランク信号における欠歯部の次のパルス間隔である欠歯部直後パルス間隔（図４参照）の期間において、タイミング制御器２５がカウンタ値と比較するのに用いる間引き回数Ｎｂが、他のパルス間隔の期間で用いられる間引き回数Ｎｂと比べて過大（具体的には、クランク軸の回転速度が一定ならばｎ倍）になってしまうことが防止され、その欠歯部直後パルス間隔の期間においても、クランク軸が「１０／Ｎａ」度回転する毎のタイミングで更新されたと考えられるデータをメモリ６に転送することができる。
【００７８】
また、欠歯判定部３３は、例えば、それと同様の判定機能を有する他の装置からの判定結果信号に基づいて、今回発生したクランクエッジが欠歯終了エッジであるか否かを判定するようになっていても良いが、本第２実施形態では、信号処理装置３１に備えられている計測部１５を利用して、クランクエッジが欠歯終了エッジであるかの判定を行うため、上記判定結果信号を入力するための回路（例えば通信回路等）を追加しなくても済むという利点がある。尚、本第２実施形態では、欠歯判定部３３が、欠歯部判定手段の一例に相当している。
【００７９】
以上、本発明の一実施形態について説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲において、種々なる態様で実施し得ることは勿論である。
【００８０】
例えば、回転信号としては、クランクセンサからのクランク信号以外でも良い。例えば、エンジンのカム軸は、クランク軸と連動して回転するため、回転信号としては、そのカム軸の回転に応じてパルスを発生させるカムセンサ（カム軸センサ）からの信号であっても良い。
【００８１】
また、回転軸も、クランク軸やカム軸に限らず、他の回転する軸でも良く、例えば、モータの回転軸や発電機の回転軸であっても良い。
【符号の説明】
【００８２】
１，３１…信号処理装置、３…Ａ／Ｄ変換器（ＡＤＣ）
５…デジタルフィルタ（ＤＦ）、６…メモリ、７…ＣＰＵ、９…ＲＡＭ
１１…フリーランタイマ（ＦＲＴ）、１３…インプットキャプチャ部、１５…計測部
１７…演算部、１９…レジスタ、２１…ＤＭＡコントローラ、２３…カウンタ
２５…タイミング制御器、２７…転送要求生成器、３３…欠歯判定部
【図１】
0005578158.tif 000002
【図２】
0005578158.tif 000003
【図４】
0005578158.tif 000004
【図５】
0005578158.tif 000005
【図３】
0005578158.tif 000006