実施の形態1.
図1は、本発明の実施の形態1に係るデータ送受信方法を実施する高速PLCネットワークシステムの構成を概略的に示す図である。図において、1は高速PLCネットワークの全体を管理する管理端末、2は管理端末1と電灯線9を接続するコンセント、3はPLCネットワークシステムに接続された端末(A)、4は端末(A)3と電灯線を接続するコンセント、5はPLCネットワークシステムに接続された端末(B)、6は端末(B)5と電灯線を接続するコンセント、7はPLCネットワークシステムに接続された端末(C)、8は端末(C)7と電灯線を接続するコンセントである。図1に示すように、実施の形態1においては、管理端末1、端末(A)3、端末(B)5、及び端末(C)7で高速PLCネットワークシステムを構成している。なお、図1に示された高速PLCネットワークシステムの構成は、本発明のデータ送受信方法及びデータ送受信装置が適用できるシステム構成の一例として高速PLCを用いた場合について示したものであり、本発明のデータ送受信方法及びデータ送受信装置は、他の構成を持つ高速PLCネットワークシステム、無線LANを用いたネットワークシステム、Ethernetを用いたネットワークシステムなどの他のシステムにも適用できる。
次に、図1を用いて高速PLCネットワーク内における管理端末1の動作について説明する。実施の形態1においては、MAC制御方式として、従来例で説明したHiSWANa規格で用いられているTDMA方式を採用した場合を例に説明する。管理端末1は、まずはじめに、ネットワーク全体の時刻同期を管理するためBCH(Beacon信号)をあらかじめ定められた周期で同報通信する。BCH送信後、管理端末1は、高速PLCネットワーク内の各端末のデータ受信、及びデータ送信タイミング情報(FCH)を同報通信する。管理端末1は、FCH送信後、前フレームで各端末より出力される送信スロット要求リクエスト(RCH)を受信した場合、RCHを送信した送信端末に対して、RCHを正常受信したことを通知する送信要求受信通知(ACH)を出力する。
ACH送信後は、FCHにて送信されたスケジュールに基づき、管理端末1、端末(A)3、端末(B)5、及び端末(C)7は、各端末間でデータの送受信を実施する。なお、FCHの詳細については後述する。FCHにおけるスケジュールに基づくデータの送受信が終了すると、各端末は、送信データを持っている場合は、RCH期間(各端末からの送信スロット要求リクエストを受け付けるためのCSMA期間)に、管理端末1に対して帯域割り当て要求を出力する。なお、TDMA方式を用いた上記BCH、FCH、ACH、RCH信号の送受信タイミングの詳細については後述する。
次に、各端末の動作について説明する。各端末は、管理端末1より出力されるBCH信号を受信すると、その受信タイミングを元に端末内の基準時刻の補正を実施する。BCHを用いた基準時刻補正実施後、各端末は、管理端末1より出力されるFCHを元に、各端末のデータ送信タイミング、及びデータ受信タイミングを、MAC部(図示せず)、及び変復調部(図示せず)に通知する。データ送信、及び受信タイミングの通知を受けると、変復調部は、BCHにより補正された基準時刻情報を元にデータの送信、及び受信準備を開始する。具体的には、データ受信の場合は、FCHに基づく受信時間になると、高速PLCデータ復調回路部(図示せず)は、データ受信動作を開始し、データの先頭にあらかじめ付加されているプリアンブル情報の検出を実施する。プリアンブル情報が所定のタイミングで検出されると、高速PLCデータ復調回路部は、検出したプリアンブル情報を元に受信データの先頭を検出し、受信データを復調し、復調したデータをMAC部に出力する。なお、MAC部の詳細動作は後述する。一方、所定のタイミングでプリアンプルが検出できない場合は、高速PLCデータ復調回路部は、MAC部に対して受信できなかった旨を通知する。
また、データ送信の場合は、FCHに基づく送信時刻が近づくと、MAC部は送信データの生成を開始する。MAC部にて送信データの生成が完了すると、MAC部は、送信データを高速PLCデータ変調回路部(図示せず)にあらかじめ定められたタイミングで出力する。高速PLCデータ変調回路部は、MAC部より出力される送信データに対して変調を施すとともに、プリアンブル情報を付加して、所定のタイミングで電灯線9に送信データを送出する。なお、MAC部の送信動作の詳細は後述する。
次に、図2から図5までを用いて高速PLC端末の構成を説明する。図2は、本発明の実施の形態1において高速PLCネットワークシステムの端末として用いることができるデータ送受信装置の構成を概略的に示すブロック図である。図2において、10は本発明の一実施の形態であるデータ送受信装置、11はCPU、12はEthernetインターフェイス回路、13はEthernetインターフェイス回路12より入力されるEthernetフレームデータ、Ethernetインターフェイス回路12へ出力されるEthernetフレームデータ、PLCモデム回路15へ出力されるEthernetフレームデータ、PLCモデム回路15から入力されるEthernetフレームデータをブリッジするブリッジインターフェイス回路である。一般に、高速PLCネットワークでは、電灯線9に接続された各端末に関して、論理ポートという概念が用いられ、ブリッジインターフェイス回路13は、あて先(図1中の管理端末1、端末(A)3、端末(B)5、及び端末(C)7)ごとにデータを振り分け、ブリッジ用メモリ14内にキューイングする。具体的には、ブリッジインターフェイス回路13は、Ethernetインターフェイス回路12より入力されるEthernetフレームデータを、その行き先ごとにブリッジ用メモリ14内に振り分けて記憶させる。また、図2において、14はブリッジインターフェイス回路13に入力されたEthernetフレームをあて先ごとに振り分け記憶するブリッジ用メモリ、15はPLCモデム回路、16は電灯線を介して送出するMACフレームデータを記憶するPLC送信用メモリ、17は電灯線を介して受信したMACフレームデータを記憶するPLC受信用メモリである。また、図2において、18はCPUバス、20はEthernetインターフェイス回路12への入力端子、21はEthernetインターフェイス回路12からの出力端子、22はPLCモデム回路15からの出力端子、23はPLCモデム回路15への入力端子である。図2に示されるように、本発明の一実施の形態であるデータ送受信装置10は、CPU11、Ethernetインターフェイス回路12、ブリッジインターフェイス回路13、ブリッジ用メモリ14、PLCモデム回路15、PLC送信用メモリ16、及びPLC受信用メモリ17にて構成される。
図3は、図2に示す高速PLCネットワークシステムの端末として用いることができるデータ送受信装置10内のPLCモデム回路15の構成を概略的に示すブロック図である。図3において、40は、ブリッジインターフェイス回路13より入力されるEthernetデータを複数個連結し、PLC用のMACフレームを生成するPLC送信制御回路、50は、電灯線9を介して受信したPLCMACフレームデータからEthernetフレームを分離し出力するPLC受信制御回路である。図3に示されるように、本発明の一実施の形態であるPLCモデム回路15は、PLC送信制御回路40、及びPLC受信制御回路50で構成される。
図4は、図3に示すPLC送信制御回路40の構成を概略的に示すブロック図である。図4において、401はPLCフレームに付加するMACヘッダを生成するPLCヘッダ生成回路、402はブリッジインターフェイス回路13から入力されるEthernetフレームデータを複数個集めて送信データを生成するパケットデータ生成回路、403はパケットデータ生成回路402から出力されるデータに暗号化を施す暗号化回路、404は後述するPLCネットワーク制御データ生成回路408より出力されるBeaconフレームデータ、スケジュールデータなどと暗号化回路403より出力される暗号化されたデータとを切り換えるセレクタ、405はセレクタ404より出力されるデータの先頭にPLCヘッダ生成回路401にて生成されたPLCMACヘッダを付加するPLCヘッダ付加回路、406はPLCヘッダ付加回路405より出力されるデータと、後述するPLC送信用メモリ制御回路409より出力されるデータを切り換えるセレクタである。また、図4において、407はデータ送受信装置10よりPLCネットワークへ出力するデータの送出タイミングを生成するPLC送信タイミング生成回路、408は送信するデータに付加するシーケンスナンバー、ACK/NACKの要否フラグ情報、前回受信データが正常受信されたかを示すACK/NACK情報、Beaconフレームに付加するBeacon制御データ、1フレーム内のスケジュールデータなどを生成し出力するPLCネットワーク制御データ生成回路、409は再送制御時に使用する送信フレームをPLC送信用メモリ16に記憶する際の書き込み制御信号を発生するとともに、再送時にPLC送信用メモリ16内に記憶されているデータを読み出す読み出し制御信号を発生するPLC送信用メモリ制御回路、410は送信するPLCフレームにCRC符号(誤り検出符号)を付加するCRC符号付加回路である。図4に示されるように、PLC送信制御回路40は、PLCヘッダ生成回路401、パケットデータ生成回路402、暗号化回路403、セレクタ404、及び406、PLCヘッダ付加回路405、PLC送信タイミング生成回路407、PLCネットワーク制御データ生成回路408、PLC送信用メモリ制御回路409、及びCRC符号付加回路410で構成される。
図5は、図3に示すPLC受信制御回路50の構成を概略的に示すブロック図である。図5において、501は受信されたPLCフレームよりMACヘッダを分離しその内容を解析するPLCヘッダ解析回路、502は受信されたPLCフレームに送信時に付加されたCRC情報を元に受信PLCフレーム内に発生した誤りを検出するCRC復号回路、503はヘッダ解析回路501より出力される暗号化の施されたデータを復号する暗号復号回路である。また、図5において、504はPLCフレームに付加されているスケジュール情報などを分離するPLC制御フレーム分離回路、505はPLC制御フレーム分離回路504により分離されたPLC制御フレーム情報を一旦記憶するPLC制御フレームデータ記憶回路である。また、図5において、506はPLC制御フレーム分離回路504より出力されるデータよりEthernetフレームデータを再構成し、一旦PLC受信用メモリ17に記憶する制御信号を生成するとともに、CRC復号回路502より出力される誤り検出結果に基づきPLC受信用メモリ17に格納されているEthernetフレームデータの読み出し制御を実施するPLC受信用メモリ制御回路、507はPLC制御フレームデータ記憶回路505に記憶されたスケジュールデータをCPU11を介して読み込みPLCからのデータ受信タイミングを生成するPLC受信タイミング生成回路である。図5に示されるように、PLC受信制御回路50は、PLCヘッダ解析回路501、CRC復号回路502、暗号復号回路503、PLC制御フレーム分離回路504、PLC制御フレームデータ記憶回路505、PLC受信用メモリ制御回路506、及びPLC受信タイミング生成回路507で構成される。
次に、図2から図4まで、及び図6から図11までを用いて、本発明の一実施の形態であるデータ送受信装置10の送信時の動作を説明する。入力端子20を介して入力されたEthernetフレームデータは、Ethernetインターフェイス回路12にて、あらかじめデータに付加されているEthernet用MACヘッダ情報を元にデータ長などの情報が分離解析され、ブリッジインターフェイス回路13へ入力される。Ethernetインターフェイス回路12よりEthernetフレームデータが入力されると、ブリッジインターフェイス回路13は、Ethenet用のMACヘッダより、入力されたデータの優先度情報を分離する。同様に、ブリッジインターフェイス回路13は、送信先MACアドレス情報を用いて、送り先ポートアドレスを検索する。Ethernetフレームに付加されているMACヘッダ情報の解析が終了すると、ブリッジインターフェイス回路13は、受信したEthernetフレームデータを、上記優先度情報、及び送り先ポートの検出結果を元にブリッジ用メモリ14内に記憶させる。
ブリッジインターフェイス回路13は、PLCモデム回路15内のPLC送信制御回路40より出力される送り先ポート情報、及びEthernetフレームデータ要求信号に基づきブリッジ用メモリ14内に上記要領でキューイングされたEthernetフレームデータを優先順位の高い順に読み出し、PLCモデム回路15内のPLC送信制御回路40へ出力する。以下、図4、及び図6から図9までを用いて管理端末1のPLC送信制御回路40の動作を説明する。なお、実施の形態1においては、従来例と同様に、PLCネットワークにおけるMAC制御方式としてTDMA方式を採用する場合を説明する。
管理端末1は、従来例でも述べたように、周期的にBCH(Beaconフレーム)、及びFCH(スケジュール情報)を出力してPLCネットワークを管理する。図6に1フレーム内の各種データの送信タイミングを示す。なお、実施の形態1においては、従来例と同様に、BCHなどのPLCネットワーク管理情報は20ms周期で出力されるものとする。よって、管理端末1内のPLC送信制御回路40は、Beaconフレーム、及びスケジュール情報を20msに一度生成する。実施の形態1においては、Beaconフレーム情報としては、Beaconフレームを送出する際の管理端末1の時刻情報をペイロード情報として送出するものとする。具体的には、PLCネットワーク制御データ生成回路408は、Beaconフレームデータ送出時のPLCネットワーク制御データ生成回路408内の基準時刻情報を、ペイロードとしてセレクタ404に出力する。受信端末は、Beaconフレーム情報を受信すると、内部の受信基準時刻をBeaconフレームに付加された送信側基準時刻にあわせる。管理端末1は、BCHの送信に引き続き、FCH(スケジュール情報)の送信を実施する。
以下、図6、及び図8を用いてスケジュール情報の生成方法について説明する。図6に、FCH内のスケジュール情報の一実施の形態を示す。FCHは、図6に示すように、受信時に受信データの先頭位置、及びクロック位相を検出するためのプリアンブル情報に続きスケジュール情報が付加され伝送される。スケジュール情報には、データ送受信期間に設けられた通信スロットごとに送信開始時間、送信時間、どの端末(送信端末)からどの端末(受信端末)へのデータ送信かを示す端末情報、及びデータを送受信する際の関連情報を送信する。なお、実施の形態1においては、送信端末情報、及び受信端末情報として、各機器の持つMACアドレス情報(Media Access Control Address:メディア アクセス コントロール アドレス)を用いるものとする。なお、MACアドレス情報以外に、例えば、そのPLCネットワーク内の論理ポート番号、あるいはネットワーク内でプライベートに定められた識別情報を用いても、同様の効果を奏することができる。FCH内のスケジュール情報は、図6に示すように、通信スロットごとに上記情報が付加され伝送される。なお、通信スロットについては、データを持つ各端末が管理端末1に対して従来例と同様に、RCH情報、あるいは実際にデータの送信を行っている端末に関しては、そのMACヘッダ部に帯域割り当て要求を付加し伝送することにより送信スロットを割り当てる。
次に、図8を用いてFCH内のスケジュール情報の生成フローを説明する。スケジュール情報の生成が開始される(ステップS10)と、管理端末1内のCPU11は、前回管理端末1が割り当てた上記送信スロットに対するACK/NACKフレーム送信のための帯域、及び前フレームに各端末より受信したデータに対するACK/NACKフレーム送信のための帯域割り当てを実施する(ステップS11)。管理端末1内のCPU11は、ACK/NACKフレーム用の送信スロット割り当てが完了すると次に、各端末からの再送要求、及び各端末への再送要求があるかを確認する(ステップS12)。再送要求がある場合は、管理端末1内のCPU11は、再送用のタイムスロットを割り当てる(ステップS13)。この再送用タイムスロットの割り当てが終了すると、管理端末1内のCPU11は、RCHにより帯域割り当て要求を実施してきた新規通信要求端末が存在するかを確認する(ステップS14)。新規送信要求端末がある場合は、管理端末1内のCPU11は、その端末に対する送信タイムスロットを割り当てる(ステップS15)。新規通信要求への送信タイムスロットの割り当てが完了すると、管理端末1内のCPU11は、管理端末1の送信タイムスロットを割り当てる(ステップS16)。そして最後に、管理端末1内のCPU11は、各端末の送信タイムスロットを割り当てる(ステップS17)。この送信タイムスロットの割り当てが完了すると、PLCネットワーク制御データ生成回路408は、割り当てた送信タイムスロット情報を元にFCHフレームを生成する(ステップS18)。PLCネットワーク制御データ生成回路408内に生成されたFCHフレームは、PLC送信タイミング生成回路407より出力されるタイミング情報に基づき、セレクタ404に出力される(ステップS19)。また、PLCネットワーク制御データ生成回路408は、FCHフレームの送信時に、本フレームで各端末に送信するデータのスケジュール(送信タイムスロット情報)をPLC送信タイミング生成回路407に出力する。なお、実施の形態1においては、BCH、FCHなどの固定スロットの送受信タイミングについては、あらかじめPLC送信タイミング生成回路407、及びPLC受信タイミング生成回路507内にセットされているものとする。また、データ受信タイミングスロット情報は、PLC受信制御回路50内の後述するPLC受信タイミング生成回路507へCPU11を介してセットされる。
次に、ブリッジインターフェイス回路13より入力されるEthernetフレーム情報の送信時の動作について、図2から4まで、及び図9に示すMACフレーム生成フローを用いて説明する。なお、以下の動作は、管理端末1では、上述したように、FCH送信時にPLCネットワーク制御データ生成回路408からスケジュール情報がPLC送信タイミング生成回路407にセットされる。一方、PLCネットワークに参加している各端末では、FCHを受信すると、CPU11にて自分自身がデータを送信、あるいは受信するタイムスロット情報を分離し、送信タイムスロットに関してはPLCネットワーク制御データ生成回路408を介してPLC送信タイミング生成回路407にセットする。受信タイムスロットに関しては、CPU11から直接PLC受信タイミング生成回路507に受信スケジュールをセットする。PLC送信タイミング生成回路407への送信タイムスロットのセット動作以外は、管理端末1、及び通常の端末におけるEthernetフレームデータのPLCネットワークへの送信動作は同様であるので、管理端末1の送信動作についてのみ以下詳細に説明する。
PLC送信タイミング生成回路407は、まずはじめに、PLCネットワーク制御データ生成回路408より出力されるスケジュール情報より、次に送信するあて先端末情報、及び送信時間より送信可能バイト数を算出する(ステップS30)。PLCネットワークでは、無線LANと同様に、接続する端末ごとに送信データのPHY速度(PHY変復調パラメータ)が異なる。送信バイト数の算出が終了すると、PLC送信タイミング生成回路407は、ブリッジインターフェイス回路13に対してブリッジ用メモリ14内に記憶されている、送信端末宛のEthernetフレームを、優先度の高い順にその長さを通知するよう要求する。PLC送信タイミング生成回路13は、ブリッジインターフェイス回路13より出力される上記Ethernetフレームのバイト数情報を元に今回送信するEthernetフレームの連結数を決定する(ステップS31)。
実施の形態1においては、PLCネットワーク上に効率よくデータを流すために、PLCMACフレームを生成する場合は、図7に示すように、複数のEthernetフレームを連結し1つのPLCMACフレームとして伝送する。よって、PLCMACフレームは、図7に示すように、PLCMACヘッダに引き続きEthernetフレームがN個(Nは1以上の整数)のEthernetフレームが連結され構成される。なお、Ethernetフレームの連結数、連結された各Ethernetフレームの長さ情報などはPLCMACヘッダ内に付加され伝送される。
PLC送信タイミング生成回路407は、Ethernetフレームの連結数の決定が終了すると、PLCヘッダ生成回路401に対してPLCMACフレームを生成するよう指示を出す。その際、上記Ethernetフレームの連結情報を出力する。一方、PLCネットワーク制御データ生成回路408も、PLCヘッダ生成回路401に対して、シーケンスナンバー情報、及び送信データ種別を確認し、ACK/NACKフレーム送信要求情報を出力する(ステップS32)。PLCヘッダ生成回路401への指示を完了すると、PLC送信タイミング生成回路407は、データの送信時刻になるまで待機する。PLCヘッダ生成回路401は、上記情報を元にPLCヘッダ情報を生成し、データの送信時刻まで待機する。
データ送信時刻になると、PLC送信タイミング生成回路407は、PLCヘッダ生成回路401及びパケットデータ生成回路402に対して送信用PLCMACフレームデータを生成するよう指示を出すとともに、ブリッジインターフェイス回路13に対して、優先度の高い順にEthernetフレームデータを先ほど生成した連結情報に基づき出力するよう指示を出す(ステップS33)。ブリッジインターフェイス回路13は、PLC送信タイミング生成回路407より出力されるデータ要求指示に従い、ブリッジ用メモリ14より所定のEthernetフレームデータを読み出し、パケットデータ生成回路402に出力する。パケットデータ生成回路402は、ブリッジ用メモリ14より読み出されたEthernetフレームデータを一旦内部のメモリに記憶し、あらかじめ定められた大きさのブロックに変換し(例えば、128ビット単位)、暗号化回路403へ出力する。暗号化回路403は、あらかじめ定められたサイズにブロック化されたデータに対して暗号化を施す(ステップS34)。暗号化回路403にて暗号化の施されたデータは、セレクタ404に入力される。セレクタ404は、暗号化回路403より出力される上記暗号化の施されたEthernetフレームデータとPLCネットワーク制御データ生成回路408で生成されたBCH、FCHなどのPLCネットワーク制御データを切り換える。具体的には、図6に示すデータ送受信期間については暗号化回路403の出力を選択し、BCH、FCH、ACH、及びRCHの期間では、PLCネットワーク制御回路408の出力を選択する。(管理端末1は、BCH、FCH、ACHの期間、各端末ではRCHの期間に相当する。)なお、セレクタ404のセレクト信号は、図4に示すように、PLC送信タイミング生成回路407より出力される。
セレクタ404の出力は、PLCヘッダ付加回路405に入力される。PLCヘッダ付加回路405は、PLC送信タイミング生成回路407より出力されるタイミング信号に基づきセレクタ404より出力されるペイロードデータの先頭に、PLCヘッダ生成回路401より出力されるPLCMACヘッダ情報を付加する(ステップS35)。なお、実施の形態1においては、パケットデータ生成回路402にてあらかじめ定められたサイズにブロック化されたEthernetフレームデータは、PLCヘッダ付加回路405内に設けられた図示していないメモリに一旦記憶され、Ethernetフレームデータのサイズに復元される。なお、PLCネットワーク制御データ生成回路408より出力されるPLCネットワーク制御データに関しても同様に、PLCヘッダ付加回路405にてPLCMACヘッダが付加される。
PLCヘッダ付加回路405にてPLCMACヘッダ情報の付加されたPLCパケットデータは、セレクタ406とPLC送信用メモリ制御回路409に入力される。セレクタ406は、PLC送信用メモリ制御回路409より出力される切り換え信号に基づき、PLCヘッダ付加回路405からの出力とPLC送信用メモリ制御回路409の出力を切り換える。なお、PLC送信用メモリ制御回路409の制御の詳細は後述する。セレクタ406の出力は、CRC符号付加回路410に入力される。CRC符号付加回路410は、セレクタ406より入力されたPLCMACヘッダの付加されたMACフレームに、PLCネットワークで発生した誤りを検出するためのCRC符号を付加した後、CRC符号付加回路410内のPYHヘッダ付加回路(図示せず)でPHYヘッダを付加した後、PHYヘッダを含む送信データに、例えば、OFDM変調などのデジタル変調を施す。CRC付加回路410内でデジタル変調の施された送信データは、CRC符号付加回路410内のプリアンブル付加回路(図示せず)にて先頭に所定シンボル数のプリアンブルが付加され電灯線9上に送出される。MACフレームデータの電灯線9への送出が完了すると、PLCネットワーク制御データ生成回路408は、シーケンスナンバーを1つインクリメントして(ステップS36)、MACフレーム生成動作を終了する。
次に、PLC送信制御回路40内のPLC送信用メモリ制御回路409の動作を説明する。実施の形態1においては、送信するMACフレームの種別により再送制御の有無を切り換える。具体的には、VoIPのように遅延量をあらかじめ定められた時間以下に抑える必要のあるパケットの場合は、再送制御を実施したとしても上記時間内に再送処理が完了しないので再送制御は実施しない。例えば、Beaconフレーム間隔が20msで、SR再送制御方式を採用した場合、再送制御が発生すると、60ms程度のデータ遅延が発生する。また、ACK/NACKなど管理端末1と端末との間で実施されるPLCのMAC制御などに使用されるプロトコルのみを送信する場合にも、同様に、再送制御は実施しない。よって、実施の形態1においては、VoIP以外のEthernetフレームについてのみ再送制御を実施するものとする。
次に、図10を用いて、TDMA方式に再送制御方式としてSelective Repeat再送制御方式(以下「SR再送制御方式」と記す。)を採用した場合の再送制御を説明する。図10は、TDMA方式において再送制御方式としてSR再送制御方式を採用した場合の再送制御を説明するタイミングチャートである。図10は、説明を簡単にするために、管理端末1から端末(A)3へのデータ送信の場合について示す。管理端末1は、BCH、FCH、及びACH送信後、端末(A)3に向け、図9に示すMACフレーム生成フローに基づきMACフレームを生成し、端末(A)3に出力する。端末(A)3は、管理端末1から送出されたMACフレームを受信すると、MACヘッダを解析し、シーケンスナンバーSNを分離する。これらの動作と並行して、端末(A)3内のPLC受信制御回路50は、受信したMACフレームに負荷されたCRC符号を用いて誤り検出を実施する。なお、データ受信動作の詳細は後述する。
端末(A)3内のPLC受信制御回路50は、CRC符号を用いた誤り検出の結果、誤りなしと判断されたMACフレームについてのシーケンスナンバーSNを確認し、誤りなしと判断されたMACフレームがブリッジインターフェイス回路13に出力可能かどうかを判断する。実施の形態1において、端末(A)3内のPLC受信制御回路50は、ブリッジインターフェイス回路13に最後に送出したMACフレームのシーケンスナンバーを記憶しておき、その連続性により出力可能かどうかを判断する。具体的には、N−1番のシーケンスナンバーを持つMACフレームを最後にブリッジインターフェイス回路13に出力していた場合に、N番のシーケンスナンバーを持つMACフレームを受信した場合は、そのフレームデータをブリッジインターフェイス回路13に出力する。一方、例えば、N+1番目のシーケンスナンバーを受信した場合は、N番目のシーケンスナンバーを持つMACフレームが受信エラーで落ちたと判断し、PLC受信用メモリ(詳細は後述する)にN+1番目のMACフレームデータを記憶し、N番のMACフレームデータを受信するまで待機する。一方、例えば、N−2番目のシーケンスナンバーを持つMACフレームを受信した場合は、既にそのシーケンスナンバーを持つMACフレームはブリッジインターフェイス回路13に送出しているので、受信したMACフレームは破棄する。このようなケースは、端末(A)3が送信したACKフレームを管理端末1が受信できなかった場合に発生する。
図10に示すタイミングチャートを元にSR再送制御方式を採用した場合の動作を説明する。SR再送制御方式では、誤りが発生した場合、誤りを検出したMACフレームのみ再送制御を実施する。受信端末(A)3は、管理端末1よりシーケンスナンバーがNであるMACフレームを受信すると、上記要領でMACフレーム内の誤り検出を実施する。受信端末(A)3は、誤り訂正の結果、正常受信したと判断した場合は、ブリッジインターフェイス回路13に最後に送信したMACフレームのシーケンスナンバーを確認する。図10においては、N−1番のMACフレームも正常受信しており、既にブリッジインターフェイス回路13に出力されているものとする。よって、N番目のMACフレームのデータは、図10に示すタイミングで、ブリッジインターフェイス回路13へ出力する。それと同時に、PLC受信制御回路50は、PLC送信制御回路40に対して次のフレームでACKパケットを送出するよう指示を出す。
一方、管理端末1は、N番目のシーケンスナンバーを持つMACフレームデータ送信後、RCHの受信スロットで他の端末からの帯域割り当て要求があるか受信状態で待機する。RCHの受信スロット完了まで待機後、管理端末1は、次フレームのデータ送信を開始する。具体的には、BCH、FCH、及びACH送出後、N+1番目のMACフレームを送信する。図10においては、受信端末(A)3にてN+1番目のMACフレームデータを受信した際、受信データに誤りが検出されたと判断された場合について示した。受信端末(A)3内のPLC受信制御回路50は、受信データに誤りがあると判断した場合は、受信したMACフレームデータを破棄するとともに、PLC送信制御回路40に対してNACKパケットを送信するよう指示を出す。(シーケンスナンバーN+1のNACKパケットの送信は次フレームに実施される。)なお、図10においては、N+1番目のシーケンスナンバーのMACフレーム受信後、PLC送信制御回路40より前フレームで受信したN番目のシーケンスナンバーを持つMACフレームのACKパケットの送信タイミングも示している。管理端末1は、受信端末(A)3よりシーケンスナンバーNのACKパケットを受信すると、PLC送信用メモリ16内に記憶されているシーケンスナンバーNのMACフレームのデータを破棄する。
ACKパケット受信後、管理端末1は、RCH受信スロット完了まで待機した後、次フレームのデータ送信を開始する。具体的には、管理端末1は、BCH、FCH、及びACH送出後、N+2番目のMACフレームを送信する。図10においては、シーケンスナンバーN+2番目のデータは正常受信できているが、シーケンスナンバーN+1番目のデータが正常受信できていないため、受信データは一旦PLC受信用メモリ17内に記憶される。その際、PLC受信制御回路50は、PLC送信制御回路40に対して、次のフレームでACKパケットを送出するよう指示を出す。一方、受信端末(A)3内のPLC送信制御回路40は、PLC受信制御回路50におけるMACフレームの受信が完了すると、FCHにて伝送されてきたスケジュールに基づきシーケンスナンバーN+1番目のデータのNACKパケットを管理端末1に出力する。
管理端末1は、受信端末(A)3よりNACKパケットを受信すると、シーケンスナンバーN+1番目のMACフレームデータの再送を実施するためのシーケンスを起動する。実施の形態1においては、NACKパケット受信後、次々フレームにて再送用のスケジュールを実施するものとする。
上記NACKパケット受信後、管理端末1は、RCH受信スロット完了まで待機した後、BCH、FCH、ACH、及びN+3番目のMACフレームを送信する。受信端末(A)3は、受信したMACフレームが正常受信できたか判断する。図10においては、シーケンスナンバーN+3番目のデータは正常受信できているが、シーケンスナンバーN+1番目のデータが正常受信できていないため、シーケンスナンバーN+2番目の受信データと同様に、受信データは一旦PLC受信用メモリ17内に記憶される。その際、シーケンスナンバーN+2番目の受信の際と同様に、PLC受信制御回路50は、PLC送信制御回路40に対して、次のフレームでACKパケットを送出するよう指示を出す。一方、受信端末(A)3内のPLC送信制御回路40は、PLC受信制御回路50におけるMACフレームの受信が完了すると、FCHにて伝送されてきたスケジュールに基づき、シーケンスナンバーN+2番目のデータのACKパケットを管理端末1に出力する。管理端末1は、受信端末(A)3よりシーケンスナンバーN+2のACKを受信すると、PLC送信用メモリ16内に記憶されているシーケンスナンバーN+2のMACフレームのデータを破棄する。
上記ACKパケット受信後、管理端末1は、RCH受信スロット完了まで待機した後、BCH、FCH、ACH、及びN+1番目のMACフレームを再送信する。受信端末(A)3は、受信したMACフレームが正常受信できたか判断する。図10においては、再送によりシーケンスナンバーN+1番目のデータは、正常受信できた場合を示している。シーケンスナンバーN+1番目のデータが正常受信できたので、受信端末(A)3内のPLC受信制御回路17は、ブリッジインターフェイス回路13に対して、図10に示すように、受信したシーケンスナンバーN+1、PLC受信用メモリ17内に記憶されている、シーケンスナンバーN+2、及びN+3のMACフレームを順番に出力する。また、これらの動作と並行して、受信端末(A)3内のPLC送信制御回路40は、PLC受信制御回路50におけるMACフレームの受信が完了すると、FCHにて伝送されてきたスケジュールに基づき、シーケンスナンバーN+1番目のデータのACKパケットを管理端末1に出力する。管理端末1は、受信端末(A)3よりシーケンスナンバーN+1のACKを受信すると、PLC送信用メモリ16内に記憶されているシーケンスナンバーN+1のMACフレームのデータを破棄する。SR再送制御方式では、上述のように再送制御が実施される。
同様に、図11にGo−Back−N再送制御方式を採用した場合の動作タイミングを示す。Go−Back−N再送制御方式では、SR再送制御方式とは異なり、誤りを検出した場合、誤りの発生したMACフレームから再度すべてのMACフレームを再送する。従って、図11に示すように、N+1番目のシーケンスナンバーのMACフレームに誤りが検出された場合は、その直後に受信したN+2、及びN+3番目のシーケンスナンバーのMACフレームに関しては受信端末(A)3内で破棄され、N+1番目のシーケンスナンバーのデータより再送が開始される。
次に、図12を用いて本発明の一実施の形態であるデータ送受信装置10である各端末(端末(A)3、端末(B)5、及び端末(C)7)の動作フローについて説明する。上述したように、TDMAをベースとするMAC制御方式では、Beaconフレーム(BCH)により、管理端末1と各端末との間の時刻同期を確立する。Beaconフレームにより時刻同期(基準時刻を合わせ)が確立すると、その基準時刻を元に管理端末1と各端末との間のMACフレームデータの送受信を実施する。よって、PLCネットワークを介したデータの送受信動作が開始されると、各端末は管理端末1より送出されるBeaconフレーム(BCH)の検出を開始する。BCHを検出する(ステップS40)と、各端末は、Beaconフレーム中に付加されている管理端末1の基準時刻情報を元に、各受信端末の基準時刻の補正を実施する(ステップS41)。
上記基準時刻の補正が終了すると、各端末は、FCHの受信を開始する(ステップS42)。各端末は、FCHを受信すると、各端末は自端末の送受信用のタイムスロットがスケジューリングされているかを確認する(ステップS43)。上記スケジュールに受信スロットがある場合(ステップS44)、端末は、受信時間を確認し、その時刻まで待機する(ステップS45)。受信時間になると、端末は、電灯線9を介して入力されるデータの受信を開始する(ステップS46)。MACフレームの受信を開始すると、受信端末は、MACヘッダ部に付加されているEthernetフレームの連結情報、及びMACフレーム長を分離し確認する。1MACフレーム分のデータの受信が完了すると、端末は、次の受信スロットが上記スケジュールの中にないか確認する(ステップS47)。受信スロットがあった場合は、端末は、次の受信時間を確認し(ステップS45)、その時刻まで待機する。一方、スケジュールがない場合は、端末は、次に送信スロットが割り当てられていないか確認する。なお、ステップS44において受信スロットが割り当てられていない場合についても、図12に示すように、送信スロットが割り当てられていないか確認する(ステップS48)。上記スケジュールに送信スロットがある場合(ステップS48)、端末は、送信時刻を確認し、その時刻まで待機する(ステップS49)。送信時刻になると、端末は、電灯線9を介してデータの送信を開始する(ステップS50)。MACフレームの送信が完了すると、端末は次の送信スロットが上記スケジュールの中にないか確認する(ステップS51)。次の送信スロットがあった場合は、端末は、次の送信時刻を確認し、その時刻まで待機する(ステップS49)。一方、スケジュールがない場合は、次に帯域割り当て要求を実施するか確認する。なお、ステップS48で送信スロットが割り当てられていない場合についても図に示すように、帯域割り当て要求を実施するか確認する(ステップS52)。帯域割り当て要求を実施する場合は、所定の時刻でRCHを送信し(ステップS53)、BCH受信まで待機する。帯域割り当て要求を実施しない場合は、本フレームにおける動作を完了しBCH受信まで待機する。
次に、図2、図3、及び図5を用いて本発明の一実施の形態であるデータ送受信装置10の各端末(管理端末1、端末(A)3、端末(B)5、及び端末(C)7)の動作について説明する。電灯線9を介して受信したMACフレームデータは、データ送受信装置10内の入力端子23に入力される。入力端子23に入力されたMACフレームデータは、PLCモデム回路15中のPLC受信制御回路50に入力される。PLC受信制御回路50に入力されたMACフレームデータは、図示されていないデジタル復調回路部で、送信時にあらかじめ付加されたプリアンブルを検出する。プリアンブル検出後、受信データにデジタル復調(例えば、OFDM)を施し、元のMACフレームデータに変換する。その際、デジタル復調回路部は、送信時に付加されたPHYヘッダ情報を分離する。PHYヘッダにはデータ長などのパラメータが付加されており、その情報を元にデジタル復調などを施す。
上記デジタル復調回路部でデジタル復調されたMACフレームデータは、PLCヘッダ解析回路501、及びCRC復号回路502に入力される。CRC復号回路502は、MACフレームデータの送信時に、あらかじめ付加されたCRC情報を元に受信MACフレーム内に発生した誤りの検出を実施する。一方、PLCヘッダ解析回路501は、入力されたMACフレームデータよりMACヘッダ部を分離し、MACヘッダの解析を実施する。具体的には、送信時に付加されたEthernetフレームの連結情報、及びMACフレーム長などを分離し、PLC制御フレーム分離回路504、PLC制御フレームデータ記憶回路505、及びPLC受信タイミング生成回路507に出力する。一方、CRC復号回路502で検出された誤り検出情報は、PLC受信用メモリ制御回路506に入力される。なお、誤りを検出した場合は、その誤り検出情報は、PLC制御フレーム分離回路504、PLC制御フレームデータ記憶回路505、及びPLC受信タイミング生成回路507にも入力される。PLCヘッダ解析回路501にてMACヘッダが分離された受信データは、暗号復号回路503に入力される。なお、CRC復号回路502にて誤りが検出された場合は、その旨を、図示していない割り込み制御線を介してCPU11に、通知する。CPU11は、CRC復号回路502にて誤り検出されると、その旨をPLCネットワーク制御データ生成回路408に通知し、次のフレームで消失したシーケンスナンバー情報を含むNACKパケットを出力するよう指示を出す。なお、再送制御に関する詳細な動作は後述する。また、受信したMACフレームのシーケンスナンバーの連続性を確認した際、シーケンスナンバーが抜けていた(飛んでいた)場合についても、そのシーケンスナンバー情報を含むNACKパケットを送出するよう制御する。
暗号復号回路503は、送信時に施された暗号を復号し、PLC制御フレーム分離回路504に入力する。PLC制御フレーム分離回路504は、PLCヘッダ解析回路501より入力されるEthernetフレームの連結情報、MACヘッダ解析情報を元に、ACK/NACKなどのPLC制御フレーム情報とEthernetフレームを分離する。なお、FCHなどの管理端末1より出力されるスケジュール情報などのPLC制御フレーム、あるいは各端末から管理端末1に対して出力されるRCH情報なども、PLC制御フレーム分離回路504にて分離される。
PLC制御フレーム分離回路504にて分離されたPLC制御フレームは、一旦PLC制御フレームデータ記憶回路505に記憶される。PLC制御フレームデータ記憶回路505では、1MACフレーム内のすべてのPLC制御フレームの記憶が終了すると、CPU11に対して割り込みを発生する。CPU11は、PLC制御フレームデータ記憶回路505より割り込みが入力されると、一旦CPU11にてPLC制御フレームを取り込み、その解析結果を元に各回路に指示を出す。例えば、CPU11は、FCHのスケジュール情報を受信した場合には、取り込んだデータを解析した後に、PLC受信タイミング生成回路507にその解析結果を元に、データの送受信スロット情報をセットする。同様に、CPU11は、ACK/NACK情報を受信した場合は、その受信結果に基づき各回路に指示を出す。具体的には、前フレームで送信したデータがACKであった場合は、CPU11は、PLC送信用メモリ16内に記憶されている対応するMACフレームのデータを消すよう指示を出す。一方、NACKであった場合は、CPU11は、正常送信されなかった旨を、PLCネットワーク制御データ生成回路408に通知し、再送制御の準備に入るよう指示する。
一方、PLC制御フレーム分離回路504より出力されるEthernetフレームデータは、PLC受信用メモリ制御回路506に入力される。PLC受信用メモリ制御回路506は、PLCヘッダ解析回路501より出力されるEthernetフレームの連結情報を元に、入力されたMACフレームデータよりEthernetフレームを分離し、Ethernetフレーム単位でPLC受信用メモリ17に記憶させる。1MACフレーム分のEthernetフレームのPLC受信用メモリ17への記憶を終了すると、PLC受信用メモリ制御回路506は、PLCヘッダ解析回路501より出力されるMACフレームに付加されているシーケンスナンバー情報を確認し、受信したMACフレームデータをブリッジインターフェイス回路13に出力できるか確認する。なお、具体的な確認動作の詳細は上述したが、すでにブリッジインターフェイス回路13に出力しているMACフレームのシーケンスナンバー情報と今回受信したMACフレームのシーケンスナンバーの連続性を確認し、連続していた場合は、受信したMACフレームデータを、ブリッジインターフェイス回路13にEthernetフレーム単位で出力する。一方、連続していなかった場合は、再送データ受信待と判断し、PLC受信用メモリ17内からのデータの読み出しを実施しない。一方、ブリッジインターフェイス回路13内に入力されたEthernetフレームデータは、FDB(Forwarding DataBase)検索などを実施した後、ブリッジ用メモリ14内に一旦記憶される。ブリッジ用メモリ14内に記憶されたEthernetフレームデータは、Ethernetインターフェイス回路12から出力されるデータ送信準備完了信号に基づき、ブリッジ用メモリ14より読み出され、Ethernetインターフェイス回路12にて所定のEthernet用のMACヘッダ、PHYヘッダが付加され、出力端子21を介してEthernet網に出力される。
次に、再送時の際のデータ送受信装置10の動作フローを、図13、及び図14に示されるフローチャートを用いて説明する。なお、以下の説明では、再送制御方式としてSR再送制御方式を採用した場合について説明する。1フレーム内の受信タイミングがPLC受信タイミング生成回路507にセットされると、PLC受信制御回路50は、受信時間(受信タイミング)になるまで待機する(ステップS60)。受信時間になりMACフレームが入力されると、PLC受信制御回路50は、PLCヘッダ解析回路501にてMACフレームを分離し、MACヘッダ解析を実施し(ステップS61)、自端末宛のデータか確認する(ステップS62)。自端末宛データでなかった場合は、PLC受信制御回路50は、CPU11に対して自端末宛データでなかったことを通知するとともに、次のデータの受信まで待機する。CPU11は、上記割り込みが入力されると、スケジュールを確認し、自端末宛に対するタイムスロットであった場合は、PLCネットワーク制御データ生成回路408に対して自フレームにNACKパケットを送信するよう指示を出す。
自端末宛データであった場合は、PLC受信制御回路50は、受信したMACフレームに誤りがなかったかをCRC復調回路502にて検出する(ステップS63)。MACフレームに誤りが検出された場合は、上述したようにCPU11に通知し、各回路はCPU11の指示に基づき再送制御処理を起動する(ステップS64)。具体的には、CPU11は、PLCネットワーク制御データ生成回路408に対して自フレームにNACKパケットを送信するよう指示するとともに、PLC受信用メモリ制御回路506に対して再送制御処理に入ったことを通知する。再送制御処理を起動すると、データ送受信装置10は、次のMACフレームの受信処理に入る。
一方、誤りが検出されなかった場合は、PLC受信制御回路50は、受信したMACフレームのシーケンスナンバーの連続性を確認する(ステップS65)。PLC受信制御回路50は、確認の結果、シーケンスナンバーが連続していなかった場合、すでにブリッジインターフェイス回路13に送出したMACフレーム番号と比較する(ステップS66)。PLC受信制御回路50は、比較した結果、受信したMACフレームのシーケンスナンバーがすでにブリッジインターフェイス回路13に出力したMACフレームのシーケンスナンバーより小さい場合は、すでに処理したMACフレームがさらに送信されてきたと判断し、受信したMACフレームを破棄する(ステップS67)。一方、受信したMACフレームのシーケンスナンバーがすでにブリッジインターフェイス回路13に出力したMACフレームのシーケンスナンバーより大きい場合は、PLC受信制御回路50は、再送制御待を実施するため伝送されてきたMACフレームデータを一旦PLC受信用メモリ17に記憶させる(ステップS69)。受信用メモリ17へのMACフレームデータの記憶を終了すると、PLC受信制御回路50は、送達不要判断を実施する(ステップS70)。送達不要判断の詳細については後述する。
ステップS65にて受信MACフレームのシーケンスナンバーの連続性が確認できた場合も、伝送されてきたMACフレームデータを一旦PLC受信用メモリ17に記憶する(ステップS68)。PLC受信用メモリ17内にMACフレームの記憶を終了すると、PLC受信制御回路50は、受信したMACフレームをブリッジインターフェイス回路13に出力可能か確認する(ステップS71)。ブリッジ用メモリ14内に空き領域がなく送出不可の場合は、PLC受信制御回路50は、出力可能になるまで待機する。PLC受信制御回路50は、ブリッジインターフェイス回路13への出力が可能になると、受信したMACフレームをEthernetフレーム単位でブリッジインターフェイス回路13に出力する(ステップS72)。ブリッジインターフェイス回路13に1MACフレーム分のデータの送信を終了すると、PLC受信制御回路50は、ブリッジインターフェイス回路13への送信済みMACフレームのシーケンスナンバーをインクリメント(ステップS73)し、PLC受信用メモリ17内に記憶されている受信データが無いか確認する(ステップS74)。PLC受信制御回路50は、PLC受信用メモリ17内に受信データがある場合は、そのシーケンスナンバーを確認する。そして、PLC受信制御回路50は、先ほど転送したMACフレームのシーケンスナンバーとの連続性が確認された場合は、データが再送されるまで待機していたデータとしてブリッジインターフェイス回路13へ出力するよう、制御する(ステップS75)。ステップS75にてシーケンスナンバーの連続性が確認された場合は、ステップS71に戻り1MACフレームのデータをブリッジインターフェイス回路13へ出力するよう制御を実施する。一方、PLC受信用メモリ17内にデータが無い場合、あるいはシーケンスナンバーの連続性が確認できない場合は、PLC受信制御回路50は、次のMACフレーム受信のために待機する。
次に、図14を用いて実施の形態1の送達確認不要判断の動作フローを説明する。実施の形態1においては、FCHにてスケジューリングされている受信スロットに送達確認用のACK/NACKフレームのための受信スロットがスケジューリングされていなかった場合、前フレームに管理端末1より送信されたMACフレームデータが送達確認不要フレームであったと判断するように制御する。このように制御するのは、以下の理由による。例えば、端末(A)3がVoIPで含む送達確認不要のMACフレームを受信する際、受信データに誤りが発生したとする。端末(A)3は、次のフレームで送信するデータの先頭に前回受信したMACフレームが正常受信できなかった旨を、MACヘッダに続くペイロードに付加した後、Ethernetフレームを連結し出力する。管理端末1は、端末(A)3よりNACKパケットを受信した際、前フレームで送信したデータが送達確認不要パケットであった旨を、次のフレームで端末(A)3に通知する。端末(A)3は、上記管理端末1から受信した送達確認不要フレームを受信した後に、PLC受信用メモリ17内に記憶されているMACフレームデータを読み出すことになる。さらに、この受信MACフレームが伝送路で発生した誤りで再度受信できなかった場合は、再送不要(送達確認不要)フレームであったにもかかわらず、PLC受信制御回路50は、端末(A)3は、送達確認不要フレームが受信できないため、それ以降に受信したMACフレームデータをブリッジインターフェイス回路13に出力することができず、受信データを不必要に端末(A)3内に留めてしまうので、不必要な遅延を発生してしまうことになる。これにより、TCP/IPなどのプロトコルでデータを送受信する場合は、例えば、プロバイダーのサーバーにて非常に大きなデータ遅延が発生していると判断し(ネットワーク上でデータが輻輳していると判断し)、ネットワーク負荷がさほど高くないにもかかわらず、送信トラフィックをサーバー側で落とすといったことが発生する。実施の形態1においては送達確認不要(再送不要)フレームの受信をFCHにてスケジューリングされている情報から判断するよう構成することにより、不必要に端末(A)3内における受信MACフレームデータの滞留を防止する。以下、図14を用いて送達確認不要判定フローの詳細を説明する。
FCHを受信すると、CPU11は、前フレームにて受信したMACフレームデータに、誤りが発生したかを確認する(ステップS80)。前フレームに受信したMACフレームデータに誤りが発生していなかった場合は、CPU11は、送達確認不要判断を終了する(ステップS89)。一方、誤りが発生していた場合は、CPU11は、FCH内に送達確認用の送信スロット(ACK/NACKパケット用スロット)がスケジュールされているか確認する(ステップS81)。スケジュールされている場合は、CPU11は、前フレームにて受信誤りが検出されたMACフレームデータは、送達確認が必要なMACフレームであったと判断し、送達確認不要判断を終了する。
ステップS81にてFCHに送達確認用の送信スロットが準備されていなかった場合は、CPU11は、前フレームにて受信誤りが発生したMACフレームは送達確認不要フレームと判断する。CPU11は、前フレームで受信したMACフレームが送達確認不要フレームと判断するとともに、そのMACフレームデータのシーケンスナンバーの推定を行う。具体的には、CPU11は、対象とするMACフレームデータの1つ前に受信したMACフレームに付加されているシーケンスナンバー情報より、MACフレームのシーケンスナンバーの推定を行う。その際、CPU11は、PLCネットワーク制御データ生成回路408に対して、NACKパケットの送信を破棄するよう指示を出す。そして、CPU11は、上記MACフレームのシーケンスナンバーの推定結果を、PLC受信用メモリ制御回路506に通知する。PLC受信用メモリ制御回路506は、CPU11より通知されたMACフレームのシーケンスナンバー情報と、自分の回路内で管理しているブリッジインターフェイス回路13へ送出済みMACフレームのシーケンスナンバーの連続性を確認する(ステップS82)。CPU11は、確認結果、連続性が確認できない場合は、送達不要と判断したMACフレームのシーケンスナンバーを記憶し(ステップS83)、送達確認不要判断を終了する(ステップS89)。
ステップS82にてMACフレームのシーケンスナンバーの連続性が確認できた場合は、PLC受信用メモリ制御回路506は、ブリッジインターフェイス回路13へ送出済みのMACフレームのシーケンスナンバーを1つインクリメントする(ステップS84)とともに、PLC受信用メモリ17内に受信したMACフレームが記憶されていないか確認する(ステップS85)。MACフレームデータが格納されていない場合は、送達確認不要判断を終了する(ステップS89)。
ステップS85にてPLC受信用メモリ17内に受信したMACフレームが記憶されていると判断した場合は、PLC受信用メモリ制御回路506は、ブリッジインターフェイス回路13に対してPLC受信用メモリ17内に記憶されているMACフレームデータが送信可能か確認する。PLC受信用メモリ制御回路506は、送信不可の場合は、送信可能になるまで待機する(ステップS86)。ブリッジインターフェイス回路13へのデータ送信が可能になると、PLC受信用メモリ制御回路506は、Ethernetフレーム単位で、PLC受信用メモリ1内に記憶されているデータをブリッジインターフェイス回路13に送出する(ステップS87)。1MACフレーム分のデータのブリッジインターフェイス回路13への送出が完了すると、PLC受信用メモリ制御回路506は、回路内部に持つブリッジインターフェイス回路13へ送出済みのMACフレームのシーケンスナンバーを1つインクリメントする(ステップS88)。
ステップS88にてブリッジインターフェイス回路13へ送出済みのMACフレームのシーケンスナンバーのインクリメントが終了すると、PLC受信用メモリ制御回路506は、次に、ブリッジインターフェイス回路13に送出するべきMACフレームがPLC受信メモリ17内に無いか確認する(ステップS90)。MACフレームデータが格納されていない場合は、送達確認不要判断を終了する(ステップS89)。MACフレームデータがある場合は、PLC受信用メモリ制御回路506内で管理しているブリッジインターフェイス回路13へ送出済みMACフレームのシーケンスナンバーの連続性を確認する(ステップS91)。確認結果、連続性が確認できない場合は、送達確認不要判断を終了する(ステップS89)。ステップS91にて、MACフレームのシーケンスナンバーの連続性が確認できた場合は、PLC受信用メモリ制御回路506は、ステップS86からのブリッジインターフェイス回路13へのデータ送出フローを実施する。
以上に説明したように、実施の形態1のデータ送受信装置(データ送受信方法)を用いれば、FCHにてスケジューリングされている送達確認用のACK/NACKフレームのための受信スロットにより、前フレームで受信したMACフレームデータの送達確認の必要/不必要が判別できるので、データ送受信装置10がVoIPなどの送達確認不要のMACフレームを受信する際、受信MACフレームデータに誤りが発生した場合でも、それに続く、他のMACフレームデータを不必要にデータ送受信装置内に留めることなく受信データを送出することができる。これにより、TCP/IPなどのプロトコルで再送制御に起因する送信データの遅延による、データの輻輳制御を抑えることができ、ネットワーク負荷がそれほど高くないにもかかわらず送信側サーバーにて送信トラフィックを落としてしまうなどの弊害を抑制することができる効果がある。また、PLC受信用メモリ17内に不必要にMACフレームデータが滞留しないので、再送制御に起因するEthernetパケット落ち(PLC受信用メモリ17がオーバーフローを起こしEthernetパケットデータが落ちてしまう現象)の発生も抑制することができる効果がある。
実施の形態2.
以下、本発明の実施の形態2におけるデータ送受信装置(データ送受信方法)の動作について説明する。実施の形態2においては、Go−Back−N再送制御方式を採用した場合について説明する。Go−Back−N再送制御方式では、PLC受信用メモリ17に記憶するMACフレームデータの削除(破棄)のタイミングが、実施の形態1で説明したSR再送制御方式と異なる。図15にGo−Back−N再送制御方式を採用した際の、データ受信動作フローを示す。なお、実施の形態2で説明するデータ受信装置の回路構成は、実施の形態1と同様であるので詳細な動作の説明は、Go−Back−N再送制御方式についてのみ実施する。
1フレーム内の受信タイミングがPLC受信タイミング生成回路507にセットされると、PLC受信制御回路50は、受信時間(受信タイミング)になるまで待機する(ステップS60)。受信時間になりMACフレームが入力されると、PLC受信制御回路50は、MACフレームを分離しヘッダ解析し(ステップS61)、自端末宛のデータか確認する(ステップS62)。自端末宛データでなかった場合は、PLC受信制御回路50は、次のデータの受信まで待機する。その際、CPU11は、受信スケジュールを確認し、自端末宛に対するタイムスロットであった場合は、PLCネットワーク制御データ生成回路408に対して自フレームにNACKパケットを送信するよう指示を出す。
自端末宛データであった場合は、PLC受信制御回路50は、受信したMACフレームに誤りがなかったかを検出する(ステップS63)。誤りが検出された場合は、PLC受信制御回路50は、上述したようにCPU11に通知し、各回路はCPU11の指示に基づき再送制御処理を起動する(ステップS64)。一方、誤りが検出されなかった場合は、PLC受信制御回路50は、受信したMACフレームのシーケンスナンバーの連続性を確認する(ステップS65)。確認の結果、受信MACフレームのシーケンスナンバーの連続性が確認できた場合は、PLC受信制御回路50は、実施の形態1と同様に伝送されてきたMACフレームデータを一旦PLC受信用メモリ17に記憶させ(ステップS68)、その後、ブリッジインターフェイス回路13にて出力可能か確認する(ステップS71)。ブリッジ用メモリ14内に空き領域がなく送出不可の場合は、PLC受信制御回路50は、出力可能になるまで待機する。ブリッジインターフェイス回路13への出力が可能になると、PLC受信制御回路50は、受信したMACフレームをEthernetフレーム単位でブリッジインターフェイス回路13に出力する(ステップS72)。ブリッジインターフェイス回路13に1MACフレーム分のデータの送信を終了すると、PLC受信制御回路50は、ブリッジインターフェイス回路13への送信済みMACフレームのシーケンスナンバーをインクリメント(ステップS73)し、PLC受信用メモリ17内に記憶されている受信データが無いか確認する(ステップS74)。PLC受信制御回路50は、PLC受信用メモリ17内に受信データがある場合は、そのシーケンスナンバーを確認する。そして、CPU11は、先ほど転送したMACフレームのシーケンスナンバーとの連続性が確認された場合は、データが再送されるまで待機していたデータとしてブリッジインターフェイス回路13へ出力するようPLC受信制御回路50を制御する(ステップS75)。ステップS75にてシーケンスナンバーの連続性が確認された場合は、ステップS71に戻り、PLC受信制御回路50は、1MACフレームのデータをブリッジインターフェイス回路13へ出力するよう制御を実施する。一方、PLC受信用メモリ17内にデータが無い場合、あるいはシーケンスナンバーの連続性が確認できない場合は、PLC受信制御回路50は次のMACフレーム受信のために待機する。
ステップS65で、シーケンスナンバーが連続していなかった場合、PLC受信制御回路50は、すでにブリッジインターフェイス回路13に送出したMACフレーム番号と比較する(ステップS66)。比較した結果、受信したMACフレームのシーケンスナンバーがすでにブリッジインターフェイス回路13に出力したMACフレームのシーケンスナンバーより小さい場合は、PLC受信制御回路50は、受信したMACフレームを破棄する(ステップS67)。一方、受信したMACフレームのシーケンスナンバーがすでにブリッジインターフェイス回路13に出力したMACフレームのシーケンスナンバーより大きい場合は、PLC受信制御回路50は、再送制御待を実施するため伝送されてきたMACフレームデータを一旦PLC受信用メモリ17に記憶させる(ステップS69)。受信用メモリ17へのMACフレームデータの記憶を終了すると、PLC受信制御回路50は、送達不要判断を実施する(ステップS70)。送達不要判断の結果、前フレームにて誤りが発生したMACフレームが送達確認不要フレームであると判断した場合は、PLC受信制御回路50は、図14に示すフローに従い、PLC受信用メモリ17よりデータを読み出す。ステップS70における送達確認不要判定が終了すると、CPU11は、PLC受信用メモリ制御回路506に対して、PLC受信用メモリ17内に記憶されているMACフレームデータが所定の期間(実施の形態1においては1フレーム期間)記憶されていたかを判断し(ステップS76)、所定の期間記憶されていた場合は、PLC受信用メモリ17から削除するよう制御する(ステップS77)。
以上に説明したように、実施の形態2のデータ送受信装置(データ送受信方法)を用いれば、FCHにてスケジューリングされている送達確認用のACK/NACKフレームのための受信スロットにより、前フレームで受信したMACフレームデータの送達確認の必要/不必要が判別できるので、データ送受信装置がVoIPなどの送達確認不要のMACフレームを受信する際、受信MACフレームデータに誤りが発生した場合でも、それに続く、他のMACフレームデータを不必要にデータ送受信装置内に留めることなく受信データの送出することができる。これにより、送達確認不要のMACフレームが受信できなかった場合、それを検出できるので、図11に示すように、送達確認不要フレームまで再送制御を行う必要が無く、ネットワーク帯域を有効に活用できる効果がある。
なお、従来のGo−Back−N再送制御方式では、受信側にPLC受信用メモリ17を必要としていなかったが、実施の形態1に示すような送達確認不要フレームが存在する場合は、実施の形態2に示すように制御することにより、不要な再送フレームを発生することなく、ネットワーク帯域を有効に活用することができる効果がある。
また、受信データに対して不必要な遅延が発生しないので、TCP/IPなどのプロトコルを採用した場合でも、データの輻輳制御を抑えることができ、ネットワーク負荷がそれほど高くないにもかかわらず送信側サーバーにて送信トラフィックを落としてしまうなどの弊害を抑制することができる効果がある。
また、PLC送信用メモリ16内に不必要にMACフレームデータが滞留しないので、再送制御に起因するEthernetパケット落ち(PLC送信用メモリ16がオーバーフローを起こしEthernetパケットデータが落ちてしまう現象)の発生も抑制することができる効果がある。
変形例の説明.
上記実施の形態1及び2においては、データ送受信装置の一実施の形態として高速PLCを用いた場合について説明したが、これに限るものではなく、無線LAN、あるいはUWB、あるいはTDMA方式を採用する他の伝送方式を採用しても同様の効果を奏することができる。
また、実施の形態1においては、MACフレームに付加されたシーケンスナンバーを用いて、データの連続性を確認したが、これに限るものではなく、受信したMACフレームの連続性が確認できる基準信号であれば同様の効果を奏することができる。
1 管理端末、 2,4,6,8 コンセント、 3 端末(A)、 5 端末(B)、 6 端末(C)、 9 電灯線、 10 データ送受信装置、 11 CPU、 12 Ethernetインターフェイス回路、 13 ブリッジインターフェイス回路、 14 ブリッジ用メモリ、 15 PLCモデム回路、 16 PLC送信用メモリ、 17 PLC受信用メモリ、 18 CPUバス、 20 Ethernetインターフェイス入力端子、 21 Ethernetインターフェイス出力端子、 22 PLCモデム回路出力端子、 23 PLCモデム回路入力端子、 30 PLC送信制御回路データ入力端子、 31 PLC受信制御回路データ出力端子、 40 PLC送信制御回路、 50 PLC受信制御回路、 401 PLCヘッダ生成回路、 402 パケットデータ生成回路、 403 暗号化回路、 404,406 セレクタ、 405 PLCヘッダ付加回路、 407 PLC送信タイミング生成回路、 408 PLCネットワーク制御データ生成回路、 409 PLC送信用メモリ制御回路、 410 CRC符号付加回路、 501 PLCヘッダ解析回路、 502 CRC復号回路、 503 暗号復号回路、 504 PLC制御フレーム分離回路、 505 PLC制御フレームデータ記憶回路、 506 PLC受信用メモリ制御回路、 507 PLC受信タイミング生成回路。