dwukierunkowy interfejs RS232 RS 485


DwukierunkowyPinterfejsJRS232/RS485
R O E K T Y
Dwukierunkowy interfejs
RS232/RS485
AVT-5006
Przedstawiamy opis
prostego interfejsu, za pomocÄ…
ktÛrego moÅ‚na m.in. poÅ‚Ä…czyĘ
ze sobą dwa odległe
komputery lub dołączyĘ
dowolne urzÄ…dzenie
wyposałone w interfejs
szeregowy RS485.
Szeregowyinter-
fejs RS232 słuły do przesy-
Å‚ania danych pomiÍdzy dwoma
urządzeniami. W taki układ wej-
ścia/wyjścia - port komunikacyjny O ile w interfejsie RS232, w jego
- wyposałone są chyba wszystkie minimalnej konfiguracji, do trans-
komputery (najczÍÅ›ciej w dwa por- misji sygnaÅ‚Ûw wystarczÄ… trzy prze-
ty), komputerowe myszy, modemy, wody (Tx, Rx i masa), to w RS485
niektÛre drukarki i pamiÍci maso- niezbÍdne sÄ… 4 przewody. JednÄ…
we, a takÅ‚e wiele urzÄ…dzeÒ prze- dwuprzewodowÄ… pÍtlÄ… przesyÅ‚ane
mysłowych. Zaletą interfejsu, szcze- są sygnały nadawane (Tx), a drugą
gÛlnie w uproszczonej wersji, jest sygnaÅ‚y odbierane (Rx).
jego powszechnośĘ. Jełeli jednak Poniewał przesyłanie sygnału
trzeba poÅ‚Ä…czyĘ urzÄ…dzenia znajdu- za pomocÄ… pÍtli rÛÅ‚nicowo-prÄ…do-
jÄ…ce siÍ w odlegÅ‚oÅ›ci wiÍkszej niÅ‚ wej jest bardziej odporne na za-
kilka metrÛw, konieczne staje siÍ kÅ‚Ûcenia, dÅ‚ugośĘ linii RS485 moÅ‚e
zastosowanie innego standardu siÍgaĘ setek, a nawet tysiÍcy met-
przesyÅ‚ania sygnaÅ‚Ûw, np. RS485. rÛw. Dodatkowo, stosujÄ…c odpo-
RÛÅ‚nice pomiÍdzy obydwoma wiedni protokÛÅ‚ transmisji, czyli
interfejsami polegajÄ… m.in. na zbiÛr reguÅ‚, ktÛremu podporzÄ…dku-
przyjÍtym sposobie przesyÅ‚ania je siÍ zarÛwno urzÄ…dzenie nadaw-
sygnału. W RS232 bity danych są cze, jak i odbiorcze, mołna za
przesyÅ‚ane przez zmianÍ pozio- poÅ›rednictwem jednej linii trans-
mÛw napiÍcia. OkreÅ›lone sÄ… dwa mitowaĘ zarÛwno sygnaÅ‚y Tx, jak
poziomy logiczne linii Tx (linia i Rx. Co wiÍcej, do jednej linii
transmisji danych z nadajnika) i li- mołe byĘ podłączonych nawet
nii Rx (linia odbioru danych). kilkadziesiÄ…t urzÄ…dzeÒ wyposaÅ‚o-
Stanowi logicznemu ì0î odpowia- nych w interfejs RS485, co pozwa-
da napiÍcie +6..+12V natomiast la stworzyĘ sieĘ wymiany danych
logicznej ì1î napiÍcie -12V..-6V. pomiÍdzy wieloma urzÄ…dzeniami.
W interfejsie RS485 do okreś- DosyĘ łatwo mołna skonstruo-
lenia wartości logicznej transmi- waĘ najprostszy interfejs zamienia-
towanego bitu ułyto, zamiast po- jący sygnał standardu RS232 na
ziomu napiÍcia linii, wartoÅ›ci na- RS485. Na rys. 1 pokazano ukÅ‚ad,
piÍcia rÛÅ‚nicowego miÍdzy linia- dziÍki ktÛremu moÅ‚na np. poÅ‚Ä…-
mi, czyli napiÍcie na ich obciÄ…- czyĘ dwa odlegÅ‚e komputery wy-
łeniu o określonej impedancji. posałone w RS232 tak, aby syg-
Elektronika Praktyczna 4/2001
25
Dwukierunkowy interfejs RS232/RS485
nały były przesyłane za pomocą nych (w przeciwnym wy-
pÍtli prÄ…dowej. UkÅ‚ady scalone U3 padku procesor ponowi
i U4 peÅ‚niÄ… rolÍ poÅ›rednika zamie- prÛbÍ transmisji po okre-
niającego sygnał o poziomach sie wyczekiwania).
RS232 z wyjÅ›cia COM komputera 2. Wymiana nastÍpuje
na sygnał o poziomie TTL. Z kolei po ustawieniu linii TRF
sygnał ten jest podawany na ukła- w stan niski przez proce-
dy bÍdÄ…ce interfejsami linii RS485. sor przesyÅ‚ajÄ…cy, a trans-
Droga sygnaÅ‚Ûw jest nastÍpujÄ…ca. mitowany bajt pojawia
1. SygnaÅ‚ Tx z gniazda komputera siÍ na porcie P1.
podawany jest na wejście U4-8. 3. Procesor odbierający
2. Po konwersji na poziom bajt potwierdza ten fakt
TTL sygnał z wyjścia U4-9 poda- ustawieniem linii ACKF
wany jest na wejście U1-4 inter- na poziomie niskim.
fejsu RS485 skonfigurowanego ja- 4. Nadawca, majÄ…c
ko nadajnik. pewnośĘ, łe bajt został
3. Z kolei sygnał Rx podawany odebrany, zwalnia P1
jest na gniazdo COM komputera i ustawia na linii TRF
z wyprowadzenia U4-7 i U5-1 skon- z powrotem poziom wy-
figurowanego jako odbiornik RS485. soki.
Linia transmisyjna Å‚Ä…czy wy- 5. Z kolei procesor od-
prowadzenia sygnału Tx jednego bierający przywraca, po
komputera z wejściem Rx drugie- odebraniu bajtu, poziom
go. Tak samo jest w przypadku wysoki na linii ACKF.
drugiej pary sygnaÅ‚Ûw. Jak to Taki sposÛb wymiany
widaĘ na rysunku, obie linie danych nazywa siÍ prze-
danych krzyÅ‚ujÄ… siÍ. sÅ‚aniem z potwierdze-
Jełeli chcielibyśmy do portu niem i zapewnia ich bez-
RS232 doÅ‚Ä…czyĘ liniÄ… dwuprzewo- bÅ‚ÍdnÄ… wymianÍ.
dową urządzenie z portem RS485, Uwałny Czytelnik
to taki interfejs musi byĘ zbudo- mołe zapytaĘ, po co dwa
wany inaczej i zawieraĘ nieco procesory i komplikacje
ìinteligencjiî. z wymianÄ… danych, sko-
ro pokazany na rys.
Opis układu 1 układ dobrze pracował
Schemat takiego interfejsu po- bez Å‚adnego procesora?
kazano na rys. 2. SÅ‚uÅ‚y on do Bierze to siÍ z koniecz-
dwustronnej transmisji pomiÍdzy noÅ›ci rozwiÄ…zania prob-
portem RS232 a dwuprzewodowÄ… lemÛw, ktÛre powstajÄ…,
liniÄ… RS485. Jest on wyposaÅ‚ony gdy chce siÍ przesyÅ‚aĘ
w bufory danych Rx i Tx, sygna- dane pomiÍdzy dwiema
lizuje biełący kierunek transmisji, jednokierunkowymi li-
potrafi takłe jednocześnie praco- niami Rx i Tx portu
waĘ z rÛÅ‚nymi szybkoÅ›ciami trans- RS232 i jednÄ… dwukie-
misji po stronie RS232 i RS485. runkowÄ… liniÄ… portu
UkÅ‚ad oparto na dwÛch proce- RS485. Dobrym przykÅ‚a-
sorach U2 i U3 typu AT89C2051, dem podobnej sytuacji
ktÛre sterujÄ… przepÅ‚ywem danych jest sytuacja w ruchu
w obydwiestrony.JeÅ›li ktÛryÅ› z pro- drogowym, gdy na sku-
cesorÛw odbierze ze swojej linii tek remontu pojazdy ja-
danych kompletny bajt, przesyła go dące dwupasmową drogą
sąsiadowi, korzystając z pośrednict- muszą przez pewien
wa portu P1. Do zapewnienia bez- odcinek jechaĘ tylko jed-
kolizyjnej wymiany danych pomiÍ- nym pasem. Øeby caÅ‚ko-
dzy procesorami słułą dwie linie wicie nie zablokowaĘ ta-
sygnałowe P3.5 ACKF i P3.7 TRF. kiego przejazdu, jedynym
Wymiana danych przebiega na- rozwiÄ…zaniem pozostaje
stÍpujÄ…co: ruch wahadÅ‚owy i Å›wiat-
1. Procesor chcący przesłaĘ ła pełniące z obu stron
sÄ…siadowi bajt danych sprawdza przewÍÅ‚enia rolÍ semafo-
najpierw stan linii TRF. JeÅ‚eli jest ra. RolÍ takiego semafora
na niej poziom wysoki, to ozna- pełni w tym przypadku
cza, Å‚e sÄ…siedni procesor jest kombinacja sygnaÅ‚Ûw na
gotÛw przyjąĘ przesyÅ‚any bajt da- liniach TRF i ACKF.
Rys. 1. Schemat elektryczny prostego interfejsu.
Elektronika Praktyczna 4/2001
26
Dwukierunkowy interfejs RS232/RS485
Zastosowanie dwÛch proceso-
rÛw wynika takÅ‚e z pewnych ogra-
niczeÒ ukÅ‚adÛw AT89C2051. OtÛÅ‚
posiadajÄ… one wsparcie tylko dla
jednego portu transmisji szerego-
wej, z ktÛrym wspÛÅ‚pracujÄ… wypro-
wadzenia P3.0 i P3.1. oznaczone
dodatkowo symbolami RXD i TXD.
Poniewał trzeba obsłułyĘ dwa por-
ty (RS232 i RS485), potrzebne sÄ…
dwa procesory. OprÛcz niewÄ…tpli-
wego podniesienia kosztÛw, daje to
takłe pewne korzyści. Po pierwsze,
obie linie RS232, jak i RS485 mogÄ…
pracowaĘ z rÛÅ‚nymi szybkoÅ›ciami
transmisji, a ukÅ‚ad peÅ‚ni wtedy rolÍ
inteligentnego konwertera. SzybkośĘ
transmisji kaÅ‚dego z procesorÛw
ustalana jest bezpośrednio po włą-
czeniu napiÍcia zasilajÄ…cego. Oba
procesory badajÄ… wtedy stan swo-
jego portu P1, do ktÛrego doÅ‚Ä…czo-
nych jest sześĘ przeÅ‚Ä…cznikÛw kon-
figuracyjnych S1. Przełączniki te,
poprzez diody D10...D15, połączo-
ne są z wyjściem portu P3.4 pro-
cesora U3, ktÛre bezpoÅ›rednio po
zerowaniu ma stan niski. Zwarcie
ktÛregokolwiek z przeÅ‚Ä…cznikÛw po-
woduje, Å‚e odpowiadajÄ…ca mu linia
portÛw P1 obydwu procesorÛw
znajdzie siÍ takÅ‚e na niskim po-
ziomie. Kałdemu przełącznikowi
przypisana jest szybkośĘ transmisji,
z jakÄ… bÍdzie wspÛÅ‚pracowaÅ‚ z por-
tem szeregowym procesor. I tak:
19200 bd ładen przełącznik
nie jest zwarty
9600 bd 1 przełącznik zwarty
4800 bd 2 przełącznik zwarty
2400 bd 3 przełącznik zwarty
1200 bd 4 przełącznik zwarty
600 bd 5 przełącznik zwarty
Przełącznik 6 zastosowano do
ustawiania rÛÅ‚nych prÍdkoÅ›ci
transmisji dla RS232 i RS485.
Jełeli bezpośrednio po włączeniu
zasilania przełącznik ten pozosta-
nie rozwarty, oba procesory usta-
wią jednakowe szybkości transmi-
sji wyznaczone ustawieniem prze-
Å‚Ä…cznikÛw 1...5. W takim przypad-
ku diody LED D1 i D2 mignÄ…
dwukrotnie, informujÄ…c o gotowoÅ›-
ci układu do normalnej pracy.
JeÅ‚eli jednak przeÅ‚Ä…cznik 6 bÍdzie
zwarty, po zerowaniu zaÅ›wieci siÍ
dioda D1, sygnalizujÄ…c zaprogra-
mowania prÍdkoÅ›ci transmisji pro-
cesora U2 obsÅ‚ugujÄ…cego liniÍ
RS485. PrÍdkośĘ ta bÍdzie zaleÅ‚na
od ustawieÒ przeÅ‚Ä…cznikÛw 1...5.
NastÍpnie naleÅ‚y ustawiĘ tymi
przeÅ‚Ä…cznikami prÍdkośĘ transmi-
Rys. 2. Schemat elektryczny interfejsu  inteligentnego .
Elektronika Praktyczna 4/2001
27
Dwukierunkowy interfejs RS232/RS485
sji procesora U3 obsługującego wyprowadzeniu DE spowoduje
WYKAZ ELEMENTÓW
linie RS232. Po rozwarciu prze- wÅ‚Ä…czenie nadajnika i transmisjÍ
Rezystory
Å‚Ä…cznika 6 procesor U3 zostanie danych, ktÛre sÄ… podawane na
R1, R2, R6: 10k&!
zaprogramowany wybraną szyb- wejście DI. Poziom niski wyłącza
koÅ›ciÄ… i na chwilÍ zaÅ›wieci siÍ nadajnik. NaleÅ‚y dodaĘ, Å‚e wypro- R3, R4: 1k&!
dioda LED D2. Potem obie diody wadzenia A i B powinny siÍ Å‚Ä…- R5: 120&!
dwukrotnie migną, co oznacza czyĘ z analogicznymi wyprowadze- Kondensatory
gotowośĘ układu do pracy. niami po drugiej stronie linii,
C1, C2: 27pF
Drugą korzyścią z zastosowania czyli A z A i B z B (połączenia nie
C3, C9, C11, C12: 100nF
dwÛch procesorÛw jest moÅ‚liwośĘ mogÄ… siÍ krzyÅ‚owaĘ). Dodatkowo,
C4..C8: 47µF/16V
buforowania pewnej liczby danych wejścia A i B mołna zabezpieczyĘ
C10: 220µF/40V
w przypadku, gdyby byÅ‚y one w tej przed przepiÍciem szybkÄ… dwu-
C13: 100µF/25V
samej chwili transmitowane zarÛ- stronnÄ… diodÄ… D3 oraz dopasowaĘ
Półprzewodniki
wno linią RS232, jak i RS485. opornośĘ wejściową do oporności
D1, D2, D5: LED np. czerwona,
DziÍki temu pomimo kolizji (liniÄ… falowej linii przesyÅ‚owej oporni-
zielona, żółta
RS485 mołna w danym momencie kiem R5 o dobranej oporności.
D3: 1.5KE6 dwustronna szybka
przesłaĘ dane tylko w jedną stro- Oba procesory pracują z takim
dioda zabezpieczajÄ…ca
nÍ) transmitowane dane nie zosta- samym programem i sÄ… taktowane
D4: mostek prostowniczy
ną stracone, poniewał po zwolnie- takim samym sygnałem zegaro-
D10..D15: dowolne diody
niu linii procesor je wyśle, korzys- wym stabilizowanym kwarcem X1.
U1: MCP101 lub DS1812
tajÄ…c z zapisu w buforze. Bufor ma Zapewnia to odpowiedniÄ… syn-
U2, U3: AT89C2051 zaprogramo-
rozmiar jedynie 16 bajtÛw, jednak chronizacjÍ koniecznÄ… przy wy-
wane
z pewnymi ograniczeniami moÅ‚li- mianie danych miÍdzy procesora-
U4: MAX232 lub odpowiednik
wa jest dziÍki temu symulacja mi. Jednak synchronizacja ta
U5: MAX485, SN75176 lub
transmisji dupleksowej. w pewnym przypadku mogłaby
odpowiednik
Układ U4 jest standardowym byĘ kłopotliwa. Mołe zaistnieĘ
U6: 7805
interfejsem sygnaÅ‚Ûw RS232. Kilka sytuacja, gdy oba procesory bÍdÄ…
Różne
sÅ‚Ûw opisu poÅ›wiÍcimy ukÅ‚adowi chciaÅ‚y w tym samym momencie
JP2, JP1: ARK2
U5, umołliwiającemu dwukierun- przesłaĘ sobie dane. Gdyby dzia-
P1: złącze DB9 żeńskie do druku
kowÄ… transmisjÍ liniÄ… RS485. UkÅ‚ad Å‚aÅ‚y idealnie synchronicznie, mog-
S1: SW DIP-6
zawiera kompletne bloki nadawcze Å‚yby wpaśĘ w niekoÒczÄ…cÄ… siÍ
i odbiorcze doÅ‚Ä…czone do wspÛl- pÍtlÍ oczekiwania i ukÅ‚ad po pros- X1: 11,059MHz
nych wyprowadzeÒ rÛÅ‚nicowych tu przestaÅ‚by dziaÅ‚aĘ. Z tego po-
A i B. O tym, ktÛry z tych blokÛw wodu kaÅ‚dy z procesorÛw ma in- i linii RS485. Przed zamontowa-
doÅ‚Ä…czony jest do wyprowadzeÒ ny czas oczekiwania na zwolnie- niem ukÅ‚adÛw scalonych warto
decyduje poziom sygnaÅ‚Ûw steru- nie siÍ linii TRF. Jak jednak jest sprawdziĘ, czy stabilizator dostar-
jÄ…cych na wejÅ›ciach /RE i DE. to moÅ‚liwe, skoro oba pracujÄ… cza napiÍcia +5V. UkÅ‚ad moÅ‚na
Niski poziom na wyprowadzeniu z takim samym programem? Jest zasilaĘ napiÍciem staÅ‚ym lub
/RE oznacza przyÅ‚Ä…czenie do to moÅ‚liwe dziÍki zwarciu do zmiennym w szerokim przedziale
wyprowadzeÒ A i B odbiornika, masy wyprowadzenia P3.4 proce- wartoÅ›ci, od 8 do 24V. Jest to
a dane odebrane z linii RS485 bÍ- sora U2. To samo wyprowadzenie moÅ‚liwe dziÍki temu, Å‚e pobÛr
dÄ… dostÍpne na wyprowadzeniu w drugim procesorze po procedu- prÄ…du nie przekracza 50mA i sta-
RO. Wysoki poziom wyÅ‚Ä…cza od- rze programowania szybkoÅ›ci bilizator zbytnio siÍ nie nagrzewa
biornik. Z kolei wysoki poziom na transmisji pozostanie na poziomie nawet przy wyÅ‚szym napiÍciu
wysokim, dziÍki czemu ten zasilajÄ…cym. Po wÅ‚Ä…czeniu zasila-
sam program jest w stanie roz- nia diody powinny mignąĘ dwu-
poznaĘ, w ktÛrym procesorze krotnie. OznaczaĘ to bÍdzie goto-
pracuje i dostosowuje do tego wośĘ układu do pracy.
swÛj czas oczekiwania na zwol- W ukÅ‚adzie bez zmiany Å›cie-
nienie linii TRF. łek płytki drukowanej mołna
zastosowaĘ procesory AT90S2313.
MontaÅ‚ i uruchomienie MoÅ‚na wtedy osiÄ…gnąĘ wiÍksze
Montał układu i uruchomie- szybkości transmisji z przedziału
nie są bardzo proste. Elementy 2400...115200 bd. Oczywiście, na-
na płytce drukowanej (schemat leły wtedy napisaĘ odpowiedni
montałowy pokazano na rys. dla tego procesora program.
3) mołna lutowaĘ w dowolnej Ryszard Szymaniak, AVT
kolejności, chociał najlepiej na ryszard.szymaniak@ep.com.pl
początku zamontowaĘ te naj-
mniejsze. Gniazdo P1 to gniaz- Wzory płytek drukowanych w for-
do RS232 typu DB9 Å‚eÒskie do macie PDF sÄ… dostÍpne w Internecie
druku. Pozostałe gniazda są pod adresem: http://www.ep.com.pl/
typu ARK2 i umołliwiają przy- ?pdf/kwiecien01.htm oraz na płycie
Rys. 3. Rozmieszczenie elementów
krÍcenie przewodÛw zasilania CD-EP04/2001B w katalogu PCB.
na płytce drukowanej.
Elektronika Praktyczna 4/2001
28


Wyszukiwarka