(57)【特許請求の範囲】
【請求項１】
第１通信路及び第２通信路に接続された第１通信装置と、
前記第２通信路に接続された１つ以上の第２通信装置とを備える通信システムであって、
前記第１通信装置は、
前記第１通信路との通信を行う第１通信手段と、
前記第２通信路との通信を行う第２通信手段と、
前記１つ以上の第２通信装置が保有するアプリケーションのうち少なくとも１つと、
制御手段とを備え、
前記制御手段は、
診断要求を格納した第１フレームを前記第１通信路から受信し、
前記１つ以上の第２通信装置のうち前記診断要求を処理すべき第２通信装置を特定し、
前記特定された第２通信装置の代わりに前記第１通信装置が前記診断要求を処理可能かを判定し、
前記診断要求を処理可能と判定された場合に、前記アプリケーションを前記第１通信装置にて実行させることによって診断結果を取得し、
前記診断結果を格納した第２フレームを前記第１通信路へ送信することを特徴とする通信システム。
【請求項２】
請求項１に記載の通信システムであって、
前記制御手段は、前記診断要求が、前記第２通信装置に接続されたセンサ及びアクチュエータを使用せずに応答できるものである場合に、前記アプリケーションを、前記第１通信装置にて実行させることによって、前記診断結果を取得することを特徴とする通信システム。
【請求項３】
請求項１又は２に記載の通信システムであって、
前記制御手段は、前記診断要求を処理可能でないと判定された場合に、前記診断要求を格納した第３フレームを前記第２通信路へ送信することを特徴とする通信システム。
【請求項４】
請求項１乃至３の何れかに記載の通信システムであって、
前記制御手段は、
前記診断要求に対する診断結果を格納した第４フレームを前記第２通信路から受信し、
前記診断結果を格納した第５フレームを前記第１通信路へ送信することを特徴とする通信システム。
【請求項５】
請求項４に記載の通信システムであって、
前記制御手段は、前記第４フレームを前記第５フレームとして前記第１通信路へ送信することを特徴とする通信システム。
【請求項６】
請求項１乃至５の何れか１項に記載の通信システムであって、
前記制御手段は、
前記特定された第２通信装置が前記第２通信路に接続されているかを判定し、
前記特定された第２通信装置が前記第２通信路に接続されていないと判定された場合に、否定応答を格納したフレームを前記第１通信路へ送信することを特徴とする通信システム。
【請求項７】
請求項１乃至６の何れか１項に記載の通信システムであって、
前記制御手段は、前記通信システムの外部にある診断装置から前記第１フレームを受信することを特徴とする通信システム。
【請求項８】
請求項１乃至７の何れか１項に記載の通信システムであって、
前記１つ以上の第２通信装置はＥＣＵであることを特徴とする通信システム。
【請求項９】
請求項１乃至８の何れか１項に記載の通信システムであって、
前記第１通信装置はＥＣＵであることを特徴とする通信システム。
【請求項１０】
請求項１乃至９の何れか１項に記載の通信システムであって、
前記第１通信路及び前記第２通信路を通じた通信は、ＣＡＮ通信プロトコルに準拠することを特徴とする通信システム。
【請求項１１】
請求項１乃至１０の何れか１項に記載の通信システムであって、
車載ネットワークを構成することを特徴とする通信システム。
【請求項１２】
請求項１乃至１１の何れか１項に記載の通信システムであって、
前記１つ以上の第２通信装置は、パワートレイン機能に関する処理を行うことを特徴とする通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信システムに関する。
【背景技術】
【０００２】
近年の車両には多数のＥＣＵ（電子制御ユニット）が設けられており、これらはＣＡＮ（コントローラ・エリア・ネットワーク）などの車両用ネットワークを通じて通信する。車両用ネットワークは車載ネットワークと呼ばれることもある。ＣＡＮ通信プロトコルによれば、各ＥＣＵには固有の識別情報（ＩＤ）が割り当てられる。車両の外部の診断装置は、車両を診断するために、各ＥＣＵに割り当てられた識別情報を用いてＥＣＵと通信する。特許文献１には、中央制御装置が複数のＥＣＵを管理する構成が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−１６１９５７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
車両に搭載された通信システムは、ＥＣＵによる診断結果を法規的に定められた時間内に診断装置に返す必要がある。通信システムの構成が複雑になるにつれて、この要件を満たすことが困難になる恐れがある。車両に搭載された通信システムだけでなく、他の機械に搭載された通信システムでも、応答時間が短い方が好ましい。そこで、本発明は、通信システムの診断要求に対する応答時間を短縮することを目的とする。
【課題を解決するための手段】
【０００５】
本発明の１つの側面によれば、第１通信路及び第２通信路に接続された第１通信装置と、
前記第２通信路に接続された１つ以上の第２通信装置とを備える通信システムであって、
前記第１通信装置は、
前記第１通信路との通信を行う第１通信手段と、
前記第２通信路との通信を行う第２通信手段と、
前記１つ以上の第２通信装置が保有するアプリケーションのうち少なくとも１つと、
制御手段とを備え、
前記制御手段は、
診断要求を格納した第１フレームを前記第１通信路から受信し、
前記１つ以上の第２通信装置のうち前記診断要求を処理すべき第２通信装置を特定し、
前記特定された第２通信装置の代わりに前記第１通信装置が前記診断要求を処理可能かを判定し、
前記診断要求を処理可能と判定された場合に、前記アプリケーションを前記第１通信装置にて実行させることによって診断結果を取得し、
前記診断結果を格納した第２フレームを前記第１通信路へ送信することを特徴とする通信システムが提供される。
【発明の効果】
【０００６】
本発明によれば、通信システムの診断要求に対する応答時間を短縮できる。
【図面の簡単な説明】
【０００７】
【図１】本発明の一部の実施形態に係る通信システムの構成例。
【図２】図１のＥＣＵの構成例。
【図３】図１の通信システムで用いられるテーブルの例。
【図４】図１の通信システムで通信されるフレームの例。
【図５】図１の通信システムの動作を説明するフローチャート。
【図６】図１の通信システムの動作を説明するフローチャート。
【図７】図１の通信システムの動作を説明するフローチャート。
【発明を実施するための形態】
【０００８】
＜通信システム＞
図１を参照しつつ、一部の実施形態に係る通信システム１００について説明する。通信システム１００は、一例として自動車などの車両に搭載され、車載ネットワークを構成する。これに代えて、通信システム１００は、輸送用機械、工作機械、産業ロボットなどに搭載されてもよい。通信システム１００は、通信装置として、複数のＥＣＵ（電子制御ユニット）１１１〜１１８、１２１〜１２８と、ゲートウェイ装置（Ｇ／Ｗ）１０１とを含む。通信システム１００では、複数のＥＣＵが複数のドメインに分かれて配置されている。各ＥＣＵが制御する機能を図１においてカッコ書きで示す。例えば、ＥＣＵ１１１はブレーキ機能を制御する。
【０００９】
図１の例で、通信システム１００は、ブレーキ系ドメイン１１０と、パワートレイン（Ｐ／Ｔ）系ドメイン１２０とを含む。ブレーキ系ドメイン１１０は、ブレーキ機能に関する１つ以上のＥＣＵ１１１〜１１８によって構成される。これらのＥＣＵ１１１〜１１８は同じ１つの通信路に接続されている。ブレーキ系ドメイン１１０を構成する通信路をサブバス１１９と呼ぶ。パワートレイン系ドメイン１２０は、パワートレイン機能に関する１つ以上のＥＣＵ１２１〜１２８によって構成される。これらのＥＣＵ１２１〜１２８は同じ１つの通信路に接続されている。パワートレイン系ドメイン１２０を構成する通信路をサブバス１２９と呼ぶ。
【００１０】
各ドメインのうち１つのＥＣＵは、サブバス１１９、１２９とは異なる通信路にも接続されている。この通信路をメインバス１０３と呼ぶ。図１の例では、ＥＣＵ１１１とＥＣＵ１２１とがメインバス１０３に接続されている。以下の説明において、メインバス１０３に接続されたＥＣＵ（ＥＣＵ１１１、１２１）をマスターＥＣＵと呼ぶこともある。また、メインバス１０３に接続されておらず、サブバス１１９、１２９のみに接続されているＥＣＵ（ＥＣＵ１１２〜１１８、１２２〜１２８）をスレーブＥＣＵと呼ぶこともある。１つのドメインは、スレーブＥＣＵを１つ以上含んでもよいし、１つもスレーブＥＣＵを含まずにマスターＥＣＵのみで構成されてもよい。メインバス１０３には、ゲートウェイ装置１０１も接続されている。サブバス１１９、サブバス１２９及びメインバス１０３を通じた通信は、ＣＡＮ（コントローラ・エリア・ネットワーク）通信プロトコルに準拠してもよいし、他のプロトコルに準拠してもよい。
【００１１】
通信システム１００の通信装置（ＥＣＵ１１１〜１１８、１２１〜１２８及びゲートウェイ装置１０１）のそれぞれには、識別情報（ＩＤ）が割り当てられている。メインバス１０３に接続された通信装置（マスターＥＣＵ１１１、１２１及びゲートウェイ装置１０１）には、互いに異なるＩＤが割り当てられている。また、各ドメイン内においても、１つのサブバスに接続された通信装置（マスターＥＣＵ及びスレーブＥＣＵ）には、互いに異なるＩＤが割り当てられている。異なるドメインに属する複数のＥＣＵには重複するＩＤが割り当てられてもよい。例えば、ブレーキ系ドメイン１１０に属するＥＣＵ１１２とパワートレイン系ドメイン１２０に属するＥＣＵ１２２とにはどちらもＩＤとして「１１」が割り当てられている。以下に詳細に説明するように、ＥＣＵに割り当てられたＩＤを用いて通信が行われる。このように、スレーブＥＣＵに対してＩＤの重複を許容することによって、通信システム１００で使用されるＩＤの個数を低減できる。
【００１２】
ゲートウェイ装置１０１は、通信システム１００の外部からの接続を受け付ける端子１０２にも接続されている。端子１０２には、通信システム１００の外部にある診断装置１３０が接続可能である。診断装置１３０は、例えば法規的な整備点検などを行う際に、端子１０２を通じて通信システム１００と通信し、車両を診断する。診断装置１３０は、図３（ａ）のテーブル３０１に示されるような「診断要求」と「ドメイン」との対応表を有する。テーブル３０１の「診断要求」の列は、車両に対する診断要求の内容を示す。診断要求の例として、ブレーキ系統の異常発生時に用いられるメッセージの種類及び内容を問い合わせる要求や、テスト入力に対するＡＢＳ（アンチロック・ブレーキ・システム）機能の作動結果を問い合わせる要求などがある。診断要求は、車両の何れかのドメインを対象として規定される。テーブル３０１の「ドメイン」の列は、各診断要求の対象となるドメインのＩＤを示す。このドメインのＩＤは、各ドメインのマスターＥＣＵに割り当てられたＩＤに一致する。例えば、「診断Ａ」がブレーキ系ドメイン１１０に関する診断要求である場合に、「ドメイン」はマスターＥＣＵ１１１のＩＤである「１４」である。「診断Ｄ」がパワートレイン系ドメイン１２０に関する診断要求である場合に、「ドメイン」はマスターＥＣＵ１２１のＩＤである「１０」である。診断装置１３０は、テーブル３０１から診断要求を選択し、これを通信システム１００へ送信する。
【００１３】
＜通信装置＞
図２を参照して、通信システム１００に含まれる通信装置の構成例について説明する。図２（ａ）では、マスターＥＣＵの例としてＥＣＵ１１１について代表的に説明し、図２（ｂ）では、スレーブＥＣＵの例としてＥＣＵ１１２について代表的に説明する。
【００１４】
マスターＥＣＵ１１１は、制御回路２０１と、通信回路２０４、２０５とを含む。制御回路２０１は、マスターＥＣＵ１１１全体の動作を制御する。制御回路２０１は、ＣＰＵなどで構成されるマイクロプロセッサなどのプロセッサ２０２と、ＲＯＭやＲＡＭなどで構成されるメモリ２０３とを備える。ＥＣＵ１１１による動作は、メモリ２０３に格納されたプログラムをプロセッサ２０２が実行することによって制御される。これに代えて、制御回路２０１は、ＡＳＩＣ（特定用途向け集積回路）のような専用回路によって構成されてもよいし、専用回路とプロセッサとの組み合わせによって構成されてもよい。
【００１５】
図１に示されるように、マスターＥＣＵ１１１はブレーキ機能を担当するＥＣＵである。そのため、制御回路２０１は、センサ２０６を用いてブレーキに関する情報を収集し、その情報に応じてアクチュエータ２０７を用いてブレーキの作動を制御する。マスターＥＣＵ１１１は、このようなＥＣＵとしての動作のほかに、後述するフローチャートで説明する動作も行う。
【００１６】
通信回路２０４は、メインバス１０３との通信を処理する。具体的に、メインバス１０３に流れているマスターＥＣＵ１１１宛のデータを受信し、制御回路２０１へ渡す受信動作と、制御回路２０１から受け取ったデータをメインバス１０３へ送信する送信動作とを行う。通信回路２０５は、サブバス１１９との通信を処理する。具体的に、サブバス１１９に流れているマスターＥＣＵ１１１宛のデータを受信し、制御回路２０１へ渡す受信動作と、制御回路２０１から受け取ったデータをサブバス１１９へ送信する送信動作とを行う。通信回路２０４と通信回路２０５とは別々の回路として構成されてもよいし、一体の回路として構成されてもよい。
【００１７】
メモリ２０３には、図３に示すテーブル３０２、３０３も格納されている。テーブル３０２は、「診断要求」と「処理ＥＣＵ」との対応表である。テーブル３０２の「診断要求」の列は、車両に対する診断要求の内容を示す。テーブル３０２の「診断要求」の列は、テーブル３０１の「診断要求」の列に対応する。テーブル３０２の「処理ＥＣＵ」の列は、各診断要求を処理すべきＥＣＵが制御する機能を示す。例えば、テーブル３０２の１つ目のエントリは、「診断Ａ」が、ＶＳＡ（ヴィークル・スタビリティ・アシスト）を制御するＥＣＵ１１２によって処理されるべきであることを示す。テーブル３０２は複数の車種及びグレードに対して共通に使用されてもよい。そのため、車種及びグレードによっては、テーブル３０２の「処理ＥＣＵ」の列に示されるＥＣＵを有していないこともある。
【００１８】
テーブル３０３は、「ＥＣＵ」と「ＩＤ」との対応表である。テーブル３０３の「ＥＣＵ」の列は、マスターＥＣＵ１１１と同じブレーキ系ドメイン１１０に属するスレーブＥＣＵが制御する機能を示す。テーブル３０３の「ＩＤ」の列は、各ＥＣＵに割り当てられたＩＤを示す。テーブル３０３は、同じ車種及びグレードであってもドメインごとに異なり、また同じドメインであっても車種及びグレードごとに異なりうる。
【００１９】
メモリ２０３にはさらに、マスターＥＣＵ１１１が同じブレーキ系ドメイン１１０に属するスレーブＥＣＵ１１２〜１１８の処理を代行するためのアプリケーションプログラムも格納されている。このアプリケーションプログラムは例えばプロセッサ２０２によって実行される。診断装置１３０からの診断要求には、スレーブＥＣＵ１１２に接続されたセンサ２１５及びアクチュエータ２１６を使用せずに応答できるものがある。例えば、診断要求がスレーブＥＣＵの異常発生時に用いられるメッセージの種類及び内容を問い合わせる要求である場合に、マスターＥＣＵ１１１にこの情報を事前に格納しておくことによって、マスターＥＣＵ１１１はスレーブＥＣＵに診断要求を転送することなく診断要求に応答できる。この情報は、通信システム１００の製造者がメモリ２０３に格納してもよいし、マスターＥＣＵ１１１の制御回路２０１がスレーブＥＣＵから事前に取得してメモリ２０３に格納してもよい。
【００２０】
スレーブＥＣＵ１１２は、制御回路２１１と、通信回路２１４とを含む。制御回路２１１は、スレーブＥＣＵ１１２全体の動作を制御する。制御回路２１１は、ＣＰＵなどで構成されるマイクロプロセッサなどのプロセッサ２１２と、ＲＯＭやＲＡＭなどで構成されるメモリ２１３とを備える。ＥＣＵ１１２による動作は、メモリ２１３に格納されたプログラムをプロセッサ２１２が実行することによって制御される。これに代えて、制御回路２１１は、ＡＳＩＣ（特定用途向け集積回路）のような専用回路によって構成されてもよいし、専用回路とプロセッサとの組み合わせによって構成されてもよい。
【００２１】
図１に示されるように、スレーブＥＣＵ１１２はＶＳＡ機能を制御するＥＣＵである。そのため、制御回路２１１は、センサ２１５を用いてＶＳＡに関する情報を収集し、その情報に応じてアクチュエータ２１６を用いてＶＳＡの作動を制御する。
【００２２】
通信回路２１４は、サブバス１１９との通信を処理する。具体的に、サブバス１１９に流れているスレーブＥＣＵ１１２宛のデータを受信し、制御回路２１１へ渡す受信動作と、制御回路２１１から受け取ったデータをサブバス１１９へ送信する送信動作とを行う。
【００２３】
＜フレーム＞
図４（ａ）を参照しつつ、通信システム１００における通信に用いられるフレーム４００のフォーマットについて説明する。フレーム４００は、通信システム１００で通信されるデータの単位であり、データフレームとも呼ばれうる。フレーム４００は、例えばＣＡＮ通信プロトコルに準拠してもよい。フレーム４００は、ＩＤフィールド４００ａと、データフィールド４００ｂとを含む。ＩＤフィールド４００ａには、通信システム１００の通信装置（ＥＣＵ１１１等及びゲートウェイ装置１０１）に割り当てられたＩＤが格納される。以下に説明するように、ＩＤフィールド４００ａには、フレーム４００の送信元の通信装置のＩＤが格納される場合もあるし、フレーム４００の宛先の通信装置のＩＤが格納される場合もあるし、それ以外の場合もある。データフィールド４００ｂには、通信されるデータが格納される。
【００２４】
続いて、図４（ｂ）を参照して、各通信装置間で通信されるフレームの具体例について説明する。フレーム４０１は、診断装置１３０からゲートウェイ装置１０１へ送信されるフレームである。フレーム４０１のＩＤフィールド４００ａには、テーブル３０１から選択された診断要求に対応するドメインのマスターＥＣＵに割り当てられたＩＤが格納される。例えば、診断装置１３０は、ブレーキ系ドメイン１１０に関して診断を行う場合に、ブレーキ系ドメイン１１０のマスターＥＣＵ１１１のＩＤである「１４」をフレーム４０２のＩＤフィールド４００ａに格納する。フレーム４０１のデータフィールド４００ｂには、テーブル３０１から選択された診断要求が格納される。例えば、診断装置１３０は、交換後のブレーキ部品が正しく作動しているかを確認するために、テスト入力に対するアクチュエータの作動結果の問い合わせをフレーム４０１のデータフィールド４００ｂに格納する。診断装置１３０とゲートウェイ装置１０１とは直接接続されているので、ゲートウェイ装置１０１は、ＩＤフィールド４００ａに格納されたＩＤの値によらず、診断装置１３０からのフレーム４０１を受信する。
【００２５】
フレーム４０２は、ゲートウェイ装置１０１からメインバス１０３へ送信されるフレームである。フレーム４０２はフレーム４０１と同一である。すなわち、ゲートウェイ装置１０１は、診断装置１３０から受信したフレームをそのままメインバス１０３へ転送する。
【００２６】
フレーム４０３は、後述する処理によって、マスターＥＣＵ１１１が受信した診断要求をマスターＥＣＵ１１１にて処理可能でない、と判定された場合に生成されるフレームである。フレーム４０３は、マスターＥＣＵ１１１からサブバス１１９へ送信される。フレーム４０３のＩＤフィールド４００ａには、診断対象の機能を制御するスレーブＥＣＵに割り当てられたＩＤが格納される。例えば、診断要求がＶＳＡに関する場合に、マスターＥＣＵ１１１は、スレーブＥＣＵ１１２のＩＤである「１１」をフレーム４０３のＩＤフィールド４００ａに格納する。フレーム４０３のデータフィールド４００ｂは、フレーム４０２のデータフィールド４００ｂと同一である。
【００２７】
フレーム４０４は、マスターＥＣＵ１１１からフレーム４０３が送信される場合に、当該フレーム４０３に対する処理に基づいて生成されるフレームである。フレーム４０４は、スレーブＥＣＵ１１２からサブバス１１９へ送信される。フレーム４０４のＩＤフィールド４００ａには、スレーブＥＣＵ１１２に割り当てられたＩＤである「１１」が格納される。フレーム４０４のデータフィールド４００ｂには、スレーブＥＣＵ１１２による診断結果が格納される。
【００２８】
フレーム４０５は、マスターＥＣＵ１１１からメインバス１０３へ送信されるフレームである。マスターＥＣＵ１１１がスレーブＥＣＵ１１２の代わりに診断要求を処理した場合に、マスターＥＣＵ１１１は新たにフレーム４０５を生成する。フレーム４０５のＩＤフィールド４００ａには、マスターＥＣＵ１１１に割り当てられたＩＤである「１４」が格納される。フレーム４０５のデータフィールド４００ｂには、マスターＥＣＵ１１１による診断結果が格納される。マスターＥＣＵ１１１がスレーブＥＣＵ１１２の代わりに診断要求を処理しなかった場合に、フレーム４０５はフレーム４０４と同一である。すなわち、マスターＥＣＵ１１１は、スレーブＥＣＵ１１２から受信したフレームをそのままメインバス１０３へ転送する。ゲートウェイ装置１０１は、フレーム４０２のＩＤフィールド４００ａに格納されていたＩＤと同じＩＤを格納するフレーム４０５がメインバス１０３に流れている場合に、そのフレームを自身宛のフレームとして受信する。
【００２９】
フレーム４０６は、ゲートウェイ装置１０１から診断装置１３０へ送信されるフレームである。フレーム４０６はフレーム４０５と同一である。すなわち、ゲートウェイ装置１０１は、マスターＥＣＵ１１１から受信したフレームをそのまま診断装置１３０へ転送する。診断装置１３０とゲートウェイ装置１０１とは直接接続されているので、診断装置１３０は、ＩＤフィールド４００ａに格納されたＩＤの値によらず、ゲートウェイ装置１０１からのフレーム４０６を受信する。
【００３０】
診断装置１３０とゲートウェイ装置１０１との間の通信は、メインバス１０３及びサブバス１１９、１２９での通信とは異なるプロトコルに準拠していてもよい。その場合に、診断装置１３０は、フレーム４０１のＩＤフィールド４００ａ及びデータフィールド４００ｂに含める情報を別のプロトコルでゲートウェイ装置１０１へ伝達し、この情報に従ってゲートウェイ装置１０１がフレーム４０２を生成する。また、ゲートウェイ装置１０１は、フレーム４０５のＩＤフィールド４００ａ及びデータフィールド４００ｂに含まれる情報を取り出し、その情報を診断装置１３０へ伝達する。
【００３１】
＜フローチャート＞
図５〜図７を参照しつつ、通信システム１００の動作例について説明する。まず図５を参照しつつ、マスターＥＣＵ（例えば、ＥＣＵ１１１）が診断要求を受信する動作について説明する。マスターＥＣＵ１１１は、複数の診断要求を受信すべく、図５のフローチャートの動作を繰り返し実行してもよい。
【００３２】
ステップＳ５０１で、通信回路２０４は、メインバス１０３に自身宛のフレームが流れているか否かを判定する。通信回路２０４は、メインバス１０３に流れているフレームのＩＤフィールド４００ａに自身のＩＤ（「１４」）が格納されている場合に、このフレームが自身宛であると判定する。自身宛のフレーム４０２が流れている場合（ステップＳ５０１で「ＹＥＳ」）に、ステップＳ５０２で、通信回路２０４は、フレーム４０２を受信し、制御回路２０１へ渡す。自身宛のフレーム４０２が流れていない場合（ステップＳ５０１で「ＮＯ」）に、通信回路２０４は、ステップＳ５０１を繰り返す。
【００３３】
ステップＳ５０３で、制御回路２０１は、テーブル３０２を参照することによって、フレーム４０２のデータフィールド４００ｂに格納されている診断要求を処理すべきＥＣＵを特定する。ステップＳ５０４で、制御回路２０１は、テーブル３０３を参照することによって、特定されたＥＣＵがサブバス１１９に接続されているか（すなわち、ブレーキ系ドメイン１１０に属するか）否かを判定する。
【００３４】
特定されたＥＣＵがサブバス１１９に接続されていると判定された場合（ステップＳ５０４で「ＹＥＳ」）に、ステップＳ５０６で、制御回路２０１は、特定されたスレーブＥＣＵの代わりにマスターＥＣＵ１１１が診断要求を処理可能かどうかを判定する。マスターＥＣＵ１１１が診断要求を処理可能でないと判定された場合（ステップＳ５０５で「ＮＯ」）に、ステップＳ５０６で、制御回路２０１は、フレーム４０２のＩＤフィールド４００ａを、特定されたＥＣＵのＩＤに書き換えることによってフレーム４０３を生成し、通信回路２０５に渡す。制御回路２０１は、テーブル３０３を参照することによって、特定されたＥＣＵのＩＤを取得できる。ステップＳ５０７で、通信回路２０５は、受け取ったフレーム４０３をサブバス１１９へ送信する。
【００３５】
マスターＥＣＵ１１１が診断要求を処理可能であると判定された場合（ステップＳ５０５で「ＹＥＳ」）に、ステップＳ５０８で、制御回路２０１は、マスターＥＣＵ１１１が保有するアプリケーションの中から、特定されたスレーブＥＣＵの代わりに診断要求を処理するために必要なアプリケーションを特定して実行することによって診断結果を取得する。制御回路２０１は、この診断結果をデータフィールド４００ｂに格納したフレームを作成し、通信回路２０４に渡す。制御回路２０１は、このフレームのＩＤフィールド４００ａに、自身のＩＤ（「１４」）を格納する。ステップＳ５０９で、通信回路２０４は、受け取ったフレームをメインバス１０３へ送信する。
【００３６】
特定されたＥＣＵがサブバス１１９に接続されていないと判定された場合（ステップＳ５０４で「ＮＯ」）に、ステップＳ５１０で、制御回路２０１は、診断に必要なＥＣＵを有していないことを表す否定応答をデータフィールド４００ｂに格納したフレームを作成し、通信回路２０４に渡す。制御回路２０１は、このフレームのＩＤフィールド４００ａに、自身のＩＤ（「１４」）を格納する。ステップＳ５１１で、通信回路２０４は、受け取ったフレームをメインバス１０３へ送信する。
【００３７】
続いて、図６を参照しつつ、マスターＥＣＵ１１１が受信した診断要求が、マスターＥＣＵ１１１にて処理可能でない、と判定された場合に生成されるフレーム（フレーム４０３）に基づく診断要求を、スレーブＥＣＵ（例えば、ＥＣＵ１１２）が受信する動作について説明する。スレーブＥＣＵ１１２は、複数の診断要求を受信すべく、図６のフローチャートの動作を繰り返し実行してもよい。
【００３８】
ステップＳ６０１で、通信回路２１４は、サブバス１１９に自身宛のフレームが流れているか否かを判定する。通信回路２１４は、サブバス１１９に流れているフレームのＩＤフィールド４００ａに自身のＩＤ（「１１」）が格納されている場合に、このフレームが自身宛であると判定する。自身宛のフレーム４０３が流れている場合（ステップＳ６０１で「ＹＥＳ」）に、ステップＳ６０２で、通信回路２１４は、フレーム４０３を受信し、制御回路２１１へ渡す。自身宛のフレーム４０３が流れていない場合（ステップＳ６０１で「ＮＯ」）に、通信回路２１４は、ステップＳ６０１を繰り返す。
【００３９】
ステップＳ６０３で、制御回路２１１は、フレーム４０３のデータフィールド４００ｂに格納された診断要求に従って処理を実行し、診断結果を生成する。ステップＳ６０４で、制御回路２１１は、ＩＤフィールド４００ａに自身のＩＤ（「１１」）を格納し、データフィールド４００ｂに診断結果を格納したフレーム４０４を生成する。自身のＩＤは、制御回路２１１のメモリ２１３に格納されている。制御回路２１１は、生成したフレーム４０４を通信回路２１４へ渡す。ステップＳ６０５で、通信回路２１４は、受け取ったフレーム４０４をサブバス１１９へ送信する。
【００４０】
続いて、図７を参照しつつ、マスターＥＣＵ１１１が受信した診断要求が、マスターＥＣＵ１１１にて処理可能でない、と判定されたことによって生成されるフレーム（フレーム４０３）に基づく処理によってスレーブＥＣＵが生成した診断結果を、マスターＥＣＵ（例えば、ＥＣＵ１１１）が受信する動作について説明する。マスターＥＣＵは、複数の診断結果を受信すべく、図７のフローチャートの動作を繰り返し実行してもよい。
【００４１】
ステップＳ７０１で、制御回路２０１は、Ｓ５０６にてスレーブＥＣＵ（例えば、ＥＣＵ１１２）にフレーム４０３を送信済みか否かを判定する。フレーム４０３を送信していないと判定された場合（ステップＳ７０１で「ＮＯ」）に、スレーブＥＣＵ（例えば、ＥＣＵ１１２）が送信したフレーム４０４をマスターＥＣＵ１１１が受信する必要がないので、制御回路２０１は処理を終了する。
【００４２】
フレーム４０３を送信したと判定された場合（ステップＳ７０１で「ＹＥＳ」）に、ステップＳ７０２で、通信回路２０５は、サブバス１１９にスレーブＥＣＵからのフレームが流れているか否かを判定する。通信回路２０５は、サブバス１１９に流れているフレームのＩＤフィールド４００ａにテーブル３０３に含まれるＩＤ（「１１」）が格納されている場合に、このフレームが自身宛であると判定する。自身宛のフレーム４０４が流れている場合（ステップＳ７０２で「ＹＥＳ」）に、ステップＳ７０３で、通信回路２０５は、フレーム４０４を受信し、制御回路２０１へ渡す。
【００４３】
ステップＳ７０４で、制御回路２０１は、受信したフレーム４０４のＩＤフィールド４００ａに格納されているＩＤを自身のＩＤ（「１４」）に書き換えることによってフレーム４０５を生成し、このフレーム４０５を通信回路２０４へ渡す。ステップＳ７０５で、通信回路２０５は、受け取ったフレーム４０５をメインバス１０３へ送信する。
【００４４】
自身宛のフレーム４０４が流れていない場合（ステップＳ７０２で「ＮＯ」）に、ステップＳ７０６で、制御回路２０１は、Ｓ５０６でフレーム４０３を送信してから所定の時間が経過したか否かを判定する。所定の時間が経過したと判定された場合（ステップＳ７０６で「ＹＥＳ」）に、制御回路２０１は、スレーブＥＣＵ１１２から正常にフレーム４０４を受信できなかったと判断する。この場合に、制御回路２０１は、通信エラーを示す否定応答をデータフィールド４００ｂに格納したフレームを作成し、通信回路２０４に渡す。制御回路２０１は、このフレームのＩＤフィールド４００ａに、自身のＩＤ（「１４」）を格納する。その後、ステップＳ７０５で、通信回路２０５は、受け取ったフレーム４０５をメインバス１０３へ送信する。
【００４５】
所定の時間が経過していないと判定された場合（ステップＳ７０６で「ＮＯ」）に、制御回路２０１は処理をステップＳ７０２に戻し、スレーブＥＣＵからのフレームを待機する。この所定の時間として、フレーム４０１を受信後にフレーム４０６を送信完了するまでの時間（例えば、５０ｍｓ程度）を考慮してフレーム応答可能な時間が設定される。
【００４６】
上述の実施形態では、ＥＣＵがメインバス１０３とサブバス１１９、１２９との両方に接続される通信装置として機能する。これに代えて、専用の通信装置（すなわち、センサ２０６及びアクチュエータ２０７を有しない通信装置）がメインバス１０３とサブバス１１９、１２９との両方に接続され、図５及び図７のフローチャートの動作を行ってもよい。
【００４７】
＜実施形態のまとめ＞
［構成１］
第１通信路（例えば、１０３）及び第２通信路（例えば、１１９、１２９）に接続された第１通信装置（例えば、１１１、１２１）と、
前記第２通信路に接続された１つ以上の第２通信装置（例えば、１１２〜１１８、１２２〜１２８）とを備える通信システム（例えば、１００）であって、
前記第１通信装置は、
前記第１通信路との通信を行う第１通信手段（例えば、２０４）と、
前記第２通信路との通信を行う第２通信手段（例えば、２０５）と、
制御手段（例えば、２０１）とを備え、
前記制御手段は、
診断要求を格納した第１フレーム（例えば、４０２）を前記第１通信路から受信し、
前記１つ以上の第２通信装置のうち前記診断要求を処理すべき第２通信装置を特定し、
前記特定された第２通信装置の代わりに前記第１通信装置が前記診断要求を処理可能かを判定し、
前記診断要求を処理可能と判定された場合に、前記診断要求を処理することによって診断結果を取得し、
前記診断結果を格納した第２フレーム（例えば、４０５）を前記第１通信路へ送信することを特徴とする通信システム。
【００４８】
構成１によれば、通信システムの診断要求に対する応答時間を短縮できる。
【００４９】
［構成２］
構成１に記載の通信システムであって、
前記第１通信装置は、前記１つ以上の第２装置が保有するアプリケーションのうち少なくとも１つを保有し、
前記制御手段は、前記アプリケーションを、前記第１通信装置にて実行させることによって、前記診断結果を取得することを特徴とする通信システム。
【００５０】
構成２によれば、アプリケーションによって診断結果を取得する通信システムで上述の効果が得られる。
【００５１】
［構成３］
構成１又は２に記載の通信システムであって、
前記制御手段は、前記診断要求を処理可能でないと判定された場合に、前記診断要求を格納した第３フレーム（例えば、４０３）を前記第２通信路へ送信することを特徴とする通信システム。
【００５２】
構成３によれば、診断要求を第２通信装置に処理させることができる。
【００５３】
［構成４］
構成１乃至３の何れか１つに記載の通信システムであって、
前記制御手段は、
前記診断要求に対する診断結果を格納した第４フレーム（例えば、４０４）を前記第２通信路から受信し、
前記診断結果を格納した第５フレーム（例えば、４０５）を前記第１通信路へ送信することを特徴とする通信システム。
【００５４】
構成４によれば、同じ通信路を通じて診断結果を応答できる。
【００５５】
［構成５］
構成４に記載の通信システムであって、
前記制御手段は、前記第４フレームを前記第５フレームとして前記第１通信路へ送信することを特徴とする通信システム。
【００５６】
構成５によれば、新たなフレームを生成する必要がないので、応答時間を短縮できる。
【００５７】
［構成６］
構成１乃至５の何れか１つに記載の通信システムであって、
前記制御手段は、
前記特定された第２通信装置が前記第２通信路に接続されているかを判定し、
前記特定された第２通信装置が前記第２通信路に接続されていないと判定された場合に、否定応答を格納したフレームを前記第１通信路へ送信することを特徴とする通信システム。
【００５８】
構成６によれば、通信システムに含まれる第２通信装置に応じた適切な応答を生成できる。
【００５９】
［構成７］
構成１乃至６の何れか１つに記載の通信システムであって、
前記制御手段は、前記通信システムの外部にある診断装置（例えば、１３０）から前記第１フレームを受信することを特徴とする通信システム。
【００６０】
構成７によれば、外部にある診断装置から診断要求を受けることができる。
【００６１】
［構成８］
構成１乃至７の何れか１つに記載の通信システムであって、
前記１つ以上の第２通信装置はＥＣＵであることを特徴とする通信システム。
【００６２】
構成８によれば、ＥＣＵを用いた通信システムおいて上述の効果が得られる。
【００６３】
［構成９］
構成１乃至８の何れか１つに記載の通信システムであって、
前記第１通信装置はＥＣＵであることを特徴とする通信システム。
【００６４】
構成９によれば、上記の動作を行う第１通信装置をＥＣＵとして動作させることができる。
【００６５】
［構成１０］
構成１乃至９の何れか１つに記載の通信システムであって、
前記第１通信路及び前記第２通信路を通じた通信は、ＣＡＮ通信プロトコルに準拠することを特徴とする通信システム。
【００６６】
構成１０によれば、ＣＡＮ通信プロトコルに準拠した通信において上述の効果が得られる。
【００６７】
［構成１１］
構成１乃至１０の何れか１つに記載の通信システムであって、
車載ネットワークを構成することを特徴とする通信システム。
【００６８】
構成１１によれば、車両ネットワークにおいて上述の効果が得られる。
【００６９】
［構成１２］
構成１乃至１１の何れか１つに記載の通信システムであって、
前記１つ以上の第２通信装置は、パワートレイン機能に関する処理を行うことを特徴とする通信システム。
【００７０】
構成１２によれば、パワートレイン機能に関する処理を行う通信システムにおいて上述の効果が得られる。
【符号の説明】
【００７１】
１００  通信システム、１０３  メインバス、１１０  ブレーキ系ドメイン、１１１〜１１８  ＥＣＵ、１１９  サブバス、１２０  パワートレイン系ドメイン、１２１〜１２８  ＥＣＵ、１２９  サブバス、１３０  診断装置
【図１】
0006352325.tif 000002
【図２】
0006352325.tif 000003
【図３】
0006352325.tif 000004
【図４】
0006352325.tif 000005
【図５】
0006352325.tif 000006
【図６】
0006352325.tif 000007
【図７】
0006352325.tif 000008