Sunteți pe pagina 1din 14

Interfee seriale.

Codificarea datelor

5a.Interfee seriale. Codificarea datelor

Cuprins modul
5a.1.Tactul n transmisiile seriale
5a.2.Codarea datelor
5a.3. Transmisii seriale asincrone i sincrone

Cuprins

Modulul Interfee seriale. Codificarea datelor continu


prezentarea interfeelor seriale care n modulul 1 au fost descrise
sumar, cu accent pe importana tactului. Sunt prezentate cteva
moduri de codificare mai des ntlnite i se compar din punctul de
vedere a eficienei codrii. Se introduce noiunea de cod
autosincronizabil i se explic importana lui la codarea n
transmisiile de date actuale. Se descriu apoi transmisiile seriale
Introducere sincrone i asincrone prin explicarea structurii unui cuvnt serial
asincron i a unui cadru de date cu transmisie sincron.

Dup parcurgerea acestui modul studenii vor cunoate cele mai


uzuale codificri binare, vor nelege domeniul lor de aplicabilitate
i le vor putea compara din punctul de vedere al eficienei codrii
i a caracteristicii de autosincronizare. Dup descrierea transmisiei
asincrone i sincrone studenii vor cunoate:
Structura unui cuvnt serial asincron;
Structura unui cadru de date serial sincron.
Obiective Obiective specifice:
1.nvarea principiilor fundamentale de transfer de date;
2.nvarea unor tipuri de codare digital. nelegerea
caracteristicilor cerute codrii;
3.Cunoaterea unor tipuri de transmisii seriale i interfee seriale
ca structur.

Durata medie Durata medie de studiu individual este de 2 ore.


de studiu
individual

67
Interfee seriale. Codificarea datelor

5a.1.Tactul n transmisiile seriale

n primul modul de studiu a fost demonstrat importana cunoaterii tactului cu care s-au
emis date la receptor. Pentru a se asigura la receptor tactul corect de recepie exist mai
multe variante, prezentate n figura 5.1.
1. Tactul de transmisie se transmite de la emitor la receptor pentru citire, figura 5.1
a. Se asigur vitez mare, dar distanele sunt mici. Costurile unui fir suplimentar
sunt mari. Exemple sunt interfaa SPI (Serial Peripheral Interface), IEEE1394a
(1995), JTAG.

Emitor Receptor
Date
a Tact
GND

Emitor Receptor
b Date
Tact Tact
GND

Emitor Receptor
Date
Generare tact din
c datele citite
GND

Tact

Figura 5.1. Variante de asigurare a tactului la recepie

68
Interfee seriale. Codificarea datelor

1. Emisia i recepia se fac cu acelai tact, standard, cunoscut i de emitor i de


receptor. Distanele pot fi mari, nu apar costurile unui fir suplimentar, figura 5.1
b. Viteza nu poate fi mare datorit faptului c ntre tactele standard exist
diferene. Cteva exemple sunt interfaa serial asincron RS232 i LIN.
2. Refacerea tactului din datele emise este cea mai modern metod folosit la cele
mai multe aplicaii actuale. Se pot asigura distane mari, costuri mici, viteze mari.
Circuitul care reface tactul din date se numete bucl PLL i nu poate reface
datele dect dac exist variaii permanente de nivel, figura 5.1 c. Exemple sunt
USB, CAN, FlexRay, IEEE1394b (2002), dar i Ethernet, SATA etc. Transmisiile
wireless, de exemplu Bluetooth i ZigBee pot fi asociate cu transmisiile seriale pe
un singur fir cu refacerea tactului.

5a.2. Codarea datelor


Primul pas n transmiterea datelor digitale pe o linie de transmisie este asocierea fiecrui
bit cu variaia unui semnal electric printr-un proces de codare. n continuare vor fi
prezentate cteva tipuri de codri i exemple de codare.

A.Codarea NRZ (Non Return to Zero)


Cea mai simpl i natural codare este cea n care fiecare valoare logic se codeaz cu un
nivel de tensiune.
Regula de codare este:
1. Zero se codific cu 0V;
2. Unu se codific cu +5V.
n figura 5.2. 16 bii ntr-o succesiune aleas la ntmplare n care datele au multe
schimbri de nivel logic au fost codificai cu 7 tranziii (2,28 bii/tranziie). Dac apare un
ir de 0-uri sau 1-uri semnalul electric nu are variaii.
Intervalul de timp n care se codeaz un bit se numete celul bit (interval cu rou)

69
Interfee seriale. Codificarea datelor

Tensiune

1 1 0 1 1 1 0 0 1 0 0 0 1 1 0 0

Figura 5.2. Codarea NRZ

B.Codarea NRZI (Non Return to Zero Inverted)


Este o codare asemntoare cu NRZ, cu regula de codare:
1. Zero se codific cu lipsa unui front.
2. Unu se codific cu un front.
n figura 5.3. 16 bii ntr-o succesiune aleas la ntmplare au fost codificai cu 7 tranziii
(2,28 bii/tranziie). Dac apare un ir de 0-uri sau 1-uri semnalul electric nu are variaii.

Tensiune

0 1 1 0 0 1 0 1 1 0 0 1 0 1 0 0

Figura 5.3. Codarea NRZI

C.Codarea Manchester
Codarea Manchester a fost realizat prima oar la Universitatea din Manchester cu ocazia
construirii calculatorului Mark 1 (numit i Baby) n 1948.
Regula de codare este:
1. Zero se codific cu un front descresctor;
2. Unu se codific cu un front cresctor.
n figura 5.4. 8 bii ntr-o succesiune aleas la ntmplare au fost codificai 8 bii cu 12
tranziii (1,5 tranziii pe bit). Dac apare un ir de 0-uri sau 1-uri semnalul electric are
variaii. Codarea Manchester se folosete la reeaua Ethernet.

70
Interfee seriale. Codificarea datelor

Tensiune

0 1 1 0 0 0 1 1

Figura 5.4. Codarea Manchester

D. Codarea FM (Frequency Modulation)


Codarea FM i MFM (Modified FM) au fost introduse de IBM n anii 1970 pentru
codificarea datelor la scrierea pe hard discuri. La aceste codri fiecare celul bit ncepe cu
un impuls de tact, iar regula de codare este:
1. Zero se codific cu lipsa unui impuls.
2. Unu se codific cu un impuls.
n figura 5.5. 8 bii ntr-o succesiune aleas la ntmplare au fost codificai cu 24 tranziii
(3 tranziii pe bit). Codarea FM s-a folosit la nscrierea datelor pe suporturi magnetice, n
prezent fiind nlocuit cu codri mai eficiente.

Tensiune

0 1 1 0 0 0 1 1

Figura 5.5. Codarea FM

Un tabel centralizator care cuprinde exemplele prezentate este dat n continuare:


Tabelul 5.1.
Codare Eficien (bii/tranziie)
NRZ 2.28
NRZI 2.28
Manchester 0.66
FM 0.33

71
Interfee seriale. Codificarea datelor

Concluzie n aceast etap:


Limita unui canal de transmisii de date seriale este dat de numrul de tranziii pe
secund. Interesul este s se trimit ct mai muli bii cu ct mai puine tranziii. Deci la
codurile NRZ i NRZI n exemplele alese au fost codificai n medie 2,28 bii cu o
tranziie, iar la codurile FM i Manchester eficiena a fost mult redus, doar 0,33
respectiv 0,66 bii cu o tranziie. Concluzia este c NRZ i NRZI sunt cele mai eficiente
din acest punct de vedere.

Codarea Manchester este folosit la transmisia Ethernet iar codurile NRZ


i NRZI nu mai sunt folosite n forma aceasta. Nu este aici o contradicie?
n compararea codurilor nu am luat n considerare o proprietate
important, i anume capacitatea de autosincronizare.

n figura 5.1 c se poate vedea c tactul de citire este refcut din datele citite cu o bucl
PLL. Dac o codare permite un numr mare de valori logice de acelai fel succesive care
nu produc nicio tranziie, bucla PLL pierde sincronizarea i transmisia nu poate fi
efectuat. Prin urmare, la codurile NRZ i NRZI tactul nu se poate reface din datele citite
i codurile nu pot fi utilizate n modul de transfer cu refacerea tactului din date. Aceste
coduri se numesc din acest motiv coduri neautosincronizabile. Codurile FM i
Manchester, chiar dac asigur o codare mai puin eficient sunt coduri
autosincronizabile. Tabelul 5.1 poate fi completat astfel:
Tabelul 5.2
Codare Eficien (bii/tranziie) Autosincronizabilitate
NRZ 2.28 NU
NRZI 2.28 NU
Manchester 0.66 DA
FM 0.33 DA

Cercetrile orientate spre gsirea unor noi metode de codificare eficient i


autosincronizabile au fost ndreptate ctre modificarea NRZ sau NRZI care au o eficien
ridicat pentru a deveni autosincronizabile. Astfel au aprut codificrile numite de grup,
sau cu adugare de bii (engl. bit stuffing). Aceste codificri impun ca la transmisia
codat NRZ sau NRZI dac apare un semnal codat cu mai multe celule bit fr tranziii
dect o anumit limit, emitorul foreaz o tranziie, deci se adaug un bit suplimentar.

72
Interfee seriale. Codificarea datelor

n figura 5.6. se poate observa sus un semnal codat NRZ cu o succesiune de 6 valori de 1
logic succesive. Dac codarea de grup admite doar 4 valori succesive de 1 logic, atunci
emitorul insereaz un bit (cu rou) suplimentar care genereaz 2 tranziii.

Tensiune

t
1 1 0 1 1 1 1 1 1 0 0 0 1 1 0 0

t
1 1 0 1 1 1 1 0 1 1 0 0 0 1 1 0 0

Figura 5.6. Codarea de grup

n aceast situaie 16 bii de date au fost codificai NRZ cu 5 tranziii (3,2 bii cu o
tranziie) iar dup inserarea bitului suplimentar cei 16 bii sunt codificai cu 7 tranziii,
adic 2,28 bii codificai cu o tranziie. Astfel se pstreaz aproape la fel de mare
eficiena codului NRZ i codarea a devenit autosincronizabil.
Vor fi descries n detaliu exemple de astfel de codri n modulele urmtoare. Codarea
8B10B va fi descris la interfaa serial IEEE1394 (Modul 11), codarea EFM la
nregistrarea pe suporturi optice i codarea RLL la scrierea pe suporturi magnetice
(Modul 12).
Cum poate receptorul s diferenieze ntre situaia n care cuvntul
transmis are 4 bii de 1 urmai de un bit de 0 i situaia n care cuvntul are
5 bii de 1 i emitorul insereaz un bit suplimentar de 0 dup 4 bii de 1?
Se va nelege dup descrierea unui sistem de codare cu inserare de bii n
modulele urmtoare. Ca exerciiu de gndire studenii pot propune
variante de rspuns.

5a.3.Transmisii seriale asincrone i sincrone


Al doilea pas n transmisia informaiei este asocierea biunivoc a unui caracter cu o
configuraie binar. Cel mai utilizat este codul ASCII. n codul ASCII (American
Standard Code for Information Interchange) fiecare liter este reprezentat de un numr.
De exemplu, litera A este reprezentat prin numrul 65, n timp ce pentru litera z este
alocat numrul 122 n zecimal. n codul ASCII fiecare caracter este codificat prin 7 bii.

73
Interfee seriale. Codificarea datelor

Semne speciale sunt de exemplu caracterul de comand de revenire la nceputul liniei CR


(Carriage Return) i avans la o nou linie (Line Feed) care mpreun au efectul apsrii
tastei Return.
Formatul, integritatea i dispunerea n timp a schimbului de date ntre procese care
comunic ntre ele, fiecare desfurndu-se independent n sisteme de calcul
interconectate, se stabilesc printr-un set de reguli i convenii specificate de un protocol
de comunicaie.
Un grup de cuvinte binare formeaz un cadru (bloc) de date. Protocoalele seriale pot fi
orientate pe cuvnt sau pe cadru. Un cuvnt respectiv un bloc de date reprezint entiti
de informaie care se trateaz unitar la receptor, adic sunt acceptate sau respinse n
ntregime. n transferul asincron (RS232, LIN) se transmit cuvinte i informaia de
sincronizare este ataat cuvntului dar n cele mai multe tipuri de transfer (USB, CAN,
IEEE1394b, Ethernet, Bluetooth, ZigBee) informaia de sincronizare este ataat
cadrului, transmisiile find numite sincrone. La un cuvnt respectiv la un bloc de date se
adaug i informaie de verificare a corectitudinii transferului (bit de paritate sau cuvinte
de control).
n figura 5.7. este prezentat o diagram simplificat a transmiterii cuvntului CURS.
Se poate observa c informaia de sincronizare (marcat cu rou) este ataat blocului de
date la transmisia sincron i fiecrui cuvnt la transmisia asincron.

CURS
Bloc de date sincron

Cod ASCII C Cod ASCII U Cod ASCII R Cod ASCII S

ir de cuvinte asincrone

Cod ASCII C Cod ASCII U Cod ASCII R Cod ASCII S

Se codific fiecare bit din


cuvnt NRZ, Manchester
etc.

Figura 5.7. Cuvntul CURS transmis ca bloc de date sincron (sus) i asincron (jos)

74
Interfee seriale. Codificarea datelor

A.Structura unui cuvnt serial asincron


Linia de transmisie este n repaus n starea MARK (1 logic). Emisis unui caracter este
precedat de trecerea liniei n starea SPACE (0 logic) pe durata unui bit numit de
START, figura 5.8.

Repaus START Date 5,6, Bit STOP Repaus


7,8 bii paritate
Nivel
MARK

SPACE

t
Celule bit

Figura 5.8. Structura unui cuvnt serial asincron

Dup bitul de START urmeaz 5, 6, 7 sau 8 bii de date cu codare NRZ. Codarea NRZ nu
este autosincronizabil, prin urmare transmisia serial asincron poate fi cu tact standard
sau cu transmisia tactului. Transmisia se numete asincron pentru c emisia unui
caracter poate avea loc n orice moment, dac linia este n repaus, n stare MARK. Biii n
cuvnt sunt transmii sincron, cu un tact stadard sau cu un tact transmis, fiecare bit fiind
codificat cu un nivel logic ntr-o celul bit. Dup biii de date urmeaz un bit de paritate
pentru verificarea corectitudinii mesajului la receptor. Dup bitul de paritate urmeaz un
bit, un bit i jumtate sau doi bii de STOP, n stare MARK, dup care linia reintr n
repaus.
Ce nseamn c se transmit un bit i jumtate de STOP? Bitul este
divizibil?
Un bit i jumtate nseamn o perioad de timp corespunztoare unei
celule bit i jumtate.
n figura 5.8. a fost marcat cu sgei roii informaia de sincronizare, biii de START i
STOP. Aceast informaie este n cel mai favorabil caz 2 bii, care la 8 bii transmii n
cuvnt nseamn 25%. Informaia suplimentar transmis n cazul acesta este 25%.

75
Interfee seriale. Codificarea datelor

B. Structura unui cadru de date sincron


Un cadru de date este format din mai multe cuvinte transmise serial. Informaia de
sincronizare este transmis la nceputul cadrului (blocului) de date, figura 5.9.

SYNC ANTET
ANTET DATE CRC

Identificator Adresa destinaiei Adresa sursei

Figura 5.9. Structura unui cadru de date tipic

La transmisia sincron este posibil transmisia datelor cu refacerea tactului la receptor


din datele transmise. De aceea, un cadru de date ncepe cu o zon de sincronizare care
conine tranziii dese, pentru a permite buclei PLL din receptor s se sincronizeze.
Urmeaz apoi de regul un antet format dintr-un identificator care depinde de tipul
transmisiei, adresa destinaiei i adresa sursei. Zona de date are cea mai mare dimensiune
i este urmat de cuvinte CRC (Cyclic Redundancy Code) pentru verificarea
corectitudinii transmisiei. Presupunnd c zona de date este format din 100 de cuvinte
iar zona de sincronizare i antetul au 10 cuvinte se poate vedea c surplusul de informaie
(overhead bits) este doar 10%, mai mic dect n transmisia asincron.
Structuri particulare de cadre de date vor fi prezentate la transmisia Ethernet (n modulul
8), la USB (Modulul 9), la IEEE 1394 i SATA (mudulul 11) etc.
Exist transmisii serial sincrone n care informaia s nu fie precedat de
bii de sincronizare?
Da, de exemplu la interfaa serial SPI cu transmiterea tactului la care
tactul nu se reface la receptor. SPI este des ntnit la microcontrollere i
va fi descris n Modulul 7.

76
Interfee seriale. Codificarea datelor

Modulul Interfee seriale a fost mprit n dou. Prima


parte, Codificarea datelor ncepe cu o clasificare a
metodelor de realizare a tactului la receptor, apoi prezint
cteva metode de codare, cu exemple: NRZ, NRZI,
Manchester i FM. Se estimeaz eficiena codrii i se
compar eficienele metodelor prezentate dup care se
Rezumat definete autosincronizabilitatea. Este prezentat principiul
codrii de grup (cu inserare de bii). La sfrit sunt
prezentate structurile unui cuvnt serial asincron i a unui
cadru de date sincron. n aceste structuri este pus n
eviden informaia de sincronizare.

1. M. Romanca, P. Ogrutan, Sisteme cu calculator


incorporat. Aplicatii cu microcontrollere, Editura
Universitatii Transilvania Brasov, 2011, pag. 1-4
online la:
http://vega.unitbv.ro/~ogrutan/Microcontrollere2011/1
-introducere-
interfete%20paralele%20si%20seriale.pdf
2. Communication Systems, Line Codes, online la:
Bibliografie
http://en.wikibooks.org/wiki/Communication_Systems
/Line_Codes
3. Sebastian Andrews, Communication Networks, online
la:
http://services.eng.uts.edu.au/~kumbes/ra/Transmissio
n/Digital%20Wave%20Formatting/index.htm
4. Bit stuffing, online la:
http://en.wikipedia.org/wiki/Bit_stuffing

77
Interfee seriale. Codificarea datelor

Test de autoevaluare

1.Transmisia serial cu tact standard asigur viteza cea mai


mare de transfer de date
adevrat
R fals
I. vezi pagina 2 i 3

2.Codai NRZ irul de 16 bii: 1110 0101 0001 1010 Eficiena


codrii este:
(a) 2,28 bii/tranziie

(b) 0,66 bii/ tranziie


R (c) 1,78 bii/ tranziie

(d) 2,45 bii/ tranziie

I. vezi pagina 4

3.Codai NRZI irul de 16 bii: 1110 0101 0001 1010 Eficiena


codrii este:
(a) 2,28 bii/tranziie

(b) 2 bii/ tranziie


R (c) 0,33 bii/ tranziie

(d) 1,78 bii/ tranziie

I. vezi pagina 4

78
Interfee seriale. Codificarea datelor

4.Codai Manchester irul de 16 bii: 1110 0101 0001 1010


Eficiena codrii este:
(a) 0,62 bii/tranziie

(b) 1,2 bii/ tranziie


R (c) 0,33 bii/ tranziie

(d) 0,73 bii/ tranziie

I. vezi pagina 4 i 5

5.Codai FM irul de 16 bii: 1110 0101 0001 1010 Eficiena


codrii este:
(a) 1.2 bii/tranziie

(b) 0,66 bii/ tranziie


R (c) 0,33 bii/ tranziie

(d) 0,22 bii/ tranziie

I. vezi pagina 5

6.Codarea de grup (cu inserare de bi) se aplic la un cod


autosincronizabil i urmrete obinerea unei eficiene mai
mari de codare
adevrat
R fals
I. vezi pagina 7

79
Interfee seriale. Codificarea datelor

2.Se trimite serial asincron fr bit de paritate cuvntul de 8


bii: 1110 0101 Cte tranziii are semnalul pe linie?
(a) 4 tranziii

(b) 5 tranziii
R (c) 6 tranziii

(d) 7 tranziii

I. vezi pagina 9

R Rspunsuri corecte:

1. fals, vezi caracteristicile transmisiei cu tact standard de


la pagina 2 respectiv 3
2. c, pentru c apar 9 tranziii, iar 16/9=1,78, pagina 4
3. b, sunt 8 tranziii, una la fiecare bit de 1, deci 16/8=2,
pagina 4
4. d, sunt 22 tranziii, deci 16/22=0,73, pagina 4 i 5
5. c, sunt 16 tacte la fiecare nceput de celul, deci 32
tranziii i 8 bii de 1, deci 16 tranziii. 16/48=0,33,
pagina 5
6. fals, codarea de grup (cu inserare de bi) se aplic la un
cod NEautosincronizabil i urmrete obinerea unui
cod autosincronizabil
7. c, datele au 4 tranziii, START are 2 tranziii i STOP
nicio tranziie pentru c ultimul bit este 1.

80