• Rezultati Niso Bili Najdeni

Serijska komunikacija 1. Uvod

In document Poklicna in tehniška elektro šola (Strani 34-39)

Če se naj dve napravi razumeta, morata uporabljati isti prenosni medij, imeti enake električne in druge fizikalne lastnosti, uporabljati enak nabor znakov in enak jezik. Kadar sodeluje več naprav, pa moramo upoštevati še dodatne dogovore:

• kako naj naprava vzpostavi zvezo z naslovnikom

• kako se naj naprava predstavi

Poseben problem predstavlja pogoj, da ne sme nikdar istočasno oddajati več naprav.

Nastala je cela vrsta pravil in postopkov, ki določajo posamezne načine prenosa. Nabor pravil in postopkov, ki urejajo prenos informacij med ljudmi, napravami in procesi imenujemo protokol.

Da bi lahko prišlo do komuniciranja med vsemi zainteresiranimi udeleženci, morajo vsi uporabljati enak komunikacijski protokol. Te probleme rešuje standardizacija. Standard je eden ali več formalno ali neformalno sprejetih protokolov, ki jih razumejo vsi zainteresirani ljudje, stroji in naprave. Neformalni standardi so tisti, ki so močno razširjeni in za katerimi stojijo velike korporacije. Formalni standardi pa so tisti, ki jih sprejmejo običajno na podlagi neformalnih posebne organizacije za standardizacijo:

• ISO – International Standards Organization

• ANSI – American National Standards Institute

• DIN – Deutschhe Industrie Norm

• IEEE – Institute of Electrical and Electronics Engineers

• EIA – Electronics Industry Association

Žal najboljšega protokola ni. Obstaja le bolj ali manj optimalen protokol glede na naše potrebe in okolje, v katerem bo deloval. Protokol, ki deluje v enem okolju zelo dobro, je lahko v drugem popolnoma neučinkovit.

5.2. Standard RS-232 ali V.24

Je najbolj pogost protokol asinhrone serijske (bit za bitom) komunikacije. Podatki med dvema enotama se lahko prenašajo v obe smeri istočasno (full duplex). Najenostavnejša konfiguracija zahteva tri signale:

• TxD – Transmit Data (oddajanje podatkov)

• RxD – Receive Data (sprejemanje podatkov)

GND – Ground (skupna signalna masa)

V tem primeru je prenos podatkov kontroliran s ti. Xon /Xoff načinom, ki softversko določa, kdaj je prenos dovoljen in kdaj ne.

Če je kontrola prenosa (handshake) izvedena hardversko, so potrtebne dodatne kontrolne in

34

communication equipment) napravi, sicer moramo vse signalne linije prekrižati. Z oznako DTE označujemo naprave, ki sprejemajo, oddajajo in z danim protokolom omogočajo prenos podatkov (računalnik). Z oznako DCE pa imenujemo naprave, ki podatke posredujejo

(modem).

• RTS (Request To Send) – signal, ki nadzoruje pretok podatkov iz DTE v DCE

• CTS (Clear To Send) – signal, ki nadzoruje pretok podatkov iz DCE v DTE

• DSR (Data Set Ready) – signal DTE enoti posreduje informacijo o pripravljenosti DCE

• DCD (Data Carrier Detect) – signal posreduje enoti DTE informacijo o napačno kontrolnih in statusnih linijahh je situacija obrnjena (+ potencial je logična 1). Hitrosti prenosa so od 75 do več 100kBaudov (bit/sek, bps - bits per seconds). Priporočljiva dolžina kabla je do 15 metrov.

5.2.1. Način prenosa

Podatke pošiljamo v obliki znakov. Vsak znak je sestavljen iz treh delov:

• startni bit

• podatkovni biti

• stop biti

Zaradi start in stop bitov se asinhroni način imenuje tudi start-stop način.

TxD 2 (3)

poljubno dolg

Start bit je vedno različen od nivoja mirovanja linije, ki je označeno kot 1. Njegov namen je, da sporoči sprejemniku začetek znaka. Podatkovni biti, ki jim lahko neobvezno sledi paritetni bit, določajo znak, ki se pošilja. Njihovo število je odvisno od nabora znakov

(abecede) in je običajno 8. Na linijo se najprej pošlje bit z najmanjšo utežjo, zadnji pa bit z največjo. Stop bit je vedno enak mirovnemu stanju linije. Včasih imamo namesto enega stop bita dva. Stop bit zagotavlja, da bo pred naslednjim znakom linija v mirovnem stanju najmanj en bitni interval. Lahko mu takoj sledi naslednji znak, lahko pa je med njima poljubno dolg presledek, v katerem je linija v mirovnem stanju. Oddajnik in sprejemnik morata biti v času oddajanja znaka v sinhronizmu. Sprejemnik mora vedeti, s kakšno hitrostjo, koliko podatkovnih bitov, kakšno pariteto in koliko stop bitov pošilja oddajnik.

5.2.2. Pariteta

S pomočjo neobveznega paritetnega bita lahko ugotavljamo ali je prišlo pri prenosu znaka oz. podatkovnih bitov do podatkovne napake (motnje, neprimerna linija, prekinjajoča linija, nesinhronizem ...). Oddajnik in sprejemnik morata delovati v istem načinu paritete, ki je lahko soda, liha in brez paritete.

Oddajnik pri oddajanju prešteje število enic med podatkovnimi biti in postavi dodatni paritetni bit v stanje:

• liha pariteta

liho število enic --- paritetni bit v 1 sodo število enic --- paritetni bit v 0

• soda pariteta

liho število enic --- paritetni bit v 0 sodo število enic --- paritetni bit v 1

• brez paritete

paritetni bit ne obstaja

Sprejemnik pri sprejemu ponovno prešteje število enic v podatkovnih bitih, pregleda paritetni bit in ugotavlja resničnost glede na zgoraj napisana pravila. Če pri določeni pariteti paritetni bit kaže na obratno parnost kot pa je ugotovljena, sporoči preko posebne zastavice v statusnem registru napako pri prenosu. Ugotavljanje napake je pri določenih komunikacijskih adapterjih avtomatično, v nasprotnem primeru pa mora napako ugotoviti sam program.

36

Pri mnogih uK je komunikacijski adapter že vgrajen. Pravimo mu serijski port in operira z enakimi nivoji kot uK. Zaradi tega mu moramo v določenih primerih (komunikacija s PC)

dodati element za pretvorbo nivojev (MAX232).

Večina proizvajalcev uP pa ponuja posebne elemente, ki jim pravimo asinhroni komunikacijski adapterji in so znani pod skupnim imenom UART (Universal Asynchronous Receiver Transmitter). Vsak UART vsebuje oddajnik in sprejemnik, ki sta med seboj neodvisna in lahko delujeta sočasno. Hitrost oddajanja in sprejemanja je določena z oddajno oz. sprjemno uro. S programom jim lahko določimo naslednje parametre prenosa:

• način kontrole prenosa (softverski, hardverski)

hitrost prenosa (110, 300, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200)

pariteta (liha, soda, nobena)

število podatkovnih bitov (5, 7, 8, 9)

število stop bitov (1, 2)

• stanja na kontrolnih izhodih

• zahteva za prekinitev ob oddaji znaka

• zahteva za prekinitev ob sprejemu znaka

UART pri oddaji avtomatsko pretvori znak, ki ga dobi od uP v prenosni format za katerega je inicializiran. Pri sprejemu pa avtomatsko pretvori zaporedne bite v paralelno obliko in istočasno preveri pariteto in pravilno zgradbo zaporedja bitov.

Pri sprejemu in oddaji največkrat uporablja ti. dvojno izravnavanje (double buffering). Pri sprejemu se biti pomikajo v sprejemni pomikalni register tako kot prihajajo. Ko so vsi biti znaka sprejeti se zgodi naslednje:

• podatek se avtomatsko prenese v sprejemni podatkovni register

• v statusnem registru se postavi zastavica, ki pove uP, da ga čaka prispeli podatek.

Sprejemnik lahko takoj prične sprejemati naslednji znak, ko je sprejemni pomikalni

Pri oddaji uP vpiše podatek v oddajni podatkovni register , od koder se avtomatsko prenese v oddajni pomikalni register in prične oddajati bit za bitom. V oddajni podatkovni register lahko uP vpiše nov znak, ki čaka dokler se oddajni pomikalni register ne izprazni. Ko je oddan zadnji bit, se namreč postavi posebna zastavica.

Slaba lastnost asinhronskega prenosa je v slabi izkoriščenosti prenosne linije. Zaradi start in stop bitov je linija izkoriščena za 20% slabše kot bi sicer lahko bila.

5.3. Sinhronska komunikacija

Pri sinhronskem načinu prenosa nimamo start in stop bitov. Na liniji ni presledkov. Kadar oddajniku zmanjka podatkov prične avtomatsko vstavljati posebne mirovne znake, ki jih sprejemnik izpušča. Sprejemnik in oddajnik morata ostati v sinhronizmu preko celotnega sporočila. Ta so lahko dolga od nekaj znakov do nekaj tisoč znakov, zato morata biti frekvenci oddajnika in sprejemnika bistveno bolj natančni kot pri asinhronskem prenosu.

znak N-1 znak N znak N+1

Poznamo dve glavni vrsti protokolov sinhronskega prenosa:

• znakovno orientirani protokol, kjer so sporočila grajena iz znakov neke abecede

• bitno orientirani protokol, kjer je sporočilo sestavljeno iz poljubnega zaporedja bitov, ki so lahko znaki v neki abecedi lahko pa tudi ne

oddajni pomikalni register

oddajni podatkovni register

zastavica oddajanje podatka

38

V praksi se pri komunikacijah preko telefonskih linij skoraj vedno uporablja sinhronski prenos, kjer je hitrost prenosa običajno določena z modemom.

5.4. RS485 serijska komunikacija med ve č enotami

Pri takšnem komuniciranju je potrebno izbrati procesor, ki bo vodil “konferenco”. Pravimo mu master uK.

Vsi ostali uK so podrejeni (slave) in vsak ima svoj naslov (šifro, kodo). Če želi master uK komunicirati z določenim slavom mora poslati najprej njegov naslov. Da je master poslal naslov, vidijo slavi po 9 podatkovnem bitu, ki se postavi v določeno stanje. Vsi slavi pregledajo naslov. V naslednjem koraku se lahko prične komuniciranje med masterjem in z naslovom določenim slavom, kar se spet vidi po 9 podatkovnem biti (njegovo stanje je nasprotno).

Slave uK ne morejo klicati master uK in ostalih slave uK.

In document Poklicna in tehniška elektro šola (Strani 34-39)