시리얼 통신에서의 에러 검출
시리얼 통신 간에 에러 검출을 위해 사용하는 방법은 여러가지가 있지만, 간단하면서 가장많이 쓰이는 방식이 Parity bit에 의한 방법과 Check-sum에 의한 방식이 있다.

  • Parity bit에 의한 방법
    데이터에서 2 비뜨 또는 4 비트 등의 여러 비트가 바뀌게 되는 것은 검출하기 어려움

  • Check-sum에 의한 방법
    하나의 바이트에서 +1 에러와 -1 에러가 동시에 발생할 경우에는 에러를 검출할 수 없음

위의 문제점으로 인해 시리얼 통신에서 가장 보편적으로 사용되는 것이 CRC 이다.  


CRC의 개요
CRC는 Cyclical Redundancy Check의 약어로 순환 중복 검사이다. CRC는 수신 데이터의 에러 여부를 확인하는 에러 검출을 한다. CRC는 하드웨어 구현이 쉽고, 데이터 전송 과정에서 발생하는 오류를를 검출하는 데 탁월하다. 

CRC는 간단한 용도로 사용하기 위한 16비트 다항식을 이용하는 CRC-16과 정확한 에러 검출이 필요한 경우에 사용하기 위한 32비트 다항식을 이용하는 CRC-32가 있다. 

ITU-T는 송신블록에 부가될 코드를 얻는 데 사용되는 CRC-16을 표준화하였다. CRC-16은 두 개의 비트가 에러가 난 것을 포함하여 일어날 수 있는 모든 에러에 대하여 99.998% 검출을 보장한다. 이 정도는 4 KB 이하의 데이터 블록 전송에는 충분하지만, 그 이상의 대량 전송에는 CRC-32를 사용한다. 

CRC-32는 계산 시간이 길어 고성능 PC급 이상상에서 사용한다. 


'통신 이론' 카테고리의 다른 글

보코딩  (0) 2014.01.28
PCM의 다양한 변조 (DM, DPCM, ADM, ADPCM)  (4) 2014.01.28
dB의 이해  (0) 2014.01.27
소스 코딩과 채널 코딩  (0) 2014.01.26
부호간 상호 간섭 (ISI)  (4) 2014.01.26

+ Recent posts