RS232 vs. EIA232.pdf

(203 KB) Pobierz
RS232
http://www.easy-soft.tsnet.pl
RS232 vs. EIA232
Wprowadzenie do standardu
We wczesnych latach 60 instytucja, dziś znana pod nazwą Electronic Industries Association
opracowała, wspólną dla urządzeń przesyłających dane, specyfikację standardu interfejsu
szeregowego. W tamtych latach jako „przesyłanie danych” rozumiano przede wszystkim
komunikację pomiędzy głównym komputerem mainframe i dołączonymi doń terminalami lub też
pomiędzy terminalami, bez angażowania komputera centralnego. Ci przodkowie współczesnego
komputera PC byli połączeni ze sobą przeważnie przy pomocy linii telefonicznej i modemu.
Jakkolwiek jest to bardzo prosta koncepcja, to jednak zamiana sygnału cyfrowego na analogowy,
przesłanie go przez linię telefoniczną a następnie ponowna konwersja do postaci cyfrowej, wiąże się
z możliwością powstania licznych błędów transmisji. Standard przesyłania danych był więc
konieczny po to, aby po pierwsze eliminować błędy a po drugie doprowadzić do sytuacji, w której
wyroby różnych producentów mogły być ze sobą łączone. Tak powstał interfejs RS232 ze
specyfikacją szybkości transmisji, czasów trwania sygnałów i ściśle określonym protokołem
transmisji. Trwa on w niezmiennej prawie postaci od ponad 40 lat, chociaż 1991 EIA wydała
dokument zawierający pewne modyfikacje. Wprowadzono nową nazwę dla interfejsu zmieniając ją
z RS232 na EIA232, zmieniono również nazwę niektórych linii sygnałowych oraz dodano nowe
sygnały i ich specyfikacje, między innymi ekran kabla transmisyjnego.
30 lat to w dzisiejszych czasach oznacza niewiarygodnie duży postęp w rozwoju techniki. Często
interfejs szeregowy używany jest w urządzeniach, których powstanie w momencie, gdy tworzony
był standard, leżało w sferze fantastyki naukowej. W dzisiejszych czasach prawie wszystkie z
oferowanych urządzeń posiadają interfejs zgodny z nową specyfikacją EIA232. Mam tu na myśli
protokół komunikacyjny, poziomy napięć logicznych, wyprowadzenia złącza transmisyjnego.
Interfejs służy nie tylko do podłączenia modemu ale także szeregu innych urządzeń, toteż
podłączając na przykład do komputera PC starsze urządzenia z interfejsem szeregowym RS232
możemy napotkać pewne trudności związane z kontrolą transmisji (sposobem funkcjonowania oraz
sekwencją pojawiania się sygnałów sprzętowego handshaking’u), niewłaściwą fazą sygnałów
danych i kontroli czy wreszcie innym rozmieszczeniem wyprowadzeń. Nowa specyfikacja EIA232
jest jednak na tyle dobrą, że do dwukierunkowego przesyłania danych wystarczające jest użycie
tylko dwóch linii transmisyjnych: RxD oraz TxD. Tak więc w sytuacji jak opisywana, wystarczy
pozostawienie tylko dwóch linii przesyłowych i odcięcie niewłaściwie funkcjonujących, aby
współczesny komputer PC mógł odczytać dane. Gorzej z ich wysłaniem...
Opis wyprowadzeń.
Implementacja pełnego standardu interfejsu EIA232 wymaga użycia 25-wyprowadzeniowego złącza
DSUB, chociaż standard dopuszcza również stosowanie złącz 9-wyprowadzeniowych. Urządzenie
kontrolne wysyłające lub odbierające dane nosi nazwę DTE (Data Terminal Equipment, zazwyczaj
jest to komputer) i posiada złącze „męskie” (DB25/M) wykorzystując 22 z 25 wyprowadzeń dla
sygnałów oraz masy. Kabel doprowadzony jest do urządzenia kontrolowanego, które również może
odbierać lub wysyłać dane (jak dla przykładu modem). Nosi ono nazwę DCE (Data Circuit-
terminating Equipment) i posiada złącze 25-wyprowadzeniowe „żeńskie”, identycznie jak DTE
używając również 22 z 25 wyprowadzeń.
J.Bogusz „RS232 vs. EIA232”, Strona 1 z 7
396200066.008.png 396200066.009.png
http://www.easy-soft.tsnet.pl
Kabel łączący DTE i DCE powinien mieć przewody poprowadzone na wprost (1 z 1, 2 z 2 itd.), bez
żadnych przeplotów. Tak więc wszystkie urządzenia stosujące ten rodzaj interfejsu używają
dokładnie tego samego rodzaju kabla, połączonego w sposób „jeden do jednego” i dzięki temu
możliwość pomyłki jest zredukowana do minimum. W przypadku kłopotów z połączeniem wystarczy
zwykły omomierz do przetestowania poprawności połączeń.
Na rysunkach 1 i 2 umieszczono opis wyprowadzeń złącz DSUB25 i DSUB9 wg standardu EIA232.
Opisy pogrubione oznaczają sygnały najczęściej używane do transmisji.
Rysunek 1. Opis złącza urządzenia Data Terminal Equipment wg standardu EIA232
J.Bogusz „RS232 vs. EIA232”, Strona 2 z 7
396200066.010.png 396200066.011.png
http://www.easy-soft.tsnet.pl
Rysunek 2. Opis złącza urządzenia Data Circuit-terminating Equipment wg standardu EIA232
Wiele z wymienionych sygnałów interfejsu znajduje zastosowanie tylko wówczas, gdy podłączone
urządzenie DCE jest modemem oraz są one uwzględniane przez zaimplementowany protokół
komunikacyjny. Jednak dla bardzo wielu urządzeń innego typu, niezbędne są co najwyżej dwie linie
interfejsu - RxD i TxD – reszta nie znajduje zastosowania.
Niektóre z sygnałów interfejsu są zduplikowane. Jest to drugi kanał transmisji z sygnałami
służącymi do kontroli przepływu danych. Umożliwia on zmianę szybkości transmisji w czasie jej
trwania, żąda powtórnej transmisji, jeśli został wykryty błąd parzystości oraz uzyskanie innych
funkcji kontrolnych. Drugi kanał, gdy używany, typowo przeprowadza transmisję z niewielką
prędkością w porównaniu z pierwszorzędnym. W ten sposób dane używane do kontroli zawierać
mogą minimalną liczbę błędów transmisji, co zapewnia wolno zmieniający się sygnał. Dodatkowo
kanał ten może pracować w trybie simplex, half-duplex lub duplex w zależności od możliwości
urządzenia DCE. Sygnały Receiver Timing Signal i Transmitter Timing Signal (wyprowadzenia 15,
17 i 24) są używane wyłącznie w trybie transmisji przeprowadzanej synchronicznie. Dla typowo
stosowanej transmisji asynchronicznej wyprowadzenia te są zbędne.
Dodatkowo należy wyjaśnić tutaj jedno zagadnienie. Nazwy sygnałów są właściwe dla urządzenia
DTE (można by powiedzieć głównego) i są przenoszone w odpowiedni sposób na DCE. Jeśli łączone
J.Bogusz „RS232 vs. EIA232”, Strona 3 z 7
396200066.001.png 396200066.002.png
http://www.easy-soft.tsnet.pl
ze sobą urządzenia są ścisłym odwzorowaniem standardu EIA232, wówczas kabel połączeniowy
prowadzony jest wprost i wyprowadzeniom od strony DTE odpowiadają wyprowadzenia od strony
DCE. Niestety, nie jest to praktyka zbyt wielu wytwórców. Większość z nich stosuje w swoich
urządzeniach złącze o rozmieszczeniu wyprowadzeń właściwym dla urządzeń DTE mimo, iż jest to
typowe urządzenie DCE. W związku z tym konieczna staje się zamiana pewnych linii sygnałowych
interfejsu i tak na przykład sygnał RxD od strony DTE musi trafiać na TxD po stronie DCE. Wymaga
to wykonania połączenia innego niż na wprost. Ilustruje to rysunek 3.
Rysunek 3. Połączenia pomiędzy urządzeniami DTE i DCE.
Rysunek 4. Kabel łączący dwa urządzenia DTE, tzw. null modem .
Na koniec, przy okazji opisu wyprowadzeń, jedna ważna uwaga. Specyfikacja standardu EIA232
niestety została opracowana wyłączenie z myślą o modemach. W związku z tym szereg
producentów różnych innych urządzeń takich, jak: plotery, drukarki, terminale oraz innych
wykorzystujących interfejs szeregowy, do dziś dnia stosuje własne złącza i własne rozmieszczenie
wyprowadzeń. Niestety – w tych sytuacjach musisz posiłkować się schematem danego urządzenia,
wskazówkami producenta lub jego instrukcją obsługi.
J.Bogusz „RS232 vs. EIA232”, Strona 4 z 7
396200066.003.png 396200066.004.png 396200066.005.png
http://www.easy-soft.tsnet.pl
Sygnały interfejsu EIA232.
Funkcjonalnie sygnały interfejsu EIA232 można podzielić na 6 kategorii:
1. Sygnał masy oraz ekranu, czasami zwarte ze sobą, czasami rozłączne.
2. Sygnały pierwszorzędnego kanału komunikacyjnego służące do wymiany danych oraz
kontroli ich przepływu.
3. Sygnały drugorzędnego kanału komunikacyjnego służącego do kontroli modemu,
przekazania żądania sygnału retransmisji w przypadku wystąpienia błędu.
4. Sygnały kontroli i statusu modemu umożliwiające określenie stanu w jakim znajduje się
modem oraz nawiązanie połączenia telefonicznego.
5. Sygnały sterujące transmisją w trybie synchronicznym.
6. Sygnały służące do testowania kanałów transmisji oraz wyboru maksymalnej szybkości dla
przesyłanych danych.
Funkcje poszczególnych sygnałów opisano w tabeli 1.
Nazwa i numer
wypr.
Opis
Sygnał masy oraz ekran
GND
(1, 7 i obudowa złącza)
Do tej kategorii należą wyprowadzenie 1, 7 oraz obudowa złącza stanowiąca połączenie dla ekranu kabla. Kabel połączeniowy
zapewnia odrębne przewody dla każdego z tych wyprowadzeń, mimo iż bardzo często wyprowadzenia te zwarte są wewnątrz
obudowy urządzenia – zwłaszcza wyprowadzenie 1 i ekran. Wszystkie sygnały przesyłane przez interfejs odnoszone są do
poziomu napięcia masy obecnego na wyprowadzeniu 7 złącza. Wyprowadzenie to nie powinno być zwierane z wewnętrznym tzw.
zerem ochronnym urządzenia DCE. Linia masy odróżnia interfejs EIA232 od innych, w których sygnał przesyłany jest różnicowo
(np. RS485).
Sygnały pierwszorzędnego kanału komunikacyjnego.
TxD
(2)
Wyjście danych. Wyprowadzenie to jest aktywne, gdy dane przesyłane są z urządzenia DTE do DCE. Gdy transmisja nie jest
przeprowadzana, wyprowadzenie znajduje się w logicznym stanie wysokim, co dla standardu EIA232 oznacza poziom napięć
pomiędzy –3 a –25V.
RxD
(3)
Wejście danych. Sygnał jest aktywny, gdy urządzenie DTE odbiera dane od DCE. Gdy nie jest przeprowadzana transmisja,
wyprowadzenie znajduje się w stanie logicznym „1” wymuszanym przez DCE.
RTS
(4)
Sygnał wyjściowy. To wyprowadzenie przyjmuje stan niski (3..25V) aby przygotować DCE na odbiór danych wysyłanych przez
DTE. Takie przygotowanie może dla przykładu obejmować załączenie i przygotowanie układów bufora odbioru czy też wyjście
mikrokontrolera ze stanu uśpienia. Urządzenie DCE potwierdza gotowość przy pomocy sygnału CTS – przyjmuje on stan logiczny
niski.
CTS
(5)
Sygnał wejściowy. Funkcja sygnału ściśle związana z wyprowadzeniem RTS. Sygnał używany jest do zgłoszenia potwierdzenia
gotowości urządzenia do odbioru danych. Sygnały RTS i CTS wspólnie używane są do kontroli przepływu danych do / z
urządzenia DCE.
Sygnały drugorzędnego kanału komunikacyjnego.
STxD
(14)
Wyjście danych – funkcja identyczna z funkcją pierwszorzędnego wyprowadzenia TxD
SRxD
(16)
Wejście danych – funkcja identyczna z funkcją pierwszorzędnego wyprowadzenia RxD
SRTS
(19)
Sygnał wyjściowy – funkcja identyczna z funkcją pierwszorzędnego wyprowadzenia RTS
SCTS
(13)
Sygnał wejściowy – funkcja identyczna z funkcją pierwszorzędnego wyprowadzenia CTS
Sygnały kontroli i statusu modemu
DCE Ready
lub DSR
(6)
Sygnał wejściowy, przesyłany przez urządzenie DCE. Na wejściu tym pojawia się stan logiczny niski, gdy spełnione są poniższe 3
warunki:
1. Modem jest podłączony do sprawnej linii telefonicznej, która nie jest zajęta przez inne urządzenie telekomunikacyjne
2. Modem jest w trybie transmisji danych, nie w trybie połączenia głosowego czy wybierania numeru
3. Modem zakończył wybieranie numeru lub nastawy i generuje sygnał odpowiedzi
DTE Ready
lub DTR
(20)
Sygnał wyjściowy, który przyjmuje stan niski w momencie gdy urządzenie DTE chce otworzyć kanał transmisji danych. Jeśli
urządzenie DCE to modem, to odbiór sygnału DTR przygotowuje go do połączenia. Gdy sygnał jest w stanie wysokim, modem
przechodzi w stan, w którym aktywne połączenie jest rozłączane.
Received Line Signal
Detect lub CD
(8)
Sygnał wejściowy mający bardzo duże znaczenie, gdy urządzenie DCE jest modemem. Sygnał ten nazywany jest również Carrier
Detect , ponieważ przyjmuje on stan niski w momencie odebrania sygnału nośnej od innego modemu przy próbie nawiązania
połączenia w celu przesłania danych. Sygnał jest w stanie wysokim, gdy brak jest sygnału nośnej lub jakość odbieranego sygnału
nośnej jest niewystarczająca do nawiązania połączenia (np. na skutek zakłóceń na linii).
SCD
(12)
Sygnał ten jest odpowiednikiem CD lecz dla drugorzędnego kanału transmisji
Ring Indicator
(22)
Sygnał wejściowy bardzo ważny, gdy podłączone urządzenie DCE to modem. Sygnał przyjmuje stan niski, gdy z linii telefonicznej
jest odbierany sygnał dzwonka.
Data Signal Rate
Select
(23)
Sygnał wejściowy, który może pochodzić bądź to z urządzenia DTE, bądź to z DCE ale nigdy z obu tych urządzeń jednocześnie.
Sygnał ten może wybierać jedną z dwóch wcześniej zdefiniowanych prędkości transmisji przy czym stan niski oznacza wybór
wyższej z nich.
J.Bogusz „RS232 vs. EIA232”, Strona 5 z 7
396200066.006.png 396200066.007.png
Zgłoś jeśli naruszono regulamin