Komputery

Podstawowe zasady działania modemów telefonicznych

Transmisja danych poprzez łącza telefoniczne wymaga przekształcenia sygnałów z postaci cyfrowej na sygnały analogowe, które powinny być całkowicie zawarte w zakresie częstotliwości przenoszonych przez kanał telefoniczne tzn. od 300 Hz do 3400 Hz. Konwersja ta dokonywana jest w modemach w procesie modulacji i demodulacji. Głównym zadaniem modemów jest więc zamiana sygnałów cyfrowych na analogowe i odwrotnie. Modem lokalny odbiera dane cyfrowe przesyłane z komputera, zamienia je w modulatorze na postać analogową i transmituje poprzez linię telefoniczną do modemu oddalonego. Ten z kolei dokonuje za pomocą demodulatora zamiany postaci analogowej danych na postać cyfrową i wysyła je do komputera. Każdy modem musi być więc wyposażony w modulator i demodulator, których zadaniem jest konwersja danych z postaci cyfrowej na analogową i odwrotnie.

Kanał telefoniczny jest tworzony za pomocą linii symetrycznej o impedancji 600 omów i przenosi sygnały elektryczne w paśmie od 300 do 3400 Hz. Napięcie w linii przy odłożonym mikrotelefonie wynosi ok. 48 V i rezystancja widoczna przez modem przy podniesionym mikrotelefonie powinna być mniejsza niż 300 omów.

Rysunek poniżej przedstawia schematycznie zasadę transmisji danych poprzez linię telefoniczną.

Zasada

Zazwyczaj modem przyłączony jest do komputera, ale równie dobrze możemy go podłączyć do innego urządzenia potrafiącego go obsługiwać przez port szeregowy, np. do stacji pomiarowej. Modemy zapewniają równoczesną transmisję poprzez linię telefoniczną w obu kierunkach (tzw. dupleks). Modem jest podłączany przez łącze w standardzie RS 232C. Złącze to zawiera interfejs umożliwiający transmisję w obu kierunkach jednocześnie. Do transmisji wykorzystywane są dwie linie transmisyjne: TX (wyjście z komputera) i RX (wejście do komputera). Tymi samymi liniami są przesyłane informacje sterujące pracą modemu i dane, które przez modem są wysyłane i odbierane. Wynika z tego, że modem może znajdować się w dwóch stanach: przyjmowania komend i w stanie transmisji danych.

W trybie transmisji danych informacje trafiające do portu szeregowego po zamianie ich na postać równoległą kierowane są do bufora danych (bufor służy do czasowego przechowywania danych, co umożliwia dopasowanie szybkości przesyłania między DCE- Data Communication Equpiment- urządzenie komunikacyjne dla danych i DTE-Data Terminal Equipment-urządzenie końcowe dla danych, do szybkości wymiany informacji w linii telefonicznej). W buforze dane mogą podlegać też kompresji i korekcji błędów. Co pewien czas układ sterujący przesyła kolejne dane z bufora do modulatora, który zamienia je na sygnał analogowy zmodulowany według ustalonego protokołu. Dalej dane trafiają do przetwornika C/A, który nadaje wartościom liczbowym formę sygnału ciągłego. Stąd sygnał trafia na układ dopasowujący jego poziom do warunków panujących w linii telefonicznej, do której wchodzi w formie Ir o ustalonej amplitudzie. Sygnał po przejściu przez sieć telefoniczną trafia do modemu odległego, który Ir zamienia na sygnał napięciowy podawany na przetwornik A/C. Dalej dane w postaci cyfrowej wchodzą do demodulatora, który na podstawie grup próbek, korzystając z informacji o rodzaju stosowanego protokołu ustala ich treść. Z demodulatora dane trafiają do portu szeregowego. Transmisja danych może być półdupleksowa lub dupleksowa. Przy transmisji półdupleksowej zakłada się istnienie tylko jednej linii transmisyjnej pomiędzy urządzeniami, po której oba urządzenia mogą przesyłać dane. Sterowanie transmisją półdupleksową jest następujące: Urządzenie chcące wysłać dane np. DTE1, ustawia swój sygnał RTS (Request To Send). Następnie modem sprawdza, przez sprawdzenie sygnału DCD (Data Carrier Detected), czy łącze nie jest zajęte. Aktywny sygnał DCD oznacza, że stacja odległa transmituje dane. Jeżeli DCD w urządzeniu DCE1 jest nieaktywny to mode DCE1 zezwala na wysłanie danych uaktywniając sygnał CTS (Clear To Send). Od tej chwili DTE1 może nadawać dane przez wyjście TxD. Tak więc półdupleksowa transmisja danych odbywa się według następującej procedury:

– DTE uaktywnia linię RTS
– Modem sprawdza stan linii DCD aby sprawdzić, czy RTS stacji odległej nie jest aktywny, co oznacza zajętość łącza przez stację odległą. Jeżeli łącze jest zajęte, modem nie wystawi sygnału CTS, na skutek czego stacja wyłączy sygnał RTS i przejdzie do kroku wcześniejszego. Jeżeli DCD będzie wyłączone, następuje przejście do następnego kroku
– Jeżeli DCD jest wyłączone, lokalny modem, po niewielkim opóźnieniu uaktywnia linię CTS.
– DTE wyprowadza dane na wyjście TxD, a modem przesyła je do stacji odległej.
– Modem w stacji odbierającej kieruje dane na linię RxD urządzenia DTE.
– Stacja początkowa po wysłaniu wszystkich danych wyłącza RTS, co powoduje wyłączenie DCD w stacji odległej i CTS przez modem lokalny. Łącze jest ponownie wolne.
– Każdy DTE może teraz uaktywnić RTS i uzyskać kontrolę nad łączem w celu nadawania kolejnych danych.

Z punktu widzenia łącza RS 232C transmisja półdupleksowa jest niecelowa. Istnieją jednak sytuacje, w których modemy nie mogą pracować w sposób dupleksowy. Taki przypadek występuje przy modemach radiowych i wiąże się z tym, że starsze radiostacje nie mogły nadawać na jednej częstotliwości i odbierać na drugiej. Obecnie są jednak preferowane protokoły i urządzenia zapewniające transmisję dupleksową. Transmisja półdupleksowa jest bardziej skomplikowana.

Przy transmisji dupleksowej możliwe jest jednoczesne nadawanie danych w obu kierunkach. Oba urządzenia mogą stale i jednocześnie utrzymywać stan linii RTS, a każdy modem zezwala na transmisję ustawiając na stałe aktywny stan linii CTS. Sygnał DCD na wyjściu obu modemów jest aktywny, ponieważ RTS w stacji odległej jest aktywne.

Po włączeniu zasilania modem automatycznie ustawia się w tryb przyjmowania komend. W związku z tym wszystkie dane trafiają do portu szeregowego i potem kierowane są do interpretera komend. Podczas odbioru znaków układ portu szeregowego dokonuje automatycznej detekcji szybkości transmisji i formatu danych (liczby bitów startu, stopu, danych oraz typu bitu kontrolnego). Dane w trybie komend składają się ze znaków ASCII i zaczynają się od znaków A+T (A- 6510 T- 8410), a kończą znakiem CR (1310). Interpreter przyjmuje znaki do buforu. Po wykryciu znaku CR modem dokonuje interpretacji przesłanej wiadomości i wykonuje rozkazy. Komendy przesyłane do modemu nazywane są komendami AT lub komendami Hayes´a. Część z nich dotyczy wymuszenia jakiegoś działania modemu, jednak większość ustawia parametry dotyczące sposobu transmisji w trybie przesyłania danych. Parametry te umieszczane są w pamięci konfiguracyjnej modemu tworząc zestaw tzw. S-rejestrów. Niektóre komendy AT pozwalają bezpośrednio ingerować w zawartość S-rejestrów, więc ustawienie części parametrów modemu może następować albo przez zmianę zawartości S-rejestrów, albo przez wykonanie specyficznej komendy AT (Hayes´a). Modem może mieć w pamięci kilka zestawów S-rejestrów definiujących jego pracę. Zestawy te nazywane są profilami (w danej chwili aktywny może być tylko jeden profil. Istnieje kilkanaście komend Hayes´a, które występują we wszystkich interpreterach, oraz duża liczba specyficznych rozkazów używanych tylko przez dany typ modemu.

Przykłady komend Hayes´a
Opis działania

ATDP Wybierania impulsowe numeru np. ATDP 345890
ATDT Wybieranie tonowe
ATA Wejście na linię w trybie odpowiedzi (podniesienie słuchawki)
ATH Zakończenie połączenia (pdłożenie słuchawki)
ATL Ustawienie siły dźwięku głośnika 0-najniższe nateżenie dźwięku, 4-najwyższe natężenie dźwięku

Modem może przejść z trybu przyjmowania komend w tryb przesyłania danych gdy:

– wejdzie na linię telefoniczną
– uzyska połączenie z innym modemem
– przeprowadzi z nim negocjacje dotyczące sposobu modulacji, szybkości transmisji i formy przepływu danych, korekcji błędów i kompresji
– zawiadomi komputer o ustanowieniu połączenia

Dane przesyłane są blokowo. Każdy blok uzupełnia się sumą kontrolną CRC.

Modemy wolne (o szybkości transmisji 300 bit/s) wykorzystują modulację FSK (ang. Frequency Shift Keying), polegającą na zamianie zera logicznego na sygnał analogowy o jednejm ściśle określonej częstotliwości, natomiast jedynki logicznej na sygnał o innej częstotliwości. Modulacja ta pozwala na transmisję danych z szybkością nie większą niż 1200 bit/s.
Modemy pracujące z szybkością 1200 bit/s używają innej techniki modulacji, zwanej DPSK (Differential Phase Shift Keying). W przypadku tej metody dane transmitowane są parami, po dwa bity jednocześnie. Każda para wywołuje odpowiedni skok fazy sygnału fali nośnej.
W modemach pracujących z szybkością 24000 bit/s stosuje się kwadraturową modulację amplitudy QAM. Sygnał nośnej poddawany jest modulacji amplitudy i fazy. Bity przed wysłaniem grupowane są w czwórki. Cztery bity mogą przyjąć 16 różnych kombinacji. Na tyle samo sposobów może zostać zmienione faza, amplituda, bądź jednocześnie faza i amplituda sygnału modulowanego.
Metoda kodowania TCM (Trellis Code Modulation) stosowana jest w szybkich modemach. Polega na podziale strumienia danych na grupy czterobitowe zaopatrzone w jeden kontrolny bit nadmiarowy (dla każdej grupy czterobitowej). Bit nadmiarowy służy do kontroli każdego czterobitowego elementu sygnałowego. Tak uformowany pięciobitowy element sygnału powoduje ściśle określoną zmianę amplitudy i/lub przesunięcie fazowe.