(57)【特許請求の範囲】
【請求項１】
エンジンの回転に同期して、エンジン制御用の演算処理を行う演算処理手段と、
該演算処理手段が演算処理を行うのに必要なアナログ信号を外部装置から取り込み、ＡＤ変換するＡＤ変換手段と、
を備え、
前記ＡＤ変換手段には、前記エンジンの回転に同期した所定の通信期間中に、前記アナログ信号のＡＤ変換結果を送信データとして、所定の送信タイミングで順次前記演算処理手段に送信する第１通信手段が設けられ、
前記演算処理手段には、前記第１通信手段からの送信データを受信する第２通信手段が設けられたエンジン制御装置において、
前記ＡＤ変換手段には、更に、
前記通信期間中に前記第１通信手段が送信した送信データのデータ化けを検出するためのチェックデータを生成するチェックデータ生成手段と、
該チェックデータ生成手段にて生成されたチェックデータを、次の通信期間の先頭データとして、前記演算処理手段に送信するチェックデータ送信手段と、
を設け、
前記演算処理手段には、
前記第２通信手段が前記通信期間の開始直後に受信した先頭データであるチェックデータに基づき、前回の通信期間中に前記ＡＤ変換手段から取得したデータが正常であるか否かを判定する判定手段を設けたことを特徴とするエンジン制御装置。
【請求項２】
前記ＡＤ変換手段は、複数のアナログ信号の一つを選択的に取り込む信号選択手段を備え、
前記第２通信手段は、前記通信期間の開始直後に、先頭データとして、前記信号選択手段が取り込むアナログ信号を切り替える切替コマンドを送信し、
前記第１通信手段は、前記第２通信手段から前記通信期間の先頭データとして送信された切替コマンドに従い、前記信号選択手段が取り込むアナログ信号を切り換えることを特徴とする請求項１に記載のエンジン制御装置。
【請求項３】
前記演算処理手段には、前記第２通信手段が前記第１通信手段から取得したＡＤ変換結果であるデジタルデータをデジタル処理するデジタル処理手段が設けられていることを特徴とする請求項２に記載のエンジン制御装置。
【請求項４】
前記第２通信手段は、前記通信期間の間、前記第１通信手段に対し、前記ＡＤ変換結果の送信要求を含む要求コマンドを所定の送信タイミングで順次送信し、
前記第１通信手段は、前記第２通信手段から送信された要求コマンドを受信すると、次の送信タイミングで、該要求コマンドに対応した応答データを、前記第２通信手段に送信することを特徴とする請求項１〜請求項３の何れかに記載のエンジン制御装置。
【請求項５】
前記通信期間は、エンジンの所定の回転角度範囲として設定されていることを特徴とする請求項１〜請求項４の何れかに記載のエンジン制御装置。
【請求項６】
前記演算処理手段は、エンジンの回転に基づき前記通信期間を設定して、該通信期間の間、前記第２通信手段から、前記ＡＤ変換手段の第１通信手段にチップセレクト信号を出力するよう構成されており、
前記ＡＤ変換手段の第１通信手段は、前記チップセレクト信号から通信期間を検知して、前記先頭データとしてのチェックデータの送信を開始することを特徴とする請求項１〜請求項５の何れかに記載のエンジン制御装置。
【請求項７】
前記第１通信手段は、前記第２通信手段に対し、バス通信によりＡＤ変換結果を送信することを特徴とする請求項１〜請求項６の何れかに記載のエンジン制御装置。
【請求項８】
前記第１通信手段は、前記第２通信手段に対しシリアル伝送用の２本の通信線を介してＡＤ変換結果を送信することを特徴とする請求項１〜請求項６の何れかに記載のエンジン制御装置。
【請求項９】
前記チェックデータは、前回の通信期間中に前記第１通信手段が前記第２通信手段に送信した送信データの加算値であることを特徴とする請求項１〜請求項８の何れかに記載のエンジン制御装置。
【請求項１０】
前記チェックデータは、予め設定された値から、前回の通信期間中に前記第１通信手段が前記第２通信手段に送信した送信データの加算値を減じた値であることを特徴とする請求項１〜請求項８の何れかに記載のエンジン制御装置。
【請求項１１】
前記チェックデータは、巡回冗長検査用のＣＲＣデータであることを特徴とする請求項１〜請求項８の何れかに記載のエンジン制御装置。
【請求項１２】
前記ＡＤ変換手段は、前記アナログ信号として、エンジンに設けられたノックセンサからの検出信号を取り込み、ＡＤ変換することを特徴とする請求項１〜請求項１１の何れかに記載のエンジン制御装置。
【請求項１３】
前記演算処理手段は、前記判定手段にて、前回の通信期間中に前記ＡＤ変換手段から取得したデータに異常があると判定されると、前回の通信期間中に取得したデータを破棄することを特徴とする請求項１〜請求項１２の何れかに記載のエンジン制御装置。
【請求項１４】
前記演算処理手段は、前記判定手段にて、通信期間中に取得したデータの異常が複数回連続して判定されると、当該エンジン制御装置に異常が生じたと判断して、異常を通知し、エンジンを安全側に動作させるフェールセーフ処理を行うことを特徴とする請求項１〜請求項１３の何れかに記載のエンジン制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、エンジン制御用の演算処理を行う演算処理部と、この演算処理部での演算処理に必要なアナログ信号（センサ信号等）をＡＤ変換して取り込むＡＤ変換部と備えたエンジン制御装置に関する。
【背景技術】
【０００２】
従来、車両用の制御装置として、センサ信号を取り込み、その取り込んだセンサ信号から制御対象の制御情報を算出する演算用ＥＣＵ（ＥＣＵ：電子制御ユニット）と、演算用ＥＣＵにて算出された制御情報に従い制御対象を駆動する駆動用ＥＣＵとから構成され、これら各ＥＣＵを通信路を介して接続することにより、演算用ＥＣＵから駆動用ＥＣＵへと制御情報を送信するようにしたものが知られている。
【０００３】
また、この種の制御装置においては、制御情報の送信時に、ノイズ等によって制御情報にデータ化けが生じると、駆動用ＥＣＵにて制御対象を正常に駆動できなくなることから、演算用ＥＣＵでは、制御情報を送信する際に、送信フレームのデータの最後に合計値（サムチェック値）を付加し、駆動用ＥＣＵでは、受信したデータとサムチェック値が一致しているかを確認し、一致していれば受信データは有効であるとし、不一致であれば受信データを破棄する、といった手順で、制御情報の異常判定を行うことが提案されている（例えば、特許文献１等、参照）。
【特許文献１】特開２００１−２６５４０２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、上記演算用ＥＣＵのように、センサ信号を取り込み、制御用の演算処理を行う制御装置には、センサ信号をＡＤ変換し、そのＡＤ変換結果（デジタルデータ）を、ＣＰＵ等からなる演算処理部へ送信するＡＤ変換器が設けられている。そして、この種の制御装置では、ＡＤ変換器から演算処理部へのＡＤ変換結果の伝送経路で、ＡＤ変換結果にデータ化けが生じることがある。
【０００５】
このようにＡＤ変換結果にデータ化けが生じた場合には、演算処理部側でその旨を検出して、制御量等の演算に、データ化けが生じたＡＤ変換結果を使用しないようにすればよく、このためには、上記特許文献１の技術を、ＡＤ変換器から演算処理部へのデータ伝送に適用すればよい。
【０００６】
つまり、ＡＤ変換器側では、ＡＤ変換結果を送信しているときに送信データを順次加算し、ＡＤ変換結果の送信終了時にその加算結果をチェックデータとして送信するようにし、演算処理部側では、ＡＤ変換器からの送信データの受信中にはその受信データを順次加算し、その後、チェックデータを受信すると、受信データの加算結果とチェックデータとを比較することで、受信データの異常判定を行うようにするのである。
【０００７】
そして、このようにすれば、演算処理部側でＡＤ変換結果の異常を判定して、そのＡＤ変換結果に基づき制御量等を演算するのを防止できる。
一方、車両用の制御装置の内、エンジンの燃料噴射量や点火時期等を制御するエンジン制御装置においては、エンジンの回転に同期して制御を行うため、センサ信号も、エンジンの回転に同期して、所定の回転角度範囲で取得することがある。
【０００８】
例えば、エンジン各気筒（＃）の点火順序が、＃１→＃２→＃３→＃４・・・である場合、＃１の点火ＴＤＣ〜＃２の点火ＴＤＣの角度までの区間では、第１センサの信号をＡＤ変換し、次の＃２の点火ＴＤＣ〜＃３の点火ＴＤＣの区間では、第２センサの信号をＡＤ変換する、というように、複数のセンサからの信号を、エンジンの所定の回転角度範囲毎に切り替えてＡＤ変換することがある。
【０００９】
このように複数のセンサ信号をエンジンの所定の回転角度範囲毎にＡＤ変換する場合、ＡＤ変換器でのＡＤ変換自体は、一定周波数のクロック信号に同期して実行されることから、各センサ信号に割り当てられた回転角度範囲内でＡＤ変換されて演算処理部に送信されるＡＤ変換結果の個数は、エンジンの回転速度に応じて変化し、ＡＤ変換器からのＡＤ変換結果の送信終了タイミング（時刻）も、エンジンの回転速度に応じて変化する。
【００１０】
このため、エンジン制御装置においては、特許文献１に記載の技術を適用しても、演算処理部側で、ノイズ等によるＡＤ変換結果のデータ化けを検出することができないという問題があった。
【００１１】
つまり、エンジン制御装置においては、ＡＤ変換器から演算処理部にＡＤ変換結果を送信し得る通信時間が、エンジンの回転速度によって変化し、ＡＤ変換器側では、ＡＤ変換結果の送信終了タイミングを特定できないことから、センサ信号の送信用に割り当てられた通信期間中にチェックデータを送信することができず、演算処理部側では、そのチェックデータを利用してＡＤ変換結果のデータ化けを検出することができないという問題があった。
【００１２】
また、演算処理部側でＡＤ変換結果のデータ化けを検出できるようにするために、ＡＤ変換器側では、ＡＤ変換結果の送信終了後に連続してチェックデータを送信することも考えられるが、このような対策では、ＡＤ変換器がＡＤ変換するセンサ信号を切り替えるタイミングが遅れてしまい、センサ信号のＡＤ変換の開始、延いては、ＡＤ変換結果の送信開始が遅れるという問題がある。
【００１３】
そして、特に、エンジンの回転速度が高く、センサ毎に割り当てられる通信時間が短い場合には、センサ信号の切り替え後、センサ信号をＡＤ変換してＡＤ変換結果を送信するのに要する時間を確保することができず、ＡＤ変換器から演算処理部にＡＤ変換結果を送信することができなくなることも考えられる。
【００１４】
本発明は、こうした問題に鑑みなされたものであり、センサ信号等をＡＤ変換して演算処理部に送信するＡＤ変換器を備えたエンジン制御装置において、ＡＤ変換器でのＡＤ変換動作（開始タイミング等）に影響を与えることなく、演算処理部にチェックデータを送信して、ＡＤ変換結果のデータ化けを検出できるようにすることを目的とする。
【課題を解決するための手段】
【００１５】
かかる目的を達成するためになされた請求項１に記載のエンジン制御装置には、エンジンの回転に同期してエンジン制御用の演算処理を行う演算処理手段と、演算処理手段が演算処理を行うのに必要なアナログ信号を外部装置から取り込みＡＤ変換するＡＤ変換手段とが備えられている。
【００１６】
また、ＡＤ変換手段には、エンジンの回転に同期した所定の通信期間中に、ＡＤ変換結果を送信データとして、所定の送信タイミングで順次送信する第１通信手段が設けられ、演算処理手段には、第１通信手段からの送信データを受信する第２通信手段が設けられている。
【００１７】
そして、ＡＤ変換手段側では、チェックデータ生成手段が、第１通信手段が通信期間中に送信した送信データのデータ化けを検出するためのチェックデータを生成し、チェックデータ送信手段が、その生成されたチェックデータを、次の通信期間の先頭データとして演算処理手段に送信し、演算処理手段側では、判定手段が、第２通信手段が通信期間の開始直後に受信した先頭データであるチェックデータに基づき、前回の通信期間中にＡＤ変換手段から取得したデータが正常であるか否かを判定する。
【００１８】
つまり、本発明のエンジン制御装置においては、ＡＤ変換手段側の第１通信手段がＡＤ変換結果を送信する際、チェックデータ生成手段が、送信データのデータ化けを検出するためのチェックデータを生成するが、その生成したチェックデータは、ＡＤ変換結果の送信が終了する通信期間の最後に送信するのではなく、その後、ＡＤ変換結果の送信を開始する次の通信期間の最初に先頭データとして送信する。
【００１９】
このため、エンジンの回転速度が高くなって、ＡＤ変換結果の送信に利用可能な通信期間が短くなっても、ＡＤ変換手段から演算処理手段には、前回の通信期間中に送信した送信データのデータ化けを判定するためのチェックデータを確実に送信することができる。また、ＡＤ変換手段側では、チェックデータの送信開始と同時に、アナログ信号のＡＤ変換を開始することができることから、チェックデータの送信によりＡＤ変換の開始タイミングが遅れることはない。
【００２０】
よって、本発明のエンジン制御装置によれば、通信期間中にＡＤ変換手段から送信するＡＤ変換結果のデータ数を減らすことなく、ＡＤ変換手段から演算処理手段へとチェックデータを確実に送信して、演算処理手段側で受信データが正常か否かを判定できるようになり、延いては、エンジンの制御性及び信頼性を高めることができる。
【００２１】
ここで、ＡＤ変換手段と演算処理手段とは、１本の通信線にて接続し、ＡＤ変換手段から演算処理手段へＡＤ変換結果等のデータを一方向に送信するようにしてもよく、或いは、ＡＤ変換手段と演算処理手段とを、２本の通信線にて接続することで、双方向通信できるようにしてもよい。
【００２２】
そして、このようにＡＤ変換手段と演算処理手段とを双方向通信可能に接続する場合には、請求項２に記載のように、ＡＤ変換手段に、複数のアナログ信号の一つを選択的に取り込む信号選択手段を設け、第１通信手段が、第２通信手段から送信される切り替えコマンドに従い、信号選択手段が取り込むアナログ信号を切り換えるようにするとよい。
【００２３】
つまり、このようにすれば、ＡＤ変換手段にてＡＤ変換されるアナログ信号を切り替えつつ、複数のアナログ信号を演算処理手段に入力することができるようになり、ＡＤ変換手段を有効に利用することができる。
【００２４】
また、第２通信手段は、通信期間の開始直後に、先頭データとして、切替コマンドを送信することから、第２通信手段が切替コマンドを送信するタイミングと、第１通信手段がチェックデータを送信するタイミングとが一致する。
【００２５】
このため、第２通信手段が切替コマンドを送信することによって、第１通信手段がチェックデータを送信するタイミングが遅れ、ＡＤ変換手段から演算処理手段へのＡＤ変換結果の送信可能時間が短くなるようなことはない。
【００２６】
また、このように、演算処理手段から切替コマンドを送信することにより、ＡＤ変換手段がＡＤ変換を行うアナログ信号を切り替えるようにした場合、ＡＤ変換手段側では、通信期間毎に、ＡＤ変換対象となるアナログ信号を速やかに切り替え、そのＡＤ変換及びＡＤ変換結果の送信を開始することができる。
【００２７】
このため、請求項３に記載のように、演算処理手段に、第２通信手段が第１通信手段から取得したＡＤ変換結果であるデジタルデータをデジタル処理するデジタル処理手段が設けられている場合には、通信期間の開始後、デジタル処理手段の出力が安定するまでの時間を確保し易くなり、演算処理手段側での演算処理をより安定して行うことができるようになる。
【００２８】
一方、ＡＤ変換手段と演算処理手段とを双方向通信可能に接続する場合には、請求項４に記載のように、第２通信手段は、通信期間の間、第１通信手段に対し、ＡＤ変換結果の送信要求を含む（上述した請求項２，３のエンジン制御装置では切替コマンドも含む）要求コマンドを所定の送信タイミングで順次送信し、第１通信手段は、第２通信手段から送信された要求コマンドを受信すると、次の送信タイミングで、その要求コマンドに対応した応答データを第２通信手段に送信するようにしてもよい。
【００２９】
そして、このようにしても、ＡＤ変換手段側の第１通信手段は、第２通信手段が通信期間の最初に先頭データとして要求コマンドを送信しているとき（換言すれば応答データの送信が不要なとき）に、チェックデータを送信することから、通信期間内で応答データを送信可能な時間を短くすることなく、チェックデータを送信することができ、演算処理手段側では、そのチェックデータに基づき、前回の通信期間中に受信した受信データが正常か否かを判定することができるようになる。
【００３０】
なお、本発明（請求項１〜４）において、第１通信手段がチェックデータやＡＤ変換結果を送信する通信期間は、エンジンの回転に同期して設定されるものであるが、この通信期間は、請求項５に記載のように、エンジンの所定の回転角度範囲として設定しておけば、エンジンの回転に基づき極めて簡単に設定できる。
【００３１】
そして、本発明では、この通信期間の最後にチェックデータを送信するのではなく、次の通信期間の最初の先頭データとしてチェックデータを送信することから、チェックデータの送信タイミングも極めて簡単に設定することができる。
【００３２】
また、第１通信手段は、エンジンの回転に同期して設定される通信期間の最初に、先頭データとしてチェックデータを送信することから、第１通信手段から速やかにチェックデータを送信させるには、第１通信手段に、通信期間の開始を表す信号を入力する必要があるが、この信号には、請求項６に記載のように、演算処理手段から出力されるチップセレクト信号を利用するとよい。
【００３３】
つまり、請求項６に記載のエンジン制御装置において、演算処理手段は、エンジンの回転に基づき通信期間を設定して、その通信期間の間、ＡＤ変換手段にチップセレクト信号を出力することから、第１通信手段は、そのチップセレクト信号から通信期間を検知して、チェックデータの送信を開始することができる。そして、このようにすれば、第１通信手段に通信期間を通知するための通信線を別途設ける必要がないので、本発明のエンジン制御装置をより簡単に構成できることになる。
【００３４】
また次に、第１通信手段がＡＤ変換結果やチェックデータを第２通信手段に送信する際には、シリアル通信用の通信線を介してシリアルデータを送信するようにしてもよいが、請求項７に記載のように、第１通信手段を、バス通信によりＡＤ変換結果を送信するように構成してもよい。そして、このようにすれば、通信期間中に第１通信手段から第２通信手段に送信可能なデータ量（ＡＤ変換結果）を増加することができる。
【００３５】
また、第１通信手段がＡＤ変換結果等をシリアル通信によって送信する場合には、請求項８に記載のように、シリアル伝送用の通信線を複数本設け、ＡＤ変換結果をその複数の通信線を使ってシリアル伝送するようにしてもよい。
【００３６】
そして、このようにすれば、シリアル伝送用の通信クロック周波数を上げることなく、通信期間中に送信可能なデータ量（ＡＤ変換結果）を増加させることができる。また、通信クロック周波数を上げると、データ化けの原因となるラジオノイズが発生し易くなるが、請求項８に記載のエンジン制御装置では、通信期間中に送信可能なデータ量を増加させるために通信クロック周波数を上げる必要がないので、送信データのロバスト性を確保することができる。
【００３７】
一方、通信期間の先頭データとして第１通信手段から第２通信手段に送信されるチェックデータとしては、請求項９に記載のように、前回の通信期間中に第１通信手段が第２通信手段に送信した送信データの加算値（ＳＵＭ値）を設定してもよく、或いは、請求項１０に記載のように、予め設定された値からその加算値（ＳＵＭ値）を減じた減算値を設定してもよく、或いは、請求項１１に記載のように、巡回冗長検査用のＣＲＣ（Cyclic Redundancy Check ）データを設定してもよい。
【００３８】
そして、請求項９に記載のように、チェックデータとして加算値を使用するようにした場合には、ＡＤ変換手段側でチェックデータを生成するチェックデータ生成手段、及び、演算処理手段側でチェックデータと受信データとを比較する判定手段を、簡単に構成できることになる。
【００３９】
また、請求項１０に記載のように、チェックデータとして減算値を使用するようにした場合には、単に加算値を使用する場合に比べて、構成が複雑になるが、演算処理手段側で受信データの異常をより正確に判定できるようになる。
【００４０】
つまり、通信異常により、データが全て０となった場合、加算値（ＳＵＭ値）も０となって、受信データは正常と判断されてしまうが、減算値を使用すれば、通信異常によりデータが全て０となっても、減算値は一致しないので、受信データの異常をより確実に判定できるようになる。
【００４１】
また、請求項１１に記載のように、チェックデータとしてＣＲＣデータを使用するようにした場合には、例えば、あるビットが０→１に化け、あるビットが１→０に化けた場合のように、加算値（ＳＵＭ値）や設定値から加算値（ＳＵＭ値）を減じた減算値では検出できない異常が生じたときにでも、ＣＲＣデータを使って異常を判定できるようになる。
【００４２】
次に、ＡＤ変換手段がＡＤ変換するアナログ信号は、エンジンに設けられたセンサからの検出信号（センサ信号）等、エンジン制御に用いられるアナログ信号であれば何でもよいが、例えば、請求項１２に記載のように、ＡＤ変換手段が、エンジンに設けられたノックセンサからの検出信号を取り込み、ＡＤ変換するように構成されている場合には、信頼性の高いノック制御を行うことができるようになる。
【００４３】
また、演算処理手段は、請求項１３に記載のように、判定手段にて、前回の通信期間中にＡＤ変換手段から取得したデータに異常があると判定された際には、その通信期間中に取得したデータを破棄するようにするとよい。
【００４４】
そして、このようにすれば、ＡＤ変換手段から演算処理手段へのＡＤ変換結果がノイズ等でデータ化けした際に、誤ったＡＤ変換結果に従いエンジンが誤制御されるのを防止できる。例えば、ＡＤ変換手段がノックセンサからの検出信号をＡＤ変換する場合には、演算処理手段側でエンジンのノックを誤検出して、点火時期が誤制御されるのを防止できる。
【００４５】
また、演算処理手段は、請求項１４に記載のように、判定手段にてデータの異常が複数回連続して判定された際には、エンジン制御装置に異常が生じたと判断して、異常を通知し、エンジンを安全側に動作させるフェールセーフ処理を行うようにしてもよい。
【００４６】
そしてこのようにすれば、エンジン制御装置の異常時に、その旨を速やかに通知して、エンジンの運転状態を安全側に移行させることができ、エンジン制御装置の信頼性を向上することができる。
【発明を実施するための最良の形態】
【００４７】
以下に本発明の実施形態を図面と共に説明する。
［エンジンＥＣＵ全体の構成］
図１は本発明が適用された実施形態のエンジンＥＣＵ１０の主要部の構成を表すブロック図である。
【００４８】
エンジンＥＣＵ１０は、エンジン（詳しくはガソリンエンジン）に設けられた各種センサ（図示せず）からの検出信号（回転速度、吸気管圧力、スロットル開度、冷却水温等の検出信号）に基づき、エンジン各気筒への燃料噴射量や点火時期等を制御するエンジン制御装置であり、燃料噴射量や点火時期等の制御量を演算するマイクロコンピュータ（以下単にマイコンという）３０を中心に構成されている。
【００４９】
また、制御対象となるエンジンは、例えばＶ型６気筒エンジンであり、左右バンク毎にノックセンサ１，２が設けられている。各ノックセンサ１，２は、コネクタ１６を介してエンジンＥＣＵ１０に接続されており、エンジンＥＣＵ１０には、ノックセンサ１，２からの検出信号（ノック信号）を取り込むための入力回路１１，１２、及び、各入力回路１１，１２から入力されたノック信号をＡＤ変換するＡＤ変換器２０が設けられている。
【００５０】
そして、マイコン３０は、エンジンの回転速度、吸気管圧力等に基づき各気筒＃１，＃２，…の点火時期を算出し、その算出した点火時期に応じて、各気筒＃１，＃２，…の点火装置３，４，…を、点火出力ドライバ１３，１４，…を介して駆動することで、各気筒＃１，＃２，…の点火時期を制御する点火時期制御を実行すると共に、ＡＤ変換器２０によるノック信号のＡＤ変換結果（デジタルデータ）に基づきノッキングの有無を判定し、ノッキング発生時には点火時期を遅角することでノッキングの発生を抑制する、ノック制御を実行する。
【００５１】
ここで、入力回路１１，１２は、ノックセンサ１，２からの入力信号のうち、ノッキングに対応した高周波信号成分を通過させ、直流成分を含む不要な低周波信号成分を除去するためのものであり、ノック信号の入力経路に直列に設けられた抵抗Ｒ１，コンデンサＣ１，抵抗Ｒ２と、ＡＤ変換器側の入力経路とグランドラインとの間に設けられた抵抗Ｒ３とから構成されている。
【００５２】
また、ＡＤ変換器２０は、これら各入力回路１１，１２を介して入力される２つのノック信号の一方を選択的にＡＤ変換するためのものであり、ノックセンサ１，２からのノックセンサの一方を選択するマルチプレクサ（以下、ＭＰＸともいう）２２と、マルチプレクサ２２にて選択されたノック信号をＡＤ変換するＡＤ変換回路（以下、ＡＤＣともいう）２４と、ＡＤＣ２４によるノック信号のＡＤ変換結果（以下、ＡＤ値ともいう）をマイコン３０に送信する通信制御回路２６と、を備える。
【００５３】
一方、マイコン３０には、エンジン制御のための各種演算処理を実行するためのＣＰＵ３２に加えて、ＡＤ変換器２０の通信制御回路２６との間で通信を行うための通信制御回路３４や、通信制御回路３４がＡＤ変換器２０から取得したＡＤ値をデジタル処理（デジタルフィルタ処理、ピークホールド処理、積算処理等）することで、ノック信号成分を抽出するデジタル処理回路３６が設けられている。
［ＡＤ変換器とマイコンとの通信動作］
そして、ＡＤ変換器２０側の通信制御回路２６は、図２に示すように、マイコン３０側の通信制御回路３４から、チップセレクト信号ＣＳ（ローアクティブ）及びクロック信号ＣＬＫ（図５参照）を受けることにより動作し、その動作中（換言すれば通信期間中）は、マイコン３０側の通信制御回路３４から送信（図２に示すＴＸ）された要求コマンドを受信し、その要求コマンドに対応した応答データを返信（図２に示すＲＸ）する。
【００５４】
すなわち、まず、本実施形態では、マイコン３０内のＣＰＵ３２が、エンジン各気筒＃１，＃２，…の点火上死点（ＴＤＣ：０°ＣＡ）から所定回転角度（例えば９０°ＣＡ）までのゲート区間内に得られたＡＤ値（詳しくはデジタル処理回路３６によるデジタル処理結果）に基づき、ノッキングの有無を判定する。なお、エンジン各気筒＃１，＃２，…の点火上死点（ＴＤＣ）は、図示しない回転角センサから所定回転角度毎（例えば３０°ＣＡ毎）に出力される回転角信号ＮＥに基づき検出される。
【００５５】
このため、マイコン３０側の通信制御回路３４は、各気筒＃１，＃２，…のゲート区間（０°ＣＡ〜９０°ＣＡ）が終了すると、チップセレクト信号ＣＳをハイレベルにして、ＡＤ変換器２０の動作を一旦停止させ、その後、チップセレクト信号ＣＳをローレベルにすることで、ＡＤ変換器２０を起動する。
【００５６】
そして、チップセレクト信号ＣＳをローレベルにした直後には、要求コマンド（図に示すＴＸ）として、ノック信号の切替コマンドを送信することで、ＡＤ変換器２０のＭＰＸ２２が選択するノック信号を切り替え、その後は、ゲート区間が終了するまで、一定時間間隔で設定される送信タイミング毎に、ＡＤ変換結果の要求コマンド（ＡＤ要求コマンド）を送信する。
【００５７】
なお、ＭＰＸ２２は、例えば、気筒＃１，＃３のゲート区間では、ノックセンサ１からのノック信号を選択し、気筒＃２のゲート区間では、ノックセンサ２からのノック信号を選択することで、選択したノック信号に基づき、エンジンの各バンクで生じたノッキングを検出できるようにする。
【００５８】
一方、ＡＤ変換器２０側の通信制御回路２６は、マイコン３０側の通信制御回路３４から送信された切替コマンドを受信すると、ＭＰＸ２２にノック信号の切り替えを指示し、次の送信タイミングで、ノック信号を切り替えた旨を表す応答データを送信する（図２に示すＲＸ参照）。
【００５９】
また、ＡＤ変換器２０側の通信制御回路２６は、マイコン３０側の通信制御回路３４から送信されたＡＤ要求コマンドを受信すると、ＡＤＣ２４からノック信号をＡＤ変換したデジタルデータ（つまりＡＤ値）を取り込み、次の送信タイミングでＡＤ値を送信する（図２に示すＲＸ参照）。
【００６０】
すると、マイコン３０側の通信制御回路３４は、ＡＤ変換器２０側から送信されてきた応答データのうち、ＡＤ値をデジタル処理回路３６に出力することで、ＡＤ値をデジタル処理させる。
【００６１】
そして、ＣＰＵ３２は、各気筒＃１，＃２，…の点火上死点（ＴＤＣ）毎に、次の点火気筒＃２，＃３，…の点火時期（ＩＧＴ）を算出するＴＤＣ処理を実行し、その算出した点火タイミングで点火するよう、点火装置３，４，…を駆動する。なお、このＴＤＣ処理では、前回のゲート区間内に得られたデジタル処理結果に基づきノック判定を行い、ノッキング発生時には点火時期を遅角するノック制御も実行する。
【００６２】
また、ＡＤ変換器２０側の通信制御回路２６は、切替コマンド及びＡＤ要求コマンドに対応する応答データ及びＡＤ値を送信した際には、その送信データを順次加算することで、通信異常判定用のチェックデータである加算値（ＳＵＭ値）を算出する。
【００６３】
そして、その後、チップセレクト信号ＣＳがハイレベルに切り替えられて、再度ローレベルへ切り替えられると、前回の通信期間中に算出したＳＵＭ値を先頭データとして、マイコン３０側に送信する。
【００６４】
なお、このＳＵＭ値は、マイコン３０側のＣＰＵ３２がＴＤＣ処理を実行する際、前回の通信期間中にＡＤ変換器２０から受信した受信データの加算値と比較することで、その受信データは正常であるか否かを判定するのに用いられ、ＣＰＵ３２は、受信データに異常があると判定すると、デジタル処理回路３６で前回のゲート区間内にデジタル処理されたデータを破棄し、ノック判定の実行を禁止する。
【００６５】
次に、上記のように要求コマンドや応答データの送受信を行う通信制御回路２６、３４の構成について説明する。
［マイコン側通信制御回路の構成及び動作］
まず、図３は、マイコン３０に設けられた通信制御回路３４の構成を表すブロック図である。
【００６６】
図３に示すように、通信制御回路３４は、内部バス・インターフェース５０を介してＣＰＵ３２の内部バスに接続されている。
そして、この通信制御回路３４には、ＡＤ変換器２０に送信する切替コマンド及びＡＤ要求コマンドを一時記憶しておくための切替コマンド設定レジスタ５２及びＡＤ要求コマンド設定レジスタ５４と、これら各設定レジスタ５２、５４に記憶された要求コマンド（切替コマンド、ＡＤ要求コマンド）をＡＤ変換器２０へ送信すると共に、ＡＤ変換器２０からの送信データを受信するためのシフトレジスタ５６と、このシフトレジスタ５６から受信データを取り込み、一時記憶するための受信データレジスタ５８と、要求コマンドの送信後にＡＤ変換器２０から送信された応答データ（切替コマンドに対応する応答データ、ＡＤ値）を受信データレジスタ５８から取り込み、その加算値（ＳＵＭ値）を算出してＳＵＭ結果レジスタ６６に記憶するＳＵＭ演算部６４と、これら各レジスタ間での送／受信データの転送を制御する転送制御回路６０と、が設けられている。
【００６７】
なお、マイコン３０とＡＤ変換器２０との間で送受信される要求データ及び応答データのデータ長は、１６ビットに設定されており、送受信に用いられるシフトレジスタ５６には、１６ビット・シフトレジスタが使用されている。
【００６８】
転送制御回路６０は、マイコン３０内に設けられた図示しない発振器から通信用のクロック信号ＣＬＫを受けて動作し、このクロック信号ＣＬＫ所定個分の一定時間間隔で設定される送信タイミングで、切替コマンド設定レジスタ５２及びＡＤ要求コマンド設定レジスタ５４に記憶された各種要求コマンドをシフトレジスタ５６に転送させる。
【００６９】
そして、その転送後は、クロック信号ＣＬＫに同期してシフトレジスタ５６を動作させることで、シフトレジスタ５６に転送した要求コマンドを、要求コマンド送信用（図３に示すＴＸ端子側）の通信線を介して、ビット単位で順次ＡＤ変換器２０側にシリアル送信させる。
【００７０】
また、転送制御回路６０は、シフトレジスタ５６をクロック信号ＣＬＫにより動作させて要求コマンドを送信しているときには、クロック送信用（図３に示すＣＬＫ端子側）の通信線を介して、ＡＤ変換器２０にもクロック信号ＣＬＫを送信することで、ＡＤ変換器２０側の通信制御回路２６から、上述した前回の通信期間中のＳＵＭ値や要求コマンドに対応した応答データをビット単位で送信させる。
【００７１】
また、本実施形態では、ＡＤ変換器２０からの送信データを受ける受信端子（図に示すＲＸ端子）が、シフトレジスタ５６へのシリアルデータ入力側に接続されている。
このため、図５に示すように、マイコン３０側の通信制御回路３４において、クロック信号ＣＬＫに同期して、シフトレジスタ５６からＡＤ変換器２０側に要求コマンドを送信（ＴＸ）しているときには、シフトレジスタ５６の入力側にＡＤ変換器２０からの送信データが順次入力され、その送信データが受信データ（ＲＸ）としてシフトレジスタ５６に順次蓄積されることになる。
【００７２】
なお、図５の拡大波形に示すように、シフトレジスタ５６は、クロック信号ＣＬＫの立下がりで送信信号（ＴＸ）を変化させ、クロック信号ＣＬＫの立下がりで受信信号（ＲＸ）をラッチすることで、データの送受信を行う。
【００７３】
次に、転送制御回路６０は、上記一連の処理により送信タイミング１回当たりのデータの送受信が完了すると、次の送信タイミングでの送受信のために、シフトレジスタ５６に蓄積された受信データ（ＳＵＭ値又は応答データ）を受信データレジスタ５８に転送させ、その後、ＡＤ要求コマンド設定レジスタ５４に記憶された各種要求コマンドをシフトレジスタ５６に転送させる。
【００７４】
また、転送制御回路６０は、シフトレジスタ５６に蓄積された受信データが、要求コマンドに対応した応答データ（切替コマンドに対応する応答データ又はＡＤ値）であれば、その受信データをＳＵＭ演算部６４にも転送して、ＳＵＭ演算部６４に受信データのＳＵＭ値を演算させ、更に、シフトレジスタ５６に蓄積された受信データが、ＡＤ要求コマンドに対応したＡＤ値であれば、その受信データ（ＡＤ値）をデジタル処理回路３６に転送して、ＡＤ値をデジタル処理させる。
【００７５】
なお、受信データの種類は、ＡＤ変換器２０との通信を開始してからの送信回数で識別できることから、転送制御回路６０には、送信回数等に基づき上記一連の転送制御を行うための制御情報が記憶された転送制御レジスタ６１が設けられている。
【００７６】
また、転送制御回路６０には、ＡＤ変換器２０にチップセレクト信号ＣＳを送信するためのＣＳ制御回路６２も設けられている。
このＣＳ制御回路６２は、エンジンの所定の回転角度範囲（本実施形態では、各気筒＃１，＃２，…の０°ＣＡ〜９０°ＣＡ）毎に設定されるゲート区間が終了する度に、ＣＳ端子からＡＤ変換器２０に送信されるチップセレクト信号ＣＳを一定期間だけハイレベルにすることで、ＡＤ変換器２０との通信期間を、エンジンの所定の回転角度範囲毎（チップセレクト信号ＣＳ：ローレベル）に設定するものである。
【００７７】
そして、上記一連の転送制御は、このチップセレクト信号ＣＳの立下がりで開始され、その後、チップセレクト信号ＣＳが立ち上がるまでの間、一定時間間隔の送信タイミング毎に実行される。
［ＡＤ変換器側通信制御回路の構成及び動作］
次に、図４は、ＡＤ変換器２０に設けられた通信制御回路２６の構成を表すブロック図である。
【００７８】
図４に示すように、通信制御回路２６には、マイコン３０から送信された要求コマンドを受信すると共に、その要求コマンドに対応した応答データや前回の通信期間中に送信した応答データの加算値（ＳＵＭ値）をマイコン３０へ送信するためのシフトレジスタ７２と、このシフトレジスタ７２から受信データ（マイコン３０からの要求コマンド）を取り込み、マイコン３０からの要求コマンドに対応したＭＰＸ切替指示若しくはＡＤ要求指示をＭＰＸ２２又はＡＤＣ２４に出力する受信データ制御回路７４と、この受信データ制御回路７４からの指示に従いＭＰＸ２２又はＡＤＣ２４から出力される応答データ（切替指示に対応する応答データ又はＡＤ値）を順次加算し、その加算値（ＳＵＭ値）をＳＵＭ結果レジスタ７８に記憶するＳＵＭ演算部７６と、シフトレジスタ７２から受信データ制御回路７４への受信データ（要求コマンド）の転送及びＳＵＭ演算部７６からのＳＵＭ値の転送等を制御する転送制御回路８０と、が設けられている。
【００７９】
ここで、シフトレジスタ７２は、マイコン３０側のシフトレジスタ５６と同様、クロック信号ＣＬＫの立下がりで送信信号（ＴＸ）を変化させ、クロック信号ＣＬＫの立下がりで受信信号（ＲＸ）をラッチすることで、通信制御回路３４側のシフトレジスタ５６との間で要求データ及び応答データの送受信するためのものであり、１６ビット・シフトレジスタにて構成されている。
【００８０】
また、転送制御回路８０には、マイコン３０からのチップセレクト信号ＣＳが立ち下がると、マイコン３０との通信期間に入ったと判断して、内部回路を起動し、その後、チップセレクト信号ＣＳが立ち上がるまで一連の通信動作を実行させるＣＳ制御回路８２が設けられている。
【００８１】
そして、転送制御回路８０は、ＣＳ制御回路８２により起動されると、ＳＵＭ演算部７６のＳＵＭ結果レジスタ７８に記憶されたＳＵＭ値をシフトレジスタ７２に転送させ、その後、マイコン３０から送信されてくるクロック信号ＣＬＫに従いシフトレジスタ５６を動作させることで、シフトレジスタ５６から、ＳＵＭ値を送信させる。
【００８２】
なお、転送制御回路８０は、ＳＵＭ結果レジスタ７８からシフトレジスタ７２にＳＵＭ値を転送させると、その後、今回の通信期間中にＡＤ変換器２０からマイコン３０に送信される応答データのＳＵＭ値を算出できるように、ＳＵＭ演算部７６を初期化する。
【００８３】
また、このＳＵＭ値の送信時には、マイコン３０側から切替コマンドが送信されてくるので、シフトレジスタ７２には、ＳＵＭ値の送信と同時に切替コマンドが蓄積される。
次に、シフトレジスタ７２によるＳＵＭ値及び切替コマンドの送受信が完了すると、転送制御回路８０は、シフトレジスタ７２に蓄積された切替コマンドを受信データ制御回路７４に転送する。
【００８４】
すると、受信データ制御回路７４は、シフトレジスタ７２から転送されてきた切替コマンドに従いＭＰＸ２２にノック信号の切替指示を出力することで、ＭＰＸ２２が選択するノック信号を切り替え、ＭＰＸ２２からシフトレジスタ７２に応答データを転送させる。この結果、次の送信タイミングでの応答データの送信準備が完了する。
【００８５】
またこのように、次の送信タイミングでの送信準備が完了し、その後、次の送信タイミングに達すると、マイコン３０から再びクロック信号ＣＬＫが送信されてくるので、シフトレジスタ７２に転送された応答データは、そのクロック信号ＣＬＫに同期して順次マイコン３０側に送信される。
【００８６】
また応答データの送信時には、マイコン３０側からＡＤ要求コマンドが送信されてくるので、シフトレジスタ７２には、ＡＤ切替コマンドが蓄積される。
そして、シフトレジスタ７２による応答データ及びＡＤ要求コマンドの送受信が完了すると、転送制御回路８０は、シフトレジスタ７２に蓄積されたＡＤ要求コマンドを受信データ制御回路７４に転送する。
【００８７】
すると、受信データ制御回路７４は、シフトレジスタ７２から転送されてきたＡＤ要求コマンドに従いＡＤＣ２４にＡＤ値の要求指示を出力することで、ＡＤＣ２４からシフトレジスタ７２に最新のＡＤ値を転送させる。この結果、次の送信タイミングでのＡＤ値の送信準備が完了する。
【００８８】
そしてその後、転送制御回路８０は、チップセレクト信号ＣＳが立ち上がるまで、上記と同様の動作を繰り返し実行することで、マイコン３０との間で、所定の送信タイミング毎に、ＡＤ値及びＡＤ要求コマンドを送受信する。
【００８９】
なお、ＡＤ変換器２０とマイコン３０との間でシフトレジスタ７２、５６を介して送受信されるデータは１６ビットであることから、ＳＵＭ演算部７６、ＳＵＭ演算部６４では、送信又は受信した応答データを加算した際、１６ビットをオーバーフローした部分はマスクすることにより、ＳＵＭ値を１６ビットに収める。
［実施形態の効果］
以上説明したように、本実施形態のエンジンＥＣＵ１０においては、ＡＤ変換器２０からマイコン３０へと、エンジンの回転に同期して所定回転角度範囲毎にノック信号のＡＤ変換結果（ＡＤ値）を送信するに当たって、その通信期間の開始直後に、先頭データとして、前回の通信期間中に送信した応答データ（切替要求に対応する応答データ及びＡＤ値）のＳＵＭ値を送信するようにされている。
【００９０】
つまり、本実施形態では、図６に示すように、従来、通信期間の最初に、マイコン３０からＡＤ変換器２０に先頭データとしての切替コマンドが送信され、ＡＤ変換器２０からマイコン３０には意味のないデータ（ＮＯＰ）が送信される最初の送信タイミングで、ＡＤ変換器２０からマイコン３０にチェックデータとしてのＳＵＭ値を送信するようにされている。
【００９１】
このため、本実施形態によれば、マイコン３０側で、そのＳＵＭ値を利用してＡＤ変換器２０からの受信データが正常であるか否かを判断できるだけでなく、エンジンの回転速度が高くなって、１回の通信期間として割り当てられる時間が短くなっても、ＡＤ変換器２０からマイコン３０にはＳＵＭ値を確実に送信することができる。
【００９２】
また、通信期間の最後にＳＵＭ値等のチェックデータを送信するようにすると、１回の通信期間中に送信可能なＡＤ値が少なくなって、ノック判定精度が低下することが考えられるが、本実施形態では、ＳＵＭ値の送信によって、１回の通信期間中に送信可能なＡＤ値が少なくなることはないので、ノック判定精度が低下するようなことはなく、エンジンの制御性及び信頼性を高めることができる。
【００９３】
一方、マイコン３０側では、ＡＤ変換器２０から送信されてくるＡＤ値を、デジタル処理（デジタルフィルタ処理、ピークホールド処理、積算処理等）することで、ノック信号成分を抽出してノック判定を行うが、図７に例示するように、デジタル処理回路３６からの出力が安定するには、ある程度時間がかかる。
【００９４】
このため、本実施形態のようにＡＤ変換器２０にてＡＤ変換するアナログ信号（ノック信号）をエンジンの回転に同期して切り替える場合には、その切換を速やかに行い、ＡＤ変換をより早く開始して、デジタル処理回路３６からの出力をより早く安定させることが望ましい。
【００９５】
これに対し、本実施形態では、ＣＰＵ３２がノック判定を行うゲート区間が終了すると、チップセレクト信号ＣＳをオン／オフさせてマイコン３０側からノック信号の切替コマンドを送信し、その後順次ＡＤ要求コマンドを送信することから、ＣＰＵ３２が次にノック判定を行うゲート区間までの間に、ＡＤ変換器２０がＡＤ変換するノック信号を切り替えてそのＡＤ変換結果（ＡＤ値）を送信させ、デジタル処理回路３６からの出力をより早く安定させることができる。
【００９６】
なお、図７は、デジタル処理回路３６でのデジタルフィルタ処理の例を表す説明図であり、フィルタ入力（ＡＤ値）として点線で示すＳＩＮ波を入力し、その入力途中で１個のＡＤ値にデータ化けが生じた場合のフィルタ処理結果を実線で表している。
【００９７】
そして、この図７から明らかなように、ＡＤ値にデータ化けが生じると、その後しばらくの間、フィルタ処理結果が大きく変動してしまう。
しかし、本実施形態では、ＣＰＵ３２が、ＡＤ変換器２０から送信されてきたＳＵＭ値とＳＵＭ演算部６４にて算出されたＳＵＭ値とを比較することで、前回の通信期間中に受信した受信データに異常（データ化け）があるか否かを判定し、異常を検出すると、デジタル処理回路３６で前回のゲート区間内にデジタル処理されたデータを破棄し、そのデータに基づくノック判定を禁止することから、受信データ（ＡＤ値）に異常（データ化け）がある場合に、その異常データに基づきノッキングを誤判定してしまうことはない。
【００９８】
また更に、本実施形態では、マイコン３０からＡＤ変換器２０に通信期間の開始を通知するのに、ＡＤ変換器２０を動作させるためのチップセレクト信号ＣＳを利用することから、ＡＤ変換器２０から通信期間の開始直後にＳＵＭ値を送信させるために、専用の通信線を使ってマイコン３０からＳＵＭ値の送信指令を送信する必要がない。このため、本実施形態によれば、エンジンＥＣＵ１０の構成を簡単にすることができる。
【００９９】
なお、本実施形態においては、ＡＤ変換器２０が、本発明のＡＤ変換手段に相当し、ＭＰＸ２２が、本発明の信号選択手段に相当し、通信制御回路２６が、本発明の第１通信手段に相当し、通信制御回路２６内のＳＵＭ演算部７６が、本発明のチェックデータ生成手段に相当し、同じく通信制御回路２６内の転送制御回路８０が、本発明のチェックデータ送信手段に相当する。
【０１００】
また、マイコン３０は、本発明の演算処理手段に相当し、マイコン３０内の通信制御回路３４が、本発明の第２通信手段に相当し、同じくマイコン３０内のＣＰＵ３２が、本発明の判定手段に相当し、同じくマイコン３０内のデジタル処理回路３６が、本発明のデジタル処理手段に相当する。
【０１０１】
以上、本発明の一実施形態について説明したが、本発明は、上記実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内にて種々の態様をとることができる。
［変形例１］
例えば、上記実施形態では、ＣＰＵ３２は、ＡＤ変換器２０から送信されてきたＳＵＭ値と、前回の通信期間中に受信データ（応答データ）を加算することにより得られたＳＵＭ値とを比較することで、受信データ（応答データ）の異常（データ化け）を検出すると、デジタル処理回路３６で前回のゲート区間内にデジタル処理されたデータを破棄して、ノック判定を禁止するものとして説明したが、受信データの異常が複数回連続して検出されるような場合には、エンジンＥＣＵ１０自体に異常が発生していることも考えられるので、その旨を運転者等に通知してエンジンを安全側に動作させるフェールセーフ処理を実行するようにしてもよい。
【０１０２】
そして、このためには、ＣＰＵ３２にて、図８に示す手順でノック制御処理を実行するようにすればよい。
すなわち、このノック制御処理では、通信制御回路３４にてＳＵＭ値が受信されると、Ｓ１１０（Ｓはステップを表す）にて、その受信したＳＵＭ値を読み込み、続くＳ１２０にて、通信制御回路３４のＳＵＭ結果レジスタ６６から前回の通信期間に算出された受信データのＳＵＭ値を読み込む。
【０１０３】
次に、続くＳ１３０では、Ｓ１１０及びＳ１２０にて読み込んだＳＵＭ値が一致しているか否かを判断し、ＳＵＭ値が一致している場合には、前回の通信期間中に受信したノック信号のＡＤ値（換言すればデジタル処理回路３６にて処理された受信データ）は全て正常であると判断して、Ｓ１４０に移行する。
【０１０４】
Ｓ１４０では、異常検出カウンタＮを値０に初期化した後、Ｓ１５０に移行して、前回の通信期間中にデジタル処理回路３６にて処理された受信データのデジタル処理結果に基づきノッキングが発生したか否かを判定するノック判定処理を実行する。そして、続くＳ１６０では、Ｓ１５０でのノック判定結果に基づき、エンジンにノッキングが発生したか否かを判断し、ノッキングが発生していれば、Ｓ１７０に移行して、点火時期を遅角側に補正した後、当該ノック制御処理を一旦終了し、ノッキングが発生していなければ、そのまま当該ノック制御処理を一旦終了する。
【０１０５】
一方、Ｓ１３０にて、ＳＵＭ値が一致していないと判断された場合には、前回の通信期間中に受信したノック信号のＡＤ値（換言すればデジタル処理回路３６にて処理された受信データ）に異常があると判断して、Ｓ１８０に移行し、異常検出カウンタＮをカウントアップ（＋１）する。
【０１０６】
そして、続くＳ１９０では、そのカウントアップした異常検出カウンタＮの値が予め設定された装置異常判定用の閾値Ｎthを越えたか否かを判断し、異常検出カウンタＮの値が閾値Ｎthを越えていなければ、上記実施形態と同様、今回のノック判定を禁止すべく、当該ノック制御処理を一旦終了する。
【０１０７】
また、Ｓ１９０にて、異常検出カウンタＮの値が閾値Ｎthを越えていると判断された場合には、ＡＤ変換器２０自体若しくはＡＤ変換器２０とマイコン３０との間の通信系が故障したと判断して、Ｓ２００に移行し、当該ＣＰＵ３２でのエンジン制御処理を、点火時期を最遅角側に設定してエンジンを安全に運転させるフェールセーフ処理に切り替える。そして、続くＳ２１０では、運転席近傍の異常報知ランプの点灯、所定の警告音の発生等により、エンジンＥＣＵ１０の異常を運転者に通知し、当該ノック制御処理を終了する。
【０１０８】
そして、ノック制御処理をこのように実行するようにすれば、エンジンＥＣＵ１０自体に異常が生じたときに、その旨を速やかに通知して、エンジンの運転状態を安全側に移行させることができ、エンジンＥＣＵ１０の信頼性を向上することができる。
［変形例２］
次に、上記実施形態では、ＡＤ変換器２０からマイコン３０へＡＤ変換結果を送信する伝送路として、シリアル伝送用の通信線を一本設けるものとして説明したが、ＡＤ変換結果をシリアル伝送するための通信線を複数本にして、クロック信号ＣＬＫ１６個で構成されるＡＤ値の送信時間内に、ＡＤ値を複数個送信するようにしてもよい。
【０１０９】
具体的には、例えば、図９に示すように、マイコン３０には、それぞれ、２つのシフトレジスタ５６、５７、受信データレジスタ５８、５９、及び、ＳＵＭ結果レジスタ６６、６７を設け、各シフトレジスタ５６、５７には、それぞれ専用の受信端子（ＲＸ１、ＲＸ２）を介してＡＤ変換器２０からの送信データ（ＡＤ値）が入力され、各受信データレジスタ５８、５９には、各シフトレジスタ５６、５７にて受信された受信データがそれぞれ転送され、ＳＵＭ演算部６４及びデジタル処理回路３６には、各シフトレジスタ５６、５７から２つのＡＤ値がそれぞれ転送されるようにする。
【０１１０】
また、図１０に示すように、ＡＤ変換器２０には、それぞれ、２つのシフトレジスタ７２、７３、及び、ＳＵＭ結果レジスタ７８、７９を設け、ＳＵＭ演算部７６では、ＡＤＣ２４にてＡＤ変換された前後２回のＡＤ値を第１ＡＤ値、第２ＡＤ値として分けて、これら各第１ＡＤ値、第２ＡＤ値を加算し、その加算結果を、各ＳＵＭ結果レジスタ７８、７９に格納するようにする。
【０１１１】
また、各シフトレジスタ７２、７３には、ＡＤＣ２４にてＡＤ変換された前後２回のＡＤ値が第１ＡＤ値、第２ＡＤ値としてそれぞれ転送されると共に、通信期間の先頭データとして、各ＳＵＭ結果レジスタ７８、７９に格納された第１ＡＤ値及び第２ＡＤ値のＳＵＭ値が転送されるようにし、各シフトレジスタ７２、７３の送信端子（ＴＸ１、ＴＸ２）には、通信線を介して、マイコン３０の受信端子（ＲＸ１、ＲＸ２）を接続する。
【０１１２】
そして、このようにすれば、図１１に示すように、ＡＤ変換器２０からマイコン３０には、クロック信号ＣＬＫ１６個で構成されるデータの送信時間内に、ＳＵＭ値、応答データ、ＡＤ値をそれぞれ２個並列的に送信して、各ＡＤ値のデジタル処理及び各ＡＤ値の異常判定を実行できることになり、１回の通信期間中に送信可能なデータ量（ＡＤ変換結果）を増加させることができる。
【０１１３】
また、クロック信号ＣＬＫの周波数を上げると、データ化けの原因となるラジオノイズが発生し易くなるが、通信線を複数本にすれば、通信期間中に送信可能なデータ量を増加させるためにクロック周波数を上げる必要がないので、送信データのロバスト性を確保することができる。
【０１１４】
なお、１回の通信期間中にＡＤ変換器２０からマイコン３０へ送信可能なＡＤ値を増加するためには、各通信制御回路２６、３４内のシフトレジスタ７２、５６を、バス通信可能な通信ドライバに変更して、ＡＤ値等、所定ビット長のデータを、バスを介して伝送するようにしてもよい。
【０１１５】
また、上記実施形態では、ＡＤ変換器２０からマイコン３０へＡＤ値等の応答データを送信させるために、マイコン３０側から要求コマンドを送信するものとして説明したが、例えば、マイコン３０からＡＤ変換器２０には、通信期間を表すチップセレクト信号を送信し、ＡＤ変換器２０側では、そのチップセレクト信号を受けると、チェックデータであるＳＵＭ値を送信し、その後、一定時間間隔でＡＤ値を送信するようにしてもよい。
［変形例３］
一方、上記実施形態では、ＡＤ変換器２０からマイコン３０には、チェックデータとして、前回の通信期間中に送信した送信データの加算値（ＳＵＭ値）を送信するものとして説明したが、このチェックデータには、予め設定された固定値から加算値（ＳＵＭ値）を減じた減算値を用いるようにしてもよく、或いは、巡回冗長検査用のＣＲＣ（Cyclic Redundancy Check ）データを用いるようにしてもよい。
【０１１６】
そして、チェックデータとして減算値を使用するようにした場合には、ノイズ等によるデータ化けにより、マイコン３０側で得られた受信データの各ビットが全て０となったとしても、マイコン３０側で受信データを加算してその加算値を固定値から減じることにより得られる減算値は、固定値になり、０にはならないので、チェックデータとして加算値（ＳＵＭ値）を使用した場合に比べて、マイコン３０側での異常判定精度を高めることができる。
【０１１７】
また、チェックデータとしてＣＲＣデータを使用するようにした場合には、例えば、あるビットが０→１に化け、あるビットが１→０に化けた場合のように、加算値（ＳＵＭ値）や設定値から加算値（ＳＵＭ値）を減じた減算値では検出できない異常が生じたときにでも、ＣＲＣデータを使って異常を判定できるようになる。
【０１１８】
なお、このようにチェックデータとして減算値若しくはＣＲＣデータを使用するようにするには、上記実施形態において、ＡＤ変換器２０の通信制御回路２６及びマイコン３０の通信制御回路３４にそれぞれ設けられるＳＵＭ演算部７６、６４を、減算値演算部若しくはＣＲＣデータ演算部に変更して、これら各部で減算値若しくはＣＲＣデータを設定するようにすればよい。
【０１１９】
また、上記実施形態では、ＡＤ変換器２０からマイコン３０には、ノック信号のＡＤ変換結果を送信するものとして説明したが、本発明は、エンジンの回転に同期した通信期間毎に、ＡＤ変換結果をマイコン等の演算処理部に送信するＡＤ変換器を備えたエンジン制御装置であれば、上記実施形態と同様に適用することができる。
【図面の簡単な説明】
【０１２０】
【図１】実施形態のエンジンＥＣＵ全体の構成を表すブロック図である。
【図２】ＡＤ変換器とマイコンとの間の通信動作を表すタイムチャートである。
【図３】マイコンに設けられた通信制御回路の構成を表すブロック図である。
【図４】ＡＤ変換器に設けられた通信制御回路の構成を表すブロック図である。
【図５】通信制御回路間で送受信される信号波形を表すタイムチャートである。
【図６】従来のエンジンＥＣＵでの通信動作を表すタイムチャートである。
【図７】デジタル処理回路におけるフィルタ処理の動作を説明する説明図である。
【図８】変形例１のノック制御を表すフローチャートである。
【図９】変形例２のマイコン側通信制御回路の構成を表すブロック図である。
【図１０】変形例２のＡＤ変換器側通信制御回路の構成を表すブロック図である。
【図１１】変形例２のＡＤ変換器とマイコンとの間の通信動作を表すタイムチャートである。
【符号の説明】
【０１２１】
１，２…ノックセンサ、３，４…点火装置、１０…エンジンＥＣＵ、１１，１２…入力回路、１３，１４…点火出力ドライバ、１６…コネクタ、２０…ＡＤ変換器、２２…ＭＰＸ（マルチプレクサ）、２４…ＡＤＣ（ＡＤ変換回路）、２６…通信制御回路、７２，７３…シフトレジスタ、７４…受信データ制御回路、７６…ＳＵＭ演算部、７８，７９…ＳＵＭ結果レジスタ、８０…転送制御回路、８２…ＣＳ制御回路、３０…マイコン、３２…ＣＰＵ、３４…通信制御回路、３６…デジタル処理回路、５０…内部バス・インターフェース、５２…切替コマンド設定レジスタ、５４…ＡＤ要求コマンド設定レジスタ、５６，５７…シフトレジスタ、５８，５９…受信データレジスタ、６０…転送制御回路、６１…転送制御レジスタ、６２…ＣＳ制御回路、６４…ＳＵＭ演算部、６６，６７…ＳＵＭ結果レジスタ。
【図１】
0004525799.tif 000002
【図２】
0004525799.tif 000003
【図３】
0004525799.tif 000004
【図４】
0004525799.tif 000005
【図５】
0004525799.tif 000006
【図６】
0004525799.tif 000007
【図７】
0004525799.tif 000008
【図８】
0004525799.tif 000009
【図９】
0004525799.tif 000010
【図１０】
0004525799.tif 000011
【図１１】
0004525799.tif 000012