Współczesne urządzenia elektroniczne w znacznej większości do transmisji danych wykorzystują interfejsy szeregowe. RS232 jest właśnie jednym z dostępnych interfejsów szeregowych. Z uwagi na fakt, że powstał on bardzo dawno, bo w 1969 roku. Posiada on wiele niedogodności i współcześnie jego popularność I sprzęcie komputerowym bardzo zmalała. Interfejs ten był szeroko stosowany m.in. do łączenia monitorów, modemów czy komputerów. Pierwsze komputery typu PC miały w standardzie gniazdo RS-232 (oznaczane jako port szeregowy), przeznaczone m.in. do podłączenia drukarki lub innych urządzeń peryferyjnych.
Obecnie protokół ten można spotkać już tylko w systemach wbudowanych, przyrządach laboratoryjnych czy instalacjach i sterownikach przemysłowych. Nie oznacza to, że RS232 to przeżytek, wręcz przeciwniepełni on wiele istotnych ról w komunikacji wyspecjalizowanych urządzeń. Jeśli potrzebujemy skomunikować się z jakimś urządzeniem przez komputer PC, wystarczy wyposażyć się w konwerter z portu USB na RS232.
Zastosowanie interfejsu RS232
RS-232 jest przeznaczony głównie do komunikacji między dwoma urządzeniami, w których komunikacja nie wymaga wymiany danych w dużej ilości czy też dużego zasięgu komunikacji. Może służyć do komunikacji między modułami w obrębie jednej maszyny, czy też jako port komunikacyjny do sterownika. Interfejs RS232 jest stosunkowo prosty oraz tani w implementacji.
Większość układów komunikacyjnych, obecnych na rynku, 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.
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. Za pomocą RS232 możemy stosunkowo łatwo wymieniać informacje, między urządzeniami, przez protokół Modbus RTU.
Interfejs RS232 – Przesyłanie danych
W standardzie RS232 (recommended standard) zdefiniowane są dwie grupy urządzeń
- DTE (ang. Data Terminal Equipment) tj. urządzeń końcowych danych np. komputer.
- DCE (ang. Data Communication Equipment), czyli urządzeń komunikacji danych np. modem.
RS232 opisuje sposób łączenia urządzeń DTE i DCE. Określa on charakterystykę elektryczną (poziomy napięć), jak i fizyczną (normy wtyczek, przewodów czy nazwy sygnałów).
Gdy podłączymy do komputera PC konwerter USB na RS232, W menadżerze urządzeń będzie on widziany jako port COM. Portom COM przydzielone są literki. Dla przykładu port COM1 może być portem np.myszki, a port COM2 może być użyty do podłączenia modemu. Port COM3 może być np. modułem bluetooth. Jest to przykład komunikacji między dwoma stacjami (point to point). Jeden port komunikuje się z jednym urządzeniem.
Uwaga!
Specjalnie dla czytelników i klientów Ntronic opracowałem program wyświetlający na bieżąco listę dostępnych portów COM w systemie Windows.
Program należy umieścić w autostarcie, by włączał się razem z systemem Windows. Wykrycie nowego portu jest sygnalizowane informacją w prawym rogu ekranu. Po kliknięciu ikonki przy zegarku wyświetla listę dostępnych portów COM.
Program ten udostępniam za darmo po zapisaniu na listę mailową: DARMOWE MATERIAŁY
Poziomy logiczne interfejsu RS232
Przesyłane zera i jedynki logiczne w RS232 definiuje się za pomocą odpowiednich poziomów napięcia względem wspólnego poziomu masy. Należy zaznaczyć, że Interfejs RS232 do poprawnego działania wymaga połączenia masy komunikujących się urządzeń.
- Stan nieaktywny, odpowiadający jedynce logicznej (idle lub MARK), ma ujemny poziom sygnału w zakresie -3 do -15 V.
- Stan aktywny, zero logiczne (active lub SPACE), ma dodatni poziom sygnału. w zakresie do 3 do 15 V.
Zazwyczaj poziomy napięć mieszczą się w mniejszym zakresie, w zależności od napięcia, którym są zasilane. Najprostsze warianty RS-232 osiadają poziomy napięć zgodne z techniką TTL (0 – 5 V), takie implementacje możemy spotkać w układach z mikrokontrolerami.
Interfejs RS232 – Kabel, prędkość danych i zakłócenia
Interfejs RS232 zakłada jako medium transmisyjne, skrętkę lub równoległe przewody. Długość kabla ogranicza szybkość transmisji danych i nie zaleca się przekraczać 15 m. Chcąc zastosować dłuższe linie komunikacyjne, należy obniżyć prędkość transmisji. Ważniejszym parametrem ograniczającym prędkość jest całkowita pojemność elektryczną przewodów. W większości zastosowań zaleca się, aby nie przekraczała ona 2500 pF, która pozwala na transmisje 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, jak może to mieć miejsce w przypadku standardu RS485.
Standard definiuje jako podstawowe 25-pinowe złącze DB-25. Tego typu złącza są jednak obecnie używane stosunkowo rzadko. W zamian spotyka się najczęściej złącze 9-pinowe, znane jako DE-9
Wymiana danych w interfejsie RS232
Z uwagi na fakt, że w standardzie RS232 linia nadawcza Tx i odbiorcza Rx są oddzielone od siebie, wymiana danych może odbywać się zarówno w trybie half-duplex, full-duplex, jak i simplex. Uzależnione to jest od wykorzystanego protokołu transmisji.
- Tryb full duplex pozwala na ciągła wymianę danych na obu liniach transmisyjnych. Inaczej mówiąc, jest to dwukierunkowa transmisja jednoczesna, w tym samym czasie DTE1 – DTE2 i DTE2 – DTE1.
- Half duplex, czyli dwukierunkowa transmisja niejednoczesna np. najpierw DTE1 – DTE2, a następnie DTE2 – DTE1. Czyli komunikacja gdy mamy przykładowo pytanie, a następnie odpowiedź (jak w przypadku protokołu Modbus).
- Natomiast Simplex to tryb, w którym urządzenie może tylko nadawać, albo tylko odbierać dane. Tylko DTE1 przekazuje dane do DTE2 lub tylko DTE2 przekazuje dane do DTE1
RS-232 posiada sporą liczbę linii synchronizujących transmisję, które wykorzystywane są głównie podczas komunikacji z modemami. Dlatego realizując komunikację w standardzie RS232, możemy zastosować kilka wariantów połączenia urządzeń.
Wariant 3-sygnałowy.
Jest to wariant najbardziej podstawowy i obecnie chyba najczęściej stosowany, gdyż łączymy tylko linie Tx, Rx, i GND. Dodatkowe linie nie są potrzebne, ponieważ w obecnych czasach układy elektroniczne przetwarzają dane z tak dużą prędkością, że kontrola wymiany danych nie jest już konieczna.
Jeżeli łączymy komputer do komputera, albo komputer ze sterownikiem PLC, to używamy tzw. konfiguracji null modem. Poniżej przykład dla kabla ze wtyczką 9 piną. Jeśli urządzenie zamiast wtyczki DB-9 posiada inny rodzaj złącza, ważne jest, by zachować połączenie sygnałów TxD z RxD i mas GND.
Jeżeli łączymy urządzenie DTE (komputer) z urządzeniem DCE (modem) to styki łączymy wprost.
Kontrola przepływu danych w interfejsie RS232
Jeśli chcemy zapobiec utracie danych w sytuacji gdy urządzenie odbiorcze nie nadąża przetwarzać odbieranych informacji, można wykorzystać mechanizm kontroli przepływu.
- Sprzętowy mechanizm kontroli przepływu danych wykorzystuje, poza liniami Tx, Rx i GND, dodatkowe 2 sygnały do kontroli przepływu (flow control). Mogą to być sygnały RTS i CTS albo DTR o DSR. Jeśli nadajnik jest gotowy do wysłania danych, ustawia wtedy sygnał na linii RTS. Jeśli odbiornik jest gotowy do odbioru danych, ustawia sygnał na linii CTS. Jeżeli jeden z sygnałów nie zostanie ustawiony, przesyłanie danych nie nastąpi. Linie DTR, DSR, RTS, CTS i DCD umożliwiają synchronizację transmisji tak, dane były wysyłane zawsze wtedy, gdy urządzenie po drugiej stronie połączenia jest gotowe do ich odbioru. Sprzętowy mechanizm kontroli przepływu, z uwagi na dużą szybkość pracy układów elektronicznych nie już zbyt popularny.
Opis sygnałów:
- TxD – dane nadawane.
- RxD – dane odbierane
- RTS – żądanie nadawania danych zgłaszane przez terminal DTE
- CTS – gotowość do nadawania zgłaszana przez modem DCE (przesyła potwierdzenie odebrania sygnału RTS)
- DSR – gotowość modemu DCE do dalszej współpracy z DTE (aktywny przez cały czas trwania połączenia)
- DTR – gotowość DTE do dalszej współpracy z DCE (aktywny przez cały czas trwania połączenia)
- DCD – sygnał wykrycia przez modem fali nośnej (oznacza, że łączy się on z innym modemem)
- SG – masa sygnałowa
- PG – masa ochronna połączona z obudową urządzenia
Jeśli chcemy korzystać ze sprzętowego mechanizmu sprzętowej kontroli przepływu, musimy mieć na uwadze, jakie urządzenia chcemy połączyć. Łącząc urządzenia DTE (PC) z DCE (Modem) powinniśmy zastosować kabel prosty. Jeśli zaś łączymy DTE (PC) – DTE (PC) lub DCE (Modem) – DCE (Modem) stosujemy kabel krosowany. W przypadku kabla krosowanego należy zwrócić na rodzaj tyczek, męsko — męska i Żeńsko — żeńska.
- Programowy mechanizm kontroli przepływu stosuje wysyłanie znaków Xon i Xoff (ASCII: Xon = 17, Xoff = 19) liniami komunikacyjnymi Tx, Rx. Kiedy nie jest możliwy odbiór danych odbiornik wysyła symbol Xoff. Wznowienie wysyłania danych jest wysyłany symbol Xon.
Z UART do RS232
Większość urządzeń do komunikacji przez Interfejs RS232 wykorzystuje układ o nazwie UART (Universal Asynchronous Receiver Transmitter). UART stanowi wbudowaną część mikrokontrolera, a jego rola polega na konwersji typu transmisji z równoległej na szeregową i 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. Przesyłane bajty przez UART korzystają z napięć z zakresu TTL, czyli 0- 5V lub – – 3,3 V. Nadajnik interfejsu RS232 ma zakres napięć od -15 do +15, dlatego wymagany jest specjalny układ konwertujący napięcia np. MAX3232.
Transmitowane dane to często znaki ASCII, nie ma wymagań co do formatu 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.
Każdy znak danych zawiera od 5 do 8 bitów i poprzedzony jest bitem START, a zakończony bitem kontroli parzystości (Pa) i 1 do 2 bitami STOP. Bity danych wraz z bitem kontrolnym i bitami synchronizacji (start, stop) tworzą tzw. jednostkę informacyjną SDU (Serial Data Unit)
Interfejs RS232 z Izolacją galwaniczną
W urządzeniach przemysłowych niemal zawsze wymaga się, by porty komunikacyjne miały izolowane galwanicznie wyjścia. Wynika to z bardzo wysokich wymagań bezpieczeństwa i niezawodności systemów przemysłowych. Jeśli chcemy podłączyć nasz komputer z urządzeniem, powinniśmy zastosować konwerter USB na RS232 z izolacją galwaniczną. W razie awarii mamy dużą szansę, ze nasz komputer nie zostanie uszkodzony i mimo poważnej awarii sprzętu, z którym się komunikujemy, będzie działał dalej.
Co do kwestii samej izolacji galwanicznej, zebrałem najważniejsze informacje w jednym miejscu. Jeśli więc interesuje cię temat Izolacji galwanicznej w urządzeniach, zapraszam do wpisu: Izolacja galwaniczna czum jest?
interfejs RS232 podsumowanie
Zalety RS232
Największą zaletą standardu RS232 jest jego prostota. Można go bardzo łatwo zastosować w układach elektronicznych opartych o mikrokontrolery. Format danych przesyłanych przez UART pokrywa się z formatem w standardzie RS232. Wystarczy więc dodać niezbyt skomplikowaną przetwornicę napięcia. Port RS232 doskonale sprawdzi jako port do aktualizacji, czy konfiguracji urządzeń jak również jako pomost łączący dwa układy elektroniczne w niedużej odległości.
Wady RS232
- Silna podatność na zakłócenia, ze względu na brak symetryczności transmisji.
- Mały dystans transmisji wynoszący około 15 m (w zależności od prękości)
- Możliwość komunikacji tylko między dwiema urządzeniami.
- Problematyczność podłączenia. Wielu producentów nie zachowuje zgodności złącza z typem DTE/DCE.
- Funkcjonowanie wielu wersji RS232 utrudnia ustanowienie połączenia.
- Ręczna konfiguracja interfejsu szeregowego utrudnia pierwsze podłączenie urządzenia.
- Wspólna masa sygnałowa sprawia, że istnieje większe ryzyko uszkodzenia portu jeśli nie stosujemy izolacji galwanicznej.
- Brak możliwości zasilania urządzeń bezpośrednio z portu RS232.
Jak widać, w standardzie RS232 możemy doszukać się szeregu wad. Ogranicza to bardzo jego obszar zastosowań, ale dzięki swojej prostocie jest często używany jako interfejs monitorujący, konfiguracyjny itp. w wielu różnych urządzeniach. RS232, to jeden ze standardów komunikacji. Myślę, że jego bezpośrednim następca jest RS485 eliminuje on wiele jego wad. Dość szczegółowo omówiłem to we wpisie: RS-485 CZYM JEST I JAK DZIAŁA?. Do którego serdecznie Cię zapraszam.
Norbert Szymczyk