Co to jest komunikacja szeregowa?

Komunikacja szeregowa to metoda transmisji danych, która przesyła informacje po jednym bicie z urządzenia do urządzenia. Na przestrzeni lat opracowano wiele różnych standardów szeregowych zarówno dla przepustowości urządzeń o niskiej, jak i wysokiej prędkości. Dane mogą być zwykle wymieniane na znacznie większe odległości za pomocą komunikacji szeregowej, a nie równoległej. Komunikacja szeregowa jest zwykle używana do łączenia drukarek, terminali i kamer z komputerami. Jest również używany jako interfejs do zewnętrznych dysków twardych, cyfrowych dysków wideo (DVD) i urządzeń pamięci flash.

Ponieważ tylko jeden bit danych jest wysyłany na raz w komunikacji szeregowej, potrzeba mniej przewodów w porównaniu z interfejsem równoległym. Bardzo minimalne połączenie może zawierać tylko jeden przewód do transmisji danych i drugi do uziemienia. W praktyce wiele łączy szeregowych zawiera również kilka sygnałów uzgadniania oraz linię danych w każdym kierunku. Uniwersalna magistrala szeregowa (USB), powszechnie używana do łączenia komputerów i urządzeń peryferyjnych, wykorzystuje tylko cztery lub pięć sygnałów, z których dwa służą do zasilania. Zalecane połączenia szeregowe w standardzie (RS) 232 mogą wykorzystywać do 20 sygnałów, w zależności od implementacji.

Mniejsza liczba sygnałów pozwala ogólnie na szybsze taktowanie łącza komunikacji szeregowej i bardziej niezawodne działanie na duże odległości. Komunikacja równoległa może wprowadzać przekrzywienie lub zakłócenia między bitami danych, gdy przemieszczają się one razem wzdłuż długiego łącza. Połączenia szeregowe RS 232 o długości 1,000 stóp (300 metrów) lub dłuższe mogą zwykle działać z prędkością ponad 115,200 2.0 bitów na sekundę. Natomiast łącza USB 480 są często używane do łączenia urządzeń pamięci masowej o dużej przepustowości z systemami komputerowymi. Zwykle mogą wymieniać dane z prędkością do 16 megabitów na sekundę, ale kable są ograniczone do 5 stóp (XNUMX metrów) między koncentratorami.

Gdy dane są przesyłane przez łącze szeregowe, odbiorca musi mieć sposób, aby stwierdzić, kiedy kończy się każdy bajt, a zaczyna następny. W asynchronicznej komunikacji szeregowej nadawca wstawia bit „startu” przed wysłaniem bitów każdego bajtu. Bit startowy synchronizuje również wewnętrzny zegar, aby pomóc rozbić resztę odebranej ramki na pojedyncze bity. Jest to najczęściej stosowana metoda synchronizacji RS 232. W synchronicznej komunikacji szeregowej oddzielny sygnał zegarowy jest używany do wskazania, kiedy każdy bit i bajt jest kompletny.

Przed rozpoczęciem wymiany danych RS 232, urządzenia po obu stronach muszą być ustawione tak, aby używały tej samej liczby danych i bitów stopu, a także tego samego typu parzystości. Osiem bitów danych, jeden bit stopu i brak parzystości to częsta konfiguracja, zwykle wyrażana jako 8N1. Jeśli używana jest parzystość znaku lub przestrzeni, bit parzystości jest odpowiednio ustawiany przez nadawcę na jeden lub zero. Jeśli używana jest parzysta lub nieparzysta parzystość, bit parzystości jest ustawiany na wartość, która sprawi, że całkowita liczba bitów będzie parzysta lub nieparzysta. Odbiornik sprawdza wartość odebranego bitu parzystości, jeśli taki istnieje, i wskazuje błąd, jeśli nie jest on zgodny z oczekiwaną wartością.

Oprócz kontroli parzystości można zastosować jeden lub więcej protokołów komunikacji szeregowej oprogramowania w celu ochrony przed błędami transmisji danych. Na przykład protokół XMODEM lub ZMODEM jest często używany do przesyłania plików między komputerami za pośrednictwem łącza szeregowego RS 232. Protokoły te zostały pierwotnie zaprojektowane do użytku z modemem telefonicznym wdzwanianym na każdym końcu łącza, ale działają również bez nich. Każdy protokół obejmuje walidację sumy kontrolnej cyklicznej kontroli nadmiarowej (CRC) obliczonej dla wysyłanych danych. Jeśli obecne są modemy, wykonują one również podobne kontrole CRC sprzętowo podczas całej transmisji.