[go: up one dir, main page]

KR19980044216A - How to check for data errors - Google Patents

How to check for data errors Download PDF

Info

Publication number
KR19980044216A
KR19980044216A KR1019960062263A KR19960062263A KR19980044216A KR 19980044216 A KR19980044216 A KR 19980044216A KR 1019960062263 A KR1019960062263 A KR 1019960062263A KR 19960062263 A KR19960062263 A KR 19960062263A KR 19980044216 A KR19980044216 A KR 19980044216A
Authority
KR
South Korea
Prior art keywords
crc
message data
data
bit
crc register
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
KR1019960062263A
Other languages
Korean (ko)
Other versions
KR100234703B1 (en
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 KR1019960062263A priority Critical patent/KR100234703B1/en
Publication of KR19980044216A publication Critical patent/KR19980044216A/en
Application granted granted Critical
Publication of KR100234703B1 publication Critical patent/KR100234703B1/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Detection And Correction Of Errors (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

본 발명은 데이타 오류체크 방법에 관한 것으로, 종래 데이타 오류체크 방법중 순환여분검사방식은 한번에 1비트의 CRC계산만이 이루어지기 때문에 전송속도가 느린 문제점이 있었다. 본 발명은 이러한 종래의 문제점을 해결하기 위해 메시지 데이타를 1바이트씩 입력받아 이를 전 상태의 CRC레지스터값과 식 S'=X32U'(X)=Rg(X)[X32(b(X)+X8U(X))]에 의해 연산하는 제1단계와; 상기 단계에서 연산된 값을 CRC레지스터에 저장하는 제2단계와; 메시지 데이타가 모두 입력될 때까지 상기 제1단계 및 제2단계를 반복하는 제3단계와; 상기 제3단계의 수행결과 메시지 데이타가 모두 처리되면 이를 상기 메시지 데이타와 합하여 송신하는 제4단계로 이루어진 데이타 오류체크 방법을 창안한 것으로, 이와같이 본 발명은 메시지 데이타를 8비트씩 입력받아 이를 바로전에 계산된 CRC 레지스터값과 소정식을 통해 연산하는 방식으로 CRC부호 생성시 8비트식 처리할 수 있어 전송속도를 빨리 할 수 있는 효과가 있다.The present invention relates to a data error check method. In the conventional data error check method, a cyclic redundancy check method has a problem that a transmission rate is slow because only one bit of CRC calculation is performed at a time. The present invention is such a message data in order to solve the conventional problems for receiving one byte it CRC register value of the previous state and the equation S '= X 32 U' ( X) = R g (X) [X 32 (b ( X) + X 8 U (X))]; A second step of storing the calculated value in the CRC register; A third step of repeating the first step and the second step until all the message data are input; And a fourth step of transmitting the message data together with the message data when all of the message data is processed as a result of the third step. In this way, the present invention creates 8 bits of message data, The CRC register value and the CRC register value are calculated using a predetermined formula, so that the CRC code can be processed in an 8-bit format to generate a CRC code.

Description

데이타 오류체크 방법How to check for data errors

제1도는 종래 순환여분방식의 회로 구성도.FIG. 1 is a circuit diagram of a conventional circulating redundancy system.

제2도는 식(1)에 있어서, i와 Rg(X)[Xi]와의 관계를 나타낸 표.2 is a table showing the relationship between i and R g (X) [X i ] in the formula (1).

제3도는 16진수와 2진수의 관계를 나타낸 표.Table 3 shows the relationship between hexadecimal and binary numbers.

제4도는 8비트 시프트 후의 CRC레지스터의 값을 나타낸 표.4 is a table showing the value of the CRC register after 8-bit shift.

제5도는 본 발명에서 CRC 값을 계산하기 위한 회로 구성도.FIG. 5 is a circuit diagram for calculating a CRC value in the present invention. FIG.

제6도는 본 발명의 베리로그(verilog) 하이레벨데이타링크제어순서도.FIG. 6 is a flow chart of a VeriLog high level data link control of the present invention. FIG.

[발명의 상세한 설명]DETAILED DESCRIPTION OF THE INVENTION [

본 발명은 데이타의 오류체크 방법에 관한 것으로, 특히 순환여분검사(cyclic Redundancy Check: CRC)오류체크 방법에 있어서, CRC 부호 생성시 데이타의 처리를 8비트씩 하게 함으로써 처리속도를 향상시키는 데 적당하도록 한 데이타 오류체크 방법에 관한 것이다.More particularly, the present invention relates to a CRC error check method, and more particularly, to a CRC error check method, And a method for checking a data error.

순환여분검사(cyclic Redundancy Check: CRC)란 데이타 오류검출방식의 하나로, 송신데이타를 어떤 룰에 의해 변형시키고, 그 변형된 데이타에 대한 CRC부호를 작성한 다음 그 변형된 데이타에 CRC부호를 부가하여 송신하도록 하고, 수신측은 수신데이타를 체크하여 오류를 검출한다.A cyclic redundancy check (CRC) is a method of detecting a data error, in which transmission data is modified by a certain rule, a CRC code is generated for the modified data, a CRC code is added to the modified data, , And the receiving side checks the received data to detect an error.

상기 데이타의 변형에는 특수한 논리연산의 곱셈이 행하여지고, 수신데이타에는 마찬가지의 나눗셈이 행하여지는 것이 이 방식의 특징이다. 이 나눗셈에서 나머지의 유무에 의해 데이타의 오류여부가 결정된다.The feature of this method is that multiplication of the special logical operation is performed on the transformation of the data, and similar division is performed on the reception data. Whether or not the data is erroneous is determined by the presence or absence of the remainder in this division.

이때, CRC부호를 만들기 위한 다항식 G(X)는 미리 정해져 있는데, CRC-32의 경우에는 아래의 식으로 규정되어 있다.At this time, a polynomial G (X) for generating a CRC code is predetermined, and in the case of CRC-32, it is defined by the following equation.

G(X)=X32+X26+X23+X22+X16+X12+X11+X10+X8+X7+X5+X4+X2+X+1 G (X) = X 32 + X 26 + X 23 + X 22 + X 16 + X 12 + X 11 + X 10 + X 8 + X 7 + X 5 + X 4 + X 2 + X + 1

이때, 상기 다항식 G(X)을 생성 다항식이라 한다.At this time, the polynomial G (X) is called a generator polynomial.

상기 CRC오류체크 방법에 대하여 간략히 설명하면 다음과 같다.The CRC error check method will be briefly described as follows.

계산을 쉽게 하기 위해 생성 다항식 G(X)를 G(X)=X6+X4+X2+1 이라 하고, 아래 식과 같이 표시되는 송신데이타(D)가 있다고 하자Assuming that the generated polynomial G (X) is G (X) = X 6 + X 4 + X 2 +1 and there is transmission data D displayed as the following equation

D=X7+X4+X2+X D = X 7 + X 4 + X 2 + X

먼저, 생성 다항식 G(X)의 최고차 항을 송신데이타(D)에 곱하여 송신데이타를 변형시킨다. 이를 D'라 하면,First, the transmission data D is multiplied by multiplying the maximum difference of the generator polynomial G (X) by the transmission data D to transform the transmission data. If this is D,

D'=D×X6 D '= D x X 6

=(X7+X4+X2+X)×X6 = (X 7 + X 4 + X 2 + X) x X 6

=X13+X10+X8+X7 = X13+ X10+ X8+ X7

이다.to be.

이와같이 변형된 데이타(D')가 만들어지면 그 변형된 데이타(D')를 상기 생성 다항식 G(X)로 나누는데, 그 결과 몫과 나머지는 아래 식과 같이 된다.When the transformed data D 'is created, the transformed data D' is divided by the generator polynomial G (X).

(X13+X10+X8+X7)/(X6+X4+X2+1) 하면, 몫은 X7+X5+X4+X+1, 나머지는 X3+X2+X+1 (X 13 + X 10 + X 8 + X 7) / If (X 6 + X 4 + X 2 +1), shares X 7 + X 5 + X 4 + X + 1, the remainder X 3 + X 2 + X + 1

이때, 상기 나머지 X3+X2+X+1를 CRC부호로 한다.At this time, the remaining X 3 + X 2 + X + 1 is set as a CRC code.

이제 상기 CRC부호(X3+X2+X+1)와 상기 변형된 데이타(D')를 더하면 최종 송신할 데이타(S)가 되는 것이다. 즉 S는When the CRC code (X 3 + X 2 + X + 1) and the modified data D 'are added, the data S to be finally transmitted is obtained. That is, S

S=(X13+X10+X8+X7)+(X3+X2+X+1)S = (X 13 + X 10 + X 8 + X 7 ) + (X 3 + X 2 + X + 1)

=X13+X10+X8+X7+X3+X2+X+1= X 13 + X 10 + X 8 + X 7 + X 3 + X 2 + X + 1

이다.to be.

이때, 수신측은 아래 식과 같이 상기 데이타(S)를 수신하여 이를 생성 다항식 G(X)로 나누어 그 나머지가 제로(0)이면 데이타의 오류가 없다고 판단한다.At this time, the receiving side receives the data S as shown in the following equation, divides it by the generating polynomial G (X), and judges that there is no data error if the remainder is zero.

S/G(X)=(X13+X10+X8+X7)+(X3+X2+X+1)/(X6+X4+X2+1)S / G (X) = ( X 13 + X 10 + X 8 + X 7) + (X 3 + X 2 + X + 1) / (X 6 + X 4 + X 2 +1)

=X7+X5+X4+X+1 (나머지=0)= X 7 + X 5 + X 4 + X + 1 (the rest = 0)

이때, 상기 CRC 오류체크 방법 중에서 CRC-32의 계산방법을 회로적으로 나타내는 제1도에 도시한 바와같이 시프터레지스터(Sn)와 배타적오아게이트(XOR)들로 구성할 수 있다.At this time, among the CRC error checking methods, a shift register (Sn) and exclusive OR gates (XOR) can be configured as shown in FIG. 1, which shows the calculation method of CRC-32 in a circuit.

동작하는 과정은 입력 메시지의 1비트가 CRC-32의 생성다항식에 따라 배타적오아링 되거나 다음 CRC레지스터(Sn)로 시프트되어짐으로써 한 번에 1비트씩 계산되어 CRC레지스터에 저장된다.The operating process is calculated one bit at a time by storing one bit of the input message either exclusively according to the generator polynomial of CRC-32 or shifted to the next CRC register (Sn) and stored in the CRC register.

이상에서 설명한 바와같이 종래의 순환여분검사방식은 한번에 1비트의 CRC계산만이 이루어지기 때문에 전송속도가 느린 문제점이 있었다.As described above, the conventional cyclic redundancy check method has a problem that the transmission rate is slow because only one bit of CRC calculation is performed at a time.

본 발명의 목적은 이러한 종래의 문제점을 해결하기 위해 데이타를 8비트 병렬로 처리하도록 알고리즘을 구성하여 전송속도를 향상 시킬 수 있도록 한 데이타 오류체크 방법을 제공하는데 있다.SUMMARY OF THE INVENTION An object of the present invention is to provide a data error check method capable of improving the transmission speed by configuring an algorithm for processing data in 8-bit parallel in order to solve such conventional problems.

상기 본 발명의 목적을 달성하기 위한 데이타 오류체크 방법은 메시지 데이타를 1바이트씩 입력받아 이를 전 상태의 CRC레지스터값과 아래 식에 의해 연산하는 제1단계와; 상기 단계에서 연산된 값을 CRC레지스터에 저장하는 제2단계와; 메시지 데이타가 모두 입력될 때까지 상기 제1단계 및 제2단계를 반복하는 제3단계와; 상기 제3단계에서 수행결과 메시지 데이타가 모두 처리되어 CRC부호가 생성되면 이를 상기 메시지 데이타와 합하여 송신하는 제4단계로 이루어진다.According to another aspect of the present invention, there is provided a data error checking method comprising: a first step of receiving message data by one byte and calculating the CRC register value by a CRC register value of a previous state and the following equation; A second step of storing the calculated value in the CRC register; A third step of repeating the first step and the second step until all the message data are input; In the third step, when all the message data are processed and the CRC code is generated, the message data is transmitted together with the message data.

S'=X32U'(X)S '= X 32 U' (X)

=Rg(X)[X32(b(X)+X8U(X))] = R g (X) [X 32 (b (X) + X 8 U (X))]

단, U'(X)= (b(X)+X8U(X)However, U '(X) = (b (X) + X 8 U (X)

X8X32U(X)는 8비트 시프트된 전상태의 CRC레지스터값.X 8 X 32 U (X) is an 8-bit shifted CRC register value in all states.

b(X)는 새로 입력된 8비트 메시지 데이타.b (X) is the newly entered 8-bit message data.

X32는 생성다항식의 최고차항.X 32 is the highest order of the generator polynomial.

S'는 CRC부호: [X32(b(X)+X8U(X))]를 생성다항식[g(X)]으로 나눈 나머지.S 'is the remainder of dividing the CRC code: [X 32 (b (X) + X 8 U (X))] by the generator polynomial [g (X)].

이하, 본 발명의 작용 및 효과에 관하여 첨부한 도면을 참조하여 설명한다.Hereinafter, the functions and effects of the present invention will be described with reference to the accompanying drawings.

먼저, 메시지 데이타를 U(X)라고, CRC 부호를 생성하기 위한 생성다항식을 g(X)라 하면, 송신데이타 U(X)와 생성다항식 g(X)의 일반식은 아래와 같다.First, if the message data is U (X) and the generator polynomial for generating the CRC code is g (X), the general formula of the transmission data U (X) and the generator polynomial g (X) is as follows.

U(X)=U0+U1X+U2X2+…U7X7 U (X) = U 0 + U 1 X + U 2 X 2 + U 7 X 7

g(X)=1+X+X2+X4+X5+X7+X8+X10+X11+X12+X16+X22+X23+X26+X32 g (X) = 1 + X + X 2 + X 4 + X 5 + X 7 + X 8 + X 10 + X 11 + X 12 + X 16 + X 22 + X 23 + X 26 + X 32

CRC부호는 생성다항식 g(X)의 최고차항을 송신데이타의 다항식 U(X)에 곱하고, 이를 다시 생성다항식 g(X)로 나눈 나머지 S(X)로 정의되는데, 이를 식으로 표현하면 아래와 같다.The CRC code is defined as the remainder S (X) obtained by multiplying the polynomial U (X) of the transmission data by the highest order of the generator polynomial g (X) and dividing it by the generator polynomial g (X) .

Rg(x)[U(X)+g(X)의 최고차항]= Rg(x)[X32U(X)]R g (x) [X 32 U (X)] where R g (x)

이때, 상기 X32U(X)는 X32U(X)=a(X) g(X)+S(X)와 같이 표현할 수 있다.In this case, the X 32 U (X) can be expressed as X 32 U (X) = a (X) g (X) + S (X)

단, a(X)는 X32U(X)를 g(X)로 나눈 몫이다. 그리고 나머지 S(X)의 일반식은Where a (X) is the quotient of X 32 U (X) divided by g (X). And the remainder of S (X)

S(X)=S0+S1X+S2X2+…+S31X31 S (X) = S 0 + S 1 X + S 2 X 2 + + S 31 X 31

이다.to be.

상기와 같이 8비트의 데이타가 처리되면 이는 우측으로 8비트 시프트되고, 그 빈 자리에는 8비트의 새로운 데이타가 입력된다.When 8-bit data is processed as described above, it is shifted to the right by 8 bits, and 8-bit new data is input to the vacant positions.

그 입력되는 새로운 데이타를 b(X)=b0+b1X+b2X2+…b7X7라고 하면, 새로운 처리할 데이타 U'(X)는 전 상태에서 처리된 CRC레지스터의 값 즉, U(X)와 새로 입력된 8비트의 메시지 데이타 b(X)와의 합이 된다. 이를 식으로 나타내면 아래와 같다.B (X) = b 0 + b 1 X + b 2 X 2 + b 7 x 7 , the new data to be processed U '(X) is the sum of the value of the CRC register processed in the previous state, that is, U (X) and the newly inputted 8-bit message data b (X). This can be expressed as follows.

U'(X)=b(X)+X8U(X) 단, X8은 8비트 시프트됨을 표시한다.U '(X) = b (X) + X 8 U (X) where X 8 indicates 8-bit shift.

상기 U'(X)에 대한 CRC부호를 구하기 위해 먼저, 생성다항식의 최고차항인 X32를 곱하면, X32U'(X)가 된다. 이때, X32U'(X)은 아래 식과 같이 전개된다.In order to obtain the CRC code for U '(X), first multiply X 32 , which is the highest derivative of the generator polynomial, to obtain X 32 U' (X). At this time, X 32 U '(X) is developed as follows.

X32U'(X)=X32[b(X)+X8U(X)]X 32 U '(X) = X 32 [b (X) + X 8 U (X)]

= X32b(X)+X8[X32U(X)]= X 32 b (X) + X 8 [X 32 U (X)]

= X32b(X)+X8[a(X)g(X)+S(X)= X 32 b (X) + X 8 [a (X) g (X) + S (X)

= X32b(X)+X8[a(X)g(X)]+X8S(X)= X 32 b (X) + X 8 [a (X) g (X)] + X 8 S (X)

이제, X32U'(X)를 이용하여 나머지 S'(X)를 구하면 아래 식과 같다.Now, using X 32 U '(X) to find the remainder S' (X)

S'(X)= Rg(x)[X32U'(X)] S '(X) = R g (x) [X 32 U' (X)]

이때, 상기 식 U'(X)=b(X)+X8U(X)을 식 S'(X)=Rg(x)[X32U'(X)]에 대입하면 아래 식과 같다.Substituting the equation U '(X) = b (X) + X 8 U (X) into the formula S' (X) = R g (x) [X 32 U '(X)]

S'(X)=Rg(x)[X32b(X)+X8U(X)]S '(X) = R g (x) [X 32 b (X) + X 8 U (X)]

=Rg(x)[X32b(X)+X8X32U(X)]= R g (x) [X 32 b (X) + X 8 X 32 U (X)]

이다.to be.

이때, X32U(X)=a(X)g(X)+S(X)이므로At this time, since X 32 U (X) = a (X) g (X) + S (X)

Rg(x)[X32b(X)+X8X32U(X)]R g (x) [X 32 b (X) + X 8 X 32 U (X)]

=Rg(x)[X32b(X)+X8a(X) g(X)+X8S(X)]= R g (x) [X 32 b (X) + X 8 a (X) g (X) + X 8 S (X)]

=Rg(x)[X32b(X)]+Rg(x)[X8a(X) g(X)]+Rg(x)[X8S(X)] = R g (x) [X 32 b (X)] + R g (x) [X 8 a (X) g (X)] + R g (x) [X 8 S (X)]

으로 쓸 수 있다..

또한 상기 X8a(X) g(X)를 g(X)로 나누면 그 몫은 X8a(X) 나머지는 0이므로 Rg(x)[X8a(X)]항은 0이 된다.In addition, by dividing the X 8 a (X) g (X) by g (X) that shares X 8 a (X) the remainder 0 R g (x) [X 8 a (X)] wherein because it is zero .

따라서therefore

S'(X)=Rg(x)[X32b(X)]+Rg(x)[X8S(X)] S '(X) = R g (x) [X 32 b (X)] + R g (x) [X 8 S (X)]

이 된다..

상기 식을 b(X)와 S(X)의 일반식을 사용하여 전개하면When the above equations are developed using the general formulas b (X) and S (X)

S'(X)=Rg(x)[X32(b0+b1X1+b2X2+b3X3+b4X4+b5X5+b6X6+b7X7)+X8(S0+S1X1+‥+S31X31) S '(X) = R g (x) [X 32 (b 0 + b 1 X 1 + b 2 X 2 + b 3 X 3 + b 4 X 4 + b 5 X 5 + b 6 X 6 + b 7 X 7 ) + X 8 (S 0 + S 1 X 1 + ... + S 31 X 31 )

=((b0+S24)X32+(b1+S25)X32+…+(b7+S31)X39+S0X8+S1X9+…S23X31 = ((b 0 + S 24 ) X 32 + (b 1 + S 25) X 32 + ... + (b 7 + S 31) X 39 + S 0 X 8 + S 1 X 9 + ... S 23 X 31

로 쓸수 있다. Can be used as.

또한 상기 식을 일반화하면Also, when generalizing the above equation

로 쓸 수 있는데, 이 식에서 (bi+S24+i)을 설명의 편의상 ti로 놓으면, 상기 식은, Where (b i + S 24 + i ) is set to ti for convenience of explanation,

이 된다..

그리고 S0X8+S1X9+…+S23X31을 g(X)로 나눈 몫은 0이고, 나머지는 S0X8+S1X9+…+S23X31이기 때문에 (S0X8+S1X9+…S23X31)을 Rg(X) 밖으로 뺄 수 있다. 따라서And S 0 X 8 + S 1 X 9 + ... + S 23 X 31 divided by g (X) is 0 and the remainder is S 0 X 8 + S 1 X 9 + ... + S 23 X 31 , (S 0 X 8 + S1 X9 + ... S 23 X 31 ) can be subtracted from Rg (X). therefore

이 된다..

이때, 상기 식(1)에서 i와 Rg(x)[Xi]와의 관계를 나타낸 제2와 16진수와 2진수의 관계를 나타낸 제3도를 참조하여, 상기 식에서 8비트 시프트 후의 CRC 레지스터의 값을 계산하면 제4도에 도시한 바와 같다.Here, with reference to FIG. 3 showing the relationship between the second, hexadecimal and binary numbers showing the relationship between i and R g (x) [X i ] in the above equation (1), the CRC register Is calculated as shown in FIG. 4.

다시 8비트 시프트 후의 CRC 레지스터의 값을 쓰면 아래와 같다.The value of the CRC register after 8-bit shift is written as follows.

S'0=t0+t1+b0+b6+s24+s30S0 = t0 + t1 + b0 + b6 + s24 + s30

S'1=t0+t1+t6+t7S'1 = t0 + t1 + t6 + t7

S'2=t0+t1+t2+t6+t7S'2 = t0 + t1 + t2 + t6 + t7

S'3=t1+t2+t3+t7S'3 = t1 + t2 + t3 + t7

S'4=t0+t2+t3+t4+t6S'4 = t0 + t2 + t3 + t4 + t6

S'5=t0+t1+t3+t4+t5+ t6+t7S'5 = t0 + t1 + t3 + t4 + t5 + t6 + t7

S'6=t1+t2+t4+t5+t6+t7S'6 = t1 + t2 + t4 + t5 + t6 + t7

S'7=t0+t2+t3+t5+t7S'7 = t0 + t2 + t3 + t5 + t7

S'8=S0+t0+t1+t3+t4S'8 = S0 + t0 + t1 + t3 + t4

S'9=S1+t1+t2+t4+t5S'9 = S1 + t1 + t2 + t4 + t5

S'10=S2+t0+t2+t3+t5S'10 = S2 + t0 + t2 + t3 + t5

S'11=S3+t0+t1+t3+t5S'11 = S3 + t0 + t1 + t3 + t5

S'12=S4+t0+t1+t2+t4+t5+t6S'12 = S4 + t0 + t1 + t2 + t4 + t5 + t6

S'13=S5+t1+t2+t3+t5+t6+t7S'13 = S5 + t1 + t2 + t3 + t5 + t6 + t7

S'14=S6+t2+t3+t4+t6+t7S'14 = S6 + t2 + t3 + t4 + t6 + t7

S'15=S1+t3+t4+t5+t7S'15 = S1 + t3 + t4 + t5 + t7

S'16=S8+t0+t4+t5S'16 = S8 + t0 + t4 + t5

S'17=S9+t1+t5+t6S'17 = S9 + t1 + t5 + t6

S'18=S10+t2+t6+t7S'18 = S10 + t2 + t6 + t7

S'19=S11+t3+t7S'19 = S11 + t3 + t7

S'20=S12+t4S'20 = S12 + t4

S'21=S13+t5S'21 = S13 + t5

S'22=S14+t0S'22 = S14 + t0

S'23=S15+t0+t1+t6S'23 = S15 + t0 + t1 + t6

S'24=S16+t1+t2+t7S'24 = S16 + t1 + t2 + t7

S'25=S17+t2+t3S'25 = S17 + t2 + t3

S'26=S18+t0+t3+t4+t6S'26 = S18 + t0 + t3 + t4 + t6

S'27=S19+t1+t4+t5+t7S'27 = S19 + t1 + t4 + t5 + t7

S'28=S20+t2+t5+t6S'28 = S20 + t2 + t5 + t6

S'29=S21+t3+t6+t7S'29 = S21 + t3 + t6 + t7

S'30=S22+t4+t7S'30 = S22 + t4 + t7

S'31=S23+t5S'31 = S23 + t5

그리고 본 발명을 회로구성으로 나타내면 제5도에 도시한 바와같다.The circuit configuration of the present invention is shown in FIG.

참고로 본 발명의 베리로그(verilog) 하이레벨데이타링크제어순서(HDL)도를 제6도에 도시하였다.Reference is made to FIG. 6 for a VeriLog High Level Data Link Control Order (HDL) of the present invention.

이상에서 상세히 설명한 바와 같이 본 발명은 메시지 데이타를 바로 전에 계산된 CRC 레지스터값과 소정식에 의한 연산을 통해 CRC부호를 생성하게 함으로써 한번에 8비트씩 처리할 수 있어 전송속도를 빠르게 할 수 있는 효과가 있다.As described in detail above, according to the present invention, the CRC code is generated through the calculation of the CRC register value and the pre-calculated formula just before the message data, so that the CRC code can be processed 8 bits at a time, have.

Claims (1)

메시지 데이타를 1바이트씩 입력받아 이를 전 상태의 CRC레지스터값과 아래 식에 의해 의해 연산하는 제1단계와; 상기 단계에서 연산된 값을 CRC레지스터에 저장하는 제2단계와; 메시지 데이타가 모두 입력될 때까지 상기 제1단계 및 제2단계를 반복하는 제3단계와; 상기 제3단계의 수행결과 메시지 데이타가 모두 처리되어 CRC 부호가 생성되면 이를 상기 메시지 데이타와 합하여 송신하는 제4단계로 이루어진 것을 특징으로 하는 데이타 오류체크 방법.A first step of receiving the message data one byte at a time and calculating the CRC register value by a CRC register value of the previous state and the following equation; A second step of storing the calculated value in the CRC register; A third step of repeating the first step and the second step until all the message data are input; And a fourth step of transmitting the combined message data when the CRC code is generated by processing all the message data as a result of performing the third step. S'=X32U'(X)S '= X 32 U' (X) =Rg(X)[X32(b(X)+X8U(X))] = R g (X) [X 32 (b (X) + X 8 U (X))] 단, U'(X)= (b(X)+X8U(X)However, U '(X) = (b (X) + X 8 U (X) X8X32U(X)는 8비트 시프트된 전상태의 CRC레지스터값.X 8 X 32 U (X) is an 8-bit shifted CRC register value in all states. b(X)는 새로 입력된 8비트 메시지 데이타.b (X) is the newly entered 8-bit message data. X32는 생성다항식의 최고차항.X 32 is the highest order of the generator polynomial. S'는 CRC부호: [X32(b(X)+X8U(X))]를 생성다항식[g(X)]으로 나눈 나머지.S 'is the remainder of dividing the CRC code: [X 32 (b (X) + X 8 U (X))] by the generator polynomial [g (X)].
KR1019960062263A 1996-12-06 1996-12-06 How to check for data errors Expired - Fee Related KR100234703B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019960062263A KR100234703B1 (en) 1996-12-06 1996-12-06 How to check for data errors

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019960062263A KR100234703B1 (en) 1996-12-06 1996-12-06 How to check for data errors

Publications (2)

Publication Number Publication Date
KR19980044216A true KR19980044216A (en) 1998-09-05
KR100234703B1 KR100234703B1 (en) 1999-12-15

Family

ID=19486099

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960062263A Expired - Fee Related KR100234703B1 (en) 1996-12-06 1996-12-06 How to check for data errors

Country Status (1)

Country Link
KR (1) KR100234703B1 (en)

Also Published As

Publication number Publication date
KR100234703B1 (en) 1999-12-15

Similar Documents

Publication Publication Date Title
EP0313707B1 (en) Data integrity securing means
US5343481A (en) BCH error-location polynomial decoder
JPH0728227B2 (en) Decoding device for BCH code
US4994993A (en) System for detecting and correcting errors generated by arithmetic logic units
US4723244A (en) Method and apparatus for preserving the integrity of the error detection/correction word in a code word
JPS632370B2 (en)
EP1458105B1 (en) Method and device for decoding of Reed-Solomon codes
US5517512A (en) Cyclic coding and cyclic redundancy code check processor
US5724370A (en) CRC generation and detection method
KR20030036148A (en) Decoder and decoding method
US5754564A (en) Method of continuous calculation of cyclic redundancy check
US6928608B2 (en) Apparatus and method for accelerating cyclic redundancy check calculations
US5416786A (en) Error correction circuit for BCH codewords
US5121397A (en) Method and apparatus for producing order independent signatures for error detection
KR100234703B1 (en) How to check for data errors
JP3361654B2 (en) Data transmission equipment
US5526370A (en) Weighted sum codes for error detection
KR100731985B1 (en) Pipeline structure Parallel cyclic redundancy check apparatus and method
JPH0629956A (en) Error correction code insertion processing method for SDH signal and optical transmission device
EP0408362A2 (en) Error detection code processing device
KR20020033227A (en) Circuit for parallel cyclic redundancy check in data communication
US6718514B2 (en) Parity checking device and method in data communication system
US5212696A (en) Method and apparatus for producing order independent signatures for error detection
JP3356254B2 (en) Encoding device and decoding device
KR100308025B1 (en) method for multiplication/division in communication system

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

St.27 status event code: A-0-1-A10-A12-nap-PA0109

PA0201 Request for examination

St.27 status event code: A-1-2-D10-D11-exm-PA0201

R17-X000 Change to representative recorded

St.27 status event code: A-3-3-R10-R17-oth-X000

PG1501 Laying open of application

St.27 status event code: A-1-1-Q10-Q12-nap-PG1501

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

St.27 status event code: A-1-2-D10-D21-exm-PE0902

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

St.27 status event code: A-1-2-D10-D22-exm-PE0701

PN2301 Change of applicant

St.27 status event code: A-3-3-R10-R13-asn-PN2301

St.27 status event code: A-3-3-R10-R11-asn-PN2301

GRNT Written decision to grant
PR0701 Registration of establishment

St.27 status event code: A-2-4-F10-F11-exm-PR0701

PR1002 Payment of registration fee

St.27 status event code: A-2-2-U10-U11-oth-PR1002

Fee payment year number: 1

PG1601 Publication of registration

St.27 status event code: A-4-4-Q10-Q13-nap-PG1601

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 4

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 5

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R11-asn-PN2301

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 6

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R14-asn-PN2301

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R11-asn-PN2301

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R14-asn-PN2301

FPAY Annual fee payment

Payment date: 20050824

Year of fee payment: 7

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 7

LAPS Lapse due to unpaid annual fee
PC1903 Unpaid annual fee

St.27 status event code: A-4-4-U10-U13-oth-PC1903

Not in force date: 20060919

Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

PC1903 Unpaid annual fee

St.27 status event code: N-4-6-H10-H13-oth-PC1903

Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

Not in force date: 20060919

P22-X000 Classification modified

St.27 status event code: A-4-4-P10-P22-nap-X000