17.04.2008
Temat: Transmisja szeregowa synchroniczna i asynchroniczna.
Podstawowe pojęcia związane z szeregowym i równoległym przesyłaniem informacji poznaliście w klasie I - oto małe przypomnienie
Jeśli wprowadzamy, wyprowadzamy lub przesyłamy wszystkie bity słowa informacji jednocześnie, w jednym takcie zegara, to taką postać informacji nazywamy równoległą.
Wejście cyfrowe równoległe - wejście, które umożliwia wprowadzenie do układu cyfrowego wszystkich bitów słowa w jednym takcie zegarowym.
Jeśli informację wprowadzamy, wyprowadzamy lub przesyłamy bit po bicie (jeden bit na jeden takt zegara), to taką postać informacji nazywamy szeregową.
Wejście cyfrowe szeregowe - wejście, które umożliwia wprowadzenie do układu cyfrowego bit po bicie. Do wprowadzenia słowa n-bitowego potrzeba n taktów zegara.
Transmisja szeregowa asynchroniczna
(startowo-stopowa)
Może być realizowana w dwóch podstawowych trybach:
a/ synchronicznym,
b/ asynchronicznym.
W żadnym z tych trybów (mino słowa synchroniczny) nie jest przesyłany równolegle do danych przebieg zegarowy taktujący transmisję (czyli sygnalizujący pojawienie się kolejnych bitów).
Ma to uzasadnienie choćby ekonomiczne: przesyłanie taktu zegara wymagałoby osobnej linii, co przy dalekich połączeniach przez sieć telekomunikacyjną jest nieopłacalne.
Z drugiej strony - zegary (nadawczy i odbiorczy) muszą być ze sobą zsynchronizowane (ta sama częstotliwość, ustalone fazy) na czas odbioru transmisji.
Różnica pomiędzy transmisją synchroniczną a asynchroniczną polega na tym, że dla transmisji synchronicznej zegary te są zsynchronizowane praktycznie przez cały czas trwania połączenia, a dla transmisji asynchronicznej - są zsynchronizowane tylko na czas transmisji jednej ramki.
Koncepcja szeregowej transmisji asynchronicznej
Przed realizacją transmisji muszą być uzgodnione następujące parametry:
⇒ częstotliwość zegara nadawczego i odbiorczego (muszą być jednakowe, dlatego można użyć terminu zegar nadawczo-odbiorczy),
⇒ format transmitowanej ramki (rodzaj bitów startu i stopu, format przekazywanego znaku - czyli liczba bitów danych, obecność bitu konsoli parzystości itp.).
Ramka dla transmisji szeregowej w literaturze angielskiej i anglosaskiej jest oznaczana często skrótem SDU (ang. Serial Data Unit)
Ponadto jako wewnętrzny parametr odbiornika musi być ustalony stosunek częstotliwości zegara próbkującego do częstotliwości zegara nadawczo-odbiorczego. Na schemacie powyżej wynosi 6.
Bit startu z reguły przyjmowany jest jako bit o wartości 0.
Dlatego linia w stanie spoczynku, kiedy nie jest nadawany znak, utrzymywana jest w stanie 1.
Nadajnik rozpoczyna transmisję od przesłania bitu 0 jako bitu startu.
Następnie przesyłane są kolejne bity (zgodnie z ustalonym formatem transmitowanej ramki). Są to bity danych ewentualnie bit kontroli parzystości i bit stopu.
Kolejne bity przesyłane są cyklicznie ze stałą częstotliwością odmierzaną przez zegar nadawczy.
Po zakończeniu nadawania ramki - nadajnik może albo przejść w stan spoczynku (nic nie nadając) , albo rozpocząć nadawanie kolejnej ramki.
Zegar próbkujący odbiornika sprawdza stan linii (przy czym jego częstotliwość powinna być przynajmniej o około rząd wielkości większa, niż częstotliwość zegara nadawczo-odbiorczego. Zapewnia to szybsze wykrycie zmiany stanu linii z 1 na 0.
Po wykryciu zmiany układy logiczne stawiają hipotezę o rozpoczęciu transmisji znaku (czyli odebranie bit startu).
Po czasie równym połowie okresu zegara nadawczo-odbiorczego ponownie sprawdzany jest stan linii i w przypadku ponownego stwierdzenia zera - uruchamiany jest zegar odbiorczy.
Impulsy zegara odbiorczego powodują odczytanie na linii wartości kolejnych bitów. Moment uruchomienia zegara odbiorczego w połowie czasu trwania nadawania bitu ma bardzo istotne znaczenie.
Wyjaśnia to położenie impulsu zegarowego w zacieniowanej elipsie. Z powodu fluktuacji częstotliwości zegara odbiorczego (ma to zawsze miejsce) impuls ten pojawił się nieco wcześniej. Nie spowodowało to jednak błędu odczytu wartości bitu (dalej czytamy wartość bitu numer 2).
W przypadku ustawienia impulsu np. na początku czasu nadawania bitu - nastąpiłby najprawdopodobniej błąd i odczytalibyśmy jako bit 2 wartość bitu numer 1.
Odbiornik przerywa odczytywanie wartości bitów po ustalonej liczbie bitów. Ustalenie liczby bitów jest konieczne, ponieważ wartości bitów danych mogą być dowolne (1 lub 0)i w związku z tym nie ma żadnej możliwości zasygnalizowania końca ramki. Także ewentualny bit stopu nie ma tu żadnego znaczenia. Jego zadaniem jest zapewnienie przejścia linii na pewien czas w stan 1, nawet, gdy transmisja kolejnej ramki rozpoczyna się natychmiast po zakończeniu nadawania poprzedniej. Ułatwia to wykrycie kolejnego bitu startu (ale nie jest konieczne).
Dlatego przykładowo, liczba bitów stopu może wynosić zero, jeden, półtora lub dwa. Oczywiście półtora bitu stopu oznacza czas trwania jedynki przez półtora okresu zegara nadawczo- odbiorczego.
Z roli, jaka pełni bit stopu, wynika też jego wartość (musi on mieć zawsze przeciwny znak, niż bit startu).
Podsumowanie:
W transmisji szeregowej asynchronicznej zapewniamy synchronizację zegarów: nadawczego i odbiorczego na czas transmisji jednej ramki. Po odebraniu znaku - zegar odbiorczy jest wyłączany i odbiornik oczekuje na kolejny bit startu. Nadajnik w przypadku braku informacji do przesyłania utrzymuje na linii stan wysoki - 1.
Rodzaje transmisji.
Przy przesyłaniu informacji cyfrowej np. w modemach - stosuje się transmisję zarówno synchroniczną jak i asynchroniczną.
Transmisja asynchroniczna została opisana powyżej.
Pamiętajmy, że zapewnia ona synchronizację zegarów nadawczego i odbiorczego na czas przesyłania ramki z jednym znakiem (jedną wartością).
W transmisji synchronicznej zwykle przesyłamy bloki danych. Synchronizacja zegarów nadawczego i odbiorczego utrzymywana jest bez przerwy. W przypadku braku informacji do przesłania - transmitowane są ramki synchronizujące.
Transmisje synchroniczną stosuje się z reguły tam, gdzie przesyła się większe ilości informacji i jest wymagana większa szybkość transmisji.
Różnice pomiędzy transmisjami (synchroniczną i asynchroniczną) przedstawia poniższy schemat:
Rodzaje połączeń dla łącza szeregowego.
Połączenie szeregowe pomiędzy dwoma obiektami może zapewniać transmisję w jednym kierunku lub w obu kierunkach.
Pierwszy przypadek (transmisja w jedną stronę - simpleks) może dotyczyć na przykład przesyłania danych pomiarowych, gdzie nie zakłada się sterowania układem pomiarowym.
W drugim przypadku (przesyłania danych w dwie strony) dane te możemy nadawać na przemian - półdupleks (doskonałym - ale nie cyfrowym - przykładem jest tu walkie-talkie: jeden mówi, drugi słucha - lub na odwrót) lub nadawać je w dwóch kierunkach jednocześnie - dupleks (np. dyskutujący politycy na antenie).