(57)【要約】【課題】通信ノードのメッセージに関する記憶容量を低減すること。【解決手段】通信バスを介して接続される複数の通信ノードを有する通信システムは、通信ノードの動作を確認する動作確認メッセージと第１のIDとを含む第１のデータフレームを作成し、第１のデータフレームと第２のIDとを含む第２のデータフレームを作成し、該第２のデータフレームを通信バスへ送信する第１の通信ノードと、第１の通信ノードからの第２のデータフレームに含まれる第２のIDに基づいて、第２の通信ノード宛であるか否かを判定し、第２のデータフレームが第２の通信ノード宛であると判定した場合、該第２のデータフレームに対する応答信号を作成し、第１の通信ノードへ応答信号を送信する制御を実行する第２の通信ノードとを有する。【選択図】図４
2014187544.tif 000002
【特許請求の範囲】
【請求項１】
通信バスを介して接続された複数の通信ノードを有する通信システムであって、
前記複数の通信ノードのうちの第１の通信ノードは、
通信ノードの動作を確認する動作確認メッセージと第１のIDとを含む第１のデータフレームを作成する第１の演算処理部と、
前記第１のデータフレームと第２のIDとを含む第２のデータフレームを作成し、該第２のデータフレームを前記通信バスへ送信する第１の通信制御部と
を有し、
前記第１の通信ノード以外の第２の通信ノードは、
前記第１の通信ノードからの第２のデータフレームに含まれる第２のIDに基づいて、前記第２の通信ノード宛であるか否かを判定する第２の通信制御部と、
前記第２の通信制御部により前記第２のデータフレームが前記第２の通信ノード宛であると判定した場合、該第２のデータフレームに対する応答信号を作成する第２の演算処理部と
を有し、
前記第２の通信制御部は、前記第１の通信ノードへ前記応答信号を送信する制御を実行する、通信システム。
【請求項２】
前記第２の通信制御部は、前記第２のデータフレームが前記第２の通信ノード宛であると判定した場合、前記第２のデータフレームを前記第１のデータフレームに変換し、該第１のデータフレームと第３のIDとを含む第３のデータフレームを作成し、該第３のデータフレームを前記通信バスへ送信する、請求項１に記載の通信システム。
【請求項３】
前記第３のIDは、前記動作確認メッセージを送信する順序に従って設定される、請求項１又は２に記載の通信システム。
【請求項４】
前記第２の演算処理部は、前記第２の通信制御部により変換された第１のデータフレームに基づいて、前記第２の通信ノードの状態を制御する、請求項１ないし３のいずれか１項に記載の通信システム。
【請求項５】
前記第２の演算処理部は、前記第２の通信制御部により変換された第１のデータフレームに含まれる動作確認メッセージに基づいて、前記第２の通信ノードをウエイクアップさせる、請求項４に記載の通信システム。
【請求項６】
前記第２の通信ノードは、
前記第２の通信ノードが受信する動作確認メッセージを格納するデータベース
を有し、
前記第２の演算処理部は、前記データベースに格納された動作確認メッセージに基づいて、前記第２の通信制御部による変換された第１のデータフレームに動作確認メッセージが含まれるか否かを判定する請求項１ないし５のいずれか１項に記載の通信システム。
【請求項７】
通信バスを介して接続される複数の通信ノードのうちの１の通信ノードであって、
通信ノードの動作を確認する動作確認メッセージと第１のIDとを含む第１のデータフレームを作成する演算処理部と、
前記第１のデータフレームと第２のIDとを含む第２のデータフレームを作成し、該第２のデータフレームを前記通信バスへ送信する通信制御部と
を有し、
前記第２のIDにより、前記動作確認メッセージを送受信する順序が指定される、通信ノード。
【請求項８】
通信バスを介して接続される複数の通信ノードのうちの第１の通信ノードからのデータを受信する通信ノードであって、
前記第１の通信ノードにより、通信ノードの動作を確認する動作確認メッセージと第１のIDとを含む第１のデータフレームが作成され、前記第１のデータフレームと第２のIDとを含む第２のデータフレームが作成され、該第２のデータフレームが前記通信バスへ送信され、
前記通信ノードは、
前記第１の通信ノードからの第２のデータフレームに含まれる第２のIDに基づいて、前記通信ノード宛であるか否かを判定する通信制御部と、
前記通信制御部により前記第２のデータフレームが前記通信ノード宛であると判定した場合、該第２のデータフレームに対する応答信号を作成する演算処理部と
を有し、
前記通信制御部は、前記第１の通信ノードへ前記応答信号を送信する制御を実行する、通信ノード。
【請求項９】
通信バスを介して接続された複数の通信ノードを有する通信システムにおける通信方法であって、
前記複数の通信ノードのうちの第１の通信ノードは、
通信ノードの動作を確認する動作確認メッセージと第１のIDとを含む第１のデータフレームを作成し、
前記第１のデータフレームと第２のIDとを含む第２のデータフレームを作成し、
該第２のデータフレームを前記通信バスへ送信し、
前記第１の通信ノード以外の第２の通信ノードは、
前記第１の通信ノードからの第２のデータフレームに含まれる第２のIDに基づいて、前記第２の通信ノード宛であるか否かを判定し、
前記第２のデータフレームが前記第２の通信ノード宛であると判定した場合、該第２のデータフレームに対する応答信号を作成し、
前記第１の通信ノードへ前記応答信号を送信する制御を実行する、通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信システムに関する。
【背景技術】
【０００２】
車両には、該車両内の様々な制御を行うために車載ネットワークが構成されることが多い。車載ネットワークは、LANに、多くの電子制御ユニット(ECU: Electronic Control Unit)、センサ、アクチュエータ等が接続されることにより実現される。以下、車載ネットワークに接続される、電子制御ユニット、センサ、アクチュエータなどを通信ノードと呼ぶ。該通信ノードは、車両内の様々な位置に設置される。通信ノード間は、通信線や電線により接続される。
【０００３】
例えば、データバスに、複数の通信ノードが接続されることにより、車載ネットワークが構成される。該車載ネットワークは、CAN(Controller Area Network)、LIN(Local Interconnect Network)であることもある。また、該車載ネットワークには、FlexRay（登録商標）に従って通信を行うものがある。
【０００４】
車載ネットワークを構成する各通信ノードは、所定の時間間隔で動作を確認するためのメッセージの受け渡しを行うことがある。該メッセージの各通信ノードでの受け渡しは、所定の順番に従って行われることがある。該メッセージの受け渡しの際に、スリープ状態の通信ノードはウェイクアップする。ウェイクアップした後に、スリープ状態へ遷移する通信ノードも存在する。各通信ノードの動作状態を遷移させることにより正常動作するか否かを確認できる。
【０００５】
複数のプロセッサからなるシステムにおいて、各プロセッサは、自プロセッサよりも送出順位が前のプロセッサから動作確認信号を受信した時に応答信号を送信し、自プロセッサよりも送出順位が後のプロセッサに動作確認信号を送出し、応答信号に対して返送がないプロセッサを異常と判定する技術が知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平７−２６２０４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
各通信ノードに、メッセージの受け渡しのために、受信するメッセージの情報、送信するメッセージの情報、その他のメッセージの情報が格納される場合がある。受信するメッセージの情報、送信するメッセージの情報、その他のメッセージの情報を利用して、各通信ノードは、メッセージを受信したタイミングの異常などを検知できる。例えば、各通信ノードは、所定の順番に従ってメッセージが送信されているか否かを確認できる。
【０００８】
この場合、各通信ノードに、受信するメッセージの情報、送信するメッセージの情報、その他のメッセージの情報を格納できる容量のメモリが必要である。
【０００９】
例えば、１つのメッセージについて、メッセージの情報の容量は11バイト〜13バイトである。仮に、1つのメッセージについて、メッセージ情報の容量を13バイトとし、各通信ノードで受け渡しされるメッセージの数を20個とした場合、各通信ノードは、メッセージに関して、13バイト×20メッセージ＝260バイト以上の容量のメモリが必要である。
【００１０】
さらに、車載ネットワークを構成する通信ノードの数を30個とした場合、メッセージに関して、260バイト×30個＝8400バイト（8.4Kバイト）以上の容量のメモリが車載ネットワークに必要である。
【００１１】
各通信ノードで動作を確認するメッセージの受け渡しを行うことにより、該メッセージの受け渡しの結果を車両から収集でき、車両の安全性を確認するために利用できる。
【００１２】
しかし、動作を確認するメッセージのために、各通信ノードのメモリの記憶容量が増大するのは好ましくない。
【００１３】
本発明は、通信ノードのメッセージに関する記憶容量を低減することを目的とする。
【課題を解決するための手段】
【００１４】
開示の一実施例の通信システムは、
通信バスを介して接続される複数の通信ノードを有する通信システムであって、
前記複数の通信ノードのうちの第１の通信ノードは、
通信ノードの動作を確認する動作確認メッセージと第１のIDとを含む第１のデータフレームを作成する第１の演算処理部と、
前記第１のデータフレームと第２のIDとを含む第２のデータフレームを作成し、該第２のデータフレームを前記通信バスへ送信する第１の通信制御部と
を有し、
前記第１の通信ノード以外の第２の通信ノードは、
前記第１の通信ノードからの第２のデータフレームに含まれる第２のIDに基づいて、前記第２の通信ノード宛であるか否かを判定する第２の通信制御部と、
前記第２の通信制御部により前記第２のデータフレームが前記第２の通信ノード宛であると判定した場合、該第２のデータフレームに対する応答信号を作成する第２の演算処理部と
を有し、
前記第２の通信制御部は、前記第１の通信ノードへ前記応答信号を送信する制御を実行する。
【００１５】
開示の一実施例の通信ノードは、
通信バスを介して接続される複数の通信ノードのうちの１の通信ノードであって、
通信ノードの動作を確認する動作確認メッセージと第１のIDとを含む第１のデータフレームを作成する演算処理部と、
前記第１のデータフレームと第２のIDとを含む第２のデータフレームを作成し、該第２のデータフレームを前記通信バスへ送信する通信制御部と
を有し、
前記第２のIDにより、前記動作確認メッセージを送受信する順序が指定される。
【００１６】
開示の一実施例の通信ノードは、
通信バスを介して接続される複数の通信ノードのうちの第１の通信ノードからのデータを受信する通信ノードであって、
前記第１の通信ノードにより、通信ノードの動作を確認する動作確認メッセージと第１のIDとを含む第１のデータフレームが作成され、前記第１のデータフレームと第２のIDとを含む第２のデータフレームが作成され、該第２のデータフレームが前記通信バスへ送信され、
前記通信ノードは、
前記第１の通信ノードからの第２のデータフレームに含まれる第２のIDに基づいて、前記通信ノード宛であるか否かを判定する通信制御部と、
前記通信制御部により前記第２のデータフレームが前記通信ノード宛であると判定した場合、該第２のデータフレームに対する応答信号を作成する演算処理部と
を有し、
前記通信制御部は、前記第１の通信ノードへ前記応答信号を送信する制御を実行する。
【００１７】
開示の一実施例の通信方法は、
通信バスを介して接続された複数の通信ノードを有する通信システムにおける通信方法であって、
前記複数の通信ノードのうちの第１の通信ノードは、
通信ノードの動作を確認する動作確認メッセージと第１のIDとを含む第１のデータフレームを作成し、
前記第１のデータフレームと第２のIDとを含む第２のデータフレームを作成し、
該第２のデータフレームを前記通信バスへ送信し、
前記第１の通信ノード以外の第２の通信ノードは、
前記第１の通信ノードからの第２のデータフレームに含まれる第２のIDに基づいて、前記第２の通信ノード宛であるか否かを判定し、
前記第２のデータフレームが前記第２の通信ノード宛であると判定した場合、該第２のデータフレームに対する応答信号を作成し、
前記第１の通信ノードへ前記応答信号を送信する制御を実行する。
【発明の効果】
【００１８】
開示の実施例によれば、通信ノードのメッセージに関する記憶容量を低減できる。
【図面の簡単な説明】
【００１９】
【図１】通信システムの一実施例を示す図である。
【図２】標準フォーマットのデータフレームの一実施例を示す図である。
【図３】拡張フォーマットのデータフレームの一実施例を示す図である。
【図４】第１の通信ノードの一実施例を示す図である。
【図５】第１の通信ノードの一実施例を示す機能ブロック図である。
【図６】データベースの一実施例を示す図である。
【図７】メッセージボックスの一実施例を示す図である。
【図８】第１の通信ノードの動作の一実施例を示すフローチャートである。
【図９】第２の通信ノードの動作の一実施例を示すフローチャートである。
【図１０】第２の通信ノードの一実施例を示す図である。
【図１１】データベースの一例を示す図である。
【発明を実施するための形態】
【００２０】
次に、本発明を実施するための形態を、以下の実施例に基づき図面を参照しつつ説明する。以下で説明する実施例は一例に過ぎず、本発明が適用される実施の形態は、以下の実施例に限られない。
なお、実施例を説明するための全図において、同一機能を有するものは同一符号を用い、繰り返しの説明は省略する。
【００２１】
＜実施例＞
＜通信システム＞
図１は、通信システムの一実施例を示す。
【００２２】
通信システムは、１又は複数の通信ノードを有する。図１に示される例では、通信システムは、第１の通信ノード１００と、第２の通信ノード２００と、第３の通信ノード３００とを有する。図１には、一例として３個の通信ノードが示されているが、３個に限られない。通信システムが、２個の通信ノードで構成されてもよいし、４個以上の通信ノードで構成されてもよい。
【００２３】
第１の通信ノード１００、第２の通信ノード２００、第３の通信ノード３００は、通信バス１５０を介して有線接続される。
【００２４】
通信ノードは、電子制御ユニット等により実現されてもよい。また、通信ノードは、センサ、アクチュエータ等であってもよい。例えば、いずれかの通信ノードにエアコンの制御機能が搭載され、他の通信ノードに温度センサ等が搭載されてもよい。
【００２５】
また、通信ノードに複数のシステムが内蔵されてもよい。例えば、通信ノードが、他の通信ノードとの間で通信を行うようにしてもよい。また、通信ノードが、システムの制御を実行してもよい。
【００２６】
第１の通信ノード１００、第２の通信ノード２００、第３の通信ノード３００は、例えば車両等の移動体に搭載される。通信システムの一実施例は、車両に搭載される。通信システムの一実施例は、CAN(Controller Area Network)、LIN(Local Interconnect Network)等のLANが適用される。通信システムの一実施例が、情報系LAN、パワートレイン系LAN、ボディ系LAN等に適用されてもよい。通信システムの一実施例は、FlexRay（登録商標）に従って通信を行うようにしてもよい。以下では、一例として、CANが適用される場合について説明する。
【００２７】
通信システムの一実施例では、各通信ノードは、所定の時間間隔で動作を確認するメッセージ（以下、「動作確認メッセージ」という）を送受信する。各通信ノードは、車両のエンジンがかかっていない状態に、動作確認メッセージの送受信を実行するのが好ましい。車両のエンジンがかかっていない状態に動作確認メッセージの送受信を実行することにより、車両のエンジンがかかっていないバッテリ駆動状態であっても、通信ノードの動作を確認できる。車両のエンジンがかかっている状態であっても、各通信ノードは、動作確認メッセージの送受信を実行するようにしてもよい。
【００２８】
通信システムの一実施例では、各通信ノードが動作確認メッセージを送信する順番が予め設定される。第１の通信ノード１００は第２の通信ノード２００宛に動作確認メッセージを送信し、第２の通信ノード２００は第３の通信ノード３００宛に動作確認メッセージを送信する。但し、第１の通信ノード１００は、第２の通信ノード２００宛に送信した動作確認メッセージが該第２の通信ノード２００で受信されたことを確認できない場合には、第３の通信ノード３００宛に動作確認メッセージを送信することもある。
【００２９】
第１の通信ノード１００は、動作確認メッセージを作成する。通信システムを構成する通信ノードのうち、第１の通信ノード２００が該動作確認メッセージを受信することにより、スリープ状態からウェイクアップするように設定される。動作確認メッセージは、通信ノード間で既知となる信号であるのが好ましい。
【００３０】
図２は、動作確認メッセージのデータフレームの一実施例を示す。このデータフレームは、通信ノードに格納されたアプリケーションなどのソフトウェアに従ってマイコンが動作することにより作成されるのが好ましい。このデータフレームは、標準フォーマットの形式に従ったものであるのが好ましい。
【００３１】
データフレームは、スタートオブフレーム(SOF: Start Of Frame)フィールドを有する。スタートオブフレームは、メッセージの開始を示す。スタートオブフレームは、ドミナント(論理「0」)状態で示されるのが好ましい。
【００３２】
データフレームは、IDフィールドを有する。IDは、メッセージを識別し、メッセージの優先順位を示す。IDは、11ビットで表されるのが好ましい。通信システムの一実施例では、IDは11ビットで表される。
【００３３】
データフレームは、リモートトランスミッションリクエスト(RTR: Remote Transmission Request)フィールドを有する。リモートトランスミッションリクエストは、リモートフレームとデータフレームとを区別するのに使用される。リモートトランスミッションリクエストは、3ビットで表されるのが好ましい。リモートトランスミッションリクエストがドミナント(論理「0」)状態で示される場合にはデータフレームを示す。リモートトランスミッションリクエストがリセッシブ(論理「1」)状態で示される場合にはリモートフレームを示す。動作確認メッセージの場合には、リモートトランスミッションリクエストがドミナント状態で示されるのが好ましい。
【００３４】
データフレームは、データ長コード(DLC: Data Length Code) フィールドを有する。データ長コードは、データフィールドのバイト数を示す。データ長コードは、４ビットで表されるのが好ましい。
【００３５】
データフレームは、データフィールドを有する。データは、0〜64ビットのデータである。データフィールドに、動作確認メッセージが付与（付帯）されるのが好ましい。
【００３６】
データフレームは、CRCシーケンスを有する。CRCシーケンスは、巡回冗長検査を示す。CRCには、15ビットの巡回冗長検査コードとリセッシブデリミタビットである。CRCシーケンスは、エラー検出に使用される。
【００３７】
データフレームは、ACK（アクノレッジ）スロットを有する。ACK（アクノレッジ）スロットは、メッセージを正しく受信した場合に、メッセージの最後に送信する。送信側のノードはバス上でACKビットの有無をチェックし、ACKが検出されなかった場合は再度送信を試みるのが好ましい。
【００３８】
データフレームは、エンドオブフレーム(EOF: End of Frame) フィールドを有する。エンドオブフレームは、データフレームやリモートフレームの終了位置を示す。エンドオブフレームは、7ビットで構成され、ビットレベルは全て"リセッシブ"である。
【００３９】
第１の通信ノード１００では、ソフトウェアに従ってマイコンが動作することにより動作確認メッセージを付与した標準フォーマットのデータフレームが作成される。また、第１の通信ノード１００は、該データフレームを拡張フォーマットに変換する。第１の通信ノード１００は、ハードウェアが動作することにより、該拡張フォーマットの拡張IDフィールドに拡張IDを付与して送信する。
【００４０】
図３は、第１の通信ノード１００から送信される動作確認メッセージが付与されるデータフレームの一実施例を示す。
【００４１】
図２を参照して説明したデータフレームと比較して、拡張IDが付与される点で異なる。拡張IDは、拡張IDフィールドに付与されるのが好ましい。
【００４２】
第１の通信ノード１００からの動作確認メッセージのデータフレームは、他の通信ノードに送信される。他の通信ノード１００は、第１の通信ノード１００からの動作確認メッセージのデータフレームに付与される拡張IDに基づいて、受信した順番が適切であるか否かを判定する。他の通信ノードのうち、第１の通信ノード１００からの動作確認メッセージのデータフレームを受信する第２の通信ノード２００には、受信する動作確認メッセージのデータフレームに含まれる拡張IDとして、第１の通信ノード１００により付与される拡張IDが設定される。第１の通信ノード１００からの動作確認メッセージのデータフレームを受信する通信ノードは、予め設定される拡張IDに基づいて、受信した順番が適切であるか否かを判定する。
【００４３】
第１の通信ノード１００からの動作確認メッセージのデータフレームを受信する第２の通信ノード２００は、自第２の通信ノード２００宛の動作確認メッセージであるか否かを判定する。自第２の通信ノード２００宛の動作確認メッセージであると判定した第２の通信ノード２００は、拡張IDを除去する。自第２の通信ノード２００宛の動作確認メッセージであると判定した第２の通信ノード２００は、拡張IDを除去した動作確認メッセージに基づいて、必要に応じてウェイクアップする。
【００４４】
自第２の通信ノード２００宛の動作確認メッセージであると判定した第２の通信ノード２００は、該動作確認メッセージのデータフレームに拡張IDを付与して送信する。第２の通信ノード２００は、拡張IDを付与する際に、受信した動作確認メッセージのデータフレームに付与されている拡張IDを所定の数増加させる。
【００４５】
自第２の通信ノード２００宛の動作確認メッセージでないと判定した第２の通信ノード２００は、該動作確認メッセージを破棄するのが好ましい。
【００４６】
＜第１の通信ノード１００＞
図４は、第１の通信ノード１００の一実施例を示す。図４には、主に、第１の通信ノード１００のハードウェア構成が示される。第２の通信ノード２００、第３の通信ノード３００のハードウェア構成は、第１の通信ノード１００と略同一である。
【００４７】
第１の通信ノード１００は、コントローラ１０２と、マイコン１０４と、トランシーバ１１２とを備える。
【００４８】
コントローラ１０２は、ID変換ユニット１０６と、メモリ１０８と、メッセージボックス１１０とを有する。図４には、１つのマイコンが示されているが、複数のマイコンにより構成される場合もある。また、マイコンの代わりにＣＰＵにより構成されてもよいし、マイコンとＣＰＵとが混在していてもよい。
【００４９】
マイコン１０４は、動作確認メッセージを作成し、該動作確認メッセージを付与したデータフレームを作成する。
【００５０】
図５は、マイコン１０４を示す機能ブロック図である。図５の機能ブロック図により表される機能は、主に、マイコン１０４により実行される。つまり、マイコン１０４は、動作確認制御部１０４２と、データフレーム作成部１０４４と、状態制御部１０４６として機能する。また、マイコン１０４には、データベース１０４８が搭載される。
【００５１】
マイコン１０４の内部に記憶されたアプリケーション（ファームウェア）に従ってマイコン１０４により、動作確認制御部１０４２と、データフレーム作成部１０４４と、状態制御部１０４６としての機能が実行されるのが好ましい。また、記憶部（図示無し）に記憶されたアプリケーションに従ってマイコン１０４により、動作確認制御部１０４２と、データフレーム作成部１０４４と、状態制御部１０４６としての機能が実行されてもよい。
【００５２】
マイコン１０４は、動作確認制御部１０４２として機能する。動作確認制御部１０４２は、各通信ノードの動作を確認する際に、動作確認メッセージを作成する。動作確認メッセージは、各通信ノードで既知となる信号であるのが好ましい。動作確認制御部１０４２は、データフレーム作成部１０４４に動作確認メッセージを入力する。
【００５３】
マイコン１０４は、データフレーム作成部１０４４として機能する。データフレーム作成部１０４４は、動作確認制御部１０４２と接続される。データフレーム作成部１０４４は、データフレームを作成する。データフレーム作成部１０４４は、標準フォーマットにおけるデータフィールドの部分に動作確認制御部１０４２からの動作確認メッセージを付与する。また、データフレーム作成部１０４４は、標準フォーマットにおけるIDフィールドの部分にメッセージIDを付与する。通信システムの一実施例では、メッセージIDとして、ネットワークから第１の通信ノードに割り当てられるID（CANID）を使用する。データフレーム作成部１０４４は、ID変換ユニット１０６にデータフレームを入力する。
【００５４】
マイコン１０４は、状態制御部１０４６として機能する。状態制御部１０４６は、動作確認制御部１０４２と接続される。状態制御部１０４６は、第１の通信ノード１００の状態を制御する。状態制御部１０４６は、スリープ状態と動作状態との間で、状態を制御するのが好ましい。状態制御部１０４６は、データベース１０４８に格納される動作確認メッセージに基づいて、ID変換ユニット１０６からのデータフレームが動作確認メッセージであるか否かを判定する。ID変換ユニット１０６からのデータフレームが動作確認メッセージであると判定した場合、状態制御部１０４６は、動作確認メッセージに対する応答（ACK：肯定応答）信号を作成する。状態制御部１０４６は、メッセージボックス１１０へ、応答信号を入力する。メッセージボックス１１０に入力された応答信号は、送信元の通信ノードへ送信される。
【００５５】
状態制御部１０４６は、ID変換ユニット１０６からのデータフレームが動作確認メッセージであると判定し、且つ第１の通信ノード１００がスリープ状態のときに、スリープ状態からウェイクアップする制御を実行するのが好ましい。スリープ状態からウェイクアップする制御を実行した状態制御部１０４６は、動作確認制御部１０４２に、動作確認メッセージを入力するとともに、予め設定される順序に従って、次の通信ノードへの動作確認メッセージを送信するように命令する。
【００５６】
状態制御部１０４６は、ID変換ユニット１０６からのデータフレームが動作確認メッセージであると判定し、且つ第１の通信ノード１００が動作状態のときに、動作確認制御部１０４２に、動作確認メッセージを入力するとともに、予め設定される順序に従って、次の通信ノードへの動作確認メッセージを送信するように命令する。
【００５７】
状態制御部１０４６は、ID変換ユニット１０６からのデータフレームが動作確認メッセージでないと判定したときに、そのメッセージに応じて制御するのが好ましい。
【００５８】
データベース１０４８は、状態制御部１０４６と接続される。
【００５９】
図６は、データベース１０４８に格納される情報の一実施例を示す。
【００６０】
データベース１０４８には、第１の通信ノード１００が受信する動作確認メッセージのデータフレームのメッセージIDと、メッセージデータと、その他のプロトコルデータが格納される。この動作確認メッセージのデータフレームは、第２の通信ノード２００、第３の通信ノード３００との間で共通である。メッセージIDは11ビットで表されるのが好ましい。メッセージデータは０〜８バイトで表されるのが好ましい。その他のプロトコルデータは4バイトで表され、固定された値であるのが好ましい。
【００６１】
ID変換ユニット１０６は、データフレーム作成部１０４４と、状態制御部１０４６と接続される。ID変換ユニット１０６は、データフレーム作成部１０４４からのデータフレームの拡張IDフィールドに拡張IDを付与する。ID変換ユニット１０６は、標準フォーマットから拡張フォーマットにデータフレームを変換する。ID変換ユニット１０６は、拡張フォーマットに変換したデータフレームの拡張IDフィールドの部分に、拡張IDを付与する。第１の通信ノード１００の一実施例では、拡張IDとして、第１の通信ノード１００のIDを付与する。ID変換ユニット１０６は、メッセージボックス１１０に、第１の通信ノード１００のIDを付与したデータフレームを入力する。
【００６２】
また、ID変換ユニット１０６は、第１の通信ノード１００に受信されたメッセージが動作確認メッセージであるか否かを判定する。ID変換ユニット１０６は、メッセージボックス１１０を構成する複数のメッセージボックスに入力されるメッセージの種類に基づいて、動作確認メッセージであるか否かを判定するのが好ましい。ID変換ユニット１０６は、受信されたメッセージが動作確認メッセージであると判定した場合、該動作確認メッセージから拡張IDを除去するとともに、拡張フォーマットから標準フォーマットへ変換し、状態制御部１０４６へ入力する。
【００６３】
メモリ１０８は、ID変換ユニット１０６と接続される。メモリ１０８には、拡張IDが格納される。メモリ１０８の一実施例では、第１の通信ノード１００のIDが格納される。メモリ１０８に、通信システムを構成する全ての通信ノードのIDが格納されてもよい。第１の通信ノード１００から、第２の通信ノード２００以外の通信ノードを宛先として、データフレームが送信されることもあるためである。拡張IDフィールドは18ビットであるため、最大18ビットで表されるIDを格納することができる。具体的には、通信システムが32個の通信ノードで構成される場合には、2の5乗が32であるため、5ビットで表されるIDが格納されるのが好ましい。
【００６４】
メッセージボックス１１０は、ID変換ユニット１０６と、トランシーバ１１２と接続される。メッセージボックス１１０は、第1の通信ノード１００から送信する動作確認メッセージを保持する。また、メッセージボックス１１０は、他の通信ノードからのメッセージを保持する。メッセージボックス１１０は、複数のメッセージボックスから構成されるのが好ましい。複数のメッセージボックスのうち、ID変換ユニット１０６からの動作確認メッセージを保持するメッセージボックス、他の通信ノードからの動作確認メッセージが入力されるメッセージボックスが予め設定されるのが好ましい。
【００６５】
図７は、メッセージボックス１１０の一実施例を示す。
【００６６】
メッセージボックス１１０は、複数のメッセージボックスから構成されるのが好ましい。図７に示される例では、メッセージボックス１１０は、第１のメッセージボックス１１１１−第ｎのメッセージボックス１１１ｎ（ｎは、ｎ＞１の整数）から構成される。複数のメッセージボックスのうち、少なくとも１つのメッセージボックスは、動作確認メッセージのデータフレームが入力される。図７に示される例では、第ｎのメッセージボックス１１１ｎに動作確認メッセージのデータフレームが入力される。動作確認メッセージのデータフレームが入力されるメッセージボックスは、ID変換ユニット１０６と接続される。
【００６７】
トランシーバ１１２は、コントローラ１０２、通信バス１５０と接続される。トランシーバ１１２は、コントローラ１０２から入力されたデータフレームを通信バス１５０に送信し、通信バス１５０からのデータフレームをコントローラ１０２に入力する。
【００６８】
＜第１の通信ノード１００の動作＞
図８、図９を参照して、第１の通信ノード１００の動作について説明する。第２の通信ノード２００の動作、第３の通信ノード３００の動作については、第１の通信ノード１００の動作を略同一であるため、説明を省略する。
【００６９】
図８は、第１の通信ノード１００の送信動作の一実施例を示す。
【００７０】
ステップＳ８０２では、第１の通信ノード１００は、メッセージを作成する。動作確認制御部１０４２は、動作確認メッセージを作成する。第１の通信ノード１００は、動作確認メッセージ以外のメッセージを作成することもある。
【００７１】
ステップＳ８０４では、第１の通信ノード１００は、ステップＳ８０２で作成したメッセージを付与したデータフレームを作成する。データフレーム作成部１０４４は、動作確認メッセージを付与したデータフレームを作成する。具体的には、データフレーム作成部１０４４は、データフレームのIDフィールドの部分に第１の通信ノード１００のID（10010100100）を付与する。また、データフレーム作成部１０４４は、データフレームのデータフィールドの部分に動作確認メッセージを付与する。
【００７２】
ステップＳ８０６では、第１の通信ノード１００は、拡張IDを付与するメッセージであるか否かを判定する。ID変換ユニット１０６では、データフレーム作成部１０４からのデータフレームを入力するメッセージボックスに基づいて、拡張IDを付与するメッセージであるか否かを判定するのが好ましい。
【００７３】
ステップＳ８０８では、ステップＳ８０６で拡張IDを付与するメッセージであると判定した場合、拡張IDを付与する。ID変換ユニット１０６は、データフレームの形式を拡張フォーマットへ変換すると共に拡張IDを付与する。具体的には、ID変換ユニット１０６は、拡張フォーマットへ変換したデータフレームの拡張IDフィールドの部分に、拡張ID（000000000000000001）を付与する。ここで、拡張IDである「000000000000000001」は、第１の通信ノード１００のIDであるのが好ましい。
【００７４】
ステップＳ８１０では、拡張IDを付与したデータフレームを、メッセージボックスに格納する。ID変換ユニット１０６は、メッセージボックス１１０を構成するメッセージボックスのうち、動作確認メッセージに対応するメッセージボックスに動作確認メッセージのデータフレームを入力する。
【００７５】
ステップＳ８１２では、第１の通信ノード１００は、拡張IDを付与したデータフレームを通信バス１５０に送信する。メッセージボックス１１０に入力された動作確認メッセージのデータフレームは、トランシーバ１１２から通信バス１５０に送信される。
【００７６】
ステップＳ８１４では、第１の通信ノード１００は、送信先の通信ノードからのACK（肯定応答）が受信されたか否かを判定する。
【００７７】
ステップＳ８１６では、ステップＳ８１４でACKが受信されたと判定した場合、第１の通信ノード１００は、送信が完了したと判定する。
【００７８】
ステップＳ８１８では、ステップＳ８１４でACKが受信されないと判定した場合、第１の通信ノード１００は、通信ができていないと判定する。この場合、第１の通信ノード１００は、再度動作確認メッセージのデータフレームを送信するようにしてもよい。第１の通信ノード１００は、所定の回数動作確認メッセージのデータフレームを送信しても、送信先の通信ノードからのACKなどのコールバックがない場合に、通信ができていないと判定するのが好ましい。
【００７９】
また、第１の通信ノード１００は、動作確認メッセージを送信してから所定の時間の間に送信先の通信ノードからのACKなどのコールバックがない場合に、通信ができていないと判定するようにしてもよい。
【００８０】
また、通信ができていないと判定した通信ノードは、送信先の通信ノード以外の通信ノードへ動作確認メッセージのデータフレームを送信するようにしてもよい。例えば、第１の通信ノード１００は、第２の通信ノード２００へ動作確認メッセージのデータフレームを送信したが、第２の通信ノードからのコールバックがない場合、第３の通信ノード３００へ動作確認メッセージのデータフレームを送信する。この場合、第１の通信ノード１００は、拡張IDフィールドに付与する拡張IDを第３の通信ノード３００が受信できるように変更する。つまり、第１の通信ノード１００は、拡張IDフィールドに付与する拡張IDを第２の通信ノード２００のIDに変更するのが好ましい。第３の通信ノード３００には、受信する動作確認メッセージのデータフレームに含まれる拡張IDとして、第２の通信ノード２００により付与される拡張IDが設定されるためである。
【００８１】
ステップＳ８２０では、第１の通信ノード１００は、ステップＳ８０６で拡張IDを付与するメッセージでないと判定した場合、データフレームをメッセージボックス１１０に格納する。ID変換ユニット１０６は、データフレームを、メッセージボックス１１０を構成するメッセージボックスのうち、対応するメッセージボックスにデータフレームを入力する。
【００８２】
ステップＳ８２２では、第１の通信ノード１００は、データフレームを通信バス１５０に送信する。メッセージボックス１１０に入力されたメッセージのデータフレームは、トランシーバ１１２から通信バス１５０に送信される。
【００８３】
図８に示される処理の順序は一例であり、この順序に限られず、異なる順序で動作してもよい。
【００８４】
図９は、第１の通信ノード１００からの動作確認メッセージを受信する第２の通信ノード２００の受信動作の一実施例を示す。第１の通信ノード１００の動作、第３の通信ノード３００の動作については、第２の通信ノード２００の動作を略同一であるため、説明を省略する。
【００８５】
第２の通信ノード２００の受信動作の一実施例を説明する前に、第２の通信ノード２００について示す。
【００８６】
図１０は、第２の通信ノード２００の一実施例を示す。図１０には、主に、第２の通信ノード２００のハードウェア構成が示される。
【００８７】
第２の通信ノード２００は、コントローラ２０２と、マイコン２０４と、トランシーバ２１２とを備える。
【００８８】
コントローラ２０２は、ID変換ユニット２０６と、メモリ２０８と、メッセージボックス２１０とを有する。図１０には、１つのマイコンが示されているが、複数のマイコンにより構成される場合もある。また、マイコンの代わりにＣＰＵにより構成されてもよいし、マイコンとＣＰＵとが混在していてもよい。
【００８９】
マイコン２０４は、第１の通信ノード１００のマイコン１０４と略同一である。
【００９０】
ID変換ユニット２０６は、マイコン２０４と接続される。ID変換ユニット２０６は、第１の通信ノード１００のID変換ユニット１０６と略同一である。
【００９１】
メモリ２０８は、ID変換ユニット２０６と接続される。メモリ２０８には、拡張IDが格納される。メモリ２０８の一実施例では、第２の通信ノード２００のIDが格納される。
【００９２】
メッセージボックス２１０は、ID変換ユニット２０６と、トランシーバ２１２と接続される。メッセージボックス２１０は、第1の通信ノード１００のメッセージボックス１１０と略同一である。
【００９３】
トランシーバ２１２は、コントローラ２０２、通信バス１５０と接続される。トランシーバ２１２は、第1の通信ノード１００のトランシーバ１１２と略同一である。
【００９４】
ステップＳ９０２では、第２の通信ノード２００は、メッセージを受信する。トランシーバ２１２に第１の通信ノードからのメッセージが受信される。具体的には、第２の通信ノード２００に、メッセージID(10010100100)と拡張ID(000000000000000001)が付与されたデータフレームが受信される。
【００９５】
ステップＳ９０４では、第２の通信ノード２００は、動作確認メッセージが受信されたか否かを判定する。ID変換ユニット２０６は、メッセージが格納されたメッセージボックスに基づいて、動作確認メッセージが受信されたか否かを判定する。
【００９６】
ステップＳ９０６では、ステップＳ９０４で動作確認メッセージが受信されたと判定した場合、第２の通信ノード２００は、拡張IDが付与されたデータフレームであるか否かを判定する。ID変換ユニット２０６は、メッセージが格納されたメッセージボックスに基づいて、拡張IDが付与されたデータフレームであるか否かを判定する。
【００９７】
ステップＳ９０８では、ステップＳ９０６で拡張IDが付与されたデータフレームであると判定した場合、第２の通信ノード２００は、受信順番に問題がないか否かを判定する。ID変換ユニット２０６は、拡張IDに基づいて、受信順番に問題がないか否かを判定する。ID変換ユニット２０６は、データフレームに付与されている拡張IDが「00000000000000001」であるため、受信順番に問題がないと判定する。
【００９８】
ステップＳ９１０では、ステップＳ９０８で受信順番に問題がないと判定した場合、第２の通信ノード２００は、拡張IDを除去する。ID変換ユニット２０６は、受信したデータフレームから拡張IDを除去し、拡張IDを除去したデータフレームを標準フォーマットに変換する。ID変換ユニット２０６は、データフレームから拡張ID「000000000000000001」を除去する。
【００９９】
ステップＳ９１２では、第２の通信ノード２００は、動作確認メッセージに従って処理する。状態制御部２０４６は、標準フォーマットに変換したデータフレームに含まれる動作確認メッセージに従って処理する。
【０１００】
ステップＳ９１４では、ステップＳ９０４で動作確認メッセージが受信されないと判定した場合、第２の通信ノード２００は、受信したメッセージを破棄する。
【０１０１】
ステップＳ９１６では、ステップＳ９０６で拡張IDが付与されたデータフレームでないと判定した場合、第２の通信ノード２００は、データフレームの動作確認メッセージに応じた処理を行う。
【０１０２】
ステップＳ９１８では、ステップＳ９０８で受信順番に問題があると判定した場合、第２の通信ノード２００は、通信ができていないと判定する。
【０１０３】
図９に示される処理の順序は一例であり、この順序に限られず、異なる順序で動作してもよい。
【０１０４】
図９において、ステップＳ９１２の終了後、第２の通信ノード２００は、拡張IDとして「000000000000000010」を付与した動作確認メッセージのデータフレームを第３の通信ノード３００へ送信する。
【０１０５】
通信システムの一実施例によれば、動作確認メッセージのデータフレームにハードウェアによる処理により拡張IDを付与することにより、複数の通信ノード間でメッセージを共有することができる。つまり、ソフトウェア上で処理する動作確認メッセージは１つで済む。
【０１０６】
動作確認メッセージのデータフレームにハードウェア処理により拡張IDを付与しない場合には、各通信ノードのデータベースには、複数の通信ノード間で送信される全てのメッセージを格納する必要があった。
【０１０７】
図１１は、従来の通信ノードに格納されるメッセージの一例を示す。
【０１０８】
従来の通信ノードには、各通信ノードが受信する動作確認メッセージのメッセージIDと、メッセージデータと、その他のプロトコルデータが格納される。メッセージIDは11ビットで表されるのが好ましい。メッセージデータは０〜８バイトで表されるのが好ましい。その他のプロトコルデータは4バイトで表され、固定された値であるのが好ましい。
【０１０９】
図１１に示されるメッセージの数は、通信システムを構成する通信ノードが増加するに従って増加する。
【０１１０】
仮に、1つのメッセージについて、メッセージ情報の容量を13バイトとし、各通信ノードで受け渡しされるメッセージの数を20個とした場合、各通信ノードは、メッセージに関して、13バイト×20メッセージ＝260バイト以上の容量のメモリが必要である。
【０１１１】
さらに、車載ネットワークを構成する通信ノードの数を30個とした場合、メッセージに関して、260バイト×30個＝8400バイト（8.4Kバイト）以上の容量のメモリが車載ネットワークに必要である。
【０１１２】
通信システムの一実施例によれば、仮に、1つのメッセージについて、メッセージ情報の容量を13バイトとし、各通信ノードのメッセージIDを18ビットとし、車載ネットワークを構成する通信ノードの数を30個とした場合、各通信ノードは、メッセージに関して、13バイト+2.25バイト×30個＝69バイト以上の容量のメモリが必要である。
【０１１３】
さらに、13バイト+69バイト＝82バイト以上の容量のメモリが車載ネットワークに必要である。
【０１１４】
この例では、通信システムの一実施例と従来の通信システムと比較して、メッセージに関して、8400バイト-82バイト=8318バイトのメモリ容量の削減が可能である。
【０１１５】
以上、本発明は特定の実施例及び変形例を参照しながら説明されてきたが、各実施例及び変形例は単なる例示に過ぎず、当業者は様々な変形例、修正例、代替例、置換例等を理解するであろう。説明の便宜上、本発明の実施例に従った装置は機能的なブロック図を用いて説明されたが、そのような装置はハードウェアで、ソフトウェアで又はそれらの組み合わせで実現されてもよい。本発明は上記実施例に限定されず、本発明の精神から逸脱することなく、様々な変形例、修正例、代替例、置換例等が包含される。
【符号の説明】
【０１１６】
１００  第１の通信ノード
１０２  コントローラ
１０４  マイコン
１０６  ID変換ユニット
１０８  メモリ
１１０  メッセージボックス
１１２  トランシーバ
１５０  通信ノード
２００  第２の通信ノード
２０２  コントローラ
２０４  マイコン
２０６  ID変換ユニット
２０８  メモリ
２１０  メッセージボックス
２１２  トランシーバ
３００  第３の通信ノード
１０４２  動作確認制御部
１０４４  データフレーム作成部
１０４６  状態制御部
１０４８  データベース
【図１】
2014187544.tif 000003
【図２】
2014187544.tif 000004
【図３】
2014187544.tif 000005
【図４】
2014187544.tif 000006
【図５】
2014187544.tif 000007
【図６】
2014187544.tif 000008
【図７】
2014187544.tif 000009
【図８】
2014187544.tif 000010
【図９】
2014187544.tif 000011
【図１０】
2014187544.tif 000012
【図１１】
2014187544.tif 000013