JP2010124260A - Crc erroneous discrimination detection method and crc erroneous discrimination detection apparatus - Google Patents
Crc erroneous discrimination detection method and crc erroneous discrimination detection apparatus Download PDFInfo
- Publication number
- JP2010124260A JP2010124260A JP2008296258A JP2008296258A JP2010124260A JP 2010124260 A JP2010124260 A JP 2010124260A JP 2008296258 A JP2008296258 A JP 2008296258A JP 2008296258 A JP2008296258 A JP 2008296258A JP 2010124260 A JP2010124260 A JP 2010124260A
- Authority
- JP
- Japan
- Prior art keywords
- crc
- packet
- crc code
- data
- code
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
Description
本発明は、CRC(Cyclic Redundancy Check)誤判定検出方法およびCRC誤判定検出装置に関する。 The present invention relates to a CRC (Cyclic Redundancy Check) erroneous determination detection method and a CRC erroneous determination detection device.
従来、伝送データの誤り検査は、図9に示すように、送信側では、CRCコード生成部91にて送信データを所定の生成多項式で割り算を行い、CRCコード付加部92にてその剰余(CRCコード)を送信データに付加して送信し、一方、受信側では、CRC誤り検査部93にて送信側と同じ生成多項式を用いて割り算を行い、余りがなければデータは正しい、余りがあればデータの伝送誤りがあったと判定する。なお、CRCコードは、図10に示すように、一般的に全てのパケットデータの最後尾に付加される(文献公知発明に係るものではない)。
Conventionally, as shown in FIG. 9, error check of transmission data is performed by dividing a transmission data by a predetermined generation polynomial in a CRC
また、1つのフレームに前回のシリアルデータ列と現在(前々回と前回でも可)のシリアルデータ列を多重すると共に、1フレーム毎にCRC符号を付加する方式が提案されている(例えば、特許文献1参照)。 In addition, a method has been proposed in which the previous serial data sequence and the current serial data sequence (possible before and after the previous time) are multiplexed in one frame and a CRC code is added to each frame (for example, Patent Document 1). reference).
上述した従来の誤り検査方式では、データ送信が冗長であるため伝送効率が極めて低いのは当然として、あるフレームのCRCチェックがNGの場合、冗長で送信した別のフレームを適用することにより伝送データ誤りを救済できるが、CRC誤判定となった場合は、誤ったシリアルデータを適用する可能性がある。即ち、伝送路上で、データとCRCコードの両方に誤りが生じ、且つ受信側における生成多項式での割り算結果が余り0となるような場合、誤り検出ができず、データおよびCRCコードが正しく伝送されたと誤判定してしまう。 In the conventional error checking method described above, since the data transmission is redundant, the transmission efficiency is naturally low. When the CRC check of a certain frame is NG, the transmission data is obtained by applying another frame transmitted redundantly. Although the error can be remedied, there is a possibility that the wrong serial data is applied when the CRC is erroneously determined. That is, if an error occurs in both the data and the CRC code on the transmission line, and the result of division by the generator polynomial on the receiving side is zero, error detection cannot be performed, and the data and CRC code are transmitted correctly. It will be misjudged.
更に、誤判定したことを検出する手段はないため、サイレントアラームとなってしまう。データとCRCコードの両方に誤りが生じた際に誤判定となる確率は、CRCコードのビット長に依存する。例えば、CRCコードが8ビットの場合、その確率は2の(−8)べき乗=約4/1000である。この確率は、一見、低いようであるが、膨大なバーストデータの場合は、その誤りが実感されるものである。 Furthermore, since there is no means for detecting that an erroneous determination has been made, a silent alarm is generated. The probability of erroneous determination when an error occurs in both the data and the CRC code depends on the bit length of the CRC code. For example, if the CRC code is 8 bits, the probability is 2 (−8) power = approximately 4/1000. This probability seems to be low at first glance, but in the case of a huge amount of burst data, the error is perceived.
そこで、本発明は上記の問題点を解消し、伝送路上で誤ったデータおよびCRCに対する生成多項式での割り算結果が余り0となった場合のCRC誤判定を検出できるCRC誤判定検出方法およびCRC誤判定検出装置を提供し、伝送路における誤り検出精度の向上を目的とする。 Therefore, the present invention solves the above-described problems, and a CRC error determination detection method and a CRC error detection method that can detect a CRC error determination when the result of division by a generator polynomial for erroneous data and CRC on the transmission line is zero. It is an object of the present invention to provide a determination / detection device and improve error detection accuracy in a transmission path.
請求項1に記載のCRC誤判定検出方法は、送信側では、送信データのCRCコードを直前の送信データのCRCコードの値で定まるパケット内位置に付加した送信パケットを送信し、受信側では、直前の受信パケットのCRCコードの値で定まるパケット内位置におけるデータを本来のCRC位置へ移してCRC誤り検査を行い、CRC誤りを検出すると、当該受信パケットにおける予め定められた複数のパケット内位置におけるデータをCRCコードとして順次にCRC誤り検査を行い、そのうちCRCエラーを検出しない場合には直前の受信パケットについて、ロスが無く且つCRCエラーが無ければCRC誤り検査の結果は誤判定とし、順次にCRC誤り検査を行ってもCRC誤りを検出する場合には当該受信パケットについてCRC誤りとすることを特徴とする。
In the CRC misjudgment detection method according to
請求項2に記載のCRC誤判定検出方法は、送信側は、送信データに対するCRCコードを生成する手順と、少なくとも直前の送信データに対して生成したCRCコードを順次に記憶する手順と、当該送信データのCRCコードを記憶した直前の送信データに対して生成したCRCコードの値で定まるパケット内位置に付加した送信パケットを送信する手順を有する。
In the CRC misjudgment detection method according to
一方、受信側は、少なくとも直前の受信パケットのCRCコードの値で定まるパケット内位置におけるデータを記憶する手順と、記憶したデータを本来のCRC位置へ移して当該受信パケットについてCRC誤り検査を行う手順と、CRC誤り検査の結果、CRC誤りを検出すると、当該受信パケットにおける予め定められた複数のパケット内位置におけるデータをCRCコードとして順次にCRC誤り検査を繰り返す手順と、CRC誤り検査を繰り返すうちにCRC誤りを検出しない場合には、直前の受信パケットについて、ロスが無く且つCRCエラーが無ければCRC誤り検査は誤判定とする手順と、CRC誤り検査を繰り返してもCRC誤りを検出する場合には、当該受信パケットについてCRC誤りとする手順を有することを特徴とする。 On the other hand, the receiving side stores at least data at a position in the packet determined by the CRC code value of the immediately preceding received packet, and performs a CRC error check on the received packet by moving the stored data to the original CRC position. If a CRC error is detected as a result of the CRC error check, a procedure for sequentially repeating the CRC error check using data at a plurality of predetermined positions in the received packet as CRC codes, and while repeating the CRC error check If no CRC error is detected, if there is no loss and there is no CRC error for the previous received packet, the CRC error check is erroneously determined, and the CRC error is detected even after repeated CRC error checks. And a procedure for making a CRC error for the received packet. To.
請求項3に記載のCRC誤判定検出方法は、請求項1〜2に記載のCRC誤判定検出方法において、パケット内位置はCRCコードの下位nビットで定められることを特徴とする。
The CRC misjudgment detection method according to
請求項4に記載のCRC誤判定検出方法は、請求項1〜3に記載のCRC誤判定検出方法において、本来のCRC位置はパケット内の末尾とすることを特徴とする。
The CRC misjudgment detection method according to
請求項5に記載のCRC誤判定検出装置は、送信側は、送信データに対するCRCコードを生成するCRCコード生成部と、少なくとも直前の送信データに対して生成したCRCコードを順次に記憶するCRCコード記憶部と、当該送信データのCRCコードを記憶した直前の送信データに対して生成したCRCコードの値で定まるパケット内位置に付加した送信パケットを送信するCRCコード付加部を有する。
The CRC misjudgment detection apparatus according to
一方、受信側は、少なくとも直前の受信パケットのCRCコードの値で定まるパケット内位置におけるデータを記憶するCRCコード記憶部と、記憶したデータを本来のCRC位置へ移して当該受信パケットについてCRC誤り検査を行うCRCコード誤り検査部と、CRC誤り検査の結果、CRC誤りを検出すると、当該受信パケットにおける予め定められた複数のパケット内位置におけるデータをCRCコードとして順次にCRC誤り検査を繰り返し、そのうちにCRC誤りを検出しない場合には直前の受信パケットについて、パケットロスが無く且つCRCエラーが無ければCRC誤り検査は誤判定とし、CRC誤りを検出する場合には当該受信パケットについてCRC誤りとするCRCコード位置サーチ部を有することを特徴とする。 On the other hand, the receiving side moves the stored data to the original CRC position and stores CRC data in the packet position determined by at least the CRC code value of the immediately preceding received packet. When a CRC error is detected as a result of the CRC error check and the CRC code error check unit that performs the CRC error check, the CRC error check is sequentially repeated with the data at a plurality of predetermined positions in the received packet as CRC codes. If no CRC error is detected, the CRC code for the immediately preceding received packet is a CRC error check if there is no packet loss and there is no CRC error, and if a CRC error is detected, the CRC code is set as a CRC error for the received packet. It has a position search part
[作用]
本発明の誤り検出方式では、送信側におけるCRCコード生成部は、送信データを所定の生成多項式で割り算を行い、その剰余(CRCコード)をCRCコード記憶部およびCRCコード付加部へ送信する。CRCコード記憶部は、CRCコード生成部より受信したCRCコードを保持し、前パケットのCRCコードをCRCコード付加部へ送信する。CRCコード付加部は、CRCコード記憶部より受信した前パケットのCRCコードに対応したパケット内の指定位置に当該データのCRCコードを付加しパケット送信する。
[Action]
In the error detection method of the present invention, the CRC code generation unit on the transmission side divides transmission data by a predetermined generation polynomial, and transmits the remainder (CRC code) to the CRC code storage unit and the CRC code addition unit. The CRC code storage unit holds the CRC code received from the CRC code generation unit, and transmits the CRC code of the previous packet to the CRC code addition unit. The CRC code adding unit adds the CRC code of the data to the designated position in the packet corresponding to the CRC code of the previous packet received from the CRC code storage unit, and transmits the packet.
受信側において、CRC誤り検査部は、CRCコード記憶部から与えられる前パケットのCRCコードにより、当該パケットにおけるCRCコードの付加位置を認識し、誤り検出を行う。CRCコード記憶部は、受信パケットもしくはCRCコード位置サーチ部より受信したCRCコードを保持し、前パケットのCRCコードをCRC誤り検査部へ送信する。CRCコード位置サーチ部は、CRC誤り検査部より与えられるCRC判定結果がNGの場合、当該パケットのCRCコード付加位置をサーチし、NG要因が「前パケットのCRC誤判定」、もしくは「当該パケットのCRCエラー」いずれであるかの判定を行う。 On the receiving side, the CRC error checking unit recognizes the CRC code addition position in the packet based on the CRC code of the previous packet given from the CRC code storage unit, and performs error detection. The CRC code storage unit holds the received packet or the CRC code received from the CRC code position search unit, and transmits the CRC code of the previous packet to the CRC error check unit. When the CRC determination result given by the CRC error checking unit is NG, the CRC code position search unit searches the CRC code addition position of the packet, and the NG factor is “CRC erroneous determination of the previous packet” or “ It is determined which is “CRC error”.
これにより、伝送路上で、データとCRCコードの両方に誤りが生じ、且つ受信側における生成多項式での割り算結果が余り0となった場合のCRC誤判定を検出することができる。以下、パケットA,パケットB、パケットCがこの順序に送受信されるとして具体的に説明する。 As a result, it is possible to detect a CRC misjudgment when an error occurs in both the data and the CRC code on the transmission line, and the result of division by the generator polynomial on the receiving side is zero. Hereinafter, the packet A, the packet B, and the packet C are specifically described as being transmitted and received in this order.
当該送信パケットBについては、CRCコードの送信パケットB内での付加位置を直前の送信パケットAのCRCコードにより指定する。この送信パケットBにつき、通信の途上で送信データに誤りが発生すると共に、CRCコードにも誤りが発生し、しかも、これらの誤りが受信パケットBにおけるCRC誤り検査で検出されず、CRC誤判定になったとする。 For the transmission packet B, the position where the CRC code is added in the transmission packet B is designated by the CRC code of the immediately preceding transmission packet A. For this transmission packet B, an error occurs in the transmission data in the middle of communication, and an error also occurs in the CRC code. Further, these errors are not detected by the CRC error check in the reception packet B, and the CRC is erroneously determined. Suppose that
続く送信パケットCは、送信パケットBのCRCコードで指定される送信パケットC内の指定位置に送信パケットCのCRCコードが付加される。一方、受信パケットCでは、受信パケットBにおける誤ったCRCコードによる受信パケットC内での指定位置に、送信パケットCのCRCコードが付加されているものと解釈する。これは、送信側と受信側とで別個に送信履歴と受信履歴の管理をしているために起こる齟齬である。受信側は、誤解釈したCRCコードを使用してCRC誤り検査を行なうため、当然にCRC誤りが検出される。 In the subsequent transmission packet C, the CRC code of the transmission packet C is added to the designated position in the transmission packet C designated by the CRC code of the transmission packet B. On the other hand, in the reception packet C, it is interpreted that the CRC code of the transmission packet C is added to the designated position in the reception packet C due to an incorrect CRC code in the reception packet B. This should occur because the transmission history and the reception history are separately managed on the transmission side and the reception side. Since the reception side performs a CRC error check using a misinterpreted CRC code, a CRC error is naturally detected.
しかし、受信パケットCが送信パケットCを正しく受信したものであるならば、本来の正しい位置には送信パケットCのCRCコードが付加されている筈である。そこで、受信側では、予め定められた複数のパケット内位置におけるデータをCRCコードとして順次にCRC誤り検査を試みる。その結果、CRC誤りが検出されない場合があれば、受信パケットBにおけるCRC誤り検査の結果はCRC誤判定だったとするものである。但し、受信パケットBにパケットロスがある場合は除かれる。 However, if the received packet C is a packet correctly received from the transmission packet C, the CRC code of the transmission packet C should be added to the original correct position. Therefore, the reception side sequentially tries CRC error check using data at a plurality of predetermined positions in the packet as CRC codes. As a result, if there is a case where no CRC error is detected, it is assumed that the CRC error check result in the received packet B is a CRC error determination. However, the case where there is a packet loss in the received packet B is excluded.
なお、上記のように順次にCRC誤り検査を試みてみても受信パケットCのCRC誤りが解消しない場合には、受信パケットCのCRC誤りとする。 Note that if the CRC error of the received packet C is not resolved even after trying the CRC error check sequentially as described above, the CRC error of the received packet C is set.
本発明によれば、CRCコードを用いた伝送データの誤り検出において、送信側にて前パケットのCRCコードの値に応じて、次パケットのCRC付加位置を決定し、受信側にて前パケットのCRCコードの値に応じてCRCコードの付加位置を認識してCRC誤り検出処理を行うことにより、伝送路上で、データとCRCコードの両方に誤りが生じ、受信側における生成多項式での割り算結果が余り0となった場合のCRC誤判定を検出できるという効果がある。 According to the present invention, in transmission data error detection using a CRC code, the transmission side determines the CRC addition position of the next packet according to the CRC code value of the previous packet, and the reception side determines the previous packet's CRC code. By performing the CRC error detection process by recognizing the CRC code addition position according to the CRC code value, an error occurs in both the data and the CRC code on the transmission line, and the division result in the generator polynomial on the receiving side is There is an effect that CRC misjudgment when the remainder becomes 0 can be detected.
[構成の説明]
次に、本発明の実施例について図面を参照して詳細に説明する。図1は本発明の一実施例によるCRC誤判定検出装置の主要部の構成を示すブロック図である。図1において、送信側は、CRCコード生成部11、CRCコード記憶部12およびCRCコード付加部13とから構成される。受信側は、CRC誤り検査部14、CRCコード記憶部15およびCRCコード位置サーチ部16から構成される。
[Description of configuration]
Next, embodiments of the present invention will be described in detail with reference to the drawings. FIG. 1 is a block diagram showing a configuration of a main part of a CRC error determination detection apparatus according to an embodiment of the present invention. In FIG. 1, the transmission side includes a CRC
送信側のCRCコード生成部11は、送信データを所定の生成多項式で割り算を行い、その剰余(CRCコード)を生成する。CRCコード記憶部12は、CRCコード生成部11より受信したCRCコードの所定の一部、例えば下位3ビットを保持しておき、前パケットのCRCコードをCRCコード付加部13へ送信する。CRCコード付加部13は、CRCコード記憶部12より受信した前パケットのCRCコードに対応したパケット内の指定位置に当該送信データのCRCコードを付加し、パケット送信する。
The
受信側のCRCコード記憶部15は、受信パケットもしくはCRCコード位置サーチ部16より受信したCRCコードを保持しておき、前パケットのCRCコードをCRC誤り検査部14へ送信する。CRC誤り検査部14は、CRCコード記憶部15から与えられる前パケットのCRCコードにより、当該パケットにおけるCRCコードの付加位置を認識し、CRCコードを元の位置、例えば下位3ビットであればパケットデータの最後尾に並び替える。そして、送信側と同じ生成多項式を用いて割り算を行い、余りがなければデータは正しい、余りがあればデータの伝送誤りがあったと判定する。
The CRC
CRCコード位置サーチ部16は、CRC誤り検査部14より与えられるCRC判定結果がNGの場合、当該パケットのCRCコード付加位置をサーチし、NG要因が「前パケットのCRC誤判定」、もしくは「当該パケットのCRCエラー」のいずれであるかの判定を行う。CRCコード付加位置のサーチは、CRCコードの付加位置を順次にシフト巡回し、CRC誤り検出処理を行うことにより実現する。CRC誤り検出処理はCRC誤り検査部14に委ねる。
When the CRC determination result given by the CRC
図2は本発明の一実施例によるCRC誤判定検出方式のCRCコード付加位置を示すパケット構成図である。図2において、aはCRCコードの下位nビットの値を示し、本例ではn=3ビットとし、aは0〜7までの値をとる。bはaに基づき決定されるCRCコードの付加位置を示し、本例においてbは0〜7までの値をとる。 FIG. 2 is a packet configuration diagram showing a CRC code addition position of a CRC error determination detection system according to an embodiment of the present invention. In FIG. 2, a indicates the value of the lower n bits of the CRC code. In this example, n = 3 bits, and a takes a value from 0 to 7. b indicates the CRC code addition position determined based on a. In this example, b takes a value from 0 to 7.
先ず、パケット#1におけるCRCコード(a=3)が、b=0の位置に付加されていたとする。その場合、次に送信するパケット#2については、前パケット(パケット#1)のCRCコードの下位3ビットの値aが3であることから、パケット#2のCRCコード(a=7)をb=3の位置に付加する。同様に、パケット#3、#4においても、当該パケットのCRCコードを、前パケットのCRC下位3ビットの値aに対応したbの位置に付加する。
First, it is assumed that the CRC code (a = 3) in the
なお、nは送信側と受信側を同じ値とすれば、装置システムにおいて任意に設定できるパラメータである。nは大きいほどCRC誤判定の検出精度は高くなるが、装置システムにおけるパケット長の範囲(特に最小値)や、誤り検出に要する遅延の許容時間を考慮に入れて決定すべきパラメータである。また、bは、装置システムにおいて送信側と受信側とで予め取り決めておくべき任意のパラメータである。本例の図2ではパケットの末尾をb=0〜7としているが、パケット内であれば末尾以外でも差し障りなく、または分散していてもよい。ただし、生成多項式での割り算はパケットの先頭ビットから順次行われるのが一般的であることから、CRCコードの付加位置は図2のようにパケット末尾にまとめて配置した方が、CRCコード付加位置のサーチ時間は短く済む。 Note that n is a parameter that can be arbitrarily set in the apparatus system if the transmission side and the reception side have the same value. The larger n is, the higher the CRC misjudgment detection accuracy is. However, it is a parameter that should be determined in consideration of the packet length range (particularly the minimum value) in the apparatus system and the allowable delay time required for error detection. Further, b is an arbitrary parameter that should be determined in advance between the transmission side and the reception side in the apparatus system. In FIG. 2 of this example, the end of the packet is set to b = 0 to 7. However, as long as it is within the packet, other than the end may be acceptable or distributed. However, since the division by the generator polynomial is generally performed sequentially from the first bit of the packet, the CRC code addition position is more collectively arranged at the end of the packet as shown in FIG. Search time is short.
[動作の説明]
次に、図1および図2に示す本実施例の動作について、図3と図4のフローチャートを参照しながら説明する。図3は送信側のフローチャートを、図4は受信側のフローチャートを示す。
[Description of operation]
Next, the operation of the present embodiment shown in FIGS. 1 and 2 will be described with reference to the flowcharts of FIGS. FIG. 3 shows a flowchart on the transmission side, and FIG. 4 shows a flowchart on the reception side.
図3の送信側フローチャートにおいて、送信側のCRCコード生成部11は、先ず送信データの有無を判定する(図3のステップS1)。送信データなしの場合は現状を保持し、送信データありの場合は送信データを所定の生成多項式で割り算を行い、その剰余(CRCコード)を生成する(ステップS2)。生成したCRCコードはCRCコード付加部13に出力すると共に、その所定の一部(以下、下位3ビットとして説明する)をCRCコード記憶部12に記憶する(ステップS2)。
In the transmission side flowchart of FIG. 3, the CRC
次に、CRCコード付加部13は、パケット送信履歴の有無を判定し(ステップS3)、装置立ち上げ直後等、パケット送信履歴がない場合は、前パケットのCRCコードの下位3ビット値aが未確定のため、a=0をセットし(ステップS4)、図2のパケット#1のように、当該パケットのb=0の位置にCRCコードを付加する(ステップS6)。
Next, the CRC
パケット送信履歴ありの場合は、aに前パケットのCRCコードの下位3ビット値を代入する(ステップS5)。前パケットのCRCコードはCRCコード記憶部12から読み出す。図2のパケット#2を用いて説明すると、前パケット(パケット#1)のCRCコードの下位3ビット値aが3であるので、パケット#2のb=3の位置にパケット#2の当該データのCRCコードを付加する(ステップS6)。以降、パケット送信に際し、CRCコードの付加位置は、前パケットのCRCコード下位3ビット値aに応じて決定される。CRCコードが付加されたパケットは受信側へ向けて送信される(ステップS7)。
If there is a packet transmission history, the lower 3 bit value of the CRC code of the previous packet is substituted for a (step S5). The CRC code of the previous packet is read from the CRC
一方、図4の受信側フローチャートにおいて、受信側のCRC誤り検査部14は、先ず受信パケットの有無を判定する(図4のステップT1)。受信パケットなしの場合は現状保持し、受信パケットありの場合、CRC誤り検査部14はパケット受信履歴の有無を判定する(ステップT2)。
On the other hand, in the receiving side flowchart of FIG. 4, the CRC
装置立ち上げ直後等、パケット受信履歴がない場合は、前パケットのCRCコードの下位3ビット値aが未確定のため、a=0をセットし(ステップT3)、図2のパケット#1のように、b=0の位置に当該パケットのCRCコードが付加されていると認識し、そのCRCコードを最後尾へ移動してCRC誤り検出処理を行う(ステップT4)。
If there is no packet reception history, such as immediately after device startup, the lower 3 bit value a of the CRC code of the previous packet is unconfirmed, so a = 0 is set (step T3), and
パケット受信履歴ありの場合は、CRCコード記憶部15から前パケットのCRCコードを読み出して、その下位3ビット値aを適用する。図2のパケット#2を用いて説明すると、前パケット(パケット#1)のCRCコードの下位3ビット値aが3であるので、b=3の位置にパケット#2のCRCコードが付加されていると認識して、CRC誤り検出処理を行う(ステップT4)。CRC誤り検出処理の結果、CRC判定がOKの場合は(ステップT5)、aに当該パケットのCRCコードの下位3ビットの値をセットし(ステップT6)、パケット受信判定シーケンスに戻る。
If there is a packet reception history, the CRC code of the previous packet is read from the CRC
一方、CRC判定がNGの場合、CRCコード位置サーチ部16はパケット#2のCRCコードがb=0〜7のどの位置に付加されているかサーチする(ステップT7)。サーチは、b=0〜7のそれぞれからaを順次に読み出して、CRC判定を行なうことにより実行する。サーチの結果、CRC判定がOKとなった場合は(ステップT8)、そのbの位置に当該パケットのCRCコードの下位3ビットの値をセットし(ステップT9)、パケット受信判定シーケンスに戻るとともに、前パケットでのパケットロス有無を判定する(ステップT10)。
On the other hand, when the CRC judgment is NG, the CRC code
ここでのパケットロス検出手段は、本発明に依らず、例えば、IPヘッダのフラグメントオフセット等、連続するパケットに対してシーケンシャルに割り振られた番号の連続性チェックにより行われ、パケットロス検出時はパケットロスALMが発出されるものとする(ステップT11)。前パケットのパケットロス判定の結果、パケットロスなしの場合であって、且つ前パケットのCRC誤りが無い場合(ステップT12)は、前パケットでCRC誤判定があったと判断し、前パケットCRC誤判定ALMを発出する(ステップT13)。なお、前パケットのCRC誤りがある場合(ステップT12)は、ALM非発出とする(ステップT14)。 The packet loss detecting means here does not depend on the present invention, and is performed, for example, by checking the continuity of numbers sequentially assigned to consecutive packets, such as the fragment offset of the IP header. Assume that loss ALM is issued (step T11). As a result of the packet loss determination of the previous packet, when there is no packet loss and there is no CRC error of the previous packet (step T12), it is determined that there was a CRC erroneous determination in the previous packet, and the previous packet CRC erroneous determination ALM is issued (step T13). If there is a CRC error in the previous packet (step T12), no ALM is issued (step T14).
また、CRCコード位置のサーチ(ステップT7)後、CRC判定がNGとなった場合は(ステップT8)、a=0をセットし(ステップT15)、パケット受信判定シーケンスに戻るとともに、当該パケットCRCエラーを発出する(ステップT16)。 If the CRC determination is NG after the CRC code position search (step T7) (step T8), a = 0 is set (step T15), the process returns to the packet reception determination sequence, and the packet CRC error is detected. Is issued (step T16).
次に、以上に説明した本実施例の動作について、図5、図6、図7および図8のタイムチャートにより更に詳しく説明する。図5は送信側のタイムチャートを、図6は受信側のタイムチャート(OK時)を、図7は受信側のタイムチャート(CRC誤判定検出時)を、図8は受信側のタイムチャート(パケットロス時)を示す。 Next, the operation of the present embodiment described above will be described in more detail with reference to the time charts of FIG. 5, FIG. 6, FIG. 7, and FIG. FIG. 5 is a time chart on the transmission side, FIG. 6 is a time chart on the reception side (when OK), FIG. 7 is a time chart on the reception side (when CRC misjudgment is detected), and FIG. Indicates packet loss).
図5の送信側タイムチャートを参照しながら、送信データが#1から#4までの4データである場合の動作を説明する。データ#1は、装置立ち上げ直後等、パケット送信履歴がない場合の先頭データを示す。
The operation when the transmission data is four data from # 1 to # 4 will be described with reference to the transmission side time chart of FIG.
はじめに、送信データ#1について所定の生成多項式での割り算を行い、CRCコード(a=3)を生成する。生成したCRCコード(a=3)をデータ#1に付加する際、前パケットのCRCコード下位3ビット値aを参照する。しかし、この時点では送信履歴がないため初期値0を適用し、CRCコード付加位置b=0の位置にCRCコードa=3を付加する。こうして送信データ#1のb=0の位置にCRCコードa=3を付加した信号が、送信パケット#1として送信される。
First, the
送信データ#2についても所定の生成多項式での割り算を行い、CRCコードa=7を生成する。生成したCRCコードa=7をデータ#2に付加する際、前パケットパケット#1のCRCコード下位3ビット値a=3を参照し、CRCコード付加位置b=3の位置にCRCコードa=7を付加する。こうして送信データ#2のb=3の位置にCRCコードa=7を付加した信号が、送信パケット#2として送信される。
同様に、送信データ#3については生成したCRCコードa=2をb=7の位置に付加し、送信データ#4については生成したCRCコードa=5をb=2の位置に付加し、パケット送信する。
Similarly, the generated CRC code a = 2 is added to the position of b = 7 for the
次に、図6の受信側タイムチャート(OK時)を参照しながら、受信パケットが#1から#4までの4パケットで、CRC判定がいずれもOKの場合の動作を説明する。受信パケット#1は、装置立ち上げ直後等、パケット受信履歴がない場合の先頭パケットを示す。
Next, referring to the reception side time chart of FIG. 6 (during OK), the operation when the received packets are 4 packets from # 1 to # 4 and the CRC judgment is all OK will be described.
はじめに、受信パケット#1のCRC誤り検出を行う際、CRCコードの位置を知るために前パケットのCRCコード下位3ビット値aを参照する。しかし、この時点では受信履歴がないため初期値0を適用し、CRCコード付加位置b=0の位置にCRCコードa=3が付加されているものと認識する。そしてb=0の位置にあるCRCコードa=3を、データの最後尾へ移動し、データの先頭から所定の生成多項式で割り算を行い、割り算結果の余りがなければデータは正しい、余りがあればデータの伝送誤りがあったと判定する。
First, when performing CRC error detection of the received
受信パケット#2についてもCRC誤り検出を行う際、CRCコードの位置を知るために前パケットのCRCコード下位3ビット値a=3を参照し、CRCコード付加位置b=3の位置にCRCコードa=7が付加されているものと認識する。そしてb=3の位置にあるCRCコードa=7を、データの最後尾へ移動し、データの先頭から所定の生成多項式で割り算を行い、割り算結果の余りがなければデータは正しい、余りがあればデータの伝送誤りがあったと判定する。
When the CRC error detection is performed also for the received
同様に、受信パケット#3についてはb=7の位置にCRCコードa=2が付加されているものと認識して誤り検出を行い、受信パケット#4についてはb=2の位置にCRCコードa=5が付加されているものと認識して誤り検出を行う。
Similarly, it is recognized that the CRC code a = 2 is added to the position of b = 7 for the received
さて、次に、図7の受信側タイムチャートを参照しながら、受信パケットが#1から#4までの4パケット中、#2のパケットでCRC誤判定が発生した場合の動作を説明する。受信パケット#1は、装置立ち上げ直後等、パケット受信履歴がない場合の先頭パケットを示し、受信処理の動作は図6で説明した通りである。
Next, the operation when a CRC erroneous determination occurs in the # 2 packet among the four received packets from # 1 to # 4 will be described with reference to the reception side time chart of FIG.
受信パケット#2は、伝送路上でデータとCRCの両方で誤りが発生し、送信側にてb=3の位置に付加されていた正しいCRCコードa=7が誤ったCRCコードa=4となってしまったにもかかわらず、所定の生成多項式での割り算結果が余り0となってしまう場合を仮定する。
In received
受信パケット#2については、CRC誤り検出を行う際、CRCコードの位置を知るために前パケットのCRCコード下位3ビット値a=3を参照し、CRCコード付加位置b=3の位置にCRCコードが付加されているものと認識する。ここで、本来の正しいCRCコードの下位3ビット値はa=7であるが伝送路誤りによりa=4と誤認識してしまう。
For the received
そして、b=3の位置にある誤ったCRCコードa=4)を、データの最後尾へ移動し、データの先頭から所定の生成多項式で割り算を行う。通常はここで割り算結果の余りが発生しCRC判定NGとなるが、伝送路上で、偶然割り算の結果が余り0となるような誤り方をした場合、誤り検出ができずにCRC判定はOKであると、誤判定してしまう。 Then, the erroneous CRC code a = 4) at the position of b = 3 is moved to the end of the data, and division is performed with a predetermined generator polynomial from the top of the data. Normally, the remainder of the division result occurs and the CRC judgment is NG. However, if an error is made such that the result of the accidental division is zero on the transmission line, error detection cannot be performed and the CRC judgment is OK. If it exists, it will be misjudged.
この時点では、誤判定したまま受信パケット#3の処理に移る。受信パケット#3のCRC誤り検出を行う際、CRCコードの位置を知るために前パケットのCRCコード下位3ビット値a=4を参照し、CRCコードはb=4の位置に付加されているものと認識する。ここで、本来の正しいCRCコード付加位置はb=7であるが、前パケットのCRCコードが誤っていたため、b=4の位置のデータをCRCコードとして誤認識することになる。
At this time, the process proceeds to the received
そして、b=4の位置にあるデータを、データの最後尾へ移動し、データの先頭から所定の生成多項式で割り算を行う。この結果、当然ながら余りは0とならずにCRC判定はNGとなる。そこで、CRCコード位置サーチのシーケンスに移り、パケット#3のb=0〜7のいずれかがCRCコードであると仮定して、それぞれをデータ最後尾に移動して所定の生成多項式で割り算を行い、CRCコードの位置をサーチする。
Then, the data at the position of b = 4 is moved to the end of the data, and division is performed from the top of the data by a predetermined generator polynomial. As a result, as a matter of course, the remainder is not 0, and the CRC judgment is NG. Therefore, the sequence moves to a CRC code position search sequence, assuming that any of b = 0 to 7 of
その結果、送信側でCRCコードを付加したb=7の位置のデータをCRCコードと仮定して割り算した結果が余り0となり、b=7が正しいCRCコードの付加位置であることが判明する。更に、前パケットのパケットロスがなければ、前パケットのCRC判定が誤判定であったと判断できる。このようにして、前パケットでCRC誤判定となった場合でも、次のパケットでCRC誤判定が発生していたことを検出することができる。 As a result, the data obtained by dividing the data at the position of b = 7 to which the CRC code is added on the transmission side is assumed to be a CRC code, and the remainder is 0, and it is found that b = 7 is the correct CRC code addition position. Furthermore, if there is no packet loss of the previous packet, it can be determined that the CRC determination of the previous packet was an erroneous determination. In this way, even when a CRC misjudgment occurs in the previous packet, it can be detected that a CRC misjudgment has occurred in the next packet.
なお、CRCコード位置サーチでは、正しいCRCコードの下位3ビット値が2であることが判明したので、前パケットのCRCコード下位3ビット値として、a=2を保持する。こうすることにより、受信パケット#4については、正しくb=2の位置にCRCコードa=5が付加されているものと認識して、誤り検出処理を行うことが可能となる。
In the CRC code position search, it has been found that the lower 3 bit value of the correct CRC code is 2, so a = 2 is held as the lower 3 bit value of the CRC code of the previous packet. By doing so, it is possible to recognize that the received
次に、図8の受信側タイムチャート(パケットロス時)を参照しながら、受信パケットが#1から#4までの4パケット中、#2のパケットでパケットロスが発生した場合の動作を説明する。受信パケット#1は、装置立ち上げ直後等、パケット受信履歴がない場合の先頭パケットを示し、受信処理の動作は図6で説明した通りである。受信パケット#2は、伝送路上でパケットロスしたため、受信側ではパケット#1の次にパケット#3を受信することとなる。
Next, with reference to the reception side time chart of FIG. 8 (during packet loss), the operation when a packet loss occurs in the # 2 packet among the four
受信パケット#3のCRC誤り検出を行う際、CRCコードの位置を知るために前パケットのCRCコード下位3ビット値a=3を参照し、CRCコードはb=3の位置に付加されているものと認識する。ここで、本来の正しいCRCコード付加位置はb=7であるが、パケット#2がロスしていたため、前パケットのCRCコード下位3ビットの値aが正しく更新されず、パケット#1の値a=3のままとなっているため、b=3の位置のデータをCRCコードとして誤認識することになる。
When detecting CRC error of received
そして、b=3の位置にあるデータを、データの最後尾へ移動し、データの先頭から所定の生成多項式で割り算を行う。この結果、当然ながら余りは0とならずにCRC判定はNGとなる。そこで、CRCコード位置サーチのシーケンスに移り、パケット#3のb=0〜7のいずれかがCRCコードであると仮定して、それぞれをデータ最後尾に移動して所定の生成多項式で割り算を行い、CRCコードの位置をサーチする。
Then, the data at the position of b = 3 is moved to the tail of the data, and division is performed with a predetermined generator polynomial from the top of the data. As a result, as a matter of course, the remainder is not 0, and the CRC judgment is NG. Therefore, the sequence moves to a CRC code position search sequence, assuming that any of b = 0 to 7 of
その結果、送信側でCRCコードを付加したb=7の位置のデータをCRCコードと仮定して割り算した結果が余り0となり、b=7が正しいCRCコードの付加位置であることが判明する。ここで、前パケットのロスが判明した場合、前パケットのパケットロスALMが発出され、CRC誤判定ではないとされる。ここでのパケットロス検出手段は、本発明に依らず、IPヘッダのフラグメントオフセット等、連続するパケットに対してシーケンシャルに割り振られた番号の連続性チェックにより行われるものとする。 As a result, the data obtained by dividing the data at the position of b = 7 to which the CRC code is added on the transmission side is assumed to be a CRC code, and the remainder is 0, and it is found that b = 7 is the correct CRC code addition position. Here, if the loss of the previous packet is found, the packet loss ALM of the previous packet is issued, and it is not a CRC misjudgment. Here, the packet loss detecting means is not limited to the present invention, but is performed by checking the continuity of numbers sequentially allocated to consecutive packets, such as the fragment offset of the IP header.
なお、CRCコード位置サーチでは、正しいCRCコードの下位3ビット値が2であることが判明したので、前パケットのCRCコード下位3ビット値として、a=2を保持する。こうすることにより、受信パケット#4については、正しくb=2の位置にCRCコードa=5が付加されているものと認識して、誤り検出処理を行うことが可能となる。
In the CRC code position search, it has been found that the lower 3 bit value of the correct CRC code is 2, so a = 2 is held as the lower 3 bit value of the CRC code of the previous packet. By doing so, it is possible to recognize that the received
11 CRCコード生成部
12 CRCコード記憶部
13 CRCコード付加部
14 CRC誤り検査部
15 CRCコード記憶部
16 CRCコード位置サーチ部
91 CRCコード生成部
92 CRCコード付加部
93 CRC誤り検査部
DESCRIPTION OF
Claims (5)
受信側では、直前の受信パケットのCRCコードの値で定まるパケット内位置におけるデータを本来のCRC位置へ移してCRC誤り検査を行い、CRC誤りを検出すると、当該受信パケットにおける予め定められた複数のパケット内位置におけるデータをCRCコードとして順次にCRC誤り検査を行い、そのうちCRC誤りを検出しない場合には直前の受信パケットについて、ロスが無く且つCRCエラーが無ければCRC誤り検査の結果は誤判定とし、順次にCRC誤り検査を行ってもCRC誤りを検出する場合には当該受信パケットについてCRC誤りとすることを特徴とするCRC誤判定検出方法。 On the transmission side, a transmission packet in which the CRC code of the transmission data is added to the position in the packet determined by the CRC code value of the previous transmission data is transmitted,
On the receiving side, the data at the position in the packet determined by the CRC code value of the immediately preceding received packet is moved to the original CRC position to perform a CRC error check, and when a CRC error is detected, The CRC error check is performed sequentially using the data at the position in the packet as a CRC code. If no CRC error is detected, the previous received packet is not lost and there is no CRC error. A CRC misjudgment detection method, wherein a CRC error is detected for the received packet when a CRC error is detected even if CRC error checking is performed sequentially.
送信データに対するCRCコードを生成する手順と、
少なくとも直前の送信データに対して生成したCRCコードを順次に記憶する手順と、
当該送信データのCRCコードを前記記憶した直前の送信データに対して生成したCRCコードの値で定まるパケット内位置に付加した送信パケットを送信する手順を有し、
受信側は、
少なくとも直前の受信パケットのCRCコードの値で定まるパケット内位置におけるデータを記憶する手順と、
前記記憶したデータを本来のCRC位置へ移して当該受信パケットについてCRC誤り検査を行う手順と、
前記CRC誤り検査の結果、CRC誤りを検出すると、当該受信パケットにおける予め定められた複数のパケット内位置におけるデータをCRCコードとして順次に前記CRC誤り検査を繰り返す手順と、
前記CRC誤り検査を繰り返すうちにCRC誤りを検出しない場合には、直前の受信パケットについて、ロスが無く且つCRCエラーが無ければCRC誤り検査は誤判定とする手順と、
前記CRC誤り検査を繰り返してもCRC誤りを検出する場合には、当該受信パケットについてCRC誤りとする手順を有することを特徴とするCRC誤判定検出方法。 The sender is
A procedure for generating a CRC code for transmission data;
A procedure for sequentially storing at least the CRC code generated for the immediately preceding transmission data;
A step of transmitting a transmission packet added to a position in a packet determined by a CRC code value generated for the immediately preceding stored transmission data, the CRC code of the transmission data;
The receiving side
A procedure for storing data at a position in a packet determined by at least the CRC code value of the immediately preceding received packet;
Moving the stored data to the original CRC position and performing a CRC error check on the received packet;
When a CRC error is detected as a result of the CRC error check, a procedure of sequentially repeating the CRC error check with data at a plurality of predetermined positions in the received packet as CRC codes;
If no CRC error is detected while repeating the CRC error check, the CRC error check is erroneously determined if there is no loss and no CRC error for the immediately preceding received packet;
A CRC misjudgment detection method comprising a step of setting a CRC error for the received packet when a CRC error is detected even after repeating the CRC error check.
送信データに対するCRCコードを生成するCRCコード生成部と、
少なくとも直前の送信データに対して生成したCRCコードを順次に記憶するCRCコード記憶部と、
当該送信データのCRCコードを前記記憶した直前の送信データに対して生成したCRCコードの値で定まるパケット内位置に付加した送信パケットを送信するCRCコード付加部を有し、
受信側は、
少なくとも直前の受信パケットのCRCコードの値で定まるパケット内位置におけるデータを記憶するCRCコード記憶部と、
前記記憶したデータを本来のCRC位置へ移して当該受信パケットについてCRC誤り検査を行うCRCコード誤り検査部と、
前記CRC誤り検査の結果、CRC誤りを検出すると、当該受信パケットにおける予め定められた複数のパケット内位置におけるデータをCRCコードとして順次に前記CRC誤り検査を繰り返し、そのうちにCRC誤りを検出しない場合には直前の受信パケットについて、パケットロスが無く且つCRCエラーが無ければCRC誤り検査は誤判定とし、CRC誤りを検出する場合には当該受信パケットについてCRC誤りとするCRCコード位置サーチ部を有することを特徴とするCRC誤判定検出装置。 The sender is
A CRC code generator for generating a CRC code for transmission data;
A CRC code storage unit for sequentially storing CRC codes generated for at least the immediately preceding transmission data;
A CRC code adding unit for transmitting a transmission packet added to a position in the packet determined by the value of the CRC code generated for the transmission data immediately before the CRC code of the transmission data;
The receiving side
A CRC code storage unit for storing data at a position in the packet determined by at least the CRC code value of the immediately preceding received packet;
A CRC code error checking unit that moves the stored data to an original CRC position and performs a CRC error check on the received packet;
When a CRC error is detected as a result of the CRC error check, the CRC error check is sequentially repeated with data at a plurality of predetermined positions in the received packet as CRC codes, and no CRC error is detected in the meantime. If there is no packet loss and no CRC error with respect to the immediately preceding received packet, the CRC error check is determined to be erroneous, and when a CRC error is detected, a CRC code position search unit is provided that sets the CRC error for the received packet. A CRC misjudgment detection device as a feature.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008296258A JP2010124260A (en) | 2008-11-20 | 2008-11-20 | Crc erroneous discrimination detection method and crc erroneous discrimination detection apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008296258A JP2010124260A (en) | 2008-11-20 | 2008-11-20 | Crc erroneous discrimination detection method and crc erroneous discrimination detection apparatus |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010124260A true JP2010124260A (en) | 2010-06-03 |
Family
ID=42325191
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008296258A Pending JP2010124260A (en) | 2008-11-20 | 2008-11-20 | Crc erroneous discrimination detection method and crc erroneous discrimination detection apparatus |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010124260A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019207697A1 (en) * | 2018-04-25 | 2019-10-31 | 三菱電機株式会社 | Information processing device, information processing method, and information processing program |
-
2008
- 2008-11-20 JP JP2008296258A patent/JP2010124260A/en active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019207697A1 (en) * | 2018-04-25 | 2019-10-31 | 三菱電機株式会社 | Information processing device, information processing method, and information processing program |
JPWO2019207697A1 (en) * | 2018-04-25 | 2020-07-30 | 三菱電機株式会社 | Information processing apparatus, information processing method, and information processing program |
CN112005508A (en) * | 2018-04-25 | 2020-11-27 | 三菱电机株式会社 | Information processing apparatus, information processing method, and information processing program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2626094C2 (en) | Method and device for improving transmission reliability of serial data transmission with flexible messages | |
RU2597467C2 (en) | Method and device for adaptation of reliability of data transmission in serial bus system | |
RU2620989C2 (en) | Method and apparatus for increasing throughput capacity in data transmission in serial bus system | |
RU2597501C2 (en) | Method and device for serial transmission of data with flexible size and variable bit length | |
RU2603534C2 (en) | Method and device for serial data transmission having a flexible message size and a variable bit length | |
US11146090B2 (en) | Battery management system, and method and apparatus for transmitting information | |
JP6318713B2 (en) | Error detection apparatus, error detection method, and error detection program | |
KR0175111B1 (en) | Error correction apparatus and method | |
JP4322946B2 (en) | Communication device | |
CN108337069B (en) | Improved error rate reducing end parallel grouping CRC (Cyclic redundancy check) system | |
JP5536889B2 (en) | Method and system for detecting a frame boundary of a data stream received at a forward error correction layer in Ethernet and a frame synchronization method and system for the data stream | |
JP3583148B2 (en) | Variable length frame transmission method, transmitting apparatus and receiving apparatus | |
JP6668588B2 (en) | Error correction device and error correction method | |
JP2010124260A (en) | Crc erroneous discrimination detection method and crc erroneous discrimination detection apparatus | |
CN110474715B (en) | Method and system for improving data transmission accuracy of Internet of things | |
CN108650047B (en) | Serial data receiving real-time synchronous monitoring circuit and monitoring method | |
JP2007511982A (en) | Check for message errors using checking for hidden data | |
US20050257117A1 (en) | Method and circuit for determining an ending of an ethernet frame | |
KR101642440B1 (en) | Network recovering method for ring network | |
JP5895238B2 (en) | COMMUNICATION DEVICE, COMMUNICATION METHOD, AND COMMUNICATION PROGRAM | |
JP2017168917A (en) | Serial communication apparatus | |
US11871166B2 (en) | Sensor system | |
JP5308193B2 (en) | Serial communication method | |
JP7279556B2 (en) | Communication device, method and program | |
JP2007104423A (en) | Method of error correction using repetition transmission scheme, communication system and reception apparatus |