Serijski vmesnik
Serijski vmesnik je elektronsko vezje v računalniku, ki podpira serijski prenos podatkov. Nekoč je bil vgrajen na dodatni kartici osebnega računalnika, danes so integrirani na matični plošči.
Njegova naloga je, da strojno podpira nastavitve predpisanega podatkovnega formata in električne karakteristike.
Vrednosti osnovnih komunikacijskih parametrov nastavljamo, in sicer:
- takt (hitrost takta, tipične
vrednosti 300, 1200, 2400, 4800, 9600 baud in več, do 115 kbaud),
- število podatkovnih bitov
(5, 6, 7, ali 8),
-
prisotnost bita parnosti in vrsta
parnosti (brez parnosti, soda , liha - podrobnosti glej dalje),
-
število zaključnih bitov
(1, 1.5, 2).
Pred prenašanjem podatkov morata imeti oddajnik in
sprejemnik te vrednosti enako nastavljene. Na sliki je prikazano
določanje komunikacijskih parametrov v operacijskem sistemu Windows
(Nadzorna plošča).
|
Slika: Nastavitve serijskega vmesnika v Nadzorni plošči OS Windows
|
Omenimo še dokaj razširjeni pravili:
- pošiljanje podatka se pri
serijskem prenosu
običajno začne z najmanj pomembnim bitom podatka (angl. Lest
Significant Bit, LSB ) in konča z najpomembnejšim bitom (angl.
Most Significant Bit, MSB ),
- običajno je logična "0" predstavljena z
visokim stanjem , logična "1" pa z nizkim,
Podrobnosti: Izkoristek
Slaba lastnost asinhronega serijskega prenosa so dodatni biti, ki
spremljajo
podatkovne bite: začetni bit, bit parnosti in končni bit, ki lahko
skupaj predstavljajo okoli 30% okvirja in s tem časa, ki se
potroši za pošiljanje enega znaka. Zaradi
dodatnih bitov
se čas za prenos znaka podaljša. Izkoristek časa je s tem
zelo
slab.
Pri daljši sporočilih, dolgih več sto znakov, je izkoristek
še vedno enak (torej slab), saj je vsak od znakov opremljen
z
istimi dodatnimi biti.
Podrobnosti: Ali morata biti takta na obeh straneh absolutno enaka?
Ali sploh lahko dosežemo, da bosta takta na oddajni in sprejemni strani
natanko enaki?
Če se namreč takta oddajnika in sprejemnika minimalno razlikujeta, bo
po določenem času sinhronizacija izgubljena in nadaljevanje prenosa
nima več smisla.
Rešitev leži v kompromisu: podatkovni paketi naj bodo dovolj
kratki, da v času prenosa enega znaka sinhronizem še zdrži.
Tako
se pri asinhronem prenosu prenašajo znaki. Pri tako kratkih
pošiljkah zato ni potrebno zelo precizno ujemanje ur taktov
oddajnika in sprejemnika. Sprejemnik pa se ponovno nastavi za vsak znak
posebej. Pri daljših podatkovnih okvirjih bi sprejem lahko
padel
iz sinhronizma. Za daljše okvirje se uporablja sinhroni
prenos.
Primer:
Pri hitrosti prenašanja 9600 baud, z 8 podatkovnimi biti,
izbrani sodi parnosti (an. even parity) in z 1 zaključnim bitom
(na
kratko: 9600, 8, E, 1) pošljemo znak "E". (Njegov zapis v
ASCII
kodu je 01000101, desetiško 69.)
Z osciloskopom bi lahko izmerili spodnji časovni potek
napetosti.
Slika:
Startni bit (visoko stanje) napove začetek podatka. Podatkovni biti si
sledijo od LSB proti MSB. Logična 1 je predstavljena z nizkim stanjem.
Slika: Slika prenosa znaka "t", kot jo izmerimo z osciloskopom. OPOMBA: Najstarejši dogodki so prikazani na levi, nato pa
si sledijo proti desni strani diagrama.
Opisani serijski prenos podatkov najdemo v preprostejših
napravah
(npr. različnih merilnikih, krmilnikih). Nadomeščajo ga pa že drugi, predvsem
hitrejši načini.
=======================
Krmiljenje pretoka podatkov
Pri ustrezni povezavi (polni dupleks) se lahko podatki prenašajo v obe smeri istočasno.
Pretok prenosa je možno upravljati na dva načina:
- strojni nadzor, z uporabo krmilnimih linij (hardverska kontrola, CTS/RTS),
- softverski nadzor krmiljenja (imenovan tudi "XON/XOFF")
Pri strojnem nadzoru
upravljajo pretok podatkov ustrezni signali oddajnika in sprejemnika
preko ustreznih
krmilnih linij. S temi krmilnimi linijami si oddajnik in sprejmnik
signalizirata zahtevo za prenos podatkov, sprejemanje zahteve in drugo.
Pri softverskem krmiljenju se pretok omogoča oz. ustavlja z uporabo posebnih znakov (ASCII
kodiranih), ki si jih napravi pošiljata kar po podatkovnih
linijah. Ta krmilna znaka se imanujeta XON in XOFF. Z njima
sprejemnik(!) pove oddajniku, naj nadaljuje oz. (začasno) počaka z
oddajanjem podatkov.
Nastavitve serijskega vmesnika glede nadzora pretoka podatkov najdemo v nastavitva operacijskega sistema.
Slika: Programska podpora serijskega vmesnika: izbira krmiljenja pretoka podatkov.
Pri strojnem krmiljenju ("strojna oprema") nimamo nekaterih omejitev
glede vsebine podatkov, ki se prenašajo. Pogoj za ta način pa so
dodatne krmilne liniije v povezovalnem kablu.
Softversko krmiljenje pa zahteva minimalno število povezovalnih
linij, je pa načeloma omejeno na prenašanje besedila v
osnovni obliki (ASCII kodiranje).
Več o krmiljenju pretoka podatkov...