Ten artykuł wyjaśni następujące tematy w szczegółach:
1) Krok 1: zrozumieć połączenia i sygnały RS232
2) Krok 2: Dowiedz się o protokole
3) Krok 3: kontrolować urządzenia RS232 za pomocą 232Analyzer
Po przeczytaniu tej strony powinieneś być w stanie zrozumieć większość z nich.standardy sprzętowe i programowe (protokoły) dla RS232., Jeśli masz szansę przetestować swoje urządzenia RS232 za pomocą oprogramowania 232Analyzer, powinieneś być w stanie kontrolować swoje urządzenia RS232 w krótkim czasie.
Krok 1: zrozumieć połączenie RS232& sygnały
RS-232C, EIA RS-232 lub po prostu RS-232, odnosi się do tego samego standardu zdefiniowanego przez Electronic Industries Association w 1969 roku dla komunikacji szeregowej.
DTE i DCE
DTE oznacza Urządzenia końcowe danych. Komputer to DTE. DCE oznacza Sprzęt Do Transmisji Danych. Modem to DCE.,
DTE zwykle jest wyposażony w złącze męskie, podczas gdy DCE jest wyposażony w złącze żeńskie. Jednak nie zawsze jest to prawdą. Użyj prostego sposobu poniżej, aby potwierdzić: Zmierz Pin 3 i Pin 5 Złącza DB – 9 z woltomierzem, jeśli otrzymasz napięcie od-3V do-15V, to jest to urządzenie DTE. Jeżeli napięcie jest na pinie 2, wtedy jest to urządzenie DCE.
Uwaga: wynik dla złącza DB-25 jest odwrócony (patrz Tabela konwersji DB-9 do DB-25 poniżej).
złącze RS-232 (DB-9)
złącze męskie DB-9 oglądane od przodu., Widok wsteczny lub wsteczny złącza męskiego dla złącza żeńskiego.,div>7
RS-232 Connections
A straight-through cable is used to connect a DTE (e.,g. komputer) do DCE (np. modem), wszystkie sygnały z jednej strony podłączone do odpowiednich sygnałów z drugiej strony w zasadzie jeden do jednego. Kabel crossover (null-modem) służy do bezpośredniego podłączenia dwóch DTE, bez modemu pomiędzy nimi., Krzyż transmisji i odbioru sygnałów danych między dwiema stronami i istnieje wiele odmian, jak inne sygnały sterujące są przewodowe, poniżej jest jeden z nich:
sygnały RS-232
powyższa grafika ilustruje typowy przebieg logiczny RS-232 (format danych: 1 bit startowy, 8 bitów danych, brak parzystości, 1 bit stopu)., Transmisja danych rozpoczyna się bitem startowym, a następnie bitami danych (LSB wysłane jako pierwsze i MSB wysłane jako ostatnie) i kończy się bitem „Stop”.
napięcie logiki „1” (znak) wynosi od-3VDC do-15VDC, podczas gdy logika „0” (Spacja) wynosi od +3VDC do +15VDC.
RS-232 łączy ze sobą masę 2 różnych urządzeń, co jest tzw. połączeniem „niezbalansowanym”. Niezbalansowane połączenie jest bardziej podatne na hałas i ma ograniczenie odległości 50 stóp (co wynosi około 15 metrów).,
Krok 2: Poznaj protokół
protokół to jeden lub kilka zestawów reguł sprzętowych i programowych uzgodnionych przez wszystkie strony komunikacji w celu poprawnej i wydajnej wymiany danych.
Synchroniczna i asynchroniczna Komunikacja
Synchroniczna komunikacja wymaga, aby nadawca i odbiorca dzielili ten sam zegar. Nadawca dostarcza sygnał czasu do odbiornika, dzięki czemu odbiornik wie, kiedy „odczytać” dane. Komunikacja synchroniczna ma na ogół wyższe szybkości transmisji danych i większą zdolność sprawdzania błędów. Drukarka jest formą komunikacji synchronicznej.,
Komunikacja asynchroniczna nie ma sygnału taktowania ani zegara. Zamiast tego wstawia bity Start / Stop do każdego bajtu danych w celu „synchronizacji” komunikacji. Ponieważ wykorzystuje mniej przewodów do komunikacji (brak sygnałów zegara), Komunikacja asynchroniczna jest prostsza i bardziej opłacalna. RS-232 / RS-485 / RS-422 / TTL są formami komunikacji asynchronicznej.
wiercenie w dół: bity i bajty
wewnętrzna Komunikacja komputerowa składa się z elektroniki cyfrowej, reprezentowanej przez tylko dwa warunki: włączone lub wyłączone., Reprezentujemy je za pomocą dwóch liczb: 0 i 1, które w systemie binarnym określa się jako Bit.
Bajt składa się z 8 bitów, co oznacza liczbę dziesiętną od 0 do 255, lub liczbę szesnastkową od 0 do FF. Jak opisano powyżej, bajt jest podstawową jednostką komunikacji asynchronicznej.
szybkość transmisji, bity danych, parzystość i bit Stop
szybkość transmisji to szybkość komunikacji, która mierzy liczbę transmisji bitów na sekundę. Na przykład 19200 baud to 19200 bitów na sekundę.
bity danych są miarą rzeczywistych bitów danych w pakiecie komunikacyjnym., Na przykład, powyższa grafika pokazuje osiem (8) bitów danych w pakiecie komunikacyjnym. Pakiet komunikacyjny odnosi się do pojedynczego transferu bajtów, w tym bitów Start / Stop, bitów danych i parzystości. Jeśli przesyłasz standardowy kod ASCII (od 0 do 127), wystarczy 7 bitów danych. Jeśli jest to rozszerzony kod ASCII (od 128 do 255), to wymagane jest 8 bitów danych.
Parzystość to prosty sposób na sprawdzenie błędów. Istnieją parzyste, nieparzyste, znakowe i kosmiczne wskaźniki. Można również użyć bez parzystości., Dla parzystości i parzystości nieparzystej, port szeregowy ustawia bit parzystości (ostatni bit po bitie danych)na wartość, aby zapewnić, że pakiet danych ma parzystą lub nieparzystą liczbę bitów logicznych. Na przykład, jeśli dane są 10010010, dla parzystości, port szeregowy ustawia bit parzystości jako 1, aby utrzymać równą liczbę bitów logiki-high. Dla parzystości nieparzystej bit parzystości wynosi 0, więc liczba bitów logiczno-wysokich jest nieparzysta. Mark parity po prostu ustawia bit parzystości na logic-high, A Space ustawia bit parzystości na logic-low, aby Strona odbierająca mogła określić, czy dane są uszkodzone.,
bity stopu są używane do sygnalizowania końca pakietu komunikacyjnego. Pomaga to również synchronizować różne zegary na urządzeniach szeregowych.
Handshaking (Kontrola przepływu)
Handshaking jest również nazywany „kontrolą przepływu”. Głównym celem Handshakingu jest zapobieganie przeciążeniu odbiornika. Korzystając z sygnałów Handshakingu, odbiorniki będą mogły powiedzieć urządzeniu wysyłającemu, aby wstrzymało transmisję danych, jeśli odbiornik jest przeciążony. Istnieją trzy rodzaje handshakingu: Software handshaking, Hardware handshaking i oba.
oprogramowanie handshaking używa dwóch znaków sterujących: XON i XOFF., Odbiornik wysyła te znaki sterujące, aby wstrzymać Nadajnik podczas komunikacji. XON jest dziesiętny 17 i XOFF jest dziesiętny 19 na wykresie ASCII. Wadą oprogramowania handshaking jest to, że te dwa znaki kontrolne nie mogą być używane w danych. Jest to dość ważne, gdy przesyłasz dane binarne, ponieważ może być konieczne użycie tych dwóch kodów w danych.
Handshaking sprzętowy wykorzystuje rzeczywiste linie sprzętowe, takie jak RTS / CTS, DTR / DSR i DCD / ri (dla modemu).
w komunikacji DTE / DCE, RTS (Request to Send) jest wyjściem na DTE i wejściem na DCE., CTS (Clear to Send) jest sygnałem odpowiedzi pochodzącym z DCE. Przed wysłaniem danych, DTE pyta o pozwolenie, ustawiając jego wyjście RTS na wysokie. Żadne dane nie będą wysyłane, dopóki DCE nie zezwoli na korzystanie z linii CTS. DTE wykorzystuje sygnał DTR (Data Terminal Ready), aby wskazać, że jest gotowy do przyjęcia informacji, podczas gdy DCE wykorzystuje sygnał DSR w tym samym celu. DTR/DSR są zwykle włączone lub wyłączone dla całej sesji połączenia (np. Off-hook), podczas gdy RTS / CTS są włączone lub wyłączone dla każdej transmisji danych., DCD (Data Carrier Ready) jest używany przez modem, gdy połączenie zostało nawiązane ze sprzętem zdalnym, podczas gdy Ri (Ring Indicator) jest używany przez modem do wskazania sygnału dzwonka z linii telefonicznej.
formaty danych (Binary, Hex, Dec, Oct i ASCII)
urządzenia szeregowe używają do komunikacji binarnej, która składa się tylko z dwóch unikalnych liczb: 0 i 1.
Binary to system numeracji Base-2. Jeden bajt danych składa się z 8 cyfr binarnych, od 0000 0000 do 1111 1111. Szesnastkowy jest systemem bazowym-16, który składa się z 16 liczb: od 0 do 9 oraz liter od A do F (Liczba dziesiętna 15).,
system numeracji szesnastkowej jest przydatny, ponieważ może reprezentować każdy bajt jako dwie kolejne cyfry szesnastkowe i łatwiej jest odczytać liczby szesnastkowe niż liczby binarne. Większość producentów używa w swojej dokumentacji protokołu szesnastkowego. Konwersja wartości z szesnastkowego na binarny jest prosta. Wystarczy przetłumaczyć każdą cyfrę szesnastkową na jej 4-bitowy odpowiednik binarny. Np. liczba szesnastkowa F3 równa się liczbie binarnej 1111 0011.
dziesiętne odnosi się do liczb w bazie 10, która jest systemem numeracji, z którego najczęściej korzystamy w życiu codziennym., Konwerter dziesiętny na binarny nie jest tak prosty jak szesnastkowy i ósemkowy, ale łatwiej jest nam zrozumieć dziesiętny.
Oktal odnosi się do systemu numeracji base-8, który używa tylko ośmiu unikalnych symboli (od 0 do 7). Programiści często używają formatu ósemkowego, ponieważ jest on stosunkowo łatwy do odczytania i można go łatwo przetłumaczyć na format binarny: każda ósemkowa cyfra reprezentuje 3 cyfry binarne. Np. liczba ósemkowa 73 równa się liczbie binarnej 111 011.
ASCII (American Standard Code for Information Interchange) jest kodowaniem znaków opartym na alfabecie angielskim., Kody ASCII (zarówno czytelne, jak i nieczytelne) są szeroko stosowane w komunikacji, takiej jak komunikacja Modemowa. Litery od A do Z oraz cyfry od 0 do 9 są czytelnymi kodami ASCII. Niektóre kody ASCII są nieczytelne, takie jak kody sterujące: XON i XOFF, które są używane w sterowaniu przepływem oprogramowania.
suma kontrolna
wiele protokołów szeregowych używa sumy kontrolnej (dodatkowych bajtów dodanych na końcu łańcucha danych) do sprawdzania integralności danych, ponieważ mogą wystąpić błędy podczas transmisji danych. Istnieje wiele rodzajów sum kontrolnych, od najprostszych zastosowań w Modula lub BCC do skomplikowanych obliczeń CRC., Używając Modula jako przykład, dowiadujemy się, że przed transmisją danych, nadawca dodaje wszystkie bajty poleceń razem, a następnie modyfikować je o 255 (dziesiętne), aby uzyskać dodatkowy bajt. Należy to dodać na końcu ciągu poleceń. Gdy odbiorca otrzyma ciąg poleceń, najpierw sprawdzi dodany bajt, aby sprawdzić, czy dane pozostają niezmienione, czy nie. W takim przypadku zaakceptuje dane, a jeśli nie, poprosi nadawcę o ponowne wysłanie danych.
przykłady poleceń protokołu
polecenie protokołu jest ciągiem danych wysyłanym z jednego urządzenia szeregowego (np. komputera) do drugiego (np., Modem). Oto kilka przykładów:
polecenie ASCII przykład: ATI1 do zapytania informacji producenta modemu. (Uwaga: są to kody kontrolne powrotu karetki i podawania linii).,mal i staje się: 41 54 49 31 0D 0A
Konwertuj powyższy ciąg poleceń na dziesiętny i staje się: 065 084 073 049 013 010
Konwertuj powyższy ciąg poleceń na ósemkowy i staje się: 101 124 111 061 015 012
Konwertuj powyższy ciąg poleceń na binarny i staje się: 01000001 01010100 01001001 00110001 00001101 00001010
krok 3: kontroluj swoje urządzenia RS232 za pomocą 232analyzer
232analyzer jest zaawansowanym oprogramowaniem do analizowania protokołów portów szeregowych, które pozwala kontrolować / debugować, monitorować / węszyć urządzenia szeregowe (RS-232 / RS-485 / RS-422 / TTL) bezpośrednio z urządzenia PC., 232Analyzer jest shareware, darmowa wersja ma pewne ograniczenia, ale jest więcej niż wystarczająco, aby przetestować i kontrolować urządzenia szeregowe. Kliknij tutaj, aby pobrać bezpłatną kopię.
obliczanie sumy kontrolnej
232Analyzer jest wyposażony w kalkulator sumy kontrolnej, który pozwala obliczyć skomplikowany bajt sumy kontrolnej w sekundach, oto przykład:
Załóżmy, że sterujesz projektorem, a protokół projektora używa xOR, aby uzyskać dodatkowy bajt sumy kontrolnej, ciąg poleceń, aby włączyć projektor to: „1a 2B 3C” plus bajt sumy kontrolnej., Użyj następujących procedur, aby obliczyć bajt sumy kontrolnej:
- Wybierz Hex jako format operands
- Wybierz XOR jako operator
- klucz w łańcuchu poleceń i dodaj przecinek (,) po każdym bajcie kodu polecenia: np., 1A,2B,3C,
- kliknij przycisk „Oblicz”, a otrzymasz wynik 0D (0 jest pominięte)
Wybierz port COM i ustaw formaty komunikacji
Uwaga: Po skonfigurowaniu poprawnego formaty komunikacji (muszą być zgodne z ustawieniami portu COM projektora), kliknij przycisk „Połącz” po lewej stronie, aby aktywować port COM.,
Ustawienia sterowania przepływem
sterowanie urządzeniami RS232
- sterowanie / monitorowanie stanów linii
232Analyzer pozwala kontrolować / monitorować Stany linii portów COM.
- Stany linii RTS i DTR będą przełączane po kliknięciu odpowiedniej diody LED, możesz użyć miernika napięcia do sprawdzenia zmian, powinieneś uzyskać +6V do +15V, gdy stan linii jest włączony, i-6V do-15V, gdy stan linii jest wyłączony.,
- inne stany linii mogą być monitorowane przez wirtualne Ds, takie jak RX, TX, DSR, CTS, DCD i RI.
- polecenia wysyłania/odbierania
użyj powyższego przykładu, aby sterować projektorem (włącz projektor), wciśnij kompletny ciąg poleceń „1a,2B,3C, 0D” w Send_Command_Pane, jak pokazano powyżej, a następnie kliknij przycisk „Wyślij”…
uwagi:
- w wersji darmowej tryb szesnastkowy nie jest dostępny., Możesz użyć formatu dziesiętnego, aby wysłać ciąg poleceń: „26,43,60,13”
- możesz używać dowolnego urządzenia RS-232 do testowania, o ile znasz polecenia protokołu.