JP4605035B2 - ノックセンサ信号処理装置 - Google Patents

ノックセンサ信号処理装置 Download PDF

Info

Publication number
JP4605035B2
JP4605035B2 JP2006019270A JP2006019270A JP4605035B2 JP 4605035 B2 JP4605035 B2 JP 4605035B2 JP 2006019270 A JP2006019270 A JP 2006019270A JP 2006019270 A JP2006019270 A JP 2006019270A JP 4605035 B2 JP4605035 B2 JP 4605035B2
Authority
JP
Japan
Prior art keywords
processing
communication
command
knock sensor
sensor 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.)
Expired - Fee Related
Application number
JP2006019270A
Other languages
English (en)
Other versions
JP2007198305A (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 JP2006019270A priority Critical patent/JP4605035B2/ja
Priority to US11/699,081 priority patent/US7578282B2/en
Publication of JP2007198305A publication Critical patent/JP2007198305A/ja
Application granted granted Critical
Publication of JP4605035B2 publication Critical patent/JP4605035B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01LMEASURING FORCE, STRESS, TORQUE, WORK, MECHANICAL POWER, MECHANICAL EFFICIENCY, OR FLUID PRESSURE
    • G01L23/00Devices or apparatus for measuring or indicating or recording rapid changes, such as oscillations, in the pressure of steam, gas, or liquid; Indicators for determining work or energy of steam, internal-combustion, or other fluid-pressure engines from the condition of the working fluid
    • G01L23/22Devices or apparatus for measuring or indicating or recording rapid changes, such as oscillations, in the pressure of steam, gas, or liquid; Indicators for determining work or energy of steam, internal-combustion, or other fluid-pressure engines from the condition of the working fluid for detecting or indicating knocks in internal-combustion engines; Units comprising pressure-sensitive members combined with ignitors for firing internal-combustion engines
    • G01L23/221Devices or apparatus for measuring or indicating or recording rapid changes, such as oscillations, in the pressure of steam, gas, or liquid; Indicators for determining work or energy of steam, internal-combustion, or other fluid-pressure engines from the condition of the working fluid for detecting or indicating knocks in internal-combustion engines; Units comprising pressure-sensitive members combined with ignitors for firing internal-combustion engines for detecting or indicating knocks in internal combustion engines
    • G01L23/225Devices or apparatus for measuring or indicating or recording rapid changes, such as oscillations, in the pressure of steam, gas, or liquid; Indicators for determining work or energy of steam, internal-combustion, or other fluid-pressure engines from the condition of the working fluid for detecting or indicating knocks in internal-combustion engines; Units comprising pressure-sensitive members combined with ignitors for firing internal-combustion engines for detecting or indicating knocks in internal combustion engines circuit arrangements therefor

Description

本発明は、ノックセンサから出力されるノックセンサ信号をA/D変換してデジタルフィルタ処理を行うノックセンサ信号処理装置に関するものである。
従来より、自動車の内燃機関型エンジンを制御する装置では、各気筒毎のノック判定区間において、ノックセンサから出力されるアナログのノックセンサ信号を一定時間毎にA/D変換すると共に、そのノックセンサ信号のA/D変換値(以下、センサA/D値ともいう)に対してデジタルフィルタ処理を行い、そのフィルタ処理結果を用いてノッキングの有無を判定(いわゆるノック判定)している(例えば、特許文献1参照)。
そして、このようにノックセンサ信号をA/D変換してデジタルフィルタ処理を行うノックセンサ信号処理装置の形態としては、例えば、A/D変換器を有した第1装置と、デジタルフィルタ処理を行う第2装置とが、第1装置から第2装置へのシリアルデータ送信用の通信線と、第2装置から第1装置へのシリアルデータ送信用の通信線とを介して接続され、第1装置が、ノックセンサ信号をA/D変換器に一定時間毎にA/D変換させると共に、第2装置から送信される要求コマンドを受信する毎に、A/D変換器によるセンサA/D値を第2装置へ送信することで、第1装置から第2装置へ一定時間毎のセンサA/D値が転送され、第2装置が、第1装置から受信した時系列のセンサA/D値に対しデジタルフィルタ処理を行う、といった形態が考えられる(例えば、本願出願人による特願2004−301667号)。
また、近年の自動車においては、高機能化などにより、様々な周波数の電気的ノイズが発生する傾向にあるため、ノックセンサ信号の周波数成分のうち、ノッキングの発生時にピークを持つこととなる基本周波成分の信号以外に、その信号の高調波成分(以下、ノックセンサ信号の高調波成分という)を、ノック判定のために使用するようになってきている(例えば、特許文献2参照。)
そして、そのようなノックセンサ信号の高調波成分をノック判定に用いるためには、高速なA/D変換器を用いると共に、ノックセンサ信号のA/D変換周期(即ち、サンプリング周期)を短く設定することとなる。
例えば、ノックセンサ信号の周波数成分として、20kHz以下程度の周波数成分を扱うのであれば、サンプリング周波数(1/サンプリング周期)は100kHz程度でも良いが、40kHz程度までの周波数成分を扱うのであれば、サンプリング周波数は200kHz程度にまで大きくする必要が生じる。40kHzの信号に対して、サンプリング周波数が100kHzでは、その信号の1周期間に2〜3個のA/D変換値しか得られないからである。つまり、ノック判定のためにノックセンサ信号の高い周波数成分を用いる場合ほど、そのノックセンサ信号のサンプリング周波数を大きく(サンプリング周期を短く)設定する必要がある。
特開2004−309267号公報 特開2004−317207号公報
ここで、ノックセンサ信号をA/D変換してデジタルフィルタ処理を行うノックセンサ信号処理装置の形態として、前述のような第1装置と第2装置とからなる形態をとった場合、ノックセンサ信号のサンプリング周期を短く設定すると、その分、第1装置から第2装置へ単位時間当たりに転送すべきA/D変換値の数を増加させる必要が生じる。
そして、そのための手法としては、第1装置と第2装置との間での通信速度を高速化することが考えられる。しかし、単純に通信速度を高速化すると、通信に使用される通信クロックによって発生するノイズ(いわゆるクロックノイズ)が増加してしまうという問題が生じる。
尚、第1装置と第2装置とを、シリアルデータ通信用の通信線ではなく、バス接続することも考えられるが、その場合には、両装置間に配設される通信線や各装置に必要なピン数が大きく増加することとなり、装置の大型化を招いてしまう。
本発明は、上記問題に鑑みなされたものであり、ノックセンサ信号の一定時間毎のA/D変換値を第1装置からデジタルフィルタ処理を行う第2装置へシリアル通信により送信する形態のノックセンサ信号処理装置において、ノックセンサ信号のA/D変換周期を短く設定しても、通信に起因するノイズの発生を抑制可能にすることを目的としている。
上記目的を達成するためになされた請求項1のノックセンサ信号処理装置は、ノックセンサからのノックセンサ信号が入力されると共に、A/D変換器を有した第1装置と、その第1装置とシリアル通信用の通信線により接続された第2装置とからなる。そして、このノックセンサ信号処理装置では、第1装置が、ノックセンサ信号をA/D変換器に一定時間毎にA/D変換させると共に、その各A/D変換値を第2装置へ通信線を介して送信し、第2装置が、第1装置から送信される各A/D変換値を受信して、その受信した時系列のA/D変換値に対しデジタルフィルタ処理を行う。
そして更に、このノックセンサ信号処理装置において、通信線としては、第1装置から第2装置へ少なくともセンサA/D値(ノックセンサ信号のA/D変換値)を送信するための第1通信線と、第2装置から第1装置へ少なくとも動作指示情報を送信するための第2通信線とがあるが、特に、第1通信線の本数は、第2通信線の本数よりも多い。
このような請求項1のノックセンサ信号処理装置によれば、第1通信線と第2通信線との本数が同じ構成の場合と比較すると、通信速度が同じであっても、第1装置から第2装置へ単位時間当たりに転送可能なデータ量(延いてはセンサA/D値の数)を増加させることができる。
例えば、ノックセンサ信号のA/D変換周期を1/2に設定したとすると、第1装置から第2装置へ単位時間当たりに転送すべきセンサA/D値の数は2倍になるが、その場合には、第1通信線を1本から2本に増加させることにより、通信速度を大きくすることなく、第1装置から第2装置へ単位時間当たりに転送可能なセンサA/D値の数を2倍にすることができる。
このように請求項1のノックセンサ信号処理装置によれば、ノックセンサ信号のA/D変換周期を短く設定した場合でも、通信速度(通信クロック)を上げる必要がなく、通信に起因するノイズの発生を抑制することができるようになる。
次に、請求項2のノックセンサ信号処理装置では、請求項1のノックセンサ信号処理装置において、第1通信線の本数がn本(nは2以上の整数)であるとすると、第1装置は、A/D変換器によるノックセンサ信号のn回分のA/D変換値(つまり、連続するn個のセンサA/D値)の各々を、n本の第1通信線の各々に割り付けて、1回の通信タイミングで並行して第2装置へ送信するようになっている。
この構成によれば、高い汎用性を得ることができる。つまり、n本の第1通信線のうちの何れかを第2装置側で使わなければ、n本全ての第1通信線を使った場合と比べて、間引いたセンサA/D値に対しデジタルフィルタ処理を行うこととなり、換言すれば、デジタルフィルタ処理を行うセンサA/D値のサンプリング周期を長くすることと等価になる。このため、ノック判定にノックセンサ信号の高調波成分を用いないシステム構成の場合には、第2装置として、例えば第1通信線を1本しか接続できない安価なものを用いることができるようになり、システム全体のコストダウンを図ることができる。
尚、請求項2のノックセンサ信号処理装置においては、請求項3に記載のように、上記一定時間(即ち、ノックセンサ信号のA/D変換周期)がTであるとすると、第1装置から第2装置へのセンサA/D値の送信は、「n×T」毎に実施されるように構成することができる。例えば、サンプリング周波数が200kHzでT=5μsであり、n=2であるとすると、第1装置から第2装置へのセンサA/D値の送信間隔は10(=2×5)μsに設定すれば良い。
次に、請求項4のノックセンサ信号処理装置では、請求項2,3のノックセンサ信号処理装置において、第2装置は、n本の第1通信線のうちの何れかが故障していることを検知した場合には、その故障を検知した第1通信線からのA/D変換値は使用せずにデジタルフィルタ処理を行うように構成されている。
この構成によれば、n本の第1通信線のうちの何れかが故障した場合には、正常な場合と比べて、サンプリング周期が大きい時系列のセンサA/D値に対してデジタルフィルタ処理を行うこととなるものの、デジタルフィルタ処理自体は実施することができるため、ノック判定が不能になってしまうことを回避することができる。
また特に、請求項4の構成においては、請求項5に記載のように、第2装置は、n本の第1通信線のうち、故障を検知した第1通信線からのA/D変換値は使用せずにデジタルフィルタ処理を行う場合、そのデジタルフィルタ処理のフィルタ係数を、正常時のものとは別のフィルタ係数に変更するように構成することが好ましい。デジタルフィルタ処理の精度を確保することができるからである。
例えば、ノックセンサ信号のA/D変換周期Tが5μsで、第1通信線の本数nが2であるとすると、その2本の第1通信線のうちの一方に断線などが生じた場合、第1装置から第2装置へは、他方の第1通信線によって10μs毎のセンサA/D値が転送されることとなり、第2装置では、その10μs毎のセンサA/D値に対してデジタルフィルタ処理を行うこととなるが、その場合、デジタルフィルタ処理のフィルタ係数を、ノックセンサ信号のサンプリング周期が5μsであることを想定した値から、サンプリング周期が10μsであることを想定した値に変更するように構成すれば良い。
次に、請求項6のノックセンサ信号処理装置では、請求項2〜5のノックセンサ信号処理装置において、第2装置は、エンジンの運転状態に応じて、動作モードが、n本の第1通信線からのA/D変換値に対してデジタルフィルタ処理を行う動作モード(以下、第1動作モードという)と、n本の第1通信線のうちの何れかからのA/D変換値は使用せずにデジタルフィルタ処理を行う動作モード(以下、第2動作モードという)との何れかに切り替わると共に、その各動作モードでデジタルフィルタ処理のフィルタ係数を変更するように構成されている。
この構成によれば、第1動作モードよりも第2動作モードの方が、デジタルフィルタ処理の負荷が軽減されることとなるため、第2装置での消費電力及び発熱を、必要に応じて抑えることができるようになる。つまり、センサA/D値のサンプリング周期が長くても良いと考えられる運転状態の場合には、第2装置の動作モードを第2動作モードにすることにより、その第2装置での消費電力及び発熱を効果的に抑制することができる。
次に、請求項7のノックセンサ信号処理装置では、請求項2〜6のノックセンサ信号処理装置において、第1装置は、n本の第1通信線のうちの隣り合うもの同士について、一方の第1通信線へは、その第1通信線で第2装置へ送信すべきデータを、最上位ビットから順に送出し、他方の第1通信線へは、その第1通信線で第2装置へ送信すべきデータを、最下位ビットから順に送出するように構成されている。
この構成によれば、隣接する第1通信線同士がショートした場合に、そのショート故障を検出することができるようになる。
つまり、隣接する第1通信線同士には、A/D変換タイミングの近いセンサA/D値(具体的には、A/D変換タイミングが最小でサンプリング周期TだけずれたセンサA/D値)が同時期に送信されるため、その両センサA/D値は、ほぼ同じ値になっている可能性がある。このため、請求項7のように構成すれば、第2装置側にて、隣接する第1通信線から受信した2つのデータ(センサA/D値)の各ビット同士を例えば先頭から比較し、両ビットが異なっていれば、その隣接する第1通信線同士がショートしていないと判断することができ、逆に、両ビットが同じである状態が続けば、その隣接する第1通信線同士がショートしていると判断することができるようになる。
一方、請求項8のノックセンサ信号処理装置では、請求項1〜6のノックセンサ信号処理装置において、第1装置から第2装置へ第1通信線を介して送信される通信データの特定位置には、その通信データが何であるかを示す識別コードが配置されている。そして更に、第1装置は、第1通信線のうちの隣り合うもの同士について、前記識別コードを、該識別コードのビットの並び状態が相互に異なるように変更して送信するように構成されている。
この構成によっても、隣接する第1通信線同士がショートした場合に、そのショート故障を検出することができるようになる。
つまり、第2装置側にて、隣接する第1通信線から受信した2つの識別コードの各ビット同士を例えば先頭から比較し、両ビットが異なっていれば、その隣接する第1通信線同士がショートしていないと判断することができ、逆に、両ビットが同じである状態が続けば、その隣接する第1通信線同士がショートしていると判断することができるようになる。
次に、請求項9のノックセンサ信号処理装置では、請求項1〜8のノックセンサ信号処理装置において、第2装置は、第1装置からセンサA/D値をm個(mは2以上の整数)受信する毎に、そのm個のセンサA/D値に対し連続してデジタルフィルタ処理を実施するように構成されている。つまり、A/D変換m回分のセンサA/D値がそろった時点で、まとめてデジタルフィルタ処理を行うようになっている。
この構成によれば、m個のセンサA/D値に対してデジタルフィルタ処理を行う際に、フィルタ係数をメモリから読み出す処理などを共通化することができ、その結果、デジタルフィルタ処理の所要時間を短縮することができる。よって、第2装置の動作クロック周波数及び消費電力を低減させることができる。また、デジタルフィルタ処理をマイコンの割込み処理で実施する構成の場合には、その割込みによる処理のオーバーヘッドやパイプラインの乱れを低減することができる。
また、具体的な構成としては、請求項10に記載のような構成が考えられる。
即ち、請求項10のノックセンサ信号処理装置では、請求項9のノックセンサ信号処理装置において、第2装置は、デジタルフィルタ処理のフィルタ係数が記憶されたメモリを備えている。そして、そのフィルタ係数の個数がM個(Mは2以上の整数)であるとすると、第2装置は、m個のA/D変換値に対し連続してデジタルフィルタ処理を実施する際には、そのデジタルフィルタ処理を成す各演算を、前記メモリから各フィルタ係数を読み出す回数が「m×M」回よりも少なくなる順序で実行するように構成されている。
この構成によれば、メモリからフィルタ係数を読み出す回数を少なくして、デジタルフィルタ処理の所要時間を効率的に短縮することができる。特に、フィルタ係数を記憶するメモリが、比較的アクセス速度の遅いフラッシュROMなどである場合に有効である。
以下に、本発明が適用された実施形態のノックセンサ信号処理装置について説明する。尚、本実施形態のノックセンサ信号処理装置(以下単に、信号処理装置という)は、自動車に搭載される例えばV型6気筒エンジンのノック判定に用いられるものである。
[第1実施形態]
まず図1に示すように、第1実施形態の信号処理装置は、第1装置としての入力IC11と、第2装置としての処理IC13とからなり、その入力IC11と処理IC13は、後述する6本の信号線1〜3,4a,4b,5によって通信可能に接続されている。
入力IC11には、処理IC13と通信するための通信部15と、A/D変換器17と、複数の入力チャンネルch0〜chNのうちの何れか1つを選択して、その選択した入力チャンネルに入力されているアナログ信号を出力するマルチプレクサ(MPX)19と、マルチプレクサ19の出力を所定のゲインで増幅してA/D変換器17に入力させるアンプ(Amp)21と、A/D変換器17の起動間隔(即ちA/D変換周期)及びIC11,13間の通信間隔を決定するタイミング信号として、一定時間T毎(本実施形態ではT=5μs毎)にレベル反転するタイミング信号を生成して出力するタイマ(Timer)23と、それらを制御する制御部25とが備えられている。
そして、マルチプレクサ19の入力チャンネルch0〜chNのうち、チャンネルch0には、エンジンにおける右バンクの各気筒(第1気筒#1、第3気筒#3、及び第5気筒#5)のノッキングを検出するために設けられた第1ノックセンサ27からのノックセンサ信号が入力され、チャンネルch1には、エンジンにおける左バンクの各気筒(第2気筒#2、第4気筒#4、及び第6気筒#6)のノッキングを検出するために設けられた第2ノックセンサ29からのノックセンサ信号が入力されている。尚、この例において、ノックセンサ27,29は、エンジンの振動に応じたアナログ信号を出力する振動式のセンサである。
また、処理IC13には、入力IC11と通信するための通信部31と、エンジンのクランク軸の回転に同期して回転センサにより発生される周知の回転パルス信号(図示省略)に基づいてクランク位置(クランク軸の回転位置)を検出する回転処理部33と、デジタルフィルタ処理を行うデジタルフィルタ処理部35と、そのデジタルフィルタ処理部35が行うデジタルフィルタ処理のフィルタ係数が記憶されたメモリ36と、デジタルフィルタ処理部35の処理結果が順次格納されるメモリ37と、通信部31及びデジタルフィルタ処理部35の起動/停止等の処理を行うCPU39とが備えられている。尚、この例において、メモリ36は、不揮発性のデータ書き換え不能なROMやデータ書き換え可能なフラッシュROMであり、メモリ37は、揮発性のRAMである。
そして、通信部31には、処理IC13から入力IC11へ送信する動作指示情報としてのコマンド(図中では「cmd」と記している)のうち、後述するコマンドA(cmdA)の送信個数が書き込まれるレジスタ41と、コマンドAとして送信されるデータ(コマンドA送信データ)が書き込まれるレジスタ42と、後述するコマンドB(cmdB)として送信されるデータ(コマンドB送信データ)が書き込まれるレジスタ43と、コマンドAに対する入力IC11からの応答データ(コマンドA応答データ)を受信したデータ(コマンドA受信データ)が格納される2つのレジスタ44a,44bと、コマンドBに対する入力IC11からの応答データ(コマンドB応答データ)を受信したデータ(コマンドB受信データ)が格納される2つのレジスタ45a,45bとが備えられている。
一方、入力IC11と処理IC13を結ぶ信号線1〜3,4a,4b,5のうち、信号線1は、入力IC11に対するチップセレクト信号CS用の信号線である。そして、処理IC13の通信部31が、その信号線1のレベル(つまり、チップセレクト信号CSのレベル)をアクティブレベル(本実施形態ではローレベル)にすると、入力IC11の通信部15が通信動作を行う通信許可状態となる。
また、信号線2は、処理IC13の通信部31から入力IC11の通信部15へ、通信クロックCLKを供給するための信号線である。そして、両IC11,13の通信部15,31は、その通信クロックCLKに同期してデータを1ビットずつ送受信し合う。
そして、信号線3は、処理IC13から入力IC11へデータを送信するためのシリアル通信用の通信線であり、コマンドAやコマンドBは、この信号線3によって送信される。
また、2本の信号線4a,4bの各々は、入力IC11から処理IC13へデータを送信するためのシリアル通信用の通信線であり、それらは互いに隣り合うように配設されている。
そして、信号線5は、タイマ23からの上記タイミング信号が立ち上がる毎にハイレベルとなるトリガ信号(つまり、T×2=10μs毎に立ち上がるトリガ信号)Tgを、入力IC11の通信部15から処理IC13の通信部31へ供給するための信号線である。
ここで、本実施形態において、入力IC11から処理IC13へのコマンドA応答データは、2本の信号線4a,4bの各々によって2つ同時に送信される。同様に、入力IC11から処理IC13へのコマンドB応答データも、2本の信号線4a,4bの各々によって2つ同時に送信される。
そして、処理IC13の通信部31では、信号線4aからのコマンドA応答データがレジスタ44aに格納され、信号線4bからのコマンドA応答データがレジスタ44bに格納され、信号線4aからのコマンドB応答データがレジスタ45aに格納され、信号線4bからのコマンドB応答データがレジスタ45bに格納される。尚、以下の説明において、信号線4aからのコマンドA応答データを受信したデータと、信号線4bからのコマンドA応答データを受信したデータとを、特に区別する場合には、前者をコマンドA受信データ1と言い、後者をコマンドA受信データ2と言う。同様に、信号線4aからのコマンドB応答データを受信したデータと、信号線4bからのコマンドB応答データを受信したデータとを、特に区別する場合には、前者をコマンドB受信データ1と言い、後者をコマンドB受信データ2と言う。
一方、入力IC11の通信部15にも、処理IC13からの受信データが格納される受信データレジスタ47が備えられている。そして更に、その通信部15には、入力IC11から処理IC13へ送信するデータのうち、信号線4aの方で送信するデータが格納される送信データレジスタ46aと、信号線4bの方で送信するデータが格納される送信データレジスタ46bとが備えられている。
次に、入力IC11と処理IC13との間でやり取りされる通信データのフォーマットについて、図2を用いて説明する。
まず、本実施形態において、両IC11,13間の1回の通信でやり取りされる通信データは、例えば16ビットとなっている。
そして、処理IC13から入力IC11へは、図2(a)に示すように、コマンドAとコマンドBとの2種類のコマンドが送信される。
コマンドAは、機能設定用コマンドに相当し、入力IC11に対して、少なくとも、マルチプレクサ19に選択させる入力チャンネル(ch)と、アンプ21のゲインとを指示するコマンドである。
そして、コマンドAは、そのコマンドがコマンドAであることを示す複数ビット(この例では2ビット)のコマンドコード“10”と、マルチプレクサ19に選択させる入力チャンネルを示す複数ビット(この例では2ビット)と、アンプ21のゲインを示す複数ビット(この例では3ビット)と、その他の情報(その他1)を示す複数ビット(この例では3ビット)と、残りのビット(この例では6ビット)とからなり、その残りのビットは未使用で常に“0”に設定される。
また、コマンドBは、入力IC11に対して、A/D変換器17によるアナログ信号のA/D変換及びそのA/D変換値を要求するコマンドである。
そして、コマンドBは、そのコマンドがコマンドBであることを示す複数ビット(この例では2ビット)のコマンドコード“01”と、残りのビット(この例では14ビット)とからなり、その残りのビットは未使用で常に“0”に設定される。
一方、入力IC11から処理IC13へは、図2(b)に示すように、処理IC13からのコマンドAに対する設定結果を報告するためのコマンドA応答データと、処理IC13からのコマンドBに対するコマンドB応答データとが送信される。
そして、コマンドA応答データは、この通信データがコマンドAに対するコマンドA応答データであることを示す複数ビット(この例では2ビット)のコマンドコード“10”と、マルチプレクサ19に実際に選択させたチャンネルを示す複数ビット(この例では2ビット)と、実際に設定したアンプ21のゲインを示す複数ビット(この例では3ビット)と、その他の情報(その他2)を示す複数ビット(この例では3ビット)と、残りのビット(この例では6ビット)とからなり、その残りのビットは未使用で常に“0”に設定される。また、本実施形態において、このようなコマンドA応答データは、信号線4a側と信号線4b側とで同じものが送信される。
一方、コマンドB応答データは、この通信データがコマンドBに対するコマンドB応答データであることを示す複数ビット(この例では2ビット)のコマンドコード“01”と、残りのビット(この例では14ビット)とからなり、その残りのビットが、A/D変換器17によるノックセンサ信号のA/D変換値(センサA/D値)である。
そして、このようなコマンドB応答データは、信号線4a側と信号線4b側とで、A/D変換タイミングがA/D変換周期の1周期分だけずれたセンサA/D値をそれぞれ含むものが送信される。
具体的に説明すると、本実施形態では、A/D変換器17によりノックセンサ信号を5μs毎にA/D変換すると共に、入力IC11と処理IC13とが10μs毎に通信して、その10μs毎に入力IC11から処理IC13へセンサA/D値をコマンドB応答データとして送信するようにしており、このため、信号線4a側のコマンドB応答データと、信号線4b側のコマンドB応答データとに、連続する2回分のセンサA/D値の各々を含ませるようにしている。つまり、2回分のセンサA/D値の各々を、2本の信号線4a,4bの各々に割り付け、1回の通信タイミングで並行して入力IC11から処理IC13へ送信するようにしている。
次に、入力IC11と処理IC13とで実施される通信の概要について、図3及び図4を用いて説明する。尚、以下の説明において、「CA」とはエンジンのクランク軸の回転角度(クランクアングル)を意味し、「TDC」とは気筒の上死点のことである。そして、図3の最上段は、エンジンの30°CA毎(クランク軸が30°回転する毎)のタイミングを示している。また、図4は、図3において点線の四角枠K1で囲んだ期間の通信状態を表したものである。また、図4及び他の各図において、TX1側とは、信号線4a,4bのうち、信号線4a側のことであり、TX2側とは、信号線4b側のことである。
まず、図3に示すように、本実施形態では、各気筒のTDCのタイミングからATDC90°CA(TDCから90°CAだけ後)のタイミングまでが、その気筒についてのノック判定区間(ノッキングの有無を判定する対象の区間)となっている。
(1)そして、何れかの気筒のATDC90°CAのタイミングであって、その気筒のノック判定区間の終了タイミングになると、処理IC13から入力IC11へのチップセレクト信号CSがローレベルからハイレベル(非アクティブレベル)になって、両IC11,13間の通信が一旦終了し、その後、処理IC13にて次の通信期間のための準備処理が終了すると、この時点は次の気筒のノック判定区間が始まるTDCタイミングよりも十分に前であり、その時点で処理IC13から入力IC11へのチップセレクト信号CSがローレベルに切り替えられて、両IC11,13間の通信が再び開始される。
このため、チップセレクト信号CSは、何れかの気筒のATDC90°CAタイミングでローレベルからハイレベルとなり、次の気筒のTDCタイミングよりも十分に前のタイミングでハイレベルからローレベルになる。
(2)ここで、チップセレクト信号CSがハイレベルからローレベルになると、図4に示すように、処理IC13の通信部31が、入力IC11へ、信号線2を介して通信クロックCLKを出力すると共に、その通信クロックCLKに同期して、レジスタ42内のコマンドA(コマンドA送信データ)を信号線3を介して1ビットずつ送信する。更に、これと並行して、処理IC13の通信部31は、上記通信クロックCLKに同期して、入力IC11から信号線4aを介して送られてくるデータを1ビットずつ受信しレジスタ44aに格納すると共に、入力IC11から信号線4bを介して送られてくるデータを1ビットずつ受信しレジスタ44bに格納する。
尚、本実施形態において、処理IC13から入力IC11へ送信されるコマンドAの先頭から3,4ビット目(即ち、マルチプレクサ19に選択させる入力チャンネルを示す2ビット)は、2つのノックセンサ27,29のうち、次にTDCを迎える気筒が設けられたバンク側のノックセンサからの信号が入力されているチャンネル(ch0又はch1)を選択する値に設定される。
(3)そして、入力IC11の通信部15は、上記通信クロックCLKに同期して、処理IC13から信号線3を介して送られてくるコマンドAを1ビットずつ受信し受信データレジスタ47に格納する。また、通信部15は、その通信クロックCLKに同期して、送信データレジスタ46a内の送信データを信号線4aを介して1ビットずつ処理IC13へ送信すると共に、送信データレジスタ46b内の送信データを信号線4bを介して1ビットずつ処理IC13へ送信する。
このため、通信クロックCLKに同期して、処理IC13の通信部31におけるレジスタ42内のコマンドAが、入力IC11の通信部15における受信データレジスタ47へ転送されると共に、入力IC11の通信部15における送信データレジスタ46a,46b内の各送信データが、処理IC13の通信部31におけるレジスタ44a,44bにそれぞれ転送されることとなる。
尚、チップセレクト信号CSがローレベルになった直後において、入力IC11の通信部15における送信データレジスタ46a,46b内には、有効なデータが格納されていないため、入力IC11から処理IC13へ最初に送信されるデータは、デフォルト値のダミーデータとなる。また、入力IC11では、処理IC13から受信したコマンドAの指示内容に従って、マルチプレクサ19が選択する入力チャンネルがチャンネルch0とチャンネルch1との何れかに設定されると共に、アンプ21のゲインが設定される。また、チップセレクト信号CSがローレベルになってから、上記(2),(3)による両IC11,13間の1回目の通信(データ送受信)が完了するまでの時間は、10μs未満である。
(4)一方、チップセレクト信号CSがローレベルになると、入力IC11では、タイマ23が起動されて、以後、5μs毎に、そのタイマ23からのタイミング信号がレベル反転する。尚、図4における「Timer」の段(下から3段目)に示すように、タイミング信号の初期レベルはハイである。そして、タイミング信号は、上記(2),(3)による両IC11,13間の1回目の通信が完了した後、ローからハイに変化するようになっている。
(5)そして、タイマ23からのタイミング信号がローからハイに立ち上がる10μs毎に、入力IC11から処理IC13へのトリガ信号Tgがハイレベルとなる。
また、入力IC11内においては、タイミング信号が最初に立ち上がると、そのタイミングを含め、以後、タイミング信号がレベル反転する5μs毎に、A/D変換器17が、マルチプレクサ19からアンプ21を介して入力されるアナログ信号(即ち、チャンネルch0,ch1のうち、処理IC13から受信したコマンドAが示す方のチャンネルに入力されるノックセンサ信号)をA/D変換する。
(6)また、入力IC11からのトリガ信号Tgがハイレベルになると、処理IC13では、通信部31が、上記(2)と同様に、入力IC11へレジスタ42内のコマンドAを送信すると共に、入力IC11から信号線4a,4bを介して送られてくる各データをレジスタ44a,44bにそれぞれ格納する。
(7)そして、入力IC11の通信部15も、上記(3)と同様の手順で、処理IC13からのコマンドAを受信データレジスタ47に格納すると共に、送信データレジスタ46a,46b内の各送信データを処理IC13へ送信するが、この場合において、送信データレジスタ46a,46bには、前回受信したコマンドAに対する設定結果を報告するためのコマンドA応答データが格納されている。
このため、処理IC13から入力IC11へは、前回と同じ内容のコマンドAが送信され、入力IC11から処理IC13へは、前回のコマンドAに対する設定結果を報告するためのコマンドA応答データ(図4中では「結果」とされている)が送信されることとなる。
(8)その後、上記(6),(7)による両IC11,13間の通信が完了すると、入力IC11から処理IC13へのトリガ信号Tgがローレベルに戻る。
尚、本実施形態では、通信クロックCLKが2MHzであり、通信データが16ビットであるため、1回のデータ送受信に要する時間は8μs(=0.5μs×16)であり、また、トリガ信号Tgがハイレベルになってから通信が開始されるまでの遅れは1μs以下となっている。また更に、A/D変換器17がA/D変換に要する時間は5μs未満となっている。よって、両IC11,13の通信間隔である10μs以内に、1回の通信と2回のA/D変換とが全て完了する。
(9)そして、以後は、処理IC13からのコマンドAの送信回数が所定回数(本実施形態では、4回)となるまで、上記(6)〜(8)の動作が繰り返されることとなる。
尚、上記(2)〜(9)が、図4において点線の四角枠K2で囲まれた期間の動作である。
(10)処理IC13から送信されたコマンドAが4個目に達し、その後、入力IC11から処理IC13へのトリガ信号Tgがハイレベルになると、処理IC13の通信部31と入力IC11の通信部15とが、上記(6),(7)と同様に通信を行うが、この場合、処理IC13の通信部31は、入力IC11へ、レジスタ43内のコマンドBを送信し、それと並行して、入力IC11から信号線4a,4bを介して送られてくる各データをレジスタ44a,44bにそれぞれ格納する。
このため、4個目のコマンドAの転送が終了した後の最初の通信では、処理IC13から入力IC11へ、コマンドBが送信され、入力IC11から処理IC13へは、前回のコマンドAに対する設定結果を報告するためのコマンドA応答データが送信されて、そのコマンドA応答データがレジスタ44a,44bに格納されることとなる。
尚、この(10)が、図4において点線の四角枠K3で囲まれた期間の動作である。
(11)そして、その後、次の10μs毎のタイミングが到来して、入力IC11から処理IC13へのトリガ信号Tgがハイレベルになった場合にも、処理IC13の通信部31と入力IC11の通信部15とが、上記(6),(7)と同様に通信を行うが、この場合、処理IC13の通信部31は、入力IC11へレジスタ43内のコマンドBを送信すると共に、入力IC11から信号線4a,4bを介して送られてくる各データを、レジスタ44a,44bではなく、レジスタ45a,45bへ格納する。
そして更に、入力IC11の通信部15は、処理IC13から送られてくるコマンドBを受信データレジスタ47に格納すると共に、送信データレジスタ46a,46b内の各送信データを処理IC13へ送信するが、この場合において、送信データレジスタ46aには、前回受信したコマンドBに対する応答データとして、タイミング信号が前回立ち上がった際にA/D変換器17によりA/D変換したセンサA/D値を含んだコマンドB応答データが格納されており、送信データレジスタ46bには、前回受信したコマンドBに対する応答データとして、タイミング信号が前回立ち下がった際にA/D変換器17によりA/D変換したセンサA/D値を含んだコマンドB応答データが格納されている。
このため、処理IC13から入力IC11へは、前回と同じコマンドBが送信され、入力IC11から処理IC13へは、2本の信号線4a,4bの各々により、最新で且つA/D変換タイミングが隣接した2個のセンサA/D値をそれぞれ含むコマンドB応答データ(図4中では「AD値」とされている)が並行して送信されることとなる。
(12)以後は、処理IC13から入力IC11へのチップセレクト信号CSがハイレベルになるまで、上記(11)の動作が繰り返されることとなる。
そして、上記(11),(12)が、図4において点線の四角枠K4で囲まれた期間の動作である。
また、上記(11)にて、処理IC13側では、通信部31の45a,45bに格納された入力IC11からのセンサA/D値が、デジタルフィルタ処理部35へ順次転送されてデジタルフィルタ処理される。そして、そのデジタルフィルタ処理部35によるフィルタ処理結果はメモリ37に順次格納される。
尚、メモリ37には、各フィルタ処理結果を、そのまま記憶するようにしても良いが、所定のクランク角度分や所定個数分ずつ積算するなどして、データ圧縮した形態で記憶するようにしても良い。また、図4の四角枠K2で囲まれた期間内にA/D変換されたセンサA/D値(即ち、最初から6回目までのA/D変換による6個のセンサA/D値は、デジタルフィルタ処理には使用されない(つまり、入力IC11から処理IC13へは送信されない)。
次に、上記のようなIC11,13間の通信を実現するために、処理IC13のCPU39と、処理IC13の通信部31と、入力IC11とで、それぞれ実行される処理の内容について、図5〜図11を用いて説明する。
まず図5は、処理IC13のCPU39にて30°CA毎に実行される30°CA割込処理の内容を表すフローチャートである。尚、この30°CA割込処理は、回転処理部33からの指令によって起動される。
図5に示すように、処理IC13のCPU39が30°CA割込処理を開始すると、まずS110にて、回転処理部33により検出されている現在のクランク位置を参照して、今回の30°CA毎のタイミングが何れかの気筒のATDC90°CAのタイミングであるか否か(つまり、現在のクランク位置が何れかの気筒のATDC90°CAであるか否か)を判定する。
ここで、何れかの気筒のATDC90°CAのタイミングでなければ(S110:NO)、そのまま処理を終了するが、何れかの気筒のATDC90°CAのタイミングであれば(S110:YES)、S120に進んで、デジタルフィルタ処理部35と通信部31に停止指示を出して、それらの作動を停止させる。すると、通信部31は、後述する図6のS220にて、入力IC11へのチップセレクト信号CSをハイレベルにすることとなり、これに伴い、入力IC11の通信部15も通信動作を停止することとなる。
そして、続くS130にて、メモリ37からデジタルフィルタ処理部35によるフィルタ処理結果を読み出す。尚、ここで読み出されるフィルタ処理結果のうち、前回のTDCタイミングから今回のATDC90°CAタイミングまでのフィルタ処理結果が、当該CPU39或いは他のCPUによるノック判定(ノッキングの有無の判定)に用いられ、更に、そのノック判定結果がエンジンの点火時期制御にフィードバックされる。
次にS140にて、通信部31のレジスタ44a,44bのうちの少なくとも一方から受信データを読み出す。尚、この時にレジスタ44a,44bに格納されている受信データは、前回の通信期間中において、入力IC11が送信した最後のコマンドA応答データ(つまり、処理IC13がコマンドBを最初に送信した時に、入力IC11が送信したコマンドA応答データ)を受信したデータであって、図4の四角枠K3で囲まれた期間において入力IC11から受信したデータである。
そして、次のS150にて、次の通信期間のための準備処理として、次の通信期間において入力IC11へ送信するコマンドAのデータ(コマンドA送信データ)を通信部31のレジスタ42に書き込むと共に、入力IC11へ送信するコマンドBのデータ(コマンドB送信データ)を通信部31のレジスタ43に書き込み、更に、コマンドAの送信個数(本実施形態では“4”)を通信部31のレジスタ41に書き込む。
尚、このときにレジスタ42へ書き込むコマンドA送信データの各ビットのうち、マルチプレクサ19に選択させるチャンネルを示す2ビット(先頭から3ビット目と4ビット目)は、前述したように、2つのノックセンサ27,29のうち、次にTDCを迎える気筒が設けられたバンク側のノックセンサからの信号が入力されているチャンネルを選択する値に設定される。よって、例えば、今回のATDC90°CAタイミングが、第6気筒#6のATDC90°CAタイミングであった場合、次にTDCを迎えるのは第1気筒#1であるため、レジスタ42へ書き込まれるコマンドA送信データの先頭から3ビット目と4ビット目は、右バンク側のノックセンサ27に対応したチャンネルch0を選択する値に設定される(図3参照)。
次にS160にて、デジタルフィルタ処理部35を初期化すると共に、通信部31に起動指示を出して該通信部31を起動させる。すると、通信部31は、後述する図6のS230にて、入力IC11へのチップセレクト信号CSをハイレベルからローレベルにし、入力IC11との通信動作を開始することとなる。
次にS170にて、上記S140で読み出した受信データ(コマンドA受信データ)の内容が正常であるか否かをチェックする。つまり、レジスタ44a,44bのうちの少なくとも一方から読み出したコマンドA受信データが表す入力IC11側での設定結果内容と、前回の通信期間に入力IC11へ送信したコマンドAの設定指示内容とを比較して、両内容が一致していたならば正常と判定し、不一致ならば異常と判定する。
そして、このS170にて、正常と判定した場合には、そのまま当該30°CA割込処理を終了するが、異常と判定した場合には、S180に進んで、例えば、入力IC11をリセットするとか、上記S130でメモリ37から読み出したフィルタ処理結果をノック判定に用いずに破棄する、といったフェイルセーフ用の異常処理を実施し、その後、当該30°CA割込処理を終了する。
次に、図6に示すように、処理IC13の通信部31は、まずS210にて、CPU39が上記S120の処理で出す停止指示と、CPU39が上記S160の処理で出す起動指示との、何れかを受けるまで待機し、停止指示を受けたならば、S220へ進んで、入力IC11へのチップセレクト信号CSをハイレベルにする。そして、その後、S210に戻る。
また、CPU39からの起動指示を受けたならば、S210からS230へ移行して、入力IC11へのチップセレクト信号CSをローレベルにし、次のS240へ進む。
そして、S240では、上記(2)で述べたように、入力IC11へ、信号線2を介して通信クロックCLKを出力すると共に、その通信クロックCLKに同期して、レジスタ42内のコマンドA送信データ(即ち、CPU39が図5のS150でレジスタ42に書き込んだコマンドAのデータ)を信号線3を介して1ビットずつ送信し、更に、これと並行して、入力IC11から信号線4aを介して送られてくるデータを受信してレジスタ44aにコマンドA受信データ1として格納すると共に、入力IC11から信号線4bを介して送られてくるデータを受信してレジスタ44bにコマンドA受信データ2として格納する。但し、前述したように、チップセレクト信号CSがローレベルになってから最初の通信時において、入力IC11から送信されてくるデータは、デフォルト値のダミーデータである。
次にS250にて、CPU39からの停止指示を受けたか否かを判定し、停止指示を受けたならばS220へ移行するが、停止指示を受けていなければ、次のS260に進んで、入力IC11からのトリガ信号Tgがハイレベルか否かを判定する。
そして、トリガ信号Tgがハイレベルでなければ(ローレベルであれば)、S250へ戻るが、トリガ信号Tgがハイレベルになったならば(S260:YES)、S270に進む。
S270では、レジスタ41内の送信個数(即ち、CPU39が図5のS150でレジスタ41に書き込んだコマンドAの送信個数=4)を読み出して、その読み出した送信個数を、“コマンドA個数”という変数として記憶すると共に、そのコマンドA個数の値をデクリメント(−1)する。
そして、次のS280にて、コマンドA個数の値が0になったか否かを判定し、コマンドA個数の値が0でなければ、S240へ戻る。また、上記S280にて、コマンドA個数値が0であると判定した場合には、S240へ戻らずにS290へ進む。
よって、処理IC13の通信部31は、上記S230でチップセレクト信号CSをローレベルにしてから、S240〜S280の処理を4回実施することとなり、これにより、入力IC11へのコマンドAの送信及び入力IC11からのデータ受信を4回実施することとなる。そして、このS240〜S280の処理により、上記(2)〜(9)で述べた図4の四角枠K2内の期間における通信動作が実現されている。
次にS290では、S240と同様のデータ送受信動作を行うが、入力IC11へは、レジスタ42内のコマンドA送信データではなく、レジスタ43内のコマンドB送信データ(即ち、CPU39が図5のS150でレジスタ43に書き込んだコマンドBのデータ)を送信する。
そして、続くS300にて、CPU39からの停止指示を受けたか否かを判定し、停止指示を受けたならばS220へ移行するが、停止指示を受けていなければ、次のS310に進んで、入力IC11からのトリガ信号Tgがハイレベルか否かを判定する。そして、トリガ信号Tgがハイレベルでなければ(ローレベルであれば)、S300へ戻るが、トリガ信号Tgがハイレベルになったならば(S310:YES)、S320に進む。
よって、処理IC13の通信部31は、4個目のコマンドAを送信した後の最初の通信では、コマンドBを送信することとなり、レジスタ44a,44bの各々には、前回送信したコマンドA(即ち、4個目のコマンドA)に対する設定結果を報告するための入力IC11からのコマンドA応答データが、コマンドA受信データ(コマンドA受信データ1,2)として格納されることとなる。
そして、このS290〜S310の処理により、上記(10)で述べた図4の四角枠K3内の期間における通信動作が実現されている。
次にS320では、S290と同様のデータ送受信動作を行って、入力ICへ前回と同じコマンドBを送信するが、入力IC11から信号線4aを介して送られてくるデータは、レジスタ44aではなく、レジスタ45aにコマンドB受信データ1として格納し、また、入力IC11から信号線4bを介して送られてくるデータは、レジスタ44bではなく、レジスタ45bにコマンドB受信データ2として格納する。
そして、次のS325にて、上記S320でレジスタ45a,45bの各々に格納したデータのうち、先頭の2ビットを除く下位14ビットデータの各々(即ち、入力IC11からの2個のセンサA/D値)を、デジタルフィルタ処理部35へ転送すると共に、そのデジタルフィルタ処理部35にデジタルフィルタ処理を実施させる指示を行う(図4の最下段参照)。尚、デジタルフィルタ処理の内容については後で図10及び図11を用いて説明する。
次にS330にて、CPU39からの停止指示を受けたか否かを判定し、停止指示を受けたならばS220へ移行するが、停止指示を受けていなければ、S340に進んで、入力IC11からのトリガ信号Tgがハイレベルか否かを判定する。そして、トリガ信号Tgがハイレベルでなければ(ローレベルであれば)、S330へ戻り、トリガ信号Tgがハイレベルになったならば(S340:YES)、S320に戻って、再び、データの送受信(詳しくは、入力IC11へのコマンドBの送信及び入力IC11からのコマンドB応答データの受信)を行う。
そして、このS320〜S340の処理により、上記(11),(12)で述べた図4の四角枠K4内の期間における通信動作が実現されている。
次に、図7は、入力IC11で行われる処理を表すフローチャートである。尚、この処理は、通信部15と制御部25とが共同して実施するものである。
図7に示すように、入力IC11では、まずS410にて、処理IC13からのチップセレクト信号CSがローレベルか否かを判定し、チップセレクト信号CSがローレベルになるまで動作を停止する。
そして、チップセレクト信号CSがローレベルになったと判定すると(S410:YES)、S420に進み、処理IC13から信号線2を介して供給される通信クロックCLKに同期して、データの送受信を行う。
即ち、上記(3)で述べたように、処理IC13から信号線3を介して送られてくる16ビットのデータを1ビットずつ受信して受信データレジスタ47に格納し、また、送信データレジスタ46a内の16ビットの送信データを信号線4aを介して1ビットずつ処理IC13へ送信すると共に、送信データレジスタ46b内の16ビットの送信データを信号線4bを介して1ビットずつ処理IC13へ送信する。但し、前述したように、チップセレクト信号CSがローレベルになってから最初に送信する送信データは、デフォルト値のダミーデータである。
そして、このような16ビット分のデータ送受信が終わると、次のS430にて、処理IC13へのトリガ信号Tgをローレベルに設定する。尚、チップセレクト信号CSがハイレベルからローレベルに変化した時点でのトリガ信号Tgの初期値はローレベルであるため、最初の通信時において、トリガ信号Tgは継続してローレベルのままとなる(図4参照)。
そして、続くS440にて、上記S420で今回受信した受信データレジスタ47内の受信データにおける先頭の2ビット(コマンドコード)が“10”であるか否かにより、その受信データがコマンドAであるか否かを判定し、コマンドAであれば、S450に進んで、制御部25に、その受信したコマンドAの指示内容に従って、マルチプレクサ19が選択する入力チャンネルやアンプ21のゲインなどを設定させる。
次にS460にて、次回の送信準備として、今回受信したコマンドAに対する設定結果(つまり、マルチプレクサ19に実際に選択させたチャンネルや実際に設定したアンプ21のゲインなど)を処理IC13へ報告するためのコマンドA応答データを作成して、送信データレジスタ46a,46bに格納する。
そして、続くS470にて、チップセレクト信号CSがローレベルのままか否かを判定し、チップセレクト信号CSがローレベルでなければ(ハイレベルになったならば)、S410へ戻るが、チップセレクト信号CSがローレベルのままならば、S480に進んで、タイマ23からのタイミング信号が立ち上がったか否かを判定する。そして、タイミング信号が立ち上がっていなければ、S470に戻るが、タイミング信号が立ち上がったならば、S490に進む。
S490では、処理IC13へのトリガ信号Tgを、それまでのローレベルからハイレベルに設定し、次のS500にて、A/D変換器17にA/D変換を開始させると共に、後述する図8の処理が実行されるのを許可する。そして、その後、S420に戻る。
すると、トリガ信号Tgがハイレベルになったことにより、S420にて、処理IC13との通信が再び行われるが、この場合のS420では、前回のS460で送信データレジスタ46a,46bに格納しておいたコマンドA応答データを処理IC13へ送信することとなる。
そして、処理IC13からコマンドAが送信され続けて、上記S440で受信データがコマンドAであると判定している間は、S420〜S500の処理が繰り返されることとなり、このS420〜S500の処理により、図4の四角枠K2,K3内の期間における通信動作が実現される。
また、図8の処理は、タイマ23からのタイミング信号が立ち下がった時に入力IC11の制御部25で実行される割込み処理であり、この割込み処理では、A/D変換器17にA/D変換を開始させる(S610)。このため、S420〜S500の処理が繰り返される期間において、タイミング信号の立ち上がり時には、図7のS500によってA/D変換器17が起動され、その次のタイミング信号の立ち下がり時には、図8のS610によってA/D変換器17が起動される。尚、図8の処理は、1回実行される毎に実行禁止状態となり、図7の上記S500と後述するS560との何れかで実行が許可された後、タイミング信号が立ち下がった時に実行される。
また更に、図9は、マルチプレクサ19のチャンネルch0,ch1のうちの何れかに入力されるノックセンサ信号のA/D変換が終了したタイミング毎に入力IC11の制御部25で実行される割込み処理(A/D終了割込み処理)を表すフローチャートであり、この割込み処理では、まずS650にて、タイマ23からのタイミング信号がハイレベルか否かを判定する。
そして、タイミング信号がハイレベルならば(S650:YES)、S660に進んで、今回のA/D変換器17によるA/D変換値を、TX1側のコマンドB応答データ用のセンサA/D値(即ち、信号線4aの方で送信するコマンドB応答データに含ませるセンサA/D値)として記憶し、その後、当該割込み処理を終了する。
また、上記S650でタイミング信号がハイレベルではないと判定した場合には、S670に移行して、今回のA/D変換器17によるA/D変換値を、TX2側のコマンドB応答データ用のセンサA/D値(即ち、信号線4bの方で送信するコマンドB応答データに含ませるセンサA/D値)として記憶し、その後、当該割込み処理を終了する。
このため、タイミング信号の立ち上がり時にA/D変換したセンサA/D値は、S660の処理により、TX1側のコマンドB応答データ用として記憶され、タイミング信号の立ち下がり時にA/D変換したセンサA/D値は、S670の処理により、TX2側のコマンドB応答データ用として記憶される。
一方、図7の上記S440にて、S420で今回受信した受信データがコマンドAではないと判定した場合には(S440:NO)、今回受信したデータがコマンドBであると判断して、S510に移行する。尚、このような判断ができるのは、本実施形態では、処理IC13から入力IC11へ送信されるのが、コマンドAかコマンドBの何れか一方であるからである。
S510では、今回受信した受信データレジスタ47内の受信データがコマンドBであるか否かを、その受信データにおける先頭の2ビット(コマンドコード)に基づいて念のため確認する。即ち、受信データにおける先頭の2ビットが“01”であるか否かを確認する。尚、もし、受信データがコマンドBでなかったならば、不定コマンドを受信したという異常(即ち、コマンドBを受信するはずなのに、コマンドBではないコマンドを受信したという異常)が発生したことを示す異常情報を記憶しておく。
そして、次のS530にて、チップセレクト信号CSがローレベルのままか否かを判定し、チップセレクト信号CSがローレベルでなければ(ハイレベルになったならば)、S410へ戻るが、チップセレクト信号CSがローレベルのままならば、S540に進んで、タイマ23からのタイミング信号が立ち上がったか否かを判定する。そして、タイミング信号が立ち上がっていなければ、S530に戻るが、タイミング信号が立ち上がったならば、S545に進む。
S545では、コマンドBに対する今回の送信準備として、図9のS660で記憶されているセンサA/D値を含んだコマンドB応答データを作成して、それを送信データレジスタ46aに格納すると共に、図9のS670で記憶されているセンサA/D値を含んだコマンドB応答データを作成して、それを送信データレジスタ46bに格納する。
次にS550にて、処理IC13へのトリガ信号Tgを、それまでのローレベルからハイレベルに設定し、次のS560にて、A/D変換器17にA/D変換を開始させると共に、前述した図8の処理が実行されるのを許可する。
そして、その後、S570に進み、上記S420と同様に、処理IC13から信号線2を介して供給される通信クロックCLKに同期して、データの送受信を行う。但し、この場合には、直前のS545で送信データレジスタ46a,46bに格納しておいた2つのコマンドB応答データを信号線4a,4bの各々により並行して処理IC13へ送信することとなる。
そして、このS570にて16ビット分のデータ送受信が終わると、S580に進んで、処理IC13へのトリガ信号Tgをローレベルに設定し、その後、S510へ戻る。
このため、S440にて受信データがコマンドAではない(コマンドBである)と判定して、S510へ移行した後は、S530にてチップセレクト信号CSがハイレベルになったと判定するまで、S510〜S580の処理が繰り返されると共に、図8及び図9の処理が行われ、タイマ23からのタイミング信号が立ち上がる10μs毎に、処理IC13からのコマンドBを信号線3により受信すると共に、処理IC13へ5μs毎の最新且つ2個のセンサA/D値をそれぞれ含んだコマンドB応答データを信号線4a,4bにより同時に送信することとなる。そして、S510〜S580の処理と図8及び図9の処理により、図4の四角枠K4内の期間における通信動作が実現される。尚、S510〜S580の処理が繰り返される期間において、タイミング信号の立ち上がり時には、図7のS560によってA/D変換器17が起動され、その次のタイミング信号の立ち下がり時には、図8のS610によってA/D変換器17が起動される。
次に、処理IC13のデジタルフィルタ処理部35が行うフィルタ処理の内容について、図10及び図11を用い説明する。
まず、本実施形態において、デジタルフィルタ処理部35は、例えば、図10(a)に示すような6次のIIRフィルタの処理を行うようになっており、その6次のIIRフィルタは、図10(b)に示すような2次のIIRフィルタ(以下、2次IIRフィルタという)を、3つ直列に接続した形態のものである。そして、2次IIRフィルタの各々は、6個の乗算ブロック51〜56と、4個の加算ブロック61〜64と、2個の遅延ブロック71,72とからなっている。また、各乗算ブロック51〜56での乗数であるフィルタ係数は、A*1,A*2,…,A*6である。尚、「*」は、その2次IIRフィルタが何段目のフィルタであるかを示す添え字であり、1〜3の何れかである。そして、図10(b)では、3つの2次IIRフィルタのうち、1段目の2次IIRフィルタを表しているため、フィルタ係数の上記添え字「*」は、1になっている。
このため、デジタルフィルタ処理部35は、図6のS325で通信部31からフィルタ処理の実施指示を受けると、図10(c)に示す式[1]〜[12]のような演算を3回行うこととなる。
詳しく説明すると、まず、式[1]〜[6]は、図10(b)に示す1段目の2次IIRフィルタの処理を、入力IC11から信号線4a,4bを介して受信した2個のセンサA/D値B2,B3のうち、A/D変換タイミングが先の方のセンサA/D値(即ち、信号線4aの方で受信したセンサA/D値)B2について行った場合の演算内容を表しており、式[7]〜[12]は、図10(b)に示す1段目の2次IIRフィルタの処理を、2個のセンサA/D値B2,B3のうち、A/D変換タイミングが後の方のセンサA/D値(即ち、信号線4bの方で受信したセンサA/D値)B3について行った場合の演算内容を表している。
そして、式[1]〜[6]におけるY0,Y1,Y2は、B2について1段目の2次IIRフィルタの処理を行った場合の、遅延ブロック71の出力と、遅延ブロック72の出力と、加算ブロック61の出力との各値であり、式[7]〜[12]におけるY1,Y2,Y3は、B3について1段目の2次IIRフィルタの処理を行った場合の、遅延ブロック71の出力と、遅延ブロック72の出力と、加算ブロック61の出力との各値である。
更に、図10(b),(c)において、Z2は、B2について(B2を入力として)1段目の2次IIRフィルタの処理を行った場合の結果であり、Z3は、B3について(B3を入力として)1段目の2次IIRフィルタの処理を行った場合の結果である。
また、図10(c)の式[1]〜[12]において、Rはレジスタを表しており、「R=・・・」と記載している部分は、・・・の計算結果をレジスタRに格納することを意味し、「・・・+R」と記載している部分は、レジスタRに格納されている値(レジスタ値)を・・・の値に加算することを意味している。
そして、デジタルフィルタ処理部35は、2段目の2次IIRフィルタについても、Z2を入力として式[1]〜[6]と同様の演算を行うと共に、Z3を入力として式[7]〜[12]と同様の演算を行う。
更に、上記Z2を入力とした2段目の2次IIRフィルタの演算結果をC2とし、上記Z3を入力とした2段目の2次IIRフィルタの演算結果をC3とすると、デジタルフィルタ処理部35は、3段目の2次IIRフィルタについても、C2を入力として式[1]〜[6]と同様の演算を行うと共に、C3を入力として式[7]〜[12]と同様の演算を行う。
そして、上記C2を入力とした3段目の2次IIRフィルタの演算結果をD2とし、上記C3を入力とした3段目の2次IIRフィルタの演算結果をD3とすると、D2がB2を入力とした場合の最終的なフィルタ処理結果となり、D3がB3を入力とした場合の最終的なフィルタ処理結果となる。
このように、処理IC13では、入力IC11からセンサA/D値を2個受信する毎に、その2個のセンサA/D値B2,B3に対し連続してフィルタ処理を実施するようになっている。つまり、A/D変換2回分のセンサA/D値B2,B3がそろった時点で、まとめてフィルタ処理を行うようになっている。このため、デジタルフィルタ処理部35を1回起動するだけで、2個のセンサA/D値B2,B3に対するフィルタ処理を行うことができ、無駄な処理の発生を抑制することができる。その結果、2個のセンサA/D値B2,B3に対するフィルタ処理の総所要時間を短縮することができ、延いては、デジタルフィルタ処理部35やCPU39の動作クロック周波数及び消費電力を低減させることが可能となる。
ところで、デジタルフィルタ処理部35は、フィルタ処理を行う際に、フィルタ係数A*1〜A*6をメモリ36から読み出すこととなるが、フィルタ処理を更に効率良く行うためには、そのフィルタ係数A*1〜A*6のメモリ36からの読み出し回数を減らして、メモリ36にアクセスする総時間を低減することが好ましい。ROMやフラッシュROM等の不揮発性メモリに対するアクセス速度は、レジスタに対するアクセス速度と比べると遅いからである。
そこで、例えば、デジタルフィルタ処理部35は、各段の2次IIRフィルタの演算を開始する前に、その2次IIRフィルタで用いるフィルタ係数A*1〜A*6の各々を、メモリ36からレジスタR1〜R6に転送しておき、式[1]〜[12]のような各演算では、そのレジスタR1〜R6内のフィルタ係数A*1〜A*6を用いる(即ち、レジスタR1〜R6からフィルタ係数A*1〜A*6を読み出す)ようにすることが考えられる。このように構成すれば、各段の2次IIRフィルタの処理あたりにつき、メモリ36からフィルタ係数を読み出す回数を12回から6回に減らすことができる。
また、全てのフィルタ係数分だけレジスタが無いのであれば、図10(c)に示した式[1]〜[12]の演算実施順序を、図11(b)に示すように変更して、メモリ36から読み出した1つのフィルタ係数を複数の演算で共用できるようにしても良い。
つまり、1段の2次IIRフィルタで見ると、フィルタ係数は6個あるため、2個のセンサA/D値に対する2次IIRフィルタの処理として、式[1]〜[12]の演算を図10(c)の順序で実施したならば、メモリ36からフィルタ係数を読み出す回数は、12(=2×6)回となるが、2次IIRフィルタの処理を成す各演算を、メモリ36からのフィルタ係数の読み出し回数が12回よりも少なくなる順序で実行するように構成するのである。尚、図11(b)の式[1]〜[12]において、R1,R2はレジスタを表しており、例えば「R1=・・・」と記載している部分は、・・・の計算結果をレジスタR1に格納することを意味し、例えば「・・・+R1」と記載している部分は、レジスタR1に格納されている値を・・・の値に加算することを意味している。
そして、図11(b)の例では、鎖線で囲まれた5個のフィルタ係数が、連続した2つの演算で用いられることとなるため、1段の2次IIRフィルタの処理あたりにつき、メモリ36からのフィルタ係数の読み出し回数を12回から7(=12−5)回に減らすことができる。また、6次のIIRフィルタ全体では、メモリ36からのフィルタ係数の読み出し回数を36回から21回に減らすことができる。
以上のような本実施形態の信号処理装置では、処理IC13から入力IC11へデータを送信するためのデータ通信線が信号線3の1本であるのに対して、入力IC11から処理IC13へデータを送信するためのデータ通信線としては、信号線4aと信号線4bとの2本が設けられている。
このため、入力IC11から処理IC13へのデータ通信線が、処理IC13から入力IC11へのデータ通信線の本数と同じ1本である構成(つまり、例えば信号線4bが無い構成)と比較すると、通信速度が同じであっても、入力IC11から処理IC13へ単位時間当たりに転送可能なデータ量(延いてはセンサA/D値の数)を2倍に増加させることができる。よって、ノックセンサ信号のA/D変換周期を短く(サンプリング周波数を高く)設定した場合でも、通信速度(通信クロック)を上げる必要がなく、通信に起因するノイズの発生を抑制することができるようになる。
例えば、比較例として、図12(a)に示すように、信号線4bが無い構成(入力ICから処理ICへのデータ通信線と、処理ICから入力ICへのデータ通信線とが、1本ずつである構成)で、ノックセンサ信号のサンプリング周波数を上記実施形態と同じ200kHz(サンプリング周期T=5μs)に設定したとすると、入力ICから処理ICへは、5μs毎に16ビットの通信データを送信する必要があるため、通信クロックCLKの周波数を、上記実施形態の2倍である4MHzに設定することとなる。尚、ここでは、両ICが5μs毎に通信すると共に、1回の通信時間が4μs(=16ビット×1/4MHz)であることを想定している。また、図12(a)におけるA,B,C,…は、入力ICから処理ICへ5μs毎に送信されるコマンドB応答データを示している。
ところが、この比較例のように通信速度を上げると、通信に起因するノイズが増加してしまう。
また、通信速度を上げると、両IC間の配線の浮遊容量などの影響を受けやすくなるため、両IC間の配線を長くすることができないなど、設計上の制約も発生する。
また更に、通信速度を上げると、通信クロック自体の高速化による消費電力の増加だけでなく、通信ドライバ回路を構成するトランジスタも高速にスイッチングさせることとなるため、そのスイッチング損失により更に消費電力が増加してしまう。また、高速なトランジスタを用いる必要があるが、そのようなトランジスタは一般にチップ面積が大きく、且つ高価である。
また、本実施形態では、両IC11,13が通信しない不通信時間が2μsであったのに対して、図12(a)の比較例では、不通信時間が1μsしか確保できず、その面でも不利である。特に、両ICがトリガ信号Tgによってタイミングを取り合う構成の場合、不通信時間が短いと、タイミング合わせのための処理を行う時間が無くなってしまう。
一方、例えば、第2比較例として、図12(b)に示すように、図12(a)に示す通信部を2組設ける構成が考えられる。そして、この構成をとったならば、本実施形態と同様に、入力ICから処理ICへのデータ通信線が2本となり、その2本のデータ通信線によって2個のセンサA/D値を並行して送信できるため、ノックセンサ信号のサンプリング周波数を200kHzに設定しても、通信クロックCLKの周波数を図12(a)の場合の半分である2MHzに設定することができる。
しかし、この第2比較例の構成では、通信部が2組にになるため、その通信部での消費電力が2倍になると共に、コストアップも招いてしまう。また、図1の信号線1〜3,5に相当する線までも2本ずつになってしまい、配線の困難性を招いてしまう。
更に、2組の通信部が独立しているため、その2組の通信部の動作タイミングがずれてくる可能性もある。そして、2組の通信部の動作タイミングがずれてくると、入力ICから処理ICへ2個のセンサA/D値が供給されるタイミングがずれてしまうため、処理IC側でのフィルタ処理に支障をきたすこととなる。特に、図12(b)の構成において、ノックセンサ信号のサンプリング周波数を高く設定する場合には、通信部の組数を増やすこととなり、更なる大型化及びコスト増加を招いてしまう。尚、図12(b)におけるA,B,C,…は、入力ICから処理ICへ送信されるコマンドB応答データを示している。
一方、第3参考例として、入力ICと処理ICとを、シリアルデータ通信用の通信線ではなく、バス接続することも考えられるが、その場合には、データ通信線や各ICに必要なピン数の増加を招く上に、通信方向を適宜切替える必要があり、更に複雑な構成となってしまう。また、通信方向を切替えるための時間が必要となる点でも不利である。しかも、バス接続の場合には、データ通信線の本数を4本、8本、16本といった具合に2の整数乗値に設定することとなり、必要なデータ転送量に応じた最適な本数設定を行うことができないという面もある。
これに対して、本実施形態では、上記各比較例について述べた問題を全て回避することができるようになる。また、ノックセンサ信号のサンプリング周波数を更に高く設定する場合には、入力IC11から処理IC13へのデータ通信線を必要な分だけ増やせば良く、最適設定が可能である。更に、入力IC11から処理IC13へのデータ通信線のうちの何れかが断線した場合でもフェールセーフ的な通信を行うことが可能になる、という利点もある。
ここで、ノックセンサ信号のサンプリング周波数を高く設定することの利点について説明する。
まず、図13(a)に示すように、サンプリング周波数を、本実施形態の半分である100kHz(サンプリング周期T=10μs)に設定したとすると、デジタルフィルタ処理の結果としては、サンプリング定理より、50kHz以上の信号は折り返されてしまい、本当は存在しなくても存在するような結果が得られてしまう。そのため、50kHz以上の信号成分は、A/D変換前に、アナログフィルタ回路によって十分小さくしておく必要がある。よって、例えばノックセンサ信号における20kHz程度の高調波信号をノック判定に使用したい場合には、A/D変換器の前に設けるアナログフィルタ回路として、ゲインが20kHz〜50kHzの領域で急激に低下するものを用意することとなる。しかし、そのような特性のアナログフィルタ回路は、フィルタ次数が例えば8次といった大きなものとなり、実現が難しい。つまり、アナログフィルタ回路の場合、素子の誤差が大きく影響するため、フィルタ次数を上げるのは難しい。
そこで、図13(b)に示すように、サンプリング周波数を本実施形態のように200kHz(サンプリング周期T=5μs)に設定すれば、折り返される信号周波数は100kHz以上となり、A/D変換器の前に設けるアナログフィルタ回路としては、ゲインが20kHz〜100kHzの領域で低下するもので済むこととなり、フィルタ次数が例えば4次のもので済むこととなる。よって、アナログフィルタ回路を小さくすることができる。
そして、本実施形態の信号処理装置によれば、通信に起因するノイズの発生を招くことなくサンプリング周波数を高く設定することができるため、A/D変換器の前に設けるアナログフィルタ回路も小型化することができるのである。
また更に、本実施形態において、入力IC11は、サンプリングタイミングが隣接した2個のセンサA/D値の各々を、2本の信号線4a,4b(データ通信線)の各々に割り付けて、1回の通信タイミングで並行して処理IC13へ送信するようになっているため、高い汎用性を得ることができる。
つまり、2本の信号線4a,4bのうちの何れかを処理IC13側で使わなければ、2本全ての信号線4a,4bを使った場合と比べて、間引いたセンサA/D値に対しデジタルフィルタ処理を行うこととなり、換言すれば、デジタルフィルタ処理を行うセンサA/D値のサンプリング周期Tを2倍の10μsにすることと等価になる。このため、ノック判定にノックセンサ信号の高調波成分を用いないシステムの場合には、処理IC13として、例えば信号線4bの方を用いない安価なものを使用することができるようになり、システム全体のコストダウンを図ることができる。尚、この場合、入力IC11側は何も変更せず、信号線4bが接続される端子をオープン状態にするだけでよい。また、処理IC13側でのデジタルフィルタ処理のフィルタ係数としては、サンプリング周期が10μsであることを想定したものを用いることとなる。
一方、処理IC13において、フィルタ処理として、異なる周波数帯にそれぞれ反応する第1〜第N(Nは2以上の整数)のフィルタ処理を行う場合には、下記の第1又は第2の処理順序が考えられる。尚、ここでは、フィルタが図10(a)のような3段構成であるものとする。
まず、第1の処理順序としては、第1〜第Nの各フィルタ処理を1つずつ順番に実施する、というものである。つまり、第1のフィルタ処理の1〜3段目の処理を実施した後、第2のフィルタ処理の1〜3段目の処理を実施し、最後に第Nのフィルタ処理の1〜3段目の処理を実施する、というものである。
また、第2の処理順序としては、第1〜第Nのフィルタ処理の1段目の処理を実施した後、第1〜第Nのフィルタ処理の2段目の処理を実施し、最後に第1〜第Nのフィルタ処理の3段目の処理を実施する、というものである。
[第2実施形態]
次に、第2実施形態の信号処理装置について説明する。
第2実施形態の信号処理装置では、第1実施形態と比較すると、処理IC13のCPU39が図14の処理を追加して行い、また、処理IC13の通信部31で行われる処理が、図6から図15のように変更されていると共に、その図15のS327で図16の処理が行われる点が異なっている。そして更に、メモリ36には、フィルタ処理のフィルタ係数A*1〜A*6として、ノックセンサ信号のサンプリング周期が5μsであることを想定したフィルタ係数(第1実施形態と同じフィルタ係数であり、以下、サンプリング周期5μs用のフィルタ係数という)だけでなく、サンプリング周期が10μsであることを想定したフィルタ係数(以下、サンプリング周期10μs用のフィルタ係数という)も記憶されている。そこで以下、これらの相違する部分について説明する。
まず、図14は、処理IC13のCPU39が一定時間毎に実行する回転数判定処理を表すフローチャートである。
そして、CPU39が回転数判定処理の実行を開始すると、まずS710にて、エンジン回転数が規定値以上であるか否かを判定し、規定値以上であればS720に進んで、高回転フラグを1にし、その後、当該回転数判定処理を終了する。尚、エンジン回転数は、回転センサからの回転パルス信号に基づき、周知の手法によって算出される。
また、上記S710でエンジン回転数が規定値以上ではないと判定した場合には、S730に移行して、高回転フラグを0にし、その後、当該回転数判定処理を終了する。
次に、図15に示すように、本第2実施形態では、図6の処理に対して、S205,S245,S295,S323の処理が追加されていると共に、S325に代えてS327の処理が行われる。
即ち、処理IC13の通信部31は、動作を開始すると、最初のS205にて、コマンドA受信データ1が異常であることを示すA1異常フラグと、コマンドA受信データ2が異常であることを示すA2異常フラグと、コマンドB受信データ1が異常であることを示すB1異常フラグと、コマンドB受信データ2が異常であることを示すB2異常フラグとの各々を、異常でない方を示す0にクリアし、その後、前述のS210へ進む。
そして、前述したS240の処理を行った後、S245に進み、そのS240で今回受信したコマンドA受信データ1とコマンドA受信データ2との各々が正常か否かを判定して、何れかが正常でなければ(異常であれば)、A1異常フラグとA2異常フラグのうち、異常なコマンドA受信データに対応する方を1にする。つまり、コマンドA受信データ1が異常であればA1異常フラグを1にし、コマンドA受信データ2が異常であればA2異常フラグを1にする。
尚、S245での判定内容を説明すると、まず、チップセレクト信号CSがローレベルになってから最初の通信直後である場合には、コマンドA受信データ1とコマンドA受信データ2との各々(即ち、レジスタ44a,44b内の各受信データ)が前述のダミーデータであるか否かを判定する。そして、チップセレクト信号CSがローレベルになってから2回目以降の通信直後である場合には、コマンドA受信データ1とコマンドA受信データ2との各々について、少なくとも、コマンドコードである先頭2ビットが“10”であるか否かを判定する。また、2回目以降の通信直後である場合、更に、コマンドA受信データ1とコマンドA受信データ2との各々について、図5のS170と同様に、そのコマンドA受信データが表す入力IC11側での設定結果内容(先頭から3〜7ビット目)と、入力IC11へ送信したコマンドAの設定指示内容(先頭から3〜7ビット目)とが一致しているか否かを判定するようにしても良い。
そして更に、処理IC13の通信部31は、前述したS290の処理を行った後、S295に進み、上記S245と同様の処理を行う。つまり、コマンドA受信データ1が異常であればA1異常フラグを1にし、コマンドA受信データ2が異常であればA2異常フラグを1にする。
また、処理IC13の通信部31は、前述したS320の処理を行った後、S323に進み、そのS320で今回受信したコマンドB受信データ1とコマンドB受信データ2との各々が正常か否かを判定して、何れかが正常でなければ(異常であれば)、B1異常フラグとB2異常フラグのうち、異常なコマンドB受信データに対応する方を1にする。つまり、コマンドB受信データ1が異常であればB1異常フラグを1にし、コマンドB受信データ2が異常であればB2異常フラグを1にする。
尚、S323での判定内容を説明すると、コマンドB受信データ1とコマンドB受信データ2との各々(即ち、レジスタ45a,45b内の各受信データ)について、少なくとも、コマンドコードである先頭2ビットが“01”であるか否かを判定する。更に、コマンドB受信データ1とコマンドB受信データ2との各々について、先頭から3ビット目以降の14ビットであるセンサA/D値が正常範囲内の値であるか否かを判定するようにしても良い。
そして、処理IC13の通信部31は、上記S323の後、S327に進み、図16のフィルタ起動処理を行った後、前述のS330に進む。
ここで、図16に示すようにフィルタ起動処理では、まずS810にて、高回転フラグが1であるか否かを判定し、高回転フラグが1であれば、S815に進む。
S815では、前述した4つの異常フラグ(A1異常フラグ、A2異常フラグ、B1異常フラグ、B2異常フラグ)が全て0であるか否かを判定し、全ての異常フラグが0であると判定した場合には、S820に進む。
S820では、今回のS320でレジスタ45a,45bの各々に格納したコマンドB受信データ1,2の各々に含まれている2個のセンサA/D値をフィルタ処理対象として使用するために、その2個のセンサA/D値をデジタルフィルタ処理部35へ転送する。次に、S825にて、デジタルフィルタ処理部35に、サンプリング周期5μs用のフィルタ係数を選択させる指示を行う。次に、S830にて、デジタルフィルタ処理部35にデジタルフィルタ処理を実施させる指示を行い、その後、当該フィルタ起動処理を終了する。すると、この場合、デジタルフィルタ処理部35は、S820で転送された2個のセンサA/D値に対し、メモリ36に記憶されているサンプリング周期5μs用のフィルタ係数を用いて、図10(c)の式[1]〜[12]に示した演算からなるフィルタ処理を行う。尚、この場合、デジタルフィルタ処理部35は、図11(b)に示した演算順序でフィルタ処理を行うようにしても良い。
また、上記S815で否定判定した場合、即ち、4つの異常フラグのうちの何れかが1であると判定した場合には、S835に進む。
S835では、A2異常フラグとB2異常フラグとの両方が0であるか否かを判定し、その両異常フラグが0であると肯定判定した場合には、A1異常フラグとB1異常フラグとの少なくとも一方が1であることから、2本の信号線4a,4bのうち、信号線4aの方(TX1側)が故障していると判断して、S840に進み、信号線4aが異常であることを他の装置や車両運転者に通知するための処理を行う。
そして、次のS845にて、今回のS320でレジスタ45bに格納したコマンドB受信データ2に含まれている1個のセンサA/D値をフィルタ処理対象として使用するために、そのセンサA/D値をデジタルフィルタ処理部35へ転送する。次に、S850にて、デジタルフィルタ処理部35に、サンプリング周期10μs用のフィルタ係数を選択させる指示を行う。次に、S830に移行して、デジタルフィルタ処理部35にデジタルフィルタ処理を実施させる指示を行い、その後、当該フィルタ起動処理を終了する。すると、この場合、デジタルフィルタ処理部35は、S845で転送された1個のセンサA/D値(信号線4bから受信したセンサA/D値)に対し、メモリ36に記憶されているサンプリング周期10μs用のフィルタ係数を用いて、例えば図10(c)の式[1]〜[6]に示した演算からなるフィルタ処理を行う。
また、上記S835で否定判定した場合には、S855に移行して、A1異常フラグとB1異常フラグとの両方が0であるか否かを判定し、その両異常フラグが0であると肯定判定した場合には、2本の信号線4a,4bのうち、信号線4bの方(TX2側)が故障していると判断して、S860に進み、信号線4bが異常であることを他の装置や車両運転者に通知するための処理を行う。
そして、次のS865にて、今回のS320でレジスタ45aに格納したコマンドB受信データ1に含まれている1個のセンサA/D値をフィルタ処理対象として使用するために、そのセンサA/D値をデジタルフィルタ処理部35へ転送する。次に、S850に移行して、デジタルフィルタ処理部35に、サンプリング周期10μs用のフィルタ係数を選択させる指示を行う。次に、S830に移行して、デジタルフィルタ処理部35にデジタルフィルタ処理を実施させる指示を行い、その後、当該フィルタ起動処理を終了する。すると、この場合、デジタルフィルタ処理部35は、S865で転送された1個のセンサA/D値(信号線4aから受信したセンサA/D値)に対し、メモリ36に記憶されているサンプリング周期10μs用のフィルタ係数を用いて、例えば図10(c)の式[1]〜[6]に示した演算からなるフィルタ処理を行う。
また、上記S855で否定判定した場合には、2本の信号線4a,4bが両方共に故障していると判断して、S870に進み、信号線4a,4bが異常であることを他の装置や車両運転者に通知するための処理を行う。そして、次のS875にて、何らかのフェイルセーフ処理を実施した後、当該フィルタ起動処理を終了する。尚、この場合、ノックセンサ信号に基づくノック判定が不能になるため、S875のフェイルセーフ処理としては、例えば、エンジンの点火時期をノッキングが最も発生し難いタイミングに設定させる、といった処理が考えられる。
一方、上記S810にて、高回転フラグが1ではないと判定した場合には、S880に移行する。
S880では、A2異常フラグが0であるか否かを判定し、A2異常フラグが0であれば、次のS885にて、B2異常フラグが0であるか否かを判定する。そして、B2異常フラグが0であると判定した場合には、信号線4bは正常であると判断して、前述したS845へ移行し、そのS845とS850及びS830の処理を実行した後、当該フィルタ起動処理を終了する。すると、この場合、デジタルフィルタ処理部35は、S845で転送された1個のセンサA/D値(信号線4bから受信したセンサA/D値)に対し、メモリ36に記憶されているサンプリング周期10μs用のフィルタ係数を用いて、例えば図10(c)の式[1]〜[6]に示した演算からなるフィルタ処理を行うこととなる。
また、上記S880でA2異常フラグが0ではないと判定するか、或いは、上記S885でB2異常フラグが0ではないと判定した場合には、信号線4bが故障していると判断して、前述したS860に移行し、そのS860とS865,S850及びS830の処理を実行した後、当該フィルタ起動処理を終了する。すると、この場合、デジタルフィルタ処理部35は、S865で転送された1個のセンサA/D値(信号線4aから受信したセンサA/D値)に対し、メモリ36に記憶されているサンプリング周期10μs用のフィルタ係数を用いて、例えば図10(c)の式[1]〜[6]に示した演算からなるフィルタ処理を行うこととなる。
以上のような第2実施形態の信号処理装置において、処理IC13は、信号線4a,4bが2本共に正常ならば、エンジン回転数に応じて動作モードが2通りに切り替わることとなる。
即ち、エンジン回転数が規定値以上の場合には(S810:YES)、S820,S825及びS830の処理が行われるため、2本の信号線4a,4bからのセンサA/D値に対してフィルタ処理を行う第1動作モードとなり、エンジン回転数が規定値未満の場合には(S810:NO)、S845,S850及びS830の処理が行われるため、信号線4aからのセンサA/D値は使用せずに、信号線4bからのセンサA/D値に対してのみフィルタ処理を行う第2動作モードとなる。そして、その第2の動作モードでは、フィルタ対象とするセンサA/D値のサンプリング周期(間隔)が10μsとなるため、フィルタ処理のフィルタ係数を、サンプリング周期10μs用のフィルタ係数に切り替えることとなる(S850)。
この構成によれば、第1動作モードよりも第2動作モードの方が、フィルタ処理の負荷が軽減されることとなるため、処理IC13での消費電力及び発熱を、必要に応じて抑えることができるようになる。
つまり、エンジンの低回転時には高回転時よりも、ノックセンサ信号に重畳するノイズの周波数が低くなる傾向にあるため、ノック判定のためにノックセンサ信号の高調波成分を使用しなくても良く、そのため、フィルタ対象とするセンサA/D値のサンプリング周期は長くしても良いと考えられる。このため、エンジンの低回転時には、処理IC13の動作モードを第2動作モードにすることにより、消費電力及び発熱を効果的に抑制することができるのである。
また、本第2実施形態の信号処理装置において、処理IC13は、エンジン回転数が規定値以上の場合(S810:YES)、2本の信号線4a,4bが正常と判断しているならば(S815:YES)、その2本の信号線4a,4bからのセンサA/D値に対してフィルタ処理を行う(S820,S825,S830)が、信号線4aが故障していることを検知したならば(S835:YES)、その信号線4aからのセンサA/D値は使用せずに、信号線4bからのセンサA/D値に対してのみフィルタ処理を行うようになる(S845,S850,S830)。また逆に、信号線4bが故障していることを検知したならば(S855:YES)、その信号線4bからのセンサA/D値は使用せずに、信号線4aからのセンサA/D値に対してのみフィルタ処理を行うようになる(S865,S850,S830)。そして、故障を検知した信号線からのセンサA/D値を使用せずにフィルタ処理を行う場合、フィルタ係数は、サンプリング周期10μs用のフィルタ係数に切り替えることとなる(S850)。
この構成によれば、2本の信号線4a,4bの何れかが故障した場合には、正常な場合と比べて、サンプリング周期が2倍のセンサA/D値に対してフィルタ処理を行うこととなるものの、デジタルフィルタ処理部35によるフィルタ処理自体は実施することができるため、ノック判定が不能になってしまうことを回避することができる。
また、処理IC13は、エンジン回転数が規定値未満の場合(S810:NO)、信号線4bが正常であると判断している場合には(S880:YES且つS885:YES)、信号線4bからのセンサA/D値に対してフィルタ処理を行う(S845,S850,S830)が、信号線4bの故障を検知した場合には(S880:NO又はS885:NO)、信号線4aからのセンサA/D値に対してフィルタ処理を行うようになっている(S865,S850,S830)。このため、ノック判定が不能になることを回避して、エンジン制御の信頼性を向上させることができる。
尚、デジタルフィルタ処理部35がサンプリング周期10μs用のフィルタ係数を用いて行うフィルタ処理としては、図10(c)の式[1]〜[6]に示した演算からなるフィルタ処理以外のフィルタ処理でも良い。
[変形例1]
図17に示すように、入力IC11から処理IC13への通信データであるコマンドA応答データとコマンドB応答データとの各々について、入力IC11は、信号線4a側(TX1側)で送信されるものと、信号線4b側(TX2側)で送信されるものとで、識別コードとしてのコマンドコードを、そのコードのビットの並び状態が相互に異なるように変更して送信するように構成すれば、隣接する信号線4a,4b同士がショートした場合に、そのショート故障を処理IC13側で確実に検出することができるようになる。
つまり、処理IC13にて、信号線4a,4bのそれぞれから受信した2つのコマンドコードの各ビット同士を例えば先頭から比較し、両ビットが異なっていれば、信号線4a,4b同士がショートしていないと判断することができ、逆に、両ビットが同じである状態が続けば、信号線4a,4b同士がショートしていると判断することができるようになる。尚、図17の例では、コマンドコードが2ビットであるため、そのビットの並びを信号線4a側と信号線4b側とで逆転させるようにしているが、ビットの並びの変更は、それに限るものではなく、異なるビット位置に異なる論理値のビットが配置されるようにすれば良い。また、信号線4a,4bが複数組ある場合には、その各組について、同様の手法をとればよい。
[変形例2]
図18に示すように、入力IC11は、信号線4a側(TX1側)のコマンドB応答データは、その各ビットを最上位ビットから順に送信するが、信号線4b側(TX2側)のコマンドB応答データは、その各ビットを最下位ビットから順に送信するように構成しても良い。尚、図18の下から2段目に記載されている信号線4a側(TX1側)のコマンドB応答データでは、先頭から下位への2ビットがコマンドコードであり、図18の最下段に記載されている信号線4b側(TX2側)のコマンドB応答データでは、最終から上位への2ビットがコマンドコードである。
そして、このように構成しても、信号線4a,4b同士がショートした場合に、そのショート故障を処理IC13側で容易に検出することができるようになる。また、コマンドB応答データがセンサA/D値からのみ構成される場合(即ち、コマンドコードが無い場合)であっても、信号線4a,4b同士のショート故障を検出することができるようになる。
つまり、信号線4a,4b同士には、A/D変換タイミングがサンプリング周期TだけしかずれていないセンサA/D値が同時期に送信されるため、その両センサA/D値は、ほぼ同じ値になっている可能性がある。このため、本変形例2のように構成すれば、処理IC13側にて、信号線4a,4bのそれぞれから受信した2つのコマンドB応答データの各ビット同士を例えば先頭から比較し、両ビットが異なっていれば、信号線4a,4b同士がショートしていないと判断することができ、逆に、両ビットが同じである状態が続けば、信号線4a,4b同士がショートしていると判断することができるようになる。尚、信号線4a,4bが複数組ある場合には、その各組について、同様の手法をとればよい。
以上、本発明の一実施形態について説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲において、種々なる態様で実施し得ることは勿論である。
例えば、ノックセンサは、振動式センサに限らず、気筒内の圧力を検出する筒内圧センサ(CPS)や、イオン電流を表す信号を出力するセンサでも良い。
また、入力IC11から処理IC13へのデータ通信線(第1通信線)の本数nは、処理IC13から入力IC11へのデータ通信線(第2通信線)の本数よりも2本以上多い本数でも良い。
また、処理IC13から入力IC11へのコマンドBとしては、信号線4a側用のコマンドと信号線4b側用のコマンドとをそれぞれ設けるようにしても良い。つまり、入力IC11は、信号線4a側用のコマンドBを受信すれば、処理IC13へ信号線4aでコマンドB応答データを送信し、信号線4b側用のコマンドBを受信すれば、処理IC13へ信号線4bでコマンドB応答データを送信する、といった具合に構成しても良い。また例えば、処理IC13から入力IC11への送信データのうち、前半8ビットを信号線4a側用のコマンドとし、後半8ビットを信号線4b側用のコマンドとしても良い。
また、図1の信号線4aを、チャンネルch0に入力されるノックセンサ信号(ノックセンサ27からの信号)のA/D変換値を送信するために使用し、信号線4bを、チャンネルch1に入力されるノックセンサ信号(ノックセンサ29からの信号)のA/D変換値を送信するために使用するように構成しても良い。つまり、上記実施形態において、2つのノックセンサ27,29からの各信号を5μs毎に交互に切り替えてA/D変換すると共に、10μs毎に、一方のセンサA/D値を信号線4aで、他方のセンサA/D値を信号線4bでそれぞれ送信するようにしても良い。この場合、1つのノックセンサ信号のA/D変換は10μs毎となるものの、同時に2チャンネル分のセンサA/D値を送信することができる。
一方、図5の処理は、30°CA毎に限らず、他の一定クランク角度毎(例えば10°CA毎)に実行されるようにしても良い。また、図5の処理は、角度を時間に換算しフリーランタイマを使って起動されるものとしても良い。つまり、一定クランク角度分の時間(クランク軸が一定角度回転するのに要する時間)を推定し、その時間毎にフリーランタイマを利用したタイマ割込みなどにより図5の処理が起動されるように構成することもできる。
第1実施形態のノックセンサ信号処理装置を表す構成図である。 通信データのフォーマットを表す図である。 入力ICと処理ICとで実施される通信の概要を表すタイムチャートである。 入力ICの動作及び入力ICと処理ICとで実施される通信の概要を表すタイムチャートである。 処理ICのCPUで実行される30°CA割込処理を表すフローチャートである。 処理ICの通信部で実行される処理を表すフローチャートである。 入力ICで実行される処理を表すフローチャートである。 タイマからのタイミング信号が立ち下がった時に入力ICの制御部で実行される割込み処理を表すフローチャートである。 ノックセンサ信号のA/D変換が終了したタイミング毎に入力ICの制御部で実行される割込み処理を表すフローチャートである。 デジタルフィルタ処理の内容を表す第1の図である。 デジタルフィルタ処理の内容を表す第2の図である。 比較例を表す図である。 ノックセンサ信号のサンプリング周波数を高く設定することの利点を説明する図である。 第2実施形態における処理ICのCPUで実行される回転数判定処理を表すフローチャートである。 第2実施形態における処理ICの通信部で実行される処理を表すフローチャートである。 図15のS327で実行されるフィルタ起動処理を表すフローチャートである。 変形例1を説明する説明図である。 変形例2を説明する説明図である。
符号の説明
3…信号線(第2通信線)、4a,4b…信号線(第1通信線)、11…入力IC(第1装置)、13…処理IC(第2装置)、15,31…通信部、17…A/D変換器、19…マルチプレクサ(MPX)、21…アンプ、23…タイマ、25…制御部、27,29…ノックセンサ、33…回転処理部、35…デジタルフィルタ処理部、36,37…メモリ、41,42,43,44a,44b,45a,45b,46a、46b,47…レジスタ

Claims (10)

  1. エンジンのノッキングを検出するためのノックセンサから出力されるアナログ信号(以下、ノックセンサ信号という)が入力されると共に、A/D変換器を有した第1装置と、
    前記第1装置とシリアル通信用の通信線により接続された第2装置とからなり、
    前記第1装置が、前記ノックセンサ信号を前記A/D変換器に一定時間毎にA/D変換させると共に、その各A/D変換値を前記第2装置へ前記通信線を介して送信し、前記第2装置が、前記第1装置から送信される各A/D変換値を受信して、その受信した時系列のA/D変換値に対しデジタルフィルタ処理を行うように構成されたノックセンサ信号処理装置であって、
    前記通信線として、前記第1装置から前記第2装置へ少なくとも前記A/D変換値を送信するための第1通信線と、前記第2装置から前記第1装置へ少なくとも動作指示情報を送信するための第2通信線とがあり、更に、前記第1通信線の本数は、前記第2通信線の本数よりも多いこと、
    を特徴とするノックセンサ信号処理装置。
  2. 請求項1に記載のノックセンサ信号処理装置において、
    前記第1通信線の本数がn本(nは2以上の整数)であるとすると、
    前記第1装置は、前記A/D変換器による前記ノックセンサ信号のn回分のA/D変換値の各々を、前記n本の第1通信線の各々に割り付けて、1回の通信タイミングで並行して前記第2装置へ送信すること、
    を特徴とするノックセンサ信号処理装置。
  3. 請求項2に記載のノックセンサ信号処理装置において、
    前記一定時間がTであるとすると、前記第1装置から前記第2装置への前記A/D変換値の送信は、「n×T」毎に実施されること、
    を特徴とするノックセンサ信号処理装置。
  4. 請求項2又は請求項3に記載のノックセンサ信号処理装置において、
    前記第2装置は、前記n本の第1通信線のうちの何れかが故障していることを検知した場合には、その故障を検知した第1通信線からのA/D変換値は使用せずにデジタルフィルタ処理を行うこと、
    を特徴とするノックセンサ信号処理装置。
  5. 請求項4に記載のノックセンサ信号処理装置において、
    前記第2装置は、前記n本の第1通信線のうち、故障を検知した第1通信線からのA/D変換値は使用せずにデジタルフィルタ処理を行う場合、そのデジタルフィルタ処理のフィルタ係数を、正常時のものとは別のフィルタ係数に変更すること、
    を特徴とするノックセンサ信号処理装置。
  6. 請求項2ないし請求項5の何れか1項に記載のノックセンサ信号処理装置において、
    前記第2装置は、前記エンジンの運転状態に応じて、動作モードが、前記n本の第1通信線からのA/D変換値に対してデジタルフィルタ処理を行う動作モードと、前記n本の第1通信線のうちの何れかからのA/D変換値は使用せずにデジタルフィルタ処理を行う動作モードとの何れかに切り替わると共に、その各動作モードでデジタルフィルタ処理のフィルタ係数を変更するように構成されていること、
    を特徴とするノックセンサ信号処理装置。
  7. 請求項2ないし請求項6の何れか1項に記載のノックセンサ信号処理装置において、
    前記第1装置は、前記第1通信線のうちの隣り合うもの同士について、一方の第1通信線へは、その第1通信線で前記第2装置へ送信すべきデータを、最上位ビットから順に送出し、他方の第1通信線へは、その第1通信線で前記第2装置へ送信すべきデータを、最下位ビットから順に送出するように構成されていること、
    を特徴とするノックセンサ信号処理装置。
  8. 請求項1ないし請求項6の何れか1項に記載のノックセンサ信号処理装置において、
    前記第1装置から前記第2装置へ前記第1通信線を介して送信される通信データの特定位置には、その通信データが何であるかを示す識別コードが配置され、
    更に、前記第1装置は、前記第1通信線のうちの隣り合うもの同士について、前記識別コードを、該識別コードのビットの並び状態が相互に異なるように変更して送信するように構成されていること、
    を特徴とするノックセンサ信号処理装置。
  9. 請求項1ないし請求項8の何れか1項に記載のノックセンサ信号処理装置において、
    前記第2装置は、前記第1装置から前記A/D変換値をm個(mは2以上の整数)受信する毎に、そのm個のA/D変換値に対し連続してデジタルフィルタ処理を実施すること、
    を特徴とするノックセンサ信号処理装置。
  10. 請求項9に記載のノックセンサ信号処理装置において、
    前記第2装置は、前記デジタルフィルタ処理のフィルタ係数が記憶されたメモリを備えており、
    更に、前記フィルタ係数の個数がM個(Mは2以上の整数)であるとすると、前記第2装置は、前記m個のA/D変換値に対し連続してデジタルフィルタ処理を実施する際には、そのデジタルフィルタ処理を成す各演算を、前記メモリから前記各フィルタ係数を読み出す回数が「m×M」回よりも少なくなる順序で実行するように構成されていること、
    を特徴とするノックセンサ信号処理装置。
JP2006019270A 2006-01-27 2006-01-27 ノックセンサ信号処理装置 Expired - Fee Related JP4605035B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006019270A JP4605035B2 (ja) 2006-01-27 2006-01-27 ノックセンサ信号処理装置
US11/699,081 US7578282B2 (en) 2006-01-27 2007-01-29 Apparatus for processing sensor signal from knock sensor of internal combustion engine

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006019270A JP4605035B2 (ja) 2006-01-27 2006-01-27 ノックセンサ信号処理装置

Publications (2)

Publication Number Publication Date
JP2007198305A JP2007198305A (ja) 2007-08-09
JP4605035B2 true JP4605035B2 (ja) 2011-01-05

Family

ID=38320683

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006019270A Expired - Fee Related JP4605035B2 (ja) 2006-01-27 2006-01-27 ノックセンサ信号処理装置

Country Status (2)

Country Link
US (1) US7578282B2 (ja)
JP (1) JP4605035B2 (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007060629A2 (en) * 2005-11-24 2007-05-31 Nxp B.V. Data carrier with sensor
US8150602B2 (en) * 2007-11-08 2012-04-03 Honeywell International Inc. Method and system for estimating in-cylinder pressure and knocking utilizing an in-cylinder pressure sensor
JP2009138586A (ja) * 2007-12-05 2009-06-25 Diamond Electric Mfg Co Ltd 内燃機関の燃焼制御装置
WO2009114626A2 (en) * 2008-03-11 2009-09-17 The Regents Of The University Of California Wireless sensors and applications
US20100011140A1 (en) * 2008-07-08 2010-01-14 Micrel, Inc. Ethernet Controller Using Same Host Bus Timing for All Data Object Access
US8291888B2 (en) * 2008-07-24 2012-10-23 Honda Motor Co., Ltd. Speed dependent knock control
JP4592796B2 (ja) * 2008-12-15 2010-12-08 三菱電機株式会社 アナログ入力信号を有する電子制御装置
US9759142B2 (en) * 2009-03-09 2017-09-12 GM Global Technology Operations LLC Fuel ignition quality detection systems and methods
CN102252849B (zh) * 2010-05-20 2014-03-12 通用汽车环球科技运作公司 燃料点火质量检测系统和方法
DE102010034459B4 (de) * 2010-08-13 2015-07-16 Iav Gmbh Ingenieurgesellschaft Auto Und Verkehr Verfahren und Vorrichtung zur Erkennung von klopfenden Verbrennungen beim Betrieb einer Verbrennungskraftmaschine
US8600642B2 (en) * 2010-12-23 2013-12-03 General Electric Company Hub unit for a high temperature electronic monitoring system
JP5392337B2 (ja) * 2011-10-18 2014-01-22 株式会社デンソー センサ信号の処理装置
JP2014014029A (ja) * 2012-07-05 2014-01-23 Renesas Electronics Corp 半導体装置及び故障診断システム
US9963002B2 (en) 2013-12-18 2018-05-08 Infineon Technologies Ag Pressure module, transceiver module, control module, methods and computer programs for providing information related to a tire pressure
US10243724B2 (en) 2014-02-12 2019-03-26 Infineon Technologies Ag Sensor subassembly and method for sending a data signal
DE102014101754B4 (de) * 2014-02-12 2015-11-19 Infineon Technologies Ag Ein sensorbauteil und verfahren zum senden eines datensignals
WO2016073588A1 (en) 2014-11-04 2016-05-12 Cummins Inc. Systems, methods, and apparatus for operation of dual fuel engines
CN108668415B (zh) * 2017-03-28 2020-06-16 杭州海康威视数字技术股份有限公司 智能照明设备的模式切换方法及装置
US10644816B2 (en) * 2018-06-19 2020-05-05 Nxp B.V. Narrow band received signal strength indicator system
CN109088621B (zh) * 2018-07-27 2022-07-05 天津经纬恒润科技有限公司 一种信号滤波方法及装置
WO2021024313A1 (ja) * 2019-08-02 2021-02-11 三菱重工エンジン&ターボチャージャ株式会社 内燃機関及び発電システム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004117273A (ja) * 2002-09-27 2004-04-15 Denso Corp デジタルフィルタ処理装置
JP2004309267A (ja) * 2003-04-04 2004-11-04 Denso Corp ノッキング検出装置
JP2005220796A (ja) * 2004-02-04 2005-08-18 Denso Corp 燃焼圧信号処理装置

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5637535A (en) * 1979-09-05 1981-04-11 Nippon Soken Inc Knocking detector
US4821194A (en) * 1985-10-22 1989-04-11 Nissan Motor Company, Limited Cylinder combustion monitoring apparatus
JPH02259444A (ja) * 1989-03-30 1990-10-22 Fuji Heavy Ind Ltd 多気筒型エンジンのノック検出装置
JP2763804B2 (ja) 1989-09-29 1998-06-11 富士重工業株式会社 エンジンのノック検出装置
JPH03294644A (ja) * 1990-04-10 1991-12-25 Nippondenso Co Ltd 内燃機関用点火時期制御装置
ES2068283T3 (es) * 1990-05-28 1995-04-16 Siemens Ag Procedimiento para la regulacion selectiva de cilindro del picado de motores de combustion interna.
JPH05125987A (ja) 1991-10-29 1993-05-21 Nippondenso Co Ltd エンジン制御装置
JPH05141305A (ja) * 1991-11-20 1993-06-08 Hitachi Ltd 内燃機関のノツク制御装置
JPH06193540A (ja) * 1992-10-12 1994-07-12 Nippondenso Co Ltd 内燃機関のノック制御装置
JP3538867B2 (ja) * 1993-03-19 2004-06-14 株式会社デンソー 内燃機関用a/d変換制御装置
JPH07110795A (ja) 1993-10-14 1995-04-25 Fujitsu Ltd シリアル通信方式
JPH07250069A (ja) 1994-03-08 1995-09-26 Nikon Corp 双方向シリアル通信機能を有する制御機器及びシリアルポート用アダプタ
JPH07288516A (ja) 1994-04-15 1995-10-31 Fujitsu Ltd シリアルデータ送受信回路
JPH07297790A (ja) 1994-04-28 1995-11-10 Alps Electric Co Ltd 半二重通信方式のシリアル通信回路および通信システム
JPH08123594A (ja) 1994-10-25 1996-05-17 Mitsubishi Electric Corp シリアル信号伝送システム
JP3054919B2 (ja) * 1994-11-29 2000-06-19 株式会社ユニシアジェックス 内燃機関のノッキング検出装置
JPH08307478A (ja) 1995-04-28 1996-11-22 Nippondenso Co Ltd シリアル通信装置
JPH08335127A (ja) 1995-06-08 1996-12-17 Ricoh Co Ltd データ転送方式
JP3351214B2 (ja) 1996-01-19 2002-11-25 富士通株式会社 制御情報伝送方法
JPH09326782A (ja) 1996-06-06 1997-12-16 Toshiba Microelectron Corp シリアル通信方法
JPH10224425A (ja) 1997-01-31 1998-08-21 Canon Inc シリアル通信システム
TW391116B (en) * 1998-07-24 2000-05-21 Koninkl Philips Electronics Nv High-speed serial data communication system
JP2000196682A (ja) 1998-12-25 2000-07-14 Canon Inc シリアル通信装置および方法
JP2003143898A (ja) 2001-11-01 2003-05-16 Canon Inc シリアル通信方式
JP4134797B2 (ja) 2003-04-14 2008-08-20 株式会社デンソー ノッキング検出装置
JP4928715B2 (ja) 2004-05-07 2012-05-09 株式会社リコー シリアルデータ転送装置、画像出力装置、画像入力装置及び画像形成装置
JP4259449B2 (ja) 2004-10-15 2009-04-30 株式会社デンソー 信号処理装置
JP4375331B2 (ja) * 2005-12-26 2009-12-02 株式会社デンソー ノックセンサ信号処理装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004117273A (ja) * 2002-09-27 2004-04-15 Denso Corp デジタルフィルタ処理装置
JP2004309267A (ja) * 2003-04-04 2004-11-04 Denso Corp ノッキング検出装置
JP2005220796A (ja) * 2004-02-04 2005-08-18 Denso Corp 燃焼圧信号処理装置

Also Published As

Publication number Publication date
US20070175268A1 (en) 2007-08-02
US7578282B2 (en) 2009-08-25
JP2007198305A (ja) 2007-08-09

Similar Documents

Publication Publication Date Title
JP4605035B2 (ja) ノックセンサ信号処理装置
JP4375331B2 (ja) ノックセンサ信号処理装置
JP2005167972A (ja) A/d変換処理装置、その使用方法及び電子制御装置
JP6874647B2 (ja) 送受信制御装置
JP5365551B2 (ja) 内燃機関制御装置
JP2006161645A (ja) パワートレイン制御用センサ信号処理装置
JP4259449B2 (ja) 信号処理装置
JP6747346B2 (ja) エンジン制御装置及び電子制御装置
JP4525799B2 (ja) エンジン制御装置
JPH02203237A (ja) 内燃機関のノッキング検出装置
JP2018053748A (ja) ノッキング検出装置
JP2000253094A (ja) シリアル通信方法及びシリアル通信装置
JP4186655B2 (ja) ノックセンサの異常検出装置および異常検出方法
JP5948230B2 (ja) 車載制御装置
JP4508072B2 (ja) シリアル通信回路及びa/d変換システム
JP3916024B2 (ja) 多重通信装置におけるデータ破壊防止方法
JPH07312627A (ja) 2cpu間のシリアル通信によるデータ転送方法
US7336209B2 (en) Method and device for data transmission
JP2004346746A (ja) 車両制御システムの異常検出装置
JP3458509B2 (ja) ノック制御装置
JP3054919B2 (ja) 内燃機関のノッキング検出装置
JPH05248305A (ja) ノッキング制御装置
US5062402A (en) Knocking control apparatus of internal combustion engine
JP2601828Y2 (ja) 車両用制御システム
JP2007088759A (ja) ワンショットパルス発生回路

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080213

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100226

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100518

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: 20100907

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100920

R151 Written notification of patent or utility model registration

Ref document number: 4605035

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131015

Year of fee payment: 3

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

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

LAPS Cancellation because of no payment of annual fees