(57)【要約】      （修正有）【課題】故障箇所を特定する。【解決手段】通信バスを介して通信を行う通信ノード１００は、通信バスから支線を分岐する分岐部４００が形成され、該分岐部と該分岐部から分岐される通信バスとの間の接続と切断とが切り替えられるとともに、分岐部と該分岐部から分岐される支線５０２との間の接続と切断とが切り替えられ、支線と接続される通信ノードの通信異常を診断する異常診断部を有する。異常診断部は、分岐部と該分岐部から分岐される通信バスとの間の接続と切断と、分岐部と該分岐部から分岐される支線との間の接続と切断とが切り替えられることにより形成される経路で通信できるか否かを判断する。【選択図】図５
2014187542.tif 000002
【特許請求の範囲】
【請求項１】
通信バスを介して通信を行う通信ノードであって、
前記通信バスから支線を分岐する分岐部が形成され、該分岐部と該分岐部から分岐される前記通信バスとの間の接続と切断とが切り替えられるとともに、前記分岐部と該分岐部から分岐される前記支線との間の接続と切断とが切り替えられ、
前記支線と接続される通信ノードの通信異常を診断する異常診断部
を有し、
前記異常診断部は、前記分岐部と該分岐部から分岐される前記通信バスとの間の接続と切断と、前記分岐部と該分岐部から分岐される前記支線との間の接続と切断とが切り替えられることにより形成される経路で通信できるか否かを判断する、通信ノード。
【請求項２】
前記分岐部と該分岐部から分岐される前記通信バスとの間の接続と切断と、前記分岐部と該分岐部から分岐される前記支線との間の接続と切断とが切り替えられることにより通常の通信の際に形成される経路とは異なる経路が形成される、請求項１に記載の通信ノード。
【請求項３】
前記通信バスは、第１の通信線と第２の通信線とを含み、
前記分岐部は、前記第１の通信線から第１の支線を分岐する第１の分岐部と前記第２の通信線から第２の支線を分岐する第２の分岐部とを含み、
前記第１の分岐部と該第１の分岐部から分岐される前記第１の通信線との間の接続と切断と、前記第１の分岐部と該第１の分岐部から分岐される前記第１の支線との間の接続と切断とが切り替えられ、前記第２の分岐部と該第２の分岐部から分岐される前記第２の通信線との間の接続と切断と、前記第２の分岐部と該第２の分岐部から分岐される前記第２の支線との間の接続と切断とが切り替えられ、
前記異常診断部は、前記第１の分岐部と該第１の分岐部から分岐される前記第１の通信線との間の接続と切断と、前記第１の分岐部と該第１の分岐部から分岐される前記第１の支線との間の接続と切断とが切り替えられるとともに、前記第２のスイッチ部により前記第２の分岐部と該第２の分岐部から分岐される前記第２の通信線との間の接続と切断と、前記第２の分岐部と該第２の分岐部から分岐される前記第２の支線との間の接続と切断とが切り替えられることにより形成される経路で通信できるか否かを判断する、請求項１又は２に記載の通信ノード。
【請求項４】
前記通信バスから複数の支線が分岐されるとともに、該複数の支線の各々に通信ノードが接続され、
前記複数の支線を分岐する分岐部毎に、該分岐部から分岐される前記通信バスとの間の接続と切断とが切り替えられるとともに、前記分岐部と該分岐部から分岐される前記支線との間の接続と切断とが切り替えられる、請求項１ないし３のいずれか１項に記載の通信ノード。
【請求項５】
前記通信バスから支線を分岐する分岐部と該分岐部から分岐される前記通信バスとの間の接続と切断とを切り替えるとともに、前記分岐部と該分岐部から分岐される前記支線との間の接続と切断とを切り替えるためのスイッチ選択信号を作成するスイッチ選択信号作成部
を有し、
前記スイッチ選択信号により、前記分岐部と該分岐部から分岐される前記通信バスとの間の接続と切断とが切り替えられるとともに、前記分岐部と該分岐部から分岐される前記支線との間の接続と切断とが切り替えられる、請求項１ないし４のいずれか１項に記載の通信ノード。
【請求項６】
前記スイッチ選択信号作成部は、前記異常診断部により通信異常と診断された通信ノードとの間を切断するスイッチ選択信号を作成する、請求項５に記載の通信ノード。
【請求項７】
第２の通信バスが設けられ、
前記第２の通信バスから支線を分岐する分岐部と該分岐部から分岐される前記第２の通信バスとの間の接続と切断とが切り替えられるとともに、該分岐部と該分岐部から分岐される前記支線との間の接続と切断とが切り替えられ、
前記スイッチ選択信号作成部は、前記異常診断部により通信異常と診断された通信ノードとの間の通信を前記第２の通信バスに切り替えるスイッチ選択信号を作成する、請求項５に記載の通信ノード。
【請求項８】
通信バスを介して通信を行う通信ノードにおける故障診断方法であって、
前記通信バスから支線を分岐する分岐部が形成され、該分岐部と該分岐部から分岐される前記通信バスとの間の接続と切断とが切り替えられるとともに、前記分岐部と該分岐部から分岐される前記支線との間の接続と切断とが切り替えられ、
前記支線と接続される通信ノードの通信異常を診断する際に、前記分岐部と該分岐部から分岐される前記通信バスとの間の接続と切断と、前記分岐部と該分岐部から分岐される前記支線との間の接続と切断とが切り替えられることにより形成される経路で通信できるか否かを判断する、故障診断方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信システムに関する。
【背景技術】
【０００２】
車両には、該車両内の様々な制御を行うために車載ネットワークが構成されることが多い。車載ネットワークは、LANに、多くの電子制御ユニット(ECU: Electronic Control Unit)、センサ、アクチュエータ等が接続されることにより実現される。以下、車載ネットワークに接続される、電子制御ユニット、センサ、アクチュエータ等を通信ノードと呼ぶ。該通信ノードは、車両内の様々な位置に設置される。通信ノード間は、通信線や電線により接続される。
【０００３】
例えば、データバスに、複数の通信ノードが接続されることにより、車載ネットワークが構成される。該車載ネットワークには、CAN(Controller Area Network)、LIN(Local Interconnect Network)が含まれる。また、該車載ネットワークには、 FlexRay（登録商標）に従って通信を行うものが含まれてもよい。
【０００４】
車載ネットワークにおいて、通信ノード間を接続する経路で故障が発生したときには、全通信ノードの通信ができなくなる。
【０００５】
通信バスラインに接続されているノードに異常が発生した場合に、通信バスラインを切り離すことなく当該ノードのみを切り離すことができる技術が知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開2008-278403号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
車載ネットワーク、例えば、CANは複数の通信ノードを備え、これら複数の通信ノードは、ツイストペアの形態を有するCANバスにより各々接続され、それぞれの通信ノード間で、データの送受信を行う。CANバスのツイストペア線は一方がCAN High（以下、CAN_Hという）、他方がCAN Low（以下、CAN_Lという）と呼ばれる母線である。各通信ノードは、例えば、自動車の各部を制御する複数の電子制御ユニット（以下、ECUという）により構成されるようにしてもよい。
【０００８】
図１は、車載ネットワークの一例を示す。
【０００９】
ECUは、ジャンクションボックス(JB: Junction Box)を介してCANバスと接続される。具体的には、ECU-aはJB-aを介してCANバスと接続され、ECU-bはJB-bを介してCANバスと接続される。ECU-aとJB-aとの間は、CAN_Ha及びCAN_Laにより接続される。ECU-ｂとJB-ｂとの間は、CAN_Hｂ及びCAN_Lｂにより接続される。
【００１０】
JB-aとJB-bとの間は、CAN_H1及びCAN_L1により接続される。JB-aと他のJB（図示なし）との間はCAN_H0及びCAN_L0により接続され、JB-bと他のJB（図示なし）との間はCAN_H２及びCAN_L２により接続される。
【００１１】
図１に示される車載ネットワークにおいて、CAN_H0とCAN_L0がショートした場合、他のCANバスには異常がないにもかかわらず、通信ができなくなる。
【００１２】
本発明は、故障箇所を特定することを目的とする。
【課題を解決するための手段】
【００１３】
開示の一実施例の通信ノードは、
通信バスを介して通信を行う通信ノードであって、
前記通信バスから支線を分岐する分岐部が形成され、該分岐部と該分岐部から分岐される前記通信バスとの間の接続と切断とが切り替えられるとともに、前記分岐部と該分岐部から分岐される前記支線との間の接続と切断とが切り替えられ、
前記支線と接続される通信ノードの通信異常を診断する異常診断部
を有し、
前記異常診断部は、前記分岐部と該分岐部から分岐される前記通信バスとの間の接続と切断と、前記分岐部と該分岐部から分岐される前記支線との間の接続と切断とが切り替えられることにより形成される経路で通信できるか否かを判断する。
【００１４】
開示の一実施例の故障診断方法は、
通信バスを介して通信を行う通信ノードにおける故障診断方法であって、
前記通信バスから支線を分岐する分岐部が形成され、該分岐部と該分岐部から分岐される前記通信バスとの間の接続と切断とが切り替えられるとともに、前記分岐部と該分岐部から分岐される前記支線との間の接続と切断とが切り替えられ、
前記支線と接続される通信ノードの通信異常を診断する際に、前記分岐部と該分岐部から分岐される前記通信バスとの間の接続と切断と、前記分岐部と該分岐部から分岐される前記支線との間の接続と切断とが切り替えられることにより形成される経路で通信できるか否かを判断する。
【発明の効果】
【００１５】
開示の実施例によれば、故障箇所を特定することができる。
【図面の簡単な説明】
【００１６】
【図１】通信システムの一例を示す図である。
【図２】通信システムの一実施例を示す図である。
【図３】第２の通信ノードの一実施例を示す機能ブロック図である。
【図４】ジャンクションボックスの一実施例を示す図である。
【図５】通信システムの一実施例を示す図である。
【図６】第２の通信ノードの動作の一実施例を示すフローチャートである。
【図７】第２の通信ノードの動作の一実施例を示すフローチャートである。
【図８】故障箇所判定結果の一実施例を示す図である。
【図９】第２の通信ノードの動作の一実施例を示すフローチャートである。
【図１０】故障箇所判定結果の一実施例を示す図である。
【図１１】第２の通信ノードの動作の一実施例を示すフローチャートである。
【図１２】故障箇所判定結果の一実施例を示す図である。
【図１３】ジャンクションボックスの一実施例を示す図である。
【図１４】第２の通信ノードの動作の一実施例を示すフローチャートである。
【図１５】通信システムの故障復旧処理の一実施例（その１）を示す図である。
【図１６】通信システムの故障復旧処理の一実施例（その２）を示す図である。
【図１７】通信システムの一実施例を示す図である。
【図１８】通信システムの故障復旧処理の一実施例（その３）を示す図である。
【図１９】通信システムの定期通信の一例を示すタイムチャートである。
【図２０】通信システムの定期通信の一実施例を示すタイムチャートである。
【図２１】通信システムの動作の一実施例を示す図である。
【発明を実施するための形態】
【００１７】
次に、本発明を実施するための形態を、以下の実施例に基づき図面を参照しつつ説明する。以下で説明する実施例は一例に過ぎず、本発明が適用される実施の形態は、以下の実施例に限られない。
なお、実施例を説明するための全図において、同一機能を有するものは同一符号を用い、繰り返しの説明は省略する。
【００１８】
＜実施例＞
＜通信システム＞
図２は、通信システムの一実施例を示す。
【００１９】
通信システムの一実施例は、例えば、自動車内LANの通信プロトコルに従って通信を行う複数の通信ノードを備える。自動車内LANの通信プロトコルとして、CAN(Controller Area Network)が適用されるのが好ましい。各通信ノードは、例えば、自動車の各部を制御する複数の電子制御ユニット(ECU: Electronic Control Unit)により構成される。通信システムの一実施例では、複数の通信ノードは、CANに従って通信を行う場合について説明する。
【００２０】
また、自動車内LANの通信プロトコルとして、LIN(Local Interconnect Network)が適用されてもよい。また、自動車内LANの通信プロトコルにCANとLINの両方を適用し、混在するようにしてもよい。また、自動車内LANの通信プロトコルにFlex Rayが適用されてもよい。
【００２１】
通信システムは、第１の通信ノード１００と第２の通信ノード２００とを有する。第１の通信ノード１００、第２の通信ノード２００は、例えば車両等の移動体に搭載される。通信システムの一実施例では、車両に搭載される場合について説明する。通信システムは、センサ、アクチュエータ等のボディ制御に適用されてもよい。
【００２２】
第１の通信ノード１００は、電子制御ユニット等により実現されてもよい。また、第１の通信ノード１００に、センサ、アクチュエータ等が含まれてもよい。第２の通信ノード２００は、電子制御ユニットにより実現されてもよいし、センサ、アクチュエータ等により実現されてもよい。
【００２３】
また、第１の通信ノード１００に複数のシステムが内蔵されている場合もある。例えば、第１の通信ノード１００が、他の第１の通信ノード（図示無し）との間で通信を行うようにしてもよい。また、第１の通信ノード１００が、システムの制御を実行してもよい。
【００２４】
CANでは、通信ライン（通信バス）として、CAN_LとCAN_Hとからなる２線式の通信線５００が使用され、その２線式の通信線５００の両端には終端抵抗が接続される。また、図２に示される例において、終端抵抗は、２線式の通信線５００のうち、一方は２線式の通信線５００の端に配置された第１の通信ノード１００の内部に設けられている終端回路２０８により表され、他方は終端回路３００により表される。
【００２５】
CANにおいて、データを送信する通信ノードはCAN_HとCAN_Lとに反転信号を送出し、データを受信する通信ノードはCAN_HとCAN_Lとの電圧差から、通信線５００上のデータが"１"であるか"０"であるかを判定する。
【００２６】
＜第１の通信ノード１００＞
第１の通信ノード１００は、自動車の各部の制御や他の通信ノードとの間の通信処理を実行するマイクロコントローラユニット(MCU: Micro-Control Unit)１０２と、トランシーバ１０６とを有する。
【００２７】
マイクロコントローラユニット１０２には、１又は複数のマイコンが含まれる。マイコンの代わりにＣＰＵが含まれてもよいし、マイコンとＣＰＵとが混在していてもよい。さらに、マイクロコントローラユニット１０２には、通信装置１０４が含まれる。通信装置１０４はトランシーバ１０６との間で、シリアル通信を行う。具体的には、通信装置１０４は、UART(Universal Asynchronous Receiver Transmitter)であってもよい。
【００２８】
トランシーバ１０６は、マイクロコントローラユニット１０２、通信バスと接続される。通信バスには、CAN_Ha５０２とCAN_La５０４が含まれる。CAN_Ha５０２とCAN_La５０４は、通信線５００から分岐された支線である。トランシーバ１０６は、マイクロコントローラユニット１０２から入力されたデータを通信バスに送信し、通信バスからのデータをマイクロコントローラユニット１０２に入力する。
【００２９】
第１の通信ノード１００は、CAN_Ha５０２及びCAN_La５０４を介してジャンクションボックス(JB: Junction Box)４００と接続される。ジャンクションボックス４００は、通信線５００と接続される。
【００３０】
＜第２の通信ノード２００＞
第２の通信ノード２００は、自動車の各部の制御や他の通信ノードとの間の通信処理を実行するマイクロコントローラユニット２０２と、トランシーバ２０６とを有する。さらに、第２の通信ノード２００は、終端回路２０８を有する。
【００３１】
第２の通信ノード２００は、自動車の各部を制御するための制御処理や他の通信ノードとの間の通信処理を実行するマイクロコントローラユニット２０２と、トランシーバ２０６とを有する。
【００３２】
マイクロコントローラユニット２０２には、１又は複数のマイコンが含まれる。マイコンの代わりにＣＰＵが含まれてもよいし、マイコンとＣＰＵとが混在していてもよい。さらに、マイクロコントローラユニット２０２には、通信装置２０４が含まれる。通信装置２０４はトランシーバ２０６との間で、シリアル通信を行う。具体的には、通信装置２０４は、UARTであってもよい。
【００３３】
トランシーバ２０６は、マイクロコントローラユニット２０２、終端回路２０８と接続される。トランシーバ２０６は、通信線５００にマイクロコントローラユニット２０２から入力されたデータを送信する。また、トランシーバ２０６は、通信線５００からのデータをマイクロコントローラユニット２０２に入力する。
【００３４】
終端回路２０８は、必要に応じてCAN_H0５０６及びCAN_L0５０８を終端する。
【００３５】
第２の通信ノード２００は、CAN_H0５０６及びCAN_L0５０８を介してジャンクションボックス４００と接続される。
【００３６】
＜第２の通信ノード２００の機能＞
図３は、第２の通信ノード２００を示す機能ブロック図である。
【００３７】
図３の機能ブロック図により表される機能は、主に、マイクロコントローラユニット２０２により実行される。つまり、マイクロコントローラユニット２０２は、テストモード制御部２０２２、スイッチ選択信号作成部２０２４、通信可否判定部２０２６、通信可否判定結果格納部２０２８、異常判定部２０３０として機能する。
【００３８】
マイクロコントローラユニット２０２の内部に記憶されたアプリケーション（ファームウェア）に従ってマイクロコントローラユニット２０２により、テストモード制御部２０２２、スイッチ選択信号作成部２０２４、通信可否判定部２０２６、通信可否判定結果格納部２０２８、異常判定部２０３０としての機能が実行されるのが好ましい。また、記憶部（図示無し）に記憶されたアプリケーションに従ってマイクロコントローラユニット２０２により、テストモード制御部２０２２、スイッチ選択信号作成部２０２４、通信可否判定部２０２６、通信可否判定結果格納部２０２８、異常判定部２０３０としての機能が実行されてもよい。
【００３９】
マイクロコントローラユニット２０２は、テストモード制御部２０２２として機能する。テストモード制御部２０２２は、故障診断（検出）を行うモード（テストモード）に遷移する処理を行う。テストモード制御部２０２２は、第１の通信ノード１００へ、故障診断状態であることを通知する制御を実行する。第１の通信ノード１００へ故障診断状態であることを通知することにより、該通知の後に通知されるデータが実データでないことを通知することができる。
【００４０】
また、テストモード制御部２０２２は、第１の通信ノード毎にテストする制御を実行する。テストモード制御部２０２２は、第１の通信ノード毎にテストする制御を実行する際に、ジャンクションボックス毎に、該ジャンクションボックスに含まれる配線毎にテストする制御を実行するのが好ましい。テストモード制御部２０２２は、ジャンクションボックスをテストする制御が終了した場合に、異常判定部２０３０へ、ジャンクションボックスのテストが終了したことを通知する。
【００４１】
マイクロコントローラユニット２０２は、スイッチ選択信号作成部２０２４として機能する。スイッチ選択信号作成部２０２４は、テストモード制御部２０２２と接続される。スイッチ選択信号作成部２０２４は、テストモード制御部２０２２による制御に従って、スイッチ選択信号を作成する。テストモード制御部２０２２は、通信装置２０４を介して、該当するスイッチに、スイッチ選択信号を送信する。スイッチ選択信号作成部２０２４は、スイッチ選択信号の送信後、通信可否判定部２０２６へ、スイッチ選択信号を送信したことを通知する。スイッチ選択信号作成部２０２４によりスイッチ選択信号を送信したことを通知することにより、選択されたスイッチの識別子が通知されるようにしてもよい。
【００４２】
マイクロコントローラユニット２０２は、通信可否判定部２０２６として機能する。通信可否判定部２０２６は、スイッチ選択信号作成部２０２４と接続される。通信可否判定部２０２６は、スイッチ選択信号作成部２０２４からスイッチ選択信号を送信したことが通知された後、第１の通信ノード１００へ、所定の信号を送信することにより、該第１の通信ノード１００との間で通信ができるか否かを判定する。所定の信号は、第１の通信ノード１００と第２の通信ノード２００との間で既知となる信号であるのが好ましい。通信可否判定部２０２６は、所定の信号に対して、第１の通信ノード１００から応答信号を受信したか否かに基づいて、該第１の通信ノード１００との間で通信が可能であるか否かを判定するのが好ましい。通信可否判定部２０２６は、通信可否判定結果格納部２０２８へ、通信ができるか否かの判定結果を格納する。
【００４３】
通信可否判定結果格納部２０２８は、通信可否判定部２０２６と接続される。通信可否判定結果格納部２０２８は、通信可否の判定結果を格納する。スイッチ選択信号作成部２０２４により送信制御が実行されたスイッチ選択信号毎、換言すればスイッチの識別子毎に、通信可否の判定結果が格納されるのが好ましい。
【００４４】
異常判定部２０３０は、テストモード制御部２０２２と、通信可否判定結果格納部２０２８と接続される。異常判定部２０３０は、テストモード制御部２０２２からのジャンクションボックスをテストする制御が終了したことが通知された場合に、通信可否判定結果格納部２０２８に格納された通信できるか否かの判定結果に基づいて、異常箇所を判定する。
【００４５】
＜ジャンクションボックス４００＞
図４は、ジャンクションボックス４００の一実施例を示す。
【００４６】
ジャンクションボックス４００は、CAN_Haコネクタ４０２と、CAN_Laコネクタ４０４と、CAN_H0コネクタ４０６と、CAN_L0コネクタ４０８と、CAN_H1コネクタ４１０と、CAN_L1コネクタ４１２とを有する。
【００４７】
ジャンクションボックス４００は、CAN_Haスイッチ４１４と、CAN_H0スイッチ４１６と、CAN_H1スイッチ４１８とを有する。CAN_Haスイッチ４１４、CAN_H0スイッチ４１６、CAN_H1スイッチ４１８は、その一端が互いに接続される。
【００４８】
ジャンクションボックス４００は、CAN_Laスイッチ４２０と、CAN_L0スイッチ４２２と、CAN_L1スイッチ４２４とを有する。CAN_Laスイッチ４２０、CAN_L0スイッチ４２２、CAN_L1スイッチ４２４は、その一端が互いに接続される。
【００４９】
CAN_Haコネクタ４０２は、CAN_Ha５０２とCAN_Haスイッチ４１４の他端とを接続する。CAN_Laコネクタ４０４は、CAN_La５０４とCAN_Laスイッチ４２０の他端とを接続する。CAN_H0コネクタ４０６は、CAN_H0５０６とCAN_H0スイッチ４１６の他端とを接続する。CAN_L0コネクタ４０８は、CAN_L0５０８とCAN_L0スイッチ４２２の他端とを接続する。CAN_H1コネクタ４１０は、CAN_H1５１０とCAN_H1スイッチ４１８の他端とを接続する。CAN_L1コネクタ４１２は、CAN_L1５１２とCAN_L1スイッチ４２４の他端とを接続する。
【００５０】
CAN_Haスイッチ４１４、CAN_H0スイッチ４１６、及びCAN_H1スイッチ４１８は、CAN_Hスイッチ選択信号によりそのオンオフが制御される。CAN_Hスイッチ選択信号は、CAN_Haスイッチ４１４、CAN_H0スイッチ４１６、及びCAN_H1スイッチ４１８をオン又はオフさせる制御信号であるのが好ましい。CAN_Hスイッチ選択信号は、スイッチ毎に設けられ、第２の通信ノード２００から送信されるのが好ましい。
【００５１】
CAN_Laスイッチ４２０、CAN_L0スイッチ４２２、及びCAN_L1スイッチ４２４は、CAN_Lスイッチ選択信号によりそのオンオフが制御される。CAN_Lスイッチ選択信号は、CAN_Laスイッチ４２０、CAN_L0スイッチ４２２、及びCAN_L1スイッチ４２４をオン又はオフさせる制御信号であるのが好ましい。CAN_Lスイッチ選択信号は、第２の通信ノード２００から送信されるのが好ましい。
【００５２】
通信システムが通常の状態で動作している場合、CAN_Haスイッチ４１４、CAN_H0スイッチ４１６、CAN_H1スイッチ４１８、CAN_Laスイッチ４２０、CAN_L0スイッチ４２２、及びCAN_L1スイッチ４２４はオンである。
【００５３】
通信システムがテストモードである場合には、CAN_Hスイッチ選択信号によりCAN_Haスイッチ４１４、CAN_H0スイッチ４１６、及びCAN_H1スイッチ４１８のオンオフが切り替えられるとともに、CAN_Lスイッチ選択信号によりCAN_Laスイッチ４２０、CAN_L0スイッチ４２２、及びCAN_L1スイッチ４２４のオンオフが切り替えられる。CAN_Haスイッチ４１４、CAN_H0スイッチ４１６、及びCAN_H1スイッチ４１８のオンオフの切り替えと、CAN_Laスイッチ４２０、CAN_L0スイッチ４２２、及びCAN_L1スイッチ４２４のオンオフの切り替えは連動していることが好ましい。つまり、CAN_Haスイッチ４１４のオンオフとCAN_Laスイッチ４２０のオンオフは連動し、CAN_H0スイッチ４１６のオンオフとCAN_L0スイッチ４２２のオンオフは連動し、CAN_H1スイッチ４１８のオンオフとCAN_L1スイッチ４２４のオンオフは連動するのが好ましい。
【００５４】
テストモードでは、例えば、CAN_H0５０６からCAN_Ha５０２のパスを検査する場合、第２の通信ノード２００は、CAN_H1スイッチ４１８をオフとし、他のスイッチ、つまりCAN_Haスイッチ４１４、CAN_H0スイッチ４１６をオンにする。さらに、第２の通信ノード２００は、CAN_L1スイッチ４２４をオフとし、CAN_Laスイッチ４２０、CAN_L0スイッチ４２２をオンとする。この状態で、第２の通信ノード２００は、第１の通信ノード１００へ、所定の信号を送信する。所定の信号は、第１の通信ノード１００と第２の通信ノードとの間で既知の信号であるのが好ましい。第２の通信ノード２００は、第１の通信ノード１００からの応答信号を受信した場合には、CAN_H0５０６からCAN_Ha５０２のパスは正常であると判定すると同時に、CAN_L0５０８からCAN_La５０４のパスは正常であると判定できる。
【００５５】
また、テストモードで、CAN_H1５１０が異常であると判定した場合、第２の通信ノード２００は、CAN_H1スイッチ４１８とCAN_L1スイッチ４２４をオフにする。CAN_H1スイッチ４１８とCAN_L1スイッチ４２４がオフにされる場合、CAN_H1スイッチ４１８に接続されるCAN_HとCAN_L1スイッチ４２４に接続されるCAN_Lとの間で終端抵抗が接続される。例えば、CAN_H1スイッチ４１８に接続されるCAN_HとCAN_L1スイッチ４２４に接続されるCAN_Lとの間に抵抗とスイッチとが直列接続され、CAN_H1スイッチ４１８とCAN_L1スイッチ４２４がオフにされるとともに、該スイッチがオンにされてもよい。以下の場合においても、終端抵抗が適宜接続される。このようにすることにより、CAN_H1５１０とCAN_L1５１２とを通信システムから切り離すことができる。CAN_H1５１０とCAN_L1５１２とを通信システムから切り離すことにより、CAN_H0５０６、及びCAN_L0５０８を通じて、CAN_Ha５０２、及びCAN_La５０４と接続される第２の通信ノード１００との間の通信を継続することができる。
【００５６】
＜通信システムの動作（その１）＞
図５は、通信システムの動作の一実施例を示す。
【００５７】
通信システムは、第１の通信ノード１００１−１００ｎ（ｎは、ｎ＞１の整数）と第２の通信ノード２００とを有する。
【００５８】
第１の通信ノード１００１−１００ｎは、図２を参照して説明した第１の通信ノード１００と略同一である。図５では、説明の便宜のために、CAN_L（CAN_L0、CAN_L1、CAN_L2、・・・）、CAN_La５０４は省略される。また、図５では、CAN_Hスイッチ選択信号が送信される配線、CAN_Lスイッチ選択信号が送信される配線も省略される。
【００５９】
第１の通信ノード１００１−１００ｎは、それぞれCAN_Ha５０２１−CAN_Ha５０２ｎを介して、それぞれジャンクションボックス４００１−４００ｎと接続される。
【００６０】
ジャンクションボックス４００１−４００ｎは、図４を参照して説明したジャンクションボックス４００と略同一である。図５では、説明の便宜のために、コネクタと、CAN_Laスイッチ４２０、CAN_L0スイッチ４２２、CAN_L1スイッチ４２４は省略される。
【００６１】
図６は、通信システムの動作の一実施例を示す。図６には、故障を特定する処理が示される。
【００６２】
通信システムの動作の一実施例では、通信ノード毎に、該通信ノードに接続されるジャンクションボックスに含まれるスイッチを順次切り替え、故障箇所を特定する。同一の通信線５００に接続された全ての通信ノード１００について、該通信ノードに接続されたジャンクションボックスに含まれるスイッチを切り替えることにより故障箇所を特定する。通信ノードに接続されたジャンクションボックスに含まれるスイッチを順次切り替えることにより故障箇所を特定することにより、容量負荷変動が小さいため、故障箇所の検出精度を高くできる。
【００６３】
ステップＳ６０２では、第２の通信ノード２００は、試験する通信ノードの数を設定する。通信システムの動作の一実施例では、試験する通信ノードの数を３とする場合について説明する。試験する通信ノードの数が３に設定されることにより、第２の通信ノード２００から、ＪＢ４００３のCAN_H1スイッチ４１８３をオフにするCAN_Hスイッチ選択信号が送信される。CAN_H1スイッチ４１８３は、CAN_Hスイッチ選択信号によりオフにされ、CAN_HとCAN_Lとの間で、終端抵抗が接続される。試験する通信ノードの数は、ｎ以下であれば、３以外の数としてもよい。
【００６４】
ステップＳ６０４では、第２の通信ノード２００は、ＪＢ４００１によるテストを実行する。スイッチ選択信号作成部２０２４は、ＪＢ４００１に含まれるスイッチを制御するCAN_Hスイッチ選択信号を作成し、送信する。通信可否判定部２０２６は、第１の通信ノード１００１−１００３の通信が可能か否かを判定する。通信可否判定部２０２６は、通信可否判定結果格納部２０２８へ、第１の通信ノード１００１−１００３の通信が可能か否かの判定結果を格納する。
【００６５】
ステップＳ６０６では、第２の通信ノード２００は、故障箇所の特定が可能であるか否かを判定する。異常判定部２０３０は、通信可否判定結果格納部２０２８に格納された第１の通信ノード１００１−１００３の通信が可能か否かの判定結果に基づいて、故障箇所を特定することができるか否かを判定する。
【００６６】
ステップＳ６０６で、故障箇所を特定することが可能であると判定された場合、終了する。
【００６７】
ステップＳ６０８では、ステップＳ６０６で故障箇所を特定することができないと判定された場合、第２の通信ノード２００は、ＪＢ４００２によるテストを実行する。スイッチ選択信号作成部２０２４は、ＪＢ４００２に含まれるスイッチを制御するCAN_Hスイッチ選択信号を作成し、送信する。通信可否判定部２０２６は、第１の通信ノード１００１−１００３の通信が可能か否かを判定する。通信可否判定部２０２６は、通信可否判定結果格納部２０２８へ、第１の通信ノード１００１−１００３の通信が可能か否かの判定結果を格納する。
【００６８】
ステップＳ６１０では、第２の通信ノード２００は、故障箇所の特定が可能であるか否かを判定する。異常判定部２０３０は、通信可否判定結果格納部２０２８に格納された第１の通信ノード１００１−１００３の通信が可能か否かの判定結果に基づいて、故障箇所を特定することができるか否かを判定する。
【００６９】
ステップＳ６１０で、故障箇所を特定することが可能であると判定された場合、終了する。
【００７０】
ステップＳ６１２では、ステップＳ６０６で故障箇所を特定することができないと判定された場合、第２の通信ノード２００は、ＪＢ４００３によるテストを実行する。スイッチ選択信号作成部２０２４は、ＪＢ４００３に含まれるスイッチを制御するCAN_Hスイッチ選択信号を作成し、送信する。通信可否判定部２０２６は、第１の通信ノード１００１−１００３の通信が可能か否かを判定する。通信可否判定部２０２６は、通信可否判定結果格納部２０２８へ、第１の通信ノード１００１−１００３の通信が可能か否かの判定結果を格納する。
【００７１】
ステップＳ６１４では、第２の通信ノード２００は、故障箇所の特定が可能であるか否かを判定する。異常判定部２０３０は、通信可否判定結果格納部２０２８に格納された第１の通信ノード１００１−１００３の通信が可能か否かの判定結果に基づいて、故障箇所を特定することができるか否かを判定する。ステップＳ６１４で、故障箇所を特定することが可能であると判定された場合、終了する。
【００７２】
ステップＳ６１６では、ステップＳ６１４で故障箇所を特定することができないと判定された場合、故障がないと判定し、終了する。
【００７３】
＜ＪＢ４００１によるテスト＞
図７は、ＪＢ４００１によるテストの一実施例を示すフローチャートである。
【００７４】
図７は、主に、図６を参照して説明した通信システムの動作の一実施例のステップＳ６０４の詳細を示す。
【００７５】
ステップＳ７０２では、第２の通信ノード２００は、ＪＢ４００１のスイッチの全てをオンにする。スイッチ選択信号作成部２０２４は、CAN_Haスイッチ４１４１、４１４２、及び４１４３をそれぞれオンにするCAN_Hスイッチ選択信号を作成し、送信する。スイッチ選択信号作成部２０２４は、CAN_H0スイッチ４１６１、４１６２、及び４１６３をそれぞれオンにするCAN_Hスイッチ選択信号を作成し、送信する。スイッチ選択信号作成部２０２４は、CAN_H1スイッチ４１８１、及び４１８２をそれぞれオンにするCAN_Hスイッチ選択信号を作成し、送信する。
【００７６】
ステップＳ７０４では、第２の通信ノード２００は、ＪＢ４００１のCAN_H0スイッチ４１６１をオフにする。スイッチ選択信号作成部２０２４は、CAN_H0スイッチ４１６１をオフにするCAN_Hスイッチ選択信号を作成し、送信する。
【００７７】
ステップＳ７０６では、第２の通信ノード２００は、第１の通信ノード１００１と、第１の通信ノード１００２及び１００３との間で通信を実行させる。通信可否判定部２０２６は、第１の通信ノード１００１と、第１の通信ノード１００２及び１００３との間で通信を実行させる。第２の通信ノード２００は、CAN_H0スイッチ４１６１をオフにする前に、CAN_H0スイッチ４１６１がオフにされた後に、第１の通信ノード１００１と、第１の通信ノード１００２及び１００３との間で通信を実行させるように予め通知するのが好ましい。CAN_H0スイッチ４１６１がオンにされた際に、第１の通信ノード１００１、１００２、及び１００３のいずれかの通信ノードから第２の通信ノード２００に通信できたか否かの判定結果が通知されるのが好ましい。
【００７８】
ステップＳ７０８では、第２の通信ノード２００は、第１の通信ノード１００１と、第１の通信ノード１００２及び１００３との間で通信ができるか否かの判定結果を保存する。通信可否判定部２０２６は、通信可否判定結果格納部２０２８へ、第１の通信ノード１００１と、第１の通信ノード１００２及び１００３との間で通信ができるか否かの判定結果を格納する。
【００７９】
ステップＳ７１０では、第２の通信ノード２００は、第１の通信ノード１００２と第１の通信ノード１００３との間で通信を実行させる。通信可否判定部２０２６は、第１の通信ノード１００２と第１の通信ノード１００３との間で通信を実行させる。第２の通信ノード２００は、CAN_H0スイッチ４１６１をオフにする前に、CAN_H0スイッチ４１６１がオフにされた後に、第１の通信ノード１００２と第１の通信ノード１００３との間で通信を実行させるように予め通知するのが好ましい。CAN_H0スイッチ４１６１がオンにされた際に、第１の通信ノード１００２、及び１００３のいずれかの通信ノードから第２の通信ノード２００に通信できたか否かの判定結果が通知されるのが好ましい。
【００８０】
ステップＳ７１２では、第２の通信ノード２００は、第１の通信ノード１００２と第１の通信ノード１００３との間で通信ができるか否かの判定結果を保存する。通信可否判定部２０２６は、通信可否判定結果格納部２０２８へ、第１の通信ノード１００２と第１の通信ノード１００３との間で通信ができるか否かの判定結果を格納する。
【００８１】
ステップＳ７１４では、第２の通信ノード２００は、ＪＢ４００１のスイッチの全てをオンにする。スイッチ選択信号作成部２０２４は、CAN_H0スイッチ４１６１をオンにするCAN_Hスイッチ選択信号を作成し、送信する。
【００８２】
ステップＳ７１６では、第２の通信ノード２００は、ＪＢ４００１のCAN_H1スイッチ４１８１をオフにする。スイッチ選択信号作成部２０２４は、CAN_H1スイッチ４１８１をオフにするCAN_Hスイッチ選択信号を作成し、送信する。
【００８３】
ステップＳ７１８では、第２の通信ノード２００は、第１の通信ノード１００２と第１の通信ノード１００３との間で通信を実行させる。通信可否判定部２０２６は、第１の通信ノード１００２と第１の通信ノード１００３との間で通信を実行させる。
【００８４】
ステップＳ７２０では、第２の通信ノード２００は、第１の通信ノード１００２と第１の通信ノード１００３との間で通信ができるか否かの判定結果を保存する。通信可否判定部２０２６は、通信可否判定結果格納部２０２８へ、第１の通信ノード１００２と第１の通信ノード１００３との間で通信ができるか否かの判定結果を格納する。
【００８５】
ステップＳ７２２では、第２の通信ノード２００は、ＪＢ４００１のスイッチの全てをオンにする。スイッチ選択信号作成部２０２４は、CAN_H1スイッチ４１８１をオンにするCAN_Hスイッチ選択信号を作成し、送信する。
【００８６】
ステップＳ７２４では、第２の通信ノード２００は、ＪＢ４００１のCAN_Haスイッチ４１４１をオフにする。スイッチ選択信号作成部２０２４は、CAN_Haスイッチ４１４１をオフにするCAN_Hスイッチ選択信号を作成し、送信する。
【００８７】
ステップＳ７２６では、第２の通信ノード２００は、第１の通信ノード１００２と第１の通信ノード１００３との間で通信を実行させる。通信可否判定部２０２６は、第１の通信ノード１００２と第１の通信ノード１００３との間で通信を実行させる。
【００８８】
ステップＳ７２８では、第２の通信ノード２００は、第１の通信ノード１００２と第１の通信ノード１００３との間で通信ができるか否かの判定結果を保存する。通信可否判定部２０２６は、通信可否判定結果格納部２０２８へ、第１の通信ノード１００２と第１の通信ノード１００３との間で通信ができるか否かの判定結果を格納する。
【００８９】
ステップＳ７３０では、第２の通信ノード２００は、故障箇所を判定する。異常判定部２０３０は、通信可否判定結果格納部２０２８に格納された第１の通信ノード１００１−１００３の通信が可能か否かの判定結果に基づいて、故障箇所を判定する。
【００９０】
図７に示されるフローチャートにおいて、ステップＳ７１０及びステップＳ７１２の処理は省略されてもよい。ステップＳ７１２により保存される通信可否の判定結果は、ステップＳ７０８と同じとなるためである。
【００９１】
図７に示される処理の順序は一例であり、この順序に限られず、異なる順序で動作してもよい。
【００９２】
図８は、ステップＳ７３０により故障箇所の判定が実行される際に参照される通信可否判定結果格納部２０２８に格納される判定結果の一実施例を示す。
【００９３】
図８には、通信可否の保存の実行毎に、通信ができた場合には「○」が記され、通信ができなかった場合には「×」が記される。
【００９４】
図８によれば、ステップＳ７０８、Ｓ７１２、Ｓ７２０及びＳ７２８の全ての場合に通信ができなかった場合には、異常判定部２０３０は、ＪＢ４００１を故障箇所と判定する。
【００９５】
ステップＳ７０８、Ｓ７１２及びＳ７２８のいずれの場合においても通信ができなかったが、ステップＳ７２０においては通信ができた場合には、異常判定部２０３０は、CAN_H1５１０又はＪＢ４００２、ＪＢ４００３を故障箇所と判定する。
【００９６】
ステップＳ７０８及びＳ７１２の場合に通信ができなかったが、ステップＳ７２０及びＳ７２８においては通信ができた場合には、異常判定部２０３０は、CAN_Ha５０２１を故障箇所と判定する。
【００９７】
ステップＳ７０８、Ｓ７１２、Ｓ７２０及びＳ７２８の全ての場合に通信ができた場合には、異常判定部２０３０は、故障なしと判定する。
【００９８】
ステップＳ７０８及びＳ７１２の場合に通信ができたが、ステップＳ７２０においては通信ができなかった場合には、異常判定部２０３０は、CAN_H0５０６を故障箇所と判定する。
【００９９】
ステップＳ７０８、Ｓ７１２、及びＳ７２０の場合に通信ができたが、ステップＳ７２８においては通信ができなかった場合には、異常判定部２０３０は、第１の通信ノード１００１を故障箇所と判定する。
【０１００】
＜ＪＢ４００２によるテスト＞
図９は、ＪＢ４００２によるテストの一実施例を示すフローチャートである。
【０１０１】
図９は、主に、図６を参照して説明した通信システムの動作の一実施例のステップＳ６０８の詳細を示す。
【０１０２】
ステップＳ９０２では、第２の通信ノード２００は、ＪＢ４００２のスイッチの全てをオンにする。スイッチ選択信号作成部２０２４は、CAN_Haスイッチ４１４１、４１４２、及び４１４３をそれぞれオンにするCAN_Hスイッチ選択信号を作成し、送信する。スイッチ選択信号作成部２０２４は、CAN_H0スイッチ４１６１、４１６２、及び４１６３をそれぞれオンにするCAN_Hスイッチ選択信号を作成し、送信する。スイッチ選択信号作成部２０２４は、CAN_H1スイッチ４１８１、及び４１８２をそれぞれオンにするCAN_Hスイッチ選択信号を作成し、送信する。
【０１０３】
ステップＳ９０４では、第２の通信ノード２００は、ＪＢ４００２のCAN_H0スイッチ４１６２をオフにする。スイッチ選択信号作成部２０２４は、CAN_H0スイッチ４１６２をオフにするCAN_Hスイッチ選択信号を作成し、送信する。
【０１０４】
ステップＳ９０６では、第２の通信ノード２００は、第１の通信ノード１００２と第１の通信ノード１００３との間で通信を実行させる。通信可否判定部２０２６は、第１の通信ノード１００２と第１の通信ノード１００３との間で通信を実行させる。第２の通信ノード２００は、CAN_H0スイッチ４１６２をオフにする前に、CAN_H0スイッチ４１６２がオフにされた後に、第１の通信ノード１００２と、第１の通信ノード１００３との間で通信を実行させるように予め通知するのが好ましい。CAN_H0スイッチ４１６２がオンにされた際に、第１の通信ノード１００２、及び１００３のいずれかの通信ノードから第２の通信ノード２００に通信できたか否かの判定結果が通知されるのが好ましい。
【０１０５】
ステップＳ９０８では、第２の通信ノード２００は、第１の通信ノード１００２と第１の通信ノード１００３との間で通信ができるか否かの判定結果を保存する。通信可否判定部２０２６は、通信可否判定結果格納部２０２８へ、第１の通信ノード１００２と第１の通信ノード１００３との間で通信ができるか否かの判定結果を格納する。
【０１０６】
ステップＳ９１０では、第２の通信ノード２００は、ＪＢ４００２のスイッチの全てをオンにする。スイッチ選択信号作成部２０２４は、CAN_H0スイッチ４１６２をオンにするCAN_Hスイッチ選択信号を作成し、送信する。
【０１０７】
ステップＳ９１２では、第２の通信ノード２００は、ＪＢ４００２のCAN_H1スイッチ４１８２をオフにする。スイッチ選択信号作成部２０２４は、CAN_H1スイッチ４１８２をオフにするCAN_Hスイッチ選択信号を作成し、送信する。
【０１０８】
ステップＳ９１４では、第２の通信ノード２００は、第１の通信ノード１００１と第１の通信ノード１００２との間で通信を実行させる。通信可否判定部２０２６は、第１の通信ノード１００１と第１の通信ノード１００２との間で通信を実行させる。
【０１０９】
ステップＳ９１６では、第２の通信ノード２００は、第１の通信ノード１００１と第１の通信ノード１００２との間で通信ができるか否かの判定結果を保存する。通信可否判定部２０２６は、通信可否判定結果格納部２０２８へ、第１の通信ノード１００１と第１の通信ノード１００２との間で通信ができるか否かの判定結果を格納する。
【０１１０】
ステップＳ９１８では、第２の通信ノード２００は、ＪＢ４００２のスイッチの全てをオンにする。スイッチ選択信号作成部２０２４は、CAN_H1スイッチ４１８２をオンにするCAN_Hスイッチ選択信号を作成し、送信する。
【０１１１】
ステップＳ９２０では、第２の通信ノード２００は、ＪＢ４００２のCAN_Haスイッチ４１４２をオフにする。スイッチ選択信号作成部２０２４は、CAN_Haスイッチ４１４２をオフにするCAN_Hスイッチ選択信号を作成し、送信する。
【０１１２】
ステップＳ９２２では、第２の通信ノード２００は、第１の通信ノード１００１と第１の通信ノード１００３との間で通信を実行させる。通信可否判定部２０２６は、第１の通信ノード１００１と第１の通信ノード１００３との間で通信を実行させる。
【０１１３】
ステップＳ９２４では、第２の通信ノード２００は、第１の通信ノード１００１と第１の通信ノード１００３との間で通信ができるか否かの判定結果を保存する。通信可否判定部２０２６は、通信可否判定結果格納部２０２８へ、第１の通信ノード１００１と第１の通信ノード１００３との間で通信ができるか否かの判定結果を格納する。
【０１１４】
ステップＳ９２６では、第２の通信ノード２００は、故障箇所を判定する。異常判定部２０３０は、通信可否判定結果格納部２０２８に格納された第１の通信ノード１００１−１００３の通信が可能か否かの判定結果に基づいて、故障箇所を判定する。
【０１１５】
図９に示される処理の順序は一例であり、この順序に限られず、異なる順序で動作してもよい。
【０１１６】
図１０は、ステップＳ９２６により故障箇所の判定が実行される際に参照される通信可否判定結果格納部２０２８に格納される判定結果の一実施例を示す。
【０１１７】
図１０には、通信可否の保存の実行毎に、通信ができた場合には「○」が記され、通信ができなかった場合には「×」が記される。
【０１１８】
図１０によれば、ステップＳ９０８、Ｓ９１６及びＳ９２４のいずれの場合においても通信ができなかった場合には、異常判定部２０３０は、第１の通信ノード１００２又はＪＢ４００１、ＪＢ４００３を故障箇所と判定する。
【０１１９】
ステップＳ９０８及びＳ９１６の場合には通信ができなかったが、ステップＳ９２４においては通信できた場合には、異常判定部２０３０は、CAN_Ha５０２２を故障箇所と判定する。
【０１２０】
ステップＳ９０８及びＳ９２４の場合には通信ができなかったが、ステップＳ９１６においては通信できた場合には、異常判定部２０３０は、CAN_H2５１４又はＪＢ４００３を故障箇所と判定する。
【０１２１】
ステップＳ９０８においては通信できたが、Ｓ９１６及びＳ９２４の場合には通信ができなかった場合には、異常判定部２０３０は、CAN_H1５１０を故障箇所と判定する。
【０１２２】
ステップＳ９０８、Ｓ９１６及びＳ９２４のいずれの場合においても通信ができた場合には、異常判定部２０３０は、故障箇所がないと判定する。
【０１２３】
＜ＪＢ４００３によるテスト＞
図１１は、ＪＢ４００３によるテストの一実施例を示すフローチャートである。
【０１２４】
図１１は、主に、図６を参照して説明した通信システムの動作の一実施例のステップＳ６１２の詳細を示す。
【０１２５】
ステップＳ１１０２では、第２の通信ノード２００は、ＪＢ４００３のスイッチの全てをオンにする。スイッチ選択信号作成部２０２４は、CAN_Haスイッチ４１４１、４１４２、及び４１４３をそれぞれオンにするCAN_Hスイッチ選択信号を作成し、送信する。スイッチ選択信号作成部２０２４は、CAN_H0スイッチ４１６１、４１６２、及び４１６３をそれぞれオンにするCAN_Hスイッチ選択信号を作成し、送信する。スイッチ選択信号作成部２０２４は、CAN_H1スイッチ４１８１、及び４１８２をそれぞれオンにするCAN_Hスイッチ選択信号を作成し、送信する。
【０１２６】
ステップＳ１１０４では、第２の通信ノード２００は、ＪＢ４００３のCAN_H0スイッチ４１６３をオフにする。スイッチ選択信号作成部２０２４は、CAN_H0スイッチ４１６３をオフにするCAN_Hスイッチ選択信号を作成し、送信する。
【０１２７】
ステップＳ１１０６では、第２の通信ノード２００は、第１の通信ノード１００１と第１の通信ノード１００３との間で通信を実行させる。通信可否判定部２０２６は、第１の通信ノード１００１と第１の通信ノード１００３との間で通信を実行させる。
【０１２８】
ステップＳ１１０８では、第２の通信ノード２００は、第１の通信ノード１００１と第１の通信ノード１００３との間で通信ができるか否かの判定結果を保存する。通信可否判定部２０２６は、通信可否判定結果格納部２０２８へ、第１の通信ノード１００１と第１の通信ノード１００３との間で通信ができるか否かの判定結果を格納する。
【０１２９】
ステップＳ１１１０では、第２の通信ノード２００は、ＪＢ４００３のスイッチの全てをオンにする。スイッチ選択信号作成部２０２４は、CAN_H0スイッチ４１６３をオンにするCAN_Hスイッチ選択信号を作成し、送信する。
【０１３０】
ステップＳ１１１２では、第２の通信ノード２００は、ＪＢ４００３のCAN_H1スイッチ４１８３をオフにする。スイッチ選択信号作成部２０２４は、CAN_H1スイッチ４１８３をオフにするCAN_Hスイッチ選択信号を作成し、送信する。
【０１３１】
ステップＳ１１１４では、第２の通信ノード２００は、第１の通信ノード１００１及び１００２と、第１の通信ノード１００３との間で通信を実行させる。通信可否判定部２０２６は、第１の通信ノード１００１及び１００２と、第１の通信ノード１００３との間で通信を実行させる。
【０１３２】
ステップＳ１１１６では、第２の通信ノード２００は、第１の通信ノード１００１及び１００２と、第１の通信ノード１００３との間で通信ができるか否かの判定結果を保存する。通信可否判定部２０２６は、通信可否判定結果格納部２０２８へ、第１の通信ノード１００１及び１００２と、第１の通信ノード１００３との間で通信ができるか否かの判定結果を格納する。
【０１３３】
ステップＳ１１１８では、第２の通信ノード２００は、ＪＢ４００３のスイッチの全てをオンにする。スイッチ選択信号作成部２０２４は、CAN_H1スイッチ４１８３をオンにするCAN_Hスイッチ選択信号を作成し、送信する。
【０１３４】
ステップＳ１１２０では、第２の通信ノード２００は、ＪＢ４００２のCAN_Haスイッチ４１４３をオフにする。スイッチ選択信号作成部２０２４は、CAN_Haスイッチ４１４３をオフにするCAN_Hスイッチ選択信号を作成し、送信する。
【０１３５】
ステップＳ１１２２では、第２の通信ノード２００は、第１の通信ノード１００１と第１の通信ノード１００２との間で通信を実行させる。通信可否判定部２０２６は、第１の通信ノード１００１と第１の通信ノード１００２との間で通信を実行させる。
【０１３６】
ステップＳ１１２４では、第２の通信ノード２００は、第１の通信ノード１００１と第１の通信ノード１００２との間で通信ができるか否かの判定結果を保存する。通信可否判定部２０２６は、通信可否判定結果格納部２０２８へ、第１の通信ノード１００１と第１の通信ノード１００２との間で通信ができるか否かの判定結果を格納する。
【０１３７】
ステップＳ１１２６では、第２の通信ノード２００は、故障箇所を判定する。異常判定部２０３０は、通信可否判定結果格納部２０２８に格納された第１の通信ノード１００１−１００３の通信が可能か否かの判定結果に基づいて、故障箇所を判定する。
【０１３８】
図１１に示される処理の順序は一例であり、この順序に限られず、異なる順序で動作してもよい。
【０１３９】
図１２は、ステップＳ１１２６により故障箇所の判定が実行される際に参照される通信可否判定結果格納部２０２８に格納される判定結果の一実施例を示す。
【０１４０】
図１２には、通信可否の保存の実行毎に、通信ができた場合には「○」が記され、通信ができなかった場合には「×」が記される。
【０１４１】
図１２によれば、ステップＳ１１０８、Ｓ１１１６及びＳ１１２４のいずれの場合においても通信ができなかった場合には、異常判定部２０３０は、ＪＢ４００２、及びＪＢ４００３のいずれかが故障しているか判定する。または、異常判定部２０３０は、故障がないと判定するようにしてもよい。どちらにするかは、予め設定されてもよい。
【０１４２】
ステップＳ１１０８及びＳ１１１６の場合には通信ができなかったが、ステップＳ１１２４においては通信できた場合には、異常判定部２０３０は、CAN_Ha５０２３を故障箇所と判定する。
【０１４３】
ステップＳ１１０８及びＳ１１２４の場合には通信ができなかったが、ステップＳ１１１６においては通信できた場合には、異常判定部２０３０は、CAN_H3５１６を故障箇所と判定する。
【０１４４】
ステップＳ１１０８の場合においては通信ができたが、ステップＳ１１１６及びＳ１１２４の場合には通信ができなかった場合には、異常判定部２０３０は、第１の通信ノード１００３を故障箇所と判定する。
【０１４５】
ステップＳ１１０８及びＳ１１２４の場合には通信ができたが、ステップＳ１１１６の場合には通信ができなかった場合には、異常判定部２０３０は、CAN_Ha５０２３を故障箇所と判定する。
【０１４６】
ステップＳ１１０８、Ｓ１１１６及びＳ１１２４の全ての場合に通信ができた場合には、異常判定部２０３０は、故障箇所がないと判定する。
【０１４７】
＜通信システムの動作（その２）＞
図５を参照して、通信システムの動作の一実施例（その２）について説明する。
【０１４８】
通信システムは、診断対象とする通信ノードに接続されるＪＢに含まれるスイッチをオンとし、検査の対象でない通信ノードに接続されるＪＢに含まれるスイッチをオフとする。
【０１４９】
通信可否判定部２０２６は、テストモードへ遷移した場合、CAN_Haスイッチ４１４１、CAN_H0スイッチ４１６１、及びCAN_H1スイッチ４１８１のいずれか１つをオフにし、他をオンにする。この状態で、通信ノード１００２と通信ノード１００３との間で通信を実行させる。
【０１５０】
通信ノード１００２と通信ノード１００３との間で通信ができない場合には、以下の処理を実行する。
【０１５１】
（１）通信可否判定部２０２６は、CAN_H0スイッチ４１６２をオフにし、この状態で、通信ノード１００２と通信ノード１００３との間で通信を実行させる。通信ノード１００２と通信ノード１００３との間で通信が可能である場合、通信可否判定部２０２６は、CAN_H1５１０を故障箇所と判定する。
【０１５２】
（２）通信可否判定部２０２６は、CAN_H1スイッチ４１８３をオフにし、この状態で、通信ノード１００２と通信ノード１００３との間で通信を実行させる。通信ノード１００２と通信ノード１００３との間で通信が可能である場合、通信可否判定部２０２６は、CAN_H3５１６を故障箇所と判定する。
【０１５３】
（１）、（２）の両方の場合で、通信ノード１００２と通信ノード１００３との間で通信が不可能である場合、通信可否判定部２０２６は、CAN_Ha５０２２−ＪＢ４００２−CAN_H2５１４−ＪＢ４００３−CAN_Ha５０２３のパスを故障箇所であると判定する。
【０１５４】
次に、通信可否判定部２０２６は、CAN_H1スイッチ４１８２をオフにし、この状態で、通信ノード１００１と通信ノード１００２との間で通信を実行させる。
【０１５５】
このように、接続する通信ノードを限定して通信を行わせることにより故障箇所を特定する。
【０１５６】
必要に応じて検査の対象とする通信ノードを切り替えることにより、全ての通信ノードを診断できる。通信システムの動作（その１）と比較して、診断の回数を低減できるため、診断に要する時間を短縮できる。
【０１５７】
＜変形例＞
図１３は、ジャンクションボックス４００の一変形例を示す。
【０１５８】
ジャンクションボックス４００の一変形例は、図４を参照して説明したジャンクションボックスにスイッチ選択回路４３０を備えたものである。
【０１５９】
スイッチ選択回路４３０は、CAN_Haスイッチ４１４、CAN_H0スイッチ４１６、及びCAN_H1スイッチ４１８を制御する。スイッチ選択回路４３０は、CAN_Haスイッチ４１４、CAN_H0スイッチ４１６、及びCAN_H1スイッチ４１８をオン又はオフさせる。
【０１６０】
スイッチ選択回路４３０は、CAN_Laスイッチ４２０、CAN_L0スイッチ４２２、及びCAN_L1スイッチ４２４を制御する。スイッチ選択回路４３０は、CAN_Laスイッチ４２０、CAN_L0スイッチ４２２、及びCAN_L1スイッチ４２４をオン又はオフさせる。
【０１６１】
スイッチ選択回路４３０は、通信システムが通常の状態で動作している場合、CAN_Haスイッチ４１４、CAN_H0スイッチ４１６、CAN_H1スイッチ４１８、CAN_Laスイッチ４２０、CAN_L0スイッチ４２２、及びCAN_L1スイッチ４２４をオンにする。
【０１６２】
スイッチ選択回路４３０は、通信システムがテストモードである場合には、CAN_Haスイッチ４１４、CAN_H0スイッチ４１６、及びCAN_H1スイッチ４１８のオンオフを切り替えるとともに、CAN_Laスイッチ４２０、CAN_L0スイッチ４２２、及びCAN_L1スイッチ４２４のオンオフを切り替える。CAN_Haスイッチ４１４、CAN_H0スイッチ４１６、及びCAN_H1スイッチ４１８のオンオフの切り替えと、CAN_Laスイッチ４２０、CAN_L0スイッチ４２２、及びCAN_L1スイッチ４２４のオンオフの切り替えは連動させることが好ましい。つまり、CAN_Haスイッチ４１４のオンオフとCAN_Laスイッチ４２０のオンオフは連動し、CAN_H0スイッチ４１６のオンオフとCAN_L0スイッチ４２２のオンオフは連動し、CAN_H1スイッチ４１８のオンオフとCAN_L1スイッチ４２４のオンオフは連動するのが好ましい。
【０１６３】
テストモードでは、例えば、CAN_H0５０６からCAN_Ha５０２のパスを検査する場合、第２の通信ノード２００は、CAN_H1スイッチ４１８をオフとし、他のスイッチ、つまりCAN_Haスイッチ４１４、CAN_H0スイッチ４１６をオンにする。さらに、第２の通信ノード２００は、CAN_L1スイッチ４２４をオフとし、CAN_Laスイッチ４２０、CAN_L0スイッチ４２２をオフとする。この状態で、第２の通信ノード２００は、第１の通信ノード１００へ、所定の信号を送信する。第２の通信ノード２００は、第１の通信ノード１００から応答信号を受信したか否かに基づいて、CAN_H0５０６からCAN_Ha５０２のパスは正常であるか否かを判定すると同時に、CAN_L0５０８からCAN_La５０４のパスは正常であるか否かを判定する。テストモードで、スイッチを切り替える順序などは、予め設定されるのが好ましい。スイッチ選択回路４３０は、予め設定されるスイッチを切り替える順序に従って、スイッチを切り替える制御を実行する。
【０１６４】
また、テストモードで、CAN_H1５１０が異常であると判定した場合、第２の通信ノード２００は、CAN_H1スイッチ４１８とCAN_L1スイッチ４２４をオフにする。CAN_H1スイッチ４１８とCAN_L1スイッチ４２４がオフにされる場合、CAN_H1スイッチ４１８に接続されるCAN_H0とCAN_L1スイッチ４２４に接続されるCAN_L0との間で終端抵抗が接続される。例えば、CAN_H1スイッチ４１８に接続されるCAN_H0とCAN_L1スイッチ４２４に接続されるCAN_L0との間に抵抗とスイッチとが直列接続され、CAN_H1スイッチ４１８とCAN_L1スイッチ４２４がオフにされるとともに、該スイッチがオンにされてもよい。このようにすることにより、CAN_H1５１０とCAN_L1５１２とを通信システムから切り離すことができる。CAN_H1５１０とCAN_L1５１２とを通信システムから切り離すことにより、CAN_H0５０６、及びCAN_L0５０８を通じて、CAN_Ha５０２、及びCAN_La５０４と接続される第１の通信ノード１００との間の通信を継続することができる。
【０１６５】
通信システムの一変形例によれば、ＪＢへ該ＪＢの外部からスイッチ選択信号を供給することなく、ＪＢに含まれるスイッチを切り替えることができる。また、ＪＢへスイッチ選択信号を供給する配線をなくすことができる。
【０１６６】
＜テストモードへ遷移するタイミング＞
通信システムは、起動された際にテストモードに遷移するようにしてもよい。起動された際にテストモードへ遷移することにより、ユーザが車で出かける前に故障を検出することができる。ユーザが車で出かける前に故障を検出できるため、車の安全性を向上させることができる。
【０１６７】
また、通信システムは、アイドルモードである場合に、テストモードへ遷移するようにしてもよい。具体的には、通信ノードの負荷がある所定の閾値よりも低い場合、CANバスのトラヒックがある所定の閾値よりも低い場合に、テストモードへ遷移するようにしてもよい。例えば、赤信号で車両が停止している場合には、エンジン処理がほぼ定常であるとともに、通信ノードの処理量が低いと想定される。この場合、CPUのアイドル時間、つまり処理未実行時間を使用して、診断を実行するようにしてもよい。アイドル時間を使用して診断を実行することにより、アプリケーションが実行されることによる動作への影響を低減できる。アプリケーションが実行されることによる動作への影響を低減できるため、診断のために特別にリソースを割り当てることなく実行できる。診断のために特別にリソースを割り当てることなく実行できるため、コストの増加も抑えられる。
【０１６８】
また、通信システムは、定期的にテストモードへ遷移するようにしてもよい。具体的には、定期的にテストモードへ遷移し、診断を行うようにしてもよい。定期的に診断を行うことができるため、通信システムの安全性、信頼性を向上させることができる。
【０１６９】
また、通信システムは、ASIL(Automotive Safety Integrity Level)データを送信する際にテストモードへ遷移するようにしてもよい。具体的には、ASILが割り当てられたデータに対して、送信前及び送信後、若しくは送信前又は送信後にテストモードへ遷移するようにしてもよい。ASILが割り当てられたデータの送信前及び送信後、若しくは送信前又は送信後にテストモードへ遷移することにより機能安全上の説明性を担保でき、安全関連のデータを保証できる。つまり、安全性を向上させることができる。
【０１７０】
図１４は、通信システムの動作の一実施例を示す。図１４には、ASILデータを送信する際にテストモードへ遷移する場合の処理を示す。
【０１７１】
ステップＳ１４０２では、第２の通信ノード２００は、ASILデータであるか否かを判定する。ASILデータでないと判定した場合、ステップＳ１４０２へ戻る。
【０１７２】
ステップＳ１４０４では、通信システムはテストモードに遷移し、診断（検査）を実行する。
【０１７３】
ステップＳ１４０６では、第２の通信ノード２００は、故障があるか否かを判定する。
【０１７４】
ステップＳ１４０８では、ステップＳ１４０６で故障があると判定された場合、第２の通信ノード２００は、ASILデータを送受信する通信ノード間での故障であるか否かを判定する。
【０１７５】
ステップＳ１４１０では、ステップＳ１４０８でASILデータを送受信する通信ノード間での故障でないと判定された場合、第２の通信ノード２００は、ASILデータを送受信する通信ノード以外の通信ノードへ接続するＪＢ内のスイッチをオフにする。例えば、CAN_Haスイッチ４１４、CAN_Laスイッチ４２０をオフにする。
【０１７６】
ステップＳ１４１２では、配線故障があることをアラームにより通知する。
【０１７７】
ステップＳ１４１４では、ステップＳ１４０６で故障がないと判定された場合又はステップＳ１４１２で配線故障があることをアラームにより通知した後、通信システムは、データ送信を実行する。
【０１７８】
ステップＳ１４１６では、ステップＳ１４０８でASILデータを送受信する通信ノード間での故障であると判定した場合、通信システムは、フェールセーフ処理を実行する。
【０１７９】
ステップＳ１４１８では、通信システムは、エラーを通知する。
【０１８０】
図１４に示される処理の順序は一例であり、この順序に限られず、異なる順序で動作してもよい。
【０１８１】
また、通信システムは、通信回数に基づいて、テストモードへ遷移するようにしてもよい。具体的には、通信回数が予め設定された閾値以上となった場合に、テストモードに遷移するようにしてもよい。
【０１８２】
＜故障復旧処理（その１）＞
図１５は、通信システムの故障復旧処理の一実施例（その１）を示す。
【０１８３】
図１５は、図５を参照して説明した通信システムにおいて、第１の通信ノード１００１−第１の通信ノード１００４と、ＪＢ４００１−ＪＢ４００４について示したものである。
【０１８４】
通信システムに故障が発見され、特定された場合に、その故障箇所を排除し、動作を継続できることが好ましい。例えば、同一の通信線を分岐する分岐部に支線が接続される。該支線に第１の通信ノードが接続される。図１５に示される例では、第１の通信ノード１００１、１００２、１００３、及び１００４が、それぞれＪＢ４００１、４００２、４００３、及び４００４を介して接続される。
【０１８５】
ＪＢ４００３とＪＢ４００４とを接続する通信線５００に故障が発生した場合、通信ノード１００４が、バックモニタやクルーズ制御の機能を有する場合には、該通信ノード１００４が機能しなくても運転には支障がないと想定される。
【０１８６】
図１５に示される通信システムにおいて、例えば、CAN_H3５１６、CAN_L3５１7がショートした場合、第２の通信ノード２００は、CAN_H1スイッチ４１８３をオフするCAN_Hスイッチ選択信号と、CAN_L1スイッチ４２４３をオフするCAN_Lスイッチ選択信号を作成し、送信する。
【０１８７】
ＪＢ４００３は、CAN_Hスイッチ選択信号によりCAN_H1スイッチ４１８３がオフにされ、CAN_Lスイッチ選択信号によりCAN_L1スイッチ４２４３がオフにされる。CAN_H1スイッチ４１８３及びCAN_L1スイッチ４２４３がオフにされることにより、通信ノード１００４を通信ノード１００３から切り離すことができる。
【０１８８】
通信ノード１００４を通信ノード１００３から切り離すことにより、通信ノード１００１−通信ノード１００３間の通信を継続できる。
【０１８９】
通信ノードの有する機能に応じて、故障が生じた通信ノード以外の通信ノード間で通信を継続するか否かを判定するのが好ましい。故障が生じた通信ノード以外の通信ノード間で通信を継続することができる場合には、該故障が生じた通信ノードを通信システムから切り離し、通信を継続する。故障が生じた通信ノード以外の通信ノード間で通信を継続することができない場合には、所定の処理を行う。このようにすることにより、ユーザの利便性を向上させることができるとともに、安全性を向上させることができる。
【０１９０】
＜故障復旧処理（その２）＞
図１６は、通信システムの故障復旧処理の一実施例（その２）を示す。
【０１９１】
図１６に示される通信システムの故障復旧処理（その２）では、故障箇所を分離し、かつ他のCANバスにより通信を継続できるようにしたものである。
【０１９２】
図１６は、図４を参照して説明したジャンクションボックスに、CAN1_H0コネクタ４０６１と、CAN1_L0コネクタ４０８１と、CAN1_H1コネクタ４１０１と、CAN1_L1コネクタ４１２１とを有する。さらに、ジャンクションボックス４００は、CAN1_Haスイッチ４１４１と、CAN1_H0スイッチ４１６１と、CAN1_H1スイッチ４１８１とを有する。CAN1_Haスイッチ４１４１とCAN1_H0スイッチ４１６１とCAN1_H1スイッチ４１８１は、その一端が互いに接続される。さらに、ジャンクションボックス４００は、CAN1_Laスイッチ４２０１と、CAN1_L0スイッチ４２２１と、CAN1_L1スイッチ４２４１とを有する。CAN1_Laスイッチ４２０１とCAN1_L0スイッチ４２２１とCAN1_L1スイッチ４２４１は、その一端が互いに接続される。
【０１９３】
CAN1_H0コネクタ４０６１は、CAN1_H0５０６１とCAN1_H0スイッチ４１６１の他端とを接続する。CAN1_L0コネクタ４０８１は、CAN1_L0５０８１とCAN1_L0スイッチ４２２１の他端とを接続する。CAN1_H1コネクタ４１０１は、CAN1_H1５１０１とCAN1_H1スイッチ４１８１の他端とを接続する。CAN1_L1コネクタ４１２１は、CAN1_L1５１２１とCAN1_L1スイッチ４２４１の他端とを接続する。
【０１９４】
CAN1_Haスイッチ４１４１、CAN1_H0スイッチ４１６１、及びCAN1_H1スイッチ４１８１は、CAN1_Hスイッチ選択信号により制御される。CAN1_Hスイッチ選択信号は、CAN1_Haスイッチ４１４１、CAN1_H0スイッチ４１６１、及びCAN1_H1スイッチ４１８１をオン又はオフさせる制御信号であるのが好ましい。CAN1_Hスイッチ選択信号は、スイッチ毎に設けられ、第２の通信ノード２００から送信されるのか好ましい。
【０１９５】
CAN1_Laスイッチ４２０１、CAN1_L0スイッチ４２２１、及びCAN1_L1スイッチ４２４１は、CAN1_Lスイッチ選択信号により制御される。CAN1_Lスイッチ選択信号は、CAN1_Laスイッチ４２０１、CAN1_L0スイッチ４２２１、及びCAN1_L1スイッチ４２４１をオン又はオフさせる制御信号であるのが好ましい。CAN1_Lスイッチ選択信号は、第２の通信ノード２００から送信されるのか好ましい。
【０１９６】
通信システムが通常の状態で動作している場合、CAN_Haスイッチ４１４、CAN_H0スイッチ４１６、CAN_H1スイッチ４１８、CAN_Laスイッチ４２０、CAN_L0スイッチ４２２、及びCAN_L1スイッチ４２４はオンである。
【０１９７】
また、通信システムが通常の状態で動作している場合、CAN1_Haスイッチ４１４１、CAN1_H0スイッチ４１６１、CAN1_H1スイッチ４１８１、CAN1_Laスイッチ４２０１、CAN1_L0スイッチ４２２１、及びCAN1_L1スイッチ４２４１はオフである。また、通信システムが通常の状態で動作している場合、CAN1_Haスイッチ４１４１がオフであれば、CAN1_H0スイッチ４１６１、CAN1_H1スイッチ４１８１はオンであってもよいし、オフであってもよい。また、通信システムが通常の状態で動作している場合、CAN1_Laスイッチ４２０１がオフであれば、CAN1_L0スイッチ４２２１、及びCAN1_L1スイッチ４２４１はオンであってもよいし、オフであってもよい。
【０１９８】
CAN_H0スイッチ４１６とCAN_H1スイッチ４１８との間でオープン故障が発生した場合、CAN_Haスイッチ４１４をオフにし、CAN1_Haスイッチ４１４１、CAN1_H0スイッチ４１６１、CAN1_H1スイッチ４１８１をオンにする。CAN_Haスイッチ４１４をオフにし、CAN1_Haスイッチ４１４１、CAN1_H0スイッチ４１６１、CAN1_H1スイッチ４１８１をオンにすることにより、CANバス(CAN_H0５０６−CAN_H1５１０)の代わりにCAN1バス(CAN1_H0５０６１−CAN1_H1５１０１)へ接続する。CAN１バスは、ダミーとして用意された未使用のCANバスであってもよい。また、CAN１バスは、通常使用しているCANバスであってもよい。CAN1バスを通常使用しているCANバスとする場合には、故障復旧用のIDを付与するのが好ましい。また、CAN1バスを通常使用しているCANバスとする場合には、保護するデータ用のIDを予め与えるようにしてもよい。
【０１９９】
故障箇所を分離し、かつ他のCANバスにより通信を継続できるようにすることにより、故障が発生した場合でも処理の継続が可能となり、安全性を向上させることができる。また、フェイルオペラブルを達成できる。
【０２００】
図１７は、通信システムの一実施例を示す。
【０２０１】
図１７に示される通信システムでは、図５に示される通信システムにおいて、第１の通信ノード１００１−第１の通信ノード１００２と、ジャンクションボックス４００１−４００２について示す。ただし、ジャンクションボックス４００１及び４００２は、図１６を参照して説明したものを使用する。図１７では、説明の便宜のため、CAN_Lに関する部分は省略される。
【０２０２】
通信システムが通常の状態で動作している場合、CAN_Haスイッチ４１４１と、CAN_H0スイッチ４１６１と、CAN_H1スイッチ４１８１がオンにされるとともに、CAN1_Haスイッチ４１４１１がオフにされる。また、通信システムが通常の状態で動作している場合、CAN_Haスイッチ４１４２と、CAN_H0スイッチ４１６２と、CAN_H1スイッチ４１８２がオンにされるとともに、CAN1_Haスイッチ４１４１２がオフにされる。
【０２０３】
通信システムがテストモードに遷移した場合、CAN_Haスイッチ４１４１と、CAN_H1スイッチ４１８１と、CAN_Haスイッチ４１４２と、CAN_H1スイッチ４１８２をオフにし、通信を行う。また、通信システムがテストモードに遷移した場合、CAN1_Haスイッチ４１４１１と、CAN1_H1スイッチ４１８１１と、CAN1_Haスイッチ４１４１２と、CAN1_H1スイッチ４１８１２をオンにし、通信を行う。
【０２０４】
通常の状態で動作している場合の通信結果と、テストモードに遷移した場合の通信結果とを比較する。
【０２０５】
＜故障復旧処理（その３）＞
図１８は、通信システムの故障復旧処理の一実施例（その３）を示す。
【０２０６】
図１８に示される通信システムの故障復旧処理の一実施例（その３）では、故障箇所を分離し、かつ他の通信機能により通信を継続できるようにしたものである。
【０２０７】
故障が発生した場合には、最初に故障復旧処理（その１）、故障復旧処理（その２）により復旧を試み、復旧不可能な場合には、以下に示す故障復旧処理（その３）に示すように他の通信機能で復旧を試みるのが好ましい。
【０２０８】
故障復旧処理（その３）では、シリアル通信により復旧を試みる場合について説明するが、シリアル通信以外の通信により復旧を試みるようにしてもよい。
【０２０９】
図１８に示される通信システムでは、図５に示される通信システムにおいて、第１の通信ノード１００１−第１の通信ノード１００２と、ジャンクションボックス４００１−４００２について示す。
【０２１０】
第１の通信ノード１００１のマイクロコントローラユニット１０２１は、CAN通信部１０２１１と、シリアル通信部１０２２１と、ＣＰＵ１０２３１と、タイマ１０２４１とを有する。
【０２１１】
第１の通信ノード１００２のマイクロコントローラユニット１０２２は、CAN通信部１０２１２と、シリアル通信部１０２２２と、ＣＰＵ１０２３２と、タイマ１０２４２とを有する。
【０２１２】
第１の通信ノード１００１と第１の通信ノード１００２との間は、同期式シリアル通信を所定の周期で行っているのが好ましい。
【０２１３】
シリアル通信では、既定情報の通信が行われる場合が多い。このため、送受信するデータの種類を特定するアドレス情報等の情報を送信する信号線は用意されていないことが多い。
【０２１４】
図１９は、第１の通信ノード１００１と第１の通信ノード１００２との間で行われる定期通信の一例を示すタイムチャートである。第１の通信ノード１００１と第２の通信ノード１００２との間で行われる通信には、シリアル通信が含まれる。
【０２１５】
第１の通信ノード１００２のＣＰＵ１０２３２からのタイマ開始指令をトリガーとして、タイマ１０２４２はカウントアップを行う。タイマ１０２４２によるカウントアップにしたがって、第１の通信ノード１００２のシリアル通信部１０２２２と、第１の通信ノード１００１のシリアル通信部１０２２１との間でシリアル通信が行われる。
【０２１６】
図１９に示される例によれば、シリアル通信部１０２２２とシリアル通信部１０２２１との間で通信が行われていない空いた時間が存在する。この空いた時間では、データの送受信がないため、定期通信であるか否かを判別できれば、情報の種類を特定するアドレスがなくても判別が可能となる。
【０２１７】
そこで、通信システムの故障復旧処理の一実施例（その３）では、第１の通信ノード１００２のマイクロコントローラユニット１０２２から周期的にデータを送信し、該データに対して第１の通信ノード１００１のマイクロコントローラユニット１０２１へ通信を発生させる。第１の通信ノード１００１のマイクロコントローラユニット１０２１から周期的に送信し、該送信に対して第１の通信ノード１００２のマイクロコントローラユニット１０２２から通信を発生させるようにしてもよい。
【０２１８】
周期的に送信するタイミングは、タイマ１０２４２のカウントアップに基づいて制御されるのが好ましい。つまり、第１の通信ノード１００２側で周期的に送信するタイミングが把握されることが多い。この場合、第１の通信ノード１００１と第１の通信ノード１００２との間で同期していない場合には、第１の通信ノード１００１は、受信したデータが定期送信であるか否かの判定はできない。
【０２１９】
図２０は、第１の通信ノード１００１と第１の通信ノード１００２との間で行われる定期通信の一実施例を示すタイムチャートである。
【０２２０】
マイクロコントローラユニット１０２１は、マイクロコントローラユニット１０２２からのデータへの応答を行うとともに、タイマ２０２４１を起動する。マイクロコントローラユニット１０２１は、第１の通信ノード１００２からデータを受信するまでの時間を計測する。マイクロコントローラユニット１０２１は、タイマ２０２４１を起動してから第１の通信ノード１００２からデータを受信するまでの時間の間に送信したデータは周期処理のデータではないと判定する。
【０２２１】
第１の通信ノード１００１のCAN通信に関する部分に故障が発生した場合、マイクロコントローラユニット１０２１は、タイマ２０２４１を起動してから第１の通信ノード１００２からデータを受信するまでの時間の間で、第１の通信ノード１００２との間でシリアル通信を行う。第１の通信ノード１００１と第１の通信ノード１００２との間でシリアル通信を行うことにより、故障復旧処理を行う。
【０２２２】
シリアル通信によりデータの送受信を行う場合には、CAN通信用のデータをシリアル通信部１０２２１へ入力することにより実行される。
【０２２３】
上述した実施例、変形例において、第１の通信ノード１００１−第１の通信ノード１００ｎのいずれかによりテストモードの制御が実行されてもよい。つまり、シングルマスタ方式や、マルチマスタ方式が適用されるのが好ましい。この場合、テストモードを制御する第１の通信ノード１００のマイクロコントローラユニットは、図３を参照して説明した機能ブロック図により表される機能を実行する。テストモードの制御を実行する第１の通信ノードは、他の通信ノードに、故障診断状態が開始されることを通知する。故障診断状態が開始されることと通知することにより、他の通信ノードにその後送信されるデータが実データでないことを通知できる。
【０２２４】
図２１は、通信システムの動作の一実施例を示す。マルチマスタ方式が適用される場合には、ＪＢに入力されるスイッチ選択信号が、論理ＯＲ回路や、マルチプレクサなどで切り替えられるのが好ましい。
【０２２５】
第１の通信ノード１００１−第１の通信ノード１００ｎのいずれかがテストモードエントリ信号を発信する。つまり、テストモード制御部２０２２は、テストモードエントリ信号を発信する制御を実行する。
【０２２６】
テストモードエントリ信号を受信した通信ノードは、テストモードへエントリする。ここでは、第１の通信ノード１００１からテストモードエントリ信号が発信され、第１の通信ノード１００２及び１００３はテストモードへエントリする（（１））。テストモードエントリ信号は、該テストモードエントリ信号を送信する第１の通信ノードのＩＤであるのが好ましいが、ＩＤ以外であってもよい。
【０２２７】
第１の通信ノード１００１は、第１の通信ノード１００２及び１００３に、順次指示することによりテストを実行する（（２）−（４））。スタンドアローンで実施できるテストは、各通信ノードの管理下により実行されるのが好ましい。例えば、第１の通信ノード１００１は、自第１の通信ノード１００１のテストを実行する（（２））。第１の通信ノード１００２は、第１の通信ノード１００２のテストを実行する（（３））。第１の通信ノード１００３は、第１の通信ノード１００３のテストを実行する（（４））。
【０２２８】
第１の通信ノード１００１は、第１の通信ノード１００２との間で通信試験を実行する（（５））。
【０２２９】
全ての検査が終了し、故障箇所が発見されなかった場合には、通常処理へ遷移する。例えば、第１の通信ノード１００１は、テストモード終了信号（テストモードイクジット）を発行するのが好ましい。つまり、テストモード制御部２０２２は、テストモード終了信号を発信する制御を実行する。テストモード終了信号を発信する制御を実行した後、第１の通信ノード１００１は、通常の状態へ遷移する。第１の通信ノード１００１からのテストモード終了信号は、第１の通信ノード１００２の及び１００３に受信される。第１の通信ノード１００２の及び１００３は、テストモード終了信号を受信すると通常の状態へ遷移する。
【０２３０】
全ての検査が終了し、故障箇所が発見された場合には、上述したような故障復旧処理を行う。
【０２３１】
通信システムの一実施例によれば、通信ノード間の経路における故障箇所を検査することにより特定できるとともに、故障箇所を分離することができる。具体的には、通信ノードと接続されるジャンクションボックス毎に、該ジャンクションボックスに含まれる配線を検査する。通信ノードと接続されるジャンクションボックスに含まれる配線を検査することにより、該通信ノードの支線を個別に検査できる。通信ノードの支線を個別に検査できることにより分岐線のどちらに異常が発生しているかを診断できる。
【０２３２】
故障箇所をジャンクションボックスで分離し、正常箇所で通信を継続することにより故障復旧処理を行う。故障箇所を分離し、正常箇所へ経路を切り替えて通信を継続することにより故障復旧処理を行うようにしてもよい。通信ノード間の経路に故障が発生した場合でも、該経路の少なくとも一部の経路により通信を継続できる。
【０２３３】
以上、本発明は特定の実施例及び変形例を参照しながら説明されてきたが、各実施例及び変形例は単なる例示に過ぎず、当業者は様々な変形例、修正例、代替例、置換例等を理解するであろう。また、各実施例、変形例が必要に応じて組み合わされてもよい。説明の便宜上、本発明の実施例に従った装置は機能的なブロック図を用いて説明されたが、そのような装置はハードウエアで、ソフトウエアで又はそれらの組み合わせで実現されてもよい。本発明は上記実施例に限定されず、本発明の精神から逸脱することなく、様々な変形例、修正例、代替例、置換例等が包含される。
【符号の説明】
【０２３４】
１００１−１００ｎ（ｎは、ｎ＞１の整数）  第１の通信ノード
１０２  マイクロコントローラユニット
１０４  通信装置
１０６  トランシーバ
２００  第２の通信ノード
２０２  マイクロコントローラユニット
２０４  通信装置
２０６  トランシーバ
２０８  終端回路
３００  終端回路
４００  ジャンクションボックス
２０２２  テストモード制御部
２０２４  スイッチ選択信号作成部
２０２６  通信可否判定部
２０２８  通信可否判定結果格納部
２０３０  異常判定部
【図１】
2014187542.tif 000003
【図２】
2014187542.tif 000004
【図３】
2014187542.tif 000005
【図４】
2014187542.tif 000006
【図５】
2014187542.tif 000007
【図６】
2014187542.tif 000008
【図７】
2014187542.tif 000009
【図８】
2014187542.tif 000010
【図９】
2014187542.tif 000011
【図１０】
2014187542.tif 000012
【図１１】
2014187542.tif 000013
【図１２】
2014187542.tif 000014
【図１３】
2014187542.tif 000015
【図１４】
2014187542.tif 000016
【図１５】
2014187542.tif 000017
【図１６】
2014187542.tif 000018
【図１７】
2014187542.tif 000019
【図１８】
2014187542.tif 000020
【図１９】
2014187542.tif 000021
【図２０】
2014187542.tif 000022
【図２１】
2014187542.tif 000023