(57)【要約】【課題】  可変長の検査対象データのＣＲＣ復号処理において、ＣＲＣ符号化処理と同様に、検出対象データの先頭位置を検出することが可能なデータ送受信装置等を提供する。【解決手段】  データ送受信装置は、ＣＲＣの対象となるデータに対して検査コードを生成するＣＲＣ生成回路から送信先に送信される当該データの先頭位置に対して、所定の期間前に、第１の送信開始信号を送信先に送信する送信側制御回路と、送信先から送信されるデータの先頭位置に対して所定の期間前に送信される第２の送信開始信号を受信すると、受信したデータから検査コードを検出するＣＲＣ検出回路に、受信したデータに対して前記検査コードを検出する処理を実施するように制御する受信側制御回路とを備える。【選択図】      図１
2016010029.tif 000002
【特許請求の範囲】
【請求項１】
ＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ）の対象となるデータに対して検査コードを生成するＣＲＣ生成回路から送信先に送信される当該データの先頭位置に対して、所定の期間前に、第１の送信開始信号を前記送信先に送信する送信側制御回路と、
前記送信先から送信されるデータの先頭位置に対して前記所定の期間前に送信される第２の送信開始信号を受信すると、受信したデータから前記検査コードを検出するＣＲＣ検出回路に、受信したデータに対して前記検査コードを検出する処理を実施するように制御する受信側制御回路と
を備えたデータ送受信装置。
【請求項２】
前記送信側制御回路は、前記データのうち前記検査コードを除く有効データの長さを保持し、当該有効データの長さに基づいて、前記ＣＲＣ生成回路が当該有効データに対して前記検査コードを生成する処理を実施するように制御する
請求項１記載のデータ送受信装置。
【請求項３】
前記送信側制御回路は、前記データを送信するトリガとして前記第１の送信開始信号を送出すると、前記保持する有効データの長さに相当するクロック数をカウントし、そのカウント中は、前記ＣＲＣ生成回路が当該有効データに対して検査コードを生成する処理を実施するように制御する
請求項２記載のデータ送受信装置。
【請求項４】
前記送信側制御回路は、前記保持する有効データの長さに相当するクロック数のカウントが終了したタイミングにおける、前記検査コードの生成処理の結果を、前記検査コードとして、前記データに付加するように制御する
請求項３記載のデータ送受信装置。
【請求項５】
前記受信側制御回路は、前記データのうち前記検査コードを除く有効データの長さを保持し、当該有効データの長さに基づいて、前記ＣＲＣ検出回路が当該有効データに対して前記検査コードを検出する処理を実施するように制御する
請求項１ないし請求項４のいずれか１項記載のデータ送受信装置。
【請求項６】
前記受信側制御回路は、前記データを受信するトリガとして前記第２の送信開始信号を受信すると、前記保持する有効データの長さに相当するクロック数をカウントし、そのカウント中は、前記ＣＲＣ検出回路が当該有効データに対して前記検査コードを検出する処理を実施するように制御する
請求項５記載のデータ送受信装置。
【請求項７】
前記受信側制御回路は、前記保持する有効データの長さに相当するクロック数のカウントが終了したタイミングにおける前記検査コードの検出処理の結果と、前記受信したデータに付加された検査コードとを比較するように、前記ＣＲＣ検出回路を制御する
請求項６記載のデータ送受信装置。
【請求項８】
ＣＲＣの対象となるデータに対して検査コードを生成するＣＲＣ生成回路と、
受信したデータから前記検査コードを検出するＣＲＣ検出回路と、
前記ＣＲＣ生成回路から送信先に送信される当該データの先頭位置に対して、所定の期間前に、第１の送信開始信号を前記送信先に送信する送信側制御回路と、
前記送信先から送信されるデータの先頭位置に対して前記所定の期間前に送信される第２の送信開始信号を受信すると、前記ＣＲＣ検出回路に、受信したデータに対して前記検査コードを検出する処理を実施するように制御する受信側制御回路と
を備えたデータ送受信装置。
【請求項９】
前記送信側制御回路は、前記データのうち前記検査コードを除く有効データの長さを保持し、当該有効データの長さに基づいて、前記ＣＲＣ生成回路が当該有効データに対して前記検査コードを生成する処理を実施するように制御する
請求項８記載のデータ送受信装置。
【請求項１０】
ＣＲＣの対象となるデータに対して検査コードを生成するＣＲＣ生成回路から送信先に送信される当該データの先頭位置に対して、所定の期間前に、第１の送信開始信号を前記送信先に送信し、
前記送信先から送信されるデータの先頭位置に対して前記所定の期間前に送信される第２の送信開始信号を受信すると、受信したデータから前記検査コードを検出するＣＲＣ検出回路に、受信したデータに対して前記検査コードを検出する処理を実施するように制御する
データ送受信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ送受信装置におけるＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ）生成及びＣＲＣ検査技術に関するものである。
【背景技術】
【０００２】
近年、情報通信の高速化や記録／再生システムの大容量化に伴い、通信データや記録／再生データの信頼性向上を目的に、誤り検出技術が重要になってきている。誤り検出技術とは、’０’と’１’のビット列によって表現されたディジタル情報に、誤り検出符号と呼ばれる冗長性を付加することによって、通信や記録／再生の過程において生じるデータの誤りを検出することを可能にする技術である。このような誤り検出符号の生成及び検査手法として、例えば、巡回冗長検査（以降、「ＣＲＣ」と称する）方式がある。
【０００３】
例えば、特許文献１には、ＣＲＣを行うデータ送受信装置が開示される。図６は、特許文献１に開示されるデータ送受信装置の構成を示す図である。図６に示すように、データ送受信装置は、ＣＲＣ符号部１０９とＣＲＣ復号部１１０を備える。
【０００４】
このデータ送受信装置では、図６に示すデータバス１１１およびデータバス１１２に、８ビット幅のバスを用いている。また、データ送受信装置において、ＣＲＣ符号部１０９およびＣＲＣ復号部１１０におけるデータ転送効率を低下させないために、データバス１０５およびデータバス１０６のバス幅と、ＣＲＣ符号部１０９の内部およびＣＲＣ復号部１１０の内部処理は、すべて８ビットで行われる。
【０００５】
ＣＲＣ符号部１０９は、ＣＲＣ付加部５、データ拡張部２０および並列除算処理部１０７を備える。ＣＲＣ復号部１１０は、ＣＲＣ判定部１１、データ出力部１２および並列除算処理部１０８を備える。
【０００６】
並列除算処理部１０７、１０８は、生成多項式Ｇ（Ｘ）＝Ｘ８＋Ｘ２＋Ｘ＋１を使用して、８ビットのパラレル形式のデータの並列除算処理を実行する。並列除算処理部１０７は、データ送受信装置から送信するデータに対して並列除算処理を行い、ＣＲＣ付加部５は、その並列除算処理により得られたＣＲＣコードをデータに付加する。
【０００７】
並列除算処理部１０８は、対向デバイスから送信されたデータのＣＲＣを行うために、当該データに対して並列除算処理を行う。ＣＲＣ判定部１１は、その並列除算処理により得られたＣＲＣコードと、受信したデータに付加されたＣＲＣコードとを比較することにより、当該データのエラー判定を行う。
【０００８】
ここで、データ送受信装置は、以下の方式にて誤りチェックを行う。すなわち、送信データを送信するデータ送受信装置（以下、「送信側」と称する）において、送信データに対してＣＲＣ符号化処理を行う。送信側は、そのＣＲＣ符号化処理の結果得られたＣＲＣコードを送信データに付加して、受信側のデータ送受信装置（以下、「受信側」と称する）に送信する。そして、受信側において、受信したＣＲＣコードが付加されたデータの復号処理を実施すると共に、送信側で付加されたＣＲＣコードと、上記復号処理の結果得られたＣＲＣコードとが一致するか否かに基づいて、データ誤りの有無をチェックする。
【０００９】
あるいは、以下の方式にて誤りチェックを行うデータ送受信装置もある。すなわち、送信側は、上記と同様に、送信データに対してＣＲＣ符号化処理を行い、その結果得られたＣＲＣコードを送信データに付加して受信側に送信する。受信側は、当該送信データを受信すると、送信側に、当該データの誤りチェックのために返信する。送信側は、自装置が送信した、ＣＲＣコードが付加された送信データを受信側から受信する。送信側は、当該送信データに対してＣＲＣ復号処理を実施すると共に、上記と同様に、ＣＲＣコードの一致または不一致を確認することにより、データ誤りの有無をチェックする。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００１−１６８７３０号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
上述した後者の方式にて誤りチェックを行うデータ送受信装置、すなわち、送信データの誤り有無のチェックを、自装置にて行うデータ送受信装置では、以下の制御が必要となる。
【００１２】
すなわち、このようなデータ送受信装置は、検査対象データを受信側に送信後、その検査対象データを受信側から受け取ってＣＲＣ復号処理を実施するにあたり、送信の際に行ったＣＲＣ符号化処理において検査対象データの先頭位置を検出したタイミングと同様のタイミングで、検査対象データの先頭位置を検出する必要がある。
【００１３】
つまり、検査対象データが可変長である場合、データ送受信装置は、当該検査対象データの先頭位置を、受信時（ＣＲＣ復号処理）において正しく認識することが可能な制御が必要である。
【００１４】
ところが、上記特許文献１に示したデータ送受信装置では、固定長の検査対象データに関するＣＲＣ復号処理が開示されるのみであり、可変長の検査対象データに関するＣＲＣ復号処理において、検査対象データの先頭位置を検出することはできない。
【００１５】
本願発明は、上記課題を鑑みてなされたものであり、可変長の検査対象データのＣＲＣ復号処理において、ＣＲＣ符号化処理と同様に、検出対象データの先頭位置を検出することが可能なデータ送受信装置等を提供することを主要な目的とする。
【課題を解決するための手段】
【００１６】
本発明の第１のデータ送受信装置は、ＣＲＣの対象となるデータに対して検査コードを生成するＣＲＣ生成回路から送信先に送信される当該データの先頭位置に対して、所定の期間前に、第１の送信開始信号を前記送信先に送信する送信側制御回路と、前記送信先から送信されるデータの先頭位置に対して前記所定の期間前に送信される第２の送信開始信号を受信すると、受信したデータから前記検査コードを検出するＣＲＣ検出回路に、受信したデータに対して前記検査コードを検出する処理を実施するように制御する受信側制御回路とを備える。
【００１７】
本発明の第２のデータ送受信装置は、ＣＲＣの対象となるデータに対して検査コードを生成するＣＲＣ生成回路と、受信したデータから前記検査コードを検出するＣＲＣ検出回路と、前記ＣＲＣ生成回路から送信先に送信される当該データの先頭位置に対して、所定の期間前に、第１の送信開始信号を前記送信先に送信する送信側制御回路と、前記送信先から送信されるデータの先頭位置に対して前記所定の期間前に送信される第２の送信開始信号を受信すると、前記ＣＲＣ検出回路に、受信したデータに対して前記検査コードを検出する処理を実施するように制御する受信側制御回路とを備える。
【００１８】
本発明の第１のデータ送受信方法は、ＣＲＣの対象となるデータに対して検査コードを生成するＣＲＣ生成回路から送信先に送信される当該データの先頭位置に対して、所定の期間前に、第１の送信開始信号を前記送信先に送信し、前記送信先から送信されるデータの先頭位置に対して前記所定の期間前に送信される第２の送信開始信号を受信すると、受信したデータから前記検査コードを検出するＣＲＣ検出回路に、受信したデータに対して前記検査コードを検出する処理を実施するように制御する。
【発明の効果】
【００１９】
本願発明によれば、可変長の検査対象データのＣＲＣ復号処理において、ＣＲＣ符号化処理と同様に、検出対象データの先頭位置を検出することができるという効果が得られる。
【図面の簡単な説明】
【００２０】
【図１】本発明の第１の実施形態に係るデータ送受信装置の構成を示すブロック図である。
【図２】本発明の第１の実施形態に係るデータ送受信装置における送信動作を示すタイミングチャートである。
【図３】本発明の第１の実施形態に係るデータ送受信装置が備える送信側ＣＲＣ生成回路の構成を示すブロック図である。
【図４】本発明の第１の実施形態に係るデータ送受信装置が備える受信側ＣＲＣ検出回路の構成を示すブロック図である。
【図５】本発明の第１の実施形態に係るデータ送受信装置における受信動作を示すタイミングチャートである。
【図６】本発明の第１の実施形態に関連するデータ送受信装置の構成を示すブロック図である。
【図７】本発明の第２の実施形態に係るデータ送受信装置の構成を示すブロック図である。
【発明を実施するための形態】
【００２１】
以下、本発明の実施形態について図面を参照して詳細に説明する。
【００２２】
第１の実施形態
図１は、本発明の第１の実施形態に係るデータ送受信装置１００の構成を示すブロック図である。データ送受信装置１００は、対向デバイス２００と、データ伝送手段３００を介してデータの送受信を行う。データ送受信装置１００は、データの送受信相手である対向デバイス２００との間で、データを送受信すると共に、自装置においてそのデータに対する誤りチェックを行う。
【００２３】
データ送受信装置１００は、対向デバイス２００との間で送受信するデータの誤りチェックの方式として、ＣＲＣ方式を採用する。すなわち、データ送受信装置１００は、対向デバイス２００に送信したデータ（以下、「検査対象データ」と称する）に対してＣＲＣ演算（ＣＲＣ符号化）処理を行い、その結果得られたＣＲＣコードを当該検査対象データに付加して対向デバイス２００に送信する。このとき、データ送受信装置１００は、送信する検査対象データの誤りチェックを自装置において行うために、当該検査対象データが対向デバイス２００から自装置に送信されるように、自装置のアドレス等を検査対象データに付加しておく。
【００２４】
対向デバイス２００は、上記アドレス等に基づいて、検査対象データをデータ送受信装置１００に送信する。データ送受信装置１００は、受信した検査対象データに対してＣＲＣ復号処理を実施することにより、検査対象データに対する誤りチェックを行う。
【００２５】
以下、データ送受信装置１００によってＣＲＣ方式に準じたデータの誤りチェックを行う動作について説明する。
【００２６】
図１に示すように、データ送受信装置１００は、ホストデバイス１１０、送信側制御回路１２０、受信側制御回路１３０、送信側ＣＲＣ生成回路１４０および受信側ＣＲＣ検出回路１５０を備える。
【００２７】
各構成要素の概略について説明する。
【００２８】
ホストデバイス１１０は、データ送受信装置１００における各種処理を実行すると共に、対向デバイス２００に送信するデータを、送信側制御回路１２０に送出する。送信側制御回路１２０は、データ送受信装置１００から送信するデータに関する制御を行う。受信側制御回路１３０は、データ送受信装置１００において受信するデータに関する制御を行う。送信側ＣＲＣ生成回路１４０は、送信するデータに対してＣＲＣ演算処理を実行することにより、ＣＲＣコードを生成する。受信側ＣＲＣ検出回路１５０は、受信したデータにＣＲＣ復号処理を実行することにより、ＣＲＣコードを検出すると共に、当該データの誤りチェックを行う。
【００２９】
データ送受信装置１００において、ホストデバイス１１０は、送信データの先頭位置を正しく認識するための送信開始信号（詳細は後述する）を送出する。送信側制御回路１２０は、送信開始信号を受け取り、検査対象データの有効データ長に基づく制御タイミング信号（詳細は後述する）を生成する。送信側ＣＲＣ生成回路１４０は、その制御タイミング信号に基づいてＣＲＣ演算処理を実行する。データ送受信装置１００は、ＣＲＣ演算処理により生成されたＣＲＣコード（ＣＲＣ符号）を付加した検査対象データを、対向デバイス２００に送信する。
【００３０】
データ送受信装置１００は、上記検査対象データの誤りチェックのために、対向デバイス２００から、先頭位置を正しく認識するための送信開始信号を受ける。受信側制御回路１３０は、その送信開始信号を受け、検査対象データの有効データ長に基づく制御タイミング信号を生成する。受信側ＣＲＣ検出回路１５０は、その制御タイミング信号に基づいてＣＲＣ復号処理を実行する。受信側ＣＲＣ検出回路１５０は、ＣＲＣ復号処理の結果と、送信側ＣＲＣ生成回路１４０により付加されたＣＲＣコードとを比較することにより、検査対象データに対する誤りチェックを行う。
【００３１】
図２は、データ送受信装置１００における送信動作を示すタイミングチャートである。図１および図２を参照して、データ送受信装置１００の動作の詳細について説明する。
【００３２】
まず、図１を用いて、データ送受信装置１００のデータ送受信動作における初期設定について説明する。データ送受信装置１００において、ホストデバイス１１０は、検査対象データに関する有効データ長を、送信側制御回路１２０および受信側制御回路１３０に送出する。送信側制御回路１２０および受信側制御回路１３０は、それぞれ１６ビットのデータにより示される有効データ長（以降、「ＬＥＮＧＴＨ［１５：０］」と表記する場合がある）を、カウンタ１２１およびカウンタ１３１に保持しておく。有効データ長は、検査対象データのうち、ＣＲＣコードを除く有効データの長さを示す。
【００３３】
次に、ホストデバイス１１０は、送信側ＣＲＣ生成回路１４０および受信側ＣＲＣ検出回路１５０に、”Ｈ”を示す１クロック（１ＴＣＬＫ）幅のＣＲＣ＿ＣＬＲ（ＣＲＣクリア）信号を送出する。送信側ＣＲＣ生成回路１４０および受信側ＣＲＣ検出回路１５０は、内部に備えた８ビットのフリップフロップ回路であるＣＲＣレジスタ（ＣＲＣ＿ｒｅｇ[７：０]）（後述する）を、すべて”０”にする。以上の動作により、データ送受信装置１００の初期設定が行われる。
【００３４】
次に、図２を参照して、データ送受信装置１００の動作の詳細について説明する。
【００３５】
ホストデバイス１１０は、任意のタイミングで、可変長の入力データ、すなわち検査対象データを送信側制御回路１２０に送出する。送信側制御回路１２０は、ホストデバイス１１０から取得した検査対象データを、図示しないメモリに格納する。なお、入力データ（検査対象データ）は、８ビットデータ列として送信側制御回路１２０に送出される。以降、検査対象データを、「ＤＡＴＡＩＮ［７：０］」または「ＤＩＮ［７：０］」と表記する場合がある。
【００３６】
ホストデバイス１１０は、送信側制御回路１２０が送信側ＣＲＣ生成回路１４０に送出する、検査対象データの先頭位置の１ＣＬＫ手前のタイミングで、送信側制御回路１２０に、”Ｈ”を示す１ＴＣＬＫ幅の送信開始信号ＬＤ（１０ａ）を送出する。送信開始信号ＬＤ（１０ａ）は、検査対象データの先頭位置を管理する信号である。
【００３７】
送信側制御回路１２０は、上記送信開始信号ＬＤ（１０ａ）＝”Ｈ”による動作開始トリガーが送出されたタイミングで、データ長制御信号ＤＡＴＡ＿ＥＮ（１０ｂ）を”Ｌ”から”Ｈ”に切り替え、ＤＡＴＡ＿ＥＮ（１０ｂ）＝”Ｈ”を送信側ＣＲＣ生成回路１４０に出力する動作を開始する。これと同じタイミングで、送信側制御回路１２０は、格納している検査対象データ（ＤＩＮ［７：０］）を送信側ＣＲＣ生成回路１４０に送出する。データ長制御信号ＤＡＴＡ＿ＥＮ（１０ｂ）は、検査対象データの有効データ長を管理する信号である。
【００３８】
ここで、送信側制御回路１２０は、カウンタ１２１により、データ長制御信号ＤＡＴＡ＿ＥＮ（１０ｂ）＝”Ｈ”のタイミングを制御する。すなわち、送信側制御回路１２０は、上述したように、初期設定において、ホストデバイス１１０から取得した有効データ長をカウンタ１２１に保持している。カウンタ１２１は、有効データ長に相当するクロック数をカウントすると共に、そのカウント期間中は、ＤＡＴＡ＿ＥＮ（１０ｂ）＝”Ｈ”を保持したまま送信側ＣＲＣ生成回路１４０に出力する。
【００３９】
カウンタ１２１が、有効データ長に相当するクロック数をカウントし終えたタイミング（図２のタイミング１６０）で、送信側制御回路１２０は、ＤＡＴＡ＿ＥＮ（１０ｂ）を”Ｌ”に切り替える。
【００４０】
図２に示すように、送信側ＣＲＣ生成回路１４０に入力されるデータ（ＤＩＮ［７：０］）の有効／無効は、データ長制御信号ＤＡＴＡ＿ＥＮ（１０ｂ）により制御される。すなわち、データ長制御信号ＤＡＴＡ＿ＥＮ（１０ｂ）＝”Ｈ”の入力期間中、送信側ＣＲＣ生成回路１４０は、入力データ（ＤＩＮ［７：０］）をＣＲＣ＿ｒｅｇ［７：０］に取り込むと共に、ＣＲＣ演算（図２の期間１６１での演算）を行う。
【００４１】
入力データ（ＤＩＮ［７：０］）は、ＤＡＴＡ＿ＥＮ（１０ｂ）をトリガとして、１ＴＣＬＫ幅遅れて、出力データ（ＤＯＵＴ［７：０］）として、対向デバイス２００側に出力される（図２の矢印１６２）。
【００４２】
ここで、送信側制御回路１２０は、対向デバイス２００に送信する、出力データ（ＤＯＵＴ［７：０］）の先頭位置の１ＣＬＫ手前のタイミング（すなわち、送信開始信号ＬＤ（１０ａ）を送出した次のタイミング（図２のパルス１６６））で、対向デバイス２００に、”Ｈ”を示す１ＴＣＬＫ幅の送信開始信号ＬＤ＿ＦＬＧ（１０ｄ）を送出する。送信開始信号ＬＤ＿ＦＬＧ（１０ｄ）は、対向デバイス２００が検査対象データの先頭位置を正しく認識するように制御する信号であり、検査対象データの先頭位置の１ＣＬＫ手前のタイミングを示す。
【００４３】
図３は、送信側ＣＲＣ生成回路１４０の構成を示すブロック図である。図３に示すように、送信側ＣＲＣ生成回路１４０は、並列除算処理部１４１、ＣＲＣレジスタ１４２およびＣＲＣ付加部１４３を備える。並列除算処理部１４１は、生成多項式を用いて、並列ＣＲＣ演算処理（並列ＣＲＣ符号化処理）を実行する。並列除算処理部１４１は、生成多項式として、例えば、以下のＧ（Ｘ）を用いてもよい。
【００４４】
Ｇ（Ｘ）＝Ｘ８＋Ｘ２＋Ｘ＋１
並列除算処理部１４１の具体的な動作は、例えば特許文献１に開示されるので、その詳細な説明は省略する。
【００４５】
ＣＲＣレジスタ１４２は、並列除算処理部１４１による演算結果が入力されるレジスタである。ＣＲＣ付加部１４３は、後述するＣＲＣ付加信号ＣＲＣ＿ＭＵＸ（１０ｃ）に基づいて、ＣＲＣコードを検査対象データに付加すると共に、ＣＲＣコードが付加された検査対象データを、ＤＯＵＴ［７：０］として出力する。
【００４６】
以上のように、送信側制御回路１２０が、有効データ長に相当するクロック数をカウントし終えたタイミングで、ＤＡＴＡ＿ＥＮ（１０ｂ）を”Ｈ”から”Ｌ”に切り替えると、送信側ＣＲＣ生成回路１４０におけるＣＲＣレジスタ１４２に入力されるＤＡＴＡ＿ＥＮ（１０ｂ）＝”Ｌ”となるので、ＣＲＣ演算処理はＯＦＦとなる。このとき、ＣＲＣレジスタ（ＣＲＣ＿ｒｅｇ［７：０］）１４２にＣＲＣ演算処理の結果（図２のＣＲＣ演算結果１６３）が保持される。
【００４７】
送信側制御回路１２０は、ＤＡＴＡ＿ＥＮ（１０ｂ）を”Ｈ”から”Ｌ”に切り替えたタイミングで、ＣＲＣ付加信号ＣＲＣ＿ＭＵＸ（１０ｃ）を”Ｌ”から”Ｈ”に切り替える（図２のパルス１６４）。そして、送信側制御回路１２０は、カウンタが”有効データ長＋１”に相当するクロック数をカウントしたタイミングで、ＣＲＣ付加信号ＣＲＣ＿ＭＵＸ（１０ｃ）＝”Ｌ”に切り替える。ＣＲＣ付加信号ＣＲＣ＿ＭＵＸ（１０ｃ）は、ＣＲＣレジスタ１４２に保持されるＣＲＣコードを、検査対象データに付加するタイミングを管理する信号である。
【００４８】
ＣＲＣ付加信号ＣＲＣ＿ＭＵＸ（１０ｃ）＝”Ｈ”が入力されると、送信側ＣＲＣ生成回路１４０は、ＣＲＣ付加部１４３において、検査対象データにＣＲＣコードを付加する（図２の矢印１６５）。
【００４９】
上述のように、送信側制御回路１２０は、データ長制御信号ＤＡＴＡ＿ＥＮ（１０ｂ）を”Ｈ”から”Ｌ”に切り替えたタイミングで、ＣＲＣ付加信号ＣＲＣ＿ＭＵＸ（１０ｃ）＝”Ｈ”を送信側ＣＲＣ生成回路１４０に送出する。送信側ＣＲＣ生成回路１４０は、ＣＲＣ付加信号ＣＲＣ＿ＭＵＸ（１０ｃ）＝”Ｌ”の間、入力データ（ＤＩＮ［７：０］）の８ビットデータ列を出力する。そして、送信側ＣＲＣ生成回路１４０は、ＣＲＣ付加信号ＣＲＣ＿ＭＵＸ（１０ｃ）＝”Ｈ”（図２のパルス１６４）のタイミングで、入力データ（ＤＩＮ［７：０］）の８ビットデータ列の最終データの後に、ＣＲＣ演算処理の結果として、ＣＲＣ＿ｒｅｇ［７：０］に保持されたＣＲＣコードを付加する。この動作により、データ送受信装置１００は、検査対象データに、ＣＲＣ演算処理の結果であるＣＲＣコードを付加して生成された出力データ（ＤＯＵＴ［７：０］）を、対向デバイス２００に送信することができる。
【００５０】
次に、上記のようにデータ送受信装置１００から送信された検査対象データに対する対向デバイス２００におけるデータ送受信処理について説明する。対向デバイス２００は、データ送受信装置１００における送信側制御回路１２０と受信側制御回路１３０と、それぞれ同様の構成を有する送信側制御回路２２０と受信側制御回路２１０を備える。
【００５１】
上述のように、対向デバイス２００は、データ送受信装置１００から受信した検査対象データを、データ送受信装置１００において誤りチェックを実施するために、データ送受信装置１００に送信する。
【００５２】
また、上述のように、データ送受信装置１００における送信側制御回路１２０は、送信する検査対象データの先頭位置の１ＣＬＫ手前のタイミングで、送信開始信号ＬＤ＿ＦＬＧ（１０ｄ）を対向デバイス２００に送信する。また、対向デバイス２００における送信側制御回路２２０も、検査対象データの先頭位置を送信開始信号ＬＤ＿ＦＬＧ（２０ａ）により管理している。すなわち、送信側制御回路２２０は、送信する検査対象データの先頭位置の１ＣＬＫ手前のタイミングで、送信開始信号ＬＤ＿ＦＬＧ（２０ａ）を、データ送受信装置１００に送信する。
【００５３】
すなわち、対向デバイス２００は、データ送受信装置１００に検査対象データの送信を開始する際に、検出対象データの先頭位置の１ＣＬＫ手前のタイミングにおいて、受信側データ送受信装置１００に、送信開始信号ＬＤ＿ＦＬＧ（２０ａ）＝”Ｈ”を１ＴＣＬＫ幅にて送出する。
【００５４】
ここで、図４を参照して、受信側ＣＲＣ検出回路１５０の構成について説明する。図４に示すように、受信側ＣＲＣ検出回路１５０は、並列除算処理部１５１、ＣＲＣレジスタ１５２、比較器１５３およびＣＲＣラッチレジスタ１５４を備える。並列除算処理部１５１は、図３に示した並列除算処理部１４１と同様の生成多項式Ｇ（Ｘ）を用いて並列除算処理（並列ＣＲＣ復号処理）を実行する。ＣＲＣレジスタ１５２は、並列除算処理部１５１による演算結果が入力されるレジスタである。比較器１５３は、ＣＲＣレジスタ１５２からの入力と、ＣＲＣラッチレジスタ１５４からの入力とを比較すると共に、比較の結果を出力する。ＣＲＣラッチレジスタ１５４は、受信した検査対象データに付加されたＣＲＣコードが入力されるレジスタである。
【００５５】
図５は、データ送受信装置１００における受信動作を示すタイミングチャートである。図４および図５を参照して、データ送受信装置１００における受信動作について説明する。
【００５６】
図５に示すように、データ送受信装置１００は、受信側制御回路１３０において、対向デバイス２００から検査対象データの先頭位置の１ＣＬＫ手前のタイミングで、１ＴＣＬＫ幅の送信開始信号ＬＤ＿ＦＬＧ（２０ａ）＝”Ｈ”を受信する（図５のパルス１７０）。この信号に応じて、受信側制御回路１３０は、データ長制御信号ＤＡＴＡ＿ＥＮ（２０ｂ）を、”Ｌ”から”Ｈ”に切り替え、受信側ＣＲＣ検出回路１５０に出力する動作を開始する。
【００５７】
ここで、受信側制御回路１３０は、送信側制御回路１２０と同様に、カウンタ１３１により、ＤＡＴＡ＿ＥＮ（２０ｂ）＝”Ｈ”のタイミングを制御する。すなわち、上述したように、受信側制御回路１３０は、初期設定により、ホストデバイス１１０から取得した有効データ長をカウンタ１３１に保持している。カウンタ１３１は、有効データ長に相当するクロック数をカウントすると共に、そのカウント期間中は、ＤＡＴＡ＿ＥＮ（２０ｂ）＝”Ｈ”を保持したまま受信側ＣＲＣ検出回路１５０に出力する。
【００５８】
カウンタが、有効データ長に相当するクロック数をカウントし終えたタイミングで、受信側制御回路１３０は、ＤＡＴＡ＿ＥＮ（２０ｂ）を”Ｌ”に切り替える（図５のタイミング１７１）。
【００５９】
上述した送信側ＣＲＣ生成回路１４０に入力されるデータと同様に、受信側ＣＲＣ検出回路１５０に入力されるデータ（ＤＩＮ［７：０］）の有効／無効は、データ長制御信号ＤＡＴＡ＿ＥＮ（２０ｂ）により制御される。すなわち、データ長制御信号ＤＡＴＡ＿ＥＮ（２０ｂ）＝”Ｈ”の入力期間中、受信側ＣＲＣ検出回路１５０は、入力データ（ＤＩＮ［７：０］）をＣＲＣ＿ｒｅｇ［７：０］に取り込むと共に、ＣＲＣ演算処理（図５の期間１７２における演算）を行う。
【００６０】
受信側制御回路１３０は、ＤＡＴＡ＿ＥＮ（２０ｂ）を”Ｈ”から”Ｌ”に切り替えたタイミングで、ＣＲＣイネーブル信号ＣＲＣ＿ＥＮ（２０ｃ）を”Ｌ”から”Ｈ”に切り替える。そして、受信側制御回路１３０は、カウンタ１３１が”有効データ長＋１”に相当するクロック数をカウントしたタイミングで、ＣＲＣイネーブル信号ＣＲＣ＿ＥＮ（２０ｃ）＝”Ｌ”に切り替える。ＣＲＣイネーブル信号ＣＲＣ＿ＥＮ（２０ｃ）は、検査対象データに含まれるＣＲＣコードの位置を管理する信号である。
【００６１】
ＣＲＣイネーブル信号ＣＲＣ＿ＥＮ（２０ｃ）＝”Ｈ”のタイミングで、受信側ＣＲＣ検出回路１５０は、送信側制御回路２２０から送出された（ＤＩＮ［７：０］）を、ＣＲＣラッチレジスタ（ＣＲＣ＿ＬＡＴ＿ｒｅｇ［７：０］）１５４に保持する（図５の１７３に示す）。
【００６２】
受信側制御回路１３０は、ＣＲＣチェックイネーブル信号ＣＲＣ＿ＣＨＫ（２０ｄ）＝”Ｈ”を、ＣＲＣイネーブル信号ＣＲＣ＿ＥＮ（２０ｃ）＝”Ｌ”となったタイミングで送出する。そして、受信側制御回路１３０は、カウンタ１３１が”有効データ長＋２”に相当するクロック数をカウントしたタイミングでＣＲＣチェックイネーブル信号ＣＲＣ＿ＣＨＫ（２０ｄ）＝”Ｌ”に切り替える。ＣＲＣチェックイネーブル信号ＣＲＣ＿ＣＨＫ（２０ｄ）は、ＣＲＣコードの比較のタイミングを管理する信号である。
【００６３】
上述のように、受信側制御回路１３０から、ＣＲＣ＿ＣＨＫ（２０ｄ）＝”Ｈ”を受けると、受信側ＣＲＣ検出回路１５０は、比較器１５３において、上述のＣＲＣ＿ＥＮ（２０ｃ）＝”Ｈ”のタイミングでＣＲＣ＿ＬＡＴ＿ｒｅｇ［７：０］に保持されたＣＲＣコードと、ＣＲＣ＿ｒｅｇ［７：０］に保持されたＣＲＣ演算処理の結果とを比較する。
【００６４】
比較器１５３は、両者の一致または不一致に応じて、検査対象データの誤り有無を示す信号を出力する。すなわち、比較器１５３は、両者が一致するときは、誤り有無信号ＣＲＣ＿ＮＧ（２０ｅ）＝”Ｌ”のまま受信側制御回路１３０に出力する。一方、両者が不一致のとき、比較器１５３は、誤り有無信号ＣＲＣ＿ＮＧ（２０ｅ）＝”Ｈ”を受信側制御回路１３０に出力する。誤り有無信号ＣＲＣ＿ＮＧ（２０ｅ）は、検査対象データの誤り有無を示す信号であり、”Ｌ”のとき「誤り無し」、”Ｈ”のとき「誤り有り」を示す。
【００６５】
受信側制御回路１３０は、誤り有無信号ＣＲＣ＿ＮＧ（２０ｅ）＝”Ｌ”を受けると、「誤り無し」と判定し、ホストデバイス１１０にＡＣＫ信号を出力する。一方、受信側制御回路１３０は、誤り有無信号ＣＲＣ＿ＮＧ（２０ｅ）＝”Ｈ”を受けると「誤り有り」と判定し、ホストデバイス１１０にＮＡＣＫ信号を出力する。以上の動作により、データ送受信装置１００は、検査対象データの誤りチェックを実施できる。
【００６６】
以上のように、本実施形態によれば、データ送受信装置１００が備える送信側制御回路１２０は、対向デバイス２００に送信する検査対象データの先頭位置の１ＣＬＫ手前のタイミングで（、すなわち検査対象データを送信するトリガとして）、対向デバイス２００に送信開始信号ＬＤ＿ＦＬＧ（１０ｄ）を送出する。受信側制御回路１３０は、また、検査対象データの先頭位置の１ＣＬＫ手前のタイミングで（、すなわち検査対象データを受信するトリガとして）、対向デバイス２００から送信開始信号ＬＤ＿ＦＬＧ（２０ａ）を受信する。受信側制御回路１３０は、送信開始信号ＬＤ＿ＦＬＧ（２０ａ）を受けたタイミングを、検査対象データの先頭位置と認識する。
【００６７】
上記構成を採用することにより、本第１の実施形態によれば、データ送受信装置１００は、送信開始信号ＬＤ＿ＦＬＧ（２０ａ）によって、検査対象データの先頭位置を正しく認識することができるので、可変長の検査対象データのＣＲＣ復号処理において、ＣＲＣ演算処理と同様に、検出対象データの先頭位置を検出することができるという効果が得られる。
【００６８】
第２の実施形態
図７は、本発明の第２の実施形態に係るデータ送受信装置３００の構成を示すブロック図である。図７に示すように、データ送受信装置は、送信側制御回路３０１と受信側制御回路３０２を備える。
【００６９】
送信側制御回路３０１は、ＣＲＣの対象となるデータ（検査対象データ）に対して検査コードを生成するＣＲＣ生成回路（送信側ＣＲＣ生成回路１４０）から送信先（対向デバイス２００）に送信される当該データの先頭位置に対して、所定の期間前に、第１の送信開始信号（ＬＤ＿ＦＬＧ（１０ｄ））を送信先に送信する。
【００７０】
受信側制御回路３０２は、送信先から送信されるデータの先頭位置に対して所定の期間前に送信される第２の送信開始信号（ＬＤ＿ＦＬＧ（２０ａ））を受信すると、受信したデータから検査コードを検出するＣＲＣ検出回路（受信側ＣＲＣ検出回路１５０）に、受信したデータに対して検査コードを検出する処理を実施するように制御する。
【００７１】
上記構成を採用することにより、本第２の実施形態によれば、第１の送信開始信号と第２の送信開始信号に基づいて、データ送受信装置１００は、検査対象データの先頭位置を正しく認識できるので、可変長の検査対象データのＣＲＣ復号処理において、ＣＲＣ符号化処理と同様に、検出対象データの先頭位置を検出することできるという効果が得られる。
【符号の説明】
【００７２】
１００  データ送受信装置
１１０  ホストデバイス
１２０  送信側制御回路
１３０  受信側制御回路
１４０  受信側ＣＲＣ生成回路
１４１  並列除算処理部
１４２  ＣＲＣレジスタ
１４３  ＣＲＣ付加部
１５０  受信側ＣＲＣ検出回路
１５１  並列除算処理部
１５２  ＣＲＣレジスタ
１５３  比較器
１５４  ＣＲＣラッチレジスタ
２００  対向デバイス
３００  データ伝送手段
【図１】
2016010029.tif 000003
【図２】
2016010029.tif 000004
【図３】
2016010029.tif 000005
【図４】
2016010029.tif 000006
【図５】
2016010029.tif 000007
【図６】
2016010029.tif 000008
【図７】
2016010029.tif 000009