JP6172355B2 - 送受信システム及びプログラム - Google Patents

送受信システム及びプログラム Download PDF

Info

Publication number
JP6172355B2
JP6172355B2 JP2016143212A JP2016143212A JP6172355B2 JP 6172355 B2 JP6172355 B2 JP 6172355B2 JP 2016143212 A JP2016143212 A JP 2016143212A JP 2016143212 A JP2016143212 A JP 2016143212A JP 6172355 B2 JP6172355 B2 JP 6172355B2
Authority
JP
Japan
Prior art keywords
transmission
packet
bits
data
conversion
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016143212A
Other languages
English (en)
Other versions
JP2016197904A (ja
Inventor
浜田 勉
勉 浜田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP2016143212A priority Critical patent/JP6172355B2/ja
Publication of JP2016197904A publication Critical patent/JP2016197904A/ja
Application granted granted Critical
Publication of JP6172355B2 publication Critical patent/JP6172355B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Detection And Prevention Of Errors In Transmission (AREA)

Description

本発明は、送受信システム及びプログラムに関する。
ヘッダ情報と送信すべきデータのそれぞれにCRC(Cyclic Redundancy Check)符号を付加してパケットを生成して送信し、受信側でCRC符号によるエラー検出を行う方法、例えば高速シリアルインターフェイス規格のPCI-express(登録商標)が知られている(例えば、非特許文献1参照。)。
また、PCI-expressをはじめとする通信方式では、DCバランスを確保するために、8ビットを10ビットに変換して伝送する8B10B変換方式が採用されている(例えば、特許文献1参照。)。
この8B10B変換方式による伝送路でエラーが発生すると別の符号に化ける可能性があるが、上述したPCI-expressの通信方式では、ヘッダ情報を冗長化するため、ヘッダ情報にCRC符号を付加することで、伝送効率が低下するという問題がある。一方、ヘッダ情報にCRC符号を付加しなければ、伝送路でエラーが発生してもそれを検出することができず、パケットを誤って認識するおそれがある。
特開昭59−10056号公報
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)
本発明の目的は、誤り検出符号を用いない構成において、パケットの識別情報に1ビット誤りが発生した場合に、それを検出または検出・訂正することが可能な送受信システム及びプログラムを提供することにある。
本発明は、以下の送受信システム及びプログラムを提供する。
[1]誤り検出符号が付加された送信データに、パケットの識別情報を付加して送信用のパケットを生成する手段であって、前記パケットの識別情報として、前記送信用のパケットを送信した際に伝送による1ビット誤りが発生した場合に、検出可能な符号を用いる生成手段と、前記送信用のパケットをビット数の変換を行って送信する送信手段とを有する第1の送受信装置と、
前記第1の送受信装置の前記送信手段により送信された前記送信用のパケットのビット数の逆変換を行う受信手段と、前記受信手段によるビット数の逆変換後の前記送信用のパケットの前記パケットの識別情報の誤りを検出し、訂正する訂正手段とを有する第2の送受信装置とを備え、
前記生成手段は、前記パケットの識別情報として、上位奇数ビット下位奇数ビットからなるデータを上位偶数ビット下位偶数ビットにビット数の変換を行った際に1ビット誤りが発生しても、それをビット数の逆変換を行ったとき、下位奇数ビットは変動しない複数の符号を予め定められた順序で使用し、
前記訂正手段は、前記複数の符号を送信データとし、前記送信データをビット数の変換を行った際に1ビット誤りが発生したとき、それをビット数の逆変換を行った複数の符号を受信データとした変換テーブル、及び前記予め定められた順序に基づいて前記パケットの識別情報の誤りを検出し、訂正する送受信システム。
[2]第1の送受信装置のコンピュータに、
誤り検出符号が付加された送信データに、パケットの識別情報を付加して送信用のパケットを生成する手段であって、前記パケットの識別情報として、前記送信用のパケットを送信した際に伝送による1ビット誤りが発生した場合に、検出可能な符号を用いる生成手段と、前記送信用のパケットをビット数の変換を行って送信する送信手段として機能させ、
第2の送受信装置のコンピュータに、
前記第1の送受信装置の前記送信手段により送信された前記送信用のパケットのビット数の逆変換を行う受信手段と、前記受信手段によるビット数の逆変換後の前記送信用のパケットの前記パケットの識別情報の誤りを検出し、訂正する訂正手段として機能させ、
前記生成手段は、前記パケットの識別情報として、上位奇数ビット下位奇数ビットからなるデータを上位偶数ビット下位偶数ビットにビット数の変換を行った際に1ビット誤りが発生しても、それをビット数の逆変換を行ったとき、下位奇数ビットは変動しない複数の符号を予め定められた順序で使用し、
前記訂正手段は、前記複数の符号を送信データとし、前記送信データをビット数の変換を行った際に1ビット誤りが発生したとき、それをビット数の逆変換を行った複数の符号を受信データとした変換テーブル、及び前記予め定められた順序に基づいて前記パケットの識別情報の誤りを検出し、訂正するプログラム。
請求項1、2に係る発明によれば、誤り検出符号を用いない構成において、パケットの識別情報に1ビット誤りが発生した場合に、それを検出または検出・訂正することが可能になる。また、本構成を採用しない場合と比べてパケットの識別情報として使用する符号の数を少なくすることができる。
図1は、本発明の第1の実施の形態に係る送受信システムの構成例を示すブロック図である。 図2は、第1の実施の形態に係る送信パケットの構成例を示す図である。 図3Aは、10パターンの誤りに対応して、8B10B逆変換したパターンを示す図である。 図3Bは、10パターンの誤りに対応して、8B10B逆変換したパターンを示す図である。 図3Cは、10パターンの誤りに対応して、8B10B逆変換したパターンを示す図である。 図3Dは、10パターンの誤りに対応して、8B10B逆変換したパターンを示す図である。 図3Eは、10パターンの誤りに対応して、8B10B逆変換したパターンを示す図である。 図3Fは、10パターンの誤りに対応して、8B10B逆変換したパターンを示す図である。 図3Gは、10パターンの誤りに対応して、8B10B逆変換したパターンを示す図である。 図3Hは、10パターンの誤りに対応して、8B10B逆変換したパターンを示す図である。 図4は、図3A、図3E、図3Hの誤りパターンを送信データと受信データとの関係で表わした表である。 図5(a)は、第2の送受信装置の通常モードにおける動作の一例を示し、図5(b)は、第2の送受信装置の再送モードにおける動作の一例を示すフローチャートである。 図6(a)は、通常モードの具体例を示し、図6(b)は、再送モードの具体例を示し、図6(c)は、再送モードの他の具体例を示すタイミングチャートである。 図7(a)〜(e)は、比較例のタイミングチャートである。 図8は、本発明の第2の実施の形態に係る送信パケットの構成例を示す図である。
以下、本発明の実施の形態について図面を参照して説明する。なお、各図中、実質的に同一の機能を有する構成要素については、同一の符号を付してその重複した説明を省略する。
[第1の実施の形態]
図1は、本発明の第1の実施の形態に係る送受信システムの構成例を示すブロック図である。この送受信システム1は、第1の送受信装置2と第2の送受信装置4とを、情報をシリアルに送受信するための伝送路3により接続したものである。伝送路3は、第1レーン31、第2レーン32、第3レーン33及び第4レーン34から構成されている。
(第1の送受信装置の構成)
第1の送受信装置2は、入出力制御部21と、第1レーン31、第2レーン32及び第3レーン33に対応して設けられた送信パケット生成部22、8B10B変換部(8B10B)23A、23B、23C及びパラレル/シリアル変換部(P/S)24A、24B24Cと、第4レーン34に対応して設けられたシリアル/パラレル変換部(S/P)25、10B8B変換部(10B8B)26及び再送制御部27とを備える。なお、送信パケット生成部22は、生成手段の一例である。8B10B変換部23A、23B、23C及びパラレル/シリアル変換部24A、24B、24Cは、送信手段の一例である。シリアル/パラレル変換部25及び10B8B変換部26は、受信手段の一例である。
(第2の送受信装置の構成)
第2の送受信装置4は、第1レーン31、第2レーン32及び第3レーン33に対応して設けられたシリアル/パラレル変換部(S/P)41A、41B、41C、10B8B変換部(10B8B)42A、42B、42C、IDエラー検出訂正部43A、43B、43C及びCRCチェック部44A、44B、44Cと、第4レーン34に対応して設けられた再送要求部45、8B10B変換部(8B10B)46及びパラレル/シリアル変換部(P/S)47と、入出力制御部48とを備える。なお、シリアル/パラレル変換部41A、41B、41C及び10B8B変換部42A、42B、42Cは、受信手段の一例である。IDエラー検出訂正部43A、43B、43Cは、訂正手段の一例である。CRCチェック部44A、44B、44Cは、検出手段の一例である。8B10B変換部46及びパラレル/シリアル変換部47は、送信手段の一例である。
(伝送路)
伝送路3は、本実施の形態では、電気信号を伝送する電気ケーブルを用いるが、光信号を伝送する光ケーブルを用いてもよい。光ケーブルを用いる場合、送信側及び受信側それぞれに光電変換部を設ける必要がある。伝送路3を構成する各レーン31、32、33、34は、2本の線により構成され、差動信号が伝送される差動線路でもよい。伝送路3を構成するレーン数は、4本に限られない。
(第1及び第2の送受信装置の各部の構成)
第1の送受信装置2の入出力制御部21は、例えば、再生装置との間でデータの授受を行う。第2の送受信装置4の入出力制御部48は、例えば、映像表示装置との間でデータの授受を行う。また、第1の送受信装置2の入出力制御部21は、送信したデータを予め定められた時間保持する送信バッファ(図示省略)を備えている。なお、送信したデータをACK(肯定応答)を受信するまで保持してもよい。再生装置と映像表示装置のみでなく、画像情報生成装置と画像形成装置との間でデータの授受を行うことも可能である。
第1の送受信装置2の送信パケット生成部22は、第1レーン31、第2レーン32及び第3レーン33に対応して設けられたCRC生成部221A、221B、221Cを備え、転送すべきデータ(送信データ)、例えば画像情報をパケット化して送信パケットを生成する。送信パケット生成部22は、送信パケットを特定するシーケンスIDとして、送信パケットを送信した際に伝送による1ビット誤りが発生した場合に、誤りを検出可能な符号を用いる。そして、送信パケット生成部22は、シーケンスIDとして、予め定められた複数の符号を予め定められて順序で使用する。なお、送信パケットの詳細については後述する。送信パケットは、送信用のパケットの一例である。
第1の送受信装置2の再送制御部27は、第2の送受信装置4から第1の送受信装置2に送信された再送要求に基づいて、入出力制御部21に対して再送を指示する。
第1の送受信装置2の8B10B変換部23A、23B、23C、及び第2の送受信装置4の8B10B変換部46は、8ビットのデータをビット数の変換として8B10B変換し、10ビット単位でデータを出力する。第1の送受信装置2の10B8B変換部26、及び第2の送受信装置4の10B8B変換部42A、42B、42Cは、変換テーブルを用いて10ビットデータをビット数の逆変換として8B10B逆変換(10B8B変換)し、8ビット単位でデータを出力する。8B10B変換は、送信データが適度に0と1が含まれるようにDCバランス調整を行うものであり、8B10Bとして知れられる方式では、8ビット毎のデータの塊を予め決められた0と1の割合が50%に近い10ビットのデータに変換することによってDCバランスを調整している。
第1の送受信装置2のパラレル/シリアル変換部24A、24B、24C、及び第2の送受信装置4のパラレル/シリアル変換部47は、パラレルデータをシリアルデータに変換(P/S変換)して送出するものであり、電源ON時の初期設定として信号波形の直流成分を減衰させるディエンファシス(de-emphasis)、信号波形の高周波成分を強調させるプリエンファシス(pre-emphasis)、差動電圧等を設定するためのレジスタを備えている。
第1の送受信装置2のシリアル/パラレル変換部25、及び第2の送受信装置4のシリアル/パラレル変換部41A、41B、41Cは、シリアルデータをパラレルデータに変換(S/P変換)するものであり、電源ON時の初期設定として伝送路3で生じた信号波形の劣化を補正するイコライザ(Equalizer)等を設定するためのレジスタを備えている。
IDエラー検出訂正部43A、43B、43Cは、通常モードでは、順次送信される送信パケットを特定するシーケンスIDとして、予め定められた複数の符号、例えばD0.0〜D31.0、D0.4〜D31.4、D0.7〜D31.7が予め定められた順序で使用されていない場合は、シーケンスIDエラー(以下「IDエラー」という。)として検出し、予め定められた複数の符号、及び予め定められた順序に基づいて正しいシーケンスIDに訂正する。再送モード、再々送モードにおけるIDエラー検出訂正部43A、43B、43Cの動作については後述する。
CRCチェック部44A、44B、44Cは、第1の送受信装置2から送信された送信パケットからデータの抽出を行うとともに、CRCチェックを行い、CRCエラーが無ければ、データをマージして入出力制御部48に出力し、CRCエラーがあれば、その旨を送信パケットを特定するシーケンスIDとともに再送要求部45に通知する。
再送要求部45は、CRCチェック部44A、44B、44CからCRCエラーの通知を受けると、再送要求用のパケットを生成し、第1の送受信装置2に送信する。再送要求用のパケットは、再送要求用であることを示すヘッダと、再送を要求するシーケンスIDとを含む。
第1及び第2の送受信装置2、4の構成部分は、それぞれ一部又は全部を再構成可能回路(FPGA:Field Programmable Gate Array)、特定用途向け集積回路(ASIC:Application Specific Integrated Circuit)等のハードウエア回路によって構成してもよい。また、第1及び第2の送受信装置2、4の(P/SおよびS/Pを除く)構成部分は、第1及び第2の送受信装置2、4における各コンピュータにおいて後述する図5に示すようなプログラムに従ってCPUが動作することで実現してもよい。
(送信パケットの構造)
図2は、第1の送受信装置2の送信パケット生成部22が生成する送信パケットの構成例を示す。送信パケット100は、固定長とし、例えば、2バイトのヘッダ110、256バイトのデータ120、2バイトのCRC符号130、及び送信パケット100の終わりを示す2バイトのエンドパケット140から構成されている。ヘッダ110は、送信パケット100の始まりを示すK符号、例えばK28.2からなるスタートパケット111、及び8ビットからなるシーケンスID112から構成されている。シーケンスID112は、送信パケット100の識別情報の一例である。CRC符号130は、誤り検出符号の一例である。
CRC生成部221A、221B、221Cは、転送すべきデータに対してCRCの演算を行ってCRC符号130を生成する。送信パケット生成部22は、転送すべきデータ120に、ヘッダ110、CRC生成部221A、221B、221Cにて生成されたCRC符号130、及びエンドパケット140を付加して送信パケット100を生成する。
(エラーのパターン)
次に、シーケンスID112及びCRC符号130のエラーのパターンについて図3を参照して説明する。図3A〜図3Hは、10パターンの誤りに対応して、8B10B逆変換した受信データを示す。図3中、左側の列のD00.0〜D31.7は、8B10B変換前の送信データを示し、1bit・・・10bitは、エラーが発生した先頭からのビットの位置を示す。
8ビットのデータを送信する場合、8B10B変換後に10ビットのデータとなる。この10ビットのデータが1ビット誤りを起こす可能性は10パターンある。データをDxx.yとすると、xxは0〜31の下位5ビットに対応し、yは0〜7の上位3ビットに対応する。
エラーには、シーケンスID112におけるエラー(IDエラー)と、CRC符号130におけるエラー(以下「CRCエラー」という。)とがある。また、エラーには、変換テーブルに対応するデータが存在するが、別の符号に化けたエラーと、変換テーブルに対応するデータが存在しないNIT(Not In Table)エラーの2種類がある。例えば、図3Aにおいて、送信データのD00.0を8ビットから10ビットに変換したとき、先頭の1ビット目にエラーが発生した場合は、D00.2の受信データに変換される。また、送信データD00.0を8ビットから10ビットに変換したとき、先頭から3ビット目にエラーが発生した場合は、変換テーブルに対応するデータが存在していないためにNITエラーとなる。
図4は、図3A、図3E、図3Hの誤りパターンを送信データと受信データとの関係で表わした表である。同図中、◎印は正しい受信データを示し、○印は1ビットのエラーが発生した受信データを示す。送信データとしてDxx.0を送信した場合、図3Aから分かるように、受信データとしてDxx.0、Dxx.1、Dxx.2、Dxx.5、Dxx.6を受信する可能性がある。送信データとしてDxx.4を送信した場合、図3Eから分かるように、受信データとしてDxx.1、Dxx.2、Dxx.3、Dxx.4、Dxx.5、Dxx.6を受信する可能性がある。送信データとしてDxx.7を送信した場合、図3Hから分かるように、受信データとしてDxx.1、Dxx.2、Dxx.3、Dxx.5、Dxx.6、Dxx.7を受信する可能性がある。
シーケンスID112として、送信パケット100を第2の送受信装置4に送信した際に伝送による1ビット誤りが発生した場合でも、正しいシーケンスID112に訂正可能な符号、具体的には予め定められた複数の符号、例えばD0.0〜D31.0(図3A参照)、D0.4〜D31.4(図3E参照)、D0.7〜D31.7(図3H)の96通りのIDを、予め定められた順序、例えば数字の少ない符号から多い符号へと使用し、これを繰り返して使用する。これにより、8B10B変換部23A、23B、23CがシーケンスID112を8ビットから10ビットに変換し送信したとき、10ビットのうちいずれかの1ビットにエラーが発生した場合、誤ったシーケンスIDとして受信することなく、エラーを検出でき、正しいシーケンスID112に訂正することができる。なお、再送時のシーケンスIDにNITエラーが発生した場合は訂正できないので、再再送を要求する。
(本実施の形態の動作)
次に、本実施の形態の動作の一例を、図6を参照し、図5のフローチャートにしたがって説明する。図5(a)は、第2の送受信装置4の通常モードにおける動作の一例を示し、図5(b)は、第2の送受信装置4の再送モードにおける動作の一例を示す。図6(a)は、通常モードの具体例を示し、図6(b)は、再送モードの具体例を示し、図6(c)は、再送モードの他の具体例を示す。
第1の送受信装置2のCRC生成部221A、221B、221Cは、入出力制御部21から出力された転送すべきデータ120に対してCRCの演算を行ってCRC符号130を生成する。送信パケット生成部22は、転送すべきデータ120にヘッダ110、CRC符号130及びエンドパケット140を付加して送信パケット100を生成する。このとき、シーケンスID112には、図3A、図3E、図3Hに示すD0.0〜D31.0、D0.4〜D31.4、D0.7〜D31.7を繰り返して使用する。
送信パケット生成部22が生成した送信パケット100は、8B10B変換部23A、23B、23Cにより8ビットのデータが10ビットのデータに8B10B変換され、パラレル/シリアル変換部24A、24B、24Cによりパラレルデータからシリアルデータに変換され、第1の送受信装置2から伝送路3の第1レーン31、第2レーン32及び第3レーン33を介して第2の送受信装置4にシリアル伝送される。
(1)通常モード
第2の送受信装置4は、送信パケット100を受信するまではアイドル信号のK28.5を受信している(S1)。第2の送受信装置4が送信パケット100を受信すると、送信パケット100は、シリアル/パラレル変換部41A、41B、41Cによりシリアルデータからパラレルデータに変換され、10B8B変換部42A、42B、42Cにより10ビットのデータが8ビットのデータに8B10B逆変換されてIDエラー検出訂正部43A、43B、43Cに入力される。
IDエラー検出訂正部43A、43B、43Cは、アイドル以外の信号を受信した場合、その信号がヘッダ110であるか否かを判断する(S2)。受信したアイドル以外の信号がスタートパケット111を示すK28.2の符号であるため、ヘッダ110であると判断すると(S2:Yes)、ヘッダ110に含まれるシーケンスID112を受信する(S3)。
IDエラー検出訂正部43A、43B、43Cは、シーケンスID112がエラー(IDエラー)か否かを判断し(S4)、IDエラーを検出した場合は(S4:有)、正しいシーケンスID112に訂正し(S5)、送信パケット100をCRCチェック部44A、44B、44Cに出力する(S6)。IDエラーを検出しない場合は(S4:無)、シーケンスID112を訂正することなく送信パケット100をCRCチェック部44A、44B、44Cに出力する(S6)。
例えば、図6(a)に示すように、シーケンスID112として、第1の送受信装置2から「D27.0」、「D28.0」、「D29.0」、「D30.0」、「D31.0」、「D0.4」、「D1.4」、「D2.4」、「D3.4」を送信したとする。第2の送受信装置4は、3番目に受信した送信パケット100のシーケンスID112が伝送
中のエラーによって「D29.0」ではなく、「D29.2」となった場合、IDエラー検出訂正部43A、43B、43Cは、「D29.2」が予め定められた順序ではないと判断し、正しい符号の「29.0」に訂正する。また、第2の送受信装置4は、7番目に受信した送信パケット100のシーケンスID112が伝送中のエラーによって「D1.4」ではなく、「D1.3」となった場合、IDエラー検出訂正部43A、43B、43Cは、「D1.3」が予め定められた順序ではないと判断し、正しい符号の「1.4」に訂正する。
CRCチェック部44A、44B、44Cは、CRC符号130についてCRCチェックを行い(S7)、CRCエラーが無ければ(S7:無)、正常受信としてシーケンスID112をメモリに書き込み(S8)、データ120をマージして入出力制御部48に出力する。CRCエラーがあれば(S7:有)、前回書き込まれたシーケンスID112をメモリから読み出し、CRCエラーである旨及び読み出したシーケンスIDをインクリメントしたシーケンスID112を再送要求部45に通知する。
再送要求部45は、通知されたシーケンスID112の送信パケットを再送要求するために、再送要求用のパケットを生成し、再送モードに移行する(S9)。再送要求用のパケットは、8B10B変換部46により8ビットのデータが10ビットのデータに8B10B変換され、パラレル/シリアル変換部47によりパラレルデータからシリアルデータに変換され、第2の送受信装置4から伝送路3の第4レーン34を介して第1の送受信装置2にシリアル伝送される。
例えば、図6(b)に示すように、シーケンスID112として、第1の送受信装置2からは「D29.0」、「D30.0」、「D31.0」を送信したとする。第2の送受信装置4は、1番目に受信した送信パケット100のCRC符号130が伝送中のエラーによってCRCエラーとなった場合は、再送要求部45は、「D29.0」について再送要求を行う。
第1の送受信装置2が再送要求用のパケットを受信すると、その再送要求用のパケットは、シリアル/パラレル変換部25によりシリアルデータからパラレルデータに変換され、10B8B変換部26により10ビットのデータが8ビットのデータに8B10B逆変換され、再送制御部27に入力される。
再送制御部27は、第2の送受信装置4から第1の送受信装置2に送信された再送要求用のパケットからシーケンスID112の抽出を行う。再送制御部27は、抽出したシーケンスID112について入出力制御部21に対して再送を指示する。
入出力制御部21は、再送用として送信バッファに保持していた、シーケンスID112に該当するデータを送信パケット生成部22へ送る。送信パケット生成部22は、再送指示され送信パケットを生成する。再度生成された送信パケット100は、前述したように、8B10B変換され、パラレル/シリアル変換された後、第2の送受信装置4に送信される。
(3)再送モード
第2の送受信装置4は、送信パケット100を受信するまではアイドル信号のK28.5を受信している(S11)。第2の送受信装置4が送信パケット100を受信すると、送信パケット100は、シリアル/パラレル変換部41A、41B、41Cによりシリアルデータからパラレルデータに変換され、10B8B変換部42A、42B、42Cにより10ビットのデータが8ビットのデータに8B10B逆変換されてIDエラー検出訂正部43A、43B、43Cに入力される。
IDエラー検出訂正部43A、43B、43Cは、アイドル以外の信号を受信した場合、その信号がヘッダ110であるか否かを判断する(S12)。受信したアイドル以外の信号がスタートパケット111を示すK28.2の符号であるため、ヘッダ110であると判断すると(S12:Yes)、ヘッダ110に含まれるシーケンスID112を受信する(S13)。
IDエラー検出訂正部43A、43B、43Cは、シーケンスID112がIDエラーか否かを判断し(S14)、IDエラーを検出した場合、それがNITエラー以外のIDエラーのときは、正しいシーケンスID112に訂正し(S15)、受信したシーケンスID112が再送ID(不正常受信のときにメモリに書き込んだシーケンスID112)と一致するか否かを判断する(S16)。再送IDと一致するときは(S16:Yes)、送信パケット100をCRCチェック部44A、44B、44Cに出力する(S17)。IDエラーを検出しない場合は(S14:無)、再送IDか否かを判断する(S16)
CRCチェック部44A、44B、44Cは、CRC符号130についてCRCチェックを行い(S18)、CRCエラーが無ければ(S18:無)、正常受信としてシーケンスID112をメモリに書き込み(S19)、データ120をマージして入出力制御部48に出力する。CRCエラーがあれば(S18:有)、前回書き込まれたシーケンスID112をメモリから読み出し、CRCエラーである旨及び読み出したシーケンスIDをインクリメントしたシーケンスID112を再送要求部45に通知する。
再送要求部45は、通知されたシーケンスID112の送信パケットを再々送要求するために、再送要求用のパケットを生成し、再々送モードに移行する(S20)。再送要求用のパケットは、8B10B変換部46により8ビットのデータが10ビットのデータに8B10B変換され、パラレル/シリアル変換部47によりパラレルデータからシリアルデータに変換され、第2の送受信装置4から伝送路3の第4レーン34を介して第1の送受信装置2にシリアル伝送される。
上記ステップS14でIDエラーを検出した場合、それがNITエラーのときは、シーケンスID112をメモリに書き込み、再々送モードに移行する(S20)。また、上記ステップS16で再送IDと一致していないときは(S16:No)、データを破棄する(S21)。
例えば、図6(b)に示すように、最初の「D29.0」のCRC符号130がCRCエラーのために、再送要求を行った場合、第2の送受信装置4のIDエラー検出訂正部43A、43B、43Cは、再送要求を行った「D29.0」が届く前に届いた「D30.0」、「D31.0」の送信パケット100は、破棄する。受信した「D29.4」は「D29.0」に訂正する。
また、例えば、図6(c)に示すように、シーケンスID112として、第1の送受信装置2からは「D29.0」、「D30.0」、「D31.0」を送信したとする。第2の送受信装置4は、1番目に受信した送信パケット100のCRC符号130が伝送中のエラーによってCRCエラーとなった場合は、再送要求部45は、「D29.0」について再送要求を行う。
IDエラー検出訂正部43A、43B、43Cは、再送要求を行った「D29.0」が届く前に届いた「D30.0」の送信パケット100は、破棄する。次に受信した送信パケット100のシーケンスID112はNITエラーであるので、再送要求した「D29.0」の可能性もあるため、「D29.0」について再々送要求を行う。
第1の送受信装置2は、最初の再送要求に応じて「D29.0」、「D30.0」を送信した後、再び「D29.0」の再送要求に応じて「D29.0」、「D31.0」を送信する。
第2の送受信装置4のIDエラー検出訂正部43A、43B、43Cは、「D29.0」、「D30.0」を受信した後、再び「D29.0」を受信したので、「D29.0」は破棄して次に「D31.0」は受信する。
(比較例)
図7は、比較例のタイミングチャートである。図7(a)の場合、第1の送受信装置2からシーケンスIDを番号順にデータを送信する。仮にNo.3でCRCエラーが起こると、第2の送受信装置4からNo.3について再送要求を行う。第1の送受信装置2では再送要求を受けて、No.3からシーケンスIDの順に送り直すことで、第2の送受信装置4は、正しい順序でデータを受信することができる。
図7(b)の場合、第1の送受信装置2からシーケンスIDを番号順にデータを送信する。仮にNo.3でCRCエラーが起こると、第2の送受信装置4からNo.3について再送要求を行う。第1の送受信装置2では再送要求を受けて、No.3からシーケンスIDの順に送り直すが、再送要求が届く直前のNo.5の伝送によりシーケンスIDがNo.3に化けた場合、第2の送受信装置4ではそれが再送されたNo.3と区別することができず、No.5のデータをNo.3と間違って受信する可能性がある。そして正しいNo.3は破棄される。
図7(c)の場合、仮にNo.3でCRCエラーが起こると、第2の送受信装置4からNo.3について再送要求を行う。第1の送受信装置2では再送要求を受けてNo.3からシーケンスIDの順に送り直すが、このシーケンスIDがNo.6に化けた場合、再送要求が届く前に連続して送信されたNo.6と区別がつかないため破棄される。
図7(d)の場合、仮にNo.3でCRCエラー及びNITエラーが起こると、第2の送受信装置4からNo.3について再送要求を行う。第1の送受信装置2では再送要求を受けてNo.3からシーケンスIDの順に送り直すが、このシーケンスIDがNITエラーを起こした場合、No.3の再々送要求を行う。
図7(e)の場合、仮にNo.3でCRCエラー及びNITエラーが起こると、第2の送受信装置4からNo.3について再送要求を行う。第1の送受信装置2では再送要求を受けてNo.3からシーケンスIDの順に送り直すが、再送要求が届く直前のシーケンスIDがNITエラーを起こした場合、No.3の再々送要求を行う。再々送要求のNo.3がNo.5に化けた場合、受信側では連続して送られてきたNo.5と区別できず間違って受信する可能性がある。
図7(b)、(c)のように、伝送エラーが起こりシーケンスIDが他の数字に化けると正しく信号が送れないという問題が発生する。また、シーケンスIDがNITエラーを起こした場合は、再送要求・再々送要求で対応できるが、ID化けを起こした場合はシーケンスIDを誤認識する可能性がある。
(第1の実施の形態の効果)
第1の実施の形態によれば、パケットの識別情報として、パケットの識別情報に1ビット誤りが発生してもそれを認識可能な符号を用いているので、誤り検出符号を用いない構成において、パケットの識別情報に1ビット誤りが発生した場合でも、それを検出して訂正することが可能になる。また、再送再々送におけるID化けを起こしても正しいシーケンスIDに訂正することができる。ただし、NITエラーの場合は訂正できない。
[第2の実施の形態]
図8は、本発明の第2の実施の形態に係る送信パケットの構成例を示す図である。なお、送受信システムは図1と同様であるので、図示を省略する。
本実施の形態の送信パケット100は、第1の実施の形態とは、ヘッダ110の構成が
異なり、他は同様に構成されている。すなわち、本実施の実施の形態の送信パケット100は、固定長とし、例えば、2バイトのヘッダ110、256バイトのデータ120、2バイトのCRC符号130、及び送信パケット100の終わりを示す2バイトのエンドパケット140から構成されている。ヘッダ110は、送信パケット100の始まりを示すK符号、例えばK28.2からなるスタートパケット111、3ビットからなるレーン番号113、5ビットからなるシーケンスID112から構成されている。レーン番号113及びシーケンスID112は、送信パケットの識別情報の一例である。
シーケンスID112として、送信パケット100を第2の送受信装置4に送信した際に伝送による1ビット誤りが発生した場合でも、正しいシーケンスID112に訂正可能な符号、具体的には予め定められた複数の符号、例えば、第1レーン31はD0.0〜D31.0(図3A参照)、第2レーン32はD0.4〜D31.4(図3E参照)、第3レーン33はD0.7〜D31.7(図3H)のIDの下位5ビットを、予め定められた順序、例えば数字の少ない符号から多い符号へと使用し、これを繰り返して使用する。
第1レーン31に対応するIDエラー検出訂正部43Aは、誤ってDxx.1、Dxx.2、Dxx.5、Dxx.6を受信する可能性があるが、この場合はDxx.0に訂正する。
第2レーン32に対応するIDエラー検出訂正部43Bは、誤ってDxx.1、Dxx.2、Dxx.3、Dxx.5、Dxx.6を受信する可能性があるが、この場合はDxx.4に訂正する。
第3レーン33に対応するIDエラー検出訂正部43Cは、誤ってDxx.1、Dxx.2、Dxx.3、Dxx.5、Dxx.6を受信する可能性があるが、この場合はDxx.7に訂正する。
(第2の実施の形態の効果)
第2の実施の形態によれば、ヘッダにレーン番号を含めているので、単一のIDエラー検出訂正部でIDエラーの検出及び訂正が可能になる。
以上、本発明の実施の形態を説明したが、本発明は上記の実施の形態に限定されるものではなく、本発明の要旨を変更しない範囲内で種々の変形、実施が可能である。
また、例えば本発明の要旨を変更しない範囲内で、実施の形態の構成要素の一部を省くことが可能であり、実施の形態のフローにおいて、ステップの追加、削除、変更、入替え等が可能である。また、上記実施の形態で用いたプログラムをCD−ROM等の記録媒体に記憶して提供することもできる。
1…送受信システム、2…第1の送受信装置、3…伝送路、4…第2の送受信装置、21…入出力制御部、22…送信パケット生成部(生成手段)、23A、23B、23C…8B10B変換部(送信手段)、24A、24B、24C…パラレル/シリアル変換部(送信手段)、25…シリアル/パラレル変換部(受信手段)、26…10B8B変換部(受信手段)、27…再送制御部、31…第1レーン、32…第2レーン、33…第3レーン、34…第4レーン、41A、41B、41C…シリアル/パラレル変換部(受信手段)、42A、42B、42C…10B8B変換部(受信手段)、43A、43B、43C…エラー検出訂正部(訂正手段)、44A、44B、44C…CRCチェック部(検出手段)、45…再送要求部、46…8B10B変換部(送信手段)、47…パラレル/シリアル変換部(送信手段)、48…入出力制御部、100…送信パケット、110…ヘッダ、111…スタートパケット、112…シーケンスID(パケットの識別情報)、113…レーン番号、120…データ、130…CRC符号、140…エンドパケット、221A、221B、221C…CRC生成部

Claims (2)

  1. 誤り検出符号が付加された送信データに、パケットの識別情報を付加して送信用のパケットを生成する手段であって、前記パケットの識別情報として、前記送信用のパケットを送信した際に伝送による1ビット誤りが発生した場合に、検出可能な符号を用いる生成手段と、前記送信用のパケットをビット数の変換を行って送信する送信手段とを有する第1の送受信装置と、
    前記第1の送受信装置の前記送信手段により送信された前記送信用のパケットのビット数の逆変換を行う受信手段と、前記受信手段によるビット数の逆変換後の前記送信用のパケットの前記パケットの識別情報の誤りを検出し、訂正する訂正手段とを有する第2の送受信装置とを備え、
    前記生成手段は、前記パケットの識別情報として、上位奇数ビット下位奇数ビットからなるデータを上位偶数ビット下位偶数ビットにビット数の変換を行った際に1ビット誤りが発生しても、それをビット数の逆変換を行ったとき、下位奇数ビットは変動しない複数の符号を予め定められた順序で使用し、
    前記訂正手段は、前記複数の符号を送信データとし、前記送信データをビット数の変換を行った際に1ビット誤りが発生したとき、それをビット数の逆変換を行った複数の符号を受信データとした変換テーブル、及び前記予め定められた順序に基づいて前記パケットの識別情報の誤りを検出し、訂正する送受信システム。
  2. 第1の送受信装置のコンピュータに、
    誤り検出符号が付加された送信データに、パケットの識別情報を付加して送信用のパケットを生成する手段であって、前記パケットの識別情報として、前記送信用のパケットを送信した際に伝送による1ビット誤りが発生した場合に、検出可能な符号を用いる生成手段と、前記送信用のパケットをビット数の変換を行って送信する送信手段として機能させ、
    第2の送受信装置のコンピュータに、
    前記第1の送受信装置の前記送信手段により送信された前記送信用のパケットのビット数の逆変換を行う受信手段と、前記受信手段によるビット数の逆変換後の前記送信用のパケットの前記パケットの識別情報の誤りを検出し、訂正する訂正手段として機能させ、
    前記生成手段は、前記パケットの識別情報として、上位奇数ビット下位奇数ビットからなるデータを上位偶数ビット下位偶数ビットにビット数の変換を行った際に1ビット誤りが発生しても、それをビット数の逆変換を行ったとき、下位奇数ビットは変動しない複数の符号を予め定められた順序で使用し、
    前記訂正手段は、前記複数の符号を送信データとし、前記送信データをビット数の変換を行った際に1ビット誤りが発生したとき、それをビット数の逆変換を行った複数の符号を受信データとした変換テーブル、及び前記予め定められた順序に基づいて前記パケットの識別情報の誤りを検出し、訂正するプログラム。
JP2016143212A 2016-07-21 2016-07-21 送受信システム及びプログラム Active JP6172355B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016143212A JP6172355B2 (ja) 2016-07-21 2016-07-21 送受信システム及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016143212A JP6172355B2 (ja) 2016-07-21 2016-07-21 送受信システム及びプログラム

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2012042242A Division JP5982869B2 (ja) 2012-02-28 2012-02-28 送受信システム及びプログラム

Publications (2)

Publication Number Publication Date
JP2016197904A JP2016197904A (ja) 2016-11-24
JP6172355B2 true JP6172355B2 (ja) 2017-08-02

Family

ID=57358633

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016143212A Active JP6172355B2 (ja) 2016-07-21 2016-07-21 送受信システム及びプログラム

Country Status (1)

Country Link
JP (1) JP6172355B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9738649B2 (en) 2006-03-21 2017-08-22 Janssen Pharmaceutica N.V. Tetrahydro-pyrimidoazepines as modulators of TRPV1

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101945668B1 (ko) * 2018-04-12 2019-02-08 강순렬 영상 소통 서비스 구축 시스템

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4486739A (en) * 1982-06-30 1984-12-04 International Business Machines Corporation Byte oriented DC balanced (0,4) 8B/10B partitioned block transmission code
JP4540652B2 (ja) * 2006-10-18 2010-09-08 株式会社イシダ 符号化装置
JP5454224B2 (ja) * 2010-02-25 2014-03-26 ソニー株式会社 記憶装置および記憶システム
EP2398205A1 (en) * 2010-06-21 2011-12-21 Canon Kabushiki Kaisha Interfacing devices, adapted to communicate via a parallel interface with an intermediate interface having fewer lines

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9738649B2 (en) 2006-03-21 2017-08-22 Janssen Pharmaceutica N.V. Tetrahydro-pyrimidoazepines as modulators of TRPV1

Also Published As

Publication number Publication date
JP2016197904A (ja) 2016-11-24

Similar Documents

Publication Publication Date Title
US11347580B2 (en) Method of encoding data
JP5233165B2 (ja) データ伝送装置
JP5987319B2 (ja) 送受信システム及びプログラム
US8103942B2 (en) Data transmission apparatus, data transmission device, data reception device and data transmission system
JP2010522457A (ja) 無線通信チャネルを通した非圧縮されたビデオ伝送方法およびシステム
JP5982869B2 (ja) 送受信システム及びプログラム
KR102516027B1 (ko) 헤더 처리 장치, 프로세서 및 전자장치
JP5256855B2 (ja) データ転送装置、データ転送方制御方法
JP2015027100A (ja) パケット通信の伝送制御方法及びパケット通信システム
JP6172355B2 (ja) 送受信システム及びプログラム
JP4079940B2 (ja) データ伝送方式及び方法
CN114095117A (zh) 一种以太网错误帧的重传方法及相关装置
JP2013179476A5 (ja)
JP2013255054A (ja) 送受信システム及びプログラム
US20160147706A1 (en) System and method for improving the efficiency of a serial interface protocol
WO2007036128A1 (fr) Interface bts-bsc et procede pour detecter l'interface
JP2017050734A (ja) シリアル通信装置、通信システム及び通信方法
JP2008198137A (ja) データ処理装置、データ処理方法、データ送信装置、データ送信方法、データ処理システム、制御プログラムおよびそれを記録したコンピュータ読み取り可能な記録媒体
Bansal et al. Analysis of Sliding Window Protocol for Connected Node
CN114064533A (zh) 一种rs-485信号极性的识别方法
JP2006148446A (ja) データ通信装置
JPH0973373A (ja) パラレルインターフェース
CN116260553A (zh) 数据重传的方法、装置及系统
WO2015064288A1 (ja) 無線通信装置、無線通信システム、および、これらにおける無線通信方法
JPH1153272A (ja) データ転送方式

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170525

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170606

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170619

R150 Certificate of patent or registration of utility model

Ref document number: 6172355

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350