(57)【要約】【課題】フレーム形式の信号にフレーム長を示すヘッダを付加する必要なしにフレーム同期をとれるようにする。【解決手段】通信装置が、誤り制御用データを含むフレーム形式のデータを受信する受信部と、受信データのうち異なるデータ長の部分データの各々に対して誤り検出処理を行い、誤りが所定条件以下の部分データを検出した場合、当該部分データに基づいてフレームを検出するフレーム検出部と、を備える。【選択図】図３
2018042213.tif 000002
【特許請求の範囲】
【請求項１】
誤り制御用データを含むフレーム形式のデータを受信する受信部と、
受信データのうち異なるデータ長の部分データの各々に対して誤り検出処理を行い、誤りが所定条件以下の部分データを検出した場合、当該部分データに基づいてフレームを検出するフレーム検出部と、
を備える通信装置。
【請求項２】
前記受信部は、前記誤り制御用データがフレームの末尾に含まれる前記データを受信し、
前記フレーム検出部は、
前記受信データの先頭から順に所定のデータ長の部分データの抽出を繰り返す誤り制御用データ候補取得部と、
前記誤り制御用データ候補取得部が前記部分データを抽出する毎に、当該部分データより先頭側で異なるデータ長の部分データの各々について誤り制御用データの演算を行う演算部と、
前記演算部の演算結果の各々と、前記誤り制御用データ候補取得部が抽出した部分データとを比較して、いずれかの演算結果について誤りが所定条件以下であると判定した場合、当該演算結果の演算に用いられた部分データをフレーム又はフレームの所定の一部として検出する誤り検出処理部と、
を備える請求項１に記載の通信装置。
【請求項３】
第１通信装置と第２通信装置とを備え、
前記第１通信装置は、誤り制御用データを含むフレーム形式のデータを送信し、
前記第２通信装置は、
前記第１通信装置が送信した前記データを受信する受信部と、
受信データのうち異なるデータ長の部分データの各々に対して誤り検出処理を行い、誤りが所定条件以下の部分データを検出した場合、当該部分データに基づいてフレームを検出するフレーム検出部と、
を備える通信システム。
【請求項４】
誤り制御用データを含むフレーム形式のデータを受信する受信ステップと、
受信データのうち異なるデータ長の部分データの各々に対して誤り検出処理を行い、誤りが所定条件以下の部分データを検出した場合、当該部分データに基づいてフレームを検出するフレーム検出ステップと、
を含むフレーム検出方法。
【請求項５】
コンピュータに、
誤り制御用データを含むフレーム形式のデータを受信する受信ステップと、
受信データのうち異なるデータ長の部分データの各々に対して誤り検出処理を行い、誤りが所定条件以下の部分データを検出した場合、当該部分データに基づいてフレームを検出するフレーム検出ステップと、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置、通信システム、フレーム検出方法及びプログラムに関する。
【背景技術】
【０００２】
通信におけるフレーム同期に関連して幾つかの技術が提案されている。
例えば、Ｅｔｈｅｒｎｅｔ通信（Ｅｔｈｅｒｎｅｔは登録商標）におけるフレームを無線通信する場合、特許文献１に示されるように、プリアンブルに代えて同期のためのヘッダを付加する方法が知られている。
すなわち、Ｅｔｈｅｒｎｅｔ通信では、プリアンブルと呼ばれる同期系列を用いてフレーム同期をとる。これに対し、通常、無線通信レートは有線通信レートを下回るため、Ｅｔｈｅｒｎｅｔフレームを無線通信する際は、帯域の有効活用のためにプリアンブルが除去される。この場合、プリアンブルを用いずにフレーム同期を確立する必要があるため、プリアンブルの代わりにＧＦＰヘッダと呼ばれるヘッダを付加してＥｔｈｅｒｎｅｔフレームをカプセル化する方法が知られている。ＧＦＰヘッダには、２バイト（Ｂｙｔｅ）のフレーム長情報と２バイトのＣＲＣ（Cyclic Redundancy Check）コードとが含まれている。ＧＦＰヘッダを検出してフレーム長情報を読み出すことで、Ｅｔｈｅｒｎｅｔフレームを検出してフレーム同期をとることができる。
【０００３】
また、特許文献２には、フレーム形式で通信を行う際に、通信信号にフレーム同期ビットを付加する必要なしに同期外れを検出するための同期化制御方式が記載されている。この同期化制御方式では、フレームカウンタが、受信フレームとの同期を示すフレームパルスを発生させると、演算回路１１が、１フレームの受信信号を検査多項式で除算して、誤り訂正用のシンドロームを算出する。シンドロームが０である場合、同期がとれていると考えられるため、フレームカウンタは受信クロック信号によって歩進する。一方、シンドロームが０以外の場合、同期外れと考えられるため、フレームカウンタは受信クロックによる場合よりも余分に歩進する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−２６７７８６号公報
【特許文献２】特開昭６３−１１２８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ＥｔｈｅｒｎｅｔフレームにＧＦＰヘッダを付加してカプセル化する方法では、ＧＦＰヘッダのヘッダ長（４バイト）分のオーバヘッドによって伝送効率が低下してしまう。伝送効率の向上のためには、ＧＦＰヘッダを付加する必要なしに受信側でフレーム同期をとれることが望まれる。
しかしながら、通信信号にＧＦＰヘッダが付加されず受信側でフレーム長が不明の場合、フレームカウンタを用いてフレーム長を計数してフレームパルスを発生させる方法を用いることはできない。このため、通信信号にＧＦＰヘッダが付加されていない場合には、特許文献２に記載の方法を適用することはできない。
【０００６】
本発明は、上述の課題を解決することのできる通信装置、通信システム、フレーム検出方法及びプログラムを提供することを目的としている。
【課題を解決するための手段】
【０００７】
本発明の第１の態様によれば、通信装置は、誤り制御用データを含むフレーム形式のデータを受信する受信部と、受信データのうち異なるデータ長の部分データの各々に対して誤り検出処理を行い、誤りが所定条件以下の部分データを検出した場合、当該部分データに基づいてフレームを検出するフレーム検出部と、を備える。
【０００８】
本発明の第２の態様によれば、通信システムは、第１通信装置と第２通信装置とを備え、前記第１通信装置は、誤り制御用データを含むフレーム形式のデータを送信し、前記第２通信装置は、前記第１通信装置が送信した前記データを受信する受信部と、受信データのうち異なるデータ長の部分データの各々に対して誤り検出処理を行い、誤りが所定条件以下の部分データを検出した場合、当該部分データに基づいてフレームを検出するフレーム検出部と、を備える。
【０００９】
本発明の第３の態様によれば、フレーム検出方法は、誤り制御用データを含むフレーム形式のデータを受信する受信ステップと、受信データのうち異なるデータ長の部分データの各々に対して誤り検出処理を行い、誤りが所定条件以下の部分データを検出した場合、当該部分データに基づいてフレームを検出するフレーム検出ステップと、を含む。
【００１０】
本発明の第３の態様によれば、プログラムは、コンピュータに、誤り制御用データを含むフレーム形式のデータを受信する受信ステップと、受信データのうち異なるデータ長の部分データの各々に対して誤り検出処理を行い、誤りが所定条件以下の部分データを検出した場合、当該部分データに基づいてフレームを検出するフレーム検出ステップと、を実行させるためのプログラムである。
【発明の効果】
【００１１】
この発明によれば、フレーム形式の信号にフレーム長を示すヘッダを付加する必要なしにフレーム同期をとることができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の一実施形態に係る通信システムの機能構成を示す概略ブロック図である。
【図２】同実施形態に係る無線フレーム処理部が１つの無線フレームから抽出するＥＴＨデータのデータ構造の例を示す図である。
【図３】同実施形態に係るＥＴＨフレーム検出部の構成例を示す概略構成図である。
【図４】同実施形態に係る６４バイト用ＥＴＨフレーム検出回路の構成例を示す概略構成図である。
【図５】同実施形態に係るＥＴＨフレーム検出部の動作例を示すタイミングチャートである。
【図６】同実施形態に係るＥＴＨフレーム検出部のもう１つの構成例を示す概略構成図である。
【図７】本発明に係る通信装置の最小構成を示す説明図である。
【図８】本発明に係る通信システムの最小構成を示す説明図である。
【発明を実施するための形態】
【００１３】
以下、本発明の実施形態を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
図１は、本発明の一実施形態に係る通信システムの機能構成を示す概略ブロック図である。同図に示すように、通信システム１００は、第１通信装置１と、第２通信装置２とを備える。
第２通信装置２は、ＲＦ（Radio Frequency）信号処理部２１と、復調処理部２２と、無線フレーム処理部２３と、ＥＴＨフレーム検出部２４と、ＭＡＣ（Media Access Control）制御部２５とを備える。
【００１４】
通信システム１００は、Ｅｔｈｅｒｎｅｔフレーム（Ｆｒａｍｅ）形式で無線通信を行う。以下では、ＥｔｈｅｒｎｅｔフレームをＥＴＨフレームと表記する。
但し、通信システム１００が通信するデータは、ＥＴＨフレーム形式のデータに限らない。通信システム１００が通信するデータは、例えばヘッダ（Ｈｅａｄｅｒ）またはトレイラ（Ｔｒａｉｌｅｒ）など特定の位置に誤り制御用データが付されたフレーム形式のデータであればよい。
【００１５】
ここでいうフレームとは、通信対象のデータ全体を分割したデータの各々にヘッダ及びトレイラのうちいずれか一方または両方を付加したデータである。通信システム１００が通信するフレームは固定長であってもよいし可変長であってもよい。第２通信装置２は、通信されるフレームのフレーム長そのものについては未知であり、可能性のあるフレーム長の候補について既知である。
【００１６】
また、ここでいう誤り制御とは、少なくとも誤り検出を行うことである。ここでいう誤り制御用データとは、誤り制御用に算出されたデータである。誤り制御用データとして、ＥＴＨフレームにおけるＣＲＣ（Cyclic Redundancy Check、巡回冗長検査）のＦＣＳ（Frame Check Sequence）を用いる。
但し、第２通信装置２が、誤り制御として更に誤り訂正を行うようにしてもよい。また、誤り制御用データとして、ＣＲＣ以外の誤り検出符号又は誤り訂正符号を用いるようにしてもよい。
【００１７】
以下では、第１通信装置１から第２通信装置２への通信を例に説明する。第２通信装置２から第１通信装置１へも通信を行うようにしてもよいし、行わないようにしてもよい。第２通信装置２から第１通信装置１への通信を行う場合、第１通信装置１から第２通信装置２への通信と第２通信装置２から第１通信装置１への通信とは、同じ通信方式による通信であってもよいし、異なる通信方式による通信であってもよい。
【００１８】
第１通信装置１は、フレーム形式の信号を有線にて受信し、受信した信号を無線にて第２通信装置２へ送信する。図１では、第１通信装置１から第２通信装置２への無線伝送路を経路Ｗ１１にて示している。第１通信装置１が受信するＥＴＨフレームには同期をとるためのプリアンブルが付されているが、第１通信装置１は、プリアンブルを除去したＥＴＨフレームを無線信号にて送信する。
【００１９】
第１通信装置１は、送信対象のデータを無線フレームに格納して送信するが、無線フレームとＥＴＨフレームとが一対一に対応している必要はなく、第２通信装置２がＥＴＨフレームの並びを復元可能であればよい。以下では、第１通信装置１が、複数のＥＴＨフレームを１つの無線フレームに格納して（すなわち、複数のＥＴＨフレームを１つの無線フレームに多重して）送信する場合を例に説明する。あるいは、第１通信装置１が、ＥＴＨフレームを分割し、１つのＥＴＨフレームを複数の無線フレームにて送信するようにしてもよい。
【００２０】
第１通信装置１と第２通信装置２との間の通信は、特定の通信方式に依存せず、第２通信装置２がＥＴＨフレームの並びを復元可能であればよい。例えば、第１通信装置１がディジタルマイクロ波（ＤＭＲ；Digital Microwave Radio）にて信号を送信するようにしてもよいが、これに限らない。さらには、第１通信装置１と第２通信装置２との間の通信方式は無線通信に限らず、例えば光ファイバ通信など有線の通信であってもよい。
【００２１】
第２通信装置２は、第１通信装置１からの信号を受信し、受信信号からＥＴＨフレームを復元する。
ＲＦ信号処理部２１は、ＲＦ信号（通信周波数の信号）をベースバンド信号に周波数変換する。
復調処理部２２は、ＲＦ信号処理部２１の周波数変換で得られたベースバンドの変調信号を復調して無線フレームを復元する。
無線フレーム処理部２３は、復調処理部２２が復元した無線フレームからＥＴＨデータを抽出する。ここでいうＥＴＨデータとは、ＥＴＨフレームの並び（ＥＴＨフレームが結合されたデータ）である。
【００２２】
図２は、無線フレーム処理部２３が１つの無線フレームから抽出するＥＴＨデータのデータ構造の例を示す図である。図２の例で、ＥＴＨデータは、複数のＥＴＨフレームが同じ向きに結合されて構成されている。
以下では、ＥＴＨデータの一方の端を先頭と称し、もう一方の端を末尾と称する。先頭は、ＥＴＨフレームのヘッダが位置する側の端であり、末尾は、トレイラに該当するＦＣＳが位置する側の端である。また、以下では、先頭側についてデータの順序が前であると称し、末尾側についてデータの順序が後であると称する。
【００２３】
通信システム１００が通信するＥＴＨデータのヘッダ及びペイロード（Ｐａｙｌｏａｄ）は、特定の形式のものに限定されない。例えば、通信システム１００が通信するＥＴＨフレームは、ＤＩＸ規格のフレームであってもよいし、ＩＥＥＥ８０２．３の規定のフレームであってもよいし、ＩＥＥ８０２．３でオプションのＶＬＡＮタグヘッダを用いるフレームであってもよい。
【００２４】
ＤＩＸ規格の場合、ヘッダは「宛先アドレス」フィールドと、「送信元アドレス」フィールドと、「タイプ」フィールドとで構成され、ペイロードは「データ」フィールドで構成される。
一方、ＩＥＥＥ８０２．３の規定の場合、ヘッダは「宛先アドレス」フィールドと、「送信元アドレス」フィールドと、「長さ／タイプ」フィールドとで構成され、ペイロードは「データ／ＬＬＣ」フィールドで構成される。このＩＥＥＥ８０２．３の規格でＶＬＡＮタグヘッダを用いる場合、ヘッダは、「宛先アドレス」フィールドと、「送信元アドレス」フィールドと、「ＴＩＩＤ」（Tag Protocol Identifier）フィールドと、「ＴＣＩ」（Tag Control information）フィールドとで構成される。
【００２５】
ＲＦ信号処理部２１と復調処理部２２と無線フレーム処理部２３との組み合わせは、受信部の例に該当し、誤り制御用データを含むフレーム形式のデータを受信する。特に、ＲＦ信号処理部２１と復調処理部２２と無線フレーム処理部２３との組み合わせにて、誤り制御用データがフレームの末尾に含まれるデータを受信する。図２に示すＥＴＨデータが、誤り制御用データを含むフレーム形式のデータである受信データの例に該当する。ＥＴＨデータでは、誤り制御用データの例に該当するＦＣＳがフレームの末尾に含まれている。
【００２６】
ＥＴＨフレーム検出部２４は、無線フレーム処理部２３が抽出したＥＴＨデータからＥＴＨフレームを検出する。なお、ＥＴＨフレーム検出部２４がＥＴＨフレームを検出できない場合は、同期外れとして処理される。
ＥＴＨフレーム検出部２４は、フレーム検出部の例に該当し、ＥＴＨデータのうち異なるデータ長の部分データの各々に対してＣＲＣによる誤り検出処理を行う。ここでいう誤り検出処理とは、少なくとも誤りの有無を判定する処理である。
本実施形態では、ＥＴＨフレーム検出部２４は、誤り検出処理で、誤りの有無のみを判定する。但し、第２通信装置２が誤り訂正を行うようにし、ＥＴＨフレーム検出部２４が、誤りの大きさの指標値を算出するようにしてもよい。誤りの大きさの指標値は、誤りのハミング（Hamming）距離であってもよいが、これに限らない。
【００２７】
ＥＴＨフレーム検出部２４は、誤りが所定条件以下の部分データを検出した場合、当該部分データに基づいてフレームを検出する。
上記のように、本実施形態ではＥＴＨフレーム検出部２４は、誤り検出処理で誤りの有無のみを検出する。この場合、誤りが所定条件以下であるとは、誤り無しと判定することである。一方、ＥＴＨフレーム検出部２４が誤りの大きさの指標値を算出する場合、誤りが所定条件以下であるとは、誤り無しと判定するか、或いは、検出したいずれの誤りでも指標値が示す誤りの大きさが所定の大きさ以下であると判定することである。
【００２８】
図３は、ＥＴＨフレーム検出部２４の構成例を示す概略構成図である。図３の例で、ＥＴＨフレーム検出部２４は、６４バイト用ＥＴＨフレーム検出回路３１−６４〜９６００バイト用ＥＴＨフレーム検出回路３１−９６００と、ＯＲ回路３２及び３３とを備える。
ｉバイト用ＥＴＨフレーム検出回路３１−ｉ（ｉは、６４≦ｉ≦９６００の整数）は、ｉバイトのフレーム長のＥＴＨフレームを検出する回路である。ＥＨＴフレームのフレーム長として可能性のある６４バイトから９６００バイトまでのいずれの場合も検出できるように、６４バイト用ＥＴＨフレーム検出回路３１−６４〜９６００バイト用ＥＴＨフレーム検出回路３１−９６００が並列に動作する。
【００２９】
６４バイト用ＥＴＨフレーム検出回路３１−６４〜９６００バイト用ＥＴＨフレーム検出回路３１−９６００の各々には、ＥＴＨデータの１バイト分（eth_data[7:0]）が先頭から順に入力される。６４バイト用ＥＴＨフレーム検出回路３１−６４〜９６００バイト用ＥＴＨフレーム検出回路３１−９６００の各々は、ＥＴＨデータの入力と同期したクロック信号（clk）の入力を受けて、ＥＴＨデータの１バイト分が入力される毎にＥＴＨフレームの検出処理を繰り返す。
【００３０】
ｉバイト用ＥＴＨフレーム検出回路３１−ｉ（ｉは、６４≦ｉ≦９６００の整数）は、ＥＴＨフレームを検出した場合に、検出したＥＴＨフレームを１クロックに１バイトずつ出力する。図３では、ｉバイト用ＥＴＨフレーム検出回路３１−ｉが１バイトずつ出力するＥＴＨフレームをeth_frame_i[7:0]と表記している。
また、ｉバイト用ＥＴＨフレーム検出回路３１−ｉ（ｉは、６４≦ｉ≦９６００の整数）は、ＥＴＨフレームを検出した場合に、検出したことを示すｖａｌｉｄ信号をワンショットで出力する。具体的には、ｉバイト用ＥＴＨフレーム検出回路３１−ｉがＥＴＨフレームを検出した場合、ＥＴＨフレームの先頭の１バイトを出力している間、ｖａｌｉｄ信号の値が「１」になる。これにより、ＥＴＨフレームの先頭が示される。図３では、ｉバイト用ＥＴＨフレーム検出回路３１−ｉが出力するｖａｌｉｄ信号をvalid_i[7:0]と表記している。
【００３１】
ＯＲ回路３２は、６４バイト用ＥＴＨフレーム検出回路３１−６４〜９６００バイト用ＥＴＨフレーム検出回路３１−９６００の各々からのＥＴＨフレームの出力eth_frame_64[7:0]〜eth_frame_9600[7:0]のビット毎の論理和を取る。これにより、ＯＲ回路３２は、６４バイト用ＥＴＨフレーム検出回路３１−６４〜９６００バイト用ＥＴＨフレーム検出回路３１−９６００のいずれかが検出したＥＴＨフレームを１バイトずつ出力する。
【００３２】
ＯＲ回路３３は、６４バイト用ＥＴＨフレーム検出回路３１−６４〜９６００バイト用ＥＴＨフレーム検出回路３１−９６００の各々からのワンショットのｖａｌｉｄ信号valid_64[7:0]〜valid_9600[7:0]の論理和を取る。これにより、ＯＲ回路３３は、６４バイト用ＥＴＨフレーム検出回路３１−６４〜９６００バイト用ＥＴＨフレーム検出回路３１−９６００いずれかがＥＴＨフレームを検出する毎に、フレームの先頭を示す信号を出力する。図３では、ＯＲ回路３３の出力をvalidと表記している。
【００３３】
ここで、６４バイト用ＥＴＨフレーム検出回路３１−６４〜９６００バイト用ＥＴＨフレーム検出回路３１−９６００の構成について、６４バイト用ＥＴＨフレーム検出回路３１−６４の場合を例に説明する。
図４は、６４バイト用ＥＴＨフレーム検出回路３１−６４の構成例を示す概略構成図である。図４の例で、バイト用ＥＴＨフレーム検出回路３１は、ＣＲＣ演算回路４１と、比較回路４２と、Ｖａｌｉｄ信号生成回路４３と、遅延フリップフロップ回路４４−１〜４４−６５と、選択回路４５とを備える。
【００３４】
遅延フリップフロップ回路４４−ｊ（ｊは、１≦ｊ≦６５の整数）は、６４バイト用ＥＴＨフレーム検出回路３１−６４に１バイトずつ入力されるＥＴＨデータのうち、ｊ回前に入力された１バイト分のデータを記憶し出力する。従って、遅延フリップフロップ回路４４−１〜４４−６５の組み合わせで６５バイトのシフトレジスタを構成し、１バイトのデータが入力される毎にバイト単位でデータのシフトを行う。
【００３５】
なお、最新の１バイト分の入力データをｅｔｈ＿ｄａｔａ［７：０］と表記する。また、ｊ回前に入力された１バイト分のデータをｅｔｈ＿ｄａｔａ＿ｊｔ［７：０］と表記する。
６４バイト用ＥＴＨフレーム検出回路３１−６４は、入力された最新の１バイト分のデータと、遅延フリップフロップ回路４４−１〜４４−６３が出力するデータとを合わせた直近の６４バイト分のデータを、フレーム長６４バイトのＥＴＨフレームの候補とする。
【００３６】
また、ＥＴＨフレームでは末尾の４バイトがＦＣＳとなっている。そこで、遅延フリップフロップ回路４４は、直近の６４バイト分のデータのうち、入力された最新の１バイト分のデータと、遅延フリップフロップ回路４４−１〜４４−３が出力するデータとを合わせた直近の４バイト分のデータをＦＣＳの候補とする。ＥＴＨデータが先頭から順位１バイトずつバイト用ＥＴＨフレーム検出回路３１−６４に入力される毎に、遅延フリップフロップ回路４４−１〜４４−３の組み合わせは、最新の入力データと合わせて直近４バイト分のデータをＥＴＨデータから抽出する。遅延フリップフロップ回路４４−１〜４４−３の組み合わせは、誤り制御用データ候補取得部の例に該当する。
遅延フリップフロップ回路４４−６４、４４−６５は、ぞれぞれ比較回路４２、Ｖａｌｉｄ信号生成回路４３の出力とＥＴＨフレームの出力との同期をとるために設けられている。
【００３７】
ＣＲＣ演算回路４１は、遅延フリップフロップ回路４４−４〜４４−６３が出力する６０バイトのデータに対してＣＲＣ演算を行い、ＦＣＳとの比較対象データを算出する。すなわち、ＣＲＣ演算回路４１は、ＥＴＨフレームの候補のうちＦＣＳの候補を除いた６０バイト分のデータに対してＣＲＣ演算を行う。
ＣＲＣ演算回路４１は、遅延フリップフロップ回路４４−１〜４４−３の組み合わせがＦＣＳの候補を抽出する毎に、ＥＴＨデータのうちＦＥＳ候補よりも先頭側の部分データについてＦＣＳとの比較対象データの演算を行う。
ＣＲＣ演算回路４１が出力するＦＣＳとの比較対象データをｃｒｃ＿ｄｏ［３１：０］と表記する。
【００３８】
６５バイト用ＥＴＨフレーム検出回路３１−６５〜９６００バイト用ＥＴＨフレーム検出回路３１−９６００の各々が備えるＣＲＣ演算回路も、ＣＲＣ演算回路４１と同様にＥＴＨフレームの候補のうちＦＣＳの候補を除いたデータに対してＣＲＣ演算を行う。ここで、６４バイト用ＥＴＨフレーム検出回路３１−６５〜９６００バイト用ＥＴＨフレーム検出回路３１−９６００の各々では、検出対象とするフレーム長が異なることから、各々が備えるＣＲＣ演算回路が演算対象とするデータのデータ長も異なる。
【００３９】
６４バイト用ＥＴＨフレーム検出回路３１−６４〜９６００バイト用ＥＴＨフレーム検出回路３１−９６００が備えるＣＲＣ演算回路の組み合わせは、演算部の例に該当し、遅延フリップフロップ回路がＦＣＳの候補を抽出する毎に、ＥＴＨデータのうちＦＥＳ候補よりも先頭側で異なるデータ長の部分データの各々についてＦＣＳとの比較対象データの演算を行う。
【００４０】
比較回路４２は、ＣＲＣ演算回路４１の演算結果と、遅延フリップフロップ回路４４−１〜４４−３の組み合わせが抽出したＦＣＳの候補とを比較する。比較回路４２は、比較の結果誤りが所定条件以下であると判定した場合、１クロックの間crc_check_ok_plsの値を「１」にする。それ以外の場合、比較回路４２は、crc_check_ok_plsの値を「０」にする。上述したように、誤りが所定条件以下であるとは、誤り無しと判定することであってもよいし、誤り無しと判定するか、或いは、検出したいずれの誤りでも指標値が示す誤りの大きさが所定の大きさ以下であると判定することであってもよい。
crc_check_ok_plsの値「１」は、ＥＴＨフレームを検出したことを示す。また、crc_check_ok_plsの値「１」は、遅延フリップフロップ回路４４−６４の出力がＥＴＨフレームの先頭であることを示す。
【００４１】
Ｖａｌｉｄ信号生成回路４３は、比較回路４２が誤りが所定条件以下であると判定したことを契機（トリガ）として、Ｖａｌｉｄ信号valid_64を出力する。
Ｖａｌｉｄ信号生成回路４３は、６４バイト用ＥＴＨフレーム検出回路３１−６４の出力としては、比較回路４２の出力（crc_check_ok_pls）を１クロックだけ遅延させたvalid_64(one shot)を出力する。また、Ｖａｌｉｄ信号生成回路４３は、比較回路４２の出力が「１」となった次のクロックから６４クロックの間valid_64(64clock)の値を「１」にする。それ以外の場合、Ｖａｌｉｄ信号生成回路４３は、valid_64(64clock)の値を「０」にする。
【００４２】
選択回路４５は、Ｖａｌｉｄ信号生成回路４３からのvalid_64(64clock)の値が「１」場合、遅延フリップフロップ回路４４−６５の出力を出力する。一方、Ｖａｌｉｄ信号生成回路４３からのvalid_64(64clock)の値が「１」の場合８ビット全て「０」を出力する。これにより、選択回路４５は、比較回路４２が誤りが所定条件以下であると判定したＥＴＨフレームの候補を１バイトずつ出力する。
このように、比較回路４２は、ＣＲＣ演算回路４１の演算結果と、ＦＣＳの候補とを比較する。比較回路４２が比較の結果、誤りが所定条件以下であると判定した場合、Ｖａｌｉｄ信号生成回路４３と選択回路４５との組み合わせが、ＣＲＣ演算回路４１の演算に用いられたデータにＦＣＳの候補を加えたデータをフレームとして検出する。
【００４３】
６５バイト用ＥＴＨフレーム検出回路３１−６５〜９６００バイト用ＥＴＨフレーム検出回路３１−９６００の各々でも、比較回路、ｖａｌｉｄ信号生成回路、選択回路の動作は、検出するＥＴＨフレームのフレーム長が異なる点を除いて、それぞれ比較回路４２、Ｖａｌｉｄ信号生成回路４３、選択回路４５の動作と同様である。
６４バイト用ＥＴＨフレーム検出回路３１−６４〜９６００バイト用ＥＴＨフレーム検出回路３１−９６００が備える比較回路、ｖａｌｉｄ信号生成回路、及び、選択回路の組み合わせは、誤り検出処理部の例に該当する。
【００４４】
これらの組み合わせは、比較回路にてＣＲＣ演算回路４１の演算結果の各々と、ＦＣＳの候補とを比較する。比較回路が、いずれかの演算結果について誤りが所定条件以下であると判定した場合、ｖａｌｉｄ信号生成回路、及び、選択回路の組み合わせにて、ＣＲＣ演算回路４１の演算結果の演算に用いられた部分データをＥＴＨフレームの一部（ヘッダ及びペイロード）として検出する。
【００４５】
ＭＡＣ制御部２５は、ＥＴＨフレーム検出部２４が検出したＥＴＨフレームの各々にプリアンブルを付加する。また、ＭＡＣ制御部２５は、プリアンブルを付加したＥＴＨフレーム同士の間にＩＧＦ（Inter Frame Gap）を挿入して有線通信（第２通信装置２への入力）と無線通信（第２通信装置２からの出力）との間のレート調整を行う。
【００４６】
図５は、ＥＴＨフレーム検出部２４の動作例を示すタイミングチャートである。
ＥＴＨフレーム検出部２４へのＥＴＨデータの入力のうち最新の１バイト分eth_data[7:0]がＥＴＨフレームのＦＣＳの最終バイト“Ａ６３”であるとき、ＥＴＨフレームのうちＦＣＳを除いた６０バイト分 “Ａ０”〜“Ａ５９”が図４のＣＲＣ演算回路４１に入力されている。この場合、データにノイズが混入していなければ、ＣＲＣ演算結果crc_do[31:0]＝“Ａ６３Ａ６２Ａ６１Ａ６０”がＦＣＳと一致する。このとき、ＥＴＨフレームの検出と共にＦＣＳエラーが無いことを確認できている。
【００４７】
その１クロック後に、ＣＲＣ演算結果とＦＣＳとの一致を検出したことを示すcrc_check_ok_plsが立ち上がる（「１」となる）。これを契機に６４バイトのフレームのＶａｌｉｄ信号eth_data_valid_64が、さらに１クロック後から６４クロック周期の間「１」となる。eth_data_valid_64が「１」となっている間、６４バイトのＥＴＨフレームを１バイトずつ出力するデータeth_frame_64が出力される。
一方、eth_data_valid_64が「０」の場合、eth_frame_64として、８ビットとも「０」が出力される。
【００４８】
以上のように、６４バイト用ＥＴＨフレーム検出回路３１−６４〜９６００バイト用ＥＴＨフレーム検出回路３１−９６００が備える比較回路の組み合わせは、ＦＣＳをフレームの末尾に含むフレーム形式の受信データのうち、異なるデータ長の部分データの各々に対して誤り検出処理を行う。いずれかの比較回路が演算結果について誤りが所定条件以下であると判定した場合、６４バイト用ＥＴＨフレーム検出回路３１−６４〜９６００バイト用ＥＴＨフレーム検出回路３１−９６００が備える、比較回路及び選択回路の組み合わせは、ＣＲＣ演算回路４１の演算に用いられたデータをＥＴＨフレームの一部（ヘッダ及びペイロード）として検出する。
【００４９】
このように、第２通信装置２では、ＥＨＴフレームに含まれているＦＣＳを用いてＥＨＴフレームを検出するので、ＥＴＨフレームにフレーム長を示すヘッダを付加する必要なしにフレーム同期をとることができる。したがって、第２通信装置２では、ＥＴＨフレームにＧＦＰヘッダを付加する場合よりも、ＧＦＰヘッダ分だけ伝送効率が改善される。
伝送効率改善率は、式（１）のように示される。
【００５０】
【数１】
2018042213.tif 000003
【００５１】
例えば、６４バイトフレーム伝送の場合、伝送効率改善率は６．２５％である。伝送効率改善率は、ＥＴＨフレーム長が短いほど高くなる。
また、第２通信装置２では、フレーム長が可変の場合でもフレームを検出することができる。
【００５２】
図６は、ＥＴＨフレーム検出部２４のもう１つの構成例を示す概略構成図である。図６の例では、ＥＴＨフレーム検出部２４は、６４バイトフレーム用ＣＲＣ演算回路５１−６４〜９６００バイトフレーム用ＣＲＣ演算回路５１−９６００と、６４バイトフレーム用比較回路５２−６４〜９６００バイトフレーム用比較回路５２−９６００と、Ｖａｌｉｄ信号生成回路５３と、遅延フリップフロップ回路５４−１〜５４−９６０２と、６４バイトフレーム用選択回路５５−６４〜９６００バイトフレーム用選択回路５５−９６００と、ＯＲ回路３２及び３３とを備える。
【００５３】
図２および図３に示す構成のＥＴＨフレーム検出部２４では、ＣＲＣ演算回路に入力するＥＴＨデータを保持するための遅延フリップフロップ回路を、各フレーム長の検出回路がそれぞれ備える。このため、図２および図３に示す構成のＥＴＨフレーム検出部２４では、４６１０１８５８個の遅延フリップフロップ回路が必要である。これに対し、図６の構成では、遅延フリップフロップ回路を共通化している。これにより、図６の構成では、遅延フリップフロップ回路の数が、９６０２個に抑えられている。このように、図６の構成では、図２及び図３の構成の場合よりもＥＴＨフレーム検出部２４の回路規模が削減されている。
図６の構成のそれ以外の部分は、図２及び図３の構成の場合と同様である。
【００５４】
以上のように、遅延フリップフロップ回路５４−１〜５４−３の組み合わせは、受信データの先頭から順にＦＣＳの候補の抽出を繰り返す。
６４バイトフレーム用ＣＲＣ演算回路５１−６４〜９６００バイトフレーム用ＣＲＣ演算回路５１−９６００の組み合わせは、遅延フリップフロップ回路５４−１〜５４−３の組み合わせがＦＣＳの候補を抽出する毎に、当該ＦＣＳの候補より先頭側で異なるデータ長の部分データの各々について誤り制御用データの演算を行う。
６４バイトフレーム用比較回路５２−６４〜９６００バイトフレーム用比較回路５２−９６００と、Ｖａｌｉｄ信号生成回路５３と、６４バイトフレーム用選択回路５５−６４〜９６００バイトフレーム用選択回路５５−９６００との組み合わせは、６４バイトフレーム用ＣＲＣ演算回路５１−６４〜９６００バイトフレーム用ＣＲＣ演算回路５１−９６００の組み合わせの演算結果の各々と、遅延フリップフロップ回路５４−１〜５４−３の組み合わせが抽出したＦＣＳの候補とを比較して、いずれかの演算結果について誤りが所定条件以下であると判定した場合、当該演算結果の演算に用いられた部分データをＥＴＨフレームの所定の一部（ヘッダ及びペイロード）として検出する。
これにより、上記のように地変フリップフロップ回路を共通化でき、回路規模を削減することができる。
【００５５】
次に、図７〜図８を参照して、本発明の最小構成について説明する。
図７は、本発明に係る通信装置の最小構成を示す説明図である。同図に示す通信装置２００は、受信部２１０と、フレーム検出部２２０とを備える。
かかる構成にて、受信部２１０は、誤り制御用データを含むフレーム形式のデータを受信する。フレーム検出部２２０は、受信データのうち異なるデータ長の部分データの各々に対して誤り検出処理を行い、誤りが所定条件以下の部分データを検出した場合、当該部分データに基づいてフレームを検出する。
これにより、通信装置２００では、フレーム形式の信号にフレーム長を示すヘッダを付加する必要なしにフレーム同期をとることができる。
【００５６】
図８は、本発明に係る通信システムの最小構成を示す説明図である。同図に示す通信システム３００は、第１通信装置３１０と、第２通信装置３２０とを備える。第１通信装置３１０は、受信部３２１と、フレーム検出部３２２とを備える。
かかる構成にて、第１通信装置３１０は、誤り制御用データを含むフレーム形式のデータを送信する。受信部３２１は、第１通信装置３１０が送信したデータを受信する。フレーム検出部３２２は、受信データのうち異なるデータ長の部分データの各々に対して誤り検出処理を行い、誤りが所定条件以下の部分データを検出した場合、当該部分データに基づいてフレームを検出する。
これにより、通信システム３００では、フレーム形式の信号にフレーム長を示すヘッダを付加する必要なしにフレーム同期をとることができる。
【００５７】
なお、第２通信装置２、３２０と、通信装置２００との機能の全部または一部を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各部の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い
【００５８】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【００５９】
１００、３００  通信システム
１、３１０  第１通信装置
２、３２０  第２通信装置
２１  ＲＦ信号処理部
２２  復調処理部
２３  無線フレーム処理部
２４  ＥＴＨフレーム検出部
２５  ＭＡＣ制御部
３１  バイト用ＥＴＨフレーム検出回路
３２  ＯＲ回路
３３  ＯＲ回路
４１  ＣＲＣ演算回路
４２  比較回路
４３  Ｖａｌｉｄ信号生成回路
４４  遅延フリップフロップ回路
４５  選択回路
２００  通信装置
２１０、３２１  受信部
２２０、３２２  フレーム検出部
【図１】
2018042213.tif 000004
【図２】
2018042213.tif 000005
【図３】
2018042213.tif 000006
【図４】
2018042213.tif 000007
【図５】
2018042213.tif 000008
【図６】
2018042213.tif 000009
【図７】
2018042213.tif 000010
【図８】
2018042213.tif 000011