JP2016178551A - Communication device and control method - Google Patents

Communication device and control method Download PDF

Info

Publication number
JP2016178551A
JP2016178551A JP2015058621A JP2015058621A JP2016178551A JP 2016178551 A JP2016178551 A JP 2016178551A JP 2015058621 A JP2015058621 A JP 2015058621A JP 2015058621 A JP2015058621 A JP 2015058621A JP 2016178551 A JP2016178551 A JP 2016178551A
Authority
JP
Japan
Prior art keywords
value
remainder
storage unit
groups
data
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.)
Granted
Application number
JP2015058621A
Other languages
Japanese (ja)
Other versions
JP6351530B2 (en
Inventor
一久 北村
Kazuhisa Kitamura
一久 北村
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.)
PFU Ltd
Original Assignee
PFU 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 PFU Ltd filed Critical PFU Ltd
Priority to JP2015058621A priority Critical patent/JP6351530B2/en
Publication of JP2016178551A publication Critical patent/JP2016178551A/en
Application granted granted Critical
Publication of JP6351530B2 publication Critical patent/JP6351530B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To reduce a data amount to be stored beforehand in a storage device in a communication device which transmits and verifies a check code, while processing the check code at high speed.SOLUTION: A communication device 100 includes: a storage unit 110 which sets a plurality of groups composed of a plurality of values each having a part of digits in predetermined digits to be effective digits while digits other than the effective digits set to be 0, and retains a plurality of surplus values obtained by dividing the plurality of values included in each group by a predetermined value respectively, on a group-by-group basis; a generation unit 130 which divides transmission data into the plurality of groups, acquires each surplus value by referring to the storage unit for each of the plurality of groups, and generates a transmission check code on the basis of the total sum of acquired surplus values; and a verification unit 160 which divides a value based on the reception data into a plurality of groups, acquires each surplus value by referring to the storage unit for each of the plurality of groups, and verifies the reception data and the reception check code on the basis of the total sum of acquired surplus values. The storage unit can be referred to simultaneously from the generation unit and the verification unit.SELECTED DRAWING: Figure 1

Description

本発明は、通信装置及び制御方法に関し、特に、チェックコードを送信し且つ検証する通信装置及びその通信装置の制御方法に関する。   The present invention relates to a communication apparatus and a control method, and more particularly to a communication apparatus that transmits and verifies a check code and a control method for the communication apparatus.

通信データの誤りを検出するために、CRC(Cyclic Redundancy Check)を用いた誤り検出方式が利用されている。近年、記憶装置の大容量化、通信インタフェース及びバスインタフェースの高速化等に伴って、単位時間に処理される通信データの量が増大してきており、大量のCRCを算出することが必要になっている。   In order to detect errors in communication data, an error detection method using CRC (Cyclic Redundancy Check) is used. In recent years, the amount of communication data processed per unit time has increased as the capacity of storage devices has increased and the speed of communication interfaces and bus interfaces has increased, making it necessary to calculate a large number of CRCs. Yes.

通常、対象データを多項式に見立てて、予め定められた生成多項式で除算した剰余値がCRCとして用いられる。一般に、CRCを算出するために、対象データを1ビットずつシフトさせながら所定の比較減算処理を実行することにより、対象データの剰余値を算出する方法が用いられている。しかしながら、この方法では、1ビットずつ比較減算処理を実行する必要があるため、剰余値を算出するために多大な時間が必要となる。   Normally, the remainder value obtained by dividing the target data into a polynomial and dividing by a predetermined generator polynomial is used as the CRC. In general, in order to calculate the CRC, a method of calculating a remainder value of the target data by executing a predetermined comparison / subtraction process while shifting the target data bit by bit. However, in this method, since it is necessary to execute the comparison / subtraction processing bit by bit, it takes a lot of time to calculate the remainder value.

剰余値の算出時間を短くするために、対象データが取り得る全ての値をそれぞれ生成多項式で除算した剰余値を予め算出してテーブルに記憶しておき、そのテーブルを参照することにより、対象データの剰余値を求める方法も考えられる。しかしながら、対象データのサイズが増大する程、必要となるテーブルのサイズは指数関数的に増大するため、記憶装置のサイズ及びコストが増大するという問題がある。   In order to shorten the calculation time of the remainder value, the remainder value obtained by dividing all the possible values of the target data by the generator polynomial is calculated in advance and stored in a table, and the target data is referred to by referring to the table. A method of obtaining the remainder value of can also be considered. However, as the size of the target data increases, the required table size increases exponentially, and there is a problem that the size and cost of the storage device increase.

入力情報列に対応する多項式を生成多項式で除算したときの剰余を計算する剰余計算装置が知られている(特許文献1を参照)。この剰余計算装置は、複数の単位情報列の値をインデクスとして、対応する剰余情報列の値をそれぞれ保持する複数の剰余テーブルを記憶しておく。剰余計算装置は、対象情報列を複数の単位情報列に分割して、それぞれの単位情報列の値をインデクスとして複数の剰余テーブルを参照し、複数の剰余情報列の値を取得し、得られた複数の剰余情報列の排他的論理和に基づいて剰余を計算する。   There is known a residue calculation device that calculates a residue when a polynomial corresponding to an input information sequence is divided by a generator polynomial (see Patent Document 1). The remainder calculation apparatus stores a plurality of remainder tables each holding the values of the corresponding remainder information strings, using the values of the plurality of unit information strings as indexes. The remainder calculation apparatus divides the target information string into a plurality of unit information strings, obtains values of the plurality of remainder information strings by referring to the plurality of remainder tables using the values of the respective unit information strings as indexes. The remainder is calculated based on the exclusive OR of the plurality of remainder information strings.

また、入力情報ビット列を生成多項式により除算する除算装置が知られている(特許文献2を参照)。この除算装置は、入力情報ビット列を複数のサブビット列に分割する。除算装置は、各サブビット列の最下位のビットに対応する入力情報ビット列内におけるビット位置を1とし、他のビットを0としたビット列を生成多項式で除算して得られる剰余値を保持しておく。そして、除算装置は、各剰余値と、対応するサブビット列の乗算結果をモジュロ2加算し、生成多項式で除算する。   Also, a division device that divides an input information bit string by a generator polynomial is known (see Patent Document 2). This division device divides an input information bit string into a plurality of sub-bit strings. The division device holds a remainder value obtained by dividing a bit string in which the bit position in the input information bit string corresponding to the least significant bit of each sub-bit string is 1 and the other bits are 0 by the generator polynomial. . Then, the division device modulo-2 adds each remainder value and the multiplication result of the corresponding sub-bit sequence, and divides by the generator polynomial.

特開2008−11025号公報JP 2008-11025 A 特開2008−160663号公報JP 2008-160663 A

特許文献1に記載の剰余計算装置及び特許文献2に記載の除算装置では、効率良く入力情報列を生成多項式で除算することができる。   In the remainder calculation apparatus described in Patent Document 1 and the division apparatus described in Patent Document 2, an input information sequence can be efficiently divided by a generator polynomial.

しかしながら、チェックコードを送信し且つ検証する通信装置では、高速にチェックコードを処理しつつ、記憶装置に格納しておくデータ量をより低減させることが求められている。   However, a communication device that transmits and verifies a check code is required to further reduce the amount of data stored in a storage device while processing the check code at high speed.

本発明の目的は、チェックコードを送信し且つ検証する通信装置において、高速にチェックコードを処理しつつ、記憶装置に格納しておくデータ量をより低減させることが可能な通信装置及び制御方法を提供することにある。   An object of the present invention is to provide a communication device and a control method capable of further reducing the amount of data stored in a storage device while processing the check code at high speed in a communication device that transmits and verifies a check code. It is to provide.

本発明の一側面に係る通信装置は、所定桁を有する送信データ及び受信データを通信する通信装置であって、所定桁の内の一部を有効桁とし且つ有効桁以外の桁を0とする複数の値から構成されるグループを複数個設定し、各グループに含まれる複数の値をそれぞれ所定値で除算した複数の剰余値をグループ毎に保持する記憶部と、送信データを複数のグループに分割し、複数のグループ毎に記憶部を参照して剰余値を取得し、取得した剰余値の総和に基づいて送信チェックコードを生成する生成部と、送信データを送信チェックコードとともに送信する送信部と、受信データ及び受信データに対する受信チェックコードを受信する受信部と、受信データに基づく値を複数のグループに分割し、複数のグループ毎に記憶部を参照して剰余値を取得し、取得した剰余値の総和に基づいて受信データ及び受信チェックコードを検証する検証部と、を有し、記憶部は、生成部及び検証部から同時に参照可能である。   A communication apparatus according to an aspect of the present invention is a communication apparatus that communicates transmission data and reception data having a predetermined digit, wherein a part of the predetermined digit is a valid digit and a digit other than the valid digit is set to 0. A plurality of groups composed of a plurality of values are set, a storage unit that holds a plurality of residue values for each group obtained by dividing a plurality of values included in each group by a predetermined value, and transmission data into a plurality of groups A generation unit that divides and acquires a remainder value by referring to a storage unit for each of a plurality of groups, generates a transmission check code based on the sum of the obtained remainder values, and a transmission unit that transmits transmission data together with the transmission check code A reception unit that receives the reception data and a reception check code for the reception data, and divides the value based on the reception data into a plurality of groups, and refers to the storage unit for each of the plurality of groups, Tokushi includes a verification unit for verifying the received data and the reception check code based on the sum of the obtained residue values to, the storage unit can be simultaneously referred to from the generation unit and the verification unit.

また、本発明の他の側面に係る通信装置は、所定桁を有する送信データ及び受信データを通信する通信装置であって、所定桁の内の一部を有効桁とし且つ有効桁以外の桁を0とする複数の値から構成されるグループを複数個設定し、各グループにおける最小値を所定値で除算した剰余値をグループ毎に保持する第1記憶部と、所定の複数の値をそれぞれ所定値で除算した複数の剰余値を保持する第2記憶部と、送信データを複数のグループに分割し、複数のグループ毎に、第1記憶部を参照して剰余値を取得し、取得した剰余値と各グループの有効桁の桁値の乗算値を算出し、第2記憶部を参照して乗算値に対応する剰余値を取得し、当該取得した剰余値の総和に基づいて送信チェックコードを生成する生成部と、送信データを送信チェックコードとともに送信する送信部と、受信データ及び受信データに対する受信チェックコードを受信する受信部と、受信データに基づく値を複数のグループに分割し、複数のグループ毎に、第1記憶部を参照して剰余値を取得し、取得した剰余値と各グループの有効桁の桁値の乗算値を算出し、第2記憶部を参照して乗算値に対応する剰余値を取得し、当該取得した剰余値の総和に基づいて受信データ及び受信チェックコードを検証する検証部と、を有し、第2記憶部は、生成部及び検証部から複数のグループについて同時に参照可能である。   A communication device according to another aspect of the present invention is a communication device that communicates transmission data and reception data having a predetermined digit, wherein a part of the predetermined digit is a valid digit and a digit other than the valid digit is set. A plurality of groups each composed of a plurality of values set to 0 are set, a first storage unit that holds a remainder value obtained by dividing a minimum value in each group by a predetermined value for each group, and a predetermined plurality of values respectively. A second storage unit that holds a plurality of residue values divided by a value, and divides transmission data into a plurality of groups, acquires a residue value by referring to the first storage unit for each of the plurality of groups, and acquires the residue The multiplication value of the value and the significant digit value of each group is calculated, the remainder value corresponding to the multiplication value is obtained by referring to the second storage unit, and the transmission check code is calculated based on the sum of the obtained remainder values. Generation unit to generate and transmission data transmission check A transmitter that transmits the received data, a reception unit that receives the reception check code for the received data, and a value based on the received data is divided into a plurality of groups, and the first storage unit is referenced for each of the plurality of groups. To obtain a remainder value, calculate a multiplication value of the obtained remainder value and the digit value of the significant digit of each group, obtain a remainder value corresponding to the multiplication value with reference to the second storage unit, and obtain the obtained A verification unit that verifies the received data and the reception check code based on the sum of the remainder values, and the second storage unit can simultaneously refer to a plurality of groups from the generation unit and the verification unit.

また、本発明の一側面に係る制御方法は、記憶部を有し、所定桁を有する送信データ及び受信データを通信する通信装置の制御方法であって、所定桁の内の一部を有効桁とし且つ有効桁以外の桁を0とする複数の値から構成されるグループを複数個設定し、各グループに含まれる複数の値をそれぞれ所定値で除算した複数の剰余値をグループ毎に記憶部に保持し、送信データを複数のグループに分割し、複数のグループ毎に記憶部を参照して剰余値を取得し、取得した剰余値の総和に基づいて送信チェックコードを生成し、送信データを送信チェックコードとともに送信し、受信データ及び受信データに対する受信チェックコードを受信し、受信データに基づく値を複数のグループに分割し、複数のグループ毎に記憶部を参照して剰余値を取得し、取得した剰余値の総和に基づいて受信データ及び受信チェックコードを検証することを含み、記憶部は、生成及び検証において同時に参照可能である。   A control method according to an aspect of the present invention is a control method for a communication apparatus that includes a storage unit and communicates transmission data and reception data having a predetermined digit, and a part of the predetermined digits is a valid digit. And sets a plurality of groups composed of a plurality of values in which digits other than significant digits are 0, and stores a plurality of remainder values obtained by dividing a plurality of values included in each group by a predetermined value for each group The transmission data is divided into a plurality of groups, a remainder value is obtained by referring to the storage unit for each of the plurality of groups, a transmission check code is generated based on the sum of the obtained remainder values, and the transmission data is The data is transmitted together with the transmission check code, the reception check code for the reception data and the reception data is received, the value based on the reception data is divided into a plurality of groups, and the remainder value is obtained by referring to the storage unit for each of the plurality of groups. And comprises verifying the received data and the reception check code based on the sum of the obtained residue values storage unit can be simultaneously referred to in the generation and verification.

また、本発明の他の側面に係る制御方法は、第1記憶部及び第2記憶部を有し、所定桁を有する送信データ及び受信データを通信する通信装置の制御方法であって、所定桁の内の一部を有効桁とし且つ有効桁以外の桁を0とする複数の値から構成されるグループを複数個設定し、各グループにおける最小値を所定値で除算した剰余値をグループ毎に第1記憶部に保持し、所定の複数の値をそれぞれ所定値で除算した複数の剰余値を第2記憶部に保持し、送信データを複数のグループに分割し、複数のグループ毎に、第1記憶部を参照して剰余値を取得し、取得した剰余値と各グループの有効桁の桁値の乗算値を算出し、第2記憶部を参照して乗算値に対応する剰余値を取得し、当該取得した剰余値の総和に基づいて送信チェックコードを生成し、送信データを送信チェックコードとともに送信し、受信データ及び受信データに対する受信チェックコードを受信し、受信データに基づく値を複数のグループに分割し、複数のグループ毎に、第1記憶部を参照して剰余値を取得し、取得した剰余値と各グループの有効桁の桁値の乗算値を算出し、第2記憶部を参照して乗算値に対応する剰余値を取得し、当該取得した剰余値の総和に基づいて受信データ及び受信チェックコードを検証することを含み、第2記憶部は、生成及び検証において複数のグループについて同時に参照可能である。   A control method according to another aspect of the present invention is a control method for a communication apparatus that includes a first storage unit and a second storage unit and communicates transmission data and reception data having a predetermined digit, and includes a predetermined digit. Set multiple groups consisting of multiple values with some of the significant digits and zeros other than valid digits set to 0, and the remainder value obtained by dividing the minimum value in each group by the predetermined value for each group A plurality of remainder values obtained by dividing the plurality of predetermined values by the predetermined values are stored in the second storage unit, the transmission data is divided into a plurality of groups, The remainder value is obtained by referring to the 1 storage section, the multiplication value of the obtained remainder value and the digit value of the significant digit of each group is calculated, and the remainder value corresponding to the multiplication value is obtained by referring to the second storage section. And generate a transmission check code based on the sum of the acquired remainder values. The transmission data is transmitted together with the transmission check code, the reception check code for the reception data and the reception data is received, the value based on the reception data is divided into a plurality of groups, and the first storage unit is referenced for each of the plurality of groups. The remainder value is acquired, the multiplication value of the obtained remainder value and the digit value of the significant digit of each group is calculated, the remainder value corresponding to the multiplication value is obtained by referring to the second storage unit, and the obtained remainder The second storage unit can simultaneously refer to a plurality of groups in generation and verification, including verifying the reception data and the reception check code based on the sum of the values.

本発明によれば、チェックコードを送信し且つ検証する通信装置は、チェックコードの生成時及び検証時に、剰余値を算出するためのデータを共用できるため、高速にチェックコードを処理しつつ記憶装置に格納しておくデータ量をより低減させることが可能となる。   According to the present invention, since the communication device that transmits and verifies the check code can share data for calculating the remainder value at the time of generating and verifying the check code, the storage device can process the check code at high speed. It becomes possible to further reduce the amount of data stored in the.

実施形態に係る通信装置100のハードウェア構成図示す図である。It is a figure which shows the hardware block diagram of the communication apparatus 100 which concerns on embodiment. 複数のグループについて説明するための模式図である。It is a schematic diagram for demonstrating a some group. 通信装置100による送信処理の動作の例を示すフローチャートである。6 is a flowchart illustrating an example of operation of transmission processing by the communication apparatus 100. 通信装置100による受信処理の動作の例を示すフローチャートである。4 is a flowchart illustrating an example of operation of reception processing by the communication apparatus 100. 他の実施形態に係る通信装置200のハードウェア構成図示す図である。It is a figure which shows the hardware block diagram of the communication apparatus 200 which concerns on other embodiment. 他の実施形態に係る通信装置200のハードウェア構成図示す図である。It is a figure which shows the hardware block diagram of the communication apparatus 200 which concerns on other embodiment. 通信装置200による送信処理の動作の例を示すフローチャートである。5 is a flowchart illustrating an example of an operation of transmission processing by the communication apparatus 200. 通信装置200による受信処理の動作の例を示すフローチャートである。6 is a flowchart illustrating an example of operation of reception processing by the communication apparatus 200.

以下、本発明の一側面に係る通信装置及び制御方法について図を参照しつつ説明する。但し、本発明の技術的範囲はそれらの実施の形態に限定されず、特許請求の範囲に記載された発明とその均等物に及ぶ点に留意されたい。   Hereinafter, a communication device and a control method according to an aspect of the present invention will be described with reference to the drawings. However, it should be noted that the technical scope of the present invention is not limited to these embodiments, but extends to the invention described in the claims and equivalents thereof.

図1は、実施形態に係る通信装置のハードウェア構成図示す図である。   FIG. 1 is a diagram illustrating a hardware configuration of a communication apparatus according to the embodiment.

通信装置100は、送信データを送信チェックコードとともに他の通信装置へ送信し、受信データを受信チェックコードとともに他の通信装置から受信する。以下では、CRCを送信チェックコード及び受信チェックコードの例として説明する。   The communication device 100 transmits transmission data to other communication devices together with a transmission check code, and receives reception data from other communication devices together with a reception check code. Hereinafter, CRC will be described as an example of a transmission check code and a reception check code.

図1に示すように、通信装置100は、記憶装置110と、CPU(Central Processing Unit)120と、生成回路130と、送信回路140と、受信回路150と、検証回路160とを有する。以下、通信装置100の各部について詳細に説明する。   As illustrated in FIG. 1, the communication device 100 includes a storage device 110, a CPU (Central Processing Unit) 120, a generation circuit 130, a transmission circuit 140, a reception circuit 150, and a verification circuit 160. Hereinafter, each part of the communication apparatus 100 will be described in detail.

記憶装置110は、記憶部の一例であり、ROM(Read Only Memory)等のメモリ装置を有する。記憶装置110は、マルチポートメモリであり、記憶装置110には、第1テーブル111、第2テーブル112、第3テーブル113及び第4テーブル114等が記憶される。記憶装置110では、複数のグループが設定され、第1テーブル111、第2テーブル112、第3テーブル113及び第4テーブル114には、それぞれ各グループに対応する剰余値が保持される。   The storage device 110 is an example of a storage unit, and includes a memory device such as a ROM (Read Only Memory). The storage device 110 is a multi-port memory, and the storage device 110 stores a first table 111, a second table 112, a third table 113, a fourth table 114, and the like. In the storage device 110, a plurality of groups are set, and the first table 111, the second table 112, the third table 113, and the fourth table 114 hold residue values corresponding to the respective groups.

図2は、複数のグループについて説明するための模式図である。   FIG. 2 is a schematic diagram for explaining a plurality of groups.

図2に示す例では、送信データ及び受信データが有する所定桁、即ち送信データ及び受信データの桁数を32ビット(4バイト)としている。また、この例では、32ビットの送信データ及び受信データを9ビット(但し最上位ビットが1)の除数値で除算することにより、8ビット(1バイト)の送信CRC及び受信CRCが算出される。なお、通信装置100において、送信データ、受信データ、除数値、送信CRC及び受信CRCの桁数は上記に限定されず、何桁であってもよい。   In the example shown in FIG. 2, the predetermined digits of transmission data and reception data, that is, the number of digits of transmission data and reception data is 32 bits (4 bytes). In this example, the transmission CRC and the reception CRC of 8 bits (1 byte) are calculated by dividing the transmission data and reception data of 32 bits by a divisor value of 9 bits (where the most significant bit is 1). . In communication device 100, the number of digits of transmission data, reception data, divisor value, transmission CRC, and reception CRC is not limited to the above, and may be any number.

図2に示すように、送信データ及び受信データが有する所定桁の内の一部を有効桁とし且つ有効桁以外の桁を0とする複数の値から構成されるグループが複数個設定される。図2に示す例では、第0〜第7ビットを有効桁とする第1グループと、第8〜第15ビットを有効桁とする第2グループと、第16〜第23ビットを有効桁とする第3グループと、第24〜第31ビットを有効桁とする第4グループの4つのグループが設定される。即ち、第1グループは00000001(h)〜000000FF(h)の255個の値で構成される。第2グループは00000100(h)〜0000FF00(h)の255個の値で構成される。第3グループは00010000(h)〜00FF0000(h)の255個の値で構成される。第4グループは01000000(h)〜FF000000(h)の255個の値で構成される。このように各グループは、所定桁の全てが何れかのグループで有効桁となるように設定される。   As shown in FIG. 2, a plurality of groups each having a plurality of values in which some of the predetermined digits of transmission data and reception data are effective digits and zeros other than the effective digits are set are set. In the example shown in FIG. 2, the first group having the 0th to 7th bits as significant digits, the second group having the 8th to 15th bits as significant digits, and the 16th to 23rd bits as the significant digits. Four groups are set, the third group and the fourth group having the 24th to 31st bits as significant digits. That is, the first group is composed of 255 values from 00000001 (h) to 000000FF (h). The second group is composed of 255 values from 00000100 (h) to 0000FF00 (h). The third group is composed of 255 values from 00010000 (h) to 00FF0000 (h). The fourth group is composed of 255 values from 01000000 (h) to FF000000 (h). In this way, each group is set so that all of the predetermined digits are valid digits in any group.

第1テーブル111は、第1グループに含まれる各値をそれぞれ所定除数値で除算した複数の剰余値を、各値に対応する有効桁の桁値をインデックスとして保持する。なお、桁値とは、有効桁の中の最下位桁が1桁目となるように各値をシフトさせたときの値を意味する。即ち、桁値は、01(h)〜FF(h)の範囲の値である。同様に、第2テーブル112は、第2グループに含まれる各値をそれぞれ所定除数値で除算した複数の剰余値を、各値に対応する有効桁の桁値をインデックスとして保持する。同様に、第3テーブル113は、第3グループに含まれる各値をそれぞれ所定除数値で除算した複数の剰余値を、各値に対応する有効桁の桁値をインデックスとして保持する。同様に、第4テーブル114は、第4グループに含まれる各値をそれぞれ所定除数値で除算した複数の剰余値を、各値に対応する有効桁の桁値をインデックスとして保持する。所定除数値は、CRCの方式によって異なる値であり、例えばCRC−8では9ビットの1D5(h)が用いられている。なお、各テーブルは、さらにインデックス00(h)に対応して値0を保持する。即ち、各テーブルには、00(h)〜FF(h)をインデックスとして、256個の値が保持される。   The first table 111 holds a plurality of remainder values obtained by dividing each value included in the first group by a predetermined divisor value, and the digit value of the significant digit corresponding to each value as an index. The digit value means a value when each value is shifted so that the least significant digit in the effective digits becomes the first digit. That is, the digit value is a value in the range of 01 (h) to FF (h). Similarly, the second table 112 holds a plurality of remainder values obtained by dividing each value included in the second group by a predetermined divisor value, and the digit value of the significant digit corresponding to each value as an index. Similarly, the third table 113 holds a plurality of remainder values obtained by dividing each value included in the third group by a predetermined divisor value, and the digit value of the significant digit corresponding to each value as an index. Similarly, the fourth table 114 holds a plurality of remainder values obtained by dividing each value included in the fourth group by a predetermined divisor value, and the digit value of the significant digit corresponding to each value as an index. The predetermined divisor value is different depending on the CRC method. For example, in CRC-8, 9-bit 1D5 (h) is used. Each table further holds a value 0 corresponding to the index 00 (h). That is, each table holds 256 values using 00 (h) to FF (h) as indexes.

CPU120は、記憶装置110、生成回路130、送信回路140、受信回路150及び検証回路160と接続され、これらの各部を制御する。CPU120は、通信装置100全体の動作を制御する。   The CPU 120 is connected to the storage device 110, the generation circuit 130, the transmission circuit 140, the reception circuit 150, and the verification circuit 160, and controls each of these units. The CPU 120 controls the operation of the entire communication device 100.

CPU120は、他の通信装置へ送信する送信データを生成回路130及び送信回路140に出力する。また、CPU120は、他の通信装置から受信した受信データを受信回路150から取得し、その受信データを受信CRCに基づいて検証した結果を検証回路160から取得する。   The CPU 120 outputs transmission data to be transmitted to another communication device to the generation circuit 130 and the transmission circuit 140. In addition, the CPU 120 acquires reception data received from another communication device from the reception circuit 150, and acquires a result of verifying the reception data based on the reception CRC from the verification circuit 160.

なお、図1において「()」で囲まれた数字はその矢印が示すバスのビット幅を示し、「[]」で囲まれた数字はその矢印が示すバスで伝送されるデータのビット番号を示す。   In FIG. 1, the number surrounded by “()” indicates the bit width of the bus indicated by the arrow, and the number surrounded by “[]” indicates the bit number of data transmitted on the bus indicated by the arrow. Show.

生成回路130は、生成部の一例であり、分割回路131及び加算回路132を有する。   The generation circuit 130 is an example of a generation unit, and includes a division circuit 131 and an addition circuit 132.

分割回路131は、CPU120から出力された送信データを複数のグループに分割し、各グループの有効桁の桁値を出力する。本実施形態では、分割回路131は、32ビットの送信データを、図2に示した第1〜第4グループの4つのグループに分割し、第0〜第7ビットの桁値と、第8〜第15ビットの桁値と、第16〜第23ビットの桁値と、第24〜第31ビットの桁値を出力する。   The dividing circuit 131 divides the transmission data output from the CPU 120 into a plurality of groups and outputs the digit values of the significant digits of each group. In the present embodiment, the dividing circuit 131 divides 32-bit transmission data into four groups of the first to fourth groups shown in FIG. The 15th bit digit value, the 16th to 23rd bit digit values, and the 24th to 31st bit digit values are output.

生成回路130は、分割回路131が出力した各グループの各桁値をそれぞれ記憶装置110の各テーブルに入力し、各グループ毎に記憶装置110の各テーブルを参照して、各グループに含まれる各値を所定除数値で除算した剰余値を取得する。   The generation circuit 130 inputs each digit value of each group output from the division circuit 131 to each table of the storage device 110, and refers to each table of the storage device 110 for each group, and each of the groups included in each group. Gets the remainder value obtained by dividing the value by a predetermined divisor value.

本実施形態では、生成回路130は、第1テーブル111を参照し、第0〜第7ビットの桁値をインデックスとして、送信データの内、第0〜第7ビット以外のビットを0とした値を所定除数値で除算した剰余値を取得する。同様に、生成回路130は、第2テーブル112を参照し、第8〜第15ビットの桁値をインデックスとして、送信データの内、第8〜第15ビット以外のビットを0とした値を所定除数値で除算した剰余値を取得する。同様に、生成回路130は、第3テーブル113を参照し、第16〜第23ビットの桁値をインデックスとして、送信データの内、第16〜第23ビット以外のビットを0とした値を所定除数値で除算した剰余値を取得する。同様に、生成回路130は、第4テーブル114を参照し、第24〜第31ビットの桁値をインデックスとして、送信データの内、第24〜第31ビット以外のビットを0とした値を所定除数値で除算した剰余値を取得する。   In the present embodiment, the generation circuit 130 refers to the first table 111, uses the digit values of the 0th to 7th bits as an index, and sets values other than the 0th to 7th bits of transmission data to 0. The remainder value obtained by dividing by the predetermined divisor value is acquired. Similarly, the generation circuit 130 refers to the second table 112 and uses a digit value of the 8th to 15th bits as an index and sets a value in which the bits other than the 8th to 15th bits are set to 0 in the transmission data. Gets the remainder value divided by the divisor value. Similarly, the generation circuit 130 refers to the third table 113 and uses a digit value of the 16th to 23rd bits as an index, and sets a value in which bits other than the 16th to 23rd bits of the transmission data are set to 0. Gets the remainder value divided by the divisor value. Similarly, the generation circuit 130 refers to the fourth table 114 and uses a digit value of the 24th to 31st bits as an index and sets a value in which bits other than the 24th to 31st bits are set to 0 in the transmission data. Gets the remainder value divided by the divisor value.

加算回路132は、各テーブルを参照して取得した各剰余値をモジュロ2加算し、各剰余値の総和を送信CRCとして生成し、送信回路140に出力する。本実施形態では、加算回路132は、8ビットの各剰余値をモジュロ2加算して8ビットの送信チェックコードを生成し、出力する。   The adder circuit 132 modulo-2 adds each residue value acquired with reference to each table, generates the sum of each residue value as a transmission CRC, and outputs the transmission CRC to the transmitter circuit 140. In the present embodiment, the adder circuit 132 generates and outputs an 8-bit transmission check code by modulo-2 addition of each 8-bit residue value.

送信回路140は、送信部の一例であり、送信データバッファ141、送信CRCバッファ142及び送信制御回路143を有する。   The transmission circuit 140 is an example of a transmission unit, and includes a transmission data buffer 141, a transmission CRC buffer 142, and a transmission control circuit 143.

送信データバッファ141は、RAM(Random Access Memory)等のメモリ装置を有し、CPU120から出力された送信データを一旦格納する。   The transmission data buffer 141 has a memory device such as a RAM (Random Access Memory), and temporarily stores transmission data output from the CPU 120.

送信CRCバッファ142は、RAM等のメモリ装置を有し、生成回路130から出力された送信CRCを一旦格納する。   The transmission CRC buffer 142 has a memory device such as a RAM, and temporarily stores the transmission CRC output from the generation circuit 130.

送信制御回路143は、他の通信装置と通信可能なインタフェース回路を有し、他の通信装置又は中継装置とケーブルを用いて電気的に接続して各種のデータ及び情報を送信する。送信制御回路143は、例えばPCI Express等の規格に準じた通信を行うための回路を有する。なお、送信制御回路143は、USB(Universal Serial Bus)等のシリアルバスに準じるインタフェース回路を有し、USBケーブルを用いて他の通信装置と電気的に接続してもよい。または、送信制御回路143は、イーサネット(登録商標)等に準じる回路を有し、LAN(Local Area Network)ケーブルを用いて各通信装置と電気的に接続してもよい。   The transmission control circuit 143 has an interface circuit capable of communicating with other communication devices, and transmits various data and information by being electrically connected to other communication devices or relay devices using cables. The transmission control circuit 143 includes a circuit for performing communication conforming to a standard such as PCI Express. The transmission control circuit 143 may include an interface circuit conforming to a serial bus such as USB (Universal Serial Bus), and may be electrically connected to another communication device using a USB cable. Alternatively, the transmission control circuit 143 may include a circuit conforming to Ethernet (registered trademark) or the like, and may be electrically connected to each communication device using a LAN (Local Area Network) cable.

送信制御回路143は、送信データバッファ141から送信データを読み出すとともに、送信CRCバッファ142からその送信データに対する送信CRCを読み出す。送信制御回路143は、読み出した送信データ及び送信CRCを並べて、パラレル−シリアル変換し、他の通信装置へ送信する。   The transmission control circuit 143 reads transmission data from the transmission data buffer 141 and reads transmission CRC for the transmission data from the transmission CRC buffer 142. The transmission control circuit 143 arranges the read transmission data and the transmission CRC, performs parallel-serial conversion, and transmits the data to another communication apparatus.

受信回路150は、受信部の一例であり、受信制御回路151、受信データバッファ152及び受信CRCバッファ153を有する。   The reception circuit 150 is an example of a reception unit, and includes a reception control circuit 151, a reception data buffer 152, and a reception CRC buffer 153.

受信制御回路151は、送信制御回路143と同様の、他の通信装置と通信可能なインタフェース回路を有し、他の通信装置又は中継装置とケーブルを用いて電気的に接続して各種のデータ及び情報を受信する。   Similar to the transmission control circuit 143, the reception control circuit 151 has an interface circuit capable of communicating with other communication devices, and is electrically connected to other communication devices or relay devices using cables to transmit various data and Receive information.

受信制御回路151は、他の通信装置から送信された信号をシリアル−パラレル変換し、受信データ及びその受信データに対する受信CRCを受信する。受信制御回路151は、受信データを受信データバッファ152に書き込むとともに、受信CRCを受信CRCバッファ153に書き込む。   The reception control circuit 151 performs serial-parallel conversion on a signal transmitted from another communication device, and receives reception data and a reception CRC for the reception data. The reception control circuit 151 writes the reception data in the reception data buffer 152 and writes the reception CRC in the reception CRC buffer 153.

受信データバッファ152は、RAM等のメモリ装置を有し、受信制御回路151から書き込まれた受信データを一旦格納する。   The reception data buffer 152 has a memory device such as a RAM, and temporarily stores the reception data written from the reception control circuit 151.

受信CRCバッファ153は、RAM等のメモリ装置を有し、受信制御回路151から書き込まれた受信CRCを一旦格納する。   The reception CRC buffer 153 has a memory device such as a RAM, and temporarily stores the reception CRC written from the reception control circuit 151.

検証回路160は、検証部の一例であり、分割回路161、加算回路162及び一致回路163を有する。   The verification circuit 160 is an example of a verification unit, and includes a division circuit 161, an addition circuit 162, and a matching circuit 163.

分割回路161は、生成回路130の分割回路131と同様の回路であり、受信データバッファ152から受信データを読み出し、受信データに基づく値を複数のグループに分割し、各グループの有効桁の桁値を出力する。本実施形態では、分割回路161は、32ビットの受信データを、図2に示した第1〜第4グループの4つのグループに分割し、第0〜第7ビットの桁値と、第8〜第15ビットの桁値と、第16〜第23ビットの桁値と、第24〜第31ビットの桁値を出力する。   The division circuit 161 is a circuit similar to the division circuit 131 of the generation circuit 130, reads the reception data from the reception data buffer 152, divides values based on the reception data into a plurality of groups, and digit values of significant digits of each group Is output. In the present embodiment, the dividing circuit 161 divides the 32-bit received data into four groups of the first to fourth groups shown in FIG. The 15th bit digit value, the 16th to 23rd bit digit values, and the 24th to 31st bit digit values are output.

検証回路160は、分割回路161が出力した各グループの各桁値をそれぞれ記憶装置110の各テーブルに入力し、各グループ毎に記憶装置110の各テーブルを参照して、各グループに含まれる各値を所定除数値で除算した剰余値を取得する。   The verification circuit 160 inputs each digit value of each group output from the dividing circuit 161 to each table of the storage device 110, and refers to each table of the storage device 110 for each group, and each of the groups included in each group. Gets the remainder value obtained by dividing the value by a predetermined divisor value.

本実施形態では、検証回路160は、第1テーブル111を参照し、第0〜第7ビットの桁値をインデックスとして、受信データの内、第0〜第7ビット以外のビットを0とした値を所定除数値で除算した剰余値を取得する。同様に、検証回路160は、第2テーブル112を参照し、第8〜第15ビットの桁値をインデックスとして、受信データの内、第8〜第15ビット以外のビットを0とした値を所定除数値で除算した剰余値を取得する。同様に、検証回路160は、第3テーブル113を参照し、第16〜第23ビットの桁値をインデックスとして、送信データの内、第16〜第23ビット以外のビットを0とした値を所定除数値で除算した剰余値を取得する。同様に、検証回路160は、第4テーブル114を参照し、第24〜第31ビットの桁値をインデックスとして、送信データの内、第24〜第31ビット以外のビットを0とした値を所定除数値で除算した剰余値を取得する。   In the present embodiment, the verification circuit 160 refers to the first table 111, uses the digit values of the 0th to 7th bits as an index, and sets the bits other than the 0th to 7th bits to 0 in the received data. The remainder value obtained by dividing by the predetermined divisor value is acquired. Similarly, the verification circuit 160 refers to the second table 112 and uses a digit value of the 8th to 15th bits as an index and sets a value in which bits other than the 8th to 15th bits of the received data are set to 0. Gets the remainder value divided by the divisor value. Similarly, the verification circuit 160 refers to the third table 113 and uses a digit value of the 16th to 23rd bits as an index, and sets a value in which the bits other than the 16th to 23rd bits of transmission data are set to 0. Gets the remainder value divided by the divisor value. Similarly, the verification circuit 160 refers to the fourth table 114 and uses a digit value of the 24th to 31st bits as an index and sets a value in which the bits other than the 24th to 31st bits are set to 0 in the transmission data. Gets the remainder value divided by the divisor value.

上述したように、記憶装置110は、マルチポートメモリであり、送信CRCの生成時及び受信CRCの検証時に生成回路130及び検証回路160から同時に参照可能である。したがって、通信装置100は、チェックコードの生成時及び検証時に各テーブルを共用できるため、記憶装置110に保持しておくテーブルのサイズを低減させることが可能となる。   As described above, the storage device 110 is a multi-port memory, and can be referred to from the generation circuit 130 and the verification circuit 160 at the time of generation of the transmission CRC and verification of the reception CRC. Therefore, since the communication device 100 can share each table when generating and verifying the check code, the size of the table held in the storage device 110 can be reduced.

加算回路162は、生成回路130の加算回路132と同様の回路であり、各テーブルを参照して取得した各剰余値をモジュロ2加算し、各剰余値の総和を算出し、一致回路163に出力する。本実施形態では、一致回路163は、8ビットの各剰余値をモジュロ2加算して8ビットの総和値を算出し、出力する。   The adder circuit 162 is a circuit similar to the adder circuit 132 of the generation circuit 130, modulo 2 addition is performed on each residue value obtained by referring to each table, and the sum of each residue value is calculated and output to the match circuit 163. To do. In the present embodiment, the coincidence circuit 163 calculates and outputs an 8-bit total value by modulo 2 addition of each 8-bit remainder value.

一致回路163は、加算回路162から出力された各剰余値の総和に基づいて受信データ及び受信CRCを検証する。一致回路163は、受信CRCバッファ153から受信CRCを読み出し、加算回路162から出力された各剰余値の総和と比較する。一致回路163は、一致する場合、受信データに誤りがないことを示す値を、一致しない場合、受信データに誤りがあることを示す値を、それぞれ検証結果としてCPU120に出力する。   The matching circuit 163 verifies the received data and the received CRC based on the sum of the remainder values output from the adder circuit 162. The coincidence circuit 163 reads the reception CRC from the reception CRC buffer 153 and compares it with the sum of the remainder values output from the addition circuit 162. The coincidence circuit 163 outputs a value indicating that there is no error in the received data if they match, and a value indicating that there is an error in the received data if they do not match, to the CPU 120 as a verification result.

CPU120は、受信データバッファ152から受信データを読み出すとともに、一致回路163から出力された、その受信データに対する検証結果に基づいて、受信データに誤りがあるか否かを判定する。   The CPU 120 reads the received data from the received data buffer 152 and determines whether or not there is an error in the received data based on the verification result for the received data output from the matching circuit 163.

このように、検証回路160は、受信データから剰余値を算出し、算出した剰余値と受信CRCが一致するか否かによって受信データ及び受信CRCを検証する。   In this way, the verification circuit 160 calculates a remainder value from the received data, and verifies the received data and the received CRC depending on whether or not the calculated remainder value matches the received CRC.

なお、検証回路160は、受信データに受信CRCを加算した加算値の剰余値を算出し、算出した剰余値が0であるか否かによって受信データ及び受信CRCを検証してもよい。その場合、検証回路160は、受信データと受信CRCを加算して出力する加算回路を更に有し、分割回路161は、受信データ及び受信CRCの加算値を複数のグループに分割する。検証回路160は、各グループ毎に記憶装置110の各テーブルを参照して、分割回路161が出力した各グループの各桁値に対応する剰余値を取得し、加算回路162は、各剰余値の総和値を算出する。一致回路163は、各剰余値の総和と0を比較し、一致する場合、受信データに誤りがないことを示す値を、一致しない場合、受信データに誤りがあることを示す値を、それぞれ検証結果としてCPU120に出力する。CPU120は、検証結果に基づいて、受信データに誤りがあるか否かを判定する。   The verification circuit 160 may calculate a remainder value of an addition value obtained by adding the reception CRC to the reception data, and may verify the reception data and the reception CRC depending on whether the calculated remainder value is 0 or not. In that case, the verification circuit 160 further includes an addition circuit that adds the reception data and the reception CRC and outputs the result, and the division circuit 161 divides the addition value of the reception data and the reception CRC into a plurality of groups. The verification circuit 160 refers to each table of the storage device 110 for each group, acquires a remainder value corresponding to each digit value of each group output from the division circuit 161, and the addition circuit 162 Calculate the total value. The coincidence circuit 163 compares the sum of each remainder value with 0, and if it matches, the value indicating that there is no error in the received data, and if not, verifies the value indicating that there is an error in the received data. As a result, it outputs to CPU120. CPU 120 determines whether there is an error in the received data based on the verification result.

または、生成回路130は、送信データをCRCの桁数(8ビット)分だけ桁上げし(即ち、CRCの桁数分だけ左シフトし、新たに追加された下位ビットに0を埋める)、その桁上げしたデータについて送信CRCを算出してもよい。その場合、生成回路130は、桁上げしたデータを複数のグループに分割し、各グループ毎に剰余値を取得し、取得した剰余値の総和に基づいて送信CRCを生成する。送信回路140は、桁上げしたデータと送信CRCのモジュロ2加算(桁上げした下位ビットへの加算)を行ったデータを他の通信装置へ送信する。一方、そのデータを受信した通信装置の検証回路160は、受信したデータ全体(即ち、桁上げしたデータと送信CRCの加算値)を複数のグループに分割し、各グループ毎に剰余値を取得し、取得した剰余値の総和を算出する。一致回路163は、各剰余値の総和と0を比較し、一致する場合、受信データに誤りがないことを示す値を、一致しない場合、受信データに誤りがあることを示す値を、それぞれ検証結果としてCPU120に出力する。CPU120は、検証結果に基づいて、受信データに誤りがあるか否かを判定する。   Alternatively, the generation circuit 130 carries the transmission data by the number of CRC digits (8 bits) (that is, shifts left by the number of CRC digits and fills the newly added lower bits with 0), and The transmission CRC may be calculated for the carry data. In that case, the generation circuit 130 divides the carried data into a plurality of groups, acquires a remainder value for each group, and generates a transmission CRC based on the sum of the acquired remainder values. The transmission circuit 140 transmits the data obtained by performing the modulo 2 addition (addition to the lower bit carried by the carry) of the carry data and the transmission CRC to another communication apparatus. On the other hand, the verification circuit 160 of the communication device that has received the data divides the entire received data (that is, the added value of the carry data and the transmission CRC) into a plurality of groups, and acquires a remainder value for each group. Then, the sum of the acquired remainder values is calculated. The coincidence circuit 163 compares the sum of each remainder value with 0, and if it matches, the value indicating that there is no error in the received data, and if not, verifies the value indicating that there is an error in the received data. As a result, it outputs to CPU120. CPU 120 determines whether there is an error in the received data based on the verification result.

以下、データを複数のグループに分割し、複数のグループ毎に除数値で除算した剰余値の総和に基づいて、そのデータの剰余値を算出できる理由及び効果について説明する。   Hereinafter, the reason and the effect that the remainder value of the data can be calculated based on the sum of the remainder values obtained by dividing the data into a plurality of groups and dividing by a divisor value for each of the plurality of groups will be described.

例えば、32ビットのデータX=AABBCCDD(h)を9ビットの除数値n(但し最上位ビットが1)で除算した8ビットの剰余値を算出する場合、モジュロ2除算による剰余計算では分配則が成立するため、以下の等式(1)が成立する。なお、等式(1)において、modはモジュロ2除算による剰余を求める演算子を表す。
X mod n = AABBCCDD(h) mod n
= (AA000000(h) + 00BB0000(h) + 0000CC00(h) + 000000DD(h)) mod n
= (AA000000(h) mod n) + (00BB0000(h) mod n)
+ (0000CC00(h) mod n) + (000000DD(h) mod n) (1)
For example, when calculating the 8-bit remainder value obtained by dividing the 32-bit data X = AABBCCDD (h) by the 9-bit divisor n (where the most significant bit is 1), the modulo-two division remainder calculation has a distribution rule. Since this holds, the following equation (1) holds. In equation (1), mod represents an operator for obtaining a remainder by modulo-2 division.
X mod n = AABBCCDD (h) mod n
= (AA000000 (h) + 00BB0000 (h) + 0000CC00 (h) + 000000DD (h)) mod n
= (AA000000 (h) mod n) + (00BB0000 (h) mod n)
+ (0000CC00 (h) mod n) + (000000DD (h) mod n) (1)

したがって、データを複数のグループに分割し、複数のグループ毎に除数値で除算した剰余値の総和は、そのデータを除数値で直接除算した剰余値と等しくなる。   Therefore, the sum of the remainder values obtained by dividing the data into a plurality of groups and dividing the data by the divisor value for each of the plurality of groups is equal to the remainder value obtained by directly dividing the data by the divisor value.

例えば、32ビットのデータを9ビットの除数値で除算した8ビットの剰余値を予めテーブルに格納しておく場合、テーブルのサイズは、8ビット×(2の32乗)=約4ギガバイトとなる。CRCの生成と検証を行う通信装置では、このテーブルが2つ必要であるため、テーブルの全サイズは約8ギガバイトとなる。一方、本実施形態の通信装置100では、8ビット×(2の8乗)=256バイトのテーブルを4つ記憶しておけばよいため、テーブルの全サイズは1024バイトとなり、記憶装置110の記憶容量を大幅に低減させることができる。   For example, when an 8-bit remainder value obtained by dividing 32-bit data by a 9-bit divisor is stored in the table in advance, the size of the table is 8 bits × (2 to the power of 32) = about 4 gigabytes. . The communication device that performs CRC generation and verification requires two tables, so the total size of the table is about 8 gigabytes. On the other hand, in the communication apparatus 100 according to the present embodiment, four tables of 8 bits × (2 to the power of 8) = 256 bytes may be stored, so that the total size of the table is 1024 bytes, and the storage of the storage device 110 is performed. The capacity can be greatly reduced.

なお、8ビットのデータを9ビットの除数値で除算した場合、その剰余値は、元の8ビットのデータと同一の値となる。したがって、第1グループの各値を9ビットの除数値で除算した剰余値は、第1グループの各値と同一の値となる。そこで、第1グループに対応する第1テーブル111を省略し、分割回路131又は161が出力した第1グループの各桁値を直接加算回路132又は162に入力させてもよい。これにより、記憶装置110の記憶容量をさらに低減させるとともに、通信装置100の回路構成を単純化させることが可能となる。   When 8-bit data is divided by a 9-bit divisor, the remainder value is the same as the original 8-bit data. Therefore, the remainder value obtained by dividing each value of the first group by the divisor value of 9 bits is the same value as each value of the first group. Therefore, the first table 111 corresponding to the first group may be omitted, and each digit value of the first group output from the dividing circuit 131 or 161 may be directly input to the adding circuit 132 or 162. As a result, the storage capacity of the storage device 110 can be further reduced, and the circuit configuration of the communication device 100 can be simplified.

また、通信装置100が有する送信ポート及び受信ポートは、それぞれ1つのみに限定されず、複数でもよい。その場合、通信装置100は、送信ポートの数だけ、生成回路130及び送信回路140を有し、受信ポートの数だけ受信回路150及び検証回路160を有する。一方、通信装置100は、記憶装置110を一つのみ有し、その記憶装置110を全ての生成回路130及び検証回路160から同時にアクセス可能に構成する。その場合、各生成回路130及び各検証回路160は、一つの記憶装置110に格納された各テーブルを共用できる。したがって、通信装置100は、記憶装置のサイズ及び数を増大させることなく、送信ポート及び受信ポートの数を増大させることが可能となる。   Further, the number of transmission ports and reception ports that the communication apparatus 100 has is not limited to one, but may be plural. In that case, the communication apparatus 100 includes the generation circuit 130 and the transmission circuit 140 corresponding to the number of transmission ports, and includes the reception circuit 150 and the verification circuit 160 corresponding to the number of reception ports. On the other hand, the communication device 100 includes only one storage device 110, and the storage device 110 is configured to be accessible simultaneously from all the generation circuits 130 and the verification circuits 160. In that case, each generation circuit 130 and each verification circuit 160 can share each table stored in one storage device 110. Therefore, the communication device 100 can increase the number of transmission ports and reception ports without increasing the size and number of storage devices.

図3は、通信装置100による送信処理の動作の例を示すフローチャートである。以下、図3に示したフローチャートを参照しつつ、送信処理の動作を説明する。なお、以下に説明する動作のフローは、主にCPU120により通信装置100の各要素と協働して実行される。   FIG. 3 is a flowchart illustrating an example of operation of transmission processing by the communication apparatus 100. The operation of the transmission process will be described below with reference to the flowchart shown in FIG. The operation flow described below is mainly executed by the CPU 120 in cooperation with each element of the communication device 100.

最初に、CPU120は、送信データを生成回路130及び送信回路140に出力する(ステップS101)。次に、分割回路131は、送信データを複数のグループに分割し、各グループの有効桁の桁値を出力する(ステップS102)。次に、生成回路130は、各グループの各桁値をそれぞれ各テーブルに入力し、各グループ毎に各テーブルを参照して、各グループに含まれる各値を所定除数値で除算した剰余値を取得する(ステップS103)。次に、加算回路132は、各剰余値をモジュロ2加算し(ステップS104)、各剰余値の総和を送信CRCとして生成し、送信回路140に出力する(ステップS105)。次に、送信制御回路143は、送信データを送信CRCとともに、他の通信装置へ送信し(ステップS106)、一連のステップを終了する。   First, the CPU 120 outputs transmission data to the generation circuit 130 and the transmission circuit 140 (step S101). Next, the dividing circuit 131 divides the transmission data into a plurality of groups and outputs the digit values of the significant digits of each group (step S102). Next, the generation circuit 130 inputs each digit value of each group to each table, refers to each table for each group, and calculates a remainder value obtained by dividing each value included in each group by a predetermined divisor value. Obtain (step S103). Next, the adder circuit 132 modulo-2 adds each residue value (step S104), generates the sum of each residue value as a transmission CRC, and outputs it to the transmitter circuit 140 (step S105). Next, the transmission control circuit 143 transmits the transmission data together with the transmission CRC to another communication device (step S106), and ends a series of steps.

図4は、通信装置100による受信処理の動作の例を示すフローチャートである。以下、図4に示したフローチャートを参照しつつ、受信処理の動作を説明する。なお、以下に説明する動作のフローは、主にCPU120により通信装置100の各要素と協働して実行される。   FIG. 4 is a flowchart illustrating an example of operation of reception processing by the communication apparatus 100. The operation of the reception process will be described below with reference to the flowchart shown in FIG. The operation flow described below is mainly executed by the CPU 120 in cooperation with each element of the communication device 100.

最初に、受信制御回路151は、他の通信装置から、受信データ及びその受信データに対する受信CRCを受信する(ステップS201)。次に、分割回路161は、受信データを複数のグループに分割し、各グループの有効桁の桁値を出力する(ステップS202)。次に、検証回路160は、各グループの各桁値をそれぞれ各テーブルに入力し、各グループ毎に各テーブルを参照して、各グループに含まれる各値を所定除数値で除算した剰余値を取得する(ステップS203)。次に、加算回路162は、各剰余値をモジュロ2加算し、各剰余値の総和を算出し、一致回路163に出力する(ステップS204)。次に、一致回路163は、各剰余値の総和と受信CRCを比較することにより、受信データ及び受信CRCを検証し、検証結果をCPU120に出力する(ステップS205)。次に、CPU120は、受信データバッファ152から受信データを読み出すとともに、検証結果に基づいて、受信データに誤りがあるか否かを判定し(ステップS206)、一連のステップを終了する。   First, the reception control circuit 151 receives received data and a received CRC for the received data from another communication device (step S201). Next, the dividing circuit 161 divides the received data into a plurality of groups, and outputs the digit values of the significant digits of each group (step S202). Next, the verification circuit 160 inputs each digit value of each group to each table, refers to each table for each group, and calculates a remainder value obtained by dividing each value included in each group by a predetermined divisor value. Obtain (step S203). Next, the adder circuit 162 modulo-2 adds each residue value, calculates the sum of each residue value, and outputs it to the match circuit 163 (step S204). Next, the matching circuit 163 verifies the received data and the received CRC by comparing the sum of the remainder values with the received CRC, and outputs the verification result to the CPU 120 (step S205). Next, the CPU 120 reads the received data from the received data buffer 152, determines whether there is an error in the received data based on the verification result (step S206), and ends the series of steps.

以上詳述したように、通信装置100は、CRCの生成時及び検証時に、剰余値を算出するためのデータを共用できるため、高速にCRCを処理しつつ、記憶装置に格納しておくデータ量をより低減させることが可能となった。これにより、記憶装置のサイズ及びコストを低減させることが可能となり、通信装置全体のサイズ及びコストを低減させることが可能となった。   As described above in detail, since the communication device 100 can share data for calculating the remainder value at the time of CRC generation and verification, the amount of data stored in the storage device while processing the CRC at high speed Can be further reduced. As a result, the size and cost of the storage device can be reduced, and the size and cost of the entire communication device can be reduced.

記憶装置としてシングルポートメモリを利用した場合、同時にアクセス可能なアドレス及びデータは1セットのみであるため、CRCの生成と検証のタイミングが重なった場合に処理の遅延が発生する。一方、通信装置100は、記憶装置110としてマルチポートメモリを利用することにより、同時に異なるアドレスから記憶装置110を参照することが可能となった。したがって、通信装置100は、CRCの生成と検証のタイミングが重なった場合でも、処理の遅延が発生することを防止することが可能となった。   When a single port memory is used as a storage device, there is only one set of addresses and data that can be accessed at the same time. Therefore, processing delay occurs when CRC generation and verification timing overlap. On the other hand, the communication device 100 can refer to the storage device 110 from different addresses at the same time by using a multi-port memory as the storage device 110. Therefore, the communication apparatus 100 can prevent the processing delay from occurring even when the CRC generation timing and the verification timing overlap.

図5及び図6は、他の実施形態に係る通信装置のハードウェア構成図示す図である。なお、図5及び図6は、同じ通信装置200のハードウェア構成図を示しており、図5では検証回路270の構成の表示を省略し、図6では生成回路240の構成の表示を省略している。   5 and 6 are diagrams illustrating a hardware configuration diagram of a communication apparatus according to another embodiment. 5 and 6 show hardware configuration diagrams of the same communication apparatus 200. In FIG. 5, the display of the configuration of the verification circuit 270 is omitted, and in FIG. 6, the display of the configuration of the generation circuit 240 is omitted. ing.

図5及び図6に示すように、通信装置200は、第1記憶装置210と、第2記憶装置220と、CPU230と、生成回路240と、送信回路250と、受信回路260と、検証回路270とを有する。以下、通信装置200の各部について詳細に説明する。なお、CPU230、生成回路240及び送信回路250は、それぞれ図1に示した通信装置100のCPU120、生成回路130及び送信回路140と同様であるため、詳細な説明を省略する。   As shown in FIGS. 5 and 6, the communication device 200 includes a first storage device 210, a second storage device 220, a CPU 230, a generation circuit 240, a transmission circuit 250, a reception circuit 260, and a verification circuit 270. And have. Hereinafter, each part of the communication apparatus 200 will be described in detail. The CPU 230, the generation circuit 240, and the transmission circuit 250 are the same as the CPU 120, the generation circuit 130, and the transmission circuit 140 of the communication apparatus 100 illustrated in FIG.

第1記憶装置210は、第1記憶部の一例であり、ROM等のメモリ装置を有する。なお、第1記憶装置210は、レジスタにより構成されてもよい。第1記憶装置210は、マルチポートメモリであり、第1データ211、第2データ212、第3データ213及び第4データ214を保持する。第1記憶装置210では、図2に示したように、複数のグループが設定される。   The first storage device 210 is an example of a first storage unit, and includes a memory device such as a ROM. The first storage device 210 may be configured by a register. The first storage device 210 is a multiport memory, and holds first data 211, second data 212, third data 213, and fourth data 214. In the first storage device 210, a plurality of groups are set as shown in FIG.

第1データ211は、第1グループにおける最小値(00000001(h))を所定除数値で除算した剰余値である。第2データ212は、第2グループにおける最小値(00000100(h))を所定除数値で除算した剰余値である。第3データ213は、第3グループにおける最小値(00010000(h))を所定除数値で除算した剰余値である。第4データ214は、第4グループにおける最小値(01000000(h))を所定除数値で除算した剰余値である。このように、第1記憶装置210は、各グループにおける最小値を所定値で除算した剰余値をグループ毎に保持する。   The first data 211 is a remainder value obtained by dividing the minimum value (00000001 (h)) in the first group by a predetermined divisor value. The second data 212 is a remainder value obtained by dividing the minimum value (00000100 (h)) in the second group by a predetermined divisor value. The third data 213 is a remainder value obtained by dividing the minimum value (00010000 (h)) in the third group by a predetermined divisor value. The fourth data 214 is a remainder value obtained by dividing the minimum value (01000000 (h)) in the fourth group by a predetermined divisor value. As described above, the first storage device 210 holds, for each group, a remainder value obtained by dividing the minimum value in each group by a predetermined value.

第2記憶装置220は、第2記憶部の一例であり、ROM等のメモリ装置を有する。第2記憶装置220は、マルチポートメモリであり、第2記憶装置220には、共通テーブル221が記憶される。   The second storage device 220 is an example of a second storage unit, and includes a memory device such as a ROM. The second storage device 220 is a multi-port memory, and a common table 221 is stored in the second storage device 220.

共通テーブル221は、所定の複数の値をそれぞれ所定除数値で除算した複数の剰余値を、その複数の値のそれぞれをインデックスとして保持する。所定の複数の値は、0から、各グループの桁値の最大値の2乗までの値である。即ち、32ビットのデータを4つのグループに分割する場合、所定の複数の値は、0000(h)から(00FF(h)の2乗)までの65026個の値である。   The common table 221 holds a plurality of remainder values obtained by dividing a plurality of predetermined values by a predetermined divisor value, and each of the plurality of values is used as an index. The predetermined plural values are values from 0 to the square of the maximum value of the digit value of each group. That is, when 32-bit data is divided into four groups, the predetermined plural values are 65026 values from 0000 (h) to (the square of 00FF (h)).

生成回路240は、生成部の一例であり、分割回路241及び加算回路242を有する。さらに、生成回路240は、各グループ毎に、それぞれ第1乗算回路243、第2乗算回路244、第3乗算回路245及び第4乗算回路246を有する。   The generation circuit 240 is an example of a generation unit, and includes a division circuit 241 and an addition circuit 242. Furthermore, the generation circuit 240 includes a first multiplication circuit 243, a second multiplication circuit 244, a third multiplication circuit 245, and a fourth multiplication circuit 246 for each group.

分割回路241は、図1に示した分割回路131と同様の回路であり、CPU230から出力された送信データを複数のグループに分割し、各グループの有効桁の桁値を出力する。   The dividing circuit 241 is a circuit similar to the dividing circuit 131 shown in FIG. 1, divides the transmission data output from the CPU 230 into a plurality of groups, and outputs the digit values of significant digits of each group.

第1〜第4乗算回路243〜246は、それぞれ、第1記憶装置210の各データを参照して各グループにおける最小値を所定除数値で除算した剰余値を取得する。第1〜第4乗算回路243〜246は、それぞれ、取得した剰余値と分割回路241が出力した各グループの各桁値をモジュロ2乗算することにより、乗算値を算出し、出力する。   The first to fourth multiplication circuits 243 to 246 refer to the data in the first storage device 210, respectively, and obtain a remainder value obtained by dividing the minimum value in each group by a predetermined divisor value. The first to fourth multiplication circuits 243 to 246 calculate and output a multiplication value by modulo-2 multiplication of the obtained remainder value and each digit value of each group output from the division circuit 241.

生成回路240は、第1〜第4乗算回路243〜246が出力した各グループに係る乗算値をそれぞれ第2記憶装置220の共通テーブル221に入力し、第2記憶装置220の共通テーブル221を参照して、各乗算値に対応する剰余値を取得する。生成回路240は、共通テーブル221を参照し、各乗算値をインデックスとして、各乗算値を所定除数値で除算した剰余値を取得する。   The generation circuit 240 inputs the multiplication values related to each group output from the first to fourth multiplication circuits 243 to 246 to the common table 221 of the second storage device 220, and refers to the common table 221 of the second storage device 220. Then, the remainder value corresponding to each multiplication value is acquired. The generation circuit 240 refers to the common table 221 and obtains a remainder value obtained by dividing each multiplication value by a predetermined divisor value using each multiplication value as an index.

加算回路242は、図1に示した加算回路132と同様の回路であり、共通テーブル221を参照して取得した各剰余値をモジュロ2加算し、各剰余値の総和を送信CRCとして生成し、送信回路250に出力する。   The adder circuit 242 is a circuit similar to the adder circuit 132 shown in FIG. 1, modulo 2 addition is performed on each residue value obtained with reference to the common table 221, and the sum of each residue value is generated as a transmission CRC. The data is output to the transmission circuit 250.

検証回路270は、検証部の一例であり、分割回路271、加算回路272及び一致回路273を有する。さらに、検証回路270は、各グループ毎に、それぞれ第5乗算回路274、第6乗算回路275、第7乗算回路276及び第8乗算回路277を有する。   The verification circuit 270 is an example of a verification unit, and includes a division circuit 271, an addition circuit 272, and a matching circuit 273. Further, the verification circuit 270 includes a fifth multiplication circuit 274, a sixth multiplication circuit 275, a seventh multiplication circuit 276, and an eighth multiplication circuit 277 for each group.

分割回路271は、生成回路240の分割回路241と同様の回路であり、受信データバッファ262から受信データを読み出し、受信データに基づく値を複数のグループに分割し、各グループの有効桁の桁値を出力する。   The division circuit 271 is a circuit similar to the division circuit 241 of the generation circuit 240, reads the reception data from the reception data buffer 262, divides values based on the reception data into a plurality of groups, and digit values of significant digits of each group Is output.

第5〜第8乗算回路274〜277は、それぞれ、第1記憶装置210の各データを参照して各グループにおける最小値を所定除数値で除算した剰余値を取得する。第5〜第8乗算回路274〜277は、それぞれ、取得した剰余値と分割回路271が出力した各グループの有効桁の桁値をモジュロ2乗算することにより、乗算値を算出し、出力する。   The fifth to eighth multiplier circuits 274 to 277 each refer to the data in the first storage device 210 and obtain a remainder value obtained by dividing the minimum value in each group by a predetermined divisor value. The fifth to eighth multiplier circuits 274 to 277 each calculate and output a multiplication value by modulo-2 multiplication of the acquired remainder value and the digit value of each significant digit output from the division circuit 271.

上述したように、第1記憶装置210は、マルチポートメモリであり、送信CRCの生成時及び受信CRCの検証時に生成回路240及び検証回路270から同時に参照可能である。したがって、通信装置200は、チェックコードの生成時及び検証時に各データを共用できるため、第1記憶装置210に保持しておくデータのサイズを低減させることが可能となる。   As described above, the first storage device 210 is a multi-port memory, and can be referred to from the generation circuit 240 and the verification circuit 270 at the time of generation of the transmission CRC and verification of the reception CRC. Therefore, since the communication device 200 can share each data when generating and verifying the check code, it is possible to reduce the size of data stored in the first storage device 210.

検証回路270は、第5〜第8乗算回路274〜277が出力した各グループに係る乗算値をそれぞれ第2記憶装置220の共通テーブル221に入力し、第2記憶装置220の共通テーブル221を参照して、各乗算値に対応する剰余値を取得する。検証回路270は、共通テーブル221を参照し、各乗算値をインデックスとして、各乗算値を所定除数値で除算した剰余値を取得する。   The verification circuit 270 inputs the multiplication values related to the groups output from the fifth to eighth multiplication circuits 274 to 277 to the common table 221 of the second storage device 220, and refers to the common table 221 of the second storage device 220. Then, the remainder value corresponding to each multiplication value is acquired. The verification circuit 270 refers to the common table 221 and obtains a remainder value obtained by dividing each multiplication value by a predetermined divisor value using each multiplication value as an index.

上述したように、第2記憶装置220は、マルチポートメモリであり、送信CRCの生成時及び受信CRCの検証時に生成回路240及び検証回路270から同時に参照可能である。さらに、第2記憶装置220は、生成回路240及び検証回路270から複数のグループについて同時に参照可能である。したがって、通信装置200は、チェックコードの生成時及び検証時に各テーブルを共用できるため、第2記憶装置220に保持しておくテーブルのサイズを低減させることが可能となる。   As described above, the second storage device 220 is a multi-port memory, and can be referred to from the generation circuit 240 and the verification circuit 270 at the time of generation of the transmission CRC and verification of the reception CRC. Further, the second storage device 220 can simultaneously refer to a plurality of groups from the generation circuit 240 and the verification circuit 270. Therefore, since the communication device 200 can share each table when generating and verifying the check code, it is possible to reduce the size of the table held in the second storage device 220.

加算回路272は、生成回路240の加算回路242と同様の回路であり、共通テーブル221を参照して取得した各剰余値をモジュロ2加算し、各剰余値の総和を算出し、一致回路273に出力する。   The adder circuit 272 is a circuit similar to the adder circuit 242 of the generation circuit 240, and modulo 2 addition is performed on each residue value acquired with reference to the common table 221, and the sum of each residue value is calculated. Output.

一致回路273は、図1に示した一致回路163と同様の回路であり、加算回路272から出力された各剰余値の総和に基づいて受信データ及び受信CRCを検証する。   The coincidence circuit 273 is a circuit similar to the coincidence circuit 163 shown in FIG. 1, and verifies the reception data and the reception CRC based on the sum of the remainder values output from the addition circuit 272.

以下、データを複数のグループに分割し、各グループにおける最小値を除数値で除算した剰余値と各グループの有効桁の桁値の乗算値を、除数値で除算した剰余値の総和に基づいて、そのデータの剰余値を算出できる理由及び効果について説明する。   Hereinafter, the data is divided into a plurality of groups, and the product of the remainder value obtained by dividing the minimum value in each group by the divisor value and the digit value of the significant digit of each group is based on the sum of the remainder values divided by the divisor value. The reason and effect that the remainder value of the data can be calculated will be described.

例えば、32ビットのデータX=AABBCCDD(h)を9ビットの除数値n(但し最上位ビットが1)で除算した8ビットの剰余値を算出する場合、モジュロ2除算による剰余計算では分配則が成立するため、以下の等式(2)が成立する。なお、等式(2)において、modはモジュロ2除算による剰余を求める演算子を表す。
X mod n = AABBCCDD(h) mod n
= (AA000000(h) + 00BB0000(h) + 0000CC00(h) + 000000DD(h)) mod n
= (AA000000(h) mod n) + (00BB0000(h) mod n)
+ (0000CC00(h) mod n) + (000000DD(h) mod n)
= ((AA(h) * 01000000(h)) mod n) + ((BB(h) * 00010000(h)) mod n)
+ ((CC(h) * 00000100(h)) mod n) + ((DD(h) * 00000001(h)) mod n) (2)
For example, when calculating the 8-bit remainder value obtained by dividing the 32-bit data X = AABBCCDD (h) by the 9-bit divisor n (where the most significant bit is 1), the modulo-two division remainder calculation has a distribution rule. Since this holds, the following equation (2) holds. In equation (2), mod represents an operator for obtaining a remainder by modulo-2 division.
X mod n = AABBCCDD (h) mod n
= (AA000000 (h) + 00BB0000 (h) + 0000CC00 (h) + 000000DD (h)) mod n
= (AA000000 (h) mod n) + (00BB0000 (h) mod n)
+ (0000CC00 (h) mod n) + (000000DD (h) mod n)
= ((AA (h) * 01000000 (h)) mod n) + ((BB (h) * 00010000 (h)) mod n)
+ ((CC (h) * 00000100 (h)) mod n) + ((DD (h) * 00000001 (h)) mod n) (2)

ここで、データS,Tについて、S,Tをそれぞれ除数値nで除算した商をQs,Qtとし、剰余値をRs,Rtとすると、S = Qs * n + Rs、T = Qt * n + Qsと表せる。このSとTの乗算値を除数値nで除算した剰余値について、以下の等式(3)が成立する。即ち、SとTの乗算値を除数値nで除算した剰余値は、Sを除数値nで除算した剰余値とTを除数値nで除算した剰余値の乗算値を、除数値nで除算した剰余値と等しくなる。
(S * T) mod n = ((Qs * n + Rs) * (Qt * n + Rt)) mod n
= (((Qs * Qt * n + Qs * Rt + Rs * Qt) * n) + (Rs * Rt)) mod n
= (Rs * Rt) mod n
= ((S mod n) * (T mod n)) mod n (3)
Here, for data S and T, if the quotient obtained by dividing S and T by the divisor value n is Qs and Qt, and the remainder is Rs and Rt, S = Qs * n + Rs, T = Qt * n + It can be expressed as Qs. The following equation (3) is established for the remainder value obtained by dividing the multiplication value of S and T by the divisor value n. In other words, the remainder value obtained by dividing the multiplication value of S and T by the divisor value n is obtained by dividing the multiplication value of the remainder value obtained by dividing S by the divisor value n and the remainder value obtained by dividing T by the divisor value n by the divisor value n. Is equal to the remainder value.
(S * T) mod n = ((Qs * n + Rs) * (Qt * n + Rt)) mod n
= (((Qs * Qt * n + Qs * Rt + Rs * Qt) * n) + (Rs * Rt)) mod n
= (Rs * Rt) mod n
= ((S mod n) * (T mod n)) mod n (3)

したがって、等式(2)は、以下の等式(4)のように変形できる。
X mod n = (((AA(h) mod n) * (01000000(h) mod n)) mod n)
+ (((BB(h) mod n) * (00010000(h) mod n)) mod n)
+ (((CC(h) mod n) * (00000100(h) mod n)) mod n)
+ (((DD(h) mod n) * (00000001(h) mod n)) mod n) (4)
Therefore, equation (2) can be transformed into equation (4) below.
X mod n = (((AA (h) mod n) * (01000000 (h) mod n)) mod n)
+ (((BB (h) mod n) * (00010000 (h) mod n)) mod n)
+ (((CC (h) mod n) * (00000100 (h) mod n)) mod n)
+ (((DD (h) mod n) * (00000001 (h) mod n)) mod n) (4)

ここで、nは9ビットの除数値であるから、(AA(h) mod n)、((BB(h) mod n)、((CC(h) mod n)、((DD(h) mod n)は、それぞれAA(h)、BB(h)、CC(h)、DD(h)と等しくなる。したがって、等式(4)は、以下の等式(5)のように変形できる。
X mod n = ((AA(h) * (01000000(h) mod n)) mod n)
+ ((BB(h) * (00010000(h) mod n)) mod n)
+ ((CC(h) * (00000100(h) mod n)) mod n)
+ ((DD(h) * (00000001(h) mod n)) mod n) (5)
Here, since n is a 9-bit divisor value, (AA (h) mod n), ((BB (h) mod n), ((CC (h) mod n), ((DD (h) mod n) is equal to AA (h), BB (h), CC (h), and DD (h), respectively, so equation (4) can be transformed into equation (5) below.
X mod n = ((AA (h) * (01000000 (h) mod n)) mod n)
+ ((BB (h) * (00010000 (h) mod n)) mod n)
+ ((CC (h) * (00000100 (h) mod n)) mod n)
+ ((DD (h) * (00000001 (h) mod n)) mod n) (5)

したがって、データを複数のグループに分割し、各グループにおける最小値を除数値で除算した剰余値と各グループの有効桁の桁値の乗算値を除数値で除算した剰余値の総和は、そのデータを除数値で直接除算した剰余値と等しくなる。   Therefore, when the data is divided into multiple groups, the sum of the remainder value obtained by dividing the minimum value in each group by the divisor value and the product of the significant digits of each group divided by the divisor value is the data. Is equal to the remainder obtained by directly dividing by the divisor value.

上記したように、32ビットのデータを9ビットの除数値で除算した8ビットの剰余値を予めテーブルに格納しておく場合、テーブルのサイズは、8ビット×(2の32乗)=約4ギガバイトとなる。CRCの生成と検証を行う通信装置では、このテーブルが2つ必要であるため、テーブルの全サイズは約8ギガバイトとなる。一方、本実施形態の通信装置200では、テーブルのサイズは8ビット×(2の16乗)=約65キロバイトとなり、第2記憶装置220の記憶容量を大幅に低減させることができる。   As described above, when an 8-bit remainder value obtained by dividing 32-bit data by a 9-bit divisor is stored in the table in advance, the size of the table is 8 bits × (2 to the 32nd power) = about 4 Gigabytes. The communication device that performs CRC generation and verification requires two tables, so the total size of the table is about 8 gigabytes. On the other hand, in the communication device 200 of the present embodiment, the table size is 8 bits × (2 to the 16th power) = about 65 kilobytes, and the storage capacity of the second storage device 220 can be greatly reduced.

また、モジュロ2乗算は、シフト演算と排他的論理和演算により演算され且つ繰上がりがないため、上位桁の演算結果が下位桁の演算に影響を与えるモジュロ2除算より高速に処理される。したがって、通信装置200は、CRCを、除算演算によって生成及び検証する場合よりも高速に、生成及び検証することができる。   In addition, modulo-2 multiplication is performed by a shift operation and exclusive OR operation and there is no carry, so that the operation result of the upper digit is processed at a higher speed than the modulo-2 division that affects the operation of the lower digit. Therefore, the communication apparatus 200 can generate and verify the CRC at a higher speed than when generating and verifying the CRC by a division operation.

なお、通信装置100について示した各変形例は、通信装置200に対しても同様に適用することが可能である。   Note that each modification shown for the communication device 100 can be similarly applied to the communication device 200.

特に、通信装置200において、第1グループに対応する第1データ211を省略し、分割回路241又は271が出力した第1グループの各桁値を直接共通テーブル221のインデックスとして用いてもよい。これにより、第1記憶装置210の記憶容量をさらに低減させるとともに、通信装置200の回路構成を単純化させることが可能となる。   In particular, in the communication apparatus 200, the first data 211 corresponding to the first group may be omitted, and each digit value of the first group output from the dividing circuit 241 or 271 may be directly used as an index of the common table 221. As a result, the storage capacity of the first storage device 210 can be further reduced, and the circuit configuration of the communication device 200 can be simplified.

また、共通テーブル221は、通信装置100の第1〜第4テーブル111〜114と同様に、複数のグループに分割されてもよい。例えば、共通テーブル221は、第0〜第7ビットを有効桁とする第1’グループと、第8〜第15ビットを有効桁とする第2’グループに分割される。   Further, the common table 221 may be divided into a plurality of groups, similarly to the first to fourth tables 111 to 114 of the communication apparatus 100. For example, the common table 221 is divided into a first 'group having the 0th to 7th bits as significant digits and a second' group having the 8th to 15th bits as significant digits.

その場合、生成回路240は、第1〜第4乗算回路243〜246がそれぞれ出力した乗算値をそれぞれ二つのグループに分割し、各グループの有効桁の桁値を出力する分割回路を更に有する。生成回路240は、その各分割回路が出力した各グループの各桁値をそれぞれ第1’グループのテーブルと第2’グループのテーブルに入力し、各グループ毎に各テーブルを参照して、各グループに含まれる各値を所定除数値で除算した剰余値を取得する。そして、生成回路240は、取得した全ての剰余値を加算回路242に入力する。   In that case, the generation circuit 240 further includes a dividing circuit that divides the multiplication values output from the first to fourth multiplication circuits 243 to 246 into two groups, respectively, and outputs the digit values of the significant digits of each group. The generation circuit 240 inputs each digit value of each group output by each of the division circuits to the first 'group table and the second' group table, and refers to each table for each group. To obtain a remainder value obtained by dividing each value included in the value by a predetermined divisor value. Then, the generation circuit 240 inputs all the acquired remainder values to the addition circuit 242.

検証回路270も生成回路240と同様に、第5〜第8乗算回路274〜277がそれぞれ出力した乗算値をそれぞれ二つのグループに分割し、各グループの有効桁の桁値を出力する分割回路を更に有する。検証回路270は、その各分割回路が出力した各グループの各桁値をそれぞれ第1’グループのテーブルと第2’グループのテーブルに入力し、各グループ毎に各テーブルを参照して、各グループに含まれる各値を所定除数値で除算した剰余値を取得する。そして、検証回路270は、取得した全ての剰余値を加算回路272に入力する。   Similarly to the generation circuit 240, the verification circuit 270 divides the multiplication values output from the fifth to eighth multiplication circuits 274 to 277 into two groups, respectively, and outputs a division circuit that outputs the digit value of the significant digit of each group. Also have. The verification circuit 270 inputs each digit value of each group output from each of the division circuits to the table of the first 'group and the table of the second' group, and refers to each table for each group. To obtain a remainder value obtained by dividing each value included in the value by a predetermined divisor value. Then, the verification circuit 270 inputs all the acquired remainder values to the addition circuit 272.

この場合、通信装置200は、256バイトのテーブルを2つ記憶しておけばよいため、テーブルの全サイズは512バイトとなり、第2記憶装置220の記憶容量をさらに低減させることができる。   In this case, since the communication device 200 only needs to store two 256-byte tables, the total size of the tables is 512 bytes, and the storage capacity of the second storage device 220 can be further reduced.

さらに、第1’グループに対応するテーブルを省略し、新たに追加した各分割回路が出力した第1’グループの各桁値を直接、加算回路242又は272に入力してもよい。この場合、テーブルの全サイズは256バイトとなり、第2記憶装置220の記憶容量をさらに低減させることができ、通信装置200の回路構成を単純化させることもできる。   Further, the table corresponding to the first 'group may be omitted, and each digit value of the first' group output by each newly added division circuit may be directly input to the adding circuit 242 or 272. In this case, the total size of the table is 256 bytes, the storage capacity of the second storage device 220 can be further reduced, and the circuit configuration of the communication device 200 can be simplified.

図7は、通信装置200による送信処理の動作の例を示すフローチャートである。以下、図7に示したフローチャートを参照しつつ、送信処理の動作を説明する。なお、以下に説明する動作のフローは、主にCPU230により通信装置200の各要素と協働して実行される。   FIG. 7 is a flowchart illustrating an example of operation of transmission processing by the communication apparatus 200. The operation of the transmission process will be described below with reference to the flowchart shown in FIG. The operation flow described below is mainly executed by the CPU 230 in cooperation with each element of the communication device 200.

最初に、CPU230は、送信データを生成回路240及び送信回路250に出力する(ステップS301)。次に、分割回路241は、送信データを複数のグループに分割し、各グループの有効桁の桁値を出力する(ステップS302)。次に、第1〜第4乗算回路243〜246は、それぞれ、第1記憶装置210の各データを参照して各グループにおける最小値を所定除数値で除算した剰余値を取得する(ステップS303)。次に、第1〜第4乗算回路243〜246は、それぞれ、取得した剰余値と分割回路241が出力した各グループの各桁値をモジュロ2乗算することにより、乗算値を算出する(ステップS304)。次に、生成回路240は、各グループに係る乗算値をそれぞれ共通テーブル221に入力し、共通テーブル221を参照して、各乗算値に対応する剰余値を取得する(ステップS305)。次に、加算回路242は、各剰余値をモジュロ2加算し(ステップS306)、各剰余値の総和を送信CRCとして生成し、送信回路250に出力する(ステップS307)。次に、送信制御回路253は、送信データを送信CRCとともに、他の通信装置へ送信し(ステップS308)、一連のステップを終了する。   First, the CPU 230 outputs transmission data to the generation circuit 240 and the transmission circuit 250 (step S301). Next, the dividing circuit 241 divides the transmission data into a plurality of groups, and outputs the digit values of the significant digits of each group (step S302). Next, the first to fourth multiplication circuits 243 to 246 refer to the data in the first storage device 210, respectively, and obtain a remainder value obtained by dividing the minimum value in each group by a predetermined divisor value (step S303). . Next, the first to fourth multiplication circuits 243 to 246 each calculate a multiplication value by modulo-2 multiplication of the obtained remainder value and each digit value of each group output from the division circuit 241 (step S304). ). Next, the generation circuit 240 inputs the multiplication values related to each group to the common table 221, refers to the common table 221, and obtains a remainder value corresponding to each multiplication value (step S 305). Next, the adder circuit 242 adds modulo 2 each residue value (step S306), generates the sum of each residue value as a transmission CRC, and outputs it to the transmitter circuit 250 (step S307). Next, the transmission control circuit 253 transmits the transmission data together with the transmission CRC to another communication device (step S308), and ends a series of steps.

図8は、通信装置200による受信処理の動作の例を示すフローチャートである。以下、図8に示したフローチャートを参照しつつ、受信処理の動作を説明する。なお、以下に説明する動作のフローは、主にCPU230により通信装置200の各要素と協働して実行される。   FIG. 8 is a flowchart illustrating an example of operation of reception processing by the communication apparatus 200. The operation of the reception process will be described below with reference to the flowchart shown in FIG. The operation flow described below is mainly executed by the CPU 230 in cooperation with each element of the communication device 200.

最初に、受信制御回路261は、他の通信装置から、受信データ及びその受信データに対する受信CRCを受信する(ステップS401)。次に、分割回路271は、受信データを複数のグループに分割し、各グループの有効桁の桁値を出力する(ステップS402)。次に、第5〜第8乗算回路274〜277は、それぞれ、第1記憶装置210の各データを参照して各グループにおける最小値を所定除数値で除算した剰余値を取得する(ステップS403)。次に、第5〜第8乗算回路274〜277は、それぞれ、取得した剰余値と各グループの有効桁の桁値をモジュロ2乗算することにより、乗算値を算出する(ステップS404)。次に、検証回路270は、各グループに係る乗算値をそれぞれ各テーブルに入力し、各グループ毎に各テーブルを参照して、各乗算値に対応する剰余値を取得する(ステップS405)。次に、加算回路272は、各剰余値をモジュロ2加算し、各剰余値の総和を算出し、一致回路273に出力する(ステップS406)。次に、一致回路273は、各剰余値の総和と受信CRCを比較することにより、受信データ及び受信CRCを検証し、検証結果をCPU230に出力する(ステップS407)。次に、CPU230は、検証結果に基づいて、受信データに誤りがあるか否かを判定し(ステップS408)、一連のステップを終了する。   First, the reception control circuit 261 receives received data and a received CRC for the received data from another communication device (step S401). Next, the dividing circuit 271 divides the received data into a plurality of groups and outputs the digit values of the effective digits of each group (step S402). Next, the fifth to eighth multiplication circuits 274 to 277 refer to the data in the first storage device 210, respectively, and obtain a remainder value obtained by dividing the minimum value in each group by a predetermined divisor value (step S403). . Next, the fifth to eighth multiplication circuits 274 to 277 each calculate a multiplication value by modulo-2 multiplication of the obtained remainder value and the significant digit value of each group (step S404). Next, the verification circuit 270 inputs the multiplication value related to each group to each table, refers to each table for each group, and obtains a remainder value corresponding to each multiplication value (step S405). Next, the adder circuit 272 modulo-2 adds each residue value, calculates the sum of each residue value, and outputs it to the match circuit 273 (step S406). Next, the matching circuit 273 verifies the received data and the received CRC by comparing the sum of the remainder values with the received CRC, and outputs the verification result to the CPU 230 (step S407). Next, the CPU 230 determines whether or not there is an error in the received data based on the verification result (step S408), and ends a series of steps.

以上詳述したように、通信装置200は、CRCの生成時及び検証時に、剰余値を算出するためのデータを共用できるため、高速にCRCを処理しつつ、記憶装置に格納しておくデータ量をさらに低減させることが可能となった。これにより、記憶装置のサイズ及びコストを低減させることが可能となり、通信装置全体のサイズ及びコストを低減させることが可能となった。   As described above in detail, since the communication device 200 can share data for calculating the remainder value at the time of CRC generation and verification, the amount of data stored in the storage device while processing the CRC at high speed Can be further reduced. As a result, the size and cost of the storage device can be reduced, and the size and cost of the entire communication device can be reduced.

以上、本発明の好適な実施形態について説明してきたが、本発明はこれらの実施形態に限定されるものではない。例えば、通信装置200において、第1記憶装置210はマルチポートメモリとせずに、通信装置200は、生成回路240用の第1記憶装置と、検証回路270用の第1記憶装置を別個に有してもよい。   The preferred embodiments of the present invention have been described above, but the present invention is not limited to these embodiments. For example, in the communication device 200, the first storage device 210 is not a multiport memory, and the communication device 200 has a first storage device for the generation circuit 240 and a first storage device for the verification circuit 270 separately. May be.

また、本発明を適用可能な装置は、通信装置に限定されず、本発明は、例えばハードディスクドライブ等を有し、データの書込みと読出しを同時に行う情報処理装置のように、チェックコードの生成と検証を同時に行う他の装置に適用することも可能である。   An apparatus to which the present invention can be applied is not limited to a communication apparatus, and the present invention can generate a check code such as an information processing apparatus having a hard disk drive or the like and simultaneously writing and reading data. It is also possible to apply to other devices that perform verification at the same time.

100、200 通信装置
110 記憶装置
120、230 CPU
130、240 生成回路
140、250 送信回路
150、260 受信回路
160、270 検証回路
210 第1記憶装置
220 第2記憶装置
100, 200 Communication device 110 Storage device 120, 230 CPU
130, 240 Generation circuit 140, 250 Transmission circuit 150, 260 Reception circuit 160, 270 Verification circuit 210 First storage device 220 Second storage device

Claims (8)

所定桁を有する送信データ及び受信データを通信する通信装置であって、
前記所定桁の内の一部を有効桁とし且つ前記有効桁以外の桁を0とする複数の値から構成されるグループを複数個設定し、各グループに含まれる複数の値をそれぞれ所定値で除算した複数の剰余値を前記グループ毎に保持する記憶部と、
送信データを前記複数のグループに分割し、前記複数のグループ毎に前記記憶部を参照して前記剰余値を取得し、前記取得した剰余値の総和に基づいて送信チェックコードを生成する生成部と、
前記送信データを前記送信チェックコードとともに送信する送信部と、
受信データ及び前記受信データに対する受信チェックコードを受信する受信部と、
前記受信データに基づく値を前記複数のグループに分割し、前記複数のグループ毎に前記記憶部を参照して前記剰余値を取得し、前記取得した剰余値の総和に基づいて前記受信データ及び前記受信チェックコードを検証する検証部と、を有し、
前記記憶部は、前記生成部及び前記検証部から同時に参照可能である、
ことを特徴とする通信装置。
A communication device for communicating transmission data and reception data having a predetermined digit,
A plurality of groups composed of a plurality of values in which a part of the predetermined digits is a valid digit and a digit other than the valid digits is 0 are set, and a plurality of values included in each group are respectively set to a predetermined value. A storage unit for holding a plurality of divided remainder values for each group;
A generation unit that divides transmission data into the plurality of groups, acquires the remainder value with reference to the storage unit for each of the plurality of groups, and generates a transmission check code based on a sum of the obtained remainder values; ,
A transmission unit for transmitting the transmission data together with the transmission check code;
A receiving unit for receiving the received data and a reception check code for the received data;
A value based on the received data is divided into the plurality of groups, the remainder value is obtained for each of the plurality of groups with reference to the storage unit, and the received data and the received data based on a sum of the obtained remainder values A verification unit for verifying the reception check code,
The storage unit can be referred to simultaneously from the generation unit and the verification unit.
A communication device.
前記記憶部は、マルチポートメモリである、請求項1に記載の通信装置。   The communication device according to claim 1, wherein the storage unit is a multi-port memory. 所定桁を有する送信データ及び受信データを通信する通信装置であって、
前記所定桁の内の一部を有効桁とし且つ前記有効桁以外の桁を0とする複数の値から構成されるグループを複数個設定し、各グループにおける最小値を所定値で除算した剰余値を前記グループ毎に保持する第1記憶部と、
所定の複数の値をそれぞれ前記所定値で除算した複数の剰余値を保持する第2記憶部と、
送信データを前記複数のグループに分割し、前記複数のグループ毎に、前記第1記憶部を参照して前記剰余値を取得し、前記取得した剰余値と各グループの有効桁の桁値の乗算値を算出し、前記第2記憶部を参照して前記乗算値に対応する剰余値を取得し、当該取得した剰余値の総和に基づいて送信チェックコードを生成する生成部と、
前記送信データを前記送信チェックコードとともに送信する送信部と、
受信データ及び前記受信データに対する受信チェックコードを受信する受信部と、
前記受信データに基づく値を前記複数のグループに分割し、前記複数のグループ毎に、前記第1記憶部を参照して前記剰余値を取得し、前記取得した剰余値と各グループの有効桁の桁値の乗算値を算出し、前記第2記憶部を参照して前記乗算値に対応する剰余値を取得し、当該取得した剰余値の総和に基づいて前記受信データ及び前記受信チェックコードを検証する検証部と、を有し、
前記第2記憶部は、前記生成部及び前記検証部から前記複数のグループについて同時に参照可能である、
ことを特徴とする通信装置。
A communication device for communicating transmission data and reception data having a predetermined digit,
A remainder value obtained by setting a plurality of groups composed of a plurality of values in which a part of the predetermined digits is a significant digit and a digit other than the significant digits is 0, and a minimum value in each group is divided by a predetermined value A first storage unit for storing each group,
A second storage unit for holding a plurality of remainder values obtained by dividing a plurality of predetermined values by the predetermined value,
The transmission data is divided into the plurality of groups, the remainder value is obtained for each of the plurality of groups by referring to the first storage unit, and the obtained remainder value is multiplied by the significant digit value of each group. A generation unit that calculates a value, obtains a remainder value corresponding to the multiplication value with reference to the second storage unit, and generates a transmission check code based on a sum of the obtained remainder values;
A transmission unit for transmitting the transmission data together with the transmission check code;
A receiving unit for receiving the received data and a reception check code for the received data;
The value based on the received data is divided into the plurality of groups, and for each of the plurality of groups, the remainder value is obtained by referring to the first storage unit, and the obtained remainder value and the significant digits of each group are obtained. A multiplication value of a digit value is calculated, a remainder value corresponding to the multiplication value is obtained with reference to the second storage unit, and the reception data and the reception check code are verified based on the sum of the obtained remainder values And a verification unit
The second storage unit can simultaneously refer to the plurality of groups from the generation unit and the verification unit.
A communication device.
前記第1記憶部及び前記第2記憶部は、マルチポートメモリである、請求項3に記載の通信装置。   The communication device according to claim 3, wherein the first storage unit and the second storage unit are multi-port memories. 前記グループは、前記所定桁の全てが何れかのグループで有効桁となるように設定される、請求項1〜4の何れか一項に記載の通信装置。   The communication device according to any one of claims 1 to 4, wherein the group is set such that all of the predetermined digits are valid digits in any group. 前記送信チェックコード及び前記受信チェックコードは、CRCである、請求項1〜5の何れか一項に記載の通信装置。   The communication device according to any one of claims 1 to 5, wherein the transmission check code and the reception check code are CRCs. 記憶部を有し、所定桁を有する送信データ及び受信データを通信する通信装置の制御方法であって、
前記所定桁の内の一部を有効桁とし且つ前記有効桁以外の桁を0とする複数の値から構成されるグループを複数個設定し、各グループに含まれる複数の値をそれぞれ所定値で除算した複数の剰余値を前記グループ毎に前記記憶部に保持し、
送信データを前記複数のグループに分割し、前記複数のグループ毎に前記記憶部を参照して前記剰余値を取得し、前記取得した剰余値の総和に基づいて送信チェックコードを生成し、
前記送信データを前記送信チェックコードとともに送信し、
受信データ及び前記受信データに対する受信チェックコードを受信し、
前記受信データに基づく値を前記複数のグループに分割し、前記複数のグループ毎に前記記憶部を参照して前記剰余値を取得し、前記取得した剰余値の総和に基づいて前記受信データ及び前記受信チェックコードを検証することを含み、
前記記憶部は、前記生成及び前記検証において同時に参照可能である、
ことを特徴とする制御方法。
A control method of a communication device having a storage unit and communicating transmission data and reception data having a predetermined digit,
A plurality of groups composed of a plurality of values in which a part of the predetermined digits is a valid digit and a digit other than the valid digits is 0 are set, and a plurality of values included in each group are respectively set to a predetermined value. A plurality of divided remainder values are held in the storage unit for each group,
Dividing the transmission data into the plurality of groups, obtaining the remainder value with reference to the storage unit for each of the plurality of groups, generating a transmission check code based on the sum of the obtained remainder values;
Transmitting the transmission data together with the transmission check code;
Receiving the received data and a reception check code for the received data;
A value based on the received data is divided into the plurality of groups, the remainder value is obtained for each of the plurality of groups with reference to the storage unit, and the received data and the received data based on a sum of the obtained remainder values Including verifying the received check code,
The storage unit can be referred to at the same time in the generation and the verification.
A control method characterized by that.
第1記憶部及び第2記憶部を有し、所定桁を有する送信データ及び受信データを通信する通信装置の制御方法であって、
前記所定桁の内の一部を有効桁とし且つ前記有効桁以外の桁を0とする複数の値から構成されるグループを複数個設定し、各グループにおける最小値を所定値で除算した剰余値を前記グループ毎に前記第1記憶部に保持し、
所定の複数の値をそれぞれ前記所定値で除算した複数の剰余値を前記第2記憶部に保持し、
送信データを前記複数のグループに分割し、前記複数のグループ毎に、前記第1記憶部を参照して前記剰余値を取得し、前記取得した剰余値と各グループの有効桁の桁値の乗算値を算出し、前記第2記憶部を参照して前記乗算値に対応する剰余値を取得し、当該取得した剰余値の総和に基づいて送信チェックコードを生成し、
前記送信データを前記送信チェックコードとともに送信し、
受信データ及び前記受信データに対する受信チェックコードを受信し、
前記受信データに基づく値を前記複数のグループに分割し、前記複数のグループ毎に、前記第1記憶部を参照して前記剰余値を取得し、前記取得した剰余値と各グループの有効桁の桁値の乗算値を算出し、前記第2記憶部を参照して前記乗算値に対応する剰余値を取得し、当該取得した剰余値の総和に基づいて前記受信データ及び前記受信チェックコードを検証することを含み、
前記第2記憶部は、前記生成及び前記検証において前記複数のグループについて同時に参照可能である、
ことを特徴とする制御方法。
A control method for a communication apparatus that includes a first storage unit and a second storage unit and communicates transmission data and reception data having a predetermined digit,
A remainder value obtained by setting a plurality of groups composed of a plurality of values in which a part of the predetermined digits is a significant digit and a digit other than the significant digits is 0, and a minimum value in each group is divided by a predetermined value Is stored in the first storage unit for each group,
Holding a plurality of remainder values obtained by dividing a plurality of predetermined values by the predetermined value in the second storage unit;
The transmission data is divided into the plurality of groups, the remainder value is obtained for each of the plurality of groups by referring to the first storage unit, and the obtained remainder value is multiplied by the significant digit value of each group. Calculating a value, obtaining a remainder value corresponding to the multiplication value with reference to the second storage unit, and generating a transmission check code based on the sum of the obtained remainder values;
Transmitting the transmission data together with the transmission check code;
Receiving the received data and a reception check code for the received data;
The value based on the received data is divided into the plurality of groups, and for each of the plurality of groups, the remainder value is obtained by referring to the first storage unit, and the obtained remainder value and the significant digits of each group are obtained. A multiplication value of a digit value is calculated, a remainder value corresponding to the multiplication value is obtained with reference to the second storage unit, and the reception data and the reception check code are verified based on the sum of the obtained remainder values Including
The second storage unit can simultaneously refer to the plurality of groups in the generation and the verification.
A control method characterized by that.
JP2015058621A 2015-03-20 2015-03-20 Communication apparatus and control method Expired - Fee Related JP6351530B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015058621A JP6351530B2 (en) 2015-03-20 2015-03-20 Communication apparatus and control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015058621A JP6351530B2 (en) 2015-03-20 2015-03-20 Communication apparatus and control method

Publications (2)

Publication Number Publication Date
JP2016178551A true JP2016178551A (en) 2016-10-06
JP6351530B2 JP6351530B2 (en) 2018-07-04

Family

ID=57070406

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015058621A Expired - Fee Related JP6351530B2 (en) 2015-03-20 2015-03-20 Communication apparatus and control method

Country Status (1)

Country Link
JP (1) JP6351530B2 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001168730A (en) * 1999-12-07 2001-06-22 Hitachi Ltd Data transmitter-receiver
JP2008011025A (en) * 2006-06-28 2008-01-17 Fujitsu Ltd Remainder calculation apparatus for cyclic redundancy check
JP5260077B2 (en) * 2008-02-15 2013-08-14 太陽誘電株式会社 Programmable logic device and its construction method and its use

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001168730A (en) * 1999-12-07 2001-06-22 Hitachi Ltd Data transmitter-receiver
JP2008011025A (en) * 2006-06-28 2008-01-17 Fujitsu Ltd Remainder calculation apparatus for cyclic redundancy check
JP5260077B2 (en) * 2008-02-15 2013-08-14 太陽誘電株式会社 Programmable logic device and its construction method and its use

Also Published As

Publication number Publication date
JP6351530B2 (en) 2018-07-04

Similar Documents

Publication Publication Date Title
CN109040341B (en) Intelligent contract address generation method and device, computer equipment and readable storage medium
CN102096609A (en) Instruction-set architecture for programmable cyclic redundancy check (CRC) computations
JP2012519987A (en) System for establishing a cryptographic key that depends on a physical system
CN108768656B (en) Data verification method based on Hash algorithm
TWI283972B (en) Obtaining cyclic redundancy code
CN107239362B (en) Parallel CRC (Cyclic redundancy check) code calculation method and system
JP6044738B2 (en) Information processing apparatus, program, and storage medium
CN109495266B (en) Data encryption method and device based on random number
CN108959168B (en) SHA512 full-flow water circuit based on-chip memory and implementation method thereof
WO2011103741A1 (en) Method and device for data check processing
JP7116374B2 (en) Reduced Latency Error Correction Decoding
Pedersen et al. Network coding over the 2 32− 5 prime field
CN101207467B (en) Generation of cyclic redundancy check code as well as method and apparatus for sending and testing data sequence
US8683291B2 (en) High throughput frame check sequence module architecture
KR101391725B1 (en) Device and method structuring generation matrix for a linear block coding, coding and decoding devices using the matrix
JP6351530B2 (en) Communication apparatus and control method
CN113721986B (en) Data compression method and device, electronic equipment and storage medium
CN110287716B (en) Data storage method and device
CN114389752A (en) Cyclic redundancy check code generation method, apparatus, device, medium, and program product
KR102353983B1 (en) How to arrange an algorithm in Cyclic Redundancy Check (CRC)
KR101655809B1 (en) Method and Apparatus for Cyclic Redundancy Check Calculation by Using Multiple Look Up Table
CN116484443B (en) Trusted security storage method and device based on hong Monte-go system
CN117353926B (en) SM2 algorithm password processing method, device and equipment based on chip
TWI835381B (en) Apparatus for detecting errors during data encryption
CN108599912A (en) A kind of method, apparatus, electronic equipment and storage medium generating pilot tone pattern

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170407

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180206

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180330

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180605

R150 Certificate of patent or registration of utility model

Ref document number: 6351530

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees