답변:
여분의 정지 비트는 특히 높은 전송 속도 및 / 또는 수신 된 바이트를 처리하는 데 시간이 필요한 소프트 UART를 사용하여 약간의 추가 수신 처리 시간을 추가하는 유용한 방법이 될 수 있습니다.
속도가 빡빡하고 UART가 2의 거듭 제곱 비율 만 제공하는 경우 추가 정지 비트를 추가하면 다음 최저 전송 속도보다 속도가 크게 감소하지 않을 수 있습니다.
이것이 DMX512 표준이 2 정지 비트를 지정하는 이유 중 하나라고 생각합니다.
유용 할 수있는 또 다른 상황은 버퍼링이나 패킷 화없이 데이터 스트림을 전달하는 장치가있는 경우입니다. 노드 간의 클록 속도와 유한 샘플링 입도의 작은 차이로 인해 데이터가 여러 노드에서 수신되고 재전송 될 때 오류가 발생할 수 있습니다. 체인이지만 데이터가 2 개의 정지 비트와 함께 전송되고 수신자가 하나의 정지 비트로 설정된 경우, 이러한 오류를 수용하고 체인의 가장 아래쪽에있는 노드가 안정적으로 수신 할 수 있도록 하나 이상의 유효한 정지 비트 기간을 남겨두기 위해 충분한 여유를 추가합니다.
또한 케이블 길이가 매우 길어 상승 및 하강 시간에 비대칭 성이 발생하여 스톱 비트 길이가 부적절하게 발생하는 상황을 언급했습니다.
오래 전부터 프린터는 (거의) 모든 기계적인 구조였습니다. Baudrates는 그때도 다소 표준화되었으므로 정지 비트를 추가하면 프린터가 문자를 인쇄하는 데 약간의 시간이 더 걸립니다. 타이밍 측면은 그때보다 더 눈에 띄게 나타났습니다. 첫 번째 프린터 인 시끄러운 http://en.wikipedia.org/wiki/Teletype_Model_33의 경우 캐리지 리턴을 보낸 후 두 문자의 일시 중지를 삽입해야했습니다.
두 개의 정지 비트는 정지 시간의 비율이 상당하고 장비 내부 또는 몇 미터의 주변 장치 인터페이스와 같은 저잡음 (낮은 BER) 환경에서 작동하는 시스템에서 하나보다 훨씬 유용하지는 않습니다. 케이블 모뎀 및 / 또는 모뎀 모뎀 단이 없습니다.
2 개의 정지 비트는 동기화 시간을 늘리고 문자 간 처리에 더 많은 시간을 제공하며 하드웨어와 알고리즘에 따라 연속적인 데이터 스트림 동안 동기화를 얻거나 다시 얻을 가능성이 높아집니다. 최신 시스템에서는 클럭 속도가 느리고 프로세서 처리량이 낮을 때보 다 문자 시간이 훨씬 저렴합니다.
본질적으로 연속적인 데이터 스트림이있는 경우 동기화되지 않으면 높은 비트는 정지 비트처럼 보입니다. 높은 낮은 전이는 바이트 경계처럼 보입니다. 수신기가 10 경계에서 시작하고 실제 시작 경계가 아닌 경우 이는 시간의 50 % 만 발견됩니다) (예 : 최종 "정지 비트"가 실제로 낮은 데이터 비트 인 경우 평균적으로 바이트 경계의 1/4이 1/0이고 스톱 / 스타트 쌍처럼 잘못 보이는 경우가 있습니다. 위의 경우 잘못된 스톱을 선택하면 쌍을 시작하면 다음 시도에서 다른 것을 선택할 확률이 약 50 % 일 것입니다.
2 개의 정지 비트 (11)를 사용하는 경우 유효한 정지 시작 시퀀스는 110이며 임의의 데이터 트래픽에서 1/8 번째 확률이 발생합니다. 동기화되지 않은 흐름에서 순 정지 및 시작 비트의 혼합은 sats를 약간 변경하지만 한 사이클에서 잘못된 110 정지 / 시작 시퀀스를 얻는 경우 순정 110을 넘어 뜨리기 전에 다음 시도를 다시 시도 할 가능성이 비교적 낮습니다. 다음에 일어나는 순서.
참고로 1 정지 비트는 8/10 = 80 % 최대 처리량을, 2 정지 비트는 8/11 = 72 % 효율을 생성합니다. 완전 한계에서의 처리량의 차이는 80 % / 72 % = ~ 11 % 더 큽니다. 이것은 극한 상황에서 유용한 이득이지만 방대하지는 않으며 회로가 시간의 약 10 % 이상 유휴 상태이면 최소값입니다. 회로에 노이즈가 있고 가끔 동기화 손실이 발생하는 경우 추가 정지 비트가 많은 도움이 될 수 있습니다. 그러나 처리량에 관심이 많은 경우 전송 속도를 높이거나 (항상 그런 것은 아님) 완전히 동기화 된 작업으로 변경할 수 있습니다.
"soft UART"를 사용하여 수신 시간에 대한 mikeselectricstuff의 요점을 증폭시키기 위해 데이터 수신 시점을 항상 알고 폴링 기반으로 수신하는 수신 애플리케이션은 종종 인터럽트 구동 소프트 UART보다 실용적인 것보다 빠른 전송 속도를 처리 할 수 있습니다. 그러나 이러한 응용 프로그램은 한 바이트의 정지 비트 시작과 다음 바이트의 시작 비트 사이의 시간 동안 들어오는 데이터 만 처리 할 수 있습니다. 각 바이트를 처리하는 데 필요한 시간은 결국 통신 속도의 제한 요소가됩니다. 115,200-N-8-2에서 데이터를 처리하는 것은 57,600-N-8-1에서 데이터를 처리하는 것보다 훨씬 까다 롭지 않지만 80 % 이상 빠릅니다.
때로는 효율적이지 않은 것처럼 보이는 데이터 형식을 사용하여 더 많은 것을 추진할 수 있습니다. 예를 들어, 각각의 바이트를 2 개의 조각으로 보낼 수 있습니다. 하나는 7 비트이고 다른 하나는 1입니다 (1 비트 부분의 MSB는 모두 설정 됨). 하나의 스톱 비트만으로도 그렇게하면 하나의 바이트 쌍의 끝과 다음 바이트의 시작 사이에 8 비트 시간의 마킹이 발생하여 비트 레이트를 어느 것보다 4 배 높게 밀어 넣을 수 있습니다 두 개의 정지 비트만으로도 가능합니다 (하나로 할 수있는 것의 8 배). 2 배 많은 바이트를 보내야하더라도 데이터 속도가 4 배 증가하면 큰 승리를 거둘 수 있습니다. 또한, 각각의 전송 된 바이트 쌍이 8 비트의 데이터를 전송하는 데 사용될 수 있지만, 256 개의 가능한 바이트 값 중 130 개만이 인코딩에 의해 사용됩니다.
옛날 옛적에 텔레타이프 (teletype)라고 불리는 전기 기계 괴물이있었습니다. 대부분은 전력선 주파수와 동기화 된 AC 모터에서 작동했습니다. 따라서 두 대의 통신 시스템이 동일한 전력망에 동기화되지 않았거나 해당 문제에 대해 서로 다른 주파수를 사용하여 교류로 실행되지 않았을 가능성이 항상있었습니다.
따라서, 더 느린 기계가 캐치 업 (catch-up)되고 동기에서 벗어나지 않도록하기 위해, 2 개의 정지 비트가 전송되었다.
인쇄 캐리지가 새로운 줄의 시작 부분으로 돌아갈 수 있도록하는 것과 같은 다른 목적으로, CR, LF 및 두 개의 루브 (8 개 레벨 테이프의 모든 구멍)가 전송되었습니다.
110 Baud의 속도로 작동하는 회로에 대해서만 관례였습니다.
수신 기계 장치의 속도 저하가 여분의 정지 비트를 추가 한 이유 였지만 오늘날의 장치는 충분히 빠르며 추가 정지 비트가 없어도 훨씬 높은 전송 속도로 작동합니다.