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.
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.
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.
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.
- 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.
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.
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