[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

KR100268125B1 - 병렬 순환 여유도 검사(crc) 회로 - Google Patents

병렬 순환 여유도 검사(crc) 회로 Download PDF

Info

Publication number
KR100268125B1
KR100268125B1 KR1019970065672A KR19970065672A KR100268125B1 KR 100268125 B1 KR100268125 B1 KR 100268125B1 KR 1019970065672 A KR1019970065672 A KR 1019970065672A KR 19970065672 A KR19970065672 A KR 19970065672A KR 100268125 B1 KR100268125 B1 KR 100268125B1
Authority
KR
South Korea
Prior art keywords
crc
data
output
unit
bit
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.)
Expired - Fee Related
Application number
KR1019970065672A
Other languages
English (en)
Other versions
KR19990047315A (ko
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 KR1019970065672A priority Critical patent/KR100268125B1/ko
Priority to US09/203,191 priority patent/US6253346B1/en
Publication of KR19990047315A publication Critical patent/KR19990047315A/ko
Application granted granted Critical
Publication of KR100268125B1 publication Critical patent/KR100268125B1/ko
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

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)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

본 발명은 병렬 순환 여유도 검사(CRC)회로에 관한 것으로, 데이타의 안전한 전송을 위해 에러 유무를 검정하는 CRC 회로를 병렬로 구현하여 전체 시스템 동작 속도를 향상시킬 수 있도록 한 기술에 관한 것이다.

Description

병렬 순환 여유도 검사(CRC) 회로
본 발명은 병렬 순환 여유도 검사(Cyclic Redundancy Check : 이하 CRC 라 칭한다)회로에 관한 것으로, 데이타의 안전한 전송을 위해 에러 유무를 검정하는 CRC 회로를 병렬로 구현하여 전체 시스템 동작 속도를 향상시키는 기술에 관한 것이며, 이 기술은 디지탈 TV(DTV), 고화질 TV(HDTV), 주문형 비디오(VOD) 시스템, 영상회의 코덱 시스템 및 광대역 ISDN 단말기 코덱 시스템 등과 같은 데이타 에러 방지를 위한 코딩 방법을 필요로 하는 모든 시스템에 적용 가능한 기술이다.
일반적으로 데이타 전송시에는 데이타의 안전한 전송이 전제 되어야 한다.
이를 위해서는 반드시 에러 발생 유무를 판정하거나, 또는 복구 할수 있는 방법이 필요하며, 전송 데이타의 에러 유무를 검정하는 방법으로 간단하면서 논리적인 CRC 해석법이 사용되고 있다.
이는 비트 단위의 일렬로 전송되는 데이타를 여러 단의 딜레이 및 XOR 게이트를 사용하여 시리얼 하게 검정하는 방법으로써, 데이타의 분석량에 따라서 16차, 32차 등등 다양하게 수식이 전개 가능하다.
이와 같은 CRC 처리 회로의 동작 방식을 도 1을 참조하여 상세히 설명하면 다음과 같다.
도 1은 일반적인 32비트 CRC 회로를 나타내는 도면으로, CRC 회로는 비트 단위의 연산을 하며, 14 덧셈기(14 adder)s(1)와, 32 지연소자(32 delay elements)(2)로 구성된다.
이와 같은 구성으로 이루어지는 CRC 회로의 입력은 출력 z(31)과 더해져서 결과가 z(0) 및 기타 다른 덧셈기로 입력된다.
그리고 나머지 덧셈기의 입력은 지연소자(2) z(i)의 출력이고, 이 출력은 z(i+1)의 입력에 연결되어 있다. 이 회로에 대한 다항식을 표현하면 식 1과 같다.
〈식 1〉
x32 + x26 + x23 + x22 + x16 + x12 + x11 + x10 + x8 + x7 + x5 + x4 + x2 + x + 1
CRC 회로에 1 바이트 데이타가 입력되면, 각 바이트 데이타는 CRC 회로로 한 클럭에 1 비트 씩 쉬프트(Shift)되어 입력된다.
즉 최상위 비트가 입력되고 다음 최상위 비트 순서로 최하위 비트가 시리얼하게 입력되어 동작한다.
예로서 1바이트 데이타가 0x01일 때 7개의 0값이 입력되고 마지막 1 값이 입력되는 것이다.
CRC 회로의 동작에 앞서서 모든 지연소자(2) z(i) 는 초기값으로 1로 정의되며, 초기화 후 바이트 데이타는 CRC 회로로 입력이 된다.
32 비트 CRC 인코더 및 디코더의 기본 동작은 동일한 바, 인코더는 입력되는 데이타 정보에 32비트 CRC 정보, 즉 상기 32개 지연소자 z(i)의 값을 더하여 전송한다. 또한 디코더는 상기 회로에 CRC 정보가 포함된 모든 데이타를 처리하였을 때 32개 지연소자 z(i)의 값이 모두 0인지를 확인하여 데이타 전송시 에러가 발생하였는지를 검정한다.
그러나 상기와 같은 CRC 방법은 직렬로 데이타를 처리하기 때문에 전체 시스템 동작 속도를 저하시키는 단점이 있다.
즉, CRC 모듈을 제외한 시스템에서의 모든 데이타 처리는 병렬처리인데, CRC 회로 부분에서는 직렬 처리이기 때문에 전체 시스템 동작의 병목현상을 유발시키는 것이다.
본 발명은 상기에 기술한 바와 같은 종래 문제점을 감안하여, CRC 처리를 병렬로 수행하여 전체 시스템 동작 속도를 향상시키는 것을 목적으로 한다.
도 1 일반적인 32비트 CRC 기본 회로도.
도 2는 본 발명에 의해 구현된 CRC 회로도.
〈도면의 주요부분에 대한 부호의 설명〉
10 : 낸드 연산부 20 : CRC 로직부
30 : 래치부
상기와 같은 목적을 달성하기 위해 본 발명에서는 리셋신호를 입력받아 순환 여유도 검사(CRC) 처리 결과를 저장하는 수단을 초기화 시키고, CRC시작 신호를 입력받아 새로운 데이타를 처리할 때 마다 CRC 처리 회로를 초기화 하는 연산부와;
CRC 처리를 위한 데이타를 입력받아 제어로직에 따라 데이타를 처리한 후 출력하는 CRC 로직부; 및
상기 CRC 로직부에서 출력되는 현 데이타의 유효함을 알리는 인에이블 신호를 입력받아 저장되어 있던 데이타를 출력하는 래치부를 포함하여 구성하는 것을 특징으로 한다.
상술한 목적 및 특징들, 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이다. 이하 첨부된 도면을 참조하여 본 발명의 실시예를 상세히 설명하면 다음과 같다.
먼저 본 발명에서 구현하고자 하는 PTS, DTS 처리 회로의 구현 원리를 설명하면 하기와 같다.
모든 데이타 처리는 바이트 단위로 처리되기 때문에 CRC 처리회로도 한 바이트를 입력 받아 한 클럭에 처리하면 된다.
그러므로 한 바이트 정보가 입력되면 한 비트씩 시리얼하게 처리되는 과정을 모아 한 바이트가 완전히 입력된 후 누적된 결과를 합성한 회로를 사용하는 것이다.
상기와 같은 원리하에 구현된 본 발명의 병렬 CRC 발생회로의 전체 블록도를 보면 도 2에 도시된 바와 같이, 리셋신호를 입력받아 CRC 처리 결과를 저장하는 수단을 초기화 시키고, CRC시작 신호를 입력받아 새로운 데이타를 처리할 때 마다 CRC 처리 회로를 초기화 하는 낸드 연산부(10)와;
CRC 처리를 위한 데이타(IN_DATA[7:0])를 입력받아 제어로직에 따라 데이타를 처리한 후 출력하는 CRC 로직부(20); 및
상기 CRC 로직부(20)에서 출력되는 현 데이타의 유효함을 알리는 인에이블 신호(CRC_en)를 입력받아 저장되어 있던 데이타를 출력하는 래치부(30)를 포함하여 구성한다.
여기서 상기 CRC 로직부(20)는 XOR 게이트 로직부로, 출력 데이타를 상위 8비트(HCRC_DATA[31:24])와 하위 24비트(LCRC_DATA[23:0])로 분리하여 출력하도록 설계되어지는 바, 데이타를 분리하여 출력하는 이유는 본 출력이 플립플롭의 출력이기 때문에 한 클럭의 딜레이(Delay)가 발생할 수 있므로 응용에 따라서는 딜레이가 전혀 없어야 하는 경우가 발생할 수 있어, 이에 대처하고자 분리 출력한 것이다.
이에 따라 CRC 처리 결과를 바이트 단위로 삽입하고자 할때는 먹스(MUX)된 결과를 사용하여야 한다.
상기와 같이 구성된 본 발명의 CRC 회로 동작 과정을 설명하면, 초기 입력 데이타는 CRC 로직부(20)의 제어 로직을 통해 일련의 과정을 거친 후 상위 8비트와 하위 24비트로 분리되어 출력되는 바, 출력 비트 32비트 모두 래치부(30)로 입력되고, 동시에 상기 32비트 중 상위 8비트를 다른 경로로 하여 출력한다.
래치부(30)에서는 입력된 32비트 중 하위 24비트만 출력으로 보내고, 동시에 입력된 32비트 모두를 다시 CRC 로직부(20)로 피드-백 시켜 입력한다.
이에 따라 두번째 입력 데이타 처리에 있어서는 먼저 번 출력되었던 피드-백된 데이타와 일련의 연산을 통해 출력되게 된다.
한편, 상기 CRC 로직부(20)에서 처리하는 일련의 과정에 대해 설명하면, 본 발명에서는 CRC 로직부(20)와 래치부(30)에서 수행하는 작업을 C-언어를 사용하여 프로그램하고, 이를 다시 하드웨어적인 언어인 'VHDL'을 사용하여 작성한 다음 회로에 내장해 회로 동작을 제어하도록 하는 바, C-언어로 구현하려는 것은 다음과 같다.
먼저 래치부(30)에서 출력된 초기 데이타 값을 X라 가정하고, 현재 입력된 데이타를 D라 가정한 상태에서, 1비트 데이타 D가 CRC 로직부(20)에 입력되었을 때 래치부(30)로 입력되는 데이타는 이전 래치의 출력값인 X와 현재 입력된 데이타인 D의 XOR 연산 결과가 입력된다.
그러므로 이 식을 통해 최종 8비트 데이터가 입력되었을 때 X와 D의 관계를 이끌어 낼 수 있다.
이 유도된 결과를 이용하여 한 클럭에 8비트의 데이터를 입력시켜 똑같은 결과를 구할 수 있게된다. 이렇게 구한 X와 D의 XOR 연산 결과를 하드웨어 언어를 통해 구현하는 바, 여기서는 X가 래치부(30)의 출력이라 가정하고 D는 입력 8비트 데이터라 가정한다.
이와 같은 상태에서 상기 각 8비트에 대한 동작 중 마지막 비트의 CRC 동작이 끝나고 나서 트랜스포트 스트림 데이타를 생성하는 수단(도면에는 도시하지 않음)에 삽입할 경우에는 한 클럭 동안의 데이터 지연을 피하기 위해서 상위 8비트(PRE_CRC32_dout)는 래치부(30)를 거치지 않고 곧바로 출력되도록 하고, 하위 24비트는 래치부(30)를 통해 출력되도록 프로그램 한다.
상기와 같은 과정을 통해 CRC 동작을 수행하게 되면 1바이트에 대해 병렬 CRC를 수행하는 결과를 얻을 수 있다.
이상에서 상세히 설명한 바와 같이 본 발명은 데이타 전송 시 발생 가능한 에러의 발생 여부를 검정하는 CRC 방법을 병렬로 구현하므로서, 전체 시스템 동작을 향상 시킬 수 있으며. 동작 속도를 전체 시스템에 동기 시킬 수 있는 잇점을 수반한다.
아울러 본 발명의 바람직한 실시예는 예시의 목적을 위해 개시된 것이며, 당업자라면 본 발명의 사상과 범위안에서 다양한 수정, 변경, 부가등이 가능할 것이며, 이러한 수정 변경 등은 이하의 특허 청구의 범위에 속하는 것으로 보아야 할 것이다.

Claims (1)

  1. 리셋신호를 입력받아 순환 여유도 검사(CRC) 처리 결과를 저장하는 수단을 초기화 시키고, CRC 시작 신호를 입력받아 새로운 데이타를 처리할 때 마다 CRC 처리 회로를 초기화 하는 연산부와; XOR 게이트 로직으로 설계하되, 제어로직은 한 클럭에 처리하고자 하는 비트 수에 대해 동일 루프를 반복처리하도록 구현하여, CRC 처리를 위한 데이타를 입력받아 상기 제어로직에 따라 데이타를 처리한 후 출력하는 CRC 로직부; 및 상기 CRC 로직부에서 출력되는 현 데이타의 유효함을 알리는 인에이블 신호를 입력받아 저장되어 있던 데이타를 출력하는 래치부를 포함하여 구성하되; 상기 CRC 로직부의 출력은 플립플롭의 사용으로 인한 딜레이를 방지하기 위해 모든 출력데이터를 상기 래치부로 출력함과 동시에 상기 모든 출력데이터 중 일부 데이터는 래치부를 통과시키지 않고 직접 출력단으로 출력되도록 하고; 상기 래치부의 출력은 플립플롭의 사용으로 인한 딜레이를 방지하기 위해, 상기 입력된 모든 데이터를 상기 CRC 로직부로 피드백시킴과 동시에 상기 출력데이터 중 일부 데이터를 제외한 데이터만을 출력단으로 출력되도록 구현하므로써, CRC 처리를 병렬 수행하는 것을 특징으로 하는 병렬 순환 여유도 검사(CRC) 회로.
KR1019970065672A 1997-11-29 1997-12-03 병렬 순환 여유도 검사(crc) 회로 Expired - Fee Related KR100268125B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1019970065672A KR100268125B1 (ko) 1997-12-03 1997-12-03 병렬 순환 여유도 검사(crc) 회로
US09/203,191 US6253346B1 (en) 1997-11-29 1998-11-30 Data transmission circuit having cyclic redundancy check circuit and data rate control circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970065672A KR100268125B1 (ko) 1997-12-03 1997-12-03 병렬 순환 여유도 검사(crc) 회로

Publications (2)

Publication Number Publication Date
KR19990047315A KR19990047315A (ko) 1999-07-05
KR100268125B1 true KR100268125B1 (ko) 2000-10-16

Family

ID=19526370

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970065672A Expired - Fee Related KR100268125B1 (ko) 1997-11-29 1997-12-03 병렬 순환 여유도 검사(crc) 회로

Country Status (1)

Country Link
KR (1) KR100268125B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100456460B1 (ko) * 2001-12-19 2004-11-10 한국전자통신연구원 전화선 모뎀에서의 프레임 헤더 오류 검출 장치
US7890835B2 (en) 2005-09-12 2011-02-15 Samsung Electronics Co., Ltd. Cyclic redundancy check circuit and communication system having the same for multi-channel communication

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR960027922A (ko) * 1994-12-20 1996-07-22 양승택 에이에이엘 타입5(AAL Type 5) 서비스를 위한 순방향 에러제어의 병렬처리 장치

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR960027922A (ko) * 1994-12-20 1996-07-22 양승택 에이에이엘 타입5(AAL Type 5) 서비스를 위한 순방향 에러제어의 병렬처리 장치

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100456460B1 (ko) * 2001-12-19 2004-11-10 한국전자통신연구원 전화선 모뎀에서의 프레임 헤더 오류 검출 장치
US7890835B2 (en) 2005-09-12 2011-02-15 Samsung Electronics Co., Ltd. Cyclic redundancy check circuit and communication system having the same for multi-channel communication

Also Published As

Publication number Publication date
KR19990047315A (ko) 1999-07-05

Similar Documents

Publication Publication Date Title
US5844923A (en) Fast framing of nude ATM by header error check
KR100427846B1 (ko) 위성전송시스템수신기의동기성분검출장치
KR100376822B1 (ko) 패킷화된데이터스트림의동기화및에러검출을위한장치및방법
US5477551A (en) Apparatus and method for optimal error correcting code to parity conversion
EP1014589A2 (en) A variable length codeword decoder
JPH04284753A (ja) Crc演算方法及びatm交換方式におけるhec同期装置
US5570377A (en) Method and device for detection and correction of errors in ATM cell headers
KR960043552A (ko) 에러정정 부호화 복호화방법 및 이 방법을 사용하는 회로
JPS63123232A (ja) 単一ビットの誤り検出方法とそれを用いた算術デコ−ダ
US6606328B1 (en) Look ahead encoder/decoder architecture
US5852639A (en) Resynchronization apparatus for error correction code decoder
US4476458A (en) Dual threshold decoder for convolutional self-orthogonal codes
KR100268125B1 (ko) 병렬 순환 여유도 검사(crc) 회로
EP1150435A1 (en) Apparatus for performing Euclid's algorithm depending on the coefficients of the syndrome polynomial
US6253346B1 (en) Data transmission circuit having cyclic redundancy check circuit and data rate control circuit
US7103827B2 (en) Method and apparatus for detecting start position of code sequence, and decoding method and apparatus using the same
US5146462A (en) System and devices for transmitting signals consisting of data blocks
US4531211A (en) Multiplexer for bit oriented protocol data link control
US6831702B1 (en) Method of and apparatus for identifying a signal transmitting source
US6188438B1 (en) Method of and apparatus for identifying a signal transmitting source
JPH11168479A (ja) Dss方式におけるサンプル値抽出装置およびその方法
US6707396B2 (en) Device and method for parallel processing implementation of bit-stuffing/unstuffing and NRZI-encoding/decoding
JP3327869B2 (ja) 最小マッチ長が3のプリマッチストリングマッチアレイ
JPH06252874A (ja) ワード同期検出回路
US7139289B2 (en) Device and method for error and sync detection

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 19971203

PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 19971203

Comment text: Request for Examination of Application

PG1501 Laying open of application
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 19991209

Patent event code: PE09021S01D

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

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20000630

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20000711

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20000712

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PR1001 Payment of annual fee

Payment date: 20030627

Start annual number: 4

End annual number: 4

PR1001 Payment of annual fee

Payment date: 20040702

Start annual number: 5

End annual number: 5

PR1001 Payment of annual fee

Payment date: 20050706

Start annual number: 6

End annual number: 6

PR1001 Payment of annual fee

Payment date: 20060630

Start annual number: 7

End annual number: 7

PR1001 Payment of annual fee

Payment date: 20070702

Start annual number: 8

End annual number: 8

PR1001 Payment of annual fee

Payment date: 20080708

Start annual number: 9

End annual number: 9

PR1001 Payment of annual fee

Payment date: 20090708

Start annual number: 10

End annual number: 10

FPAY Annual fee payment

Payment date: 20100708

Year of fee payment: 11

PR1001 Payment of annual fee

Payment date: 20100708

Start annual number: 11

End annual number: 11

LAPS Lapse due to unpaid annual fee
PC1903 Unpaid annual fee