JP2016010029A - データ送受信装置およびデータ送受信方法 - Google Patents

データ送受信装置およびデータ送受信方法 Download PDF

Info

Publication number
JP2016010029A
JP2016010029A JP2014130225A JP2014130225A JP2016010029A JP 2016010029 A JP2016010029 A JP 2016010029A JP 2014130225 A JP2014130225 A JP 2014130225A JP 2014130225 A JP2014130225 A JP 2014130225A JP 2016010029 A JP2016010029 A JP 2016010029A
Authority
JP
Japan
Prior art keywords
data
crc
transmission
control circuit
side control
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.)
Pending
Application number
JP2014130225A
Other languages
English (en)
Inventor
俊之 田邊
Toshiyuki Tanabe
俊之 田邊
富一 山口
Tomiichi Yamaguchi
富一 山口
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.)
NEC Engineering Ltd
Original Assignee
NEC Engineering Ltd
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 NEC Engineering Ltd filed Critical NEC Engineering Ltd
Priority to JP2014130225A priority Critical patent/JP2016010029A/ja
Publication of JP2016010029A publication Critical patent/JP2016010029A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

【課題】 可変長の検査対象データのCRC復号処理において、CRC符号化処理と同様に、検出対象データの先頭位置を検出することが可能なデータ送受信装置等を提供する。
【解決手段】 データ送受信装置は、CRCの対象となるデータに対して検査コードを生成するCRC生成回路から送信先に送信される当該データの先頭位置に対して、所定の期間前に、第1の送信開始信号を送信先に送信する送信側制御回路と、送信先から送信されるデータの先頭位置に対して所定の期間前に送信される第2の送信開始信号を受信すると、受信したデータから検査コードを検出するCRC検出回路に、受信したデータに対して前記検査コードを検出する処理を実施するように制御する受信側制御回路とを備える。
【選択図】 図1

Description

本発明は、データ送受信装置におけるCRC(Cyclic Redundancy Check)生成及びCRC検査技術に関するものである。
近年、情報通信の高速化や記録/再生システムの大容量化に伴い、通信データや記録/再生データの信頼性向上を目的に、誤り検出技術が重要になってきている。誤り検出技術とは、’0’と’1’のビット列によって表現されたディジタル情報に、誤り検出符号と呼ばれる冗長性を付加することによって、通信や記録/再生の過程において生じるデータの誤りを検出することを可能にする技術である。このような誤り検出符号の生成及び検査手法として、例えば、巡回冗長検査(以降、「CRC」と称する)方式がある。
例えば、特許文献1には、CRCを行うデータ送受信装置が開示される。図6は、特許文献1に開示されるデータ送受信装置の構成を示す図である。図6に示すように、データ送受信装置は、CRC符号部109とCRC復号部110を備える。
このデータ送受信装置では、図6に示すデータバス111およびデータバス112に、8ビット幅のバスを用いている。また、データ送受信装置において、CRC符号部109およびCRC復号部110におけるデータ転送効率を低下させないために、データバス105およびデータバス106のバス幅と、CRC符号部109の内部およびCRC復号部110の内部処理は、すべて8ビットで行われる。
CRC符号部109は、CRC付加部5、データ拡張部20および並列除算処理部107を備える。CRC復号部110は、CRC判定部11、データ出力部12および並列除算処理部108を備える。
並列除算処理部107、108は、生成多項式G(X)=X+X+X+1を使用して、8ビットのパラレル形式のデータの並列除算処理を実行する。並列除算処理部107は、データ送受信装置から送信するデータに対して並列除算処理を行い、CRC付加部5は、その並列除算処理により得られたCRCコードをデータに付加する。
並列除算処理部108は、対向デバイスから送信されたデータのCRCを行うために、当該データに対して並列除算処理を行う。CRC判定部11は、その並列除算処理により得られたCRCコードと、受信したデータに付加されたCRCコードとを比較することにより、当該データのエラー判定を行う。
ここで、データ送受信装置は、以下の方式にて誤りチェックを行う。すなわち、送信データを送信するデータ送受信装置(以下、「送信側」と称する)において、送信データに対してCRC符号化処理を行う。送信側は、そのCRC符号化処理の結果得られたCRCコードを送信データに付加して、受信側のデータ送受信装置(以下、「受信側」と称する)に送信する。そして、受信側において、受信したCRCコードが付加されたデータの復号処理を実施すると共に、送信側で付加されたCRCコードと、上記復号処理の結果得られたCRCコードとが一致するか否かに基づいて、データ誤りの有無をチェックする。
あるいは、以下の方式にて誤りチェックを行うデータ送受信装置もある。すなわち、送信側は、上記と同様に、送信データに対してCRC符号化処理を行い、その結果得られたCRCコードを送信データに付加して受信側に送信する。受信側は、当該送信データを受信すると、送信側に、当該データの誤りチェックのために返信する。送信側は、自装置が送信した、CRCコードが付加された送信データを受信側から受信する。送信側は、当該送信データに対してCRC復号処理を実施すると共に、上記と同様に、CRCコードの一致または不一致を確認することにより、データ誤りの有無をチェックする。
特開2001−168730号公報
上述した後者の方式にて誤りチェックを行うデータ送受信装置、すなわち、送信データの誤り有無のチェックを、自装置にて行うデータ送受信装置では、以下の制御が必要となる。
すなわち、このようなデータ送受信装置は、検査対象データを受信側に送信後、その検査対象データを受信側から受け取ってCRC復号処理を実施するにあたり、送信の際に行ったCRC符号化処理において検査対象データの先頭位置を検出したタイミングと同様のタイミングで、検査対象データの先頭位置を検出する必要がある。
つまり、検査対象データが可変長である場合、データ送受信装置は、当該検査対象データの先頭位置を、受信時(CRC復号処理)において正しく認識することが可能な制御が必要である。
ところが、上記特許文献1に示したデータ送受信装置では、固定長の検査対象データに関するCRC復号処理が開示されるのみであり、可変長の検査対象データに関するCRC復号処理において、検査対象データの先頭位置を検出することはできない。
本願発明は、上記課題を鑑みてなされたものであり、可変長の検査対象データのCRC復号処理において、CRC符号化処理と同様に、検出対象データの先頭位置を検出することが可能なデータ送受信装置等を提供することを主要な目的とする。
本発明の第1のデータ送受信装置は、CRCの対象となるデータに対して検査コードを生成するCRC生成回路から送信先に送信される当該データの先頭位置に対して、所定の期間前に、第1の送信開始信号を前記送信先に送信する送信側制御回路と、前記送信先から送信されるデータの先頭位置に対して前記所定の期間前に送信される第2の送信開始信号を受信すると、受信したデータから前記検査コードを検出するCRC検出回路に、受信したデータに対して前記検査コードを検出する処理を実施するように制御する受信側制御回路とを備える。
本発明の第2のデータ送受信装置は、CRCの対象となるデータに対して検査コードを生成するCRC生成回路と、受信したデータから前記検査コードを検出するCRC検出回路と、前記CRC生成回路から送信先に送信される当該データの先頭位置に対して、所定の期間前に、第1の送信開始信号を前記送信先に送信する送信側制御回路と、前記送信先から送信されるデータの先頭位置に対して前記所定の期間前に送信される第2の送信開始信号を受信すると、前記CRC検出回路に、受信したデータに対して前記検査コードを検出する処理を実施するように制御する受信側制御回路とを備える。
本発明の第1のデータ送受信方法は、CRCの対象となるデータに対して検査コードを生成するCRC生成回路から送信先に送信される当該データの先頭位置に対して、所定の期間前に、第1の送信開始信号を前記送信先に送信し、前記送信先から送信されるデータの先頭位置に対して前記所定の期間前に送信される第2の送信開始信号を受信すると、受信したデータから前記検査コードを検出するCRC検出回路に、受信したデータに対して前記検査コードを検出する処理を実施するように制御する。
本願発明によれば、可変長の検査対象データのCRC復号処理において、CRC符号化処理と同様に、検出対象データの先頭位置を検出することができるという効果が得られる。
本発明の第1の実施形態に係るデータ送受信装置の構成を示すブロック図である。 本発明の第1の実施形態に係るデータ送受信装置における送信動作を示すタイミングチャートである。 本発明の第1の実施形態に係るデータ送受信装置が備える送信側CRC生成回路の構成を示すブロック図である。 本発明の第1の実施形態に係るデータ送受信装置が備える受信側CRC検出回路の構成を示すブロック図である。 本発明の第1の実施形態に係るデータ送受信装置における受信動作を示すタイミングチャートである。 本発明の第1の実施形態に関連するデータ送受信装置の構成を示すブロック図である。 本発明の第2の実施形態に係るデータ送受信装置の構成を示すブロック図である。
以下、本発明の実施形態について図面を参照して詳細に説明する。
第1の実施形態
図1は、本発明の第1の実施形態に係るデータ送受信装置100の構成を示すブロック図である。データ送受信装置100は、対向デバイス200と、データ伝送手段300を介してデータの送受信を行う。データ送受信装置100は、データの送受信相手である対向デバイス200との間で、データを送受信すると共に、自装置においてそのデータに対する誤りチェックを行う。
データ送受信装置100は、対向デバイス200との間で送受信するデータの誤りチェックの方式として、CRC方式を採用する。すなわち、データ送受信装置100は、対向デバイス200に送信したデータ(以下、「検査対象データ」と称する)に対してCRC演算(CRC符号化)処理を行い、その結果得られたCRCコードを当該検査対象データに付加して対向デバイス200に送信する。このとき、データ送受信装置100は、送信する検査対象データの誤りチェックを自装置において行うために、当該検査対象データが対向デバイス200から自装置に送信されるように、自装置のアドレス等を検査対象データに付加しておく。
対向デバイス200は、上記アドレス等に基づいて、検査対象データをデータ送受信装置100に送信する。データ送受信装置100は、受信した検査対象データに対してCRC復号処理を実施することにより、検査対象データに対する誤りチェックを行う。
以下、データ送受信装置100によってCRC方式に準じたデータの誤りチェックを行う動作について説明する。
図1に示すように、データ送受信装置100は、ホストデバイス110、送信側制御回路120、受信側制御回路130、送信側CRC生成回路140および受信側CRC検出回路150を備える。
各構成要素の概略について説明する。
ホストデバイス110は、データ送受信装置100における各種処理を実行すると共に、対向デバイス200に送信するデータを、送信側制御回路120に送出する。送信側制御回路120は、データ送受信装置100から送信するデータに関する制御を行う。受信側制御回路130は、データ送受信装置100において受信するデータに関する制御を行う。送信側CRC生成回路140は、送信するデータに対してCRC演算処理を実行することにより、CRCコードを生成する。受信側CRC検出回路150は、受信したデータにCRC復号処理を実行することにより、CRCコードを検出すると共に、当該データの誤りチェックを行う。
データ送受信装置100において、ホストデバイス110は、送信データの先頭位置を正しく認識するための送信開始信号(詳細は後述する)を送出する。送信側制御回路120は、送信開始信号を受け取り、検査対象データの有効データ長に基づく制御タイミング信号(詳細は後述する)を生成する。送信側CRC生成回路140は、その制御タイミング信号に基づいてCRC演算処理を実行する。データ送受信装置100は、CRC演算処理により生成されたCRCコード(CRC符号)を付加した検査対象データを、対向デバイス200に送信する。
データ送受信装置100は、上記検査対象データの誤りチェックのために、対向デバイス200から、先頭位置を正しく認識するための送信開始信号を受ける。受信側制御回路130は、その送信開始信号を受け、検査対象データの有効データ長に基づく制御タイミング信号を生成する。受信側CRC検出回路150は、その制御タイミング信号に基づいてCRC復号処理を実行する。受信側CRC検出回路150は、CRC復号処理の結果と、送信側CRC生成回路140により付加されたCRCコードとを比較することにより、検査対象データに対する誤りチェックを行う。
図2は、データ送受信装置100における送信動作を示すタイミングチャートである。図1および図2を参照して、データ送受信装置100の動作の詳細について説明する。
まず、図1を用いて、データ送受信装置100のデータ送受信動作における初期設定について説明する。データ送受信装置100において、ホストデバイス110は、検査対象データに関する有効データ長を、送信側制御回路120および受信側制御回路130に送出する。送信側制御回路120および受信側制御回路130は、それぞれ16ビットのデータにより示される有効データ長(以降、「LENGTH[15:0]」と表記する場合がある)を、カウンタ121およびカウンタ131に保持しておく。有効データ長は、検査対象データのうち、CRCコードを除く有効データの長さを示す。
次に、ホストデバイス110は、送信側CRC生成回路140および受信側CRC検出回路150に、”H”を示す1クロック(1TCLK)幅のCRC_CLR(CRCクリア)信号を送出する。送信側CRC生成回路140および受信側CRC検出回路150は、内部に備えた8ビットのフリップフロップ回路であるCRCレジスタ(CRC_reg[7:0])(後述する)を、すべて”0”にする。以上の動作により、データ送受信装置100の初期設定が行われる。
次に、図2を参照して、データ送受信装置100の動作の詳細について説明する。
ホストデバイス110は、任意のタイミングで、可変長の入力データ、すなわち検査対象データを送信側制御回路120に送出する。送信側制御回路120は、ホストデバイス110から取得した検査対象データを、図示しないメモリに格納する。なお、入力データ(検査対象データ)は、8ビットデータ列として送信側制御回路120に送出される。以降、検査対象データを、「DATAIN[7:0]」または「DIN[7:0]」と表記する場合がある。
ホストデバイス110は、送信側制御回路120が送信側CRC生成回路140に送出する、検査対象データの先頭位置の1CLK手前のタイミングで、送信側制御回路120に、”H”を示す1TCLK幅の送信開始信号LD(10a)を送出する。送信開始信号LD(10a)は、検査対象データの先頭位置を管理する信号である。
送信側制御回路120は、上記送信開始信号LD(10a)=”H”による動作開始トリガーが送出されたタイミングで、データ長制御信号DATA_EN(10b)を”L”から”H”に切り替え、DATA_EN(10b)=”H”を送信側CRC生成回路140に出力する動作を開始する。これと同じタイミングで、送信側制御回路120は、格納している検査対象データ(DIN[7:0])を送信側CRC生成回路140に送出する。データ長制御信号DATA_EN(10b)は、検査対象データの有効データ長を管理する信号である。
ここで、送信側制御回路120は、カウンタ121により、データ長制御信号DATA_EN(10b)=”H”のタイミングを制御する。すなわち、送信側制御回路120は、上述したように、初期設定において、ホストデバイス110から取得した有効データ長をカウンタ121に保持している。カウンタ121は、有効データ長に相当するクロック数をカウントすると共に、そのカウント期間中は、DATA_EN(10b)=”H”を保持したまま送信側CRC生成回路140に出力する。
カウンタ121が、有効データ長に相当するクロック数をカウントし終えたタイミング(図2のタイミング160)で、送信側制御回路120は、DATA_EN(10b)を”L”に切り替える。
図2に示すように、送信側CRC生成回路140に入力されるデータ(DIN[7:0])の有効/無効は、データ長制御信号DATA_EN(10b)により制御される。すなわち、データ長制御信号DATA_EN(10b)=”H”の入力期間中、送信側CRC生成回路140は、入力データ(DIN[7:0])をCRC_reg[7:0]に取り込むと共に、CRC演算(図2の期間161での演算)を行う。
入力データ(DIN[7:0])は、DATA_EN(10b)をトリガとして、1TCLK幅遅れて、出力データ(DOUT[7:0])として、対向デバイス200側に出力される(図2の矢印162)。
ここで、送信側制御回路120は、対向デバイス200に送信する、出力データ(DOUT[7:0])の先頭位置の1CLK手前のタイミング(すなわち、送信開始信号LD(10a)を送出した次のタイミング(図2のパルス166))で、対向デバイス200に、”H”を示す1TCLK幅の送信開始信号LD_FLG(10d)を送出する。送信開始信号LD_FLG(10d)は、対向デバイス200が検査対象データの先頭位置を正しく認識するように制御する信号であり、検査対象データの先頭位置の1CLK手前のタイミングを示す。
図3は、送信側CRC生成回路140の構成を示すブロック図である。図3に示すように、送信側CRC生成回路140は、並列除算処理部141、CRCレジスタ142およびCRC付加部143を備える。並列除算処理部141は、生成多項式を用いて、並列CRC演算処理(並列CRC符号化処理)を実行する。並列除算処理部141は、生成多項式として、例えば、以下のG(X)を用いてもよい。
G(X)=X+X+X+1
並列除算処理部141の具体的な動作は、例えば特許文献1に開示されるので、その詳細な説明は省略する。
CRCレジスタ142は、並列除算処理部141による演算結果が入力されるレジスタである。CRC付加部143は、後述するCRC付加信号CRC_MUX(10c)に基づいて、CRCコードを検査対象データに付加すると共に、CRCコードが付加された検査対象データを、DOUT[7:0]として出力する。
以上のように、送信側制御回路120が、有効データ長に相当するクロック数をカウントし終えたタイミングで、DATA_EN(10b)を”H”から”L”に切り替えると、送信側CRC生成回路140におけるCRCレジスタ142に入力されるDATA_EN(10b)=”L”となるので、CRC演算処理はOFFとなる。このとき、CRCレジスタ(CRC_reg[7:0])142にCRC演算処理の結果(図2のCRC演算結果163)が保持される。
送信側制御回路120は、DATA_EN(10b)を”H”から”L”に切り替えたタイミングで、CRC付加信号CRC_MUX(10c)を”L”から”H”に切り替える(図2のパルス164)。そして、送信側制御回路120は、カウンタが”有効データ長+1”に相当するクロック数をカウントしたタイミングで、CRC付加信号CRC_MUX(10c)=”L”に切り替える。CRC付加信号CRC_MUX(10c)は、CRCレジスタ142に保持されるCRCコードを、検査対象データに付加するタイミングを管理する信号である。
CRC付加信号CRC_MUX(10c)=”H”が入力されると、送信側CRC生成回路140は、CRC付加部143において、検査対象データにCRCコードを付加する(図2の矢印165)。
上述のように、送信側制御回路120は、データ長制御信号DATA_EN(10b)を”H”から”L”に切り替えたタイミングで、CRC付加信号CRC_MUX(10c)=”H”を送信側CRC生成回路140に送出する。送信側CRC生成回路140は、CRC付加信号CRC_MUX(10c)=”L”の間、入力データ(DIN[7:0])の8ビットデータ列を出力する。そして、送信側CRC生成回路140は、CRC付加信号CRC_MUX(10c)=”H”(図2のパルス164)のタイミングで、入力データ(DIN[7:0])の8ビットデータ列の最終データの後に、CRC演算処理の結果として、CRC_reg[7:0]に保持されたCRCコードを付加する。この動作により、データ送受信装置100は、検査対象データに、CRC演算処理の結果であるCRCコードを付加して生成された出力データ(DOUT[7:0])を、対向デバイス200に送信することができる。
次に、上記のようにデータ送受信装置100から送信された検査対象データに対する対向デバイス200におけるデータ送受信処理について説明する。対向デバイス200は、データ送受信装置100における送信側制御回路120と受信側制御回路130と、それぞれ同様の構成を有する送信側制御回路220と受信側制御回路210を備える。
上述のように、対向デバイス200は、データ送受信装置100から受信した検査対象データを、データ送受信装置100において誤りチェックを実施するために、データ送受信装置100に送信する。
また、上述のように、データ送受信装置100における送信側制御回路120は、送信する検査対象データの先頭位置の1CLK手前のタイミングで、送信開始信号LD_FLG(10d)を対向デバイス200に送信する。また、対向デバイス200における送信側制御回路220も、検査対象データの先頭位置を送信開始信号LD_FLG(20a)により管理している。すなわち、送信側制御回路220は、送信する検査対象データの先頭位置の1CLK手前のタイミングで、送信開始信号LD_FLG(20a)を、データ送受信装置100に送信する。
すなわち、対向デバイス200は、データ送受信装置100に検査対象データの送信を開始する際に、検出対象データの先頭位置の1CLK手前のタイミングにおいて、受信側データ送受信装置100に、送信開始信号LD_FLG(20a)=”H”を1TCLK幅にて送出する。
ここで、図4を参照して、受信側CRC検出回路150の構成について説明する。図4に示すように、受信側CRC検出回路150は、並列除算処理部151、CRCレジスタ152、比較器153およびCRCラッチレジスタ154を備える。並列除算処理部151は、図3に示した並列除算処理部141と同様の生成多項式G(X)を用いて並列除算処理(並列CRC復号処理)を実行する。CRCレジスタ152は、並列除算処理部151による演算結果が入力されるレジスタである。比較器153は、CRCレジスタ152からの入力と、CRCラッチレジスタ154からの入力とを比較すると共に、比較の結果を出力する。CRCラッチレジスタ154は、受信した検査対象データに付加されたCRCコードが入力されるレジスタである。
図5は、データ送受信装置100における受信動作を示すタイミングチャートである。図4および図5を参照して、データ送受信装置100における受信動作について説明する。
図5に示すように、データ送受信装置100は、受信側制御回路130において、対向デバイス200から検査対象データの先頭位置の1CLK手前のタイミングで、1TCLK幅の送信開始信号LD_FLG(20a)=”H”を受信する(図5のパルス170)。この信号に応じて、受信側制御回路130は、データ長制御信号DATA_EN(20b)を、”L”から”H”に切り替え、受信側CRC検出回路150に出力する動作を開始する。
ここで、受信側制御回路130は、送信側制御回路120と同様に、カウンタ131により、DATA_EN(20b)=”H”のタイミングを制御する。すなわち、上述したように、受信側制御回路130は、初期設定により、ホストデバイス110から取得した有効データ長をカウンタ131に保持している。カウンタ131は、有効データ長に相当するクロック数をカウントすると共に、そのカウント期間中は、DATA_EN(20b)=”H”を保持したまま受信側CRC検出回路150に出力する。
カウンタが、有効データ長に相当するクロック数をカウントし終えたタイミングで、受信側制御回路130は、DATA_EN(20b)を”L”に切り替える(図5のタイミング171)。
上述した送信側CRC生成回路140に入力されるデータと同様に、受信側CRC検出回路150に入力されるデータ(DIN[7:0])の有効/無効は、データ長制御信号DATA_EN(20b)により制御される。すなわち、データ長制御信号DATA_EN(20b)=”H”の入力期間中、受信側CRC検出回路150は、入力データ(DIN[7:0])をCRC_reg[7:0]に取り込むと共に、CRC演算処理(図5の期間172における演算)を行う。
受信側制御回路130は、DATA_EN(20b)を”H”から”L”に切り替えたタイミングで、CRCイネーブル信号CRC_EN(20c)を”L”から”H”に切り替える。そして、受信側制御回路130は、カウンタ131が”有効データ長+1”に相当するクロック数をカウントしたタイミングで、CRCイネーブル信号CRC_EN(20c)=”L”に切り替える。CRCイネーブル信号CRC_EN(20c)は、検査対象データに含まれるCRCコードの位置を管理する信号である。
CRCイネーブル信号CRC_EN(20c)=”H”のタイミングで、受信側CRC検出回路150は、送信側制御回路220から送出された(DIN[7:0])を、CRCラッチレジスタ(CRC_LAT_reg[7:0])154に保持する(図5の173に示す)。
受信側制御回路130は、CRCチェックイネーブル信号CRC_CHK(20d)=”H”を、CRCイネーブル信号CRC_EN(20c)=”L”となったタイミングで送出する。そして、受信側制御回路130は、カウンタ131が”有効データ長+2”に相当するクロック数をカウントしたタイミングでCRCチェックイネーブル信号CRC_CHK(20d)=”L”に切り替える。CRCチェックイネーブル信号CRC_CHK(20d)は、CRCコードの比較のタイミングを管理する信号である。
上述のように、受信側制御回路130から、CRC_CHK(20d)=”H”を受けると、受信側CRC検出回路150は、比較器153において、上述のCRC_EN(20c)=”H”のタイミングでCRC_LAT_reg[7:0]に保持されたCRCコードと、CRC_reg[7:0]に保持されたCRC演算処理の結果とを比較する。
比較器153は、両者の一致または不一致に応じて、検査対象データの誤り有無を示す信号を出力する。すなわち、比較器153は、両者が一致するときは、誤り有無信号CRC_NG(20e)=”L”のまま受信側制御回路130に出力する。一方、両者が不一致のとき、比較器153は、誤り有無信号CRC_NG(20e)=”H”を受信側制御回路130に出力する。誤り有無信号CRC_NG(20e)は、検査対象データの誤り有無を示す信号であり、”L”のとき「誤り無し」、”H”のとき「誤り有り」を示す。
受信側制御回路130は、誤り有無信号CRC_NG(20e)=”L”を受けると、「誤り無し」と判定し、ホストデバイス110にACK信号を出力する。一方、受信側制御回路130は、誤り有無信号CRC_NG(20e)=”H”を受けると「誤り有り」と判定し、ホストデバイス110にNACK信号を出力する。以上の動作により、データ送受信装置100は、検査対象データの誤りチェックを実施できる。
以上のように、本実施形態によれば、データ送受信装置100が備える送信側制御回路120は、対向デバイス200に送信する検査対象データの先頭位置の1CLK手前のタイミングで(、すなわち検査対象データを送信するトリガとして)、対向デバイス200に送信開始信号LD_FLG(10d)を送出する。受信側制御回路130は、また、検査対象データの先頭位置の1CLK手前のタイミングで(、すなわち検査対象データを受信するトリガとして)、対向デバイス200から送信開始信号LD_FLG(20a)を受信する。受信側制御回路130は、送信開始信号LD_FLG(20a)を受けたタイミングを、検査対象データの先頭位置と認識する。
上記構成を採用することにより、本第1の実施形態によれば、データ送受信装置100は、送信開始信号LD_FLG(20a)によって、検査対象データの先頭位置を正しく認識することができるので、可変長の検査対象データのCRC復号処理において、CRC演算処理と同様に、検出対象データの先頭位置を検出することができるという効果が得られる。
第2の実施形態
図7は、本発明の第2の実施形態に係るデータ送受信装置300の構成を示すブロック図である。図7に示すように、データ送受信装置は、送信側制御回路301と受信側制御回路302を備える。
送信側制御回路301は、CRCの対象となるデータ(検査対象データ)に対して検査コードを生成するCRC生成回路(送信側CRC生成回路140)から送信先(対向デバイス200)に送信される当該データの先頭位置に対して、所定の期間前に、第1の送信開始信号(LD_FLG(10d))を送信先に送信する。
受信側制御回路302は、送信先から送信されるデータの先頭位置に対して所定の期間前に送信される第2の送信開始信号(LD_FLG(20a))を受信すると、受信したデータから検査コードを検出するCRC検出回路(受信側CRC検出回路150)に、受信したデータに対して検査コードを検出する処理を実施するように制御する。
上記構成を採用することにより、本第2の実施形態によれば、第1の送信開始信号と第2の送信開始信号に基づいて、データ送受信装置100は、検査対象データの先頭位置を正しく認識できるので、可変長の検査対象データのCRC復号処理において、CRC符号化処理と同様に、検出対象データの先頭位置を検出することできるという効果が得られる。
100 データ送受信装置
110 ホストデバイス
120 送信側制御回路
130 受信側制御回路
140 受信側CRC生成回路
141 並列除算処理部
142 CRCレジスタ
143 CRC付加部
150 受信側CRC検出回路
151 並列除算処理部
152 CRCレジスタ
153 比較器
154 CRCラッチレジスタ
200 対向デバイス
300 データ伝送手段

Claims (10)

  1. CRC(Cyclic Redundancy Check)の対象となるデータに対して検査コードを生成するCRC生成回路から送信先に送信される当該データの先頭位置に対して、所定の期間前に、第1の送信開始信号を前記送信先に送信する送信側制御回路と、
    前記送信先から送信されるデータの先頭位置に対して前記所定の期間前に送信される第2の送信開始信号を受信すると、受信したデータから前記検査コードを検出するCRC検出回路に、受信したデータに対して前記検査コードを検出する処理を実施するように制御する受信側制御回路と
    を備えたデータ送受信装置。
  2. 前記送信側制御回路は、前記データのうち前記検査コードを除く有効データの長さを保持し、当該有効データの長さに基づいて、前記CRC生成回路が当該有効データに対して前記検査コードを生成する処理を実施するように制御する
    請求項1記載のデータ送受信装置。
  3. 前記送信側制御回路は、前記データを送信するトリガとして前記第1の送信開始信号を送出すると、前記保持する有効データの長さに相当するクロック数をカウントし、そのカウント中は、前記CRC生成回路が当該有効データに対して検査コードを生成する処理を実施するように制御する
    請求項2記載のデータ送受信装置。
  4. 前記送信側制御回路は、前記保持する有効データの長さに相当するクロック数のカウントが終了したタイミングにおける、前記検査コードの生成処理の結果を、前記検査コードとして、前記データに付加するように制御する
    請求項3記載のデータ送受信装置。
  5. 前記受信側制御回路は、前記データのうち前記検査コードを除く有効データの長さを保持し、当該有効データの長さに基づいて、前記CRC検出回路が当該有効データに対して前記検査コードを検出する処理を実施するように制御する
    請求項1ないし請求項4のいずれか1項記載のデータ送受信装置。
  6. 前記受信側制御回路は、前記データを受信するトリガとして前記第2の送信開始信号を受信すると、前記保持する有効データの長さに相当するクロック数をカウントし、そのカウント中は、前記CRC検出回路が当該有効データに対して前記検査コードを検出する処理を実施するように制御する
    請求項5記載のデータ送受信装置。
  7. 前記受信側制御回路は、前記保持する有効データの長さに相当するクロック数のカウントが終了したタイミングにおける前記検査コードの検出処理の結果と、前記受信したデータに付加された検査コードとを比較するように、前記CRC検出回路を制御する
    請求項6記載のデータ送受信装置。
  8. CRCの対象となるデータに対して検査コードを生成するCRC生成回路と、
    受信したデータから前記検査コードを検出するCRC検出回路と、
    前記CRC生成回路から送信先に送信される当該データの先頭位置に対して、所定の期間前に、第1の送信開始信号を前記送信先に送信する送信側制御回路と、
    前記送信先から送信されるデータの先頭位置に対して前記所定の期間前に送信される第2の送信開始信号を受信すると、前記CRC検出回路に、受信したデータに対して前記検査コードを検出する処理を実施するように制御する受信側制御回路と
    を備えたデータ送受信装置。
  9. 前記送信側制御回路は、前記データのうち前記検査コードを除く有効データの長さを保持し、当該有効データの長さに基づいて、前記CRC生成回路が当該有効データに対して前記検査コードを生成する処理を実施するように制御する
    請求項8記載のデータ送受信装置。
  10. CRCの対象となるデータに対して検査コードを生成するCRC生成回路から送信先に送信される当該データの先頭位置に対して、所定の期間前に、第1の送信開始信号を前記送信先に送信し、
    前記送信先から送信されるデータの先頭位置に対して前記所定の期間前に送信される第2の送信開始信号を受信すると、受信したデータから前記検査コードを検出するCRC検出回路に、受信したデータに対して前記検査コードを検出する処理を実施するように制御する
    データ送受信方法。
JP2014130225A 2014-06-25 2014-06-25 データ送受信装置およびデータ送受信方法 Pending JP2016010029A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014130225A JP2016010029A (ja) 2014-06-25 2014-06-25 データ送受信装置およびデータ送受信方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014130225A JP2016010029A (ja) 2014-06-25 2014-06-25 データ送受信装置およびデータ送受信方法

Publications (1)

Publication Number Publication Date
JP2016010029A true JP2016010029A (ja) 2016-01-18

Family

ID=55227315

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014130225A Pending JP2016010029A (ja) 2014-06-25 2014-06-25 データ送受信装置およびデータ送受信方法

Country Status (1)

Country Link
JP (1) JP2016010029A (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11331949A (ja) * 1998-05-19 1999-11-30 Nec Eng Ltd データ伝送方式
JP2000041027A (ja) * 1998-07-23 2000-02-08 Nec Corp ビット誤り率測定方式
JP2003134090A (ja) * 2001-10-23 2003-05-09 Fujitsu Ltd 情報送信装置、情報受信装置及び情報通信システム
JP2014011591A (ja) * 2012-06-28 2014-01-20 Toshiba Corp 伝送装置、伝送システム、及びその自己診断方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11331949A (ja) * 1998-05-19 1999-11-30 Nec Eng Ltd データ伝送方式
JP2000041027A (ja) * 1998-07-23 2000-02-08 Nec Corp ビット誤り率測定方式
JP2003134090A (ja) * 2001-10-23 2003-05-09 Fujitsu Ltd 情報送信装置、情報受信装置及び情報通信システム
JP2014011591A (ja) * 2012-06-28 2014-01-20 Toshiba Corp 伝送装置、伝送システム、及びその自己診断方法

Similar Documents

Publication Publication Date Title
US8281189B2 (en) SATA primitive prediction and correction
JP2009510875A (ja) エラー管理用の方法及び装置
JP2015532488A5 (ja)
JP6507259B2 (ja) スキュー自動補正方法および装置
TWI518500B (zh) 資料傳輸檢測裝置、資料傳輸檢測方法及其電子裝置
JP4260688B2 (ja) データ送信装置、データ送受信システム、データ送信装置の制御方法およびデータ送受信システムの制御方法
TW201519581A (zh) 資料傳輸中之累積誤差偵測
US20170109545A1 (en) Electronic device and data verification method
WO2014180414A1 (zh) 基于管理数据输入输出多源协议的传输方法及装置
CN104380273A (zh) 基于环形缓冲器的数据的自适应偏移同步
WO2017022463A1 (ja) データ伝送装置およびデータ伝送方法、受信装置および受信方法、プログラム、並びにデータ伝送システム
JP2016010029A (ja) データ送受信装置およびデータ送受信方法
KR102237747B1 (ko) 반도체 장치
JP2018029227A (ja) エラー検出符号生成装置及びエラー検出装置
JP5376990B2 (ja) 中継装置および中継装置の中継方法
RU2018139479A (ru) Устройство связи, способ связи, программа и система связи
US9479148B2 (en) Serial data signal edge detection
US10484139B2 (en) Address verification on a bus
JP2017208713A5 (ja)
JP2012124642A (ja) 受信装置、データ転送装置、及びプログラム
JP5761944B2 (ja) エラーチェック回路及びエラーチェック方法
JP2007150396A (ja) 通信装置
US20190222355A1 (en) Method, Sensor, and Controller for Transmitting a Data Packet from a Sensor to a Controller
JP2012010108A (ja) データ処理回路及びデータ処理方法
JP6109090B2 (ja) シリアル通信装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170515

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20170711

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180308

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180403

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20181002