Serijski prenos podatkov


Serijski prenos podatkov je prenos, pri katerem se biti podatka in morebitni dodatni biti prenašajo po eni (isti) podatkovni liniji, bit za bitom

Prednost serijskega prenosa podatkov je majhno število potrebnih vodnikov, možnost prenosa po samo eni podatkovni liniji, npr.optični. Neposreden učinek je prihranek pri ožičenju. Še pomembnejša pa je manjša občutljivost na motnje, kar omogoča zanesljivejše prenose tudi na večjih razdaljah.

Slabost serijskega prenosa je manjša hitrost prenosa, saj se v enem taktu prenese tipično le en bit podatka*. Opisana slabost ni tako huda, saj serijski prenosi zmorejo zanesljivo delovati pri hitrejšem taktu in s tem v veliki meri nadomestijo ali celo presežejo kapaciteto paralelnega prenosa. Lep primer so »serijski diski«, pri katerih se podatki k in od matične plošče prenašajo v serijski obliki namesto paralelni.


* Podrobnost za natančne: pri fazno moduliranih signalih lahko s posameznim »faznim skokom" prenesemo tudi več bitov naenkrat, npr. 2, 3 ali 4 bite, v kombinaciji z amplitudno modulacijo pa še več. Ti načini se uporabljajo na primer pri analognih modemih.

Primeri serijskih prenosov podatkov:

Sinhronizacija

Pri serijskem prenosu pa mora biti urejen še en pogoj za uspešno komunikacijo: sinhronizacija med oddajnikom in sprejemnikom.
Sinhronizacija pomeni časovno uskladitev sprejemnika z oddajnikom in vključuje dvoje: trenutek začetka prenosa podatkov ter takt v času branja vseh bitov. Sprejemnik namreč - če naj pravilno razbra stanja na prenosni liniji – mora
•    začeti z branjem ob pravem trenutku, nato pa
•    odbirati stanje za stanjem v ustreznih časovnih razmakih, tj. s pravilno frekvenco, v pravem taktu.

Sinhronizacija - iz življenja...
O pomenu sinhronizacije v vsakdanjem življenju (animacija)...

Glede na uporabljeno rešitev glede sinhronizacije je prenos podatkov lahko asinhron in sinhron.

Naštetim zahtevam za uspešno prenašanje podatkov mora ustrezati tudi strojni del računalnika – elektronsko vezje, ki podpira prenos podatkov: serijski vmesnik.

Asinhroni prenos podatkov...

...se uporablja pretežno za pošiljanje posameznih znakov, torej pošiljk, dolgih le nekaj (okoli 10) bitov. Ko je nov znak pripravljen, ga oddajnik lahko pošlje. Pred pošiljanjem podatkovnih bitov pa najprej pošlje dodaten, začetni bit, s katerim »zbudi« sprejemnik in napove prihajanje novega podatka. Pri asinhronem prenosu podatkov čas med dvema znakoma torej ni vnaprej določen.
  1. Začetek pošiljanja novega znaka napove poseben "začetni bit" (an. start bit). Ta bit ima dogovorjeno stanje, npr. visoko, v splošnem pa različno od stanja čakanja (an. idle state), ko sprejemnik čaka na naslednji znak. Seveda pa ta bit še ni del samega sporočila, podatkovni biti sledijo.
  2. Tudi  hitrost prenašanja oziroma takt (an. baudrate) prenašanja bitov mora biti dogovorjen pred prenosom, na oddajni in sprejemni napravi mora biti nastavljen  na isto vrednost. Sprejemnik mora brati z enakim taktom kot oddajnik oddaja.
  3. Tudi zgradba (format) posameznega podatkovnega okvirja  mora biti dogovorjena vnaprej. Podatkovni okvir sestavljajo podatkovni biti ter biti, dodani zaradi sinhronizacije ali preverjanja pravilnosti prenosa podatkov. 
Podatkovni okvir sestavljajo Več o parnostnem bitu....


Slika: Primer podatkovnega okvirja znaka
 
Ko sprejemnik zazna začetni bit (an. start bit), ve, da prihaja nov podatek. Zato sproži svojo uro (takt) z nastavljeno hitrostjo (baudrate). Ko se na liniji napetost spreminja v taktu oddajnika, jo sprejemnik bere z istim taktom  in prebre dogovorjeno število bitov  (visokih in nizkih stanj). Po izteku zaključnega bita, se sprejemnik postavi v stanje pripravljenosti in čaka na naslednji znak. Natančneje: na naslednji začetni bit.

Sinhroni prenos podatkov


Pri pošiljanju daljšega zaporedja bitov, npr. nekaj tisoč bitov, se morata takta oddajnika in sprejemnika ujemati ves čas prenosa. Ker zdaj prenos traja bistveno dlje, je treba ujemanje taktov zagotoviti drugače kot pri asinhronem prenosu. (Spomnimo se - pri asinhronem prenosu si obe strani nastavita takt na isto vrednost, sprejemnik pa nastavlja (resetira) uro ob vsakem prejetem znaku. )

Ujemanje oddajne in sprejemne frekvence zagotovimo na naslednja načina:

Zaradi enostavnejšega ožičenja je prevladujoč drugi način.


Sinhronizacija z uporabo dodatne linije

Prvi, preprost, a učinkovit način sinhronizacije, dosežemo z uporabo dodatne linije, po kateri sprejemnik pošilja oddajniku svoj taktni signal. Podatke mu pošilja po podatkovni liniji. Ko oddajnik nima podatkov za pošiljanje, tudi taktni signal miruje - je npr stalno v nizkem stanju.
Prejemnik bere podatke sinhrono s taktnim signalom, običajno ob fronti taktnega signala ali med njegovim npr. visokim stanjem. Obe strani sta tako "sklopljeni" z oddajnikovim taktnim signalom. 


Sinhronizacija z dodatno linijo za takt
Slika: Sinhronizacija med oddajnikom in sprejemnikom z dodatno linijo za takt. Takt je tako skupen (enak)  za
oddajnik in sprejemnik,   tudi če se med prenašanjem podatkov spreminja.


Premislimo: če se frekvenca ure na oddajni strani spremeni, se spremeni tudi na sprejemni strani in podatki bodo prebrani pravilno. Če se takt na oddajni strani ustavi, se tudi sprejemnik ustavi (ne bere).
Ta način sinhronizacije je zelo preprost. Uporablja se na krajših razdaljah.


Sinhronizacija iz podatkovnega signala

Drug način ohranjanja sinhronizma z oddajnikom pa je preko podatkovnega signala! Signal, ki ga oddaja oddajnik, mora v svoji obliki vsebovati informacijo o začetku in koncu sporočila, pa tudi informacijo o taktu pošiljanja oz. branja.

Začetek podatkovnega okvirja  je pri sinhronem prenosu označen z dogovorjenim posebnim sinhronizacijskim znakom.
Ko sprejemnik prepozna ta znak (predpisano zaporedje bitov), ve, da bodo sledili biti koristne informacije. Podobno so sinhronizacijski znaki  tudi na koncu sporočila in tudi v času, ko ni prenašanja podatkov.
Primer sinhronizacijskega znaka je znak z imenom SYN, ki ga najdemo v naboru ASCII znakov.


Poleg tega, da naznanja začetek podatkov, pa vsebuje sinhronizacijski znak tudi informacijo o hitrosti, o taktu. Kako?

Ker je znana oblika sinhronizacijskega signala, lahko sprejemnik "izmeri" trajanje posameznih stanj in iz oblike signala ugotovi hitrost oddajanja (takt) oddajnika. Nato tudi svoj takt nastavi na isto vrednost ter ga po potrebi sproti popravlja.


Podatkovni okvir pri sinhronem prenosu

Podatkovni okvirji so pri sinhronih prenosih daljši kot pri sinhronih - do nekaj tisoč zlogov.
Okvir sestavljajo:

Slika: Načelna zgradba podatkovnega okvirja pri sinhronem prenosu


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:


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.

Za serijsksi prenos podatkov so v računalniku vgrajeni "serijski" vmesniki , npr. serijska vrata COM. Več o serijskem vmesniku....