Główne różnice między RS-232, RS-422 i RS-485
Nazwa | RS-232 | RS-422 | RS-485 |
Rodzaj transmisji | Full-dupleks | Full-dupleks | Half-duplex (2 przewody), pełny dupleks (4 przewody) |
Maksymalna odległość | 15 metrów przy 9600 bitach / s | 1200 metrów przy 9600 bitach / s | 1200 metrów przy 9600 bitach / s |
Zaangażowane złącza | TxD, RxD, RTS, CTS, DTR, DSR, DCD, GND* | TxA, TxB, RxA, RxB, GND | DataA, DataB, GND |
Topologia | Punkt-punkt | Punkt-punkt | Wielopunktowa |
Max liczba podłączonych urządzeń | 1 | 1 (10 urządzeń w trybie odbioru) | 36 (z przekaźnikiem wiecej, zazwyczaj do 256) |
* W przypadku interfejsu RS-232 nie jest konieczne korzystanie ze wszystkich pinów kontaktowych przewodu. Zazwyczaj stosuje się linie danych TxD, RxD i przewód uziemiający GND, pozostałe piny są niezbędne do kontrolowania przepływu danych. Dowiesz się więcej w dalszej części tego artykułu.
Informacje przesyłane przez interfejsy RS-232, RS-422 i RS-485 mają strukturę protokołu, na przykład protokół Modbus RTU jest szeroko stosowany w przemyśle.
Opis interfejsu RS-232
Prędkość RS-232 zależy od odległości między urządzeniami, zwykle w odległości 15 metrów, prędkość wynosi 9600 bit / s. Przy minimalnej odległości prędkość wynosi zwykle 115,2 kbit / s, ale istnieje sprzęt obsługujący prędkości do 921,6 kbit / s.
Interfejs RS-232 działa w trybie dupleksowym (full-duplex), co pozwala na jednoczesne przesyłanie i odbieranie informacji, ponieważ do odbierania i przesyłania wykorzystywane są różne linie. Jest to różnica w porównaniu z trybem half-duplex, gdy jedna linia komunikacyjna jest wykorzystywana do odbierania i przesyłania danych, co nakłada ograniczenia na jednoczesne działanie, dlatego w trybie half-duplex w jednym momencie jest możliwy albo odbiór albo przekazywanie informacji.
Informacje przez interfejs RS-232 jest przesyłana cyfrowo przez logiczne 0 i 1.
Logicznemu „1” (MARK) odpowiada napięcie w zakresie od –3 do –15 V.
Logicznemu „0” (SPACE) odpowiada napięcie w zakresie od +3 do +15 V.
Do połączenia z RS-232 stosuje się specjalne złącze D-sub, zwykle 9 pin DB9, rzadziej 25 pin DB25.
Złącza DB są podzielone na męskie - „ojciec” (wtyczka, pin) i żeńskie - „matka” (gniazdo, gniazdo).
Do połączenia z RS-232 stosuje się specjalne złącze D-sub, zwykle 9 pin DB9, rzadziej 25 pin DB25.
Złącza DB są podzielone na Male - „męski” (wtyczka, pin) i Female - „żeńskie” (gniazdo).
Pinout złącza DB9 dla RS-232
Okablowanie DB9 dla RS-232
Istnieją trzy typy urządzeń łączących w RS-232: terminal-terminal DTE-DTE, terminal-sprzęt komunikacyjny DTE-DCE, modem-modem DCE-DCE.
Kabel DTE-DCE nazywa się „kablem prostym”, ponieważ styki są połączone jeden do drugiego.
Kabel DCE-DCE nazywa się „kablem zerowym modemem” lub w inny sposób kablem krzyżowym.
Poniżej znajdują się tabele pinout wszystkich wymienionych rodzajów kabli.
Pinout prostego kabla DB9 do RS-232
DB9 | DB25 | Oznaczenie | Nazwa | Opis |
1 | 8 | CD | Carrier Detect | Poziom sygnału |
2 | 3 | RXD | Receive Data | Przyjmowanie danych |
3 | 2 | TXD | Transmit Data | Przekazywanie danych |
4 | 20 | DTR | Data Terminal Ready | Gotowość DTE do dalszej współpracy z DCE |
5 | 7 | GND | System Ground | Wspólny kabel |
6 | 6 | DSR | Data Set Ready | Gotowość sprzętu przekazywania |
7 | 4 | RTS | Request to Send | Zapytanie wysłania |
8 | 5 | CTS | Clear to Send | Gotowy do wysłania |
9 | 22 | RI | Ring Indicator | Sygnał połączenia |
Dla połączenai z urządzeniami RS-232 najczęściej potrzebujesz tylko 3 łącza: RXD, TXD i GND, jednak niektóre urządzenia potrzebują wszystkich 9 pinów do obsługi funkcji przepływu danych.
Struktura przesyłanych danych w RS-232
Bit startowy (bit startowy) - bit wskazujący początek przesyłania, zwykle równy 0.
Bity danych - 5, 6, 7 lub 8 bitów danych. Pierwszy bit jest mniej znaczący.
Bit parzystości - służy do wykrywania błędów. Może przyjmować następujące wartości:
Parzystość (EVEN), przyjmuje taką wartość, że liczba jednostek w pakiecie zawsze była parzysta
Nieparzystość (ODD), przyjmuje taką wartość, że liczba jednostek w pakiecie zawsze była nieparzysta
Zawsze 1 (MARK), bit parzystości zawsze będzie wynosił 1
Zawsze 0 (SPACE), bit parzystości zawsze będzie wynosił 0
Nie wykorzystuje się (NONE)
Bit stopu (stop bit) - bit wskazujący zakończenie pakietu, może przyjmować wartości 1, 1,5 (data bit = 5), 2.
Dla przykładu 8E1 oznacza, że przesyłanych jest 8 bitów danych, używany jest bit parzystości w trybie EVEN, a bit stopu zajmuje jeden bit.
Kontrola przepływu w RS-232
Aby nie utracić danych, istnieje mechanizm kontroli przepływu danych, który pozwala tymczasowo zatrzymać transfer danych, aby zapobiec przepełnieniu buferu.
Istnieje programowy i sprzętowy sposób sterowania danymi.
Sprzętowy sposób wykorzystuje piny RTS / CTS. 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.
Programowy sposób wykorzystuje znaki Xon i Xoff (w ASCII znak Xon = 17, Xoff = 19) przesyłane tymi samymi liniami komunikacyjnymi TXD / RXD co i zasadnicze dane. Kiedy nie jest możliwy odbiór danych odbiornik wysyła symbol Xoff. Dla wznowienia wysyłania danych jest wysyłany symbol Xon.
W przypadku wykorzystania 3 kabli wystarczy połączyć ze sobą RXD i TXD. Wtedy wszystkie przesłane dane zostaną odebrane z powrotem. Jeżeli jest wykorzystywany pełny interfejs RS-232, trzeba wtedy połączyć następujące kombinacje:
DB9 | DB25 | Połączyć |
1 + 4 + 6 | 6 + 8 + 20 | DTR -> CD + DSR |
2 + 3 | 2 + 3 | Tx -> Rx |
7 + 8 | 4 + 5 | RTS -> CTS |
Opis interfejsu RS-422 i interfejsu RS-485.