JP4902665B2 - データ伝送装置および伝送符号の生成方法 - Google Patents

データ伝送装置および伝送符号の生成方法 Download PDF

Info

Publication number
JP4902665B2
JP4902665B2 JP2008544050A JP2008544050A JP4902665B2 JP 4902665 B2 JP4902665 B2 JP 4902665B2 JP 2008544050 A JP2008544050 A JP 2008544050A JP 2008544050 A JP2008544050 A JP 2008544050A JP 4902665 B2 JP4902665 B2 JP 4902665B2
Authority
JP
Japan
Prior art keywords
bit
data
bits
pattern
value
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
JP2008544050A
Other languages
English (en)
Other versions
JPWO2008059588A1 (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.)
Alaxala Networks Corp
Original Assignee
Alaxala Networks 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 Alaxala Networks Corp filed Critical Alaxala Networks Corp
Publication of JPWO2008059588A1 publication Critical patent/JPWO2008059588A1/ja
Application granted granted Critical
Publication of JP4902665B2 publication Critical patent/JP4902665B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/19Single error correction without using particular properties of the cyclic codes, e.g. Hamming codes, extended or generalised Hamming codes

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Dc Digital Transmission (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Description

本発明は、データ通信路を通じてデータ伝送を送信機、および受信機に関し、更に詳しくは、データ伝送中に生じたビット誤りを訂正する誤り訂正器、および伝送路での特性を向上する符号化/復号化器に関する。
たとえば、ネットワーク装置やパーソナルコンピュータなどにおける通信インタフェースや高速シリアルインタフェースを用いたデータ伝送技術として、8B10B伝送符号を用いたものがある(特許文献1参照)。
これは、0や1の出現数、および連続個数が不確定なシリアルデータが入力されたとき、そのデータを8ビット間隔に分割し、前記の0と1の出現数を比較的短いビット間隔(数十ビット)で等しくし、且つ連続個数を最大5個までに保障する技術である。
このデータ伝送技術の場合、0と1の出現数を等しくすることでDCバランスを保障できる。また、ビットの連続数を有限個に保障する(有限ランレングス保障)ことで、伝送路上での信号品質の劣化を抑えることができる。
米国特許第4,486,739号明細書
ところが、上記のような8B10B伝送符号によるデータ伝送技術では、次のような問題点があることが本発明者により見い出された。
前述した特許文献1における8B10B符号には誤り訂正機能が搭載されていない。今般の高速シリアル伝送では、外来ノイズからの影響が顕著となる。然るに、8B10B符号を搭載した送信/受信機では、伝送路に対するノイズ混入などの要因によってビット誤りが生じた場合、受信側で8B10B復号を行う際に、ランニングディスパリティエラーや復号エラー(受信したビット列に対応する元データが存在しない)といった結果から誤りが生じたことを検出できるのみである。
上記の場合、誤りが含まれた受信データは廃棄するしかなく、再度同じデータを送るように、別個の手段によって送信側に要求する必要がある。或いは8B10B符号で符号化を行った送信データに対して、さらに誤り訂正符号による符号化を行うことで、受信側で誤り訂正を行う必要がある。
何れにしても、単純なビット誤りのために、より多くの通信帯域を必要とするため、伝送効率(元来送信するデータ量と、実際に伝送路に送信するデータ量の比率)が低下するという問題があった。
本発明の目的は、高速化シリアルインタフェースを用いたデータ伝送において、伝送符号本来の機能であるDCバランスや有限ランレングスの保障だけでなく、伝送符号化方式の1つである8B10B符号と伝送効率を同一としながらも、ビット誤り訂正機能を実現する技術を提供することにある。
本発明の前記ならびにそのほかの目的と新規な特徴については、本明細書の記述および添付図面から明らかになるであろう。
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。
本発明は、伝送路で接続された送信機、および受信機により構成され、データと制御情報とからなる送信データをシリアルビット列データに変換して伝送するデータ伝送装置であって、該送信機は、入力されたデータの0と1の出現数がほぼ等しくなるようにデータを攪拌することでDCバランスを保障するスクランブラ部と、攪拌されたデータのシリアルビット列の最大連続個数を保障するビットデータを付与し、制御情報をある固定値のビットデータに変換するビット列変換部と、送信データを一定の間隔に分割し、データブロックに変換する同期タイミング生成部と、データブロックに対して誤り訂正のための検査データを計算し、データブロックの一部に付与する検査ビット計算付与部とを備え、該受信機は、データブロックを受信し、データブロックに付与された検査ビットを基に誤り検査、および誤り訂正を行う誤りビット計算/訂正部と、データブロックのビット列から制御データの固定値ビットパターンを抽出して制御情報に変換し、データと制御情報とを選別するビット列変換部と、データ攪拌されたデータを攪拌前のデータに再変換するデスクランブラ部とを備えたものである。
また、本発明は、送信機に入力される送信データが、8ビットのビットデータ列(A,B,C,D,E,F,G,Hビット)と、該8ビットデータが、データ、または制御情報のいずれであるかを示す制御ビット(Kビット)とからなり、スクランブラ部は、送信データがデータであれば、8ビットのビットデータ列(A,B,C,D,E,F,G,Hビット)を0と1の出現数が等しく、あるいはほぼ等しくなるようにデータを攪拌して結果を8ビットのビットパターン(a,b,c,d,f,g,h,jビット)とし、ビット列変換部は、8ビットのビットパターン(a,b,c,d,f,g,h,jビット)のうち、値が1であるビットの個数がもし0個〜3個であれば1の値を、5個〜8個であれば0の値を、4個であればシリアルビット列で直前のビット(dまたはfビット)の反転値を示す1ビットデータ(eビット)を付与して9ビットのビットパターン(a,b,c,d,e,f,g,h,jビット)に変換することで、DCバランス、および保障連続ビットデータの最大連続個数を保障し、入力データが制御データであれば、8ビットのデータ列が示す値に対応した10ビットの固定ビットパターン(a,b,c,d,e,i,f,g,h,jビット)に変換することでDCバランスおよび連続ビットデータの最大連続個数を保障するものである。
さらに、本発明は、検査ビット計算付与部が、データから変換された9ビットのビットパターン(a,b,c,d,e,f,g,h,jビット)、および制御情報から変換された10ビットの固定ビットパターン(a,b,c,d,e,i,f,g,h,jビット)から1ビットを除く9ビットの固定ビットパターンにおいて、ビットパターンの連続する6つの組み合わせを一つの符号ブロック(a0〜a5、b0〜b5、c0〜c5、d0〜d5、e0〜e5、f0〜f5、g0〜g5、h0〜h5、i0〜i5、j0〜j5ビット)として扱い、ブロックを構成する54ビットのビットパターンからなる情報語を基に6ビットの検査語を生成して、連続する6つのiビット(i0〜i5ビット)を付与した60ビットの符号ブロックを出力し、誤りビット計算部は、符号ブロックを受信し、54ビットの情報語と6ビットの検査語を基に誤り検出し、誤りビット訂正部は、誤りビット計算部が検出した誤りを訂正するものである。
また、本発明は、送信機に入力される送信データが、8ビットのビットデータ列(A,B,C,D,E,F,G,Hビット)と、該8ビットデータが、データ、または制御情報のいずれであるかを示す制御ビット(Kビット)とからなり、スクランブラ部は、送信データが制御情報であれば、8ビットのデータ列が示す値に対応した10ビットの固定ビットパターン(a,b,c,d,e,i,f,g,h,jビット)に変換することでDCバランスおよび連続ビットデータの最大連続個数を保障し、送信データがデータであれば、上記8ビットのビットデータ列(A,B,C,D,E,F,G,Hビット)を0と1の出現数が等しく或いはほぼ等しくなるようにデータを攪拌して結果を8ビットのビットパターン(a,b,c,d,f,g,h,jビット)とし、ビット列変換部は、攪拌した結果の8ビットのビットパターン(a,b,c,d,f,g,h,jビット)が、制御情報での変換時の10ビットの固定ビットパターンのうちの8ビット(a,b,c,d,f,g,h,jビット)と同値となる場合は、残りのビット(eビット)の値を10ビットの固定ビットパターンのビット(eビット)の反転値とし、攪拌した結果の8ビットのビットパターン(a,b,c,d,f,g,h,jビット)が、制御情報での変換時の10ビットの固定ビットパターンのうちの8ビット(a,b,c,d,f,g,h,jビット)と同値でない場合は、8ビットのビットパターン(a,b,c,d,f,g,h,jビット)のうち、値が1であるビットの個数が0個〜3個であれば1の値を、5個〜8個であれば0の値を、4個であればシリアルビット列で直前のビット(dまたはfビット)の反転値を示す1ビットデータ(eビット)を付与して9ビットのビットパターン(a,b,c,d,e,f,g,h,jビット)に変換することでDCバランス、保障連続ビットデータの最大連続個数、および復号を保障するものである。
さらに、本発明は、伝送路で接続された送信機、および受信機により、送信データをシリアルビット列データに変換して伝送する伝送符号の生成方法であって、該送信機に入力される送信データが8ビットのビットデータ列(A,B,C,D,E,F,G,Hビット)と、該8ビットデータが通常データか制御データかを示す制御ビット(Kビット)とで構成され、入力データがデータの際には、8ビットのビットデータ列(A,B,C,D,E,F,G,Hビット)を0と1の出現数が等しくあるいはほぼ等しくなるようにデータを攪拌して結果を8ビットのビットパターン(a,b,c,d,f,g,h,jビット)とし、且つ8ビットのビットパターン(a,b,c,d,f,g,h,jビット)のうち、値が1であるビットの個数が0個〜3個であれば1の値を、5個〜8個であれば0の値を、4個であればシリアルビット列で直前のビット(dまたはfビット)の反転値を示す1ビットデータ(eビット)を付与して9ビットのビットパターン(a,b,c,d,e,f,g,h,jビット)に変換することで、DCバランス、および保障連続ビットデータの最大連続個数を保障し、入力データが制御データの際には、8ビットのデータ列が示す値に対応した10ビットの固定ビットパターン(a,b,c,d,e,i,f,g,h,jビット)に変換することでDCバランスおよび連続ビットデータの最大連続個数を保障するものである。
また、本発明は、入力データがデータの際に変換された9ビットのビットパターン(a,b,c,d,e,f,g,h,jビット)、および制御情報から変換された10ビットの固定ビットパターン(a,b,c,d,e,i,f,g,h,jビット)から1ビットを除く9ビットの固定ビットパターンにおける連続する6つの組み合わせを一つの符号ブロック(a0〜a5、b0〜b5、c0〜c5、d0〜d5、e0〜e5、f0〜f5、g0〜g5、h0〜h5、i0〜i5、j0〜j5ビット)として扱い、ブロックを構成する54ビットのビットパターンからなる情報語を基に6ビットの検査語を生成して、連続する6つのiビット(i0〜i5ビット)を付与した60ビットの符号ブロックとして送信機から出力し、受信機が符号ブロックを受信した際には、54ビットの情報語と6ビットの検査語を基に誤り検出、および誤り訂正を行うものである。
さらに、本発明は、入力データが制御情報の際には、8ビットのデータ列が示す値に対応した10ビットの固定ビットパターン(a,b,c,d,e,i,f,g,h,jビット)に変換することでDCバランス、および連続ビットデータの最大連続個数を保障し、入力データがデータの場合には、8ビットのビットデータ列(A,B,C,D,E,F,G,Hビット)を0と1の出現数が等しく、あるいはほぼ等しくなるようにデータを攪拌して結果を8ビットのビットパターン(a,b,c,d,f,g,h,jビット)とし、攪拌した結果の8ビットのビットパターン(a,b,c,d,f,g,h,jビット)が、制御情報での変換時の10ビットの固定ビットパターンのうちの8ビット(a,b,c,d,f,g,h,jビット)と同値となる場合は、残りのビット(eビットの値を上記10ビットの固定ビットパターンのビットの反転値とし、攪拌した結果の8ビットのビットパターン(a,b,c,d,f,g,h,jビット)が、制御情報での変換時の10ビットの固定ビットパターンのうちの8ビット(a,b,c,d,f,g,h,jビット)と同値でない場合は、8ビットのビットパターン(a,b,c,d,f,g,h,jビット)のうち、値が1であるビットの個数が0個〜3個であれば1の値を、5個〜8個であれば0の値を、4個であればシリアルビット列で直前のビット(dまたはfビット)の反転値を示す1ビットデータ(eビット)を付与して9ビットのビットパターン(a,b,c,d,e,f,g,h,jビット)に変換することでDCバランス、保障連続ビットデータの最大連続個数、および復号を保障するものである。
また、本願のその他の発明の概要を簡単に示す。
8B10B符号と同一のビット幅、動作クロック、伝送効率とするためには、符号化器(送信機)の入力を8ビットの情報ビットと1ビットの制御ビットとし、出力を10ビットとし、復号化器(受信機)の入力を10ビット、出力を8ビットの情報ビットと1ビットの制御ビットという構成にする必要がある。
符号化器への入力は8ビットであるが、制御ビットが0の時は通常データを、1の時は制御データであることを示す。このとき、制御データは符号化時には10ビットの固定パターンに変換する。
望ましくは、10ビットの固定パターンは0と1の出現数を同じ個数(0を5個、1を5個)とするか、4:6と6:4のパターンを交互に出力すべきである。これにより、制御データに関してはDCバランスと有限ランレングスを保障する。
さらに、望ましくは、受信機側でシリアルビット列からパラレルビット列に変換する際に10ビットずつの区切りを発見しやすいように、10ビットの固定パターンには10ビット未満の特定のパターン(例えば”1100000”など)を共通に含むように構成する。
符号化器への入力が通常データであった場合、8ビットデータをデータ攪拌(即ちスクランブル)し、8ビットのスクランブルデータを作成する。その後、8ビットのスクランブルデータ毎に1ビットの付加データを付与する。
付加データは、8ビットのスクランブルデータに0が多く含まれるときには1の値とし、反対に1が多く含まれるときには0の値とし、0と1が同数の場合は、付加データ直前のビットが示す値の反転値とすることで、DCバランス特性を向上し、且つランレングス長が有限となる。
一般的に、スクランブラデータはランレングスが保障できず、最悪の場合、0、または1が長期に連続する可能性があるが、それを8ビット間隔に前記の付加データを挿入することで、0が連続するときには1が、1が連続するときには0が必ず挿入されるからである。
また、本発明では、送信機が出力したデータに対して、伝送中の様々な要因によって発生するビット誤りを受信後に誤り訂正できるように、出力するkシンボル(kビット)の情報語に対してn−kシンボル(n−kビット)の検査語を付与する。
即ち、情報語と検査語で構成される誤り訂正符号語はnシンボル(nビット)になる。検査語とは、誤り訂正符号の生成多項式から算出される冗長なビットデータであり、情報語(即ち送信したいデータ)と共に伝送し、且つ受信側で誤り検査計算をすることで、誤りが生じたビットを特定できる。
本発明では、符号語を60ビット(10ビット×6サイクル分)とし、そのうち情報語を54ビット、検査語を6ビットとする。なお、一般的には誤り訂正符号(ハミング符号等)は生成多項式から求められるため、その検査語は乱数に近い特性となる。
従って、入力データが乱数的な値であると仮定すれば、検査語自体も乱数のように分布するため、DCバランスを保障できるが、有限ランレングスは保障されない。
以上により、符号化後の連続パターンは、連続する9ビットの乱数毎に1ビットの付加データが挿入されることで分断される形態であるため、同値の連続個数は、どの様な入力に対しても最長10ビットで抑えることができ、有限ランレングスを保障できる。
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。
(1)8B10B符号化回路と、ビット幅、動作クロック、伝送効率を同一としながらも、ビット誤り訂正を可能にすることができる。
(2)また、DCバランスや有限ランレングスの保障という伝送符号の性能をも満たす符号変換を可能にすることができる。
本発明の一実施の形態によるデータ伝送装置の構成例を示すブロック図である。 図1のデータ伝送装置に用いられる制御データのビット変換の対応例を示す変換表の説明図である。 図1のデータ伝送装置による8ビットデータから10ビットデータへの変換例を示すフローチャートである。 図1のデータ伝送装置による符号ブロックのビット列フォーマットの説明図である。 図1のデータ伝送装置による10ビット−8ビット変換の一例を示すフローチャートである。
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
本実施の形態において、データ伝送装置は、図1に示すように、送信機1、伝送路2、および受信機3から構成されている、送信機1は、伝送路2を介して受信機3と接続されている。
送信すべき送信データ10は、送信機1に入力された後、所望のデータ変換を行われ、伝送路2に出力される。受信機3は受信したデータに対して所望のデータ変換を行った後、受信データ28として出力する。この送信データ10および受信データ28は、伝送路において生じるビット誤りがビット誤り訂正能力の範囲内で生じていれば、全く同一の値となる。
送信機1は、スクランブラ部14、ビット列変換部15、同期タイミング生成部16、検査ビット計算・付与部17、P/S変換部18により構成されている。送信機1において、送信データ10はスクランブラ部14に入力され、スクランブラ部14の出力はビット列変換部15に接続される。
ビット列変換部15の出力、および同期タイミング生成部16の出力は、検査ビット計算・付与部17に接続され、検査ビット計算・付与部17の出力は、P/S変換部18に接続され、P/S変換部18の出力は、伝送路2に接続される。
また、受信機3において、伝送路2は、S/P変換部20に接続されており、該S/P変換部20の出力はバイト同期部21に接続されている。バイト同期部21、ならびにブロック同期部24の出力は、誤りビット計算部(誤りビット計算/訂正部23に接続されている。
誤りビット計算部23の出力は、ブロック同期部24、および誤りビット訂正部(誤りビット計算/訂正部)25にそれぞれ接続されている。誤りビット訂正部25の出力は、ビット列変換部26に接続されており、ビット列変換部26の出力は、デスクランブラ部27に接続されている。そして、デスクランブラ部27は、受信データ28を出力する。
送信データ10は、主にデータパケットなどを構成する有効データからなっている。ただし、送信データ10がストリームデータ(絶え間なく入力されるデータ)である場合、有効データが途切れたときに入力される無効データも存在する。ここで、無効データとは「有効データが含まれない」の意であり、本送信機、および受信機やシステム全体の制御に用いる制御データ(制御情報)が含まれることがある。本発明による送信機1に入力される送信データ10は、有効データ、および無効データ(即ち制御データ)を区別する制御ビットを含むものとして定義する。
送信データ10は、まずスクランブラ部14に入力される。スクランブラ部14では、制御ビットを参照して、有効データ(即ちデータ符号)に対してのみビットデータの攪拌(スクランブル)を実施する。入力データが制御符号であった場合は、そのままの値で出力する。
スクランブルの方法は本発明では限定しないが、一例として生成多項式を用いた方式を示す。生成多項式(たとえば、X9 +X4 +1)によるスクランブラは、入力ビット列を理想的には0と1の出現確立が等しくなるように攪拌して出力する。
一般的には、このスクランブラによって伝送路のDCバランスは確保される。しかし、スクランブラへの入力値によっては0または1が連続的に出力されることがあり、有限ランレングス(0と1の連続個数が有限値であること)は完全には保障されない。
ビット列変換部15では、入力データを8ビット単位に分割し、その8ビットデータ(HGFEDCBAビットと表記)を10ビットデータ(abcdeifghjビットと表記)に変換する。
前述のように、入力データは有効データ、および制御データからなる。ビット列変換部15では、図3に示すシーケンスに従って、8ビットデータから10ビットデータへの変換を行う。
図3において、まず、ステートS1で前記入力データが有効データか制御データ(即ちKキャラクタ)であるか判断する。入力データが制御データであった場合はステートS2に移行し、有効データであった場合はステートS4に移行する。
ステートS2では、入力された8ビット値で一意に決定される固定パターンに変換する。前記固定パターンへの変換法則に制限はないが、変換後のパターンには同一のパターンがないものとする。
図2は、制御データのビット変換の対応例を示す変換表40の説明図である。ここで、図2の変換表40は、特許文献1に示される制御データ(文献中では、Special Character)の変換表と同一である。
変換表40は、8ビットの入力データと10ビットのデータとの対応を示している。たとえば、入力がHGFEDCBA=00011100(2進数)だった場合、出力は、abcdeifghj=0011110100(RD=0のとき)または1100001011(RD=1のとき)となる。RDとは過去に送信した0と1の個数のうち、どちらが多いかを示しており、RD=0ならば0が、RD=1ならば1が多かったことを示す。
DCバランスを考慮すれば、今回出力すべきパターンは、過去に0を多く送信していれば1を多く含むパターンを、1を多く送信していれば0を多く含むパターンを送信すべきである。
図2において、ステートS2の後、ステートS3では、変換した10ビットの値、および過去のRDから、0および1の既送信個数を算出し、RDの値を、0が多かった場合はRD=0へ、1が多かった場合はRD=1へと更新する。ステートS3の後は、終了する。
ステートS1からステートS4に移行した場合、即ち前記ビット列変換部15への入力データが有効データであった場合(入力データは前記スクランブラ部で処理されたスクランブル値)、HGFEDCBA=abcdfghjのビット対応で出力する(但し、10ビットのうちどのビットに対応付けるかに制限はない)。
eビットは、前記スクランブラでは完全には保障できなかった有限長のランレングスを保障し、且つ短期的なDCバランスを調整する役割を持つ。ステートS5では、abcdfghjのビットパターン(スクランブル値HGFEDCBAが入力された値)の値と変換表40におけるRD=0のビットパターンとを比較し、同一のパターンが含まれる場合はステートS6に移行し、含まれない場合はステートS7に移行する。
ステートS6では、eビットを0とすることで、変換後のビットパターン(abcdefghj)が制御データと異なるパターンとなるようにする。ステートS7では、abcdfghjのビットパターン(スクランブル値HGFEDCBAが入力された値)の値と変換表40のRD=1のビットパターンとを比較し、同一のパターンが含まれる場合はステートS8に移行し、含まれない場合はステートS9に移行する。
ステートS8では、eビットを1とすることで、変換後のビットパターン(abcdefghj)が制御データと異なるパターンとなるようにする。ステートS9では、前記abcdfghjのビットパターンのうち1のビットの数を数え、1の数が0〜3個ならばe=1とし、5〜8個ならばe=0とする。
もし、前記1の数が4個の場合、dビットが1ならばe=0とし、dビットが0ならばe=1とする。ステートS6、ステートS8、ステートS9での各々の処理が終了したら終了する。
ステートS5〜S8での動作は、有効データのビット列変換において、その変換後のビットパターンが制御データのビットパターン(変換表40で定義)とは異なる値にする意味がある。
スクランブラが出力する8ビットの値(abcdfghj)は乱数様のパターンになるため、変換表40のabcdfghjと同一のパターンが出現する可能性がある。そのパターンの場合もステートS9と同じ操作でeビットを定義すると、変換後のビットパターン(abcdefghj)が制御データと同一となることがあり、即ち受信機3のビット列変換部26で完全な復号が不可能になる。
そこで8ビットの値(abcdfghj)が変換表40で定義されたabcdfghjと同一のパターンだった場合、追加するeビットの値を、変換表に定義されたeビットとは反転した値とすることで、パターンの同一化を防げる。
図1の同期タイミング生成部16では、6サイクルを周期とするタイミング信号を生成する。このタイミング信号は、検査ビット計算・付与部17で用いる。検査ビット計算・付与部17はタイミング信号とビット列変換部15が出力する10ビットデータ(abcdeifghj)を入力とし、該10ビットデータ(abcdeifghj)の6サイクル分のデータを一纏めの符号ブロックとして扱う。
図4は符号ブロックのビット列フォーマットを示す図である。
ビット列45は、0サイクル目のa0〜j0ビット、1サイクル目のa1〜j1ビット、2サイクル目のa2〜j2ビット、3サイクル目のa3〜j3ビット、4サイクル目のa4〜j4ビット、5サイクル目のa5〜j5ビットの全60ビットで構成され、0サイクル目の10ビットデータから5サイクル目まで順に出力される。
検査ビット計算・付与部では、データ伝送時に生じるビット誤りを受信側で誤り訂正できるように、出力する10ビットデータ(abcdeifghj)に対して、検査ビットを付与する。
本実施の形態で用いる検査ビットは、単純なビット誤りを訂正可能なハミング符号が生成するものである。ここでは、符号化率を8B10B符号化回路と同値とするに最適な(63,57)ハミング符号を用いる。ハミング符号は、符号長63ビット、情報ビット長57ビット、検査ビット長6ビットである。
これにより情報ビット57ビット中の1ビットのランダム誤りを訂正可能である。但し、本実施の形態では、検査可能な57ビットの情報ビットのうち、54ビット(9ビット×6サイクル分)のみを使用する。
即ち、前記60ビットの符号ブロックのうち、i0〜i5ビットの計6ビットを検査ビットとし、残りの54ビット(各サイクルのabcdefghj)を情報ビットとみなす。検査ビット計算・付与部では、情報ビットに対して、ハミング符号の生成多項式(X7 +X+1)から6ビットの検査ビットを計算し、i0〜i5ビット代入して出力する。
P/S変換部18は、10ビット幅のパラレルビットデータを1ビットシリアルデータに変換する。このとき、10ビットデータ(abcdeifghj)はaビットからabcdeifghjの順にシリアルデータとして伝送路2に出力される。シリアルデータは伝送路2によって受信機3に伝送される。
受信機2のS/P変換部20は、受信したシリアルデータを送信時と同じパラレルビット列に変換する。バイト同期部21は、パラレルビット列の中から、10ビット幅のパラレルビットデータに分割する目印となるビットパターンを検出する。目印のビットパターンに制約は無いが、たとえば、制御データの変換表40中のK28.5に含まれる”0011111”というビットパターンである。
バイト同期部21では、前記パターンを発見するとその位置を10ビットデータの同期点と判断し、それ以降のビット列は同期点を基に分割した10ビットデータ(abcdeifghj)として出力する。
誤りビット計算部23では、バイト同期部21から入力される10ビットデータ(abcdeifghj)の6サイクル分を(即ち60ビットのデータ)一つの符号ブロックとみなし、誤りビット計算部23が情報ビットに付与した検査ビット(i0〜i5)を基に誤り検査を実施し、誤りビットの位置を確定する。
誤り検査の計算方法は、ハミング符号の生成多項式(X7 +X+1)に基づくが、一般的な方法であり、本実施の形態では説明を省略する。
誤りビット計算部23は、10ビットデータ(abcdeifghj)を誤りビット訂正部25へ、誤り検査結果(前記誤りビットの位置)をブロック同期部24と誤りビット訂正部25に出力する。
ブロック同期部24は、6サイクルの10ビットデータ(abcdeifghj)の符号ブロックの同期点(即ち60ビット間隔の符号ブロックの切れ目)を生成する。ブロック同期部24は、誤りビット計算部23が出力する10ビット毎の誤り検査結果を基に、最も誤り発生率が低い点を符号ブロックの同期点とみなし、同期点のタイミングを誤りビット計算部23に通知する。
誤りビット計算部23は、通知された同期点を符号ブロックの開始点とみなし、誤り検査計算を開始する。誤りビット訂正部25は、誤りビット計算部23から出力された10ビットデータ(abcdeifghj)と誤り検査結果(誤りビットの位置)を受信し、検査結果で示される誤りビットを訂正する。
ハミング符号での誤り訂正とは、検査結果で示される誤りビットを反転することである。誤りビット訂正部25は、誤り訂正した10ビットデータ(abcdeifghj)をビット列変換部26に出力する。
ビット列変換部26は入力した10ビットデータ(abcdeifghj)を、図5に示す10ビット−8ビット変換のシーケンスに従って、8ビットデータ(HGFEDCBA)に変換する。
この変換は、まず、ステートS12で10ビットデータ(abcdeifghj)が変換表40のビット列Bに含まれるかを判断し、含まれる場合はステートS13に移行し、含まれない場合はステートS14に移行する。
ステートS13では、変換表40に従い、ビット列Bの10ビットデータ(abcdeifghj)のうちのiビットを除く9ビットデータ(abcdefghj)からビット列Aの8ビットデータ(HGFEDCBA)へと変換する。
また、ステートS13で変換された8ビットデータ(HGFEDCBA)は、制御データと見なしてデスクランブラ部27に出力する。ステートS14では、10ビットデータ(abcdeifghj)のうち、abcdfghjビットをそのまま8ビットデータ(HGFEDCBA)とし、且つ有効データとみなしてデスクランブラ部27に出力する。
デスクランブル部27では、制御ビットを参照して、有効データ(即ちデータ符号)に対してのみスクランブルされたデータの再生(デスクランブル)を実施する。入力データが制御符号であった場合は、そのままの値で出力する。
デスクランブルには、スクランブル時と同一の生成多項式(たとえば、X9 +X4 +1)を使用する。最終的に、デスクランブラ部27(即ち受信機3)が出力する受信データ28は、送信機1が本来送る送信データ10と同値である。
但し、同値であるかは伝送路2で生じたビット誤りが、使用した誤り訂正機能の訂正能力(本実施例では60ビット中に1ビットの誤り)の範囲内に収まっているときに限る。
それにより、本実施の形態によれば、8B10B符号化回路と、ビット幅、動作クロック、ならびに伝送効率を同一としながらも、ビット誤り訂正を可能とし、且つDCバランスや有限ランレングスの保障という伝送符号本来の性能をも満たす符号変換を可能とすることができる。
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
本発明は、通信インタフェース、および高速シリアルインタフェースを用いたデータ伝送回路に属し、ネットワーク装置(ルータやスイッチ、伝送装置、メディアコンバータ、リピータ、ゲートウェイ等)やパーソナルコンピュータ、サーバ、大型計算機、ディスクアレイシステム、ネットワーク・アタッチド・ストレージ(NAS)などの通信インタフェース。ならびに装置内でのデータ伝送経路を持つ全ての装置に適している。

Claims (7)

  1. 伝送路で接続された送信機、および受信機により構成され、データと制御情報とからなる送信データをシリアルビット列データに変換して伝送するデータ伝送装置であって、
    前記送信機は、
    入力されたデータの0と1の出現数がほぼ等しくなるようにデータを攪拌することでDCバランスを保障するスクランブラ部と、
    攪拌されたデータのシリアルビット列の最大連続個数を保障するビットデータを付与し、制御情報をある固定値のビットデータに変換するビット列変換部と、
    送信データを任意の間隔に分割し、データブロックに変換する同期タイミング生成部と、
    前記データブロックに対して誤り訂正の検査データを計算し、前記データブロックの一部に付与する検査ビット計算付与部とを備え、
    前記受信機は、
    前記データブロックを受信し、前記データブロックに付与された検査ビットを基に誤り検査、および誤り訂正を行う誤りビット計算/訂正部と、
    前記データブロックのビット列から制御データの固定値ビットパターンを抽出して制御情報に変換し、データと制御情報とを選別するビット列変換部と、
    データ攪拌されたデータを攪拌前のデータに再変換するデスクランブラ部とを備えたことを特徴とするデータ伝送装置。
  2. 請求項1記載のデータ伝送装置において、
    前記送信機に入力される送信データは、
    8ビットのビットデータ列と、
    前記8ビットデータが、データ、または制御情報のいずれであるかを示す制御ビットとからなり、
    前記スクランブラ部は、
    送信データがデータであれば、前記8ビットのビットデータ列を0と1の出現数が等しく、あるいはほぼ等しくなるようにデータを攪拌して結果を8ビットのビットパターンとし、
    前記ビット列変換部は、
    前記8ビットのビットパターンのうち、値が1であるビットの個数がもし0個〜3個であれば1の値を、5個〜8個であれば0の値を、4個であればシリアルビット列で直前のビットの反転値を示す1ビットデータを付与して9ビットのビットパターンに変換することで、DCバランス、および保障連続ビットデータの最大連続個数を保障し、送信データが制御データであれば、8ビットのデータ列が示す値に対応した10ビットの固定ビットパターンに変換することでDCバランスおよび連続ビットデータの最大連続個数を保障することを特徴とするデータ伝送装置。
  3. 請求項1または2記載のデータ伝送装置において、
    前記検査ビット計算付与部は、
    データから変換された9ビットのビットパターン、および制御情報から変換された10ビットの固定ビットパターンから1ビットを除く9ビットの固定ビットパターンにおいて、前記ビットパターンの連続する6つの組み合せを一つの符号ブロックとして扱い、前記ブロックを構成する54ビットのビットパターンからなる情報語を基に6ビットの検査語を生成して、連続する6つのiビットを付与した60ビットの符号ブロックを出力し、
    前記誤りビット計算部は、
    前記符号ブロックを受信し、54ビットの情報語と6ビットの検査語を基に誤り検出し、
    前記誤りビット訂正部は、
    前記誤りビット計算部が検出した誤りを訂正することを特徴とするデータ伝送装置。
  4. 請求項1記載のデータ伝送装置において、
    前記送信機に入力される送信データは、
    8ビットのビットデータ列と、
    前記8ビットデータが、データ、または制御情報のいずれであるかを示す制御ビットとからなり、
    前記スクランブラ部は、
    送信データが制御情報であれば、8ビットのデータ列が示す値に対応した10ビットの固定ビットパターンに変換することでDCバランスおよび連続ビットデータの最大連続個数を保障し、送信データがデータであれば、上記8ビットのビットデータ列を0と1の出現数が等しく或いはほぼ等しくなるようにデータを攪拌して結果を8ビットのビットパターンとし、
    前記ビット列変換部は、
    攪拌した結果の8ビットの前記ビットパターンが、制御情報での変換時の10ビットの固定ビットパターンのうちの8ビットと同値となる場合は、残りのeビットの値を前記10ビットの固定ビットパターンのeビットの反転値とし、攪拌した結果の8ビットの前記ビットパターンが、制御情報での変換時の10ビットの固定ビットパターンのうちの8ビットと同値でない場合は、8ビットの前記ビットパターンのうち、値が1であるビットの個数が0個〜3個であれば1の値を、5個〜8個であれば0の値を、4個であればシリアルビット列で直前のビットの反転値を示す1ビットデータを付与して9ビットのビットパターンに変換することでDCバランス、保障連続ビットデータの最大連続個数、および復号を保障することを特徴とするデータ伝送装置。
  5. 送信機において検査ビットを付与し、受信機において前記検査ビットを基に誤り検査、および符号訂正を行うビット誤り訂正機能を有し、伝送路で接続された前記送信機、および前記受信機により、送信データをシリアルビット列データに変換して伝送する伝送符号の生成方法であって、
    前記送信機に入力される送信データが8ビットのビットデータ列と、前記8ビットデータが通常データか制御データかを示す制御ビットとで構成され、
    送信データがデータの際には、8ビットのビットデータ列を0と1の出現数が等しくあるいはほぼ等しくなるようにデータを攪拌して結果を8ビットのビットパターンとし、且つ前記8ビットのビットパターンのうち、値が1であるビットの個数が0個〜3個であれば1の値を、5個〜8個であれば0の値を、4個であればシリアルビット列で直前のビット(dまたはfビット)の反転値を示す1ビットデータを付与して9ビットのビットパターンに変換することで、DCバランス、および保障連続ビットデータの最大連続個数を保障し、
    送信データが制御データの際には、8ビットのデータ列が示す値に対応した10ビットの固定ビットパターンに変換することでDCバランスおよび連続ビットデータの最大連続個数を保障することを特徴とする伝送符号の生成方法。
  6. 請求項5記載の伝送符号の生成方法において、
    送信データがデータの際に変換された9ビットのビットパターン、および制御情報から変換された10ビットの固定ビットパターンから1ビットを除く9ビットの固定ビットパターンにおける連続する6つの組み合わせを一つの符号ブロックとして扱い、前記ブロックを構成する54ビットのビットパターンからなる情報語を基に6ビットの検査語を生成して、連続する6つのiビットを付与した60ビットの符号ブロックとして前記送信機から出力し、
    前記受信機が符号ブロックを受信した際には、54ビットの情報語と6ビットの検査語を基に誤り検出、および誤り訂正を行うことを特徴とする伝送符号の生成方法。
  7. 請求項5記載の伝送符号の生成方法において、
    送信データが制御情報の際には、8ビットのデータ列が示す値に対応した10ビットの固定ビットパターンに変換することでDCバランス、および連続ビットデータの最大連続個数を保障し、
    送信データがデータの場合には、前記8ビットのビットデータ列を0と1の出現数が等しく、あるいはほぼ等しくなるようにデータを攪拌して結果を8ビットのビットパターンとし、
    攪拌した結果の8ビットの前記ビットパターンが、制御情報での変換時の10ビットの固定ビットパターンのうちの8ビットと同値となる場合は、残りのビットの値を上記10ビットの固定ビットパターンのビットの反転値とし、
    攪拌した結果の8ビットの前記ビットパターンが、制御情報での変換時の10ビットの固定ビットパターンのうちの8ビットと同値でない場合は、8ビットの前記ビットパターンのうち、値が1であるビットの個数が0個〜3個であれば1の値を、5個〜8個であれば0の値を、4個であればシリアルビット列で直前のビットの反転値を示す1ビットデータ(eビット)を付与して9ビットのビットパターンに変換することでDCバランス、保障連続ビットデータの最大連続個数、および復号を保障することを特徴とする伝送符号の生成方法。
JP2008544050A 2006-11-17 2006-11-17 データ伝送装置および伝送符号の生成方法 Active JP4902665B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2006/322998 WO2008059588A1 (fr) 2006-11-17 2006-11-17 Appareil de transmission de données et procédé de génération de code de transmission

Publications (2)

Publication Number Publication Date
JPWO2008059588A1 JPWO2008059588A1 (ja) 2010-02-25
JP4902665B2 true JP4902665B2 (ja) 2012-03-21

Family

ID=39401403

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008544050A Active JP4902665B2 (ja) 2006-11-17 2006-11-17 データ伝送装置および伝送符号の生成方法

Country Status (3)

Country Link
US (1) US8281207B2 (ja)
JP (1) JP4902665B2 (ja)
WO (1) WO2008059588A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101312349B (zh) * 2007-05-26 2010-08-25 华为技术有限公司 信息块编码及同步检测的方法和装置
US9031241B2 (en) * 2009-02-05 2015-05-12 D.E. Shaw Research, Llc Link and physical coding sub-layer protocols
US8713231B2 (en) 2009-11-13 2014-04-29 Panasonic Corporation Interface circuit and interface system
EP2629472A4 (en) * 2010-10-12 2017-10-18 Panasonic Intellectual Property Management Co., Ltd. Transmission circuit, reception circuit, transmission method, reception method, communication system and communication method therefor
JP5588949B2 (ja) * 2011-09-30 2014-09-10 富士フイルム株式会社 内視鏡システム及び内視鏡の外部制御装置
US20130111294A1 (en) * 2011-10-28 2013-05-02 Lsi Corporation Systems and Methods for Late Stage Precoding
JP5348263B2 (ja) 2012-02-29 2013-11-20 富士通株式会社 データ伝送装置、データ伝送システムおよびデータ伝送方法
US10372528B1 (en) * 2014-12-15 2019-08-06 Seagate Technology Llc Random values from data errors
CN108694918B (zh) * 2017-06-09 2021-09-28 京东方科技集团股份有限公司 编码方法及装置、解码方法及装置及显示装置
JPWO2021039099A1 (ja) * 2019-08-30 2021-03-04

Family Cites Families (8)

* 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
US5574448A (en) 1995-05-08 1996-11-12 Quantum Corporation Method and apparatus for encoding data with variable block lengths
JP3575419B2 (ja) * 2000-10-24 2004-10-13 日本電気株式会社 装置状態制御回路、及び装置状態制御方法
JP2003006986A (ja) 2001-06-20 2003-01-10 Matsushita Electric Ind Co Ltd 記録装置および再生装置
US20030135798A1 (en) * 2001-12-13 2003-07-17 Yukari Katayama Optical disk device and data randomizing method for optical disk device
JP2003318865A (ja) * 2002-04-26 2003-11-07 Fuji Xerox Co Ltd 信号伝送システム
JP4321175B2 (ja) 2003-08-13 2009-08-26 富士ゼロックス株式会社 誤り訂正符号付き信号伝送システム
JP2006211384A (ja) 2005-01-28 2006-08-10 Victor Co Of Japan Ltd 映像・音声多重化装置及び映像・音声分離装置

Also Published As

Publication number Publication date
JPWO2008059588A1 (ja) 2010-02-25
US8281207B2 (en) 2012-10-02
US20090276683A1 (en) 2009-11-05
WO2008059588A1 (fr) 2008-05-22

Similar Documents

Publication Publication Date Title
JP4902665B2 (ja) データ伝送装置および伝送符号の生成方法
JP5266164B2 (ja) データ受信装置
JP5426326B2 (ja) データ受信装置、データ受信方法、及びプログラム
US20070168835A1 (en) Serial communications system and method
CN104601275B (zh) 用于编码数据的方法、编码器、解码器及通信系统
JP2933872B2 (ja) データ伝送用の符号化方法および装置
JP2012175568A (ja) データ受信装置、データ受信方法及びプログラム
JP2839868B2 (ja) 5ビット4トリット符号体系
US8261165B2 (en) Multi-syndrome error correction circuit
JP3217298B2 (ja) nB2P符号および復号装置
JP2013239940A (ja) シリアル通信システム、画像形成システム及び送信装置
JP4407910B2 (ja) データ受信装置
US20120027107A1 (en) Communication device and communication method in data transmission system
JPH05183447A (ja) 改善された誤まり検出符号化システム
WO2020203548A1 (ja) 符号化回路および半導体装置、符号化方法、データ伝送システム、復号回路
JP2003078421A (ja) 符号系列の先頭位置検出方法とその装置、それを用いた復号方法とその装置
JP2007306212A (ja) 送信装置、受信装置、通信システム、及び通信方法
US8261156B2 (en) Methods and apparatuses for correcting errors in data streams
CN115314185A (zh) 编码器和解码器
CN111277830B (zh) 一种编码方法、解码方法及装置
JP6774512B2 (ja) Fecエラー付加装置、それを用いた試験信号発生装置、及びfecエラー付加方法
JPH0846648A (ja) 通信装置
JP2008048111A (ja) 通信システム
RU2212101C1 (ru) Кодек циклического помехоустойчивого кода
JPH066335A (ja) 高能率音声伝送の擬似同期防止方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110913

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111111

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: 20111206

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111228

R150 Certificate of patent or registration of utility model

Ref document number: 4902665

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150113

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250