(57)【特許請求の範囲】
【請求項１】
誤り検出符号が付加された送信データに、パケットの識別情報を付加して送信用のパケットを生成する手段であって、前記パケットの識別情報として、前記送信用のパケットを送信した際に伝送による１ビット誤りが発生した場合に、検出可能な符号を用いる生成手段と、
前記送信用のパケットをビット数の変換として８Ｂ１０Ｂ変換を行って送信する送信手段とを有する第１の送受信装置と、
前記第１の送受信装置の前記送信手段により送信された前記送信用のパケットのビット数の逆変換として８Ｂ１０Ｂ逆変換を行う受信手段と、前記受信手段による逆変換後の前記送信用のパケットの前記パケットの識別情報の誤りを検出し、訂正する訂正手段とを有する第２の送受信装置とを備え、
前記生成手段は、前記パケットの識別情報として、上位３ビット下位５ビットからなる８ビットのデータを８Ｂ１０Ｂ変換した際に１ビット誤りが発生しても、それを８Ｂ１０Ｂ逆変換したとき、下位５ビットは変動しない複数の符号を予め定められた順序で使用し、
前記訂正手段は、前記複数の符号を送信データとし、前記送信データを８Ｂ１０Ｂ変換した際に１ビット誤りが発生したとき、それを８Ｂ１０Ｂ逆変換した複数の符号を受信データとした変換テーブル、及び前記予め定められた順序に基づいて前記パケットの識別情報の誤りを検出し、訂正する
送受信システム。
【請求項２】
第１の送受信装置のコンピュータに、
誤り検出符号が付加された送信データに、パケットの識別情報を付加して送信用のパケットを生成する手段であって、前記パケットの識別情報として、前記送信用のパケットを送信した際に伝送による１ビット誤りが発生した場合に、検出可能な符号を用いる生成手段と、前記送信用のパケットをビット数の変換として８Ｂ１０Ｂ変換を行って送信する送信手段として機能させ、
第２の送受信装置のコンピュータに、
前記第１の送受信装置の前記送信手段により送信された前記送信用のパケットのビット数の逆変換として８Ｂ１０Ｂ逆変換を行う受信手段と、前記受信手段による逆変換後の前記送信用のパケットの前記パケットの識別情報の誤りを検出し、訂正する訂正手段として機能させ、
前記生成手段は、前記パケットの識別情報として、上位３ビット下位５ビットからなる８ビットのデータを８Ｂ１０Ｂ変換した際に１ビット誤りが発生しても、それを８Ｂ１０Ｂ逆変換したとき、下位５ビットは変動しない複数の符号を予め定められた順序で使用し、
前記訂正手段は、前記複数の符号を送信データとし、前記送信データを８Ｂ１０Ｂ変換した際に１ビット誤りが発生したとき、それを８Ｂ１０Ｂ逆変換した複数の符号を受信データとした変換テーブル、及び前記予め定められた順序に基づいて前記パケットの識別情報の誤りを検出し、訂正する
プログラム。」
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、送受信システム及びプログラムに関する。
【背景技術】
【０００２】
ヘッダ情報と送信すべきデータのそれぞれにＣＲＣ（Cyclic Redundancy Check）符号を付加してパケットを生成して送信し、受信側でＣＲＣ符号によるエラー検出を行う方法、例えば高速シリアルインターフェイス規格のＰＣＩ-ｅｘｐｒｅｓｓ（登録商標）が知られている（例えば、非特許文献１参照。）。
【０００３】
また、ＰＣＩ-ｅｘｐｒｅｓｓをはじめとする通信方式では、ＤＣバランスを確保するために、８ビットを１０ビットに変換して伝送する８Ｂ１０Ｂ変換方式が採用されている（例えば、特許文献１参照。）。
【０００４】
この８Ｂ１０Ｂ変換方式による伝送路でエラーが発生すると別の符号に化ける可能性があるが、上述したＰＣＩ-ｅｘｐｒｅｓｓの通信方式では、ヘッダ情報を冗長化するため、ヘッダ情報にＣＲＣ符号を付加することで、伝送効率が低下するという問題がある。一方、ヘッダ情報にＣＲＣ符号を付加しなければ、伝送路でエラーが発生してもそれを検出することができず、パケットを誤って認識するおそれがある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開昭５９−１００５６号公報
【非特許文献】
【０００６】
【非特許文献１】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）エラーの２種類がある。例えば、図３Ａにおいて、送信データのＤ００．０を８ビットから１０ビットに変換したとき、先頭の１ビット目にエラーが発生した場合は、Ｄ００．２の受信データに変換される。また、送信データＤ００．０を８ビットから１０ビットに変換したとき、先頭から３ビット目にエラーが発生した場合は、変換テーブルに対応するデータが存在していないためにＮＩＴエラーとなる。
【００３３】
図４は、図３Ａ、図３Ｅ、図３Ｈの誤りパターンを送信データと受信データとの関係で表わした表である。同図中、◎印は正しい受信データを示し、○印は１ビットのエラーが発生した受信データを示す。送信データとしてＤｘｘ．０を送信した場合、図３Ａから分かるように、受信データとしてＤｘｘ．０、Ｄｘｘ．１、Ｄｘｘ．２、Ｄｘｘ．５、Ｄｘｘ．６を受信する可能性がある。送信データとしてＤｘｘ．４を送信した場合、図３Ｅから分かるように、受信データとしてＤｘｘ．１、Ｄｘｘ．２、Ｄｘｘ．３、Ｄｘｘ．４、Ｄｘｘ．５、Ｄｘｘ．６を受信する可能性がある。送信データとしてＤｘｘ．７を送信した場合、図３Ｈから分かるように、受信データとしてＤｘｘ．１、Ｄｘｘ．２、Ｄｘｘ．３、Ｄｘｘ．５、Ｄｘｘ．６、Ｄｘｘ．７を受信する可能性がある。
【００３４】
シーケンスＩＤ１１２として、送信パケット１００を第２の送受信装置４に送信した際に伝送による１ビット誤りが発生した場合でも、正しいシーケンスＩＤ１１２に訂正可能な符号、具体的には予め定められた複数の符号、例えばＤ０．０〜Ｄ３１．０（図３Ａ参照）、Ｄ０．４〜Ｄ３１．４（図３Ｅ参照）、Ｄ０．７〜Ｄ３１．７（図３Ｈ）の９６通りのＩＤを、予め定められた順序、例えば数字の少ない符号から多い符号へと使用し、これを繰り返して使用する。これにより、８Ｂ１０Ｂ変換部２３Ａ、２３Ｂ、２３ＣがシーケンスＩＤ１１２を８ビットから１０ビットに変換し送信したとき、１０ビットのうちいずれかの１ビットにエラーが発生した場合、誤ったシーケンスＩＤとして受信することなく、エラーを検出でき、正しいシーケンスＩＤ１１２に訂正することができる。なお、再送時のシーケンスＩＤにＮＩＴエラーが発生した場合は訂正できないので、再再送を要求する。
【００３５】
（本実施の形態の動作）
次に、本実施の形態の動作の一例を、図６を参照し、図５のフローチャートにしたがって説明する。図５（ａ）は、第２の送受信装置４の通常モードにおける動作の一例を示し、図５（ｂ）は、第２の送受信装置４の再送モードにおける動作の一例を示す。図６（ａ）は、通常モードの具体例を示し、図６（ｂ）は、再送モードの具体例を示し、図６（ｃ）は、再送モードの他の具体例を示す。
【００３６】
第１の送受信装置２のＣＲＣ生成部２２１Ａ、２２１Ｂ、２２１Ｃは、入出力制御部２１から出力された転送すべきデータ１２０に対してＣＲＣの演算を行ってＣＲＣ符号１３０を生成する。送信パケット生成部２２は、転送すべきデータ１２０にヘッダ１１０、ＣＲＣ符号１３０及びエンドパケット１４０を付加して送信パケット１００を生成する。このとき、シーケンスＩＤ１１２には、図３Ａ、図３Ｅ、図３Ｈに示すＤ０．０〜Ｄ３１．０、Ｄ０．４〜Ｄ３１．４、Ｄ０．７〜Ｄ３１．７を繰り返して使用する。
【００３７】
送信パケット生成部２２が生成した送信パケット１００は、８Ｂ１０Ｂ変換部２３Ａ、２３Ｂ、２３Ｃにより８ビットのデータが１０ビットのデータに８Ｂ１０Ｂ変換され、パラレル／シリアル変換部２４Ａ、２４Ｂ、２４Ｃによりパラレルデータからシリアルデータに変換され、第１の送受信装置２から伝送路３の第１レーン３１、第２レーン３２及び第３レーン３３を介して第２の送受信装置４にシリアル伝送される。
【００３８】
（１）通常モード
第２の送受信装置４は、送信パケット１００を受信するまではアイドル信号のＫ２８．５を受信している（Ｓ１）。第２の送受信装置４が送信パケット１００を受信すると、送信パケット１００は、シリアル／パラレル変換部４１Ａ、４１Ｂ、４１Ｃによりシリアルデータからパラレルデータに変換され、１０Ｂ８Ｂ変換部４２Ａ、４２Ｂ、４２Ｃにより１０ビットのデータが８ビットのデータに８Ｂ１０Ｂ逆変換されてＩＤエラー検出訂正部４３Ａ、４３Ｂ、４３Ｃに入力される。
【００３９】
ＩＤエラー検出訂正部４３Ａ、４３Ｂ、４３Ｃは、アイドル以外の信号を受信した場合、その信号がヘッダ１１０であるか否かを判断する（Ｓ２）。受信したアイドル以外の信号がスタートパケット１１１を示すＫ２８．２の符号であるため、ヘッダ１１０であると判断すると（Ｓ２：Ｙｅｓ）、ヘッダ１１０に含まれるシーケンスＩＤ１１２を受信する（Ｓ３）。
【００４０】
ＩＤエラー検出訂正部４３Ａ、４３Ｂ、４３Ｃは、シーケンスＩＤ１１２がエラー（ＩＤエラー）か否かを判断し（Ｓ４）、ＩＤエラーを検出した場合は（Ｓ４：有）、正しいシーケンスＩＤ１１２に訂正し（Ｓ５）、送信パケット１００をＣＲＣチェック部４４Ａ、４４Ｂ、４４Ｃに出力する（Ｓ６）。ＩＤエラーを検出しない場合は（Ｓ４：無）、シーケンスＩＤ１１２を訂正することなく送信パケット１００をＣＲＣチェック部４４Ａ、４４Ｂ、４４Ｃに出力する（Ｓ６）。
【００４１】
例えば、図６（ａ）に示すように、シーケンスＩＤ１１２として、第１の送受信装置２から「Ｄ２７．０」、「Ｄ２８．０」、「Ｄ２９．０」、「Ｄ３０．０」、「Ｄ３１．０」、「Ｄ０．４」、「Ｄ１．４」、「Ｄ２．４」、「Ｄ３．４」を送信したとする。第２の送受信装置４は、３番目に受信した送信パケット１００のシーケンスＩＤ１１２が伝送中のエラーによって「Ｄ２９．０」ではなく、「Ｄ２９．２」となった場合、ＩＤエラー検出訂正部４３Ａ、４３Ｂ、４３Ｃは、「Ｄ２９．２」が予め定められた順序ではないと判断し、正しい符号の「２９．０」に訂正する。また、第２の送受信装置４は、７番目に受信した送信パケット１００のシーケンスＩＤ１１２が伝送中のエラーによって「Ｄ１．４」ではなく、「Ｄ１．３」となった場合、ＩＤエラー検出訂正部４３Ａ、４３Ｂ、４３Ｃは、「Ｄ１．３」が予め定められた順序ではないと判断し、正しい符号の「１．４」に訂正する。
【００４２】
ＣＲＣチェック部４４Ａ、４４Ｂ、４４Ｃは、ＣＲＣ符号１３０についてＣＲＣチェックを行い（Ｓ７）、ＣＲＣエラーが無ければ（Ｓ７：無）、正常受信としてシーケンスＩＤ１１２をメモリに書き込み（Ｓ８）、データ１２０をマージして入出力制御部４８に出力する。ＣＲＣエラーがあれば（Ｓ７：有）、前回書き込まれたシーケンスＩＤ１１２をメモリから読み出し、ＣＲＣエラーである旨及び読み出したシーケンスＩＤをインクリメントしたシーケンスＩＤ１１２を再送要求部４５に通知する。
【００４３】
再送要求部４５は、通知されたシーケンスＩＤ１１２の送信パケットを再送要求するために、再送要求用のパケットを生成し、再送モードに移行する（Ｓ９）。再送要求用のパケットは、８Ｂ１０Ｂ変換部４６により８ビットのデータが１０ビットのデータに８Ｂ１０Ｂ変換され、パラレル／シリアル変換部４７によりパラレルデータからシリアルデータに変換され、第２の送受信装置４から伝送路３の第４レーン３４を介して第１の送受信装置２にシリアル伝送される。
【００４４】
例えば、図６（ｂ）に示すように、シーケンスＩＤ１１２として、第１の送受信装置２からは「Ｄ２９．０」、「Ｄ３０．０」、「Ｄ３１．０」を送信したとする。第２の送受信装置４は、１番目に受信した送信パケット１００のＣＲＣ符号１３０が伝送中のエラーによってＣＲＣエラーとなった場合は、再送要求部４５は、「Ｄ２９．０」について再送要求を行う。
【００４５】
第１の送受信装置２が再送要求用のパケットを受信すると、その再送要求用のパケットは、シリアル／パラレル変換部２５によりシリアルデータからパラレルデータに変換され、１０Ｂ８Ｂ変換部２６により１０ビットのデータが８ビットのデータに８Ｂ１０Ｂ逆変換され、再送制御部２７に入力される。
【００４６】
再送制御部２７は、第２の送受信装置４から第１の送受信装置２に送信された再送要求用のパケットからシーケンスＩＤ１１２の抽出を行う。再送制御部２７は、抽出したシーケンスＩＤ１１２について入出力制御部２１に対して再送を指示する。
【００４７】
入出力制御部２１は、再送用として送信バッファに保持していた、シーケンスＩＤ１１２に該当するデータを送信パケット生成部２２へ送る。送信パケット生成部２２は、再送指示され送信パケットを生成する。再度生成された送信パケット１００は、前述したように、８Ｂ１０Ｂ変換され、パラレル／シリアル変換された後、第２の送受信装置４に送信される。
【００４８】
（３）再送モード
第２の送受信装置４は、送信パケット１００を受信するまではアイドル信号のＫ２８．５を受信している（Ｓ１１）。第２の送受信装置４が送信パケット１００を受信すると、送信パケット１００は、シリアル／パラレル変換部４１Ａ、４１Ｂ、４１Ｃによりシリアルデータからパラレルデータに変換され、１０Ｂ８Ｂ変換部４２Ａ、４２Ｂ、４２Ｃにより１０ビットのデータが８ビットのデータに８Ｂ１０Ｂ逆変換されてＩＤエラー検出訂正部４３Ａ、４３Ｂ、４３Ｃに入力される。
【００４９】
ＩＤエラー検出訂正部４３Ａ、４３Ｂ、４３Ｃは、アイドル以外の信号を受信した場合、その信号がヘッダ１１０であるか否かを判断する（Ｓ１２）。受信したアイドル以外の信号がスタートパケット１１１を示すＫ２８．２の符号であるため、ヘッダ１１０であると判断すると（Ｓ１２：Ｙｅｓ）、ヘッダ１１０に含まれるシーケンスＩＤ１１２を受信する（Ｓ１３）。
【００５０】
ＩＤエラー検出訂正部４３Ａ、４３Ｂ、４３Ｃは、シーケンスＩＤ１１２がＩＤエラーか否かを判断し（Ｓ１４）、ＩＤエラーを検出した場合、それがＮＩＴエラー以外のＩＤエラーのときは、正しいシーケンスＩＤ１１２に訂正し（Ｓ１５）、受信したシーケンスＩＤ１１２が再送ＩＤ（不正常受信のときにメモリに書き込んだシーケンスＩＤ１１２）と一致するか否かを判断する（Ｓ１６）。再送ＩＤと一致するときは（Ｓ１６：Ｙｅｓ）、送信パケット１００をＣＲＣチェック部４４Ａ、４４Ｂ、４４Ｃに出力する（Ｓ１７）。ＩＤエラーを検出しない場合は（Ｓ１４：無）、再送ＩＤか否かを判断する（Ｓ１６）。
【００５１】
ＣＲＣチェック部４４Ａ、４４Ｂ、４４Ｃは、ＣＲＣ符号１３０についてＣＲＣチェックを行い（Ｓ１８）、ＣＲＣエラーが無ければ（Ｓ１８：無）、正常受信としてシーケンスＩＤ１１２をメモリに書き込み（Ｓ１９）、データ１２０をマージして入出力制御部４８に出力する。ＣＲＣエラーがあれば（Ｓ１８：有）、前回書き込まれたシーケンスＩＤ１１２をメモリから読み出し、ＣＲＣエラーである旨及び読み出したシーケンスＩＤをインクリメントしたシーケンスＩＤ１１２を再送要求部４５に通知する。
【００５２】
再送要求部４５は、通知されたシーケンスＩＤ１１２の送信パケットを再々送要求するために、再送要求用のパケットを生成し、再々送モードに移行する（Ｓ２０）。再送要求用のパケットは、８Ｂ１０Ｂ変換部４６により８ビットのデータが１０ビットのデータに８Ｂ１０Ｂ変換され、パラレル／シリアル変換部４７によりパラレルデータからシリアルデータに変換され、第２の送受信装置４から伝送路３の第４レーン３４を介して第１の送受信装置２にシリアル伝送される。
【００５３】
上記ステップＳ１４でＩＤエラーを検出した場合、それがＮＩＴエラーのときは、シーケンスＩＤ１１２をメモリに書き込み、再々送モードに移行する（Ｓ２０）。また、上記ステップＳ１６で再送ＩＤと一致していないときは（Ｓ１６：Ｎｏ）、データを破棄する（Ｓ２１）。
【００５４】
例えば、図６（ｂ）に示すように、最初の「Ｄ２９．０」のＣＲＣ符号１３０がＣＲＣエラーのために、再送要求を行った場合、第２の送受信装置４のＩＤエラー検出訂正部４３Ａ、４３Ｂ、４３Ｃは、再送要求を行った「Ｄ２９．０」が届く前に届いた「Ｄ３０．０」、「Ｄ３１．０」の送信パケット１００は、破棄する。受信した「Ｄ２９．４」は「Ｄ２９．０」に訂正する。
【００５５】
また、例えば、図６（ｃ）に示すように、シーケンスＩＤ１１２として、第１の送受信装置２からは「Ｄ２９．０」、「Ｄ３０．０」、「Ｄ３１．０」を送信したとする。第２の送受信装置４は、１番目に受信した送信パケット１００のＣＲＣ符号１３０が伝送中のエラーによってＣＲＣエラーとなった場合は、再送要求部４５は、「Ｄ２９．０」について再送要求を行う。
【００５６】
ＩＤエラー検出訂正部４３Ａ、４３Ｂ、４３Ｃは、再送要求を行った「Ｄ２９．０」が届く前に届いた「Ｄ３０．０」の送信パケット１００は、破棄する。次に受信した送信パケット１００のシーケンスＩＤ１１２はＮＩＴエラーであるので、再送要求した「Ｄ２９．０」の可能性もあるため、「Ｄ２９．０」について再々送要求を行う。
【００５７】
第１の送受信装置２は、最初の再送要求に応じて「Ｄ２９．０」、「Ｄ３０．０」を送信した後、再び「Ｄ２９．０」の再送要求に応じて「Ｄ２９．０」、「Ｄ３１．０」を送信する。
【００５８】
第２の送受信装置４のＩＤエラー検出訂正部４３Ａ、４３Ｂ、４３Ｃは、「Ｄ２９．０」、「Ｄ３０．０」を受信した後、再び「Ｄ２９．０」を受信したので、「Ｄ２９．０」は破棄して次に「Ｄ３１．０」は受信する。
【００５９】
（比較例）
図７は、比較例のタイミングチャートである。図７（ａ）の場合、第１の送受信装置２からシーケンスＩＤを番号順にデータを送信する。仮にＮｏ．３でＣＲＣエラーが起こると、第２の送受信装置４からＮｏ．３について再送要求を行う。第１の送受信装置２では再送要求を受けて、Ｎｏ．３からシーケンスＩＤの順に送り直すことで、第２の送受信装置４は、正しい順序でデータを受信することができる。
【００６０】
図７（ｂ）の場合、第１の送受信装置２からシーケンスＩＤを番号順にデータを送信する。仮にＮｏ．３でＣＲＣエラーが起こると、第２の送受信装置４からＮｏ．３について再送要求を行う。第１の送受信装置２では再送要求を受けて、Ｎｏ．３からシーケンスＩＤの順に送り直すが、再送要求が届く直前のＮｏ．５の伝送によりシーケンスＩＤがＮｏ．３に化けた場合、第２の送受信装置４ではそれが再送されたＮｏ．３と区別することができず、Ｎｏ．５のデータをＮｏ．３と間違って受信する可能性がある。そして正しいＮｏ．３は破棄される。
【００６１】
図７（ｃ）の場合、仮にＮｏ．３でＣＲＣエラーが起こると、第２の送受信装置４からＮｏ．３について再送要求を行う。第１の送受信装置２では再送要求を受けてＮｏ．３からシーケンスＩＤの順に送り直すが、このシーケンスＩＤがＮｏ．６に化けた場合、再送要求が届く前に連続して送信されたＮｏ．６と区別がつかないため破棄される。
【００６２】
図７（ｄ）の場合、仮にＮｏ．３でＣＲＣエラー及びＮＩＴエラーが起こると、第２の送受信装置４からＮｏ．３について再送要求を行う。第１の送受信装置２では再送要求を受けてＮｏ．３からシーケンスＩＤの順に送り直すが、このシーケンスＩＤがＮＩＴエラーを起こした場合、Ｎｏ．３の再々送要求を行う。
【００６３】
図７（ｅ）の場合、仮にＮｏ．３でＣＲＣエラー及びＮＩＴエラーが起こると、第２の送受信装置４からＮｏ．３について再送要求を行う。第１の送受信装置２では再送要求を受けてＮｏ．３からシーケンスＩＤの順に送り直すが、再送要求が届く直前のシーケンスＩＤがＮＩＴエラーを起こした場合、Ｎｏ．３の再々送要求を行う。再々送要求のＮｏ．３がＮｏ．５に化けた場合、受信側では連続して送られてきたＮｏ．５と区別できず間違って受信する可能性がある。
【００６４】
図７（ｂ）、（ｃ）のように、伝送エラーが起こりシーケンスＩＤが他の数字に化けると正しく信号が送れないという問題が発生する。また、シーケンスＩＤがＮＩＴエラーを起こした場合は、再送要求・再々送要求で対応できるが、ＩＤ化けを起こした場合はシーケンスＩＤを誤認識する可能性がある。
【００６５】
（第１の実施の形態の効果）
第１の実施の形態によれば、パケットの識別情報として、パケットの識別情報に１ビット誤りが発生してもそれを認識可能な符号を用いているので、誤り検出符号を用いない構成において、パケットの識別情報に１ビット誤りが発生した場合でも、それを検出して訂正することが可能になる。また、再送再々送におけるＩＤ化けを起こしても正しいシーケンスＩＤに訂正することができる。ただし、ＮＩＴエラーの場合は訂正できない。
【００６６】
［第２の実施の形態］
図８は、本発明の第２の実施の形態に係る送信パケットの構成例を示す図である。なお、送受信システムは図１と同様であるので、図示を省略する。
【００６７】
本実施の形態の送信パケット１００は、第１の実施の形態とは、ヘッダ１１０の構成が異なり、他は同様に構成されている。すなわち、本実施の実施の形態の送信パケット１００は、固定長とし、例えば、２バイトのヘッダ１１０、２５６バイトのデータ１２０、２バイトのＣＲＣ符号１３０、及び送信パケット１００の終わりを示す２バイトのエンドパケット１４０から構成されている。ヘッダ１１０は、送信パケット１００の始まりを示すＫ符号、例えばＫ２８．２からなるスタートパケット１１１、３ビットからなるレーン番号１１３、５ビットからなるシーケンスＩＤ１１２から構成されている。レーン番号１１３及びシーケンスＩＤ１１２は、送信パケットの識別情報の一例である。
【００６８】
シーケンスＩＤ１１２として、送信パケット１００を第２の送受信装置４に送信した際に伝送による１ビット誤りが発生した場合でも、正しいシーケンスＩＤ１１２に訂正可能な符号、具体的には予め定められた複数の符号、例えば、第１レーン３１はＤ０．０〜Ｄ３１．０（図３Ａ参照）、第２レーン３２はＤ０．４〜Ｄ３１．４（図３Ｅ参照）、第３レーン３３はＤ０．７〜Ｄ３１．７（図３Ｈ）のＩＤの下位５ビットを、予め定められた順序、例えば数字の少ない符号から多い符号へと使用し、これを繰り返して使用する。
【００６９】
第１レーン３１に対応するＩＤエラー検出訂正部４３Ａは、誤ってＤｘｘ．１、Ｄｘｘ．２、Ｄｘｘ．５、Ｄｘｘ．６を受信する可能性があるが、この場合はＤｘｘ．０に訂正する。
【００７０】
第２レーン３２に対応するＩＤエラー検出訂正部４３Ｂは、誤ってＤｘｘ．１、Ｄｘｘ．２、Ｄｘｘ．３、Ｄｘｘ．５、Ｄｘｘ．６を受信する可能性があるが、この場合はＤｘｘ．４に訂正する。
【００７１】
第３レーン３３に対応するＩＤエラー検出訂正部４３Ｃは、誤ってＤｘｘ．１、Ｄｘｘ．２、Ｄｘｘ．３、Ｄｘｘ．５、Ｄｘｘ．６を受信する可能性があるが、この場合はＤｘｘ．７に訂正する。
【００７２】
（第２の実施の形態の効果）
第２の実施の形態によれば、ヘッダにレーン番号を含めているので、単一のＩＤエラー検出訂正部でＩＤエラーの検出及び訂正が可能になる。
【００７３】
以上、本発明の実施の形態を説明したが、本発明は上記の実施の形態に限定されるものではなく、本発明の要旨を変更しない範囲内で種々の変形、実施が可能である。
【００７４】
また、例えば本発明の要旨を変更しない範囲内で、実施の形態の構成要素の一部を省くことが可能であり、実施の形態のフローにおいて、ステップの追加、削除、変更、入替え等が可能である。また、上記実施の形態で用いたプログラムをＣＤ−ＲＯＭ等の記録媒体に記憶して提供することもできる。
【符号の説明】
【００７５】
１…送受信システム、２…第１の送受信装置、３…伝送路、４…第２の送受信装置、２１…入出力制御部、２２…送信パケット生成部（生成手段）、２３Ａ、２３Ｂ、２３Ｃ…８Ｂ１０Ｂ変換部（送信手段）、２４Ａ、２４Ｂ、２４Ｃ…パラレル／シリアル変換部（送信手段）、２５…シリアル／パラレル変換部（受信手段）、２６…１０Ｂ８Ｂ変換部（受信手段）、２７…再送制御部、３１…第１レーン、３２…第２レーン、３３…第３レーン、３４…第４レーン、４１Ａ、４１Ｂ、４１Ｃ…シリアル／パラレル変換部（受信手段）、４２Ａ、４２Ｂ、４２Ｃ…１０Ｂ８Ｂ変換部（受信手段）、４３Ａ、４３Ｂ、４３Ｃ…エラー検出訂正部（訂正手段）、４４Ａ、４４Ｂ、４４Ｃ…ＣＲＣチェック部（検出手段）、４５…再送要求部、４６…８Ｂ１０Ｂ変換部（送信手段）、４７…パラレル／シリアル変換部（送信手段）、４８…入出力制御部、１００…送信パケット、１１０…ヘッダ、１１１…スタートパケット、１１２…シーケンスＩＤ（パケットの識別情報）、１１３…レーン番号、１２０…データ、１３０…ＣＲＣ符号、１４０…エンドパケット、２２１Ａ、２２１Ｂ、２２１Ｃ…ＣＲＣ生成部
【図１】
0005982869.tif 000002
【図２】
0005982869.tif 000003
【図３Ａ】
0005982869.tif 000004
【図３Ｂ】
0005982869.tif 000005
【図３Ｃ】
0005982869.tif 000006
【図３Ｄ】
0005982869.tif 000007
【図３Ｅ】
0005982869.tif 000008
【図３Ｆ】
0005982869.tif 000009
【図３Ｇ】
0005982869.tif 000010
【図３Ｈ】
0005982869.tif 000011
【図４】
0005982869.tif 000012
【図５】
0005982869.tif 000013
【図６】
0005982869.tif 000014
【図７】
0005982869.tif 000015
【図８】
0005982869.tif 000016