(57)【要約】【課題】複数の端末の通信が完了するまでの時間を短縮する。【解決手段】実施形態の通信装置は、第１ビットよりも第２ビットが優先されるバスに接続される通信装置であって、取得部と生成部と送信部とを備える。取得部は第１情報を取得する。生成部は、予め定められた位置に第１情報が設定され、当該位置以外に、第１ビットを含む所定のビット列が設定された第２情報を生成する。送信部は第１領域に第２情報を含む通信データを送信する。【選択図】図２
2018082247.tif 000002
【特許請求の範囲】
【請求項１】
第１ビットよりも第２ビットが優先されるバスに接続される通信装置であって、
第１情報を取得する取得部と、
予め定められた位置に前記第１情報が設定され、前記位置以外に、前記第１ビットを含む所定のビット列が設定された第２情報を生成する生成部と、
第１領域に前記第２情報を含む通信データを送信する送信部と、
を備える通信装置。
【請求項２】
前記バスは、ＣＡＮ（Ｃｏｎｔｒｏｌｌｅｒ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）であり、
前記第１ビットは、リセッシブであり、
前記第２ビットは、ドミナントである、
請求項１に記載の通信装置。
【請求項３】
前記生成部は、前記第２情報に、スタッフビットが挿入されているか否かを示す制御情報を、前記通信データに含まれる第２領域に設定する、
請求項２に記載の通信装置。
【請求項４】
前記バスに接続されたゲートウェイから前記トリガ情報を受信する受信部を更に備え、
前記取得部は、前記トリガ情報に応じて、前記第１情報を取得し、
前記送信部は、前記通信データを前記ゲートウェイに送信する、
請求項１に記載の通信装置。
【請求項５】
前記バスに接続された第１通信装置から前記トリガ情報を受信する受信部を更に備え、
前記取得部は、前記トリガ情報に応じて、前記第１情報を取得し、
前記送信部は、前記通信データを第２通信装置に送信する、
請求項１に記載の通信装置。
【請求項６】
前記生成部は、前記トリガ情報に所定の識別情報が含まれている場合、前記第２情報を生成し、
前記送信部は、前記通信データを前記第２通信装置に送信する、
請求項５に記載の通信装置。
【請求項７】
前記生成部は、秘密鍵を使用してメッセージ識別子を生成し、前記第１情報として使用する、
請求項１に記載の通信装置。
【請求項８】
暗号鍵を使用して前記第１情報を暗号化する暗号処理部を更に備え、
前記生成部は、暗号化された前記第１情報を使用して前記第２情報を生成する、
請求項１に記載の通信装置。
【請求項９】
ゲートウェイと複数の通信装置とが、第１ビットよりも第２ビットが優先されるバスを介して接続される通信システムであって、
前記通信装置は、
第１情報を取得する取得部と、
前記通信装置毎に割り当てられた位置に前記第１情報が設定され、前記位置以外に、前記第１ビットが設定された第２情報を生成する第１生成部と、
第１領域に前記第２情報を含む通信データを前記バスに送信する送信部と、を備え、
前記ゲートウェイは、
前記バスから一の前記通信データを受信する第２受信部と、
前記第２情報を、それぞれの前記通信装置により設定された前記第１情報に分割する分割部と、
を備える通信システム。
【請求項１０】
前記ゲートウェイは、
通信データに含まれる第１領域のうち、前記通信装置毎に割り当てられた位置に、前記第１情報に基づく第３情報が設定され、前記位置以外の前記第１領域に、前記第１ビットを含む所定のビット列が設定された第４情報を生成する第２生成部と、
前記第４情報を含む通信データを前記バスに送信する送信部と、
前記第２情報に含まれる前記第１情報と、前記第４情報に含まれる前記第３情報とが重畳された重畳結果を含む通信データを前記バスから受信すると、前記重畳結果が、前記第１情報と前記第３情報とから決定される第５情報に一致するか否かを検査する検査部と、を更に備える、
請求項９に記載の通信システム。
【請求項１１】
第１ビットよりも第２ビットが優先されるバスに接続される通信装置の通信方法であって、
第１情報を取得するステップと、
予め定められた位置に前記第１情報が設定され、前記位置以外に、前記第１ビットを含む所定のビット列が設定された第２情報を生成するステップと、
第１領域に前記第２情報を含む通信データを送信するステップと、
を含む通信方法。
【請求項１２】
第１ビットよりも第２ビットが優先されるバスに接続される通信装置を、
第１情報を取得する取得部と、
予め定められた位置に前記第１情報が設定され、前記位置以外に、前記第１ビットを含む所定のビット列が設定された第２情報を生成する生成部と、
第１領域に前記第２情報を含む通信データを送信する送信部、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は通信装置、通信システム、通信方法及びプログラムに関する。
【背景技術】
【０００２】
自動車の車内システム、及び、自動車の制御システム等では、ＣＡＮ（Ｃｏｎｔｒｏｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）と呼ばれる通信路に、複数の端末（ＥＣＵ：Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｎｔｒｏｌｌｅｒ  Ｕｎｉｔ）が接続されている。ＣＡＮでは、主にバス型のネットワークトポロジーが採用されている。バス型のＣＡＮでは、各端末は、ブロードキャストチャネルを利用して、ターゲットとなる端末にデータを送信する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−６０４００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、ＣＡＮ等のブロードキャストチャネルでは、同時にデータを送信できる端末の数は１台に制限されていた。そのため、複数の端末がデータを送信する場合には、順番にデータを送信しなければならないため、複数の端末の通信が完了するまでに時間がかかっていた。
【課題を解決するための手段】
【０００５】
実施形態の通信装置は、第１ビットよりも第２ビットが優先されるバスに接続される通信装置であって、取得部と生成部と送信部とを備える。取得部は第１情報を取得する。生成部は、予め定められた位置に前記第１情報が設定され、前記位置以外に、前記第１ビットを含む所定のビット列が設定された第２情報を生成する。送信部は第１領域に前記第２情報を含む通信データを送信する。
【図面の簡単な説明】
【０００６】
【図１】第１実施形態の通信システムの装置構成の例を示す図。
【図２】第１実施形態の通信装置の機能構成の例を示す図。
【図３Ａ】第１実施形態のバスで送受信される通信データのデータフォーマットの例１を示す図。
【図３Ｂ】第１実施形態のバスで送受信される通信データのデータフォーマットの例２を示す図。
【図４】第１実施形態のゲートウェイの機能構成の例を示す図。
【図５】第１実施形態の通信装置の処理の例を示すフローチャート。
【図６】第１実施形態のゲートウェイの受信処理の例を示すフローチャート。
【図７】第１実施形態の変形例２の通信例を示す図。
【図８】第１実施形態の変形例２の通信装置の機能構成の例を示す図。
【図９】第１実施形態の変形例２の通信装置の受信処理の例を示すフローチャート。
【図１０】第１実施形態の変形例３の通信例を示す図。
【図１１】第１実施形態の変形例３の通信装置の処理の例を示すフローチャート。
【図１２】第２実施形態の通信装置の機能構成の例を示す図。
【図１３】第２実施形態のゲートウェイの機能構成の例を示す図。
【図１４】第２実施形態の通信装置の処理の例を示すフローチャート。
【図１５】第２実施形態のゲートウェイの認証処理の例を示すフローチャート。
【図１６】第２実施形態の変形例のゲートウェイの機能構成の例を示す図。
【図１７】第２実施形態の変形例の相互認証処理の例を示すシーケンス図。
【図１８】第３実施形態の通信装置の機能構成の例を示す図。
【図１９】第３実施形態のゲートウェイの機能構成の例を示す図。
【図２０】第３実施形態の通信装置の処理の例を示すフローチャート。
【図２１】第３実施形態のゲートウェイの受信処理の例を示すフローチャート。
【図２２】第１乃至第３実施形態のゲートウェイ及び通信装置のハードウェア構成の主要部の例を示す図。
【発明を実施するための形態】
【０００７】
以下に添付図面を参照して、通信装置、通信システム、通信方法及びプログラムの実施形態を詳細に説明する。
【０００８】
（第１実施形態）
はじめに、第１実施形態の通信システムの装置構成の例について説明する。
【０００９】
［通信システムの装置構成］
図１は、第１実施形態の通信システム１００の装置構成の例を示す図である。第１実施形態の通信システム１００は、ゲートウェイ１０、及び、端末２０ａ〜２０ｈを備える。端末２０ａ〜２０ｈのそれぞれは、通信装置３０ａ〜３０ｈを備える。
【００１０】
以下、端末２０ａ〜２０ｈを区別しない場合は、単に端末２０という。同様に、通信装置３０ａ〜３０ｈを区別しない場合は、単に通信装置３０という。
【００１１】
ゲートウェイ１０、及び、端末２０ａ〜２０ｈは、バス９０を介して接続されている。なおバス９０に接続される端末２０の数は任意でよい。バス９０の通信規格は、例えばＣＡＮである。第１実施形態の説明では、バス９０の通信規格がＣＡＮである場合を例にして説明する。本発明の実施形態は、ＣＡＮ−ＦＤ（ＣＡＮ  ｗｉｔｈ  Ｆｌｅｘｉｂｌｅ  Ｄａｔａ  Ｒａｔｅ）など、ＣＡＮと同様の性質をもつ他の通信規格に従うバスを利用してもよい。
【００１２】
ゲートウェイ１０は、ネットワーク２００と接続されている。ネットワーク２００の通信規格は、例えばイーサネット（登録商標）である。
【００１３】
第１実施形態の通信システム１００は、例えば自動車等の移動体の車内システムに使用される。第１実施形態の説明では、通信システム１００が、自動車の車内システムである場合を例にして説明する。第１実施形態の通信システム１００が、自動車の車内システムに使用される場合、例えばバス９０は、自動車の速度、及び、ハンドル角等の制御系の情報の送受信に使用される。また、ネットワーク２００は、カーナビに表示される映像等のマルチメディアの送受信に使用される。
【００１４】
ゲートウェイ１０は、バス９０を介した通信を制御する。またゲートウェイ１０は、ネットワーク２００に接続された装置と、バス９０に接続された端末２０と、の間の通信を仲介する。
【００１５】
端末２０ａ〜２０ｈは、例えばＥＣＵである。それぞれの端末２０は、センサ情報の取得、及び、ブレーキ等の装置の制御を行う。
【００１６】
通信装置３０は、端末２０の通信を制御する装置である。
【００１７】
次に、第１実施形態の通信装置３０の機能構成の例について説明する。
【００１８】
［通信装置の機能構成］
図２は第１実施形態の通信装置３０の機能構成の例を示す図である。第１実施形態の通信装置３０は、受信部３１、取得部３２、生成部３３、送信部３４及び検査部３５を備える。
【００１９】
受信部３１は、複数の通信装置３０（通信装置３０ａ〜３０ｈ）を対象にしたブロードキャスト通信により、ゲートウェイ１０からトリガ情報を受信する。
【００２０】
トリガ情報は任意でよい。トリガ情報は、例えば、端末２０（通信装置３０）の稼働状態を問い合わせる情報である。また例えば、トリガ情報は、端末２０（通信装置３０）のファームウェアのバージョン情報を問い合せる情報である。また例えば、トリガ情報は、端末２０により取得されたセンサ情報を問い合わせる情報である。センサ情報は、例えばハンドル角及び温度等である。
【００２１】
受信部３１は、ゲートウェイ１０からトリガ情報を受信すると、当該トリガ情報を取得部３２に入力する。
【００２２】
取得部３２は、受信部３１からトリガ情報を受信すると、当該トリガ情報に応じて、第１情報を取得する。
【００２３】
第１情報は、トリガ情報のレスポンスとして送信される情報である。例えば、トリガ情報が端末２０の稼働状態を問い合わせる情報である場合、第１情報は、１（稼働）又は０（非稼働）等である。また例えば、トリガ情報が端末２０のファームウェアのバージョン情報を問い合わせる情報である場合、第１情報は０ｘ１Ａ（バージョンが１０進で２６）等である。また例えば、トリガ情報が、端末２０により取得されたセンサ情報を問い合わせる情報である場合、第１情報は、０ｘ２１Ｃ（ハンドル角が１０進で５４０度）、及び、０ｘ５５（温度が８５℃）等である。
【００２４】
なおトリガ情報は、応答対象の端末２０を特定する情報、及び、取得対象の第１情報を特定する情報を含んでいてもよい。
【００２５】
また第１情報には、複数の異なる種別の情報が含まれていてもよい。例えば、第１情報に、端末２０のファームウェアのバージョン情報と、センサ情報と、が含まれていてもよい。
【００２６】
取得部３２は、第１情報を生成部３３に入力する。
【００２７】
生成部３３は、取得部３２から第１情報を受け付けると、当該第１情報を使用して第２情報を生成する。第２情報は、通信装置３０からバス９０を介してゲートウェイ１０に送信される情報である。第２情報は、バス９０で送受信される通信データのデータフォーマットに載せて送信される。
【００２８】
ここで、第１実施形態のバス９０で送受信される通信データのデータフォーマットの例について説明する。
【００２９】
＜データフォーマットの例＞
図３Ａは第１実施形態のバス９０で送受信される通信データのデータフォーマットの例１を示す図である。図３Ａは、バス９０で送受信される通信データのデータフォーマットが、ＣＡＮで使用される標準フォーマットである場合を示す。図３Ａの例では、第２情報が設定される領域（第１領域）は、例えばデータフィールド２０１ａである。
【００３０】
ＣＡＮでは、ドミナント（情報としては０）、及び、リセッシブ（情報としては１）の２つの状態の電気的な遷移を利用して、情報が送受信される。また、ＣＡＮでは、ドミナントによりリセッシブが上書きされるという特徴がある。
【００３１】
なおバス９０の通信規格は、ＣＡＮに限られず、第１ビット（例えば１）よりも第２ビット（例えば０）が優先されるバスであれば任意でよい。
【００３２】
＜第２情報の送信処理＞
生成部３３は、データフィールド２０１ａに、第１情報を設定する。具体的には、生成部３３は、データフィールド２０１ａのうち、予め定められた位置（自装置に割り当てられた位置）に第１情報を設定する。
【００３３】
例えば、第１情報のデータサイズが１バイトであり、８バイトのデータフィールドの１バイト目が通信装置３０ａ（端末２０ａ）に割り当てられている場合、通信装置３０ａ（端末２０ａ）の生成部３３は、データフィールド２０１ａの１バイト目の位置に第１情報を設定する。同様に、端末２０ｂの生成部３３は、データフィールド２０１ａの２バイト目の位置に第１情報を設定する。端末２０ｃの生成部３３は、データフィールド２０１ａの３バイト目の位置に第１情報を設定する。端末２０ｄの生成部３３は、データフィールド２０１ａの４バイト目の位置に第１情報を設定する。端末２０ｅの生成部３３は、データフィールド２０１ａの５バイト目の位置に第１情報を設定する。端末２０ｆの生成部３３は、データフィールド２０１ａの６バイト目の位置に第１情報を設定する。端末２０ｇの生成部３３は、データフィールド２０１ａの７バイト目の位置に第１情報を設定する。端末２０ｈの生成部３３は、データフィールド２０１ａの８バイト目の位置に第１情報を設定する。
【００３４】
また生成部３３は、第１情報が設定された位置以外のデータフィールド２０１ａに、リセッシブを設定する。
【００３５】
例えば、第１情報のデータサイズが１バイトの場合、通信装置３０ａ（端末２０ａ）の生成部３３は、データフィールド２０１ａの２〜８バイト目の位置にリセッシブ（０ｘＦＦ）を設定する。また例えば、端末２０ｂの生成部３３は、データフィールド２０１ａの１バイト目、及び、３〜８バイト目の位置にリセッシブを設定する。また例えば、端末２０ｃの生成部３３は、データフィールド２０１ａの１〜２バイト目、及び、４〜８バイト目の位置にリセッシブを設定する。
【００３６】
すなわち上述の通信装置３０ａ（端末２０ａ）の生成部３３は、第２情報として、０ｘ（Ｒ１）ＦＦＦＦＦＦ  ＦＦＦＦＦＦＦＦ（８バイトの１６進数）を生成する。ここで、Ｒ１は、端末２０ａにより取得された第１情報（１バイトの値を含む変数）を示す。また、上述の端末２０ｃの生成部３３は、第２情報として、０ｘＦＦＦＦ（Ｒ３）ＦＦ  ＦＦＦＦＦＦＦＦ（８バイトの１６進数）を生成する。ここで、Ｒ３は、端末２０ｃにより取得された第１情報（１バイトの値を含む変数）を示す。
【００３７】
これにより、データフィールド２０１ａに含まれる各バイトには、ある１つの端末２０により取得された第１情報が設定される。
【００３８】
生成部３３は、第２情報を含む通信データを送信部３４に入力する。
【００３９】
送信部３４は、生成部３３から通信データを受け付けると、当該通信データを、バス９０を介してゲートウェイ１０に送信する。
【００４０】
各通信装置３０ａ〜３０ｈは、データフィールド２０１ａ以外のフィールドには予め定められたデータを設定する。各通信装置３０ａ〜３０ｈによりバス９０上に送信された通信データは、ドミナント及びリセッシブの関係から、データフィールド２０１ａ以外のフィールドの値は書き換わることなく、ゲートウェイ１０に到達する。
【００４１】
また、ある通信装置２０によりデータフィールド２０１ａに設定された１バイトの第１情報は、他の通信装置３０により設定されたリセッシブ（０ｘＦＦ）と、バス９０上で重畳される。ドミナント及びリセッシブの関係から、通信データに含まれる第１情報は、値が変更されずに、ゲートウェイ１０に到達する。
【００４２】
なお通信データのデータフォーマットは、図３Ａのデータフォーマットに限られない。
【００４３】
図３Ｂは第１実施形態のバス９０で送受信される通信データのデータフォーマットの例２を示す図である。図３Ｂは、第２情報のバス９０で送受信される通信データのデータフォーマットが、ＣＡＮで使用される拡張フォーマットである場合を示す。図３Ｂの例では、第２情報が設定される領域は、例えばデータフィールド２０１ｂである。
【００４４】
次に通信データの検査処理について説明する。
【００４５】
＜通信データの検査処理＞
受信部３１は、送信部３４により通信データがバス９０に送信された後、バス９０から、他の通信装置３０により重畳された通信データを受信する。受信部３１は、通信データを検査部３５に入力する。
【００４６】
検査部３５は、受信部３１から受け付けた通信データと、送信部３４により送信された通信データと、を比較することにより、受信部３１から受け付けた通信データが正常であるか否かを検査する。
【００４７】
はじめに、検査部３５は、データフィールド２０１ａ以外のフィールドに設定されたそれぞれの値が一致しているか否かを比較する。検査部３５は、一致していない値がある場合、異常処理を行う。異常処理は、異常を示す異常情報をゲートウェイ１０に送信する処理である。異常情報は、例えば複数のドミナント（例えば連続する６個の０）である。
【００４８】
次に、検査部３５は、受信部３１から受け付けた通信データのデータフィールド２０１ａのうち、自装置により設定された第１情報が正常であるか否かを検査する。第１情報が正常でない場合は、例えば当該第１情報が何らかの異常により書き換えられている等の場合である。検査部３５は、第１情報が正常でない場合、上述の異常処理を行う。
【００４９】
次に、第１実施形態のゲートウェイ１０の機能構成の例について説明する。
【００５０】
［ゲートウェイの機能構成］
図４は第１実施形態のゲートウェイ１０の機能構成の例を示す図である。第１実施形態のゲートウェイ１０は、送信部１１、受信部１２、検査部１３及び分割部１４を備える。
【００５１】
送信部１１は、複数の通信装置３０（通信装置３０ａ〜３０ｈ）を対象にしたブロードキャスト通信により、上述のトリガ情報を送信する。
【００５２】
受信部１２は、通信装置３０ａ〜３０ｈにより、バス９０上で重畳された一の通信データを、バス９０から受信すると、当該通信データを検査部１３に入力する。
【００５３】
検査部１３は、受信部１２から通信データを受信すると、当該通信データが正常であるか否かを検査する。検査部１３は、通信データが異常である場合、異常処理を実行する。
【００５４】
＜通信データが異常である場合の例＞
検査部１３は、例えば上述の異常情報が通信データに含まれる場合、当該通信データが異常であると判定する。また例えば、検査部１３は、通信データに含まれるＥＯＦの値に不整合がある場合、当該通信データが異常であると判定する。
【００５５】
なお検査部１３は、データフィールド２０１ａが複数の通信端末３０により書き込まれるため、図３ＡのＣＲＣシーケンスが格納されるフィールドは参照しない。
【００５６】
＜異常処理の例＞
検査部１３は、通信データが異常である場合、例えばトリガ情報を再送する再送処理を実行する。また例えば、検査部１３は、通信データが異常である場合、異常を示す情報を外部に出力する。具体的には、検査部１３は、例えば運転席のダッシュボードに配置された異常ランプを点灯させる。また例えば、検査部１３は、検査用のＯＢＤ−ＩＩポートに異常メッセージを出力する。なお検査部１３は、通信データが異常である場合、再送処理等を実行せずに、待機してもよい。
【００５７】
分割部１４は、通信データが正常である場合、当該通信データのデータフィールド２０１ａに設定された第２情報を、それぞれの通信装置３０により設定された第１情報に分割する。
【００５８】
次に、フローチャートを参照して、第１実施形態の通信処理の例について説明する。
【００５９】
［通信装置の処理］
図５は第１実施形態の通信装置３０の処理の例を示すフローチャートである。はじめに、受信部３１が、ゲートウェイ１０から上述のトリガ情報を受信する（ステップＳ１）。次に、取得部３２が、ステップＳ１の処理により受信されたトリガ情報に応じて、上述の第１情報（端末２０により取得されたセンサ情報等）を取得する（ステップＳ２）。
【００６０】
次に、生成部３３が、第１情報を使用して上述の第２情報を生成する（ステップＳ３）。次に、送信部３４が、ステップＳ３の処理により生成された第２情報を含む通信データを、バス９０を介してゲートウェイ１０に送信する（ステップＳ４）。
【００６１】
次に、受信部３１が、ステップＳ４の処理により通信データがバス９０に送信された後に、他の通信装置３０により重畳された通信データを、バス９０から受信する（ステップＳ５）。
【００６２】
次に、検査部３５が、ステップＳ５の処理により受信された通信データのうち、データフィールド２０１ａ以外の値が正常であるか否かを検査する（ステップＳ６）。
【００６３】
データフィールド２０１ａ以外の値が正常である場合（ステップＳ６、Ｙｅｓ）、処理はステップＳ７に進む。データフィールド２０１ａ以外の値が正常でない場合（ステップＳ６、Ｎｏ）、検査部３５は、上述の異常処理を実行する（ステップＳ８）。
【００６４】
次に、検査部３５が、ステップＳ５の処理により受信された通信データのうち、自装置により設定された第１情報が正常であるか否かを検査する（ステップＳ７）。
【００６５】
第１情報が正常である場合（ステップＳ７、Ｙｅｓ）、処理は終了する。第１情報が正常でない場合（ステップＳ７、Ｎｏ）、検査部３５は、上述の異常処理を実行する（ステップＳ８）。
【００６６】
［ゲートウェイの受信処理］
図６は第１実施形態のゲートウェイ１０の受信処理の例を示すフローチャートである。はじめに、受信部１２が、バス９０から通信データを受信する（ステップＳ２１）。
【００６７】
次に、検査部１３が、ステップＳ２１の処理により受信された通信データが正常であるか否かを検査する（ステップＳ２２）。
【００６８】
通信データが正常でない場合（ステップＳ２２、Ｎｏ）、検査部１３は、上述の異常処理を実行する（ステップＳ２３）。
【００６９】
通信データが正常である場合（ステップＳ２２、Ｙｅｓ）、分割部１４が、当該通信データのデータフィールド２０１ａに設定された第２情報を、それぞれの通信装置３０により設定された第１情報に分割する（ステップＳ２４）。
【００７０】
なお上述のステップＳ２２及びステップＳ２４において、通信データが正常である場合に、送信部１１が通信装置３０（端末２０）に受信完了の通知を行ってもよい。
【００７１】
受信完了の通知は、例えば第１情報が正しく受信できたことを示すフラグ情報を含んでもよい。第１情報が正しく受信できた場合は、例えばリセッシブ以外の情報を受信できた場合である。また例えば、第１情報が正しく受信できた場合は、適正な範囲のデータを受信できた場合である。
【００７２】
ここで、フラグ情報は、ゲートウェイ１０により受信された複数の通信データに対する受信の成否を示すものであってもよい。例えば、１つの通信データを利用して８台の端末２０の第１情報を受信できる場合、２つの通信データに対する受信の成否をまとめて示してもよい。この場合、フラグ情報は、例えば合計１６個の端末２０の第１情報の受信成否を表す１６ビットの情報を含む。例えば１６ビットのフラグ情報のうち、ビットが０の位置に対応する端末２０から送信された第１情報の受信は失敗を示し、ビットが１の位置に対応する端末２０から送信された第１情報の受信は成功を示す。送信部１１は、ビットが０の位置に対応する端末２０に、改めてトリガ情報を送信してもよい。
【００７３】
以上説明したように、第１実施形態の通信システム１００では、通信装置３０ａ〜３０ｆが、データフィールド２０１ａのうち、自装置に割り当てられた位置に第１情報が設定され、当該位置以外のデータフィールド２０１ａにリセッシブが設定された第２情報を生成する。
【００７４】
これにより第１実施形態の通信システム１００によれば、単一の通信データのデータフィールド２０１ａを利用して、複数の通信装置３０（端末２０）が同時に通信することができる。すなわち第１実施形態の通信装置１００によれば、複数の通信装置３０（端末２０）が通信を完了するまでの時間を、通信装置３０毎に個別の通信データのデータフィールド２０１ａを利用する場合に比べて、短縮することができる。
【００７５】
なお第１実施形態の説明では、通信システム１００が、自動車の車内システムである場合を例にして説明したが、第１実施形態の通信システム１００は、他の制御システムに対しても適用が可能である。
【００７６】
また第１実施形態の説明では、第２情報の領域として、８バイトのデータフィールド２０１ａが使用される場合について説明した。しかしながら、第２情報の領域として、データフィールド２０１ａのうち、８バイト未満の長さの領域が指定されてもよい。
【００７７】
また第２情報の領域として、データフィールド２０１ａ以外のフィールドが使用されてもよい。例えば第２情報の領域として、１８ビットの拡張ＩＤフィールド（図３Ｂ参照）が使用されてもよい。
【００７８】
また第１実施形態の説明では、データフィールド２０１ａを等分することにより、８台の端末２０（通信装置３０）に、第１情報の領域を１バイトずつ割り当てる場合について説明した。しかしながら、第１情報の領域として、８台未満または８台以上の端末２０（通信装置３０）に、任意の長さに分割されたデータフィールド２０１ａ、または、任意の長さに分割された拡張ＩＤフィールド等を、割り当ててもよい。
【００７９】
なお第１実施形態の説明では、ゲートウェイ１０により送信されたトリガ情報に応じて、通信装置３０ａ〜３０ｈが処理を開始する場合について説明した。しかしながら、通信装置３０ａ〜３０ｈが、所定のタイミングで、第１情報の取得、及び、第２情報を含む通信データの送信をしてもよい。所定のタイミングは、例えばイグニッションがオンにされた直後、及び、定期的なタイミング等である。この場合には、トリガ情報の送受信は省略されてもよい。
【００８０】
なお第１実施形態の通信システム１００では、異なる通信装置３０により送信された第１情報の組合せによっては、ＣＡＮの仕様で不正とされる状態（例えば、同じ状態が連続して６回以上現れる）となりうる。このような場合には、ステップＳ８の処理により端末３０により設定される異常情報と区別がつかない。そのためゲートウェイ１０は、通信データを正常に受信することができない。このような場合に対しては、本実施形態の適用を示す特定のＩＤが付与されたメッセージに対しては、ＣＡＮの使用で不正とされる状態を無視してもよい。あるいは、ゲートウェイ１０の送信部１１が、データフィールド２０１ａに第１情報を配置する端末２０の割当の順番を入れ替えて第１情報の再送を要求する再送要求を送信してもよい。
【００８１】
（第１実施形態の変形例１）
次に第１実施形態の変形例１について説明する。第１実施形態の変形例１の説明では、第１実施形態と同様の説明については省略し、第１実施形態と異なる箇所について説明する。第１実施形態の変形例１のバス９０の通信規格には、第１実施形態の場合と同様に、ＣＡＮが使用される。
【００８２】
一般に、ＣＡＮでは、ＣＡＮに接続される端末２０の同期ずれを防止するために、同じ状態が５回続いたら、スタッフビットと呼ばれる反転した状態のビットが挿入される。例えば、送信側の端末２０がリセッシブを６回（１１１１１１）続けて送る場合には、スタッフビットはドミナント（０）である。したがって、送信者側の端末２０は、リセッシブを６回（１１１１１１）続けて送る場合には、６番目のビットとしてドミナントが挿入された１１１１１０１を送信する。
【００８３】
受信側の端末２０は、１１１１１０１を受信すると、連続して５回続くリセッシブ（１１１１１）の次のビットを、スタッフビットとして挿入されたドミナント（０）であると判定する。すなわち受信側の端末２０は、連続して５回続くリセッシブ（１１１１１）に、スタッフビットの次のリセッシブ（１）を加えて、６回連続するリセッシブ（１１１１１１）をメッセージとみなす。
【００８４】
第１実施形態では、各通信装置３０が、データフィールド２０１ａのうち、自装置の第１情報の領域として割り当てられていない領域に、リセッシブ（０ｘＦＦ）を設定する例を説明した。しかしながら、従来のＣＡＮのスタッフビットの挿入規則に従う場合には、各通信装置３０の送信部３４は、連続して５回続くリセッシブ（１１１１１）を送信する際に、スタッフビットを挿入する必要がある。これにより第１情報を書き込むべき領域の同期が、それぞれの通信装置３０の間で取れなくなる。
【００８５】
第１実施形態の変形例１の生成部３３は、第２情報を生成する際に、リセッシブだけでなくドミナントも含む所定のビット列を、自装置の第１情報の領域として割り当てられていない領域に設定する。
【００８６】
例えば生成部３３は、リセッシブ（０ｘＦＦ）を設定する代わりに、所定のビット列として、ドミナントも含む０ｘＥＥを、自装置の第１情報の領域として割り当てられていない領域に設定する。
【００８７】
第１情報のデータサイズが１バイトの場合、例えば通信装置３０ａ（端末２０ａ）の生成部３３は、データフィールド２０１ａの２〜８バイト目の位置に０ｘＥＥを設定する。すなわち上述の通信装置３０ａ（端末２０ａ）の生成部３３は、第２情報として、０ｘ（Ｒ１）ＥＥＥＥＥＥ  ＥＥＥＥＥＥＥＥ（８バイトの１６進数）を生成する。ここで、Ｒ１は、端末２０ａにより取得された第１情報（１バイトの値を含む変数）を示す。
【００８８】
このとき、Ｒ１の上位ビットから数えて第４ビット及び第８ビットは、他の通信装置３０（通信装置３０ｂ〜３０ｈ）により設定された０ｘＥＥのドミナント（０）により上書きされる。そのため、Ｒ１として送信できる情報は、第１〜第３ビット、及び、第５〜第７ビットの６ビットの情報となる。
【００８９】
あるいは、Ｒ１の上位ビットから数えて第３，４ビット及び第７，８ビットは、１，０，１，０に固定し、Ｒ１として送信できる情報は第１〜２ビット、及び第５〜６ビットの４ビットの情報としてもよい。このように送信できる情報を制限することで、送信したいデータによらず、０または１は高々３回しか続けて現れないため、スタッフビットが挿入されることはない。
【００９０】
あるいは、生成部３３は、上述の０ｘＥＥの代わりに、所定のビット列として、０ｘ７７及び０ｘＢＢ等を、自装置の第１情報の領域として割り当てられていない領域に設定してもよい。そのような所定のビット列を用いる場合にも、送信できる情報を制限することで、スタッフビットの挿入を回避することができる。
【００９１】
また、生成部３３は、１バイト毎に定められた所定のビット列ではなく、以下のようなビット列を使用してもよい。例えば生成部３３は、１１１１  ０１１１  １０１１  １１０１  １１１０  １１１１  ０１１１  １０１１  １１０１  １１１０  １１１１  ０１１１  １０１１  １１０１  １１１０  １１１１（２進数）＝０ｘＦ７ＢＤ  ＥＦ７Ｂ  ＤＥＦ７  ＢＤＥＦ（１６進数）を使用してもよい。この例では、１バイト目に第１情報を記憶しない通信装置３０の生成部３３は、第１実施形態のリセッシブ（０ｘＦＦ）の代わりに、０ｘＦ７を設定する。また２バイト目に第１情報を記憶しない通信装置３０の生成部３３は、第１実施形態のリセッシブ（０ｘＦＦ）の代わりに、０ｘＢＤを設定する。
【００９２】
上述の０ｘＦ７ＢＤ  ＥＦ７Ｂ  ＤＥＦ７  ＢＤＥＦ（１６進数）を使用する場合でも、例えば、Ｒ１として送信できる情報を第１〜３ビット及び第６〜８ビットに、Ｒ２として送信できる情報を第３〜６ビットに、というように、送信できる情報を制限することで、スタッフビットの挿入を回避することができる。
【００９３】
しかしながら、上述のようにスタッフビットの挿入を回避できるように送信できる情報を制限しないと、生成部３３が、リセッシブ（０ｘＦＦ）の代わりに、所定のビット列として、上述の０ｘＥＥ等を使用しても、スタッフビットの影響を受けうる場合が２通り存在する。
【００９４】
一つは、ある通信装置３０の第１情報のビット列と、所定のビット列（０ｘＥＥ等）とを重畳した結果が、スタッフビットを挿入する条件を成立させる場合である。
【００９５】
もう一つは、異なる通信装置３０により設定された第１情報の組合せにより、異なる通信装置３０に割り当てられた領域をまたぐビット列が、スタッフビットを挿入する条件を成立させる場合である。
【００９６】
＜スタッフビットを考慮する処理＞
前者の場合には、それぞれの通信装置３０の生成部３３が、スタッフビットを考慮して、第１情報と、所定のビット列とから第２情報を生成する。例えば、所定のビット列が０ｘＥＥ（１１１０  １１１０）であり、かつ、第１情報が００００１１である場合、１〜３ビット目の１、及び、５〜７ビット目の１と、０００００１が重畳される。したがって得られるビット列は、０００「０」  ０１１「０」（２進数）である。ここで、「０」は０ｘＥＥのドミナントから確定する０を示す。この場合、０が５個連続するため、スタッフビットを挿入する条件が成立する。
【００９７】
そこで生成部３３は、第２情報を生成する際に、スタッフビットを考慮して、０００「０」  ＜１＞０１「０」（２進数）を生成してもよい。＜１＞はスタッフビットを示す。このような場面では、１ビットのスタッフビットが挿入されるため、第１情報として送信できるビットが１ビット減少する。第１情報が００００１１である場合の例では、送信できる第１情報は５ビット（００００１）となる。したがって、スタッフビットを考慮する処理が行われる場合は、第１情報として使用できるビット列は上位５ビットとなる。
【００９８】
一方、例えば、所定のビット列が０ｘＥＥであり、かつ、第１情報が０００１０１である場合、所定のビット列と第１情報とが重畳された場合に得られるビット列は、０００「０」  １０１「０」（２進数）である。ここで、「０」は０ｘＥＥのドミナントから確定する０を示す。この場合、連続する０の数は４つのため、スタッフビットを挿入する条件は成立しない。そのため、第１情報が００００１１である上述の場合と異なり、１ビットのスタッフビットを挿入する必要がない。
【００９９】
しかしながら、生成部３３は、第１情報が上述の００００１１である場合に、１ビットのスタッフビットが挿入された０００「０」  ＜１＞０１「０」（２進数）と区別する必要がある。そのため、生成部３３は、本来は不要となるスタッフビット＜１＞を挿入して、０００「０」  ＜１＞１０「０」を生成してもよい。すなわち、第１情報が上述の００００１１である場合と同様に、１ビットのスタッフビットが挿入されるため、第１情報として送信できるビットが１ビット減少する。第１情報が０００１０１である場合の例では、送信できる第１情報は５ビット（０００１０）となる。したがって、スタッフビットを考慮する処理が行われる場合は、第１情報として使用できるビット列は上位５ビットとなる。
【０１００】
あるいは、生成部３３は、第２情報にスタッフビットが挿入されているか否かを示す制御情報を、通信データに含まれる第２領域に設定してもよい。
【０１０１】
第２領域は、通信データのデータフォーマットが、図３Ｂの拡張フォーマットである場合、例えばＣＡＮ−ＩＤの拡張領域（１８ビットの拡張ＩＤ）である。
【０１０２】
制御情報は、例えばビットフラグである。例えばビットフラグが１の場合、上述のスタッフビットを考慮する処理が行われていることを示し、ビットフラグが０の場合、上述のスタッフビットを考慮する処理が行われていないことを示す。
【０１０３】
ビットフラグが１の場合、生成部３３は、ビット列００００１１のように、スタッフビット対策が必要な場合には、スタッフビット＜１＞が挿入された０００「０」  ＜１＞０１「０」を生成し、ビット列０００１０１のように、スタッフビット対策が不要な場合にも、スタッフビット＜１＞が挿入された０００「０」  ＜１＞１０「０」を生成する。
【０１０４】
受信側の通信装置３０は、通信データの第２領域に含まれる制御情報を参照することにより、第１情報として参照するビット列の長さを決定する。
【０１０５】
ある通信装置３０が設定した第１情報と、当該装置以外の通信装置３０により設定された所定のビット列とが連結されることにより、第２情報に同じビットが５つ連続する箇所が生じる場合には、ゲートウェイ１０は各通信装置にメッセージの再送を指示してもよい。メッセージの再送の際には、各通信装置が第１情報を設定する位置を変更してもよいし、上述のようにスタッフビットの挿入を回避できるように送信できるビット数を制限してもよい。
【０１０６】
以上説明したように、第１実施形態の変形例１によれば、第１実施形態と同様の効果が得られるとともに、スタッフビットの影響を考慮することができる。
【０１０７】
（第１実施形態の変形例２）
次に第１実施形態の変形例２について説明する。第１実施形態の変形例２の説明では、第１実施形態と同様の説明にいては省略し、第１実施形態と異なる箇所について説明する。第１実施形態の変形例２の説明では、複数の通信装置３０の間で、上述の通信データを送受信する場合について説明する。第１実施形態の変形例２のバス９０の通信規格には、第１実施形態の場合と同様に、ＣＡＮが使用される。
【０１０８】
［通信例］
図７は第１実施形態の変形例２の通信例を示す図である。図７は、通信の順序を模式的に示す図であり、ゲートウェイ１０、及び、端末２０ａ〜２０ｈは上述の図１のバス９０を介して接続されている。図７の例は、トリガ情報が、ゲートウェイ１０から通信装置３０ａ〜３０ｆに送信される場合を示す。ここでトリガ情報は、通信装置３０間の通信を促すメッセージである。なおトリガ情報の送信は省略されてもよい。例えば通信すべき情報及びタイミング等が、複数の通信装置３０で予め共有されている場合、トリガ情報の送信は省略されてもよい。
【０１０９】
また図７の例は、通信装置３０ａ〜３０ｆにより設定された第２情報を含む通信データが、通信装置３０ｇ及び３０ｈに送信される場合を示す。
【０１１０】
ゲートウェイ１０が、トリガ情報として、例えばイグニッションオン時の初期化を示す信号を、通信装置３０ａ〜３０ｆに送信する場合について説明する。
【０１１１】
例えば端末２０ａが、ステアリングに付随する装置であり、端末２０ｂが、ワイパー操作機構に付随する装置であり、端末２０ｇがステアリングを制御する装置であり、端末３０ｈが、ワイパーの操作を制御する装置である場合について、具体的に説明する。
【０１１２】
端末２０ａの通信装置３０ａは、ゲートウェイ１０から、トリガ情報として、イグニッションオン時の初期化を示す信号を受信すると、データフィールド２０１ａの１バイト目に、現在の操舵角を表す第１情報を含む通信データを、端末２０ｇの通信装置３０ｇに送信する。
【０１１３】
また、端末２０ｂの通信装置３０ｂは、ゲートウェイ１０から、トリガ情報として、イグニッションオン時の初期化を示す信号を受信すると、データフィールド２０１ａの２バイト目に、現在のワイパーの状態を表す第１情報を含む通信データを、端末２０ｈの通信装置３０ｈに送信する。
【０１１４】
なお通信データの送信先は、通信装置３０ｇ及び通信装置３０ｈに限らず、任意でよい。例えば通信データの送信先に、ゲートウェイ１０が含まれていてもよい。
【０１１５】
［通信装置の機能構成］
図８は第１実施形態の変形例２の通信装置３０の機能構成の例を示す図である。第１実施形態の変形例２の通信装置３０は、受信部３１、取得部３２、生成部３３、送信部３４、検査部３５及び分割部３６を備える。第１実施形態の変形例２の通信装置３０は、第１実施形態の通信装置３０の機能構成に更に分割部３６が追加されている。
【０１１６】
＜通信データの受信処理＞
受信部３１は、自装置以外の他の通信装置３０から、上述の通信データを受信すると、当該通信データを検査部３５に入力する。
【０１１７】
検査部３５は、受信部３１から通信データを受け付けると、当該通信データが正常であるか否かを検査する。なお検査方法の説明は、第１実施形態のゲートウェイ１０の検査部１３の場合と同じなので省略する。
【０１１８】
分割部３６は、通信データが正常である場合、当該通信データのデータフィールド２０１ａに設定された第２情報を、それぞれの通信装置３０により設定された第１情報に分割する。そして、分割部３６は、第２情報が分割されることにより得られた複数の第１情報のうち、自装置で取得対象の第１情報を取得する。
【０１１９】
次に、フローチャートを参照して、第１実施形態の変形例２の通信装置３０の受信処理の例について説明する。
【０１２０】
［通信装置の受信処理］
図９は第１実施形態の変形例２の通信装置３０の受信処理の例を示すフローチャートである。ステップＳ３１〜ステップＳ３４の処理の説明は、第１実施形態のゲートウェイ１０の受信処理のステップＳ２１〜ステップＳ２４の説明と同様なので省略する。
【０１２１】
分割部３６は、ステップＳ３４の処理によって第２情報が分割されることにより得られた複数の第１情報のうち、自装置で取得対象の第１情報を取得する（ステップＳ３５）。
【０１２２】
以上説明したように、第１実施形態の変形例２によれば、第１実施形態と同様の効果が得られる。すなわち複数の通信装置３０（端末２０）が通信を完了するまでの時間を、通信装置３０毎に個別の通信データのデータフィールド２０１ａを利用する場合に比べて、短縮することができる。
【０１２３】
（第１実施形態の変形例３）
次に第１実施形態の変形例３について説明する。第１実施形態の変形例３の説明では、第１実施形態の変形例２と同様の説明については省略し、第１実施形態の変形例２と異なる箇所について説明する。第１実施形態の変形例３の説明では、ゲートウェイ１０ではなく、通信装置３０がトリガ情報を送信する場合について説明する。第１実施形態の変形例３のバス９０の通信規格には、第１実施形態の場合と同様に、ＣＡＮが使用される。
【０１２４】
［通信例］
図１０は第１実施形態の変形例３の通信例を示す図である。図１０は、通信の順序を模式的に示す図であり、ゲートウェイ１０、及び、端末２０ａ〜２０ｈは上述の図１のバス９０を介して接続されている。図１０の例は、トリガ情報が、通信装置３０ａから通信装置３０ｂ〜３０ｆに送信される場合を示す。
【０１２５】
第１実施形態の変形例３のトリガ情報は、所定の識別情報を含む。所定の識別情報は、例えばＣＡＮ通信の通信データに含まれるＣＡＮ−ＩＤである。例えば所定のＣＡＮ−ＩＤに、通信装置３０ｂが、端末２０ｂのセンサにより読み取られたセンサ情報を、通信装置３０ｇに送信する処理の処理要求を対応させる。このとき、例えばデータフィールド２０１ａの一部の領域（例えば上位４バイト）にはセンサ情報が書き込まれ、残りの領域（下位４バイト）にはリセッシブ（０ｘＦＦ）が書き込まれる。
【０１２６】
また図１０の例は、通信装置３０ｂ〜３０ｆにより設定された第２情報を含む通信データが、通信装置３０ｇ及び３０ｈに送信される場合を示す。
【０１２７】
なお通信データの送信先は、通信装置３０ｇ及び通信装置３０ｈに限らず、任意でよい。例えば通信データの送信先に、通信装置３０ａが含まれていてもよい。
【０１２８】
次に、フローチャートを参照して、第１実施形態の変形例３の通信処理の例について説明する。
【０１２９】
［通信装置の処理］
図１１は第１実施形態の変形例３の通信装置３０ｂの処理の例を示すフローチャートである。通信装置３０ｂが、通信装置３０ａから受信したトリガ情報に応じて、通信データを通信装置３０ｇに送信する場合を例にして説明する。
【０１３０】
はじめに、受信部３１が、通信装置３０ａから上述のトリガ情報を受信する（ステップＳ４１−１）。
【０１３１】
次に、受信部３１が、ステップＳ４１−１の処理により受信されたトリガ情報に、所定の識別情報（ＣＡＮ−ＩＤ等）が含まれているか否かを判定する（ステップＳ４１−２）。
【０１３２】
所定の識別情報を含まない場合（ステップＳ４１−２、Ｎｏ）、処理は終了する。
【０１３３】
所定の識別情報を含む場合（ステップＳ４１−２、Ｙｅｓ）、取得部３２が、ステップＳ４１−１の処理により受信されたトリガ情報に応じて、上述の第１情報（端末２０ｂにより取得されたセンサ情報等）を取得する（ステップＳ４２）。
【０１３４】
次に、生成部３３が、第１情報を使用して第２情報を生成する（ステップＳ４３）。
【０１３５】
次に、送信部３４が、ステップＳ４３の処理により生成された第２情報を含む通信データを、バス９０を介して通信装置３０ｇに送信する（ステップＳ４４）。
【０１３６】
なお、通信装置３０ｂは、トリガ情報を含むバス９０上の通信データに、第２情報を書き加えたこと（正確には、データフィールド２０１ａでリセッシブが書き込まれた領域に、第１情報を書き加えたこと）を示す情報を、トリガ情報にさらに書き加えてもよい。このような情報は、例えば、ＣＡＮ−ＩＤの拡張領域に書き加えられてもよいし、データフィールド２０１ａの特定の領域に書き加えられてもよい。
【０１３７】
次に、受信部３１が、ステップＳ４４の処理により通信データがバス９０に送信された後に、他の通信装置３０（通信装置３０ｃ〜３０ｆ）により重畳された通信データを、バス９０から受信する（ステップＳ４５）。
【０１３８】
次に、検査部３５が、ステップＳ４５の処理により受信された通信データのうち、データフィールド２０１ａ以外の値が正常であるか否かを検査する（ステップＳ４６）。
【０１３９】
データフィールド２０１ａ以外の値が正常である場合（ステップＳ４６、Ｙｅｓ）、処理はステップＳ４７に進む。データフィールド２０１ａ以外の値が正常でない場合（ステップＳ４６、Ｎｏ）、検査部３５は、異常処理を実行する（ステップＳ４８）。異常処理は、例えば異常を示す異常情報を通信装置３０ａに送信する処理である。異常情報は、例えば複数のドミナント（例えば連続する６個の０）である。
【０１４０】
次に、検査部３５が、ステップＳ４５の処理により受信された通信データのうち、自装置により設定された第１情報が正常であるか否かを検査する（ステップＳ４７）。
【０１４１】
第１情報が正常である場合（ステップＳ４７、Ｙｅｓ）、処理は終了する。第１情報が正常でない場合（ステップＳ４７、Ｎｏ）、検査部３５は、上述の異常処理を実行する（ステップＳ４８）。
【０１４２】
図１１の説明では、簡単のため、通信装置３０ｂが、トリガ情報を含むバス９０上の通信データに、第１情報を書き加える例について説明した。しかしながら、複数の通信装置３０が、トリガ情報を含むバス９０上の通信データに、第１情報を書き加えてもよい。正確には、データフィールド２０１ａでリセッシブ（０ｘＦＦ）が書き込まれた領域のうち、それぞれ異なる領域に、各通信装置３０が第１情報を書き加えてもよい。
【０１４３】
以上説明したように、第１実施形態の変形例３では、処理の開始を示すトリガ情報が第１実施形態の変形例２とは異なるが、第１実施形態の変形例２と同様の効果が得られる。すなわち複数の通信装置３０（端末２０）が通信を完了するまでの時間を、通信装置３０毎に個別の通信データのデータフィールド２０１ａを利用する場合に比べて、短縮することができる。
【０１４４】
（第２実施形態）
次に第２実施形態について説明する。第２実施形態の説明では、第１実施形態と同様の説明については省略し、第１実施形態と異なる箇所について説明する。第２実施形態では、第１情報として、メッセージ認証子（ＭＡＣ：Ｍｅｓｓａｇｅ  Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  Ｃｏｄｅ）を送信する場合について説明する。
【０１４５】
はじめに、第２実施形態の通信装置３０の機能構成の例について説明する。
【０１４６】
［通信装置の機能構成］
図１２は第２実施形態の通信装置３０の機能構成の例を示す図である。第２実施形態の通信装置３０は、受信部３１、生成部３３、送信部３４、検査部３５、生成部３７、及び、記憶部３８を備える。
【０１４７】
受信部３１は、複数の通信装置３０（通信装置３０ａ〜３０ｈ）を対象にしたブロードキャスト通信により、ゲートウェイ１０からトリガ情報を受信すると、当該トリガ情報を生成部３７に入力する。なお第２実施形態のトリガ情報は、ＭＡＣ値を生成する際のチャレンジ成分を含んでいてもよい。
【０１４８】
生成部３７は、受信部３１からトリガ情報を受け付けると、記憶部３８から秘密鍵（例えば共有鍵）を読み出す。そして生成部３７は、秘密鍵を使用してＭＡＣ値を生成すると、当該ＭＡＣ値を第１情報として生成部３３に入力する。
【０１４９】
生成部３３、送信部３４及び検査部３５の処理の説明は、第１実施形態の説明と同様であるので省略する。
【０１５０】
次に、第２実施形態のゲートウェイ１０の機能構成の例について説明する。
【０１５１】
［ゲートウェイの機能構成］
図１３は第２実施形態のゲートウェイ１０の機能構成の例を示す図である。第２実施形態のゲートウェイ１０は、送信部１１、受信部１２、検査部１３、分割部１４、検査部１５及び記憶部１６を備える。
【０１５２】
送信部１１は、複数の通信装置３０（通信装置３０ａ〜３０ｈ）を対象にしたブロードキャスト通信により、上述のトリガ情報を送信する。
【０１５３】
受信部１２は、通信装置３０ａ〜３０ｈにより、バス９０上で重畳された一の通信データを、バス９０から受信すると、当該通信データを検査部１３に入力する。
【０１５４】
検査部１３は、受信部１２から通信データを受信すると、当該通信データが正常であるか否かを検査する。検査部１３は、通信データが異常である場合、上述の異常処理を実行する。
【０１５５】
分割部１４は、通信データが正常である場合、当該通信データのデータフィールド２０１ａに設定された第２情報を、それぞれの通信装置３０により設定された第１情報（第２実施形態ではＭＡＣ値）に分割する。分割部１４は、第１情報として、各通信装置３０により生成されたＭＡＣ値を、検査部１５に入力する。
【０１５６】
検査部１５は、分割部１４から、各通信装置３０により生成されたＭＡＣ値を受け付けると、それぞれのＭＡＣ値に対応する秘密鍵を使用して、当該ＭＡＣ値が正常であるか否かを検査する。検査部１５は、通信データが異常である場合、上述の異常処理を実行する。
【０１５７】
次に、フローチャートを参照して、第２実施形態の通信処理の例について説明する。
【０１５８】
［通信装置の処理］
図１４は第２実施形態の通信装置３０の処理の例を示すフローチャートである。はじめに、受信部３１が、ゲートウェイ１０から上述のトリガ情報を受信する（ステップＳ６１）。次に、生成部３７が、記憶部３８に記憶された秘密鍵を使用して、第１情報（ＭＡＣ値）を生成する（ステップＳ６２）。
【０１５９】
ステップＳ６３〜ステップＳ６８の説明は、第１実施形態の通信装置３０の処理の例を示すステップＳ３〜ステップＳ８の説明（図５参照）と同様なので省略する。
【０１６０】
［ゲートウェイの受信処理］
図１５は第２実施形態のゲートウェイ１０の認証処理の例を示すフローチャートである。ステップＳ８１〜ステップＳ８４の説明は、第１実施形態のゲートウェイ１０の処理の例を示すステップＳ２１〜ステップＳ２４の説明（図６参照）と同様なので省略する。
【０１６１】
検査部１５は、ステップＳ８４の処理によって第２情報が分割されることにより得られた複数の第１情報（ＭＡＣ値）が、正常であるか否かを検査する（ステップＳ８５）。ＭＡＣ値が正常である場合（ステップＳ８５、Ｙｅｓ）、認証処理を終了する。ＭＡＣ値が正常でない場合（ステップＳ８５、Ｎｏ）、上述の異常処理を実行する（ステップＳ８６）。
【０１６２】
以上説明したように、第２実施形態によれば、例えばイグニッションをオンするとき、または、定期的に第２実施形態の処理を実行することにより、バス９０に接続される端末２０の認証をより短時間で検査することができる。
【０１６３】
なお、第２実施形態は、第１実施形態と組み合わせることも可能である。例えば各端末２０（通信装置３０）のファームウェアのバージョン情報及びセンサ情報等と、そのＭＡＣ値との組を示す第１情報を、一つのデータフィールド２０１ａに設定する。これにより、各通信装置３０から送信されたメッセージ認証が付与されたセンサ情報等を、より短時間で処理することができる。
【０１６４】
（第２実施形態の変形例）
次に第２実施形態の変形例について説明する。第２実施形態の変形例の説明では、第２実施形態と同様の説明については省略し、第２実施形態と異なる箇所について説明する。第２実施形態では、第１情報として生成されたメッセージ認証子（ＭＡＣ）を使用して、端末２０（通信装置３０）と他の装置との間で相互認証する場合について説明する。第２実施形態の変形例の説明では、他の装置がゲートウェイ１０である場合を例にして説明する。
【０１６５】
上述の第２実施形態では、通信データ（ＣＡＮメッセージ）のデータフィールド２０１ａを分割し、分割された領域のそれぞれに、通信装置３０が第１情報（ＭＡＣ値）を書き込む場合について説明した。第２実施形態の変形例では、第１情報が書き込まれた領域に、ゲートウェイ１０も後述の第３情報を書き込む。そして第１情報と第３情報とが重畳された重畳結果が、所望の値（第５情報）となるか否かで相互認証を行う。
【０１６６】
第２実施形態の変形例の通信装置３０の機能構成は、第２実施形態の通信装置３０の機能構成と同じなので、説明を省略する。
【０１６７】
［ゲートウェイの機能構成］
図１６は第２実施形態の変形例のゲートウェイ１０の機能構成の例を示す図である。第２実施形態の変形例のゲートウェイ１０は、送信部１１、受信部１２、検査部１３、分割部１４、検査部１５、記憶部１６、生成部１７及び生成部１８を備える。
【０１６８】
＜送信処理＞
送信部１１は、複数の通信装置３０（通信装置３０ａ〜３０ｈ）を対象にしたブロードキャスト通信により、上述のトリガ情報を送信する。
【０１６９】
次に、送信部１１は、複数の通信装置３０（通信装置３０ａ〜３０ｈ）を対象にしたブロードキャスト通信により、データフィールド２０１ａに第４情報が設定された通信データを送信する。第４情報は上述の第２情報に対応する。ただし、第４情報には、第１情報ではなく第３情報が設定されている。
【０１７０】
第３情報は、生成部１８により、第１情報（ＭＡＣ値）と第５情報とに基づいて通信装置３０毎に生成される。第１情報は、生成部１７により通信装置３０毎に生成される。
【０１７１】
まず第５情報について説明する。生成部１８は、所定の規則で第１情報から第５情報を生成する。例えば生成部１８は、第１情報が１１０１００１０である場合、０はそのまま０とし、１となるビットを前半と後半に分けて後半を０とする規則により、第５情報として１１００００００を生成する。また例えば、生成部１８は、第１情報が１１０１００１０である場合、０はそのまま０とし、１となるビットを交互に０とする規則により、第５情報として１００１００００を生成する。
【０１７２】
次に第３情報について説明する。生成部１８は、例えば通信装置３０ａの第１情報が１１０１００１０であり、かつ、当該第１情報に対応する第５情報が１１００００００である場合、第３情報は、第１情報と当該第３情報とが重畳された結果が１１００００００となるように生成される。１１０１００１０（第１情報）と１１００００００とが重畳された重畳結果は、１１００００００（第５情報）である。そのため生成部１８は、例えば第３情報として、１１００００００を生成する。言い換えると、第５情報は、第１情報と第３情報とから決定することができる。
【０１７３】
＜受信処理＞
受信部１２は、通信装置３０ａ〜３０ｈにより、バス９０上で重畳された一の通信データを、バス９０から受信すると、当該通信データを検査部１３に入力する。
【０１７４】
検査部１３は、受信部１２から通信データを受信すると、当該通信データが正常であるか否かを検査する。検査部１３は、通信データが異常である場合、上述の異常処理を実行する。
【０１７５】
分割部１４は、通信データが正常である場合、当該通信データのデータフィールド２０１ａに設定された第４情報を、通信装置３０毎の重畳結果に分割する。分割部１４は、通信装置３０毎の重畳結果を検査部１５に入力する。
【０１７６】
検査部１５は、分割部１４から、通信装置３０毎の重畳結果を受け付けると、それぞれの重畳結果が、通信装置３０毎に生成された上述の第５情報に一致するか否かを検査する。検査部１５は、第５情報に一致しない場合、相互認証に失敗したことを検出する。検査部１５は、第５情報に一致する場合、相互認証に成功したことを検出する。
【０１７７】
次に、シーケンス図を参照して、第２実施形態の変形例の相互認証処理の例について説明する。
【０１７８】
図１７は第２実施形態の変形例の相互認証処理の例を示すシーケンス図である。図１７の例では、簡単のため、ゲートウェイ１０が、１台の端末２０（通信装置３０）との相互認証をする場合を例にして説明する。
【０１７９】
はじめに、ゲートウェイ１０の送信部１１が、バス９０を介して、トリガ情報を通信装置３０に送信する（ステップＳ１０１）。次に、ゲートウェイ１０の生成部１７が、記憶部１６に記憶された秘密鍵を使用して、ＭＡＣ値を、第１情報として生成する（ステップＳ１０２Ａ）。次に、ゲートウェイ１０の生成部１８が、第１情報（ＭＡＣ値）と第５情報とに基づいて第３情報を生成する（ステップＳ１０３）。次に、ゲートウェイ１０の生成部１８が、データフィールド２０１ａのうち、相互認証対象の通信装置３０に割り当てられた位置に第３情報を設定し、第３情報が設定された位置以外のデータフィールド２０１ａに、リセッシブを設定することにより、第４情報を生成する（ステップＳ１０４Ａ）。次に、ゲートウェイ１０の送信部１１が、ステップＳ１０４Ａの処理により生成された第４情報をバス９０に送信する（ステップＳ１０５Ａ）。
【０１８０】
一方、通信装置３０の生成部３７は、記憶部３８に記憶された秘密鍵を使用してＭＡＣ値を、第１情報として生成する（ステップＳ１０２Ｂ）。次に、通信装置３０の生成部３３は、データフィールド２０１ａのうち、自装置に割り当てられた位置に第１情報を設定し、第１情報が設定された位置以外のデータフィールド２０１ａに、リセッシブを設定することにより、第２情報を生成する（ステップＳ１０４Ｂ）。次に、通信装置３０の送信部３４が、ステップＳ１０４Ｂの処理により生成された第２情報をバス９０に送信する（ステップＳ１０５Ｂ）。
【０１８１】
次に、バス９０は、ステップＳ１０５Ａの処理によりゲートウェイ１０から送信された第４情報と、ステップＳ１０５Ｂの処理により通信装置３０から送信された第２情報と、を重畳する（ステップＳ１０６）。具体的には、第４情報に含まれる第３情報と、第２情報に含まれる第１情報とが重畳される。
【０１８２】
次に、ゲートウェイ１０の受信部１２が、バス９０から、ステップＳ１０６の処理により重畳された重畳結果を受信する（ステップＳ１０７Ａ）。次に、ゲートウェイ１０の検査部１５が、第１情報と第３情報との重畳結果が、第５情報に一致するか否かを検査する（ステップＳ１０８Ａ）。検査部１５は、第５情報に一致しない場合、相互認証に失敗したことを検出する。検査部１５は、第５情報に一致する場合、相互認証に成功したことを検出する。
【０１８３】
一方、通信装置３０の受信部３１は、バス９０から、ステップＳ１０６の処理により重畳された重畳結果を受信する（ステップＳ１０７Ｂ）。次に、通信装置３０の検査部３５が、第１情報と第３情報との重畳結果が、第５情報に一致するか否かを検査する（ステップＳ１０８Ｂ）。検査部３５は、第５情報に一致しない場合、相互認証に失敗したことを検出する。検査部３５は、第５情報に一致する場合、相互認証に成功したことを検出する。
【０１８４】
なお上述の説明では、ゲートウェイ１０と１台の端末２０（通信装置３０）との相互認証をする場合について説明したが、データフィールド２０１ａを分割して、ゲートウェイ１０と、複数の端末２０との相互認証をする場合についても同様である。例えば８バイトのデータフィールド２０１ａが１バイトずつ分割された８つの領域のそれぞれに、重畳結果が設定されることにより、ゲートウェイ１０と、８台の端末２０（通信装置３０）との相互認証を同時にすることができる。
【０１８５】
以上説明したように、第２実施形態の変形例によれば、複数の端末２０との相互認証を、より短時間で実行することができる。
【０１８６】
（第３実施形態）
次に第３実施形態について説明する。第３実施形態の説明では、第１実施形態と同様の説明については省略し、第１実施形態と異なる箇所について説明する。第３実施形態では、第１情報として、暗号情報を送信する場合について説明する。
【０１８７】
［通信装置の機能構成］
図１８は第３実施形態の通信装置の機能構成の例を示す図である。第３実施形態の通信装置３０は、受信部３１、生成部３３、送信部３４、検査部３５、記憶部３８及び暗号処理部３９を備える。
【０１８８】
受信部３１は、複数の通信装置３０（通信装置３０ａ〜３０ｈ）を対象にしたブロードキャスト通信により、ゲートウェイ１０からトリガ情報を受信すると、当該トリガ情報を暗号処理部３９に入力する。
【０１８９】
暗号処理部３９は、受信部３１からトリガ情報を受け付けると、記憶部３８から暗号鍵を読み出す。そして暗号処理部３９は、暗号鍵を使用して、送信対象のデータを暗号化することにより暗号化情報を生成する。
【０１９０】
ここで、暗号化の対象となる平文は、例えば端末２０の稼働状態、端末２０のファームウェアのバージョン情報、及び、端末２０により取得されたセンサ情報等である。
【０１９１】
暗号方式は任意でよい。暗号方式は、例えばストリーム暗号方式である。例えばゲートウェイ１０から送信されるトリガ情報に乱数が付与され、通信装置３０の暗号処理部３９は、当該乱数と暗号鍵とに基づきハッシュ（乱数、暗号鍵）を一時鍵として計算する。ハッシュは、例えばＳＨＡ−２５６等のハッシュ関数により計算される。そして通信装置３０は、送信対象の平文と一時鍵との排他的論理和を計算することにより、暗号化情報を生成する。暗号処理部３９は、当該暗号化情報を第１情報として生成部３３に入力する。
【０１９２】
生成部３３、送信部３４及び検査部３５の処理の説明は、第１実施形態の説明と同様であるので省略する。
【０１９３】
次に、第３実施形態のゲートウェイ１０の機能構成の例について説明する。
【０１９４】
［ゲートウェイの機能構成］
図１９は第３実施形態のゲートウェイ１０の機能構成の例を示す図である。第３実施形態のゲートウェイ１０は、送信部１１、受信部１２、検査部１３、分割部１４、記憶部１６及び暗号処理部１９を備える。
【０１９５】
送信部１１は、複数の通信装置３０（通信装置３０ａ〜３０ｈ）を対象にしたブロードキャスト通信により、上述のトリガ情報を送信する。
【０１９６】
受信部１２は、通信装置３０ａ〜３０ｈにより、バス９０上で重畳された一の通信データを、バス９０から受信すると、当該通信データを検査部１３に入力する。
【０１９７】
検査部１３は、受信部１２から通信データを受信すると、当該通信データが正常であるか否かを検査する。検査部１３は、通信データが異常である場合、上述の異常処理を実行する。
【０１９８】
分割部１４は、通信データが正常である場合、当該通信データのデータフィールド２０１ａに設定された第２情報を、それぞれの通信装置３０により設定された第１情報（第３実施形態では暗号化情報）に分割する。分割部１４は、第１情報として、各通信装置３０により生成された暗号情報を、暗号処理部１９に入力する。
【０１９９】
暗号処理部１９は、分割部１４から、各通信装置３０により生成された暗号化情報を受け付けると、それぞれの暗号化情報に対応する復号鍵を使用して、当該暗号化情報を復号する。
【０２００】
次に、フローチャートを参照して、第３実施形態の通信処理の例について説明する。
【０２０１】
［通信装置の処理］
図２０は第３実施形態の通信装置３０の処理の例を示すフローチャートである。はじめに、受信部３１が、ゲートウェイ１０から上述のトリガ情報を受信する（ステップＳ１２１）。次に、暗号処理部３９が、記憶部３８に記憶された暗号鍵を使用して、送信対象のデータを暗号化することにより暗号化情報を生成する（ステップＳ１２２）。
【０２０２】
ステップＳ１２３〜ステップＳ１２８の説明は、第１実施形態の通信装置３０の処理の例を示すステップＳ３〜ステップＳ８の説明（図５参照）と同様なので省略する。
【０２０３】
［ゲートウェイの受信処理］
図２１は第３実施形態のゲートウェイ１０の認証処理の例を示すフローチャートである。ステップＳ１４１〜ステップＳ１４４の説明は、第１実施形態のゲートウェイ１０の処理の例を示すステップＳ２１〜ステップＳ２４の説明（図６参照）と同様なので省略する。
【０２０４】
暗号処理部１９は、ステップＳ１４４の処理によって第２情報が分割されることにより得られた複数の第１情報（暗号情報）を、それぞれの暗号化情報に対応する復号鍵を使用して復号する（ステップＳ１４５）。
【０２０５】
以上説明したように、第３実施形態によれば、複数の通信装置３０の情報（稼働状態、ファームウェアのバージョン情報、及び、センサ情報等）の通信に要する時間を削減するとともに、暗号化処理により当該情報を秘匿することができる。
【０２０６】
［ハードウェア構成の例］
最後に第１乃至第３実施形態のゲートウェイ１０及び通信装置３０のハードウェア構成の例について説明する。
【０２０７】
図２２は第１乃至第３実施形態のゲートウェイ１０及び通信装置３０のハードウェア構成の主要部の例を示す図である。第１乃至第３実施形態のゲートウェイ１０及び通信装置３０は、制御装置３０１、主記憶装置３０２、補助記憶装置３０３及び通信ＩＦ（Ｉｎｔｅｒｆａｃｅ）３０４を備える。制御装置３０１、主記憶装置３０２、補助記憶装置３０３及び通信ＩＦ３０４は、バス３１０を介して接続されている。
【０２０８】
制御装置３０１は補助記憶装置３０３から主記憶装置２０２に読み出されたプログラムを実行する。主記憶装置３０２はＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、及び、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等のメモリである。補助記憶装置３０３はメモリカード、及び、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）等である。
【０２０９】
通信ＩＦ３０４は他の装置と通信するためのインタフェースである。
【０２１０】
第１乃至第３実施形態のゲートウェイ１０及び通信装置３０で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、メモリカード、ＣＤ−Ｒ、及び、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のコンピュータで読み取り可能な記憶媒体に記憶されてコンピュータ・プログラム・プロダクトとして提供される。
【０２１１】
また第１乃至第３実施形態のゲートウェイ１０及び通信装置３０で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また第１乃至第３実施形態のゲートウェイ１０及び通信装置３０が実行するプログラムを、ダウンロードさせずにインターネット等のネットワーク経由で提供するように構成してもよい。
【０２１２】
また第１乃至第３実施形態のゲートウェイ１０及び通信装置３０で実行されるプログラムを、ＲＯＭ等に予め組み込んで提供するように構成してもよい。
【０２１３】
第１乃至第３実施形態のゲートウェイ１０及び通信装置３０で実行されるプログラムは、上述の第１乃至第３実施形態のゲートウェイ１０及び通信装置３０の機能構成のうち、プログラムにより実現可能な機能を含むモジュール構成となっている。
【０２１４】
プログラムにより実現される機能は、制御装置３０１が補助記憶装置３０３等の記憶媒体からプログラムを読み出して実行することにより、プログラムにより実現される機能が主記憶装置３０２にロードされる。すなわちプログラムにより実現される機能は、主記憶装置３０２上に生成される。
【０２１５】
なお第１乃至第３実施形態のゲートウェイ１０及び通信装置３０の機能の一部又は全部を、ＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）等のハードウェアにより実現してもよい。
【０２１６】
例えば第１実施形態の通信装置３０の例では、受信部３１及び送信部３４をハードウェアにより実現し、取得部３２、生成部３３及び検査部３５をソフトウェアにより実現してもよい。また例えば、第１実施形態のゲートウェイ１０の例では、送信部１１及び受信部１２をハードウェアにより実現し、検査部１３及び分割部１４をソフトウェアにより実現してもよい。
【０２１７】
また上述の第１乃至第３実施形態のゲートウェイ１０及び通信装置３０の機能構成は、一例であり、ゲートウェイ１０及び通信装置３０は、他の機能構成により実現されてもよい。例えば第２実施形態の通信装置３０の生成部３３及び生成部３７は、１つの生成部により実現されてもよい。
【０２１８】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０２１９】
１０  ゲートウェイ
１１  送信部
１２  受信部
１３  検査部
１４  分割部
１５  検査部
１６  記憶部
１７  生成部
１８  生成部
１９  暗号処理部
２０  端末
３０  通信装置
３１  受信部
３２  取得部
３３  生成部
３４  送信部
３５  検査部
３６  分割部
３７  生成部
３８  記憶部
３９  暗号処理部
９０  バス
１００  通信システム
２００  ネットワーク
３０１  制御装置
３０２  主記憶装置
３０３  補助記憶装置
３０４  通信ＩＦ
３１０  バス
【図１】
2018082247.tif 000003
【図２】
2018082247.tif 000004
【図３Ａ】
2018082247.tif 000005
【図３Ｂ】
2018082247.tif 000006
【図４】
2018082247.tif 000007
【図５】
2018082247.tif 000008
【図６】
2018082247.tif 000009
【図７】
2018082247.tif 000010
【図８】
2018082247.tif 000011
【図９】
2018082247.tif 000012
【図１０】
2018082247.tif 000013
【図１１】
2018082247.tif 000014
【図１２】
2018082247.tif 000015
【図１３】
2018082247.tif 000016
【図１４】
2018082247.tif 000017
【図１５】
2018082247.tif 000018
【図１６】
2018082247.tif 000019
【図１７】
2018082247.tif 000020
【図１８】
2018082247.tif 000021
【図１９】
2018082247.tif 000022
【図２０】
2018082247.tif 000023
【図２１】
2018082247.tif 000024
【図２２】
2018082247.tif 000025