(57)【特許請求の範囲】
【請求項１】
内燃機関の各気筒に対する燃料噴射を指令するとともに、燃料噴射に伴い変動する燃料圧力を検出する燃圧センサの燃圧検出信号を逐次Ａ／Ｄ変換させるため燃料噴射気筒を示す気筒情報とＡ／Ｄ変換開始信号とからなる燃圧検出指令をポート出力する第１制御装置と、この第１制御装置から前記気筒情報と前記Ａ／Ｄ変換開始信号をポート入力し、前記Ａ／Ｄ変換開始信号をポート入力した時点から、前記ポート入力した気筒情報に基づいて認識した気筒の前記燃圧検出信号を逐次Ａ／Ｄ変換する第２制御装置とを備え、
前記第２制御装置は、前記ポート入力した気筒情報に基づいて認識した気筒番号を前記ポート間の信号授受とは異なる通信により前記第１制御装置に送信し、
前記第１制御装置は、前記第２制御装置から通信により受信した気筒番号と前記燃料噴射気筒の番号とが一致するか否かを判定する判定手段を備え、
前記判定手段は、燃料噴射気筒を切り替えた時点から、前記第２制御装置から通信により前記第２制御装置で認識された気筒番号を受信するまでの認識応答時間を計測し、その認識応答時間が第１しきい値以下の場合には受信した気筒番号と前記燃料噴射気筒の番号とが一致したことを条件として前記燃圧検出指令が正常になされたと判定し、前記認識応答時間が前記第１しきい値を超えて第２しきい値以下の場合には受信した気筒番号と前記燃料噴射気筒の番号とが一致したことを条件として前記燃圧検出指令の出力遅れ異常と判定し、前記認識応答時間が前記第２しきい値を超えた場合には前記燃圧検出指令の出力異常と判定することを特徴とする燃圧検出指令の異常判定装置。
【請求項２】
前記第２制御装置から前記第１制御装置への通信は一定時間ごとに行われる定期通信であって、
前記第２制御装置は、前記気筒情報をポート入力した時点から当該気筒情報に基づいて認識した気筒番号を前記定期通信により前記第１制御装置に送信するまでの通信待機時間を計測し、その通信待機時間を前記認識した気筒番号とともに前記第１制御装置に送信し、
前記判定手段は、計測した前記認識応答時間から受信した前記通信待機時間を減算した時間を前記認識応答時間として設定した上で前記第１しきい値および第２しきい値との比較に基づく判定処理を実行することを特徴とする請求項１記載の燃圧検出指令の異常判定装置。
【請求項３】
内燃機関の各気筒に対する燃料噴射を指令するとともに、燃料噴射に伴い変動する燃料圧力を検出する燃圧センサの燃圧検出信号を逐次Ａ／Ｄ変換させるため燃料噴射気筒を示す気筒情報とＡ／Ｄ変換開始信号とからなる燃圧検出指令をポート出力する第１制御装置と、この第１制御装置から前記気筒情報と前記Ａ／Ｄ変換開始信号をポート入力し、前記Ａ／Ｄ変換開始信号をポート入力した時点から、前記ポート入力した気筒情報に基づいて認識した気筒の前記燃圧検出信号を逐次Ａ／Ｄ変換する第２制御装置とを備え、
前記第１制御装置は、前記Ａ／Ｄ変換開始信号の出力ポートの信号レベルが所定の変化をした時に前記気筒情報の出力ポートの信号レベルをモニタ入力し、前記モニタ入力した信号レベルに基づく気筒番号と前記燃料噴射気筒の番号とが一致するか否かを判定する判定手段を備え、
前記判定手段は、燃料噴射気筒を切り替えた時点から、前記Ａ／Ｄ変換開始信号の出力ポートの信号レベルが所定の変化をするまでの出力遅延時間を計測し、その出力遅延時間が第１しきい値以下の場合には前記モニタ入力した信号レベルに基づく気筒番号と前記燃料噴射気筒の番号とが一致したことを条件として前記燃圧検出指令が正常になされたと判定し、前記出力遅延時間が前記第１しきい値を超えて第２しきい値以下の場合には前記モニタ入力した信号レベルに基づく気筒番号と前記燃料噴射気筒の番号とが一致したことを条件として前記燃圧検出指令の出力遅れ異常と判定し、前記出力遅延時間が前記第２しきい値を超えた場合には前記燃圧検出指令の出力異常と判定することを特徴とする燃圧検出指令の異常判定装置。
【請求項４】
前記判定手段は、前記燃圧検出指令の出力異常と判定した場合、前記気筒情報と前記Ａ／Ｄ変換開始信号を再度ポート出力し、それに続いて前記気筒情報の出力ポートの信号レベルと前記Ａ／Ｄ変換開始信号の出力ポートの信号レベルをモニタ入力し、このモニタ入力した信号レベルが前記Ａ／Ｄ変換開始信号と一致するとともに前記モニタ入力した信号レベルに基づく気筒番号と前記燃料噴射気筒の番号とが一致する場合にはポート出力処理に抜けが生じた出力抜け異常と判定し、それ以外の場合にはポート異常と判定することを特徴とする請求項３記載の燃圧検出指令の異常判定装置。
【請求項５】
内燃機関の各気筒に対する燃料噴射を指令するとともに、燃料噴射に伴い変動する燃料圧力を検出する燃圧センサの燃圧検出信号を逐次Ａ／Ｄ変換させるため燃料噴射気筒を示す気筒情報とＡ／Ｄ変換開始信号とからなる燃圧検出指令をポート出力する第１制御装置と、この第１制御装置から前記気筒情報と前記Ａ／Ｄ変換開始信号をポート入力し、前記Ａ／Ｄ変換開始信号をポート入力した時点から、前記ポート入力した気筒情報に基づいて認識した気筒の前記燃圧検出信号を逐次Ａ／Ｄ変換する第２制御装置とを備え、
前記第１制御装置は、前記燃料噴射気筒の番号を前記ポート間の信号授受とは異なる通信により前記第２制御装置に送信し、
前記第２制御装置は、前記第１制御装置からポート入力した気筒情報に基づいて認識した気筒番号と前記第１制御装置から通信により受信した燃料噴射気筒の番号とが一致するか否かを判定する判定手段を備え、
前記判定手段は、通信により前記燃料噴射気筒の番号を受信した時点から、前記気筒情報をポート入力するまでの指令遅延時間を計測し、その指令遅延時間が第１しきい値以下の場合には前記ポート入力した気筒情報に基づいて認識した気筒番号と前記受信した燃料噴射気筒の番号とが一致したことを条件として前記燃圧検出指令が正常になされたと判定し、前記指令遅延時間が前記第１しきい値を超えて第２しきい値以下の場合には前記ポート入力した気筒情報に基づいて認識した気筒番号と前記受信した燃料噴射気筒の番号とが一致したことを条件として前記燃圧検出指令の出力遅れ異常と判定し、前記指令遅延時間が前記第２しきい値を超えた場合には前記燃圧検出指令の出力異常と判定することを特徴とする燃圧検出指令の異常判定装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内燃機関の燃料噴射に伴い変動する燃料圧力のＡ／Ｄ変換を指令する燃圧検出指令の異常判定装置に関する。
【背景技術】
【０００２】
コモンレール式燃料噴射システムでは、燃料ポンプがコモンレールに燃料を圧送し、コモンレールはその燃料を高圧状態で蓄圧する。この蓄圧された高圧燃料は、エンジン（内燃機関）の気筒ごとに設けられた高圧燃料配管を通してインジェクタ（燃料噴射弁）に供給される。この場合、エンジンの運転状態に適した燃料噴射を行うため、各運転状態に適した基準噴射パターンを設定する。
【０００３】
具体的には、各気筒のインジェクタに燃料圧力を検出する燃圧センサを取り付け、燃料噴射時に燃圧センサから出力される燃圧検出信号をＡ／Ｄ変換することで燃料圧力値ひいては燃料圧力推移を検出する（学習処理）。特許文献１には、検出した燃料圧力推移に基づいて、インジェクタから単位時間あたりに噴射される燃料量（噴射率）を求め、その噴射率推移が基準の噴射率推移に近付くようにインジェクタに対し噴射指令を与える燃料噴射制御装置が開示されている。
【０００４】
図１７に示すように、実際のエンジンＥＣＵ１は、メインマイコン２とサブマイコン３の２つのマイコンを備えている。メインマイコン２は、ＣＰＵ２ａ、Ｉ／Ｏポート２ｂ、通信インターフェース２ｃ（通信Ｉ／Ｆ）の他に図示しないＲＡＭ、不揮発性メモリ（ＲＯＭ、フラッシュメモリ、ＥＥＰＲＯＭ）などを備えている。サブマイコン３は、ＣＰＵ３ａ、Ｉ／Ｏポート３ｂ、通信インターフェース３ｃ（通信Ｉ／Ｆ）、Ａ／Ｄ変換器３ｄの他に図示しないＲＡＭ、不揮発性メモリ（ＲＯＭ、フラッシュメモリ、ＥＥＰＲＯＭ）などを備えている。
【０００５】
メインマイコン２はサブマイコン３を含めＥＣＵ１全体を制御するので、クランク角信号（ＮＥ信号）はメインマイコン２に入力されている。メインマイコン２は、クランク角信号に基づいてクランク軸の角度を検出し、燃料を噴射する気筒を決定し、噴射開始タイミング、噴射時間などを算出して噴射信号を出力する。
【０００６】
一方、サブマイコン３は、燃料噴射気筒の燃圧検出信号をＡ／Ｄ変換する。しかし、サブマイコン３は、クランク角信号が入力されていないため燃料噴射気筒の番号情報を持っていない。そこで、メインマイコン２は、図１８に示すように、サブマイコン３に対し燃料噴射気筒を示す気筒情報（気筒番号＃１〜＃４）とＡ／Ｄ変換開始信号Ｑとをポート出力する。気筒情報は、Ａ／Ｄ変換気筒信号Ｐ１、Ｐ２の組み合わせからなり、Ａ／Ｄ変換開始信号Ｑは幅狭のＨパルスからなる。
【０００７】
サブマイコン３は、ポート入力したＡ／Ｄ変換開始信号Ｑに同期して、ポート入力した気筒番号の燃圧センサから出力される燃圧検出信号を逐次Ａ／Ｄ変換して燃料圧力推移を学習する。この学習データは、マイコン間で行われる通信によりメインマイコン２に送られ、上述した燃料噴射制御に用いられる。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００９−５２４１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
例えば１燃焼サイクルに同一のインジェクタから複数回に亘り燃料噴射する多段噴射の場合、初段の噴射開始時から最終段の噴射による燃料圧力変動が収束する時点までの期間において繰り返しＡ／Ｄ変換を実施する必要がある。しかし、上述したＥＣＵ１では、メインマイコン２の処理負荷が大きいと、Ａ／Ｄ変換気筒信号Ｐ１、Ｐ２とＡ／Ｄ変換開始信号Ｑのポート出力処理が遅れ、或いはポート出力処理が抜けてしまう場合が発生する。
【００１０】
図１８において、最上段はメインマイコン２が決定する燃料噴射気筒の燃焼サイクルであり、最下段はポート入力に基づきサブマイコン３が認識した気筒のＡ／Ｄ変換実施期間である。気筒＃１の噴射では燃焼サイクルとＡ／Ｄ変換実施期間とが一致している。しかし、気筒＃４の噴射ではメインマイコン２のポート出力の遅延によりサブマイコン３のＡ／Ｄ変換の開始が遅れ（時刻ｔd1）、燃料噴射に係る燃圧データが欠ける虞がある。
【００１１】
また、気筒＃２の噴射ではＡ／Ｄ変換開始信号ＱのＬレベルへの復帰処理が抜け、次の気筒＃１に対するＬレベルへの復帰処理までＨレベルが持続する。このため、気筒＃１のＡ／Ｄ変換はこのＬレベルへの復帰処理が完了し且つ所定の待機時間が経過した時点（時刻ｔd2）まで開始が遅れることになる。さらに、気筒＃３、＃２の噴射に対してＡ／Ｄ変換の終了が遅れるため、燃料噴射気筒とは異なる気筒の燃圧データを取得してしまう虞がある。
【００１２】
このように、メインマイコン２側でＡ／Ｄ変換気筒信号Ｐ１、Ｐ２とＡ／Ｄ変換開始信号Ｑのポート出力処理に遅れなどの異常が生じると、サブマイコン３は、その分だけ遅れたタイミングで燃料噴射気筒を認識する。その結果、燃焼サイクルとＡ／Ｄ変換実施期間とがずれて誤った気筒に対してＡ／Ｄ変換を実施し、或いはＡ／Ｄ変換を開始できないことになる。
【００１３】
インジェクタが燃料を噴射すると、燃圧センサにより検出される燃料圧力は低下する。サブマイコン３は、Ａ／Ｄ変換実施期間の終了時にこの燃圧低下回数と噴射段数とを比較し、一致しない場合には学習処理を異常停止する。また、Ａ／Ｄ変換開始信号ＱのＬレベルへの復帰処理が一旦抜けると、その影響で以降の気筒に対するＡ／Ｄ変換の開始も連鎖的に遅れ続け、正しい状態に復帰することができなくなる。
【００１４】
これに対し、ポート出力処理の遅れや抜けが生じないようにメインマイコン２の負荷を常に軽減しておくことは、マイコンの処理能力を実質的に低下させることになる。また、メインマイコン２のポート出力を割り込み処理で実行する方法も考えられるが、メインマイコン２の処理負荷が一層大きくなるため解決策としては不十分である。従って、Ａ／Ｄ変換の実施期間がずれて学習処理が異常となる状態が生じた時にメインマイコン２の負荷を一時的に軽減する負荷適正化処理が必要となる。
【００１５】
本発明は上記事情に鑑みてなされたもので、その目的は、上述したメインマイコンの負荷適正化処理を行うため、メインマイコンによる気筒情報とＡ／Ｄ変換開始信号のポート出力の異常を検出する燃圧検出指令の異常判定装置を提供することにある。
【課題を解決するための手段】
【００１６】
請求項１に記載した燃圧検出指令の異常判定装置は、第１制御装置（メインマイコン）と第２制御装置（サブマイコン）とを備えている。第１制御装置は、内燃機関の各気筒に対する燃料噴射を指令するとともに、燃料噴射に伴い変動する燃料圧力を検出する燃圧センサの燃圧検出信号を第２制御装置に逐次Ａ／Ｄ変換させるため、燃料噴射気筒を示す気筒情報とＡ／Ｄ変換開始信号とからなる燃圧検出指令をポート出力する。第２制御装置は、第１制御装置から気筒情報とＡ／Ｄ変換開始信号をポート入力し、Ａ／Ｄ変換開始信号をポート入力した時点から、ポート入力した気筒情報に基づいて認識した気筒の燃圧検出信号を逐次Ａ／Ｄ変換する。
【００１７】
第２制御装置は、第１制御装置からポート入力した気筒情報に基づいて認識した気筒番号をポート間の信号授受とは異なる通信により第１制御装置に送信する。第１制御装置は、第２制御装置から通信により受信した気筒番号と自ら噴射を指令した燃料噴射気筒の番号とが一致するか否かを判定する判定手段を備えている。これにより、第１制御装置は、噴射を指令した燃料噴射気筒と第２制御装置が燃圧検出信号のＡ／Ｄ変換を実施する認識気筒とが一致していること、すなわち自身が気筒情報とＡ／Ｄ変換開始信号を正しくポート出力したことを判定することができる。第１制御装置は、この異常判定結果に応じて自身の負荷を一時的に軽減する負荷適正化処理を行うことができる。
【００１８】
また、第１制御装置の判定手段は、燃料噴射気筒を切り替えた時点から、第２制御装置から通信により第２制御装置で認識された気筒番号を受信するまでの認識応答時間を計測する。この認識応答時間は、第１制御装置が燃料噴射気筒を切り替えた時点から気筒情報とＡ／Ｄ変換開始信号を実際にポート出力するまでの時間、第２制御装置がポート入力するのに要する時間、第２制御装置が認識した気筒番号を第１制御装置に送信するのに要する時間、第１制御装置が受信するのに要する時間などを含んでいる。
【００１９】
第１制御装置の判定手段は、認識応答時間が第１しきい値以下の場合には、受信した気筒番号と燃料噴射気筒の番号とが一致したことを条件として燃圧検出指令が正常になされたと判定する。認識応答時間が第１しきい値を超えて第２しきい値以下の場合には、受信した気筒番号と燃料噴射気筒の番号とが一致したことを条件として燃圧検出指令の出力遅れ異常と判定する。認識応答時間が第２しきい値を超えた場合には、燃圧検出指令の出力異常と判定する。
【００２０】
このように認識応答時間を第１しきい値を基準に判別すれば、ポート出力処理や通信処理に必ず必要となる遅れ時間、燃焼サイクルとＡ／Ｄ変換実施期間との間の僅かな差などを異常と判定することがなくなる。また、認識応答時間を第２しきい値を基準に判別すれば、ポート出力処理の遅れ異常とポート出力処理の異常（例えば出力抜け異常）とを判別でき、異常判定後の復帰処理を異常の程度に合わせて使い分けることができる。例えば、異常の場合には第１制御装置の処理負荷を一時的に低減し、特に出力異常の場合には第１制御装置のＡ／Ｄ変換開始信号を一度リセットすることにより異常出力状態から復帰することができる。
【００２１】
請求項２に記載した手段によれば、第２制御装置から第１制御装置への通信は一定時間ごとに行われる定期通信であるとの制約があるため、第２制御装置は、ポート入力に応じて認識気筒を直ちに第１制御装置に送信することができない。そこで、第２制御装置は、気筒情報をポート入力した時点から当該気筒情報に基づいて認識した気筒番号を定期通信により第１制御装置に送信するまでの通信待機時間を計測し、その通信待機時間を認識した気筒番号とともに第１制御装置に送信する。
【００２２】
第１制御装置の判定手段は、計測した認識応答時間から上記受信した通信待機時間を減算した時間を認識応答時間として設定し、上述した判定処理を実行する。これにより、第１制御装置と第２制御装置との通信がイベント通信の場合のみならず定期通信の場合であっても、燃圧検出指令のポート出力について出力正常状態、出力遅れ異常状態および出力異常状態を正しく判定できる。
【００２３】
請求項３に記載した燃圧検出指令の異常判定装置は、第１制御装置（メインマイコン）と第２制御装置（サブマイコン）とを備えている。第１制御装置は、内燃機関の各気筒に対する燃料噴射を指令するとともに、燃料噴射に伴い変動する燃料圧力を検出する燃圧センサの燃圧検出信号を第２制御装置に逐次Ａ／Ｄ変換させるため、燃料噴射気筒を示す気筒情報とＡ／Ｄ変換開始信号とからなる燃圧検出指令をポート出力する。第２制御装置は、第１制御装置から気筒情報とＡ／Ｄ変換開始信号をポート入力し、Ａ／Ｄ変換開始信号をポート入力した時点から、ポート入力した気筒情報に基づいて認識した気筒の燃圧検出信号を逐次Ａ／Ｄ変換する。
【００２４】
第１制御装置は、Ａ／Ｄ変換開始信号の出力ポートの信号レベルが所定の変化をした時に気筒情報の出力ポートの信号レベルをモニタ入力し、モニタ入力した信号レベルに基づく気筒番号と燃料噴射気筒の番号とが一致するか否かを判定する判定手段を備えている。これにより、第１制御装置は、通信による第２制御装置からの情報を得ることなく単独で、噴射を指令した燃料噴射気筒を示す気筒情報とＡ／Ｄ変換開始信号とを正しくポート出力したか否かを判定することができる。第１制御装置は、この異常判定結果に応じて自身の負荷を一時的に軽減する負荷適正化処理を行うことができる。
【００２５】
また、第１制御装置の判定手段は、燃料噴射気筒を切り替えた時点から、Ａ／Ｄ変換開始信号の出力ポートの信号レベルが所定の変化をするまでの出力遅延時間を計測する。判定手段は、出力遅延時間が第１しきい値以下の場合には、モニタ入力した信号レベルに基づく気筒番号と燃料噴射気筒の番号とが一致したことを条件として燃圧検出指令が正常になされたと判定する。出力遅延時間が第１しきい値を超えて第２しきい値以下の場合には、モニタ入力した信号レベルに基づく気筒番号と燃料噴射気筒の番号とが一致したことを条件として燃圧検出指令の出力遅れ異常と判定する。出力遅延時間が第２しきい値を超えた場合には、燃圧検出指令の出力異常と判定する。
【００２６】
このように出力遅延時間を第１しきい値を基準に判別すれば、ポート出力処理に必ず必要となる時間或いは燃焼サイクルとＡ／Ｄ変換実施期間との間の僅かな差などを異常と判定することがなくなる。また、出力遅延時間を第２しきい値を基準に判別すれば、ポート出力処理の遅れ異常とポート出力処理の異常とを判別でき、異常判定後の復帰処理を異常の程度に合わせて使い分けることができる。例えば、異常の場合には第１制御装置の処理負荷を一時的に低減し、特に出力異常の場合には第１制御装置のＡ／Ｄ変換開始信号を一度リセットすることにより異常出力状態から復帰することができる。
【００２７】
請求項４に記載した手段によれば、判定手段は、燃圧検出指令の出力異常と判定した場合、気筒情報とＡ／Ｄ変換開始信号を再度ポート出力し、それに続いて気筒情報の出力ポートの信号レベルとＡ／Ｄ変換開始信号の出力ポートの信号レベルをモニタ入力する。このモニタ入力した信号レベルがＡ／Ｄ変換開始信号と一致するとともに、モニタ入力した信号レベルに基づく気筒番号と燃料噴射気筒の番号とが一致する場合には、第１制御装置の処理負荷が高い等の理由によりポート出力処理に抜けが生じた出力抜け異常と判定できる。それ以外の場合にはハードウェア自体の異常すなわちポート異常と判定できる。第１制御装置は、この異常判定結果に応じた処理を実施することができる。
【００２８】
請求項５に記載した燃圧検出指令の異常判定装置は、第１制御装置（メインマイコン）と第２制御装置（サブマイコン）とを備えている。第１制御装置は、内燃機関の各気筒に対する燃料噴射を指令するとともに、燃料噴射に伴い変動する燃料圧力を検出する燃圧センサの燃圧検出信号を第２制御装置に逐次Ａ／Ｄ変換させるため、燃料噴射気筒を示す気筒情報とＡ／Ｄ変換開始信号とからなる燃圧検出指令をポート出力する。第２制御装置は、第１制御装置から気筒情報とＡ／Ｄ変換開始信号をポート入力し、Ａ／Ｄ変換開始信号をポート入力した時点から、ポート入力した気筒情報に基づいて認識した気筒の燃圧検出信号を逐次Ａ／Ｄ変換する。
【００２９】
第１制御装置は、燃料噴射気筒の番号をポート間の信号授受とは異なる通信により第２制御装置に送信する。第２制御装置は、第１制御装置からポート入力した気筒情報に基づいて認識した気筒番号と第１制御装置から通信により受信した燃料噴射気筒の番号とが一致するか否かを判定する判定手段を備えている。これにより、第２制御装置は、第１制御装置が噴射を指令した燃料噴射気筒と第２制御装置が燃圧検出信号のＡ／Ｄ変換を実施する認識気筒とが一致していること、すなわち第１制御装置が気筒情報とＡ／Ｄ変換開始信号を正しくポート出力したことを判定することができる。この判定結果を第１制御装置に送信すれば、第１制御装置は、異常判定結果に応じて自身の負荷を一時的に軽減する負荷適正化処理を行うことができる。
【００３０】
また、第２制御装置の判定手段は、通信により燃料噴射気筒の番号を受信した時点から、気筒情報をポート入力するまでの指令遅延時間を計測する。この指令遅延時間は、第１制御装置における気筒番号の通信による送信待ち時間が十分に短い場合、第１制御装置が燃料噴射気筒を切り替えた時点から気筒情報とＡ／Ｄ変換開始信号を実際にポート出力するまでの時間を主に含んでいる。
【００３１】
第２制御装置の判定手段は、指令遅延時間が第１しきい値以下の場合には、ポート入力した気筒情報に基づいて認識した気筒番号と受信した燃料噴射気筒の番号とが一致したことを条件として燃圧検出指令が正常になされたと判定する。指令遅延時間が第１しきい値を超えて第２しきい値以下の場合には、ポート入力した気筒情報に基づいて認識した気筒番号と受信した燃料噴射気筒の番号とが一致したことを条件として燃圧検出指令の出力遅れ異常と判定する。指令遅延時間が第２しきい値を超えた場合には、燃圧検出指令の出力異常と判定する。
【００３２】
このように指令遅延時間を第１しきい値を基準に判別すれば、ポート出力処理に必ず必要となる時間、燃焼サイクルとＡ／Ｄ変換実施期間との間の僅かな差などを異常と判定することがなくなる。また、指令遅延時間を第２しきい値を基準に判別すれば、ポート出力処理の遅れ異常とポート出力処理の異常（例えば出力抜け異常）とを判別でき、第１制御装置における異常判定後の復帰処理を異常の程度に合わせて使い分けることができる。例えば、異常の場合には第１制御装置の処理負荷を一時的に低減し、特に出力異常の場合には第１制御装置のＡ／Ｄ変換開始信号を一度リセットすることにより異常出力状態から復帰することができる。
【図面の簡単な説明】
【００３３】
【図１】本発明の第１の実施形態を示すエンジンＥＣＵのブロック構成図
【図２】コモンレール式燃料噴射システムの構成図
【図３】メインマイコンが実行する燃圧検出指令の異常判定処理を示すフローチャート
【図４】本発明の第２の実施形態を示す気筒番号および燃圧検出指令のタイミングチャート
【図５】図３相当図
【図６】本発明の第３の実施形態を示す図４相当図
【図７】本発明の第４の実施形態を示す図１相当図
【図８】図３相当図
【図９】本発明の第５の実施形態を示す図４相当図
【図１０】図３相当図
【図１１】本発明の第６の実施形態を示す図９相当図
【図１２】メインマイコンが実行するリトライ処理を示すフローチャート
【図１３】本発明の第７の実施形態を示す図１相当図
【図１４】サブマイコンが実行する燃圧検出指令の異常判定処理を示すフローチャート
【図１５】本発明の第８の実施形態を示す図４相当図
【図１６】図１４相当図
【図１７】従来技術を示す図１相当図
【図１８】図４相当図
【発明を実施するための形態】
【００３４】
（第１の実施形態）
以下、第１の実施形態について図１ないし図３を参照しながら説明する。本発明に係る燃圧検出指令の異常判定装置は、エンジン（内燃機関）の燃料噴射制御装置に適用される。そこで、はじめに多気筒（ここでは４気筒）の４ストローク、レシプロ式ディーゼルエンジンを例にコモンレール式燃料噴射システムについて簡単に説明する。
【００３５】
コモンレール式燃料噴射システム１１は、図２に示すように燃料タンク１２、燃料ポンプ１３、コモンレール１４、インジェクタ１５（燃料噴射弁）、ＥＣＵ１６（Electronic Control Unit）およびＥＤＵ１７（Electronic Driving Unit）を備えている。
【００３６】
燃料ポンプ１３は、エンジン１８の動力で駆動される高圧ポンプ１３ａと低圧ポンプ１３ｂを有している。低圧ポンプ１３ｂは、燃料フィルタ１９が設けられた配管２０を通して燃料を吸入する。高圧ポンプ１３ａは、この吸入された燃料を加圧して高圧配管２１を通してコモンレール１４に圧送する。燃料ポンプ１３の加圧室に至る燃料吸入経路には、燃料吸入量を調整する吸入調量弁１３ｃが設けられている。吸入調量弁１３ｃの電磁コイルに流れる電流はＥＣＵ１６によって制御され、その電流に応じて弁体が移動する。これにより燃料ポンプ１３の燃料の吸入量が調整され、その結果として高圧配管２１への燃料の吐出量が調整される。
【００３７】
コモンレール１４は、燃料ポンプ１３から圧送された燃料を高圧状態で蓄圧する。コモンレール１４には、内部の燃料圧力を低減する減圧弁２２が設けられている。減圧弁２２は、ＥＣＵ１６から与えられる信号によって開閉動作する。
【００３８】
コモンレール１４に蓄圧された高圧燃料は、高圧燃料配管２３を通してインジェクタ１５に供給される。インジェクタ１５は、ＥＤＵ１７から与えられる駆動信号により、エンジン１８の各気筒＃１〜＃４の燃焼室内に所定のタイミングで燃料を噴射する。各気筒＃１〜＃４に対する吸入、圧縮、燃焼、排気の４行程による１燃焼サイクルが１８０°ＣＡずつ気筒＃１、＃３、＃４、＃２の順に実行される。
【００３９】
各インジェクタ１５の燃料取込口には、燃料圧力（燃圧）を検出する燃圧センサ２４が取り付けられている。ＥＣＵ１６は、燃圧センサ２４から出力される燃圧検出信号をＡ／Ｄ変換して取り込むことにより、インジェクタ１５の噴射動作に伴う燃料圧力の変化波形を検出（学習）することができる。
燃料ポンプ１３からリークした燃料、コモンレール１４の減圧弁２２から逃がされた燃料およびインジェクタ１５の油圧室から逃がされた燃料は、帰還通路２５を通して燃料タンク１２に戻されるようになっている。
【００４０】
図１は、ＥＣＵ１６の構成を示している。ＥＣＵ１６は、メインマイコン２７（第１制御装置）とサブマイコン２８（第２制御装置）を主体として構成されており、燃料噴射制御装置および燃圧検出指令の異常判定装置を形成している。メインマイコン２７は、ＣＰＵ２７ａ（判定手段）、Ｉ／Ｏポート２７ｂ、通信インターフェース２７ｃ（通信Ｉ／Ｆ）、タイマ２７ｄの他に図示しないＲＡＭ、不揮発性メモリ（ＲＯＭ、フラッシュメモリまたはＥＥＰＲＯＭ）などを備えている。
【００４１】
サブマイコン２８は、ＣＰＵ２８ａ、Ｉ／Ｏポート２８ｂ、通信インターフェース２８ｃ（通信Ｉ／Ｆ）、タイマ２８ｄ、Ａ／Ｄ変換器２８ｅの他に図示しないＲＡＭ、不揮発性メモリ（ＲＯＭ、フラッシュメモリまたはＥＥＰＲＯＭ）などを備えている。通信インターフェース２７ｃ、２８ｃは例えばＵＡＲＴ（Universal Asynchronous Receiver Transmitter）により構成されているが、ＤＭＡコントローラやＣＡＮ（Controller Area Network）コントローラにより構成してもよい。
【００４２】
なお、図１においてメインマイコン２７内に記載した「サブマイコンの認識気筒番号」と「燃料噴射気筒の番号」およびサブマイコン２８内に記載した「認識気筒番号」は、それぞれメインマイコン２７およびサブマイコン２８がデータとして有している気筒番号を示している。また、これらに付された矢印はデータの流れを概念的に示している。
【００４３】
メインマイコン２７は、不揮発性メモリに記憶されている制御プログラムを実行することにより、クランク角信号（ＮＥ信号）、エンジン冷却水の温度検出信号、燃料温度検出信号、アクセル開度信号その他の各種センサ信号を入力し、エンジン１８の運転状態を把握する。そして、把握したエンジン１８の運転状態に基づいて、燃料ポンプ１３によるコモンレール１４への燃料供給制御を行うとともに、燃料を噴射する燃料噴射気筒を決定し、その燃料噴射気筒についての燃料の噴射開始タイミング、噴射時間などを算出してＥＤＵ１７に対し正確なタイミングで噴射信号を出力する燃料噴射制御を行う。この場合、エンジン１８の各運転状態に適した基準噴射パターンをマップまたは数式として不揮発性メモリに記憶しておき、実際の運転状態ではこのマップまたは数式を参照して最適な燃料噴射パターンを設定する。
【００４４】
また、メインマイコン２７は、インジェクタ１５の噴射に伴い変動する燃料圧力（燃圧）を取得するため、各燃焼サイクルの開始時にサブマイコン２８に対し燃料噴射気筒を示すＡ／Ｄ変換気筒信号Ｐ１、Ｐ２（気筒情報に相当）とＡ／Ｄ変換開始信号Ｑとからなる燃圧検出指令をポート出力し、サブマイコン２８に燃圧センサ２４から出力される燃圧検出信号をＡ／Ｄ変換させる。
【００４５】
気筒番号＃１〜＃４はＡ／Ｄ変換気筒信号Ｐ１、Ｐ２の組み合わせで表される。（Ｐ１，Ｐ２）＝（０，０）のときは気筒番号＃１、（Ｐ１，Ｐ２）＝（１，１）のときは気筒番号＃２、（Ｐ１，Ｐ２）＝（１，０）のときは気筒番号＃３、（Ｐ１，Ｐ２）＝（０，１）のときは気筒番号＃４を表す。Ａ／Ｄ変換開始信号Ｑは幅狭のＨパルスからなる。ただし、上述したようにメインマイコン２７の処理負荷が大きくなると、Ａ／Ｄ変換気筒信号Ｐ１、Ｐ２とＡ／Ｄ変換開始信号Ｑのポート出力処理が遅れ、或いはポート出力処理が抜けてしまう虞がある。
【００４６】
一方、サブマイコン２８は、不揮発性メモリに記憶されている制御プログラムを実行することにより、Ａ／Ｄ変換気筒信号Ｐ１、Ｐ２とＡ／Ｄ変換開始信号Ｑをポート入力する。具体的には、Ａ／Ｄ変換開始信号Ｑの立ち上がりで割り込みが発生し、割り込み処理でＡ／Ｄ変換気筒信号Ｐ１、Ｐ２をポート入力する。そして、ポート入力したＡ／Ｄ変換気筒信号Ｐ１、Ｐ２に基づいて気筒番号を認識し、その認識気筒番号を直ちに通信によりメインマイコン２７に送信する。
【００４７】
これとともに、サブマイコン２８は、入力したＡ／Ｄ変換開始信号ＱがＬレベルからＨレベルに立ち上がった時点から、認識気筒の燃圧センサ２４から出力される燃圧検出信号を例えば１０μｓｅｃの間隔で逐次Ａ／Ｄ変換して燃料圧力推移を取得（学習）する。Ａ／Ｄ変換の実行間隔は、燃料圧力推移の波形を正しく認識できる時間間隔以下に設定されている。
【００４８】
インジェクタ１５が燃料を噴射すると、その気筒の燃料圧力は急激に低下した後上昇する傾向を示す。サブマイコン２８は、Ａ／Ｄ変換して取得した燃料圧力推移波形に基づいて多段噴射の段数（１燃焼サイクルの噴射回数）を検出し、その検出段数が燃料噴射パターンの噴射段数と一致するか否かを判定する。燃料噴射パターンの噴射段数は、通信によりメインマイコン２７からサブマイコン２８に送信されている。
【００４９】
判定の結果、一致する場合には取得した燃料圧力推移の学習データを通信によりメインマイコン２７に送信する。この学習データは、メインマイコン２７において上述した燃料噴射制御に用いられる。一方、不一致の場合には、燃料噴射気筒の燃焼サイクルとＡ／Ｄ変換実施期間との間にずれが生じているまたは燃料噴射気筒とＡ／Ｄ変換実施気筒とが異なっていることなどの原因が生じているので、サブマイコン２８は燃圧データの学習処理を停止する。
【００５０】
図３は、メインマイコン２７のＣＰＵ２７ａが実行する燃圧検出指令の異常判定処理を示している。メインマイコン２７は、燃料噴射気筒を示すＡ／Ｄ変換気筒信号Ｐ１、Ｐ２とＡ／Ｄ変換開始信号ＱをＩ／Ｏポート２７ｂから出力した後、サブマイコン２８が認識した気筒番号を通信Ｉ／Ｆ２７ｃを介してサブマイコン２８から受信する（ステップＳ１）。
【００５１】
メインマイコン２７は、受信したサブマイコン２８の認識気筒と燃料噴射気筒の番号が一致するか否かを判断する（ステップＳ２）。一致する（ＹＥＳ）と判断する場合、サブマイコン２８はメインマイコン２７から送られた燃料噴射気筒を正しく認識し、その気筒の燃圧検出信号を正しくＡ／Ｄ変換していることになるので出力正常状態と判定する（ステップＳ３）。
【００５２】
一方、ステップＳ２で一致しない（ＮＯ）と判断すると、サブマイコン２８はメインマイコン２７から送られる燃料噴射気筒を正しく認識していないため、出力異常状態と判定する（ステップＳ４）。この原因としては、メインマイコン２７の処理負荷が大きくなり燃圧検出指令のポート出力処理が遅れたこと、或いはポート出力処理が抜けたことが挙げられる。
【００５３】
この場合、メインマイコン２７は、出力正常状態への復帰処理を実行する（ステップＳ５）。この復帰処理は、例えばメインマイコン２７の処理負荷を一時的に軽減する負荷適正化処理である。また、出力異常状態が繰り返される場合には、ポート出力したＡ／Ｄ変換開始信号ＱをＬレベルにリセットすればよい。これらの処理により、サブマイコン２８の認識気筒と燃料噴射気筒が一致するようになる。
【００５４】
以上説明したように、本実施形態のＥＣＵ１６はメインマイコン２７とサブマイコン２８とから構成され、サブマイコン２８はメインマイコン２７からポート出力された燃圧検出指令に基づいて認識した気筒の燃圧検出信号をＡ／Ｄ変換する。この場合、サブマイコン２８は、認識気筒の番号をポート間の信号授受とは異なる通信によりメインマイコン２７に送信するので、メインマイコン２７は燃料噴射気筒とサブマイコン２８の認識気筒とが一致するか否かを判定することができる。
【００５５】
不一致の場合には、メインマイコン２７において燃圧検出指令のポート出力が遅れているまたは処理抜けが生じているので、メインマイコン２７は、復帰処理（負荷適正化処理、リセット処理）を実行することができる。これにより、燃焼サイクルとＡ／Ｄ変換実施期間との不一致による燃圧データの学習停止から復帰することができ、燃焼サイクルごとに正しい燃料圧力およびその推移を学習することができる。
【００５６】
（第２の実施形態）
次に、第２の実施形態について図４および図５を参照しながら説明する。本実施形態は、第１の実施形態と同様のハードウェア構成（図１参照）を備え、第１の実施形態で説明した燃圧検出指令の異常判定処理に対し、メインマイコン２７のポート出力の異常状態を２種類に判別可能としたものである。ここで用いる通信Ｉ／Ｆ２７ｃ、２８ｃはイベント通信が可能である。
【００５７】
図４は、気筒番号および燃圧検出指令のタイミングチャートである。上から順に、ポート入力したＡ／Ｄ変換気筒信号Ｐ１、Ｐ２に基づいてサブマイコン２８が認識した気筒、メインマイコン２７が受信したサブマイコン２８の認識気筒、メインマイコン２７が順次決定する燃料噴射気筒、Ａ／Ｄ変換開始信号ＱおよびＡ／Ｄ変換気筒信号Ｐ１、Ｐ２を表している。
【００５８】
時刻ｔ１でメインマイコン２７が燃料噴射気筒を＃３から＃４に切り替えているが、メインマイコン２７の処理負荷が大きいためにポート出力処理が遅れ、時刻ｔ２で燃圧検出指令（Ａ／Ｄ変換気筒信号Ｐ１、Ｐ２とＡ／Ｄ変換開始信号Ｑ）をポート出力している。サブマイコン２８は、ポート入力したＡ／Ｄ変換気筒信号Ｐ１、Ｐ２に基づいて認識した気筒番号＃４を通信により直ちにメインマイコン２７に送信するが、通信Ｉ／Ｆ２７ｃ、２８ｃによる送受信処理に時間を要するため、時刻ｔ３でメインマイコン２７がサブマイコン２８の認識気筒番号＃４を受信している。
【００５９】
図５は、メインマイコン２７のＣＰＵ２７ａが実行する燃圧検出指令の異常判定処理を示している。メインマイコン２７のタイマ２７ｄは、燃料噴射気筒を切り替えた時点（時刻ｔ１、ｔ５、…）から、通信によりサブマイコン２８から認識気筒番号を受信するまで（時刻ｔ３、…、…）の認識応答時間ｔａを計測する。
【００６０】
メインマイコン２７は、計測した認識応答時間ｔａが第１しきい値ｔｐ１以下（正常時間内）であるか否かを判断する（ステップＳ１１）。第１しきい値ｔｐ１は、メインマイコン２７の処理負荷の大小にかかわらず不可避的に必要となるメインマイコン２７のポート出力処理時間、サブマイコン２８のポート入力処理時間、サブマイコン２８の送信処理時間およびメインマイコン２７の受信処理時間の合計時間よりも長く、且つメインマイコン２７の処理負荷が大きいことによるポート出力処理の遅れを含まない時間に設定されている。
【００６１】
ここで正常時間内（ＹＥＳ）と判断すると、受信したサブマイコン２８の認識気筒と燃料噴射気筒の番号が一致するか否かを判断する（ステップＳ１２）。一致する（ＹＥＳ）と判断する場合、処理負荷に起因する遅れなくメインマイコン２７からサブマイコン２８に対し燃圧検出指令が正常に送られ、サブマイコン２８はメインマイコン２７から送られた燃料噴射気筒を正しく認識していることになるので出力正常状態と判定する（ステップＳ１３）。ステップＳ１２で不一致（ＮＯ）と判断するとステップＳ１１に戻る。
【００６２】
一方、ステップＳ１１で正常時間内でない（ＮＯ）と判断すると、計測した認識応答時間ｔａが第２しきい値ｔｐ２以下（遅れ異常時間内）であるか否かを判断する（ステップＳ１４）。第２しきい値ｔｐ２は、メインマイコン２７の処理負荷が大きいことによるポート出力の遅れと評価できる遅れ時間の上限値に設定されている。例えば図１８に示された気筒＃４の遅れ時間である。認識応答時間ｔａが第２しきい値ｔｐ２を超える場合は、図１８に示された気筒＃２のように、ポート出力処理（例えばＡ／Ｄ変換開始信号Ｑの立ち下がり処理）が抜けた出力抜け異常（出力異常に相当）であり、出力遅れ異常とは区別できる。
【００６３】
メインマイコン２７は、ステップＳ１４で遅れ異常時間内（ＹＥＳ）と判断すると、受信したサブマイコン２８の認識気筒と燃料噴射気筒の番号が一致するか否かを判断する（ステップＳ１５）。ここで一致する（ＹＥＳ）と判断すると、メインマイコン２７の処理負荷が大きいために燃圧検出指令のポート出力処理が遅れた出力遅れ異常状態と判定し（ステップＳ１６）、出力正常状態への復帰処理を実行する（ステップＳ１７）。この復帰処理は、例えばメインマイコン２７の負荷を一時的に軽減する負荷適正化処理である。この復帰処理により出力遅れ異常が解消される。なお、ステップＳ１５で不一致（ＮＯ）と判断するとステップＳ１１に戻る。
【００６４】
メインマイコン２７は、ステップＳ１４で遅れ異常時間内でない（ＮＯ）と判断すると、処理負荷が大きいために燃圧検出指令のポート出力処理が抜けた出力抜け異常状態と判定し（ステップＳ１８）、ポート出力のリセット処理を実行する（ステップＳ１９）。リセット処理は、例えばＡ／Ｄ変換開始信号Ｑを一旦強制的にＬレベルに戻すことにより、順次切り替わる燃料噴射気筒に対するＡ／Ｄ変換の開始が連鎖的に遅れ続ける状態から脱する処理である。その後、ステップＳ１７と同様の復帰処理を実行する（ステップＳ２０）。この復帰処理により出力抜け異常が解消される。
【００６５】
本実施形態によれば、メインマイコン２７は、燃料噴射気筒を切り替えた時点からサブマイコン２８の認識気筒番号を受信するまでの認識応答時間ｔａを計測し、その認識応答時間ｔａに応じて、燃圧検出指令のポート出力について出力正常状態、出力遅れ異常状態および出力抜け異常状態を判定できる。
【００６６】
認識応答時間ｔａを第１しきい値ｔｐ１を基準に判別すれば、ポート入出力処理や通信処理に必ず必要となる遅れ時間、燃焼サイクルとＡ／Ｄ変換実施期間との間の燃圧検出処理に影響を及ぼさない僅かな差などを異常と判定することがなくなる。また、認識応答時間ｔａを第２しきい値ｔｐ２を基準に判別すれば、ポート出力処理の遅れ異常とポート出力処理の抜け異常とを判別でき、後者の場合にはリセット処理を実行することにより継続的な出力抜け異常状態から脱することができる。
【００６７】
（第３の実施形態）
次に、第３の実施形態について図６を参照しながら説明する。本実施形態も、第２の実施形態と同様にしてメインマイコン２７のポート出力の異常状態を２種類に判別可能な燃圧検出指令の異常判定方法を用いている。ただし、第２の実施形態と異なり、通信Ｉ／Ｆ２７ｃ、２８ｃは一定時間ごとの定期通信を行う。
【００６８】
図６は、図４と同様に示す気筒番号および燃圧検出指令のタイミングチャートである。メインマイコン２７は、時刻ｔ１１で燃料噴射気筒を＃３から＃４に切り替えるが、処理負荷が大きいために時刻ｔ１３まで遅れて燃圧検出指令をポート出力する。また、第２の実施形態と同様に、燃料噴射気筒を切り替えた時点（時刻ｔ１１、ｔ１６、…）から、通信によりサブマイコン２８から認識気筒番号を受信するまで（時刻ｔ１５、…、…）の認識応答時間ｔａを計測する。
【００６９】
サブマイコン２８は、時刻ｔ１３で燃圧検出指令をポート入力し、Ａ／Ｄ変換気筒信号Ｐ１、Ｐ２に基づいて気筒番号＃４を認識する。しかし、第２の実施形態のようなイベント通信ではないため直ちに送信できず、次の定期通信タイミング（時刻ｔ１５）まで待って認識気筒番号をメインマイコン２７に送信する。そこで、サブマイコン２８は、燃圧検出指令をポート入力した時点から認識気筒番号をメインマイコン２７に送信するまでの通信待機時間ｔｂをタイマ２８ｄにより計測し、次の定期通信タイミングで認識気筒番号と通信待機時間ｔｂをメインマイコン２７に送信する。
【００７０】
メインマイコン２７は、サブマイコン２８から認識気筒番号と通信待機時間ｔｂを受信すると、認識応答時間ｔａから通信待機時間ｔｂを減算して得た時間を認識応答時間ｔａとして設定した上で、図５に示した燃圧検出指令の異常判定処理を実行する。本実施形態によれば、メインマイコン２７とサブマイコン２８との通信が定期通信の場合であっても、燃圧検出指令のポート出力について出力正常状態、出力遅れ異常状態および出力抜け異常状態（出力異常状態）を正しく判定できる。
【００７１】
（第４の実施形態）
次に、第４の実施形態について図７および図８を参照しながら説明する。本実施形態の燃圧検出指令の異常判定装置も、図２に示したエンジンの燃料噴射制御装置に対し同様に適用される。ＥＣＵ１６は、図７に示す通り図１と同様のハードウェア構成を備えており、メインマイコン２７とサブマイコン２８の処理も、燃圧検出指令の異常判定処理を除き第１の実施形態と共通している。
【００７２】
すなわち、メインマイコン２７は、各種センサ信号を入力してエンジン１８の運転状態を把握し、それに基づいて燃料供給制御と燃料噴射制御を行う。また、インジェクタ１５の噴射に伴い変動する燃料圧力（燃圧）を取得するため、各燃焼サイクルの開始時にサブマイコン２８に対し燃料噴射気筒を示すＡ／Ｄ変換気筒信号Ｐ１、Ｐ２とＡ／Ｄ変換開始信号Ｑとからなる燃圧検出指令をポート出力する。ただし、メインマイコン２７の処理負荷が大きくなると、燃圧検出指令のポート出力処理が遅れ、或いはポート出力処理が抜けてしまう虞がある。
【００７３】
一方、サブマイコン２８は、Ａ／Ｄ変換気筒信号Ｐ１、Ｐ２とＡ／Ｄ変換開始信号Ｑをポート入力する。そして、ポート入力したＡ／Ｄ変換気筒信号Ｐ１、Ｐ２に基づいて気筒番号を認識する。ただし、第１の実施形態とは異なり、認識した気筒番号をメインマイコン２７に送信しない。サブマイコン２８は、入力したＡ／Ｄ変換開始信号ＱがＨレベルに立ち上がった時点から、認識気筒の燃圧センサ２４から出力される燃圧検出信号を逐次Ａ／Ｄ変換して燃料圧力推移を取得（学習）する。サブマイコン２８は、燃料圧力推移波形に基づいて検出した多段噴射の段数と燃料噴射パターンの噴射段数とを比較し、一致する場合には取得した燃料圧力推移の学習データを通信によりメインマイコン２７に送信する。不一致の場合には、燃圧データの学習処理を停止する。
【００７４】
図８は、メインマイコン２７のＣＰＵ２７ａが実行する燃圧検出指令の異常判定処理を示している。メインマイコン２７は、燃料噴射気筒を決定してＥＤＵ１７に対し噴射信号を出力すると燃圧検出指令のポート出力処理を実行するが、このポート出力処理は上述したように処理負荷に応じて遅れや抜けが生じる虞がある。そこで、メインマイコン２７は、Ａ／Ｄ変換気筒信号Ｐ１、Ｐ２とＡ／Ｄ変換開始信号Ｑの各出力ポートの信号レベルをポート入力（モニタ入力）する（ステップＳ２１）。このモニタ入力のタイミングは、Ａ／Ｄ変換開始信号Ｑの出力ポートの信号レベルがＬレベルからＨレベルに立ち上がった時点である。
【００７５】
メインマイコン２７は、モニタ入力したＡ／Ｄ変換開始信号Ｑの出力ポートの信号レベルが正しくＨレベルになっており、且つモニタ入力したＡ／Ｄ変換気筒信号Ｐ１、Ｐ２の出力ポートの信号レベルに基づく気筒番号と燃料噴射気筒の番号が一致するか否かを判断する（ステップＳ２２）。一致する（ＹＥＳ）と判断する場合、メインマイコン２７は燃料噴射気筒を正しくポート出力しており、従ってサブマイコン２８はメインマイコン２７から送られる燃料噴射気筒を正しく認識し、その気筒の燃圧検出信号を正しくＡ／Ｄ変換していることになるので出力正常状態と判定する（ステップＳ２３）。
【００７６】
一方、ステップＳ２２で一致しない（ＮＯ）と判断すると、メインマイコン２７は燃圧検出指令を正しくポート出力しておらず、サブマイコン２８はメインマイコン２７から送られる燃料噴射気筒を正しく認識していないため、出力異常状態と判定する（ステップＳ２４）。この原因としてメインマイコン２７の処理負荷が大きいことが考えられるので、メインマイコン２７は、図３に示したステップＳ５と同様に出力正常状態への復帰処理を実行する（ステップＳ２５）。
【００７７】
以上説明したように、本実施形態のメインマイコン２７は、燃圧検出指令のポート出力処理の後に、燃圧検出指令の出力ポートの信号レベルをモニタ入力するので、モニタ入力した信号レベルに基づく気筒番号と燃料噴射気筒の番号とが一致するか否かを判定することができる。これにより、メインマイコン２７は、サブマイコン２８から通信により認識気筒番号を得ることなく単独で、Ａ／Ｄ変換気筒信号Ｐ１、Ｐ２とＡ／Ｄ変換開始信号Ｑを正しくポート出力したか否かを確認することができる。不一致の場合には、第１の実施形態と同様に復帰処理（負荷適正化処理、リセット処理）を実行することにより、燃焼サイクルとＡ／Ｄ変換実施期間との不一致による燃圧データの学習停止から復帰することができ、燃焼サイクルごとに正しい燃料圧力およびその推移を学習することができる。
【００７８】
（第５の実施形態）
次に、第５の実施形態について図９および図１０を参照しながら説明する。本実施形態は、第４の実施形態と同様のハードウェア構成（図７参照）を備え、第４の実施形態で説明した燃圧検出指令の異常判定処理に対し、メインマイコン２７のポート出力の異常状態を２種類に判別可能としたものである。
【００７９】
図９は、気筒番号および燃圧検出指令のタイミングチャートである。上から順に、メインマイコン２７が順次決定する燃料噴射気筒、メインマイコン２７がモニタ入力した信号レベルに基づく気筒番号、Ａ／Ｄ変換開始信号ＱおよびＡ／Ｄ変換気筒信号Ｐ１、Ｐ２を表している。
【００８０】
時刻ｔ２１でメインマイコン２７が燃料噴射気筒を＃３から＃４に切り替えているが、メインマイコン２７の処理負荷が大きいためにポート出力処理が遅れ、時刻ｔ２３で燃圧検出指令（Ａ／Ｄ変換気筒信号Ｐ１、Ｐ２とＡ／Ｄ変換開始信号Ｑ）をポート出力している。サブマイコン２８は、ポート入力したＡ／Ｄ変換気筒信号Ｐ１、Ｐ２に基づいて気筒番号＃４を認識し、この認識気筒の燃圧センサ２４から出力される燃圧検出信号をＡ／Ｄ変換して燃料圧力推移を取得（学習）する。
【００８１】
図１０は、メインマイコン２７のＣＰＵ２７ａが実行する燃圧検出指令の異常判定処理を示している。メインマイコン２７のタイマ２７ｄは、燃料噴射気筒を切り替えた時点（時刻ｔ２１、ｔ２５、…）から、Ａ／Ｄ変換開始信号Ｑの出力ポートの信号レベルがＬレベルからＨレベルに立ち上がった時点（時刻ｔ２３、…、…）までの出力遅延時間ｔｃを計測する。
【００８２】
メインマイコン２７は、計測した出力遅延時間ｔｃが第１しきい値ｔｑ１以下（正常時間内）であるか否かを判断する（ステップＳ３１）。第１しきい値ｔｑ１は、メインマイコン２７の処理負荷の大小にかかわらず不可避的に必要となるメインマイコン２７のポート出力処理時間よりも長く、且つメインマイコン２７の処理負荷が大きいことによるポート出力処理の遅れを含まない時間に設定されている。
【００８３】
ここで正常時間内（ＹＥＳ）と判断すると、メインマイコン２７は、モニタ入力したＡ／Ｄ変換開始信号Ｑの出力ポートの信号レベルが正しくＨレベルになっており、且つモニタ入力したＡ／Ｄ変換気筒信号Ｐ１、Ｐ２の出力ポートの信号レベルに基づく気筒番号と燃料噴射気筒の番号が一致するか否かを判断する（ステップＳ３２）。ここでＹＥＳと判断すると、処理負荷に起因する遅れなくメインマイコン２７からサブマイコン２８に対し燃圧検出指令が正常にポート出力され、サブマイコン２８はメインマイコン２７から送られた燃料噴射気筒を正しく認識していることになるので正常出力状態と判定する（ステップＳ３３）。ステップＳ３２でＮＯと判断するとステップＳ３１に戻る。
【００８４】
一方、ステップＳ３１で正常時間内でない（ＮＯ）と判断すると、計測した出力遅延時間ｔｃが第２しきい値ｔｑ２以下（遅れ異常時間内）であるか否かを判断する（ステップＳ３４）。第２しきい値ｔｑ２は、メインマイコン２７の処理負荷が大きいことによるポート出力の遅れと評価できる遅れ時間の上限値に設定されている。例えば図１８に示された気筒＃４の遅れ時間である。出力遅延時間ｔｃが第２しきい値ｔｐ２を超える場合は、図１８に示された気筒＃２のように、ポート出力処理（例えばＡ／Ｄ変換開始信号Ｑの立ち下がり処理）が抜けた出力抜け異常またはＩ／Ｏポート２７ｂの異常（出力異常に相当）であり、出力遅れ異常とは区別できる。
【００８５】
メインマイコン２７は、ステップＳ３４で遅れ異常時間内（ＹＥＳ）と判断すると、ステップＳ３２と同じ判断処理を実行する（ステップＳ１５）。ここでＹＥＳと判断すると、メインマイコン２７の処理負荷が大きいために燃圧検出指令のポート出力処理が遅れた出力遅れ異常状態と判定し（ステップＳ３６）、出力正常状態への復帰処理を実行する（ステップＳ３７）。この復帰処理は、例えばメインマイコン２７の負荷を一時的に軽減する負荷適正化処理である。この復帰処理により出力遅れ異常が解消される。なお、ステップＳ３５でＮＯと判断するとステップＳ３１に戻る。
【００８６】
メインマイコン２７は、ステップＳ３４で遅れ異常時間内でない（ＮＯ）と判断すると、処理負荷が大きいために燃圧検出指令のポート出力処理が抜けた出力抜け異常状態またはＩ／Ｏポート２７ｂの異常と判定し（ステップＳ３８）、ポート出力のリセット処理を実行する（ステップＳ３９）。リセット処理は、図５に示したステップＳ１９と同様である。その後、ステップＳ３７と同様の復帰処理を実行する（ステップＳ４０）。この処理により出力異常が解消される。
【００８７】
本実施形態によれば、メインマイコン２７は、燃料噴射気筒を切り替えた時点からＡ／Ｄ変換開始信号Ｑの出力ポートの信号レベルが立ち上がるまでの出力遅延時間ｔｃを計測し、その出力遅延時間ｔｃに応じて、燃圧検出指令のポート出力について出力正常状態、出力遅れ異常状態および出力異常状態を判定できる。
【００８８】
出力遅延時間ｔｃを第１しきい値ｔｑ１を基準に判別すれば、ポート出力処理に必ず必要となる遅れ時間、燃焼サイクルとＡ／Ｄ変換実施期間との間の燃圧検出処理に影響を及ぼさない僅かな差などを異常と判定することがなくなる。また、出力遅延時間ｔｃを第２しきい値ｔｑ２を基準に判別すれば、ポート出力処理の遅れ異常とそれ以外の出力異常とを判別できる。
【００８９】
（第６の実施形態）
次に、第６の実施形態について図１１および図１２を参照しながら説明する。本実施形態は、第５の実施形態におけるステップＳ３８に、出力異常の原因を判別する処理を加えたものである。
【００９０】
図１１は、図９と共通の時間軸で表した気筒番号および燃圧検出指令のタイミングチャートである。モニタ入力に基づく気筒は省略されている。出力遅延時間ｔｃが第２しきい値ｔｑ２を超えると（時刻ｔ２４）、メインマイコン２７は出力異常と判定する（図１０に示すステップＳ３８）。この時、メインマイコン２７は、図１２に示すリトライ処理を追加的に実行する。
【００９１】
メインマイコン２７は、Ａ／Ｄ変換気筒信号Ｐ１、Ｐ２とＡ／Ｄ変換開始信号Ｑとからなる燃圧検出指令を再びポート出力し（ステップＳ４１）、続いてＡ／Ｄ変換気筒信号Ｐ１、Ｐ２とＡ／Ｄ変換開始信号Ｑをポート入力（モニタ入力）する（ステップＳ４２）。メインマイコン２７は、ポート出力した信号とモニタ入力した信号が一致するか否か、換言すればモニタ入力したＡ／Ｄ変換開始信号Ｑの出力ポートの信号レベルが正しくＨレベルになっており、且つモニタ入力したＡ／Ｄ変換気筒信号Ｐ１、Ｐ２の出力ポートの信号レベルに基づく気筒番号と燃料噴射気筒の番号が一致するか否かを判断する（ステップＳ４３）。
【００９２】
ここでＹＥＳと判断すると、Ｉ／Ｏポート２７ｂは正常に動作しており、メインマイコン２７の処理負荷が大きいために燃圧検出指令のポート出力処理が抜けた出力抜け異常状態と判定する（ステップＳ４４）。一方、ＮＯと判断すると、Ｉ／Ｏポート２７ｂに異常があるために燃圧検出指令のポート出力処理が抜けたＩ／Ｏポート異常状態と判定する（ステップＳ４５）。
【００９３】
本実施形態によれば、メインマイコン２７から燃圧検出指令がポート出力されない場合、処理負荷が大きいことによる出力抜け異常かＩ／Ｏポート２７ｂの故障によるＩ／Ｏポート異常かを判定することができる。これにより、メインマイコン２７は、異常判定結果に応じた処理例えばダイアグ信号出力処理を実行することができる。
【００９４】
（第７の実施形態）
次に、第７の実施形態について図１３および図１４を参照しながら説明する。本実施形態の燃圧検出指令の異常判定装置も、図２に示したエンジンの燃料噴射制御装置に対し同様に適用される。ＥＣＵ１６は、図１３に示す通り図１と同様のハードウェア構成を備えており、メインマイコン２７とサブマイコン２８の処理も、燃圧検出指令の異常判定処理を除き第１の実施形態と共通している。本実施形態では、サブマイコン２８のＣＰＵ２８ａが判定手段に相当する。
【００９５】
すなわち、メインマイコン２７は、各種センサ信号を入力してエンジン１８の運転状態を把握し、それに基づいて燃料供給制御と燃料噴射制御を行う。また、インジェクタ１５の噴射に伴い変動する燃料圧力（燃圧）を取得するため、各燃焼サイクルの開始時にサブマイコン２８に対し燃料噴射気筒を示すＡ／Ｄ変換気筒信号Ｐ１、Ｐ２とＡ／Ｄ変換開始信号Ｑとからなる燃圧検出指令をポート出力する。ただし、メインマイコン２７の処理負荷が高まると、燃圧検出指令のポート出力処理が遅れ、或いはポート出力処理が抜けてしまう虞がある。
【００９６】
一方、サブマイコン２８は、Ａ／Ｄ変換気筒信号Ｐ１、Ｐ２とＡ／Ｄ変換開始信号Ｑをポート入力する。そして、ポート入力したＡ／Ｄ変換気筒信号Ｐ１、Ｐ２に基づいて気筒番号を認識する。ただし、第１の実施形態とは異なり、認識した気筒番号をメインマイコン２７に送信せず、メインマイコン２７からサブマイコン２８に通信により燃料噴射気筒の番号を送信する。
【００９７】
サブマイコン２８は、入力したＡ／Ｄ変換開始信号ＱがＨレベルに立ち上がった時点から、認識気筒の燃圧センサ２４から出力される燃圧検出信号を逐次Ａ／Ｄ変換して燃料圧力推移を取得（学習）する。サブマイコン２８は、燃料圧力推移波形に基づいて検出した多段噴射の段数と燃料噴射パターンの噴射段数とを比較し、一致する場合には取得した燃料圧力推移の学習データを通信によりメインマイコン２７に送信する。不一致の場合には、燃圧データの学習処理を停止する。
【００９８】
図１４は、サブマイコン２８のＣＰＵ２８ａが実行する燃圧検出指令の異常判定処理を示している。メインマイコン２７は、燃料噴射気筒を決定してＥＤＵ１７に対し噴射信号を出力すると、燃圧検出指令をＩ／Ｏポート２７ｂを介してポート出力するとともに、通信Ｉ／Ｆ２７ｃを介してサブマイコン２８に送信する。送信処理は遅れや抜けが生じないが、ポート出力処理は上述したように処理負荷に応じて遅れや抜けが生じる虞がある。
【００９９】
サブマイコン２８は、通信Ｉ／Ｆ２８ｃを介して燃料噴射気筒を示す気筒番号を受信し（ステップＳ５１）、Ｉ／Ｏポート２８ｂによりＡ／Ｄ変換気筒信号Ｐ１、Ｐ２とＡ／Ｄ変換開始信号Ｑをポート入力する（ステップＳ５２）。サブマイコン２８は、ポート入力したＡ／Ｄ変換気筒信号Ｐ１、Ｐ２に基づいて気筒番号を認識し、その認識気筒番号と受信した気筒番号が一致するか否かを判断する（ステップＳ５３）。一致する（ＹＥＳ）と判断する場合、サブマイコン２８は燃料噴射気筒を正しく認識し、その気筒の燃圧検出信号を正しくＡ／Ｄ変換していることになるので出力正常状態と判定する（ステップＳ５４）。
【０１００】
一方、ステップＳ５３で一致しない（ＮＯ）と判断すると、サブマイコン２８はメインマイコン２７からポート出力される燃料噴射気筒を正しく認識していないため、出力異常状態と判定する（ステップＳ５５）。この原因としては、メインマイコン２７の処理負荷が大きいことが考えられる。そこで、サブマイコン２８は、判定結果をメインマイコン２７に送信する（ステップＳ５６）。メインマイコン２７は、この判定結果に基づいて出力正常状態への復帰処理（負荷適正化処理、リセット処理）を実行する。
【０１０１】
以上説明したように、本実施形態のメインマイコン２７は、サブマイコン２８に対し、燃圧検出指令をポート出力するとともにＵＡＲＴなどの通信により燃料噴射気筒の番号を送信する。サブマイコン２８は、ポート入力した気筒情報に基づいて認識した気筒番号と受信した気筒番号が一致しない場合に、メインマイコン２７が燃圧検出指令を正しくポート出力していないことを検出することができる。
【０１０２】
不一致の場合には、サブマイコン２８からメインマイコン２７に対し判定結果を送信することにより、メインマイコン２７は、第１の実施形態と同様に復帰処理（負荷適正化処理、リセット処理）を実行することができるので、燃焼サイクルとＡ／Ｄ変換実施期間との不一致による燃圧データの学習停止から復帰することができる。
【０１０３】
（第８の実施形態）
次に、第８の実施形態について図１５および図１６を参照しながら説明する。本実施形態は、第７の実施形態と同様のハードウェア構成（図１３参照）を備え、第７の実施形態で説明した燃圧検出指令の異常判定処理に対し、メインマイコン２７のポート出力の異常状態を２種類に判別可能としたものである。
【０１０４】
図１５は、気筒番号および燃圧検出指令のタイミングチャートである。上から順に、ポート入力したＡ／Ｄ変換気筒信号Ｐ１、Ｐ２に基づいてサブマイコン２８が認識した気筒番号、サブマイコン２８が通信により受信した気筒番号、メインマイコン２７が順次決定する燃料噴射気筒、Ａ／Ｄ変換開始信号ＱおよびＡ／Ｄ変換気筒信号Ｐ１、Ｐ２を表している。
【０１０５】
メインマイコン２７は、時刻ｔ３１で燃料噴射気筒を＃３から＃４に切り替えるとともに燃料噴射気筒の番号を送信し、サブマイコン２８は、時刻ｔ３２でその気筒番号を受信する。一方、メインマイコン２７の処理負荷が大きいためにポート出力処理が遅れ、サブマイコン２８は、時刻ｔ３４で燃圧検出指令（Ａ／Ｄ変換気筒信号Ｐ１、Ｐ２とＡ／Ｄ変換開始信号Ｑ）をポート入力している。
【０１０６】
図１６は、サブマイコン２８のＣＰＵ２８ａが実行する燃圧検出指令の異常判定処理を示している。サブマイコン２８のタイマ２８ｄは、メインマイコン２７から気筒番号を受信した時点（時刻ｔ３２）から、サブマイコン２８が燃圧検出指令（Ａ／Ｄ変換気筒信号Ｐ１、Ｐ２とＡ／Ｄ変換開始信号Ｑ）をポート入力するまでの指令遅延時間ｔｄを計測する。
【０１０７】
サブマイコン２８は、計測した指令遅延時間ｔｄが第１しきい値ｔｒ１以下（正常時間内）であるか否かを判断する（ステップＳ６１）。第１しきい値ｔｒ１は、メインマイコン２７の処理負荷の大小にかかわらず不可避的に必要となるメインマイコン２７のポート出力処理時間（より正確にはこれからメインマイコン２７の送信処理時間を減じた時間）およびサブマイコン２８のポート入力処理時間の合計時間よりも長く、且つメインマイコン２７の処理負荷が大きいことによるポート出力処理の遅れを含まない時間に設定されている。
【０１０８】
ここで正常時間内（ＹＥＳ）と判断すると、サブマイコン２８は、ポート入力したＡ／Ｄ変換気筒信号Ｐ１、Ｐ２に基づいて認識した気筒番号と受信した気筒番号が一致するか否かを判断する（ステップＳ６２）。一致する（ＹＥＳ）と判断する場合、処理負荷に起因する遅れなくメインマイコン２７からサブマイコン２８に対し燃圧検出指令が正常にポート出力され、サブマイコン２８は燃料噴射気筒を正しく認識し、その気筒の燃圧検出信号を正しくＡ／Ｄ変換していることになるので出力正常状態と判定する（ステップＳ６３）。ステップＳ６２でＮＯと判断するとステップＳ６１に戻る。
【０１０９】
一方、ステップＳ６１で正常時間内でない（ＮＯ）と判断すると、計測した指令遅延時間ｔｄが第２しきい値ｔｒ２以下（遅れ異常時間内）であるか否かを判断する（ステップＳ６４）。第２しきい値ｔｒ２は、メインマイコン２７の処理負荷が大きいことによるポート出力の遅れと評価できる遅れ時間の上限値に設定されている。例えば図１８に示された気筒＃４の遅れ時間である。指令遅延時間ｔｄが第２しきい値ｔｒ２を超える場合は、図１８に示された気筒＃２のように、ポート出力処理（例えばＡ／Ｄ変換開始信号Ｑの立ち下がり処理）が抜けた出力抜け異常（出力異常に相当）であり、出力遅れ異常とは区別できる。
【０１１０】
サブマイコン２８は、ステップＳ６４で遅れ異常時間内（ＹＥＳ）と判断すると、認識した気筒番号と受信した気筒番号が一致するか否かを判断する（ステップＳ６５）。ここで一致する（ＹＥＳ）と判断すると、メインマイコン２７の処理負荷が大きいために燃圧検出指令のポート出力処理が遅れた出力遅れ異常状態と判定する（ステップＳ６６）。ステップＳ６５で不一致（ＮＯ）と判断するとステップＳ６１に戻る。
【０１１１】
サブマイコン２８は、ステップＳ６４で遅れ異常時間内でない（ＮＯ）と判断すると、処理負荷が大きいために燃圧検出指令のポート出力処理が抜けた出力抜け異常状態と判定する（ステップＳ６７）。異常状態と判定した場合には、判定結果をメインマイコン２７に送信する（ステップＳ６８）。メインマイコン２７は、この判定結果に基づいて出力正常状態への復帰処理（負荷適正化処理、リセット処理）を実行する。
【０１１２】
本実施形態によれば、サブマイコン２８は、メインマイコン２７から気筒番号を受信した時点からサブマイコン２８が燃圧検出指令をポート入力するまでの指令遅延時間ｔｄを計測し、その指令遅延時間ｔｄに応じて、燃圧検出指令のポート出力について出力正常状態、出力遅れ異常状態および出力抜け異常状態を判定できる。
【０１１３】
指令遅延時間ｔｄを第１しきい値ｔｒ１を基準に判別すれば、ポート出力処理に必ず必要となる遅れ時間、燃焼サイクルとＡ／Ｄ変換実施期間との間の燃圧検出処理に影響を及ぼさない僅かな差などを異常と判定することがなくなる。また、指令遅延時間ｔｄを第２しきい値ｔｒ２を基準に判別すれば、ポート出力処理の遅れ異常とポート出力処理の抜け異常とを判別できる。
【０１１４】
（その他の実施形態）
以上、本発明の好適な実施形態について説明したが、本発明は上述した実施形態に限定されるものではなく、発明の要旨を逸脱しない範囲内で種々の変形、拡張を行うことができる。
燃圧センサ２４をインジェクタ１５の燃料取込口に取り付けたが、例えばコモンレール１４とインジェクタ１５とを接続する高圧燃料配管２３に取り付けるなど適宜取り付け位置を変更することができる。
【０１１５】
燃圧検出信号のＡ／Ｄ変換期間は、少なくとも１燃焼サイクルの初段の噴射開始時から最終段の噴射による燃料圧力変動が収束する時点までの期間であればよい。従って、メインマイコン２７は、各燃焼サイクルの開始時に替えて、各燃焼サイクルの開始時と初段の噴射開始時との間に設定された基準時に燃圧検出指令をポート出力する構成としてもよい。
【符号の説明】
【０１１６】
図面中、１８はエンジン（内燃機関）、２４は燃圧センサ、２７はメインマイコン（第１制御装置）、２７ａはＣＰＵ（判定手段）、２８はサブマイコン（第２制御装置）、２８ａはＣＰＵ（判定手段）、ｔａは認識応答時間、ｔｂは通信待機時間、ｔｃは出力遅延時間、ｔｄは指令遅延時間、ｔｐ１、ｔｑ１、ｔｒ１は第１しきい値、ｔｐ２、ｔｑ２、ｔｒ２は第２しきい値である。
【図１】
0005664493.tif 000002
【図２】
0005664493.tif 000003
【図３】
0005664493.tif 000004
【図４】
0005664493.tif 000005
【図５】
0005664493.tif 000006
【図６】
0005664493.tif 000007
【図７】
0005664493.tif 000008
【図８】
0005664493.tif 000009
【図９】
0005664493.tif 000010
【図１０】
0005664493.tif 000011
【図１１】
0005664493.tif 000012
【図１２】
0005664493.tif 000013
【図１３】
0005664493.tif 000014
【図１４】
0005664493.tif 000015
【図１５】
0005664493.tif 000016
【図１６】
0005664493.tif 000017
【図１７】
0005664493.tif 000018
【図１８】
0005664493.tif 000019