(57)【要約】【課題】転送すべきデータに誤り検出及び誤り訂正が可能な符号を付加した場合に比較して、データ長を短縮することが可能な受信装置及びデータ転送装置を提供する。【解決手段】受信装置４は、複数のビットからなる転送データと前記転送データの誤り検出のための誤り検出符号とを含むデータが予め定められた手順に基づいて変換された変換データを受信する受信部４１と、受信部４１が受信した変換データ、及び変換データの一部のビットを反転した反転データを予め定められた手順に基づいて逆変換した複数の逆変換データを生成する第１及び第２の逆変換部５１，５３と、生成された複数の逆変換データのうち、誤り検出符号に基づく誤り検出処理で誤りが検出されない逆変換データを抽出するメモリ制御部５６とを備える。【選択図】図３
2012124643.tif 000002
【特許請求の範囲】
【請求項１】
複数のビットからなる転送データと前記転送データの誤り検出のための誤り検出符号とを含むデータが予め定められた手順に基づいて変換された変換データを受信する受信部と、
前記受信部が受信した変換データ及び当該変換データの一部のビットを反転した反転データを予め定められた手順に基づいて逆変換した複数の逆変換データを生成する逆変換部と、
前記複数の逆変換データのうち、前記誤り検出符号に基づく誤り検出処理で誤りが検出されない逆変換データを抽出する抽出部とを備えた受信装置。
【請求項２】
前記逆変換部は、前記受信部から複数のビットからなるデータ単位で前記変換データを取得して前記取得したデータ単位のデータを逆変換する第１の逆変換部と、前記第１の逆変換部が取得したデータ単位の複数のビットのうち一部のビットを反転した複数の反転データを生成する反転データ生成部と、前記反転データ生成部が生成した複数の反転データを逆変換する第２の逆変換部とを有する請求項１に記載の受信装置。
【請求項３】
反転データ生成部は、前記第１の逆変換部が取得したデータ単位の複数のビットのうち各１ビットを反転した複数の反転データを生成する請求項２に記載の受信装置。
【請求項４】
請求項１乃至３の何れか１項に記載の受信装置と、
複数ビットからなる転送データと前記転送データの誤り検出のための誤り検出符号とを含むデータを生成し、前記生成したデータを予め定められた手順に基づいて変換した変換データを送信する送信装置とを備えたデータ転送装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、受信装置及びデータ転送装置に関する。
【背景技術】
【０００２】
従来、通信線を介して送信される送信データに対して、ビット信号の「０」と「１」の数を均等化してＤＣバランスを改善する８Ｂ／１０Ｂ変換を行うデータ転送装置が知られている（例えば、特許文献１参照）。
【０００３】
特許文献１に記載のデータ転送装置は、データを送信する送信部と、伝送路を介して送信部が送信したデータを受信する受信部とを備えている。送信部は、予め定められた長さのフレームを形成し、このフレームにＤＣバランス変換を施し、さらに誤り検出及び誤り訂正が可能な誤り訂正符号を付加して受信部側に送信する。一方、受信部は、受信したデータに対してＤＣ逆バランス変換を施すとともに誤り検出処理を行い、誤りが検出された場合には誤り訂正処理を行うように構成されている。
【０００４】
なお、このような誤り検出及び誤り訂正が可能な誤り訂正符号は、誤りの検出のみが可能な誤り検出符号に比較して、データ長が長くなることが知られている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−２９４７５７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明は、転送すべきデータに誤り検出及び誤り訂正が可能な符号を付加した場合に比較して、データ長を短縮することが可能な受信装置及びデータ転送装置を提供することにある。
【課題を解決するための手段】
【０００７】
［１］複数のビットからなる転送データと前記転送データの誤り検出のための誤り検出符号とを含むデータが予め定められた手順に基づいて変換された変換データを受信する受信部と、前記受信部が受信した変換データ及び当該変換データの一部のビットを反転した反転データを予め定められた手順に基づいて逆変換した複数の逆変換データを生成する逆変換部と、前記複数の逆変換データのうち、前記誤り検出符号に基づく誤り検出処理で誤りが検出されない逆変換データを抽出する抽出部とを備えた受信装置。
【０００８】
［２］前記逆変換部は、前記受信部から複数のビットからなるデータ単位で前記変換データを取得して前記取得したデータ単位のデータを逆変換する第１の逆変換部と、前記第１の逆変換部が取得したデータ単位の複数のビットのうち一部のビットを反転した複数の反転データを生成する反転データ生成部と、前記反転データ生成部が生成した複数の反転データを逆変換する第２の逆変換部とを有する前記［１］に記載の受信装置。
【０００９】
［３］反転データ生成部は、前記第１の逆変換部が取得したデータ単位の複数のビットのうち各１ビットを反転した複数の反転データを生成する前記［２］に記載の受信装置。
【００１０】
［４］前記［１］から［３］の何れか１つに記載の受信装置と、複数ビットからなる転送データと前記転送データの誤り検出のための誤り検出符号とを含むデータを生成し、前記生成したデータを予め定められた手順に基づいて変換した変換データを送信する送信装置とを備えたデータ転送装置。
【発明の効果】
【００１１】
請求項１，４に記載の発明によれば、転送すべきデータに誤り検出及び誤り訂正が可能な符号を付加した場合に比較して、データ長を短縮することが可能となる。
【００１２】
請求項２に記載の発明によれば、誤りが発生した箇所のデータ単位のデータを置き換えることによって誤りの訂正を行うことが可能となる。
【００１３】
請求項３に記載の発明によれば、対象となるデータ単位の複数のビットのうち２以上のビットを反転する場合に比較して、簡易な構成で誤りを訂正することが可能となる。
【図面の簡単な説明】
【００１４】
【図１】本発明の第１の実施の形態に係るデータ転送装置の構成例を示すブロック図である。
【図２】ＤＣバランス変換前後のデータの一例を示す図である。
【図３】デコード部の構成例を示すブロック図である。
【図４】デコード部の動作例を説明するタイミングチャートである。
【図５】デコード部による誤り訂正の具体例を示す図である。
【発明を実施するための形態】
【００１５】
［第１の実施の形態］
本発明の第１の実施の形態について、図１〜図５を参照して説明する。
【００１６】
（データ転送装置の構成）
図１は、本発明の第１の実施の形態に係るデータ転送装置の構成例を示すブロック図である。このデータ転送装置１は、送信装置２と、送信装置２に接続された通信線３と、通信線３を介して送信装置２との通信が可能な受信装置４とを有して構成されている。通信線３としては、例えば互いに極性が反転した差動信号を伝送する一対の信号線からなる差動信号線を用いることができる。
【００１７】
（送信装置の構成）
送信装置２は、メモリインタフェース２１と、メモリインタフェース２１に接続されたメモリ２２と、誤り検出符号付加部２３と、ＤＣバランス変換部２４と、送信部２５とを有している。
【００１８】
メモリインタフェース２１は、外部の装置からの転送データを受け付け、ＲＡＭ（Random Access Memory）等の記憶装置からなるメモリ２２に一旦記憶する。また、メモリインタフェース２１は、メモリ２２に記憶された転送データを読み出して後段の誤り検出符号付加部２３に出力する。
【００１９】
誤り検出符号付加部２３は、メモリインタフェース２１から出力された転送データに基づいて、この転送データの誤り検出のための誤り検出符号を生成する。また、誤り検出符号付加部２３は、生成した誤り検出符号と、ヘッダ及びフッタとを転送データに転送データに付加し、後段のＤＣバランス変換部２４に出力する。
【００２０】
誤り検出符号付加部２３が生成及び付加する誤り検出符号は、例えばノイズ等の要因によるデータ転送時における誤りを検出することができるが、誤りの訂正は行うことができない符号である。この誤り検出符号としては、例えばＣＲＣ（Cyclic Redundancy Check：巡回冗長検査）符号を用いることができる。
【００２１】
ＤＣバランス変換部２４は、誤り検出符号付加部２３から出力された転送データ及び誤り検出符号を対象データとし、通信線３を介する送信時において「０」又は「１」の信号が長く連続しないよう、ＤＣバランスを改善するためのＤＣバランス変換を行う。
【００２２】
本実施の形態では、このＤＣバランス変換として８Ｂ／１０Ｂ変換を適用した場合について説明する。８Ｂ／１０Ｂ変換は、予め登録された変換テーブルを参照して８ビットのバイトデータを１０ビットのデータ単位のデータに変換するものである。８Ｂ／１０Ｂ変換により、例えば「00000000」の８ビットデータは「1001110100」の１０ビットデータに、「11111111」の８ビットデータは「1010110001」の１０ビットデータに変換される。なお、この８Ｂ／１０Ｂ変換により、２０％のオーバーヘッドが生じるが、シリアル伝送されるビット列に受信側における同期のためのクロック信号を埋め込むことができ、データとクロックとを同じ信号線で同時に送信することが可能となる。
【００２３】
ＤＣバランス変換部２４は、変換テーブルを参照して対象データを８ビット毎に１０ビットデータに変換した変換データを生成し、後段の送信部２５に出力する。
【００２４】
送信部２５は、ＤＣバランス変換部２４から出力された変換データをパラレル／シリアル変換し、差動トランシーバ等の送信回路によって通信線３を介して受信装置４に送信する。
【００２５】
図２（ａ）は、ＤＣバランス変換部２４によるＤＣバランス変換前のデータの一例を示し、図２（ｂ）はＤＣバランス変換されたパケット（変換データ）の一例を示す。
【００２６】
図２（ａ）に示すように、ＤＣバランス変換前のパケット１０は、転送データ１２に誤り検出符号としてのＣＲＣコード１３が付加され、この転送データ１２及びＣＲＣコード１３の前後に、ヘッダ１１及びフッタ１４が付加されている。この図に示す例では、転送データ１２が２５６バイト（２０４８ビット）、ＣＲＣコード１３が２バイト（１６ビット）、ヘッダ１１及びフッタ１４がそれぞれ２バイト（１６ビット）である。
【００２７】
また、ＤＣバランス変換後のパケット１０Ａは、転送データ１２Ａが２５６０ビット、ＣＲＣコード１３Ａが２０ビット、ヘッダ１１Ａ及びフッタ１４Ａがそれぞれ２０ビットである。このパケット１０Ａは、ＤＣバランス変換された変換データの一例である。
【００２８】
（受信装置の構成）
受信装置３は、通信線３に接続された受信部４１と、受信部４１によって受信したデータをデコードするデコード部５０と、メモリインタフェース４２と、メモリインタフェース４２に接続されたバッファメモリ４３とを有している。
【００２９】
受信部４１は、通信線３を介して送信装置２から送信されたシリアルデータを受信してシリアル／パラレル変換を行い、１０ビットのパラレルデータとして後段のデコード部５０に出力する。
【００３０】
デコード部５０は、受信部４１から出力された受信データをデコードし、転送データを抽出してメモリインタフェース４２に出力する。デコード部５０の詳細については後述する。
【００３１】
メモリインタフェース４２は、デコード部５０から出力された転送データをＲＡＭ等の記憶装置からなるメモリ３４に記憶する。また、メモリインタフェース３３は、外部からの読み出し信号に応じて、メモリ３４に記憶した転送データを出力する。
【００３２】
（デコード部の構成）
図３は、デコード部５０の構成例を示すブロック図である。このデコード部５０は、例えばＡＳＩＣ（Application Specific Integrated Circuit：特定用途向け集積回路）等のハードウェアにより構成される。
【００３３】
デコード部５０は、第１の逆変換部５１と、反転データ生成部５２と、第２の逆変換部５３と、第１〜第１０のデータ選択部５４０〜５４９と、第１〜第１０のＣＲＣ演算部５５０〜５５９と、非反転データＣＲＣ演算部５５と、メモリ制御部５６と、記憶部としてのメモリ５７等とを有している。このうち、第１の逆変換部５１、反転データ生成部５２、及び第２の逆変換部５３は、本発明の逆変換部の一例である。また、第１〜第１０のＣＲＣ演算部５５０〜５５９、非反転データＣＲＣ演算部５５、及びメモリ制御部５６は、本発明の抽出部の一例である。
【００３４】
第１の逆変換部５１は、ＤＣバランス変換テーブル５００を参照し、受信部４１から取得した１０ビットのパラレルデータを１つのデータ単位として順次ＤＣバランス逆変換を行う。ＤＣバランス変換テーブル５００には、送信装置２のＤＣバランス変換部２４が参照する変換テーブルに対応する内容が予め設定されている。
【００３５】
第１の逆変換部５１は、ＤＣバランス逆変換された８ビットのデータを出力データＤ０としてデータバス５１１に出力する。また、第１の逆変換部５１は、受信部４１から取得した１０ビットのデータに対応する８ビットのデータがＤＣバランス変換テーブル５１０に登録されていなかった場合（逆変換が不可能であった場合）には、予め定められた値（例えば「00000000」）の８ビットデータを出力データＤ０としてデータバス５１１出力するとともに、逆変換エラーがあったことを示すエラー信号Ｅｒｒを信号線５１２に出力する。このエラー信号Ｅｒｒは、第１の逆変換部５１が上記予め定められた値を出力している間だけオン状態に維持される。
【００３６】
またさらに、第１の逆変換部５１は、ＤＣバランス変換前の１０ビットのデータ（受信部４１から取得したデータ）を１０ビットのデータバス５１３に出力する。
【００３７】
反転データ生成部５２は、データバス５１３を介して受信部４１がパラレルデータに変換した１０ビットのデータを取得し、この１０ビットのデータの第１ビット（最下位ビット）から第１０ビット（最上位ビット）の各１ビットを反転した１０個の１０ビットからなる反転データを生成する。
【００３８】
第２の逆変換部５３は、反転データ生成部５２が生成した１０個の反転データのそれぞれについて、ＤＣバランス変換テーブル５００を参照してＤＣバランス逆変換を行い、各反転データに対応する１０個の８ビットのデータを生成する。
【００３９】
第１〜第１０のデータ選択部５４０〜５４９には、第１の逆変換部５１がデータバス５１１に出力する第１の逆変換データ、第２の逆変換部５３が出力する第１〜第１０ビットの何れか１つが反転された反転データをそれぞれ逆変換した第２の逆変換データ、及び第１の逆変換部５１が信号線５１２に出力するエラー信号Ｅｒｒが入力される。第１のデータ選択部５４０には、第１ビットが反転された反転データを逆変換した第２の逆変換データが入力され、以下同様に、第２のデータ変換部５４１には第２ビットが、第３のデータ変換部５４３には第３ビットが（以下省略）、それぞれ反転された反転データを逆変換した第２の逆変換データが入力される。
【００４０】
第１〜第１０のデータ選択部５４０〜５４９は、エラー信号Ｅｒｒがオフ状態である場合には、第１の逆変換データを出力データＤ１〜Ｄ１０として出力し、エラー信号Ｅｒｒがオン状態である場合には、第２の逆変換データを出力データＤ１〜Ｄ１０として出力する。
【００４１】
つまり、第１〜第１０のデータ選択部５４０〜５４９は、第１の逆変換部５１における逆変換が不可能で、第１の逆変換データとして上記予め定められた値が出力されている間は第２の逆変換データを出力し、第１の逆変換部５１における逆変換が可能であった場合には第１の逆変換データを出力する。
【００４２】
これらの出力データＤ１〜Ｄ１０は、第１〜第１０のＣＲＣ演算部５５０〜５５９、及びメモリ制御部５６に入力される。
【００４３】
第１〜第１０のＣＲＣ演算部５５０〜５５９は、第１〜第１０のデータ選択部５４０〜５４９から出力された第１又は第２の逆変換データに基づいて、誤り検出符号としてのＣＲＣコードを順次演算し、メモリ制御部５６に出力する。
【００４４】
また、非反転データＣＲＣ演算部５５は、データバス５１１に接続され、第１の逆変換部５１が出力した第１の逆変換データのＣＲＣコードを順次演算し、メモリ制御部５６に出力する。
【００４５】
非反転データＣＲＣ演算部５５及び第１〜第１０のＣＲＣ演算部５５０〜５５９は、出力データＤ０〜Ｄ１０の変化の周期よりも１周期分遅れて、ＣＲＣコードをメモリ制御部５６に出力するように構成されている。
【００４６】
メモリ制御部５６は、第１の逆変換部５１からの出力データＤ０、及び第１〜第１０のデータ選択部５４０〜５４９から出力される出力データＤ１〜Ｄ１０をメモリ５７のそれぞれ異なる記憶領域に順次記憶する。
【００４７】
また、メモリ制御部５６は、第１の逆変換部５１において逆変換された誤り検出符号としてのＣＲＣコード（受信部３１が受信したパケットに含まれるＣＲＣコード）を取得したとき、この取得したＣＲＣコード（以下このＣＲＣコードを「受信ＣＲＣコード」という）と、非反転データＣＲＣ演算部５５から入力されたＣＲＣコードとが一致するかを判定する。この判定の結果、両ＣＲＣコードが一致すれば、メモリ５７から出力データＤ０を順次記憶した一連のデータを読み出し、後段のメモリインタフェース４２に出力する。
【００４８】
一方、受信ＣＲＣコードと非反転データＣＲＣ演算部５５から入力されたＣＲＣコードとが一致しなかった場合、メモリ制御部５６は、第１〜第１０のＣＲＣ演算部５５０〜５５９から入力されたＣＲＣコードのうち、受信ＣＲＣコードと一致するものがあるか照合する。この照合の結果一致するものがあれば、第１〜第１０のデータ選択部５４０〜５４９の出力データＤ１〜Ｄ１０のうち、受信ＣＲＣコードと一致したＣＲＣコードに対応する出力データを順次記憶した一連のデータをメモリ５７から読み出し、誤り訂正された転送データとして後段のメモリインタフェース４２に出力する。
【００４９】
例えば、第４のＣＲＣ演算部５５３から入力されたＣＲＣコードが受信ＣＲＣコードと一致すれば、第４のデータ選択部５４３の出力データＤ４を順次記憶した一連のデータをメモリ５７から読み出し、後段のメモリインタフェース４２に出力する。
【００５０】
また、メモリ制御部５６は、第１〜第１０のＣＲＣ演算部５５０〜５５９から入力されたＣＲＣコードに受信ＣＲＣコードと一致するものがない場合、メモリインタフェース４２へのデータの出力は行わず、送信装置２にパケットの再送信を要求するための再送要求信号を出力する。
【００５１】
なお、メモリ制御部５６は、受信ＣＲＣコードと非反転データＣＲＣ演算部５５から入力されたＣＲＣコードとの照合を行わず、第１〜第１０のＣＲＣ演算部５５０〜５５９から入力されたＣＲＣコードのうち、受信ＣＲＣコードと一致するものに対応する第１〜第１０のデータ選択部５４０〜５４９の出力データＤ１〜Ｄ１０の何れか１つの出力データを順次記憶したデータをメモリインタフェース４２に出力するように構成してもよい。このように構成しても、受信部４１が受信した受信データに誤りがない場合には、第１〜第１０のＣＲＣ演算部５５０〜５５９から入力されたＣＲＣコードが全て受信ＣＲＣコードと一致するので、正しいデータが出力される。また、このように構成した場合には、非反転データＣＲＣ演算部５５を省略することができる。
【００５２】
（デコード部の動作）
図４は、送信装置２から受信した転送データのうち、２バイト目のデータｄ２が逆変換不可能であった場合のエラー信号Ｅｒｒ、第１の逆変換部５１の出力データＤ０、及び第１〜第１０のデータ選択部５４０〜５４９の出力データＤ１〜Ｄ１０の変化の一例を示すタイミングチャートである。
【００５３】
エラー信号Ｅｒｒがオンした状態では、第１〜第１０のデータ選択部５４０〜５４９は、１ビット反転及び逆変換処理された第２の逆変換データを出力するので、出力データＤ０にデータｄ２が表れているときに、出力データＤ１〜Ｄ１０には第１〜第１０ビットがそれぞれ反転したデータｄ２１〜ｄ２１０が表れる。エラー信号Ｅｒｒがオフした状態では、出力データＤ０と同一のデータが第１〜第１０のデータ選択部５４０〜５４９の出力データＤ１〜Ｄ１０に表れる。
【００５４】
図５は、誤り訂正手段３２１ｃによる誤り訂正の具体例を示す図であり、（ａ）は送信装置２が送信した送信データ及び受信装置３で受信した受信データのうちの１０ビットを、（ｂ）はＤＣバランス逆変換でエラーが発生した１０ビットデータの各１ビットを反転したデータ及びそれに対応する８ビットデータを示す。
【００５５】
図５（ａ）に示すように、送信データは「0010111011」であるのに対し、受信データは「0010110011」であり、第４ビットに誤りが発生している。この場合には、第１の逆変換部５１による逆変換が不可能であり、エラー信号Ｅｒｒが１周期分オン状態となる。
【００５６】
図５（ｂ）に示すように、反転データ生成部５２は、この１０ビットのデータの第１ビットから第１０ビットのうちの１ビットをそれぞれ反転した１０個の反転データを生成する。また、第２の逆変換部５３は、ＤＣバランス変換テーブル５００を参照してこれらの反転データを逆変換し、第１〜第１０のデータ選択部５４０〜５４９に出力する。ＤＣバランス変換テーブル５００で対応する８ビットデータが得られない場合には、予め定められた値（図５（ｂ）に示す例では「0」）を第１〜第１０のデータ選択部５４０〜５４９に出力する。
【００５７】
この結果、エラー信号Ｅｒｒがオンしているタイミングでは、図５（ｂ）の右欄に示す各データ（１０進数表記）が出力データＤ１〜Ｄ１０として表れる。このうち、第４ビットが反転及び逆変換された出力データＤ４が送信データに対応したデータであるので、第４のＣＲＣ演算部５５３が出力するＣＲＣデータと受信ＣＲＣデータとが一致し、第４のデータ選択部５４３が順次出力してメモリ５７に記憶された一連のデータが、誤り訂正された転送データとしてメモリインタフェース４２に出力される。
【００５８】
［他の実施の形態］
なお、本発明は、上記第１の実施の形態に限定されず、その要旨を変更しない範囲内で種々な変形が可能である。
【００５９】
例えば、第１の実施の形態では、反転データ生成部５２が、１０ビットのうちの１ビットを反転した複数の反転データを生成したが、１０ビットのうちの１ビット及び２ビットを反転した複数（５５個）の反転データを生成し、これらに対応して第２の逆変換部、データ選択部、及びＣＲＣ演算部を設けてもよい。またさらに、３ビット以上を反転するようにデコード部を構成してもよい。
【００６０】
また、第１の実施の形態では、送信装置２で８Ｂ／１０Ｂ変換を行い、受信装置４で８Ｂ／１０Ｂ逆変換を行う場合について説明したが、これに限らず、例えば送信装置２で予め定められた手順に基づく暗号化する変換処理を行い、受信装置４では、送信装置２における暗号化手順に対応して予め定められた複合化手順によって逆変換を行うようにしてもよい。
【００６１】
また、第１の実施の形態では、ＡＳＩＣ等のハードウェアによってデコード部５０を構成した場合について説明したが、これに限らず、予め記憶されたプログラムに従って動作するＣＰＵ（Central Processing Unit：演算処理装置）の処理によって、上記説明したデコード部５０の各部の機能を実現してもよい。
【符号の説明】
【００６２】
１…データ転送装置、２…送信装置、３…受信装置、４…通信線、１０，１０Ａ…パケット、１１，１１Ａ…ヘッダ、１２，１２Ａ…転送データ、１３，１３Ａ…ＣＲＣコード、１４，１４Ａ…フッタ、２１…メモリインタフェース、２２…メモリ、２３…検出符号付加部、２４…ＤＣバランス変換部、２５…送信部、４１…受信部、４２…メモリインタフェース、４３…バッファメモリ、５０…デコード部、５１…第１の逆変換部、５２…反転データ生成部、５３…第２の逆変換部、５５…非反転データＣＲＣ演算部、５６…メモリ制御部、５７…記憶部、５００…ＤＣバランス変換テーブル、５４０〜５４９…第１〜第１０のデータ選択部、５５０〜５５９…第１〜第１０のＣＲＣ演算部
【図１】
2012124643.tif 000003
【図２】
2012124643.tif 000004
【図３】
2012124643.tif 000005
【図４】
2012124643.tif 000006
【図５】
2012124643.tif 000007