RS-232 oraz RS-485 – klasyczne interfejsy szeregowe

| Technika

Większość współczesnych urządzeń elektronicznych wykorzystuje do transmisji danych interfejsy szeregowe. Wśród nich wciąż spotkać można RS-232 oraz RS-485, czyli standardy wymiany danych opracowane wiele lat temu, na długo przed upowszechnieniem się rozwiązań takich jak USB. Warto zapoznać się zatem z podstawowymi informacjami na ich temat, jak również przyjrzeć się ich zaletom, które powodują, że rozwiązania te wciąż są z powodzeniem stosowane w wielu projektach.

RS-232 oraz RS-485 – klasyczne interfejsy szeregowe

Współcześnie z powodzeniem wykorzystuje się wiele interfejsów szeregowych różnego typu. Niektóre z nich projektowane są z myślą o konkretnym zastosowaniu, zaś inne z czasem stają się uniwersalnym standardem, jak np. I²C, CAN, SPI czy I²S. W powszechnym użyciu znajdują się interfejsy szeregowe wysokiej prędkości, jak FireWire, HDMI, Ethernet oraz USB. Interfejsy RS-232 oraz RS-485 są jednymi z najstarszych wśród dostępnych rozwiązań, co jednak wcale nie czyni ich przestarzałymi oraz nieaktualnymi – wciąż świetnie sprawdzają się w wielu różnych zastosowaniach.

Jednym z głównych celów korzystania z interfejsu szeregowego jest zapewnienie pojedynczej ścieżki transmisji danych. Magistrale równoległe, choć wciąż wykorzystywane w niektórych aplikacjach, wymagają znacznie większej uwagi oraz rozwiązania dodatkowych problemów podczas integracji z projektem. Dzięki powszechnej dostępności układów i stosunkowo łatwym do osiągnięcia wysokim prędkościom transmisji interfejsy szeregowe są współcześnie najbardziej praktycznym rozwiązaniem w przypadku każdego rodzaju komunikacji na dystansie powyżej jednego metra.

RS-232

Jeden z najstarszych typów interfejsów szeregowych znany jest powszechnie pod nazwą RS-232. Oryginalnie zaprojektowany został z myślą o łączeniu urządzeń typu DTE (Data Terminal Equipment, urządzenie końcowe), takich jak np. elektromechaniczne dalekopisy, z urządzeniami typu DCE (Data Communications Equipment, urządzenie komunikacyjne). Na przestrzeni lat interfejs ten znalazł szerokie zastosowanie m.in. do podłączania monitorów, modemów czy komputerów. Pierwsze komputery typu PC miały w standardzie gniazdo RS-232 (oznaczane jako port szeregowy, serial port), przeznaczone m.in. do podłączenia drukarki lub innych urządzeń peryferyjnych. Dziś protokół ten wciąż charakteryzuje się znaczną popularnością w systemach wbudowanych, przyrządach laboratoryjnych oraz różnego rodzaju instalacjach przemysłowych.

Pełna oficjalna nazwa tego standardu komunikacyjnego to Electronic Industries Association/Telecommunications Industries Association EIA/TIA-232-F. Litera F określa kolejną, najnowszą wersję dokumentu. Standard ten jest w zasadzie tożsamy ze specyfikacją ITU-T (Interational Telecommunications Union – Telecommunications) V.24 oraz V.28.

Standard określa poziom logiczny 1 w zakresie napięć od –3 do –25 V oraz poziom logiczny 0 w zakresie od +3 do +25 V (rys. 1). Napięcia w zakresie od –3 do +3 V są niedozwolone, ponieważ czyniłyby komunikację zbyt wrażliwą na oddziaływanie szumów. Wszelkie wartości sygnału z tego zakresu odrzucane są przez odbiornik jako błędne. W powszechnej praktyce podczas komunikacji z RS-232 korzysta się zazwyczaj z sygnałów o poziomach logicznych pomiędzy ±5 V oraz ±12 V. Komunikacja odbywa się z użyciem jednej linii transmisyjnej (brak komunikacji różnicowej), zatem odbiornik oraz nadajnik muszą mieć wspólną płaszczyznę odniesienia (masy).

 
Rys. 1. Poziomy napięć dozwolone w interfejsie RS-232. Napięcia z zakresu od –3 V do +3 V odrzucane są jako błędne

Przewidziane w standardzie rodzaje medium transmisyjnego to kabel typu skrętka lub równoległe przewody. Długość kabla wpływa na maksymalną szybkość transmisji danych i w ogólnym przypadku nie powinna przekraczać 15 m. Stosowanie przewodów o większej długości wiąże się z obniżeniem maksymalnej osiągalnej prędkości transmisji. Obecnie za parametr ważniejszy od całkowitej długości kabla przyjmuje się zazwyczaj całkowitą pojemność elektryczną przewodów. W większości zastosowań zaleca się, aby nie przekraczała ona 2500 pF, co pozwala na osiągnięcie transmisji o prędkości 20 kbit/s. Z powodu niskich prędkości transmisji danych w interfejsie medium transmisyjne nie musi być traktowane jak linia transmisyjna, nie ma zatem konieczności zapewnienia dopasowania impedancji pomiędzy nadajnikiem, linią a odbiornikiem.

Standard definiuje jako podstawowe 25-pinowe złącze określane jako DB-25. Tego typu złącza są jednak obecnie używane bardzo rzadko. W zamian spotyka się najczęściej złącze 9-pinowe, znane jako DE-9 (rys. 2).

 
Rys. 2. Rodzaje sygnałów w najpopularniejszym obecnie złączu DE-9

Dawniej, w czasach powstawania i projektowania interfejsu RS-232, szybkości transmisji danych osiągalne przez urządzenia elektromechaniczne były bardzo małe, rzędu 75 bit/s, 150 bit/s lub 300 bit/s. Dziś prędkość transmisji ograniczana jest raczej przez możliwości protokołu niż samych urządzeń. Dla RS-232 maksymalna szybkość transmisji to 115.2 kbit/s, zaś inne typowe prędkości to 1200, 2400, 4800, 9600, 19200 oraz 38400 bit/s. Prędkość transmisji ograniczana jest przez maksymalną dozwoloną szybkość narastania sygnału, która wynosi 30 V/μs. Przy zastosowaniu krótkich przewodów o małej pojemności możliwe jest nawet uzyskanie prędkości transmisji rzędu pojedynczych megabitów na sekundę.

Znaczna część połączeń zestawianych z wykorzystaniem RS-232 to komunikacja jednostronna (simplex). W praktyce możliwa jest jednak również naprzemienna transmisja dwustronna (half-duplex), w której oba urządzenia mogą być na zmianę odbiornikiem i nadajnikiem.

Sterowanie komunikacją odbywa się poprzez zbiór sygnałów kontrolnych określonych w standardzie protokołu. Sygnały te informują m.in. o obecnym statusie nadajnika i odbiornika. Poniżej przedstawiono wszystkie sygnały wykorzystywane w standardowym dziewięciopinowym złączu DE9. Model komunikacji stosowany w RS-232 obejmuje dwa rodzaje urządzeń – DTE (Data Terminal Equipment) oraz DCE (Data Communications Equipment). Funkcję DTE pełni zazwyczaj komputer lub mikroprocesor – jest to urządzenie w głównej mierze zarządzające procesem komunikacji.

DTE pełni zazwyczaj komputer lub mikroprocesor – jest to urządzenie w głównej mierze zarządzające procesem komunikacji.

Data Carier Detect (DCD): DCE informuje DTE o otrzymaniu prawidłowego sygnału wejściowego.

Data Set Ready (DSR): DCE informuje DTE o połączeniu oraz gotowości do odbioru danych.

Received Data (RD): Właściwy sygnał zawierający dane przesyłane od DCE do DTE.

Request To Send (RTS): Sygnał informujący DCE o gotowości DTE do transmisji.

Transmit Data (TD): Sygnał zawierający dane przesyłane od DTE do DCE.

Clear To Send (CTS): Sygnał informujący DTE, że DCE jest gotowe do odbioru danych.

Data Terminal Ready (DTR): Sygnał wystawiany przez DTE informujący o gotowości do wysłania lub odbioru danych.

Ring Indicator (RI): Sygnał wykorzystywany dawniej w komunikacji z modemami starego typu. Obecnie nieużywany.

Signal Ground: Wspólny potencjał odniesienia dla wszystkich sygnałów.

Na rysunku 3 przedstawiono przykładowe połączenie pomiędzy DCE oraz DTE.

 
Rys. 3. Typowe połączenie pomiędzy elementami interfejsu RS-232

Choć nie jest to formalnie częścią standardu RS-232, większość urządzeń wykorzystuje go razem z układem o nazwie UART (Universal Asynchronous Receiver Transmitter). UART implementuje się zazwyczaj w postaci dodatkowego układu scalonego (lub obwodu), zaś jego rola polega na konwersji typu transmisji z równoległej na szeregową (oraz odwrotnie). Pozwala to na jednoczesną transmisję do 8 bitów danych. UART porządkuje bity, dodaje również uzupełniające informacje pozwalające na zarządzanie transmisją, takie jak bit start/ stop na początku i końcu transmisji, bity parzystości oraz sygnał pozwalający na określenie szybkości transmisji.

Transmitowane dane to często znaki ASCII, nie jest jednak wymagany żaden konkretny format danych. UART może być zazwyczaj programowo konfigurowany w celu ustawienia długości słowa, liczby bitów stopu, jak również obecności (lub nie) bitów parzystości. Możliwy jest również wybór szybkości transmisji.

 
Rys. 4. Przebieg sygnału RS-232 transmitującego znak J w formacie ASCII. Transmisja rozpoczyna się bitem startu, a kończy bitem stopu. Najmłodszy bit transmitowany jest jako pierwszy, uwzględniono również bit kontroli parzystości

RS-485

Kolejnym z popularnych standardów definiowanych przez organizację EIA/ TIA jest TIA-485, powszechnie znany pod nazwą RS-485. Umożliwia on komunikację pomiędzy wieloma urządzeniami, tworząc sieć o topologii magistrali. Protokół ten stanowi swego rodzaju rozszerzenie interfejsu RS-232, również pod kątem osiąganych prędkości i zasięgu komunikacji.

W przeciwieństwie do RS-232, RS-485 wykorzystuje sygnał różnicowy na dwóch liniach. Poziom logiczny 1 to napięcie o wartości poniżej –200 mV, zaś logiczne 0 to napięcie powyżej +200 mV. Typowe stosowane w praktyce poziomy napięć wynoszą od ±1,5 do ±6 V, zaś wejściowa czułość odbiornika to ±200 mV. Konstrukcja interfejsu gwarantuje odporność na wszystkie szumy z przedziału ±200 mV. Różnicowa forma sygnału zapewnia również niewrażliwość na wszystkie szumy wspólne (common-mode noise).

Definiowane przez standard medium transmisyjne to kabel typu skrętka o rozmiarze 22 lub 24 AWG (0,2–0,3 mm²). Do realizacji połączenia wymagane są minimalnie dwa przewody, możliwe jest jednak wykorzystanie również trzeciego przewodu referencyjnego. W przypadku transmisji full-duplex konieczne jest połączenie czteroprzewodowe. Przewody mogą być ekranowane, choć nie jest to wymagane i raczej rzadko stosowane w praktyce. Przewód połączeniowy traktowany jest jak linia transmisyjna o impedancji charakterystycznej 100 lub 120 Ω. Do realizacji połączenia wymagane jest umieszczenie na końcu linii przewodów terminujących zapewniających dopasowanie impedancyjne oraz eliminujących odbicia sygnału.

Standard RS-485 nie definiuje żadnego określonego typu konektora. W praktyce wykorzystuje się różne typy złączy, zależnie od potrzeb konkretnej implementacji. Do popularniejszych należy konektor DE-9 znany także z RS-232.

Górny limit szybkości transmisyjny określany jest przez długość przewodu. Dzięki obniżeniu poziomu napięć oraz zastosowaniu połączenia różnicowego możliwe jest osiąganie transmisji o prędkościach przekraczających 10 Mbit/s. Jako maksymalną dopuszczalną długość przewodu podaje się najczęściej 1200 m, co pozwala na transmisję z prędkością do 100 kbit/s. Ogólne wytyczne mówią, że iloczyn długości przewodu w metrach i prędkości transmisji w b/s jest stały i wynosi 100. Dla przykładu, 20-metrowy przewód powinien pozwolić na transmisję z prędkością 5 Mbit/s.

Interfejs RS-485 może pracować w trybie simplex lub półduplex, z wykorzystaniem jednej pary przewodów, albo w trybie full-duplex za pomocą dwóch par przewodów. Sieć o topologii magistrali może składać się maksymalnie z 32 nadajników i 32 odbiorników. Nadajniki odłączane są od sieci podczas braku aktywności (nadawania), zaś odbiorniki podłączone są na stałe. Magistrala zakończona jest rezystorem terminującym.

Standard nie ma żadnego określonego protokołu komunikacyjnego. W większości przypadków unikatowy protokół definiowany jest na potrzeby konkretnej aplikacji.

Modyfikacje interfejsów

W praktyce czasami napotkać można również nieco zmodyfikowane odmiany opisanych interfejsów. Standard RS-422 to odmiana RS-485 zaprojektowana z myślą o pojedynczym nadajniku połączonym z siecią maksymalnie do 10 urządzeń odbiorczych. Interfejs RS-423 to natomiast rozwiązanie wykorzystujące pojedynczy przewód sygnałowy (zamiast różnicowego), w pozostałych aspektach zaś tożsame z RS-422.

Zastosowanie

Standard RS-232/TIA-232 wciąż wykorzystywany jest w szerokim zakresie w aplikacjach, dla których dopuszczalna jest stosunkowo wolna transmisja danych na krótkich odległościach, w szczególności w wysoce zaszumionym otoczeniu. Przykłady zastosowania tego interfejsu napotkać można w aplikacjach przemysłowych, robotyce, systemach wbudowanych oraz urządzeniach medycznych. RS-485 jest szeroko stosowany w sytuacjach, dla których wymagana jest nieco większa szybkość transmisji lub znacznie większy jej zasięg. Interfejs tego typu spotkać można w takich samych grupach urządzeń jak w przypadku RS-232, a także w różnego typu terminalach czy urządzeniach pomiarowych. Specyfikacja RS-485 została ponadto zaadaptowana przez popularne protokoły komunikacyjne, takie jak Profibus oraz Modbus.

Podsumowanie

 
Rys. 5. Typowa topologia sieci RS-485. Do magistrali różnicowej podłączone są zarówno nadajniki (D, driver), odbiorniki (R, receiver), jak i układy nadawczo-odbiorcze. Linia zakończona jest obciążeniem dopasowanym

W ogólności RS-232 jest przeznaczony przede wszystkim do rozwiązań niewymagających wysokiej transmisji danych lub dużego zasięgu komunikacji. Jest prosty oraz tani w implementacji, ponadto na rynku znajduje się mnóstwo urządzeń (nadajniki, odbiorniki, złącza) dla tego standardu. Większość układów komunikacyjnych ma wbudowane układy konwersji napięć, dzięki czemu mogą być zasilane z pojedynczego źródła o standardowym napięciu 3,3 lub 5 V.

Interfejs RS-485 stosuje się w sytuacjach, dla których wymagana jest wyższa szybkość lub zasięg transmisji. Niewątpliwą zaletą tego standardu, podobnie jak w przypadku RS-485, jest duża dostępność specjalizowanych układów komunikacyjnych.

 

Damian Tomaszewski