KATEDRA ELEKTRYFIKACJI I AUTOMATYZACJI GÓRNICTWA LABORATORIUM TELEINFORMATYKI W GÓRNICTWIE Standardy szeregowej asynchronicznej transmisji danych RS232, RS485, modemy telefoniczne (INSTRUKCJA LABORATORYJNA) Opracował dr inŝ. Kazimierz Miśkiewicz Gliwice, wrzesień 2012 r. Standardy szeregowej transmisji danych - 1 - Plik: RS_lab
1. Standard RS-232 Rys. 1. Widok złączy DB9 (wtyk i gniazdo) oraz złączy DB25 (wtyk i gniazdo) Standard RS-232 opisuje sposób połączenia komputera (urządzenie DTE - Data Terminal Equipment) oraz urządzeń komunikacji danych np. modemu (DCE - data Communication Equipment), Standard określa nazwy styków złącza, przypisane im sygnały oraz specyfikację elektryczną obwodów. W tabeli 1 pokazano sygnały występujące w standardzie RS232 oraz ich przyporządkowane zaciskom w złączach DB9 oraz DB25 (rys. 1). Wśród sygnałów moŝna wyróŝnić: Sygnały transmisji danych RxD, TxD Sygnały sterujące DCD, DTR, DSR, RTS, CTS, Masę elektroniki GND Tabela 1 Numer 9 pin 25 pin Kierunek modem - komputer Oznaczenie Nazwa angielska Nazwa polska 1 8 DCE > DTE DCD Data Carrier Detected sygnał wykrycia nośnej (istnieje transmisja między modemami) 2 3 DCE > DTE RxD Receive Data odbiór danych 3 2 DCE < DTE TxD Transmit Data transmisja danych 4 20 DCE < DTE DTR Data Terminal Ready 5 7 DCE DTE GND Signal Ground masa gotowość terminala (komputera) Standardy szeregowej transmisji danych - 2 - Plik: RS_lab
6 6 DCE > DTE DSR Data Set Ready gotowość "modemu" 7 4 DCE < DTE RTS Request to Send Data Ŝądanie wysyłania 8 5 DCE > DTE CTS Clear to Send Data gotowość wysyłania 9 22 DCE > DTE RI Ring Indicator wskaźnik dzwonka Poziomy napięć (względem GND) w łączu RS232 są następujące Dla sygnałów transmisji danych: o 1 napięcie 15V - -3V o 0 napięcie +3V - +15V Dla sygnałów sterujących: o 0 (stan nieaktywny) napięcie 15V - -3V o 1 (stan aktywny) napięcie +3V - +15V Standardowy zasięg transmisji w łączu RS232 jest równy 15m Transmisja asynchroniczna w łączu RS232 jest zorganizowana w postaci transmisji pojedynczych bajtów. Przy braku transmisji sygnał transmisji danych jest ujemny (-15V - - 3V) co odpowiada stanowi 1. Kolejność transmisji jest następująca Bit startu (zawsze 0 ), Najmniej znaczący bit bajtu (LSB - least significant bit) Kolejno dalsze bity bajtu aŝ do najbardziej znaczącego bitu (MSB most significant bit) bajt w transmisji szeregowej asynchronicznej moŝe zawierać 5, 7, 8 bajtów Bit kontroli parzystości lub nieparzystości (nie zawsze występuje) Po zakończeniu transmisji bajtu następuje przerwa (napięcie ujemne) która trwa co najmniej tyle czasu ile przeznacza się na transmisję 1, 1.5 lub 2 bajty (są to parametry stopu). Na rys. 2 pokazano przykład przebiegu napięcia przy transmisji jednego bajtu. Rys. 2. Przykład przebiegu napięcia przy transmisji jednego bajtu Czas trwania transmisji pojedynczego bitu zaleŝy od szybkości transmisji rozumianej jako liczbę bitów transmitowanych w czasie 1s. Szybkość transmisji podawana jest w bitach na sekundę - bps (ang. bits per second),. Najczęściej uŝywane szybkości w transmisji szeregowej mieszczą się w następującym szeregu: 75, 110, 150, 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600 oraz 115200 bps. 2. Wykorzystanie standardu RS232 Typowe wykorzystanie standardu RS232 do transmisji danych pokazano na rys. 3. Standardy szeregowej transmisji danych - 3 - Plik: RS_lab
Rys. 3. Przykład wykorzystania standardu RS232 do transmisji modemowej Do obu komputerów biorących udział w transmisji danych przyłączone są modemy 1. Wymianę sygnałów w przypadku wysłania danych z komputera do modemu pokazano na rys. 4. Rys. 4 Przebiegi czasowe sygnałów w łączu RS285 w przypadku transmisji danych z komputera do modemu. Sprawdzanie gotowości urządzeń to wymiana sygnałów DTR i DSR. Po aktywacji sygnału DTR przez komputer modem aktywuje sygnał DSR. Przed wysłaniem danych komputer aktywuje sygnał RTS i w odpowiedzi modem jak jest gotów do przyjęcia danych aktywuje sygnał CTS po czym komputer wysyła dane do modemu. W przypadku gdy bufor modemu jest pełny sygnał CTS jest przełączony w stan nieaktywny co zatrzymuje nadawania danych przez komputer. W przypadku konieczności bezpośredniego połączenia dwóch portów RS232 urządzeń typu DTE (np. komputerów) łączy się je specjalnie skrosowanym kablem zwanym null modem. Przykłady schematów połączeń kabli null modem pokazano na rys. 5 1 Modem - urządzenie które wykorzystując rozbudowane modulacje amplitudy i fazy zamieniają transmitowane dane w sygnał elektryczny który moŝe być transmitowany w sieci telefonicznej Standardy szeregowej transmisji danych - 4 - Plik: RS_lab
a b c d Rys. 5. Przykłady połączeń kabli nul modem; a bez wymiany potwierdzeń (without handshaking), b z potwierdzeniami w pętli (loop back hadshaking) c z częściową wymianą potwierdzeń (partial hadshaking), d z pełną wymianą potwierdzeń (full hadshaking) Istnieją 3 sposoby sterowania przepływem danych w łączu RS232: Sprzętowe (hardware) kiedy sygnały sterujące mogą wstrzymać nadawanie danych przez nadajnik w przypadku zapełnionego bufora odbiornika. Dla tego sposobu sterowania przepływem danych niezbędne jest połączenie obu urządzeń biorących udział w transmisji przewodami zapewniającymi wykorzystanie sygnałów sterujących (np. rys. 5c, 5d). Brak sterowania przepływem nadajnik nadaje wtedy kiedy chce niezaleŝnie od tego czy odbiornik jest w stanie odebrać dane. Urządzenia są połączone jak na rys. Programowe (zwane czasami XON/XOFF) które moŝe być stosowane przy transmisji znaków tekstowych lub plików tekstowych. Polega na tym, Ŝe w przypadku zapełnienia bufora urządzenie odbierające dane wysyła do urządzenia nadającego znak pauzy XOFF (19 10 lub 13 H uzyskany na klawiaturze po wciśnięciu CTRL+S) co powoduje wstrzymania nadawania danych przez urządzenie nadające. W przypadku opróŝnienia bufora urządzenie odbierające wysyła znak kontynuacji transmisji XON (17 10 lub 11 H uzyskany na klawiaturze po wciśnięciu CTRL+Q) Dla sterowania urządzeń DCE (np. modemów) stosuje się tzw. komendy Hayesa. Tego rodzaju komendy opracowała firma Hayes Microcomputer Products na potrzeby modemu Hayes Smartmodem 2400 i obecnie stosowane są powszechnie do sterowania modemów telefonicznych. Komenda Hayesa składa się z: przedrostka podstawowa grupa komend ma przedrostek AT lub at, instrukcji sterującej zakończenia (znak ENTER). Pełne zestawienie komend Hayesa moŝna znaleźć w literaturze [Dziczkowski]. Przykłady komend: ATDT234 wybranie numeru 234 (tonowo DT) ATDP234 wybranie numeru 234 (impulsowo DP) Standardy szeregowej transmisji danych - 5 - Plik: RS_lab
ATH1 włączenie modemu do linii (odpowiada podniesieniu mikrotelefonu w słuchawce) ATH0 zwolnienie linii (odpowiada połoŝeniu mikrotelefonu na widełki) 3. Standard RS485 Standard RS485 róŝni się od standardu RS232 następującymi właściwościami: Sygnały są przesyłane róŝnicowo (parą symetryczna w kablu), RóŜnicowy sygnał wyjściowy z nadajnika ma wartość 1,5V, Wyjście nadajnika jest trójstanowe (nadawanie 1, nadawanie 0, stan wysokiej impedancji w sytuacji gdy nadajnik jest w stanie spoczynkowym), Porty RS485 (w liczbie do 32 szt) mogą być przyłączone do wspólnej magistrali, Magistrala łącząca porty moŝe być jednoparowa (rys. 6b) lub dwuparowa (rys. 6a), Katalogowy zasięg transmisji jest równy 1200m W przypadku przyłączenia do magistrali więcej niŝ 2 urządzeń wyŝsze warstwy protokołu muszą zapewnić taką zasad by tylko jeden nadajnik mógł być w stanie nadawania. Ten wymów realizuje się często w ten sposób Ŝe poszczególnym urządzeniom przypisuje się odpowiednie adresy, a jedno z urządzeń (zwane w języku angielskim Master) odpytuje poszczególne urządzenia. W pytaniu zawarty jest adres urządzenia. Na pytanie odpowiada tylko to urządzenie którego adres jest równy adresowy zawartemu w pytaniu, Rys. 6. Magistrale w standardzie RS485. a magistrala dwuparowa, b magistrala jednoparowa Standardy szeregowej transmisji danych - 6 - Plik: RS_lab
4. Program ćwiczenia 4.1. Rejestracja oscyloskopowa sygnałów transmisji danych w standardzie RS485 Zbudować układ jak na rys 7. Oscyloskop połączyć kablem RS232 dla transmisji danych z oscyloskopu do komputera a na komputerze uruchomić oprogramowanie do obsługi oscyloskopu. Na komputerze testującym łącze RS232 uruchomić aplikację HYPERTERMINAL. Dla róŝnych ustawień parametrów łącza RS232 (szybkość transmisji, kontrola parzystości) zarejestrować przebiegi elektryczne sygnału TxD po naciśnięciu róŝnych klawiszy klawiatury komputera. W sprawozdaniu dokonać analizy otrzymanych przebiegów i określić jaki znak (bajt) spowodował kaŝdy z zarejestrowanych przebiegów. Rys. 7. Schemat układu do rejestracji oscyloskopowej transmisji danych w łączu RS485 4.2. Testowanie połączenia kablem null modem Połączyć dwa komputery kablem nul modem jak na rys. 5. Uruchomić na obu komputerach aplikację hyperterminal. Na obu komputerach ustawić jednakową konfigurację hyperterminala, Sprawdzić transmisję pomiędzy komputerami: Znaków wprowadzanych z klawiatury, Plików (korzystając w wyŝszych warstw udostępnionych w hyperterminalu protokołów (Xmodemm Ymodem Zmodem). 4.3. Testowanie połączenia komputerów z wykorzystaniem standardu RS485 Rys. 8. Schemat blokowy układu do testowania transmisji wg standardu RS485 Zestawić połączenie jak na rys. 8 uŝywając konwertery USB/RS485 (rys. 9). Na obu komputerach muszą być zainstalowane sterowniki konwerterów USB/RS485. Na obu komputerach naleŝy uruchomić program Hyperterminal ustawiając we właściwościach port szeregowy o numerze wynikającym z wykazu portów szeregowych w aplikacji menedŝer urządzeń dostępnej w panelu sterowania. Standardy szeregowej transmisji danych - 7 - Plik: RS_lab
Rys. 9. Widok konwertera USB/RS485 firmy DIGITUS Korzystając z rolki kabla YTKSX 3x2x0,5 o długości 500m zestawić połączenia między konwertorami długości 0m, 500m 1000m 1500m. Dla kaŝdej długości przeprowadzić testy transmisji znaków i plików przy róŝnych szybkościach transmisji. Przy transmisji znaków rejestrować na oscyloskopie przebieg napięcia na zaciskach odbiornika. 4.4. Testowanie połączenia komputerów z wykorzystaniem modemów telefonicznych Rys. 10. Schemat blokowy układu do testowania transmisji modemowej Zestawić układ wg schematu jak na rys. 10. Do portów szeregowych komputerów dołączyć modemy telefoniczne. Porty telefoniczne modemów przyłączyć do gniazdek telefonicznych centrali telefonicznej DGT w laboratorium. Na komputerach uruchomić oprogramowanie komunikacyjne ComIt. Zanotować najistotniejsze ustawienia konfiguracyjne programu ComIt. Uruchomić transmisję modemową w dwóch przypadkach: modem odbierający ustawiony na odbieranie ręczne modem odbierający ustawiony na automatyczne odbieranie połączenia (auto answer) Sprawdzić transmisję pojedynczych znaków wprowadzanych z klawiatury oraz transmisję plików (z zastosowaniem odpowiednich protokołów) 5. Literatura Dziczkowski L., Dziczkowska M.: Obsługa i budowa modemu. Wydawnictwo Helion. Gliwice 1977. Standardy szeregowej transmisji danych - 8 - Plik: RS_lab