(57)【特許請求の範囲】
【請求項１】
誤り検出符号が付加された送信データにパケットの識別情報を付加して送信用のパケットを生成する第１の生成手段と、
前記送信用のパケットをビット数の変換として８Ｂ１０Ｂ変換を行って送信する第１の送信手段と、
前記送信用のパケットの送信に対する応答をビット数の逆変換として８Ｂ１０Ｂ逆変換を行って受信する第１の受信手段とを有する第１の送受信装置と、
前記第１の送受信装置の前記第１の送信手段により送信された前記送信用のパケットをビット数の逆変換として８Ｂ１０Ｂ逆変換を行う第２の受信手段と、
前記第２の受信手段による逆変換後の前記送信データに付加された前記誤り検出符号に基づいて誤りを検出する検出手段と、
前記検出手段による前記誤りの検出の有無に応じて肯定応答又は否定応答を生成するとともに、前記肯定応答及び前記否定応答を上位３ビットとし、これに前記パケットの識別情報を下位５ビットとして付加した応答情報を含む応答用のパケットを生成するとともに、前記応答情報として、前記応答情報を８Ｂ１０Ｂ変換した際に１ビット誤りが発生した場合でも、それを８Ｂ１０Ｂ逆変換したときに、前記肯定応答と前記否定応答とを区別可能であって、下位５ビットは変動しない２つ符号を用いる第２の生成手段と、
前記第２の生成手段によって生成された前記応答用のパケットをビット数の変換として８Ｂ１０Ｂ変換を行って前記第１の送受信装置に送信する第２の送信手段と、
前記２つの符号を送信データとし、前記送信データを８Ｂ１０Ｂ変換した際に１ビット誤りが発生したとき、それを８Ｂ１０Ｂ逆変換した２つの符号を受信データとした変換テーブルに基づいて前記応答情報の誤りを検出し、訂正する訂正手段とを有する第２の送受信装置とを備えた送受信システム。
【請求項２】
前記第２の送受信装置の前記第２の生成手段は、前記肯定応答又は前記否定応答に複数の前記パケットの識別情報を連続して付加して前記応答用のパケットを生成する請求項１に記載の送受信システム。
【請求項３】
第１の送受信装置のコンピュータに、
誤り検出符号が付加された送信データにパケットの識別情報を付加して送信用のパケットを生成する第１の生成手段と、
前記送信用のパケットをビット数の変換として８Ｂ１０Ｂ変換を行って送信する第１の送信手段と、
前記送信用のパケットの送信に対する応答をビット数の逆変換として８Ｂ１０Ｂ逆変換を行って受信する第１の受信手段として機能させ、
第２の送受信装置のコンピュータに、
前記第１の送受信装置の前記第１の送信手段により送信された前記送信用のパケットをビット数の逆変換として８Ｂ１０Ｂ逆変換を行う第２の受信手段と、
前記第２の受信手段による逆変換後の前記送信データに付加された前記誤り検出符号に基づいて誤りを検出する検出手段と、
前記検出手段による前記誤りの検出の有無に応じて肯定応答又は否定応答を生成するとともに、前記肯定応答及び前記否定応答を上位３ビットとし、これに前記パケットの識別情報を下位５ビットとして付加した応答情報を含む応答用のパケットを生成するとともに、前記応答情報として、前記応答情報を８Ｂ１０Ｂ変換した際に１ビット誤りが発生した場合でも、それを８Ｂ１０Ｂ逆変換したときに、前記肯定応答と前記否定応答とを区別可能であって、下位５ビットは変動しない２つの符号を用いる第２の生成手段と、
前記第２の生成手段によって生成された前記応答用のパケットをビット数の変換として８Ｂ１０Ｂ変換を行って前記第１の送受信装置に送信する第２の送信手段と、
前記２つの符号を送信データとし、前記送信データを８Ｂ１０Ｂ変換した際に１ビット誤りが発生したとき、それを８Ｂ１０Ｂ逆変換した２つの符号を受信データとした変換テーブルに基づいて前記応答情報の誤りを検出し、訂正する訂正手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、送受信システム及びプログラムに関する。
【背景技術】
【０００２】
伝送時のエラーを誤り検出符号としてＣＲＣ（Cyclic Redundancy Check）符号を用いて検出し、受信応答として正常受信時にＡＣＫ（肯定応答：Positive Acknowledgement）を送信し、エラーを検出した場合に、ＮＡＫ（否定応答：Negative Acknowledgement）を送信するシステムが知られている。このようなシステムとして、受信応答に、Ｋ符号、ＡＣＫ又はＮＡＫ、シーケンスＩＤ、ＣＲＣ符号から構成された応答パケットを用い、応答パケットが伝送エラーを起こす場合を想定して、ＣＲＣ符号によるエラー検出を行う方法、例えば高速シリアルインターフェイス規格のPCI-express（登録商標）がある（例えば、非特許文献１参照）。しかし、この方法では、エラーがあった場合や応答パケットが消失した場合など送信側で受信したＡＣＫのシーケンス番号が連続していないという可能性がある。この場合、ある時間内に連続したＡＣＫを受信できなかった場合、送信側で該当データを再送するというタイムアウト処理が必要となり、制御が複雑になる。
【０００３】
ＣＲＣ符号を用いてエラー検出を行う方法とは別に、伝送エラーを起こす場合を想定して、受信応答信号としてＫ符号＋シーケンスＩＤを３回送信し、多数決でシーケンスＩＤを決定する方法がある。多数決でシーケンスＩＤを決定することで、伝送エラーに対して冗長性を持たせることができる。
【０００４】
受信応答として、Ｋ符号＋シーケンスＩＤを３回送信し、多数決で伝送エラーに対して冗長性を持たせることができるが、伝送エラーが３回のうち２回起こった場合には、多数決では正しいシーケンスＩＤが判断できない。
【０００５】
さらに送信回数を増やして多数決を行う方法があるが、伝送エラーで他のＩＤに化けた場合を想定すると、エラーの回数が（送信回数）／２＋１以上の場合、多数決では正しいシーケンスＩＤが判断できない。
【０００６】
なお、PCI-expressをはじめとする通信方式では、２値変調方式を利用する送信装置において用いられる符号化装置として、特許文献１に記載の８Ｂ／１０Ｂ符号化装置がある。この８Ｂ／１０Ｂ符号化装置は、８ビットの入力ビット列に対して、同じ値が連続する数の最大値を一定値以下に抑え（以下、ランレングスを保証）、予め定められた期間内において２つの変調状態の発生数の差を一定値以下に抑えた（以下、ＤＣバランスを保証）１０ビットの符号化ビット列を出力する符号化装置である。
【先行技術文献】
【特許文献】
【０００７】
【非特許文献１】PCI-SIG Board of Directors Approve PCI-Express Specifications for Higher-Performance Serial I/O（http://www.pcisig.com/news_room/news/press_releases_archive/2002_07_23/2002_07_23.pdf）
【特許文献１】特開昭５９−１００５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
本発明の目的は、複雑な制御を用いることなく、送信データの応答を送ることが可能な送受信システム及びプログラムを提供することにある。
【課題を解決するための手段】
【０００９】
本発明は、以下の送受信システム及びプログラムを提供する。
【００１０】
［１］誤り検出符号が付加された送信データにパケットの識別情報を付加して送信用のパケットを生成する第１の生成手段と、
前記送信用のパケットをビット数の変換として８Ｂ１０Ｂ変換を行って送信する第１の送信手段と、
前記送信用のパケットの送信に対する応答をビット数の逆変換として８Ｂ１０Ｂ逆変換を行って受信する第１の受信手段とを有する第１の送受信装置と、
前記第１の送受信装置の前記第１の送信手段により送信された前記送信用のパケットをビット数の逆変換として８Ｂ１０Ｂ逆変換を行う第２の受信手段と、
前記第２の受信手段による逆変換後の前記送信データに付加された前記誤り検出符号に基づいて誤りを検出する検出手段と、
前記検出手段による前記誤りの検出の有無に応じて肯定応答又は否定応答を生成するとともに、前記肯定応答及び前記否定応答を上位３ビットとし、これに前記パケットの識別情報を下位５ビットとして付加した応答情報を含む応答用のパケットを生成するとともに、前記応答情報として、前記応答情報を８Ｂ１０Ｂ変換した際に１ビット誤りが発生した場合でも、それを８Ｂ１０Ｂ逆変換したときに、前記肯定応答と前記否定応答とを区別可能であって、下位５ビットは変動しない２つ符号を用いる第２の生成手段と、
前記第２の生成手段によって生成された前記応答用のパケットをビット数の変換として８Ｂ１０Ｂ変換を行って前記第１の送受信装置に送信する第２の送信手段と、
前記２つの符号を送信データとし、前記送信データを８Ｂ１０Ｂ変換した際に１ビット誤りが発生したとき、それを８Ｂ１０Ｂ逆変換した２つの符号を受信データとした変換テーブルに基づいて前記応答情報の誤りを検出し、訂正する訂正手段とを有する第２の送受信装置とを備えた送受信システム。
【００１２】
［２］前記第２の送受信装置の前記第２の生成手段は、前記肯定応答又は前記否定応答に複数の前記パケットの識別情報を連続して付加して前記応答用のパケットを生成する前記
［１］に記載の送受信システム。
【００１３】
［３］第１の送受信装置のコンピュータに、
誤り検出符号が付加された送信データにパケットの識別情報を付加して送信用のパケットを生成する第１の生成手段と、
前記送信用のパケットをビット数の変換として８Ｂ１０Ｂ変換を行って送信する第１の送信手段と、
前記送信用のパケットの送信に対する応答をビット数の逆変換として８Ｂ１０Ｂ逆変換を行って受信する第１の受信手段として機能させ、
第２の送受信装置のコンピュータに、
前記第１の送受信装置の前記第１の送信手段により送信された前記送信用のパケットをビット数の逆変換として８Ｂ１０Ｂ逆変換を行う第２の受信手段と、
前記第２の受信手段による逆変換後の前記送信データに付加された前記誤り検出符号に基づいて誤りを検出する検出手段と、
前記検出手段による前記誤りの検出の有無に応じて肯定応答又は否定応答を生成するとともに、前記肯定応答及び前記否定応答を上位３ビットとし、これに前記パケットの識別情報を下位５ビットとして付加した応答情報を含む応答用のパケットを生成するとともに、前記応答情報として、前記応答情報を８Ｂ１０Ｂ変換した際に１ビット誤りが発生した場合でも、それを８Ｂ１０Ｂ逆変換したときに、前記肯定応答と前記否定応答とを区別可能であって、下位５ビットは変動しない２つの符号を用いる第２の生成手段と、
前記第２の生成手段によって生成された前記応答用のパケットをビット数の変換として８Ｂ１０Ｂ変換を行って前記第１の送受信装置に送信する第２の送信手段と、
前記２つの符号を送信データとし、前記送信データを８Ｂ１０Ｂ変換した際に１ビット誤りが発生したとき、それを８Ｂ１０Ｂ逆変換した２つの符号を受信データとした変換テーブルに基づいて前記応答情報の誤りを検出し、訂正する訂正手段として機能させるためのプログラム。
【発明の効果】
【００１４】
請求項１、４に係る発明によれば、複雑な制御を用いることなく、送信データの応答を送ることが可能になる。
請求項２に係る発明によれば、パケットの識別情報に１ビット誤りが発生しても、Ｋ符号等の他の符号に誤って変換されなくなる。
請求項３に係る発明によれば、パケットの識別情報を１回送信する場合よりもパケットの識別情報を正しく送信することができる。
【図面の簡単な説明】
【００１５】
【図１】図１は、本発明の実施の形態に係る光送受信システムの構成例を示すブロック図である。
【図２Ａ】図２Ａは、１０パターンの誤りに対応して、８Ｂ１０Ｂ逆変換したパターンを示す図である。
【図２Ｂ】図２Ｂは、１０パターンの誤りに対応して、８Ｂ１０Ｂ逆変換したパターンを示す図である。
【図２Ｃ】図２Ｃは、１０パターンの誤りに対応して、８Ｂ１０Ｂ逆変換したパターンを示す図である。
【図２Ｄ】図２Ｄは、１０パターンの誤りに対応して、８Ｂ１０Ｂ逆変換したパターンを示す図である。
【図２Ｅ】図２Ｅは、１０パターンの誤りに対応して、８Ｂ１０Ｂ逆変換したパターンを示す図である。
【図２Ｆ】図２Ｆは、１０パターンの誤りに対応して、８Ｂ１０Ｂ逆変換したパターンを示す図である。
【図２Ｇ】図２Ｇは、１０パターンの誤りに対応して、８Ｂ１０Ｂ逆変換したパターンを示す図である。
【図２Ｈ】図２Ｈは、１０パターンの誤りに対応して、８Ｂ１０Ｂ逆変換したパターンを示す図である。
【図３】図３は、図２Ａ〜図２Ｈの誤りパターンを送信データと受信データとの関係で表わした表である。
【図４】図４は、送信パケットの構成例を示す図である。
【図５】図５は、応答パケットの構成例を示し、（ａ）は、ＡＣＫ（肯定応答）用応答パケット、（ｂ）はＮＡＫ（否定応答）用応答パケットを示す図である。
【発明を実施するための形態】
【００１６】
以下、本発明の実施の形態について図面を参照して説明する。なお、各図中、実質的に同一の機能を有する構成要素については、同一の符号を付してその重複した説明を省略する。
【００１７】
図１は、本発明の実施の形態に係る送受信システムの構成例を示すブロック図である。この送受信システム１は、第１の送受信装置２と第２の送受信装置４とを、情報をシリアルに送受信するための伝送路３により接続したものである。伝送路３は、第１レーン３１、第２レーン３２及び第３レーン３３から構成されている。
【００１８】
（第１の送受信装置の構成）
第１の送受信装置２は、入出力制御部２１と、第１レーン３１及び第２レーン３２に対応して設けられた送信パケット生成部２２、８Ｂ１０Ｂ変換部（８Ｂ１０Ｂ）２４Ａ、２４Ｂ及びパラレル／シリアル変換部（Ｐ／Ｓ）２６Ａ、２６Ｂと、第３レーン３３に対応して設けられた再送制御部２３、１０Ｂ８Ｂ変換部（１０Ｂ８Ｂ）２５及びシリアル／パラレル変換部（Ｓ／Ｐ）２７とを備える。なお、送信パケット生成部２２は、第１の生成手段の一例である。また、８Ｂ１０Ｂ変換部２４Ａ、２４Ｂ及びパラレル／シリアル変換部２６Ａ、２６Ｂは、第１の送信手段の一例である。また、１０Ｂ８Ｂ変換部２５及びシリアル／パラレル変換部２７は、第１の受信手段の一例である。
【００１９】
（第２の送受信装置の構成）
第２の送受信装置４は、第１レーン３１及び第２レーン３２に対応して設けられたシリアル／パラレル変換部（Ｓ／Ｐ）４１Ａ、４１Ｂ、１０Ｂ８Ｂ変換部（１０Ｂ８Ｂ）４３Ａ、４３Ｂ及びＣＲＣチェック部４５と、第３レーン３３に対応して設けられたパラレル／シリアル変換部（Ｐ／Ｓ）４２、８Ｂ１０Ｂ変換部（８Ｂ１０Ｂ）４４及び応答パケット生成部４６と、入出力制御部４７とを備える。なお、シリアル／パラレル変換部４１Ａ、４１Ｂ及び１０Ｂ８Ｂ変換部４３Ａ、４３Ｂは、第２の受信手段の一例である。また、パラレル／シリアル変換部４２及び８Ｂ１０Ｂ変換部４４は、第２の送信手段の一例である。また、ＣＲＣチェック部４５は、検出手段の一例である。また、応答パケット生成部４６は、第２の生成手段の一例である。
【００２０】
（伝送路）
伝送路３は、電気信号を伝送する電気ケーブルであるが、光信号を伝送する光ケーブルを用いることができる。なお、光ケーブルを用いる場合、送信側及び受信側それぞれに光電変換部を設ける必要がある。伝送路３を構成する各レーン３１、３２、３３は、２本の線により構成され、差動信号が伝送される差動線路でもよい。
【００２１】
（第１及び第２の送受信装置の各部の構成）
第１の送受信装置２の入出力制御部２１は、例えば、再生装置との間でデータの授受を行う。第２の送受信装置４の入出力制御部４７は、例えば、映像表示装置との間でデータの授受を行う。また、第１の送受信装置２の入出力制御部２１は、ＡＣＫを受信するまで再生用として送信したデータを保持する送信バッファ（図示省略）を備えている。
【００２２】
第１の送受信装置２の送信パケット生成部２２は、第１レーン３１及び第２レーン３２に対応して設けられたＣＲＣ生成部２２１Ａ、２２１Ｂを備え、転送すべきデータ（送信データ）、例えば画像情報をパケット化して送信パケットを生成する。送信パケットの詳細については後述する。
【００２３】
第１の送受信装置２の再送制御部２３は、エラー検出部２３１及びエラー訂正部２３２を備え、第２の送受信装置４から第１の送受信装置２に送信されたパケットからデータの抽出を行い、第２の送受信装置４からＮＡＫ（否定応答）が送信されたときは、入出力制御部２１に対して再送を指示する。
【００２４】
第１の送受信装置２の８Ｂ１０Ｂ変換部２４Ａ、２４Ｂ、及び第２の送受信装置４の８Ｂ１０Ｂ変換部４４は、８ビットのデータをビット数の変換として８Ｂ１０Ｂ変換し、１０ビット単位でデータを出力する。第１の送受信装置２の１０Ｂ８Ｂ変換部２５、及び第２の送受信装置４の１０Ｂ８Ｂ変換部４３Ａ、４３Ｂは、変換デーブルを用いて１０ビットデータをビット数の逆変換として８Ｂ１０Ｂ逆変換（１０Ｂ８Ｂ変換）し、８ビット単位でデータを出力する。８Ｂ１０Ｂ変換は、伝送データが適度に０と１が含まれるようにＤＣバランス調整を行うものであり、８Ｂ１０Ｂとして知れられる方式では、８ビット毎のデータの塊を予め決められた０と１の割合が５０％に近い１０ビットのデータに変換することによってＤＣバランスを調整している。
【００２５】
ＣＲＣチェック部４５は、第１の送受信装置２から第２の送受信装置４に送信されたパケットからデータの抽出を行うとともに、ＣＲＣチェックを行い、ＣＲＣエラーが無ければ、データをマージして入出力制御部４７に出力し、ＣＲＣチェック結果を応答パケット生成部４６に通知する。
【００２６】
応答パケット生成部４６は、ＣＲＣチェック結果に応じて応答パケットを生成し、第１の送受信装置２に送信する。応答パケットの詳細については、後述する。
【００２７】
第１の送受信装置２のパラレル／シリアル変換部２６Ａ、２６Ｂ、及び第２の送受信装置４のパラレル／シリアル変換部４２は、パラレルデータをシリアルデータに変換（Ｐ／Ｓ変換）して送出するものであり、電源ＯＮ時の初期設定として信号波形の直流成分を減衰させるディエンファシス（de-emphasis）、信号波形の高周波成分を強調させるプリエンファシス（pre-emphasis）、差動電圧等を設定するためのレジスタを備えている。
【００２８】
第１の送受信装置２のシリアル／パラレル変換部２７、及び第２の送受信装置４のシリアル／パラレル変換部４１Ａ、４１Ｂは、シリアルデータをパラレルデータに変換（Ｓ／Ｐ変換）するものであり、電源ＯＮ時の初期設定として伝送路３で生じた信号波形の劣化を補正するイコライザ（Equalizer）等を設定するためのレジスタを備えている。
【００２９】
第１及び第２の送受信装置２、４の入出力制御部２１、シリアル／パラレル変換部４１Ａ、４１Ｂ等の構成部分は、それぞれ一部又は全部を再構成可能回路（ＦＰＧＡ：Field Programmable Gate Array)、特定用途向け集積回路（ＡＳＩＣ：Application Specific Integrated Circuit）等のハードウエア回路によって構成してもよい。また、第１及び第２の送受信装置２、４の入出力制御部２１、シリアル／パラレル変換部４１Ａ、４１Ｂ等の構成部分は、第１及び第２の送受信装置２、４における各コンピュータにおいてプログラムに従ってＣＰＵが動作することで実現してもよい。
【００３０】
（エラーのパターン）
次に、エラーのパターンについて説明する。
【００３１】
８ビットのデータを送信する場合、８Ｂ１０Ｂ変換後に１０ビットのデータとなる。この１０ビットのデータが１ビット誤りを起こす可能性は１０パターンある。図２Ａ〜図２Ｈは、１０パターンの誤りに対応して、８Ｂ１０Ｂ逆変換した受信データを示す。図中、左側の列のＤ００．０〜Ｄ３１．７は、８Ｂ１０Ｂ変換前の送信データを示し、１ｂｉｔは・・・１０ｂｉｔは、エラーが発生した先頭からのビットの位置を示す。データをＤｘｘ．ｙとすると、ｘｘは０〜３１の下位５ビットに対応し、ｙは０〜７の上位３ビットに対応する。例えば、図２Ａにおいて、送信データのＤ００．０を８ビットから１０ビットに変換したとき、先頭の１ビット目にエラーが発生した場合は、Ｄ００．２の受信データに変換される。また、送信データＤ００．０を８ビットから１０ビットに変換したとき、先頭から３ビット目にエラーが発生した場合は、変換テーブルに対応するデータが存在していないためにNot In Table（ＮＩＴ）エラーとなる。図２Ａ〜図２Ｈを見ると、図２Ａ、図２Ｄ、図２Ｅ、図２Ｈは、６ｂｉｔ〜１０ｂｉｔ（下位５ビット）は全てNot In Table（ＮＩＴ）になることが分かる。
【００３２】
図３は、図２Ａ〜図２Ｈの誤りパターンを送信データと受信データとの関係で表わした表である。同図中、◎印は正しい受信データを示し、○印は１ビットのエラーが発生した受信データを示す。送信データとしてＤｘｘ．０を送信した場合、図２Ａから分かるように、受信データとしてＤｘｘ．０、Ｄｘｘ．１、Ｄｘｘ．２、Ｄｘｘ．５、Ｄｘｘ．６を受信する可能性がある。送信データとしてＤｘｘ．３を送信した場合、図２Ｄから分かるように、受信データとしてＤｘｘ．３、Ｄｘｘ．４、Ｄｘｘ．７を受信する可能性がある。
【００３３】
（送信パケットの構造）
図４は、第１の送受信装置２の送信パケット生成部２２が生成する送信パケットの構成例を示す。送信パケット１００は、ヘッダ１１０、転送すべきデータ１２０、ＣＲＣ符号１３０及び送信パケット１００の終わりを示すエンドパケット１４０から構成されている。ヘッダ１１０は、送信パケット１００の始まりを示す符号、例えばＫ符号からなるスタートパケット１１１、３ビットからなるダミービット１１２、第１レーン３１又は第２レーン３２を特定するとともに送信パケット１００の識別情報としてのシーケンスＩＤ１１３から構成されている。例えば、第１レーン３１を介して送信する送信パケット１００、及び第２レーン３２を介して送信する送信パケット１００に対して、シーケンスＩＤとして連番を交互に付与することにより、送信パケット１００を識別することができるとともに、最下位ビットが「０」か「１」かにより第１レーン３１又は第２レーン３２を特定するができる。なお、ＣＲＣ符号１３０は、誤り検出符号の一例である。
【００３４】
ＣＲＣ生成部２２１Ａ、２２１Ｂは、転送すべきデータに対してＣＲＣの演算を行ってＣＲＣ符号を生成する。送信パケット生成部２２は、転送すべきデータ１２０にヘッダ１１０、ＣＲＣ生成部２２１Ａ、２２１Ｂにて生成されたＣＲＣ符号１３０及びエンドパケット１４０を付加して送信パケット１００を生成する。送信パケット生成部２２は、ダミービット１１２及びシーケンスＩＤ１１３として、送信パケット１００を第２の送受信装置４に送信した際に伝送による１ビット誤りが発生した場合、１ビット誤りが発生したと認識可能な符号、例えば図２Ａ〜図２Ｈに示すＤｘｘ．０（ｘｘ：０〜３１、ｙ＝０）を用いる。ｘｘはシーケンスＩＤ１１３に対応する下位５ビット、ｙはダミービット１１２に対応する上位３ビットを表す。これにより、８Ｂ１０Ｂ変換部２４Ａ、２４Ｂがダミービット１１２及びシーケンスＩＤ１１３を８ビットから１０ビットに変換し送信したとき、１０ビットのうちいずれかの１ビットにエラーが発生しても下位５ビットのシーケンスＩＤは、変換テーブルに存在していないことを示すＮＩＴとなるか、誤りなしで受信される。
【００３５】
（応答パケットの構成）
図５は、第２の送受信装置４の応答パケット生成部４６が生成する応答パケットの構成例を示し、（ａ）は、ＡＣＫ（肯定応答）用であり、（ｂ）はＮＡＫ（否定応答）用である。
【００３６】
図５（ａ）に示すように、ＡＣＫ用応答パケット２００ａは、Ｋ２８．０からなるスタートパケット２１０と、複数（例えば、３つ）の応答情報２２０ａとから構成されている。応答情報２２０ａは、上位３ビットの肯定応答（ＡＣＫ）２２１ａと、レーン３１、３２及び送信パケット１００を特定するための下位５ビットのシーケンスＩＤ２２２とから構成されている。ＡＣＫ用応答パケット２００ａの応答情報２２０ａには、それを第１の送受信装置２に伝送した際に伝送による１ビット誤りが発生した場合でも、ＡＣＫ（肯定応答）とＮＡＫ（否定応答）とを区別可能な符号、例えばＤｘｘ．０を用いる。第２の送受信装置４は、応答情報２２０ａを３回送信することになる。なお、ＡＣＫ用応答パケット２００ａを構成する応答情報２２０ａの数は、３つに限られない。また、スタートパケット２１０は、Ｋ２８．０以外の符号を用いてもよい。
【００３７】
図５（ｂ）に示すように、ＮＡＫ用応答パケット２００ｂは、Ｋ２８．０からなるスタートパケット２１０と、３つの応答情報２２０ｂとから構成されている。応答情報２２０ｂは、上位３ビットの否定応答（ＮＡＫ）２２１ｂと、レーン３１、３２及び送信パケット１００を特定するための下位５ビットのシーケンスＩＤ２２２とから構成されている。ＮＡＫ用応答パケット２００ｂの応答情報２２０ｂには、それを第１の送受信装置２に送信した際に伝送による１ビット誤りが発生した場合でも、ＡＣＫ（肯定応答）とＮＡＫ（否定応答）とを区別可能な符号、例えばＤｘｘ．３を用いる。第２の送受信装置４は、応答情報２２０ｂを３回送信することになる。否定応答（ＮＡＫ）２２１ｂとシーケンスＩＤ２２２からどのレーン３１、３２でどの送信パケット１００がエラーを発生したかを識別することできる。なお、ＡＣＫ用応答パケット２００ａの応答情報２２０ａにＤｘｘ．３を用い、ＮＡＫ用応答パケット２００ｂの応答情報２２０ｂにＤｘｘ．０を用いてもよい。ＮＡＫ用応答パケット２００ｂを構成する応答情報２２０ｂの数は、３つに限られない。
【００３８】
ＣＲＣチェック部４５は、ＣＲＣチェックを行い、ＣＲＣエラーが無ければ、データをマージして入出力制御部４７に出力するとともに、ＣＲＣチェック結果とシーケンスＩＤを応答パケット生成部４６に通知する。
【００３９】
応答パケット生成部４６は、ＣＲＣチェック部４５からＣＲＣチェック結果とシーケンスＩＤを受け取ると、ＣＲＣチェック結果に応じて図５（ａ）に示すＡＣＫ用応答パケット２００ａ、又は図５（ｂ）に示すＮＡＫ用応答パケット２００ｂを生成する。
【００４０】
応答パケット生成部４６が応答情報２２０ａとしてＤｘｘ．０を送信した場合、第１の送受信装置２は、図３に示すように、１ビットのエラーによりＤｘｘ．０、Ｄｘｘ．１、Ｄｘｘ．２、Ｄｘｘ．５、Ｄｘｘ．６を受信する可能性がある。したがって、エラー検出部２３１が、Ｄｘｘ．０及びＤｘｘ．３以外のＤｘｘ．１、Ｄｘｘ．２、Ｄｘｘ．５、Ｄｘｘ．６を検出した場合、エラー訂正部２３２は、Ｄｘｘ．１、Ｄｘｘ．２、Ｄｘｘ．５、Ｄｘｘ．６をＤｘｘ．０に訂正する。応答パケット生成部４６が応答情報２２０ｂとしてＤｘｘ．３を送信した場合、第１の送受信装置２は、図３に示すように、１ビットのエラーによりＤｘｘ．３、Ｄｘｘ．４、Ｄｘｘ．７を受信する可能性がある。したがって、エラー検出部２３１が、応答情報２２０ｂとしてＤｘｘ．０及びＤｘｘ．３以外のＤｘｘ．４、Ｄｘｘ．７を検出した場合、エラー訂正部２３２は、Ｄｘｘ．４，Ｄｘｘ．７をＤｘｘ．３に訂正する。また、エラー検出部２３１がＮＩＴエラーを検出した場合、エラー訂正部２３２は、応答パケット２００ａ、２００ｂを破棄する。したがって、Ｎ回全てがＮＩＴエラーでない限り、第１の送受信装置２は、ＡＣＫ／ＮＡＫを正しく受信できることになる。
【００４１】
第１の送受信装置２の再送制御部２３は、第２の送受信装置４からＮＡＫ用応答パケット２００ｂを受信した場合は、シーケンスＩＤ２２２に該当するデータを再送するよう入出力制御部２１を制御する。入出力制御部２１は、再送用として送信バッファに保持していた、シーケンスＩＤ２２２に該当するデータを送信パケット生成部２２に出力する。
【００４２】
（本実施の形態の動作）
次に、本実施の形態の動作の一例を説明する。
【００４３】
（１）送信パケットの生成及び送信
第１の送受信装置２のＣＲＣ生成部２２１Ａ、２２１Ｂは、入出力制御部２１から出力された転送すべきデータ１２０に対してＣＲＣの演算を行ってＣＲＣ符号１３０を生成する。送信パケット生成部２２は、転送すべきデータ１２０にヘッダ１１０、ＣＲＣ符号１３０及びエンドパケット１４０を付加して送信パケット１００を生成する。
【００４４】
送信パケット生成部２２が生成した送信パケット１００は、８Ｂ１０Ｂ変換部２４Ａ、２４Ｂにより８ビットのデータが１０ビットのデータに８Ｂ１０Ｂ変換され、パラレル／シリアル変換部２６Ａ、２６Ｂによりパラレルデータからシリアルデータに変換され、第１の送受信装置２から伝送路３の第１レーン３１及び第２レーン３２を介して第２の送受信装置４にシリアル伝送される。
【００４５】
（２）応答パケットの生成及び送信
第２の送受信装置４が送信パケット１００を受信すると、送信パケット１００は、シリアル／パラレル変換部４１Ａ、４１Ｂによりシリアルデータからパラレルデータに変換され、１０Ｂ８Ｂ変換部４３Ａ、４３Ｂにより１０ビットのデータが８ビットのデータに８Ｂ１０Ｂ逆変換されてＣＲＣチェック部４５に入力される。
【００４６】
ＣＲＣチェック部４５は、ＣＲＣチェックを行い、ＣＲＣエラーが無ければ、データをマージして入出力制御部４７に出力するとともに、ＣＲＣチェック結果とシーケンスＩＤを応答パケット生成部４６に通知する。
【００４７】
応答パケット生成部４６は、ＣＲＣチェック部４５からＣＲＣチェック結果とシーケンスＩＤを受け取ると、ＣＲＣチェック結果に応じてＡＣＫ用応答パケット２００ａ又はＮＡＫ用応答パケット２００ｂを生成する。
【００４８】
応答パケット生成部４６が生成したＡＣＫ用応答パケット２００ａ又はＮＡＫ用応答パケット２００ｂは、８Ｂ１０Ｂ変換部４４により８ビットのデータが１０ビットのデータに８Ｂ１０Ｂ変換され、パラレル／シリアル変換部４２によりパラレルデータからシリアルデータに変換され、第２の送受信装置４から伝送路３の第３レーン３３を介して第１の送受信装置２にシリアル伝送される。
【００４９】
（３）応答パケットの受信及びエラー訂正
第１の送受信装置２がＡＣＫ用応答パケット２００ａ又はＮＡＫ用応答パケット２００ｂを受信すると、ＡＣＫ用応答パケット２００ａ又はＮＡＫ用応答パケット２００ｂは、シリアル／パラレル変換部２７によりシリアルデータからパラレルデータに変換され、１０Ｂ８Ｂ変換部２５により１０ビットのデータが８ビットのデータに８Ｂ１０Ｂ逆変換され、再送制御部２３に入力される。
【００５０】
再送制御部２３は、第２の送受信装置４から第１の送受信装置２に送信された応答パケット２００ａ、２００ｂからデータの抽出を行う。
【００５１】
エラー検出部２３１が、応答情報２２０ａとしてＤｘｘ．０及びＤｘｘ．３以外のＤｘｘ．４、Ｄｘｘ．７を検出した場合、エラー訂正部２３２は、Ｄｘｘ．４、Ｄｘｘ．７をＤｘｘ．３に訂正する。また、エラー検出部２３１がＮＩＴエラーを検出した場合、エラー訂正部２３２は、応答パケット２００ａ、２００ｂを破棄する。
【００５２】
（４）再送指示
そして、再送制御部２３は、第２の送受信装置４からＮＡＫ用応答パケット２００ｂが送信されたときは、入出力制御部２１に対して再送を指示する。
【００５３】
入出力制御部２１は、再送用として送信バッファに保持していた、シーケンスＩＤ２２２に該当するデータを送信パケット生成部２２へ送り、送信パケット生成部２２は、再送指示され送信パケットを生成する。再度生成された送信パケット１００は、前述したように、８Ｂ１０Ｂ変換され、パラレル／シリアル変換された後、第２の送受信装置４に送信される。
【００５４】
（本実施の形態の効果）
本実施の形態によれば、複雑な制御を用いることなく、送信パケットに対して応答パケットを送ることが可能になる。また、応答情報を複数回連続して送信することで、１回送信する構成と比べて、ＡＣＫ又はＮＡＫを正確に送ることができる。
【００５５】
以上、本発明の実施の形態を説明したが、本発明は上記の実施の形態に限定されるものではなく、本発明の要旨を変更しない範囲内で種々の変形、実施が可能である。例えば、本発明を受信側のバッファメモリの状態を示す「Memory-Full」と「Memory-Empty」を送信する際に用いてもよい。
【００５６】
また、例えば本発明の要旨を変更しない範囲内で、実施の形態の構成要素の一部を省くことが可能であり、実施の形態のフローにおいて、ステップの追加、削除、変更、入替え等が可能である。また、上記実施の形態で用いたプログラムをＣＤ−ＲＯＭ等の記録媒体に記憶して提供することもできる。
【符号の説明】
【００５７】
１…送受信システム、２…第１の送受信装置、３…伝送路、４…第２の送受信装置、
２１…入出力制御部、２２…送信パケット生成部（第１の生成手段）、２３…再送制御部、２４Ａ、２４Ｂ…８Ｂ１０Ｂ変換部（第１の送信手段）、２５…１０Ｂ８Ｂ変換部（第１の受信手段）、２６Ａ、２６Ｂ…パラレル／シリアル変換部（第１の送信手段）、２７…シリアル／パラレル変換部（第１の受信手段）、３１…第１レーン、３２…第２レーン、３３…第３レーン、４１Ａ、４１Ｂ…シリアル／パラレル変換部（第２の受信手段）、４２…パラレル／シリアル変換部（第２の送信手段）、４３Ａ、４３Ｂ…１０Ｂ８Ｂ変換部（第２の受信手段）、４４…８Ｂ１０Ｂ変換部（第２の送信手段）、４５…ＣＲＣチェック部（検出手段）、４６…応答パケット生成部（第２の生成手段）、４７…入出力制御部、１００…送信パケット、１１０…ヘッダ、１１１…スタートパケット、１１２…ダミービット、１１３…シーケンスＩＤ、１２０…データ、１３０…ＣＲＣ符号、１４０…エンドパケット、２００ａ…ＡＣＫ用応答パケット、２００ｂ…ＮＡＫ用応答パケット、２１０…スタートパケット、２２０ａ、２２０ｂ…応答情報、２２１Ａ、２２１Ｂ…ＣＲＣ生成部、２２２…シーケンスＩＤ、２３１…エラー検出部、２３２…エラー訂正部
【図１】
0005987319.tif 000002
【図２Ａ】
0005987319.tif 000003
【図２Ｂ】
0005987319.tif 000004
【図２Ｃ】
0005987319.tif 000005
【図２Ｄ】
0005987319.tif 000006
【図２Ｅ】
0005987319.tif 000007
【図２Ｆ】
0005987319.tif 000008
【図２Ｇ】
0005987319.tif 000009
【図２Ｈ】
0005987319.tif 000010
【図３】
0005987319.tif 000011
【図４】
0005987319.tif 000012
【図５】
0005987319.tif 000013