KR20000008340A - 다항식 레지스터를 갖는 순환부호계산기 - Google Patents

다항식 레지스터를 갖는 순환부호계산기 Download PDF

Info

Publication number
KR20000008340A
KR20000008340A KR1019980028108A KR19980028108A KR20000008340A KR 20000008340 A KR20000008340 A KR 20000008340A KR 1019980028108 A KR1019980028108 A KR 1019980028108A KR 19980028108 A KR19980028108 A KR 19980028108A KR 20000008340 A KR20000008340 A KR 20000008340A
Authority
KR
South Korea
Prior art keywords
data
polynomial
crc
register
transmission
Prior art date
Application number
KR1019980028108A
Other languages
English (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 KR1019980028108A priority Critical patent/KR20000008340A/ko
Publication of KR20000008340A publication Critical patent/KR20000008340A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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 Prevention Of Errors In Transmission (AREA)
  • Communication Control (AREA)

Abstract

본 발명은 다항식 레지스터를 갖는 CRC에 관한 것으로, 순환부호계산기에 서 송신 프로토콜과 송신 데이터에 따라 수정 가능한 생성다항식을 가지는 레지스터를 포함하여 송신 데이터에 대한 오류 검출을 정확하고 효율적으로 수행할 수 있다.

Description

다항식 레지스터를 갖는 순환부호계산기
본 발명은 순환부호계산기(cyclic redundancy check: 이하 'CRC'라 칭함)에 관한 것으로서 더욱 상세하게 말하자면 다항식 레지스터를 갖는 CRC에 관한 것이다.
데이터 통신에서 송신측과 수신측이 서로 에러없는 데이터를 교환하는 것은 데이터 통신의 가장 큰 목표 중의 하나이다. 여기서 개방형 시스템 사이의 통신을 가능하게 하는 개방형 시스템간 상호접속(Open System Interconnection,이하 'OSI'라 칭함) 참조모델 중에서 하위 프로토콜(protocol)를 구성하는 물리적 계층(physical layer)과 데이터 링크 계층(data link layer)에 대해 살펴본다.
OSI 참조모델은 국제표준화기구(International Standards Organszation : 이하 ISO라 칭함)와 국제전신전화자문위원회(이하 CCITT라 칭함)가 협력하여 개발을 추진한 국제표준의 통신망 구조로서, 크게 하위 계층의 프로토콜과 상위 계층의 프로토콜로 구분할 수 있다.
하위 계층의 프로토콜에는 물리 계층, 데이터 링크 계층, 네트워크 계층(network layer) 및 트랜스포트 계층(transport layer)이 있고 상위 계층의 프로토콜에는 세션 계층(session layer), 표현 계층(presentation layer) 및 응용 계층(application layer)이 있다.
물리 계층은 데이터 링크 계층으로부터의 데이터 전송요구에 따라 물리매체간의 물리적인 인터페이스와 비트를 전송하고 수신한다. 전송로에는 여러 가지 종류가 있는데 이 물리 계층에 의해 단말장치는 전송로의 물리적인 성질을 인식하지 않고 데이터를 송수신할 수 있다. 이 계층은 기계적, 전기적 특성을 가지며 잘 알고 있는 RS-232C 인터페이스나 V.24가 이 물리 계층의 규격이다.
데이터 링크 계층은 논리 네트워크에서 물리적 링크의 신뢰도를 높여 데이터를 정확하고 원활하게 전송하는 역할을 갖는다. 이것을 위해서 이용하는 통신로를 데이터 링크라고 한다. 데이터를 전송하는 단말장치는 우선 상대방 단말장치와의 사이에 데이터 링크를 만들고 HDLC순서나 기본 데이터 전송절차(basic mode control procedure)를 이용하여 데이터전송을 실행한다.
따라서, 송신측의 데이터 링크 계층의 데이터 전송요구에 의해 특정 데이터가 송신측의 물리 계층을 경유해서 수신측의 물리 계층에 도달한다. 그 다음 수신측의 물리 계층에 도달된 데이터는 다시 수신측의 데이터 링크 계층에 도달한다.
이러한 방법으로 전송된 데이터가 수신측의 데이터 링크 계층에 전달되면 데이터 링크 계층에선 수신된 데이터의 에러 유무를 판단해서 상위 계층인 네트워크 계층으로 데이터를 전달한다. 이때, 수신측의 데이터 링크 계층에서 수신된 데이터를 오류 유무를 판단하는 방법으로 CRC가 사용된다.
CRC는 다항식 부호를 사용하여 오류를 검사하는 방식으로서, 패리티 검사나 군계수 검사가 전송로 특유의 연속한 집단오류(burst error)에 신뢰할만한 오류검출 기능을 제공하지 못하는 것을 극복하기 위한 것이다.
이 방식은 패리티 검사와 같이 각 문자마다 잉여 비트를 붙일 필요는 없으나, 프레임의 실제내용에 의해 계산되는 FCS(Frame Check Sequence)를 프레임 끝에 추가하여 전송한다. FCS는 BCC(Block Check Character)라 부르기도 하는데, FCS의 계산을 위해서는 생성다항식이 필요하며 6비트의 경우에는 CRC-12 또는 CRC-CCITT가 적용되고 쉬프트 레지스터의 길이는 검사용 비트의 2배가 된다.
이러한 CRC 방식을 수행하기 위한 종래의 방식은 다음과 같다.
첫째, 송신데이터를 변환하고, 둘째, 변환된 데이터에 대한 CRC 부호를 작성한다. 셋째, 변환된 데이터에 CRC 부호를 부가하여 송신하면 넷째, 수신측에서 데이터를 검사하여 오류를 검출한다. 여기서 데이터의 변환은 논리연산의 곱셈으로 수행하고, 수신데이터는 나눗셈으로 행하여지는데, 이 나눗셈의 나머지가 있으면 오류가 있는 것으로 재전송을 요구하게 되고 없으면 오류가 없는 것으로 판정한다.
즉, 송신측이 보낸 데이터에 대해 나눗셈 계산을 한 후, 이미 정해진 값이 산출되면 오류 없이 전송된 경우이고 아니면 오류 발생을 알려주는 것이다. 이때 송신측과 수신측은 이미 정해진 생성다항식 코드(여기서는 'G(X)'라 칭함)를 알고 있다. 시스템에 따라 고정된 생성 다항식 G(X)의 형식으로서 CRC-12, CRC-16, CRC-CCITT 등이 있고 다음과 같다.
CRC-12 : G(X) = X12+X11+X3+ X2+ X1+ 1
CRC-CCITT : G(X) = X16+ X12+ X5+ 1
CRC-16 : G(X) = X16+ X15+ X2+ 1
송신측이 메시지(여기서는 'M(X)'라 칭함)를 보내고자 하는 경우에는 G(X)로 원래의 데이터 코드를 나우어서 남는 나머지(여기서는 'R(X)'라 칭함)를 원래의 데이터에 추가하여 M(X) + R(X)의 형식으로 전송한다. 수신측에서는 M(X) + R(X)를 G(X)로 나누어서 이미 정해진 값이 나오면 오류가 없이 전송된 것을 알 수 있다. 송신측과 수신측이 미리 알고 있는 다항식은 시스템에 따라 달라지나 고정되어 있다. 따라서, 송신측이 데이터를 전송할 때 송신 프로토콜을 변경하거나 송신 데이터 형식을 변경하는 경우에 시스템에 고정된 CRC는 정확하게 오류 검출을 할 수 없다는 문제점이 있다.
따라서, 본 발명의 과제는 CRC에 다항식 레지스터를 두어 필요에 따라 다항식 레지스터의 생성다항식을 수정함으로써 정확한 CRC 계산을 가능하게 하는데 있다.
도1은 본 발명의 실시예에 따른 다항식 레지스터를 갖는 순환부호계산기의 블럭도이다.
상기 과제를 달성하기 위한 수단으로써 본 발명의 동작은, 순환부호계산기에 서 송신 프로토콜과 송신 데이터에 따라 수정 가능한 생성다항식을 가지는 레지스터를 포함하는 것을 특징으로 한다. 여기서, 레지스터는 수정가능한 휘발성 메모리인 것을 특징으로 한다.
도1은 본 발명의 실시예에 따른 다항식 레지스터를 갖는 순환부호계산기의 블록도이다. 본 발명은 다항식 레지스터(210)와 순환부호계산기(220)로 이루어진다. 송신측(100)이 메시지 M(X)를 보내면 순환부호계산기(220)는 M(X)에 따라 다항식 레지스터를 적당한 생성다항식 G(X)으로 수정한다. 따라서, 다항식 레지스터(210)는 위에서 설명한 CRC-12, CRC-16, CRC-CCITT와 CRC-32로 수정될 수 있다. 송신측(100)이 BSC(Binary Synchronous Control) 프로토콜을 사용하여 메시지 M(X)를 전송하면 다항식 레지스터(210)는 CRC-16에 해당하는 생성 다항식 G(X)로 수정되고 순환부호계산기(220)는 이를 입력받아 동작한다. 또한, 송신측(100)이 HDLC(High-level Data Link Control) 프로트콜을 사용하면 다항식 레지스터(210)는 CRC-CCITT에 해당하는 생성 다항식 G(X)로 수정된다. 송신측(100)이 랜(LAN)을 사용하여 M(X)를 송신하면 CRC-32에 해당하는 생성 다항식 G(X)를 가지고 다항식 레지스터(210)를 수정한다.
송신측(100)이 송신 데이터를 프로토콜에 따라 변환하고, 변환된 데이터에 대한 CRC 부호를 작성한다. 송신측(100)이 변환된 데이터에 CRC 부호를 부가하여 M(X)를 송신한다. 위에서 설명한 바와 같이 송신측(100)이 보낸 M(X)에 따라 수신측(200)의 다항식 레지스터(210)는 수정된다. 수정된 다항식 레지스터(210)가 출력하는 생성 다항식 G(X)에 따라 순환부호계산기(220)는 오류를 검출한다. 여기서, 데이터의 변환은 논리연산의 곱셈으로 수행하고, 수신데이터는 나눈셈으로 행하여진다. 이러한 순환부호계산기(220)가 수행한 결과는 수신측(200)의 제어부(230)로 출력되고, 제어부(230)는 나눗셈의 나머지가 있으면 오류가 있는 것으로 재전송을 요구하게 되고 나머지가 없으면 오류가 없는 것으로 판정한다.
본 발명은 순환부호계산기가 생성다항식을 위한 다항식 레지스터를 사용하는 것에 한정되지 않고 생성다항식을 수정할 수 있는 휘발성 메모리, 예컨대 램 등을 사용하여 구현할 수 있다. 또한, 본 발명은 송신 프로토콜이나 송신 데이터에 따라 생성다항식을 수정하였으나 다양한 생성다항식을 미리 저장하고 필요에 따라 선택하는 방법도 사용될 수 있다.
이상에서 본바와 같이, 본 발명에 의하면 오류 검출의 정밀도와 관련된 생성 다항식을 송신 프로토콜이나 송신 데이터에 따라 시스템에 변경하여 적용함으로써 송신 데이터에 대한 오류 검출을 정확하고 효율적으로 수행할 수 있다.

Claims (2)

  1. 순환부호계산기에 있어서,
    송신 프로토콜과 송신 데이터에 따라 수정 가능한 생성다항식을 가지는 레지스터를 포함하는 것을 특징으로 하는 임의의 다항식에 적용가능한 순환부호방식 계산기
  2. 제1항에서,
    상기 레지스터는 수정가능한 휘발성 메모리인 것을 특징으로 하는 임의의 다항식에 적용가능한 순환부호방식 계산기.
KR1019980028108A 1998-07-13 1998-07-13 다항식 레지스터를 갖는 순환부호계산기 KR20000008340A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019980028108A KR20000008340A (ko) 1998-07-13 1998-07-13 다항식 레지스터를 갖는 순환부호계산기

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019980028108A KR20000008340A (ko) 1998-07-13 1998-07-13 다항식 레지스터를 갖는 순환부호계산기

Publications (1)

Publication Number Publication Date
KR20000008340A true KR20000008340A (ko) 2000-02-07

Family

ID=19543932

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980028108A KR20000008340A (ko) 1998-07-13 1998-07-13 다항식 레지스터를 갖는 순환부호계산기

Country Status (1)

Country Link
KR (1) KR20000008340A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101110625B1 (ko) * 2005-03-09 2012-02-16 삼성전자주식회사 전송 데이터의 무결성 검사 방법 및 수단

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101110625B1 (ko) * 2005-03-09 2012-02-16 삼성전자주식회사 전송 데이터의 무결성 검사 방법 및 수단

Similar Documents

Publication Publication Date Title
EP1190520B1 (en) System and method for implementing hybrid automatic repeat request using parity check combining
US7003712B2 (en) Apparatus and method for adaptive, multimode decoding
KR100730715B1 (ko) 통신 시스템에서의 유연한 에러 보호 방법
KR0175111B1 (ko) 에러정정장치 및 방법
CA2468919A1 (en) Error detection code generating method and error detection code generator
CN1249599A (zh) 经无线电信系统传送电传信号的装置和方法
KR20100019562A (ko) 송신 장치 및 통신 시스템
CN109428676B (zh) 一种前向纠错编解码模式的同步方法及装置
KR100224386B1 (ko) 무선국 및 신호송수신방법
KR20000008340A (ko) 다항식 레지스터를 갖는 순환부호계산기
JP3237700B2 (ja) 誤り検出方法及び誤り検出システム
KR20050086541A (ko) 향상된 통신 프로토콜을 사용하는 통신 방법, 통신 시스템및 단말기
JP3217716B2 (ja) 無線パケット通信装置
EP0441041A2 (en) Method and apparatus for generating a 48-bit frame check sequence
RU2259636C1 (ru) Способ передачи сообщений в системе с обратной связью
JPH11252205A (ja) パケット伝送無線装置及びネットワーク端末装置
KR100673692B1 (ko) 패리티 블록코드를 이용한 오류 복구방법
JP3053709B2 (ja) 信号生成装置および方法
JP2008154087A (ja) 通信装置及び通信制御方法
JP2006522513A (ja) 増加的冗長性なしの誤り率を決定するための方法及び測定装置
KR100374833B1 (ko) 론토크 홈 네트워크에서의 신뢰성 확인방법
JP2001333048A (ja) データ転送方式
KR20020033227A (ko) 데이터 통신을 위한 병렬 중복순환 검사회로
JP2006345475A (ja) ネットワークのデータ伝送用エラー検出・訂正アーキテクチャ及び方法
JPH07131461A (ja) Atm通信におけるヘッダ制御方式

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination