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 bezpoœredniego 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¹ jednoczeœnie, 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¹ wartoœci granicznej)
prêdkoœci¹ transmisji. Odbiornik dostosowuje siê w tym
przypadku do czêstotliwoœci nadajnika.
Transmisja asynchroniczna
Odbiornik i nadajnik musz¹ ca³y czas pracowaæ z prêdkoœci¹, 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 œciœle okreœlonym 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. Bezpoœrednio za polem danej przewidziany jest
bit kontroli parzystoœci (lub nieparzystoœci). 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 wartoœci 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êdkoœci¹ 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 wyjœciowa jednego z³¹cza), przewód stykowy oraz
obci¹¿enie (koñcówka wejœciowa drugiego z³¹cza).
Normy europejskiej komisji ITU-TSS nie okreœlaj¹ 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¹ okreœlone. 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 okreœla dwa poziomy
napiêcia V1 na linii danych (logika ujemna):
SPACE (logiczne zero) – przyjmuje wartoœci od +5V do
+15V dla wyjϾ i od +3V do +15V dla wejϾ; wartoϾ
typowa wynosi +12V,
MARK (logiczna jedynka) –przyjmuje wartoœci 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 wartoœci 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:
· przejœcie 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 przejœcia 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 odpornoœci 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 wartoœci. Ponadto wbudowane pojemnoœci przewodów powoduj¹ niekorzystne zjawisko wyg³adzania
zboczy. Z tych powodów nie zaleca siê stosowania bezpoœredniego po³¹czenia urz¹dzeñ na odleg³oœci wiêksze ni¿ 15
metrów.
W zdecydowanej wiêkszoœci 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 wartoœci 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 wielkoœci¹, 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êkszoœci 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¹ „przejœció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 okreœleñ 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 okreœleñ 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 noœnej, 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ólnoœci
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 wejœciu 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êdkoœci transmisji. Z sygna³u
mog¹ korzystaæ obie strony. Stan aktywny linii oznacza
wykorzystanie wy¿szej prêdkoœci.
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 trudnoœci 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 myœl¹ 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æ bezpoœrednio. 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 wyjœcia TxD jednego komputera
trafiaj¹ na wejœcie 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. Spoœró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 bezpoœrednio na wejœcie 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 wejœcie DCE nale¿y wiêc podaæ sygna³ RTS
urz¹dzenia nadaj¹cego.
}
5-4915 ELEKTRONIKI

Podobne dokumenty