RS232 jest jedną z najczęściej stosowanych technik łączenia urządzeń zewnętrznych z komputerami. RS232 to standard komunikacji szeregowej opracowany przez Electronic Industry Association (EIA) i Telecommunications Industry Association (Tia).
RS232 definiuje sygnały łączące DTE i DCE. Tutaj DTE oznacza Data Terminal Equipment, a przykładem DTE jest komputer., DCE to skrót od Data Communication Equipment lub Data Circuit Endinating Equipment, a przykładem DCE jest modem.
RS232 został wprowadzony w latach 60-tych i był pierwotnie znany jako EIA Recommended Standard 232. RS232 jest jednym z najstarszych standardów komunikacji szeregowej z zapewnioną prostą łącznością i kompatybilnością różnych producentów. Pierwotnie DTE w RS32 to elektromechaniczne Maszyny do pisania, a dces to modemy.
RS232 wykorzystuje komunikację szeregową, gdzie jeden bit danych jest wysyłany jednocześnie wzdłuż pojedynczej linii danych., Jest to przeciwieństwo komunikacji równoległej, gdzie wiele bitów danych jest wysyłanych jednocześnie za pomocą wielu linii danych.
zaletą stosowania komunikacji szeregowej nad równoległą jest to, że liczba przewodów wymaganych do transmisji danych w pełnym dupleksie będzie znacznie mniejsza (dwa przewody wystarczą bez uwzględnienia linii elektrycznych).,
RS232 stał się de facto standardem dla urządzeń komputerowych i oprzyrządowania, ponieważ został znormalizowany w roku 1962 przez EIA i w rezultacie stał się najczęściej stosowanym standardem komunikacji.
ale główną wadą standardu RS232 jest szybkość transmisji danych i długość kabla. RS232 obsługuje maksymalną szybkość transmisji 19200 bps, a maksymalna długość kabla wynosi 20 metrów.
Kontur
co to jest RS232?,
oficjalnie standard RS232 nosi nazwę EIA / TIA-232 i jest zdefiniowany jako interfejs między urządzeniami DTE i DCE wykorzystującymi szeregową binarną wymianę danych. RS232 jest uważany za odpowiedni standard., Dzieje się tak dlatego, że RS232 zapewnia, że nie ma konfliktu między urządzeniami DTE i DCE, określając:
- Specyfikacje elektryczne
- specyfikacje mechaniczne
- specyfikacje funkcjonalne i
- specyfikacje proceduralne
wszystkie te specyfikacje zapewniają nam różne parametry, takie jak wspólne poziomy napięcia, poziomy sygnału, specyfikacje okablowania pin, dane kontrolne między urządzeniem hosta a jego obwodami itp. Zobaczmy szczegółowo różne specyfikacje.,
charakterystyka elektryczna
charakterystyka elektryczna RS232 określa specyfikacje związane z poziomami napięcia, impedancją linii i szybkością zmiany poziomów sygnału.
poziomy napięcia
RS232 został zdefiniowany znacznie wcześniej niż logika TTL i dlatego nie jest nieoczekiwane, że RS232 nie używa specyficznych dla TTL poziomów logicznych 5V i GND.
logika ” 1 „w RS232 jest opisana jako znajdująca się w zakresie napięcia od-15V do-3V, a logika” 0 „jest opisana jako zakres napięcia od +3V do +15V, tzn. napięcie Niskiego Poziomu to logika „1”, A Napięcie wysokiego poziomu to logika „0”.,
zazwyczaj logika ' 1 'W RS232 będzie wynosić-12V, a logika' 0 'będzie wynosić +12V. wszystkie wyżej wymienione napięcia są w odniesieniu do wspólnego Pina' GND'. Każde napięcie pomiędzy -3V a +3V jest uważane za nieokreślony stan logiczny.
historycznie logika ” 1 „(- 15V do-3V) jest określana jako znakowanie, a logika ” 0 ” (+3V do +15V) jest określana jako odstęp.
Prędkość obrotowa
inną ważną cechą elektryczną jest szybkość zmiany poziomów sygnału, tj. Prędkość obrotowa. Maksymalna prędkość obrotowa w RS232 jest ograniczona do 30V / µs., Zdefiniowana jest również maksymalna szybkość transmisji 20 Kb / s.
te ograniczenia standardu pomagają w ograniczaniu rozmów krzyżowych z sąsiednimi sygnałami.
Impedancja liniowa
impedancja liniowa, czyli impedancja przewodu pomiędzy urządzeniami DTE i DCE wynosi około 3Ω do 7Ω.
oryginalna norma RS232 określa maksymalną długość kabla jako 15 metrów, ale zmienione normy określają maksymalną długość pod względem pojemności na jednostkę długości.,
specyfikacje mechaniczne
specyfikacje mechaniczne RS232 obejmują interfejs mechaniczny standardu. Standard RS232 określa 25 – pinowe złącze Typu D, które obsługuje pełną funkcjonalność RS232.
poniższy obrazek przedstawia Złącze DB25. Urządzenie DTE wykorzystuje żeńską obudowę zewnętrzną z męskimi pinami, a urządzenie DCE wykorzystuje męską obudowę zewnętrzną z żeńskimi pinami.
W RS232 występują trzy typy sygnałów. Są to dane, kontrola i ziemia., Poniższa tabela przedstawia listę pinów, ich kierunek komunikacji wraz z typem sygnału.
ponieważ sprzęt elektroniczny i urządzenia stają się coraz mniejsze, nie mamy miejsca na większe złącze, takie jak DB25 i najczęstsze aplikacje nie wymagają wszystkich 25 pinów w złączu. W związku z tym powszechnie stosowane jest złącze 9 – pinowe o zredukowanej funkcji.
złącze 9 – pinowe nazywa się DE-9 (często błędnie nazywane jako DB – 9) i jest to złącze subminiaturowe typu D (D – Sub)., Poniższy obraz przedstawia złącza męskie i żeńskie DE-9.
piny w złączu DE-9, ich nazwy i opis podano w poniższej tabeli.
specyfikacje funkcjonalne
ponieważ RS232 jest uważany za kompletny standard, definiuje więcej niż właściwości elektryczne i mechaniczne. Standard RS232 definiuje również funkcje różnych sygnałów używanych w interfejsie.
sygnały są klasyfikowane jako: wspólne, dane, Timing i sygnały sterujące.,
specyfikacje proceduralne
specyfikacje proceduralne RS232 określają sekwencję operacji, które muszą być wykonywane, gdy DTE i DCE są połączone.
Załóżmy, że komputer (DTE) jest podłączony do modemu (DCE) poprzez interfejs RS232. Aby przesłać dane z komputera do modemu, należy postępować zgodnie z poniższą procedurą.
- gdy Modem (DCE) jest gotowy do odbioru, wysyła sygnał DCE ready.
- gdy komputer (DTE) jest gotowy do wysłania danych, wysyła sygnał Ready to Send (RTS).,
- Modem (DCE) wysyła sygnał Clear to Send (CTS), aby wskazać, że dane mogą być wysyłane przez komputer (DTE).
- w końcu komputer (DTE) wysyła dane na linii Transmission Data (TD) do modemu (DCE).
uwaga: nie jest to dokładna procedura, ale podobna do rzeczywistej.
praktyczna implementacja RS232
poziomy napięcia RS232 bardzo różnią się od większości projektowanych obecnie systemów. Dlatego potrzebujemy pewnego rodzaju konwertera poziomów, aby zaimplementować interfejs RS232., Ta praca jest wykonywana przez dedykowane przetworniki poziomu, takie jak MAX232 firmy Maxim Integrated na przykład.
układy te przyjmują sygnały RS232 i generują napięcie na poziomie TTL. Układy te również odwracają sygnały, ponieważ poziomy niskiego napięcia w RS232 są logiczne „1”, A poziomy wysokiego napięcia w RS232 są logiczne „0”. Poniższy obrazek przedstawia implementację Sterownika RS232 w aplikacji czasu rzeczywistego.,
UART (Universal Asynchronous Receiver Transmitter) generuje i odbiera sygnały niezbędne do komunikacji szeregowej, A sterownik RS232 jest odpowiedzialny za konwersję sygnałów między interfejsem TTL i RS232.
system komunikacji wymieniony w tym przykładzie jest typu asynchronicznego i wymaga bitów synchronizacji tj. Start i Stop oraz bit sprawdzania błędów tj. Parzystość., UART w powyższym przykładzie jest odpowiedzialny za generowanie bitów Start, Stop i parzystość podczas transmisji danych, a także wykrywanie błędów podczas odbierania danych.
poniższy obrazek przedstawia typową aplikację RS232 pomiędzy komputerem a modemem. Tutaj komputer lub komputer to DTE, a Modem to DCE.
komputer i Modem komunikują się ze sobą za pomocą interfejsu RS232, a komunikacja między modemami jest nawiązywana za pomocą łączy telekomunikacyjnych.,
Jak działa RS232?
w RS232 dane są przesyłane seryjnie w jednym kierunku przez pojedynczą linię danych. Aby nawiązać komunikację dwukierunkową, potrzebujemy co najmniej trzech przewodów (RX, TX i GND) poza sygnałami sterującymi. Bajt danych może zostać przesłany w dowolnym momencie, pod warunkiem że poprzedni bajt został już przesłany.
RS232 korzysta z asynchronicznego protokołu komunikacyjnego, tzn. nie ma sygnału zegara do synchronizacji nadajnika i odbiornika., Dlatego używa bitów start i stop, aby poinformować odbiorcę, kiedy należy sprawdzić dane.
pomiędzy transmisjami każdego bitu występuje opóźnienie o określonym czasie. Opóźnienie to nic innego jak stan nieaktywny tzn. sygnał jest ustawiony na logikę '1′ tzn.-12V (jeśli pamiętasz, logika '1′ W RS232 to-12v, a logika '0′ to +12v).
Po pierwsze, Nadajnik tj. DTE wysyła bit startowy do odbiornika tj. DCE informując go, że transmisja danych rozpoczyna się od następnego bitu. Bit początkowy to zawsze '0′ tzn. +12V. kolejne 5 do 9 znaków to bity danych.,
Jeśli bit parzystości jest używany, można przesłać maksymalnie 8 bitów. Jeśli parzystość nie jest używana, można przesłać 9 bitów danych. Po przesłaniu danych nadajnik wysyła bity stopu. Może to być 1-bitowy lub 1,5-bitowy lub 2-bitowy. Poniższy obrazek przedstawia format ramki protokołu RS232.
chociaż RS232 jest uważany za kompletny standard, wielu producentów może nie przestrzegać tych standardów. Niektórzy producenci mogą wdrożyć pełne specyfikacje, a niektórzy implementują tylko częściową specyfikację.,
powodem tej zmiany w implementacji standardu RS232 jest to, że nie wszystkie urządzenia i aplikacje wymagają pełnej specyfikacji i funkcjonalności protokołu RS232. Na przykład Modem szeregowy korzystający z RS232 może wymagać większej liczby linii sterowania niż Mysz szeregowa korzystająca z portu szeregowego.
W Jaki Sposób Nadajnik i Odbiornik, które mogą korzystać z innego zestawu specyfikacji, z powodzeniem przesyłają lub odbierają dane? Proces zwany Handshaking jest używany w tym celu.,
Handshaking
Handshaking jest procesem dynamicznego ustawiania parametrów komunikacji między nadajnikiem a odbiornikiem przed rozpoczęciem komunikacji.
potrzeba handshakingu jest podyktowana prędkością przy której Nadajnik (DTE) przesyła dane, prędkością z jaką odbiornik (DCE) odbiera dane i szybkością, z jaką dane są przesyłane.
w asynchronicznym systemie transmisji danych nie może być handshaking, sprzętowe handshaking i software handshaking.,
No Handshaking
Jeśli handshaking nie jest używany, wtedy odbiornik (DCE) musi odczytać dane, które już zostały przez niego odebrane, zanim Nadajnik (DTE) wyśle następne dane. W tym celu odbiornik używa specjalnej lokalizacji pamięci zwanej buforem, a ponieważ jest ona używana na końcu odbiornika, nazywa się ją buforem odbiornika.
odebrane dane są zapisywane w buforze przed ich odczytaniem przez odbiornik., Bufor odbiornika może zazwyczaj przechowywać pojedynczy bit danych i dane te muszą zostać wyczyszczone (odczytane) przed nadejściem kolejnych danych, a jeśli nie zostaną wyczyszczone, istniejące dane zostaną nadpisane nowymi danymi.
poniższy obraz przedstawia typową transmisję i odbiór danych za pomocą buforów nadajnika i odbiornika. W tej konfiguracji odbiornik pomyślnie odczytał pierwsze trzy bity danych, ale nie odczytał czwartego bitu. Stąd następny bit, tj. piąty bit nadpisze czwarty bit, a czwarty bit zostanie utracony.,
Aby uniknąć takich sytuacji, potrzebujemy pewnego rodzaju mechanizmu Handshaking (albo Software albo Hardware Handshaking).
sprzętowy Handshaking
w sprzętowym Handshakingu Nadajnik najpierw pyta odbiorcę, czy jest gotowy do odbioru danych. Odbiornik następnie sprawdza swój bufor i jeśli bufor jest pusty, poinformuje Nadajnik, że jest gotowy do odbioru.
Nadajnik przekaże dane i zostanie załadowany do bufora odbiornika., W tym czasie odbiornik mówi nadajnikowi, aby nie wysyłał żadnych dalszych danych, dopóki dane w buforze nie zostaną odczytane przez odbiornik.
protokół RS232 definiuje cztery sygnały w celu Handshakingu:
- Ready to Send (RTS)
- Clear to Send (CTS)
- Data Terminal Ready (DTR) i
- Data Set Ready (DSR)
poniższy obrazek pokazuje połączenie między 9 – pinowym nadajnikiem (DTE) i 25 – pinowym odbiornikiem (DCE) oraz 9 – pinowym odbiornikiem (DCE). nadajnik pinowy i Odbiornik 9 – pinowy w trybie sprzętowego HANDSHAKINGU.,
za pomocą sprzętowego Handshakingu dane z nadajnika nigdy nie są utracone lub nadpisane w buforze odbiornika. Gdy nadajnik (DTE) chce wysyłać dane, ciągnie linię RTS (Ready to Send) do wysokiego poziomu.
następnie Nadajnik czeka na CTS (Clear to Send), aby przejść wysoko i dlatego nadal go monitoruje. Jeśli linia CTS jest niska, oznacza to, że odbiornik (DCE) jest zajęty i nie jest jeszcze gotowy do odbioru danych.
Gdy odbiornik jest gotowy, pociąga linię CTS do góry. Następnie nadajnik przesyła dane., Metoda ta jest również nazywana RTS / CTS Handshaking.
Są to DTR (Data Terminal Ready) i DSR (Data Set Ready). Te dwa sygnały są używane przez DTE i DCE do wskazania ich indywidualnego statusu. Często te dwa sygnały są wykorzystywane w komunikacji modemowej.
nowsze standardy RS232 definiują 8-sygnałowy sprzętowy Handshaking.
Software Handshaking
Software Handshaking w RS232 zawiera dwa znaki specjalne do uruchamiania i zatrzymywania komunikacji., Znaki te to X-ON I X-OFF (Włączanie nadajnika i wyłączanie nadajnika).
Gdy odbiornik wysyła sygnał X-OFF, Nadajnik przestaje wysyłać dane. Nadajnik zaczyna wysyłać dane dopiero po otrzymaniu sygnału X-ON.
ograniczenia protokołu RS232
- protokół RS232 wymaga wspólnej płaszczyzny między nadajnikiem (DTE) i odbiornikiem (DCE). Stąd powód krótszych kabli między DTE i DCE w protokole RS232.
- sygnał w linii jest bardzo podatny na szum. Hałas może być wewnętrzny lub zewnętrzny.,
- jeśli nastąpi wzrost szybkości transmisji i długości kabla, istnieje szansa na rozmowę krzyżową wprowadzoną przez pojemność między kablami.
- poziomy napięcia w RS232 nie są zgodne z nowoczesnymi logikami TTL lub CMOS. Potrzebujemy zewnętrznego konwertera poziomu.
Aplikacje
- chociaż RS232 jest bardzo znanym protokołem komunikacji szeregowej, został teraz zastąpiony zaawansowanymi protokołami, takimi jak USB.
- wcześniej używaliśmy ich dla terminali szeregowych takich jak mysz, Modem itp.,
- ale RS232 jest nadal używany w niektórych sterownikach serwo, maszynach CNC, maszynach PLC i niektórych płytach mikrokontrolerów używa protokołu RS232.