비트 스터핑

Bit stuffing

데이터 전송통신에서 비트 스터핑비정보 비트데이터에 삽입하는 것입니다.봉제 비트는 오버헤드 비트와 혼동하지 마십시오.

비트 스터핑은 동일하거나 합리적으로 관련되지 않은 비트스트림을 공통 레이트로 끌어올리거나 버퍼 또는 프레임채우는 등 다양한 목적으로 사용됩니다.스터핑 비트의 위치는 데이터 링크의 수신 측으로 전달됩니다.여기서 이들 추가 비트가 삭제되어 비트스트림이 원래 비트레이트 또는 형식으로 돌아갑니다.비트 스터핑은 멀티플렉스 전에 여러 채널을 동기화하거나 두 개의 단일 채널을 서로 레이트 매칭하는 데 사용할 수 있습니다.

비트 스터핑의 또 다른 용도는 실행 길이 제한 부호화입니다. 즉, 전송되는 데이터에서 동일한 값의 연속 비트 수를 제한하는 것입니다.연속되는 최대 허용 비트수 뒤에 반대 값의 비트가 삽입된다.이것은 일반적인 규칙이기 때문에 리시버는 디 스터핑을 수행하기 위해 스터핑 비트의 위치에 대한 추가 정보를 필요로 하지 않습니다.이는 신뢰성 높은 수신을 보장하기 위해 추가 신호 전환을 생성하거나 데이터에 포함된 경우 프레임 동기 시퀀스 등의 특별한 예약된 코드 워드를 이스케이프하기 위해 수행됩니다.

5개의 동일한 비트 이후 CAN에 비트 스터핑이 있습니다.

비트 스터핑은 payload가 온전하다는 것을 보증하는 것이 아닙니다(즉, 전송 오류로 인해 손상되지 않음). 전송이 올바른 장소에서 시작 및 종료되도록 하기 위한 수단일 뿐입니다.에러 검출수정 기술은, 프레임의 전달 후에 파손이 없는지를 체크하기 위해서 사용됩니다.필요에 따라서 프레임은 재발송됩니다.

제로비트 삽입

NRZI 부호화 방식에서는 신호 천이로0 비트가 전송되고 변경되지 않음1 비트가 전송됩니다.이 경우 비트 스터핑은 1비트의 롱런 후 0비트를 삽입하는 것으로 가장 쉽게 설명됩니다.

IBM의 SDLC(나중에 HDLC로 명칭 변경)에 의해 대중화되었으며 저속 및 풀 스피드 USB에도 사용됩니다.

1비트의 긴 시퀀스를 실행한 후에는 전송된 데이터에 천이가 발생하지 않으며, 송신기와 수신기의 클럭이 동기화되지 않을 수 있습니다.트랜스미터는 0 after 5(SDLC) 또는 6(USB) 연속1비트를 삽입함으로써 전환 사이에 최대 6(SDLC) 또는 7(USB)비트 회수를 보증합니다.수신기는 적절한 데이터 복구를 보장하기 위해 클럭을 전환과 동기화할 수 있습니다.

SDLC에서는 인접한6비트를 포함한 송신 비트시퀀스 「011110」이 플래그 바이트입니다.비트 스터핑은 이 패턴이 일반 데이터에서는 발생하지 않도록 하기 때문에 일반 [1]데이터와 혼동되지 않고 프레임의 시작과 끝의 마커로 사용할 수 있습니다.

비트 스터핑의 주요 단점은 코드 레이트를 예측할 수 없다는 것입니다. 전송되는 데이터에 따라 다릅니다.

출처 : MIL-STD-188을 지원하는 연방표준 1037C에서 작성.

「 」를 참조해 주세요.

메모들

  1. ^ 케빈 R.Fall and W. Richard Stevens, TCP/IP 일러스트레이티드 1권: The Protocols, Second Edition, Adison-Wesley, 2012, Kindle Edition loc 3505