(57)【要約】      （修正有）【課題】クランク角修正とクランククリアという２つの異なる処理を選択的に利用しつつ、信頼性の低い燃焼関連情報が内燃機関の制御に使用される事態を防止する。【解決手段】制御装置１０は、異常検出フラグオン処理と、異常検出フラグオフ処理と、を実行する。異常検出フラグオン処理は、ジカ線６を経由して検知信号を受信したときに異常検出フラグをオンとする。異常検出フラグオフ処理は、異常検出フラグがオンとなった後に、特定気筒の燃焼関連情報を取得したときに、異常検出フラグをオフとする。特定気筒とは、複数の気筒のうちで最も点火順序が遅い気筒である。特定クランク角区間とは、第１の特定クランク角信号と当該第１の特定クランク角信号の前の第２の特定クランク角信号とで決まる区間である。異常検出フラグがオンであるときには特定クランク角区間内に燃焼期間が存在する複数の気筒それぞれの燃焼関連情報を内燃機関の制御に使用しない。【選択図】図１
2014034942.tif 000002
【特許請求の範囲】
【請求項１】
複数の気筒を有する内燃機関を制御するための制御装置であって、
クランク軸の回転と同期して回転し、クランク軸が一周する間に所定クランク角刻みで短周期出力信号を発し、前記クランク軸の回転角の少なくとも１つに対応させて前記短周期出力信号とは異なる信号である特定クランク角信号を発するクランク角センサと、
前記複数の気筒のそれぞれに配置された筒内圧センサと、
クランク角センサの出力信号を受けるとともに、前記内燃機関の運転制御を行う第１マイコンと、
クランク角センサの出力信号および前記筒内圧センサの出力信号を受けるとともに、クランク角センサの出力信号によるクランク角と同期させて前記筒内圧センサの出力をサンプリングし、クランク角に応じた前記筒内圧センサの出力信号に基づいて前記気筒内の燃焼に関する情報である燃焼関連情報を算出する第２マイコンと、
前記第１マイコンと前記第２マイコンとを接続し、これらの間で前記燃焼関連情報を示す信号を通信するためのデータ通信線と、
前記第１マイコンと前記第２マイコンとを直接に接続し、前記第２マイコンから前記第１マイコンへ信号を送信するためのジカ線と、
を備え、
前記第２マイコンは、
前記短周期出力信号に基づくカウントを行い、そのカウント値に基づいてクランク角を算出するクランクカウントと、
前記カウント値が示すクランク角と前記特定クランク角信号が示すクランク角とが整合していない場合に、前記ジカ線を経由して前記第１マイコンに対して検知信号を送信する異常検知処理と、
前記カウント値が示すクランク角と前記特定クランク角信号が示すクランク角とが整合していない場合に、所定の運転条件に基づいて、前記特定クランク角信号に従って前記カウント値を修正するクランク角修正と、所定区間又は所定条件成立までクランク角センサに基づくクランク角検出を中断するクランククリアと、を選択的に実行するクランクカウンタ修正処理と、
前記クランククリアによるクランク角検出の中断期間を除いて、前記データ通信線を介して、各気筒の前記燃焼関連情報を前記第１マイコンに送信するデータ送信処理と、
を実行し、
前記第１マイコンは、
前記ジカ線を経由して前記検知信号を受信したときに異常検出フラグをオンとする異常検出フラグオン処理と、
前記異常検出フラグがオンとなった後に、前記異常検知処理で前記検知信号を送信する根拠として用いられた第１の特定クランク角信号と当該第１の特定クランク角信号の前の第２の特定クランク角信号とで決まる特定クランク角区間内に筒内圧データ検出区間が存在する複数の気筒のうちで最も点火順序が遅い気筒である特定気筒の燃焼関連情報を受信したときに、前記異常検出フラグをオフとする異常検出フラグオフ処理と、
を実行し、前記異常検出フラグがオンであるときには前記特定クランク角区間内に筒内圧データ検出区間が存在する複数の気筒それぞれの燃焼関連情報を前記内燃機関の制御に使用せず、前記異常検出フラグがオフとなったときは前記特定気筒より後の点火順の気筒についての燃焼関連情報を前記内燃機関の制御に使用することを特徴とする内燃機関の制御装置。
【請求項２】
前記第１マイコンは、
前記複数の気筒それぞれについて少なくとも１つずつ割り当てられた、複数のデータ信頼性フラグと、
内燃機関の制御異常の有無に基づいて前記複数のデータ信頼性フラグのオンとオフを切り替える信頼性フラグ処理と、
前記データ信頼性フラグがオフであるときは、オフとされている前記データ信頼性フラグが割り当てられた気筒についての前記燃焼関連情報を前記内燃機関の制御へ使用することを制限する情報使用制限処理と、
を備え、
前記信頼性フラグ処理は、前記異常検出フラグがオンである期間には前記複数のデータ信頼性フラグをオフとし、かつ、前記異常検出フラグがオフである期間には前記複数のデータ信頼性フラグをオンとするものであることを特徴とする請求項１に記載の内燃機関の制御装置。
【請求項３】
前記異常検出フラグがオフである間は前記燃焼関連情報を前記内燃機関のフィードバック制御に使用し、前記異常検出フラグがオンである間は前記燃焼関連情報を前記内燃機関のフィードバック制御に使用しないことを特徴とする請求項１又は２に記載の内燃機関の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内燃機関の制御装置に関する。
【背景技術】
【０００２】
従来、例えば、特開２００８−２３２０９４号公報に開示されているように、内燃機関の制御装置として複数のマイクロコンピュータを備えるものが知られている。以下、マイクロコンピュータを「マイコン」と称す。この公報にかかる制御装置は、筒内圧センサと発熱体とを一体に有するグロープラグの制御装置である。筒内圧は、圧縮行程の開始時付近から膨張行程の終了時付近までのクランク角度区間で変化する。従って、筒内圧の検出が必要なクランク角度区間は、圧縮行程の開始時から膨張行程の終了時までの区間に限られる。
【０００３】
そこで、そのような区間を、筒内圧センサの検出信号の送信区間として設定し、その他の区間を、制御信号の送信区間として設定することができる。これにより、第１マイコンと第２マイコンとの間で、単一の信号線を介して、必要な筒内圧データを得ながら筒内圧データ以外の制御信号等の送受信を支障なく行うことが可能になる。これにより、少ない本数の配線を効率的に利用することができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−２３２０９４号公報
【特許文献２】特開平５−８８９２４号公報
【特許文献３】特開２０１１−２３５７０９号公報
【特許文献４】特開２００６−２４６６２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
単一のマイコンが有する演算処理能力は限られている。そこで、複数のマイコンで構成された制御装置として、エンジン制御を担うメインマイコンと、筒内圧センサ等の出力信号を用いた演算処理を行うためのサブマイコンとを備えるものがある。演算負荷を分担する観点から、一部の演算処理をサブマイコンに担当させることが有効である。特に、筒内圧のように、クランク角との正確な同期がとられている測定データであることが重要な意味を有する物理量をマイコン上で取り扱う場合がある。その場合には、筒内圧センサの出力信号の取得処理、クランク角センサの出力信号の取得処理およびこれに基づくクランク角検出、クランク角センサ出力に基づくクランク角に同期させた筒内圧センサ出力信号のサンプリング処理、および、そのサンプリング値を用いて計算した各種パラメータ（「燃焼関連情報」とも称す）の演算処理といった複数の処理を、マイコンによって行う必要がある。
【０００６】
クランク角との正確な同期が取られている測定データを取得するためには、その前提として、クランク角センサの出力信号に基づく正確なクランク角の計測を行うことが必要である。一般には、クランク角センサの出力するパルス信号を用いたクランクカウントが実施される。クランク角の単位角度あたりの回転を表すカウンタ値を、パルス信号に基づいてアップしていくことで、現在のクランク角がわかるようになっている。
【０００７】
クランクカウントは、そのようなパルス信号等に基づいてカウンタ値の増加（カウントアップ）を行っていく仕組みである。ここで、電気信号ノイズとパルス信号等の正常信号とを取り違える誤検出があると、誤ったカウントアップが行われてしまう。その結果、パルス信号等に基づくクランク角の検出が不正確なものとなる。これを「クランク角計数異常」とも称す。クランク角計数異常が生ずると、クランク角との正確な同期が取られている測定データを取得することができなくなってしまう。従って、これに対処するため、クランク角誤検出があるかどうかを確認するための判定がなされている。例えば、ロータ外周の歯のうち、特定角度の歯を欠けたものとし、これを目印として角度とカウンタ値との対比を行うという判定が行われている。この判定は、「欠歯判定」とも称される。
【０００８】
クランク角検出に異常があった場合、つまりクランクカウントが適正でなかった場合、クランク角修正とクランククリアという２つの異なる処理を選択的に利用することが考えられる。クランク角修正とは、欠歯判定の結果に基づいてカウンタ値を訂正な値に補正し、クランクカウントを継続するものである。クランククリアとは、所定区間又は所定条件成立までクランク角センサに基づくクランク角検出を中断するものである。クランククリアによれば、不安定な期間が経過した後に、正確なクランクカウントを再開することができる。クランク角修正で対処できるのであれば良いが、エンジン回転数が低いときなど、クランクカウントを行うには不適切な環境（カウンタ値の信用性が乏しい環境）の場合には、クランククリアが選択されることが好ましいからである。
【０００９】
複数のマイコンを用いたエンジン制御ユニットを構成する場合には、メインマイコンとサブマイコンがそれぞれ別の電気配線を備えており、それぞれのマイコンの電気配線に対してクランク角センサの出力端子が接続するケースがある。このような場合、サブマイコンのみに対してクランク角センサ出力信号にノイズが乗り、その結果サブマイコンでのみクランク角の計数に異常が発生することがありうる。
【００１０】
欠歯判定の結果からクランク角検出異常が検出された場合には、その異常検出以前の一定期間にわたってクランク角と同期が取れていなかったことになるので、クランク角と同期が取れていることを前提に取得している筒内圧等の測定データや、この測定データから算出した燃焼関連情報を、内燃機関の制御に使用することは避けるべきである。さもないと、内燃機関制御の精度が低下してしまうからである。サブマイコン側でクランク角計数異常が生じていれば、サブマイコン側で取得した筒内圧等の測定データやこれから算出した燃焼関連情報は、メインマイコン側においてエンジン制御に使用することができない。そこで、サブマイコンでのクランク角計数異常の発生を通知する「検知信号」を、メインマイコン側に送信することが求められる。メインマイコン側において、サブマイコンでのクランク角計数異常の発生を認識させておく必要があるからである。その検知信号の通知があった場合には、燃焼関連情報を内燃機関の制御に使用することを制限（禁止）すべきである。
【００１１】
検知信号を可能な限り早期に通信するために、いわゆる「ジカ線」でメインマイコンとサブマイコンを接続することが考えられる。ジカ線について説明すると、２つのマイコンの間を接続する配線には、シリアル通信等のデータ通信用配線のみならず、そのようなデータ通信よりも簡易な通信を目的とする直接的に接続された簡易的な配線がある。この直接的に接続された簡易的な配線が、「ジカ線」と称されている。典型例としては、特開２００６−２４６６２３号公報に記載のダイレクト通信線などである。一般に、データ通信線を用いるデータ通信は、マイコン間で複雑な通信処理を正確に実施する必要がある。その通信処理の際の現実的な制約により、所定周期ごとのデータ送受信が実施されることが普通であり、必ずしも任意のタイミングでデータ通信が可能なわけではない。データ送受信によりクランク角計数異常を報知することもできなくはないが、データ送受信タイミングの制約があると、欠歯判定がなされた後に直ちに検知信号を送ることができないケースが想定される。検知信号は可能な限り早期にメインマイコンに伝わることが好ましく、その観点からは、ジカ線を利用することが有効である。ジカ線を活用することで検知信号を早期に送受信できるので、信頼性の低い燃焼関連情報が内燃機関の制御に使用される事態を迅速に防止することができる。
【００１２】
上記の一連の処理により検知信号を通知し燃焼関連情報の使用制限を実施した後には、さらに適切なタイミングでその制限を解除し、内燃機関の制御を復帰させる必要がある。制御を復帰させるというのは、具体的には、クランクカウントを正常に再開して、複数のマイコン間で燃焼関連情報の送受信を再開し、これを内燃機関制御に使用するということである。この制御の復帰は、メインマイコン側でクランク角修正とクランククリアという２つの異なる処理を含むクランクカウンタ修正処理のいずれが行われていたとしても問題が生じない仕組みで実施すべきである。
【００１３】
本発明は、上述のような課題を解決するためになされたもので、信頼性の低い燃焼関連情報が内燃機関の制御に使用される事態を迅速に防止するとともに、クランク角修正とクランククリアという２つの異なる処理を選択的に利用しつつ燃焼関連情報の使用制限の解除を行うことができる内燃機関の制御装置を提供することを目的とする。
【課題を解決するための手段】
【００１４】
第１の発明は、上記の目的を達成するため、複数の気筒を有する内燃機関を制御するための制御装置であって、クランク角センサと、筒内圧センサと、第１マイコンと、第２マイコンと、データ通信線と、ジカ線と、を備えている。
クランク角センサは、クランク軸の回転と同期して回転し、クランク軸が一周する間に所定クランク角刻みで短周期出力信号を発する。クランク角センサは、前記クランク軸の回転角の少なくとも１つに対応させて前記短周期出力信号とは異なる信号である特定クランク角信号を発する。筒内圧センサは、前記複数の気筒のそれぞれに配置されている。
第１マイコンは、クランク角センサの出力信号を受けるとともに、前記内燃機関の運転制御を行う。第２マイコンは、クランク角センサの出力信号および前記筒内圧センサの出力信号を受ける。第２マイコンは、クランク角センサの出力信号によるクランク角と同期させて前記筒内圧センサの出力をサンプリングする。第２マイコンは、クランク角に応じた前記筒内圧センサの出力信号に基づいて前記気筒内の燃焼に関する情報である燃焼関連情報を算出する。データ通信線は、前記第１マイコンと前記第２マイコンとを接続し、これらの間で前記燃焼関連情報を示す信号を通信するためのものである。ジカ線は、前記第１マイコンと前記第２マイコンとを直接に接続し、前記第２マイコンから前記第１マイコンへ信号を送信するためのものである。
【００１５】
第１の発明にかかる前記第２マイコンは、クランクカウントと、異常検知処理と、クランクカウンタ修正処理と、データ送信処理と、を実行する。クランクカウントは、前記短周期出力信号に基づくカウントを行い、そのカウント値に基づいてクランク角を算出する。異常検知処理は、前記カウント値が示すクランク角と前記特定クランク角信号が示すクランク角とが整合していない場合に、前記ジカ線を経由して前記第１マイコンに対して検知信号を送信する。クランクカウンタ修正処理は、前記カウント値が示すクランク角と前記特定クランク角信号が示すクランク角とが整合していない場合に、所定の運転条件に基づいて、クランク角修正とクランククリアとを選択的に実行する。クランク角修正は、前記特定クランク角信号に従って前記カウント値を修正するものである。クランククリアは、所定区間又は所定条件成立までクランク角センサに基づくクランク角検出を中断するものである。データ送信処理は、前記クランククリアによるクランク角検出の中断期間を除いて、前記データ通信線を介して、各気筒の前記燃焼関連情報を前記第１マイコンに送信する。
【００１６】
第１の発明にかかる前記第１マイコンは、異常検出フラグオン処理と、異常検出フラグオフ処理と、を実行する。異常検出フラグオン処理は、前記ジカ線を経由して前記検知信号を受信したときに異常検出フラグをオンとする。異常検出フラグオフ処理は、前記異常検出フラグがオンとなった後に、特定気筒の燃焼関連情報を受信したときに、前記異常検出フラグをオフとする。特定気筒とは、特定クランク角区間内に筒内圧データ検出区間（筒内圧センサ１２の出力信号にサンプリングを実施する区間）が存在する複数の気筒のうちで最も点火順序が遅い気筒である。特定クランク角区間とは、前記異常検知処理で前記検知信号を送信する根拠として用いられた第１の特定クランク角信号と当該第１の特定クランク角信号の前の第２の特定クランク角信号とで決まる区間である。
第１の発明においては、前記異常検出フラグがオンであるときには前記特定クランク角区間内に筒内圧データ検出区間（筒内圧センサ１２の出力信号にサンプリングを実施する区間）が存在する複数の気筒それぞれの燃焼関連情報を前記内燃機関の制御に使用せず、前記異常検出フラグがオフとなったときは前記特定気筒より後の点火順の気筒についての燃焼関連情報を前記内燃機関の制御に使用する。
【００１７】
第２の発明は、第１の発明において、前記第１マイコンは、複数のデータ信頼性フラグと、信頼性フラグ処理と、情報使用制限処理と、を備えている。
複数のデータ信頼性フラグは、前記複数の気筒それぞれについて少なくとも１つずつ割り当てられたものである。
信頼性フラグ処理は、内燃機関の制御異常の有無に基づいて前記複数のデータ信頼性フラグのオンとオフを切り替えるものである。
情報使用制限処理は、前記データ信頼性フラグがオフであるときは、オフとされている前記データ信頼性フラグが割り当てられた気筒についての前記燃焼関連情報を前記内燃機関の制御へ使用することを制限する。
前記信頼性フラグ処理は、前記異常検出フラグがオンである期間には前記複数のデータ信頼性フラグをオフとし、かつ、前記異常検出フラグがオフである期間には前記複数のデータ信頼性フラグをオンとするものである。
【００１８】
第３の発明は、第１または第２の発明において、前記異常検出フラグがオフである間は前記燃焼関連情報を前記内燃機関のフィードバック制御に使用し、前記異常検出フラグがオンである間は前記燃焼関連情報を前記内燃機関のフィードバック制御に使用しないことを特徴とする。
【発明の効果】
【００１９】
第１の発明によれば、ジカ線を介してクランクカウント値の異常を示す検知信号を速やかに送信でき、クランク角同期で取得した内燃機関の制御関連情報である燃焼関連情報の信頼性の低いことを、速やかに、内燃機関の制御を担う第１マイコンに伝えることができる。そのジカ線経由の検知信号をトリガとする異常検出フラグを設けて、さらにこの異常検出フラグをデータ通信線経由の燃焼関連情報の受信に応じて適切なタイミングでオフとすることができる。これにより、データ通信線とジカ線を活用し、信頼性の低い燃焼関連情報が内燃機関の制御に使用される事態を迅速に防止するとともに、クランク角修正とクランククリアという２つの異なる処理を選択的に利用しつつ燃焼関連情報の使用制限の解除を行うことができる。
【００２０】
第２の発明によれば、データ信頼性フラグを設けることにより燃焼関連情報の使用可否を気筒ごとに内燃機関の制御処理状態に基づいて柔軟に決定することができ、その決定要素の一つとして異常検出フラグのオンオフ状態を反映させることができる。つまり、異常検出フラグのオンオフ以外の、他の制御異常をも総合的に勘案することができるようになる。
【００２１】
第３の発明によれば、ジカ線経由での検知信号に応じてオンとされる異常検出フラグに基づくことで、フィードバック制御に燃焼関連情報を使用するか否かの決定を、迅速に行うことができる。
【図面の簡単な説明】
【００２２】
【図１】本発明の実施の形態にかかる内燃機関の制御装置である制御装置１０およびその周辺構成を示すブロック図である。
【図２】本発明の実施の形態にかかる内燃機関の制御装置の動作を説明するための図であり、クランクカウントが正常に行われている場合にサンプリングした筒内圧センサ１２の出力信号に基づく筒内圧波形を示す図である。
【図３】本発明の実施の形態にかかる内燃機関の制御装置の動作を説明するための図であり、クランクカウントにおけるノイズの悪影響を説明するための図である。
【図４】本発明の実施の形態にかかる内燃機関の制御装置の動作を説明するための図であり、誤ったカウントアップの様子を説明するための図である。
【図５】本発明の実施の形態にかかる内燃機関の制御装置で行われるクランクカウンタ修正処理の内容を説明するための模式図であり、模式的に「クランク角修正」と「クランククリア」の違いを表すものである。
【図６】本発明の実施の形態にかかる内燃機関の制御装置の動作を説明するための図である。
【図７】本発明の実施の形態にかかる内燃機関の制御装置の動作を説明するための図である。
【図８】本発明の実施の形態において、異常検出フラグのオン、オフに関して、メインマイコン１が実行するルーチンのフローチャートである。
【図９】本発明の実施の形態において、異常検出フラグのオン、オフに関して、メインマイコン１が実行するルーチンのフローチャートである。
【図１０】本発明の実施の形態にかかる内燃機関の制御装置の動作を説明するための図であり、ジカ線を設けたことによる効果を説明するためのタイムチャートである。
【図１１】本発明の実施の形態にかかる内燃機関の制御装置の動作を説明するための図であり、ジカ線を設けたことによる効果を説明するためのタイムチャートである。
【図１２】本発明の実施の形態にかかる内燃機関の制御装置の動作を説明するための図であり、ジカ線を設けたことによる効果を説明するためのタイムチャートである。
【発明を実施するための形態】
【００２３】
実施の形態．
［実施の形態の装置の構成］
図１は、本発明の実施の形態にかかる内燃機関の制御装置である制御装置１０およびその周辺構成を示すブロック図である。制御装置１０は、エンジン５０を制御するためのものである。本実施の形態では、エンジン５０が４つの気筒（＃１気筒、＃２気筒、＃３気筒、および＃４気筒）を備えた、４ストロークレシプロ式の火花点火式エンジンであるものとする。この４つの気筒は、本実施の形態では、＃１番気筒→＃３番気筒→＃４番気筒→＃２番気筒の順番で点火を迎えるものとする。
【００２４】
制御装置１０におけるメインマイコン１およびサブマイコン２は、クランク角センサ１６と接続している。クランク角センサ１６は、エンジン５０のクランク軸の回転と同期して回転し、クランク軸が一周する間に所定クランク角刻みで短周期出力信号を発する。クランク角センサ１６は、クランク軸の回転角の少なくとも１つに対応させられた、短周期出力信号とは異なる信号である「特定クランク角信号」を発することができる。具体的には、クランク角センサ１６は、ロータ（回転体）と、ロータ付近に設けられたセンサとを備える。このロータは、クランクシャフトに取り付けられ、クランクシャフトの回転に伴って回転し、その外周に所定角度刻みで設けられた複数の歯が形成されたものである。ロータ付近のセンサは、ロータ外周の歯の凹凸が移動するのに伴ってパルス信号を発する。このようなハードウェア構成により、クランク角の回転にともなって、所定のクランク角間隔で、パルス信号を出力することができる。このパルス信号を用いて、クランク角センサ１６の出力するパルス信号を用いたクランクカウントが実施される。パルス信号に基づいて、クランク角の回転を表すカウンタ値をアップしていくことで、現在のクランク角がわかるようになっている。この種の構成は、クランク角センサおよびクランク角検出技術として公知のものであるため、これ以上の詳細な説明は省略する。
【００２５】
制御装置１０におけるメインマイコン１およびサブマイコン２は、カム角センサ１４とも接続している。カム角センサ１４によれば、図示しないカムシャフトの角度（位相角）を検出することができる。
【００２６】
筒内圧センサ１２が、複数の気筒のそれぞれに配置されている。筒内圧センサ１２は、各気筒の筒内圧を取得する。筒内圧は、各気筒の燃焼に関連しており、且つクランク角と同期させて取得すべき物理量である。
【００２７】
制御装置１０は、メインマイコン１と、サブマイコン２とを備えている。メインマイコン１およびサブマイコン２は、それぞれ、ＣＰＵ（中央演算処理装置）、ＲＡＭ・ＲＯＭといった記憶装置、Ｉ／Ｏ（入出力インターフェース）を備えている。メインマイコン１のＲＡＭと、サブマイコン２のＲＡＭとは、それぞれのＩ／Ｏを介して、後述するデータ通信線４でデータ通信可能に接続されている。
【００２８】
メインマイコン１は、エンジン５０のためのエンジン制御を実行するためのマイコンであり、いわゆるエンジン制御ユニットとして機能する。メインマイコン１内の記憶部（ＲＯＭ、ＲＡＭ）には、エンジン制御用のプログラムが記憶されており、メインマイコン１はこのプログラムに従ってエンジン５０を制御する。マイコンを用いたエンジン制御技術自体は、既にＥＣＵ（Electronic Control Unit）上でエンジン制御を実施するための各種技術が公知であるため、ここでは詳細な説明は省略する。
【００２９】
メインマイコン１は、クランク角センサ１６の出力信号を配線３０、分岐配線部３０ａを介して受信する。また、メインマイコン１は、カム角センサ１４の出力信号を配線３２、分岐配線部３２ａを介して受信する。メインマイコン１は、エンジン５０を運転するためのハードウェアを駆動するアクチュエータと電気的に接続しており、これらのアクチュエータを制御するための制御信号を生成することができる。エンジン５０を運転するためのハードウェアは、図１では、インジェクタ１８、イグナイタ２０が図示されている。これ以外にも、ＶＶＴ（可変バルブタイミング機構）などが含まれる。
【００３０】
サブマイコン２は、クランク角センサ１６の出力信号を配線３０、分岐配線部３０ｂを介して受信し、筒内圧センサ１２の出力信号を配線を介して受信する。また、サブマイコン２は、カム角センサ１４の出力信号を配線３２、分岐配線部３２ｂを介して受信する。サブマイコン２は、クランク角センサ１６の出力信号によるクランク角と同期させて筒内圧センサ１２の出力をサンプリングする。
【００３１】
サブマイコン２は、クランク角に応じた筒内圧センサ１２の出力信号に基づいて気筒内の燃焼に関する情報である「燃焼関連情報」を算出するプログラムを実行することができ、そのプログラムは予めサブマイコン２のＲＯＭに書き込まれている。「燃焼関連情報」は、筒内圧センサ１２の出力に基づいて算出されるエンジン制御に利用可能なパラメータである。「燃焼関連情報」としては、筒内圧力、燃焼圧、発熱量、燃焼重心、あるいは燃焼割合（ＭＦＢ）等の、各種のパラメータがある。燃焼関連情報は、メインマイコン１でのエンジン制御に利用されるものである。
【００３２】
データ通信線４は、メインマイコン１とサブマイコン２とを接続し、これらの間で燃焼関連情報を示す信号を通信するためのものである。本実施の形態では、データ通信線４はシリアル通信を行う配線である。データ通信線４を介したデータ通信は、後ほど「データ送信処理」において述べるように、マイコン間で通信処理を実施する際の現実的な制約により、所定周期ごとのデータ送受信が実施される。
【００３３】
ジカ線６は、メインマイコン１とサブマイコン２とを直接に接続し、サブマイコン２からメインマイコン１へ信号を送信するためのものである。検知信号を可能な限り早期に通信するために、いわゆる「ジカ線」でメインマイコン１とサブマイコン２を接続することが考えられる。ジカ線について説明すると、２つのマイコンの間を接続する配線には、シリアル通信等のデータ通信用配線のみならず、そのようなデータ通信よりも簡易な通信を目的とする直接的な配線がある。この直接的な配線が、「ジカ線」と称されている。典型例としては、特開２００６−２４６６２３号公報に記載のダイレクト通信線などである。ジカ線６ではデータ通信タイミングの制約を有さず任意のタイミングでの信号通信が可能である。ジカ線６は簡単なハイ／ローの信号（０または１のデジタル情報）を授受する役割のみを有するものだからである。
【００３４】
［実施の形態の装置の制御処理内容および動作］
（１）サブマイコン２の動作
複数のマイコンで構成された制御装置１０は、エンジン制御を担うメインマイコン１と、筒内圧センサ等の出力信号を用いた演算処理を行うためのサブマイコン２とを備える。単一のマイコンが有する演算処理能力は限られている。演算負荷を分担する観点から、一部の演算処理をサブマイコン２に担当させることが有効である。特に、サブマイコン２は、筒内圧を取り扱うものである。この筒内圧は、クランク角との正確な同期がとられている測定データであることが重要な意味を有する物理量である。
【００３５】
本実施の形態では、筒内圧センサ１２の出力信号の取得処理、クランク角センサ１６の出力信号の取得処理およびこれに基づくクランク角検出、クランク角センサ１６出力に基づくクランク角に同期させた筒内圧センサ１２出力信号のサンプリング処理、および、そのサンプリング値を用いることによる各種パラメータ（燃焼関連情報）の演算処理といった複数の処理を、サブマイコン２上で行う。
【００３６】
具体的には、サブマイコン２が実行する処理は、下記の処理を含む。以下、それぞれの処理内容を説明する。
・クランクカウント
・カウント値判定（欠歯判定）
・異常検知処理
・クランクカウンタ修正処理
・データ送信処理
【００３７】
（クランクカウント）
図２は、本発明の実施の形態にかかる内燃機関の制御装置の動作を説明するための図であり、クランクカウントが正常に行われている場合にサンプリングした筒内圧センサ１２の出力信号に基づく筒内圧波形を示す図である。
【００３８】
クランクカウントは、短周期出力信号（クランク角センサ１６からのパルス信号）に基づいてカウントを行い、そのカウント値に基づいてクランク角を算出するものである。クランク角との正確な同期が取られている測定データを取得するためには、その前提として、クランク角センサ１６の出力信号に基づく正確なクランク角の計測を行うことが必要である。本実施の形態では、このパルス信号を用いて、クランク角センサ１６の出力するパルス信号を用いたクランクカウントが実施される。パルス信号に基づいて、クランク角の回転を表すカウンタ値をアップしていくことで、現在のクランク角がわかるようになっている。この種の構成は、クランク角センサおよびクランク角検出技術として公知のものであるため、これ以上の詳細な説明は省略する。
【００３９】
（カウント値判定（欠歯判定））
カウント値判定は、カウント値が示すクランク角と特定クランク角信号が示すクランク角との対比を行うものである。クランクカウントは、パルス信号等の計測を行うことによりカウンタ値の増加（カウントアップ）を行っていく仕組みである。上述したクランクカウントでは、基準とするクランク角＝０度から、クランク角の回転に伴ってカウントアップされ、クランク角＝７２０度（クランクシャフトが２回転）となったときにカウンタがリセットされる。
【００４０】
ノイズ発生等の異常がなく、クランク角センサ１６の回転角に従って正常にカウントアップがなされていれば、クランクカウンタのカウンタ値から決まるクランク角と、特定クランク角信号が示すクランク角とが一致するはずである。「特定クランク角信号」とは、ロータの欠歯位置で発せられる信号であり、本実施の形態では３６０度周期で迎える特定の角度を表す信号である。
【００４１】
図３は、本発明の実施の形態にかかる内燃機関の制御装置の動作を説明するための図であり、クランクカウントにおけるノイズの悪影響を説明するための図である。図３に示すように、電気信号ノイズとパルス信号等の正常信号とを取り違える誤検出があると、誤ったカウントアップが行われてしまう。その結果、クランク角検出が不正確なものとなり、クランク角との正確な同期が取られている測定データを取得することができなくなってしまう。
【００４２】
従って、これに対処するため、クランク角誤検出があるかどうかを確認するための判定がなされている。具体的には、本実施の形態では、クランク角センサ１６のロータ外周の歯のうち一部の位置（特定角度）の歯を欠けた状態に形成し、これを目印としてクランク角度とカウンタ値との対比を行うという判定が行われている。この判定は、「欠歯判定」とも称される。このような欠歯判定の詳細な技術内容は既に公知であるため、これ以上の詳細な説明は省略する。
【００４３】
欠歯判定の結果からクランク角検出に異常が検出された場合には、その異常検出以前の一定期間にわたってクランク角と同期が取れていなかったことになるので、クランク角と同期が取れていることを前提に取得している筒内圧等の測定データや、この測定データから算出した燃焼関連情報を、エンジン５０の制御に使用することは控えるべきである。さもないと、エンジン５０の制御精度が低下してしまうからである。
【００４４】
（異常検知処理）
図４は、本発明の実施の形態にかかる内燃機関の制御装置の動作を説明するための図であり、誤ったカウントアップの様子を説明するための図である。異常検知処理は、カウント値が示すクランク角と特定クランク角信号が示すクランク角とが整合していない場合に、ジカ線を経由してメインマイコン１に対して検知信号を送信するものである。複数のマイコンを用いたエンジン制御ユニットを構成する場合には、メインマイコン１とサブマイコン２がそれぞれ別の電気配線を備えており、それぞれのマイコンの電気配線に対してクランク角センサ１６の出力端子が接続するケースがある。
【００４５】
このような場合、サブマイコン２のみに対してクランク角センサ１６出力信号にノイズが乗ることがありえる。図４は、そのような場合を例示する図であり、メインマイコン１のカウント値は正常なのに対して、サブマイコン２のカウント値にノイズが乗っている。このような場合、サブマイコン２でのみクランク角計数異常が発生することになる。そうすると、サブマイコン２側で取得した筒内圧等の測定データやこれから算出した燃焼関連情報は、メインマイコン１側においてエンジン制御に使用することができない。
【００４６】
このような事態に対処するために、メインマイコン１側において、サブマイコン２でのクランク角計数異常の発生を認識させておく必要がある。その認識を実現するため、サブマイコン２でのクランク角計数異常の発生を通知する「検知信号」を、メインマイコン１側に送信する。「検知信号」は、例えばノーマル（正常）がローであり異常時にハイとなるように定めてもよく、あるいはその逆であってもよい。
【００４７】
（クランクカウンタ修正処理）
図５は、本発明の実施の形態にかかる内燃機関の制御装置で行われるクランクカウンタ修正処理の内容を説明するための模式図であり、模式的に「クランク角修正」と「クランククリア」の違いを表すものである。クランクカウントでは、基準とするクランク角＝０度から、クランク角の回転に伴ってカウントアップされ、最終的に７２０度に達した時点でカウンタ値がリセットされる。
【００４８】
図５（ａ）は、「クランク角修正」の内容を示している。クランク角修正とは、欠歯判定の結果に基づいてカウンタ値を訂正な値に補正し（つまり特定クランク角信号に従ってカウント値を修正し）、クランクカウントを継続するものである。
【００４９】
図５（ｂ）は、「クランククリア」の内容を示している。クランククリアとは、所定区間又は所定条件成立までクランク角センサ１６に基づくクランク角検出を中断するものである。本実施の形態では、次回の欠歯判定が実施されるまでの間、クランクカウントが中断される。そして次回の欠歯判定の後、クランクカウントが再開され、これに伴ってクランク角検出の再開およびクランク角同期で実施すべき筒内圧センサ１２の出力信号サンプリング等が再開されることになる。クランククリアによれば、不安定な期間が経過した後に、正確なクランクカウントを再開することができる。
【００５０】
クランクカウンタ修正処理は、カウント値が示すクランク角と特定クランク角信号が示すクランク角とが整合していない場合に、所定の運転条件に基づいて、クランク角修正とクランククリアとを選択的に実行するものである。クランク角検出に異常があった場合、つまりクランクカウントが適正でなかった場合、クランク角修正とクランククリアという２つの異なる処理を選択的に利用するのである。クランク角修正で対処できるのであれば良いが、エンジン回転数が低いときなどクランク角修正後直ちにクランクカウントを継続するには不適切な環境（カウンタ値の信用性が乏しい環境）の場合には、クランククリアが選択されることが好ましいからである。
【００５１】
（データ送信処理）
データ送信処理は、クランククリアによるクランク角検出の中断期間を除いて、データ通信線４を介して、サブマイコン２が計算した各気筒の燃焼関連情報をメインマイコン１に送信するものである。この送信は、所定のデータ送信周期と同期させて複数の気筒の燃焼行程の終了ごとに逐次的に行われる。
【００５２】
送信されるデータは、サブマイコン２がプログラムを実行して計算した筒内圧、発熱量などの燃焼関連情報である。燃焼関連情報とともに、その燃焼関連情報がいずれの気筒のデータであるかを識別する情報もあわせて送信されるものとする。データ通信により、燃焼関連情報が、メインマイコン１のメモリ（ＲＡＭ）に書き込まれることになる。書き込まれた燃焼関連情報は、メインマイコン１が実施するエンジン制御処理に利用されることができる。
【００５３】
（２）メインマイコン１の動作
ジカ線を活用することで、信頼性の低い燃焼関連情報が内燃機関の制御に使用される事態を迅速に防止することができる。しかしながら、そのような迅速な防止措置を行ううえでは、メインマイコン１側で、クランク角修正とクランククリアという２つの異なる処理を含むクランクカウンタ修正処理のいずれが行われても問題が生じないようにすべきである。
【００５４】
このような観点から、本実施の形態では、メインマイコン１が実行する処理は、下記の処理を含む。以下、それぞれの処理内容を説明する。
・異常検出フラグオン処理
・異常検出フラグオフ処理
・信頼性フラグ処理
・情報使用制限処理
【００５５】
（異常検出フラグオン処理）
メインマイコン１は、その内部（ＲＡＭ内の所定アドレス）に、異常検出フラグを備えている。異常検出フラグは、サブマイコン２から検知信号が届いたか否かを記憶するフラグである。異常検出フラグオン処理は、メインマイコン１が、ジカ線６を経由して検知信号を受信したときに異常検出フラグをオンとする処理である。つまり、異常検出フラグがオンであるときは、サブマイコン２でのクランク角計数異常の発生が通知されたことを示す。
【００５６】
（異常検出フラグオフ処理）
異常検出フラグオフ処理は、所定条件の成立時に、異常検出フラグをオフとする処理である。異常検出フラグをオフに戻す（クリアする）タイミングは、欠歯判定を実施するクランク角位置と、各気筒の筒内圧データ検出区間との関係から決まる。以下、この点について説明する。筒内圧データ検出区間とは、筒内圧センサ１２の出力信号にサンプリングを実施する区間である。
【００５７】
異常検出フラグをオフとすべき所定条件は、「特定気筒の筒内圧センサ１２の出力値から算出した燃焼関連情報をメインマイコン１が受信したことである。
【００５８】
「特定気筒」は、「特定クランク角区間内」に筒内圧データ検出区間が存在する複数の気筒のうち、最も点火順序が遅い気筒のことを指している。
「特定クランク角区間」とは、「第１の特定クランク角信号」と「第２の特定クランク角信号」とで決まるクランク角区間である。「特定クランク角信号」とは、ロータの欠歯位置で発せられる信号であり、本実施の形態では３６０度周期で迎える特定の角度を表す信号である。つまり、「特定クランク角区間」は、１つの欠歯判定タイミングとこれに隣り合う他の一つの欠歯判定タイミングとで挟まれる区間を指している。
【００５９】
「第１の特定クランク角信号」は、異常検知処理で検知信号を送信する根拠として用いられた特定クランク角信号である。つまり、「第１の特定クランク角信号」は、欠歯判定でクランク角計数異常（クランクカウンタずれ）が発見されたときに、そのときの欠歯で生成されたクランク角信号を意味している。「第２の特定クランク角信号」は、第１の特定クランク角信号の前に迎えた特定クランク角信号である。
【００６０】
本実施の形態では、第１の特定クランク角信号で決まるクランク角は＃２気筒ＴＤＣと＃３気筒ＴＤＣのいずれか一方であり、第２の特定クランク角信号で決まるクランク角は＃２気筒ＴＤＣと＃３気筒ＴＤＣの他方である。例えば＃３気筒ＴＤＣでの欠歯判定でクランク角計数異常が発見されたのであれば、第１の特定クランク角信号で決まるクランク角は＃３気筒ＴＤＣを示す信号である。そして、第２の特定クランク角信号は、その一つ前の欠歯判定タイミングである＃２気筒ＴＤＣを示す信号である。
【００６１】
以下、異常検出フラグオフ処理の「所定条件」が成立する具体的なケースを、二つ説明する。
「第１のケース」として、第１の特定クランク角信号が示すクランク角が＃２気筒ＴＤＣに該当する場合には、第２の特定クランク角信号が＃３気筒ＴＤＣに該当する。この場合、「特定クランク角区間」は、＃２気筒ＴＤＣを基準として時間的に遡って＃３気筒ＴＤＣまでのクランク角区間（時系列的には、＃３気筒ＴＤＣからその後＃２気筒ＴＤＣを迎えるまでの区間）である。第１のケースでは、「特定クランク角区間内に筒内圧データ検出区間が存在する気筒」は、本実施の形態では＃３、＃４、および＃２気筒であり、そのなかで「特定気筒」は＃２気筒である。従って、第１のケースでは、＃２気筒についての燃焼関連情報データをメインマイコン１が受信したときに、異常検出フラグオフ処理の「所定条件」が成立することになる。
【００６２】
また、「第２のケース」として、第１の特定クランク角信号が示すクランク角が＃３気筒ＴＤＣに該当する場合には、第２の特定クランク角信号が＃２気筒ＴＤＣに該当する。この場合には、「特定クランク角区間」は、＃３気筒ＴＤＣを基準として時間的に遡って＃２気筒ＴＤＣまでのクランク角区間（時系列的には、＃２気筒ＴＤＣからその後＃３気筒ＴＤＣを迎えるまでの区間）である。第２のケースでは、「特定クランク角区間内に筒内圧データ検出区間が存在する気筒」は、本実施の形態では＃２、＃１、および＃３気筒であり、そのなかで「特定気筒」は＃３気筒である。従って、第２のケースでは、＃３気筒についての燃焼関連情報データをメインマイコン１が受信したときに、異常検出フラグオフ処理の「所定条件」が成立することになる。
【００６３】
（信頼性フラグ処理）
さらに、本実施の形態では、メインマイコン１が、下記の処理を実行するように構成されている。
メインマイコン１は、複数の「データ信頼性フラグ」を備えている。データ信頼性フラグは、複数の気筒それぞれについて少なくとも１つずつ割り当てられる。この複数のデータ信頼性フラグを用いて、メインマイコン１は、信頼性フラグ処理を実行する。
【００６４】
信頼性フラグ処理は、異常検出フラグがオンである期間にはデータ信頼性フラグをオフとし、かつ、異常検出フラグがオフである期間には複数のデータ信頼性フラグをオンとするものである。なお、本実施の形態では、後述する図６および図７のタイムチャートに示すように、データ信頼性フラグは、正常つまり信頼性があると判断される場合にはハイ（フラグオン）であり、異常である場合にはロー（フラグオフ）となるものとする。
【００６５】
（１）データ信頼性フラグのオフ制御（正常から異常へと変更する制御）
本実施の形態では、次のパターンで、データ信頼性フラグをオン（正常）からオフ（異常）へと切り替える。
【００６６】
この切替パターンは、メインマイコン１がサブマイコン２から現実に燃焼関連情報のデータを受信したタイミングを基準とするものである。この切替パターンは、下記の２つに分けられる。
一つ目は、メインマイコン１がある気筒（図６では＃３気筒）の燃焼関連情報を既に現実に受信している場合に、その現実の受信より後に、異常検出フラグがオンとなった場合のためのパターンである。このパターンでは、その気筒（図６では＃３気筒）のデータ信頼性フラグを、異常検出フラグのオンともに、速やかに、オフ（ロー）とする。
二つ目は、異常検出フラグが既にオンとなっている場合に、その後にメインマイコン１がある気筒（図６では＃４気筒）の燃焼関連情報を新たに受信した場合のためのパターンである。この二つ目のパターンでは、その気筒（図６では＃４気筒）の燃焼関連情報を新たに受信したデータ受信タイミングにおいて、異常検出フラグがその時点でオンとなっているのであれば、＃４気筒のデータ受信タイミングとともに＃４気筒のデータ信頼性フラグをオフ（ロー）とする。この２つのパターンに共通するのは、ある気筒について現実のデータ受信があったという条件と、異常検出フラグがオンとなっているという条件とが両方とも成立したときには、その気筒のデータ信頼性フラグをオフ（ロー）とするということである。
【００６７】
（２）データ信頼性フラグのオン制御（異常から正常へと変更する制御）
また、本実施の形態では、データ信頼性フラグをオフ（異常）からオン（正常）へ切り替える処理は、次のような処理内容である。すなわち、メインマイコン１は、各気筒の燃焼関連情報データを現実に受信した場合に、異常検出フラグがオフであるのであれば、データを受信した気筒についてのデータ信頼性フラグを正常つまりオンに戻すという処理を実行する。本実施の形態では、「現実に受信した場合」とは、「メインマイコン１側で、サブマイコン２側からの燃焼関連情報のデータ受信に関する割り込み処理があったこと」を意味するものとする。
具体例としては、＃３気筒の燃焼関連情報データを現実に受信した場合に、異常検出フラグがオフであれば、＃３気筒についてのデータ信頼性フラグを正常（つまりオン）に戻す。
【００６８】
なお、信頼性フラグ処理は、エンジン５０の「他の制御異常」の有無に基づいて複数のデータ信頼性フラグのオンとオフを切り替えるものであってもよい。「他の制御異常」とは、例えば、筒内圧センサ１２についてのサンプリング処理（ＡＤ変換処理）に異常があった場合が含まれる。異常検出フラグのオンオフのほか、このような「他の制御異常」の有無によってもデータ信頼性フラグのオンオフを切り替えてもよい。その場合には、例えば、「異常検出フラグのオン」と「他の制御異常が有ること」の少なくとも一方が成立している場合にはデータ信頼性フラグをオフとし、逆に「異常検出フラグのオフ」と「他の制御異常が無いこと」の両方が成立している場合にはデータ信頼性フラグをオンとするようにしてもよい。このようにすることで、データ信頼性フラグを設けることにより燃焼関連情報の使用可否を気筒ごとに内燃機関の制御処理状態に基づいて柔軟に決定することができ、その決定要素の一つとして異常検出フラグのオンオフ状態を反映させることができる。つまり、異常検出フラグのオンオフ以外の、他の制御異常をも総合的に勘案することができるようになる。
【００６９】
（情報使用制限処理）
情報使用制限処理は、ある気筒のデータ信頼性フラグがオフ（つまり信頼性無し）である期間は、この気筒の燃焼関連情報をエンジン制御へ使用することを制限する。本実施の形態では、メインマイコン１が、各気筒ごとに、フィードバック制御量算出のために燃焼関連情報をメインマイコン１内のＲＡＭから読み出すべき読出タイミングで、データ信頼性フラグが参照する参照処理を実行するものとする。
【００７０】
例えば、＃３気筒における燃焼関連情報の読出タイミングで、参照処理の結果、＃３気筒のデータ信頼性フラグがオフであるとする。その場合は、メインマイコン１は、＃３気筒の燃焼関連情報をエンジン制御へ使用しない。本実施の形態では、メインマイコン１は、異常検出フラグがオフである間は燃焼関連情報をエンジン５０のフィードバック制御に使用し、異常検出フラグがオンである間は燃焼関連情報をエンジン５０のフィードバック制御に使用しない。
【００７１】
なお、データ信頼性フラグを介在させないで、異常検出フラグがオンであるときには、メインマイコン１が「特定クランク角区間内に筒内圧データ検出区間が存在する複数の気筒それぞれの燃焼関連情報」をエンジン制御に使用しないようにしてもよい。すなわち、情報使用の制限についての基本的な考え方は、下記のとおりである。
【００７２】
前述の第１のケースでいえば、＃３、＃４、および＃２気筒が、特定クランク角区間内に筒内圧データ検出区間の少なくとも一部が存在している。これらの気筒の燃焼関連情報は、クランク角計数異常（クランクカウンタずれ）が起きた特定クランク角区間内でサンプリングした値に基づいて算出されたデータであり、不正確な値を含みうるから「信頼性が無い」と判断せざるをえない。従って、異常検出フラグがオンであるときには＃３、＃４、および＃２気筒の燃焼関連情報を、エンジン制御に使用しなければよい。
【００７３】
同様に、上記の第２のケースでいえば、＃２、＃１、および＃３気筒については、特定クランク角区間内に筒内圧データ検出区間が存在している。これらの気筒の燃焼関連情報は、クランク角計数異常（クランクカウンタずれ）が起きた特定クランク角区間内でサンプリングした値に基づいて算出されたデータであり、不正確な値を含みうるから「信頼性が無い」と判断せざるをえない。従って、異常検出フラグがオンであるときには＃２、＃１、および＃３気筒の燃焼関連情報を、エンジン制御に使用しなければよい。
【００７４】
一方、メインマイコン１は、異常検出フラグがオフとなったときは、「特定気筒についての燃焼関連情報より後に受信した燃焼関連情報」をエンジン制御に使用すればよい。例えば、前述の第１のケースであれば、「特定気筒」は＃２気筒である。従って、異常検出フラグがオフとなった後は、＃２気筒の次の点火順である「＃１気筒についての燃焼関連情報」からエンジン制御への利用を開始し、それ以降は異常検出フラグオンが無い限りメインマイコン１が順次受信した燃焼関連情報をエンジン制御に使用するのである。＃２気筒の燃焼関連情報データまでは信頼性が無いと判断せざるを得なかったが、＃２気筒の後の＃１気筒については、クランク計数異常（クランクカウンタずれ）の影響を有さない正常なデータであると判断することができるからである。
【００７５】
［実施の形態の装置における異常検出フラグのオンオフ制御のタイムチャート］
以下、制御装置１０の制御内容をタイムチャートを用いて時系列的に説明する。図６および図７は、本発明の実施の形態にかかる内燃機関の制御装置の動作を説明するための図である。図６は、クランク角修正を実施する場合における、異常検出フラグのオンとオフを切り替える制御動作を説明するためのタイムチャートである。図７は、クランククリアを実施する場合における、異常検出フラグのオンとオフを切り替える制御動作を説明するためのタイムチャートである。
【００７６】
図６および図７では、それぞれ、最上段のタイムチャートがクランクカウンタの値を示しており、中段の複数のタイムチャートがサブマイコン２の処理内容を示しており、下段のタイムチャートがメインマイコン１の処理内容を示している。下段の複数のタイムチャートが、異常検出フラグおよびデータ信頼性フラグのタイムチャートを含んでいる。
【００７７】
図６の中段には、紙面上方から下方に向かって、サブマイコン２のタイムチャートが複数個並べられている。この複数個のタイムチャートは、下記の要素からなっている。
「筒内圧データ検出区間・ＡＤ区間」を示す気筒ごとのタイムチャート
「各種パラメータ算出」を示すタイムチャート（矢印）
「欠歯判定タイミング」を表す星印
「マイコン間通信」を示すタイムチャート（矢印）
【００７８】
図６の下段には、紙面上方から下方に向かって、メインマイコン１のタイムチャートが複数個並べられている。この複数個のタイムチャートは、下記の要素からなっている。
「データ受信タイミング」を示す丸印
「マイコン２のクランクずれ受信タイミング」を示す星印
「＃２ＴＤＣズレ検出フラグ」のオンオフを示すタイムチャート
「データ信頼性フラグ」のオンオフを示すタイムチャート
「受信パラメータを用いた次サイクルの制御タイミング」を示す丸印
【００７９】
（１−１）クランク角修正の場合
図６を用いて、先ず、クランク角修正を実施する場合における異常検出フラグのオンオフを説明する。クランクシャフトの回転に伴ってクランクカウントが行われている途中で、図６の上段に示すようにノイズが発生した場合、このノイズに起因して誤ったクランクカウントが行われてしまう。この誤ったクランクカウントは欠歯判定の実施により検出され、ロータの欠歯位置で取るべきクランク角と一致するように、カウンタ値が修正される。これがクランク角修正の一連の流れである。
【００８０】
「筒内圧データ検出区間（ＡＤ区間）」を示す気筒ごとのタイムチャートは、＃１、＃３、＃４、＃２気筒それぞれにおいて筒内圧センサ１２の出力信号をサンプリング（ＡＤ変換）するＡＤ区間を示す矢印からなっている。このＡＤ区間は、各気筒ごとに、上死点前ＢＴＤＣ１８０度（Ｂ１８０と図示している）から、上死点後ＡＴＤＣ１８０度（Ａ１８０と図示している）までの区間である。各気筒ごとに、「筒内圧データ検出区間（ＡＤ区間）」の終了つまりＡ１８０のタイミングで、各種パラメータ算出（燃焼関連パラメータの算出）が実施され、その算出後に、マイコン間通信が開始されている。これらの一連の処理がサブマイコン２で行われるのとともに、サブマイコン２では、クランク角３６０度間隔で、欠歯判定が実施されている。欠歯判定は、本実施の形態では、＃３気筒の上死点または＃２気筒の上死点で実施されている。
【００８１】
このようなサブマイコン２における処理動作の過程で、前述のノイズ発生があると、そのノイズによるクランクカウンタずれ（クランク角計数異常）が欠歯判定により検出される。欠歯判定での検出の結果は、異常検知処理により、ジカ線６を介して検知信号としてメインマイコン１へと送信される。この送信の様子が、図６において、サブマイコン２の「欠歯判定タイミング」の星印から「マイコン２のクランクズレ受信タイミング」の星印へと向かう紙面縦向き矢印で図示されている。
【００８２】
メインマイコン１が異常検出フラグオン処理を実施することで、図６上段に示す「ノイズ発生」によりメインマイコン１へと検知信号が発せられて「＃２ＴＤＣズレ検出フラグ」がオン（ハイ）に切り替わる。この「＃２ＴＤＣズレ検出フラグ」は、すなわち「異常検出フラグ」である。「＃２ＴＤＣズレ検出フラグ」は、メインマイコン１が異常検出フラグオフ処理を実施することで、＃２気筒のデータを受信したタイミングでオフ（ロー）とされる。
【００８３】
「＃２ＴＤＣズレ検出フラグ」のオンオフに伴って、＃１〜＃４データ信頼性フラグのオンオフも制御される。すなわち、＃２ＴＤＣズレ検出フラグがオンとなると、これに応じて、先ず、＃３気筒のデータ信頼性フラグがローに立下り、異常を示すオフ状態となる。一方、＃２ＴＤＣズレ検出フラグがオンに切り替わったタイミングでは、＃４、＃２気筒のデータ信頼性フラグは、いまだ正常を示すオン（ハイ）のままである。その後、＃４、＃２気筒のデータ受信があったときは、＃２ＴＤＣズレ検出フラグがオンであるから、これに応じて、メインマイコン１が＃４、＃２気筒のデータ信頼性フラグをそれぞれオフ（ロー）へと切り替える。
【００８４】
メインマイコン１が情報使用制限処理を実行することで、＃３、＃４、および＃２気筒のデータ信頼性フラグがオフ（つまり信頼性無し）であるそれぞれの期間は、これらの気筒の燃焼関連情報をエンジン制御へ使用することが制限される。
なお、図６のケースでは、＃１気筒のデータ信頼性フラグはオンのままである。
【００８５】
その後、＃２ＴＤＣズレ検出フラグは、前述した「異常検出フラグオフ処理」によりオフ（ロー）に立ち下がる。図６は、前述の「第１のケース」に該当するので、＃２気筒についての燃焼関連情報のデータ受信とともに、＃２ＴＤＣズレ検出フラグがオフとされる。
【００８６】
＃２ＴＤＣズレ検出フラグのオフの後、前述の「信頼性フラグ処理」により、＃３、＃４、および＃２気筒のデータ信頼性フラグそれぞれが、各気筒の正常を示すオン（ハイ）へと切り替えられている。
【００８７】
その後、メインマイコン１が、これら＃３、＃４、および＃２気筒の燃焼関連情報をエンジン制御へ使用することができるようになる。つまり、メインマイコン１の情報使用制限処理による制限が、解除される。＃２ＴＤＣズレ検出フラグがオフとなった後は、＃２気筒の次の点火順である「＃１気筒についての燃焼関連情報」からエンジン制御への利用を開始し、それ以降は異常検出フラグオンが無い限りメインマイコン１が順次受信した燃焼関連情報をエンジン制御に使用するのである。
【００８８】
（１−２）クランククリアの場合
次に、図７を用いて、先ず、クランククリアを実施する場合における異常検出フラグのオンオフを説明する。
【００８９】
図７においても、図６と同様に、ノイズに起因して誤ったクランクカウントが行われた場合を示している。この誤ったクランクカウントは欠歯判定の実施により検出されるが、図７では図６とは異なり、クランククリアが実施される。その結果、図７の網掛け部分はクランククリア期間となり、クランク角が検出されない。これに伴って筒内圧センサ１２の出力信号をサンプリングする処理（ＡＤ変換）も実施されない。従って、この区間の筒内圧を基礎とする燃焼関連情報の算出も行われない。
【００９０】
このようなサブマイコン２における処理動作の過程で、前述のノイズ発生があると、そのノイズによるクランクカウンタずれ（クランク角計数異常）が欠歯判定により検出される。これは図６の場合も図７の場合も同じである。欠歯判定での検出の結果は、図６の場合と同様に、図７においても、異常検知処理により、ジカ線６を介して検知信号としてメインマイコン１へと送信されている。その結果、＃２ＴＤＣズレ検出フラグがオンとなり、これに伴って、図６を用いて述べた「クランク角修正」の場合と同様に、＃１〜＃４データ信頼性フラグのオンオフが制御される。
【００９１】
図７においても、メインマイコン１が情報使用制限処理を実行する。その結果、＃３、＃４、および＃２気筒のデータ信頼性フラグがオフ（つまり信頼性無し）であるそれぞれの期間は、これらの気筒の燃焼関連情報をエンジン制御へ使用することが制限される。
【００９２】
図７においてはさらに、欠歯判定を実施した＃２気筒ＴＤＣ以後における＃１気筒と＃３気筒の燃焼関連情報も、エンジン制御に使用されない。図７の場合は、図６のときとは異なり、クランククリア区間が発生しているという違いがあるからである。クランククリア区間では、クランク角を示す信号が発生しないので、クランク角同期での筒内圧センサ１２の出力信号サンプリングが不可能である。そのクランククリア区間内に筒内圧データ検出区間（ＡＤ区間）の少なくとも一部が属する気筒（つまり＃１および＃３気筒）については、燃焼関連情報の算出に用いるべき筒内圧センサ１２の出力信号のサンプリングが行われない。この点は、図６のクランク角修正の場合と、図７のクランククリアの場合とで明確に異なっている。
【００９３】
その後、＃２ＴＤＣズレ検出フラグは、前述した「異常検出フラグオフ処理」によりオフ（ロー）に立ち下がる。図７も、図６と同様に前述の「第１のケース」に該当するので、＃２気筒についての燃焼関連情報のデータ受信とともに、＃２ＴＤＣズレ検出フラグがオフとされる。その後、データ信頼性フラグのオン、受信パラメータを用いたエンジン制御再開という流れは、図６で述べたのと同様である。
【００９４】
なお、本実施の形態では、＃４気筒についての燃焼関連情報を次のように取り扱う。図７において、＃４気筒については、ＡＤ区間がクランククリア区間の外に存在している。この場合、クランククリア終了とともにクランクカウント再開およびクランク角検出が実施され、クランク角同期での筒内圧センサ１２の出力信号サンプリングが実施されることで、最終的に、＃４気筒についての燃焼関連情報の算出およびそのデータ受信が実施される。このときの＃４気筒についての燃焼関連情報は、クランク角との同期が取れている点では問題なく使用可能なものである。しかしながら、本実施の形態では、その＃４気筒についての燃焼関連情報の受信タイミングにおいても、いまだ＃４気筒のデータ信頼性フラグが異常を示すオフ（ロー）であることから、データ信頼性なしと取り扱う。これは、クランク角修正とクランククリアの両方において、＃２ＴＤＣズレ検出フラグの制御を「異常検出フラグオフ処理」により行うこととした結果である。
【００９５】
［実施の形態の装置が行う具体的処理］
図８および図９は、本発明の実施の形態において、異常検出フラグのオン、オフに関して、メインマイコン１が実行するルーチンのフローチャートである。エンジン５０は、これらのルーチンとはべつに、エンジン制御（本実施の形態ではフィードバック制御）や、サブマイコン２側での各種処理（クランクカウントや、筒内圧センサ１２の出力信号サンプリングなど）が実施されているものとする。
【００９６】
図８のルーチンは、エンジン５０の運転中に、サブマイコン２からメインマイコン１に対して、ジカ線６を介した「検知信号」が送受信されたときに、これを受信したメインマイコン１が実行する割り込みルーチンである。
【００９７】
図８のルーチンでは、先ず、メインマイコン１が、クランクズレ検出フラグ（異常検出フラグ）をオンとする処理を実行する（ステップＳ１００）。
【００９８】
次に、メインマイコン１が、「クランクズレ検出時ＴＤＣ気筒」の判別を行う判別処理を実行する（ステップＳ１０２）。「クランクズレ検出時ＴＤＣ気筒」とは、本実施の形態では、欠歯判定を実施したタイミングでＴＤＣとなっている気筒を意味しており、具体的には、＃２気筒と＃３気筒のいずれか一方である。この気筒の判別は、欠歯判定実施のときのクランクカウンタのカウンタ値に基づいて、そのカウンタ値が本来予定するＴＤＣ気筒が＃２気筒か＃３気筒かを判別しても良い。
また、図６等に示すように、クランクカウンタがクランク角０度から７２０度へとカウントアップされていくときに、相対的に先に行われる欠歯判定は＃３気筒ＴＤＣにあたり、相対的に後に行われる欠歯判定は＃２気筒ＴＤＣにあたる。よって、この相対的関係から気筒を判別しても良い。また、カム角センサ１４の出力信号との協働によって、気筒の判別を行っても良い。
【００９９】
次に、メインマイコン１が、データ信頼性フラグをオフとする処理を実行する（ステップＳ１０３）。このステップは、前述の「信頼性フラグ処理」で説明した処理内容をメインマイコン１が実行するものである。
【０１００】
その後今回のルーチンが終了する。次回、検知信号を受信したときも、メインマイコン１が再度図８のルーチンを実行する。
【０１０１】
図９のルーチンは、エンジン５０の運転中に、サブマイコン２からメインマイコン１に対して、データ通信線４を介した燃焼関連情報のデータ送受信があったときに、これを受信したメインマイコン１が実行する割り込みルーチンである。
【０１０２】
図９のルーチンでは、先ず、メインマイコン１が、クランクズレ検出フラグ（異常検出フラグ）がオンであるか否かを判定する処理を実行する（ステップＳ１０４）。
ステップＳ１０４の条件が不成立（Ｎｏ）であったときは、処理はステップＳ１１２へ移る。ステップＳ１１２では、前述した「信頼性フラグ処理」を開始するので、各気筒のデータ信頼性フラグをオン（正常）とする処理が実行される。その後、今回のルーチンが終了する。
【０１０３】
ステップＳ１０４の条件が成立（Ｙｅｓ）であったときは、ステップＳ１０６へと進む。ステップＳ１０６では、メインマイコン１が、「クランクズレ検出時ＴＤＣ気筒」が、今回データ通信線４を通じて取得したデータの該当する気筒（データ受信気筒）と一致しているか否かを判定する処理を実行する。「クランクズレ検出時ＴＤＣ気筒」は、前述した図８のステップＳ１０２において判別済である。また、データ受信気筒については、サブマイコン２から、燃焼関連情報とともにいずれの気筒のデータであるかを識別する情報もあわせて送信されている。従って、メインマイコン１は、これらの情報から、ステップＳ１０６の比較判定処理を実施する。
本実施の形態では、エンジン５０において「クランクズレ検出時ＴＤＣ気筒」が「特定気筒」と一致する関係が成立しており、いずれも＃２気筒である。そこで、本実施の形態では、ステップＳ１０６の判別式を利用している。かりに、「クランクズレ検出時ＴＤＣ気筒」が「特定気筒」と一致しない関係のエンジンであったとしても、その場合には予め「特定気筒」がどの気筒になるのかを調べておき、データ受信気筒と特定気筒との一致を判定すればよい。
両気筒が一致していなければ、ステップＳ１０６の条件が不成立（Ｎｏ）となり、処理はステップＳ１１２へ移る。ステップＳ１１２では、前述した「信頼性フラグ処理」に従って、データ信頼性フラグの内容を保持する処理が実行される。その後、今回のルーチンが終了する。
【０１０４】
ステップＳ１０６の条件が成立（Ｙｅｓ）であったときは、ステップＳ１０８へと進む。ステップＳ１０８では、メインマイコン１が、異常検出フラグをクリア（オフ）とし、かつ、「クランクズレ検出時ＴＤＣ気筒」の値をクリアする処理を実行する。ステップＳ１０６において、異常検出フラグをオフとする条件が成立したからである。
【０１０５】
次に、メインマイコン１は、データ受信気筒履歴を記憶する処理を実行する（ステップＳ１１０）。このステップでは、ステップＳ１０６で述べたデータ受信気筒が何番気筒であったかを記憶しておく。
【０１０６】
次に、メインマイコン１は、データ信頼性フラグ処理を実行開始する（ステップＳ１１２）。このステップでは前述した「信頼性フラグ処理」を開始するので、これ以降、データ信頼性フラグが各気筒のデータ受信タイミングで随時オン（正常）とされていく。
【０１０７】
その後今回のルーチンが終了する。
【０１０８】
以上説明した本実施の形態にかかる制御装置１０は、クランク角修正とクランククリアという２つの異なる処理を選択的に利用する場合において、データ通信線経由の燃焼関連情報の受信に応じて、適切なタイミングで異常検出フラグをオフとすることができる。メインマイコン１での制御処理の内容を工夫したからである。
【０１０９】
なお、仮にジカ線をさらに一本又は数本増加させて、このジカ線を用いてクランクカウンタ修正処理の種類を通知するという案も考えられなくは無い。しかしながら、ジカ線を増加させればそれだけ製品コストも増加し不利になる。この点、本実施の形態によれば、ジカ線の増加ではなく処理内容を工夫することによって、２つの異なる処理を含むクランクカウンタ修正処理に対処することができる。
【０１１０】
［実施の形態におけるジカ線が有する効果］
以下、本実施の形態にかかる制御装置１０の動作を示すタイムチャート上で、ジカ線６が発揮する効果を説明する。一般に、データ通信線４を用いるデータ通信は、マイコン間で通信処理を実施する際の現実的な制約により、所定周期ごとのデータ送受信が実施されることが普通である。このデータ送受信によりクランク角計数異常を報知することもできなくはないが、そのようなデータ送受信タイミングの制約があると、クランク角異常検出があった後に直ちに検知信号を送ることができないケースが想定される。検知信号は可能な限り早期にメインマイコン１に伝わることが好ましく、その観点からは、ジカ線６を利用することが有効である。
【０１１１】
特に、メインマイコン１側でフィードバック制御を実施している場合には、サブマイコン２の有する情報（筒内圧等の測定データ等）が次サイクルで使用可能な正常なデータかどうかが、その制御結果に直接的な影響を及ぼす。従って、ジカ線６による検知信号の送信は、よりいっそう有効性を増すことになる。
【０１１２】
図１０乃至１２は、本発明の実施の形態にかかる内燃機関の制御装置の動作を説明するための図であり、ジカ線６を設けたことによる効果を説明するためのタイムチャートである。図１０は、本実施の形態の効果説明のために示す「ジカ線を有さない比較例」のタイムチャートである。図１１は、本実施の形態にかかるジカ線６を有する制御装置１０のタイムチャートであって、クランク角修正を実施する場合のタイムチャートである。図１２は、本実施の形態にかかるジカ線６を有する制御装置１０のタイムチャートであって、クランククリアを実施する場合のタイムチャートである。
【０１１３】
（２−１）ジカ線を有さない比較例
先ず、図１０を用いて説明する。図１０において、最上段のタイムチャートおよび中段のタイムチャートは、主としてサブマイコン２が担う処理内容を示すものである。図１０において、最下段のタイムチャートは、メインマイコン１が担う処理内容を示すものである。
【０１１４】
図１０の最上段には、クランクカウンタの波形が、＃１気筒の上死点（ＴＤＣ）、＃３気筒の上死点（ＴＤＣ）、＃４気筒の上死点（ＴＤＣ）、＃２気筒の上死点（ＴＤＣ）の時系列に沿って表されている。また、図１０においては、＃３気筒ＴＤＣと＃２気筒ＴＤＣにおいて、それぞれ「欠歯判定」を実施することが図示されている。
【０１１５】
図１０の中段には、サブマイコン２の処理内容を模式的に示すタイムチャートが表されており、各気筒ごとに、筒内圧波形を表すグラフ、「筒内圧データ取得」を行う区間を示す細線矢印、「パラメータ算出」の処理期間を示す太線矢印、そのデータをメインマイコン１へと送信する縦向きの矢印である「データ送信」が表されている。ただし、図１０および図１１では、２気筒および＃１気筒についてはデータ送信の矢印を省略している。
図１０の最下段には、メインマイコン１における処理内容を模式的に示すタイムチャートが表されている。
【０１１６】
図１０の最上段におけるクランクカウンタには、矢印で示す「ノイズ発生」により、＃３気筒ＴＤＣと＃４気筒ＴＤＣの間に、本来生ずるべきでないカウントアップが生じている。この誤ったカウントアップの影響は、次回の欠歯判定（つまり次の＃２気筒ＴＤＣ）まで検出されない。従って、次回の欠歯判定までは、クランクカウンタに基づくクランク角検出内容は誤った情報を含むものであり、図３に示すような誤検出が起きてしまうことになる。
【０１１７】
このようなサブマイコン２での異常検出と、メインマイコン１でのエンジン制御との関係を説明すると、次のようになる。
【０１１８】
図１０中段に示す４つの気筒のそれぞれのタイムチャートのうち、その最上位置に図示した＃３気筒での処理内容を例にして説明する。燃焼が行われる場合、＃３気筒の筒内圧グラフに示すように、＃３気筒ＴＤＣ付近において筒内圧ピーク値を取る。サブマイコン２は、少なくとも、この筒内圧のピーク付近（＃３気筒ＴＤＣ付近）を挟んで一定区間だけ、＃３気筒の筒内圧センサ１２から出力信号を受信（サンプリング）する。この一定区間が、「＃３筒内圧データ取得」と記した細線矢印に示す区間である。この筒内圧データ取得の期間を終えると、サブマイコン２は、取得したデータを用いて燃焼関連情報の算出を行う。この算出に要する期間として「＃３パラメータ算出」という太線矢印が図示されている。算出が完了すると、サブマイコン２からメインマイコン１へと、その燃焼関連情報のデータ通信が実施される。図１０では、ちょうど＃４気筒ＴＤＣと＃２気筒ＴＤＣの間の中間地点付近において、メインマイコン１へと、＃３気筒についてのデータ送信が完了している。
【０１１９】
しかしながら、メインマイコン１では、この受信した＃３気筒についてのデータを、直ちにエンジン制御に使用することはできない。その理由は、次のとおりである。メインマイコン１は、サブマイコン２から受信したデータ（筒内圧等のパラメータ）が信頼性のあるものかどうかが未確認である間は、その受信したデータをエンジン制御に使用することができない。「信頼性が有る」というのは、その受信したデータをクランク角同期でサンプリングした区間について、欠歯判定でクランクカウントに異常が無かったという判定結果が得られた場合のことである。図１０の最上段に示すケースのように、ノイズ発生が＃３気筒ＴＤＣと＃４気筒ＴＤＣの間で生じた場合、次の欠歯判定はさらに後の＃２気筒ＴＤＣである。
【０１２０】
前述したように、データ通信線４を用いるデータ通信は、マイコン間で通信処理を実施する際の現実的な制約により、所定周期ごとのデータ送受信が実施される。図１０においてもその様子が表されている。すなわち、「＃３パラメータ算出」の後の「データ送信」矢印の後には、次に点火を迎える＃４気筒に対して、＃３気筒のときと同じ一連の処理が実施される。＃４気筒においても、図１０でタイムチャート上で二番目に示す「データ送信」の矢印のように、サブマイコン２で算出した燃焼関連パラメータが、メインマイコン１へと送信される。
【０１２１】
図１０ではジカ線６を有さない比較例を説明しており、この比較例では、サブマイコン２での欠歯判定の結果がデータ通信線４を介してメインマイコン１へと送信される。この送信のタイミングは上記の＃４気筒にかかるデータ送信と同じタイミングであり、サブマイコン２で実施した欠歯判定の結果をデータ通信線４上でメインマイコン１へと伝えるにあたっては、このデータ送信タイミングまでの待ち時間が発生してしまう。図１０においては、この待ち時間が、最下段に示す２つの二重丸で挟まれた太線両矢印によって表されるように、「＃３データ受信済みだが、＃３のデータ信頼性が確定しないため、まだ制御できない区間」を発生させる。以上説明したとおり、サブマイコン２側において＃２気筒ＴＤＣでの欠歯判定が完了し、その判定結果が次回のデータ送信タイミングにおいてメインマイコン１に伝わるまでの間は、メインマイコン１は受信済みである＃３気筒の燃焼関連情報をエンジン制御に使用することができないことになる。
【０１２２】
より早期に制御処理を実行すること、つまり制御タイミングを前出しすることは、一般的に要求される技術的課題であり、エンジン制御においても同様である。フィードバック制御では前回の制御における結果を次回の制御における制御量に反映させるので、短期間での制御処理が要求される。従って、上記のように「＃３データ受信済みだが、＃３のデータ信頼性が確定しないため、まだ制御できない区間」が長期化することは好ましくない。
【０１２３】
（２−２）ジカ線を有する場合であってクランク角修正を実施するとき
そこで、本実施の形態にかかる制御装置１０は、ジカ線６により、上記の問題を解決することにした。この点について、図１１を用いて説明する。
データ通信線４ではシリアル通信によるデータ受信等、複雑かつ多量の信号を送受信する必要があるのに対し、ジカ線６は簡単なハイ／ローの信号（０または１のデジタル情報）を授受する役割のみを有する。データ通信線４では前述したようにデータ通信タイミングの制約を受けるが、ジカ線６ではデータ通信タイミングの制約を有さず任意のタイミングでの信号通信が可能である。よって、ジカ線６を介して、所望のタイミングで、サブマイコン２での欠歯判定の結果をメインマイコン１に通知することができる。本実施の形態では、図１１において＃２気筒ＴＤＣタイミングにおいて「即通知」ときした縦矢印のように、＃２気筒ＴＤＣタイミングで欠歯判定の結果をメインマイコン１に即座に通知することができる。
【０１２４】
このようにジカ線６を介して即座に欠歯判定の結果をメインマイコン１が受信できる場合には、＃４気筒についてのデータ通信タイミングよりも前の段階で、＃３気筒について既に受信したデータ（燃焼関連情報）をメインマイコン１がエンジン制御に使用することができるかどうかを決定することができる。図１０の比較例と対比すると、図１１に示す本実施の形態では、＃２気筒ＴＤＣのタイミングで、＃３気筒について既に受信したデータ（燃焼関連情報）をメインマイコン１がエンジン制御に使用することができるかどうかを決定することができる。図１０、および図１１のタイムチャート上においても、図１０よりも、図１１のほうが、「＃３データ受信済みだが、＃３のデータ信頼性が確定しないため、まだ制御できない区間」が短くなっていることがわかる。
【０１２５】
なお、図１０に示す場合にはノイズ発生によりクランクカウンタずれが発生したため、今回の＃３気筒についてのデータ（燃焼関連情報）は、エンジン制御には使用されない。一方、仮に、図１０とは異なりクランクカウンタずれがなかったのであれば、今回の＃３気筒についてのデータ（燃焼関連情報）はエンジン制御に使用されることになる。
【０１２６】
（２−３）ジカ線を有する場合であってクランククリアを実施するとき
図１２は、クランククリアを実施する場合の制御動作を示すタイムチャートである。図１２と図１１との違いは、図１２では「クランククリアで筒内圧データ取得できない区間」が存在している点、およびこれに伴いサブマイコン２からメインマイコン１へのデータ送信がなされない場合があるという点である。
【０１２７】
図１２においても、図１１と同様、＃２気筒ＴＤＣタイミングにおいて「即通知」ときした縦矢印のように、＃２気筒ＴＤＣタイミングで欠歯判定の結果をメインマイコン１に即座に通知することができる。従って、早期に、＃３気筒について既に受信したデータ（燃焼関連情報）をメインマイコン１がエンジン制御に使用することができるかどうかを決定することができる。
【０１２８】
図１２においては、メインマイコン１側のタイムチャートを気筒別に詳しく記載している。つまり、先ず、「＃３データ送信」の矢印で示すように＃３気筒の燃焼関連情報のデータ自体はメインマイコン１が受信することになるが、このデータはノイズ発生に伴うクランクカウンタずれを含むものである。本実施の形態にかかるメインマイコン１の制御処理（情報使用制限処理）の結果、このデータはエンジン制御に使用されない。その後、＃４、＃２、＃１、および＃３気筒に関しては、燃焼関連情報データがサブマイコン２から送信されないので、燃焼関連情報を利用したフィードバック制御は実施されない。
【０１２９】
その後、＃４気筒についての燃焼関連情報データは、サブマイコン２からメインマイコン１へのデータ送信が行われる。しかしながら、前述の「（１−２）クランククリアの場合」において説明したとおり、この＃４気筒についての燃焼関連情報は、フィードバック制御に使用されない。
【０１３０】
異常検出フラグがオフとなった後は、＃２気筒の次の点火順である「＃１気筒についての燃焼関連情報」からエンジン制御への利用が再開される。
【０１３１】
［実施の形態の変形例］
上述した実施の形態にかかるエンジン５０では、点火順が＃１気筒→＃３気筒→＃４気筒→＃２気筒であり、＃２気筒ＴＤＣ又は＃３気筒ＴＤＣで欠歯判定が実施されるようにクランク角センサ１６におけるロータ欠歯とエンジン５０の各気筒およびクランクシャフトの構成を設計した。その設計を前提として、上記のように異常検出フラグのオンオフ処理を構築した。しかしながら、本発明は、上記の具体的実施形態に限られるものではない。
【０１３２】
本実施の形態においては、欠歯判定が実施されるタイミングは、クランク角３６０度周期であり、＃２気筒ＴＤＣ又は＃３気筒ＴＤＣである。例えば、欠歯判定が実施されるタイミングがＴＤＣではない場合や、筒内圧データ検出区間が本実施の形態と異なる場合であってもよい。この場合も、前述の「異常検出フラグオン処理」および「異常検出フラグオフ処理」の規則に則って、異常検出フラグのオンオフを制御すればよい。
【０１３３】
一例を挙げると、欠歯判定タイミングが、クランク角３６０度周期で、＃２気筒ＡＴＤＣ３０度又は＃３気筒ＡＴＤＣ３０度である場合を想定する。そして、筒内圧データ検出区間が、各気筒について、ＢＴＤＣ２１０度からＡＴＤＣ１８０度という設定であるものとする。この場合であっても、メインマイコン１が、ジカ線６を経由して検知信号を受信したときに異常検出フラグをオンとすることには変わりない。
【０１３４】
一方、異常検出フラグのオフについては、メインマイコン１が次の（１）、（２）の場合分けに従って制御を行う。
【０１３５】
（１）＃２気筒ＡＴＤＣ３０度での欠歯判定により、異常検出フラグがオンとなった場合
この場合には、計算上、＃１気筒のＢＴＤＣ２１０度からＢＴＤＣ１５０度までの区間が、「特定クランク角区間」に該当していることになる。＃１気筒の筒内圧センサ１２に対する出力信号のサンプリング区間、つまり筒内圧データ検出区間は、上記の設定どおりＢＴＤＣ２１０度からＡＴＤＣ１８０度であるから、特定クランク角区間内において＃１気筒の筒内圧データが取得されている。また、＃１気筒が、特定クランク角区間内に筒内圧データ検出区間が存在する複数の気筒のうち最も点火順序が遅い気筒、すなわち「特定気筒」に該当する。よって、メインマイコン１は、＃１気筒の燃焼関連情報データを受信したときに、異常検出フラグをオフ（クリア）すればよい。
【０１３６】
（２）＃３気筒ＡＴＤＣ３０度での欠歯判定により、異常検出フラグがオンとなった場合
この場合には、計算上、＃４気筒のＢＴＤＣ２１０度からＢＴＤＣ１５０度までの区間が、「特定クランク角区間」に該当していることになる。＃４気筒の筒内圧センサ１２に対する出力信号のサンプリング区間、つまり筒内圧データ検出区間は、上記の設定どおりＢＴＤＣ２１０度からＡＴＤＣ１８０度であるから、特定クランク角区間内において＃４気筒の筒内圧データが取得されている。＃４気筒が、特定クランク角区間内に筒内圧データ検出区間が存在する複数の気筒のうち最も点火順序が遅い気筒、すなわち「特定気筒」に該当する。よって、メインマイコン１は、＃４気筒の燃焼関連情報データを受信したときに、異常検出フラグをオフ（クリア）すればよい。
【符号の説明】
【０１３７】
１  メインマイコン
２  サブマイコン
４  データ通信線
６  ジカ線
１０  制御装置
１２  筒内圧センサ
１４  カム角センサ
１６  クランク角センサ
１８  インジェクタ
２０  イグナイタ
３０  配線
３０ａ  分岐配線部
３０ｂ  分岐配線部
３２  配線
３２ａ  分岐配線部
３２ｂ  分岐配線部
５０  エンジン
【図１】
2014034942.tif 000003
【図２】
2014034942.tif 000004
【図３】
2014034942.tif 000005
【図４】
2014034942.tif 000006
【図５】
2014034942.tif 000007
【図６】
2014034942.tif 000008
【図７】
2014034942.tif 000009
【図８】
2014034942.tif 000010
【図９】
2014034942.tif 000011
【図１０】
2014034942.tif 000012
【図１１】
2014034942.tif 000013
【図１２】
2014034942.tif 000014