Krótki wstęp do transmisji szeregowej Istnieją dwa możliwe rodzaje transmisji danych - transmisja szeregowa i równoległa. Transmisja szeregowa polega na przesłaniu sekwencyjnym (bit po bicie) danych. Urządzeniem transmisji szeregowej jest modem. Dane są przesyłane za pomocą kabla szeregowego (np. RS- 232) łączącego komputer z modemem, a stamtąd, po modulacji bit po bicie do sieci telefonicznej. Transmisja równoległa polega na jednoczesnym przesyłaniu większej liczby bitów informacji (przeważnie ośmiu, czyli jednego bajtu). Przykładem tego rozwiązania jest transmisja znaków do drukarki za pomocą kabla typu centronics. Szybkość transmisji określa natomiast liczbę bitów przesyłanych w jednostce czasu. Jednostką transmisji jest bit na sekundę (bit/s lub bps (z ang. bit per sek.)) Rozróżniamy dwie metody transmisji danych : synchroniczną i asynchroniczną. Podczas transmisji asynchronicznej występują kolejno po sobie wycinki czasu zawierające i nie zawierające informacji. Aby przygotować odbiorcę na przyjęcie sygnału zawierającego informacje, są wysyłane sygnały startu oraz sygnały stopu, rozpoczynające i kończące przesyłanie porcji informacji. Natomiast podczas transmisji synchronicznej, dzięki określonemu impulsowi taktującemu, utrzymywane jest stałe tempo przekazywania informacji. Nie występują tutaj przerwy spowodowane koniecznością synchronizacji pojedynczych porcji informacji, a więc uzyskuje się lepsze wykorzystanie linii łączących. Tryby transmisji danych. Simplex - jest trybem transmisji danych, w którym jeden terminal przesyła informacje, inny zaś je odbiera, sam nie transmitując.
Half duplex - polega na niejednoczesnej transmisji danych przez oba komunikujące się terminale. Po zakończeniu przesyłania informacji przez terminal nadawczy, terminal odbiorczy może zacząć transmisje, którą odbiera dotychczasowy nadawca. Full duplex - jest rodzajem transmisji danych, w którym jest możliwe jednoczesne przesyłanie i odbieranie informacji. Dane, które przesyła modem, zostają sekwencyjnie, czyli kolejno bit po bicie, transmitowane przez sieć telefoniczną w postaci impulsów elektrycznych. Aby zmniejszyć przekłamania podczas transmisji danych, można do transmitowanych bitów danych dodać informację dodatkową w postaci bitu kontrolnego. Bit ten, zwany bitem parzystości, stanowi dopełnienie liczby występujących w porcji danych. Rozróżniamy cztery rodzaje kontroli parzystości - Even, Odd, Mark (High), Space (Low). Even - gdy liczba w porcji danych jest parzysta, wtedy bit parzystości przyjmuje wartość "1" w przeciwnym razie przyjmuje "0" (np. dla liczby binarnej 1011010 Bin (90 Dec) wynosi 1). Odd - gdy liczba w porcji danych jest nieparzysta, wtedy bit parzystości przyjmuje wartość "1" w przeciwnym razie przyjmuje "0" (np. dla liczby binarnej 1011010 Bin (90 Dec) wynosi 0). Mark (High) - bit parzystości w tym przypadku przyjmuje zawsze wartość "1" nie zależnie od liczby w porcji danych. Space (Low) - bit parzystości w tym przypadku przyjmuje zawsze wartość "0" nie zależnie od liczby w porcji danych.
Kolejną informacją, którą dodaje się do bitów danych, jest bit (bity) stopu. Wprowadza się go, by nadawca i odbiorca podczas transmisji nie wypadli z rytmu oraz mogli rozpoznać początek i koniec porcji danych. Następnym pojęciem ważnym do naszych rozważań jest pojęcie protokołu. Protokół jest to umowa, czyli zbiór reguł sterujących nawiązaniem przebiegiem oraz zakończeniem wymiany informacji pomiędzy dwoma lub wieloma niezależnymi urządzeniami bądź procesami (programami). Protokoły regulują zgodność formatów danych, określających związki czasowe oraz zasady obróbki błędów podczas wymiany danych. W praktyce rozróżnia się protokoły sprzętowe i programowe. Przykładem protokołu sprzętowego może być takie przesyłanie danych, w którym nadajnik i odbiornik są połączone linią sterującą, znajdującą się poza linią danych. Stan linii sterującej określa rozpoczęcie, trwanie i zawieszenie transmisji. Jest to tzw. hardware handshaking. Proces ten określa formę przekazu danych, w której nadajnik jest informowany przez odbiornik, czy przepływ informacji jest możliwy. Programowy protokół XON/XOFF natomiast nie używa dodatkowej linii sterującej. Jej funkcję przyjmuje określona kombinacja znaków sterujących, zwana sfotware'owym handshake.
Sieć telefonii analogowej posiada obecnie strukturę telekomunikacyjną o największym zasięgu i (z tego powodu) najłatwiej dostępną z punktu widzenia użytkownika. Linie telefoniczne zostały jednak zaprojektowane i przeznaczone do przekazu sygnałów mowy, nie nadają się bezpośrednio do transmisji danych. Na szczęście przystosowanie tradycyjnych linii telefonicznych do celów przekazów cyfrowych nie wymaga specjalnych zabiegów technicznych z wyjątkiem zainstalowania na obydwu końcach linii urządzeń, których zadaniem jest takie przetworzenia sygnału cyfrowego by mógł on być bezpiecznie przesyłany za pomocą w sieci analogowej. Urządzenie to nazywamy modemem. Jedną z podstawowych cech analogowej sieci telefonicznej jest niewielka dostępna szerokość pasma. Terminem tym określa się różnice między najwyższą a najniższą częstotliwością przenoszoną przez odcinek toru telekomunikacyjnego, wyznaczana spadkiem poziomu sygnału o 3 db. W przypadku sieci telefonicznej szerokość pasma wynosi 3,1 khz i zawiera się w zakresie częstotliwości od 300 Hz do 3400 Hz. Szerokość ta jest wystarczająca do przekazywania głosu, transmisja danych stawia jednak wyższe wymagania. Dodatkowym problemem jest fakt, że przy transmisji danych przez linie telefoniczną dostępna szerokość pasma jest jeszcze mniejsza i wynosi około 2,8 khz. Zawężenie pasma podyktowane jest koniecznością zwiększenia odporności na zakłócenia i poprawienia niezawodności transmisji. Odbywa się to kosztem obniżenia maksymalnej dopuszczalnej szybkości przesyłania informacji. Jak już zostało to wspomniane, przekazywanie danych cyfrowych na większe odległości za pomocą linii telefonicznej wymaga przetworzenia sygnału cyfrowego do postaci analogowej odpowiedniej dla urządzeń transmisyjnych przeznaczonych standardowo do przesyłania mowy. Konwersję tę uzyskuje się za pomocą modulacji analogowego sygnału nośnego po stronie nadawczej i de modulującego po stronie odbiorczej. Za realizację funkcji modulacji i demodulacji odpowiedzialny jest modem. Modulacją nazywamy proces konwersji prostokątnego sygnału cyfrowego na sinusoidalną falę nośną transmitowaną w normalnym paśmie akustycznym, tak jak sygnał mowy. Większość modemów pracujących na zasadzie ciągłe emisji fali nośnej, której parametry są modyfikowane odpowiednio do wartości przesyłanych danych. Idealna sinusoida opisywana jest za pomocą amplitudy, częstotliwości oraz fazy. Zmiana wartości każdego z tych parametrów powoduje powstanie trzech podstawowych typów modulacji : modulacja amplitudy AM (Amplitude Modulation) - wielkość amplitudy przebiegu nośnej ulega zmianom między dwoma poziomami, określającymi stan sygnału wejściowego (binarne 0 lub 1). Czysta forma modulacji AM zwanej też ASK (Amplitude Shift Keying) nie jest stosowana w modemach ze względu na to, że sygnał jest bardzo podatny na tłumienie. modulacja częstotliwości FM (Frequency Modulation) - ten typ modulacji zwany także FSK (Frequency Shift Keying) wykorzystuje dwie częstotliwości fl (niską) oraz fh (wysoką) do przedstawienia odpowiedniego sygnału logicznego 1 i logicznego 0 binarnego sygnału wejściowego. Za pomocą modulacji FSK można uzyskać prędkość transmisji do 600 bit/sek w trybie dupleksowym lub 1 200 bit/sek w trybie pracy naprzemiennej. modulacja fazy PM (Phase Modulation) - inna nazwa PSK (Phase Shift Keying). W modulacji tej reprezentacja bitów sygnału wejściowego odbywa się poprzez zmianę fazy sygnału nośnej o np. 0o
dla "1" i 180o dla "0". Ta najprostsza tzw. Dwuwartościowa wersja modulacji PSK nie znalazła zastosowania z powodu niskiej efektywności modulacji. różnicowa modulacja fazy DPSK (Differential Phase Shift Keying) - jest rozbudowaną wersją modulacji PSK, w której zmiana parametrów fali nośnej odpowiada zmianom wartości sygnału wejściowego a nie bezpośredni wartość modulowanego sygnału cyfrowego. Ciąg danych wejściowych jest formatowany w dwójki, trójki lub czwórki bitów i dopiero te elementy polegają procesowi modulacji. Otrzymujemy wtedy cztero-, ośmio-, szesnasto-wartościową modulacją DPSK. modulacja kwadraturowa QAM (Quadrature Amplitude Modulation) - jest połączeniem dwóch technik modulacji: ASK i DPSK. Sposób kodowania polega na jednoczesnej zmianie amplitudy i fazy sygnału nośnej, co daje w efekcie 16 możliwych wartości binarnych sygnału wejściowego. Modulacja QAM pozwala przesyłać dane z maksymalną szybkością 9 600 bit/sek. modulacja TCM (Trellis-Coded Modulation) - podobnie jak QAM stanowi kombinację modulacji amplitudy i fazy. TCM stosowana jest w modemach nowej generacji, a zastosowany algorytm pozwala na kodowanie znaków 6 lub 7-bitowych. Największa szybkość przesyłania informacji przy zastosowaniu TCM wynosi 28 800 bit/sek. Rodzaje transmisji wykorzystywane przez modemy zostały zdefiniowane i opisane w dokumentacji ITU- T (International Telecommunication Union - Telecommunication Standardization Sektor) jako zalecenia serii V. Określają one parametry uzgadniane przez modemy w trakcie nawiązania łączności. Podstawowe zalecenia serii V to : V.21 - najstarsze zalecenie określające transmisję z szybkością 300 bit/sek wykorzystującą modulację FSK (300 bodów). V.22 - standard dla modemów o szybkości transmisji do 1 200 bit/sek z modulacją fazowo różnicową DPSK (600 bodów). Zastosowane kodowanie jedno lub dwu-bitowe umożliwia transmisję z szybkością 600 bit/sek lub 1 200 bit/sek w trybie full duplex. V.22 bis - popularny standard umożliwiający transmisję o maksymalnej szybkości 2 400 bit/sek wykorzystując modulację kwadraturowo-amplitudową QAM. Jednoczesne kodowanie 4 bitów pozwala osiągnąć cztery prędkości transmisji przy szybkości modulacji 600 bodów w trybie full duplex i zastosowaniu linii 2-przewodowej. V.23 - zalecenie opisujące transmisję o szybkości 600 lub 1 200 bit/sek z modulacją FSK i szybkością modulacji 600/1 200 bodów. V.32 - standard transmisji umożliwiający przesyłanie danych z szybkością 4 800 bit/sek i 9 600 bit/sek przy wykorzystaniu modulacji DPSK (kodowanie dwubitowe) lub QAM (kodowanie czterobitowe). Opcjonalnie stosowane jest kodowanie TCM pozwalające obniżyć szybkość transmisji do 2 400 bit/sek w przypadku łączy o słabych parametrach. V.32 bis - określa on pracę modemów w zakresie od 4 800 bit/sek do 14 400 bit/sek stosując modulację TCM z kodowaniem od 3 do 6 bitów. Protokół transmisji V.32 bis zawiera standardowo
funkcję optymalnego doboru szybkości transmisji (z krokami co 2 400 bit/sek) w zależności od stanu łącza. V.32 terbo - standard ten nie jest zawarty w zaleceniach ITU. Opisuje transmisję z szybkością 19 200 bit/sek z wykorzystaniem modulacji TCM. Standard V.32 terbo wykorzystuje prawie 98% pasma kanału telefonicznego dlatego też jest czuły na zawężenie pasma toru. Protokół zawiera standardowo funkcję optymalnego doboru szybkości transmisji (z krokami 2 400 bit/sek) w zależności od stanu łącza. V.32 terbo stosowany jest tylko przez część modemów. V.34 - zalecenie V.34 opisuje technikę transmisji umożliwiającą przesyłanie danych z szybkością 28 800 bit/sek. Standard wykorzystuje modulację TCM z kodowaniem 12 bitów informacji wejściowej. W porównaniu z rozwiązaniami wcześniejszymi charakteryzuje się większą odpornością na zakłócenia zewnętrzne. Protokół zawiera standardowo funkcję optymalnego doboru szybkości transmisji od 2 400 do 28 800 bit/sek (z krokiem co 2 400 bit/sek) w zależności od stanu łącza. V.34 bis - standard pozwalający osiągnąć szybkość transmisji 33 600 bit/sek. V.90 - standard pozwalający osiągnąć szybkość transmisji 56 600 bit/sek. Tajemnica leży w sposobie podłączenia modemu do którego się dzwoni. Nowy standard serwerów modemowych ma jedną zasadniczą przewagę nad zwykłym modemem - "rozmawia" z centralą wyłącznie w sposób cyfrowy. Zwykły modem podłączony do gniazdka telefonicznego, w którym był sygnał analogowy. Praktycznie cała sieć telefoniczna, z wyjątkiem ostatniej części - do abonenta - jest już cyfrowa. Niestety, szybkość rzędu 56,6 kbit/sek uzyskiwane są tylko w jedną stronę - wszak tylko jedna ze stron podłączona jest stricte cyfrowo do PSTN (gdyby obie strony połączone były w ten sposób mielibyśmy... ISDN!). W "drodze powrotnej" stosować więc trzeba zwykły protokół V.34 bis (33 600 bit/sek). V.42 - protokół kontroli błędów. Integralność przesyłanych danych sprawdzana jest za pomocą kontroli nadmiarowej CRC (Cyclical Redundancy Check). Obliczana dla bloku danych wartość jest przesyłana wraz z blokiem do odbiorcy. Po odebraniu danych wartość CRC jest obliczana powtórnie, a następnie obydwie wartości są ze sobą porównane. Jeśli istnieje między nimi różnica, blok danych należy przesłać powtórnie. V.42 bis - standard za pomocą którego realizowana jest kompresja danych. Pozwala na kompresję o maksymalnym współczynniku 4:1. W przypadku transmisji nie skompresowanych danych całkowita przepustowość łącza może wynieść 115,2 kbit/sek. Stosowanie protokołu V.42 bis w przypadku danych skompresowanych (np. za pomocą programów PKZIP lub ARJ) nie powoduje zwiększenia szybkości przesyłanych informacji, a może je wręcz spowolnić. Oprócz protokołów wymienionych powyżej modemy stosują się również do części protokołów firmowych AT&T oraz do protokołów MNP (Microcom Networking Protocol). Przykładem tego ostatniego standardu może być protokół MNP 10 opisujący kontrolę błędów dla transmisji w sieci telefonii komórkowej. W celu nawiązania połączenia między modemami konieczne jest zastosowanie odpowiedniego oprogramowania nazywanego programem komunikacyjnym. Oprogramowanie pozwala na realizowanie połączeń i dokonywanie transmisji, zgodnie z podanymi przez użytkownika parametrami. Aby programiści mogli tworzyć programy nie przeznaczone dla konkretnego typu modemu, powstał pewien standard sposobu komunikacji komputera z urządzeniem transmisyjnym. W przypadku modemów standardem takim jest tzw. zbiór komend Haeys'a (komendy AT - skrót od ATtention). Z chwilą pojawienia się urządzeń faksowych komendy Haeys'a zostały rozszerzone na obsługę transmisji faksowej. Znajomość komend
Haeys'a nie jest konieczna do obsługi modemu. Podczas korzystania z programu komunikacyjnego, otrzymujemy do dyspozycji zestaw menu, a program dokonuje ich konwersji na komendy AT.