Interfejsy szeregowe RS

Interfejsy szeregowe RS
Pobierz PDF Download icon
Niegdyś bardzo popularny interfejs RS232 został już zupełnie wyparty z komputerów PC przez łatwiejszy w użyciu, szybszy i ?bardziej miniaturowy? interfejs USB. Mało tego, przez wielu konstruktorów jest mylony z UART, w którym jedynie obiór i wysyłanie danych przebiegają podobnie tj. za pomocą jednokierunkowych linii RxD i TxD, ale już samo sterowanie przepływem uwzględnia jedynie opcję ?none?, to znaczy ? brak sterowania. Zupełnie inne są też poziomy napięcia ? w UART jest to napięcie zasilania mikrokontrolera lub jego linii IO, w RS232 jego amplituda może sięgać aż 48 V. Jest jednak wiele sytuacji, w których nieskomplikowany interfejs szeregowy jest po prostu niezastąpiony.

Niekiedy w praktyce spotykamy się z nieco „dziwnymi” rozwiązaniami interfejsów szeregowych. Konstruktorzy budujący niestandardowe urządzenia niekiedy uciekają się do bardzo ryzykownych rozwiązań, dla przykładu – budując interfejs szeregowy I2C optoizolowany, umożliwiający transmisję na odległość wielu metrów. Co ciekawe, w warstwie sprzętowej ci konstruktorzy prawie zawsze sięgają do rozwiązań dobrze znanych z interfejsów szeregowych – przeważnie RS485.

Pomimo coraz chętniej stosowanych do budowania sieci cyfrowych modułów bezprzewodowych, w artykule omówimy chętnie i często używane interfejsy szeregowe RS. Nadal królują one w urządzeniach przemysłowych, pomiarowych, automatyki domowej i innych zapewniając pewne połączenie i transmisję danych w szerokim zakresie prędkości.

RS422 i RS485

Interfejsy RS422 i RS485 obiegowo są nazywane „prądowymi”. Co prawda, w najprostszym rozwiązaniu układ nadajnika wymaga dołączenia masy pełniącej funkcję poziomu odniesienia, jednak sama transmisja przebiega różnicowo i masa nie jest „używana” przy pomiarze napięcia. Jeśli systemie nie jest stosowana optoizolacja lub inny rodzaj izolacji galwanicznej nadajnika od odbiornika, to dołączenie masy utrzymuje na bezpiecznym poziomie napięcie docierające do wejścia odbiornika.

RS-422 to standard transmisji, w którym pojedynczy nadajnik (driver) może zasilać do 10 odbiorników (rysunek 1). Jeśli istnieje potrzeba dołączenia do tej samej magistrali transmisyjnej więcej niż jednego nadajnika, to zalecane jest zastosowanie interfejsu RS485. W standardzie RS485 do pojedynczej magistrali transmisyjnej można dołączyć do 32 buforów dwukierunkowych, które są nazywane transceiverami.

Transceiver RS485 musi mieć wyjścia trójstanowe, a więc i wejście enable zezwalające mu na pracę lub wprowadzające wyjścia jego wyjścia w stan trzeci, gdy nadajnik jest nieaktywny. Wynika z tego pewna ważna cecha użytkowa. O ile RS422 może przesyłać dane tylko z użyciem pojedynczej pary przewodów dla każdego z sygnałów, o tyle trójstanowe właściwości RS485 pozwalają mu na transmisję danych w trybach half duplex (rysunek 2) i full duplex (rysunek 3). W obu interfejsach układy nadajników mają pojedyncze wejście i wyjścia różnicowe, natomiast odbiorniki mają pojedyncze wyjście i wejścia różnicowe.

W specyfikacji standardu impedancja wejściowa odbiornika RS485 jest większa od 12 kV i jest ona nazywana jednostką obciążenia (UL). Standardowy odbiornik może transmitować sygnał do 32 układów wprowadzających obciążenie 1×UL. Producenci niektórych z układów transceiverów RS485 podają, że wprowadzają one obciążenie 1/2, 1/4 lub 1/8×UL. Jak łatwo się domyślić, oznacza to, że pojedynczy układ odbiornika wprowadza jedynie część obciążenia standardowego i dzięki temu można do magistrali dołączyć więcej odbiorników. Na przykład, jeśli stosujemy układy 1/4 UL, to 4×32=128 węzłów, 1/8 UL – 8×32=256 węzłów itp.

Wiele z układów driverów RS485 ma takie same parametry, jak układy stosowane przy transmisji RS422. W transceiverach RS485 napięcie trybu wspólnego jest rozszerzone do zakresu –7…+12 V, co jednak nie wyklucza ich stosowania w sieciach RS422. Co więcej, te układy muszą wykazywać się odpornością na rozszerzony zakres napięcia również w stanie trzecim lub wtedy, gdy są wyłączone (niektóre z układów transceiverów mają wejście wprowadzające je w tryb obniżonego poboru energii). Różnicowe przesyłanie danych powoduje, że ten rodzaj interfejsu doskonale nadaje się do pracy w środowiskach przemysłowych, silnie zaszumionych. Szum dodaje się w tej samej fazie do obu przewodów i jest usuwany przez odbiornik.

Sygnał powinien być transmitowane skrętką, ponieważ ma ona najlepsze parametry elektryczne. Zalecana impedancja skrętki to 120 V. Sumaryczna długość kabli połączeniowych dołączonych do pojedynczego węzła nie powinna przekraczać 1200 m. Na końcu kabla, to jest w punkcie najbardziej oddalonym od nadajnika, powinien być założony terminator, ale nie wszystkie systemy wymagają jego stosowania. Zależność maksymalnej prędkości transmisji od długości kabla połączeniowego pokazano na rysunku 4.

Terminator jest niezbędny dla zapewnienia dopasowania energetycznego węzła do linii transmisyjnej. Przy braku dopasowania, energia nadajnika nie jest w całości absorbowana przez odbiornik i jej część odbija się od zakończenia linii. Efektem w najlepszym wypadku jest ograniczenie prędkości transmisji, a w najgorszym brak możliwości przesyłania danych. Stosowanie terminatorów ma wady: zwiększa obciążenie prądowe nadajnika, komplikuje instalację i utrudnia wprowadzanie modyfikacji sieci. Decyzja czy należy używać terminatora powinna być podjęta z uwzględnieniem prędkości transmisji oraz długości kabla połączeniowego. Jeśli czas propagacji linii jest o wiele krótszy od czasu trwania pojedynczego bitu, to terminator nie jest potrzebny, ponieważ odbiornik próbkuje nie zbocze sygnału, lecz środek przebiegu, więc w środku czasu trwania bitu sygnał powinien być ustabilizowany. Sygnał docierając do końca przewodu odbije się od niego i dotrze do odbiornika, i ponownie do nadajnika. Czas powrotu jest uzależniony od prędkości propagacji kabla (VOP), która typowo wynosi od około 66 do 75% prędkości światła. Zjawisko odbicia zajdzie kilka razy, aż zakończy się na skutek strat energetycznych. W takiej transmisji danych raczej nie istnieje niebezpieczeństwo powstania fali stojącej i zwielokrotnienia energii w nadajniku, więc można założyć, że sygnał zostanie wysłany, odbity, wróci do nadajnika i ponownie przebędzie drogę do odbiornika, gdzie zostanie stłumiony. Takie zjawisko zajdzie np. trzykrotnie. Korzystając ze wzoru (patrz PDF) można wyznaczyć czas propagacji. Na przykład, dla kabla o długości 1200 m i prędkości propagacji 0,66×c sygnał przebędzie drogę 1200 m po czasie ok. 6,1 ms, więc przyjmując założenia jak wyżej można przyjąć, że sygnał ustabilizuje się po czasie 18,3 ms po zmianie zbocza sygnału. Przy prędkości transmisji 9600 bps pojedynczy bit trwa 104 ms. W związku z tym, że odbicie sygnału zostanie stłumione przed upływem czasu trwania połowy bitu, w opisywanym przykładzie terminator może nie być potrzebny.

Najbardziej rozpowszechnione są rezystory terminujące (rysunek 5). Wartość ich rezystancji nie powinna być mniejsza niż 90 V. Typowo, dla kabla typu „skrętka” stosowane są rezystory 120 V włączane równolegle do linii. Inny popularny sposób wykonania terminatora, to dwójnik RC złożony np. z rezystora 120 V i kondensatora 100 nF, jak pokazano na rysunku 6. Taki terminator eliminuje obciążenie stałoprądowe, ale dobór kondensatora jest krytyczny. Osoby zainteresowane doborem terminatorów powinny zapoznać się np. z nota aplikacyjną AN-903 firmy Texas Instruments [1].

Wyposażając urządzenie w interfejs RS485 warto zastanowić się nad galwanicznym odizolowaniem nadajnika od odbiornika. Pomimo podwyższonego kosztu takiego rozwiązania, na pewno należy je zastosować, gdy wiadomo, że urządzenia będą pracowały w dużej odległości od siebie, w różnych budynkach i nie ma gwarancji, że będą zasilane z tej samej fazy. Powoduje to różnicę w potencjałach masy i prowadzi do przepływu prądu wyrównawczego, który nie tylko może uniemożliwić przesyłanie danych, ale również doprowadzić do uszkodzenia połączonych urządzeń. Można powiedzieć, że izolacja galwaniczna umożliwia przepływ danych bez przepływu prądu wyrównawczego. Wielu producentów oferuje gotowe moduły i układy scalone umożliwiające tworzenie takich rozwiązań przy minimalnej liczbie komponentów zewnętrznych.

Wybierając układy do transceiverów RS422 czy RS485 warto zastanowić się nad odpowiedzią na następujące pytania:

  • Czy transmisja będzie się odbywać z użyciem 2 czy 4 linii?
  • Czy jest wymagane połączenie masy?
  • Czy jest wymagane galwaniczne odizolowanie urządzeń?
  • Czy jest wymagane użycie zabezpieczeń nadnapięciowych (przed wyładowaniami ESD)?
  • Czy jest wymagany terminator?
  • Czy sieć będzie modyfikowana (np. przez dołączanie kolejnych urządzeń)?
  • Jaki jest czas odpowiedzi urządzenia?
  • Jaka prędkość transmisji jest obsługiwana?
  • Jaki będzie spodziewany czas propagacji linii transmisyjnej?

RS232, RS423 i RS562

Specyfikację EIA232 standardu interfejsu szeregowego służącego do przesyłania danych opracowano we wczesnych latach 60. Pierwotnie służył on głównie do komunikacji pomiędzy komputerem głównym a jego terminalami za pomocą linii telefonicznej i modemu. Standard opracowano, aby eliminować błędy przesyłania danych oraz umożliwić łączenie ze sobą urządzeń różnych producentów. Określono w nim maksymalną prędkość przesyłanych danych na 20 tys. bitów na sekundę (górny limit jeszcze mieszczący się w standardzie to 19200 bps). Niezmienne prędkości danych nie są wyspecyfikowane w standardzie, jakkolwiek do najczęściej spotykanych należą: 110, 300, 600, 1200, 2400, 4800, 9600 i 19200 bps.

W RS232 są przesyłane asynchronicznie, w konfiguracji punkt-punkt (rysunek 8) z użyciem dwóch linii – osobnej do nadawania (TxD) i osobnej do odbioru (RxD). Interfejs ten często określa się mianem „napięciowego”, ponieważ odbiorniki działają na zasadzie pomiaru napięcia. Zgodnie ze specyfikacją EIA232, napięcie odpowiadające poziomowi logicznej „1” wynosi –3...–25 V, natomiast logicznemu „0” +3…+25 V. Jest ono mierzone w odniesieniu do przewodu masy. Na rys. 8 masy nadajnika i odbiornika oznaczono innym kolorem, ponieważ w rzeczywistości są to inne masy, które mimo tego powinny mieć ten sam potencjał. Zapewnia to łączący je kabel, bez którego RS232 nie może prawidłowo przesyłać danych. Czasami jako ten kabel stosuje się żyłę o dużym przekroju i nazywa się ją „połączeniem wyrównawczym”.

Rezystancje wyjściowe nadajników linii powinny być tak dobrane, aby prąd płynący przez pojedynczą żyłę nie przekroczył 500 mA. W praktyce jednak prąd zwarciowy większości driverów nie przekracza kilkunastu mA (np. dla MAX232 wynosi ±10 mA). Długość kabla połączeniowego nie jest określana przez specyfikację standardu. W praktyce od niej pojemność szkodliwa dołączona do linii, a więc i zniekształcenia sygnału wprowadzane przez kabel. Sprowadza się to do prostej zależności – im dłuższy kabel, tym mniejszą prędkość transmisji można osiągnąć, przy założonej elementarnej stopie błędów. Przyjęto, że w typowych warunkach nadajnik może być obciążony impedancją 3…7 kV i pojemnością do 2,5 nF. Przy zastosowaniu typowej skrętki daje to maksymalną długość połączenia wynoszącą około 20 m. Specyfikacja standardu nie przewiduje optoizolacji urządzeń, co nie oznacza, że nie wolno jej stosować. Jest ona zalecana szczególnie wtedy, gdy urządzenia różnią się pomiędzy sobą potencjałem przewodu masy.

RS232 nie określa protokołu transmisyjnego warstwy 2. Normalnie dane są przesyłane w postaci słów o długości 7 lub 8 bitów, aczkolwiek np. system Windows dopuszcza używanie słów składających się z 4...8 bitów danych. Początek ramki danych jest sygnalizowany przez bit Start o niskim poziomie logicznym. Dodatkowo, zależnie od używanego protokołu transmisji, po bitach danych może być przesyłany bit parzystości. Może go nie być (None) lub może być wyzerowany (Space), ustawiony (Mark), ustawiony gdy słowo zawiera parzystą liczbę „1” (Even) lub nieparzystą (Odd). Ramkę kończy bit Stop o poziomie wysokim, który może trwać przez okres 1; 1,5 lub 2 bitów. Mimo podanych uwag na temat słowa danych należy jednak zwrócić uwagę na fakt, że standard nie definiuje protokołu komunikacyjnego ani bitów parzystości – dotyczy jedynie warstwy 1 tj. fizycznego sposobu wykonywania połączeń. Dlatego też nadajniki i odbiornik RS232 mogą być używane do różnych zastosowań, nawet do tworzenia magistral równoległych.

Podstawowe problemy związane z transmisją danych za pomocą RS232 wiążą się z napięciowym charakterem interfejsu. Duża impedancja wejściowa powoduje, że łatwo odkładają się na niej zaburzenia indukowane przez czynniki zewnętrzne, jednak dzięki dużemu marginesowi napięcia poziomów logicznych i szerokiej strefie stanów zabronionych, połączenia RS232 są stosunkowo odporne na interferencje.

RS562 jest niskonapięciową wersją RS232. Rola i znaczenie jego sygnałów jest takie same, jednak nadajniki linii RS232 wytwarzają minimalne napięcie wynoszące +5 V dla „0” oraz –5 V dla „1”, natomiast nadajniki RS562 ±3,7 V. Dopuszczalne napięcie maksymalne jest takie samo, jak w RS232. Niższe napięcie wyjściowe nadajników może powodować pewne problemy, ponieważ niektóre urządzenia o małym poborze prądu dołączane do RS232 są z niego zasilane. Napięcie zapewniane przez RS562 jest niższe, co może być niewystarczające np. dla myszy komputerowej. Podobnie jak w RS232, transmisja odbywa się z maksymalną prędkością. Można powiedzieć, że RS562 jest niskonapięciową wersją RS232.

Kolejną modyfikacją RS232 jest RS423 umożliwiający transmisję w konfiguracji punkt-wiele punktów (maksymalnie do 10 odbiorników). Opis standardu definiuje pojedynczy nadajnik dołączony do wielu odbiorników. Inaczej niż w RS232, gdzie masy nadajnika i odbiornika były ze sobą zwarte, w RS432 masa jest dołączona tylko po stronie nadajnika (rysunek 9).

Wybierając układ scalony transceivera warto rozważyć kilka aspektów aplikacji:

  • Jakie jest napięcie zasilania?
  • Jaki jest maksymalny, dopuszczalny pobór energii i czy jest w związku z tym jest wymagana funkcja oszczędzania energii?
  • Jaka jest maksymalna prędkość transmisji?
  • Ile sygnałów interfejsu RS232/RS432 ma być buforowanych?
  • Czy jest wymagana ochrona przed wyładowaniami elektrostatycznymi?
  • Czy jest wymagane galwaniczne odizolowanie nadajnika od odbiornika?
  • Jaki rodzaj obudowy układu scalonego jest preferowany?

Podsumowanie

Omawiane interfejsy są stosowane od lat i dlatego też oferta układów scalonych jest przeogromna. Kiedyś sytuacja była o tyle jasna, że mieliśmy do czynienia z różnymi producentami i można było wybierać z oferty preferowanej firmy czy dystrybutora. Konsolidacje i przejęcia doprowadziły do tego, że pojedynczy wytwórcy mają w ofercie od kilkudziesięciu do nawet kilkuset układów scalonych i przez to wybranie odpowiedniego „scalaka” do urządzenia może być trudne. Trudno więc dziwić się konstruktorom, że jeśli nie ma jakichś szczególnych przesłanek, to najchętniej sięgną do „starych, dobrych” MAX485, SN75165, MAX232 lub ich odpowiedników.

Aby nie publikować w artykule ogromnych tabel ułatwiających dobranie układu scalonego, zamieszczono je w postaci plików w materiałach dodatkowych do artykułu, dostępnych na serwerze ftp. Wydaje mi się, że współcześnie znacznie częściej sięgniemy do transceivera RS485 niż do RS232. Co prawda, ten rodzaj interfejsu nadal jest bardzo popularny i stosowany w wielu modemach (ZigBee, Bluetooth, GSM/UMTS i innych), ale przeważnie jest łączony bezpośrednio z procesorem nadrzędnym, często jest zasilany z tego samego napięcia i przez to nie wymaga używania układu scalonego konwertera. W takim wypadku nie jest to już RS232, ponieważ nie jest zgodny ze specyfikacją EIA232, ale „zwykły” UART.

Układy scalone transceiverów popularnych interfejsów RS można znaleźć w wielu zastosowaniach, niekoniecznie związanych z transmisją asynchroniczną. W Internecie można znaleźć przykłady stosowania tych układów do rozszerzania zasięgu SPI, I2C i innych interfejsów, które są raczej kojarzone z lokalnymi połączeniami na płytce drukowanej. Niekiedy można też spotkać układy driverów RS232 sterujące tranzystorami MOS lub używane w funkcji prostych przetwornic z pompą ładunku.

Jacek Bogusz, EP

 

Materiały źródłowe:

1. Texas Instruments, AN-903 „A comparision of differential termination techniques”, https://goo.gl/gy5qGd
2. Analog Devices, AN-960 „RS-485/RS-422 Circuit Implementation Guide”, https://goo.gl/3yDPJ4
3. https://goo.gl/qVJde9
4. https://goo.gl/SCnrRZ
5. https://goo.gl/6MVKym
6. https://goo.gl/UFeGPy
7. https://goo.gl/j7zmMW
8. https://goo.gl/jxJiri

Artykuł ukazał się w
Elektronika Praktyczna
grudzień 2017
DO POBRANIA
Pobierz PDF Download icon

Elektronika Praktyczna Plus lipiec - grudzień 2012

Elektronika Praktyczna Plus

Monograficzne wydania specjalne

Elektronik marzec 2024

Elektronik

Magazyn elektroniki profesjonalnej

Raspberry Pi 2015

Raspberry Pi

Wykorzystaj wszystkie możliwości wyjątkowego minikomputera

Świat Radio marzec - kwiecień 2024

Świat Radio

Magazyn krótkofalowców i amatorów CB

Automatyka, Podzespoły, Aplikacje marzec 2024

Automatyka, Podzespoły, Aplikacje

Technika i rynek systemów automatyki

Elektronika Praktyczna kwiecień 2024

Elektronika Praktyczna

Międzynarodowy magazyn elektroników konstruktorów

Elektronika dla Wszystkich kwiecień 2024

Elektronika dla Wszystkich

Interesująca elektronika dla pasjonatów