Transmisja szeregowa i standard RS-232C
Transkrypt
Transmisja szeregowa i standard RS-232C
Transmisja szeregowa i standard RS-232C Transmisja szeregowa i standard RS-232C Tomasz Janczak Od redakcji. W najbli¿szym czasie na ³amach Serwisu Elektroniki zostanie zamieszczony opis interfejsu, umo¿liwiaj¹cy wspó³pracê komputera PC po ³¹czu RS232C z dowolnym odbiornikiem telewizyjnym posiadaj¹cym dekoder teletekstu. W zwi¹zku z tym w obecnym numerze chcemy przedstawiæ Naszym Czytelnikom wszystkie informacje dotycz¹ce ³¹cza RS232C, ze szczegó³owym opisem transmisji oraz podaniem parametrów i wymagañ technicznych. Niniejszy artyku³ ma na celu przybli¿enie czytelnikowi standardu RS-232C szeregowej transmisji danych cyfrowych. Szczególny nacisk po³o¿ony zosta³ na informacje dotycz¹ce parametrów elektrycznych i fizycznych z³¹cz stosowanych w standardzie. W artykule zawarte s¹ tak¿e krótkie opisy charakteryzuj¹ce zastosowanie i znaczenie poszczególnych obwodów wchodz¹cych w sk³ad ³¹cza RS-232C. Na koniec przedstawiono sposób adaptacji standardu do bezporedniego przesy³ania danych miêdzy dwoma komputerami. Transmisja danych cyfrowych Przesy³anie danych pomiêdzy dwoma urz¹dzeniami mo¿e odbywaæ siê na dwa sposoby: równolegle lub szeregowo. W transmisji równoleg³ej wszystkie sygna³y elementarne (bity) sk³adaj¹ce siê na jeden przesy³any znak (najczêciej bajt) przekazywane s¹ jednoczenie, w oddzielnych liniach. Natomiast w przypadku jednokierunkowego przesy³ania danych w formie szeregowej wymagana jest tylko jedna linia danych. Bity sk³adaj¹ce siê na jeden znak transmitowane s¹ t¹ lini¹ jeden po drugim. Transmisja szeregowa mo¿e przebiegaæ w sposób synchroniczny, b¹d asynchroniczny. Transmisja synchroniczna Poza lini¹ przekazuj¹c¹ dane, wymagana jest dodatkowo linia przesy³aj¹ca przebieg synchronizuj¹cy. Dziêki takiemu rozwi¹zaniu mo¿liwa jest komunikacja miêdzy dwoma urz¹dzeniami z dowoln¹ (nie przekraczaj¹c¹ wartoci granicznej) prêdkoci¹ transmisji. Odbiornik dostosowuje siê w tym przypadku do czêstotliwoci nadajnika. Transmisja asynchroniczna Odbiornik i nadajnik musz¹ ca³y czas pracowaæ z prêdkoci¹, która ustalana jest w momencie nawi¹zywania po³¹czenia. Zalet¹ tego rozwi¹zania jest zmniejszenie liczby linii wymaganych do komunikacji. Nastêpuje jednak¿e komplikacja protoko³u przesy³ania danych, gdy¿ musz¹ one nieæ informacje synchronizuj¹ce. Transmisja asynchroniczna oparta jest na przesy³aniu znaków o cile okrelonym formacie. W czasie spoczynku linia danych jest w stanie logicznej jedynki. Nadawanie znaku rozpoczyna siê zawsze bitem startu, który ma wartoæ 0. Jest on bez znaczenia z punktu widzenia przekazywania informacji i s³u¿y jedynie celom synchronizacyjnym. Po bicie startu przesy³anych jest 7 lub 8 bitów stanowi¹cych treæ transmitowanej danej. Bezporednio za polem danej przewidziany jest bit kontroli parzystoci (lub nieparzystoci). Jego wystêpowanie jest opcjonalne, ale ustalone dla wszystkich znaków przesy³anych podczas transmisji. Ka¿dy znak koñczy siê jednym lub dwoma bitami stopu o wartoci 1. Dziêki temu bit startu mo¿e byæ ³atwo rozpoznany, nawet je¿eli ostatni bit danych jest zerowy. Opisany format znaku przedstawia Rysunek 1. W obrêbie jednego znaku bity wyprowadzane s¹ synchronicznie, zgodnie z prêdkoci¹ ustalon¹ podczas nawi¹zywania po³¹czenia. Natomiast wysy³anie znaków odbywa siê asynchronicznie. Przerwy pomiêdzy kolejnymi znakami mog¹ trwaæ dowolnie d³ugo. bit startu 1 2 7 lub 8 bitów danych 3 4 5 6 7 bit parzy(8) stoœci pocz¹tek znaku bity stopu koniec znaku Rys.1. Format znaku danych transmisji asynchronicznej Standard RS-232C W celu ujednolicenia sposobu szeregowego przesy³ania danych stworzone zosta³y ró¿ne standardy. Najbardziej popularnym jest RS-232C (Recommended Standard numer 232, rewizja C). Zosta³ on wprowadzony w roku 1969 w Stanach Zjednoczonych przez Electronics Industries Association. W Europie jego odpowiednikiem jest zalecenie V.24 komisji ITUTSS (dawniej CCITT). Standard RS-232C dotyczy wymiany danych pomiêdzy urz¹dzeniem koñcowym dla danych (ang. DTE Data Terminal Equipement) a urz¹dzeniem komunikacyjnym dla danych (ang. DCE Data Communication Equipement). Projektuj¹c standard, g³ówny nacisk po³o¿ono na zdefiniowanie interfejsu miêdzy terminalem (urz¹dzenie DTE) a modemem (urz¹dzenie DCE). Jednak¿e jest on równie¿ czêsto wykorzystywany do wymiany danych pomiêdzy dwoma urz¹dzeniami typu DTE (np. pomiêdzy dwoma komputerami PC). Maksymalna szybkoæ transmisji nie przekracza 20 kbitów/s. 5-4915 ELEKTRONIKI Transmisja szeregowa i standard RS-232C Standard RS-232C definiuje parametry elektryczne, fizyczne i logiczne ³¹cza szeregowego. Parametry elektryczne Schemat zastêpczy jednego obwodu interfejsu RS-232C przedstawia Rysunek 2. W jego sk³ad wchodzi ród³o sygna³u (koñcówka wyjciowa jednego z³¹cza), przewód stykowy oraz obci¹¿enie (koñcówka wejciowa drugiego z³¹cza). Normy europejskiej komisji ITU-TSS nie okrelaj¹ charakterystyk elektrycznych obwodu w zaleceniu V.24. S¹ one zawarte w oddzielnym zaleceniu V.28. Punkt styku Przewód stykowy ród³o Obci¹¿enie R0 RL V1 V0 C0 CL EL Masa sygna³owa Rys.2. Schemat zastêpczy obwodu stykowego. Charakterystyka ród³a: V0 £ 25 V Rezystancja R0 i pojemnoæ C0 nie s¹ okrelone. Zwarcie do masy, b¹d innej linii nie mo¿e jednak spowodowaæ uszkodzenia obwodu. Pr¹d zwarcia powinien byæ mniejszy od 0,5 A. Charakterystyka obci¹¿enia: 3 kW £ RL £ 7 kW CL £ 2500 pF | EL | £ 2 V Sk³adowa reaktancyjna obci¹¿enia nie mo¿e byæ typu indukcyjnego. Rezystancja i pojemnoæ obci¹¿enia uwzglêdniaj¹ parametry przewodu ³¹cz¹cego dwa z³¹cza. Specyfikacja interfejsu RS-232C okrela dwa poziomy napiêcia V1 na linii danych (logika ujemna): SPACE (logiczne zero) przyjmuje wartoci od +5V do +15V dla wyjæ i od +3V do +15V dla wejæ; wartoæ typowa wynosi +12V, MARK (logiczna jedynka) przyjmuje wartoci od -5V do 15V dla wyjæ i od -3V do -15V dla wejæ; wartoæ typowa wynosi -12V. Na liniach steruj¹cych i na liniach podstawy czasu obowi¹zuje logika dodatnia, odwrotnie ni¿ ma to miejsce na liniach danych. Napiêcie dodatnie oznacza wysoki stan linii, a ujemne stan niski. Zakres napiêæ od -3V do +3V jest zabroniony. Na ¿adnej z koñcówek nie mo¿e pojawiæ siê napiêcie o wartoci bez- wzglêdnej mniejszej od 3V. Wyj¹tkiem s¹ sygna³y RTS, DSR, DTR i SRTS, w których napiêcie w zabronionym obszarze traktowane jest jako logiczne zero. Sygna³y na wszystkich liniach musz¹ tak¿e spe³niaæ nastêpuj¹ce warunki: · przejcie przez obszar zabroniony (od -3V do +3V) nie mo¿e trwaæ d³u¿ej ni¿ 1 ms i musi byæ monotoniczne, · szybkoæ narastania sygna³ów nie powinna przekraczaæ 30V/µs. Ma to na celu ograniczenie przes³uchów. Dla obwodów danych i sygna³ów taktuj¹cych wymaga siê ponadto, aby czas przejcia przez obszar zabroniony nie by³ d³u¿szy ni¿ 3% czasu trwania jednego bitu. U¿ycie du¿ych skoków napiêcia ma na celu zapewnienie odpornoci przesy³anych sygna³ów na zak³ócenia. Jednak¿e przy u¿yciu zbyt d³ugich przewodów mo¿e nast¹piæ obni¿enie poziomów napiêæ poni¿ej dopuszczalnej wartoci. Ponadto wbudowane pojemnoci przewodów powoduj¹ niekorzystne zjawisko wyg³adzania zboczy. Z tych powodów nie zaleca siê stosowania bezporedniego po³¹czenia urz¹dzeñ na odleg³oci wiêksze ni¿ 15 metrów. W zdecydowanej wiêkszoci urz¹dzeñ elektronicznych stosowane s¹ inne poziomy sygna³ów, zgodne z TTL (od 0 do +5V). W celu dopasowania poziomów sygna³ów TTL i RS232C konieczne jest u¿ycie odpowiednich uk³adów konwersji. Do najbardziej popularnych nale¿¹ uk³ady MC1488 (nadajnik linii) i MC1489 (odbiornik linii) produkowane przez firmê Motorola. Stosowany jest tak¿e uk³ad MAX232, którego g³ówn¹ zalet¹ jest korzystanie tylko z jednego ród³a zasilania +5V. Wymienione uk³ady, oprócz zmiany wartoci napiêæ, odwracaj¹ tak¿e fazê sygna³u. Do ka¿dego z nich mo¿na pod³¹czyæ po trzy linie TTL i odpowiadaj¹ce im linie RS-232C. Parametry fizyczne Z³¹cza interfejsu RS-232C mog¹ siê ró¿niæ zarówno wielkoci¹, jak i rodzajem. Najczêciej stosowane s¹ z³¹cza typu D (nazwa pochodzi od kszta³tu wtyczki). Z³¹cza zawieraj¹ce wtyki nazywane s¹ mêskimi (znajduj¹ siê w urz¹dzeniach DTE), a zawieraj¹ce gniazda ¿eñskimi (znajduj¹ siê w urz¹dzeniach DCE). Wyró¿nienie dwóch rodzajów gniazd umo¿liwia zdefiniowanie kierunku pracy poszczególnych obwodów interfejsu. W niektórych komputerach typu Apple u¿ywane s¹ okr¹g³e z³¹czy typu DIN. Fizyczne po³¹czenie stanowi 25-¿y³owy przewód zakoñczony wtykami zdefiniowanymi przez standard. W kablu nie wystêpuje krzy¿owanie linii. Ka¿da ¿y³a przewodu ³¹czy koñcówki oznaczone takim samym numerem w obu wtykach. Przewa¿aj¹ca czêæ linii przeznaczona zosta³a na potrzeby transmisji synchronicznej oraz pomocnicze kana³y danych. W wiêkszoci komputerów u¿ywa siê transmisji asynchronicznej, w której wykorzystuje siê tylko 9 linii. St¹d zazwyczaj stosowany jest wtyk 9-koñcówkowy DB-9, zamiast wtyku 25-koñcówkowego DB-25. W powszechnym u¿yciu s¹ przejciówki ze z³¹cz DB-25 na DB-9. Oryginalne nazwy poszczególnych linii ³¹cza s¹ trudne do zapamiêtania (np. AA, BA ... itp.). Z tego wzglêdu w praktyce stosuje siê skróty, pochodz¹ce od angielskich okreleñ obwodów. Zestawienie sygna³ów i obwodów stosowanych w pe³nym ³¹czu omawianego standardu zawiera tablica 1. 5-4915 ELEKTRONIKI Transmisja szeregowa i standard RS-232C Tablica 1 – Opis wyprowadzeñ na z³¹czu interfejsu RS-232C Numer styku DB-25 DB-9 1 2 3 4 5 6 7 8 3 2 7 8 6 5 1 Nazwa obwodu RS232C V.24 DIN 66020 AA BA BB CA CB CC AB CF 101 103 104 105 106 107 102 109 E1 D1 D2 S2 M2 M1 E2 M5 Skrót angielski PG TxD RxD RTS CTS DSR SG DCD, RLSD 9, 10 11 12 SCF 122 HM5 13 14 SCB SBA 121 120 HM2 HD1 SDCD SRLSD SCTS STxD 15 DB 114 T2 TC/TT 16 SBB 119 HD2 SRxD 17 DD 115 T4 RC/RT 18 19 SCA 120 HS2 SRTS CD CG CE CI 108.1 108.2 110 125 112 S1.1 S1.2 M6 M3 M4 23 CH 111 S4 24 DA 113 T1 20 20 21 22 23 4 4 8 25 DTR RI DSDR DSDR Okreœlenie zgodne z PN-75/T-05052 Masa ochronna Dane nadawane Dane odbierane ¯¹danie nadawania Gotowoœæ do nadawania Gotowoœæ DCE Masa sygna³owa Poziom sygna³u odbieranego u¿ywane do celów diagnostycznych nie wykorzystane Poziom sygna³u odbieranego w kanale powrotnym Gotowoœæ kana³u powrotnego Dane nadawane w kanale powrotnym Podstawa czasu z DCE dla elementów nadawanych Dane odbierana w kanale powrotnym Elementowa podstawa czasu wytwarzana w DCE nie wykorzystane ¯¹danie nadawania w kanale powrotnym W³¹czyæ transmisjê Gotowoœæ DTE Jakoœæ sygna³u odbieranego WskaŸnik wywo³ania Wybór szybkoœci transmisji przez DCE Wybór szybkoœci transmisji przez DTE Podstawa czasu z DTE dla elementów nadawanych nie wykorzystane Parametry logiczne Parametry logiczne odnosz¹ siê do sposobu wykorzystywania linii ³¹cza szeregowego. Poni¿ej opisane zosta³o znaczenie poszczególnych sygna³ów standardu RS-232C, identyfikowanych zwyczajowo u¿ywanymi skrótami angielskimi. Linie nie posiadaj¹ce tego typu okreleñ oznaczone s¹ nazw¹ zgodn¹ ze standardem RS-232C oraz numerem styku. Obwody omawianego interfejsu mo¿na podzieliæ na kilka grup funkcjonalnych. obwody masy PG (Protective Ground) masa zabezpieczaj¹ca ³¹czona do obudowy urz¹dzenia. SG (Signal Ground) masa sygna³owa stanowi¹ca odniesienie dla wszystkich pozosta³ych sygna³ów interfejsu. obwody danych TxD (Transmitted Data) przesy³anie danych z urz¹dzenia DTE do urz¹dzenia DCE. Kierunek transmisji DTE − DCE ↔ → ← → ← ← ↔ ← ← ← → ← ← ← → → → ← ← ← → → RxD (Received Data) przesy³anie danych z urz¹dzenia DCE do urz¹dzenia DTE. obwody steruj¹ce i potwierdzaj¹ce RTS (Request To Send) urz¹dzenie DTE uaktywniaj¹c t¹ liniê sygnalizuje zamiar przesy³ania danych do DCE. CTS (Clear To Send) stan aktywny oznacza, ¿e urz¹dzenie DCE potwierdza odbiór sygna³u RTS i stwierdza gotowoæ odbioru danych. DCD (Data Carrier Detected), RLSD (Received Line Signal Detector) urz¹dzenie DCE uaktywnia tê liniê po wykryciu fali nonej, co oznacza ¿e druga strona (stacja odleg³a) transmituje dane. Modem (DCE) za³¹cza sygna³ DCD, je¿eli stacja odleg³a (odleg³e DTE) wystawi³a aktywny sygna³ RTS. Linie RTS, CTS i DCD odpowiedzialne s¹ za sterowanie przep³ywem danych w trybie pó³dupleksowym. Urz¹dzenie DTE, które chce wys³aæ dane informuje o tym DCE uakty- 5-4915 ELEKTRONIKI Transmisja szeregowa i standard RS-232C wniaj¹c sygna³ RTS. Urz¹dzenie DCE bada czy w tym czasie nie nadaje druga strona. Je¿eli nie nadaje, to DCE uaktywnia sygna³ CTS zezwalaj¹cy na nadawanie. Przy pracy w pe³nym dupleksie dopuszcza siê jednoczesne nadawanie w obu kierunkach. Z tego wzglêdu nie ma potrzeby sterowania przep³ywem danych. Oba terminale mog¹ utrzymywaæ aktywny stan RTS, a modemy ca³y czas zezwalaj¹ na nadawanie aktywnym stanem CTS. DTR (Data Terminal Ready) sygna³ wskazuje w ogólnoci na gotowoæ urz¹dzenia DTE, musi pozostawaæ aktywny przez ca³y czas trwania po³¹czenia. DSR (Data Set Ready) wed³ug standardu sygna³ ten stanowi meldunek urz¹dzenia DCE, ¿e zosta³o nawi¹zane po³¹czenie i uk³ad gotów jest do odbioru danych z DTE. W praktyce modemy nie wykorzystuj¹ linii DSR utrzymuj¹c j¹ ca³y czas w stanie aktywnym. Urz¹dzenie DTE mo¿e wiêc co najwy¿ej stwierdziæ, czy modem jest w ogóle w³¹czony. Para sygna³ów DTR i DSR odpowiada za utrzymanie po³¹czenia oraz odgrywa rolê przy próbie nawi¹zania po³¹czenia. RI (Ring Indicator) w przypadku po³¹czenia przez sieæ telefoniczn¹, pojawienie siê sygna³u RI na wejciu urz¹dzenia DTE odpowiada wywo³aniu abonenta (dzwonieniu telefonu). Je¿eli linia DTR jest aktywna, to modem po ustawieniu sygna³u RI powinien wys³aæ odpowied zwrotn¹ do stacji próbuj¹cej nawi¹zaæ po³¹czenie. DSDR (Data Signal Rate Selector) obwód s³u¿y do wyboru jednej z dwóch mo¿liwych prêdkoci transmisji. Z sygna³u mog¹ korzystaæ obie strony. Stan aktywny linii oznacza wykorzystanie wy¿szej prêdkoci. CG (obwód nr 21) stan aktywny oznacza, ¿e transmisja odbywa siê prawdopodobnie bezb³êdnie. Stan nieaktywny wskazuje na s³ab¹ jakoæ odbieranego sygna³u, a co za tym idzie du¿e prawdopodobieñstwo wyst¹pienia przek³amañ. W niektórych systemach ledzenie tej linii umo¿liwia w razie potrzeby retransmisji wys³anych danych. Zaleca siê, aby sygna³ CG pozwala³ na identyfikacjê b³êdów na linii RxD. obwody podstawy czasu (wa¿ne dla transmisji synchronicznej) TC/TT (Transmit Clock/Transmit Timming) podstawa czasu przy nadawaniu. Sygna³ wytwarzany jest przez modem po stronie nadawczej i taktuje wysy³anie kolejnych bitów. RC /RT (Receive Clock/Receive Timming) podstawa czasu przy odbiorze. Jest to sygna³ taktuj¹cy wydzielany przez modem po stronie odbiorczej z sygna³u odbieranego. DA (obwód nr 24) sygna³ taktuj¹cy wytwarzany przez urz¹dzenie DTE. obwody kana³u powrotnego (wtórnego) Linie kana³u powrotnego maj¹ nazwy poprzedzone przedrostkiem S (secondary wtórny). Obwody STxD, SRxD, SRTS, SCTS oraz SDCD pe³ni¹ takie same funkcje, jak ich odpowiedniki w kanale g³ównym. Kana³ powrotny odgrywa istotn¹ rolê przy transmisji pó³dupleksowej. Jest on ca³kowicie niezale¿ny do kana³u g³ównego. Z tego powodu mo¿na nim przesy³aæ informacje steruj¹ce przep³ywem danych, w przypadku wyst¹pienia trudnoci w odbiorze informacji przez stacjê koñcow¹. £¹czenie dwóch urz¹dzeñ DTE z pominiêciem modemów Jak ju¿ wspomniano standard RS-232C zosta³ opracowany z myl¹ o przesy³aniu danych przy pomocy linii telefonicznej. Zdarzaj¹ siê jednak sytuacje, gdy dwa urz¹dzenia (najczêciej komputery), które nale¿y po³¹czyæ stoj¹ obok siebie. W takim przypadku u¿ycie modemów nie ma sensu. Dwa urz¹dzenia DTE mo¿na po³¹czyæ bezporednio. Trzeba to jednak zrobiæ w taki sposób, aby ka¿de z nich widzia³o po drugiej stronie urz¹dzenie DCE. Do dyspozycji s¹ tylko sygna³y wychodz¹ce z DTE. Kabel do po³¹czenia dwóch stacji typu DTE nazywany jest kablem modemu zerowego (null-modem cable), gdy¿ usuwa koniecznoæ u¿ycia modemu. Schemat po³¹czeñ w takim kablu, dla celów transmisji asynchronicznej, prezentuje rysunek 3. DTE1 SG SG PG PG TxD TxD RxD RxD RTS RTS CTS CTS DCD DCD DTR DTR DSR DSR DTE2 Rys.3. Kabel modemu zerowego dla transmisji asynchronicznej Informacje wychodz¹ce z wyjcia TxD jednego komputera trafiaj¹ na wejcie RxD drugiej maszyny. Symulowane jest w ten sposób nadchodzenie danych z modemu. Sygna³y DSR i DTR zapewniaj¹ utrzymanie po³¹czenia. Równie¿ one musz¹ zostaæ skrzy¿owane. Dziêki temu gotowoæ do pracy jednego z urz¹dzeñ DTE odbierana jest przez drugie jako gotowoæ modemu. Za sterowanie transmisj¹ danych odpowiedzialne s¹ obwody RTS, CTS i DCD. Sporód tych trzech sygna³ów tylko RTS pochodzi z DTE. Dwa pozosta³e musz¹ byæ emulowane. Sygna³ RTS oznacza ¿¹danie wysy³ania danych. Je¿eli zostanie on podany bezporednio na wejcie CTS tej samej stacji, to nast¹pi automatyczne zezwolenie na transmisjê. Nale¿y jeszcze zadbaæ o poinformowanie drugiej stacji o rozpoczêciu nadawania. Sygna³em, który informuje DTE o tym fakcie jest obwód DCD. Na wejcie DCE nale¿y wiêc podaæ sygna³ RTS urz¹dzenia nadaj¹cego. } 5-4915 ELEKTRONIKI