(57)【要約】【課題】メッセージＢＯＸの故障箇所を特定できる通信装置、及び通信装置の故障診断方法を提供すること。また、メッセージＢＯＸのある箇所が故障してもメッセージの送受信を行うことのできる通信装置等を提供すること。【解決手段】第１の制御部と第２の制御部との間で通信を行う通信システムにおいて、  前記第１の制御部は、前記第２の制御部に送信する送信メッセージを一時的に保持する複数の送信バッファを備え、前記第１の制御部は、前記複数の送信バッファのうち指定した送信バッファから前記送信メッセージを前記第２の制御部に送信し、前記第２の制御部から前記送信メッセージに対する返送メッセージを受信しないとき、前記複数の送信バッファのうち前記指定した送信バッファは故障と診断する。【選択図】図６
2009194814.tif 000002
【特許請求の範囲】
【請求項１】
第１の制御部と第２の制御部との間で通信を行う通信システムにおいて、
前記第１の制御部は、前記第２の制御部に送信する送信メッセージを一時的に保持する複数の送信バッファを備え、
前記第１の制御部は、前記複数の送信バッファのうち指定した送信バッファから前記送信メッセージを前記第２の制御部に送信し、前記第２の制御部から前記送信メッセージに対する返送メッセージを受信しないとき、前記複数の送信バッファのうち前記指定した送信バッファは故障と診断することを特徴とする通信システム。
【請求項２】
前記第１の制御部は、前記指定した送信バッファが故障と診断したとき、故障した前記送信バッファ以外の送信バッファを使用してメッセージの送信を行うことを特徴とする請求項１記載の通信システム。
【請求項３】
送信メッセージを一時的に保持する複数の送信バッファを有する第１の制御部と第２の制御部との間で通信を行う通信システムにおける故障診断方法であって、
前記第１の制御部は前記複数の送信バッファのうち指定した送信バッファから前記送信メッセージを前記第２の制御部に送信し、
前記第１の制御部は、前記第２の制御部から前記送信メッセージに対する返送メッセージを受信しないとき、前記複数の送信バッファのうち前記指定した送信バッファは故障と診断する
ことを特徴とする故障診断方法。
【請求項４】
第１の制御部と第２の制御部との間で通信を行う通信システムにおいて、
前記第１の制御部は、前記第２の制御部から送信された返送メッセージを一時的に保持する複数の受信バッファを備え、
前記第１の制御部は、前記複数の受信バッファのうち指定した受信ボックスで送信メッセージに対する前記返送メッセージを受信できるように前記受信バッファを割り当てて前記送信メッセージを送信し、前記返送メッセージを前記指定した送信バッファで受信しないとき前記受信バッファのうち前記指定した受信バッファは故障と診断することを特徴とする通信システム。
【請求項５】
返送メッセージを一時的に保持する複数の受信バッファを有する第１の制御部と、第２の制御部との間で通信を行う通信システムにおける故障診断方法において、
前記第１の制御部は、前記受信バッファのうち指定した受信バッファで送信メッセージに対する前記返送メッセージを受信できるように前記受信バッファを割り当てて前記送信メッセージを第２の制御部に送信し、
前記第１の制御部は、前記送信メッセージに対する前記返送メッセージを前記指定した受信バッファで受信しないとき、前記受信バッファのうち前記指定したバッファは故障と診断する
ことを特徴とする故障診断方法。
【請求項６】
第１の制御部と第２の制御部との間で通信を行う通信システムにおいて、
前記第１の制御部は、前記第２の制御部に送信する送信メッセージを一時的に保持する複数の送信バッファと、前記第２の制御部から送信された返送メッセージを一時的に保持する複数の受信バッファとを備え、
前記第１の制御部は、前記送信バッファのうち指定した送信バッファから前記送信メッセージを前記第２の制御部に送信し、前記第２の制御部から前記送信メッセージに対する返送メッセージを受信しないとき、前記送信バッファのうち前記指定したボックスは故障と診断し、
前記第１の制御部は、前記受信バッファのうち指定した受信バッファで送信メッセージに対する前記返送メッセージを受信できるように前記受信バッファを割り当てて前記送信メッセージを送信し、前記返送メッセージを前記指定した受信バッファで受信しないとき前記受信バッファのうち前記指定した受信バッファは故障と診断することを特徴とする通信システム。
【請求項７】
送信メッセージを一時的に保持する複数の送信バッファと受信メッセージを一時的に保持する複数の受信バッファとを有する第１の制御部と、第２の制御部との間で通信を行う通信システムにおける故障診断方法において、
前記第１の制御部は、前記送信バッファのうち指定した送信バッファから前記送信メッセージを前記第２の制御部に送信し、
前記第１の制御部は、前記第２の制御部から前記送信メッセージに対する返送メッセージを受信しないとき、前記送信バッファのうち前記指定した送信バッファは故障と診断し、
前記第１の制御部は、前記受信バッファのうち指定した受信バッファで送信メッセージに対する前記返送メッセージを受信できるように前記受信バッファを割り当てて前記送信メッセージを送信し、
前記第１の制御部は、前記返送メッセージを前記指定した受信バッファで受信しないとき前記受信バッファのうち前記指定した受信バッファは故障と診断する
ことを特徴とする故障診断方法。
【請求項８】
他の通信装置とバスで接続された通信装置において、
前記バスに対してのデータの送信と受信の少なくとも一方が個々に可能な複数の制御部を備え、
前記各制御部は、他の前記制御部に送信する送信メッセージを一時的に保持する複数の送信バッファを備え、
前記各制御部は、前記複数の送信バッファのうち指定した送信バッファから前記送信メッセージを前記他の制御部に送信し、前記他の制御部から前記送信メッセージに対する返送メッセージを受信しないとき、前記複数の送信バッファのうち前記指定した送信バッファは故障と診断することを特徴とする通信装置。
【請求項９】
前記各制御部は、故障診断を行うとき、前記通信装置外部の前記バスとを接続する通信経路を遮断することを特徴とする請求項８記載の通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置、通信装置における故障判定方法に関する。
【背景技術】
【０００２】
昨今、自動車の車載ネットワークとしてＣＡＮ（Controller Area Network）プロトコルが注目されつつある（例えば、以下の非特許文献１及び２）。ＣＡＮは、ＩＳＯ（International Organization for Standardization）で国際的に標準化されたシリアル通信プロトコルである。
【０００３】
ＣＡＮプロトコルの特徴は、バスが空いているときにすべてのノードがメッセージ（又はフレーム、ＣＡＮプロトコルの通信単位）を送信することができるマルチマスタ方式や、同時にフレームを送信したときは優先順位の高い識別子（ＩＤ）のフレームを送信するノードが送信権を得る、などがある。
【０００４】
このようなＣＡＮプロトコルを利用した車内ＬＡＮは、自動車の各ハードウェアを制御するＥＣＵ（Electric Control Unit）がＣＡＮバスを介して接続される構成となっている。ＥＣＵは、例えば、エンジン等を制御するエンジン系のＥＣＵや、ナビゲーションシステム等を制御する情報系のＥＣＵなどがある。
【０００５】
ＥＣＵは、内部に送信バッファを有し、送信バッファ内に複数のボックスからなる送信メッセージＢＯＸを備える。送信メッセージＢＯＸの各ボックスからは各々フレームが送信される。同様に、ＥＣＵ内には受信バッファを備え、受信バッファ内に複数のボックスからなる受信メッセージＢＯＸを有し、各ボックスでフレームを受信する。
【０００６】
このように、送信メッセージＢＯＸから正常にフレームが送信され、受信メッセージＢＯＸで正常にフレームを受信することは極めて重要である。そのため、従来からメッセージＢＯＸの故障診断が行われている。図１（Ａ）及び同図（Ｂ）は送信メッセージＢＯＸや受信メッセージＢＯＸが故障したときの例を示す図である。
【０００７】
図１（Ａ）に示すように、ＥＣＵ１００には複数のボックスからなる送信メッセージＢＯＸ１１０を備え、例えば１つのボックスが故障したと判断されたとき、送信メッセージＢＯＸ１１０からは全てのメッセージの送信が禁止される。送信メッセージＢＯＸ１１０のうち、どのＢＯＸが故障したのか判断できないからである。
【０００８】
送信のみならず、受信のときも同様である。すなわち、受信メッセージＢＯＸ１２０がメッセージを受信するときに、ある１つのボックスが故障したとき、すべてのメッセージＢＯＸ１２０の受信が禁止される（図１（Ｂ）参照）。
【０００９】
なお、従来では以下の特許文献に示す故障診断方法等が開示される。
【非特許文献１】「ＣＡＮ入門書」www.renesas.com
【非特許文献２】「ＣＡＮとは？」www.toyo.co.jp/car/CAN/CAN_General.htm
【特許文献１】特開平５−１００９８３号公報
【特許文献２】特開平８−３３１１２６号公報
【特許文献３】特開２０００−３１５１６５号公報
【特許文献４】特開昭６３−６７９４２号公報
【特許文献５】特開平５−２６５９８９号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、図１（Ａ）等に示す従来の故障診断では、１つのボックスが故障すると、メッセージの送受信が禁止され、その結果、ＥＣＵ１００は他のＥＣＵとの間でメッセージを送受信できなくなる。
【００１１】
また、従来ではメッセージＢＯＸのうちあるボックスが故障してもどのボックスが故障したかを特定できず、故障したボックスの交換等も行うことができない。
【００１２】
そこで、本発明は上記問題に鑑みてなされたものでその目的は、メッセージＢＯＸの故障箇所を特定できる通信装置、及び通信装置の故障診断方法を提供することにある。
【００１３】
また、本発明の他の目的は、メッセージＢＯＸのある箇所が故障してもメッセージの送受信を行うことのできる通信装置等を提供することにある。
【課題を解決するための手段】
【００１４】
上記目的を達成するために、本発明の一実施態様によれば、第１の制御部と第２の制御部との間で通信を行う通信システムにおいて、前記第１の制御部は、前記第２の制御部に送信する送信メッセージを一時的に保持する複数の送信バッファを備え、前記第１の制御部は、前記複数の送信バッファのうち指定した送信バッファから前記送信メッセージを前記第２の制御部に送信し、前記第２の制御部から前記送信メッセージに対する返送メッセージを受信しないとき、前記複数の送信バッファのうち前記指定した送信バッファは故障と診断する。
【００１５】
また、上記目的を達成するために、本発明の他の実施態様によれば、送信メッセージを一時的に保持する複数の送信バッファを有する第１の制御部と第２の制御部との間で通信を行う通信システムにおける故障診断方法であって、前記第１の制御部は前記複数の送信バッファのうち指定した送信バッファから前記送信メッセージを前記第２の制御部に送信し、前記第１の制御部は、前記第２の制御部から前記送信メッセージに対する返送メッセージを受信しないとき、前記複数の送信バッファのうち前記指定した送信バッファは故障と診断する。
【００１６】
さらに、上記目的を達成するために本発明の他の実施態様によれば、第１の制御部と第２の制御部との間で通信を行う通信システムにおいて、前記第１の制御部は、前記第２の制御部から送信された返送メッセージを一時的に保持する複数の受信バッファを備え、前記第１の制御部は、前記複数の受信バッファのうち指定した受信ボックスで送信メッセージに対する前記返送メッセージを受信できるように前記受信バッファを割り当てて前記送信メッセージを送信し、前記返送メッセージを前記指定した送信バッファで受信しないとき前記受信バッファのうち前記指定した受信バッファは故障と診断する。
【００１７】
さらに、上記目的を達成するために本発明の他の実施態様によれば、返送メッセージを一時的に保持する複数の受信バッファを有する第１の制御部と、第２の制御部との間で通信を行う通信システムにおける故障診断方法において、前記第１の制御部は、前記受信バッファのうち指定した受信バッファで送信メッセージに対する前記返送メッセージを受信できるように前記受信バッファを割り当てて前記送信メッセージを第２の制御部に送信し、前記第１の制御部は、前記送信メッセージに対する前記返送メッセージを前記指定した受信バッファで受信しないとき、前記受信バッファのうち前記指定したバッファは故障と診断する。
【００１８】
さらに、上記目的を達成するために本発明の他に実施態様によれば、第１の制御部と第２の制御部との間で通信を行う通信システムにおいて、前記第１の制御部は、前記第２の制御部に送信する送信メッセージを一時的に保持する複数の送信バッファと、前記第２の制御部から送信された返送メッセージを一時的に保持する複数の受信バッファとを備え、前記第１の制御部は、前記送信バッファのうち指定した送信バッファから前記送信メッセージを前記第２の制御部に送信し、前記第２の制御部から前記送信メッセージに対する返送メッセージを受信しないとき、前記送信バッファのうち前記指定したボックスは故障と診断し、前記第１の制御部は、前記受信バッファのうち指定した受信バッファで送信メッセージに対する前記返送メッセージを受信できるように前記受信バッファを割り当てて前記送信メッセージを送信し、前記返送メッセージを前記指定した受信バッファで受信しないとき前記受信バッファのうち前記指定した受信バッファは故障と診断する。
【００１９】
さらに、上記目的を達成するために本発明の他に実施態様によれば、送信メッセージを一時的に保持する複数の送信バッファと受信メッセージを一時的に保持する複数の受信バッファとを有する第１の制御部と、第２の制御部との間で通信を行う通信システムにおける故障診断方法において、前記第１の制御部は、前記送信バッファのうち指定した送信バッファから前記送信メッセージを前記第２の制御部に送信し、前記第１の制御部は、前記第２の制御部から前記送信メッセージに対する返送メッセージを受信しないとき、前記送信バッファのうち前記指定した送信バッファは故障と診断し、前記第１の制御部は、前記受信バッファのうち指定した受信バッファで送信メッセージに対する前記返送メッセージを受信できるように前記受信バッファを割り当てて前記送信メッセージを送信し、前記第１の制御部は、前記返送メッセージを前記指定した受信バッファで受信しないとき前記受信バッファのうち前記指定した受信バッファは故障と診断する。
【００２０】
さらに、上記目的を達成するために本発明の他に実施態様によれば、他の通信装置とバスで接続された通信装置において、前記バスに対してのデータの送信と受信の少なくとも一方が個々に可能な複数の制御部を備え、前記各制御部は、他の前記制御部に送信する送信メッセージを一時的に保持する複数の送信バッファを備え、前記各制御部は、前記複数の送信バッファのうち指定した送信バッファから前記送信メッセージを前記他の制御部に送信し、前記他の制御部から前記送信メッセージに対する返送メッセージを受信しないとき、前記複数の送信バッファのうち前記指定した送信バッファは故障と診断する。
【発明の効果】
【００２１】
本発明によれば、メッセージＢＯＸのどの箇所が故障したかを特定できる通信装置、及び通信装置における故障診断方法を提供できる。また、本発明によれば、メッセージＢＯＸのある箇所が故障してもメッセージの送受信を行うことのできる通信装置等を提供できる。
【発明を実施するための最良の形態】
【００２２】
本発明を実施するための最良の形態について、以下図面を参照しながら説明する。図２乃至図５は、通信装置の一例であるＥＣＵ１０の構成例とメッセージの送受信の例を示す図である。このうち、図２及び図３は送信メッセージＢＯＸの故障診断の例、図４及び図５は受信メッセージＢＯＸの故障診断の例を示す図である。
【００２３】
図２に示すように、ＥＣＵ１０はＣＡＮバス６０と接続され、ＣＡＮバス６０を介して他のＥＣＵと接続される。ＥＣＵ１０と他のＥＣＵとで車載ネットワークシステムが構成される。
【００２４】
ＥＣＵ１０は、スイッチ回路２０と、送信側ＣＰＵ（以下、評価側ＣＰＵ）３０と、受信側ＣＰＵ（応答側ＣＰＵ４０）とを備える。ＥＣＵ１０は、２つのＣＰＵ３０，４０からなる２ＣＰＵ構成である。
【００２５】
スイッチ回路２０は、ＥＣＵ１０からのフレーム（又はメッセージ）をＣＡＮバス６０に出力したり、ＣＡＮバス６０からのフレームをＥＣＵ１０に入力させたりするための切換え回路である。スイッチ回路２０が遮断されると、ＥＣＵ１０からＣＡＮバス６０へはフレームが出力されず、他のＥＣＵからフレームを受信しない。
【００２６】
評価側ＣＰＵ３０は、評価フレームを作成して送信するとともに、応答側ＣＰＵ４０からの返送フレームを受信する。応答側ＣＰＵ４０は、評価側ＣＰＵ３０から検査フレームを受信し、それに応答する返送フレームを評価側ＣＰＵ３０に出力する。
【００２７】
評価側ＣＰＵ３０と応答側ＣＰＵ４０は、ともに送信メッセージＢＯＸと受信メッセージＢＯＸとを有する。送信メッセージＢＯＸと受信メッセージＢＯＸは、各ＣＰＵ３０、４０内の送信バッファと受信バッファ内に備えられている。メッセージＢＯＸは送受信されるフレームを一時的に保持する。
【００２８】
次に、ＥＣＵ１０における故障診断の例について簡単に説明する。本実施例では、評価側ＣＰＵ３０のメッセージ送信ＢＯＸとメッセージ受信ＢＯＸに対して故障診断が行われる。
【００２９】
まず、送信メッセージＢＯＸが正常な例を示す図２から説明する。評価側ＣＰＵ３０は、特定フレームを送信するメッセージＢＯＸのボックス番号を指定する。メッセージＢＯＸは複数のボックスから構成され、評価側ＣＰＵ３０は、このうち検査フレーム（特定フレーム）を送信するボックスを指定する。指定された番号のボックスから検査フレームが送信される。
【００３０】
応答側ＣＰＵ４０は、評価側ＣＰＵ３０から検査フレームを受信すると、返送フレームを送信する。
【００３１】
そして、評価側ＣＰＵ３０は、返送フレームを受信できれば、指定した番号のボックスは正常と判断する。
【００３２】
詳細は後述するが、検査フレームは他のフレームと区別するためのＩＤを含み、各ＣＰＵ３０，４０は当該ＩＤにより送受信したフレームが検査フレームであることを認識する。また、返送フレームについても同様である。応答側ＣＰＵ４０は、かかるＩＤのフレームを受信できるように予め設定される。
【００３３】
図３は、送信メッセージＢＯＸが正常でない場合の例を示す図である。まず、評価側ＣＰＵ３０は、検査フレームを送信する送信メッセージＢＯＸのボックス番号を指定して、当該送信メッセージＢＯＸから検査フレームを送信する。
【００３４】
応答側ＣＰＵ４０は、検査フレームを受信しない場合、評価側ＣＰＵ３０に対して返送フレームを送信しない。評価側ＣＰＵ３０は、一定時間返送フレームの受信がない場合、指定した番号のボックスは故障と診断し、当該ボックスの使用を禁止する。
【００３５】
次に、評価側ＣＰＵ３０の受信メッセージＢＯＸが正常な例を説明する。図４はその例を示す図である。同図に示すように、評価側ＣＰＵ３０は、応答側ＣＰＵ４０から受信する返送フレームを受信する受信メッセージＢＯＸのボックス番号を指定する。
【００３６】
評価側ＣＰＵ３０は、検査フレームの送信の場合と同様に、指定したメッセージ送信ＢＯＸからリクエストフレームを送信する。リクエストフレームも他のフレームと区別するためのＩＤを含む。
【００３７】
応答側ＣＰＵ４０は、リクエストフレームを受信した場合に返送フレームを送信する。評価側ＣＰＵ３０は、指定した受信メッセージＢＯＸのボックス番号で返送フレームを受信できれば当該番号のボックスは正常と判断する。
【００３８】
一方、図５に示すように、評価側ＣＰＵ３０は、応答側ＣＰＵ４０からリクエストフレームに対する返送フレームを一定時間受信しない場合、受信指定した番号のボックスは故障と診断し、当該ボックスの使用を禁止する。
【００３９】
このように、評価側ＣＰＵ３０は、メッセージ送信ＢＯＸやメッセージ受信ＢＯＸのボックス番号を指定し、指定したボックスからの検査フレームに対する返送フレームを受信できなかった場合や、指定したボックスにリクエストフレームに対する返送フレームを受信できなかった場合、当該ボックスが正常でないと判断する。そして、正常でないとき、評価側ＣＰＵ３０は当該ボックスの使用を禁止する。
【００４０】
次に、図６ないし図９を使用して詳細に説明する。図６はＥＣＵ１０の詳細な構成例とメッセージの送受信の例を示す図であり、図７乃至図９は故障診断の処理の例を示すフローチャートである。
【００４１】
図６に示すように、ＥＣＵ１０は、評価用マイコン３１と、応答用マイコン４１と、ＣＡＮトランシーバ５１〜５４を備える。ＣＡＮトランシーバ５１〜５４は、ＣＡＮプロトコルのフレームをＣＰＵ３１，４１間で送受信するための送受信部である。
【００４２】
また、評価用マイコン３１は、ＣＰＵ３１０と、送信メッセージＢＯＸ３１１と、送信用ＣＡＮモジュール３１２と、受信用ＣＡＮモジュール３１３と、受信メッセージＢＯＸ３１４とを備える。
【００４３】
応答用マイコン４１は、ＣＰＵ４１０と、受信用ＣＡＮモジュール４１１と、受信メッセージＢＯＸ４１２と、送信メッセージＢＯＸ４１３と、送信用ＣＡＮモジュール４１４とを備える。
【００４４】
各マイコン３１，４１の送受信メッセージＢＯＸ３１１，３１４，４１２，４１３は上述したように各マイコン３１，４１内の送信バッファや受信バッファ内に存在する。
【００４５】
各ＣＡＮモジュール３１２，３１３，４１１，４１４は、ＣＡＮプロトコルで定義されたフレームを生成して送信したり、フレームを受信してデータを抽出する。
【００４６】
次に、図７乃至図９を参照して故障診断の詳細な処理を説明する。故障診断処理は、評価用マイコン３１の送信メッセージＢＯＸ３１１に対する故障診断（Ｓ１３からＳ２３）と、受信メッセージＢＯＸ３１４の故障診断（Ｓ２４からＳ３６）とがある。
【００４７】
処理が開始されると（Ｓ１０）、ＥＣＵ１０はハード回路、つまりスイッチ回路２０を切換えてＣＡＮバス６０と切断する（Ｓ１１）。他のＥＣＵとフレームの送受信を行わせないためである。
【００４８】
次いで、ＥＣＵ１０はＣＡＮレジスタの初期設定を行い（Ｓ１２）、送信メッセージＢＯＸ３１１に対する故障診断を行う（Ｓ１３〜Ｓ２３）。すなわち、評価用マイコン３１のＣＰＵ３１０は、送信メッセージＢＯＸ３１１のボックス番号（例えば、番号ｉ）を指定する（Ｓ１４）。
【００４９】
次いで、ＣＰＵ３１０は、指定したボックスから特定フレーム（評価フレーム）を送信する（Ｓ１５）。そして、ＣＰＵ３１０は、送信メッセージＢＯＸ３１１におけるすべてのボックス数分の評価フレームを送信する（Ｓ１６とＳ１３のループ）。送信メッセージＢＯＸ３１１の各ボックスから順次評価フレームが送信される。
【００５０】
評価フレームは、ＣＡＮモジュール３１２、ＣＡＮトランシーバ５４を介して、応答用マイコン４１側のＣＡＮトランシーバ５１、ＣＡＮモジュール４１１に送信される。上述したように、評価フレームは他のフレームと区別するために評価フレーム用のＩＤが付加されて送信される。ＣＡＮモジュール３１２は当該ＩＤを付加した評価フレームを最終的に生成して送信する。
【００５１】
次いで、応答用マイコン４１のＣＰＵ４１０は評価フレームを受信メッセージＢＯＸ４１２で受信する。ＣＰＵ４１０は、受信メッセージＢＯＸ４１２の指定したボックス番号で、評価フレームを受信する。
【００５２】
そして、ＣＰＵ４１０は、指定したボックス番号の受信メッセージＢＯＸ４１２において評価フレームを受信した場合、評価フレームに対する返送フレームを生成し、送信メッセージＢＯＸ４１３から返送フレームを送信する。送信メッセージＢＯＸ４１３も固定したボックスから返送フレームが送信される。
【００５３】
そして、評価用マイコン３１のＣＰＵ３１０は、ｉ番目の返送フレームを受信したか否かを判断する（Ｓ１８）。ＣＰＵ３１０は、返送フレームを受信していないと（Ｓ１８でＮＯ）、指定した番号ｉのボックスは故障と判断し、ｉ番目のボックスの使用を禁止する（Ｓ２０）。
【００５４】
一方、返送フレームを受信したとき（Ｓ１８でＹＥＳ）、ＣＰＵ３１０は受信した返送フレームのＩＤ、ＤＬＣ、ＤＡＴＡをチェックする（Ｓ１９）。
【００５５】
ＩＤは返送フレームであることを識別するための識別子であり、ＤＬＣは受信した返送フレームのデータ長、ＤＡＴＡは返送フレームのデータ部に挿入されたデータの値を示す。
【００５６】
応答用マイコン４１のＣＰＵ４１０は、返送フレームを生成するとき、受信した評価フレームのデータ長と同じデータ長のフレームを生成するとともに、返送フレーム内のデータ部には評価フレーム内に挿入されたデータ（例えば、「ＦＦＦ・・・」）と同じ値（内容）のデータを挿入する。評価用マイコン３１のＣＰＵ３１０は、返送フレームを受信したとき、評価フレームのデータ長と同じか否か、評価フレームのデータ部に挿入したデータと同じデータが挿入されているかを確認する。ＣＰＵ３１０は、Ｓ１９の処理により、評価フレームに対応する返送フレームを正常に受信したか否かを判断している。
【００５７】
ＣＰＵ３１０は、受信したフレームのＩＤが返送フレームであることを示すＩＤで、ＤＬＣ、ＤＡＴＡのすべてが評価フレームと同じものであるとき（Ｓ１９でＯＫ）、指定した番号ｉのボックスは正常と判断して次の処理（Ｓ２２）に移行する。
【００５８】
一方、ＣＰＵ３１０は、受信したフレームのＩＤが返送フレームでないＩＤか、ＤＬＣ、ＤＡＴＡのいずれかが評価フレームと同じでないとき（Ｓ１９でＮＧ）、指定したボックス番号ｉの送信メッセージＢＯＸ３１１は故障と判断して、ボックス番号ｉの送信メッセージＢＯＸ３１１の使用を禁止する（Ｓ２０）。
【００５９】
ＣＰＵ３１０は送信メッセージＢＯＸ３１１のボックス数分の処理を繰り返す（Ｓ１７からＳ２３までのループ）。
【００６０】
次に、ＥＣＵ１０は受信メッセージＢＯＸ３１４に対する故障診断を行う（Ｓ２４からＳ３６）。すなわち、評価用マイコン３１のＣＰＵ３１０は受信メッセージＢＯＸ３１４のボックス番号ｊを指定する（Ｓ２５）。当該ボックス番号ｊにてリクエストフレームに対する返送フレームを受信するためである。
【００６１】
次いで、ＣＰＵ３１０は送信メッセージＢＯＸ３１１からリクエストフレームを送信する（Ｓ２６）。例えば、送信するリクエストフレームは指定したボックス番号の送信メッセージＢＯＸ３１１から送信される。リクエストフレームは、ＣＡＮモジュール３１２から、ＣＡＮトランシーバ５４を介して、応答用マイコン４１側に送信される。リクエストフレームは上述したようにリクエストフレームであることを示すＩＤが付加されるが、これはＣＡＮモジュール３１２で行われる。
【００６２】
ＣＰＵ３１０は、受信メッセージＢＯＸ３１４のすべてのボックスで返送フレームを受信できるようにボックス数分のリクエストフレームを順次送信する（Ｓ２４からＳ２７までのループ）。
【００６３】
リクエストフレームは、応答用マイコン４１側のＣＡＮトランシーバ５１、ＣＡＮモジュール４１１を介して受信メッセージＢＯＸ４１２に送信される。リクエストフレームは、応答用マイコン４１の受信メッセージＢＯＸ４１２の指定された番号のボックスで受信される。ＣＰＵ４１０はリクエストフレームを受信すると、送信メッセージＢＯＸ４１３から返送フレームを送信する。返送フレームには、リクエストフレームのデータ部に挿入されたデータのデータ長ＤＬＣと、データ部に挿入されたデータ自体が挿入される。かかる返送フレームはＣＡＮモジュール４１４で生成される。返送フレームは、ＣＡＮトランシーバ５２、５３、ＣＡＮモジュール３１３を介して指定したボックスの受信メッセージＢＯＸ３１４で受信される。
【００６４】
尚、受信メッセージＢＯＸ３１４では、予め指定したＩＤのフレームを受信できるようにボックスが割り当てられている。例えば、ＩＤ「１」〜「１０」まではボックス番号「１」の受信メッセージＢＯＸ３１４で受信し、ＩＤ「１１」〜「２０」まではボックス番号「２」で受信するなどである。ＣＡＮモジュール３１３は、フレームを受信すると当該フレームのＩＤからフレームを各ボックスに割り振る。リクエストフレームの場合も予め当該フレームのＩＤを受信できるように設定されており、決められたボックスの受信メッセージＢＯＸ３１４で受信できるようになされている。
【００６５】
次いで、ＣＰＵ３１０は、返送フレームを受信したか否かを判断する（Ｓ３０）。返送フレームを受信していないとき（Ｓ３０でＮＯ）、ＣＰＵ３１０は、指定した番号ｊのボックスは故障と判断し、ボックス番号ｊの受信メッセージＢＯＸ３１４の使用を禁止する（Ｓ３２）。
【００６６】
一方、返送フレームを受信したとき（Ｓ３０でＹＥＳ）、ＣＰＵ３１０は返送フレームのＩＤ、ＤＬＣ、ＤＡＴＡをチェックする（Ｓ３１）。送信メッセージＢＯＸ３１１に対する故障診断と同様に、返送フレームを示すＩＤか否か、リクエストフレームのデータ部のデータ長ＤＬＣと同じか否か、リクエストフレームのデータ部に挿入されたものと同じデータを受信したか否か、をチェックする。
【００６７】
ＣＰＵ３１０は、ＩＤ、ＤＬＣ、ＤＡＴＡのいずれか一つでも異なっていると（Ｓ３１でＮＧ）、受信メッセージＢＯＸ３１４のボックス番号ｊのボックスは故障と診断し、ボックス番号ｊの受信メッセージＢＯＸ３１４の使用を禁止する（Ｓ３２）。その後、次の処理（Ｓ３３）に移行する。
【００６８】
一方、ＩＤ、ＤＬＣ、ＤＡＴＡのすべてか送信したリクエストフレームと同じとき（Ｓ３１でＹＥＳ）、ＣＰＵ３１０は受信メッセージＢＯＸ３１４のボックス番号ｊのボックスは正常と判断し、次の処理（Ｓ３３）に移行する。
【００６９】
そして、ＣＰＵ３１０は、受信メッセージＢＯＸ３１４におけるすべてのボックスに対して処理を行う（Ｓ２９からＳ３４までのループ）。
【００７０】
次いで、ＥＣＵ１０は送受信割込みを禁止して（Ｓ３５）、受信メッセージＢＯＸ３１４の再設定を行う（Ｓ３６）。再設定とは、受信メッセージＢＯＸ３１４のボックス番号とフレームＩＤとの対応関係を再設定することである。例えば、フレームＩＤが「１１」から「２０」までのフレームを受信するボックス番号「２」のボックスが故障したとき、当該フレーム番号のフレームを空いている番号のボックスで受信するようにする等である。
【００７１】
次いで、ＥＣＵ１０はスイッチ回路２０を切換えることでＣＡＮバス６０と接続させ（Ｓ３７）、一連の故障診断処理を終了する（Ｓ３８）。
【００７２】
その後は、例えばフェールセーフ処理が行われる。例えば、故障したボックスを使用せず、他のボックスを使用してメッセージの送受信を行えるようにする。これにより、一つのボックスが故障しても、受信処理や送信処理全体を行うことができない、等の不具合を解消できる。
【００７３】
このように本実施例におけるＥＣＵ１０は、送信メッセージＢＯＸ３１１のうちどの箇所のボックスが故障したかを診断できる。また、受信メッセージＢＯＸ３１４のうち、どのボックスが故障したかも診断できる。
【００７４】
さらに、上述の故障診断により、送信メッセージＢＯＸ３１１からＣＡＮモジュール３１２へ至る経路や、ＣＡＮモジュール３１３から受信メッセージＢＯＸ３１４へ至る経路の故障診断も同時に行うことができる。
【００７５】
診断後は、上述したフェールセーフを行うこともできるし、故障した箇所を特定できるため、故障箇所の交換等を行うことができる。
【００７６】
なお、上述した故障診断の処理は、ＥＣＵ１０のマイコン３１，４１に対する電源を投入したとき（イニシャル処理中）に行われる。
【００７７】
上述した例では、マイコン３１を評価側、マイコン４１を応答側として説明したが、その逆であってもよい。この場合、受信メッセージＢＯＸ４１２と送信メッセージＢＯＸ４１３の故障診断を行い得る。
【００７８】
なお、本実施例による通信装置は、故障診断制御を行っていない通常の通信制御時、一方のＣＰＵを送信専用、他方のＣＰＵを受信専用として使用する構成でもよいし、２つのＣＰＵがそれぞれ送信と受信のそれぞれを行う構成（例えば、データの種類（ＩＤ）などに応じて、どちらのＣＰＵで処理を行うかを決定するなど）でもよい。
【図面の簡単な説明】
【００７９】
【図１】図１（Ａ）は送信メッセージＢＯＸ、同図（Ｂ）は受信メッセージＢＯＸがそれぞれ故障したときの例を示す図である。
【図２】図２はＥＣＵの構成例とフレームの流れを示す図である。
【図３】図３はＥＣＵの構成例とフレームの流れを示す図である。
【図４】図４はＥＣＵの構成例とフレームの流れを示す図である。
【図５】図５はＥＣＵの構成例とフレームの流れを示す図である。
【図６】図６はＥＣＵの構成例とフレームの流れを示す図である。
【図７】図７は故障診断処理の例を示すフローチャートである。
【図８】図８は故障診断処理の例を示すフローチャートである。
【図９】図９は故障診断処理の例を示すフローチャートである。
【符号の説明】
【００８０】
１  車載ネットワークシステム、  １０  ＥＣＵ（Electric Control Unit）、  ２０  スイッチ回路、  ３０  評価側ＣＰＵ（送信側ＣＰＵ）、  ３１  評価用マイコン、  ４０  応答側ＣＰＵ（受信側ＣＰＵ）、  ５１〜５４  ＣＡＮトランシーバ、  ６０  ＣＡＮバス、  ３１１  送信メッセージＢＯＸ、  ３１２，３１３  ＣＡＮモジュール、  ３１４  受信メッセージＢＯＸ、  ４１１、４１４  ＣＡＮモジュール、  ４１２  受信メッセージＢＯＸ、  ４１３  送信メッセージＢＯＸ
【図１】
2009194814.tif 000003
【図２】
2009194814.tif 000004
【図３】
2009194814.tif 000005
【図４】
2009194814.tif 000006
【図５】
2009194814.tif 000007
【図６】
2009194814.tif 000008
【図７】
2009194814.tif 000009
【図８】
2009194814.tif 000010
【図９】
2009194814.tif 000011