Nie ma żadnych linii nadzorujących wymianę danych, co za tym idzie, brak jakichkolwiek potwierdzeń otrzymania danych.
Kanał prowadzi informację w jedną stronę.
W tabeli na slajdzie obok znajdują się informacje o tym, jak wysterować, jednak podejrzewam, że nie trzeba umieć tego na pamięć.
W tym trybie pracy mamy potwierdzenie, czy dane zostały przesłane prawidłowo.
Jest to tryb stosujący strobowanie, czyli osobną linię informującą, że odbiornik jest w stanie odebrać informację1).
Kanały pracujące: A i B. C jest używane tylko jako linie sterujące. Linia IBF mówi, że kanał jest gotowy do transmisji sygnału.
Na slajdzie obok kanał B jest kanałem sterującym.
Na tym slajdzie jest przedstawiona praca w trybie wyjściowym. OBF informuje o tym, iż są dane do wysłania, natomiast ACK oznacza oczekiwanie na gotowość odbiornika oraz potwierdzenie prawidłowego przyjęcia bajtu.
Logika jest nieco odmienna, stosowana jest metoda handshaking.
Dwukierunkowa magistrala danych. Jedyny tryb, w którym kanał jednocześnie wysyła i odbiera informacje. Działa w nim tylko kanał A. Potwierdzenie odebrania skutkuje zgłoszeniem przerwania - INTR.
Tryb asynchroniczny nie oznacza braku zegara!
Jest on trochę podobny do pracy na kolei, co zostało pięknie zilustrowane przez prowadzącego na tablicy. Rysunek ten został mniej-więcej przerysowany przez Jawora i prezentuje się następująco:
Ustawienia muszą być takie same na odbiorniku i na nadajniku. Musi być zapewniony odpowiedni tor. Musi również być ustalona odpowiednia prędkość an tym torze.
Ludzie pakujący dane do pociągu we Wrocławiu muszą pakować je z taką samą prędkością, z jaką te dane wypakowują w Rudnej, żeby nic nie zginęło. Można to sobie wyobrazić tak, że ten pociąg jedzie z jedną, ustaloną prędkością przez całą trasę. Jeśli ludzie w Warszawie będą pakować z niedopasowaną prędkością, to albo co drugi wagon będzie pusty, albo nie wejdzie do wagonu. Również, jeśli ludzie w Rudnej będą rozpakowywać ten pociąg ze złą prędkością, to mogą wypakować dane z jednego wagonu, a potem próbować wypakować ten wagon jeszcze raz i stwierdzić, że dostali pustkę, albo wypakować co któryś wagon.
Przedział pociągu jest jak ramka, zilustrowana na dole slajdu.
+--+ | | - Bit startu. Informuje o początku transmisji. +--+ | | | | - Dane - od 5 do 8 bitów jednocześnie. | | | | /--------------- | | | Bit parzystości. Stwierdza, czy jest parzysta zer i jedynek. Służy do kontroli +--+ | poprawności transmisji. Z jednej strony jest mało bezpieczny i łatwo go oszukać, | |-< z drugiej jednak, zazwyczaj w zupełności wystarcza. +--+ \--------------- | | - Bit stopu. Mówi, że cały pakiet został odebrany. +--+
Przypomnijmy, jak najbardziej potrzebny jest zegar. Tyle tylko, że zegary w urządzeniu nadawczym i urządzeniu odbiorczym to (zazwyczaj) niezależne urządzenia. Wszystko musi być ustawione tak, aby oba urządzenia pracowały w tym samym rytmie.
Mamy urządzenie nadawcze, odbiorcze, tor. Jedyne, co nam pozostaje, to ustalenie prędkości transmisji.
Tutaj nie musimy ustalać ręcznie takiej samej prędkości nadawania/odbioru, ponieważ zajmują się tym „drezyny”, które puszczamy przed danymi, czyli SYNC1, ewentualnie SYNC2.
Tzn chodzi o to, że zanim wyślemy „pociąg z danymi”, to torami jadą „drezyny” sprawdzające sprawność łącza. Odbiornik odbiera taką drezynę, sprawdza, czy znajduje się tam wcześniej ustalona informacja, jeśli tak, to łączność jest utrzymana.
Istnieją dwie wersje tego - MonoSync z jedną drezyną, i BiSync z dwiema.
Aha - określenie drezyna nie jest fachową terminologią, a jedynie upraszczającą analogią
Poprawne określenie to Słowo Synchronizacji.
Zamiast bitu parzystości wykorzystywane są sumy kontrolne - CRC. Tzn bierze się paczkę danych, dzieli przez jakiś wielomian i powstaje suma kontrolna. Sumy te są obliczane po obu stronach. Czasami nawet udaje się zrekonstruować pakiet na podstawie sumy!
W razie problemów na linii zrywana jest SYN.
Warto zauważyć, że w przeciwieństwie do trybu asynchronicznego, w trybie synchronicznym zawsze coś jest przesyłane na linii. Jeśli nie ma nic do przesłania, to przesyłane są puste ramki - ma to na celu ustawienie zegara po „słabszej stronie”, czyli zwykle w odbiorniku.
Ze względu na to, że ten zegar musi być ustawiany, to problemem mógłby być np. długi ciąg zer albo jedynek, w którym sygnał na wejściu by się nie zmieniał. Dlatego też czasem robi się tak, że np. po pięciu zerach dorzuca się jedynkę, która zostanie zignorowana przez odbiornik, ale pozwoli zsynchronizować zegar.