Co w tym kontekście oznacza „pół bit”?

21

W specyfikacji RS-232 bitami stopu mogą być 1, 1,5 lub 2 bity stopu ... Zastanawiam się, jak można mieć pół bitu?

Również niektóre matematyki ADC wykorzystują precyzję 0,5-bitową w specyfikacji IC / arkuszu danych. Czy ktoś może rozwinąć ten temat?

mFeinstein
źródło

Odpowiedzi:

18

Zastanawiam się, jak to możliwe, aby mieć pół troszkę?

W asynchronicznej komunikacji szeregowej opartej na UART (której przykładem jest RS232), bajt szeregowy danych jest „zamknięty” w bicie początkowym i bitach bitowych. Po bicie stopu występuje przerwa przed następnym bajtem danych i przerwa ta może być traktowana jako rozszerzenie bitów bitów:

wprowadź opis zdjęcia tutaj

Wiele szeregowych transmisji danych wykorzystuje jeden bit stopu, ponieważ odbiornik jest w stanie przetwarzać bajty w czasie, ale czasem przydatne jest zwiększenie odstępu między bajtami danych przez zwiększenie liczby bitów stopu. Ponieważ zarówno wysyłające, jak i odbierające UART mają znacznie większą wewnętrzną częstotliwość zegara, wytwarzanie ułamkowej długości bitu jest łatwe.

Do ADC załączyłem rysunek: -

wprowadź opis zdjęcia tutaj

Niebieska linia reprezentuje liniowo rosnące analogowe napięcie wejściowe, a schody to numer cyfrowy z ADC próbującego przedstawić to analogowe napięcie. W środku pokazałem na czerwono, jaki będzie teoretyczny błąd maksymalny - nic dziwnego, że jest to równowartość 0,5 bitów.

Andy aka
źródło
W niektórych przypadkach może być przydatne, aby nadajnik UART zezwalał na ułamkową liczbę bitów stop nieco mniejszą niż jeden (np. 15/16). Jeśli urządzenie X wysyła dane do urządzenia Y tak szybko, jak to możliwe, Y musi wysłać bajt danych do Z dla każdego odebranego bajtu, a szybkość transmisji X jest o 0,01% większa niż Y, to jeden bajt na 10 000 zostanie utracony, chyba że Y może przesyłać dane z mniej niż bitem pełnego zatrzymania. Widziałem jeden (i tylko jeden) UART, który pozwalałby na 15/16 bitów stopu (z jakiegoś powodu dopuszczalne wartości to (9..16) / 16 lub (25..32) / 16, ale nie np. 17 / 16, co mogłoby być dobrą wartością dla powyższego X.
supercat
Jak długie jest dodatkowe opóźnienie? Czy bit stopu jest zawsze przesyłany przez 150% normalnego czasu używanego do przesłania jednego bitu? Czy są jeszcze jakieś inne przypadki?
Nieznany123
@ superupat Gdzie to widziałeś? Czy chcesz opublikować link do arkusza danych, jeśli jest dostępny?
Nieznany123
@ Nieznany123: UART był 2681 nxp.com/docs/en/data-sheet/SCC2681.pdf
supercat
23

W obu wspomnianych przypadkach gdzieś jest zaangażowana ilość analogowa.

W przypadku RS-232 liczba „bitów stopu” odnosi się do czasu trwania , więc 1,5 bitu stopu oznacza po prostu 1,5-krotność czasu trwania bitu przy danej szybkości.

W przypadku ADC dokładność 0,5-bitowa odnosi się do konwertowanej wielkości analogowej , więc 0,5-bitowe oznacza w istocie, że wynik cyfrowy gwarantuje prawidłową reprezentację wielkości analogowej zaokrąglonej do najbliższej możliwej reprezentacji cyfrowej.

mikrotherion
źródło