(57)【特許請求の範囲】
【請求項１】
複数の種類のデータを周期的に送受信する複数の電子制御装置の間の通信異常を検知する通信異常検知装置において、前記複数の電子制御装置の一方は、通信毎に少なくとも前記データの種類に応じたコマンドからなる送信用データを他方に送信し、前記他方に、少なくとも受信した前記コマンドに応じて作成させた識別子からなる返信用データを返信させると共に、受信した前記識別子が前記コマンドに応じて作成されていないとき、前記通信異常があると検知することを特徴とする通信異常検知装置。
【請求項２】
前記一方は、前記データを前記他方に送信した後、前記返信用データを受信しないとき、前記データを前記他方に再度送信することを特徴とする請求項１記載の通信異常検知装置。
【請求項３】
前記一方は、前記受信した識別子が前記コマンドに応じて作成されていないとき、前記送信用データを前記他方に再度送信すると共に、前記受信した識別子が前記コマンドに応じて作成されていないことを所定時間継続して検知するとき、前記通信異常があると検知することを特徴とする請求項１または２記載の通信異常検知装置。
【請求項４】
前記一方が送信する前記送信用データは、前記コマンドと数値からなり、前記一方は、前記他方に、受信したコマンドに応じて前記識別子を作成させて返信させることを特徴とする請求項１から３のいずれかに記載の通信異常検知装置。
【請求項５】
前記他方が返信する前記返信用データは、前記識別子と数値からなり、前記一方は、前記他方に、受信したコマンドに応じて前記返信用データを作成させて返信させることを特徴とする請求項１から３のいずれかに記載の通信異常検知装置。
【請求項６】
前記一方は、前記通信異常があると検知したとき、前記送信用データの送信を停止することを特徴とする請求項１から５のいずれかに記載の通信異常検知装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、通信異常検知装置に関し、より具体的には複数の電子制御装置の間の通信異常を検知する装置に関する。
【背景技術】
【０００２】
一般的に内燃機関には、それを制御する上で燃料噴射装置（インジェクタ）、点火装置（イグナイタ）およびスロットルバルブなどの駆動をそれぞれ電子的に制御すべく複数の電子制御装置（ＥＣＵ(Electronic Control Unit)）が設けられる。各電子制御装置はＣＡＮ(Controller Area Network)通信などにより、それらを駆動制御するために必要となる複数種のデータを互いに送受信する。従来、複数種のデータを送受信する電子制御装置の間の通信異常を検知するものとして様々なものが提案されている。
【０００３】
例えば、下記の特許文献１にあっては、送信側の電子制御装置において複数の数値データを送信するに際し、複数の数値データの合計値を送信データに付加すると共に、受信側の電子制御装置において受信した複数の数値データの合計値を算出し、算出された合計値と受信した合計値を比較して確認することにより、電子制御装置の間の通信異常を検知している。また、下記の特許文献２にあっては、送信側の電子制御装置において送信データに通信毎に変化する監視情報、具体的には通信毎に１と０のいずれか交互に変化させられるフラグを付加して送信すると共に、受信側の電子制御装置において当該フラグの通信毎の変化を監視することにより、電子制御装置の間の通信異常を検知している。
【特許文献１】特許第３１５６４９３号
【特許文献２】特開２００１−１９７１５４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記した特許文献に記載の通信異常検知は、送信側の電子制御装置において確認用あるいは監視用のデータを送信データに付加して送信し、受信側の電子制御装置においてそれを確認あるいは監視する構成であることから、送信側の電子制御装置が通信毎に送信データを更新することができずに同一内容のデータを繰り返して送信するといった通信異常を検知することができなかった。また、送信データに確認用あるいは監視用のデータを別途設ける必要があることから、通信リソースを有効に利用する点では改善の余地があった。
【０００５】
従って、この発明の目的は上記した課題を解決し、複数の種類のデータを周期的に送受信する複数の電子制御装置の間の通信異常を検知する通信異常検知装置において、同一内容のデータを繰り返して送信するといった通信異常を検知すると共に、送信データに確認用あるいは監視用のデータを別途設けることなく、通信リソースを有効に利用するようにした通信異常検知装置を提供することにある。
【課題を解決するための手段】
【０００６】
上記の目的を解決するために、請求項１にあっては、複数の種類のデータを周期的に送受信する複数の電子制御装置の間の通信異常を検知する通信異常検知装置において、前記複数の電子制御装置の一方は、通信毎に少なくとも前記データの種類に応じたコマンドからなる送信用データを他方に送信し、前記他方に、少なくとも受信した前記コマンドに応じて作成させた識別子からなる返信用データを返信させると共に、受信した前記識別子が前記コマンドに応じて作成されていないとき、前記通信異常があると検知する如く構成した。
【０００７】
また、請求項２にあっては、前記一方は、前記データを前記他方に送信した後、前記返信用データを受信しないとき、前記データを前記他方に再度送信する如く構成した。
【０００８】
また、請求項３にあっては、前記一方は、前記受信した識別子が前記コマンドに応じて作成されていないとき、前記送信用データを前記他方に再度送信すると共に、前記受信した識別子が前記コマンドに応じて作成されていないことを所定時間継続して検知するとき、前記通信異常があると検知する如く構成した。
【０００９】
また、請求項４にあっては、前記一方が送信する前記送信用データは、前記コマンドと数値からなり、前記一方は、前記他方に、受信したコマンドに応じて前記識別子を作成させて返信させる如く構成した。
【００１０】
また、請求項５にあっては、前記他方が返信する前記返信用データは、前記識別子と数値からなり、前記一方は、前記他方に、受信したコマンドに応じて前記返信用データを作成させて返信させる如く構成した。
【００１１】
また、請求項６にあっては、前記一方は、前記通信異常があると検知したとき、前記送信用データの送信を停止する如く構成した。
【００１２】
上記において「通信異常」とは、電子制御装置の一方あるいは他方が同一内容のデータを繰り返して送信するといった通信内容の異常をいうが、電子制御装置の一方および他方における受信異常や演算異常を含むものと解しても良い。
【発明の効果】
【００１３】
請求項１にあっては、複数の種類のデータを周期的に送受信する複数の電子制御装置の一方は、通信毎に少なくとも前記データの種類に応じたコマンドからなる送信用データを他方に送信し、他方に、少なくとも受信したコマンドに応じて作成させた識別子からなる返信用データを返信させると共に、受信した識別子が送信したコマンドに応じて作成されていないとき、通信異常があると検知するように構成したので、同一内容のデータを繰り返して送信するといった通信異常を検知することができる。
【００１４】
即ち、電子制御装置の一方が通信毎に少なくともデータの種類に応じたコマンドからなる送信用データを送信する（または返信させる）ことを前提とするにも関わらず、受信した返信用データ（より詳しくは、受信した返信用データに含まれる識別子）が送信したコマンドに応じて作成されていない場合にあっては、電子制御装置の一方あるいは他方が送信内容あるいは返信内容を更新することができず、前回通信時と同一内容の送信データあるいは返信データを送信あるいは返信する状況が想定されるため、上記のような通信異常を検知することができる。
【００１５】
また、通信毎に少なくともデータの種類に応じたコマンドからなる送信用データを送信する（または返信させる）ことを利用して通信異常を検知するため、送信データ（または返信データ）に確認用あるいは監視用のデータを別途設ける必要がなく、よって通信リソースを有効に利用することができる。
【００１６】
請求項２に係る通信異常検知装置にあっては、一方は、データを他方に送信した後、返信用データを受信しないとき、データを他方に再度送信するように構成したので、上記の効果に加え、上記の通信異常を確実に検知することができる。
【００１７】
請求項３に係る通信異常検知装置にあっては、一方は、受信した識別子が送信したコマンドに応じて作成されていないとき、送信用データを他方に再度送信すると共に、受信した識別子が送信したコマンドに応じて作成されていないことを所定時間継続して検知するとき、通信異常があると検知するように構成したので、上記の効果に加え、上記の通信異常を正確に検知することができる。
【００１８】
請求項４に係る通信異常検知装置にあっては、一方が送信する送信用データは、種類を示すコマンドと数値からなり、一方は、他方に受信したコマンドに応じて識別子を作成させて返信させるように構成したので、上記の効果に加え、他方が返信する返信データの容量を低減でき、よって通信リソースを一層有効に利用することができる。
【００１９】
請求項５に係る通信異常検知装置にあっては、他方が返信する返信用データは識別子と数値からなり、一方は、他方に受信したコマンドに応じて返信用データを作成させて返信させるように構成したので、上記の効果に加え、一方は識別子のみからなるデータを送信すれば足りるため、一方が送信するデータの容量を低減でき、よって通信リソースを一層有効に利用することができる。
【００２０】
請求項６に係る通信異常検知装置にあっては、一方は、通信異常があると検知したとき、送信用データの送信を停止するように構成したので、上記の効果に加え、他方の制御対象の上記の通信異常に起因する動作不良を未然に防止することができる。
【発明を実施するための最良の形態】
【００２１】
以下、添付図面に即してこの発明に係る通信異常検知装置を実施するための最良の形態について説明する。
【実施例１】
【００２２】
図１は、この発明の第１実施例に係る通信異常検知装置を含む複数の電子制御装置を示すブロック図である。
【００２３】
図１において、符号１０は、内燃機関（以下、「エンジン」という）の燃料噴射装置（インジェクタ）および点火装置（イグナイタ）を電子的に制御する電子制御装置（ＥＣＵ(Electronic Control Unit)。以下、「エンジン制御ユニット」という）（電子制御装置の一方）を示す（図中に「ＵＮＩＴ１」と示す）。符号１２は、スロットルバルブを電子的に制御する電子制御装置（ＥＣＵ(Electronic Control Unit)。以下「スロットルバルブ制御ユニット」という）（電子制御装置の他方）を示す（図中に「ＵＮＩＴ２」と示す）。
【００２４】
エンジン制御ユニット１０は中央演算装置たるＣＰＵ１０ａと、各種プログラムを格納するＲＯＭ（図示なし）と、各種センサから出力されたデータやＣＰＵ１０ａで演算されたデータを一時的に記憶するＲＡＭ（図示なし）からなり、各種プログラムに従って制御対象たる燃料噴射装置および点火装置の駆動を制御する。スロットルバルブ制御ユニット１２も同様なＣＰＵ１２ａ、ＲＯＭ（図示なし）、ＲＡＭ（図示なし）からなり、各種プログラムに従ってスロットルバルブの駆動を制御する。
【００２５】
エンジン制御ユニット１０とスロットルバルブ制御ユニット１２は通信線１４を介して接続され、データを他方へ送信すると共に、他方からデータを受信するための送受信機１０ｂ，１２ｂをそれぞれ備える。各送受信機１０ｂ，１２ｂはそれぞれのＣＰＵ内部に配置されるＣＡＮコントローラ１０ｃ，１２ｃによって制御される。このように、エンジン制御ユニット１０とスロットルバルブ制御ユニット１２は、いわゆるＣＡＮ(Controller Area Network)通信によって接続され、データ送受信自在とされる。
【００２６】
エンジン制御ユニット１０は、アクセル開度センサ、スロットル開度センサ、吸気圧センサなどに接続され、各種センサの出力データが入力される。具体的に、出力データはアクセル開度ＡＰ，スロットル開度θｔｈ，吸気圧ＰＡなどである。スロットルバルブ制御ユニット１２は、バッテリ電圧センサ、ホールセンサなどに接続され、各種センサの出力データが入力される。具体的に、出力データはバッテリ電圧ＶＢ，ホール電流ＩＨなどである。エンジン制御ユニット１０とスロットルバルブ制御ユニット１２は、それら複数種のデータをＣＡＮ通信を介して周期的に相互に送受信する。
【００２７】
この発明に係る通信異常検知装置はＣＡＮコントローラからなると共に、複数種のデータを一方から他方に送信するに際し、エンジン制御ユニット１０とスロットルバルブ制御ユニット１２の間のＣＡＮ通信の異常を検知する。次図以降のフロー・チャートから通信異常検知について具体的に説明する。
【００２８】
図２は、送信側の電子制御装置が実行する通信異常検知に係るフロー・チャートである。送信側の電子制御装置としてはエンジン制御ユニット１０とスロットルバルブ制御ユニット１２のいずれも妥当するが、説明の便宜上、ここではエンジン制御ユニット１０を送信側の電子制御装置とする。具体的に、図２のフロー・チャートはエンジン制御ユニット１０のＣＡＮコントローラ１０ｃによって実行されるプログラムである。
【００２９】
まずＳ１０において、コマンドＣＭＤが発行される。コマンドＣＭＤは１からｎ（ｎ≧２）までの自然数の内のいずれかの数値である。ｎはエンジン制御ユニット１０が送信すべきデータ種の総数に相当する。ここで、データの種類毎に異なるコマンドＣＭＤが割り当てられる。例えば、アクセル開度ＡＰには１、スロットル開度θｔｈには２，吸気圧ＰＡには３のコマンドＣＭＤが割り当てられる。図中のＳ１０では任意のコマンドＣＭＤとしてｉが発行されたことを示す。プログラムスタート直後の初回は、通例、１のコマンドＣＭＤが発行される。
【００３０】
次いでＳ１２に進み、コマンドＣＭＤとそれに割り当てられたデータ種の数値を送信データとして送信する。初回であれば、１のコマンドＣＭＤとそれに対応する例えばアクセル開度ＡＰが送信される。ここで送信について具体的には、ＣＡＮコントローラ１０ｃがそれらを送信するように送受信機１０ｂに指示し、送受信機１０ｂがそれらを今回の送信データとして更新して送信する。また、送信データの内、少なくともコマンドＣＭＤは前記したＲＡＭに一時的に記憶される。
【００３１】
次いで、送信データを受信する受信側の電子制御装置について説明する。
【００３２】
図３は、受信側の電子制御装置が実行する通信異常検知に係るフロー・チャートである。ここでは、スロットルバルブ制御ユニット１２を受信側の電子制御装置として説明する。具体的には、図３のフロー・チャートはスロットルバルブ制御ユニット１２のＣＡＮコントローラ１２ｃによって実行されるプログラムである。
【００３３】
Ｓ１００において、エンジン制御ユニット１０から送信されたコマンドＣＭＤとそれに割り当てられたデータ種の数値を受信したか否か判断される。否定されるときにはプログラムをスキップする一方、肯定されるときにはＳ１０２に進んで受信したコマンドＣＭＤが１であるか否か判断される。
【００３４】
Ｓ１０２で肯定されるとき、Ｓ１０４に進んで１の認識コードＩＤが作成される。一方、Ｓ１０２で否定されるとき、Ｓ１０６に進んで受信したコマンドＣＭＤが２であるか否か判断される。Ｓ１０６で肯定されるとき、Ｓ１０８に進んで２の認識コードＩＤが作成される。一方、Ｓ１０６で否定されるとき、以降は同様に、Ｓ１１０およびＳ１１２のステップに示す如く、受信したコマンドＣＭＤが３，４，５，・・・ｎであるか否か判断され、肯定されるとき、３，４，５，・・・ｎの認識コードＩＤが作成される。このように、認識コードＩＤも１からｎ（ｎ≧２）までの自然数であると共に、受信したコマンドＣＭＤと同一の認識コードＩＤが作成される。
【００３５】
次いでＳ１１４に進み、作成された認識コードＩＤを返信データとしてエンジン制御ユニット１０に返信する。ここで返信について具体的には、ＣＡＮコントローラ１２ｃが今回作成した認識コードＩＤを返信するように送受信機１２ｂに指示し、送受信機１２ｂが認識コードＩＤを今回の返信データとして更新してエンジン制御ユニット１０に返信する。尚、Ｓ１１０において否定されるとき、プログラムをスキップする。
【００３６】
図２に戻って送信側のフロー・チャートの説明を続けると、Ｓ１４において、スロットルバルブ制御ユニット１２からの返信データ、即ち認識コードＩＤを受信したか否か判断する。Ｓ１２において送信データを送信した後、適度な時間が経過しても認識コードＩＤを受信しないときにはＳ１４で否定され、Ｓ１２に戻って再度同一の送信データをスロットルバルブ制御ユニット１２に送信する。このように、エンジン制御ユニット１０は、スロットルバルブ制御ユニット１２からの返信データを受信しない限り、同一種のデータを繰り返し送信する。
【００３７】
一方、認識コードＩＤを受信するとＳ１４で肯定されてＳ１６に進み、Ｓ１０において発行し、Ｓ１２において送信したコマンドＣＭＤと受信した認識コードＩＤが一致するか否か判断される。
【００３８】
Ｓ１６で肯定されるとき、エンジン制御ユニット１０とスロットルバルブ制御ユニット１２の間の通信は正常であると判断され、Ｓ１８に進んでインクリメントされた（ｉ＋１）のコマンドＣＭＤが発行される。次いで、Ｓ２０以降に進む。Ｓ２０からＳ２４まではＳ１２からＳ１６で説明したのと同様な処理が実行される。Ｓ２４で肯定されるとき、以降は同様に、Ｓ２６からＳ３２のステップに示す如く、ｎまで１ずつインクリメントされるコマンドＣＭＤを順次発行し、Ｓ１２からＳ１６で説明したのと同様な処理が実行される。このように、エンジン制御ユニット１０は通信毎に異なる種類のデータをスロットルバルブ制御ユニット１２に送信する。
【００３９】
Ｓ３２で肯定されるとき、Ｓ１０に戻って初回のコマンドＣＭＤが発行され、通信が正常であると判断される限り、Ｓ１０からＳ３２までの処理が繰り返される。従って、ｎ種類のデータは周期的にスロットルバルブ制御ユニット１２に送信される。
【００４０】
一方、Ｓ１６で否定されるとき、通信は正常ではないと判断してＳ３４に進む。Ｓ３４では、カウンタなどで時間の計測を開始する。
【００４１】
次いでＳ３６に進み、Ｓ１２で送信したのと同一の送信データをスロットルバルブ制御ユニット１２に再度送信する。次いでＳ３８に進み、スロットルバルブ制御ユニット１２からの返信データ、即ち認識コードＩＤを受信したか否か判断する。Ｓ３８において適度な時間が経過しても認識コードＩＤを受信しないときにはＳ３８で否定され、Ｓ３６に戻って再度同一の送信データをスロットルバルブ制御ユニット１２に送信する。
【００４２】
認識コードＩＤを受信するとＳ３８で肯定されてＳ４０に進み、Ｓ１０において発行し、Ｓ３６において送信したコマンドＣＭＤと受信した認識コードＩＤが一致するか否か判断する。Ｓ４０で肯定されるとき、通信は正常であると判断してＳ１８に進む。
【００４３】
一方、Ｓ４０で否定されるとき、Ｓ４２に進んで時間の計測が開始されてから所定の時間が経過したか否か判断する。Ｓ４２で否定されるとき、Ｓ３６に戻って再度同一の送信データをスロットルバルブ制御ユニット１２に送信する。
【００４４】
Ｓ４２で肯定されるとき、即ち、発行・送信したコマンドＣＭＤと受信した認識コードＩＤが一致しないと初めて判断されてから所定時間経過したとき、換言すれば発行・送信したコマンドＣＭＤと受信した認識コードＩＤが一致しないことを所定時間継続して検知するとき、Ｓ４４に進んでエンジン制御ユニット１０とスロットルバルブ制御ユニット１２の間の通信は異常であると判断する。通信が異常であると判断されるときにはプログラムを終了し、それ以降のデータの送信を停止する。
【００４５】
尚、Ｓ２４やＳ３２で否定されたときに実行されるＳ４６からＳ５４やＳ５６からＳ６４の処理も、Ｓ３４からＳ４２の処理と同様である。
【００４６】
Ｓ１６などにおいて発行・送信したコマンドＣＭＤと受信した認識コードＩＤが一致しない場合としては、Ｓ１２においてＣＡＮコントローラ１０ｃが今回発行したコマンドＣＭＤとそれに対応するデータ種の数値を送信するように送受信機１０ｂに指示するにも関わらず、送受信機１０ｂがそれらを今回の送信データとして更新することができずに前回送信したコマンドＣＭＤとそれに対応するデータ種の数値を繰り返し送信する場合が考えられる。即ち、この場合、スロットルバルブ制御ユニット１２は前回と同一のコマンドＣＭＤを受信することから、前回と同一の識別コードＩＤを返信する結果、Ｓ１６などにおいて両者が一致しないと判断される。
【００４７】
あるいは、図３フロー・チャートのＳ１１４においてＣＡＮコントローラ１２ｃが今回作成した識別コードＩＤを返信データとして返信するように送受信機１２ｂに指示するにも関わらず、送受信機１２ｂが返信データを今回の返信データとして更新することができずに前回の識別コードＩＤ返信データを繰り返して返信する場合が考えられる。即ち、この場合、エンジン制御ユニット１０は前回と同一の識別コードＩＤを受信することから、Ｓ１６などにおいて両者が一致しないと判断される。
【００４８】
尚、送受信機１０ｂ，１２ｂの受信異常やＣＡＮコントローラ１０ｃ，１２ｃの演算異常が生じている場合にもＳ１６などにおいて両者が一致しないと判断され得るが、それらの事象が生じる可能性は低く無視できる程度である。
【００４９】
このように、エンジン制御ユニット１０は、通信毎に異なるコマンドＣＭＤを発行・送信し、スロットルバルブ制御ユニット１２に、受信したコマンドＣＭＤと同一の識別コードＩＤを作成させて返信させると共に、発行・送信したコマンドＣＭＤと受信した識別コードＩＤが一致するか否かを判断することから、両者が一致しないときにはエンジン制御ユニット１０あるいはスロットルバルブ制御ユニット１２において同一内容のデータを繰り返して送信あるいは返信するといった通信異常が生じていることを検知することができる。また、通信毎に異なる種類のデータを送信することを利用して通信異常を検知するため、送信データに確認用あるいは監視用のデータを別途設ける必要がなく、よって通信リソースを有効に利用することができる。
【００５０】
また、エンジン制御ユニット１０は、コマンドＣＭＤとそれに割り当てられたデータ種の数値を送信データとしてスロットルバルブ制御ユニット１２に送信した後、識別コードＩＤを受信しないとき、送信データをスロットルバルブ制御ユニット１２に再度送信することから、上記の通信異常が生じていることを確実に検知することができる。
【００５１】
また、エンジン制御ユニット１０は、受信した識別コードＩＤと送信したコマンドＣＭＤが一致しないとき、送信データをスロットルバルブ制御ユニット１２に再度送信すると共に、受信した識別コードＩＤと送信したコマンドＣＭＤが一致しないことが所定時間継続するか否か判断し、所定時間継続して両者が一致しない場合に限って上記の通信異常が生じていると検知するので、上記の通信異常を正確に検知することができる。
【００５２】
また、エンジン制御ユニット１０が送信する送信データはデータの種類を示すコマンドＣＭＤとそれに対応するデータ種の数値からなるが、スロットルバルブ制御ユニット１２が返信する返信データは識別コードＩＤのみであるため、返信データの容量を低減できる。このため、通信リソースを有効に利用することができる。
【００５３】
また、エンジン制御ユニット１０は、上記の通信異常があると検知したとき、データの送信を停止することから、スロットルバルブ制御ユニット１２の制御対象、即ちスロットルバルブの上記の通信異常に起因する動作不良を未然に防止することができる。
【実施例２】
【００５４】
次いで、この発明の第２実施例に係る通信異常検知装置について説明する。
【００５５】
図４は、第２実施例に係る通信異常検知装置についての送信側の電子制御装置が実行する、図２と同様なフロー・チャートである。また、図５は、第２実施例に係る通信異常検知装置についての受信側の電子制御装置が実行する、図３と同様なフロー・チャートである。尚、両図において第１実施例と共通の構成については、同一の符号を付して説明を省略する。
【００５６】
第１実施例と相違する点に焦点をおいて説明すると、第２実施例にあっては、送信側のエンジン制御ユニット１０は送信データとしてコマンドＣＭＤのみを送信すると共に、受信側のスロットルバルブ制御ユニット１２は識別コードＩＤと受信したコマンドＣＭＤに対応するデータ種の数値からなる返信データを返信するように構成した。
【００５７】
図４フロー・チャートのＳ１２ａに示すように、送信側のエンジン制御ユニット１０はコマンドＣＭＤのみからなる送信データを受信側のスロットルバルブ制御ユニット１２に送信する。また、図５フロー・チャートのＳ１００ａに示すように、受信側のスロットルバルブ制御ユニット１２はコマンドＣＭＤを受信したか否か判断する。
【００５８】
Ｓ１１４ａにおいては、識別コードＩＤと受信したコマンドＣＭＤに対応するデータ種の数値からなる返信データを作成し、それをエンジン制御ユニット１０に返信する。ここで、例えば受信したコマンドＣＭＤが１であれば、１の識別コードＩＤとバッテリ電圧ＶＢの数値からなる返信データを作成して送信する。また、例えば受信したコマンドＣＭＤが２であれば、２の識別コードＩＤとホール電流ＩＨの数値からなる返信データを作成して送信する。
【００５９】
図４フロー・チャートのＳ１４ａに示すように、送信側のエンジン制御ユニット１０において識別コードＩＤと数値からなる返信データを受信したか否か判断される。
【００６０】
尚、Ｓ２０ａ，Ｓ２８ａ，Ｓ３６ａ，Ｓ４８ａ，Ｓ５８ａの処理もＳ１２ａで実行される処理と同様である。また、Ｓ２２ａ，Ｓ３０ａ，Ｓ３８ａ，Ｓ５０ａ，Ｓ６０ａの処理もＳ１４ａで実行される処理と同様である。残余の構成は第１実施例と同様である。
【００６１】
このように、第２実施例に係る通信異常検知装置にあっても、第１実施例と同様、エンジン制御ユニット１０は、通信毎に異なるコマンドＣＭＤを発行・送信し、スロットルバルブ制御ユニット１２に、受信したコマンドＣＭＤと同一の識別コードＩＤを作成させて返信させると共に、発行・送信したコマンドＣＭＤと受信した識別コードＩＤが一致するか否かを判断することから、両者が一致しないときにはエンジン制御ユニット１０あるいはスロットルバルブ制御ユニット１２において同一内容のデータを繰り返して送信あるいは返信するといった通信異常が生じていることを検知することができる。また、通信毎に異なる種類のデータを返信させることを利用して通信異常を検知するため、返信データに確認用あるいは監視用のデータを別途設ける必要がなく、よって通信リソースを有効に利用することができる。
【００６２】
また、スロットルバルブ制御ユニット１２が返信する返信データはデータの種類を示す識別コードＩＤと受信したコマンドＣＭＤに対応するデータ種の数値からなるが、エンジン制御ユニット１０が送信する送信データはコマンドＣＭＤのみであるため、送信データの容量を低減できる。このため、通信リソースを有効に利用することができる。
【００６３】
以上のように、この発明の第１および第２実施例にあっては、複数の種類（ｎ種類）のデータを周期的に送受信する複数の電子制御装置（エンジン制御ユニット１０，スロットルバルブ制御ユニット１２）の間の通信異常を検知する通信異常検知装置において、前記複数の電子制御装置の一方（エンジン制御ユニット１０）は、通信毎に少なくとも前記データの種類に応じたコマンドＣＭＤからなる送信用データ（コマンドＣＭＤ＋数値、またはコマンドＣＭＤ）を他方（スロットルバルブ制御ユニット１２）に送信し（Ｓ１２やＳ１２ａなど）、前記他方に、少なくとも受信した前記データの種類（コマンドＣＭＤ）に応じて作成させた識別子からなる返信用データ（識別コードＩＤ、または識別コードＩＤ＋数値）を返信させると共に（Ｓ１０２からＳ１１４，Ｓ１１４ａなど）、受信した前記返信用データ（識別子。識別コードＩＤ）が前記送信したデータの種類（コマンドＣＭＤ）に応じて作成されていないとき、前記通信異常があると検知する（Ｓ１６，Ｓ４０，Ｓ４４など）如く構成した。
【００６４】
前記一方は、前記データを前記他方に送信した後、前記返信用データを受信しないとき、前記データを前記他方に再度送信する（Ｓ１２，Ｓ１４，Ｓ１２ａ，Ｓ１４ａなど）如く構成した。
【００６５】
前記一方は、前記受信した識別子（識別コードＩＤ）が前記送信したコマンドＣＭＤに応じて作成されていないとき、前記送信用データを前記他方に再度送信すると共に、前記受信した識別子（識別コードＩＤ）が前記送信したコマンドＣＭＤに応じて作成されていないことを所定時間継続して検知するとき、前記通信異常があると検知する（Ｓ１６，Ｓ３４からＳ４２，Ｓ４４など）如く構成した。
【００６６】
また、この発明の第１実施例にあっては、前記一方が送信する前記データは前記種類を示すコマンドＣＭＤと数値（コマンドＣＭＤ＋数値）からなり、前記一方は、前記他方に、受信したコマンドＣＭＤに応じて前記識別子（識別コードＩＤ）を作成させて返信させる（Ｓ１００からＳ１１４など）如く構成した。
【００６７】
また、この発明の第２実施例にあっては、前記他方が返信する前記返信用データは前記識別子と数値（識別コードＩＤ＋数値）からなり、前記一方は、前記他方に、受信したコマンドＣＭＤに応じて前記返信用データを作成させて返信させる（Ｓ１００ａからＳ１１４ａなど）如く構成した。
【００６８】
また、この発明の第１および第２実施例にあっては、前記一方は、前記通信異常があると検知したとき、前記送信用データの送信を停止する（Ｓ１６，Ｓ４０，Ｓ４４など）如く構成した。
【００６９】
尚、上記において、送信側の電子制御装置をエンジン制御ユニット１０、受信側の電子制御装置をスロットルバルブ制御ユニット１２として説明したが、逆であっても良い。
【図面の簡単な説明】
【００７０】
【図１】この発明の第１実施例に係る通信異常検知装置を含む複数の電子制御装置を示すブロック図である。
【図２】図１に示す通信異常検知装置の送信側の電子制御装置が実行するフロー・チャートである。
【図３】図１に示す通信異常検知装置の受信側の電子制御装置が実行するフロー・チャートである。
【図４】この発明の第２実施例に係る通信異常検知装置の送信側の電子制御装置が実行する、図２と同様なフロー・チャートである。
【図５】この発明の第２実施例に係る通信異常検知装置の受信側の電子制御装置が実行する、図３と同様なフロー・チャートである。
【符号の説明】
【００７１】
１０：エンジン制御ユニット、１２：スロットルバルブ制御ユニット、１４：通信線
【図１】
0005113492.tif 000002
【図２】
0005113492.tif 000003
【図３】
0005113492.tif 000004
【図４】
0005113492.tif 000005
【図５】
0005113492.tif 000006