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:
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).
Nastavitve serijskega vmesnika v okolju Windows
Slika: Nastavitve serijskega vmesnika v Nadzorni plošči OS Windows


Omenimo še dokaj razširjeni pravili:

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:


Podatkovni okvir, znak "E"


Startni bit (visoko stanje) napove začetek podatka. Podatkovni biti si sledijo od LSB proti MSB. Logična 1 je predstavljena z nizkim stanjem.

Oscilogram prenosa znaka "t"
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:
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.

Softversko krmiljenje prenosa v nadzorni plošči
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...