Documente Academic
Documente Profesional
Documente Cultură
Petre OGRUAN
Interfaare i protocoale la
nivelul fizic i nivelul legturii
de date
1
ISBN Interfaare i protocoale
2
ISBN Interfaare i protocoale
Cuprins
Despre carte ................................................................................................................... 5
1.Noiuni introductive ................................................................................................ 6
1.1.Definiii. Istorie: prima comunicaie cu protocol...................................................... 6
1.2.Interfee paralele i seriale ........................................................................................ 8
1.3. Verificarea corectitudinii datelor transmise cu bit de paritate ............................... 11
1.4.Rolul unui buffer n transferul de date.................................................................... 12
2.Transferul de date .................................................................................................. 14
2.1. Clasificare .............................................................................................................. 14
2.2.Transferul programat .............................................................................................. 15
2.3.Transferul prin ntreruperi....................................................................................... 18
2.4.Transferul prin DMA .............................................................................................. 20
2.5.Programe de comand a transferului....................................................................... 22
2.6.Sistemele de ntreruperi i DMA n microcontrollere............................................. 24
3.Magistrale.................................................................................................................. 27
3.1. Introducere ............................................................................................................. 27
3.2.Magistrale ierarhizate.............................................................................................. 29
3.3. Diagrame de semnal la acces ................................................................................. 31
3.4. Magistrale multiplexate ......................................................................................... 35
3.5.Magistralele PCI i PCI Express............................................................................. 36
4.Interfee paralele .................................................................................................... 41
4.1. Interfee paralele neprogramabile .......................................................................... 41
4.2. Interfaa paralel programabil .............................................................................. 42
4.3.Protocoale de transfer ............................................................................................. 44
4.4.Programarea circuitului de interfa paralel.......................................................... 47
4.5.Exemplu de implementare ...................................................................................... 48
5.Interfee seriale........................................................................................................ 50
5.1.Tactul n transmisiile seriale ................................................................................... 50
5.2. Codarea datelor ...................................................................................................... 51
5.3.Transmisii seriale asincrone i sincrone ................................................................. 55
5.4. Standardul RS232 .................................................................................................. 58
5.5.Circuit de interfa programabil.............................................................................. 61
5.6. Modificarea nivelului de tensiune.......................................................................... 66
6. Conectarea la un calculator pe magistral i la un port paralel .......... 69
6.1. Selectarea unui dispozitiv pe magistral................................................................ 69
6.2.Exemple de conectare pe magistral la microcontrollere ....................................... 72
6.3. Conectarea pe porturi paralele ............................................................................... 76
6.4. Concluzii ................................................................................................................ 80
7.Interfee integrate n microcontrollere ........................................................... 81
7.1. Microcontrollere .................................................................................................... 81
7.2. Unitatea central i memoria ................................................................................. 82
7.3. Timerul................................................................................................................... 84
7.4. Interfa de comunicaii seriale asincrone.............................................................. 85
7.5. Interfa de comunicaii seriale sincrone ............................................................... 86
3
ISBN Interfaare i protocoale
4
ISBN Interfaare i protocoale
Despre carte
Preocuprile mele n activitatea tiinific i cercetare s-au ndreptat ctre interfaare, un
domeniu care se ocup cu legturile ntre diferite subsisteme ale unui sistem de calcul. Se
pot remarca dou caracteristici speciale ale acestui domeniu, varietatea i dinamismul.
Dac n categoria sistemelor de calcul includem calculatoarele PC existente acum pe
scar larg dar i categoria sistemelor pe baz de calculator (embedded systems) obinem
o varietate enorm a tipurilor de interfee. Orice persoan are n jurul ei acum cel puin
trei sisteme de calcul, un telefon, un card bancar i un notebook sau o tablet.
Dinamismul poate fi remarcat i mai uor, este suficient s ne gndim cum artau acum 5
ani cele trei lucruri din jurul nostru enumerate mai nainte
Privesc cu nostalgie la prima carte pe care am scris-o n acest domeniu, cea de Interfee i
periferice m 1994. Vorbeam acolo de cteva magistrale care n acel moment aveau
tendina de rspndire i de care astzi nu a mai auzit nimeni. A doua carte, Tehnici de
interfaare a aprut n anul 2000 i am alocat acolo un spaiu consistent interfeei paralele
care acum nu mai este inclus n niciun calculator PC. n 2003 am abordat problema
interfeelor specializate n cartea cu acelai nume, iar ultima carte, aprut n 2011 este
una de aplicaii cu microcontrollere n care am abordat interfeele din microcontrollere i
cele care se pot conecta la microcontrollere, alturi de descrierea unor aplicaii.
Am nvat n decursul timpului c exist cteva principii fundamentale de interfaare
care nu se schimb. O carte care s reziste n timp dar s nu plictiseasc trebuie s conin
att prile fundamentale ct i tipurile semnificative de interfee moderne. Aceast carte
este o carte de sintez a cercetrilor mele n domeniu i este mprit in dou pri. Prima
parte cuprinde principiile de interfaare, descrise ntr-un mod simplificat i cu
exemplificate. A doua parte cuprinde cteva exemple din cele mai cunoscute interfee
moderne. Descrierea interfeelor este legat de protocoalele de comunicaii de date.
Cartea se focalizeaz asupra nivelului fizic i asupra protocoalelor care gestioneaz
transferul de date la nivel fizic.
Cartea este destinat n primul rnd cercettorilor n domeniul sistemelor nglobate care
pot gsi aici idei pentru a asigura conectivitatea cea mai potrivit unei aplicaii. Cartea
poate fi utilizat de specialiti n domenii conexe pentru a-i face o imagine global
asupra interfarii. i nu n ultimul rnd cartea poate fi folosit de studenii de la
programele de studiu n domeniul electric pentru a face cunotin cu un domeniu extrem
de vast i dinamic. Pentru acetia cartea a fost rescris ntr-un format special. Materialul a
fost mprit n 14 module de nvare i a fost completat cu 12 lucrri de laborator.
Cteva mici filme ataate fac acest material mai atractiv.
Petre Ogruan, Braov, decembrie 2014
5
ISBN Interfaare i protocoale
1.Noiuni introductive
6
ISBN Interfaare i protocoale
Recipientul se umple cu ap, peste care se aeaz un plutitor care are fixat o tij
vertical. Pe tij exist gradaii cu nsemnri relevante pentru purtarea rzboiului (vreau
cavalerie, artilerie, etc.). Dac s-a dorit nceperea unei transmisiuni, soldatul operator
ridica tora. Operatorul de le recepie, observnd cererea, indica c este pregtit pentru
recepie ridicnd i el tora i rmnea foarte atent la punctul de transmisie. Operatorul de
la transmisie cobora tora de semnalizare i deschidea dopul de pe recipient, ceea ce fcea
(sincron) i cel de la recepie. Apa ncepea s coboare identic n ambele recipiente cu
vitez egal. La nivelul superior al vasului apreau rnd pe rnd inscripiile mesaj de pe
tij. n momentul n care aprea cea dorit a fi transmis, operatorul ridica tora, i punea
dopul. La fel fcea i cel de la recepie. n acest moment putea citi i el mesajul. Pentru
alt mesaj, recipientele trebuiau reumplute. Se pare c n istorie acesta a fost primul sistem
sincron.
ntr-o schem bloc n care este figurat un sistem de calcul, figura 1.2. se pot observa
interfeele, ca puncte de ntlnire a datelor de intrare i ieire, care pot fi analogice sau
digitale.
Bloc (grup) de
linii de intrare Interfee
Interfee
Echipament
periferic
Acces
bidirecional la
Linii
magistral
bidirecionale
Magistral
Mrimile de intrare i de ieire pot fi analogice sau digitale. Un semnal analogic are o
variaie continu n timp. Exemple: temperatura, umiditatea, iluminarea etc. Un semnal
7
ISBN Interfaare i protocoale
digital are o variaie discret n timp, el poate lua doar 2 valori. Exemplu: comanda dat
de un ntreruptor ctre un bec.
Sistemul de calcul proceseaz digital, prin urmare exist interfee de conversie a
semnalelor analogice n semnale digitale numite convertoare analog digitale i circuite de
conversie invers numite convertoare digital analogice. Exemplu: placa de sunet a unui
calculator conine un convertor analog digital la intrarea de la microfon i un convertor
digital analogic la ieirea de boxe. Aceste convertoare sunt importante pentru c n natur
predomin mrimile analogice i pentru ca acestea s fie msurate i prelucrate cu
calculatorul digital este nevoie de conversia analog digital i digital analogic.
Dac la portul cu linii bidirecionale a sistemului de calcul din figura 1.2 se conecteaz un
echipament periferic EP acesta conine o interfa de conectare care trebuie s fie
compatibil cu cea a sistemului gazd.
Canal de comunicaie
Mesaj
Reacie- mesaj de
Transmitor Receptor
confirmare pe calea de
retur
8
ISBN Interfaare i protocoale
La transferul paralel informaia este transmis pe mai multe linii (8, 16, 32, 64, 128 ...),
cu un numr de bii transmis la un impuls de tact egal cu numrul de linii, cuvintele fiind
transmise succesiv, figura 1.4.
Emitor Receptor
D0
D1
D2
D3
D4
D5
D6
D7
TACT
Diagrama de timp comprimat a transferului este dat n figura 1.5. Semnalul de tact are
rolul de stabili momentul exact al citirii datelor, pentru a evita situaiile n care datele sunt
citite cnd nc nu sunt stabile pe linie. n anumite interfee acest semnal poate lipsi dar
viteza de transfer este mai mic n acest caz.
D0-D7
t
Perioada de timp n
care se transmit 8 Timp de
bii tranziie
TACT
t
Momentul citirii datelor
9
ISBN Interfaare i protocoale
La transferul serial informaia este transmis bit dup bit, pe mai puine fire (minimum 2
fire, dintre care unul de referin, masa electric), figura 1.6. Pentru transmisia datelor
acestea trebuie codificate. n carte vor vor fi descrise codificrile NRZ, Manchester,
8B10B etc. Preul mic al interfeelor seriale au dus la rspndirea acestor interfee n
majoritatea aplicaiilor.
Emitor Receptor
DATE
n perioada actual numrul, viteza i calitatea interfeelor seriale cresc, cucerind din ce
n ce mai multe segmente de pia.
Tactul n transmisiile seriale are o importan major. Dac datele seriale vin la receptor
pe un singur fir receptorul le poate citi / eantiona cu o anumit frecven i s obin
datele recepionate ca n figura 1.7:
Linia de transmisie
.
1 1 0 1 1 1 0 0 1 0 0 0 1 1 0
0 1 1 0 0
Dac datele sunt eantionate cu o anumit frecven (pe fond rou) se obine un anumit
ir de date iar dac datele sunt eantionate cu alt frecven (pe fond albastru) se obine
un ir de date diferit. Acest lucru arat importana ca datele s fie recepionate cu acelai
10
ISBN Interfaare i protocoale
tact cu care au fost trimise. Este nevoie ca tactul de transmisie s fie cunoscut de
receptor.
Canal de comunicaie
11
ISBN Interfaare i protocoale
C D
Memorii de Memorii RAM Memorie rapid
mas 2 3 (cache) 4
B E
Dispozitive de Procesor
I/O 5
6
A Mediul
extern
12
ISBN Interfaare i protocoale
sarcina de a transfera date perioade mai lungi de timp. Principiul transferului este dat n
figura 1.10:
OBF BUSY
IBF BUSY
n cazul unui transfer de date de la procesor la EP (sus) datele se ncarc rapid n buffer
(la viteza procesorului) pn la umplerea bufferului, semnalizat cu semnalul OBF
(Output Buffer Full). Datele sunt transferate lent la EP, primirea lor fiind acceptat dac
semnalul BUSY este inactiv. Invers, datele sunt ncrcate n buffer pn cnd acesta se
umple, semnaliznd cu BUSY. Dup umplerea lent a bufferului procesorul este anunat
cu semnalul IBF (Input Buffer Full) i preia rapid datele. n anumite aplicaii bufferul
trebuie s asigure un transfer de date cu viteza constant cu EP, cum este de exemplu la
scrierea pe medii optice.
Diversitatea de interfee i protocoale este foarte mare. Apar multe tipuri de interfee noi
dintre care unele se rspndesc iar altele dispar n timp. Cartea de Interfaare i
Protocoale se focalizeaz pe interfee i protocoale la nivel fizic, apropiat de
microprocesorul sau microcontrollerul gazd. Cartea conine dou pri, prima conine
noiunile de baz ale conectrii pe magistral, pe un port paralel i la o interfa asincron
simpl. A doua parte prezint sumar cteva tipuri de interfee i protocoalele specifice.
13
ISBN Interfaare i protocoale
2.Transferul de date
2.1. Clasificare
Transferul de date studiat n acest capitol este cel care are loc ntre un dispozitiv de I/O i
unitatea central. Transferul poate fi:
1. Programat;
2. Prin ntreruperi;
3. Prin acces direct la memorie, DMA (Direct Memory Access).
Software-ul care controleaz transferul de date se numete driver soft. Funciile acestui
software sunt:
1. Iniializarea dispozitivului de I/O;
2. Iniierea transferului de date;
3. Transferul de date;
4. Terminarea transferului i raportarea rezultatelor transferului.
Iniializarea dispozitivului de I/O se face la punerea sub tensiune a dispozitivului sau la
un RESET generat de unitatea central. S ne aducem aminte cum face o imprimant cu
jet la pornire- un set de operaii de iniializare i calibrare, un hard disc- testul de
integritate a suportului, care se manifest vizibil sau prin sunete caracteristice.
Comanda software a unui dispozitiv de intrare ieire este realizat de:
1. Driver-ul software din calculatorul gazd;
2. Programul executat de microprocesorul sau microcontrollerul dispozitivului de
I/O, dac acesta dispune de o unitate central.
mprirea sarcinilor ntre driver i programul din dispozitivul de I/O depinde de fiecare
aplicaie, tendina actual fiind de preluare a ct mai multe sarcini de ctre dispozitivul de
I/O pentru eliberarea timpului consumat de calculatorul gazd.
n cazul unui sistem de calcul din familia x86 transferul poate fi neles pornind de la
schema bloc din figura 2.1. Transferurile efectuate de procesor prin program pot fi:
A.Citire din memorie, MOV AL, [BX]
Pe magistrala de adrese este pus adresa de memorie din registrul BX, care identific o
locaie de memorie. Pe magistrala de comenzi este activat semnalul MEMR. Coninutul
locaiei de memorie adresat este pus pe magistrala de date i intr n registrul AL al
microprocesorului (linii cu rou).
B.Scriere n memorie, MOV [BX], AL
14
ISBN Interfaare i protocoale
Pe magistrala de adrese este pus adresa de memorie din registrul BX, care identific o
locaie de memorie. Pe magistrala de comenzi este activat semnalul MEMW. Coninutul
registrului AL este pus pe magistrala de date i este salvat n locaia adresat.
C.Citire de la un dispozitiv de I/O, IN AL, DX
Pe magistrala de adrese este pus adresa dispozitivului din registrul DX, care identific
dispozitivul. Pe magistrala de comenzi este activat semnalul IOR. Coninutul portului de
intrare este pus pe magistrala de date i intr n registrul AL al microprocesorului (linii cu
albastru).
D.Scriere la un dispozitiv de I/O, OUT DX, AL
Pe magistrala de adrese este pus adresa dispozitivului din registrul DX, care identific
dispozitivul. Pe magistrala de comenzi este activat semnalul IOW. Coninutul registrului
AL al microprocesorului este pus pe magistrala de date i este trimis la portul de ieire.
Magistrala date
Magistrala adrese
2.2.Transferul programat
n acest mod de transfer toate operaiile de I/O sunt sub controlul programului. Transferul
programat are dou variante, direct i prin interogare (polling).
a.Transferul programat direct
n transferul programat direct calculatorul gazd citete sau scrie un port de intrare / ieire
n mod direct. De exemplu secvena de program scris n limbajul de asamblare x86:
MOV DX, adresa port se ncarc n DX adresa portului de I/O
15
ISBN Interfaare i protocoale
Fanioanele sunt interogate ciclic i se servete acel periferic care solicit un transfer de
date prin schimbarea strii fanionului. Dac de exemplu cererea se face cu nivel logic 1 al
fanionului, un exemplu de program este:
Start: MOV DX, adresa Port0
IN AL,DX se citesc fanioanele
JN adresa1 la adresa1 este secvena de program de transfer cu I/O1
RCL AL,01 deplasare AL la stnga
JN adesa2 la adresa2 este secvena de program de transfer cu I/O2
JMP start
16
ISBN Interfaare i protocoale
Se citete portul care conine fanioanele, apoi se verific primul bit. Dac cel mai
semnificativ bit este 1 numrul binar din acumulator este negativ i dispozitivul solicit
un transfer. Dup testarea tuturor celor 8 fanioane bucla de citire i testare este reluat.
Secvenele de program de transfer pentru fiecare dispozitiv sunt secvene de transfer
programat direct, aa cum au fost descrise anterior. Desigur c acest program este unul
principial, care trebuie completat i extins pentru a deveni un program funcional.
Prioritatea dispozitivelor de I/O care sunt servite poate fi stabilit prin poziia fanionului
corespunztor n octetul de fanioane. Dac mai multe dispozitive solicit un transfer n
acelai timp, servirea se face n ordinea poziiei fanioanelor. Aceast ordine se poate
modifica software.
Dac un dispozitiv de I/O este mai rapid dect celelalte fanionul lui poate fi testat mai des
n bucla de citire i testare, caz n care citirea portului cu fanioane trebuie realizat nainte
de testarea fiecrui fanion.
Prin software se poate masca un dispozitiv de I/O prin excluderea din bucla de testare a
fanionului.
Pentru a evita o testare continu, printr-o logic combinaional se poate semnaliza cnd
un dispozitiv de I/O are nevoie de un transfer de date, printr-un SAU logic realizat hard
ntre cele 8 fanioane i care s fie citit de procesor, figura 2.3.
I/O1 I/O2 I/O3 I/O4 I/O5 I/O6 I/O7 I/O8
Cerere
transfer
Acest mod de lucru este foarte des folosit atunci cnd se combin transferul programat cu
cel prin ntreruperi. n acest caz semnalizarea unei cereri de transfer se face printr-o
ntrerupere, dup care unitatea central identific dispozitivul care are nevoie de transfer
prin interogare.
Dac exist mai mult de 8 dispozitive de I/O care pot solicita un transfer sau sunt mai
puine linii n portul de citire a fanioanelor, fanioanle pot fi codificate, procesorul citind
astfel codul binar al dispozitivului care solicit un transfer.
17
ISBN Interfaare i protocoale
Adresa de salt
INTA
Magistrala
date
18
ISBN Interfaare i protocoale
Magistrala date
Magistrala adrese
19
ISBN Interfaare i protocoale
ntrerupere. n acest tabel nu se afl cte o rutin de servire pentru fiecare nivel de
ntrerupere ci cte o instruciune de salt la o astfel de rutin, din cauza lipsei de spaiu.
Sarcinile controllerului I8259 i datele cu care se programeaz sunt date n urmtorul
tabel:
HOLDA
Magistrala
date
20
ISBN Interfaare i protocoale
Dispozitivul de intrare ieire solicit un transfer DMA prin semnalul HOLD solicitnd ca
procesorul s-i suspende activitatea prin trecerea magistralelor de date n nalt
impedan. Cnd procesorul accept aceast cerere genereaz un semnal de HOLDA
(HOLD Acknowledgement) i trece magistralele n nalt impedan. Deoarece n acest
caz nu mai exist un dispozitiv master pe care s pun adrese i semnale de comand pe
magistral, acest mod de transfer are nevoie de un controller specializat care s preia
rolul de master.
O schem bloc a transferului DMA n familia x86 gestionat de controllerul Intel 8257
este dat n figura 2.7.
La primirea unei cereri de transfer DMA (numit DRQ) de la dispozitivul de I/O pe unul
dintre cele 4 canale ale I8257, controllerul analizeaz cererea. Dac cererea nu este
mascat i dac nu este n curs de de execuie un transfer DMA, controllerul cere
procesorului suspendarea activitii cu semnalul HOLD. n momentul acceptrii cererii
procesorul activeaz semnalul HOLDA i controllerul rspunde dispozitivului I/O c
cererea a fost acceptat cu semnalul HOLDA.
Magistrala date
Magistrala adrese
21
ISBN Interfaare i protocoale
este slave i poate fi adresat n vederea programrii lui. n acest caz procesorul pune
adrese i comenzi (linii roii). Viteza dispozitivului de I/O este diferit de a memoriei
(mai mic) i sincronizarea datelor transferate se face cu semnalul RDY. Arbitrarea
magistralelor se face doar la primul cuvnt, transferul avnd loc n continuare n salv.
Prioritatea cererilor de DMA se poate programa. Implicit DRQ0 este cel mai prioritar.
Se poate programa mascarea unor cereri de DMA cu un registru de mti. Controllerele
de DMA pot fi cascadate, n acest caz numrul de linii poate crete. Dac se cupleaz
dou controllere cascadate, numrul liniilor disponibile devine 7.
Sarcinile controllerului I8257 i datele cu care se programeaz sunt date n urmtorul
tabel:
Sarcini I8257 Programare
Generare protocol de cerere i -
acceptare DMA
Gestionare prioriti registru de definire a prioritilor
Mascare selectiv registru de mti
Punere adrese pe magistrala de adrese Adresa de nceput a zonei de memorie
i comenzi pe magistrala de comenzi i numrul de cuvinte de transferat
22
ISBN Interfaare i protocoale
Figura 2.8.Configurarea unui hard disc cu interfa SATA i alocarea zonei de memorie,
nivele de ntrerupere i DMA
23
ISBN Interfaare i protocoale
Surse de Registru de
pin ntrerupere mti
Cerere de
0
ntrerupere
pin
0 ctre unitatea
0 central
1
Module 0
interne Registru al
Registru de cererilor de
fanioane ntrerupere
Latch
Latch
Latch
Latch
Latch
Activarea unei ntreruperi are ca efect i poziionarea unui fanion n registrul de fanioane,
permind microcontrollerului s identifice sursa ntreruperii. Registrul de fanioane este
citit de programul utilizator prin transfer programat i prin interogare se determin sursa
ntreruperii. Acesta este modul combinat ntre transferul programat prin interogare i
transferul prin ntreruperi.
Este posibil utilizarea exclusiv a transferului prin interogare prin interogarea n bucl a
surselor de ntrerupere n programul principal. n cazul unei aplicaii de termometru
24
ISBN Interfaare i protocoale
electronic citirea senzorului de temperatur se poate face prin interogare, periodic. Dac
cumva programul principal dureaz mai mult, de exemplu pentru c s-a detectat apsarea
unui buton prin care se modific programarea termometrului, temperatura este citit mai
trziu, ceea ce nu afecteaz utilizatorul. Dac ntr-un alt exemplu se citete starea unui
buton prin interogare, trebuie ca programul principal n nicio situaie s nu depeasc
timpul de apsare scurt a butonului de ctre utilizator, deci trebuie fcute unele calcule.
Dac se utilizeaz sistemul de ntreruperi nu trebuie fcut niciun calcul.
Transferul DMA este implementat n microcontrollerele mai complexe, care trebuie s
asigure viteze mari de transfer i s prelucreze cantiti mari de date. O descriere sumar
a avantajelor transferului DMA la microcontrollerele din familia STM32, cu schema bloc
din figura 2.10.
IBUS
CORTEX FLASH
M3
Controller SRAM
DMA
Interfee
interne
Magistrale
interne
Controllerul DMA are 7 canale, iar la modelele mai complexe exist 2 controllere DMA
cu 12 canale independente. Transferul DMA se poate executa ntre memorie i
dispozitivele de I/O dar i ntre memorie i memorie sau ntre dou dispozitive de I/O.
O particularitate a transferului DMA este c dialogul de acces la magistral (cerere i
acceptare de DMA, programarea controllerului DMA cu adresele de transfer) se face n
acelai timp cu transferul propriu zis, deci la terminarea unui transfer DMA poate ncepe
imediat altul.
25
ISBN Interfaare i protocoale
Programarea unui canal DMA este simpl i se face cu 4 regitri, unul conine adrese de
memorie, unul adrese pentru dispozitivul de I/O, unul numrul de cuvinte de transferat i
unul date de configurare.
O alt particularitate este faptul c n timpul transferului unitatea central poate lucra. Un
ciclu de magistral are 8 tacte, din care un transfer DMA ocup doar 5. n timpul rmas
liber unitatea central poate prelua instruciuni din memoria FLASH (transferul se face pe
o magistral special IBUS) i le poate executa.
n figura 2.11. se arat c un transfer de 32 de bii prin DMA (stnga) dureaz 214s i
un transfer programat (dreapta) dureaz 544s.
26
ISBN Interfaare i protocoale
3.Magistrale
3.1. Introducere
Legtura ntre procesor i EP (Echipamente Periferice) se realizeaz prin canale I/O (de
intrare/ieire) prin intermediul magistralei. Evoluia n timp a canalelor I/O este n acelai
timp o evoluie a creterii complexitii i performanelor. Pot fi enumerate urmtoarele
etape:
1. CPU controleaz direct EP;
2. Este adugat un modul I/O (o interfa serial sau paralel, programabile). CPU
comand EP prin transfer programat (direct sau prin interogare);
3. Aceeai configuraie ca la 2, dar transferul are loc prin ntreruperi;
4. Modulul I/O are acces direct la memorie prin DMA. Modulul poate muta
informaia direct n memorie, accesul CPU fiind necesar doar la nceputul i
sfritul transferului;
5. Modulul I/O folosete un microcalculator sau un microcontroller, cu instruciuni
proprii. CPU programeaz procesorul I/O pentru un transfer, pe care acesta l
execut folosind instruciunile proprii. Cnd transferul se termin, procesorul I/O
ntrerupe CPU pentru a comunica rezultatele transferului;
6. Microcontrollerul are memorie local. El poate controla astfel mai multe EP cu o
intervenie minim din partea CPU. Memoria local poate fi folosit i ca buffer
de date, realiznd astfel o rat de transfer mare.
Definiie: o magistral este un subsistem cu funcia de comutator universal bidirecional
prin care se transfer date n interiorul unui sistem de calcul sau ntre sisteme de calcul.
Schema bloc a unui sistem bazat pe magistrale este dat n figura 3.1:
1 Master 2 3
B B B
B B B
4 5 n
27
ISBN Interfaare i protocoale
Sistemul prezentat n figura 3.1 este format din n subsisteme dintre care unul este Master
la un moment dat iar celelalte Slave. Comutatorul este comandat de Master care stabilete
subsistemul Slave cu care face transfer de date i stabilete sensul transferului.
Subsistemele pot fi explorate ciclic sau, mai eficient transferul poate fi realizat printr-o
logic de prioriti. Bufferele B optimizeaz traficul de date, aceste buffere fiind
introduse n structura magistralei ncepnd cu magistrala PCI.. Dac fiecare subsistem
poate transfera date cu viteza vi i viteza cea mai mare este:
vmax=max (vi), atunci viteza magistralei VM va fi:
VM=k.vmax , adic mai mare (cu un coeficient k) dect viteza celui mai rapid
subsistem
Magistralele pot fi de dou tipuri:
1. Sincrone, la care exist o linie de tact i toate transferurile se fac ntr-un numr
ntreg de tacte, ciclul fiind numit ciclu de magistral. Acest tip de magistral este
cel mai simplu i ca urmare s-a rspndit i la microcontrollere;
2. Asicrone, transferul poate dura orict, este nevoie ns de un protocol de dialog.
Pentru ca un transfer nereuit s nu blocheze sistemul este nevoie de un mecanism
de supraveghere a magistralei.
Prima magistral a aprut n 1984 n structura calculatorului IBM PC i s-a numit ISA
(Industry Standard Architecture). Magistrala este sincron, are 16 bii de date, 24 de bii
de adres, subansamblele conectate se configureaz manual, viteza maxim este de
16Mbps. Specificaiile tehnice ale magistralei au fost n domeniul public, ceea ce a
determinat ca magistrala s fie un succes i ca urmare compatibilele IBM PC s se
rspndeasc n toat lumea.
Specificaiile fiind libere, IBM nu a beneficiat financiar prea mult de pe urma acestei
magistrale, aa nct a lansat n 1987 o nou magistral, superioar, pentru calculatoarele
PS2 numit MCA (Microchannel). Caracteristicile ei: 32 de bii de adres, 32 de bii de
date, configurare automat, viteza maxim 32Mbps, cu posibilitatea de a lucra
multiprocesor. Pentru a construi dispozitive MCA era nevoie de cumprarea licenei de la
IBM i au fost puine firme care s fac acest lucru, ca urmare calculatoarele cu MCA nu
s-au rspndit.
Ca reacie la MCA, un consoriu de firme (Compaq, Epson, Hewlett Packard, NEC,
Olivetti i Zenith) a lansat magistrala EISA (Extended ISA) n 1988. Magistrala EISA are
performane cel puin att de bune ca i MCA: 32 de bii de adres, 32 de bii de date,
configurare automat sau manual, viteza maxim 120Mbps i asigura compatibilitate cu
plcile ISA. Specificaiile au fost n domeniul public i probabil magistrala ar fi avut
succes.
28
ISBN Interfaare i protocoale
EISA nu s-a rspndit pentru c INTEL a lansat n 1990 magistrala PCI (Peripheral
Component Interconnect) cu specificaii n domeniul public, cu un concept nou al
arhitecturii. PCI poate lucra cu 32 sau 64 de bii de date la o vitez de maximum
2,112Gbps. Conceptul de ierarhizare a magistralei dup vitez permite compatibilitatea
cu magistrala ISA. n ultimul timp plachetele ISA au disprut dar PCI a pstrat intern o
magistral de vitez mic numit LPC (Low Pin Count), de fapt o magistral ISA cu
semnale multiplexate pe aceleai linii pentru economia de pini.
3.2.Magistrale ierarhizate
Magistrala PCI are o arhitectur care permite existena a dou magistrale pentru I/O, una
de vitez mare i una de vitez mic, figura 3.2.. La magistrala de vitez mare se
conecteaz dispozitivele rapide iar la cea lent se cupleaz canalele care necesit o vitez
mic. Culorile sunt sugestive, cele mai calde sugernd o vitez mai mare.
Magistral procesor
PROCESOR CACHE
Magistral sistem
Controller de Controller de
magistral lent magistral rapid
Magistrale I/O
Dac se analizeaz cazul concret al sistemelor PC lucrurile devin mai clare. Structura
ierarhizat a magistralelor este dat n figura 3.3. Se poate vedea structura pe 3 nivele,
cel mai de sus fiind constituit pe lng magistrala procesorului care are viteza cea mai
mare, tactul fiind FSB (Front Side Bus). Pe aceast magistral sunt conectate controllerul
video integrat, controllerul de memorie DRAM i controllerul magistralei PCI. Pe al
doilea nivel este situat magistrala PCI cu un tact de 33MHz, la care sunt conectate
dispozitivele de I/O rapide, adic canale USB, interfaa SATA, interfaa Ethernet
29
ISBN Interfaare i protocoale
10/100Mbps. AL treilea nivel este reprezentat de magistrala LPC (standard ISA) la care
sunt conectate cele mai lente dispozitive de I/O, adic canalele PS2 pentru tastatur i
mouse. Probabil c n timp se va renuna la nivelul magistralei LPC, existnd tendina ca
dispozitivele de I/O s devin mai rapide i migrarea ctre USB. n general creterea
vitezei interfeelor face ca acestea s urce pe diagrama magistralelor. Un exemplu clar
este interfaa Ethernet care la viteza de 10/100Mbps este conectat la magistrala PCI dar
la viteza de 1Gbps este conectat la magistrala procesor.
Funcionarea sistemului ierarhizat de magistrale poate fi exemplificat prin modul n care
se execut instruciunea MOV DX,AL la portul de ieire 0378H, portul paralel.
Instruciunea este analizat de controllerele de magistral ierarhizate. Controllerul PCI
are o tabel de adrese de I/O i verific dac adresa din instruciune este alocat unui
periferic rapid. n acest caz nu este alocat, aa c instruciunea este executat pe
magistrala LPC. O instruciune de citire/ scriere cu hard discul ar fi fost executat pe
magistrala PCI.
Procesor Cache
Magistrala
procesor, 100,
200, 400 MHz Monitor
Controller de MEMORIE
memorie
Ethernet 1G
Magistrala
PCI
DDR3
1600MHz
33MHz
1333MHz
30
ISBN Interfaare i protocoale
T1 T2 TW T3
Semnale generate de:
Tact
Controller de magistral
t
ALE Procesor
t
Adrese
Procesor
t
/MEMR Procesor
t
Date Memorie
t
Timp de acces la memorie
Semnalul ALE (Address Latch Enable) este utilizat pentru memorarea adreselor ntr-un
latch. Memorarea se face pe frontul primului impuls de tact. La executarea instruciunii
de citire din memorie MOV AL, [BX] procesorul activeaz semnalul MEMR. Dup
trecerea unui timp de ntrziere datele sunt citite din memorie i apar pe magistrala de
31
ISBN Interfaare i protocoale
date. Ele sunt eantionate de frontul ultimului impuls de tact. De regul memoria este mai
lent dect procesorul, de aceea este posibil ca la citire i scriere s se introduc un
impuls de tact suplimentar TW numit impuls de wait care genereaz o stare de wait. La
acest ciclu de citire celelalte semnale de comand MEMW, IOR i IOW sunt inactive.
Ciclul de scriere n memorie este reprezentat n figura 3.5 i este asemntor cu ciclul de
citire. Un astfel de ciclu este declanat de o instruciune de scriere n memorie, la x86 este
MOV [BX], AL.
T1 T2 TW T3
Semnale generate de:
Tact
Controller de magistral
t
ALE Procesor
t
Adrese
Procesor
t
/MEMW Procesor
t
Date Procesor
t
32
ISBN Interfaare i protocoale
T1 T2 TW1 TW2 T3
Semnale generate de:
Tact
Controller de magistral
t
ALE Procesor
t
Adrese
Procesor
t
/IOR Procesor
t
Date Dispozitivul I/O
t
Timp de acces la I/O
T1 T2 TW1 TW2 T3
Semnale generate de:
Tact
Controller de magistral
t
ALE Procesor
t
Adrese
Procesor
t
/IOW Procesor
t
Date Procesor
t
33
ISBN Interfaare i protocoale
Modificrile la ciclul de scriere fa de ciclul de citire sunt marcate cu rou pentru a uura
nelegerea.
n ciclurile DMA procesorul nu are controlul magistralelor, controlul fiind preluat de
controllerul de magistral. Ciclul de scriere DMA reprezentat n figura 3.8. nseamn
citirea de la un dispozitiv de I/O i scrierea n memorie.
T1 TW1 T2 TW2 T3
Semnale generate de:
Tact
Controller de magistral
t
HOLDA Procesor
t
Adrese
Controller DMA
t
/IOR Controller DMA
t
Date Dispozitivul I/O
t
/MEMW Controller DMA
t
Timp de acces la I/O
Cedarea magistralelor de ctre procesor se face n urma unui dialog, dup care procesorul
confirm cedarea prin activarea semnalului HOLDA. Controllerul DMA pune adresa de
memorie pe magistral i activeaz semnalul /IOR. Datele sunt puse de dispozitivul de
I/O pe magistral, dup care controllerul DMA activeaz semnalul /MEMW i datele se
nscriu n memorie.
Ciclul de citire DMA reprezentat n figura 3.9. nseamn citirea din memorie i scrierea la
un dispozitiv de I/O. Cu rou au fost marcate modificrile.
34
ISBN Interfaare i protocoale
T1 TW1 T2 TW2 T3
Semnale generate de:
Tact
Controller de magistral
t
HOLDA Procesor
t
Adrese
Controller DMA
t
/MEMR Controller DMA
t
Date Memorie
t Controller DMA
/IOW
t
Timp de acces la memorie
35
ISBN Interfaare i protocoale
CLK
ALE
/RD
/WR
Adrese/ date
AD0-AD7
Date scrise
Figura 3.10. Diagrama de timp pentru un ciclu de citire urmat de un ciclu de scriere n
cazul unei magistrale de adrese i date multiplexate
36
ISBN Interfaare i protocoale
T1 T2 T3 TW T4 TW T5 TW
Tact
t
GNT#
t
AD
t
Adrese Date 1 Date 2 Date 3
C/BE#
t
Tip Validare Validare Validare
tranzacie date date date
37
ISBN Interfaare i protocoale
Una dintre problemele majore ale magistralelor paralele este transmisia semnalelor pe
mai multe linii (16, 32 sau 64), apropiate ntre ele, la viteze de transfer din ce n ce mai
mari. Efectele perturbatoare care se manifest la aceste transmisii, n special reflexiile i
diafonia nu mai pot fi neglijate i limiteaz creterea n continuare a vitezei de transfer.
Soluii care micoreaz diafonia i reflexiile cum ar fi de exemplu trasee mai late (cu
rezisten mai mic), introducerea traseelor de mas ntre traseele de semnal etc. nu pot fi
practic aplicate pentru c dimensiunile noilor echipamente trebuie s fie din ce n ce mai
mici. Sunt foarte interesante soluii de codificare a datelor transmise pe magistrala
paralel astfel nct combinaiile de nivele logice pe linii adiacente care produc diafonii
s fie eliminate. n figura 3.12. se poate vedea un asemenea sistem care verific
combinaiile care produc diafonii i le nlocuiete, semnaliznd acest lucru cu o linie
special care se adaug la liniile magistralei.
Figura 3.12. Eliminarea combinaiilor care produc diafonii (Sursa: M. Drban, Tez de
doctorat, Cluj Napoca, 2012, online:
http://www.etti.utcluj.ro/download/988_PhD_Thesis.pdf)
Un rspuns posibil la aceste probleme este apariia unui nou tip de magistral. PCI
Express are o alt filozofie a magistralelor, de la magistrale paralele la care fiecare linie
este de semnal este un traseu clasic, la o magistral paralel care conine mai multe
grupuri de linii de comunicaii seriale numite canale. Un canal conine 2 linii de
transmisie seriale unidirecionale (simplex), fiecare linie fiind compus din 2 fire cu
transmisie diferenial (High- speed LVDS, Low Voltage Differential Signaling), figura
3.13.
38
ISBN Interfaare i protocoale
Transmitor Receptor
Receptor Transmitor
Transmisia serial la PCI Express este o transmisie punct la punct, sincron, cu cadre de
date, cu refacerea tactului din datele citite, codarea fiind o codare de grup numit 8b/10b,
care va fi tratat ntr-un capitol ulterior, dedicat interfeei IEEE1394.
Magistrala PCI Express poate conine un canal (PCIe x2), 2 canale (PCIe x4), .a.m.d.
pn la 16 canale (PCIe x32).
Controllerul de magistral conine un comutator (Switch) care comut un dispozitiv
master la unul slave, ca n diagrama general din figura 3.1. O schem general a
magistralei PCI Express este dat n figura 3.14.
39
ISBN Interfaare i protocoale
Procesor Magistrala
procesor, FSB
Switch C
Endpoint Endpoint
Memorie
40
ISBN Interfaare i protocoale
4.Interfee paralele
I8282
DI0
DO0
DI1
DO1
DI2
DO2
DI3
DO3
DI4
Circuitul este un buffer pe 8 bii cu ieiri cu trei stri. Dac STB (Strobe) este logic 1
ieirile urmresc nivelul logic al intrrilor. Pe frontul negativ al semnalului STB datele de
intrare sunt memorate n circuit. Semnalul /OE (Output Enable) /OE logic 1 face ca
ieirile s treac n nalt impedan. La trecerea lui /OE din unu n zero datele se pierd
din buffer. Exist astfel de circuite care au un inversor inserat pe fiecare linie. Principala
utilizare a acestor circuite este pentru liniile de adres, nscrierea n buffer fiind asigurat
de semnalul ALE. Sunt marcate ntr-un chenar rou semnalele care adaug un protocol
simplu de transfer.
B.Interfaa neprogamabil bidirecional pe 8 bii
Schema bloc a unei astfel de interfee (Intel 8286) este dat n figura 4.2.
Circuitul are ieiri cu trei stri i se utilizeaz mai ales la transferul pe magistrala de date,
fiind bidirecional. Intrarea T stabilete sensul de transfer al datelor, pe nivel sensul este
de la A la B iar pe nivel zero de la B la A. Dac /OE este 1 liniile din A i B trec n nalt
41
ISBN Interfaare i protocoale
impedan. Sunt marcate ntr-un chenar rou semnalele care adaug un protocol simplu
de transfer.
I8286
A0
B0
A1
B1
A2
B2
A3
B3
A4
I8255
Grup A
D0-D7 Buffer Port A PA0-PA7
de date
Magistrala intern
Figura 4.3. Schema bloc a circuitului interfa paralel programabil INTEL 8255
42
ISBN Interfaare i protocoale
43
ISBN Interfaare i protocoale
4.3.Protocoale de transfer
A.Protocolul de transfer n mod 1
Pentru a ilustra protocoalele de transfer paralel sunt prezentate trei variante, una pentru
transferul unidirecional de intrare, una pentru transferul unidirecional de ieire i una
pentru transferul bidirecional. Modurile de transfer prezentate sunt cele de la circuitul
interfa programabil I8255 descris anterior i sunt tipice pentru transferul paralel al
datelor.
A1. Transferul unidirecional de intrare
Schema bloc de conectare a unui Echipament Periferic (EP) la portul A este dat n figura
4.4.
Semnalele de protocol din portul C sunt generate automat de circuitul I8255 iar semnalele
de stare pot fi citite de procesorul gazd. Semnalele de protocol au urmtoarea
semnificaie:
STBA (Strobe A) este un strob de intrare pe poziia liniei PC4. Cu acest semnal EP
ncarc datele puse pe liniile de date n portul de date A.
IBFA (Input Buffer Full A) este o linie de stare pe poziia liniei PC5 care arat c datele
au fost ncrcate n bufferul portului A. Acest semnal este activat de semnalul de STBA
de la EP i este dezactivat cnd procesorul citete datele (cnd apare un RD active).
Semnalul IBFA poate fi folosit de procesor care este informat c datele sunt n portul A
sau de EP ca o confirmare a primirii datelor.
44
ISBN Interfaare i protocoale
A0-A7 date
INTRA PC3
INTEA STBA PC4
IBFA PC5
Validare PC6
ntreruperi PC7
INTRA
IBFA
Corespunztor portului B semnalele sunt: INTEB (PC2), STBB (PC2), IBFB (PC1),
INTRB (PC0).
45
ISBN Interfaare i protocoale
A0-A7 date
INTRA PC3
PC4
PC5
INTEA ACKA PC6
Validare OBFA PC7
ntreruperi
INTRA
OBFA
Corespunztor portului B semnalele sunt: INTEB (PC2), OBFB (PC1), ACKB (PC2),
INTRB (PC0).
46
ISBN Interfaare i protocoale
A0-A7 date
PC0
PC1
PC2
INTRA PC3
INTE1 STBA PC4
IBFA PC5
INTE2 ACKA PC6
OBFA PC7
Validare Validare
ntreruperi ntreruperi
ieire intrare
INTRA
OBFA
IBFA
47
ISBN Interfaare i protocoale
4.5.Exemplu de implementare
Se propune realizarea unei interfee paralele cuplat pe o magistral de microprocesor
compatibil x86 de 8 bii de date i 16 bii de adres. n portul A se conecteaz 8 LED-uri
iar n portul B 4 ntreruptoare. Se cere realizarea schemei bloc i a unui program n
limbaj de asamblare care s afieze pe LED-uri starea ntreruptoarelor.
Schema bloc a interfeei este dat n figura 4.7.
48
ISBN Interfaare i protocoale
I8255
Port A
PA0-PA7
D0-D7 Buffer
de date
49
ISBN Interfaare i protocoale
5.Interfee seriale
Emitor Receptor
Date
a Tact
GND
Emitor Receptor
b Date
Tact Tact
GND
Emitor Receptor
Date
Generare tact din
c datele citite
GND
Tact
50
ISBN Interfaare i protocoale
51
ISBN Interfaare i protocoale
Tensiune
1 1 0 1 1 1 0 0 1 0 0 0 1 1 0 0
Tensiune
0 1 1 0 0 1 0 1 1 0 0 1 0 1 0 0
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.
52
ISBN Interfaare i protocoale
Tensiune
0 1 1 0 0 0 1 1
Tensiune
0 1 1 0 0 0 1 1
Figura 5.5. Codarea FM
53
ISBN Interfaare i protocoale
54
ISBN Interfaare i protocoale
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
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 capitolele urmtoare. Codarea
8B10B va fi descris la interfaa serial IEEE1394 (Capitolul 11), codarea EFM la
nregistrarea pe suporturi optice i codarea RLL la scrierea pe suporturi magnetice
(Capitolul 12).
55
ISBN Interfaare i protocoale
ir de cuvinte asincrone
SPACE
t
Celule bit
Figura 5.8. Structura unui cuvnt serial asincron
56
ISBN Interfaare i protocoale
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.
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%.
SYNC ANTET
ANTET DATE CRC
57
ISBN Interfaare i protocoale
+12V
0 logic
+5V
+3V
0V
-3V
-5V
1 logic
-12V
Nivelele mai mari de tensiune asigur o margine de zgomot mai mare i prin urmare o
imunitate mai mare la perturbaii. Distana maxim de transfer este de 15m la un debit de
informaie de 115Kbps.
Cele mai importante semnale de interfa n standardul RS232 sunt:
Tabelul 1
Semnal Sens Semnificaie
RxD recepie date
TxD emisie date
RxC ceas de recepie
TxC ceas de emisie
58
ISBN Interfaare i protocoale
A B
B C D
Din punctul de vedere al acestor precizri, interfaa serial RS232 este o interfa punct la
punct, Full Duplex.
O legtur complet RS232 ntre dou sisteme de calcul utilizeaz toate semnalele
principale din Tabelul 1 i este dat n figura 5.12.
Datele circul prin liniile TxD i RxD n mod FDX sau HDX, depinde de capacitatea
circuitelor seriale de interfa. Perechile de semnale RTS /CTS i DTR /DSR au rolul de a
59
ISBN Interfaare i protocoale
Sistem 1 Sistem 2
RxD RxD
TxD TxD
RxC RxC
Tact Tact
TxC TxC
RTS RTS
CTS CTS
DTR DTR
DSR DSR
GND GND
Dintre cele dou perechi de linii de protocol RTS /CTS i DTR /DSR se poate folosi doar
una, scznd astfel numrul de linii de conexiune de la 7 la 5. Protocolul hardware de
comunicaie se numete DTR sau RTS n funcie de perechea utilizat. Pentru transfer
poate fi implementat i un protocol software care se numete XonXoff. Acest protocol
nseamn transmisia pe linia TxD i recepia pe RxD a unor coduri, unul care semnific
liber (Xon) i unul care semnific ocupat pentru Xoff. n aceast situaie numrul de
linii de conexiune scade la 3, figura 5.13.
60
ISBN Interfaare i protocoale
Sistem 1 Sistem 2
RxD RxD
TxD TxD
GND GND
Tactul de transmisie este standard dar evoluia echipamentelor a necesitat mrirea vitezei
de comunicaie. De aceea s-au definit viteze standard de comunicaie iar circuitele de
interfa serial prelucreaz prin divizare tactul standard pentru a obine mai multe viteze
de comunicaie standard, selectabile software. Vitezele de comunicaie standard sunt (n
Baud): 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200.
61
ISBN Interfaare i protocoale
Magistrala intern
Semnalele de conectare cu linia RS232 sunt cele standard, descrise la 5b.1. n plus fa de
acestea exist cteva semnale care au rolul de a informa procesorul gazd de starea
circuitului. Aceste semnale sunt:
TxRDY transmitor pregtit pentru a primi date de pe magistrala D0-D7;
RxRDY receptorul a recepionat un caracter care este gata de a fi trimis pe
magistrala D0-D7;
TxE transmitor gol;
SYNDET un semnal cu sens dublu, interfaa anun c a detectat sincronizarea
sau este anunat c un circuit extern a detectat sincronizarea.
Aceste semnale pot fi utilizate ca cereri de ntrerupere pentru procesor.
62
ISBN Interfaare i protocoale
B.Funcionarea circuitului
Circuitul are ca i funcie principal conversia paralel serie i serie paralel. Un cuvnt
care trebuie transmis paralel este scris n circuit n format paralel de ctre procesor pe
liniile D0-D7, este serializat i n mod asincron i se adaug bii de START, STOP i de
paritate. Serializarea se face cu tactul TxC. Este transmis apoi serial pe linia TxD, cu un
protocol hardware activnd i citind perechile RTS/CTS, DTR/DSR sau un protocol
software XonXoff. Dup transmisia cuvntului se activeaz semnalul TxRDY pentru ca
procesorul s poat trimite alt cuvnt.
La recepia n mod asincron informaia serial care vine pe linia RxD este citit serial cu
tactul RxC ncepnd cu primul front care este recunoscut ca bit de START. Se verific
paritatea, apoi sunt eliminai biii de START i STOP i se face conversia serie paralel.
Circuitul activeaz semnalul RxRDY pentru ca procesorul s tie c poate citi caracterul
n format paralel pe liniile D0-D7.
n mod sincron la recepie circuitul poate lucra n dou moduri, cu sincronizare intern
sau cu sincronizare extern. Cu sincronizare intern la recepie citete continuu datele de
pe linia RxD i le compar cu un cuvnt de 8 bii de sincronizare. Acest cuvnt este
standardizat, este folosit la cadre de date cu codare ASCII i marcheaz nceputul unui
cadru de date. Acest mod de funcionare n care circuitul urmrete sincronizarea se
numete mod Hunt. n acest mod circuitul nu transmite date spre procesor. n momentul
recunoaterii cuvntului de sincronizare, datele sunt citite serial de pe linia RxD, sunt
transformate n format paralel, se verific bitul de paritate i sunt transmise spre procesor
pe liniile D0-D7. La detectarea sincronizrii se activeaz semnalul SYNDET. Semnalul
RxRDY se activeaz la fiecare cuvnt recepionat.
n mod sincron la recepia cu sincronizare extern, un circuit extern se ocup cu
recunoaterea cuvntului de sincronizare. Cnd este recunoscut un astfel de cuvnt se
activeaz ctre circuitul de interfa serial semnalul SYNDET i circuitul ncepe s
citeasc serial date de pe linia RxD, sunt transformate n format paralel, se verific bitul
de paritate i sunt transmise spre procesor pe liniile D0-D7.
n mod sincron la transmisie un cadru de date este transferat octet dup octet n format
paralel pe liniile D0-D7 ctre circuit, circuitul insereaz cuvntul de sincronizare,
calculeaz i insereaz bitul de paritate, serializeaz cuvintele i le transmite pe linia
TxD. Cnd a terminat de trimis un cuvnt semnalizeaz procesorului prin activarea
semnalului TxRDY.
n mod sincron cuvntul de sincronizare poate avea un octet sau doi octei.
63
ISBN Interfaare i protocoale
C.Programarea circuitului
Primul cuvnt de comand trimis n circuit cu linia C/D=1 comand modul de lucru i
principalii parametri de funcionare, astfel:
Dac D1=0 i D0=0 modul de lucru este sincron, la orice alt combinaie modul este
asincron.
Semnificaia biilor din primul cuvnt de comand n mod asincron
D7 D6 bii de STOP
D5 D4 paritate
0 0 invalid
X 0 dezactivat
0 1 1 bit
0 1 paritate par
1 0 1 bit
1 1 paritate impar
1 1 2 bii
0 0 5 bii 0 0 invalid
0 1 6 bii 0 1 tact/64
1 0 7 bii 1 0 tact/16
1 1 8 bii 1 1 tact
D3 D2 lungime caracter
D5 D4 paritate
0 0 5 bii
X 0 dezactivat
0 1 6 bii
0 1 paritate par
1 0 7 bii
1 1 paritate impar
1 1 8 bii
64
ISBN Interfaare i protocoale
Dac s-a selectat modul sincron cu sincronizare extern atunci dup primul cuvnt de
comand nu mai urmeaz alt cuvnt de programare specific modului sincron. Dac s-a
selectat modul sincron cu sincronizare intern cu un octet de sincronizare atunci urmeaz
un al doilea cuvnt de programare care conine octetul de sincronizare. Dac s-a selectat
modul sincron cu sincronizare intern cu doi octei de sincronizare atunci urmeaz al
doilea i al treilea cuvnt care conin aceti doi octei.
Al doilea cuvnt de comand i cuvntul de stare
Structura cuvntului al doilea de comand este dat n stnga i a cuvntului de stare (citit
cu semnalul C/D=1) este dat n dreapta.
Al doilea cuvnt de comand Cuvnt de stare
Bit Semnificaie Bit Semnificaie
D7 Intrare n mod Hunt D7 DSR
D6 Reset intern D6 SYNDET
D5 RTS D5 FE (Frame Error)
D4 Anularea tuturor erorilor din registrul D4 OE (Overrun Error)
de stare
D3 Transmisie caracter BREAK D3 PE (Parity Error)
D2 Activare recepie D2 TxE
D1 DTR D1 RxRDY
D0 Activare emisie D0 TxRDY
65
ISBN Interfaare i protocoale
Cuvntul de stare conine starea liniilor TxE, RxRDY,TxRDY i SYNDET pentru a putea
fi citite de procesor n cazul n care transferul este programat. n cuvntul de stare se
poate citi semnalul de protocol DSR i se pot identifica erorile care au aprut la
transmisie: eroarea de paritate PE cnd bitul de paritate transmis nu corespunde cu cel
generat la receptor, eroarea de sincronizare FE cnd nu s-a recepionat un bit de STOP
corespunztor i eroarea de suprascriere (OE) cnd s-a recepionat un cuvnt nainte ca
cel anterior s fie citit.
n figura 5.15 n dreapta se poate vedea o schem electric tipic de utilizare a unui circuit
MAX232 n cazul unei legturi seriale RS232 cu protocol software, la care comunicaia
se face pe dou fire TxD i RxD, i GND.
66
ISBN Interfaare i protocoale
Figura 5.16. Diagrama transferului serial RS232 a unui caracter (jos la nivel TTL, sus la
nivel RS232)
67
ISBN Interfaare i protocoale
68
ISBN Interfaare i protocoale
Magistrala de
adrese
SEL SEL
1
Master 2 i Slave
Magistrala de
date
Transferul de date are loc ntre Master i subsistemul i pe magistrala de date. Liniile de
adres necesare pentru adresarea locaiilor sau registrelor interne ale subsistemelor sunt
conectate direct la acestea. Cu liniile rmase libere se selecteaz subsistemul cu care
Masterul transfer date. Subsistemul selectat devine activ, celelalte subsisteme intr n
nalt impedan la interfaa cu magistrala. Selectarea poate fi:
1. Selectarea liniar se poate realiza dac numrul liniilor de adres rmase
disponibile este mai mare sau egal cu numrul circuitelor care trebuie selectate.
Fiecare circuit este selectat cu o linie de adres, avantajul soluiei fiind simplitatea
iar dezavantajul fiind faptul c se pierde din spaiul de adresare;
2. Selectarea decodificat, n care liniile de adres rmase libere sunt introduse ntr-
un decodificator DCD, iar ieirile DCD selecteaz fiecare un circuit. Se poate
astfel folosi ntregul spaiu de adresare;
3. Selectarea mixt, n care unele linii de adres libere selecteaz direct cte un
circuit n timp ce alte linii selecteaz prin intermediul unui DCD.
n primul exemplu se propune conectarea pe o magistral de adrese de 16 bii a unor
circuite de memorie de 16k. Selectarea liniar i harta memoriei sunt date n figura 6.2.
69
ISBN Interfaare i protocoale
Magistrala de 0000H
adrese A0-A15
3FFFH
4000H
A14 A15 MEM1
7FFFH
8000H
A0-A13 CS A0-A13 CS MEM2
MEM1 MEM2 BFFFH
C000H
FFFFH
Magistrala de
adrese A0-A15 0000H
MEM1
3FFFH
A15, A14 4000H
MEM2
DCD
7FFFH
A0-A13 CS 8000H
0,0 0,1 MEM3
MEM1 A0-A13 CS
BFFFH
MEM2 1,0
A0-A13 CS 1,1 C000H MEM4
MEM3 A0-A13 CS FFFFH
MEM4
Se poate observa c n cazul selectrii decodificate (figura 6.3.) se folosete ntreaga zon
de adresare. n cazul conectrii unui dispozitiv de IO se aplic aceleai reguli, diferena
fiind dat de faptul c dispozitivele de IO au mai puine linii de adresare pentru regitrii
interni, ca urmare rmn mai multe linii de adres libere. n al doilea exemplu se
conecteaz o interfa paralel programabil pe o magistral de adrese de 16 bii. Interfaa
utilizeaz 2 linii de adres pentru selectarea celor 3 regitrii interni. S presupunem c
70
ISBN Interfaare i protocoale
adresa de baz la care dorim conectarea circuitului este 0180H. n figura 6.4. este dat
schema bloc de conectare i harta memoriei.
Magistrala de
adrese A0-A15 0000H
A2-A15 0180H
0183H
DCD
FFFFH
0 1 8 0
AND
0180H CS
A0 A1 CS
Interfaa paralel
Selecia prin decodificare a fost realizat cu 4 DCD cu 4 intrri. Schema bloc este
detaliat n partea de selecie. Dup programarea circuitului de interfa paralel se pot
trimite /recepiona date de un octet cu o singur instruciune sau dou, dac datele sunt
extrase din memorie, ceea ce nseamn, de exemplu la un microcontroller RISC cu
instruciuni executate ntr-un singur tact o rat de transfer de ordinul de mrime a
tactului. La MC complexe, aa cum sunt de exemplu MC pe 32 de bii de la Fujitsu se
pun la dispoziia utilizatorului semnale de CS pentru diferite zone de memorie liber
pentru a uura implementarea aplicaiilor care necesit lucrul pe o magistral extern.
71
ISBN Interfaare i protocoale
ALE
/PSEN
/RD
Date
PORT 0
PORT 2
Figura 6.5. Diagrama de timp la un ciclu de citire dintr-o memorie extern de date
72
ISBN Interfaare i protocoale
Figura 6.6. Conectarea unei memorii externe i a unui LCD la un MC 80C51 (sursa
www.ustr.net )
Pentru a adresa memoria EPROM se folosesc 16 bii de adres, cei mai puin
semnificativi la portul P0, cei mai semnificativi la portul P2. Un impuls pe linia ALE
ncarc biii de adres din portul P0 n latch-ul 74HC573. Se activeaz PSEN pentru c n
EPROM sunt stocate instruciuni (memorie extern de program), datele fiind pe liniile de
date din portul P0 putnd fi citite (/RD activ) sau scrise (/WR activ). Afiajul LCD este
conectat cu liniile de date la portul P1 i semnalele de comand astfel: RS datele
transmise pot fi un caracter de afiat sau o comand, RW sensul de transfer al datelor,
CE comanda de afiare. Un exemplu de programare:
MOV P1,A datele de afiat sunt trimise la portul P1
SETB RS datele reprezint un caracter de afiat
CLR RW sensul este de scriere n afiaj
NOP ntrziere
SETB CE comanda de afiare
NOP ntrziere
NOP
CLR CE linia de comanda de afiare este readus la 0
73
ISBN Interfaare i protocoale
74
ISBN Interfaare i protocoale
ALE
Adrese Adrese
anterioare /RD
Adrese A15-A8
Adrese/ date
AD0-AD7
Date anterioare Adrese Date citite
75
ISBN Interfaare i protocoale
Magistrala intern
Adrese Date
Magistral extern
Buffer de Acces
date citite de date, 32 de bii
Magistral extern
Buffer de adrese de adrese 32 de bii
Generare CS
Semnale de selecie
76
ISBN Interfaare i protocoale
MC
MC Port 0 EP
Port 0 EP P0.0 D0
P0.0 D0 P0.1 D1
P0.1 D1 P0.2 D2
P0.2 D2 P0.3 D3
P0.3 D3 P0.4 D4
P0.4 D4 P0.5 D5
P0.5 D5 P0.6 D6
P0.6 D6 P0.7 D7
P0.7 D7 Port 1
P1.0 RD
P1.1 WR
P1.7
La o conectare cu protocol se poate evalua viteza maxim de transfer prin scrierea unei
secvene de program (pentru a putea compara cu viteza de transfer pe magistral secvena
este scris n limbajul x86).
MOV BX, [adresa iniial de memorie]
Start: MOV DX, adresa portului de ieire P0
MOV AL, [BX]
OUT AL,DX Se trimit date n portul P0
INC BX
MOV DX, adresa portului de ieire P1
WR este trecut n High
MOV AL, 02
OUT AL,DX
MOV AL,00 WR este trecut n Low
OUT AL,DX
JMP start
Se poate vedea c secvena de program din bucl este de 2,5 ori mai lung dect la
trimiterea datelor pe magistral deoarece semnalul WR trebuie activat soft. Acest lucru
nseamn c viteza maxim de transfer n acest caz este de 2,5 ori mai mic, deci
200Ko/s.
77
ISBN Interfaare i protocoale
DI0 DO0
EP
D0
DI1 DO1
D1
MC DI2 DO2
D2
DI3 DO3
Port 0 DI4 DO4
D3
P0.0 D4
DI5 DO5
P0.1 D5
DI6 DO6
P0.2 D6
DI7 DO7
P0.3 D7
P0.4 STB1
P0.5
P0.6
P0.7 DI0 DO0 D8
DI1 DO1 D9
DI2 DO2 D10
DI3 DO3 D11
DI4 DO4 D12
DI5 DO5 D13
DI6 DO6 D14
DI7 DO7 D15
Port 1 STB2
P1.0
P1.1
RD
P1 7 WR
n figura 6.11 se poate vedea conectarea a dou circuite circuite buffer de 8 bii care au la
intrare aceleai linii de date de la portul P0 al microcontrollerului. n primul pas se
ncarc primul buffer comandat cu un strob (STB1), la liniile de date fiind pui 8 bii din
cei 16 ai cuvntului. n al doilea pas se ncarc al doilea buffer comandat cu STB2 i
avnd la liniile de date ceilali 8 bii. Cu un semnal de WR cei 16 bii sunt aplicai la EP.
n figura 6.12. cte 2 linii de date de la EP sunt aplicate unor multiplexoare 2 la 1. Cele 2
ci ale multiplexoarele sunt comandate de unul sau dou linii auxiliare din portul P1. n
primul pas se citesc 8 bii selectnd una dintre ci i activnd semnalul RD, apoi se citesc
urmtorii 8 bii activnd cealalt cale i semnalul RD.
78
ISBN Interfaare i protocoale
MUX0 EP
DO A D0
B
D1
MC MUX1
DO A
D2
Port 0 B
D3
P0.0 D4
P0.1 D5
P0.2
P0.3 D6
P0.4 D7
P0.5
P0.6 Selecie
P0.7
D8
D9
D10
D11
D12
MUX7 D13
DO A D14
B
D15
Port 1
P1.0
P1.1
RD
P1 7 WR
A treia extindere analizat este n cazul n care se dorete conectarea mai multor EP la
acelai port de date. Aceast situaie este analizat ntr-un exemplu de conectare a unui
circuit de interfa paralel la porturi paralele, schema bloc din figura 6.13:
MC
P0.0-P0.7 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7
DCD
CS1,2,3
D0-D7 A0 A1 CS RD WR
Interfa paralel
79
ISBN Interfaare i protocoale
6.4. Concluzii
La alegerea modului de conectare pe magistral sau la un port paralel exist cazuri
simple, n care decizia este uor de luat. De exemplu dac EP este pe 8 bii, unidirecional
i transferul este fr protocol se va opta rapid pentru cuplarea la un port. Dac aplicaia
solicit o vitez mare de transfer, cum este de exemplu un transfer de date video se va
alege cuplarea pe magistral. Sunt cazuri ns la care alegerea este mai dificil, n cazul
n care de exemplu EP este de 16 bii, bidirecional i transferul cu protocol. n acest caz
este nevoie de circuite suplimentare att la cuplarea la magistral ct i la un port paralel.
Poate fi mai favorabil gsirea unui microcontroller cu mai multe porturi paralele pentru
a nu mai fi nevoie de multiplicarea liniilor unui port. Alegerea trebuie s aib ca scop
principal asigurarea funcionalitii cu un numr de circuite suplimentare ct mai mic,
ceea ce asigur simplitatea maxim cu consecine favorabila la mrirea fiabilitii i
scderea costurilor.
80
ISBN Interfaare i protocoale
7.1. Microcontrollere
Microcontrollerul (MC) are schema bloc general simplificat din figura 7.1. n aceast
schem sunt puse n eviden interfeele, numite i dispozitive de intrare ieire I/O.
Unitatea central execut instruciunile din memoria program, pe care le primete prin
magistrala de date. Structura Harvard este posibil i rspndit la MC pentru c de
regul instruciunile sunt stocate n memoria ROM iar datele n cea RAM. Fiecare MC
are un controller de ntreruperi i unele au controller de DMA care admit att intrri din
exterior ct i de la modulele interne. Modulele de I/O pot fi seriale sau paralele. Fiecare
modul transfer date cu exteriorul prin intermediul registrului de date (RD). Modulul este
comandat (configurat) de unitatea central prin intermediul unui registru de comenzi
(RC) i se poate citi starea modulului prin registrul de stare (RS), prin care se pot i cere
ntreruperi. Registrele modulelor de I/O pot fi vzute de UC ca locaii de memorie (la
familia Motorola) sau ca dispozitive de I/O ntr-un spaiu de adresare separat (MCS 51).
De regul structura de baz a familiei conine anumite interfee considerate foarte
importante (timer, canal serial UART) i linii de I/O grupate n porturi paralele de uz
general. Pe structura de baz se adaug diferite tipuri de interfee care mpart liniile de
I/O cu porturile paralele de uz general.
Unitate central
BUS INTERN
Controller de
ntreruperi RS RC RD
Controller DMA
81
ISBN Interfaare i protocoale
Blocurile interne ale MC sunt legate ntre ele printr-o magistral (bus) de date i una de
adrese. Mrimea acestor magistrale constituie una dintre caracteristicile cele mai
importante ale unui MC.
Arhitectura Von Neuman prevede existena unui bus unic folosit pentru circulaia datelor
i a instruciunilor. Cnd un controller cu o astfel de arhitectur adreseaz memoria pe
linia de date se pune nti codul instruciunii apoi coninutul memoriei, accesul fiind
realizat n 2 pai, deci destul de lent. Arhitectura Harvard prevede un bus separat pentru
date i instruciuni. Cnd instruciunea este pus pe busul de instruciuni, datele de la
instruciunea anterioar sunt pe busul de date. Structura MC este mai complex, dar
performanele de vitez sunt mai bune. Magistrala de date i cea de adrese pot fi separate
sau multiplexate. Magistralele pot s nu fie scoase n exterior (Motorola 6805) sau pot fi
scoase n exterior direct (MCS 51) sau multiplexate (MC pe 16 sau 32 de bii).
82
ISBN Interfaare i protocoale
UC
Acumulator (CISC)
Registre generale (RISC)
ROM/PROM/EPROM
(memoria program)
Program Counter
RAM
ALU
Indicator de stiv
(memoria
de date)
Decodificare
instruciuni
Registru de stare
Magistral intern
83
ISBN Interfaare i protocoale
3.Memoria RAM (Random Access Memory) este o memorie volatil care poate fi citit
sau scris de unitatea central. Locaiile din RAM pot fi accesibile n orice ordine. Pe
chip, memoria RAM ocup mult loc i implicit costurile de implementare sunt mari. De
aceea un MC include de obicei puin RAM.
Observaii:
1. Stocarea programelor n memorii nevolatile permite ca MC s fie programat fr a
fi scos din circuitul n care funcioneaz (Field Programming/ Reprogramming).
2. Productorii recomand ca la producii de volum mare s se foloseasc memoria
ROM, care se nscrie la fabricant, cu masc, la producii de volum mic s se
foloseasc memoria OTP (PROM) iar pentru prototipuri s se foloseasc memoria
EEPROM sau FLASH.
3. Unele familii de MC trateaz spaiul de intrare ieire ca i memoria, iar altele au
spaii diferite de adresare pentru memorie i spaiul I/O. Tratarea unitar a acestor
spaii are avantajul simplitii dar limiteaz numrul de locaii de memorie
adresate. Tratarea unitar este justificat de asemnrile existente ntre stocarea
unui bit n memorie sau ntr-un latch de I/O.
7.3. Timerul
Timerul este modulul intern care realizeaz funciile de timp, fiind unul dintre modulele
cele mai importante i des folosite. Modulele timer sunt foarte diferite ca i funcionaliti
i complexitate, aspect de care trebuie inut cont la alegerea microcontroller-ului pentru
aplicaiile sensibile la timp. Schema bloc a modulului timer este dat n figura 7.3.
Tactul pentru timer poate fi ales tactul sistem sau un tact de la un pin extern. Tactul poate
fi divizat de un numr programabil de ori cu un numrtor de prescalare (timer de
prescalare). Comanda funcionrii timerului se face cu un registru de control i stare.
Timerul este format din 3 module, a cror caracteristic este numrul de bii:
numrtor (timer)
registru de ncrcare
registru de captur
Modurile de lucru sunt urmtoarele:
1. mod numrtor, n care Timerul numr tactul de la intrare i la depire nscrie
un bit n registrul de stare sau se poate cere o ntrerupere. Dac tactul este extern
nseamn c se face o numrare a evenimentelor externe. De regul frontul activ
se poate programa, adic s se fac o incrementare a numrtorului la front
pozitiv sau negativ.
2. mod captur, n care un pin exterior poate comanda oprirea timerului i ncrcarea
valorii la care a ajuns n registrul de ncrcare. Acest mod poate fi folosit pentru
msurarea unei perioade de timp.
84
ISBN Interfaare i protocoale
Tact de Prescalare
la un pin
extern
Magistral intern
Timer 0 Cerere de
ntrerupere
Registru de ncrcare
Registru de captur
85
ISBN Interfaare i protocoale
Magistrala intern
TxD RxD
86
ISBN Interfaare i protocoale
MISO (Master Input Slave Output) este intrarea serial pentru MASTER;
/SS (Slave Select) selecteaz circuitul SLAVE i protejeaz MC dac dou
circuite sunt master. Acest semnal activ dezactiveaz la cellalt port SPI modul
master.
MC master
SPI MISO
MOSI
SCK
/SS
+1
Port I/O
0
1
2
MC slave MC slave
Figura 7.5. Schema bloc a conectrii unor dispozitive prin interfea serial sincron
Dac dispozitivul master lucreaz cu mai multe dispozitive slave atunci semnalul /SS nu
este suficient i selecia dispozitivului slave se face cu linii de ieire dintr-un port
auxiliar, ca n figur.
87
ISBN Interfaare i protocoale
dispozitivele CAN trimit un cadru de control care indic o eroare. Fiecare cadru eronat
incrementeaz n dispozitiv un numrtor de erori (care este decrementat de cadrele
valide). Un numr de erori mai mare de o anumit limit produce decuplarea
dispozitivului de la magistrala CAN. Schema bloc a interfeei CAN este dat n figura
7.6.
Magistrala
intern
Transceiver
Tx
Generare CRC
TxEN
Registre de deplasare
Inserare (recunoatere MUX Rx
adres)
VREF (Vcc/2)
Introducerea biilor de
sincronizare
Wakeup VREF
88
ISBN Interfaare i protocoale
CLR
Numrtor RESET
T2
T1
Factorul de umplere
este T2/T1
Schema bloc a unui generator PWM este reprezentat n figura 7.9. Frecvena de repetiie
este programat cu un registru de prescalare care genereaz un ceas pentru un numrtor
de 8 bii. Coninutul numrtorului este comparat cu cel al registrului PWM, dac este
mai mare ieirea PWM este LOW, dac este mai mic sau egal PWM este HIGH. Factorul
de umplere poate fi astfel modificat ntre 0 i 254/255.
89
ISBN Interfaare i protocoale
Registru de prescalare
BUS INTERN
90
ISBN Interfaare i protocoale
Decl.
ADC0 Multiplexor conversie
ADC1 analogic Convertor Analog
ADC2 Digital
ADC3
BUS INTERN
91
ISBN Interfaare i protocoale
Figura 7.11. Mediu de dezvoltare pentru MCS 51 Franklin software (stnga) i mediu de
dezvoltare pentru ATMEL RISC, AVR Studio, (dreapta)
92
ISBN Interfaare i protocoale
Mediul de dezvoltare MPLAB pentru PIC este artat n figura 7.12. stnga i o aplicaie
cu microcontroller realizat de un student la proiect este dat n dreapta.
93
ISBN Interfaare i protocoale
8.1. Introducere
n 1979 Digital Equipment Corporation (DEC) i Intel s-au asociat cu Xerox pentru
standardizarea sistemului. Prima specificaie a celor trei companii, denumit Ethernet
Blue Book, a fost lansat n 1980, cunoscut sub denumirea DIX standard. Era un sistem
pe 10 Mbit/s ce utiliza cablu coaxial gros ca backbone n interiorul unei cldiri, cu cabluri
coaxiale subiri legate la intervale de 2.5 m pentru a conecta staiile de lucru.
IEEE (Institute of Electrical and Electronic Engineers) a lansat n 1983 standardul oficial
Ethernet denumit IEEE 802.3 dup numele grupului de lucru care a rspuns de
dezvoltarea sa. n 1985 a lansat versiunea 2 (IEEE 802.3a) cunoscut sub denumirea
Thin Ethernet sau 10Base2, n acest caz lungimea maxim a cablului este 185 m.
Structura unei reele locale mici este dat n figura 8.1. Topologia (structura) este n stea,
ceea ce prezint avantajul c ntreruperea unui fir nu ntrerupe reeaua, dar i dezavantajul
unui consum mai mare de cablu fa de topologia bus. Tot n aceeai figur sunt
prezentate n partea de jos un conector RJ45 (stnga), cablu UTP (Unshielded Twisted
94
ISBN Interfaare i protocoale
Pair) (mijloc) i STP (Shielded Twisted Pair) (dreapta). n figura 8.2. este reprezentat un
cablu optic, conectori i structura intern.
Hub
Switch
Router
Conexiune
INTERNET
Figura 8.1. Structura unei reele locale Ethernet, conector i cabluri pentru transmisie
95
ISBN Interfaare i protocoale
Adresa IP (Internet Protocol) este o adres numeric alocat fiecrui calculator conectat
n Internet. Adresa IP permite identificarea expeditorului i destinaiei unui mesaj. Prima
versiune aprut care este folosit i astzi este IPv4 n care adresa este pe 32 de bii.
Reprezentarea canonic a IP-ului IPv4 este pe grupe de 8 bii, n zecimal, separate de
punct, de exemplu: 192.168.0.1. Creterea numrului de calculatoare cuplate n Internet a
fcut ca IP-urile n aceast versiune s fie insuficiente i astfel a aprut IPv6, pe 128 bii.
Autoritatea internaional Internet Assigned Numbers Authority (IANA) distribuie
adresele IP la 5 autoriti regionale care apoi le distribuie la ISP (Internet Service
Provider)
O schem bloc a conexiunii prin reea Ethernet local a calculatoarelor este dat n figura
8.3. Fiecare calculator trimite date serial pe Tx i recepioneaz date pe Rx. Dou perechi
de fire sunt libere pentru conectarea unei linii telefonice. Cadrul (irul) de date seriale
conine adresa IP a sursei i a destinaiei. n centrul reelei se poate afla un Switch care
analizeaz adresa destinatarului i trimite datele doar la destinatar sau un Router care, n
plus fa de switch, stabilete automat adrese IP pentru fiecare calculator cuplat i permite
conexiunea la Internet.
ROUTER Rx
Calculator 1
Tx
IP1
Rx
Calculator 2
Tx
IP2
Figura 8.3. Schema bloc a conexiunii prin reea Ethernet local a calculatoarelor
Dac 2 sau mai multe calculatoare transmit date n exact acelai moment se produce o
coliziune, figura 8.4. Coliziunea este detectat de ambele calculatoare care au produs-o
pentru c ambele urmresc linia Tx. Linia Tx este comun, deci dac un calculator pune
96
ISBN Interfaare i protocoale
logic 1 i unul logic 0 linia va fi n 0. Cnd s-a detectat o coliziune ambele calculatoare
nceteaz transmisia i o rencep dup trecerea unui interval de timp generat aleator (la
ntmplare).
t
Nivel linie calculator 2
t
Nivel linie rezultat
Niciun calculator nu citete
ce a scris pe linie, deci s-a
detectat o coliziune t
97
ISBN Interfaare i protocoale
Pentru a mri viteza de transfer, cadrele recepionate sau cele de emis pot fi stocate ntr-o
memorie local SRAM cuplat la RTL 8019. Se pot conecta pn la 32Koctei SRAM.
Exist variante de RTL 8019 cu memorie SRAM integrat.
Configuraia i parametrii de iniializare pot fi stocai ntr-o memorie serial EEPROM
cuplat la circuit. Aceast memorie (de tip 9346) poate fi programat cu circuitul cu RTL
8019. Schema bloc simplificat a circuitului RTL 8019 este dat n figura 8.5:
Serializare/
Interfaa cu deserializare Interfaa cu mediul 10BaseT
magistrala Codare/ decodare de transmisie
Introducere/
recunoatere adres
proprie
98
ISBN Interfaare i protocoale
99
ISBN Interfaare i protocoale
Tip- Prin acest cmp este specificat protocolul superior care va prelua datele dup
procesarea Ethernet (valoarea 0x0800 identific protocolul IP , acesta fiind i cel mai
folosit).
Data- Dup procesarea Ethernet aceste date sunt trimise protocolului superior
specificat n cmpul Tip. Lungimea minim a acestui cmp este de 46 bytes i cea
maxim este de 1500 bytes. Orice depire a acestor limite este considerat eroare.
CRC- acest cmp poart i denumirea de FCS Frame Check Sequence i este
calculat de ctre surs i recalculat la destinaie pentru detectarea eventualelor erori
survenite n timpul transmisiei. Dac se detecteaz vreo eroare cadrul de date este
abandonat. Protocolul MAC nu ofer nici un mecanism prin care s se indice sursei
c un anumit cadru de date a fost abandonat din cauza apariiei unei erori.
Trebuie menionat faptul c, fiind vorba de o topologie de tip multipunct (broadcast),
cadrele Ethernet din reea sunt preluate de ctre toate calculatoarele conectate la reea.
Dup efectuarea verificrilor privind corectitudinea cadrului, se verific dac acel cadru
este destinat calculatorului respectiv. Verificarea se face pe baza adresei MAC de
destinaie. Aceast adres poate fi chiar adresa MAC a calculatorului respectiv, i atunci
cadrul este procesat, adresa MAC de broadcast, i n acest caz cadrul fiind procesat, sau o
alt adres MAC, i atunci cadrul este abandonat.
Deoarece tehnologia Ethernet implementeaz funciile celor dou nivele OSI, Legtur
de Date i Fizic, tot aici trebuie implementat i metoda de adresare fizic. Protocolul
MAC conine i aceast schem de adresare. Aceast adres fizic, ca i ntreaga
tehnologie Ethernet, este implementat n interiorul interfeei de reea.
Adresa fizic const dintr-un numr de 48 de bii scris n hexazecimal care identific n
mod unic n lume o interfa de reea. Aceast unicitate este dat de primii 24 de bii care
reprezint un numr ce identific productorul interfeei. Acest numr este denumit OUI
Organizational Unique Identifier i este administrat i distribuit productorilor de ctre
IEEE. Ceilali 24 de bii reprezint numrul de serie al interfeei i este administrat de
ctre productor. Aceste adrese MAC mai poart i denumirea de adrese BIAs Burned-
in Addresses deoarece ele sunt nscrise ntr-o memorie ROM de pe interfaa de reea.
100
ISBN Interfaare i protocoale
C Codare- RJ45
O decodare- Reea
N PLL Ethernet
MAC Controlle
T 802.3 r de RAM
R
O Gestionarea
L puterii
consumate
101
ISBN Interfaare i protocoale
LED-uri arat starea circuitului: starea ON sau OFF a legturii, activitatea Ethernet i
starea magistralei. Transceiverul 10BASE-T conine emitoare i receptoare de linie i
filtre analogice, n exterior fiind necesar doar un transformator de separare. Sunt
suportate cabluri cu impedana caracteristic de 100, 120 i 150, ecranate sau
neecranate.
Cele mai importante semnalele la pini sunt:
Semnale de interfa cu magistrala: SA0-19 (adrese), SD0-15 (date), RESET, /MEMR,
/MEMW, /IOR, INTRQ0-3, DMARQ0-2, DMACK0-2, ALE. Semnale de interfa cu
mediul de transmisie: TXD+, TXD-, RXD+, RXD- pentru 10BaseT.
Funcionarea circuitului are la baz 2 funcii: s trimit un cadru Ethernet i s
recepioneze un cadru. nainte de emisie sau recepie, circuitul trebuie configurat. Spre
deosebire de RTL 8019, CS 8900 nu gestioneaz liniile de date i adrese ale memoriei
externe, fiind de aceea un circuit cu mai puine terminale i fiind astfel mai uor de
folosit.
Transmisia unui cadru ncepe cu o comand (Transmit Command) prin care se precizeaz
cnd s nceap transmisia (dup ce toi octeii au fost transmii n CS8900 de exemplu),
existena CRC etc. Se trimite apoi lungimea cadrului, (Transmit Length), dup care se
trimit datele n CS prin transfer de memorie n memoria proprie sau prin transfer I/O.
Circuitul transmite cadrul n reea ncepnd cu un preambul urmat de adresa destinaiei,
adresa sursei, date, octei de CRC (se pot citi amnunte n paginile anterioare, la structura
cadrului Ethernet).
Recepia unui cadru este realizat de CS i cadrul este stocat n memorie. Recepia se face
prin decodare Manchester, apoi sunt eliminate preambulul, adresa destinatarului este
verificat i dac corespunde cu adresa programat n CS cadrul este memorat i se
anun procesorul printr-o ntrerupere. n a doua faz datele din memorie se transfer n
memoria sistemului pe magistral, prin transfer de memorie, transfer I/O sau prin DMA.
Transferul de memorie se face prin accesul direct al procesorului la memoria intern a
CS, adresat pe liniile de adres, sensul transferului fiind dat de MEMR sau MEMW.
Registrele de configurare pot fi accesate i ele n acest mod. La transferul I/O, CS este
accesat prin 8 registre de 16 bii, vzute de procesor n spaiul de I/O. Sensul transferului
este dat de IOR i IOW. Acest al doilea mod (I/O) este ales implicit la pornirea circuitului
(sau la RESET).
Programarea circuitului CS8900 se face printr-un concept original de programare, prin
intermediul memoriei interne numit PacketPage. Accesul la aceast memorie poate fi
realizat att prin transfer cu memoria ct i I/O. Transferul cu memoria este preferat
deoarece ciclul de memorie este de regul mai scurt dect cel de I/O. Conectarea lui
102
ISBN Interfaare i protocoale
103
ISBN Interfaare i protocoale
O alt variant de cuplare (artat n figura 8.9.) este cu microcontroller RISC AT90S i
controller de reea RTL8019. Diferena este c nu se creeaz o magistral de date i
adrese, deci nu se pot cupla i alte circuite. Altfel schema este asemntoare. La
microcontroller apar cele 2 interfee de transfer de date RS232 cu adaptare de nivel
(MAX232) i cea serial sincron SPI. La controllerul de reea apare transformatorul de
izolare i LED-urilor de semnalizare. Transferul de date are loc prin portul PC al
microcontrollerului iar selecia registrelor interne pentru RTL8019 precum i precizarea
sensului transferului se realizeaz cu semnale din portul PA.
Un circuit RTL8019 se poate conecta cu un microcontroller din familia 8051, soluia
fiind menionat n cornelius@ethernet.isdn-development.de.
Cteva caracteristici principale ale folosirii circuitului RTL sunt:
Memoria RAM intern de 16 Koctei asigur un numr mic de
componente externe circuitului (ca i la CS8900);
Pentru aplicaii TCP-IP este necesar memoria EEPROM extern pentru a
stoca codul IP;
Ca dezavantaj se menioneaz capsula circuitului (100 de pini) destul de dificil de lipit n
condiii ne-industriale.
104
ISBN Interfaare i protocoale
8
C2 1 16 7
100 2 6
U1 0 2 3 5 6 7 9 0 5 6 4 5 6 9 0 0,1u 3 14 5
8 9 1 2 2 5 5 5 8 9 8 8 9 9 9 6 7 1 4
37
A0 38 SA0 1 1 2 2 3 3 1 1 2 2 3 3 4 4 4 0 6 11 3
A A
SA1 S D 1 D S S D 3 S D D S S D S D S S 7 2
A1 39 S D S D S S D S S D D S S D S D S S
A2 40 SA2 V V S V V V V S V V V V V V V V V V C1 8 9 1
SA3 D D V D D D D V A A A A A A A D D A
A3 41 D D 84 0,1u
42 SA4 DO- 83 RJ45
43 SA5 DO+
44 SA6 80
45 SA7 DI- 79
46 SA8 DI+
47 SA9 82 C3
48 SA10 CI- 81
50 SA11 CI+
51 SA12 68p
52 SA13 92
53 SA14 RXD- 91 24,9
54 SA15 RXD+ 88
58 SA16 TXD- 87 VCC
59 SA17 TXD+ 24,9
60 SA18 78 680 D1
65 SA19 BSTATUS/HC1 99 D2
D0 66 SD0 LINKLED/HC0 100
D1 67 SD1 LANLED 17
D2 68 SD2 CSOUT 680 LED
D3 71 SD3 LED
D4 72 SD4
D5 73 SD5 97
D6 74 SD6 XTAL1
D7 27 SD7
26 SD8 98
25 SD9 XTAL2 Y1
24 SD10
SD11 T
21 U 20MHz
SD12 H 6 Y P O N
I L
20 S 1 D 0 1 2 0 1 2 E L A A
SD13 E T S 6 0 1 2 3 Q Q Q K K K E E T T E
19 1 R Q Q Q Q L S S
SD14 WR R E C S H R R R R
R R R C C C S T K A A S S P E
18 MMW R F N S M C C T T T T A A A A A A S S D D C C I H S
SD15 E E E E E E M M M M M MW E E E E E L H B E
MMO I O
I R A RM O
I O
I N
I N
I N
I N
I D D D D D D H T E E E E E C S R
CS8900A-CQ
8 9 2 1 9 3 5 4 3 4 2 1 0 5 5 3 1 6 4 2 7 6 6 3
2 2 6 6 4 6 7 3 3 6 3 3 3 3 1 1 1 1 1 1 7 7 4 5 6 3 2 7 3 9
VCC
4,99K
R7
/WR R
/RD VCC
U3A
1 2
/CS
SN7404
/RESET
105
ISBN Interfaare i protocoale
JCP2
1 /STROBE
14 /AUTOFEED
2 D0 RS0
15 /ERROR RS1
3 D1 U2 RS2
16 /INIT 11 A3
4 D2 STB 9 A4
17 /SELECT OE U1 0 A5
3
5 D3 RS012 8 D0 D0 39 21 A6
18 GND RS113 O7 I7 7 D1 D1 38 P0.0/AD0 P2.0/A8 22 A7
G
6 D4 RS214 O6 I6 6 D2 D2 37 P0.1/AD1 O P2.1/A9 23
O5 I5 P0.2/AD2 R P2.2/A10
19 GND A3 15 5 D3 D3 36 P/ 24
O4 I4 P0.3/AD3 P2.3/A11 /CS
7 D5 A4 16 4 D4 D4 35 E 25 D0
20 GND A5 17 O3 I3 3 D5 D5 34 P0.4/AD4 L P2.4/A12 26
O2 I2 P0.5/AD5 A P2.5/A13 D1
8 D6 A6 18 2 D6 D6 33 27
O1 I1 P0.6/AD6 P2.6/A14 D2
21 GND A7 19 1 D7 D7 32 28
O0 I0 P0.7/AD7 P2.7/A15 D3
9 D7
D4
22 GND 1 10
P1.0/T2 P3.0/RXD D5
10 /ACK 8282 2 11
P1.1/T2-EX P3.1/TXD D6
23 GND 3 12 /INT
P1.2 P3.2/INTO D7
11 BUSY 4 13
24 GND 5 P1.3 P3.3/INT1 14 /INT
12 PE 6 P1.4//SS P3.4/TO 15
P1.5/MOSI P3.5/T1 /WR
25 GND 7 16 /WR
P1.6/MISO P3.6/WR /RD
13 SELECT IN 8 17 /RD
P1.7/SCK P3.7/RD CLK
19 29
18 XTAL1 PSEN
CENTRONICS DB25 9 XTAL2 31
RST EA/VPP
R1
VCC VCC
8,2K AT89S53
1
Y1
2 3 10u RESET RESET
4 3 CLK
/CS
1 2 A7 2
U7A SW1
SN74126 P2 RESET
1 GENERATOR 10MHz U3
SN74126 6 13 10 VCC
2 8 R1IN T2IN 11 1
7 RxD 7 R2IN T1IN 9
6 5 3 14 T2OUT R2OUT 12 1K
8 TxD T1OUT R1OUT
4 1
9 3 C+
U4A
5 1u 4 C1- 1
4 5 C2+ 3
C2- V
2 5 2
RS232 DB9 1u VCC 6 V+ +
V- c
c SN7400
0 V
1 MAX232
6 VCC
9 8 1u 1u 1
1u
SN74126
106
ISBN Interfaare i protocoale
P1 Vcc
1 U1 U2
14 Vcc Db0 1 40 D0 36 85
2 Db0 Db1 2 PB0/T0 VCC 28 D0 D1 37 SD0 BD0 84
15 Db2 3 PB1/T1 PC7/A15 27 D1 D2 38 SD1 BD1 82
3 Db1 Db3 4 PB2/AIN0 PC6/A14 26 D2 D3 39 SD2 BD2 81 Vcc Vcc
16 R1 Db4 5 PB3/AIN1 PC5/A13 25 D3 D4 40 SD3 BD3 80
4 Db2 Db5 6 PB4/SS PC4/A12 24 D4 D5 41 SD4 BD4 79
17 2K Db6 7 PB5/MOSI PC3/A11 23 D5 D6 42 SD5 BD5 78 D1 D2
5 Db3 Db7 8 PB6/MISO PC2/A10 22 D6 D7 43 SD6 BD6 77
18 C1 9 PB7/SCK PC1/A9 21 D7 95 SD7 BD7 LED LED
6 Db4 10 RESET PC0/A8 94 SD8 74 R2 1K
19 0.1uF 11 PD0/RXD 31 93 SD9 BA14 73
7 Db5 12 PD1/TXD ICP 30 92 SD10 BA15 72
20 13 PD2/INT0 ALE 29 91 SD11 BA16 71
8 Db6 14 PD3/INT1 OC1B 90 SD12 BA17 69
21 15 PD4 32 88 SD13 BA18 68
9 Db7 16 PD5/OC1A PA7/AD7 33 87 SD14 BA19 67 R3 1K
22 17 PD6/WR PA6/AD6 34 SD15 BA20 66
10 PD7/RD PA5/AD5 35 A4 33 BA21
PA4/AD4 RSTDRV 20F001N
23 19 36 A3 30 62
11 18 XTAL1 PA3/AD3 37 A2 29 IOWB LED1 61 R4 200 6 7
24 XTAL2 PA2/AD2 38 A1 IORB LED0 60 5 TPIN- TPRX- 8
PA1/AD1 LEDBNC GND GND RJ-45
12 Y1 20 39 A0 A0 5 63
25 GND PA0/AD0 A1 7 SA0 LED2 C2 C3 6
13 A2 8 SA1 58 10nF 10nF TPRX-
C4 C5 A3 9 SA2 TPIN- 59 3
30pF 8MHz 30pF AT90S8515 A4 10 SA3 TPIN+ 4 9 TPRX+
11 SA4 46 3 TPIN+ TPRX+ 10
12 SA5 LD 45 2 TPOUT- TPTX- 11 2
Vcc 13 SA6 RTL8019AS HD GND GND TPTX-
Vcc 15 SA7 76 C6 C7 1
16 SA8 U5 EECS 75 10nF 10nF TPTX+
6 18 SA9 BCSB Y2
1 SA10
C8 2 1 C9 19 50 1 12 UTP
+ 20 SA11 OSCI TPOUT+ TPTX+
+
1uF 3 1uF 21 SA12 51 20MHz
22 SA13 OSCO
SA14 U7
P2 C10 6 4 C11 23 89 Vcc
1 + 1uF + 24 SA15 VDD 70
6 5 1uF 25 SA16 VDD 57
2 7 10 26 SA17 VDD 47
7 27 SA18 VDD 17
3 8 9 SA19 VDD 6
8 97 VDD
4 14 11 98 INT7 86
9 99 INT6 GND 83
5 13 12 100 INT5 GND 52
1 INT4 GND 44
2 INT3 GND 28
COM 3 INT2 GND 14
U5 Vcc 4 INT1 GND
5
MAX232 1 INT0 49
1 65 TX+ 48
31 JP TX- 56
32 SMEMRB RX+ 55
SMEMWB RX- 54
1 64 CD+ 53
34 AUI CD- 96
AEN IOCS16B 35
IOCHRDY
RTL8019AS
107
ISBN Interfaare i protocoale
108
ISBN Interfaare i protocoale
109
ISBN Interfaare i protocoale
9.1.Descriere i caracteristici
n prezent conectarea pe USB este cea mai rspndit variant de conectare a
dispozitivelor periferice la calculatoare PC. Printre perifericele cu USB se pot meniona
imprimantele, stick-urile de memorie flash, aparatele foto, telefoanele mobile dar i
tensiometre, jucrii sau fierbtoare de cafea, figura 9.1.
Magistrala USB este bazat pe o transmisie serial, sincron, entitatea este cadrul (blocul)
de date, codificare de grup cu adugare de bii, cu refacerea tactului din datele citite,
verificarea corectitudinii transferului cu CRC.
Magistrala USB a fost introdus cu dorina de a oferi utilizatorilor o interfa universal,
cu vitez mare i uor de folosit, mai ieftin pentru c, fiind serial, cablurile i conectorii
cost mai puin. Aceste considerente au impus magistrala USB pe pia, n prezent
aceasta ocupnd o cot mare de pia n domeniul interfarilor. Complexitatea USB este
mai mare dect a interfeelor nlocuite, adic a interfeei RS232 i a interfeei paralele,
prin urmare implementarea ei n microcontrollere a fost mai dificil. n 2008 au fost
vndute peste 3 miliarde de dispozitive USB, iar intrarea pe pia a USB 3.0 (SuperSpeed
USB) n anul 2009, cu o estimare de vnzri pn n 2015 de 25% din totalul
dispozitivelor USB asigur condiiile supravieuirii ndelungate. Caracteristicile
principale ale magistralei USB:
rata de transfer este de 1,5 Mbps la USB 1.0 (Low Speed), 12Mbps la USB 1.1
(Full Speed), 480Mbps la USB 2.0 (Hi Speed) i 4,8Gbps la USB 3.0 (Super
Speed);
110
ISBN Interfaare i protocoale
9.2.Arhitectura magistralei
Dispozitivele USB sunt conectate ntr-o topologie de tip stea multipl. Topologia USB
este reprezentat n figura 9.2. n nodul fiecrei stele se gsete un hub.
Gazda USB
Root hub
Dispozitiv compus
Funcie Hub 1 Funcie
USB USB
Hub 2
Endpoint
Funcie Funcie
Funcie Funcie USB USB
USB USB
111
ISBN Interfaare i protocoale
Legtura este multipunct pe magistral dar punct la punct ntre hub i dispozitive. Este
posibil ca un dispozitiv fizic s conin mai multe funcii i un hub, acest dispozitiv
numindu-se compus. Un exemplu este o multifuncional care conine imprimant,
scanner i fax, toate acestea fiind funcii USB.
Fiecare dispozitiv USB poate dispune de una sau mai multe endpoint-uri prin care gazda
comunic cu dispozitivul. Un endpoint este un registru intern, adresabil de gazd n care
se pot trimite sau din care se pot citi informaii specifice. Toate dispozitivele posed un
endpoint special, endpoint zero, care este privit ca pipe de control. Pipe-ului endpoint
zero i este asociat informaia ce descrie complet dispozitivul USB: clasa de dispozitiv,
informaii de power management, productor etc.
Iniiatorul transferurilor de date pe magistral este gazda USB. Protocolul folosit este
protocol prin interogare (de tip polled). Datele vehiculate pe magistral sunt grupate n
pachete iar o tranzacie de magistral implic transmiterea a cel mult trei pachete.
Fiecare tranzacie ncepe prin trimiterea de ctre gazd a unui pachet de semnalizare -
token packet- care descrie tipul i sensul tranzaciei, adresa dispozitivului USB i
numrul nodului destinaie (endpoint). Dispozitivul adresat se selecteaz prin
decodificarea adresei ce-i corespunde. Urmeaz transferul de date de la gazd spre
dispozitivul adresat sau invers, dup cum este specificat n pachetul de semnalizare.
Receptorul rspunde n aceast tranzacie printr-un pachet de dialog -handshake packet-
prin care se confirm (sau nu) ncheierea cu succes a transferului de date.
9.3.Nivelul fizic
Aspectele electrice i mecanice ale interfeei sunt reglementate foarte precis n
specificaiile de magistral. Semnalele electrice sunt transmise diferenial (D+ i D-).
Codificarea utilizat este NRZI cu mpnare de bii (bit-stuffing) i tactul de recepie este
generat din datele transmise, codul fiind autosincronizabil.
Cablul USB are patru fire, semnalul util este transportat pe dou conductoare torsadate iar
pe celelalte dou conductoare cablul transport tensiunea de alimentare nominal de +5V
(VBUS) i potenialul de referin (GND), figura 9.3.
VBUS VBUS
D+ D+
D- D-
GND GND
112
ISBN Interfaare i protocoale
Uurina cu care este utilizat USB rezult din atributul special de tip plug-and-play al
acestei magistrale. USB accept cuplarea i decuplarea de dispozitive n orice moment;
sistemul software se adapteaz dinamic la modificrile fizice de topologie. Un dispozitiv
USB este plasat fizic n structur prin ataarea la portul unui hub. Hub-ul dispune de
indicatori de stare la fiecare port pentru a semnaliza cuplarea sau decuplarea unui
dispozitiv. Gazda sesizeaz semnalizarea de la hub i atribuie o adres unic
dispozitivului. La decuplare hub-ul dezactiveaz portul i indic gazdei acest eveniment.
Pentru a se adapta dinamic, sistemul software USB este permanent ntr-un proces de
inventariere a magistralei (bus counting).
113
ISBN Interfaare i protocoale
Cmp Endpoint
SYNC PID CRC
adres
8b 8b 7b 4b 5b
Figura 9.5. Pachetul de semnalizare (sus), cmpul de sincronizare (mijloc) i cmpul PID
(jos)
114
ISBN Interfaare i protocoale
Toate pachetele conin la nceputul lor un cmp de sincronizare, numit SYNC care
permite buclei PLL pentru refacerea tactului din receptor s se sincronizeze, i un cmp
identificator de pachet, numit PID (Packet Identifier).
SYNC este primul cmp din orice pachet USB. Cmpul de sincronizare este constituit
dintr-o serie de bii care produc un ir dens de tranziii utiliznd schema de codificare
NRZI cerut de standardul USB. Cmpul apare ca o serie de trei tranziii 1/0 urmat de o
marc cu limea a dou impulsuri. Datele din cmp au succesiunea de valori 0000 0001.
Cmpul PID urmeaz cmpului SYNC ntr-un pachet USB i are lungimea de 8 bii.
Primii patru bii indic tipul pachetului, iar urmtorii patru sunt n ordine primii patru
complementai (complement fa de 1) i sunt folosii ca bii de verificare pentru a
confirma acurateea primilor patru. Cmpul PID definete trei categorii de pachete
handshake:
Pachetul handshake ACK indic emitorului c pachetul de date a fost
recepionat fr erori;
Pachetul handshake NAK indic faptul c o funcie nu a fost capabil s
recepioneze date de la gazd (ntr-o tranzacie OUT) sau c o funcie nu are date
de transmis gazdei (ntr-o tranzacie IN). O gazd nu poate trimite niciodat NAK;
Pachetul STALL este emis de o funcie ca rspuns la un pachet de semnalizare IN
sau dup o tranzacie de date OUT, indicnd c funcia nu este capabil s emit
sau s recepioneze date. Gazda nu poate rspunde cu pachet STALL.
8b 8b 0 -1023B 16b
SYNC PID
8b 8b
115
ISBN Interfaare i protocoale
Pachetele handshake sau de dialog sunt folosite pentru a raporta starea unui transfer de
date, pentru a indica recepia cu succes a datelor sau pentru a ntoarce valori care indic
acceptarea/ respingerea unei comenzi sau o stare de HALT la dispozitiv. Acest tip de
pachet este compus doar din dou cmpuri; SYNC i PID. Structura este reprezentat n
figura 9.6 jos.
Un dialog simplificat este dat n figura 9.7. Cu un pachet de semnalizare se indic adresa
dispozitivului i tipul tranzaciei care presupunem c este un transfer de date spre gazda
USB. Dispozitivul USB rspunde cu pachetul de date. Gazda confirm primirea cu un
pachet handshake.
SYNC DATA
Pachet de date
PID CRC
116
ISBN Interfaare i protocoale
FT245BM
Timer
3,3V Generator al
Control
tensiunii de 3,3V
FIFO i
Motor serial Buffer de interfa
paralel
D+ Emitor/ USB recepie FIFO
D0-
Receptor USB 128 octei
D7
D-
Generarea RD
Buffer de
protocolului emisie FIFO
WR
TxE
384 octei
RxF
EEPROM serial
Scrierea datelor se face cnd TxE este n stare 0 logic. Dup memorarea octetului n
bufferul de transmisie TxE devine din nou 0 logic. La recepia datelor se folosete RxF
care n stare 0 logic anun c s-a recepionat un caracter, figura 9.9.
117
ISBN Interfaare i protocoale
D0- RxF
D7
RD
WR
TxE D0-
D7
Circuitul FT232BM are o schem bloc asemntoare, diferena fiind blocul de interfa
care este n acest caz serial. Semnalele sunt cele de la RS232: TxD, RxD, RTS, CTS,
DTR, DSR, DCD, RI i n plus TxDEN un semnal de validare transmisie necesar la
standardul RS485.
Dou semnale care arat c se transmit sau se recepioneaz date TxLED i RxLED pot
s fie folosite la comanda unor indicatoare luminoase de activitate. Protocoalele permise
sunt cele hard DTR sau CTS i soft Xon-Xoff. Un circuit generator de rat de Baud
asigur tactul standard necesar transmisiei.
Interfaa cu microcontrollerul este simpl i uor de implementat, const ca i hardware n
conectarea ctorva semnale, TxD cu RxD la FT232BM i cele 8 linii de date i 4 de
protocol la FT245BM.
Interfaa cu calculatorul gazd, de regul un PC nseamn n primul rnd descrcarea
driverelor de pe site-ul FTDI pentru sistemul de operare instalat. Cuplarea circuitului
FTDI la USB (n cazul sistemului de operare WINDOWS) va avea ca efect dialogul
Found new hardware). Dup instalarea driverelor circuitul FTDI va aprea ca n
figura 9.10:
118
ISBN Interfaare i protocoale
tact
Regulator
tensiune 2MHz
Prescalare tact
24x
Interfaa USB
D+ DPLL DPRAM
refacere
USB
tact
D-
VBUS
Tactul necesar pentru interfaa USB este de 48MHz cu tolerana de 0,25%, deci trebuie
acordat atenie tactului extern i prescalrii. Circuitul PLL este digital (DPLL) pentru a
asigura performanele necesare refacerii tactului. Regulatorul de tensiune asigur
tensiunea necesar pentru D+ i D- (3V...3,6V) din tensiunea de alimentare a circuitului
119
ISBN Interfaare i protocoale
Comand
VBUS VBUS VBUS alimentare
D+ D+ D+
D- D- D-
a b c
Figura 9.12: modurile de lucru ale MC
120
ISBN Interfaare i protocoale
Endpoint 6 Buffer
Program
client
Endpoint 1
Buffer
Endpoint 0
Buffer
Pipe 0
Modul de lucru ca gazd USB sau dispozitiv USB este determinat de valoarea logic a
unui pin (UID) sau software prin poziionarea unui pin ntr-un registru USB. Modul de
lucru Low Speed sau Full Speed se poate selecta prin valoarea logic a doi pini externi.
Valorile logice de comand pot fi stabilite local cu rezistoare sau de la distan.
n funcie de modul de lucru ales pentru interfaa USB, software-ul trebuie s comande
urmtoarele aciuni:
1.Pornirea interfeei USB
pornirea regulatorului de tensiune;
configurarea PLL, validarea PLL i comanda unui ntrzieri pentru ca PLL s se
sincronizeze;
validarea i configurarea interfeei USB prin alegerea vitezei, configurarea
endpoint-urilor etc.;
ataarea unui dispozitiv USB.
2.Oprirea interfeei USB:
detaarea dispozitivelor USB;
invalidarea interfeei USB, a circuitului PLL i a regulatorului de tensiune.
121
ISBN Interfaare i protocoale
Linia USB
SETUP OUT OUT IN
RXSTPI
RXOUTI
TXINI
122
ISBN Interfaare i protocoale
10.1.Introducere
Multe dintre aplicaiile cu microcontroller necesit o transmisie de date fr fir.
Comunicaiile fr fir nseamn transferul informaiei prin intermediul cmpului
electromagnetic n gama de frecven 9kHz-300GHz. Spectrul electromagnetic este o
resurs public i alocarea gamelor de frecvene pentru diferite transmisii se realizeaz de
ctre organisme naionale i internaionale. n spectru exist benzi de frecven pentru
care trebuie licen i benzi libere, aa cum este banda ISM (Industrial, Scientific and
Medical - 2,4GHz).
Istoricul transmisiilor fr fir ncepe cu David E. Hughes care a transmis codul Morse in
1878 cu o bobin parcurs de curent electric i a patentat invenia. n urma acestui patent
s-a nscut compania Western Union Telegraph. Thomas Alva Edison (1847 1931), un
prolific inventator, care a inventat becul cu incandescen, microfonul etc. a inventat n
1888 o metod de transmisie fr fir cu ajutorul unui magnet vibrator, invenie patentat
i aplicat la cile ferate. Heinrich Rudolf Hertz (1857 1894) a avut realizri importante
n domeniul teoriei cmpului electromagnetic. A demonstrat teoretic posibilitatea
transmisiei radio dar nu a realizat experimente. Nikola Tesla (1856 1943) a avut
realizri experimentale deosebite, cum ar fi de exemplu realizarea unui model de vapor
telecomandat de la distana de civa kilometri, a construit antene, sisteme de transport al
energiei fr fir etc.
Actria Hedy Lamarr, o vestit frumusee de la Hollywood, numit de contemporani cea
mai frumoas femeie a lumii a devenit vestit n urma filmului Ecstasy, unde aprea nud,
prima apariie nud n cinematografie. n cel de-al doilea rzboi mondial rachetele i
torpilele ncepuser s fie ghidate prin radio, dar bruierea semnalului fcea ca ghidarea s
nu reueasc. Hedy Lamarr care a privit mult vreme activitatea navelor n porturi a
inventat n 1942 un mod de a schimba frecvenele de transmisie foarte repede n timpul
transmisiei pentru ca transmisia s nu poat fi bruiat. Schimbarea frecvenei se fcea
prin programul nscris pe un tub, ca i cel al flanetei. Invenia a fost fcut cu 20 de ani
prea devreme. Prima aplicaie a fost realizat de armata SUA n timpul crizei rachetelor
din Cuba, metoda de salt de frecven fiind folosit la ghidarea rachetelor. Astzi, metoda
este folosit la WLAN, Bluetooth, ghidarea rachetelor, comunicaii prin satelit etc.
Aceast invenie istoric, cunoscut de puin lume dovedete c pasiunea pentru noutate
i patriotismul nu sunt doar vorbe.
Exist n prezent o mare varietate de transmisii fr fir. Alegerea uneia sau alteia se face
n funcie de aplicaie. Dac este nevoie ca transferul de date s fie ntre dou module cu
123
ISBN Interfaare i protocoale
microcontroller la distan mic i aplicaia trebuie s fie ieftin atunci se pot folosi
protocoale proprietare implementate n module ieftine. Dac este vorba de un aparat care
transmite date direct n Internet i este situat mai departe de ora atunci se poate folosi o
transmisie GPRS. Dac receptorul de date este un PDA sau un telefon mobil i distana
de transmisie este mic atunci o transmisie Bluetooth este cea mai potrivit. Necesitatea
integrrii ntr-o reea de msur existent poate obliga proiectantul s aleag metoda
folosit n reea, de exemplu ZigBee. O transmisie cu debit mare de informaie poate
determina alegerea unei transmisii WLAN, costurile fiind ns mai mari ca la variantele
anterioare. n consecin, principalele criterii de alegere a metodei de transmisie sunt:
Distana de transmisie;
Debitul de informaie;
Restricii determinate de conectarea la o reea existen;
Poziia geografic;
Costurile admisibile.
Partea de programare a modulelor wireless este uurat dac se folosesc comenzi AT.
Comenzile AT sunt iruri de date care ncep cu prefixul AT i pot fi trimise modulului cu
un program cum este de exemplu Hyper-Terminal din Windows dac modulul este
conectat la un PC prin interfaa RS232 sau direct de la microcontroller. Conectarea la un
PC este util n faza iniial de punere la punct a prii software. Dup ce programul a
fost pus la punct se programeaz microcontrollerul care comunic cu modulul GPRS tot
prin interfaa serial RS232, cu aceleai comenzi AT.
124
ISBN Interfaare i protocoale
Schemele simple a receptorului din figura 10.2 i a transmitorului n figura 10.3 arat
simplitatea interconectrii cu un microcontroller din familia ATmega.
125
ISBN Interfaare i protocoale
Poate cea mai simpl soluie este folosirea perechii de circuite hibride TLP434A/
RLP434, figura 10.4:
126
ISBN Interfaare i protocoale
Figura 10.6. Modulul GPRS GM862 (stnga) i EZ10 (dreapta) (sursa www.telit.com)
127
ISBN Interfaare i protocoale
128
ISBN Interfaare i protocoale
10.4. Bluetooth
Prin Bluetooth se realizeaz transferuri de date pe distane scurte ntre un calculator i
diverse echipamente periferice, de exemplu cti, telefoane mobile, playere, imprimante,
129
ISBN Interfaare i protocoale
camere video, GPS etc. Numele provine de la numele unui rege danez, Blatand din
secolul 10 care a unit triburile scandinave. Modulaia datelor este asemntoare cu cea de
la WLAN, adic mprirea spectrului alocat n mai multe canale i o modulaie GFSK
(Gaussian Frequency-Shift Keying) a datelor pe fiecare canal. n modul de transmisie de
date salturile de frecven sunt 1600/s, iar n modul de descoperire poate fi de 3200/s
pentru a micora timpul de conectare. Spectrul alocat este situat n banda de 2,4GHz,
ntre 2,402GHz i 2,480GHz. Distana de transmisie este de uzual de 1m, viteza fiind de
1Mbps, dar exist unele dispozitive cu putere mai mare de emisie care asigur distane
pn la 100m. Conectarea unui dispozitiv Bluetooth la un calculator gazd se realizeaz
printr-un software de descoperire.
Exist dou variante de implementare a unui sistem nglobat cu transmisie Bluetooth,
prin utilizarea unei interfee Bluetooth conectate la un microcontroller existent sau
utilizarea unui microcontroller cu Bluetooth integrat. Momentan prima soluie este
preferat asigurnd o vitez de implementare mai mare i costuri mai mici.
Interfaa Bluetooth de la Rayson BTM222. figura 10.7. conine un nucleu BlueCore4 cu
interfee de conectare SPI, UART, USB i o interfa PCM (Pulse Code Modulation)
pentru conectarea unui modul audio. De la nucleu datele sunt emise printr-un
amplificator de putere prin anten, iar datele recepionate sunt amplificate cu un LNA.
Alimentarea de putere i cea a nucleului sunt diferite.
Vcc
LNA
BlueCore4 SPI
UART
USB
PCM
PIO
AMP
FLASH
PVcc
Figura 10.7. Interfaa Bluetooth, aspect (stnga) i schema bloc (dreapta) (sursa
http://www.tme.eu/ro/details/btm-222/module-bluetooth/rayson/)
130
ISBN Interfaare i protocoale
Modulul poate fi programat cu comenzi AT. Lista complet a comenzilor AT este dat n
foile de catalog.Cteva comenzi AT sunt:
AT verificare
AT+ENQ afieaz toate setrile, cele de Bluetooth i de RS232
AT+ACON valideaz conectarea automat
AT+CONN =xxxxxxxxxxxx stabilete o conexiune cu dispozitivul a crui
adres este xxxxxxxxxxxx
AT+FIND caut un dispozitiv Bluetooth timp de un minut
AT+NAME stabilete un nume pentru un dispozitiv Bluetooth
AT+PIN trimite codul PIN
AT+RESET iniializeaz dispozitivul
AT+BAUD stabilete viteza de comunicaie prin RS232
Un microcontroller complex Bluetooth este Atmel AT76C551 bazat pe un nucleu ARM7.
Microcontrollerul prototip este echipat cu interfee USB, UART i PCMCIA i se
folosete la punerea la punct a aplicaiilor. Pentru producia n serie se fabric
microcontrollere cu una dintre interfee. Microcontrollerul poate fi folosit la realizarea
adaptoarelor USB Bluetooth pentru calculatoare desktop, adaptoare PCMCIA pentru
notebook-uri, adaptoare USB pentru imprimante, adaptoare pentru camere digitale,
telefoane mobile, PDA etc.
131
ISBN Interfaare i protocoale
10.5. Zigbee
Transmisia ZigBee este o transmisie wireless mai ieftin dect Bluetooth, asigur un
consum mai redus de energie i dimensiuni mici dar asigur i un debit mai mic de date.
Numele se pare c provine de la zborul n zig zag al albinelor care i transmit date
referitoare la poziia sursei de hran. Acest tip de transmisie se preteaz la aplicaii de tip
reea de senzori (reele mesh). Prima apariie a ZigBee a fost n 1998, ca urmare a nevoii
de o interfa mai ieftin dect Bluetooth pentru aplicaii cu muli senzori n care reeaua
se autoconfigureaz la intrarea sau ieirea unor senzori din activitate. Ca aplicaii se pot
meniona sisteme de senzori n domeniul casnic (incendiu, fum etc.), industrial, medical
pentru urmrirea datelor provenite de la un pacient, n telecomunicaii etc. Banda alocat
este 2,4GHz, dar i alte 2 benzi folosite n diferite ri. Modulaia este n cuadratur,
QPSK i asigur 250kbps la o distan uzual pn la 70m. Intervalul de band folosit este
ntre 2,405GHz i 2,480GHz, mprit n canale de 5MHz. Modulele ZigBee pot lucra n
modul punct la punct sau punct la multipunct i o reea de astfel de dispozitive necesit
un dispozitiv cu funcia de coordonator. Reeaua mesh permite conexiuni radio de date
ntre dispozitive mai ndeprtate dect raza de aciune radio prin interpunerea unor noduri
ZigBee intermediare iar defectarea unui nod poate fi transparent prin preluarea sarcinilor
de alt nod. Zigbee a fost standardizat de IEEE cu numele IEEE 802.15.4.
XBee asigur o rat de transfer de 250kbps la distane de maximum 100m n spaii
nchise i 1,6km n spaii fr obstacole, iar datele sunt furnizate printr-o interfa serial
care admite i comenzi AT, viteze posibile fiind ntre 1200bps i 1Mbps. Comunicarea
radio poate fi criptat (AES) iar corectitudinea transmisiei este asigurat de un mecanism
de confirmare (ACK) i rencercare. Puterea de emisie este de maximum 50mW (17dBm)
la 2,4GHz. Pentru legtura cu senzorii modulul are 10 pini de I/O i un canal de conversie
A/D pe 10 bii. Tensiunea de alimentare poate fi ntre 2,1V i 3,3V, curentul maxim (n
cazul transmisiei) fiind de 295mA. Exist i variante de module cu consum mic i raz de
transmisie mai mic.
Aceste module pot realiza o reea mesh i astfel se pot implementa reele cu proprieti de
descoperire a noilor dispozitive, eliminarea dispozitivelor defecte etc. Astfel modelul
XBee-PRO asigur doar o comunicaie punct la punct iar XBee Znet poate fi
interconectat ntr-o reea mesh.
Modulele XBee realizeaz o interfa ZigBee conform standardului IEEE 802.15.4,
lucreaz la frecvena de 2,4GHz i sunt destinate pentru funcia de senzor n reele
wireless, avnd ca i caracteristici pre mic, putere consumat mic (63mW) i fiabilitate
ridicat, figura 2.3.4. stnga. Distana maxim de transmisie este 30m n interior i 90m
n exterior dar exist module de putere mai mare care asigur transmisia pe distane mai
mari de pn la 1600m, la un debit al informaiei de 250kbps.
132
ISBN Interfaare i protocoale
Modulul Xbee conine un convertor AD integrat i are un set de 8 linii care pot fi
configurate ca linii digitale de I /O sau intrri pentru conversie AD. Circuitul dispune i
de un generator PWM integrat. Semnificaia pinilor este dat n figura 10.9. dreapta.
10.6. RFID
Identificare prin frecven radio (Radio-Frequency Identification sau RFID) este o
metod de identificare automat care se bazeaz pe stocarea i regsirea datelor la
distan, folosind dispozitive numite etichete RFID ( tag RFID) i transmitoare RFID.
Tehnologia necesit o cooperare a unui aparat cititor de RFID cu eticheta RFID. O
etichet RFID este un obiect mic sau foarte mic (sub 1 mm x 1 mm) care poate fi aplicat
sau ncorporat ntr-un produs, animal, sau chiar persoan, cu scopul de identificare i
133
ISBN Interfaare i protocoale
urmrire, folosind undele radio. Unele etichete pot fi citite de la muli metri deprtare,
chiar mult peste 50 m, iar eticheta se poate afla i n afara razei de vedere a cititorului.
O istorie a RFID scris de unul dintre cei care au dezvoltat aceast tehnologie este dat n
lucrarea J. Landt, The history of RFID, online la: http://www.transcore.com/pdf/).
Stockman a scris n 1948 prima lucrare care prevede posibilitatea RFID Communication
by Means of Reflected Power. n 1960 R. F. Harrington studiaz teoretic RFID dar primul
patent a fost acordat lui H.W. Cardullo n 1973 pentru o etichet RFID cu memorie
(http://www.rfidjournal.com/article/view/1338/1/129) . n 1970 guvernul SUA a nceput
cercetrile la Los Alamos pentru un sistem de urmrire a materialelor nucleare, avndu-l
ca membru pe J. Landt. Preluarea ideii de RFID n comerul retail a constat n eticheta de
un bit- articol pltit sau nu, n 1960. Dup Los Alamos cercettorii au fondat propria
companie pentru dezvoltarea de aplicaii comerciale. Primele etichete au fost realizate cu
funcionare la 125kHz, dar frecvena a crescut ulterior pentru a extinde raza de aciune. n
1999 a fost fondat la MIT Auto-ID Center de cteva companii importante pentru a realiza
tag-uri ieftine care se pot ataa pe orice produs. La Auto-ID Center s-au alipit peste 100
de companii pn n 2003 i au dezvoltat EPC (Electronic Product Code) i o arhitectur
de reea cu acces Internet pentru gestionarea datelor.
Cele mai multe etichete (tag-uri) RFID conin cel puin dou pri, figura 10.10:
un circuit integrat pentru stocarea i prelucrarea de informaii, modulare i
demodulare a unui semnal de radio-frecven (RF), i alte funcii speciale
(transponder RFID);
o anten pentru recepionarea i transmiterea de semnale radio.
134
ISBN Interfaare i protocoale
Date
135
ISBN Interfaare i protocoale
frecvena de 125kHz, poate fi alimentat ntre 4,1V i 5,5V, asigur un debit de 4kbps la
maximum 20cm. Legtura cu un calculator gazd sau microcontroller se face prin RS232
la viteza de 9600Bd. Conectarea este simpl, ca n figura 10.12:
Antena 1 Rx RS232
Antena 2 Tx
GND GND CALCULATOR
5V port 2 SAU MC GAZD
port 1
Formatul comenzii ctre etichet i al rspunsului primit sunt date n Tabelul 1 respectiv
Tabelul 2:
Tabelul 1
Adresa Lungime Comand Parametri CRC
modulului cadru (1..n)
1 octet 1 octet 1 octet n octei 2 octei
Tabelul 2
Adresa Lungime Rspuns Parametri Confirmare CRC
modulului cadru (1..n) operaie
1 octet 1 octet 1 octet n octei 1 octet 2 octei
Fiecare etichet (de tip HITAG1) are o adres proprie. Dac adresa pus de cititor este
00H nu va rspunde nici un modul, dac este FFH vor rspunde toate modulele aflate n
raza de aciune. Parametri exist sau nu n funcie de tipul comenzii. Confirmarea
operaiei specific n rspuns corectitudinea execuiei.
Eticheta este vzut de cititor ca o memorie organizat n 16 blocuri, fiecare bloc are 4
pagini, fiecare pagin are 4 octei, deci un total de 256 octei n 64 de pagini. Blocurile 0
i 1 sunt rezervate pentru configurare. Unele blocuri sunt publice, iar altele sunt protejate
la citire.
Pentru exemplificare se descriu cteva comenzi i rspunsuri care pot fi trimise de
calculatorul gazd spre HIM-005 prin interfaa serial n formatul din Tabelul 1 respectiv
Tabelul 2:
Scriere n etichet- codul instruciunii este A0H, parametri sunt 4 octei de scris i
adresa paginii (sunt 64 de pagini, adresa este ntre 00H i 3FH). Codul
136
ISBN Interfaare i protocoale
Sistem gazd cu
microcontreoller i
interfa RS232
137
ISBN Interfaare i protocoale
10.7.Concluzii
1. Concepia, proiectare i realizarea practic a unei comunicaii wireless este mai simpl
dect pare, aceasta datorit circuitelor de interfaare specializate. Utilizarea circuitelor
specializate micoreaz timpul de realizare a unei aplicaii Time to market.
2. Concepia unui sistem electronic de comunicaii ncepe cu un studiu pe net n ceea ce
privete existena circuitelor specializate (pe paginile constructorilor de circuite-
ATMEL, TI, Microchip etc.) apoi disponibilitatea comercial (pe paginile furnizorilor din
Romnia- Vitacom, ECAS, Adelaida, Farnell etc.);
3. Interfaarea unui circuit specializat cu un microcontroller se reduce de cele mai multe
ori la conectarea printr-o interfa standard serial sau paralel, de aceea este important
studierea detaliat a acestor interfee.
Un tabel comparativ al standardelor parcurse n acest capitol cu avantaje i dezavantaje
este dat n tabelul urmtor:
ZigBee GPRS 802.11 Bluetooth Protocoale
proprietare
Aplicaii Monitorizare Reele Internet Conectivitate Conectivitate
i control internaionale de ntre ntre
date i voce dispozitive dispozitive
Durata Ani Sptmni Sptmni Sptmni Luni
bateriei
Viteza 250kps 2Mbps 54Mbps 720kbps 115kbps
(300Mbps
la n)
Raza 100m km 100m 100m 200m
Avantaje Putere i Raz mare de Viteza Comoditate Pre i consum
cost mic aciune mic, simplitate
Reea Posibil Acces Internet Posibil Posibil Greu de
implememtat
Prin analiza acestui tabel se pot deduce variantele optime de transmisie radio pentru
fiecare aplicaie. Dup alegerea principiului de transmisie se trece la alegerea variantei
constructive. n acest capitol sunt prezentate de regul cte trei variante constructive.
Prima, cea mai simpl, care optimizeaz timpul de realizare a unei aplicaii este folosirea
unui modul specializat. A doua, un compromis ntre timpul necesar dezvoltrii i costului
este folosirea unui circuit de interfa conectat la microcontrollerul aplicaiei. A treia,
care asigur costul cel mai redus al aplicaiei este utilizarea unui microcontroller care
conine integrat interfaa de comunicaii aleas. Totui, n aceast variant mai trebuie
adugat de regul un circuit transceiver (partea de RF).
138
ISBN Interfaare i protocoale
139
ISBN Interfaare i protocoale
Fiecare dispozitiv IEEE 1394 are un identificator propriu unic, (IEEE EUI-64)
care este o adres asemntoare cu adresa MAC de 48 de bii.
n decursul timpului au fost realizate mai multe variante constructive:
1.FireWire 400 (IEEE 1394/1995). Versiunea original poate transfera date cu viteze de
100, 200 sau 400 Mbps (S100, S200, S400) n mod half duplex. Modul de codificare al
datelor este data strobe D/S;
2.FireWire 800 (IEEE 1394b/2002). Versiunea a doua asigur o vitez de 800Mbps n
mod full duplex. Conectica este diferit fa de varianta anterioar. Modul de codificare
al datelor este 8B10B.
3.FireWire S800T (IEEE 1394c/2006). Versiunea a treia utilizeaz cablu Ethernet
categoria 5e. Nu exist nc implementri n sisteme disponibile pe pia datorit
confuziei posibile la o plac de baz echipat cu 2 conectori RJ45, unul cu interfa
Ethernet i unul IEEE 1394.
4.FireWire S1600 i S3200Se lucreaz la versiunile de 1.6Gbps i 3.2Gbps, care vor fi
concureni pentru USB 3.0. Conectorii sunt cei de la versiunea FireWire 800.
Se poate implementa o reea de calculatoare prin legturi IEEE 1394 n mod IPv4 sau
IPv6. Sistemele de operare care include suport pentru acest tip de reea sunt MAC OS X,
Windows ME, 2000, XP i Server 2003. Windows Vista i Server 2008 nu mai conin
acest suport.
n figura 11.1 este dat un tabel cu conexiunile la conectorii IEEE 1394 cu 4, 6 i 9 pini i
structura unui cablu IEEE 1394.
4 6 9 Funcie Descriere
pini pini pini Perechea A,
torsadat
1 8 Vcc 30V nestabilizat
2 6 Mas Mas pentru tensiune
1 3 1 TPB- semnal diferenial B Perechea B,
2 4 2 TPB+ semnal diferenial B torsadat
3 5 3 TPA- semnal diferenial A
4 6 4 TPA+ semnal diferenial A
Alimentare Ecran
5 ecran A
9 ecran B
Codificarea datelor D/S este o codificare NRZ cu transmiterea tactului i necesit 2 linii
de semnal, una de date i una de strob. Un SAU Exclusiv ntre cele 2 semnale reconstituie
140
ISBN Interfaare i protocoale
tactul, figura 11.2. Petru transmisia datelor este nevoie de ambele perechi FireWire, deci
este posibil doar un transfer half duplex. Codificarea este aplicat la FireWire 400.
Data
Strob
Data
XOR
Strob
Topologia unei arhitecturi IEEE 1394 este de tip stea multipl (arbore) cu posibilitatea de
nlnuire (daisy-chain). n figura 11.3 sunt prezentate dou spaii de lucru unite cu un
bridge. Cele 2 spaii sunt izolate din punctul de vedere al traficului de date. Spaiul 1 de
lucru ocup mare parte a benzii din cauza traficului video, dar n spaiul de lucru 2
calculatorul are ntregul control al traficului. Este posibil ca i calculatorul 2 s solicite
date video, chiar dac calculatorul 1 este oprit. Este figurat un repetor care mrete
distana de conectare i un splitter care adaug 2 porturi unui port IEEE 1394.
Spaiul 1
Imprimant
Splitter Bridge
Repetor
Calculator 1 Spaiul 2
Calculator 2
Camer digital
Imprimant
142
ISBN Interfaare i protocoale
125s
Figura 11.4. Transferuri izocrone pentru a asigura un flux de date n timp real
143
ISBN Interfaare i protocoale
144
ISBN Interfaare i protocoale
SedNet
1 Motorola
Controller de Link MCore
nivel fizic Controller MMC2107
Izolare
2 TSB41 TSB12
PHY
galvanic
LLC
3
Date 256k RAM
direct static
3 porturi
IEEE 1394
Conectori I/O
145
ISBN Interfaare i protocoale
standard, bazat pe portul serial RS232 a fost aprobat n 1994. Acest standard folosete
specificaiile portului serial, aceeai structur de date dar din pcate i limitele vitezei. n
1995 a fost aprobat un nou standard de mare vitez care mpinge limita de vitez la
1Mbps.
n cadrul comunicaiilor necablate (wireless), standardul IrDA face parte din categoria
transmisiei infrarou directe, o comunicaie punct la punct. ntre echipamente trebuie s
existe vizibilitate direct. n afara acestui tip de comunicaie mai exist comunicaia
infrarou difuz, o comunicaie ce permite legturi multiple i care nu necesit vizibilitate
direct ntre echipamente, dar care necesit materiale speciale de construcie a cldirilor.
Avantajele comunicaiei infrarou sunt evidente: uurarea portabilitii aparatelor,
eliminarea cuplajelor cablate (nu se mai ntrerup firele i nu se mai ntmpl ca un
conector s nu fac contact), eliminarea perturbaiilor electromagnetice radiate, deci
implicit eliminarea interferenelor electromagnetice. Aceste avantaje sunt majore n
zonele de lucru cu regim special, cum ar fi centralele nucleare, laboratoarele de cercetare
i msurri de precizie, acceleratoarele de particule etc. Aceste avantaje au dus la
rspndirea echipamentelor cu interfa IrDA. Exist Notebook-uri care au o astfel de
interfa, imprimante pentru Notebook-uri, dar i mouse i tastaturi infrarou pentru
calculatoarele desktop uzuale, sau unele telefoane mobile. Faptul c perifericele n
infrarou se fabric n multe exemplare a dus firesc i la scderea preurilor, care le face
accesibile.
Codificarea datelor
La viteze ntre 2.4 kbps i 1.152 Mbps datele se codific RZI (Return to Zero Invert).
Prin aceast codificare unui 0 logic i corespunde un impuls, iar la un 1 logic nu apare
nici un impuls, figura 11.8, sus. Impulsul are o durat fix, mai mic dect durata celulei
bit.
9,77 s
146
ISBN Interfaare i protocoale
Un impuls dureaz 3/16 din lungimea unei celule bit. Un impuls cu 10% mai lung este
acceptabil. De exemplu, celula bit la viteza de 9600 bps dureaz 104.2s , deci durata
impulsului este 18.53 s. La viteze mai mari durata impulsului este 1/4 din durata celulei
bit. Durata impulsului n celula bit este astfel aleas ca receptorul optic s poat distinge
impulsurile.
La viteza de 4 Mbps codificarea se face prin modularea impulsurilor n poziie. IrDA
implic 4 poziii pentru impuls, de aceea codificarea se numete 4PPM (4 Pulse Position
Modulation). Aceast codificare folosete poziia unui impuls n celula bit pentru a indica
o valoare logic. Lungimea celulei bit se numete durata unui simbol (symbol duration)
i este mprit n 4 segmente egale numite chips. Un impuls poate apare n unul i
numai n unul din aceste segmente. Fiecare impuls n una din 4 poziii poate codifica 2
valori binare. Pentru transmisia unui octet sunt suficiente 4 celule bit. Datele sunt
transmise n format pe 8 bii de date, un bit de start, un bit de stop, fr bit de paritate. Se
transmit astfel 10 bii/caracter. Cel mai puin semnificativ bit se transmite primul. Durata
impulsului este de 125ns pentru un impuls singular. Pentru mrirea siguranei transferului
se pot folosi impulsuri duble, a cror durat total este de 250ns.Codificarea 4PPM este
autosincronizabil, deoarece n fiecare celul bit exist un impuls. Codificarea RZI ns
nu este autosincronizabil, deoarece poate apare un ir lung de valori logice 1 care
nseamn lipsa impulsurilor transmise o perioad lung de timp, perioad n care
receptorul poate pierde sincronizarea.
Sistemele IrDA de viteze mici lucreaz n mod asincron i la aceste sisteme transmisia se
face cu tact standard (cu acest cod neautosincronizabil), pentru c nu pot apare erori prea
mari la transmisia a doar 10 bii. La viteze medii ns, n cazul transmisiei sincrone, este
nevoie de autosincronizare.
Exist multe firme care produc cicuite pentru transferul de date IrDA, aa cum sunt:
Texas Instruments, MAXIM, Sharp, Novalog, Agilent Technologies, California Eastern
Laboratories, EXAR, Linear Technology etc. Ca variante constructive se poate opta
pentru un transceiver IrDA care s se conecteze la un circuit UART existent, se poate
alege un circuit UART cu port IrDA sau se poate realiza o interfa IrDA cu
microcontroller.
Circuite IrDA
Un transceiver TI de tip TIR1000 poate lucra att IrDA ct i n standardul de transfer
infrarou al Hewlett Packard HPSIR. Viteza poate fi ntre 1200 i 115200 bps, iar
tensiunea de alimentare ntre 2,7 i 5V. Este disponibil n capsul PSOP (Plastic Small
147
ISBN Interfaare i protocoale
RESET Decodor
IR_RXD
U_RXD
16xCLK Codor
U_TXD IR_TXD
1. 16xCLK este un semnal de ceas care trebuie s fie de 16 ori mai mare dect rata
de transmisie. Tactul maxim este de 16x115200=1.843MHz.
2. IR_RXD intrarea pentru date recepionate IrDA, cu factorul de umplere de 3/16,
de la un dispozitiv optoelectronic.
3. IR_TXD ieire pentru datele emise IrDA ctre o diod n infrarou.
4. RESET iniializare circuit, legat la linia de RESET a circuitului UART.
5. U_RXD date decodate, spre intrarea de date a UART.
6. U_TXD date de transmis de la ieirea de date a UART.
Un modul care conine un emitor i un receptor IR (ZHX1010) este prezentat n figura
11.10 stnga iar n mijloc este schema de conectare care arat simplitatea soluiei. Pentru
conectarea la un PC se poate folosi un adaptor USB IrDA (dreapta).
148
ISBN Interfaare i protocoale
11.3.Interfaa SATA
Interfaa serial SATA este cea mai rspndit interfa n prezent pentru cuplarea hard
discurilor. Interfaa este format din 2 perechi de fire cu transmisie LVDS (Low Voltage
Differential Signaling, 250mV), o pereche pentru date emise, una pentru date
recepionate, transmisia fiind diferenial. Datele sunt codificate 8B/10B ca i Ethernet
Gigabit, PCIe sau Fibre Channel. Legtura SATA este o legtur punct la punct, fiecare
drive este conectat printr-un cablu serial la placa de baz. SATA a nlocuit interfaa
paralel ATA (numit i PATA) (Advanced Technology Attachment).
Prima generaie SATA (SATA 150) comunic cu viteza de 1,5Gbps, ceea ce nseamn
circa 1,2Gbps informaie util, adic 150Moctei/s, ceva mai mult dect ATA133. SATA
300 (SATA 2) asigur o vitez de 3Gbps i are compatibilitate n jos la SATA 150 n
urma unei negocieri la iniializare. Acest protocol nu este implementat n toate
dispozitivele gazd, aa nct pe unele hard discuri exist un jumper pentru selecia
SATA 150 sau SATA 300.
Avantajele SATA sunt:
Viteza de transfer ridicat
Posibilitatea implementrii Hot Plug In
Posibilitatea unor porturi externe SATA (eSATA)
Cablul de date este mai mic deci mai ieftin i asigur o circulaie mai bun a
aerului n carcas.
149
ISBN Interfaare i protocoale
150
ISBN Interfaare i protocoale
151
ISBN Interfaare i protocoale
152
ISBN Interfaare i protocoale
153
ISBN Interfaare i protocoale
12.1.Introducere
Codarea datelor n vederea stocrii lor pe suporturi magnetice i optice are multe puncte
comune cu transmisia serial. Acest lucru se datoreaz faptului c datele memorate pe
suport magnetic sau optic sunt aranjate bit dup bit pe o pist a platanului hard discului
sau pe pista spiral a unui DVD. Scopul urmrit n dezvoltarea acestor suporturi de
informaie este mrirea capacitii de stocare, dat de micorarea zonei pe suport ocupat
de un bit. Acest scop a generat cercetri i mbuntiri continue n creterea eficienei
codrii. Tendina este clar la unitile de hard disc (HDD) care, datorit faptului c au
aprut naintea unitilor optice au trecut prin toate fazele de dezvoltare a codrii. La
primele hard discuri cele mai simple metode de codare asigurau 20Moctei la o unitate de
5 inch, n timp ce acum se ating uzual capaciti de 1T la uniti de 2,5 inch.
nainte de apariia hard discurilor primele nregistrri magnetice pe band au fost
realizate prin nregistrarea a dou piste alturate, una cu date i alta cu tact. Acest mod de
nregistrare este echivalent cu transmisia serial cu transmiterea tactului. Ulterior, toate
codrile au urmrit s asigura refacerea tactului din datele transmise, deci au fost folosite
exclusiv codri autosincronizabile.
Figura 12.1. Hard disc Seagate de 5,25 de 20M (sursa: colecia personal P. Ogruan)
154
ISBN Interfaare i protocoale
Componentele importante din structura unui hard disc sunt reprezentate n figura 12.2.
Discuri de
Motor liniar aluminiu acoperite
electrodinamic cu Braul port cu o pelicul
magnei permaneni n capete feromagnetic
stator i bobin parcurs
de curent ca rotor (voice Filtru pentru curirea
coil) aerului antrenat de discuri
Carcas antivibraii
Cteva dintre caracteristicile cele mai importante ale unitilor de hard disc sunt:
1. Timpul de acces este timpul care trece de la o comand de acces a sistemului
electronic pn datele solicitate sunt accesibile. Timpul de acces apare ca urmare
a naturii mecanice a braului care poart capetele i a sistemului de rotaie a
discurilor.
2. Timpul de poziionare este timpul necesar poziionrii capetelor pe cilindrul
dorit. La primele hard discuri la care poziionarea se fcea cu motoare pas cu pas
timpul era de ordinul 500ms. Timpul mediu de poziionare la acionrile actuale
cu motor de curent continuu electrodinamic este de 3-20ms.
3. Timpul (viteza) de transfer poate fi dat pentru viteza datelor seriale preluate de
pe disc odat ce capetele au fost poziionate i evident depinde de viteza de
rotaie. La un HDD de 7200rpm viteza tipic este 1Gbps. Viteza de transfer poate
fi dat i pentru transferul datelor din buffer-ul HDD n calculatorul gazd,
155
ISBN Interfaare i protocoale
Cap magnetic
u
Semnale la citire
n i
g
x
Hx
h
156
ISBN Interfaare i protocoale
Codarea datelor pentru nregistrarea zonelor magnetizate s-a dezvoltat n timp i a avut
urmtoarea evoluie:
1.Codare FM (Modulaie n Frecven), fiecare bit este precedat de un impuls de tact. n
exemplul din figura 12.4. (stnga) se obine un numr de 3 tranziii pentru 2 bii, deci
0,66 bii pe tranziie.
2.Codare MFM (Modified FM). Impulsurile de tact se elimin dac n celula precedent
sau n cea curent exist un bit de date 1. n exemplul din figura 12.4. (dreapta) sunt 4
bii i 3 tranziii, deci 1,33 bii pe tranziie.
1 1 0 0
0 1
t
t
Figura 12.4. Codare FM (stnga) i MFM (dreapta)
3.Codarea RLL (Run-length limited). Codarea iniial RLL realizat de IBM este o
codare de grup care admite maxim dou valori de zero consecutive conform tabelului
alturat. Se codific astfel 4 bii cu 5 bii, aproximativ 3,5 tranziii n fiecare grup de 5
bii, deci 1,43 bii pe tranziie, figura 12.5. stnga.
4.Codarea RLL 1,7 codeaz 2 bii n grupe de 3 bii. Anumite combinaii ale celor 2 bii
se codeaz innd cont de combinaia anterioar, conform tabelului din figura 12.5.
(mijloc). 2 bii se codific n medie cu 1,5 tranziii deci 0,75 tranziii pe bit. n exemplul
din figura 12.5 (dreapta) sunt 7 tranziii i 14 bii, ceea ce nseamn 2 bii pe tranziie.
Date: 0 0 1 0 1 1 0 1 0 0 0 1 1 0
Figura 12.5. Tabele de codare RLL (stnga), RLL 1,7 (mijloc) i un exemplu de codare
157
ISBN Interfaare i protocoale
Datele sunt aranjate n cilindri, fee (capete de citire) i sectoare, aranjarea fiind numit
CHS (Cylinder-Head-Sector), figura 12.6. Cilindrul este ansamblul pistelor cu acelai
numr de pe toate feele discurilor. Structura unui sector depinde de tipul i fabricantul
hard discului.
Figura 12.6. Aranjarea datelor pe hard disc n cilindri, fee i sectoare (CHS, Cylinder-
Head-Sector)
n fiecare sector datele sunt aranjate sub form de cadre de date, ceea ce plaseaz
codificarea datelor alturi de interfeele seriale cu informaia de sincronizare ataat unui
cadru (USB, Ethernet, SATA, etc.).
Cadrul de date, figura 12.7. conine un cmp de identificare sector i un cmp de date,
separate de un interval.
Subcmp sincro Marc identificare Date 256, 512, 1024 octei CRC
Subcmpul de sincronizare este necesar pentru ca bucla PLL de refacere a tactului din
datele citite la receptor s se poat sincroniza. Marca de identificare are o structur
special care nu respect regula de codare, de exemplu are o succesiune de nivele de zero
158
ISBN Interfaare i protocoale
sau de unu mai lung dect cea maxim admis de codarea de grup. Informaia util este
format din numrul cilindrului, al capului i a sectorului curent, precum i marcri
speciale cum ar fi Bad Block. Un sector marcat cu Bad Block de o aciune de formatare
nu este citit sau scris.
159
ISBN Interfaare i protocoale
Strat protector i
etichet comercial
1,2mm Strat reflectorizant
(policarbonat)
Substrat transparent
Raza laser
Incident / Incident /
Reflectat Reflectat 30%
100%
Motor platan
Motor antrenare CD
160
ISBN Interfaare i protocoale
Codificarea datelor pe suporturile optice este realizat prin EFM la CD i EFM PLUS la
DVD. Codarea EFM (Eight-to-fourteen modulation) se afirm c a fost inventat de
Kees A. Schouhamer Immink (sursa http://en.wikipedia.org/wiki/Eight-to-
fourteen_modulation ). Acest inventator i om de tiin danez a avut contribuii
nsemnate la dezvoltarea tehnologiei optice.
Regula de codare EFM este ca ntre dou valori de unu logic s existe intercalate
minimum dou i maximum 10 valori de zero logic, codate NRZI (Non Return to Zero
Inverted). La un cod de 14 bii la care exist 214 = 16384 combinaii, 267 dintre acestea
ndeplinesc condiia EFM, deci acoperitor pentru a putea codifica cele 256 de combinaii
ale cuvintelor pe 8 bii. Astfel prin codarea EFM fiecrui cuvnt de 8 bii i corespunde
un cod de 14 bii. Corespondena cuvintelor de 8 bii cu cele de 14 bii este realizat
practic prin tabele de conversie hardware, lista corespondenelor ntre cuvintele de 8 bii
i codurile EFM corespunztoare fiind dat de exemplu n
http://www.laesieworks.com/digicom/Storage_CD_8to14.html .
Codificarea unui cuvnt de 8 bii i nscrierea lui pe un suport optic poate fi exemplificat
n figura 12.10.
Cod EFM 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0
NRZI
t
-1 +7 -6 -1 +2
Bii de legtur
161
ISBN Interfaare i protocoale
Pentru ca semnalul codat s conin o component continu ct mai mic, dup cuvntul
codat EFM se adaug 3 bii, numii bii de legtur (merging bits). Se calculeaz pentru
fiecare cuvnt codat EFM suma digital (DSV Digital Sum Value) prin adugarea unui
+1 pentru fiecare celul bit n care semnalul este n 1 logic i 1 pentru fiecare celul bit
n care semnalul este zero. Se adaug grupul de 3 bii astfel nct DSV s fie ct mai
aproape de zero. Dac suma digital este aproape de zero nseamn c semnalul st
intervale de timp aproape egale n zero logic i unu logic. Semnalul astfel codat se nscrie
pe suportul optic sub forma unor ridicturi i adncituri ca n imaginea de jos din figura
12.10.
Se poate vedea c aceast codificare este autosincronizabil i intr n categoria
codificrilor de grup. Eficiena codificrii este mare, n acest exemplu au fost codificai 8
bii cu 3 tranziii, adic 2,66 bii pe tranziie.
Codificarea EFM PLUS utilizat la DVD are aceleai reguli de codificare dar lipsesc biii
de legtur. Codul EFM PLUS este generat de un automat finit.
12.4. Concluzii
Din acest capitol se poate vedea c la transmisiile seriale i la stocarea pe suporturi
magnetice i optice codrile sunt asemntoare, ceea ce dovedete o frumoas unitate a
teoriei aplicate. Imagini sugestive ale zonelor nregistrate sunt date n figura 12.11. la un
hard disc i n figura 12.12. la un CD.
162
ISBN Interfaare i protocoale
Figura 12.12. Imagine a datelor scrise pe un CD cu polimeri care reflect lumina, imagine
mrit de 10000 de ori, sursa: http://www.polymersolutions.com/psi-newsletter-
archive/november-psi
Un alt exemplu de viziune unitar aplicat la diversele metode de stocare apare n tabelul
din figura 12.11.:
163
ISBN Interfaare i protocoale
Bibliografie
Capitolul 1
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. C. Gerigan, P. Ogruan, Tehnici de interfaare, Ed. Transilvania Braov, 2000, 315p.,
ISBN 973-9474-94-2, pag. 2-11, online la: http://vega.unitbv.ro/~ogrutan/ti/cap1.pdf
3. http://en.wikipedia.org/wiki/Interface_%28computing%29
4. http://en.wikipedia.org/wiki/Communications_protocol
5. https://en.wikipedia.org/wiki/Peripheral
6. http://en.wikipedia.org/wiki/Hydraulic_telegraph
Capitolul 2
7. P. Ogrutan, Interfee i echipamente periferice, Editura Universitatii Transilvania
Brasov, 1994, pag. 7-12
8. A hardware interrupt tutorial, http://www.best-microcontroller-
projects.com/index.html
9. Using Direct Memory Access (DMA) in STM32 projects,
http://www.embedds.com/using-direct-memory-access-dma-in-stm23-projects/
10. P. Borza, C. Gerigan, P. Ogrutan, Gh.Toacse, Microcontrollere. Aplicatii, Editura
Tehnica, Bucuresti 2000, http://vega.unitbv.ro/~ogrutan/Microcontrollere/curs.pdf
Capitolul 3
11. M. Romanca, P. Ogrutan, Sisteme cu calculator incorporat. Aplicatii cu
microcontrollere, Editura Universitatii Transilvania Brasov, 2011, pag. 5-18 online
la: http://vega.unitbv.ro/~ogrutan/Microcontrollere2011/2-magistrale.pdf
12. P. Ogruan, C. Gerigan, N. Banciu Memorii, interfee i periferice. Interfee
specializate, Ed. Transilvania Braov, 2003, 190 pagini, ISBN 973-635-118-1, pag. 1-
30, online la: http://vega.unitbv.ro/~ogrutan/ii/chipset.pdf
13. C. Gerigan, P. Ogrutan, Tehnici de interfatare, Editura Transilvania, Brasov 2000,
pag 24-45, online: http://vega.unitbv.ro/~ogrutan/ti/cap3.pdf
14. R. Budruk, D. Anderson, T. Shanley, PCI Express System Architecture, Addison-
Wesley, 2003, online:
http://www.mindshare.com/files/ebooks/pci%20express%20system%20architecture.p
df
Capitolul 4
15. P. Ogrutan, C. Gerigan, Memorii, interfete si periferice, Indrumar de laborator,
Reprografia Universitatii 1998, online la:
http://vega.unitbv.ro/~ogrutan/lab/LAB31.pdf, pag 5-8
16. Intel 8255, online la: http://en.wikipedia.org/wiki/Intel_8255
17. K. Ray, K.M. Bhurkhandi, Advanced Microprocessors And Peripherals, McGraw-
Hill, 2006
164
ISBN Interfaare i protocoale
18. http://books.google.ro/books?id=KJNpD2KimEsC&pg=PA184&lpg=PA184&dq=int
el+8255+16+bit&source=bl&ots=eLAuXGt1Xd&sig=CngNOTU-
CB_y_Je6pZIrog4RmRI&hl=ro&sa=X&ei=mVRyUvXTI5Kk4ATKtYHgDA&ved=
0CHQQ6AEwCQ#v=onepage&q=intel%208255%2016%20bit&f=false, pag 184-211
Capitolul 5
19. 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
20. Communication Systems, Line Codes, online la:
http://en.wikibooks.org/wiki/Communication_Systems/Line_Codes
21. Sebastian Andrews, Communication Networks, online la:
http://services.eng.uts.edu.au/~kumbes/ra/Transmission/Digital%20Wave%20Formatt
ing/index.htm
22. Bit stuffing, online la: http://en.wikipedia.org/wiki/Bit_stuffing
23. C. Gerigan, P. Ogruan, Tehnici de interfaare, Ed. Transilvania Braov, 2000, 315p.,
ISBN 973-9474-94-2, pag. 69-93, online la:
http://vega.unitbv.ro/~ogrutan/ti/cap5.pdf
24. RS-232 online la: http://en.wikipedia.org/wiki/RS-232
25. RS232 detalii, online la:
http://academic.evergreen.edu/projects/biophysics/technotes/electron/serial.htm
26. I8251 online la: http://www.electronics.dit.ie/staff/tscarff/8251usart/8251.htm
27. http://creativeelectron.net/blog/2009/10/pic-serial-communition-in-pic-
microcontroller-1/
Capitolul 6
28. 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/
29. Wagner Lipnharski , 8051+LCD+EPROM, online: www.ustr.net
30. P.Ogrutan, Microcontrollere si controllere grafice Fujitsu, Ed. Universitatii
Transilvania Brasov, 2006, 182 pag, ISBN 973-635-621-3
31. P. Borza, C. Gerigan, P. Ogruan, Gh. Toace, Microcontrollere. Aplicaii, Editura
Tehnic Bucureti, 2001, ISBN973-31-1577-6
Capitolul 7
32. 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/
33. C. Gerigan, P. Ogruan, Tehnici de interfaare, Ed. Transilvania Braov, 2000, 315p.,
ISBN 973-9474-94-2, pag. 154-174, online la:
http://vega.unitbv.ro/~ogrutan/ti/index.html
34. P.Ogrutan, Microcontrollere si controllere grafice Fujitsu, Ed. Universitatii
Transilvania Brasov, 2006, 182 pag, ISBN 973-635-621-3, pag. 125-134, online:
http://vega.unitbv.ro/~ogrutan/Microcontrollere%20Fujitsu/interfete3-112-136.pdf ,
165
ISBN Interfaare i protocoale
Capitolul 8
35. P. Ogruan, C. Gerigan, N. Banciu Memorii, interfee i periferice. Interfee
specializate, Ed. Transilvania Braov, 2003, 190 pagini, ISBN 973-635-118-1, pag.
31-56, online la: http://vega.unitbv.ro/~ogrutan/ii/retea.pdf
36. Ayres, J. Using the CRYSTAL CS8900A in 8 Bit Mode, AN181, online:
www.crystal.com
37. Werner C. Implementation notes for an Ethernet solution usable for embedded
systems using the RTL8019, 2002, online: cornelius@ethernet.isdn-development.de
38. http://netmedia.com/siteplayer/
Capitolul 9
39. M. Romanca, P. Ogrutan, Sisteme cu calculator incorporat. Aplicatii cu
microcontrollere, Editura Universitatii Transilvania Brasov, 2011, pag. 19-31 online
la: http://vega.unitbv.ro/~ogrutan/Microcontrollere2011/3-usb-ieee1394.pdf
40. C. Gerigan, P. Ogruan, Tehnici de interfaare, Ed. Transilvania Braov, 2000, 315p.,
ISBN 973-9474-94-2, pag. 114-130, online la:
http://vega.unitbv.ro/~ogrutan/ti/index.html
41. http://www.usb.org/home
42. http://www.ftdichips.com/
Capitolul 10
43. 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/7-aplicatii%20mobile.pdf
44. P. Ogruan, C. Gerigan, N. Banciu Memorii, interfee i periferice. Interfee
specializate, Ed. Transilvania Braov, 2003, 190 pagini, ISBN 973-635-118-1
45. C. Gerigan, P. Ogruan, "Tehnici de interfaare", Ed. Transilvania Braov, 2000,
315p., ISBN 973-9474-94-2
46. P. Ogruan, C. Gerigan, N. Banciu Memorii, interfee i periferice. Interfee
specializate, Ed. Transilvania Braov, 2003, 190 pagini, ISBN 973-635-118-1
47. C. Gerigan, P. Ogruan, "Tehnici de interfaare", Ed. Transilvania Braov, 2000,
315p., ISBN 973-9474-94-2
Capitolul 11
48. M. Romanca, P. Ogrutan, Sisteme cu calculator incorporat. Aplicatii cu
microcontrollere, Editura Universitatii Transilvania Brasov, 2011, pag. 31-42, online
la: http://vega.unitbv.ro/~ogrutan/Microcontrollere2011/
49. C. Gerigan, P. Ogruan, Tehnici de interfaare, Ed. Transilvania Braov, 2000, ISBN
973-9474-94-2, pag 137-145, online la: http://vega.unitbv.ro/~ogrutan/
50. C. Erickson, Department of Electrical and Computer Engineering, Auburn
University, Auburn, AL 36849 Chris.Erickson@auburn.edu,
Chris.Erickson@auburn.edu, www.eng.auburn.edu
166
ISBN Interfaare i protocoale
Capitolul 12
51. 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/
52. R. Freitas, L. Chiu, Solid-State Storage: Technology, Design and Applications, IBM
Almaden Research Center, 2010, online:
https://www.usenix.org/legacy/event/fast10/tutorials/T2.pdf
167
ISBN Interfaare i protocoale
Cuprins
1.Noiuni introductive
1.1. Definiii. Istorie: prima comunicaie cu protocol
1.2. Interfee paralele i seriale
1.3. Verificarea corectitudinii datelor transmise cu bit de paritate
1.4. Rolul unui buffer n transferul de date
2.Transferul de date
2.1. Clasificare
2.2.Transferul programat
2.3.Transferul prin ntreruperi
2.4.Transferul prin DMA
2.5.Programe de comand a transferului
2.6.Sistemele de ntreruperi i DMA n microcontrollere
3.Magistrale
3.1.Introducere
3.2.Magistrale ierarhizate
3.3.Diagrame de semnal la acces
3.4.Magistrale multiplexate
3.5.Magistralele PCI i PCI Express
4.Interfee paralele
4.1.Interfee paralele neprogramabile
4.2.Interfaa paralel programabil
4.3.Protocoale de transfer
4.4.Programarea circuitului de interfa paralel
4.5.Exemplu de implementare
5.Interfee seriale
5.1.Tactul n transmisiile seriale
5.2.Codarea datelor
5.3. Transmisii seriale asincrone i sincrone
5.4.Standardul RS232
5.5.Circuit de interfa programabil
5.6.Modificarea nivelului de tensiune
6. Conectarea la un calculator pe magistral i la un port paralel
6.1.Selectarea unui dispozitiv pe magistral
6.2.Exemple de conectare pe magistral la microcontrollere
6.3. Conectarea la porturi paralele
6.4. Concluzii
7.Interfee integrate n microcontrollere
7.1. Microcontrollere
7.2. Unitatea central i memoria
7.3. Timerul
7.4. Interfa de comunicaii seriale asincrone
168
ISBN Interfaare i protocoale
169