(57)【特許請求の範囲】
【請求項１】
エンジン制御用の電子制御装置の動作を検査する検査装置であって、
検査仕様のエンジン回転速度に基づいて、前記電子制御装置に供給するためのクランク角度センサの疑似信号を発生するクランク角度センサ信号発生手段と、  検査仕様のエンジン回転速度に基づいて、所定のクランク角度毎に反転するパルス信号を発生するエンジン回転信号発生手段と、
前記エンジン回転信号のパルスが反転した時刻を記録する第１のパルス反転時刻記録手段と、
前記第１のパルス反転時刻記録手段において記録されたパルス反転時刻を読み出すことによってクランク角度を検出するクランク角度検出手段と、
前記電子制御装置から出力された、エンジンのアクチュエータを駆動するためのパルス信号が反転した時刻を記録する第２のパルス反転時刻記録手段と、
前記クランク角度検出手段において検出したクランク角度に基づいて、所定のクランク角度毎に、少なくとも前記第２のパルス反転時刻記録手段において記録されたパルス反転時刻を読み出すことによって、前記アクチュエータ駆動信号の計測を行なうアクチュエータ駆動信号計測手段と
を有し、
前記エンジン回転信号発生手段は、
前記検査仕様のエンジン回転速度が大きくなるのに従って、エンジン回転信号が反転するクランク角度周期を大きくする手段
であり、かつ
前記エンジン回転信号発生手段は、
前記クランク角度検出手段によって反転時刻が読み出されるまでに、前記第１のパルス反転時刻記録手段において記録された時刻の個数が所定値以上となった場合には、エンジン回転信号が反転するクランク角度周期を大きくし、また、その記録された時刻の個数が所定値未満である状態が所定期間継続した場合には、エンジン回転信号が反転するクランク角度周期を小さくする手段
であることを特徴とする電子制御装置の検査装置。
【請求項２】
請求項１に記載の電子制御装置の検査装置において、
前記エンジン回転信号発生手段は、
エンジンが２回転する時間に、エンジンの気筒数の倍数に等しい回数だけ反転するパルス信号を発生する手段
であることを特徴とする電子制御装置の検査装置。
【請求項３】
請求項１に記載の電子制御装置の検査装置において、
前記第１のパルス反転時刻記録手段、及び、前記第２のパルス反転時刻記録手段は、
同一のカウンタ、或いは、同期して動作する複数のカウンタの値をそれぞれ参照することによってタイムスタンプの記録を行なう手段
であることを特徴とする電子制御装置の検査装置。
【請求項４】
請求項１に記載の電子制御装置の検査装置において、
前記アクチュエータ駆動信号計測手段は、
前記第１のパルス反転時刻記録手段において記録されたパルス反転時刻と、前記第２のパルス反転時刻記録手段において記録されたパルス反転時刻とに基づいて、アクチュエータの駆動タイミングを計測するアクチュエータ駆動タイミング検出手段
を含んで構成することを特徴とする電子制御装置の検査装置。
【請求項５】
エンジン制御用の電子制御装置の動作を検査する検査装置であって、
検査仕様のエンジン回転速度に基づいて、前記電子制御装置に供給するためのクランク角度センサの疑似信号を発生するクランク角度センサ信号発生手段と、  検査仕様のエンジン回転速度に基づいて、所定のクランク角度毎に反転するパルス信号を発生するエンジン回転信号発生手段と、
前記エンジン回転信号のパルスが反転した時刻を記録する第１のパルス反転時刻記録手段と、
前記第１のパルス反転時刻記録手段において記録されたパルス反転時刻を読み出すことによってクランク角度を検出するクランク角度検出手段と、
前記電子制御装置から出力された、エンジンのアクチュエータを駆動するためのパルス信号が反転した時刻を記録する第２のパルス反転時刻記録手段と、
前記クランク角度検出手段において検出したクランク角度に基づいて、所定のクランク角度毎に、少なくとも前記第２のパルス反転時刻記録手段において記録されたパルス反転時刻を読み出すことによって、前記アクチュエータ駆動信号の計測を行なうアクチュエータ駆動信号計測手段と
を有し、
前記エンジン回転信号発生手段は、
前記検査仕様のエンジン回転速度が大きくなるのに従って、エンジン回転信号が反転するクランク角度周期を大きくする手段
であり、
前記アクチュエータ駆動信号計測手段は、
前記第１のパルス反転時刻記録手段において記録されたパルス反転時刻と、前記第２のパルス反転時刻記録手段において記録されたパルス反転時刻とに基づいて、アクチュエータの駆動タイミングを計測するアクチュエータ駆動タイミング検出手段
を含んで構成し、
前記アクチュエータ駆動タイミング検出手段は、
前記第１のパルス反転時刻記録手段において記録されたパルス反転時刻に基づいて、連続したパルス反転時刻を内分することによって、前記エンジン回転信号が反転する間隔を分割した細かいクランク角度毎に対応した時刻を算出する手段と、
前記エンジン回転信号が反転する間隔を分割した細かいクランク角度毎に対応した時刻と、前記第２のパルス反転時刻記録手段において記録されたパルス反転時刻を比較することにより、前記エンジン回転信号が反転する間隔に比べて細かいクランク角度を分解能として、アクチュエータ駆動タイミングを検出する手段と
を有することを特徴とする電子制御装置の検査装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、エンジン制御用の電子制御装置の動作を検査する検査装置に関する。
【０００２】
【従来の技術】
自動車用エンジンの電子制御装置ＥＣＭ（Ｅｎｇｉｎｅ  Ｃｏｎｔｒｏｌ  Ｍｏｄｕｌｅ）の制御動作が仕様通りに動作するか否かを、実際のエンジンに接続することなくＥＣＭ検査装置上で模擬的に再現したエンジンを用いることによりシミュレーションによって検査する方法がある。
この検査方法は、ＥＣＭ検査装置により、検査仕様に基づいたＥＣＭへの入力信号（センサ信号やスイッチ信号）を生成する一方、そのＥＣＭへの入力信号に対するＥＣＭからの出力信号（アクチュエータ駆動信号）を計測し、ＥＣＭの制御動作が仕様通りであるか否かを検査するものである。
【０００３】
また、特開平９−１５１７７９号公報では、ＥＣＭへの入力信号の生成とＥＣＭからのアクチュエータ駆動信号の計測をクランク角度同期で実行することが可能な電子制御装置の検査装置が提案されている。これは、検査装置内のパルス発生器によって、検査仕様のエンジン回転速度に対応した周波数で微小単位のクランク角度毎（例えば、クランク角度１ｄｅｇ毎）に反転するパルス信号を発生し、検査装置内のパルス計測によって、そのパルス信号の反転を計数することによってクランク角度を検出し、その検出したクランク角度に基づいて、微小単位のクランク角度毎に、或いは、気筒間の行程位相差相当のクランク角度毎に、検査装置からＥＣＭに与えるセンサ信号及びスイッチ信号の生成と、燃料噴射信号や点火信号等のＥＣＭから出力されるアクチュエータ駆動信号の計測を行なうものである。
【０００４】
【発明が解決しようとする課題】
しかしながら、このような従来の検査装置にあっては、微小単位のクランク角度毎に反転するパルス信号に基づいて微小単位毎にクランク角度の検出を行なっているので、たとえセンサ信号の生成やアクチュエータ駆動信号の計測を気筒間の行程位相差相当のクランク角度毎に行なったとしても、センサ信号の生成やアクチュエータ駆動信号の計測等のデータ処理が複雑で演算負荷が大きい場合や、エンジン回転速度が大きい場合などには、検査装置に備えた演算装置（ＣＰＵ）での演算が微小単位のクランク角度に相当する時間内に終了しない場合があり、パルス信号の反転に基づいたクランク角度の検出が微小単位のクランク角度毎に実行できなくなり、クランク角度の検出に取りこぼしが起きる可能性がある、という問題点があった。
【０００５】
本発明は、このような従来の問題点に着目してなされたもので、クランク角度の検出に取りこぼしが無く、正確にクランク角度の検出を行なうことが可能な電子制御装置の検査装置を提供することを目的とする。
【０００６】
【課題を解決するための手段】
本発明は上述の課題を解決するために、以下のように構成した。請求項１に記載の発明では、検査仕様のエンジン回転速度に基づいて、電子制御装置に供給するためのクランク角度センサの疑似信号を発生するクランク角度センサ信号発生手段と、検査仕様のエンジン回転速度に基づいて、所定のクランク角度毎に反転するパルス信号を発生するエンジン回転信号発生手段と、前記エンジン回転信号のパルスが反転した時刻を記録する第１のパルス反転時刻記録手段と、前記第１のパルス反転時刻記録手段において記録されたパルス反転時刻を読み出すことによってクランク角度を検出するクランク角度検出手段と、電子制御装置から出力された、エンジンのアクチュエータを駆動するためのパルス信号が反転した時刻を記録する第２のパルス反転時刻記録手段と、前記クランク角度検出手段において検出したクランク角度に基づいて、所定のクランク角度毎に、少なくとも前記第２のパルス反転時刻記録手段において記録されたパルス反転時刻を読み出すことによって、前記アクチュエータ駆動信号の計測を行なうアクチュエータ駆動信号計測手段、とを有する構成とした。
これにより、クランク角度の検出に取りこぼしがなく、正確にクランク角度の検出を行なうことが可能となる。また、アクチュエータ駆動信号の検出実行周期に係わらず、駆動信号の反転を取りこぼしなく検出でき、正確に駆動信号を計測することが可能となる。
また、請求項１に記載の発明では、前記エンジン回転信号発生手段を、前記検査仕様のエンジン回転速度が大きくなるのに従って、エンジン回転信号が反転するクランク角度周期を大きくする手段、として構成した。
これにより、エンジン回転速度が大きい場合においても、クランク角度の検出に取りこぼしがなく、正確にクランク角度の検出を行なうことが可能となる。
さらに、請求項１に記載の発明では、前記エンジン回転信号発生手段を、前記クランク角度検出手段によって反転時刻が読み出されるまでに、前記第１のパルス反転時刻記録手段において記録された時刻の個数が所定値以上となった場合には、エンジン回転信号が反転するクランク角度周期を大きくし、また、その記録された時刻の個数が所定値未満である状態が所定期間継続した場合には、エンジン回転信号が反転するクランク角度周期を小さくする手段、として構成した。
これにより、検査装置の演算能力や演算負荷によって、クランク角度の検出を行なう周期が変化した場合においてもクランク角度の取りこぼしがなく、演算能力や演算負荷に合わせてクランク角度の検出精度を調整することが可能となる。
【０００７】
請求項２に記載の発明では、前記エンジン回転信号発生手段を、エンジンが２回転する時間に、エンジンの気筒数の倍数に等しい回数だけ反転するパルス信号を発生する手段、として構成した。
これにより、微小単位のクランク角度毎に反転するパルス信号に基づいてクランク角度の検出を行なう場合に比べて、クランク角度の検出を行なう回数を減らすことが可能となる。また、パルスの反転回数を、エンジンが２回転する時間にエンジンの気筒数の倍数に等しい回数としたので、パルスの反転回数を計数することで気筒間の行程位相差を検出することが可能である。
【００１０】
請求項３に記載の発明では、前記第１のパルス反転時刻記録手段、及び、前記第２のパルス反転時刻記録手段を、同一のカウンタ、或いは、同期して動作する複数のカウンタの値をそれぞれ参照することによってタイムスタンプの記録を行なう手段、として構成した。
これにより、クランク角度を基準としたアクチュエータ駆動信号の計測が、演算負荷を最小にして容易に可能となる。
【００１１】
請求項４に記載の発明では、前記アクチュエータ駆動信号計測手段を、前記第１のパルス反転時刻記録手段において記録されたパルス反転時刻と、前記第２のパルス反転時刻記録手段において記録されたパルス反転時刻とに基づいて、アクチュエータの駆動タイミングを計測するアクチュエータ駆動タイミング検出手段を含んで構成した。
これにより、アクチュエータの駆動タイミングをクランク角度の単位で計測することが容易に可能となる。
【００１２】
請求項５に記載の発明では、検査仕様のエンジン回転速度に基づいて、電子制御装置に供給するためのクランク角度センサの疑似信号を発生するクランク角度センサ信号発生手段と、検査仕様のエンジン回転速度に基づいて、所定のクランク角度毎に反転するパルス信号を発生するエンジン回転信号発生手段と、前記エンジン回転信号のパルスが反転した時刻を記録する第１のパルス反転時刻記録手段と、前記第１のパルス反転時刻記録手段において記録されたパルス反転時刻を読み出すことによってクランク角度を検出するクランク角度検出手段と、電子制御装置から出力された、エンジンのアクチュエータを駆動するためのパルス信号が反転した時刻を記録する第２のパルス反転時刻記録手段と、前記クランク角度検出手段において検出したクランク角度に基づいて、所定のクランク角度毎に、少なくとも前記第２のパルス反転時刻記録手段において記録されたパルス反転時刻を読み出すことによって、前記アクチュエータ駆動信号の計測を行なうアクチュエータ駆動信号計測手段、とを有する構成とした。
これにより、クランク角度の検出に取りこぼしがなく、正確にクランク角度の検出を行なうことが可能となる。また、アクチュエータ駆動信号の検出実行周期に係わらず、駆動信号の反転を取りこぼしなく検出でき、正確に駆動信号を計測することが可能となる。
また、請求項５に記載の発明では、前記エンジン回転信号発生手段を、前記検査仕様のエンジン回転速度が大きくなるのに従って、エンジン回転信号が反転するクランク角度周期を大きくする手段、として構成した。
これにより、エンジン回転速度が大きい場合においても、クランク角度の検出に取りこぼしがなく、正確にクランク角度の検出を行なうことが可能となる。
また、請求項５に記載の発明では、前記アクチュエータ駆動信号計測手段を、前記第１のパルス反転時刻記録手段において記録されたパルス反転時刻と、前記第２のパルス反転時刻記録手段において記録されたパルス反転時刻とに基づいて、アクチュエータの駆動タイミングを計測するアクチュエータ駆動タイミング検出手段を含んで構成した。
これにより、アクチュエータの駆動タイミングをクランク角度の単位で計測することが容易に可能となる。
さらに、請求項５に記載の発明では、前記アクチュエータ駆動タイミング検出手段を、前記第１のパルス反転時刻記録手段において記録されたパルス反転時刻に基づいて、連続したパルス反転時刻を内分することによって、前記エンジン回転信号が反転する間隔を分割した細かいクランク角度毎に対応した時刻を算出する手段と、前記エンジン回転信号が反転する間隔を分割した細かいクランク角度毎に対応した時刻と、前記第２のパルス反転時刻記録手段において記録されたパルス反転時刻を比較することにより、前記エンジン回転信号が反転する間隔に比べて細かいクランク角度を分解能として、アクチュエータ駆動タイミングを検出する手段、とを有する構成とした。
これにより、アクチュエータの駆動タイミングを微小単位のクランク角度を分解能として計測することが容易に可能となる。
【００１３】
以下、本発明の作用を説明する。
請求項１に記載の発明では、検査仕様のエンジン回転速度に基づいて所定のクランク角度毎に反転するパルス信号をエンジン回転信号として発生し、そのエンジン回転信号が反転した時刻を第１のパルス反転時刻として記録する。そして、その記録された第１のパルス反転時刻をすべて読み出し、読み出したデータの個数によってクランク角度を計数する。
これにより、クランク角度の検出に取りこぼしがなく、正確にクランク角度の検出を行なうことができる。
【００１４】
また、電子制御装置から出力されたアクチュエータを駆動するためのパルス信号においても、そのパルス信号が反転した時刻を第２のパルス反転時刻として記録し、所定クランク角度毎にその記録された第２のパルス反転時刻をすべて読み出すことによって、アクチュエータ駆動信号の計測を行なう。
これにより、アクチュエータ駆動信号の検出実行周期に係わらず、駆動信号の反転を取りこぼしなく検出でき、正確に駆動信号を計測することが可能となる。
また、請求項１に記載の発明では、エンジン回転速度が大きくなるのに従って、エンジン回転信号が反転するクランク角度周期を大きくする。例えば、低回転域ではクランク角度５後毎、中回転域ではクランク角度１０度毎、高回転域では１５度毎に反転するパルス信号をエンジン回転信号として発生させる。
これにより、高回転域においてエンジン回転信号の反転時刻を記録する頻度が小さくなるので、記録手段に記録可能なデータ数を越えてしまうことがなく、高回転域においても取りこぼしなくクランク角度の検出が可能となる。
さらに、請求項１に記載の発明では、クランク角度の検出が行なわれて第１のパルス反転時刻が一度すべて読み出されてから、次回の読み出しが行なわれるまでの間に記録された第１のパルス反転時刻の個数が、所定値以上となった場合にはエンジン回転信号が反転するクランク角度周期を大きくし、また、所定値未満である状態が所定期間継続した場合には、エンジン回転信号が反転するクランク角度周期を小さくする。
【００１５】
請求項２に記載の発明では、エンジンが２回転する時間に、エンジンの気筒数の倍数に等しい回数だけ反転するパルス信号をエンジン回転信号として発生する。例えば、４気筒エンジンでエンジンが２回転する時間に７２回だけ反転するパルス信号、すなわち、クランク角度１０度毎に反転するパルス信号を発生する。これにより、微小単位のクランク角度毎に反転するパルス信号、例えばクランク角度１度毎に反転するパルス信号に基づいてクランク角度の検出を行なう場合に比べて、クランク角度の検出を行なう回数を１０分の１に減らすことができる。また、このエンジン回転信号の反転を１８回計数することにより、気筒間の行程位相差、すなわち、クランク角度１８０度を検出することができる。
【００１８】
ここで、クランク角度の検出を実行する周期は、なるべく頻度を上げた方が精度の良い検出が可能となるが、実際には検査装置の演算能力や演算負荷によって周期は変化する。例えば、演算能力が低い場合や演算負荷が大きい場合には周期が大きくなり、この場合には、クランク角度の検出のために一旦読み出されてから次に読み出されるまでの間に記録される第１のパルス反転時刻の個数が多くなり、記録手段に記録可能なデータの個数を越えてしまう可能性がある。よって、読み出しを行なった際に記録されているデータの個数が所定値以上である場合には、エンジン回転信号が反転するクランク角度周期を大きくして、反転時刻の記録が行なわれる頻度を小さくする。
これにより、演算負荷が大きく、演算能力に余裕がない、あるいは、演算能力の限界を越える恐れのある場合においても取りこぼしなくクランク角度の検出を行なうことが可能となる。
【００１９】
また、逆に演算負荷が小さく、演算能力に余裕があり、クランク角度の検出周期が小さい場合には、エンジン回転信号が反転するクランク角度周期を小さくする。
これにより、演算負荷の小さい場合には細かい単位でのクランク角度の検出が可能となる。
【００２０】
請求項３に記載の発明では、エンジン回転信号のパルスの反転を検出する手段と、アクチュエータ駆動信号のパルスの反転を検出する手段は、同一のカウンタ、或いは、同期して動作する複数のカウンタの値を参照することによって、クランク角度検出の基準となるエンジン回転信号が反転した時点のタイムスタンプと、アクチュエータ駆動信号が反転した時点の、すなわち、アクチュエータ駆動タイミングでのタイムスタンプをそれぞれバッファに記録するようにした。
このように、同一のカウンタ、或いは、同期して動作させたカウンタを参照したタイムスタンプを用いることにより、バッファから読み出したエンジン回転信号が反転した時点のタイムスタンプとアクチュエータ駆動信号が反転した時点のタイムスタンプを比較することによって、アクチュエータ駆動タイミングのクランク角度の単位での計測が、演算負荷を最小にして容易に可能となる。
【００２１】
請求項４に記載の発明では、エンジン回転信号が反転した時点のタイムスタンプと、アクチュエータ駆動信号が反転した際のタイムスタンプを比較することにより、アクチュエータの駆動タイミングを計測する。
これにより、アクチュエータの駆動タイミングをクランク角度の単位で計測することが容易に可能となる。
【００２２】
請求項５に記載の発明では、例えばクランク角度１０度毎に反転するエンジン回転信号を発生させた場合、そのエンジン回転信号が反転した際に記録されたタイムスタンプをすべて読み出す。そして、その読み出した結果を並べた数列に基づいて、数列の各要素間を１０等分することによってクランク角度１度毎のタイムスタンプの数列を算出する。
このように、微小単位のクランク角度毎に対応したタイムスタンプの数列を算出することによって、その数列の要素と、アクチュエータ駆動信号が反転した際に記録されたタイムスタンプを比較することにより、微小単位のクランク角度きざみ、すなわち、クランク角度１度単位でアクチュエータの駆動タイミングを計測することが可能となる。
【００２３】
【発明の実施の形態】
以下、本発明による電子制御装置の検査装置の実施の形態を添付図面を参照して詳細に説明する。
図１は、本発明による電子制御装置の検査装置の一実施の形態におけるＥＣＭ検査装置の構成を示す図である。
【００２４】
まず、構成を説明する。
ＥＣＭ３とＥＣＭ検査装置１とを、Ｉ／Ｏインターフェース２を介して接続している。
ＥＣＭ検査装置１は、エンジンに装着されるクランク角度センサやエアフローセンサ、ノックセンサ等の信号波形を発生する任意波形発生器１１と、エンジン回転速度に対応して周波数の変化するパルス信号（エンジン回転信号）や車速に対応して周波数の変化する車速センサ信号等を発生するパルス発生器１２と、前記エンジン回転信号や、燃料噴射弁駆動パルス信号、点火パルス信号等の計測を行なうパルス計測器１３〜１８と、アナログ信号及びデジタル信号の入出力を行なうアナログ・デジタルＩ／Ｏ１９と、これら全体の処理を制御するＣＰＵ１０、等で構成される。
【００２５】
また、パルス計測器１３〜１８は、反転検出器１１３〜１１８と、カウンタ２１３〜２１８と、バッファ３１３〜３１８とで構成され、反転検出器１１３〜１１８でパルスの反転を検出し、カウンタ２１３〜２１８の値を参照してパルスの反転を検出した時点のタイムスタンプをバッファ３１３〜３１８に記録する。
【００２６】
なお、カウンタ２１３〜２１８は、すべて動作周波数とビット数が等しいもの（例えば、動作周波数が２０ＭＨｚで、６４ビットのカウンタ）で構成され、すべて同時にリセットをかけて動作を開始する。
また、バッファ３１３〜３１８は、ＦＩＦＯ（Ｆｉｒｓｔ  Ｉｎ  ＦｉｒｓｔＯｕｔ）バッファを使用して構成される。
【００２７】
続いて、以上のような構成において、ＣＰＵ１０で実行するプログラムを、図２〜図６に示すフローチャートに基づいて説明する。
図２は、本実施の形態における処理の概要を示したフローチャートである。
まず、ステップＳ１０において、初期条件を設定するイニシャライズ処理を行なう。
【００２８】
次に、ステップＳ２０において、ＥＣＭの検査のためのシミュレーションを実行するか否かの判断を行ない、実行する場合には、まず、ステップＳ３０において、エンジン回転数や吸入空気量、車速、冷却水温度等の検査仕様の読み込みを行なう。これらの検査仕様は、検査装置に備えたポテンショメータやＳＷで設定してもよいし、または、検査装置内に新たにＣＰＵを設けて、エンジンの数学モデルを演算した結果に基づいて設定してもよい。
【００２９】
次に、ステップＳ４０において、ＥＣＭに供給するための、クランク角度センサやエアフローセンサ、車速センサ等の疑似信号の生成を、任意波形発生器１１及びパルス発生器１２に指令値を与えることにより行なう。
【００３０】
ここで、クランク角度センサの疑似信号は、４気筒４サイクルエンジンを対象とした場合には、例えば、図７の（ａ）に示すようなクランク角度１８０度毎に立ち上がるＲＥＦ信号と、（ｂ）に示すようなクランク角度１度毎に反転するＰＯＳ信号である。ＲＥＦ信号の生成は、回転速度に基づいてクランク角度１８０度に相当する時間を演算し、クランク角度１８０度を周期として所定のデューティ比となるパルスを生成することにより実現され、ＰＯＳ信号の生成は、回転速度に基づいてクランク角度２度に相当する時間を演算し、クランク角度２度を周期として５０％デューティのパルスを生成することにより実現する。
【００３１】
次に、ステップＳ５０において、各種アナログ信号、デジタル信号の入力処理及び出力処理を行なう、アナログ・デジタル入出力処理を行なう。具体的には、アナログ入力信号には、電源電圧等があり、アナログ出力信号には、ＥＣＭに入力するための、スロットル開度センサ、冷却水温度センサ、空燃比センサ、吸気管圧力センサ等の疑似信号がある。また、デジタル入力信号には、ＥＣＭから出力される、エアコンリレー駆動信号、ラジエータファンリレー駆動信号、ステップモータ駆動信号等があり、デジタル出力信号には、イグニッションＳＷ、スタータＳＷ、電気負荷ＳＷ等の疑似信号がある。
【００３２】
次に、ステップＳ６０において、クランク角度の検出を行なうために使用するエンジン回転信号の生成を、任意波形発生器１１及びパルス発生器１２に指令値を与えることにより行なう。
【００３３】
このエンジン回転信号の生成方法について、まず、請求項１に記載の発明における実施の形態を説明する。エンジン回転速度に基づいてエンジン回転信号が反転するクランク角度周期を変更する。例えば、エンジン回転速度が３０００ｒｐｍ未満ではクランク角度５度毎に反転するエンジン回転信号を生成し、３０００ｒｐｍ以上６０００ｒｐｍ未満ではクランク角度１０度毎に反転するエンジン回転信号を生成し、６０００ｒｐｍ以上ではクランク角度１５度毎に反転するエンジン回転信号を生成する。
また、請求項２に記載の発明における実施の形態は、さらに、４気筒４サイクルエンジンを対象とした場合、エンジンが２回転する時間に４の倍数（エンジンの気筒数の倍数）に等しい回数だけ反転するようなパルス信号を発生する。例えば、エンジンが２回転する時間に７２回反転するパルス信号とした場合、図８に示すような、クランク角度１０度毎に反転するような信号となる。このように、エンジンが２回転する時間にエンジンの気筒数の倍数に等しい回数だけ反転するパルス信号とすることにより、エンジンの行程位相差に相当するクランク角度の計数が可能となり、この場合、クランク角度１０度毎に反転するエンジン回転信号の反転回数を１８回計数することにより、気筒間の行程位相差であるクランク角度１８０度を検出することができる。パルスの具体的な生成方法は、回転速度に基づいてクランク角度２０度に相当する時間を演算し、クランク角度２０度を周期として５０％デューティのパルスを生成することにより実現する。
【００３５】
また、請求項１に記載の発明における実施の形態は、図６に示したフローチャートに基づいて後述する。
【００３６】
次に、ステップＳ７０において、クランク角度の検出を行なう。ここでの処理の詳細な説明は、図３に示したフローチャートに基づいて後述する。
【００３７】
次に、ステップＳ８０において、ステップＳ７０で検出したクランク角度に基づいて所定のクランク角度に達したことを検出する。例えば４気筒４サイクルエンジンを対象とした場合には、気筒間の行程位相差に相当するクランク角度１８０度毎にステップＳ９０〜Ｓ１００を実行するように判定する。
【００３８】
ステップＳ９０では、燃料噴射パルス幅及び燃料噴射タイミングの算出を行なう。ここでの処理の詳細な説明は、図４に示したフローチャートに基づいて後述する。
【００３９】
ステップＳ１００では、点火タイミング及び通電時間の算出を行なう。ここでの処理の詳細な説明は、図５に示したフローチャートに基づいて後述する。
【００４０】
以上の処理が終了後に、ステップＳ２０に戻り、再度ＥＣＭ３の検査のためのシミュレーションを行なうか否かの判断を行ない、行なう場合にはステップＳ２０〜Ｓ１００の処理を繰り返し実行し、中止する場合には、ステップＳ１１０において、ＥＣＭ検査装置１のシャットダウンプロセスを実行して、検査プログラムを終了する。
【００４１】
図３は、クランク角度の検出を行なうステップＳ７０（図２参照）における処理を示したフローチャートである。
まず、ステップＳ７１において、クランク角度検出用のバッファ（パルス発生器１２で生成した前述のエンジン回転信号の反転を反転検出器１（１１３）で検出し、カウンタ１（２１３）を参照してパルスが反転した時点のタイムスタンプを記録したバッファ１（３１３））にデータが記録されているかどうかを判断する。
【００４２】
バッファ１（３１３）にデータが記録されていた場合には、ステップＳ７２において、バッファ１（３１３）に記録されているデータを一つ読み出す。ここで、バッファ３１３〜３１８はＦＩＦＯバッファで構成されるので、複数のデータが記録されている場合でも、時間的に先に記録されたデータから順に読み出すことが可能となる。
【００４３】
次に、ステップＳ７３において、ステップＳ７２で読み出したタイムスタンプのデータをクランク角度計数用の配列に格納する。これにより、この配列にはエンジン回転信号が反転した時点の（本実施の形態では、クランク角度１０度毎の）タイムスタンプが格納される。
【００４４】
次に、ステップＳ７４において、クランク角度計数用カウンタをインクリメントする。これにより、本実施の形態においては、エンジン回転信号をクランク角度１０度毎に反転するものとしているので、クランク角度計数用カウンタはクランク角度１０度毎にインクリメントされる。また、クランク角度計数用カウンタは“０”から“７１”までを計数するもので、インクリメントして“７２”となった場合には、カウンタの値を“０”にクリアする。
【００４５】
上記ステップＳ７２〜Ｓ７４の処理の終了後に、ステップＳ７１に戻り、バッファ１（３１３）にデータが残っているか否かを判定する。データが残っている場合には、ステップＳ７２〜Ｓ７４の処理を繰り返し、データが残っていない場合には、メインルーチンにリターンする。
【００４６】
これにより、エンジン回転信号が反転した時点のタイムスタンプを取りこぼしなく検出することができるので、正確にクランク角度の検出を実行することが可能となる。
【００４７】
図４は、燃料噴射パルス幅及び燃料噴射タイミングの算出を行なうステップＳ９０（図２参照）における処理を示したフローチャートである。
なお、このフローチャートは一つの気筒の処理について記述したものであり、実際は気筒数に応じて同様の処理を繰り返すことになる。
【００４８】
まず、ステップＳ９１において、燃料噴射パルス計測用バッファ（ＥＣＭ３から出力された燃料噴射弁駆動パルス信号の反転を、例えば反転検出器２（１１４）で検出し、カウンタ２（２１４）を参照してパルスが反転した時点のタイムスタンプを記録したバッファ２（３１４））にデータが記録されているかどうかを判定する。
【００４９】
バッファ２（３１４）にデータが記録されていない場合には、メインルーチンにリターンし、バッファ２（３１４）にデータが記録されていた場合には、ステップＳ９２に進み、バッファ２（３１４）に記録されているデータを一つ読み出す。ここで、バッファ３１３〜３１８はＦＩＦＯバッファで構成されるので、複数のデータが記録されている場合でも、時間的に先に記録されたデータから順に読み出すことが可能となる。
【００５０】
次に、ステップＳ９３において、ステップＳ９２で読み出したタイムスタンプのデータを燃料噴射パルス計測用の配列に格納する。これにより、この配列には燃料噴射弁駆動パルス信号が反転した時点のタイムスタンプが格納される。
【００５１】
次に、ステップＳ９４において、燃料噴射パルス計測用バッファ２（３１４）にデータが残っているか否かの判定を行なう。データ残っている場合は、ステップＳ９２に戻ってバッファ２（３１４）のデータが空になるまでデータの読み出しを繰り返す。また、データが残っていない場合は、ステップＳ９５に進む。
【００５２】
ステップＳ９５では、燃料噴射パルス幅の算出を行なう。ここでは、ステップＳ９３で燃料噴射パルス計測用の配列に格納されたタイムスタンプデータの間隔を算出し、カウンタの動作周波数に応じたカウンタの値が“１”変化した場合の時間（例えば、カウンタの動作周波数が２０ＭＨｚの場合には、カウンタの値が“１”変化した場合の時間は５０ナノ秒）を乗算することによって燃料噴射パルス幅の算出を行なう。
【００５３】
また、燃料噴射パルスの立ち上がりと立ち下がりの判定、すなわち、噴射開始と噴射終了の判定は、シミュレーションを開始して最初のパルス反転を噴射開始として、それ以降開始と終了が繰り返されるものとして判定してもよいし、反転検出器で立ち上がりと立ち下がりを判定してその情報を反転時刻記録用とは別のバッファに記録しておいてもよいし、立ち上がり反転検出器と立ち下がり反転検出器を設けてそれぞれ反転時刻を記録してもよい。
【００５４】
次に、ステップＳ９６において、ステップＳ７３（図３参照）の処理で説明したクランク角度計数用配列の読み込みを行ない、ステップＳ９７において、その配列に格納されたクランク角度１０度毎のタイムスタンプデータに基づいて、クランク角度１度毎に対応したタイムスタンプの値を算出する。これは、クランク角度１０度毎のタイムスタンプデータを１０等分することによって行なう。
【００５５】
次に、ステップＳ９８において、燃料噴射タイミングの算出を行なう。ここでは、ステップＳ９７で算出したクランク角度１度毎に対応したタイムスタンプの値と、ステップＳ９３で燃料噴射パルス計測用の配列に格納されたタイムスタンプデータとを比較することによって、燃料噴射タイミングの算出をクランク角度１度毎の単位で行なう。
【００５６】
図５は、点火タイミング及び通電時間の算出を行なうステップＳ１００（図２参照）における処理を示したフローチャートである。
【００５７】
まず、ステップＳ１０１において、点火パルス計測用バッファ（ＥＣＭ３から出力された点火パルス信号の反転を、例えば反転検出器６（１１８）で検出し、カウンタ６（２１８）を参照してパルスが反転した時点のタイムスタンプを記録したバッファ６（３１８））にデータが記録されているかどうかを判定する。
【００５８】
バッファ６（３１８）にデータが記録されていない場合には、メインルーチンにリターンし、バッファ６（３１８）にデータが記録されていた場合には、ステップＳ１０２に進み、バッファ６（３１８）に記録されているデータを一つ読み出す。ここで、バッファ３１３〜３１８はＦＩＦＯバッファで構成されるので、複数のデータが記録されている場合でも、時間的に先に記録されたデータから順に読み出すことが可能となる。
【００５９】
次に、ステップＳ１０３において、ステップＳ１０２で読み出したタイムスタンプのデータを点火パルス計測用の配列に格納する。これにより、この配列には点火パルス信号が反転した時点のタイムスタンプが格納される。
【００６０】
次に、ステップＳ１０４において、点火パルス計測用バッファ６（３１８）にデータが残っているか否かの判定を行なう。データ残っている場合は、ステップＳ１０２に戻ってバッファ６（３１８）のデータが空になるまでデータの読み出しを繰り返す。また、データが残っていない場合は、ステップＳ１０５に進む。
【００６１】
ステップＳ１０５では、通電時間の算出を行なう。ここでは、ステップＳ１０３で点火パルス計測用の配列に格納されたタイムスタンプデータの間隔を算出し、カウンタの動作周波数に応じたカウンタの値が“１”変化した場合の時間（例えば、カウンタの動作周波数が２０ＭＨｚの場合には、カウンタの値が“１”変化した場合の時間は５０ナノ秒）を乗算することによって燃料噴射パルス幅の算出を行なう。
【００６２】
次に、ステップＳ１０６において、ステップＳ７３（図３参照）の処理で説明したクランク角度計数用配列の読み込みを行ない、ステップＳ１０７において、その配列に格納されたクランク角度１０度毎のタイムスタンプデータに基づいて、クランク角度１度毎に対応したタイムスタンプの値を算出する。これは、クランク角度１０度毎のタイムスタンプデータを１０等分することによって行なう。
【００６３】
次に、ステップＳ１０８において、点火タイミングの算出を行なう。ここでは、ステップＳ１０７で算出したクランク角度１度毎に対応したタイムスタンプの値と、ステップＳ１０３で点火パルス計測用の配列に格納されたタイムスタンプデータとを比較することによって、点火タイミングの算出をクランク角度１度毎の単位で行なう。
【００６４】
図６は、エンジン回転信号の生成を行なうステップＳ６０（図２参照）における処理について、請求項１に記載の発明に対応した実施の形態を示したフローチャートである。
【００６５】
まず、ステップＳ６１で、クランク角度計数用カウンタの読み込みを行なう。すなわち、前回のステップＳ７０での処理（図３参照）でクランク角度検出用バッファのデータを読み出した際にインクリメントしたカウンタの値を読み込む。
【００６６】
そして、ステップＳ６２において、そのカウンタの値を、前回ステップＳ６１で読み込んだカウンタの値と比較して変化量を算出して、所定値ＳＬ１と比較する。つまり、前々回クランク角度の検出を行なってから、前回クランク角度の検出を行なうまでの間に、クランク角度検出用バッファに記録されたエンジン回転信号の反転時刻の個数が、所定値ＳＬ１以上である場合にはステップＳ６３に進み、所定値ＳＬ１未満である場合にはステップＳ６５に進む。
【００６７】
ステップＳ６５では、周期変更用のカウンタ、つまり、クランク角度検出用バッファに記録されたデータの数が所定値未満である状態が継続される期間を計測するためのカウンタをインクリメントする。そして、ステップＳ６６において、その周期変更用カウンタが所定値ＳＬ２以上である場合には、ステップＳ６７において、エンジン回転信号を反転させるクランク角度周期を所定量ＩＮＣだけ小さくする。一方、ステップＳ６６において、その周期変更用カウンタが所定値ＳＬ２未満である場合にはそのまま処理を終了する。
【００６８】
ステップＳ６３では、前記周期変更用のカウンタをクリアし、ステップＳ６４で、エンジン回転信号を反転させるクランク角度周期を所定量ＤＥＣだけ大きくする。
【００６９】
【発明の効果】
以上、詳細に説明したように、本発明によれば、以下のような効果がある。請求項１に記載の発明では、クランク角度の検出に取りこぼしがなく、正確にクランク角度の検出を行なうことが可能となる。また、アクチュエータ駆動信号の検出実行周期に係わらず、駆動信号の反転を取りこぼしなく検出でき、正確に駆動信号を計測することが可能となる。
また、請求項１に記載の発明では、エンジン回転速度が大きい場合においても、クランク角度の検出に取りこぼしがなく、正確にクランク角度の検出を行なうことが可能となる。
さらに、請求項１に記載の発明では、検査装置の演算能力や演算負荷によって、クランク角度の検出を行なう周期が変化した場合においてもクランク角度の取りこぼしがなく、演算能力や演算負荷に合わせてクランク角度の検出精度を調整することが可能となる。
【００７０】
請求項２に記載の発明では、微小単位のクランク角度毎に反転するパルス信号に基づいてクランク角度の検出を行なう場合に比べて、クランク角度の検出を行なう回数を減らすことが可能となる。また、パルスの反転回数を、エンジンが２回転する時間にエンジンの気筒数の倍数に等しい回数としたので、パルスの反転回数を計数することで気筒間の行程位相差を検出することが可能である。
【００７３】
請求項３に記載の発明では、クランク角度を基準としたアクチュエータ駆動信号の計測が、演算負荷を最小にして容易に可能となる。
【００７４】
請求項４に記載の発明では、アクチュエータの駆動タイミングをクランク角度の単位で計測することが容易に可能となる。
【００７５】
請求項５に記載の発明では、クランク角度の検出に取りこぼしがなく、正確にクランク角度の検出を行なうことが可能となる。また、アクチュエータ駆動信号の検出実行周期に係わらず、駆動信号の反転を取りこぼしなく検出でき、正確に駆動信号を計測することが可能となる。
また、請求項５に記載の発明では、エンジン回転速度が大きい場合においても、クランク角度の検出に取りこぼしがなく、正確にクランク角度の検出を行なうことが可能となる。アクチュエータの駆動タイミングをクランク角度の単位で計測することが容易に可能となる。
さらに、請求項５に記載の発明では、アクチュエータの駆動タイミングを微小単位のクランク角度を分解能として計測することが容易に可能となる。
【図面の簡単な説明】
【図１】本発明による電子制御装置の検査装置の一実施の形態におけるＥＣＭ検査装置の構成を示す図である。
【図２】本実施の形態におけるＣＰＵ１０で実行する処理の概要を示すフローチャートである。
【図３】本実施の形態におけるクランク角度の検出を行なう処理を示すフローチャートである。
【図４】本実施の形態における燃料噴射パルス幅及び燃料噴射タイミングの算出を行なう処理を示すフローチャートである。
【図５】本実施の形態における点火タイミング及び通電時間の算出を行なう処理を示すフローチャートである。
【図６】本実施の形態におけるエンジン回転信号の生成を行なう処理を示すフローチャートである。
【図７】本実施の形態におけるＲＥＦ信号、ＰＯＳ信号を説明する図である。
【図８】本実施の形態におけるエンジン回転信号を説明する図である。
【符号の説明】
１    ＥＣＭ検査装置
２    Ｉ／Ｏインターフェース
３    ＥＣＭ
１０    ＣＰＵ
１１    任意波形発生器
１２    パルス発生器
１３，１４，１５，１６，１７，１８    パルス計測器
１９    アナログ・デジタルＩ／Ｏ
１１３，１１４，１１５，１１６，１１７，１１８    反転検出器
２１３，２１４，２１５，２１６，２１７，２１８    カウンタ
３１３，３１４，３１５，３１６，３１７，３１８    バッファ
【図１】
0004045637.tif 000002
【図２】
0004045637.tif 000003
【図３】
0004045637.tif 000004
【図４】
0004045637.tif 000005
【図５】
0004045637.tif 000006
【図６】
0004045637.tif 000007
【図７】
0004045637.tif 000008
【図８】
0004045637.tif 000009