(57)【特許請求の範囲】
【請求項１】
クランクが所定角度回転する毎に信号レベルがＨｉレベルとＬｏレベルに交互に切り替わるクランク信号に含まれるパルスの数を検出する第１マイコン（１０）と第２マイコン（２０）を有するカウンター装置であって、
前記クランク信号は、前記第１マイコンと前記第２マイコンそれぞれに入力され、前記第１マイコンと前記第２マイコンとは電気的に接続された構成となっており、
前記第１マイコンは、
検出タイミングにおける前記クランク信号のパルスの数である第１カウント数（Ｎ１）を検出し、
前記第１カウント数を前記第２マイコンに送信し、
前記第２マイコンは、
前記検出タイミングから、前記第１カウント数が前記第２マイコンに入力されるまでにかかることが期待される処理時間以上経過した判定タイミングにおける、前記クランク信号のパルスの数である第２カウント数（Ｎ２）を検出し、
前記第１カウント数に、前記検出タイミングから前記判定タイミングまでの許容遅延時間（Ｔ２）を、前記クランク信号のパルス周期（Ｔ１）で割った値を超えない最大の整数を加算した判定値を算出し、
前記判定値と前記第２カウント数とを比較することで、前記第１マイコンと前記第２マイコンそれぞれに入力される前記クランク信号が一致しているか否かを判定することを特徴とするカウンター装置。
【請求項２】
前記第２マイコンは、
前記第１マイコンから前記第１カウント数が入力されるまでに実際にかかった入力時間を算出し、
前記入力時間が、前記許容遅延時間を越えない場合、前記判定値と前記第２カウント数とを比較することで、前記第１マイコンと前記第２マイコンそれぞれに入力される前記クランク信号が一致しているか否かを判定し、
前記入力時間が、前記許容遅延時間を越える場合、前記第１マイコンと前記第２マイコンとで通信異常が生じているか否かを判定することを特徴とする請求項１に記載のカウンター装置。
【請求項３】
前記第２マイコンは、
前記判定値と前記第２カウント数とが一致しない場合、前記第２カウント数に異常があると判定し、
前記第２カウント数に異常があると判定した場合、前記第２カウント数が前記判定値に等しいと補正することを特徴とする請求項２に記載のカウンター装置。
【請求項４】
前記第２マイコンは、
前記第１マイコンと前記第２マイコンとで通信異常が生じていると判定した場合、エラーカウンターをインクリメントし、
前記エラーカウンターが所定値以上の場合、通信異常と判定することを特徴とする請求項２又は請求項３に記載のカウンター装置。
【請求項５】
前記第２マイコンは、
前記エラーカウンターが所定値以上の場合、リセットカウンターをインクリメントし、
前記リセットカウンターが所定値以上の場合、前記第１マイコンにリセット要求することを特徴とする請求項４に記載のカウンター装置。
【請求項６】
前記第２マイコンは、
前記第１マイコンと前記第２マイコンとで通信異常が生じていると判定した場合、前記第１マイコンと前記第２マイコンそれぞれに入力される前記クランク信号が一致しているか否かを判定することを保留する判定保留中フラグをセットし、
前記入力時間が、前記許容遅延時間を越えないことが連続して起きた場合、前記判定保留中フラグをリセットすることを特徴とする請求項４又は請求項５に記載のカウンター装置。
【請求項７】
前記第２マイコンは、
前記第１マイコンと前記第２マイコンとで通信異常が生じていると判定した場合、通信異常であることを示す通信異常中フラグをセットし、
前記入力時間が、前記許容遅延時間を越えないことが連続して起きた場合、前記通信異常中フラグをリセットすることを特徴とする請求項４〜６のいずれか１項に記載のカウンター装置。
【請求項８】
前記第２マイコンは、入力される複数の信号の処理に優先順位をつけており、
前記第１マイコンは、前記第２マイコンに信号を送信した際に、受信を受理されなかった場合、再送処理を行う機能を有しており、
前記判定タイミングは、前記優先順位と前記再送処理に基づいて設定されていることを特徴とする請求項１〜７のいずれか１項に記載のカウンター装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クランク信号に含まれるパルスの数を検出する第１マイコンと第２マイコンを有するカウンター装置に関するものである。
【背景技術】
【０００２】
従来、例えば特許文献１に示されるように、センサＥＣＵ、ＴＣＭＥＣＵ、及び、点火ＥＣＵを備える車両制御システムが提案されている。この車両制御システムでは、センサＥＣＵからＴＣＭＥＣＵにクランク角に関する情報が渡され、ＴＣＭＥＣＵから点火ＥＣＵに点火タイミングに関する情報が与えられる。そして、点火ＥＣＵによって、イグナイタがクランク角に同期するように制御される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−１９０６６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記したように、特許文献１に示される車両制御システムでは、センサＥＣＵからＴＣＭＥＣＵ、ＴＣＭＥＣＵから点火ＥＣＵに情報が与えられる構成となっている。これに対して、クランクが所定角度回転する毎に信号レベルがＨｉレベルとＬｏレベルに交互に切り替わるクランク信号が、対象となる原動機（エンジンなど）を制御する２つのＥＣＵそれぞれに入力される構成も考えられる。この構成において、各ＥＣＵは、原動機を高精度に制御するために、クランク信号に同期している必要がある。そこで、一方のＥＣＵから他方のＥＣＵに、クランク信号に含まれるパルスの数（クランク信号の信号レベルがＬｏレベルからＨｉレベルへ変化する際の立ち上がりエッジの数）をカウントしたカウント数を送信し、他方のＥＣＵにて自身が算出したカウント数と入力されたカウント数とが同一か否かを判定する。こうすることで、第１マイコンと第２マイコンとで、クランク信号に同期しているか否かを判定する。このような構成において、エンジンが高速回転すると、一方のＥＣＵから他方のＥＣＵにカウント数が入力するまでにかかる時間（入力時間）が、クランク信号のパルス周期よりも長くなる場合がある。この場合、第１マイコンと第２マイコンとはクランク信号に同期しているにも関わらず、第１マイコンと第２マイコンとはクランク信号に同期していないと判定される。このような不具合は、高速処理するＥＣＵを採用したり、ＥＣＵ間の通信に高速の通信ネットワークを採用したりすれば、解決することもできる。しかしながら、その場合、コストが嵩む、という問題が生じる。
【０００５】
そこで、本発明は上記問題点に鑑み、コストが嵩むことが抑制されたカウンター装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記した目的を達成するために、本発明は、クランクが所定角度回転する毎に信号レベルがＨｉレベルとＬｏレベルに交互に切り替わるクランク信号に含まれるパルスの数を検出する第１マイコン（１０）と第２マイコン（２０）を有するカウンター装置であって、クランク信号は、第１マイコンと第２マイコンそれぞれに入力され、第１マイコンと第２マイコンとは電気的に接続された構成となっており、第１マイコンは、検出タイミングにおけるクランク信号のパルスの数である第１カウント数（Ｎ１）を検出し、第１カウント数を第２マイコンに送信し、第２マイコンは、検出タイミングから、第１カウント数が第２マイコンに入力されるまでにかかることが期待される処理時間以上経過した判定タイミングにおける、クランク信号のパルスの数である第２カウント数（Ｎ２）を検出し、第１カウント数に、検出タイミングから判定タイミングまでの許容遅延時間（Ｔ２）を、クランク信号のパルス周期（Ｔ１）で割った値を超えない最大の整数を加算した判定値を算出し、判定値と第２カウント数とを比較することで、第１マイコンと第２マイコンそれぞれに入力されるクランク信号が一致しているか否かを判定することを特徴とする。
【０００７】
パルス周期をＴ１、許容遅延時間をＴ２とすると、許容遅延時間Ｔ２をパルス周期Ｔ１で割った値を超えない最大の整数とは、ガウス記号でもって、［Ｔ２／Ｔ１］と表される。また、第１カウント数をＮ１、第２カウント数をＮ２とすると、判定値は、Ｎ１＋［Ｔ２／Ｔ１］と表される。第２マイコン（２０）は、Ｎ１＋［Ｔ２／Ｔ１］とＮ２とを比較することで、第１マイコン（１０）と第２マイコン（２０）それぞれに入力されるクランク信号が一致しているか否か、すなわち、第１マイコン（１０）と第２マイコン（２０）とが、クランク信号に同期しているか否かを判定する。
【０００８】
パルス周期Ｔ１が許容遅延時間Ｔ２よりも長く、第１マイコン（１０）から第２マイコン（２０）への通信に、カウント数Ｎ１，Ｎ２に相違が生じるほどの遅れが生じていない場合、[Ｔ２／Ｔ１]は０となる。そのため、判定値はＮ１と等しくなる。この場合、第２マイコン（２０）は、判定値Ｎ１と第２カウント数Ｎ２とが等しいと判定し、第１マイコン（１０）と第２マイコン（２０）とが、クランク信号に同期していると判定する。
【０００９】
これとは異なり、パルス周期Ｔ１が許容遅延時間Ｔ２よりも短く、第１マイコン（１０）から第２マイコン（２０）への通信に、カウント数Ｎ１，Ｎ２に相違が生じるほどの遅れが生じている場合、[Ｔ２／Ｔ１]は１以上の整数となる。カウント数は、パルス周期Ｔ１を１に換算した値に等しく、通信遅れは、許容遅延時間Ｔ２によって表される。したがって、遅れをカウント数に換算した値は、Ｔ２／Ｔ１の整数値によって表され、それを数学的に表現すると、[Ｔ２／Ｔ１]となる。したがって、第１カウント数Ｎ１に［Ｔ２／Ｔ１］が加算された判定値は、第２カウント数Ｎ２に等しくなる。以上により、第１マイコン（１０）から第２マイコン（２０）への通信に、カウント数Ｎ１，Ｎ２に相違が生じるほどの遅れが生じた場合においても、第２マイコン（２０）は、判定値Ｎ１＋［Ｔ２／Ｔ１］と第２カウント数Ｎ２とが等しいと判定し、第１マイコン（１０）と第２マイコン（２０）とが、クランク信号に同期していると判定する。
【００１０】
以上、示したように、クランクが早く回転し、パルス周期Ｔ１が許容遅延時間Ｔ２よりも短くなったとしても、第１マイコン（１０）と第２マイコン（２０）とが、クランク信号に同期していると判定される。このように、第１マイコン（１０）と第２マイコン（２０）それぞれの処理速度と通信速度に関係せずに、クランク信号に同期しているか否かが判定される。そのため、第１マイコン（１０）及び第２マイコン（２０）として、処理速度の遅い廉価版を採用することができ、第１マイコン（１０）と第２マイコン（２０）との通信に高速の通信ネットワークを採用しなくともよくなる。この結果、カウンター装置（１００）のコストが嵩むことが抑制される。
【００１１】
上記構成では、第１マイコン（１０）と第２マイコン（２０）との間で、カウンター装置（１００）で容認することのできない通信遅れ（通信異常）が生じている場合においても、第１マイコン（１０）と第２マイコン（２０）とが、クランク信号に同期しているか否かが判定される。
【００１２】
そのため、通信異常を判定するために、第２マイコンは、第１マイコンから第１カウント数が入力されるまでに実際にかかった入力時間を算出し、入力時間が、許容遅延時間を越えない場合、判定値と第２カウント数とを比較することで、第１マイコンと第２マイコンそれぞれに入力されるクランク信号が一致しているか否かを判定し、入力時間が、許容遅延時間を越える場合、第１マイコンと第２マイコンとで通信異常が生じているか否かを判定する構成が好適である。これにより、クランク信号に同期しているか否かだけではなく、通信異常も判定される。
【００１３】
上記のように、第２マイコン（２０）は、入力時間が許容遅延時間を越えない場合に、第１マイコン（１０）と第２マイコン（２０）がクランク信号に同期しているか否かを判定する。入力時間が許容遅延時間を越えない場合、第１マイコン（１０）に異常はなく、且つ、通信異常も生じていないことになり、判定値は正常であることが期待される。そうであるにも関わらず、両者が不一致になる場合、第２カウント数に異常があることが期待される。
【００１４】
そこで、第２マイコンは、判定値と第２カウント数とが一致しない場合、第２カウント数に異常があると判定し、第２カウント数に異常があると判定した場合、第２カウント数が判定値に等しいと補正する構成が好ましい。これにより、第２カウント数が補正される。
【図面の簡単な説明】
【００１５】
【図１】第１実施形態に係るカウンター装置の概略構成を示すブロック図である。
【図２】パルス周期が許容遅延時間よりも長い場合における、クランク信号、第１カウント数、及び、第２カウント数それぞれを説明するための概念図である。
【図３】パルス周期が許容遅延時間よりも短い場合における、クランク信号、第１カウント数、及び、第２カウント数それぞれを説明するための概念図である。
【図４】通信障害が生じた場合における、クランク信号、第１カウント数、及び、第２カウント数それぞれを説明するための概念図である。
【図５】第１マイコンのクランク信号の処理を説明するフローチャートである。
【図６】第２マイコンのクランク信号の処理を説明するフローチャートである。
【図７】第２マイコンの判定処理を説明するフローチャートである。
【発明を実施するための形態】
【００１６】
以下、本発明の実施の形態を図に基づいて説明する。
（第１実施形態）
図１〜図７に基づいて、本実施形態に係るカウンター装置を説明する。図１に示すように、カウンター装置１００は、要部として、第１マイコン１０と、第２マイコン２０と、を有する。マイコン１０，２０とは互いに電気的に接続されており、クランクが所定角度回転する毎に信号レベルがＨｉレベルとＬｏレベルに交互に切り替わるクランク信号が、マイコン１０，２０それぞれに入力される。
【００１７】
本実施形態に係る第１マイコン１０は、噴射・点火制御を行い、第２マイコン２０は、プレイグの検出を行う。マイコン１０，２０それぞれは、高精度に噴射・点火制御を行うために、クランク信号に同期している。クランク信号の同期は、後述するように、第１マイコン１０で検出された第１カウント数Ｎ１、第２マイコン２０で検出された第２カウント数Ｎ２、クランク信号のパルス周期Ｔ１、及び、許容遅延時間Ｔ２に基づいて、判定される。このクランク信号の同期判定が、カウンター装置１００の主たる特徴点である。この点については、後で詳説する。
【００１８】
図１に示すように、第１マイコン１０は、要部として、第１ＣＰＵ１１と、クランク信号に含まれるパルスの立ち上がりエッジを検出する毎に、その立ち上がりエッジをカウントする第１カウンター１２と、データを記憶する第１メモリ１３と、第２マイコン２０と通信を行うための第１通信ドライバー１４と、を有する。同じく、第２マイコン２０は、要部として、第２ＣＰＵ２１と、クランク信号の立ち上がりエッジをカウントする第２カウンター２２と、データを記憶する第２メモリ２３と、第１マイコン１０と通信を行うための第２通信ドライバー２４と、を有する。
【００１９】
クランクには、等間隔に歯が形成されており、クランクが一定の速度で回転している場合、図２〜図４に示すように、マイコン１０，２０それぞれに入力されるクランク信号の立ち上がりエッジの間隔は、一定となる。したがって、エッジの間隔に相当するクランク信号のパルス周期Ｔ１も一定となる。しかしながら、クランクには欠け歯があり、その欠け歯のために、クランクが一回転すると、一度だけ、マイコン１０，２０それぞれに入力される立ち上がりエッジの入力間隔が、パルス周期Ｔ１よりも長くなる。マイコン１０，２０それぞれは、この入力間隔の長さを事前に検出していたパルス周期Ｔ１と比較することで、欠け歯を検出する。カウンター１２，２２それぞれは、欠け歯を検出すると、カウントしていた数をクリアし、再び、立ち上がりエッジをカウントし始める。本実施形態では、カウンター１２，２２それぞれは、０から２３まで立ち上がりエッジをカウントすることを繰り返す。
【００２０】
以下、マイコン１０，２０それぞれの処理について図２〜図７に基づいて説明する。第１マイコン１０は、図５に示すように、クランク信号の立ち上がりエッジを検出する度に、第１カウント数Ｎ１を算出する（ステップＳ１０）。そして、欠け歯を検出すると、検出タイミングとみなして、検出タイミングにおける第１カウント数Ｎ１を、第２マイコン２０に送信する（ステップＳ２０，Ｓ３０）。
【００２１】
図２〜図４に示すように、第１マイコン１０が、第２マイコン２０に送信する第１カウント数Ｎ１は０であり、この０の算出に要する算出時間は、Ａとなっている。そして、第１カウント数Ｎ１の送信にかかる送信時間は、Ｂとなっている。このＡとＢとを加算した値が、第１カウント数Ｎ１が第２マイコン２０に入力されるまでにかかることが期待される処理時間に相当し、これは、第１マイコン１０の処理速度と第１マイコン１０と第２マイコン２０との通信速度とによって定まる規定値である。ちなみに、第１マイコン１０は、第２マイコン２０に信号を送信し、第２マイコン２０から信号の受理を含む返信信号を受けとらなかった場合、再度信号を送信する再送処理を行う。
【００２２】
第２マイコン２０は、図６に示すように、クランク信号の立ち上がりエッジを検出する度に、第２カウント数Ｎ２を算出する（ステップＳ５０）。そして、欠け歯を検出すると、検出タイミングとみなして、第１マイコン１０と第２マイコン２０との間で、カウンター装置１００で容認することのできる通信遅れ時間である、許容遅延時間Ｔ２を算出する（ステップＳ６０，Ｓ７０）。許容遅延時間Ｔ２は、上記した処理時間に、余裕時間を加算した値であり、余裕時間も処理時間と同様にして規定値である。第２マイコン２０は、入力される複数の信号の処理に優先順位をつけており、余裕時間は、優先順位によって生じる待機時間、第１マイコン１０の再送処理にかかる時間、及び、予想されるクランクの速さ（予想されるクランク信号のパルス周期Ｔ１）によって決定される。余裕時間は、図２〜図４に示すＣに相当し、許容遅延時間Ｔ２は、Ａ〜Ｃを加算した時間に相当する。ちなみに、処理時間と余裕時間それぞれは規定値なので、許容遅延時間Ｔ２も、規定値である。第２マイコン２０は、許容遅延時間Ｔ２を算出すると、図７に示す判定イベント発生を設定する（ステップＳ８０）。
【００２３】
なお、第２マイコン２０は、図示しないが、第２カウンター２２の他に、エラーカウンターと、リセットカウンターと、を有する。そして、第２メモリ２３には、判定保留中フラグ、通信異常中フラグ、及び、カウンター異常フラグそれぞれに対応する記憶領域を有する。ちなみに、以下の説明で主として参考とする図７のフローチャートに示すＥｒｒＣｎｔは、エラーカウンターを示し、ＲｓｔＣｎｔは、リセットカウンターを示している。図７に示す判定イベントは、図６に示す処理と並行して行われる。
【００２４】
第２マイコン２０は、図７に示すように、判定イベント処理を行う際、先ず、ステップＳ１００にて、許容遅延時間Ｔ２内に、第１カウント数Ｎ１を受信したか否かを判定する。換言すれば、第２マイコン２０は、許容遅延時間Ｔ２よりも、第１カウント数Ｎ１が第２マイコン２０に実際に入力されるまでにかかった入力時間が短かったか否かを判定する。第２マイコン２０は、許容遅延時間Ｔ２よりも、入力時間が短かったと判定した場合、過度な通信遅れは生じていないと判定して、ステップＳ１１０に移行し、許容遅延時間Ｔ２よりも、入力時間が長かったと判定した場合、過度な通信遅れが生じていると判定して、ステップＳ２２０に移行する。以下においては、先ず、ステップＳ１１０〜ステップＳ２１０を説明した後、ステップＳ２２０〜ステップＳ３３０を説明する。
【００２５】
ステップＳ１１０に移行すると、第２マイコン２０は、エラーカウンターをデクリメントして、ステップＳ１２０に移行する。このエラーカウンターは、通信異常が発生していると判定された場合に、インクリメントされるものであり、後述するステップＳ２３０、Ｓ２４０の処理においてインクリメントされる。したがって、通信異常が発生していない場合、エラーカウンターの値は、常にゼロとなっている。
【００２６】
ステップＳ１２０に移行すると、第２マイコン２０は、入力時間が、許容遅延時間Ｔ２を越えないことが連続して起きたか否か、すなわち、第１カウント数Ｎ１を許容遅延時間Ｔ２内に連続して受信したか否かを判定する。受信したと判定した場合、第２マイコン２０は、ステップＳ１３０に移行する。そして、第２マイコン２０は、ステップＳ１３０にて、第１マイコン１０と第２マイコン２０それぞれに入力されるクランク信号が一致しているか否かを判定すること（ステップＳ１７０の処理）を保留する判定保留中フラグをクリアして、ステップＳ１４０に移行する。また、受信しなかったと判定した場合においても、第２マイコン２０は、ステップＳ１４０に移行する。判定保留中フラグは、通信異常が発生していると判定された場合に、セットされるものであり、後述するステップＳ２５０においてセットされる。したがって、通信異常が発生していない場合、判定保留中フラグは、常にリセットされている。なお、上記したように、ステップＳ１２０にて、第２マイコン２０は、第１カウント数Ｎ１を許容遅延時間Ｔ２内に連続して受信したか否かを判定するが、連続とは、２以上の値を示している。
【００２７】
ステップＳ１４０に移行すると、第２マイコン２０は、入力時間が、許容遅延時間Ｔ２を越えないことが連続して起きたか否か、すなわち、第１カウント数Ｎ１を許容遅延時間Ｔ２内に連続して受信したか否かを判定する。受信したと判定した場合、第２マイコン２０は、ステップＳ１５０に移行する。そして、第２マイコン２０は、ステップＳ１５０にて、通信異常であることを示す通信異常中フラグをクリアして、ステップＳ１６０に移行する。また、受信しなかったと判定した場合においても、第２マイコン２０は、ステップＳ１６０に移行する。通信異常中フラグは、通信異常をカウントするエラーカウンターの値が所定値以上と判定された場合に、セットされるものであり、後述するステップＳ２７０においてセットされる。したがって、エラーカウンターの値が所定値よりも少ない場合、通信異常中フラグは、常にリセットされている。なお、上記したように、ステップＳ１４０にて、第２マイコン２０は、第１カウント数Ｎ１を許容遅延時間Ｔ２内に連続して受信したか否かを判定するが、連続とは、２以上の値を示しており、ステップＳ１２０における連続と同一の値であってもよいし、異なる値であってもよい。
【００２８】
ステップＳ１６０に移行すると、第２マイコン２０は、第１マイコン１０から送信された第１カウント数Ｎ１に、許容遅延時間Ｔ２をクランク信号のパルス周期Ｔ１で割った値を超えない最大の整数を加算した判定値を算出する。許容遅延時間Ｔ２をパルス周期Ｔ１で割った値を超えない最大の整数とは、ガウス記号でもって、［Ｔ２／Ｔ１］と表される。そのため、判定値は、Ｎ１＋［Ｔ２／Ｔ１］と表される。
【００２９】
ステップＳ１７０に移行すると、第２マイコン２０は、検出タイミングから許容遅延時間Ｔ２経過した判定タイミングにおける第２カウント数Ｎ２を検出し、検出した第２カウント数Ｎ２と判定値Ｎ１＋［Ｔ２／Ｔ１］とを比較する。図２に示すように、パルス周期Ｔ１が許容遅延時間Ｔ２よりも長く、第１マイコン１０から第２マイコン２０への通信に、カウント数Ｎ１，Ｎ２に相違が生じるほどの遅れが生じていない場合、[Ｔ２／Ｔ１]は０となる。そのため、判定値はＮ１と等しくなる。この場合、第２マイコン２０は、判定値Ｎ１と第２カウント数Ｎ２とが等しいと判定し、第１マイコン１０と第２マイコン２０とが、クランク信号に同期していると判定する。そして、ステップＳ１８０に移行する。
【００３０】
また、図３に示すように、クランクが早く回転した結果、パルス周期Ｔ１が許容遅延時間Ｔ２よりも短く、第１マイコン１０から第２マイコン２０への通信に、カウント数Ｎ１，Ｎ２に相違が生じるほどの遅れが生じている場合、[Ｔ２／Ｔ１]は１以上の整数となる。カウント数は、パルス周期Ｔ１を１に換算した値に等しく、通信遅れは、許容遅延時間Ｔ２によって表される。したがって、遅れをカウント数に換算した値は、Ｔ２／Ｔ１の整数値によって表され、それを数学的に表現すると、[Ｔ２／Ｔ１]となる。したがって、第１カウント数Ｎ１に［Ｔ２／Ｔ１］が加算された判定値は、第２カウント数Ｎ２に等しくなる。以上により、第１マイコン１０から第２マイコン２０への通信に、カウント数Ｎ１，Ｎ２に相違が生じるほどの遅れが生じた場合においても、第２マイコン２０は、判定値Ｎ１＋［Ｔ２／Ｔ１］と第２カウント数Ｎ２とが等しいと判定し、第１マイコン１０と第２マイコン２０とが、クランク信号に同期していると判定する。この判定を行った後、第２マイコン２０は、ステップＳ１８０に移行する。これとは異なり、第２マイコン２０は、判定値Ｎ１＋［Ｔ２／Ｔ１］と第２カウント数Ｎ２とが等しくないと判定した場合、第２カウント数Ｎ２に異常がある、すなわち、第２カウンター２２に異常があると判定し、ステップＳ１９０に移行する。
【００３１】
ステップＳ１８０に移行すると、第２マイコン２０は、第２カウンター２２が異常であることを示すカウンター異常フラグをクリアする。そして、判定イベントを終了する。なお、カウンターフラグは、判定値Ｎ１＋［Ｔ２／Ｔ１］と第２カウント数Ｎ２とが等しくないと判定された場合に、セットされるものであり、次に示すステップＳ１９０においてセットされる。したがって、判定値Ｎ１＋［Ｔ２／Ｔ１］と第２カウント数Ｎ２とが等しい場合、カウンター異常フラグは、常にリセットされている。
【００３２】
ステップＳ１９０に移行すると、第２マイコン２０は、カウンター異常フラグをセットして、ステップＳ２００に移行する。
【００３３】
ステップＳ２００に移行すると、第２マイコン２０は、カウンター異常を第１マイコン１０に通知し、ステップＳ２１０に移行する。
【００３４】
ステップＳ２１０に移行すると、第２マイコン２０は、第２カウンター２２の値（第２カウント数Ｎ２）を、判定値Ｎ１＋［Ｔ２／Ｔ１］に補正する。そして、判定イベントを終了する。
【００３５】
次に、ステップＳ２２０〜ステップＳ３３０を説明する。第２マイコン２０は、図４に示すように、通信異常などのために、許容遅延時間Ｔ２よりも、第１カウント数Ｎ１が第２マイコン２０に実際に入力されるまでにかかった入力時間が長かった場合、許容遅延時間Ｔ２内に、第１カウント数Ｎ１を受信しなかったと判定して、ステップＳ１００からステップＳ２２０に移行する。ステップＳ２２０に移行すると、第２マイコン２０は、カウンター異常フラグまたは通信異常フラグがセットされているか否かを判定する。少なくとも一方がセットされている場合、ステップＳ２３０に移行し、いずれもセットされていない場合、ステップＳ２４０に移行する。ちなみに、カウンター異常フラグは、上記したステップＳ１９０にてセットされ、通信異常フラグは、後述するステップＳ２７０でセットされる。
【００３６】
なお、ステップＳ２３０に移行する、ということは、ステップＳ１００にて、過度な通信遅れが起こっていると判定され、且つ、ステップＳ１９０にて第２カウンター２２に異常がある、または、ステップＳ２７０にて通信異常フラグがセットされるほどの通信異常が起こっていると判定されていることになる。そのため、ステップＳ２３０に移行すると、第２マイコン２０は、多くの異常が発生していると判定して、エラーカウンターを、後述する第２設定値よりも大きい値である第１設定値だけインクリメントして、ステップＳ２６０に移行する。
【００３７】
また、ステップＳ２４０に移行する、ということは、ステップＳ１００にて、過度な通信遅れが起こっていると判定されているが、第２カウンター２２に異常がないと判定され、且つ、通信異常フラグがセットされるほどの通信異常が起こっていないと判定されていることになる。そのため、ステップＳ２４０に移行すると、第２マイコン２０は、少しの通信異常が発生していると判定して、エラーカウンターを、第１設定値よりも小さい値である第２設定値だけインクリメントして、ステップＳ２５０に移行する。
【００３８】
ステップＳ２５０に移行すると、第２マイコン２０は、ステップＳ１７０の処理を保留する判定保留中フラグをセットして、ステップＳ２６０に移行する。したがって、この判定保留中フラグがセットされている場合、第１マイコン１０と第２マイコン２０とが、クランク信号に同期しているか否かの判定は行われない。この判定保留中フラグがクリアされるのは、上記したように、ステップＳ１２０にて、第１カウント数Ｎ１を許容遅延時間Ｔ２内に連続して受信した場合である。
【００３９】
ステップＳ２６０に移行すると、第２マイコン２０は、エラーカウンターが所定値以上か否かを判定する。第２マイコン２０は、エラーカウンターが所定値以上の場合、ステップＳ２７０に移行し、所定値よりも少ない場合、判定イベントを終了する。上記したように、過度な通信遅れが起こっていると判定され、且つ、第２カウンター２２に異常がある、または、通信異常フラグがセットされていると判定されている場合にエラーカウンターにインクリメントされる第１設定値は、過度な通信遅れが起こっていると判定された場合にエラーカウンターにインクリメントされる第２設定値よりも大きい値となっている。そのため、第１設定値と第２設定値とが同一の値である構成と比べて、多くの通信異常が検出されている場合、エラーカウンターの値は、早く大きくなり、早く所定値以上の値となる。このため、第２マイコン２０は、上記した比較構成よりも、早くステップＳ２７０に移行する。
【００４０】
ステップＳ２７０に移行すると、第２マイコン２０は、通信異常中フラグをセットして、ステップＳ２８０に移行する。この通信異常中フラグがリセットされるのは、上記したように、ステップＳ１４０にて、第１カウント数Ｎ１を許容遅延時間Ｔ２内に連続して受信した場合である。
【００４１】
ステップＳ２８０に移行すると、第２マイコン２０は、第１マイコン１０へ通信異常が発生している情報を含んだ信号を送信する。こうすることで、通信異常を第１マイコン１０へ通知する。その後、第２マイコン２０は、ステップＳ２９０に移行する。
【００４２】
ステップＳ２９０に移行すると、第２マイコン２０は、リセットカウンターを１だけインクリメントして、ステップＳ３００に移行する。
【００４３】
ステップＳ３００に移行すると、第２マイコン２０は、エラーカウンターを、ステップＳ２６０で設定されている所定値だけデクリメントする。これにより、たとえば、エラーカウンターの値が、所定値＋１であった場合、エラーカウンターの値は１となる。この処理の後、第２マイコン２０は、ステップＳ３１０に移行する。
【００４４】
ステップＳ３１０に移行すると、第２マイコン２０は、リセットカウンターが所定値以上か否かを判定する。第２マイコン２０は、リセットカウンターが所定値以上の場合、ステップＳ３２０に移行し、所定値より少ない場合、判定イベントを終了する。ちなみに、ここで記載の所定値とは、ステップＳ２６０で設定されている設定値と同一でも異なっていても良い。
【００４５】
ステップＳ３２０に移行すると、第２マイコン２０は、第１マイコン１０のリセット要求を含む信号を送信する。こうすることで、第１マイコン１０の第１通信ドライバー１４をリセットして、ステップＳ３３０に移行する。
【００４６】
ステップＳ３３０に移行すると、第２マイコン２０は、リセットカウンターをクリアして、判定イベントを終了する。
【００４７】
次に、本実施形態に係るカウンター装置１００の作用効果を説明する。上記したように、クランクが早く回転した結果、パルス周期Ｔ１が許容遅延時間Ｔ２よりも短くなったとしても、第１マイコン１０と第２マイコン２０とが、クランク信号に同期していると判定される。このように、第１マイコン１０と第２マイコン２０それぞれの処理速度と通信速度に関係せずに、クランク信号に同期しているか否かが判定される。そのため、第１マイコン１０及び第２マイコン２０として、処理速度の遅い廉価版を採用することができ、マイン１０，２０間の通信に高速の通信ネットワークを採用しなくともよくなる。この結果、カウンター装置１００のコストが嵩むことが抑制される。
【００４８】
第１マイコン１０と第２マイコン２０との間で、カウンター装置１００で容認することのできない通信遅れ（通信異常）が生じている場合においても、第１マイコン１０と第２マイコン２０とが、クランク信号に同期しているか否かが判定される可能性がある。これに対して、第２マイコン２０は、ステップＳ１００にて、許容遅延時間Ｔ２内に、第１カウント数Ｎ１を受信したか否かを判定する。受信したと判定した場合、第２マイコン２０は、第１マイコン１０と第２マイコン２０とが、クランク信号に同期しているか否かを判定する。これとは逆に、受信しなかったと判定した場合、第２マイコン２０は、通信異常が生じていると判定する。これにより、第１マイコン１０と第２マイコン２０とが、クランク信号に同期しているか否かだけではなく、通信異常も判定される。
【００４９】
上記したように、第２マイコン２０は、許容遅延時間Ｔ２内に第１カウント数Ｎ１を受信した場合に、第１マイコン１０と第２マイコン２０がクランク信号に同期しているか否かを判定する。したがって、許容遅延時間Ｔ２内に、第１カウント数Ｎ１を受信した場合、第１マイコン１０に異常はなく、且つ、通信異常も生じていないことになり、判定値は正常であることが期待される。そうであるにも関わらず、両者が不一致になる場合、第２カウント数に異常があることが期待される。
【００５０】
これに対して、第２マイコン２０は、ステップＳ２１０にて、第２カウント数Ｎ２が判定値Ｎ１＋［Ｔ２／Ｔ１］に等しいと補正する。これにより、第２カウント数Ｎ２、すなわち、第２カウンター２２が補正される。
【００５１】
第２マイコン２０は、ステップＳ１００にて、通信異常が生じていると判定した場合、ステップＳ２３０若しくはステップＳ２４０にて、エラーカウンターをインクリメントする。そして、ステップＳ２６０にて、エラーカウンターが所定値以上の場合、ステップＳ２７０にて、通信異常フラグをセット判定する。これによれば、エラーカウンターが１だけインクリメントされた際に、通信異常フラグが設置される構成と比べて、通信異常のロバスト性が向上される。
【００５２】
第２マイコン２０は、ステップＳ２６０にて、エラーカウンターが所定値以上の場合、ステップＳ２９０にて、リセットカウンターをインクリメントする。そして、ステップＳ３１０にて、リセットカウンターが所定値以上の場合、ステップＳ３２０にて、第１マイコン１０の第１通信ドライバー１４をリセットする。これによれば、リセットカウンターが１だけインクリメントされた際に、第１通信ドライバー１４がリセットされる構成と比べて、通信異常のロバスト性が向上される。
【００５３】
通信異常のために、第２マイコン２０が、第１カウント数Ｎ１を許容遅延時間Ｔ２内に受信する場合と、第１カウント数Ｎ１を許容遅延時間Ｔ２内に受信しない場合とが交互に生じる可能性がある。したがって、第２マイコン２０が、１度だけ第１カウント数Ｎ１を許容遅延時間Ｔ２内に受信したと判定した場合に、判定保留中フラグをクリアする構成の場合、通信異常が生じているにも関わらず、判定保留中フラグのセットとクリアが交互に繰り返される。また、第２マイコン２０が、１度だけ第１カウント数Ｎ１を許容遅延時間Ｔ２内に受信したと判定した場合に、通信異常中フラグをクリアする構成の場合、通信異常が生じているにも関わらず、通信異常中フラグのセットとクリアが交互に繰り返される。この結果、エラーカウンターとリセットカウンターそれぞれの値が所定値以上となる時間が遅くなり、第１通信ドライバー１４のリセットが遅くなる。
【００５４】
これに対して、本実施形態では、第２マイコン２０は、第１カウント数Ｎ１を許容遅延時間Ｔ２内に連続して受信したと判定した場合、判定保留中フラグをクリアする。また、第２マイコン２０は、第１カウント数Ｎ１を許容遅延時間Ｔ２内に連続して受信したと判定した場合、ステップＳ１５０にて、通信異常中フラグをクリアする。これによれば、上記比較構成と比べて、エラーカウンターとリセットカウンターそれぞれの値が所定値以上となる時間が遅くなることが抑制され、第１通信ドライバー１４のリセットが遅くなることが抑制される。
【００５５】
以上、本発明の好ましい実施形態について説明したが、本発明は上記した実施形態になんら制限されることなく、本発明の主旨を逸脱しない範囲において、種々変形して実施することが可能である。
【００５６】
本実施形態では、第１マイコン１０が噴射・点火制御を行い、第２マイコン２０がプレイグの検出を行い、マイコン１０，２０それぞれがクランク信号に同期している例を示した。しかしながら、マイコン１０，２０それぞれの用途は上記例に限定されず、クランク信号に同期する構成であれば良い。
【００５７】
本実施形態では、パルス周期Ｔ１の検出を、マイコン１０，２０のいずれが行うのかを明記していなかった。しかしながら、パルス周期Ｔ１の検出は、少なくとも第１マイコン１０が行う構成であれば良い。例えば、第１マイコン１０にてパルス周期Ｔ１を検出し、検出した値を、第１マイコン１０から第２マイコン２０に逐次通信する構成を採用することもできる。
【００５８】
本実施形態では、ステップＳ１２０，Ｓ１３０において、第２マイコン２０は、第１カウント数Ｎ１を許容遅延時間Ｔ２内に連続して受信したと判定した場合、判定保留中フラグをクリアする例を示した。しかしながら、ステップＳ１２０，Ｓ１３０において、第２マイコン２０は、第１カウント数Ｎ１を許容遅延時間Ｔ２内に受信する回数が所定時間内で所定値を超える場合、判定保留中フラグをクリアする構成を採用することもできる。
【００５９】
また、本実施形態では、ステップＳ１４０，Ｓ１５０において、第２マイコン２０は、第１カウント数Ｎ１を許容遅延時間Ｔ２内に連続して受信したと判定した場合、通信異常中フラグをクリアする例を示した。しかしながら、ステップＳ１４０，Ｓ１５０において、第２マイコン２０は、第１カウント数Ｎ１を許容遅延時間Ｔ２内に受信する回数が所定時間内で所定値を超える場合、ステップＳ１５０にて、通信異常中フラグをクリアする構成を採用することもできる。
【００６０】
これによれば、第２マイコン２０が、１度だけ第１カウント数Ｎ１を許容遅延時間Ｔ２内に受信したと判定した場合に、判定保留中フラグをクリアする構成、また、第２マイコン２０が、１度だけ第１カウント数Ｎ１を許容遅延時間Ｔ２内に受信したと判定した場合に、通信異常中フラグをクリアする構成それぞれと比べて、エラーカウンターとリセットカウンターそれぞれの値が所定値以上となる時間が遅くなることが抑制される。この結果、第１通信ドライバー１４のリセットが遅くなることが抑制される。
【００６１】
本実施形態では、判定保留中フラグの使用方法として、ステップＳ１７０の実施を保留する例を示した。しかしながら、判定保留中フラグの使用方法としては、上記例に限定されず、通信の異常状態の検出に使用してもよい。
【００６２】
本実施形態では、ステップＳ２３０にて、第２マイコン２０は、エラーカウンターを、第２設定値よりも大きい値である第１設定値だけインクリメントする例を示した。しかしながら、第１設定値を第２設定値と同一に設定してもよい。
【符号の説明】
【００６３】
１０・・・第１マイコン
２０・・・第２マイコン
１００・・・カウンター装置
【図１】
0005641030.tif 000002
【図２】
0005641030.tif 000003
【図３】
0005641030.tif 000004
【図４】
0005641030.tif 000005
【図５】
0005641030.tif 000006
【図６】
0005641030.tif 000007
【図７】
0005641030.tif 000008