WO2017212547A1 - データ処理装置、データ処理方法及びデータ処理プログラム - Google Patents

データ処理装置、データ処理方法及びデータ処理プログラム Download PDF

Info

Publication number
WO2017212547A1
WO2017212547A1 PCT/JP2016/066927 JP2016066927W WO2017212547A1 WO 2017212547 A1 WO2017212547 A1 WO 2017212547A1 JP 2016066927 W JP2016066927 W JP 2016066927W WO 2017212547 A1 WO2017212547 A1 WO 2017212547A1
Authority
WO
WIPO (PCT)
Prior art keywords
crc
area
bit string
frame
transmission frame
Prior art date
Application number
PCT/JP2016/066927
Other languages
English (en)
French (fr)
Inventor
清人 宮▲崎▼
Original Assignee
三菱電機株式会社
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 三菱電機株式会社 filed Critical 三菱電機株式会社
Priority to CN201680086352.0A priority Critical patent/CN109219928B/zh
Priority to JP2016564341A priority patent/JP6073006B1/ja
Priority to DE112016006791.7T priority patent/DE112016006791B4/de
Priority to US16/093,949 priority patent/US10771095B2/en
Priority to PCT/JP2016/066927 priority patent/WO2017212547A1/ja
Priority to TW105123706A priority patent/TW201743208A/zh
Publication of WO2017212547A1 publication Critical patent/WO2017212547A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6502Reduction of hardware complexity or efficient processing
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • H03M13/091Parallel or block-wise CRC computation
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received

Definitions

  • the present invention relates to a data processing device, a data processing method, and a data processing program.
  • the CRC calculation time In a field where reliability is required such as functional safety communication, if the processing is not completed within a specified time, it will lead to a failure. Therefore, the CRC calculation time must consider the worst execution time. Therefore, in order to reduce the CRC calculation time in such a field, it is essential to reduce the worst execution time.
  • the CRC calculation time can be shortened when the difference between the first data and the second data is small. However, if the difference between the first data and the second data is not small, the CRC calculation time cannot be shortened. Specifically, when obtaining the CRC of the second data by calculating the difference between the first data and the second data bit by bit, the size of the table holding the CRC is relatively small, The number of references increases.
  • the main object of the present invention is to reduce the CRC calculation time while suppressing the size of the table.
  • the data processing apparatus A first area in which a fixed bit string appears in a transmission frame, a second area in which a bit string similar to a prescribed bit string appears in the transmission frame, and a third area in which an atypical bit string appears in the transmission frame And an area designating unit for extracting a difference between the bit string of the second area and the specified bit string;
  • a first CRC acquisition unit that acquires, for the first area, a first CRC that is a CRC (Cyclic Redundancy Check) corresponding to the fixed bit string from a CRC table in which a plurality of CRCs are stored;
  • a second CRC acquisition unit that acquires, from the CRC table, a second CRC, which is a CRC corresponding to the specified bit string, for the second region;
  • a differential CRC acquisition unit for acquiring a differential CRC, which is a CRC corresponding to the difference extracted by the region specifying unit, from the CRC table;
  • a third CRC generator for generating a third CRC that is
  • the present invention only the first CRC corresponding to the fixed bit string, the second CRC corresponding to the specified bit string, and the difference CRC corresponding to the difference between the specified bit string and the bit string in the second area are held in the table. do it.
  • the first CRC, the second CRC, and the differential CRC are acquired from the table, and the CRC of the transmission frame is calculated based on the acquired first CRC, the second CRC, the differential CRC, and the third CRC. Can be generated.
  • the CRC calculation time can be shortened while suppressing the size of the table.
  • FIG. 3 is a diagram illustrating a hardware configuration example of a control device according to the first embodiment.
  • FIG. 3 is a diagram illustrating a functional configuration example of a control device according to the first embodiment.
  • FIG. 3 is a flowchart showing an operation example of the control device according to the first embodiment. The figure which shows the relationship between the flame
  • FIG. 3 is a flowchart showing a procedure for determining a relationship between a reference field and a difference bit according to the first embodiment.
  • FIG. 3 is a flowchart showing a procedure for determining a relationship between a reference field and a difference bit according to the first embodiment.
  • Embodiment 1 FIG.
  • the control device 10 has the hardware configuration shown in FIG. 1 and the functional configuration shown in FIG. Details of FIGS. 1 and 2 will be described later.
  • the control device 10 divides the area of the transmission frame as follows. (1) a first region in which a fixed bit string appears; (2) Second area where a bit string similar to the specified bit string appears (3) Third area where an atypical bit string appears A region where a fixed bit string which is a fixed bit string appears for each communication protocol, a semi-fixed bit string The region where appears and the region where a random atypical bit string appears are determined.
  • the control device 10 according to the present embodiment, based on the communication protocol to which the transmission frame complies, the first region in which the fixed bit string appears in the transmission frame, and the bit string similar to the specified bit string (semi-fixed bit string) A second area in which a appears and a third area in which an atypical bit string appears are designated.
  • the control device 10 obtains a CRC (corresponding to the first CRC) corresponding to the fixed bit string, a CRC (corresponding to the second CRC) corresponding to the specified bit string, and a CRC (corresponding to the difference CRC) corresponding to the difference from the CRC table. get. Further, the control device 10 calculates a CRC (corresponding to the third CRC) corresponding to the bit string in the third area. And the control apparatus 10 performs the exclusive logical operation of these CRC, and produces
  • control device 10 is a computer in which an input / output interface 101, a communication interface 102, a processor 103, and a storage device 104 are connected by a bus 105.
  • the input / output interface 101 is used for signal input / output. Specifically, the input / output interface 101 is used for signal input from a sensor or a switch connected to the control device 10. The input / output interface 101 is used for signal output to an actuator or a lamp connected to the control device 10.
  • the communication interface 102 performs communication for communicating control data with other control devices. Specifically, the communication interface 102 transmits a transmission frame to which a CRC is added as control data.
  • the processor 103 executes a program. Specifically, the processor 103 performs the frame generation unit 1001, the frame configuration determination unit 1002, the reference frame CRC acquisition unit 1003, the reference field CRC acquisition unit 1004, the differential bit CRC acquisition unit 1005, and the variable field CRC generation unit illustrated in FIG. 1006, the program which implement
  • the realized program corresponds to a data processing program.
  • the storage device 104 stores the aforementioned program executed by the processor 103.
  • the storage device 104 stores a CRC table.
  • processor 103 and the storage device 104 may be made redundant in order to increase the availability of the control device 10.
  • the frame configuration determination unit 1002 Based on the communication protocol information output from the frame generation unit 1001, the frame configuration determination unit 1002 performs the first region, the second region, and the third region on the transmission frame generated by the frame generation unit 1001. Specify the area. In addition, the frame configuration determination unit 1002 extracts a difference between the bit string in the second area and the specified bit string.
  • the frame configuration determining unit 1002 corresponds to an area specifying unit. Further, the process performed by the frame configuration determination unit 1002 corresponds to an area designation process.
  • the reference frame CRC acquisition unit 1003 acquires a CRC for the first area from the CRC table.
  • the reference frame CRC acquisition unit 1003 corresponds to a first CRC acquisition unit.
  • the process performed by the reference frame CRC acquisition unit 1003 corresponds to the first CRC acquisition process.
  • the reference field CRC acquisition unit 1004 acquires a CRC for the second area from the CRC table.
  • the reference field CRC acquisition unit 1004 corresponds to a second CRC acquisition unit.
  • the process performed by the reference field CRC acquisition unit 1004 corresponds to a second CRC acquisition process.
  • the difference bit CRC acquisition unit 1005 acquires a CRC for the difference bit from the CRC table.
  • the differential bit CRC acquisition unit 1005 corresponds to a differential CRC acquisition unit. Further, the process performed by the differential bit CRC acquisition unit 1005 corresponds to a differential CRC acquisition process.
  • the variable field CRC generation unit 1006 generates a CRC for the third area.
  • the variable field CRC generation unit 1006 applies, for example, an existing method that is capable of corresponding to an arbitrary field value and is based on sequential exclusive OR operation from higher bits.
  • the variable field CRC generation unit 1006 corresponds to a third CRC generation unit. Also, the process performed by the variable field CRC generation unit 1006 corresponds to a third CRC generation process.
  • the arithmetic unit 1007 performs exclusive OR of all the CRCs to generate a CRC of the transmission frame.
  • the calculation unit 1007 corresponds to a frame CRC generation unit. Further, the process performed by the calculation unit 1007 corresponds to a frame CRC generation process.
  • the frame concatenation unit 1008 combines the CRC generated by the arithmetic unit 1007 with the end of the transmission frame generated by the frame generation unit 1001. As a result, a transmission frame to which CRC is added is output.
  • FIG. 3 is a flowchart illustrating an operation example of the control device 10.
  • FIG. 4 shows the relationship between the frame and the CRC.
  • FIG. 4 shows a process of generating a CRC 210 to be added to the transmission frame 201.
  • the frame generation unit 1001 generates a transmission frame 201.
  • the frame generation unit 1001 generates the transmission frame 201 of FIG. 4 based on the communication protocol ⁇ .
  • the area 201a and the area 201c correspond to the first area
  • the area 201b corresponds to the second area
  • the area 201d corresponds to the third area. That is, the area 201a and the area 201c include a fixed bit string.
  • the area 201b includes a bit string similar to the specified bit.
  • the area 201d includes an atypical bit string.
  • the frame generation unit 1001 outputs information for notifying the transmission frame 201 and the communication protocol ⁇ to the frame configuration determination unit 1002.
  • the frame configuration determination unit 1002 notifies the reference frame CRC acquisition unit 1003 of the CRC identifier corresponding to the fixed bit string of the communication protocol ⁇ for the first areas 201a and 201c. Also, the frame configuration determination unit 1002 notifies the reference field CRC acquisition unit 1004 of the CRC identifier corresponding to the specified bit string of the communication protocol ⁇ for the second region 201b. Also, the frame configuration determination unit 1002 outputs the bit string included in the third area 201d to the variable field CRC generation unit 1006. Also, the frame configuration determination unit 1002 notifies the differential bit CRC acquisition unit 1005 of the CRC identifier corresponding to the differential bit.
  • the reference frame CRC acquisition unit 1003 assigns a CRC corresponding to the fixed bit string of the communication protocol ⁇ to the first areas 201a and 201c based on the identifier notified from the frame configuration determination unit 1002. Obtain from the CRC table. More specifically, the reference frame CRC acquisition unit 1003 acquires the CRC 211 of the reference frame 202 illustrated in FIG. 4 from the CRC table.
  • the reference frame 202 is a frame having the same frame length as the transmission frame 201.
  • an area 202a corresponding to the area 201a of the transmission frame 201 is configured with the same fixed bit string as the area 201a
  • an area 202c corresponding to the area 201c of the transmission frame 201 is configured with the same fixed bit string as the area 201c.
  • the bit values of the areas other than the areas 202a and 202c are 0.
  • the reference field CRC acquisition unit 1004 adds the CRC corresponding to the specified bit string of the communication protocol ⁇ to the CRC table for the second area 201b. Get from. More specifically, the reference field CRC acquisition unit 1004 acquires the CRC 212 of the frame 203 shown in FIG. 4 from the CRC table.
  • the frame 203 is a frame having the same frame length as that of the transmission frame 201.
  • an area 202b corresponding to the area 201b of the transmission frame 201 is configured with a specified bit string.
  • the bit value of the area other than the area 203b is 0.
  • the area 203b in which the specified bit string is stored is also referred to as a reference field.
  • step S07 the variable field CRC generation unit 1006 generates a CRC 214 for the bit string of the third area 201d output from the frame configuration determination unit 1002.
  • the third region 201d is also referred to as a variable field.
  • step S08 the operation unit 1007 performs exclusive OR operation on the CRC 211, CRC 212, CRC 213, and CRC 214 to generate the CRC 210 of the transmission frame 201.
  • step S09 the frame concatenation unit 1008 concatenates the CRC 210 to the end of the transmission frame 201.
  • FIG. 3 shows an example in which processing is performed in the order of step S03, step S04, step S05, step S06, and step S07.
  • step S03, step S04, step S05, step S06, and step S07 are performed. It may be performed in parallel.
  • Transmission Frame Configuration Method Depending on the communication protocol, a plurality of types of transmission frames may be transmitted depending on the communication type such as fixed-cycle communication or non-fixed-cycle communication. In such a case, it is necessary to prepare a different reference frame for each type of transmission frame.
  • a field in which an arbitrary bit string appears and it is difficult to predict the appearing bit string is a variable field.
  • the variable field is, for example, a payload of the transmission frame.
  • a field excluding a field in which a standard bit string appears in the reference frame and a variable field from the transmission frame is a reference field.
  • One or more reference fields exist in the transmission frame That is, a plurality of reference fields may exist in the transmission frame.
  • a plurality of reference fields that are separated in the transmission frame may be treated as separate reference fields, or a plurality of reference fields may be treated as one reference field.
  • step S101 the system administrator obtains all patterns of fields that can be transmitted.
  • step S102 if there is an area where the bit value does not change in the field, the system administrator fixes a frame in which the bit value is fixed for the area and the bit value of the area where the bit value changes is 0. Set to the reference frame.
  • step S103 the system administrator calculates the hamming distance from the temporary reference frame for all patterns in the field. Also, all the patterns in the field are classified according to the Hamming distance.
  • step S105 the system administrator determines whether or not the value of the common bit extracted in step S104 is 1. If the common bit value is 1, the system administrator performs step S106, and if the common bit value is 0, the system administrator performs step S107.
  • step S107 the system administrator calculates the Hamming distance from the temporary reference frame for all patterns in the field.
  • step S108 the system administrator determines whether or not the maximum Hamming distance calculated in step S107 is equal to or less than a target value. If the maximum value of the Hamming distance calculated in step S107 is less than or equal to the target value, the system administrator performs step S111, and if not, performs step S109.
  • step S109 the system administrator selects a bit that takes both values of 0 and 1 for the set of fields having the maximum Hamming distance from the temporary reference frame. That is, the system administrator obtains a temporary reference frame whose bit is 1 in addition to the temporary reference frame whose bit is 0. The system administrator records from which field the pattern of each field is calculated.
  • step S110 the system administrator determines whether or not the number of tables after adding the temporary reference frame in step S109 is equal to or less than the target value. If the number of tables is less than or equal to the target value, the system administrator performs step S107. Otherwise, the system administrator cannot realize both the target table reference count and the table size, and ends the flow shown in FIGS.
  • step S111 all the provisional reference fields calculated so far are determined as final reference fields, and the flow shown in FIGS. 5 and 6 ends.
  • the processor 103 shown in FIG. 1 is an IC (Integrated Circuit) that performs processing.
  • the processor 103 is a CPU (Central Processing Unit), a DSP (Digital Signal Processor), or the like.
  • the storage device 104 shown in FIG. 1 is a RAM (Random Access Memory), a ROM (Read Only Memory), a flash memory, an HDD (Hard Disk Drive), or the like.
  • the communication interface 102 shown in FIG. 1 includes a receiver that receives data and a transmitter that transmits data.
  • the communication interface 102 is, for example, a communication chip or a NIC (Network Interface Card).
  • the input / output interface 101 illustrated in FIG. 1 is, for example, a mouse, a keyboard, a display, or the like.
  • control device 10 may be realized by an electronic circuit such as a logic IC (Integrated Circuit), a GA (Gate Array), an ASIC (Application Specific Integrated Circuit), or an FPGA (Field-Programmable Gate Array).
  • each “unit” is realized as part of an electronic circuit.
  • the processor and the electronic circuit are also collectively referred to as a processing circuit.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

領域指定部(1002)は、送信フレーム内で定型ビット列が出現する第1の領域と、規定ビット列に類似するビット列が出現する第2の領域と、非定型ビット列が出現する第3の領域とを指定し、第2の領域のビット列と規定ビット列との差分を抽出する。第1のCRC取得部(1003)は、定型ビット列に対応する第1のCRCをCRCテーブルから取得する。第2のCRC取得部(1004)は、規定ビット列に対応する第2のCRCをCRCテーブルから取得する。差分CRC取得部(1005)は、抽出された差分に対応する差分CRCをCRCテーブルから取得する。第3のCRC生成部(1006)は、第3の領域のビット列に対応する第3のCRCを生成する。フレームCRC生成部(1007)は、第1のCRCと第2のCRCと差分CRCと第3のCRCとを用いて、送信フレームのCRCを生成する。

Description

データ処理装置、データ処理方法及びデータ処理プログラム
 本発明は、データ処理装置、データ処理方法及びデータ処理プログラムに関する。
 特許文献1には、簡易な演算によりCRC(Cyclic Redundancy Check)を生成する方法が開示されている。以下に、特許文献1のCRC算出の原理を説明する。
 送信対象の第2のデータは第1のデータに対して特定のビットの値のみが異なっている。第1のデータのCRCは算出済みである。
 特許文献1では、前記特定のビットに対応するビットのみ値が1であり、他の全てのビットの値が0である第3のデータのCRCをあらかじめ求め、第3のデータのCRCをテーブルに保持しておく。そして、特許文献1では、第1のデータのCRCと、第3のデータのCRCとの排他的論理和演算を行うことにより、第2のデータのCRCを求める。
特許第4896931号
 機能安全通信など信頼性の要求される分野では、規定時間内に処理が完了しなければ障害に繋がってしまうため、CRC演算時間は最悪実行時間を考慮しなければならない。従って、こうした分野でCRC演算時間を短縮したい場合は、最悪実行時間を短縮することが必須となる。
 特許文献1の方法では、第1のデータと第2のデータとの間の差が小さい場合にCRC演算時間を短縮できる。しかし、第1のデータと第2のデータとの間の差が小さくない場合はCRC演算時間を短縮することはできない。具体的には、第1のデータと第2のデータとの差を1ビットずつ求めて第2のデータのCRCを求める場合は、CRCを保持するテーブルのサイズは相対的に小さいものの、テーブルの参照回数が多くなる。このため、CRC演算時間が長くなる。
 また、代替方法として、第1のデータと第2のデータとの差に対応する全てのCRCをテーブルに保持しておくことが考えられる。この場合は、テーブル参照回数は少なくなるが、テーブルのサイズが膨大になり、テーブルを格納するために多くの記憶領域が必要になってしまう。
 本発明は、テーブルのサイズを抑えながら、CRC演算時間を短縮することを主な目的とする。
 本発明に係るデータ処理装置は、
 送信フレーム内で定型ビット列が出現する第1の領域と、前記送信フレーム内で規定ビット列に類似するビット列が出現する第2の領域と、前記送信フレーム内で非定型ビット列が出現する第3の領域とを指定し、前記第2の領域のビット列と前記規定ビット列との差分を抽出する領域指定部と、
 前記第1の領域に対して、前記定型ビット列に対応するCRC(Cyclic Redundancy Check)である第1のCRCを、複数のCRCが格納されているCRCテーブルから取得する第1のCRC取得部と、
 前記第2の領域に対して、前記規定ビット列に対応するCRCである第2のCRCを、前記CRCテーブルから取得する第2のCRC取得部と、
 前記領域指定部により抽出された前記差分に対応するCRCである差分CRCを、前記CRCテーブルから取得する差分CRC取得部と、
 前記第3の領域のビット列に対応するCRCである第3のCRCを生成する第3のCRC生成部と、
 前記第1のCRCと前記第2のCRCと前記差分CRCと前記第3のCRCとを用いて、前記送信フレームのCRCを生成するフレームCRC生成部とを有する。
 本発明によれば、定型ビット列に対応する第1のCRCと、規定ビット列に対応する第2のCRCと、規定ビット列と第2の領域のビット列との差分に対応する差分CRCのみをテーブルに保持すればよい。また、テーブルから第1のCRCと第2のCRCと差分CRCを取得し、取得した第1のCRCと第2のCRCと差分CRCと、第3のCRCとに基づいて、送信フレームのCRCを生成することができる。このように、本発明によれば、テーブルのサイズを抑えながら、CRC演算時間を短縮することができる。
実施の形態1に係る制御装置のハードウェア構成例を示す図。 実施の形態1に係る制御装置の機能構成例を示す図。 実施の形態1に係る制御装置の動作例を示すフローチャート図。 実施の形態1に係るフレームとCRCの関係を示す図。 実施の形態1に係る基準フィールド及び差分ビットの関係を決定する手順を示すフローチャート図。 実施の形態1に係る基準フィールド及び差分ビットの関係を決定する手順を示すフローチャート図。
 以下、本発明の実施の形態について、図を用いて説明する。以下の実施の形態の説明及び図面において、同一の符号を付したものは、同一の部分または相当する部分を示す。
実施の形態1.
 本実施の形態では、テーブルのサイズを抑えながら、CRC演算時間を短縮することが可能な制御装置10を説明する。
 本実施の形態に係る制御装置10は、図1に示すハードウェア構成を有し、また、図2に示す機能構成を有する。図1及び図2については、詳細は後述する。
 本実施の形態に係る制御装置10は、送信する送信フレームが対象とする通信プロトコルに従って、送信フレームを論理的に複数の領域に分割し、領域ごとにCRCを求める。制御装置10は、一部の領域を除いて各領域のCRCを、CRCテーブルから取得する。CRCテーブルには、複数のCRCが格納されている。そして、制御装置10は、得られた各領域のCRCの排他的論理和演算を行い、送信フレームのCRCを生成する。
 制御装置10は、送信フレームの領域を、以下のように分割する。
(1)定型ビット列が出現する第1の領域、
(2)規定ビット列に類似するビット列が出現する第2の領域
(3)非定型ビット列が出現する第3の領域
 通信プロトコルごとに、固定ビット列である定型ビット列が出現する領域、半固定的なビット列が出現する領域、ランダムな非定型ビット列が出現する領域は決まっている。
 本実施の形態に係る制御装置10は、送信フレームが準拠する通信プロトコルに基づいて、送信フレーム内で定型ビット列が出現する第1の領域と、規定ビット列に類似するビット列(半固定的なビット列)が出現する第2の領域と、非定型ビット列が出現する第3の領域とを指定する。
 第2の領域に出現するビット列は、規定ビット列と、例えば70%以上で一致することが望ましいが、第2の領域として、規定ビット列との一致率をどの程度要求するかは任意に決定することができる。つまり、第2の領域のビット列が規定ビット列とどの程度「類似」するかは、任意に決定することができる。
 CRCテーブルには、通信プロトコルごとに、定型ビット列に対応するCRC、規定ビット列に対応するCRCが予め格納されている。なお、第3の領域のビット列に対応するCRCはCRCテーブルに格納されていない。
 なお、送信フレームの第2の領域のビット列は規定ビット列に一致しない可能性がある。このため、制御装置10は、送信フレームの第2の領域のビット列と規定ビット列との差分を抽出する。なお、CRCテーブルには、差分のビット位置ごとに、対応するCRCが予め格納されている。
 制御装置10は、定型ビット列に対応するCRC(第1のCRCに相当)と規定ビット列に対応するCRC(第2のCRCに相当)と差分に対応するCRC(差分CRCに相当)をCRCテーブルから取得する。また、制御装置10は、第3の領域のビット列に対応するCRC(第3のCRCに相当)を算出する。
 そして、制御装置10は、これらCRCの排他的論理演算を行って、送信フレームのCRCを生成する。
 従来手法では最悪実行時間を短縮するために、必要なテーブルのパターン数が膨大になるという問題があったが、本実施の形態では階層分けしたテーブルエントリの組み合わせによってデータの全パターンを表現することで、テーブルサイズの増加を抑えながら最悪実行時間も短縮可能となる。
***構成の説明***
 図1は、本実施の形態に係る制御装置10のハードウェア構成例を示す。また、図2は、制御装置10の機能構成例を示す。制御装置10は、データ処理装置に相当する。また、制御装置10により行われる動作は、データ処理方法に相当する。
 図1に示すように、制御装置10は、入出力インタフェース101、通信インタフェース102、プロセッサ103及び記憶装置104が、バス105で接続されているコンピュータである。
 入出力インタフェース101は、信号の入出力に用いられる。具体的には、入出力インタフェース101は、制御装置10に接続しているセンサやスイッチなどからの信号入力に用いられる。また、入出力インタフェース101は、制御装置10に接続しているアクチュエータやランプなどへの信号出力に用いられる。
 通信インタフェース102は、他の制御装置との間で制御データを交信するための通信を行う。具体的には、通信インタフェース102は、制御データとして、CRCが付加された送信フレームを送信する。
 プロセッサ103は、プログラムを実行する。具体的には、プロセッサ103は、図2に示すフレーム生成部1001、フレーム構成決定部1002、基準フレームCRC取得部1003、基準フィールドCRC取得部1004、差分ビットCRC取得部1005、可変フィールドCRC生成部1006、演算部1007及びフレーム連結部1008の機能を実現するプログラムを実行する。フレーム生成部1001、フレーム構成決定部1002、基準フレームCRC取得部1003、基準フィールドCRC取得部1004、差分ビットCRC取得部1005、可変フィールドCRC生成部1006、演算部1007及びフレーム連結部1008の機能を実現するプログラムは、データ処理プログラムに相当する。
 記憶装置104は、プロセッサ103が実行する前述のプログラムを記憶する。また、記憶装置104は、CRCテーブルを記憶する。
 なお、制御装置10の可用性を高めるため、プロセッサ103及び記憶装置104は冗長化されていてもよい。
 図2において、フレーム生成部1001は、通信プロトコルの仕様に準拠して、送信すべき送信フレームのヘッダ及びペイロードを生成する。前述したように、送信フレームが準拠する通信プロトコルによって、送信フレームの構成が定まる。このため、フレーム生成部1001は、送信フレームと通信プロトコルの情報をフレーム構成決定部1002に出力する。
 フレーム構成決定部1002は、フレーム生成部1001から出力された通信プロトコルの情報をもとに、フレーム生成部1001により生成された送信フレームに対して第1の領域と第2の領域と第3の領域とを指定する。また、フレーム構成決定部1002は、第2の領域のビット列と規定ビット列との差分を抽出する。
 フレーム構成決定部1002は、領域指定部に相当する。また、フレーム構成決定部1002により行われる処理は領域指定処理に相当する。
 基準フレームCRC取得部1003は、第1の領域に対するCRCをCRCテーブルから取得する。
 基準フレームCRC取得部1003は、第1のCRC取得部に相当する。また、基準フレームCRC取得部1003により行われる処理は第1のCRC取得処理に相当する。
 基準フィールドCRC取得部1004は、第2の領域に対するCRCをCRCテーブルから取得する。
 基準フィールドCRC取得部1004は、第2のCRC取得部に相当する。また、基準フィールドCRC取得部1004により行われる処理は第2のCRC取得処理に相当する。
 差分ビットCRC取得部1005は、差分ビットに対するCRCをCRCテーブルから取得する。
 差分ビットCRC取得部1005は、差分CRC取得部に相当する。また、差分ビットCRC取得部1005により行われる処理は差分CRC取得処理に相当する。
 可変フィールドCRC生成部1006は、第3の領域のCRCを生成する。可変フィールドCRC生成部1006は、例えば、任意のフィールド値に対応可能な、上位ビットからの逐次的な排他的論理和演算による既存手法を適用する。
 可変フィールドCRC生成部1006は、第3のCRC生成部に相当する。また、可変フィールドCRC生成部1006により行われる処理は第3のCRC生成処理に相当する。
 演算部1007は、全てのCRCの排他的論理和を行って、送信フレームのCRCを生成する。
 演算部1007は、フレームCRC生成部に相当する。また、演算部1007により行われる処理はフレームCRC生成処理に相当する。
 フレーム連結部1008は、フレーム生成部1001が生成した送信フレームの末尾に、演算部1007が生成したCRCを結合する。この結果、CRCが付加された送信フレームが出力される。
***動作の説明***
 以下、図3及び図4を参照して、本実施の形態に係る制御装置10でのCRC生成の流れを説明する。
 図3は、制御装置10の動作例を示すフローチャートである。図4は、フレームとCRCとの関係を示す。図4では、送信フレーム201に付加するCRC210を生成する過程が示される。
 ステップS01では、フレーム生成部1001が、送信フレーム201を生成する。ここでは、フレーム生成部1001は、通信プロトコルαに基づき、図4の送信フレーム201を生成するものとする。
 図4の送信フレーム201では、領域201a及び領域201cが第1の領域に相当し、領域201bが第2の領域に相当し、領域201dが第3の領域に相当する。つまり、領域201a及び領域201cには定型ビット列が含まれている。領域201bには、規定ビットに類似するビット列が含まれている。領域201dには、非定型ビット列が含まれている。
 フレーム生成部1001は、送信フレーム201と通信プロトコルαを通知する情報をフレーム構成決定部1002に出力する。
 次に、ステップS02では、フレーム構成決定部1002が、送信フレーム201が準拠している通信プロトコルαに基づき、送信フレーム201の第1の領域、第2の領域、第3の領域を指定する。フレーム構成決定部1002は、この結果、領域201a及び領域201cを第1の領域に指定し、領域201bを第2の領域に指定し、領域201dを第3の領域に指定する。また、フレーム構成決定部1002は、領域201bに含まれるビット列と規定ビット列との差分ビットを求める。
 また、フレーム構成決定部1002は、第1の領域201a、201cについて、基準フレームCRC取得部1003に、通信プロトコルαの定型ビット列に対応するCRCの識別子を通知する。
 また、フレーム構成決定部1002は、第2の領域201bについて、基準フィールドCRC取得部1004に、通信プロトコルαの規定ビット列に対応するCRCの識別子を通知する。
 また、フレーム構成決定部1002は、第3の領域201dに含まれるビット列を可変フィールドCRC生成部1006に出力する。
 また、フレーム構成決定部1002は、差分ビットに対応するCRCの識別子を差分ビットCRC取得部1005に通知する。
 ステップS03では、基準フレームCRC取得部1003が、フレーム構成決定部1002からの通知された識別子に基づいて、第1の領域201a、201cに対して、通信プロトコルαの定型ビット列に対応するCRCを、CRCテーブルから取得する。
 より具体的には、基準フレームCRC取得部1003は、CRCテーブルから、図4に示す基準フレーム202のCRC211を取得する。基準フレーム202は、送信フレーム201と同じフレーム長のフレームである。基準フレーム202では、送信フレーム201の領域201aに対応する領域202aが領域201aと同じ定型ビット列で構成され、送信フレーム201の領域201cに対応する領域202cが領域201cと同じ定型ビット列で構成される。一方、領域202a及び領域202c以外の領域のビット値は0である。
 ステップS04では、基準フィールドCRC取得部1004が、フレーム構成決定部1002からの通知された識別子に基づいて、第2の領域201bに対して、通信プロトコルαの規定ビット列に対応するCRCを、CRCテーブルから取得する。
 より具体的には、基準フィールドCRC取得部1004は、CRCテーブルから、図4に示すフレーム203のCRC212を取得する。フレーム203は、送信フレーム201と同じフレーム長のフレームである。フレーム203では、送信フレーム201の領域201bに対応する領域202bが規定ビット列で構成される。一方、領域203b以外の領域のビット値は0である。なお、規定ビット列が格納されている領域203bを基準フィールドともいう。
 ステップS05において差分ビットが存在する場合、すなわち、フレーム構成決定部1002から差分ビットに対応するCRCの識別子が通知されている場合は、差分ビットCRC取得部1005は、フレーム構成決定部1002から通知された識別子に基づいて、差分ビットに対応するCRCを、CRCテーブルから取得する。
 より具体的には、差分ビットCRC取得部1005は、CRCテーブルから、図4に示すフレーム204のCRC213を取得する。フレーム204は、送信フレーム201と同じフレーム長のフレームである。フレーム204では、領域201bのビット列と領域203bの規定ビット列との差分ビットに対応する位置204nのビット値が1である。一方、位置204n以外の領域のビット値は0である。
 ステップS07では、可変フィールドCRC生成部1006が、フレーム構成決定部1002から出力された第3の領域201dのビット列に対するCRC214を生成する。なお、第3の領域201dを可変フィールドともいう。
 ステップS08では、演算部1007が、CRC211、CRC212、CRC213、CRC214の排他的論理和演算を行い、送信フレーム201のCRC210を生成する。
 最後に、ステップS09において、フレーム連結部1008が、送信フレーム201の末尾にCRC210を連結する。
 なお、図3では、ステップS03、ステップS04、ステップS05及びステップS06、ステップS07の順に処理が行われる例が示されているが、これらステップS03、ステップS04、ステップS05及びステップS06、ステップS07が並行して行われてもよい。
***その他****
 本実施の形態によれば、すべてのパターンの送信フレームが基準フレーム、基準フィールド、差分ビット及び可変フィールドの組み合わせで構成でき、かつ規定値以下のテーブル参照回数により生成できることを保証する必要がある。
 以下では、送信フレームの構成方法及び、テーブル参照回数を規定値以下に抑えるための基準フィールド及び差分ビットの構成方法を説明する。
1.送信フレームの構成方法
 通信プロトコルによっては、定周期通信や非定周期通信などの通信種別によって、定型ビット列が出現する領域が大きく異なる複数種の送信フレームが送信される場合がある。このような場合には、送信フレームの種類ごとに、異なる基準フレームを用意する必要がある。
 前述したように、任意のビット列が出現し、かつ、出現するビット列の予測が困難なフィールドが、可変フィールドとなる。可変フィールドは、例えば、送信フレームのペイロードである。
 送信フレームから、基準フレーム内の定型ビット列が出現するフィールド及び可変フィールドを除いたフィールドが基準フィールドとなる。基準フィールドは送信フレーム中に1つ以上存在する。つまり、送信フレーム内に複数の基準フィールドが存在していてもよい。送信フレーム内で分断されている複数の基準フィールドを、それぞれ、別個の基準フィールドとして扱ってもよいし、複数の基準フィールドを1つの基準フィールドとして扱ってもよい。
2.基準フィールド及び差分ビットの構成方法
 CRCの生成時は、図4のフレーム203の基準フィールド203bの規定ビット列と、送信フレーム201の基準フィールド201bのビット列とのハミング距離の最大値分、すなわち差分ビットの個数分、CRCを求めなければならない。このとき、差分ビットの個数だけテーブルを参照する演算が必要になる。このため、差分ビットの個数がCRC演算時間に影響する。
 一方で、テーブル参照回数を抑制するためには、基準フィールド203bの規定ビット列の種類を増やすことが考えられる。例えば、図4の例において、「1101」の他に、「0000」、「1000」、「1100」、「1110」、「1111」というように基準フィールド203bの規定ビット列の種類を増やせば、差分ビットの合計回数を減らすことができ、テーブル参照回数を減らすことができる。しかし、この場合は、基準フィールドに対応するCRCの個数が増加するため、CRCテーブルのテーブルサイズが増大する。
 演算時間とテーブルサイズとのバランスを取るために、システム管理者は、差分ビットの数とテーブルサイズのそれぞれに目標値を設定し、これら両方の目標値を満たすような基準フィールド及び差分ビットの構成を図5及び図6に示す方法で求める。
 ステップS101では、システム管理者は、送信しうるフィールドの全パターンを求める。
 ステップS102では、フィールドの中でビット値が変化しない領域があれば、システム管理者は、当該領域についてはビット値を固定し、ビット値が変化する領域のビット値を0とするフレームを、仮の基準フレームに設定する。
 ステップS103では、システム管理者は、フィールドの全パターンに対して、仮の基準フレームとのハミング距離を算出する。また、フィールドの全パターンを、ハミング距離ごとに分類する。
 ステップS104では、システム管理者は、ハミング距離が最大のフィールドの集合と、ハミング距離が(最大-1)であるフィールドの集合で、値が共通しているビットを抽出する。
 ステップS105では、システム管理者は、ステップS104で抽出された共通ビットの値が1であるか否かを判定する。
 共通ビットの値が1であれば、システム管理者はステップS106を行い、共通ビットの値が0であれば、システム管理者はステップS107を行う。
 ステップS106では、システム管理者は、共通ビットに対応する、仮の基準フレームのビットの値を1とする。
 ステップS107では、システム管理者は、フィールドの全パターンに対して、仮の基準フレームとのハミング距離を算出する。
 ステップS108では、システム管理者は、ステップS107で算出したハミング距離の最大値が目標値以下であるか否かを判定する。
 ステップS107で算出したハミング距離の最大値が目標値以下であれば、システム管理者は、ステップS111を行い、そうでなければステップS109を行う。
 ステップS109では、仮の基準フレームからのハミング距離が最大となるフィールドの集合に対して、システム管理者は、0と1の両方の値を取っているビットを選ぶ。つまり、システム管理者は、当該ビットが0である仮の基準フレームに加えて、当該ビットが1である仮の基準フレームを得る。
 なお、システム管理者は、各フィールドのパターンを、どのフィールドから算出するかを記録しておく。
 ステップS110では、システム管理者は、ステップS109で仮の基準フレームを追加した後のテーブル数が、目標値以下であるか否かを判定する。テーブル数が目標値以下であれば、システム管理者は、ステップS107を行う。そうでなければ、システム管理者は、目標とするテーブル参照回数及びテーブルサイズの両方を実現することは不可能として、図5及び図6に示すフローを終了する。
 ステップS111では、これまでに算出した仮の基準フィールドすべてを、最終的な基準フィールドとして決定し、図5及び図6に示すフローを終了する。
***実施の形態の効果の説明***
 本実施の形態では、定型ビット列に対応する第1のCRCと、規定ビット列に対応する第2のCRCと、規定ビット列と第2の領域のビット列との差分に対応する差分CRCのみをCRCテーブルに保持すればよい。また、CRCテーブルから第1のCRCと第2のCRCと差分CRCを取得し、取得した第1のCRCと第2のCRCと差分CRCと、第3のCRCとに基づいて、送信フレームのCRCを生成することができる。このように、本実施の形態によれば、テーブルのサイズを抑えながら、CRC演算時間を短縮することができる。
***ハードウェア構成の説明***
 最後に、制御装置10のハードウェア構成の補足説明を行う。
 図1に示すプロセッサ103は、プロセッシングを行うIC(Integrated Circuit)である。
 プロセッサ103は、CPU(Central Processing Unit)、DSP(Digital Signal Processor)等である。
 図1に示す記憶装置104は、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ、HDD(Hard Disk Drive)等である。
 図1に示す通信インタフェース102は、データを受信するレシーバー及びデータを送信するトランスミッターを含む。
 通信インタフェース102は、例えば、通信チップ又はNIC(Network Interface Card)である。
 図1に示す入出力インタフェース101は、例えば、マウス、キーボード、ディスプレイ等である。
 また、記憶装置104には、OS(Operating System)も記憶されている。
 そして、OSの少なくとも一部がプロセッサ103により実行される。
 プロセッサ103はOSの少なくとも一部を実行しながら、フレーム生成部1001、フレーム構成決定部1002、基準フレームCRC取得部1003、基準フィールドCRC取得部1004、差分ビットCRC取得部1005、可変フィールドCRC生成部1006、演算部1007及びフレーム連結部1008(以下、これらをまとめて「部」という)の機能を実現するプログラムを実行する。
 プロセッサ103がOSを実行することで、タスク管理、メモリ管理、ファイル管理、通信制御等が行われる。
 また、「部」の処理の結果を示す情報やデータや信号値や変数値が、記憶装置104、プロセッサ103内のレジスタ及びキャッシュメモリの少なくともいずれかに記憶される。
 また、「部」の機能を実現するプログラムは、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ(登録商標)ディスク、DVD等の可搬記憶媒体に記憶されてもよい。
 また、「部」を、「回路」又は「工程」又は「手順」又は「処理」に読み替えてもよい。
 また、制御装置10は、ロジックIC(Integrated Circuit)、GA(Gate Array)、ASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)といった電子回路により実現されてもよい。
 この場合は、「部」は、それぞれ電子回路の一部として実現される。
 なお、プロセッサ及び上記の電子回路を総称してプロセッシングサーキットリーともいう。
 10 制御装置、101 入出力インタフェース、102 通信インタフェース、103 プロセッサ、104 記憶装置、105 バス、1001 フレーム生成部、1002 フレーム構成決定部、1003 基準フレームCRC取得部、1004 基準フィールドCRC取得部、1005 差分ビットCRC取得部、1006 可変フィールドCRC生成部、1007 演算部、1008 フレーム連結部。

Claims (5)

  1.  送信フレーム内で定型ビット列が出現する第1の領域と、前記送信フレーム内で規定ビット列に類似するビット列が出現する第2の領域と、前記送信フレーム内で非定型ビット列が出現する第3の領域とを指定し、前記第2の領域のビット列と前記規定ビット列との差分を抽出する領域指定部と、
     前記第1の領域に対して、前記定型ビット列に対応するCRC(Cyclic Redundancy Check)である第1のCRCを、複数のCRCが格納されているCRCテーブルから取得する第1のCRC取得部と、
     前記第2の領域に対して、前記規定ビット列に対応するCRCである第2のCRCを、前記CRCテーブルから取得する第2のCRC取得部と、
     前記領域指定部により抽出された前記差分に対応するCRCである差分CRCを、前記CRCテーブルから取得する差分CRC取得部と、
     前記第3の領域のビット列に対応するCRCである第3のCRCを生成する第3のCRC生成部と、
     前記第1のCRCと前記第2のCRCと前記差分CRCと前記第3のCRCとを用いて、前記送信フレームのCRCを生成するフレームCRC生成部とを有するデータ処理装置。
  2.  前記第1のCRC取得部は、
     前記送信フレームと同じフレーム長であり、前記第1の領域に対応する領域が前記定型ビット列で構成され、前記第1の領域に対応する領域以外の領域のビット値が0であるフレームのCRCを、前記第1のCRCとして、前記CRCテーブルから取得し、
     前記第2のCRC取得部は、
     前記送信フレームと同じフレーム長であり、前記第2の領域に対応する領域が前記規定ビット列で構成され、前記第2の領域に対応する領域以外の領域のビット値が0であるフレームのCRCを、前記第2のCRCとして、前記CRCテーブルから取得し、
     前記差分CRC取得部は、
     前記送信フレームと同じフレーム長であり、前記差分に対応する位置のビット値が1であり、前記差分に対応する位置以外の領域のビット値が0であるフレームのCRCを、前記差分CRCとして、前記CRCテーブルから取得し、
     前記フレームCRC生成部は、
     前記第1のCRCと前記第2のCRCと前記差分CRCと前記第3のCRCの排他的論理和演算を行って前記送信フレームのCRCを生成する請求項1に記載のデータ処理装置。
  3.  前記領域指定部は、
     前記送信フレームが準拠している通信プロトコルに基づき、前記第1の領域と、前記第2の領域と、前記第3の領域とを指定する請求項1に記載のデータ処理装置。
  4.  コンピュータが、送信フレーム内で定型ビット列が出現する第1の領域と、前記送信フレーム内で規定ビット列に類似するビット列が出現する第2の領域と、前記送信フレーム内で非定型ビット列が出現する第3の領域とを指定し、前記第2の領域のビット列と前記規定ビット列との差分を抽出し、
     前記コンピュータが、前記第1の領域に対して、前記定型ビット列に対応するCRC(Cyclic Redundancy Check)である第1のCRCを、複数のCRCが格納されているCRCテーブルから取得し、
     前記コンピュータが、前記第2の領域に対して、前記規定ビット列に対応するCRCである第2のCRCを、前記CRCテーブルから取得し、
     前記コンピュータが、抽出された前記差分に対応するCRCである差分CRCを、前記CRCテーブルから取得し、
     前記コンピュータが、前記第3の領域のビット列に対応するCRCである第3のCRCを生成し、
     前記コンピュータが、前記第1のCRCと前記第2のCRCと前記差分CRCと前記第3のCRCとを用いて、前記送信フレームのCRCを生成するデータ処理方法。
  5.  送信フレーム内で定型ビット列が出現する第1の領域と、前記送信フレーム内で規定ビット列に類似するビット列が出現する第2の領域と、前記送信フレーム内で非定型ビット列が出現する第3の領域とを指定し、前記第2の領域のビット列と前記規定ビット列との差分を抽出する領域指定処理と、
     前記第1の領域に対して、前記定型ビット列に対応するCRC(Cyclic Redundancy Check)である第1のCRCを、複数のCRCが格納されているCRCテーブルから取得する第1のCRC取得処理と、
     前記第2の領域に対して、前記規定ビット列に対応するCRCである第2のCRCを、前記CRCテーブルから取得する第2のCRC取得処理と、
     前記領域指定処理により抽出された前記差分に対応するCRCである差分CRCを、前記CRCテーブルから取得する差分CRC取得処理と、
     前記第3の領域のビット列に対応するCRCである第3のCRCを生成する第3のCRC生成処理と、
     前記第1のCRCと前記第2のCRCと前記差分CRCと前記第3のCRCとを用いて、前記送信フレームのCRCを生成するフレームCRC生成処理とをコンピュータに実行させるデータ処理プログラム。
PCT/JP2016/066927 2016-06-07 2016-06-07 データ処理装置、データ処理方法及びデータ処理プログラム WO2017212547A1 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
CN201680086352.0A CN109219928B (zh) 2016-06-07 2016-06-07 数据处理装置、数据处理方法及计算机可读取的存储介质
JP2016564341A JP6073006B1 (ja) 2016-06-07 2016-06-07 データ処理装置、データ処理方法及びデータ処理プログラム
DE112016006791.7T DE112016006791B4 (de) 2016-06-07 2016-06-07 Datenverarbeitungsvorrichtung, Datenverarbeitungsverfahren und Datenverarbeitungsprogramm
US16/093,949 US10771095B2 (en) 2016-06-07 2016-06-07 Data processing device, data processing method, and computer readable medium
PCT/JP2016/066927 WO2017212547A1 (ja) 2016-06-07 2016-06-07 データ処理装置、データ処理方法及びデータ処理プログラム
TW105123706A TW201743208A (zh) 2016-06-07 2016-07-27 資料處理裝置、資料處理方法以及資料處理程式產品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2016/066927 WO2017212547A1 (ja) 2016-06-07 2016-06-07 データ処理装置、データ処理方法及びデータ処理プログラム

Publications (1)

Publication Number Publication Date
WO2017212547A1 true WO2017212547A1 (ja) 2017-12-14

Family

ID=57937632

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2016/066927 WO2017212547A1 (ja) 2016-06-07 2016-06-07 データ処理装置、データ処理方法及びデータ処理プログラム

Country Status (6)

Country Link
US (1) US10771095B2 (ja)
JP (1) JP6073006B1 (ja)
CN (1) CN109219928B (ja)
DE (1) DE112016006791B4 (ja)
TW (1) TW201743208A (ja)
WO (1) WO2017212547A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019207697A1 (ja) * 2018-04-25 2019-10-31 三菱電機株式会社 情報処理装置、情報処理方法及び情報処理プログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000181807A (ja) * 1998-12-16 2000-06-30 Murata Mach Ltd 記録媒体のデータ検査方法及び装置
JP2006185090A (ja) * 2004-12-27 2006-07-13 Matsushita Electric Ind Co Ltd Crc演算装置及びcrc演算方法

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS4896931A (ja) 1972-03-27 1973-12-11
EP0609595B1 (en) 1993-02-05 1998-08-12 Hewlett-Packard Company Method and apparatus for verifying CRC codes by combination of partial CRC codes
JPH06311049A (ja) 1993-04-20 1994-11-04 Nippon Denki Musen Denshi Kk Crc符号算出回路
JP3257298B2 (ja) 1994-11-16 2002-02-18 松下電器産業株式会社 Crc符号生成方法
US6560742B1 (en) * 1999-12-09 2003-05-06 International Business Machines Corporation Parallel system and method for cyclic redundancy checking (CRC) generation
EP2175559A1 (en) * 2002-04-22 2010-04-14 Fujitsu Limited Error-detecting decoder with re-calculation of a remainder upon partial re-transmission of a data string.
JP3880934B2 (ja) 2003-01-28 2007-02-14 Necエレクトロニクス株式会社 Crc符号生成方法
JP4896931B2 (ja) 2008-06-24 2012-03-14 株式会社東芝 検査符号生成方法
US8261175B2 (en) * 2008-11-14 2012-09-04 Intel Mobile Communications GmbH Method and apparatus for performing a CRC check
CA2766826A1 (en) * 2009-07-03 2011-01-06 Robert Novak Apparatus and method for signalling active assignments to a group of wireless stations
JP2012169926A (ja) 2011-02-15 2012-09-06 Fujitsu Ltd Crc演算回路
JP5724601B2 (ja) 2011-05-10 2015-05-27 富士通株式会社 Crc演算回路及びプロセッサ
US8607129B2 (en) * 2011-07-01 2013-12-10 Intel Corporation Efficient and scalable cyclic redundancy check circuit using Galois-field arithmetic
US8726124B2 (en) * 2012-07-19 2014-05-13 Nvidia Corporation Cyclic redundancy check generation via distributed time multiplexed linear feedback shift registers
CN104079387B (zh) * 2013-03-26 2017-10-17 华为技术有限公司 数据重传方法及装置
FR3038188B1 (fr) * 2015-06-29 2017-08-11 Stmicroelectronics (Grenoble 2) Sas Systeme de verification de l’integrite d’une communication entre deux circuits
US9823960B2 (en) * 2015-09-10 2017-11-21 Cavium, Inc. Apparatus and method for parallel CRC units for variably-sized data frames
US10248498B2 (en) * 2016-11-21 2019-04-02 Futurewei Technologies, Inc. Cyclic redundancy check calculation for multiple blocks of a message

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000181807A (ja) * 1998-12-16 2000-06-30 Murata Mach Ltd 記録媒体のデータ検査方法及び装置
JP2006185090A (ja) * 2004-12-27 2006-07-13 Matsushita Electric Ind Co Ltd Crc演算装置及びcrc演算方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
K. A. WITZKE ET AL.: "A Comparison of Some Error Detecting CRC Code Standards", IEEE TRANSACTIONS ON COMMUNICATIONS, vol. 33, no. 9, September 1985 (1985-09-01), pages 996 - 998, XP055599313 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019207697A1 (ja) * 2018-04-25 2019-10-31 三菱電機株式会社 情報処理装置、情報処理方法及び情報処理プログラム
JPWO2019207697A1 (ja) * 2018-04-25 2020-07-30 三菱電機株式会社 情報処理装置、情報処理方法及び情報処理プログラム

Also Published As

Publication number Publication date
US20190109605A1 (en) 2019-04-11
TW201743208A (zh) 2017-12-16
CN109219928A (zh) 2019-01-15
US10771095B2 (en) 2020-09-08
CN109219928B (zh) 2022-06-28
JPWO2017212547A1 (ja) 2018-06-14
DE112016006791T5 (de) 2019-01-17
DE112016006791B4 (de) 2020-02-06
JP6073006B1 (ja) 2017-02-01

Similar Documents

Publication Publication Date Title
US20190188417A1 (en) Data masking systems and methods
JP5710460B2 (ja) 暗号化鍵生成装置およびプログラム
CN104364756B (zh) 单个数据缓冲器的并行处理
US20160330031A1 (en) Digital currency mining circuitry with adaptable difficulty compare capabilities
US10164772B2 (en) Permutation composition based hash function
US20130173908A1 (en) Hash Table Organization
JP6662169B2 (ja) 符号化プログラム、符号化方法、符号化装置、検索プログラム、検索方法および検索装置
US20100293424A1 (en) Semiconductor integrated circuit, information processing apparatus and method, and program
US10324963B2 (en) Index creating device, index creating method, search device, search method, and computer-readable recording medium
JP6073006B1 (ja) データ処理装置、データ処理方法及びデータ処理プログラム
JP6990881B2 (ja) エントロピー・エンコーディングのシステム・レベル・テスト
KR101962720B1 (ko) Fpga 비트스트림에서의 lut 정보 역공학 방법 및 장치
Yamamoto et al. A new method for enhancing variety and maintaining reliability of PUF responses and its evaluation on ASICs
US20170270417A1 (en) Information processing apparatus, information processing system, computer-readable recording medium, and information processing method
CN112559497B (zh) 一种数据处理方法、一种信息传输方法、装置及电子设备
WO2017148096A1 (zh) 循环冗余校验码的生成方法和装置
US20200177390A1 (en) Providing data verification in a blockchain ledger
JP5079671B2 (ja) ハッシュ値生成装置、検証装置、ハッシュ値生成方法、検証方法、プログラム、および記録媒体
KR102251241B1 (ko) 재구성 가능 프로세서의 레지스터를 제어하는 방법 및 장치와 재구성 가능 프로세서의 레지스터를 제어하는 명령어를 생성하는 방법 및 장치
JP2014238617A (ja) データ処理装置、データ処理方法及び情報処理装置
US9489336B2 (en) Method and system for record access in a distributed system
CN112005508B (zh) 信息处理装置、信息处理方法及计算机可读取的记录介质
KR102229554B1 (ko) 해시 키 생성 방법 및 그 장치
CN112543103B (zh) 账户地址的生成方法和校验方法、装置、设备和介质
Millwood et al. A Generic Obfuscation Framework for Preventing ML-Attacks on Strong-PUFs through Exploitation of DRAM-PUFs

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2016564341

Country of ref document: JP

Kind code of ref document: A

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16904582

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 16904582

Country of ref document: EP

Kind code of ref document: A1