(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023137692
(43)【公開日】2023-09-29
(54)【発明の名称】通信システム、送信装置及び受信装置
(51)【国際特許分類】
H04L 12/28 20060101AFI20230922BHJP
H04L 65/611 20220101ALI20230922BHJP
【FI】
H04L12/28 200Z
H04L65/611
【審査請求】未請求
【請求項の数】15
【出願形態】OL
(21)【出願番号】P 2022043999
(22)【出願日】2022-03-18
(71)【出願人】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(71)【出願人】
【識別番号】317011920
【氏名又は名称】東芝デバイス&ストレージ株式会社
(74)【代理人】
【識別番号】110001737
【氏名又は名称】弁理士法人スズエ国際特許事務所
(72)【発明者】
【氏名】キム テウォン
【テーマコード(参考)】
5K033
【Fターム(参考)】
5K033BA06
5K033DA11
(57)【要約】
【課題】ブロードキャストが可能な通信システム、送信装置及び受信装置を提供すること。
【解決手段】実施形態に係る通信システムは、送信装置と、複数の受信装置と、を具備する。送信装置は、通信形態を指定する第1情報と送信先の受信装置を指定する第2情報とを含む識別情報と、データとを複数の受信装置に送信する。複数の受信装置の各々は、第1情報が送信装置からのデータ送信を指定する場合、第2情報の少なくとも一部に基づいてデータの受信の可否を決定する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
送信装置と、複数の受信装置と、を具備する通信システムであって、
前記送信装置は、通信形態を指定する第1情報と送信先の受信装置を指定する第2情報とを含む識別情報と、データとを前記複数の受信装置に送信し、
前記複数の受信装置の各々は、前記第1情報が前記送信装置からのデータ送信を指定する場合、前記第2情報の少なくとも一部に基づいて前記データの受信の可否を決定する、通信システム。
【請求項2】
前記第1情報は、シングルキャスト又はブロードキャストによるデータ送信を指定し、
前記第1情報がシングルキャストによるデータ送信を指定する場合、前記複数の受信装置の各々は、前記第2情報の全てのビットに基づいて前記データの受信の可否を決定する、請求項1記載の通信システム。
【請求項3】
前記第2情報は複数ビットの情報であり、
前記送信装置は、前記複数の受信装置に複数ビットの第3情報をそれぞれ設定し、
前記第1情報がシングルキャストによるデータ送信を指定する場合、前記複数の受信装置の各々は、前記第2情報の全てのビットと前記第3情報の全てのビットが一致した場合、前記データを受信し、
前記第1情報がブロードキャストによるデータ送信を指定する場合、前記複数の受信装置の各々は、前記第2情報の一部のビットと前記第3情報の前記一部のビットが一致した場合、前記データを受信する、請求項2記載の通信システム。
【請求項4】
前記第1情報はブロードキャスト対象の受信装置の数を指定する場合、
前記一部のビットのビット数は前記ブロードキャスト対象の受信装置の数に応じており、
前記ブロードキャスト対象の受信装置の数が増えると、前記一部のビットのビット数は減る、請求項3記載の通信システム。
【請求項5】
複数の受信装置と通信する送信装置であって、
通信形態を指定する第1情報と、前記複数の受信装置を指定する第2情報とを含む第1識別情報を送信する、送信装置。
【請求項6】
前記第1情報は、データ送信又はデータ要求を指定し、
前記第1情報がデータ送信を指定する場合、前記第1識別情報を送信した後、第1データを送信し、
前記第1情報がデータ要求を指定する場合、前記第1識別情報を送信した後、前記複数の受信装置の中の前記第2情報で指定される受信装置からの第2データを受信する、請求項5記載の送信装置。
【請求項7】
通信形態を指定する第3情報と、前記複数の受信装置を指定する第4情報とを含む第2識別情報を受信し、
前記第3情報は、データ受信又はデータ回答を指定し、
前記第3情報がデータ受信を指定する場合、前記第2識別情報を受信した後、前記複数の受信装置の中の前記第4情報で指定される受信装置からの第1データを受信し、
前記第3情報がデータ回答を指定する場合、前記第2識別情報を受信した後、前記複数の受信装置の中の前記第4情報で指定される受信装置に関する第2データを送信する、請求項5記載の送信装置。
【請求項8】
前記第1情報は、シングルキャスト又はブロードキャストによるデータ送信を指定し、
前記第1情報がブロードキャストによるデータ送信を指定した場合、前記複数の受信装置の各々において、前記第2情報の一部のビットは無効とされる、請求項5記載の送信装置。
【請求項9】
前記第1情報がブロードキャスト対象の受信装置の数をさらに指定した場合、前記複数の受信装置の各々において、無効とされる前記第2情報の一部のビットの数は前記ブロードキャスト対象の前記受信装置の数の増加に応じて増加する、請求項8記載の送信装置。
【請求項10】
送信装置と通信する受信装置であって、
前記送信装置から送信された、通信形態を指定する第1情報と、受信装置を指定する第2情報とを含む第1識別情報を受信し、
前記第1情報が前記送信装置からのデータ送信を指定する場合、前記送信装置から前記第1識別情報の後に送信された第1データの受信の可否を、前記第2情報の少なくとも一部に基づいて決定する、受信装置。
【請求項11】
前記第1情報がシングルキャストによるデータ送信を指定する場合、前記第2情報の全てのビットに基づいて前記第1データの受信の可否を決定する、請求項10記載の受信装置。
【請求項12】
前記第2情報は複数ビットの情報であり、
複数ビットの第3情報が前記送信装置により設定され、
前記第1情報がシングルキャストによるデータ送信を指定する場合、前記第2情報の全てのビットと前記第3情報の全てのビットが一致した場合、前記第1データを受信し、
前記第1情報がブロードキャストによるデータ送信を指定する場合、前記第2情報の一部のビットと前記第3情報の前記一部のビットが一致した場合、前記第1データを受信する、請求項10記載の受信装置。
【請求項13】
前記第1情報がブロードキャストによるデータ送信と、ブロードキャスト対象の受信装置の数を指定する場合、
前記一部のビットのビット数は前記ブロードキャスト対象の受信装置の数に応じており、
前記ブロードキャスト対象の受信装置の数が増えると、前記一部のビットのビット数は減る、請求項12記載の受信装置。
【請求項14】
前記第2情報は複数ビットの情報であり、
複数ビットの第3情報が前記送信装置により設定され、
前記第1情報がデータ要求を指定する場合、前記第1識別情報を受信した後、前記第2情報の全てのビットと前記第3情報の全てのビットが一致した場合、第2データを送信する、請求項10記載の受信装置。
【請求項15】
通信形態を指定する第4情報を送信し、
前記第4情報は、データ受信又はデータ回答を指定可能であり、
前記第4情報がデータ受信を指定する場合、前記第2識別情報を送信した後、第2データを送信し、
前記第4情報がデータ回答を指定する場合、前記第2識別情報を送信した後、第2データを受信する、請求項10記載の受信装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、大容量のデータの転送に関する。
【背景技術】
【0002】
日本自動車技術会がCXPI(Clock Extension Peripheral Interface)という車載通信プロトコル規格を策定している。CXPIは、HMI(ヒューマン・マシン・インターフェース)領域で増え続ける1対1で接続された自動車搭載機器間のワイヤーハーネスの削減や多重化通信を目的とする。CXPIでは、バスを介するマスタノードと複数のスレーブノード間の大容量の双方向通信が策定されている。
【0003】
マスタノードは、データの送信先であるスレーブノードを表すPIDと応答からなるフレームをバスに出力する。スレーブノードは、PIDに基づいて自分宛のフレームであるかを判定し、自分宛の応答を受信する。スレーブノードは、自分宛のフレームではないと判定すると、応答を受信しない。これにより、マスタノードと、複数のスレーブノード夫々との1対1の通信が行われる。
【0004】
現在のCXPIでは、ブロードキャストが規定されていない。そのため、マスタノードが同一のデータを複数のスレーブノードに送信したい場合、1対1通信をスレーブノードの数だけ繰り返すので、複数のスレーブノードがデータを送信するタイミングにずれが生じる。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2021-040171号公報
【特許文献2】特開2021-105292号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
本発明の目的は、ブロードキャストが可能な通信システム、送信装置及び受信装置を提供することである。
【課題を解決するための手段】
【0007】
実施形態に係る通信システムは、送信装置と、複数の受信装置と、を具備する。送信装置は、通信形態を指定する第1情報と送信先の受信装置を指定する第2情報とを含む識別情報と、データとを複数の受信装置に送信する。複数の受信装置の各々は、第1情報が送信装置からのデータ送信を指定する場合、第2情報の少なくとも一部に基づいてデータの受信の可否を決定する。
【図面の簡単な説明】
【0008】
【
図1】実施形態に係るCXPI通信システムの一例を示すブロック図。
【
図2】実施形態に係るPID設定時の通信フレームの一例を示す図。
【
図3】実施形態に係る複数の通信形態を説明するための図。
【
図4】実施形態に係るPIDによる通信形態の設定例を説明するための図。
【
図5】実施形態に係るPIDによる1対1のデータ送信の設定例を説明するための図。
【
図6】実施形態に係るPIDによる1対2のデータ送信の設定例を説明するための図。
【
図7】実施形態に係るPIDによる1対4のデータ送信の設定例を説明するための図。
【
図8】実施形態に係るPIDによる1対8のデータ送信の設定例を説明するための図。
【
図9】実施形態に係るデータ送信の一例を説明するためのフロー図。
【発明を実施するための形態】
【0009】
以下、図面を参照して、実施形態を説明する。以下の説明は、実施形態の技術的思想を具体化するための装置や方法を例示するものであって、実施形態の技術的思想は、以下に説明する構成要素の構造、形状、配置、材質等に限定されるものではない。当業者が容易に想到し得る変形は、当然に開示の範囲に含まれる。説明をより明確にするため、図面において、各要素のサイズ、厚み、平面寸法又は形状等を実際の実施態様に対して変更して模式的に表す場合もある。複数の図面において、互いの寸法の関係や比率が異なる要素が含まれることもある。複数の図面において、対応する要素には同じ参照数字を付して重複する説明を省略する場合もある。いくつかの要素に複数の呼称を付す場合があるが、これら呼称の例はあくまで例示であり、これらの要素に他の呼称を付すことを否定するものではない。また、複数の呼称が付されていない要素についても、他の呼称を付すことを否定するものではない。なお、以下の説明において、「接続」は直接接続のみならず、他の要素を介して接続されることも意味する。
【0010】
以下、図面を参照しながら本実施の形態について詳細に説明する。
【0011】
図1は、実施形態に係るCXPI通信システムの一例を示すブロック図である。CXPI通信システムは、それぞれ複数の機器に接続され得る複数のスレーブノード12-0~12-15(以下、個別に区別する必要が無い場合は、スレーブノード12と称する)と、複数のスレーブノード12を制御する1つのマスタノード10からなる。1つのマスタノード10に接続されるスレーブノード12の数は任意であり、例えば8個や16個のスレーブノード12が1つのマスタノード10に接続される。
図1は16個のスレーブノード12がマスタノード10に接続される例を示す。各ノード10、12はノードアドレスを有する。自動車における通信システムの場合、スレーブノード12に接続される機器の例は、ステアリングスイッチ、ワイパースイッチ、ライトスイッチ、ウィンカースイッチ、モータ、ライト等である。
【0012】
マスタノード10も複数の機器に接続され得る。マスタノード10は、BCM(Body Control Module)とも称される。マスタノード10とスレーブノード12は、電源ラインVBAT、信号ラインBUS、接地ラインGNDからなるバスを介して接続される。スレーブノード12に接続される複数の機器は信号ラインBUSを介してマスタノード10と通信する。マスタノード10は、MCU(Micro Cotnroller Unit)20、CXPIトランシーバ22、レジスタ24を含む。
【0013】
MCU20はマスタノード10全体を制御する。
【0014】
CXPIトランシーバ22は、MCU20からのデータを変調し、変調データを信号ラインBUSへ出力する。変調方法の例は、PWM(Pulse Width Modulation:パルス幅変調)である。CXPIトランシーバ22は、信号ラインBUSからのデータを復調して、復調データをMCU20へ出力する。
【0015】
MCU20はデータをレジスタ24に格納する。レジスタ24は、例えば不揮発性のメモリである。信号ラインBUSと電源ラインVBATは、抵抗26とダイオード28を直列に介して互いに接続される。
【0016】
信号ラインBUS上の信号はローレベル又はハイレベルに設定される。信号の各ビットは、ローレベルの期間とハイレベルの期間の比により“0”、“1”を表す。
【0017】
CXPI通信では、イベントトリガ方式のフレームが通信される。各ノードは信号ラインBUSのアイドル状態を検出すると自由にフレームを送信可能である。複数の送信イベントが同時に発生した場合は調停により、優先度の高いフレームのイベントが選択される。
【0018】
CXPI通信では、信号ラインBUS上を通信される通信フレームは、PID(Protected ID)と、応答からなる。
【0019】
PIDは、パリティビットと、フレームIDからなる。通信形態がデータ送信である場合、フレームIDは、当該フレームを受信するスレーブノードの識別子である。フレームには予め優先度が設定されており、優先度に基づいて調停が実行される。
【0020】
マスタノード10は、スレーブノード12毎にPIDを設定し、スレーブノード12に当該スレーブノード12のPIDを送信する。通信形態がデータ送信である場合、スレーブノード12は、PIDを受信すると、受信したPIDが自身のPIDと一致するかを判定する。受信したPIDが自身のPIDと一致する場合、スレーブノード12は、応答を受信する。
【0021】
応答は、例えば、フレーム情報(1-2バイト)、データ(0-255(最大)バイト)、CRC(1-2バイト)を含む。
マスタノード10とスレーブノード12が通信を行うためには、スレーブノード12にPIDが設定される必要がある。マスタノード10は、スレーブノード12との接続を検出すると、スレーブノード12のPIDを設定し、スレーブノード12へPID設定用のフレームを送信する。
【0022】
図2は、PID設定の際、マスタノード10がスレーブノード12に送信するPID設定フレームの一例を示す。
図2の*は、“0”/“1”の任意のビットを示す。
【0023】
PID設定フレームは、各8ビットのNAD、PCI、SID、DID1、DID2、スタートインデックス(Start Index)、PID1、PID2、PID3、PID4からなる。NADは、PIDが設定されるスレーブノード12のノードアドレスである。PCIは、例えば08hである。SIDは、例えば2Ehである。DID1は、例えばFFhである。DID2は、例えば02hである。PID1のビット0-ビット2は、例えば“0”であり、ビット3-ビット8は、例えば任意であり、ビット7は、例えばパリティビットである。PID2、PID3、及びPID4は、例えばFFhである。
【0024】
図2のPID設定フレームは、現状のCXPI通信におけるPID設定フレームと同じフォーマットを利用する。現状のCXPI通信は複数の通信形態を含み、PID設定フレームは、複数の通信形態毎に複数のPIDを夫々設定可能である。
図2は最大4つまでのPID1~PID4を設定可能なフレームの一例を示す。スタートインデックスは、どのPIDを設定するかを指定する情報である。スタートインデックスは、PID1を設定する場合(
図2の例)は、00hであり、PID2を設定する場合は、01hであり、PID3を設定する場合は、03hであり、PID4を設定する場合は、04hである。例えば、PID1~PID4を設定する場合は、マスタノード10は、スタートインデックスのビット0~ビット3に“0”を設定する。
【0025】
実施形態に係るCXPI通信は複数の通信形態を含むが、マスタノード10は、通信形態に限らず1つのPID1をスレーブノード12に設定する。マスタノード10は、スタートインデックスの全ビットに“0”に設定する。実施形態では、スレーブノード12の数は16個であるので、スレーブノード12の識別情報は4ビットで足りる。PID1は8ビットであるので、マスタノード10は、PID1の中の4ビット(例えば、ビット3~ビット6)にスレーブノード12の識別情報(4ビット)を設定する。マスタノード10は、PID1の残りの3ビット(例えば、ビット0~ビット2)に0b又は1bを設定する。マスタノード10は、PID2~PID4にFFhを設定する。PID1のビット0~ビット2及びPID2~PID4は、PID設定には使用されない。
【0026】
マスタノード10は、
図2のように設定されたPID設定フレームを信号ラインBUSに出力する。信号ラインBUSに接続されている全てのスレーブノード12は、PID設定フレームを受信する。ノードアドレスNADで指定されたノードアドレスを有するスレーブノード12のみがPID1を取り込み、PID1のビット3~ビット6を自身の識別情報として内部のレジスタ(図示しない)に書き込む。これにより、PIDがスレーブノード12に設定される。ノードアドレスNADで指定されたノードアドレスと自身のノードアドレスが一致しないスレーブノード12には、PIDが設定されない。
【0027】
図3は、実施形態に係るCXPI通信が含む複数の通信形態の一例を説明するための図である。通信形態は、大きく分けると、データ送信、データ受信、データ要求、データ回答の4形態に分類される。
【0028】
図3(a)はデータ送信の一例を示す。データ送信は、マスタノード10がスレーブノード12にデータを送信する通信形態である。マスタノード10は、通信形態の識別情報(データ送信)とデータを受信するスレーブノード12の識別情報を含むPIDと、応答からなる、マスタノード10は、PIDのビット0~ビット2に通信形態の識別情報を設定し、ビット3~ビット6にスレーブノード12の識別情報を設定し、ビット7にパリティビットを設定する。
【0029】
信号ラインBUSに接続されている全てのスレーブノード12は、フレームを受信する。フレーム内のPIDに含まれる識別情報に基づいて特定される少なくとも1つのスレーブノード12は応答(データ)を受信し、受信したデータを内部のレジスタに書き込む。PIDに含まれる識別情報に基づいて特定される少なくとも1つのスレーブノード12以外のスレーブノード12は応答(データ)を受信しない。PIDに含まれる識別情報に基づくスレーブノード12の特定については、
図5乃至
図8を参照して後述する。
【0030】
図3(b)はデータ受信の一例を示す。データ受信は、マスタノード10がスレーブノード12からのデータを受信する通信形態である。スレーブノード12は、通信形態の識別情報(データ受信)と自身の識別情報を含むPIDと、応答からなるフレームを信号ラインBUSに出力する。スレーブノード12は、PIDのビット0~ビット2に通信形態の識別情報を設定し、ビット3~ビット6に自身の識別情報を設定し、ビット7にパリティビットを設定する。
【0031】
マスタノード10は、受信したフレーム内のPIDのビット3~ビット6に含まれるスレーブノードの識別情報に基づいてスレーブノード12を特定し、フレームに含まれる応答(データ)を特定したスレーブノード12からのデータとして受信する。
【0032】
図3(c)はデータ要求の一例を示す。データ要求は、マスタノード10がスレーブノード12に対して応答の送信を要求する通信形態である。マスタノード10は、通信形態の識別情報(データ要求)と応答の送信を要求するスレーブノード12の識別情報を含むPIDを信号ラインBUSに出力する。マスタノード10は、PIDのビット0~ビット2に通信形態の識別情報を設定し、ビット3~ビット6にスレーブノード12の識別情報を設定し、ビット7にパリティビットを設定する。
【0033】
信号ラインBUSに接続されている全てのスレーブノード12は、PIDを受信する。自身の識別情報が受信したPIDに含まれるスレーブノードの識別情報と一致するスレーブノード12は、PIDに含まれる通信形態の識別情報に基づいて応答(データ)を送信する。
【0034】
マスタノード10は、受信した応答(データ)を応答の送信を要求するスレーブノード12からのデータとして受信する。
【0035】
図3(d)はデータ回答の一例を示す。データ回答は、マスタノード10が、スレーブノード12に対して応答を送信する通信形態である。スレーブノード12は、通信形態の識別情報(データ回答)と自身の識別情報を含むPIDを信号ラインBUSに出力する。スレーブノード12は、PIDのビット0~ビット2に通信形態の識別情報を設定し、ビット3~ビット6に自身の識別情報を設定し、ビット7にパリティビットを設定する。
【0036】
マスタノード10は、受信したPIDに対する応答(データ)を信号ラインBUSに出力する。スレーブノード12は、マスタノード10からの応答を自身が送信したPIDに対する応答(データ)として受信し、受信したデータを内部のレジスタに書き込む。
【0037】
図4は、PIDのビット0~ビット2に設定される通信形態の識別情報を説明するための図である。実施形態では、1対1のシングルキャストに加えて1対多のブロードキャストも実行可能である。データ送信は、1対1のシングルキャストと、1対2のブロードキャストと、1対4のブロードキャストと、1対8のブロードキャストに分類される。
【0038】
識別番号1の通信形態は、1対1のシングルキャストによるデータ送信(
図3(a))に関する。
図5は、1対1のシングルキャストを説明するための図である。
図5(a)は、1対1のシングルキャストの際に送信されるPIDの一例を示す図である。
図5(b)は、1対1のシングルキャストの一例の様子を示す図である。マスタノード10がPIDと応答を送信する。
【0039】
PIDのビット0、ビット1、ビット2には“000b”が設定され、ビット3~ビット6には、応答を受信するスレーブノード(ここでは、スレーブノード12-0)の識別情報“0000”が設定される。PIDのビット7はパリティビットである。
【0040】
PIDを受信した全てのスレーブノード12は、PIDのビット0~ビット2が“000b”である場合、PIDのビット3~ビット6が自身の識別情報と一致するかを判定する。16個のスレーブノード12の中で、PIDのビット3~ビット6と一致する識別情報を持つものは、スレーブノード12-0のみである。そのため、PIDのビット0、ビット1、ビット2が“000b”である場合は、PIDのビット3~ビット6が自身の識別情報と一致する1個のスレーブノード12-0のみが応答を受信する。これにより、1対1のシングルキャストによるデータ送信が実現する。
【0041】
識別番号2の通信形態は、1対2のブロードキャストによるデータ送信(
図3(a))に関する。
図6は、1対2のブロードキャストを説明するための図である。
図6(a)は、1対2のブロードキャストの際に送信されるPIDの一例を示す図である。
図6(b)は、1対2のブロードキャストの一例の様子を示す図である。マスタノード10がPIDと応答を送信する。
【0042】
PIDのビット0、ビット1、ビット2には“001b”が設定され、ビット3には“0”又は“1”のいずれかが任意に設定され、ビット4~ビット6には、応答を受信する2個のスレーブノードの識別情報の下位3ビット(ここでは、スレーブノード12-0の識別情報“0000”のビット2~ビット0と、スレーブノード12-8の識別情報“1000”のビット2~ビット0;これらは互いに等しい)の情報“000”が設定される。
【0043】
PIDを受信した全てのスレーブノード12は、PIDのビット0~ビット2が“001b”である場合、PIDのビット3を無視して、ビット4~ビット6が自身の識別情報の下位3ビット(ビット2~ビット0)と一致するかを判定する。16個のスレーブノード12の中で、PIDのビット4~ビット6と一致する識別情報の下位3ビットを持つものは、スレーブノード12-0、12-8である。そのため、PIDのビット0、ビット1、ビット2が“001b”である場合は、PIDのビット4~ビット6が自身の識別情報の下位3ビットと一致する2個のスレーブノード12-0、12-8が応答を受信する。これにより、1対2のブロードキャストによるデータ送信が実現する。
【0044】
識別番号3の通信形態は、1対4のブロードキャストによるデータ送信(
図3(a))に関する。
図7は、1対4のブロードキャストを説明するための図である。
図7(a)は、1対4のブロードキャストの際に送信されるPIDの一例を示す図である。
図7(b)は、1対4のブロードキャストの一例の様子を示す図である。マスタノード10がPIDと応答を送信する。
【0045】
PIDのビット0、ビット1、ビット2には“010b”が設定され、ビット3、4には“0”又は“1”のいずれかが任意に設定され、ビット5、6には、応答を受信する4個のスレーブノードの識別情報の下位2ビット(ここでは、スレーブノード12-0の識別情報“0000”のビット1、0と、スレーブノード12-4の識別情報“0100”のビット1、0と、スレーブノード12-8の識別情報“1000”のビット1、0と、スレーブノード12-12の識別情報“1100”のビット1、0;これらは互いに等しい)の情報“00”が設定される。
【0046】
PIDを受信した全てのスレーブノード12は、PIDのビット0~ビット2が“010b”である場合、PIDのビット3、4を無視して、ビット5、6が自身の識別情報の下位2ビット(ビット1、0)と一致するかを判定する。16個のスレーブノード12の中で、PIDのビット5、6と一致する識別情報の下位2ビットを持つものは、スレーブノード12-0、12-4、12-8、12-12である。そのため、PIDのビット0、ビット1、ビット2が“010b”である場合は、PIDのビット5、6が自身の識別情報の下位2ビットと一致する4個のスレーブノード12-0、12-4、12-8、12-12が応答を受信する。これにより、1対4のブロードキャストによるデータ送信が実現する。
【0047】
識別番号4の通信形態は、1対8のブロードキャストによるデータ送信(
図3(a))に関する。
図8は、1対8のブロードキャストを説明するための図である。
図8(a)は、1対8のブロードキャストの際に送信されるPIDの一例を示す図である。
図8(b)は、1対8のブロードキャストの一例の様子を示す図である。マスタノード10がPIDと応答を送信する。
【0048】
PIDのビット0、ビット1、ビット2には“011b”が設定され、ビット3、4、5には“0”又は“1”のいずれかが任意に設定され、ビット6には、応答を受信する8個のスレーブノードの識別情報のLSB(ここでは、スレーブノード12-0の識別情報“0000”のLSBと、スレーブノード12-2の識別情報“0010”のLSBと、スレーブノード12-4の識別情報“0100”のLSBと、スレーブノード12-6の識別情報“0110”のLSBと、スレーブノード12-8の識別情報“1000”のLSBと、スレーブノード12-10の識別情報“1010”のLSBと、スレーブノード12-12の識別情報“1100”のLSBと、スレーブノード12-14の識別情報“11110”のLSB;これらは互いに等しい)の情報“0”が設定される。
【0049】
PIDを受信した全てのスレーブノード12は、PIDのビット0~ビット2が“011b”である場合、PIDのビット3~5を無視して、ビット6が自身の識別情報のLSBと一致するかを判定する。16個のスレーブノード12の中で、PIDのビット6と一致する識別情報のLSBを持つものは、スレーブノード12-0、12-2、12-4、12-6、12-8、12-10、12-12、12-14である。そのため、PIDのビット0、ビット1、ビット2が“011b”である場合は、PIDのビット6が自身の識別情報のLSBと一致する8個のスレーブノード、スレーブノード12-0、12-2、12-4、12-6、12-8、12-10、12-12、12-14が応答を受信する。これにより、1対8のブロードキャストによるデータ送信が実現する。
【0050】
識別番号5の通信形態は、データ受信((
図3(b))に関する。スレーブノード12がPIDと応答を送信する。
【0051】
PIDのビット0、ビット1、ビット2には“100b”が設定され、ビット3~ビット6にはPIDと応答を送信するスレーブノードの識別情報が設定される。
【0052】
PIDを受信したマスタノード10は、PIDのビット0~ビット2が“100b”である場合、PIDの次に受信したデータを、PIDのビット3~ビット6により特定されるスレーブノード12からのデータとして受信する。データ受信は1対1の通信である。
【0053】
識別番号6の通信形態は、データ要求((
図3(c))に関する。マスタノード10がPIDを送信し、スレーブノード12が応答を送信する。
【0054】
PIDのビット0、ビット1、ビット2には“101b”が設定され、ビット3~ビット6には応答を送信するスレーブノードの識別情報が設定される。
【0055】
PIDを受信したスレーブノード12は、PIDのビット0~ビット2が“101b”である場合、自身に設定されている識別情報がPIDのビット3~ビット6と一致するならば、応答を信号ラインBUSに出力する。データ要求も1対1の通信である。
【0056】
識別番号7の通信形態は、データ回答((
図3(d))に関する。スレーブノード12がPIDを送信し、マスタノード10が応答を送信する。
【0057】
PIDのビット0、ビット1、ビット2には“110b”が設定され、ビット3~ビット6には応答を送信するスレーブノードの識別情報が設定される。
【0058】
PIDを受信したマスタノード10は、PIDのビット0~ビット2が“110b”である場合、自身に設定されている識別情報がPIDのビット3~ビット6と一致するならば、応答を信号ラインBUSに出力する。スレーブノード12は、PIDの送信時に受信した応答を受信する。データ回答も1対1の通信である。
【0059】
図9は、マスタノード10によるデータ送信の際のフレーム送信の一例を示すフロー図である。
【0060】
マスタノード10は、これから行うデータ送信が1個のスレーブノード12に対するデータ送信であるかを判定する(ステップS102)。
【0061】
これから行うデータ送信が1個のスレーブノード12に対するデータ送信である場合(ステップS102のYES)、マスタノード10は、ビット0、1、2が“000b”であり、ビット3~6が、送信先のスレーブノード12の識別情報であり、ビット7がパリティビットであるPIDを生成する(ステップS104)。例えば、
図5に示すように、送信先のスレーブノードがスレーブノード12-0である場合、PIDのビット3~6は“0000”である。
【0062】
これから行うデータ送信が1個のスレーブノード12に対するデータ送信ではない場合(ステップS102のNO)、マスタノード10は、これから行うデータ送信が2個のスレーブノード12に対するデータ送信であるかを判定する(ステップS106)。
【0063】
これから行うデータ送信が2個のスレーブノード12に対するデータ送信である場合(ステップS106のYES)、マスタノード10は、ビット0、1、2が“001b”であり、ビット3が任意であり、ビット4~6が2個のスレーブノード12の識別情報の下位3ビット(2個のスレーブノードで共通)であり、ビット7がパリティビットであるPIDを生成する(ステップS108)。例えば、
図6に示すように、2個のスレーブノードがスレーブノード12-0、12-8である場合、PIDのビット4、5、6は“000”である。
【0064】
これから行うデータ送信が2個のスレーブノード12に対するデータ送信ではない場合(ステップS106のNO)、マスタノード10は、これから行うデータ送信が4個のスレーブノード12に対するデータ送信であるかを判定する(ステップS110)。
【0065】
これから行うデータ送信が4個のスレーブノード12に対するデータ送信である場合(ステップS110のYES)、マスタノード10は、ビット0、1、2が“010”であり、ビット3、4が任意であり、ビット5、6が4個のスレーブノード12の識別情報の下位2ビット(4個のスレーブノードで共通)であり、ビット7がパリティビットであるPIDを生成する(ステップS112)。例えば、
図7に示すように、4個のスレーブノードがスレーブノード12-0、12-4、12-8、12-12である場合、PIDのビット5、6は“00”である。
【0066】
4個のスレーブノード12に対するデータ送信ではない場合(ステップS110のNO)、マスタノード10は、8個のスレーブノード12に対するデータ送信であると判定し、ビット0、1、2が“011”であり、ビット3、4、5が任意であり、ビット6が8個のスレーブノード12のノードアドレスのLSB(8個のスレーブノードで共通)であり、ビット7がパリティビットであるPIDを生成する(ステップS114)。例えば、
図8に示すように、8個のスレーブノードがスレーブノード12-0、12-2、12-4、12-6、12-8、12-10、12-12である場合、PIDのビット6は“0”である。
【0067】
マスタノード10は、PID生成処理(ステップS104、S108、S112、S114)の後、
図4に示すように、PIDと応答(フレーム情報、データと、CRCからなる)からなるフレームを送信する(ステップS116)。
【0068】
実施形態によれば、8ビットからなるPIDの一部(ビット3~ビット7)がスレーブノードの識別情報とされ、他の一部(ビット0~ビット2)を通信形態の識別情報とされる。通信掲題がデータ送信の場合、スレーブノードはPIDに含まれる識別情報と自身の識別情報が一致すると、応答を受信する。通信形態はシングルキャストによるデータ送信以外にブロードキャストによるデータ送信も含む。通信形態がブロードキャストによるデータ送信の場合、通信形態の識別情報は、送信先のスレーブノードの個数を指定できる。通信形態の識別情報が送信先のスレーブノードの個数を指定した場合、スレーブノードは識別情報の比較の際、一部のビットを無視する。これにより、ブロードキャストが実現される。このため、スレーブノード12に接続される複数のデバイスが同時にデータを送信することができる。自動車の場合、ウィンカー機能は前後で4つのランプを使う場合があり、もしも、ブロードキャストが実行されない場合、これらのランプの点灯タイミングがずれてしまう。
【0069】
さらに、実施形態によれば、マスタノード10は、通信形態毎にPIDを設定せずに、通信形態の識別情報が付加された1つのPIDを設定し、スレーブノード12が受信した1つのPIDの中の通信形態の識別情報を判別して、判別結果に応じた処理を行う。このため、通信形態が多くても、PIDの設定は1回で済み、PID設定のための通信時間が節約される。
【0070】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【符号の説明】
【0071】
10…マスタノード、12…スレーブノード、22…CXPIトランシーバ