JP6332069B2 - センサ信号処理装置 - Google Patents

センサ信号処理装置 Download PDF

Info

Publication number
JP6332069B2
JP6332069B2 JP2015023441A JP2015023441A JP6332069B2 JP 6332069 B2 JP6332069 B2 JP 6332069B2 JP 2015023441 A JP2015023441 A JP 2015023441A JP 2015023441 A JP2015023441 A JP 2015023441A JP 6332069 B2 JP6332069 B2 JP 6332069B2
Authority
JP
Japan
Prior art keywords
time
sensor signal
processing device
signal processing
signal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015023441A
Other languages
English (en)
Other versions
JP2016145558A (ja
Inventor
敏和 日置
敏和 日置
直矢 若山
直矢 若山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Denso Corp
Original Assignee
Denso Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Denso Corp filed Critical Denso Corp
Priority to JP2015023441A priority Critical patent/JP6332069B2/ja
Publication of JP2016145558A publication Critical patent/JP2016145558A/ja
Application granted granted Critical
Publication of JP6332069B2 publication Critical patent/JP6332069B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Combined Controls Of Internal Combustion Engines (AREA)

Description

本発明は、センサ信号の処理装置に関する。
クランク角センサから出力されるクランク角信号には、エンジンのクランク軸が所定角度回転する毎(換言すれば所定クランク角毎)に所定方向のパルスエッジが発生する。以下では、この所定クランク角毎に発生するパルスエッジのことを、NEエッジともいう。そして、クランク角信号にNEエッジが発生したタイミングでの、他のセンサ信号の値を、正しく取得するための技術として、例えば特許文献1に記載の技術がある。
特開2013−87692号公報
クランク角信号とは異なるセンサ信号の値(以下単に、センサ信号値ともいう)として、NEエッジの間隔に相当するクランク角(上記所定角度)を所定数で割った逓倍角毎のタイミングでのセンサ信号値を取得したい、という要望がある。しかし、上記文献1の技術は、その要望を実現することができない。
また第1例として、例えば、過去のNEエッジの発生時間間隔を上記所定数で割った時間を用いて、NEエッジの次回の周期における逓倍角毎の各タイミングを予測し、その予測した各タイミングにおいてセンサ信号値を取得する、という手法が考えられる。しかし、エンジンの回転速度が変動すると、予測される各タイミングは実際の逓倍角毎のタイミングからずれてしまうため、正しいセンサ信号値を取得することができない。特にエンジンの回転速度が加速した場合には、センサ信号値の取得抜けが生じてしまう。
また第2例として、例えば、クランク軸が逓倍角だけ回転するのに要する時間よりも十分に短い一定時間毎に、センサ信号値を読み込んでメモリに順次格納していき、そのメモリ内のセンサ信号値の中から、クランク角信号に基づき算出した逓倍角毎のタイミングに最も近いタイミングでのセンサ信号値を選択する、という手法も考えられる。しかし、メモリの必要容量が非常に多くなってしまう。
そこで、本発明は、クランク角信号のパルスエッジ間隔に相当するクランク角を等分した逓倍角毎のタイミングでの、正しいセンサ信号値を、少ないメモリ容量で取得することができるようにすること、を目的としている。
第1発明のセンサ信号処理装置には、エンジンのクランク軸が所定角度回転する毎(換言すれば所定クランク角毎)に所定方向のパルスエッジが発生するクランク角信号と、クランク角信号とは別のセンサ信号とが、入力される。
このセンサ信号処理装置は、遅延手段を備える。遅延手段は、当該センサ信号処理装置に入力される前記センサ信号を、クランク角信号に前記パルスエッジが発生する時間間隔よりも長い所定の遅延時間だけ遅延させ、その遅延後のセンサ信号を出力する。そして、このセンサ信号処理装置は、クランク角信号に前記パルスエッジが発生したタイミング間を等分した各タイミングを、前記遅延時間だけ遅らせた各タイミングにおいて、遅延手段から出力されるセンサ信号の値を取得する。
このセンサ信号処理装置によれば、クランク角信号のパルスエッジ間隔に相当するクランク角(上記所定角度)を等分した逓倍角毎のタイミングでの、正しいセンサ信号値を、取得することができる。また、前述した第2例のように一定時間毎のセンサ信号値をメモリに順次格納していく必要がないため、必要なメモリ容量を少なくすることができる。
なお、特許請求の範囲に記載した括弧内の符号は、一つの態様として後述する実施形態に記載の具体的手段との対応関係を示すものであって、本発明の技術的範囲を限定するものではない。
第1実施形態の電子制御装置(ECU)の構成を表す構成図である。 第1実施形態の逓倍周期算出処理を表すフローチャートである。 第1実施形態の取得情報算出処理を表すフローチャートである。 時刻キュー、チャンネルキュー、キューボトム及びキュートップを説明する説明図である。 第1実施形態の信号取得処理を表すフローチャートである。 第1実施形態の取得時刻設定処理を表すフローチャートである。 第1実施形態の作用を説明する説明図である。 1次オールパスフィルタの係数毎の「周波数−遅延時間」特性を示すグラフである。 オールパスフィルタの次数毎の「係数−遅延時間」特性を示すグラフである。 オールパスフィルタの係数毎の「次数−遅延時間」特性を示すグラフである。 各種フィルタのゲイン特性を示すグラフである。 各種フィルタの遅延時間特性を示すグラフである。 第2実施形態の電子制御装置(ECU)の構成を表す構成図である。 第2実施形態の遅延時間選択処理を表すフローチャートである。 第3実施形態の電子制御装置(ECU)の構成を表す構成図である。 第3実施形態の信号取得処理を表すフローチャートである。
以下に、本発明が適用された実施形態のセンサ信号処理装置としての電子制御装置について説明する。以下では、電子制御装置のことをECUという。ECUは、「Electronic Control Unit」の略である。
[第1実施形態]
図1に示すように、第1実施形態のECU1には、クランク角センサ3からのクランク角信号(以下、NE信号という)Saが入力される。NEは、「Number of Engine Speed」の略である。更に、ECU1には、筒内圧センサ(CPS:Cylinder Pressure Sensor)5からのセンサ信号(以下、CPS信号という)Scが入力される。筒内圧センサ5は、エンジンの気筒内圧(詳しくは気筒内の圧力)を検出して、その気筒内圧を表すアナログのCPS信号Scを出力する。
ECU1は、クランク角センサ3からのNE信号Saが入力される入力回路としてのローパスフィルタ(以下、LPFという)7と、波形整形回路9と、マイクロコンピュータ(以下、マイコンという)11と、を備える。
LPF7は、NE信号Saからノイズを除去するために設けられており、位相固定用の抵抗13と、抵抗14及びコンデンサ15とによって構成されている。LPF7を通過したノイズ除去後のNE信号は、波形整形回路9により、図7の1段目に示すような矩形波(即ち、ハイとローとの何れかになる信号)に波形整形される。波形整形回路9は、基準電圧を生成する抵抗16,17と、LPF7からのNE信号と基準電圧とを大小比較する比較器18とによって構成されている。比較器18の出力は、LPF7からのNE信号が基準電圧よりも大きければハイになり、そうでなければローになる。
そして、波形整形回路9で波形整形されたNE信号Sbは、マイコン11に入力される。マイコン11に入力されるNE信号Sbには、図7の1段目及び4段目に示すように、エンジンのクランク軸が所定角度回転する毎(本第1実施形態では10°CA毎)に所定方向のパルスエッジである有効エッジ(この例では立ち下がりエッジ)が発生する。以下では、NE信号Sbにおける10°CA毎のパルスエッジ(有効エッジ)のことを、NEエッジという。尚、LPF7での信号の遅延時間は無視できる程度に小さい。
また、ECU1は、筒内圧センサ5からのCPS信号Scが入力される入力回路としてのアンチエイリアシングフィルタ(以下、AAFという)21と、ノイズ除去用のLPF(ローパスフィルタ)23と、オールパスフィルタ(以下、APFという)25と、を備える。
AAF21は、位相固定用の抵抗27と、抵抗28及びコンデンサ29,30とによって構成されている。AAF21を通過したCPS信号は、LPF23に入力される。LPF23は、抵抗33,34と、コンデンサ35,36と、オペアンプ37とによって構成されている。LPF23を通過したノイズ除去後のCPS信号は、APF25に入力される。APF25は、周波数特性が一定で位相遅延だけを発生させるフィルタであり、抵抗39,40,41と、コンデンサ42と、オペアンプ43とによって構成されている。そして、APF25を通過したCPS信号Sdは、マイコン11に入力される。
マイコン11は、CPU45、ROM46、RAM47及びA/D変換器(ADC)48を備える。A/D変換器48には、APF25を通過したCPS信号Sdが、A/D変換対象として入力される。そして、マイコン11では、CPU45が、ROM46に記憶されているプログラムを実行することで、逓倍周期算出部51と、取得情報算出部52と、取得時刻設定部53と、信号取得部54との、それぞれとして機能する。
本第1実施形態のECU1は、NEエッジの間隔に相当するクランク角(この例では10°)を、1よりも大きい所定の逓倍率(所定数に相当)で割った逓倍角毎のタイミングでの、CPS信号Scの値(以下単に、CPS信号値ともいう)を取得するようになっている。そして、マイコン11において、逓倍周期算出部51、取得情報算出部52、取得時刻設定部53及び信号取得部54は、逓倍角毎のタイミングでのCPS信号値を取得するための制御を行う部分である。
また、ECU1において、AAF21、LPF23及びAPF25は、当該ECU1に入力されるCPS信号を遅延させて出力する遅延手段に相当する。そして、AAF21、LPF23及びAPF25でのトータルの遅延時間Tdf1は、エンジンが運転状態の場合にNEエッジが発生する時間間隔の最大値よりも、長い時間に設定されている。尚、図1において、APF25の次数は1次であるが、APF25の次数を増やすのであれば、図1に示すAPF25の回路構成を直列に複数つなげば良い。
次に、マイコン11のCPU45が行う処理について説明する。
〈逓倍周期算出処理〉
CPU45は、NE信号SbにNEエッジが発生する毎に、図2の逓倍周期算出処理を行うことで、逓倍周期算出部51として機能する。
図2に示すように、CPU45は、逓倍周期算出処理では、まずS110にて、NE時刻今回を、NE時刻前回として記憶し、次いで、現在のフリーラン時刻を、NE時刻今回として記憶する。
フリーラン時刻は、マイコン11の内部クロックによって常時カウントアップしているフリーランカウンタの値であり、現在時刻に相当する。NE時刻今回とは、NEエッジが今回発生した時刻である。NE時刻前回とは、NEエッジが前回発生した時刻である。尚、マイコン11が起動してから当該逓倍周期算出処理が最初に実行された場合(即ち、最初のNEエッジが発生した場合)には、S110にて、NE時刻前回としては、例えば所定のデフォルト値が記憶される。
そして、CPU45は、次のS120にて、NE時刻今回からNE時刻前回を引いた値を、NE周期Tneとして算出する。NE周期Tneは、NEエッジの発生時間間隔(詳しくは、NEエッジが発生したタイミングの時間間隔)である。
CPU45は、次のS130にて、S120で算出したNE周期Tneを逓倍率で割った値を、逓倍周期Tmとして算出し、その後、当該逓倍周期算出処理を終了する。S130で算出される逓倍周期Tmは、クランク軸が逓倍角(=10°/逓倍率)だけ回転するのに要した実際の時間である。
〈取得情報算出処理〉
CPU45は、NE信号SbにNEエッジが発生する毎に、図2の逓倍周期算出処理に続いて、図3の取得情報算出処理を行うことにより、取得情報算出部52として機能する。但し、マイコン11が起動してから図2の逓倍周期算出処理が最初に実行された場合には、実際の逓倍周期Tmが未だ算出されていないため、図3の取得情報算出処理は実行されない。
図3に示すように、CPU45は、取得情報算出処理では、まずS210にて、NE時刻前回に遅延時間Tdを加算した値を、基準時刻として算出する。本第1実施形態において、遅延時間Tdは、AAF21、LPF23及びAPF25でのトータルの遅延時間Tdf1と同じ値である。
CPU45は、次のS220にて、S230〜S260の繰り返し回数をカウントするためのループカウンタLCを、0にする。
そして、CPU45は、S230にて、キューボトムに1を加算する。
キューボトムと後述するキュートップとの各々は、リングバッファ構造の時刻キューとチャンネルキューとの位置を示す位置情報である。時刻キューは、CPS信号Sdの値を取得すべき時刻(取得タイミングに相当)が、情報として格納されるキューである。チャンネルキューは、CPS信号Sdの値を取得するために使用するチャンネルの番号(以下、チャンネル番号という)が、情報として格納されるキューである。本第1実施形態では、A/D変換器48のチャンネル番号が、チャンネルキューに格納される。
そして、キューボトムは、時刻キューとチャンネルキューとの各々において、情報が最後に格納された位置を示し、キュートップは、時刻キューとチャンネルキューとの各々において、次の情報を格納する位置を示す。また、マイコン11の起動時におけるキューボトム及びキュートップの初期値は、図4に示すように0であり、この0は、時刻キューとチャンネルキューとの各々において、先頭に相当する0番目(0)の位置を示す。尚、図4は、時刻キューとチャンネルキューとのうち、時刻キューの方を例示しており、図4におけるt1〜t4の各々は、時刻キューの1番目(1)から4番目(4)の各位置に格納された時刻である。また、キューボトムとキュートップとの各々は、1の加算によって最終値nになった後、次に1の加算が行われると、0に戻るようになっている。
図3の説明に戻る。CPU45は、次のS240にて、時刻キュー(キューボトム)に、下記式1の値を格納すると共に、チャンネルキュー(キューボトム)に、チャンネル番号を格納する。
「基準時刻+逓倍周期Tm×LC」…式1
尚、時刻キュー(キューボトム)は、時刻キューの各位置のうち、キューボトムが示す位置のことである。同様に、チャンネルキュー(キューボトム)は、チャンネルキューの各位置のうち、キューボトムが示す位置のことである。そして、図3において、「ch」は「チャンネル」の略であり、このことは他の図においても同様である。
また、式1において、基準時刻は、S210で算出された値であり、逓倍周期Tmは、図2のS130で算出された値であり、LCは、ループカウンタLCの値である。また、本第1実施形態では、A/D変換器48のチャンネルのうち、例えば第1チャンネルにCPS信号Sdが入力されるようになっているため、S240では、チャンネルキュー(キューボトム)に、チャンネル番号として、第1チャンネルの番号が格納される。
CPU45は、次のS250にて、ループカウンタLCをインクリメントし、次のS260にて、ループカウンタLCの値が逓倍率以上になったか否かを判定する。
そして、CPU45は、ループカウンタLCの値が逓倍率未満であれば(S260:NO)、S230に戻る。また、CPU45は、ループカウンタLCの値が逓倍率以上であれば(S260:YES)、S270に進む。
CPU45は、S270では、取得時刻が未設定であるか否かを判定する。取得時刻は、CPS信号Sdの値を取得する時刻であり、時刻キューに格納された何れかの時刻が、この取得時刻として設定される。
そして、CPU45は、取得時刻が未設定でなければ(S270:NO)、そのまま当該取得情報算出処理を終了するが、取得時刻が未設定であれば(S270:YES)、S280に進む。尚、マイコン11が起動してから当該取得情報算出処理が最初に実行された場合には、取得時刻が未設定であり、S270で「YES」と判定される。
CPU45は、S280では、NEエッジが前回発生したときのクランク角から逓倍角を引いた値を、CPS信号クランク角として設定する。尚、クランク角は、例えば、NE信号Sbと、特定のカム角位置でパルスが生じるカム角信号とに基づいて算出され、0°CAから720°CAまでの値である。そして、CPS信号クランク角は、後述する図5の処理で取得するCPS信号値が、どのクランク角でのCPS信号値であるかを示す付加情報である。また、S280の処理を行うのは、後述する図5のS360で、CPS信号クランク角に逓倍角を加える処理を行うからである。
CPU45は、次のS285にて、キュートップに1を加算する。
CPU45は、次のS290にて、時刻キュー(キュートップ)に格納されている時刻を、取得時刻として設定し、チャンネルキュー(キュートップ)に格納されているチャンネル番号を、取得チャンネルとして設定する。
尚、時刻キュー(キュートップ)は、時刻キューの各位置のうち、キュートップが示す位置のことである。同様に、チャンネルキュー(キュートップ)は、チャンネルキューの各位置のうち、キュートップが示す位置のことである。また、取得チャンネルは、CPS信号Sdの値を取得するために実際に使用するチャンネル(本第1実施形態では、A/D変換器48のチャンネル)を示す。
そして、CPU45は、次のS295にて、キュートップに1を加算し、その後、当該取得情報算出処理を終了する。
〈信号取得処理〉
フリーラン時刻が取得時刻と一致すると、CPU45は、図5の信号取得処理を行うことにより、信号取得部54として機能する。
図5に示すように、CPU45は、信号取得処理では、まずS310にて、ADC実行フラグをオンにする。ADC実行フラグは、それをオンにするとA/D変換器48によるA/D変換が開始され、A/D変換が完了するとオフになるレジスタである。
CPU45は、次のS320にて、ADC実行フラグがオフになるまで待つ。つまり、CPS信号SdのA/D変換が完了するまで待つ。そして、CPU45は、ADC完了フラグがオフになったと判定すると(S320:YES)、S330に進む。
CPU45は、S330では、取得チャンネルが第1チャンネルであるか否かを判定する。具体的には、取得チャンネルの値が第1チャンネルの番号であるか否かを判定する。そして、取得チャンネルが第1チャンネルであれば(S330:YES)、S340に進む。CPU45は、S340では、A/D変換器48のレジスタから、第1チャンネルのA/D変換値であるADC第1チャンネル値(即ち、CPS信号SdのA/D変換値)を読み出し、そのADC第1チャンネル値を、CPS信号値としてRAM47に格納する。
また、CPU45は、S330にて、取得チャンネルが第1チャンネルではないと判定した場合には、S350に進み、A/D変換器48のレジスタから、第2チャンネルのA/D変換値であるADC第2チャンネル値を読み出し、そのADC第2チャンネル値を、CPS信号値としてRAM47に格納する。
尚、S350の処理は、A/D変換器48の第2チャンネルにCPS信号Sdが入力される場合を想定した処理である。本第1実施形態では、常に第1チャンネルの番号が取得チャンネルとして設定されるため、S330とS350を削除して、S320で「YES」と判定した場合にS340へ進むようにしても良い。また、S330とS350を削除する場合、図3のS240でチャンネルキュー(キューボトム)にチャンネル番号を格納する処理と、図3のS290及び後述する図6のS410で取得チャンネルを設定する処理も、不要となる。一方、本第1実施形態では、S310,S320,S340の処理が、CPS信号Sdの値を取得する処理に相当する。
CPU45は、S340又はS350の処理を行った後、S360に進む。CPU45は、S360では、CPS信号クランク角に逓倍角を加え、その逓倍角を加えた後のCPS信号クランク角を、今回のS340又はS350でRAM47に格納したCPS信号値と対応付けて、RAM47に格納する。そして、その後、当該信号取得処理を終了する。
〈取得時刻設定処理〉
CPU45は、図5の信号取得処理に続いて、図6の取得時刻設定処理を行うことにより、取得時刻設定部53として機能する。
図6に示すように、CPU45は、取得時刻設定処理では、S410にて、図3のS290と同様に、時刻キュー(キュートップ)に格納されている時刻を、取得時刻として設定し、チャンネルキュー(キュートップ)に格納されているチャンネル番号を、取得チャンネルとして設定する。そして、CPU45は、次のS415にて、キュートップに1を加算し、その後、当該取得時刻設定処理を終了する。
〈具体例の説明〉
次に、CPU45が上記各処理を行うことによる作用の具体例を、図7を用いて説明する。尚、図7は、「逓倍率=4」で「逓倍角=10°/4=2.5°」である場合の一例を示している。
図7に示すように、マイコン11が起動してから最初のNEエッジ(有効エッジ)が時刻t01で発生し、次のNEエッジが時刻t05で発生したとする。
時刻t05でCPU45が図2の逓倍周期算出処理を実行した場合には、時刻t01がNE時刻前回として記憶され、時刻t05がNE時刻今回として記憶される(図2のS110)。そして、「時刻t05−時刻t01」の値(この例では0.6ms)が、NE周期Tneとして算出され(図2のS120)、そのNE周期Tneを逓倍率(=4)で割った値(この例では0.15ms)が、逓倍周期Tmとして算出される(図2のS130)。
更に、CPU45は、時刻t05では、図2の逓倍周期算出処理に続いて、図3の取得情報算出処理を実行することとなる。
その場合、図7に示すように、NE時刻前回としての時刻t01から前述の遅延時間Td(この例では1.2ms)だけ後の時刻t1が、基準時刻として算出される(図3のS210)。そして、図3におけるS220〜S260の処理により、時刻t1と、その時刻t1から逓倍周期Tm(=0.15ms)ずつ後の3個(=「逓倍率−1」個)の各時刻t2,t3,t4とが、時刻キューの1番目(1)から4番目(4)の各位置に順次格納される(図4参照)。また、チャンネルキューの1番目(1)から4番目(4)の各位置には、第1チャンネルの番号が格納される。
時刻t1〜t4の各々は、NEエッジが前回発生した時刻t01と、その時刻t01から逓倍周期Tmずつ後の各時刻t02,t03,t04とに、それぞれ遅延時間Tdを加算した各時刻である。尚、時刻t02,t03,t04は、時刻t01でのクランク角(この例では40°CA)から逓倍角ずつ後の各クランク角での時刻でもある。
また、CPU45が時刻t05で図3の取得情報算出処理を実行した場合、図3のS270では「YES」と判定される。そして、図3におけるS280の処理により、時刻t01でのクランク角から逓倍角を引いた値が、CPS信号クランク角として設定される。更に、図3におけるS285〜S295の処理により、時刻キューの1番目(1)の位置に格納されている時刻t1が、取得時刻として設定され、チャンネルキューの1番目(1)の位置に格納されているチャンネル番号が、取得チャンネルとして設定される。尚、前述したように、本第1実施形態では、常に第1チャンネルの番号が取得チャンネルとして設定される。
その後、時刻t1が到来して、フリーラン時刻と取得時刻とが一致すると、CPU45は、図5の信号取得処理を実行する。すると、A/D変換器48によるCPS信号SdのA/D変換が実施され(図5のS310)、時刻t1でのCPS信号SdのA/D変換値に相当するADC第1チャンネル値が、CPS信号値としてRAM47に格納される(図5のS340)。更に、図5におけるS360の処理により、CPS信号クランク角として、時刻t01でのクランク角が、CPS信号値と対応付けてRAM47に格納される。
そして、CPU45は、図5の信号取得処理に続いて、図6の取得時刻設定処理を実行する。この時点でキュートップは図3のS295により2に更新されている。よって、図6におけるS410の処理により、時刻キューの2番目(2)の位置に格納されている時刻t2が、取得時刻として設定され、チャンネルキューの2番目(2)の位置に格納されているチャンネル番号が、取得チャンネルとして設定される。
その後、時刻t2が到来して、フリーラン時刻と取得時刻とが一致すると、CPU45は、再び図5の信号取得処理を実行する。すると、A/D変換器48によるCPS信号SdのA/D変換が実施され(図5のS310)、時刻t2でのCPS信号SdのA/D変換値に相当するADC第1チャンネル値が、CPS信号値としてRAM47に格納される(図5のS340)。更に、図5におけるS360の処理により、CPS信号クランク角として、時刻t01でのクランク角に逓倍角を加えたクランク角(即ち、時刻t02でのクランク角であり、この例では42.5°CA)が、CPS信号値と対応付けてRAM47に格納される。
そして、CPU45は、図5の信号取得処理に続いて、図6の取得時刻設定処理を実行する。この時点でキュートップは、前回の図6におけるS415により3に更新されている。よって、今回の図6におけるS410では、時刻キューの3番目(3)の位置に格納されている時刻t3が、取得時刻として設定され、チャンネルキューの3番目(3)の位置に格納されているチャンネル番号が、取得チャンネルとして設定される。
その後も、フリーラン時刻と取得時刻とが一致する毎に、図5と図6の処理が実行される。このため、時刻t3でのCPS信号SdのA/D変換値と、時刻t03でのクランク角(この例では45°CA)とが、対応付けてRAM47に格納され、同様に、時刻t4でのCPS信号SdのA/D変換値と、時刻t04でのクランク角(この例では47.5°CA)とが、対応付けてRAM47に格納される。
また、図7に示すように、時刻t05から1.0ms後の時刻t09で、次のNEエッジが発生したとすると、図2及び図3の処理が再び実行される。尚、この場合、図3の処理では、S270で「NO」と判定されるため、S280〜S295はスキップされる。
このため、NEエッジが前回発生した時刻t05から遅延時間Tdだけ後の時刻t5と、その時刻t5から新たな逓倍周期Tm(この例では0.25ms=1.0ms/4)ずつ後の3個の各時刻t6,t7,t8(尚、t8は図示されず)とが、時刻キューの5番目(5)以降の各位置に順次格納される。そして、その時刻t5〜t8の各々において、図5及び図6の処理が実行される。その結果、時刻t5,t6,t7,t8でのCPS信号SdのA/D変換値と、時刻t05,t06,t07,t08でのクランク角とが、対応付けてRAM47に格納されることとなる。尚、時刻t06,t07,t08は、時刻t05から逓倍周期Tm(=0.25ms)ずつ後の各時刻であり、時刻t05でのクランク角(この例では50°CA)から逓倍角ずつ後の各クランク角での時刻でもある。
〈効果の説明〉
ECU1では、筒内圧センサ5から入力されるCPS信号Scを、AAF21、LPF23及びAPF25からなる遅延手段により、NEエッジの発生時間間隔の最大値よりも長い遅延時間Tdf1だけ遅延させている。そして、NEエッジが発生したタイミング間を逓倍率で等分した各タイミングを、遅延時間Tdf1と同じ遅延時間Tdだけ遅らせた各タイミング(例えば図7の時刻t2,t3,t4)において、遅延後のCPS信号Sdの値を取得している。
このため、NEエッジの間隔に相当するクランク角を逓倍率で等分した逓倍角毎のタイミングでの、正しいCPS信号値を、簡単に取得することができる。例えば、失火などの燃焼状態を検出する方法として、CPS信号値と燃焼室容積から燃焼質量割合を求める技術があるが、燃焼室容積はクランク角に応じて変化するため、クランク角の変化に応じたCPS信号値の推移を詳細に把握することが必要である。よって、逓倍角毎のCPS信号値を取得することは非常に有益である。また、ECU1によれば、前述した第2例のように一定時間毎のCPS信号値をメモリ(例えばRAM47)に順次格納していく必要がないため、必要なメモリ容量を少なくすることができる。
また、ECU1では、マイコン11のCPU45が、NEエッジが発生する毎に、今回のNE周期Tne(NEエッジの発生時間間隔)を計測すると共に、その計測したNE周期Tneを逓倍率で割った時間を、逓倍周期Tmとして算出する(S110〜S130)。更に、NEエッジが前回発生したタイミングと、そのタイミングから逓倍周期Tmずつ後の各タイミングとに、それぞれ遅延時間Tdを加算した各タイミングを、CPS信号Sdの取得タイミングとして算出して時刻キューに格納する(S210〜S260)。そして、CPU45は、時刻キューに格納された各取得タイミングにおいて、CPS信号Sdの値を取得してRAM47に格納する(S270,S285〜S295,S310〜S340,S410,S415)。このため、逓倍角毎のタイミングでのCPS信号値を漏れなく取得することができる。
また、CPS信号Scを遅延させる遅延手段が、フィルタ(上記例では、AAF21、LPF23及びAPF25)であるため、目的に応じた特性のフィルタを遅延手段として利用することができる。また、遅延手段をなすフィルタの少なくとも1つとして、APF25を用いているため、遅延時間を任意に設定することが容易である。
次に、フィルタの特性について説明する。
〈1次APFの係数毎の「周波数−遅延時間」特性〉
図8のグラフは、横軸を周波数、縦軸を遅延時間にして、APFの係数A毎の特性を示す。1次のAPFの伝達関数は下記式2の通りであり、係数Aは、伝達関数の係数Aである。
図8のように、遅延時間は低周波数では一定であり、ある周波数を超えると遅延時間が減少する。また、係数Aが大きくなるにつれて、遅延時間が減少し始める周波数が高くなる。つまり、係数Aが大きいほど、入力信号の使用周波数域が広くなる。よって、係数Aは、入力信号の使用周波数域(例えば10Hz〜120Hz)において、遅延時間が一定である値を選択すれば良い。
〈APFの次数毎の「係数−遅延時間」特性〉
図9のグラフは、横軸を係数A、縦軸を遅延時間にして、APFの次数毎の特性を示す。次数は、式2の伝達関数を掛け合わせる回数である。
図9のように、係数Aの増加に伴って遅延時間は減少する。また、次数が増えるにつれて、遅延時間も増加する。また図8より、係数Aが大きいほど使用周波数域は広くなるが、係数Aとしては、必要な遅延時間を実現する値よりも小さい値を選択する必要がある。よって、必要な使用周波数域と遅延時間とが両立するように、次数を選択すれば良い。
〈APFの係数毎の「次数−遅延時間」特性〉
図10のグラフは、横軸を次数、縦軸を遅延時間にして、APFの係数A毎の特性を示す。図10のように、次数の増加に伴って遅延時間が増加する。
〈各種フィルタのゲイン特性〉
図11のグラフは、横軸を周波数、縦軸をゲインにして、各種フィルタ(AAF、LPF、APF、TOTAL)の特性の例を示す。尚、TOTALは、AAFとLPFとAPFとの合計値である。
図11のように、APFのゲイン特性は一定であるため、APFは、入力信号の振幅に影響を与えない。
〈各種フィルタの遅延時間特性〉
図12のグラフは、横軸を周波数、縦軸を遅延時間にして、各種フィルタ(AAF、LPF、APF、TOTAL)の特性の例を示す。TOTALは、AAFとLPFとAPFとの合計値である。そのTOTALの遅延時間が、必要な遅延時間以上で、かつ、使用周波数域の遅延時間が一定となるように、各フィルタの係数Aと次数を選択すれば良い。尚、図12の例ではTOTALの遅延時間が1308μsに設定されている。
[第2実施形態]
次に、第2実施形態のECUについて説明するが、第1実施形態と同様の構成要素や処理については、第1実施形態と同じ符号を用いる。そして、このことは、後述する他の実施形態についても同様である。
図13に示す第2実施形態のECU57は、第1実施形態のECU1と比較すると、下記《1》,《2》の点が異なる。
《1》APF25に代えて、2つのAPF25−1,25−2を備える。
一方のAPF25−1は、第1実施形態(図1)のAPF25と同じ構成及び特性のものである。他方のAFP25−2も、APF25−1と同様に、抵抗59,60,61と、コンデンサ62と、オペアンプ63とによって構成されているが、AFP25−2は、それの遅延時間がAPF25−1の遅延時間よりも短い時間となるように設計されている。
LPF23を通過したCPS信号は、2つのAPF25−1,25−2に入力される。そして、APF25−1を通過したCPS信号Sd1は、A/D変換器48の第1チャンネルにA/D変換対象として入力され、APF25−2を通過したCPS信号Sd2は、A/D変換器48の第2チャンネルにA/D変換対象として入力される。
AAF21、LPF23及びAPF25−1でのトータルの遅延時間は、第1実施形態におけるトータルの遅延時間Tdf1と同じであり、以下では、第1遅延時間Tdf1という。
一方、AAF21、LPF23及びAPF25−2でのトータルの遅延時間は、第1遅延時間Tdf1よりも短く、以下では、第2遅延時間Tdf2という。その第2遅延時間Tdf2は、エンジン回転数が所定閾値(例えば2000rpm)の場合のNE周期Tneである判定値Tthよりも、長い時間に設定されている。
《2》マイコン11のCPU45は、NE信号SbにNEエッジが発生する毎に、図2の処理に続いて、図14の遅延時間選択処理を行うことにより、遅延時間選択部55として機能し、その遅延時間選択処理を終了してから図3の処理を行う。
図14に示すように、CPU45は、遅延時間選択処理では、S510にて、図2のS120で算出した今回のNE周期Tneが、前述の判定値Tthよりも大きい(長い)か否かを判定する。
CPU45は、NE周期Tneが判定値Tthよりも大きいと判定した場合には(S510:YES)、S520に進み、前述の第1遅延時間Tdf1を、図3のS210で用いる遅延時間Tdとして設定する。そして、次のS530にて、図3のS240でチャンネルキュー(キューボトム)に格納されるチャンネル番号を、第1チャンネルの番号に設定し、その後、当該遅延時間選択処理を終了する。
また、CPU45は、S510にて、NE周期Tneが判定値Tthよりも大きくない(つまり、NE周期Tneが判定値Tth以下である)と判定した場合には、S540に進み、前述の第2遅延時間Tdf2を、図3のS210で用いる遅延時間Tdとして設定する。そして、次のS550にて、図3のS240でチャンネルキュー(キューボトム)に格納されるチャンネル番号を、第2チャンネルの番号に設定し、その後、当該遅延時間選択処理を終了する。
つまり、ECU57では、AAF21、LPF23及びAPF25−1,APF25−2からなる遅延手段が、筒内圧センサ5からのCPS信号Scを、複数通り(この例では2通り)の異なる遅延時間Tdf1,Tdf2だけ遅延させて、その遅延時間が異なる各CPS信号Sd1,Sd2をそれぞれ出力する。
そして、CPU45は、エンジンの回転速度に相当するNE周期Tneに応じて、CPS信号Sd1,Sd2の何れかを取得対象とする。換言すれば、APF25−1,APF25−2の何れかを切り替えて使用することで、遅延時間Tdを可変にしている。
具体的には、CPU45は、NE周期Tneに応じて、遅延時間Tdf1,Tdf2の何れかを、遅延後のCPS信号の取得タイミングを算出するために使用する遅延時間Tdとして選択する(図14のS510,S520,S540)。更に、図14のS530,S550の処理を行うことにより、APF25−1,APF25−2からのCPS信号Sd1,Sd2のうち、遅延時間Tdとして選択した遅延時間(Tdf1又はTdf2)だけ遅延された方の信号値が、図5の処理で取得されるようにしている。
このような第2実施形態のECU57によれば、NE周期Tneが短くなる高回転時には、遅延時間Tdを短くすることができる。よって、CPS信号値の検出応答性を向上させることができる。
尚、筒内圧センサ5からのCPS信号Scを遅延させる遅延時間は、2通りに限らず3通り以上でも良い。例えば、NE周期Tneが短い場合ほど、3通り以上の遅延時間のうちで短い遅延時間を、実際に使用する遅延時間Tdとして選択するように構成すれば良い。
[第3実施形態]
図15に示す第3実施形態のECU71は、第2実施形態のECU57と比較すると、下記《3》〜《6》の点が異なる。
《3》マイコン11のA/D変換器48には、AAF21を通過したCPS信号がA/D変換対象として入力される。そして、A/D変換器48は、入力されるCPS信号を一定のサンプリング周期でA/D変換する。サンプリング周期は、エンジンのクランク軸が逓倍角だけ回転するのに要する時間の最小値よりも十分に短い時間に設定されている。
《4》LPF23とAPF25−1,25−2が設けられていない。その代わりに、マイコン11が、デジタルのLPF73及びAPF75−1,75−2を備えている。マイコン11におけるLPF73とAPF75−1,75−2との各々は、CPU45、あるいは、CPU45とは別の例えばデジタルシグナルプロセッサ(DSP)が、デジタルフィルタの処理を実行することで実現されるフィルタである。
尚、図15に示すAPF75−1,75−2は1次のフィルタであるが、次数を増やすのであれば、図15に示すAPF75−1,75−2の回路構成を直列に複数つなげば良い。
また、AAF21とLPF73及びAPF75−1とのトータルの遅延時間は、第2実施形態における第1遅延時間Tdf1と同じであり、AAF21とLPF73及びAPF75−2とのトータルの遅延時間は、第2実施形態における第2遅延時間Tdf2と同じである。
《5》本第3実施形態において、チャンネルは、A/D変換器48のチャンネルのことではなく、フィルタのチャンネルのことであり、APF75−1,75−2の何れかを示す。このため、チャンネルキューに格納されるチャンネル番号は、APF75−1,75−2の何れかを示すチャンネル番号である。そして、図14のS530にて、チャンネル番号として設定する第1チャンネルの番号は、APF75−1に対応する番号であり、図14のS550にて、チャンネル番号として設定する第2チャンネルの番号は、APF75−2に対応する番号である。
《6》マイコン11のCPU45は、図5の信号取得処理に代えて、図16の信号取得処理を行うことにより、信号取得部54a(図15参照)として機能する。
図16の信号取得処理は、図5の信号取得処理と比較すると、A/D変換器48を起動するためのS310,S320が削除されている。また、図16のS610は、図5のS330と同じ判定を行う処理であり、図16のS640は、図5のS360と同じ処理である。
CPU45は、図16の信号取得処理では、S610にて取得チャンネルが第1チャンネルである(詳しくは、取得チャンネルの値が第1チャンネルの番号である)と判定した場合には、図5のS340に代わるS620に進む。そして、CPU45は、S620では、第1チャンネルに相当するAPF75−1から出力されるCPS信号の値(デジタルデータ)である第1フィルタ出力値Dd1を、その第1フィルタ出力値Dd1が格納されるレジスタから読み出して、CPS信号値としてRAM47に格納する。更に、CPU45は、S640の処理を行った後、当該信号取得処理を終了する。
また、CPU45は、S610にて取得チャンネルが第1チャンネルではない(即ち、取得チャンネルの値が第2チャンネルの番号である)と判定した場合には、図5のS350に代わるS630に進む。そして、CPU45は、S630では、第2チャンネルに相当するAPF75−2から出力されるCPS信号の値(デジタルデータ)である第2フィルタ出力値Dd2を、その第2フィルタ出力値Dd2が格納されるレジスタから読み出して、CPS信号値としてRAM47に格納する。更に、CPU45は、S640の処理を行った後、当該信号取得処理を終了する。
本第3実施形態のECU71は、第2実施形態のECU57におけるLPF23とAPF25−1,25−2をデジタルフィルタに置換したものである。そして、このようなECU71によっても、第2実施形態のECU57と同様の効果が得られる。尚、第1実施形態のECU1についても、第3実施形態と同様に、例えばLPF23とAPF25をデジタルフィルタに置換しても良い。
以上、本発明の実施形態について説明したが、本発明は上記実施形態に限定されることなく、種々の形態を採り得る。また、前述の数値も一例であり他の値でも良い。
例えば、CPS信号クランク角をRAM47に格納する処理は省略しても良い。RAM47におけるCPS信号値の記憶順から、そのCPS信号値がどのクランク角での信号値であるかが識別可能であるからである。また、NEエッジの発生タイミングでのCPS信号値については、故意に遅延させていないCPS信号(例えばLPF23から出力されるCPS信号)をNEエッジの発生タイミングで取得するようにしても良い。また、センサ信号は、CPS信号以外(例えばインジェクタの燃料圧センサからの信号等)でも良い。
また、上記実施形態における1つの構成要素が有する機能を複数の構成要素として分散させたり、複数の構成要素が有する機能を1つの構成要素に統合させたりしてもよい。また、上記実施形態の構成の少なくとも一部を、同様の機能を有する公知の構成に置き換えてもよい。また、上記実施形態の構成の一部を省略してもよい。また、上記実施形態の構成の少なくとも一部を、他の上記実施形態の構成に対して付加又は置換してもよい。なお、特許請求の範囲に記載した文言によって特定される技術思想に含まれるあらゆる態様が本発明の実施形態である。また、上述したECUの他、当該ECUを構成要素とするシステム、当該ECUとしてコンピュータを機能させるためのプログラム、このプログラムを記録した媒体、センサ信号処理方法など、種々の形態で本発明を実現することもできる。
1,57,71…センサ信号処理装置としての電子制御装置(ECU)、21…アンチエイリアシングフィルタ(AAF)、23,73…ローパスフィルタ(LPF)、25,25−1,25−2,73,75−1,75−2…オールパスフィルタ(APF)

Claims (6)

  1. エンジンのクランク軸が所定角度回転する毎に所定方向のパルスエッジが発生するクランク角信号と、前記クランク角信号とは別のセンサ信号と、を入力するセンサ信号処理装置(1,57,71)であって、
    当該センサ信号処理装置に入力される前記センサ信号を、前記クランク角信号に前記パルスエッジが発生する時間間隔よりも長い所定の遅延時間だけ遅延させ、その遅延後のセンサ信号を出力する遅延手段(21,23,25,25−1,25−2,73,75−1,75−2)、を備え、
    前記クランク角信号に前記パルスエッジが発生したタイミング間を等分した各タイミングを、前記遅延時間だけ遅らせた各タイミングにおいて、前記遅延手段から出力される前記センサ信号の値を取得すること、
    を特徴とするセンサ信号処理装置。
  2. 請求項1に記載のセンサ信号処理装置において、
    前記クランク角信号に前記パルスエッジが発生する毎に、前記パルスエッジの発生時間間隔を計測すると共に、その計測した発生時間間隔を所定数で割った時間を、逓倍周期として算出し、更に、前記パルスエッジが前回発生したタイミングと、そのタイミングから前記逓倍周期ずつ後の各タイミングとに、それぞれ前記遅延時間を加算した各タイミングを、取得タイミングとして算出する算出手段(S110〜S130,S210〜260)と、
    前記遅延手段から出力される前記センサ信号の値を、前記算出手段により算出された前記各取得タイミングにおいて取得する取得手段(S310〜S350,S610〜S630)と、
    を備えることを特徴とするセンサ信号処理装置。
  3. 請求項2に記載のセンサ信号処理装置において、
    前記遅延手段(21,23,25−1,25−2,73,75−1,75−2)は、当該センサ信号処理装置に入力される前記センサ信号を、複数通りの異なる遅延時間だけ遅延させて、その遅延時間が異なる各センサ信号をそれぞれ出力するように構成されており、
    前記エンジンの回転速度に応じて、前記複数通りの遅延時間の何れかを、前記算出手段が前記取得タイミングを算出するために使用する前記遅延時間として選択し、その選択した遅延時間を前記算出手段に使用させると共に、前記遅延手段から出力される前記各センサ信号のうち、前記選択した遅延時間だけ遅延されて出力されるセンサ信号の値を前記取得手段に取得させる選択手段(S510〜S550)、を備えること、
    を特徴とするセンサ信号処理装置。
  4. 請求項1ないし請求項3の何れか1項に記載のセンサ信号処理装置において、
    前記遅延手段はフィルタであること、
    を特徴とするセンサ信号処理装置。
  5. 請求項4に記載のセンサ信号処理装置において、
    前記フィルタとして、オールパスフィルタ(25,25−1,25−2,75−1,75−2)を備えること、
    を特徴とするセンサ信号処理装置。
  6. 請求項1ないし請求項5の何れか1項に記載のセンサ信号処理装置において、
    前記センサ信号は、前記エンジンの気筒内圧を検出するセンサ(5)からの信号であること、
    を特徴とするセンサ信号処理装置。
JP2015023441A 2015-02-09 2015-02-09 センサ信号処理装置 Active JP6332069B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015023441A JP6332069B2 (ja) 2015-02-09 2015-02-09 センサ信号処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015023441A JP6332069B2 (ja) 2015-02-09 2015-02-09 センサ信号処理装置

Publications (2)

Publication Number Publication Date
JP2016145558A JP2016145558A (ja) 2016-08-12
JP6332069B2 true JP6332069B2 (ja) 2018-05-30

Family

ID=56686167

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015023441A Active JP6332069B2 (ja) 2015-02-09 2015-02-09 センサ信号処理装置

Country Status (1)

Country Link
JP (1) JP6332069B2 (ja)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3031071B2 (ja) * 1992-08-05 2000-04-10 株式会社日立製作所 エンジン制御装置
JP4033138B2 (ja) * 2004-02-04 2008-01-16 株式会社デンソー 燃焼圧信号処理装置
JP2005315169A (ja) * 2004-04-28 2005-11-10 Denso Corp クランク軸回転同期の処理装置及びエンジン制御装置
JP2013083500A (ja) * 2011-10-07 2013-05-09 Aisan Ind Co Ltd 角度検出装置
JP5392337B2 (ja) * 2011-10-18 2014-01-22 株式会社デンソー センサ信号の処理装置

Also Published As

Publication number Publication date
JP2016145558A (ja) 2016-08-12

Similar Documents

Publication Publication Date Title
JP4134797B2 (ja) ノッキング検出装置
JP4033138B2 (ja) 燃焼圧信号処理装置
JP5561283B2 (ja) センサ信号の処理装置
JP2008502839A (ja) クランク軸に同期したアナログ信号の検出
JP5392337B2 (ja) センサ信号の処理装置
JP6332069B2 (ja) センサ信号処理装置
JP5163475B2 (ja) 信号処理装置
JP2004309267A (ja) ノッキング検出装置
JP7154872B2 (ja) デジタルオシロスコープ及びその制御方法
JP2016196850A (ja) ノッキング検出装置
JP5984508B2 (ja) 半導体データ処理装置及びエンジン制御装置
JP6146372B2 (ja) Ad変換装置
CN110336547B (zh) 一种大量程抗饱和数字式信号幅度解调方法及解调器
JP6191582B2 (ja) 回転数検出装置
KR100980168B1 (ko) 위상차 검출 장치 및 회전 위치 검출 장치
JP5678868B2 (ja) 信号処理装置
JPH0850151A (ja) 周波数ー電圧変換装置
JP2008147825A (ja) 信号処理回路
JPH11160338A (ja) 回転検出用のパルス幅計測装置及びパルス幅計測方法
JP2005048698A (ja) 信号処理装置
JP2016105095A (ja) 信号周期検出装置及び信号周期検出方法
JP2007232557A (ja) ピーク検出装置及びピーク検出方法
JP2005017235A (ja) パルス幅測定装置及びパルス幅測定方法
JP2015106748A (ja) ノイズ除去装置及びノイズ除去方法
JP2948827B2 (ja) エンジンのノック検出装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170605

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180322

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180403

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180416

R151 Written notification of patent or utility model registration

Ref document number: 6332069

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250