Protokoły komunikacji szeregowej - Część trzecia: RS-232

Mark Harris
|  Utworzono: kwiecień 14, 2021
Protokoły komunikacji szeregowej - Część trzecia: RS-232

W tej serii artykułów przyglądamy się różnym typom protokołów komunikacji szeregowej dostępnych do przesyłania danych między urządzeniami. Artykuły omówią kilka z bardziej popularnych protokołów i standardów używanych obecnie, a na końcu tej serii podsumujemy i porównamy zalety i wady każdego z nich. Mamy nadzieję, że te informacje okażą się cenne następnym razem, gdy będziesz musiał zaimplementować magistralę komunikacji szeregowej w swoim projekcie, pomagając Ci wybrać najbardziej odpowiednią opcję dla Twojego obwodu.

W tym artykule przyjrzymy się starszemu standardowi protokołu RS-232.

RS-232, co oznacza Recommended Standard 232, to standard protokołu urządzenia elektronicznego używany do transmisji danych między urządzeniami elektronicznymi, stworzony w 1960 roku. Kiedyś RS-232 był najczęściej używanym formatem transmisji danych i głównie implementowano go za pomocą standardowego 9-pinowego złącza D-sub (DB-9). Ten standard jest nadal często używany dzisiaj w różnych urządzeniach elektronicznych, w tym w komputerach, automatyce i urządzeniach medycznych.

Serial Communication

Klasyczny kabel DB-9, Źródło obrazu: https://www.digikey.co.uk/product-detail/en/assmann-wsw-components/AK131-2/AE1379-ND/930165

RS-232 wykorzystuje dodatnie napięcie do transmisji sygnału o niskim poziomie logicznym (0) oraz ujemne napięcie do transmisji sygnału o wysokim poziomie logicznym (1).

Serial Communication

Przykładowe sygnały RS-232

Poziomy napięć RS-232

Napięcie

Wartość logiczna

-18v do -5v

       1

-5v do +5v

(niezdefiniowane)

+5v do +18v

       0

Zasada komunikacji w RS-232 jest prosta. Urządzenie nadające przechowuje dane w swoim buforze, a następnie wysyła dane przez kabel (lub ścieżkę na PCB), a odbiornik przechowuje te dane w swoim buforze. Następnie odbiornik może odczytać dane z bufora.

Aby uniknąć wysyłania informacji, gdy nie ma podłączonego odbiornika, używane są piny DTR (Data Transmit Ready) i DSR (Data Set Ready). Gdy te piny są połączone i na nich ustawione jest odpowiednie napięcie przez odbiornik, wtedy urządzenie nadające wie, że odbiornik jest podłączony i gotowy.

Jeśli nadawca przesyła dane zbyt szybko, a odbiornik nie jest w stanie odczytać danych ze swojego bufora wystarczająco szybko, bufor się przepełni, a dane zostaną utracone. Aby zapobiec tej sytuacji, do nadawcy dodano dwa inne piny, a do odbiornika jeden. Z perspektywy nadawcy pin jest oznaczony jako RTS (Request to Send - Żądanie wysyłki), a z perspektywy odbiornika jako CTS (Clear to Send - Gotowość do wysyłki). Odbiornik informuje nadawcę, że jego bufor jest pełny, obniżając napięcie tego pinu. To sygnalizuje nadawcy, by nie wysyłał więcej informacji, dopóki odbiornik nie będzie gotowy. Jest to znane jako kontrola przepływu sprzętowa.

Dostępne są również dwa inne piny przeznaczone dla aplikacji telefonicznych, które obecnie są w dużej mierze zbędne. Jednym z nich jest DCD (Data Carrier Detect - Wykrywanie nośnika danych), który informuje modem o odbieraniu sygnału analogowego, a drugim jest RI (Ring Indicator - Wskaźnik dzwonienia), który wskazuje, że telefon dzwoni. Dzisiaj są one praktycznie nieużywane.

Ostatnie połączenie to SG lub Signal Ground (Masa sygnałowa), która jest odniesieniem napięcia masy dla komunikujących się urządzeń.

Istnieją dwa typy urządzeń komunikacyjnych RS-232: DTE (Data Terminal Equipment - Urządzenie Końcowe Danych) i DCE (Data Communication Equipment - Urządzenie Komunikacji Danych). Przykłady DTE to komputer, PLC lub inne urządzenia wysyłające polecenia. Przykłady DCE to modem, kamera, drukarka i ogólne urządzenia automatyki.

Dwa urządzenia DTE lub dwa urządzenia DCE nie mogą przesyłać między sobą informacji. Musi być obecne urządzenie DTE, które wysyła polecenia w celu nawiązania komunikacji między urządzeniami oraz urządzenie DCE, które wykonuje te polecenia.

RS-232 może być również używany do komunikacji między komputerami za pomocą modemów, jak pokazano poniżej:

Serial Communication

Alternatywnie, można użyć okablowania Null Modem, które eliminuje potrzebę posiadania modemu

Jednakże, aby wyeliminować potrzebę posiadania przewodów DSR i RTS, pakiety danych ze strony odbiorcy muszą być wysyłane, aby wskazać, kiedy dane mogą być wysyłane, a kiedy nie. Pakiety są ustawiane na XON, aby sugerować, że dane mogą być wysyłane, i XOFF, aby sugerować, że dane nie mogą być wysyłane. Jest to znane jako kontrola przepływu programowa.

Główną wadą korzystania z RS-232 jest to, że jego komunikacja jest stosunkowo wolna w porównaniu z innymi protokołami komunikacji szeregowej. Może on niezawodnie osiągać prędkości tylko do 128 kbps w wielu zastosowaniach. Innym problemem jest to, że maksymalna długość kabla, na której może niezawodnie pracować, to tylko 15 metrów. Opór przewodów i pętle napięciowe stają się problemem na dłuższych kabli.

Mimo że RS-232 obecnie nie jest powszechnie używany w nowych urządzeniach z powodu dostępności innych, bardziej nowoczesnych protokołów komunikacji, często można znaleźć starsze urządzenia. Mimo to, nawet najbardziej aktualne i zaawansowane technologicznie płyty główne komputerów zwykle nadal mają nagłówek portu COM, który udostępnia RS-232, jeśli jest potrzebny. Na rynku nadal jest znaczna ilość sprzętu starszego niż 10 lat, w tym urządzenia takie jak drukarki, sprzęt do automatyzacji przemysłowej itp., które wymagają programowania i konserwacji, ponieważ są używane. Dla tego RS-232 jest niezbędny. Na szczęście dostępnych jest wiele konwerterów, takich jak RS-232 na USB, co oznacza, że nadal możemy łatwo komunikować się z tymi urządzeniami.

Podsumowanie

Ten artykuł przyjrzał się niektórym dziedzicznym cechom standardu protokołu RS-232 i omówił niektóre z jego zalet oraz szczegóły implementacji. W następnym artykule przyjrzymy się niektórym alternatywnym protokołom komunikacji szeregowej. Czy coś Ci umknęło? Sprawdź poprzednie artykuły z tej serii: Protokoły komunikacji szeregowej - Wprowadzenie oraz Protokoły komunikacji szeregowej - Część druga: UART.

Chcesz dowiedzieć się więcej o tym, jak Altium Designer® może pomóc Ci w następnym projekcie PCB? Porozmawiaj z ekspertem w Altium.

About Author

About Author

Mark Harris to uznany inżynier z ponad 12-letnim różnorodnym doświadczeniem w branży elektronicznej: od kontraktów lotniczych i wojskowych po niewielkie przedsięwzięcia typu start-up, działania hobbistyczne i wszystko, co znajduje się pomiędzy. Przed przeprowadzką do Wielkiej Brytanii Mark był zatrudniony w jednej z największych organizacji badawczy w Kanadzie; każdy dzień przynosił inny projekt lub wyzwanie na polu elektroniki, mechaniki i oprogramowania. Publikuje również najbardziej obszerną bibliotekę komponentów dla oprogramowania Altium Designer w oparciu o bazę danych typu open source o nazwie Celestial Database Library. Mark ma zamiłowanie do osprzętu i oprogramowania na bazie open source oraz innowacyjnego rozwiązywania problemów, jakie jest niezbędne w obliczu codziennych wyzwań związanych z takimi projektami Elektronika to pasja; obserwowanie rozwoju produktu od idei po realizację i rozpoczęcie interakcji ze światem to niewyczerpane źródło przyjemności.
Z Markiem można się skontaktować bezpośrednio pod adresem: mark@originalcircuit.com

Powiązane zasoby

Powrót do strony głównej
Thank you, you are now subscribed to updates.