Transmisja synchroniczna i asynchroniczna: jak rozpoznać, która jest która
Transmisja synchroniczna i asynchroniczna to podział według jednego pytania: skąd odbiornik wie, kiedy zaczyna się kolejny bit. Brzmi drobiazgowo, ale to od tego zależy, czy urządzenia muszą dzielić wspólny zegar, i dlatego jedna metoda nadaje się do dysku twardego, a druga do klawiatury.
Problem, który trzeba rozwiązać
Przez kabel biegnie napięcie: wyższe albo niższe. Odbiornik widzi więc ciąg poziomów, a nie ciąg bitów. Żeby zamienić jedno na drugie, musi wiedzieć dokładnie, jak długo trwa jeden bit i w którym momencie zaczyna się pierwszy.
Gdyby zegary nadajnika i odbiornika chodziły choćby minimalnie inaczej, po kilkuset bitach odbiornik odczytywałby wartości w złych momentach. Dlatego każda transmisja musi mieć sposób na utrzymanie wspólnego rytmu, a sposób ten dzieli transmisje na dwie rodziny.
Transmisja asynchroniczna: bit startu i bit stopu
W transmisji asynchronicznej urządzenia nie mają wspólnego zegara. Zamiast tego dane wysyłane są małymi porcjami, zwykle po jednym znaku, a każda porcja jest opakowana w znaczniki.
Ramka wygląda tak: bit startu, potem od pięciu do ośmiu bitów danych, opcjonalnie bit parzystości do kontroli błędów i na koniec jeden lub dwa bity stopu. Linia w stanie spoczynku ma poziom wysoki, więc bit startu jako przejście w stan niski jest wyraźnym sygnałem: zaczynamy.
Odbiornik synchronizuje się od nowa przy każdym znaku. Jego zegar musi być dokładny tylko przez czas trwania jednej ramki, czyli dziesięciu bitów, a nie przez całą transmisję. To ogromne uproszczenie konstrukcyjne.
Cena jest widoczna gołym okiem. Przy ośmiu bitach danych i trzech bitach obsługi na dane przypada osiem z jedenastu bitów, czyli około 73 procent. Jedna czwarta pasma idzie na samo utrzymanie porządku.
Transmisja synchroniczna: wspólny rytm
W transmisji synchronicznej nadajnik i odbiornik pracują w jednym rytmie. Zegar jest albo przesyłany osobną linią, albo wpleciony w sam sygnał danych tak, żeby odbiornik mógł go z niego odtworzyć.
Skoro rytm jest wspólny, nie trzeba oznaczać każdego znaku osobno. Dane lecą ciągłym strumieniem, całymi blokami, poprzedzonymi krótkim nagłówkiem synchronizującym. Narzut spada z jednej czwartej do ułamka procenta, bo kilka bajtów nagłówka przypada na blok liczący tysiące bajtów.
Wadą jest złożoność. Trzeba albo dołożyć linię zegarową, albo zastosować kodowanie, z którego zegar da się odzyskać. Do tego dochodzi obowiązek utrzymania synchronizacji przez cały czas trwania bloku: jej utrata psuje całą resztę, a nie jeden znak.
Transmisja synchroniczna i asynchroniczna w tabeli
| Cecha | Asynchroniczna | Synchroniczna |
|---|---|---|
| Wspólny zegar | nie | tak |
| Jednostka przesyłu | pojedynczy znak | blok danych |
| Znaczniki | bit startu i stopu przy każdym znaku | nagłówek na cały blok |
| Narzut | ok. 20 do 30 procent | ułamek procenta |
| Złożoność układu | niska | wysoka |
| Skutek utraty synchronizacji | jeden błędny znak | cały blok do powtórzenia |
| Typowe zastosowanie | klawiatura, port szeregowy, czujniki | dysk, sieć Ethernet, magistrale |
Który podział jest który: dwa niezależne kryteria
Tu rodzi się najczęstsza pomyłka na egzaminie. Transmisję dzieli się na kilka sposobów naraz i te podziały się nie wykluczają.
Według liczby linii: szeregowa, gdy bity idą jeden po drugim po jednym przewodzie, albo równoległa, gdy kilka bitów leci jednocześnie osobnymi liniami. Opisaliśmy to w tekście o interfejsie szeregowym i równoległym.
Według synchronizacji: synchroniczna albo asynchroniczna, czyli to, o czym mowa tutaj.
Według kierunku: simpleks, półdupleks i dupleks. Te i pozostałe klasyfikacje zebraliśmy w tekście o typach transmisji danych.
Te kryteria są niezależne, więc transmisja może być jednocześnie szeregowa i asynchroniczna, jak stary port COM, albo szeregowa i synchroniczna, jak Ethernet. Pytanie egzaminacyjne zwykle sprawdza właśnie to, czy zdający nie miesza kryteriów.
Gdzie się z tym spotkasz w praktyce
Port szeregowy i moduły UART. Sama nazwa układu, czyli uniwersalny asynchroniczny odbiornik i nadajnik, zawiera odpowiedź. Ustawienie w rodzaju 9600 8N1 oznacza prędkość, osiem bitów danych, brak kontroli parzystości i jeden bit stopu.
Klawiatura i mysz. Dane pojawiają się nieregularnie, w losowych momentach, więc czekanie na wspólny rytm nie miałoby sensu.
Dyski i magistrale wewnątrz komputera. Tu liczy się przepustowość, dane idą ciągłym strumieniem, więc synchroniczna wygrywa bez dyskusji.
Ethernet. Transmisja synchroniczna z zegarem odtwarzanym z sygnału, dzięki czemu nie trzeba prowadzić osobnej linii zegarowej w skrętce.
Ile danych przechodzi naprawdę: prosty rachunek
Różnicę w narzucie łatwo policzyć i to jedno z tych zadań, które lubią wracać na egzaminie.
Weźmy port szeregowy ustawiony na 9600 bodów, osiem bitów danych, bez kontroli parzystości, jeden bit stopu. Na każdy znak przypada wtedy jeden bit startu, osiem bitów danych i jeden bit stopu, czyli dziesięć bitów łącznie.
Przy 9600 bitach na sekundę daje to 960 znaków na sekundę, a nie 1200, jak wynikałoby z prostego podzielenia przez osiem. Efektywność wynosi więc 80 procent, a przy dwóch bitach stopu i kontroli parzystości spada do około 67 procent.
W transmisji synchronicznej ten sam kanał przesyła blok tysiąca bajtów z kilkubajtowym nagłówkiem, więc na obsługę idzie mniej niż jeden procent. Stąd bierze się cała przewaga tej metody wszędzie tam, gdzie danych jest dużo i płyną ciągłym strumieniem. Przypomnijmy przy okazji, że sam bod to liczba zmian sygnału na sekundę i tylko przy prostym kodowaniu równa się liczbie bitów, o czym pisaliśmy w tekście o jednostkach informacji.
Najczęściej zadawane pytania
Po co jest bit startu?
Sygnalizuje odbiornikowi początek znaku i pozwala mu zsynchronizować własny zegar. Bez niego odbiornik nie wiedziałby, w którym momencie zacząć próbkowanie linii.
Czy transmisja asynchroniczna jest wolniejsza?
Przy tej samej prędkości sygnału przesyła mniej danych, bo od 20 do 30 procent pasma zajmują bity startu i stopu. Nie chodzi więc o mniejszą prędkość, tylko o większy narzut.
Czy transmisja szeregowa to to samo co asynchroniczna?
Nie. To dwa niezależne kryteria. Transmisja szeregowa może być zarówno synchroniczna, jak Ethernet, jak i asynchroniczna, jak stary port COM.
Do czego służy bit parzystości?
Do prostej kontroli błędów. Dopełnia liczbę jedynek w ramce do parzystej lub nieparzystej, więc wykrywa przekłamanie pojedynczego bitu, ale go nie naprawia.
Co oznacza zapis 9600 8N1?
Prędkość 9600 bodów, osiem bitów danych, brak kontroli parzystości i jeden bit stopu. To najczęstsze ustawienie portu szeregowego.
Podsumowanie
Transmisja synchroniczna i asynchroniczna różnią się tym, kto pilnuje rytmu. W asynchronicznej każdy znak niesie własne znaczniki startu i stopu, więc urządzenia nie potrzebują wspólnego zegara, ale jedna czwarta pasma idzie na obsługę. W synchronicznej zegar jest wspólny, dane lecą blokami, narzut jest znikomy, za to konstrukcja i wymagania rosną.
Przy nauce najważniejsze jest jedno: nie mylić tego podziału z podziałem na transmisję szeregową i równoległą. To dwa prostopadłe kryteria i egzamin sprawdza dokładnie tę różnicę.
Stan na wrzesień 2026 r.
