Widget
Podziel się:

RS-232


RS-232C
Wtyk RS-232
Typ interfejsuszeregowy
Transfertyp. do 115,2 kb/s (w niektórych implementacjach, np. modemy jako karty wewn., do 230,4 kb/s), w trybie synchronicznym do 1 Mb/s
Długość magistralido ok. 15 m (nie określono w standardzie)
Liczba portówtypowo 1 lub 2
Liczba urządzeńjedno na każdy port
Rodzaj złączaDE-9 lub DB-25
Zasilanie przez interfejsnie
Hot pluggingnie
Zastosowanie
modemy, telefony komórkowe, łączenie dwóch komputerów kablem null modem, starsze drukarki, Tunery satelitarne, sprzęt specjalistyczny, diagnostyka samochodowa, programowanie układów logicznych
Port szeregowy (RS-232) gniazdo męskie
Wtyk żeński RS-232

Standard RS-232 opisuje sposób połączenia urządzeń DTE (ang. Data Terminal Equipment) tj. urządzeń końcowych danych (np. komputer) oraz urządzeń DCE (ang. Data Communication Equipment), czyli urządzeń komunikacji danych (np. modem). Standard określa nazwy styków złącza oraz przypisane im sygnały a także specyfikację elektryczną obwodów wewnętrznych. Standard ten definiuje normy wtyczek i kabli portów szeregowych typu COM. Standard RS-232 (ang. Recommended Standard) opracowano w 1962 roku na zlecenie amerykańskiego stowarzyszenia producentów urządzeń elektronicznych w celu ujednolicenia parametrów sygnałów i konstrukcji urządzeń zdolnych do wymiany danych cyfrowych za pomocą sieci telefonicznej.

RS-232 jest magistralą komunikacyjną przeznaczoną do szeregowej transmisji danych. Najbardziej popularna wersja tego standardu, RS-232C pozwala na transfer na odległość nie przekraczającą 15 m z szybkością maksymalną 20 kbit/s.

W architekturze PC standardowo przewidziano istnienie 4 portów COM oznaczanych odpowiednio COM1-COM4. Specjalizowane karty rozszerzeń pozwalały na podłączenie znacznie większej ilości portów RS-232, jednak nie były one standardowo obsługiwane przez MS-DOS i wymagały specjalistycznego oprogramowania.

W przypadku komputerów PC porty RS-232 początkowo obsługiwane były przez układy 8250 (PC, XT), później 16450 (AT, 80386, pierwsze i486), następnie przez zintegrowane z płytą główną 16550A. Układy te są ze sobą wstecznie zgodne, jednak kolejne wersje posiadają coraz większy bufor FIFO. Kość 16550A posiada standardowo bufor 2x 16b. Zwiększenie długości kolejki FIFO skutkowało obniżeniem częstotliwości przerwań generowanych przez port przy przesyłaniu danych. Na potrzeby zastosowań profesjonalnych (np. równoczesna obsługa wielu szybkich modemów w systemach typu BBS) stosowano często specjalizowane karty RS-232 z jeszcze większymi buforami (np. 16650 czy karty procesorowe). Znane były rozwiązania pozwalające na podłączenie do 1024 urządzeń RS-232, przy zachowaniu pełnej prędkości per port i buforami rzędu 1024 bajty na port. Część kart tego typu pozwalała także na ustawianie wyższego zegara wskutek czego bitrate na wyjściu układu był wyższy niż ustawienia programowe – przy dużej wielkości kolejki FIFO pozwalało to na uzyskiwanie wysokich (często niestandardowych – jak w przypadku modemów ZyXel 76800 bps) prędkości. Spotkać można było na rynku modemy komunikujące się z portem RS-232 z prędkościami do 421 kbit/s, a nawet 921,6 kbit/s (np. Yuko, Goramo).

Specyfikacja napięcia definiuje "1" logiczną jako napięcie -3V do -15V, zaś "0" to napięcie +3V do +15V. Poziom napięcia wyjściowego natomiast może przyjmować wartości -12V, -10V, +10V, +12V, zaś napięcie na dowolnym styku nie może być większe niż +25V i mniejsze niż -25V. Należy zaznaczyć przy tym, że zwarcie dwóch styków RS-232 teoretycznie nie powoduje jego uszkodzenia. W praktyce ten zapis w specyfikacji nie zawsze jest przestrzegany.

Spis treści

[edytuj] Sygnały w PC

Widok gniazda PC (męskiego) typu DE-9 od strony wtyczki
NumerKierunekOznaczenieNazwa angielskaNazwa polska
9 pin25 pin
18DCE – > DTEDCDData Carrier Detectedsygnał wykrycia nośnej
23DCE – > DTERxDReceive Dataodbiór danych
32DCE < – DTETxDTransmit Datatransmisja danych
420DCE < – DTEDTRData Terminal Readygotowość terminala 1)
57DCE – DTEGNDSignal Groundmasa
66DCE – > DTEDSRData Set Readygotowość "modemu" 1)
74DCE < – DTERTSRequest to Send Datażądanie wysyłania
85DCE – > DTECTSClear to Send Datagotowość wysyłania
922DCE – > DTERIRing Indicatorwskaźnik dzwonka
 9-19; 21; 23-25 NC nie wykorzystane 2)

1) nazwa sygnału DSR bywa mylnie tłumaczona jako "wypełniony bufor (gotowość transmisji)", a DTR jako "przetworzono dane (gotowość odbioru)" - w rzeczywistości oznaczają one gotowość urządzeń do pracy (czyli, że mają włączone zasilanie i wykonały reset po włączeniu) - angielskie nazwy "Data Set" i "Data Terminal" oznaczają urządzenia, a nie ich stany.

2) sygnały te nie są wykorzystywane przy łączności asynchronicznej (standardowy PC miał tylko taką) - łączność synchroniczna używała jeszcze innych sygnałów, np. zegarowych do odbioru i wysyłania danych (RxC i TxC), które przy łączności asynchronicznej są zbędne.

[edytuj] Zworki na wtyku kontrolnym

9 pin25 pin
2--32--3
7--84--5
1--4--66--8--20

Podłączenie do PC (lub innego DTE) tak wykonanego wtyku powoduje, że dostaje on z powrotem wszystkie wysłane dane - taki wtyk służy do testowania poprawności działania portu RS-232 w DTE.

[edytuj] Protokoły transmisji danych

Asynchroniczny: każdy bajt jest przesyłany niezależnie, i jest poprzedzony bitem START (stan 0), po którym są przesyłane bity danych od 0 do 7 (lub mniej: stosuje się bajt od 5 do 8 bitów), po nich opcjonalnie bit parzystości (do wyboru: tak, by łączna liczba jedynek w danych i tym bicie była parzysta (Even Parity), albo nieparzysta (Odd Parity), albo by miał określoną wartość 0 albo 1 (Stick Parity) - łącznie 4 możliwości), i na koniec bit (lub bity) STOP (stan 1; dla słowa 5-bitowego 1 lub 1.5 bitu, dla dłuższych 1 lub 2; jest to gwarantowany odstęp przed bitem START następnego bajtu, może on jednak być dowolnie długi); bity mają czas trwania określony przez stronę wysyłającą, strona odbierająca odmierza czas od zbocza 1→0 na początku bitu start i próbkuje stan w połowie długości bitu; wykrycie wartości '1' w połowie bitu START jest interpretowane jako "fałszywy start"; wykrycie wystąpienia '0' pół odstępu czasu po rozpoczęciu bitu STOP jest interpretowane jako "błąd ramki" (framing error).

Synchroniczny: DCE (modem) podaje sygnały TxC (nie musi go podawać, lub może być nieprawidłowy, kiedy nie daje CTS) i RxC (nie musi go podawać, lub może być nieprawidłowy, gdy nie daje DCD), a DTE (terminal) wysyła (TxD) lub odbiera (RxD) kolejne bity danych; żeby ustalić przy odbieraniu, gdzie jest granica bajtów, dane są poprzedzone serią bajtów SYN (0x16 - DTE musi analizować je i wykryć, o ile bitów trzeba przesunąć dane, by uzyskać taką wartość), po których następuje znak rozpoczynający pakiet danych (np. SOH - 0x01) i kolejne bajty, bez możliwości "zaczekania" (najwyżej z możliwością wysłania danych nieznaczących); dane mają strukturę określającą ich przeznaczenie (np. dane do wyświetlenia, dane do wydrukowania, sterowanie terminalem - to, co w protokole TCP/IP określa "port"), i gdzie jest ich koniec; zwykle dla kontroli poprawności transmisji pakiet zawiera dodatkowe dane do jej sprawdzenia, czasem jest to różnica symetryczna wszystkich bajtów, częściej CRC; z powodu konieczności synchronizacji przesyłanie danych wyłącznie pakietami; liczba bitów pomiędzy pakietami nie musi być wielokrotnością bajta.

[edytuj] Modemy half- i full-duplex

Modem full-duplex może jednocześnie odbierać i wysyłać, DTE współpracujący z takim modemem zwykle włącza na stałe sygnał RTS, aby uniknąć opóźnień na synchronizację modemów.

Modem half-duplex nie może robić obu tych rzeczy naraz - podanie RTS powoduje odczekanie na przerwę w sygnale nośnym (DCD) i wysłanie sygnału nośnego - po uzyskaniu stabilnego połączenia do wysyłania z modemem z drugiej strony modem podaje sygnał CTS; po zakończeniu wysyłania danych (ale nie wcześniej) DTE musi wyłączyć RTS, aby modem przestał wysyłać sygnał nośny i pozwolił, by modem z drugiej strony mógł rozpocząć wysyłanie.

[edytuj] Różne warianty złącz

SygnałNadawcaDB-25DE-9
(TIA-574)
8P8C ("RJ45")10P10C ("RJ50")Alternatywne funkcje
NazwaOznacz.DTEDCETIA-561YostMMJCisco[1]Hirsch- mannCycla- des[2]National Instr[3].Cycl- ades[2]Digi[4]
Common GroundG7544,53,44,544657-
Protective GroundPG1--------14-
Transmitted DataTxD23632333845-
Received DataRxD32565656976-
Data Terminal ReadyDTR2043212-2739-
Data Set ReadyDSR661767-8592 (alt 10)-
Request To SendRTS4781-1 (tylko Aux)-1423Ready To Receive (RTR)
Clear To SendCTS5878-8 (tylko Aux)-5368-
Carrier DetectDCD8127---710810 (alt 2)-
Ring IndicatorRI2291-----2101-

[edytuj] Standard RS-232-D

[edytuj] Zobacz też

Przypisy

[edytuj] Bibliografia

  • Burkhard Kainka: „Messen, Steuern, Regeln über die RS 232-Schnittstelle“, Burkhard Kainka, Franzis Verlag, 1997, ISBN 3-7723-6058-0.
  • Joe Campbell: "V 24 / RS-232 Kommunikation", Sybex-Verlag, 1984, ISBN 3-88745-075-2.

[edytuj] Linki zewnętrzne


Tekst udostępniany na licencji Creative Commons: uznanie autorstwa, na tych samych warunkach, z możliwością obowiązywania dodatkowych ograniczeń.

Zobacz szczegółowe informacje o warunkach korzystania.

Zasady ochrony prywatności O Wikipedii Informacje prawne