RS 232 C
Paweł Burkhard
informatyka III rok / grupa III
Standard RS 232C (Recommended Standard) został wprowadzony w 1969 roku przez Electronic Industries Association (EIA) w celu normalizacji interfejsu pomiędzy urządzeniem końcowym dla danych (DTE - Data Terminal Equipment) a urządzeniem komunikacyjnym dla danych (DCE - Data Communication Equipment).
PN-75/T-05052 pt.,,Urządzenia transmisji danych STYK 82"
Rodzaje transmisji (kierunek):
simplex (radioodbiornik)
półduplex (radiotelefon UKF)
duplex (telefon)
Rodzaje transmisji (synchronizacja)
Transmisja synchroniczna - polega na przesyłaniu dużych bloków danych (ramek - ang. frame) bez transmisji bitów oznaczających początek i koniec poszczególnych znaków. Kolejne bity danych wyprowadzane są zgodnie z taktem nadawania. Po ostatnim bicie znaku poprzedniego wysyłany jest natychmiast pierwszy bit znaku następnego. Odtworzenie bitów w znaki (bajty) po stronie odbiorczej umożliwia specjalny znak synchronizacyjny umieszczany na początku bloku (znacznik początku). Blok danych oznaczony jest znakiem końca bloku.
Transmisja asynchroniczna - polega na przesyłaniu pojedynczych znaków, które posiadają pewien określony format danych. Początek znaku sygnalizowany jest bitem startu. Po bicie startu następują bity danych, za bitami danych może wystąpić bit kontrolny. Zakończenie transmisji znaku sygnalizowane jest jednym lub dwoma bitami stopu. Bit startu nie przesyła żadnej informacji, służy celom synchronizacyjnym. Ilość bitów danych może być od 5 do 8. Pierwszy bit danych jest najstarszym bitem przesyłanego znaku. Celem bitu kontrolnego jest zabezpieczenie danych przed błędami. Bit kontrolny zwany jest także bitem parzystości i wyznaczany jest na podstawie bitów danych. Kontrola parzystości polega na sprawdzaniu ilości jedynek w bitach danych. Bit parzystości może być ustawiony jako bit parzystości (even parity) lub jako bit nieparzystości (odd parity). Jeśli w bitach danych występuje parzysta ilość jedynek i bit kontrolny obliczany jest jako bit parzystości, to bit kontrolny przyjmuje wartość “0”. W przypadku kontroli nieparzystości bit kontrolny ustawiany jest na “1”, gdy w bitach danych występuje parzysta liczba jedynek i na “0”, gdy występuje nieparzysta liczba jedynek w danych. Bit kontrolny pozwala wykryć błąd w przesyłanych bitach danych, pod warunkiem wystąpienia nieparzystej liczby błędów w czasie transmisji. Ustawienie ilości bitów danych, ilości bitów stopu, włączenie stosowania bitu kontrolnego i określenie sposobu jego obliczania, dokonywane jest przed rozpoczęciem transmisji danych i nie może się zmieniać w trakcie trwania transmisji. Bity poszczególnych znaków przesyłane są w sposób synchroniczny, zgodnie z taktem nadajnika, poszczególne znaki przesyłane są asynchronicznie. Dane (bajty) przychodzące do układu portu szeregowego zamieniane są na ciągi bitów, następnie dzielone na bloki danych o długości od 5 do 8 bitów. Do każdego bloku danych dodawane są bity sterujące - startu, stopu, kontrolny. Wynikiem tego jest mniejsza prędkość transmisji danych niż to wynika z ustawień szybkości portu szeregowego. Np. dla 8 bitów danych dodatkowo transmitowane są 4 bity sterujące :1 bit startu, 2 bity stopu i jeden bit kontrolny. Proces dodawania bitów sterujących przedstawia rysunek.
Możliwa jest transmisja asynchroniczna z potwierdzeniami lub bez potwierdzeń.
Opis wyprowadzeń złącz DB25 i DB9
Numer wyprowadzenia w złączu |
wg normy RS 232C |
Najczęściej używane oznaczenie i znaczenie sygnału |
|
DB25 |
DB9 |
|
|
1 |
|
AA |
PG Masa ochronna |
2 |
3 |
BA |
TxD Dane nadawane |
3 |
2 |
BB |
RxD Dane odbierane |
4 |
7 |
CA |
RTS Żądanie nadawania |
5 |
8 |
CB |
CTS Gotowość do nadawania |
6 |
6 |
CC |
DSR Gotowość DCE |
7 |
5 |
AB |
SG Masa sygnałowa |
8 |
1 |
CF |
DCD, RLSD Poziom sygnału odbieranego |
9 |
|
|
Nie wykorzystany |
10 |
|
|
Nie wykorzystany |
11 |
|
|
Nie wykorzystany |
12 |
|
SCF |
SRLSD Poziom sygnału odbieranego w kanale powrotnym |
13 |
|
SCB |
SCTS Gotowość kanału powrotnego |
14 |
|
SBA |
STxD Dane nadawane w kanale powrotnym |
15 |
|
DB |
Podstawa czasu z DCE dla elementów nadawanych |
16 |
|
SBB |
SRxD Dane odbierane w kanale powrotnym |
17 |
|
DD |
Elementowa podstawa czasu wytwarzana w DCE |
18 |
|
|
Nie wykorzystany |
19 |
|
SCA |
SRTS Żądanie nadawania w kanale powrotnym |
20 |
4 |
CD |
DTR Gotowość DTE |
21 |
|
CG |
Jakość sygnału odbieranego |
22 |
9 |
CE |
RI Wskaźnik wywołania |
23 |
|
CH/CI |
Wybór szybkości transmisji przez DTE |
24 |
|
DA |
Podstawa czasu z DTE dla elementów nadawanych |
25 |
|
|
Nie wykorzystany |
Linie TxD (Transmitted Data) i RxD (Received Data) są właściwymi przewodami służącymi wymianie danych. Pozostałe są liniami sterującymi, posiadającymi następujące znaczenie:
RTS (Reguest To Send) urządzenie DTE (terminal, PC) sygnalizuje tą linią zamiar przekazywania danych do DCE (modemu). Modem przygotowuje się do odbioru danych;
CTS (Clear To Send) linią tą przesyłane jest potwierdzenie przyjęcia sygnału RTS przez DCE (modem) i stwierdzenie gotowości do odbioru danych od DTE. Komputer może rozpocząć przekazywanie danych.
Para sygnałów sterujących RTS/CTS może przy półdupleksowym trybie pracy łącza
(takim, w którym dopuszczalna jest niejednoczesna transmisja w obu kierunkach) sterować kierunkiem transmisji, przydzielając połączonym korespondentom na przemian rolę nadawcy i odbiorcy.
DSR (Data Set Readv) - specyfikacja RS-232C określa ten sygnał jako meldunek urządzenia DCE (zwykle modemu), że zostało nawiązane połączenie i układ jest gotów do pnyjęcia danych od DTE (zwykle komputera). W praktyce większość modemów nie wykorzystuje tej linii i jest ona sztucznie utrzymywana w stanie aktywnym, nie mówiąc nic o istnieniu połączenia z korespondentem. Po poziomie tego sygnału można co najwyżej wnioskować, czy modem jest w ogóle włączony;
DTR (Data Terminal Read_v) - sygnał ten wskazuje w ogólności na gotowość urządzenia DTE (komputera). Musi on pozostawać aktywny przez cały czas trwania połączenia.
Para sygnałów DTR i DSR odpowiada za utrzymanie połączenia, podczas gdy sygnały RTS i CTS są odpowiedzialne za przekazywanie danych i ewentualne sterowanie kierunkiem ich przepływu (w trybie półdupleksowym), czyli tzw. handshaking. fali nośnej, co oznacza, że druga strona jest w trakcie nawiązywania połączenia. Sygnał DCD pozostaje aktywny przez cały czas trwania transmisji;
RI (Ring Indicator) - w przypadku połączenia modemów przez sieć telefoniczną urządzenie DTE (komputer) informowane jest o odebraniu sygnału odpowiadającego wywołaniu abonenta (dzwonieniu);
DSRD (Data Signal Rate Detector) - linia ta występuje tylko w 25 końcówkowej wersji łącza. Umożliwia dostosowanie się korespondentów do jednej z dwóch możliwych prędkości transmisji. Z sygnału tego mogą korzystać obie strony połączenia.
Transmisja bez potwierdzeń odbywa się wtedy, gdy sygnały sterujące DSR i CTS oraz odpowiednio DTR i RTS są stale aktywne, pozostałe sygnały są ignorowane.
Przy transmisji asynchronicznej z potwierdzeniami dane między urządzeniem DCE a urządzeniem DTE (w obie strony) przesyłane są identycznie liniami TX i RX, ale również wykorzystuje się sygnały RTS i CTS, które ciągle uaktywniają się informując o gotowości urządzenia DTE
Zachowanie się sygnałów sterujących interfejsu RS 232 w trakcie uruchamiania urządzeń DTE i DCE, nawiązywania połączenia, w czasie jego trwania oraz rozłączania.
DTE podłączony do DTE
PC podłączony do drukarki szeregowej Qume Sprint. Drukarka jest dużo wolniejsza niż PC i producent zaimplementował sprzętowy protokół potwierdzania. Kiedy bufor drukarki prawie się zapełni, linia DTR jest ustawiana w stan niski, co mówi ze drukarka nie jest gotowa. Kiedy PC wykryje taki stan, przerywa wysyłanie danych do czasu, kiedy bufor stanie się pusty i linia DTR będzie w stanie wysokim.
Na początku łączymy linie nadawcze z odbiorczymi w dwóch urządzeniach łącząc RxD w jednym urządzeniu do TxD w drugim (to minimalne wymaganie dla komunikacji DTE-DTE).
Linie DTR PC i drukarki początkowo znajdują się w stanie wysokim. Rozważmy sygnały tak jak są widziane przez drukarkę. Linia DTR odpowiada wymaganiom linii DCD i DSR drukarki. Drukarka odpowiada wysyłając RTS, który z kolei odpowiada potrzebom PC, jeśli chodzi o sygnały DCD i DSR. PC dodatkowo wymaga aby linia CTS była ustawiona zanim będzie mógł wysyłać, ale zauważmy ze linia DTR drukarki jest podłączona do linii CTS komputera PC, tak wiec to ten warunek jest spełniony. PC może teraz wysyłać i odbierać dane z drukarki.