Sei sulla pagina 1di 236

Capitolul 1: Introducere n interfee paralele i interfee seriale

Un proces de comunicaii de date necesit cel puin 5 elemente, figura 1.1:


Transmitor;
Mesaj;
Interfa binar (digital);
Canal de comunicaie;
Receptor.

Canal de comunicaie
Interfa binar
(digital)

Interfa binar
(digital)

Mesaj
Transmitor

Reacie- mesaj de
confirmare pe calea de
retur

Receptor

Figura 1.1: Procesul de comunicaii de date

Pentru transmisia unui mesaj, fiecrui grup de bii trebuie s i corespund un caracter (liter,
cifr, semn special). Cel mai cunoscut este codul ASCII (American Standard Code for
Information Interchange).
Emitor
D0
D1
D2
D3
D4
D5
D6
D7

Receptor

Figura 1.2: Schema bloc general a interfeei paralele pe 8 bii

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.2.
Diagrama de timp comprimat a transferului este dat n figura 1.3.
n aceast carte vor fi prezentate transferurile paralele prin magistrala extern i prin porturile
paralele de I/O de uz general, dar i alte cteva aplicaii cum ar fi de exemplu circuitul de
conversie USB- paralel FTDI.. Magistralele i interfeele paralele sunt n scdere de pia,
fiind nlocuite de cele seriale, de aceea i ponderea lor n aceast carte este mai sczut.

D0-D7
t
Perioada de timp n
care se transmit 8
bii

Timp de
tranziie

Figura 1.3: Diagrama de timp a transferului

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.4. Pentru transmisia datelor acestea
trebuie codificate. n aceast carte se vor descrie transmisii cu codificare NRZ, Manchester,
8B10B etc. Avantajele interfeelor seriale legate de preul mai mic au dus la rspndirea
acestor interfee n majoritatea aplicaiilor.
Emitor
DATE

Receptor

Figura 1.4: Schema bloc general a interfeei seriale pe un fir


(linia de mas nu este considerat)

n perioada actual numrul, viteza i calitatea interfeelor seriale cresc, cucerind din ce n ce
mai multe segmente de pia.
Dac datele seriale vin la receptor pe un singur fir, presupunem prin codare NRZ, receptorul
le poate citi cu o anumit frecven i s obin datele de pe fond gri din figura 1.5 sau cu alt
frecven i s se obin datele din chenarul de jos. Acest lucru arat importana ca datele s
fie recepionate cu acelai tact cu care au fost trimise.

Tensiune

1 1

0 1

Figura 1.5:importana eantionrii corecte

Pentru a se asigura la receptor tactul corect de recepie exist mai multe variante, prezentate n
figura 1.6:
Emitor
Date
Tact
GND

Emitor

Receptor

Receptor
Date

Tact

GND

Tact

a
Emitor
Date

Receptor
Generare tact din
datele citite

GND

Tact

Figura 1.6: Variante de asigurare a tactului la recepie

1.Tactul de transmisie se transmite de la emitor la receptor pentru citire, figura 1.6 a. Se


asigur vitez mare, dar distanele sunt mici. Costurile unui fir suplimentar sunt mari.
Exemple care se vot ntlni n aplicaiile prezentate n aceast carte sunt interfaa SPI (Serial
Peripheral Interface), IEEE1394a (1995), JTAG.
2.Emisia i recepia se fac cu acelai tact, standard, cunoscut i de emitor i de receptor.
Distanele pot fi mari, nu apar costurile unui fir suplimentar, figura 1.6 b. Viteza nu poate fi
3

mare datorit faptului c ntre tactele standard exist diferene. Cteva exemple tratate n carte
sunt interfaa serial asincron RS232 i LIN.
3.Refacerea tactului din datele emise este cea mai modern metod folosit la cele mai multe
aplicaii actuale. Se pot asigura distane mari, costuri mici, viteze mari. Circuitul care reface
tactul din date se numete bucl PLL i nu poate reface datele dect dac exist variaii
permanente de nivel, figura 1.6 c. Exemple n aceast carte sunt USB, CAN, FlexRay,
IEEE1394b (2002), dar i Ethernet, SATA etc. care nu sunt tratate aici. Transmisiile wireless,
de exemplu Bluetooth i ZigBee pot fi asociate cu transmisiile seriale pe un singur fir cu
refacerea tactului.
Un grup de cuvinte binare formeaz un cadru (pachet sau bloc) de date. Protocoalele seriale
pot fi orientate pe cuvnt sau pe cadru. Un cuvnt respectiv un bloc de date reprezint entiti
de informaie care se trateaz unitar la receptor, adic sunt acceptate sau respinse n ntregime.
n transferul asincron (RS232, LIN) se transmit cuvinte i informaia de sincronizare este
ataat cuvntului dar n cele mai multe tipuri de transfer (USB, CAN, IEEE1394b, Ethernet,
Bluetooth, ZigBee) informaia de sincronizare este ataat cadrului.

Bibliografie

[1] Romanca, M., Arhitectura microprocesoarelor, Editura Universitii "Transilvania" din


Braov, 2004, ISBN 973-635-314-1, 186 pagini
[2] Gerigan C., Ogruan P., Tehnici de interfaare, Ed. Transilvania Braov, 2000, 315p.,
ISBN 973-9474-94-2
[3] Borza P., Gerigan C., Ogruan P., Toace Gh., Microcontrollere. Aplicaii, Editura
Tehnic Bucureti, 2001, ISBN973-31-1577-6, 220p

Capitolul 2: Magistrala extern


2.1. Magistrale
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 [1]. Schema bloc a
unui sistem bazat pe magistrale este dat n figura 2.1.
1 Master

B
4

B
5

B
n

Figura 2.1: Structura unui sistem pe baz de magistrale


Sistemul prezentat n figura 2.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. Asincrone, 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.
Transferul de date pe o magistral sincron apare la execuia unei instruciuni a
microcontrollerului. La execuia instruciunii, n funcie de instruciunea executat, se
genereaz automat un semnal care stabilete spaiul de adresare i sensul transferului. n cazul
n care spaiul de adresare este comun pentru zona de memorie i zona de IO (In/Out) atunci
5

exist dou semnale de comand - RD i WR care stabilesc sensul transferului. Dac spaiul
de adresare este diferit pentru memorie i IO atunci exist patru semnale- IORD, IOWR,
MEMRD, MEMWR. O diagram de timp pentru un transfer tipic pe o magistral sincron
simpl cu spaiu comun pentru memorie i IO n care sunt prezentate un ciclu de citire i unul
de scriere [2] este dat n figura 2.2.
CLK
Adrese
/RD
/WR
Date
Date scrise

Date citite

Citire

Scriere

Figura 2.2: Diagrama de timp pentru un ciclu de citire urmat de un ciclu de scriere
Semnalul de tact este reprezentativ pentru magistralele sincrone. Activarea semnalului de /RD
nseamn c datele sunt citite de pe magistral ntr-un registru al UC iar activarea semnalului
/WR nseamn c datele sunt scrise n memorie sau ntr-un dispozitiv de I/O. n aceast
diagram se remarc faptul c liniile de adres i de date sunt diferite.
CLK
ALE
/RD
/WR
Adrese/ date
AD0-AD7
Date scrise

Adrese

Citire

Date citite

Scriere

Adrese

Figura 2.3: Diagrama de timp pentru un ciclu de citire urmat de un ciclu de scriere n cazul
unei magistrale de adrese i date multiplexate

De regul, n microcontrollere nu se poate accepta un numr att de mare de linii din cauza
costurilor, de aceea liniile de adrese i date sunt multiplexate. Aceasta nseamn cuplarea unui
latch de adrese n exteriorul microcontrollerului care s fie ncrcat cu adrese, comanda latchului fiind realizat cu semnalul ALE (Address Latch Enable). O diagram de timp n acest caz
este dat n figura 2.3.

2.2. Selectarea unui dispozitiv pe magistral


La un moment dat pe o magistral sunt active 2 subsisteme, dintre care unul este Masterul. Iar
cellalt este subsistemul Slave selectat de Master, figura 2.4.
Magistrala de
adrese
SEL
SEL
1
Master

i Slave
Magistrala de
date

Figura 2.4: Selecia prin adrese


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 2.5.

Magistrala de
adrese A0-A15

0000H
3FFFH
4000H

A14
A0-A13 CS
MEM1

A15

7FFFH
8000H

A0-A13 CS
MEM2

MEM1
MEM2

BFFFH
C000H
FFFFH

Figura 2.5: Selectarea liniar n cazul memoriilor (CS activ n 1)


Magistrala de
adrese A0-A15

0000H
3FFFH
4000H

DCD
A0-A13 CS
MEM1 A0-A13
MEM2

CS

0,0

A0-A13 CS
MEM3 A0-A13
MEM4

A15, A14

0,1
1,0
CS

1,1

7FFFH
8000H
BFFFH
C000H

MEM1
MEM2
MEM3
MEM4

FFFFH

Figura 2.6: Selectarea decodificat n cazul memoriilor


Se poate observa c n cazul selectrii decodificate 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 de tip
Intel 8255 pe o magistral de adrese de 16 bii. I8255 utilizeaz 2 linii de adres pentru
selectarea celor 3 regitrii interni. S presupunem c adresa de baz la care dorim conectarea
circuitului este 0180H. n figura 2.7 este dat schema bloc de conectare i harta memoriei.
Selecia prin decodificare a fost realizat cu 4 DCD cu 4 intrri. Schema bloc este detaliat n
partea de selecie. Dup programarea circuitului I8255 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.

Magistrala de
adrese A0-A15

0000H

A2-A15

0180H
0183H

DCD

FFFFH

0180H
A0 A1

CS

Detalii privind decodificarea


A15 14 13 12
0 0 0 0

I8255

A11 10 9 8
0 0 0 1

DCD0

A7 6 5
1 0 0

DCD1
0

4
0

DCD2
1

A3 2
0 0

DCD3

AND
CS
Figura 2.7: Conectarea unui circuit interfa paralel I8255 pe magistral

Dac conectm acelai circuit la porturi paralele obinem schema bloc din figura 2.8.
MC
P0.1-P0.7

P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7

DCD
CS1,2,3

D0-D7
I8255

A0 A1 CS

RD WR

Figura 2.8: Conectarea unui circuit interfa paralel I8255 la porturi paralele
Portul 0 al MC este folosit pentru transferul de date pe 8 bii, bidirecional. Liniile 0 i 1 din
portul P1 sunt folosite pentru selectarea registrelor interne ale I8255. Liniile 2 i 3 prin
decodificare pot selecta unul din patru circuite conectate cu liniile de date la portul 0 al MC.
Liniile 3 i 4 ale portului 1 stabilesc sensul transferului. Se poate observa din schema bloc
faptul c o conectare la porturi paralele este mai simpl dect una pe magistral, mai ales dac
numrul de circuite conectate este mic.

Pentru un transfer de un octet se pune octetul pe magistrala de date apoi se selecteaz portul
intern al I8255 prin punerea unui cuvnt pe portul 1, apoi se trimite un RD sau WR, ceea ce
nseamn un cuvnt pe portul 1 care face RD sau WR 1, urmat de un cuvnt care face RD sau
WR 0. Din aceast succesiune de cuvinte de comand se poate deduce c transferul este de cel
puin 4 ori mai lent dect dac I8255 este conectat pe magistral.

2.3.Exemplu la microcontrollerele MCS 51


Familia MCS 51 prevede magistrala extern chiar i la modelele mai ieftine, aa cum este de
exemplu MC Atmel AT89LS51 [3]. Pe magistrala extern poate fi conectat memoria de date
i memoria de program, spaiile de adresare fiind separate. Portul 0 poate fi configurat ca port
de adrese i date multiplexate pe 8 bii astfel: P0.0 AD0... P0.7 AD7. Portul 2 genereaz
adresele superioare pentru adresarea pe 16 bii (MOVX @ DPTR). Dac se folosesc adresri
pe 8 bii la portul 2 ( MOVX @ RI) este generat coninutul registrului special P2. Portul 2:
P2.0 A8.... P2.7 - A15. Semnalele de comand generate sunt ALE, /RD, /WR i /PSEN
(Program Store Enable) care este un strob pentru memoria extern de program. O diagram de
timp de acces la magistral n cazul unui transfer de citire cu memoria de date (/PSEN
inactiv):

ALE
/PSEN
/RD
Date

PORT 0
PORT 2
A0-A7 din RI (8 bii)
sau DPL (16 bii)

A8-A15 din DPH


(16 bii)

Figura 2.9: Diagrama de timp la un ciclu de citire dintr-o memorie extern de date
O aplicaie de conectare la un MC din familia MCS 51 a unei memorii externe EPROM de
64koctei pe magistral i a unui afiaj LCD pe un port paralel [5] este dat n figura 2.10.
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).

10

Figura 2.10: Conectarea unei memorii externe i a unui LCD la un MC 80C51

Pentru ca MC s execute codul stocat n EPROM trebuie ca semnalul EA s fie 0. 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
RET
ntoarcere n programul principal
nainte de a se lucra cu afiajul LCD este nevoie de trimiterea unor date pentru iniializare,
funcie de tipul afiajului.

2.4.Exemplu la microcontrollerele ATMEL RISC


MC AVR pe 8 bii Atmega64 admite lucrul cu magistral extern pentru cuplarea unei
memorii externe printr-o interfa intern special numit XMEM. Magistrala extern este pe
8 bii de date i 16 bii de adres astfel: PA0- AD0... PA7-AD7, PC0-A8...PC7-A15, PG0/WR, PG1-/RD, PG2-ALE. Datele sunt multiplexate cu adresele pe portul PA. O schem bloc
de conectare a unei memorii externe este dat n figura 2.11.
11

Figura 2.11: Schema bloc de conectare a unei memorii externe la un Atmega64

XMEM va detecta un acces la memoria extern i nu va ine cont de setrile de direcie ale
porturilor PA i PC. Viteza de transfer a datelor este mare, de aceea se impun condiii de
vitez pentru latch-ul de adrese. Programarea i controlul modului de lucru se face cu
registrele: MCUCR (MCU Control Register), XMCRA i XMCRB (External Memory
Control Register A i B). Pentru c memoriile au timpi diferii de acces se pot defini 4
variante de lucru cu memoria extern prin inserarea a 0, 1 sau 2 stri de WAIT.
O diagram de timp pentru accesul la memoria extern pe 16 bii, la citire este dat n figura
2.12.
CLK (tact CPU)
ALE
Adrese
anterioare

Adrese

/RD

Adrese A15-A8
Adrese/ date
AD0-AD7
Date anterioare

Adrese

Date citite

Figura 2.12: Diagrama de timp pentru un acces la citire


O aplicaie de conectare a unui LCD la un MC RISC pe magistrala extern [6] este dat n
figura 2.13.
Afiajul este validat (Enable) cu linia A15 cnd are loc o scriere /WR sau o citire /RD. Liniile
de date / adrese inferioare sunt folosite doar ca date. Selecia zonei de adresare este simpl
pentru c nu se folosete dect un singur circuit conectat pe magistrala extern.

12

Figura 2.13: Conectarea unui LCD la un MC RISC

2.5.Exemplu la microcontrollerele Fujitsu


2.5.1. Magistrala extern la MC Fujitsu pe 16 bii F2MC-16LX
Magistrala extern permite adresarea pe 16 bii i transferuri pe 16 bii de date. Zona de
adresare a magistralei externe este mai mic (22 bii) dect zona de adresare total care este
pe 24 de bii. De asemenea MC poate fi comandat n nalt impedan pentru a permite un
transfer DMA pe magistral. Memoria Flash din MC poate fi programat prin intermediul
magistralei externe, dar exist i alte moduri de programare. Totui, programarea pe
magistral este cea mai rapid. Schema bloc este dat n figura 2.14.
Semnalele magistralei externe au urmtoarea semnificaie:
AD07-AD00 pe portul P07-P00, 8 bii de date multiplexate cu adrese
AD15-AD08 (16 bii) sau A15-A08 pe portul P17-P10, 8 bii de date multiplexate cu adrese
sau doar 8 bii de adres
A21-A16 pe portul P25-P20, 6 bii de adres. Nu este adresabil spre exterior toat zona de
adresare pe 24 de bii.
ALE pe linia P30, Address Latch Enable
/RD pe linia P31, Read
/WR (8 bii) sau /WRL (16 bii) pe linia P32, Write

13

Port I/O (8 bii) sau /WRH (16 bii) pe linia P33, activ doar la magistrala pe 16 bii, Write.
HRQ pe linia P34 cerere ctre MC de intrare n HOLD.
/HAK pe linia P35 rspuns de confirmare la cererea de intrare n HOLD.
RDY pe linia P36
CLK pe linia P37.
Magistrala
extern

F2MC16LX

AD07-AD00
A15-A08
A21-A16
ALE
/RD
/WR
/HAK
HRQ
RDY
CLK

Figura 2.14: Schema bloc a MC pe 16 bii Fujitsu cu magistral extern

Regitrii de comand pentru lucrul cu magistral extern selecteaz dac liniile porturilor au
semnificaia de linii de magistral sau linii IO i comand inserarea a 1, 2 sau 3 stri de WAIT
pentru accesul pe magistral.

2.5.2.Magistral extern la MC Fujitsu pe 32 de bii


n cazul microcontrollerelor cu putere de calcul mai mare, magistrala extern are mai multe
linii [4], astfel c lucrul cu magistrala extern este mai complicat, transferurile de date pot fi
pe 8, 16 sau 32 de bii. n cazul MC din familia MB91F care sunt MC RISC, schema bloc,
prezentat n figura 2.15, arat o structur complex n care magistralele interne sunt de mai
multe tipuri. ntre CPU i memorie magistrala este Harvard pe 32 de bii, legtura cu
dispozitivele de IO fiind realizat cu o magistral pe 16 bii, iar n exterior MC este prevzut
cu o magistral extern Von Neuman.
Caracteristicile magistralei externe sunt:
Spaiul extern este adresabil cu 32 de bii fiind de 4GB.
Se pot defini pn la 8 bank-uri independente cu semnale de CS generate de MC. Bankurile pot fi de minimum 64K i pot ocupa orice poziie logic n aria extern.

14

Magistrala de date poate fi pe 32/16/8 bii, lrgime care poate fi diferit pentru bank-uri
diferite.
Se pot transfera date prin DMA.
I-BUS, 32 bii, Harvard, (magistrala de instruciuni)
F-BUS 32
bii,
magistral
unic de date
i instruciuni

RAM

ROM

CPU FR

D-BUS 32
bii, Harvard,
(magistrala de
date)

Convertor Harvardmagistral unic de


date i instruciuni

Controller de
magistral

Convertor 32 bii- 16
bii

R-BUS 16 bii magistral


unic de date i instruciuni

Real BUS
(magistral
extern)

Dispozitive I/O integrate

Figura 2.15: Structura intern a MC pe 32 de bii Fujitsu MB91F


O schem bloc a interfeei cu magistrala extern este dat n figura 2.16.
Magistrala intern
Adrese Date
Buffer de
date citite

Acces

Scriere date

Acces

Magistral extern de
date, 32 de bii

Buffer de adrese

Magistral extern de
adrese 32 de bii

Generare CS

CS0X-CS7X

ASR

AMR
CLK, RDY, BGRNTX,
BRQ, RDX, WR0XWR3X

Generare semnale
de control

Figura 2.16: Interfaa cu magistrala extern

15

Generarea semnalelor de CS poate fi activat sau invalidat, zonele de adrese selectate fiind
programabile prin nscrierea unui registru de programare. Semnalele WR0X, WR1X, WR2X,
WR3X sunt semnale de strob de scriere, cu legtur cu lrgimea magistralei de date. Astfel la
transferul pe octet se activeaz WR0X, la un transfer pe 16 bii WR0X i WR1X, iar la
transferul pe 32 de bii se activeaz toate 4. Ordinea n care se transfer datele din regitrii
interni este Big Endian, figura 2.17.
Transfer pe 32 de bii
Registru intern
D31
D23
D15
D07

Transfer pe 16 bii

Magistral extern Registru intern Magistral extern Registru intern


AA

D31

BB

BB

D23

CC

CC

D15

AA

DD

DD

D00

(La scriere)

Transfer pe 8 bii

D07
D00

AA
BB

AA
BB

DD

D31
D23
D15

CC

D07

DD

Activ WR0X-WR3X

CC

AA

Magistral extern
00 01 10 11
AA BB CC DD

BB
CC
DD

D00

Activ WR0X, WR1X

biii cei mai


puin semnif.
din adresa
extern
Activ WR0X

Figura 2.17: Transferul de date prin magistrala extern

AS- strob de adrese


BRQ- cerere de magistral
BGRNTX- acceptarea cererii de magistral
RDX- strob de citire
RDY- semnal de sincronizare (Ready)
ALE- strob de memorare a adresei ntr-un latch extern (Address Latch Enable).
Diagrama de timp pentru un acces de 32 de bii n 2 bank-uri diferite, un ciclu de citire i un
ciclu de scriere este dat n figura 2.18. ntre ciclurile de scriere / citire se introduc cicluri de
sincronizare (a tactelor interne) numite Idle al cror numr depinde de tact i de tipul de acces.
Pentru sincronizarea extern se pot introduce cicluri de WAIT programnd corespunztor un
registru de programare sau se poate utiliza pinul extern RDY.

Un exemplu de conectare a unui GDC (Graphic Display Controller) la un microcontroller pe


32 de bii este prezentat pe scurt n continuare. Aplicaiile de afiare i prelucrare de imagini
necesit o putere de calcul i o vitez mare.

16

CLK

Tactul de magistral

AS

Strob de adrese

A31:0

32 linii de adres

D31:0

32 de linii de date, primul ciclu datele sunt


citite, n al doilea sunt scrise

/RDX

Semnal care indic un ciclu de citire

/WR0-3

4 semnale care indic ciclul de scriere i


precizeaz modul de transfer 8/16 sau 32 bii

/CSnX

Semnal de selecie bank, pentru bank-ul n

/CSmX

Semnal de selecie bank pentru bank-ul m


Citire din zona extern
bank-ul n

Scriere n zona extern


bank-ul m

Figura 2.18: Diagrama de timp pentru un transfer pe 32 de bii


n figura 2.19 este prezentat conectarea unui GDC din familia Fujitsu la un MC pe 32 de bii
din aceeai familie. Conectarea este pe magistrala extern deoarece este singurul mod de
conectare care asigur viteza suficient de afiare.
MB91F361

GDC
SDRAM opional
Date 32 de bii

Magistrala
extern

Date
32 de bii
Adrese
32 de bii
RESET
WRX
CSX
RDX
RDY
CLK
INT
DREQ
DACK

Adrese 12 bii
Comenzi i stri 8 bii

RDisplay
Ganalogic
B
Video
input

Sursa de alimentare
5V 3,3V 2,5V

Figura 2.19: Conectarea unui GDC Fujitsu la un MC pe 32 de bii

17

2.6.Scurt istoric al magistralelor standardizate


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. 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.
Microcontrollerele au beneficiat la apariie de experiena dezvoltrii acestor magistrale i au
mprumutat variantele cele mai simple de magistrale sincrone, bazate pe structura ISA.

Bibliografie
[1] Gerigan C., Ogruan P., Tehnici de interfaare, Ed. Transilvania Braov, 2000, 315p.,
ISBN 973-9474-94-2
[2] Borza P., Gerigan C., Ogruan P., Toace Gh., Microcontrollere. Aplicaii, Editura
Tehnic Bucureti, 2001, ISBN973-31-1577-6, 220p
[3] Ogruan P., Gerigan C., Banciu N., Memorii, interfee i periferice. Interfee specializate,
Ed. Transilvania Braov, 2003, 190 pagini, ISBN 973-635-118-1
[4] Ogrutan P., Microcontrollere si controllere grafice Fujitsu, Ed. Universitatii Transilvania
Brasov, 2006, 182 pag, ISBN 973-635-621-3
[5] Lipnharski W., 8051+LCD+EPROM, [online], www.ustr.net
[6] Fleury P., Interfacing a HD44780 Based LCD to an AVR, 2003, [online],
http://jump.to/fleury

18

Capitolul 3: USB i IEEE1394


3.1.Magistrala USB (Universal Serial Bus)
3.1.1.Descriere
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 2013 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);
conecteaz pn la 127 de dispozitive la un calculator gazd, dar nu se pot conecta
dispozitive USB fr gazd ca la IEEE 1394;
configurarea este automat, adic se poate conecta un dispozitiv USB fizic n mers
(Hot Plug In). Se remarc creterea complexitii software fa de partea hardware;
cablul conine linii de alimentare, aa c dispozitivele USB pot fi alimentate de la
gazd (bus powered device) sau pot avea alimentare proprie (self powered device).
Din acest motiv cablurile au conectori diferii pentru conectarea spre gazd (upstream)
i spre dispozitiv (downstream);
distana de conectare este de maximum 5m, distana se poate mri prin inserarea de
hub-uri.
Specificaiile acestei magistrale descriu atributele de magistral, definesc protocolul, tipurile
de tranzacii, administrarea magistralei (bus management) i totodat furnizeaz informaii
necesare pentru construirea unui sistem n acest standard.
Magistrala USB definete trei categorii de dispozitive fizice:
gazda USB (USB Host)
funcii USB (USB function)
distribuitoare USB (USB Hub)
Dispozitivele USB sunt conectate ntr-o topologie de tip stea multipl. Topologia USB este
reprezentat n figura 3.1. n nodul fiecrei stele se gsete un hub.

19

Gazda USB
Root hub

Funcie
USB

Hub 1

Dispozitiv compus

Funcie
USB

Hub 2

Endpoint

Funcie
USB

Funcie
USB

Funcie
USB

Funcie
USB

Figura 3.1: Topologia USB


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.
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 3.2.
20

VBUS

VBUS

D+

D+

D-

DGND

GND
Figura 3.2: Cablu USB

Tensiunea transmis pe linie nu este tensiunea de alimentare a calculatorului gazd ci este


gestionat de controllerul USB, aa nct o suprasarcin este detectat i un mesaj de eroare
este afiat de sistemul de operare.
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).
Arhitectura USB distinge patru tipuri de baz de transferuri de date:

transferuri de control (Control Transfers) - sunt folosite pentru configurare i comand


i obligatoriu trebuie s fie suportate de toate perifericele;
transferuri cu volum mare de date (Bulk Data Transfers) - permit dispozitivelor s
schimbe cantiti mari de informaie cu gazda pe msur ce magistrala devine
disponibil, (ex.: camere digitale, scannere sau imprimante);
transferuri prin ntreruperi (Interrupt Data Transfers) - a fost proiectat ca suport
pentru periferice de intrare controlate de om, (tastatur, mouse, joystick), care au
nevoie s comunice rar, cantiti mici de date; datele transferate n acest mod sunt
caractere, coordonate sau semnalizri de evenimente organizate n unul sau mai muli
octei;
transferuri izocrone (Isochronous Transfers) - asigur un acces garantat la magistral,
flux de date constant i tolereaz erorile de transmisie; datele izocrone sunt continue i
n timp real la toate nivelele: generare, emisie, recepie i utilizare la receptor; acest tip
de transfer este folosit pentru fluxuri de transfer n timp real cum ar fi sistemele audio.

3.1.2.Protocolul USB
USB folosete un protocol bazat pe pachete de date (Data Packet). Un pachet de date este o
colecie de cadre de date (Data Frame). Numrul de bii dint-un cadru nu are o valoare fix.
21

Majoritatea sistemelor folosesc cadre de 4 pn la 8 bii de date. Biii sunt trimii spre
magistral astfel: primul bit este cel mai puin semnificativ bit (LSB) din cadru, urmat de bitul
mai semnificativ pn la trimiterea celui mai semnificativ (MSB) bit din cadrul respectiv.
Protocolul USB definete patru tipuri de pachete de date:
pachet de semnalizare (Token Packet)
pachet de date
(Data Packet)
pachet de dialog
(Handshake Packet)
pachet special
(Special Packet)
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.
Orice transfer ncepe prin trimiterea de ctre gazd a unui pachet de semnalizare. Un pachet
are 32 de bii mprii n cinci cmpuri. Structura pachetului este reprezentat n figura 3.3A.
Informaia propriu-zis este transferat n sistemele USB sub forma unor pachete de date.
Structura acestui pachet este dat n figura 3.3B. Dup cmpurile SYNC i PID urmeaz
cmpul de date care este compus dintr-un numr ntreg de octei, de la 0B la 1023B.
Corectitudinea cmpului de date este asigurat prin cmpul de verificare ciclic de 16b aflat la
sfritul pachetului.
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 3.3C.
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.

22

SYNC

PID

Cmp
adres

Endpoint

8b

8b

7b

4b

SYNC

PID

DATA

CRC

8b

8b

0-

16b

SYNC

PID

8b

8b

CRC

5b
B

Figura 3.3: Structura pachetelor USB

3.1.3.Cuplarea unui MC la USB printr-o interfa specializat


Dac aplicaia necesit cuplarea unui MC la USB atunci exist dou variante, utilizarea unei
interfee specializate aa cum sunt cele din familia FTDI sau alegerea unui MC care are
interfa USB integrat.
Circuitele FTDI [2] cel mai cunoscute sunt cele de conversie USB-RS232 FT8U232AM
(USB 1.1) i FT8U232BM (USB 2.0) i cele de conversie USB-paralel FT8U245AM (USB
1.1) i FT8U245BM (USB 2.0). Protocolul USB este ncorporat total n circuit i nu este
nevoie de programarea formrii sau gestionrii cadrelor USB.
Emitorul / receptorul USB transmit /recepioneaz datele USB. Motorul serial codific /
decodific datele, asambleaz cadrul USB, insereaz sau verific CRC. Datele sunt convertite
n format paralel i sunt transferate printr-un protocol paralel simplu.
Un generator de tact de 6MHz cu un cristal n exterior genereaz semnalul de tact, care este
multiplicat de 8 ori i constituie tactul intern al circuitului. Un generator de 3,3V alimenteaz
blocurile interne dar tensiunea generat poate fi folosit i n exterior. EEPROM-ul serial
memoreaz date privitoare la configuraia circuitului.
Datele n format paralel pot fi citite sau scrise printr-un protocol controlat de semnalele RD,
WR, TxE i RxF dar pot fi transferate automat cu o periodicitate dat de un timer intern, ceea
ce face posibile aplicaii n care FTDI nu este cuplat n partea paralel la un microcontroller ci
la un simplu element de execuie sau traductor. Acest mod de lucru se numete Bit Bang.
Schema bloc a circuitului 245BM este dat n figura 3.4.

23

FT245BM
3,3V

D+
D-

Timer

Generator al
tensiunii de 3,3V

Motor serial
USB

Emitor/
Receptor USB

Generarea
protocolului

Buffer de
recepie FIFO
128 octei
Buffer de
emisie FIFO
384 octei

Control
FIFO i
interfa
paralel

D0D7
RD
WR
TxE
RxF

PLL pentru refacerea


tactului din date
Control
EEPROM serial
Oscilator
6MHz

x8

EEPROM serial

Figura 3.4: Schema bloc a unui circuit FT245BM

Scrierea datelor se face cnd TxE este n stare 0 logic. Dup memorarea octetului n bufferul
de transmisie TxE devine din nou 0 logic, figura 3.5. La recepia datelor se folosete RxF care
n stare 0 logic anun c s-a recepionat un caracter, figura 3.5.

D0D7

RxF
RD

WR
TxE

D0D7

Figura 3.5: Scrierea / citirea datelor n mod paralel

24

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.

Figura 3.6: Conectarea FT245BM la un MC PIC16F

25

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. n figura 3.6 se vede simplitatea unei conectri a unui circuit FT245BM la un
microcontroller PIC16F [3]. 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 3.7.

Figura 3.7: Driverul software instalat sub WINDOWS

Pentru transferul datelor FTDI pune la dispoziia utilizatorului o bibliotec DLL i


documentaie pentru programare (API). Astfel, o scriere / citire de date prin USB n FTDI se
poate face cu o comand FT_write / FT_read. Un exemplu de citire a tuturor datelor
disponibile n circuit, preluat din D2XX Programmers Guide [2]:

26

Uurina implementrii unei interfee USB a condus la realizarea unui proiect prin care a fost
realizat o lucrare de laborator [4]. Proiectul a constat n realizarea unei plci de interfa
USB paralel cu circuitul FT245BM. La partea paralel a circuitului a fost conectat o bar 8
de LED-uri ca ieire i 8 ntreruptoare ca intrare, figura 3.8. Sensul datelor a fost stabilit de
un microntreruptor. Circuitul FT245BM a fost lipit pe partea din spate a plcii. Studenii au
primit software-ul de lucru i au avut ca sarcin aprinderea LED-urilor i citirea
ntreruptoarelor.

Figura 3.8: Lucrare de laborator cu FT245BM

3.1.4.Microcontrollere cu USB integrat


Un model de microcontroller cu USB integrat este ATMEL AT90USB care este disponibil n
diverse combinaii de memorie. Interfaa USB are urmtoarele caracteristici:

Viteza este de 1,5 Mbps la USB 1.0 (Low Speed), 12Mbps la USB 1.1 (Full Speed);
Conine 7 endpoint-uri cu dimensiunile de 64 octei (endpoint 0, de control), 256
octei (endpoint 1) i cte 64 octei celelalte;
Conine o memorie dual port DPRAM de 832 de octei pentru endpoint-uri.
Schema bloc a interfeei USB integrate este dat n figura 3.9.

27

tact
Regulator
tensiune

2MHz

Interfaa USB
D+

DPLL
refacere
tact

D-

Prescalare tact

24x
DPRAM
USB

VBUS

Figura 3.9 Schema bloc a interfeei USB


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 (5V). MC
admite lucrul OTG (On-The-Go) conform cu suplimentul specificaiilor USB, care permite
transmisia de semnalizri pe lina VBUS.
Modurile n care lucreaz MC pot fi:
Funcie (ATMEL denumete dispozitiv USB) cu alimentare de la USB (Figura 3.10 a);
Funcie cu alimentare proprie (Figura 3.10 b);
Gazd USB (Figura 3.10 c), mod care nu este implementat n toate MC din familie.
Modul de lucru gazd sau funcie i vitezele de transfer se selecteaz cu valori logice la pini
de comand.
VC

VC

VC
VBUS

VBUS

VBUS

D+

D+

D+

D-

D-

D-

b
Figura 3.10: Modurile de lucru ale MC

28

Comand
alimentare

Pe liniile de date D+ i D- se insereaz rezistoare serie de 22.


Transferul de date bazat pe endpoint-uri i pipe-uri este reprezentat n figura 3.11:
Funcie USB

Gazd
USB

Pipe 6
Endpoint 6

Buffer
Program
client

Endpoint 1
Buffer
Endpoint 0

Buffer

Pipe 0

Figura 3.11: Transferul de date bazat pe endpoint-uri


Transmiterea datelor pe aceeai linie dar din surse diferite prevzute cu buffer-e i spre
destinaii diferite fluidizeaz traficul. Mrimea endpoint-urilor poate fi programat n MC, cu
anumite condiionri. Fiecare endpoint poate cere o ntrerupere atunci cnd este plin (la
recepie) sau gol (la emisie). Registrele de programare a USB au semnificaii diferite pentru
modul de lucru gazd sau funcie.
MC are posibilitatea de lucru cu economie de energie n urmtoarele moduri:

Mod Idle, n care CPU este oprit, repornirea fiind posibil la orice ntrerupere USB;
Mod Power Down, n care CPU i periferia sunt oprite, repornirea fiind posibil doar
la anumite ntreruperi USB;
Mod Freeze Clock, n care tactul pentru USB este oprit. Intrarea n acest mod se poate
comanda printr-un bit ntr-un registru de comand USB. Repornirea este posibil doar
la anumite ntreruperi USB.
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.

29

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 endpointurilor etc.;
ataarea unui dispozitiv USB.
2.Oprirea interfeei USB:
detaarea dispozitivelor USB;
invalidarea interfeei USB, a circuitului PLL i a regulatorului de tensiune.
Intrarea n modul de lucru cu economie de energie se face astfel: se oprete tactul, se oprete
bucla PLL, se valideaz ntreruperile care scot interfaa din acest mod de lucru, se oprete
CPU. Reintrarea n modul de lucru se face cu aceleai operaii n ordine invers. Ca exemplu
de transfer de date prin USB, n figura 3.12 se arat diagrama de timp pentru un transfer de
date de scriere:

Linia USB

SETUP

OUT

OUT

IN

RXSTPI
RXOUTI
TXINI
CONFIGURARE

DATE

STARE

Figura 3.12: Scriere USB


Un pachet de semnalizare este generat pentru stabilirea destinaiei transferului. Se genereaz o
ntrerupere RXSTPI (generat la transmisia pachetului de semnalizare). Prin software se
terge informaia din endpoint-ul transmis i se transmit pachete de date de ieire. Dup
fiecare pachet de date transmis se genereaz o ntrerupere RXOUTI pentru a informa MC de
transmisia pachetului i a putea terge coninutul endpoint-ului folosit. Dup recepionarea
pachetelor de date dispozitivul destinaie rspunde cu un pachet de dialog pentru a confirma
primirea datelor. Se genereaz un semnal TXINI n zero pentru a permite recepionarea unui
alt pachet de dialog. Fronturile ngroate sunt cele generate prin comenzi software iar cele
nengroate sunt generate hardware ca ntreruperi.
Simplitatea constructiv a conectrii unui MC pe USB este demonstrat de schema electric a
unei pci de dezvoltare, figura 3.13 [5].

30

Figura 3.13: schema electric a unei plci de dezvoltare Teensy

3.2.IEEE 1394
IEEE 1394 este o interfa serial cunoscut sub numele de FireWire (Apple), i.LINK (Sony)
i LYNX (TI). Interfaa a fost adoptat de HANA (High Definition Audio-Video Alliance) ca
interfa standard disponibil i wireless, pe fibr optic sau pe cablu coaxial. Dezvoltarea
interfeei a nceput n 1980 i a fost ncheiat n 1995. IEEE 1394 a fost aplicat i n aviaia
militar ca magistral pentru F-22 Raptor i F-35. Navetele spaiale NASA au folosit IEEE
1394 pentru anumii senzori. n industria auto a fost implementat o versiune numit IDB
1394. Cu toate c IEEE 1394 nu are rspndirea pe care o are USB, majoritatea camerelor
digitale sunt echipate cu o astfel de interfa.
Ca i n majoritatea comunicaiilor seriale transferul de date este bazat pe pachete. Canalul
comun de date este conceput s poat fi folosit pe rnd de fiecare dispozitiv care l solicit.
Exist un interval de timp specificat (numit fairness interval) n cadrul cruia un dispozitiv are
accesul la canalul de date comun. Dup ce dispozitivul a trimis un pachet de date se ateapt
scurgerea unui timp de separare (numit sub-action gap) dup care un alt dispozitiv poate
31

trimite un pachet. Dac dup scurgerea timpului de separare nici un dispozitiv nu are de
transmis vreun pachet, urmeaz o secven de reset.
Pentru a face posibil funcionarea dispozitivelor care necesit flux de date n timp real,
IEEE-1394 folosete un mod special de transfer, modul izocron, ca i USB. Un dispozitiv ce
necesit date izocrone emite la fiecare 125s un pachet special de temporizare prin care
asigur prioritatea transferului. Aceast schem de arbitrare garanteaz un minim de buffer-e
pentru date audio sau video (1 byte la dispozitive audio, pn la 6 bytes la dispozitive video).
Perioada de 125s coincide cu perioada de eantionare din sistemul de telefonie digital,
astfel interfaa IEEE-1394 poate fi plasat n sistemul ISDN (Integrated Service Digital
Network).
IEEE 1394 este asemntoare cu USB, aa nct este util o comparaie:La IEEE 1394 nu este
nevoie de un calculator gazd;

IEEE 1394 asigur o vitez efectiv de transfer mai mare dect USB ( dovedit pe
sistemul de operare MAC OS X dar cu rezultate contradictorii sub Windows);

Implementarea IEEE 1394 are costuri mai mari: licena Apple (0.25$/sistem) i
hardware mai scump cu 1-2$;

Ambele standarde pun la dispoziie prin cablul de transmisie de date o tensiune de


alimentare, sunt plug and play i admit hot swapping. IEEE 1394 admite tronsoane de
cablu de maximum 4.5m i poate alimenta o sarcin cu consum de pn la 45W.

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:


a.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;
b. 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.
c.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.
d.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.

32

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 3.14 este dat un tabel cu conexiunile la conectorii IEEE 1394 cu 4, 6 i 9 pini i
structura unui cablu IEEE 1394.

4 pini

6 pini

9 pini

Funcie

Descriere

Vcc

30V nestabilizat

Mas

Mas pentru tensiune

TPB-

semnal diferenial B

TPB+

semnal diferenial B

TPA-

semnal diferenial A

TPA+

semnal diferenial A

ecran A

ecran B

Perechea A,
torsadat
Alimentare
Ecran

Perechea B,
torsadat

Figura 3.14: Tabel cu conexiunile la conectorii IEEE 1394 (sus) i structura unui cablu IEEE
1394 (jos)

Codificarea datelor D/S este de fapt 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 tactul, figura 3.15. Petru transmisia datelor este nevoie de ambele perechi
FireWire, deci este posibil doar un transfer half duplex. Codificarea este aplicat la FireWire
400. Codificarea 8B10B a fost imaginat de Al. Widmer i P. Franaszek de la IBM n 1983 i
IBM a obinut un patent. Rspndirea codificrii a luat avnt dup expirarea patentului.
Aplicaiile dovedesc eficiena codificrii: PCI Express, SATA, SAS, Fibre Channel, IEEE
1394b, Gigabit Ethernet (mai puin la 1000BaseT), DVI, HDMI, USB 3.0 i seamn cu
codificarea folosit la CD (Eight to Fourteen Modulation).

33

Data

Strob
Data
XOR
Strob

Figura 3.15: Codificarea Data /Strobe


n principiu codificarea asigur o component DC mic pentru ca irul de date s poat trece
prin transformatorul de separare Ethernet, adic numrul de 0-uri este aproape egal cu
numrul de 1-uri. ntr-un ir de 20 bii diferena ntre numrul de 0 i de 1 poate fi maxim 2.
Codul este autosincronizabil i se admit maxim 5 valori de 0 sau de 1 succesive.
Codificarea atribuie la 8b o entitate de 10b numit simbol sau caracter. La 5b mai puin
semnificativi se atribuie 6b (poriunea 5b/6b) iar la 3b mai semnificativi se atribuie 4b
(poriunea 3b/4b). Se definesc 12 simboluri speciale de control care marcheaz nceputul
cadrului, sfritul cadrului, skip, etc. Datorit codrii cuvintelor de 8b cu simboluri de 10b
anumite valori din cele 1024 pot fi excluse pentru a realiza condiia de a nu exista 5 valori de
0 sau de 1 consecutive.
Pe linie se transmite nti poriunea 5b/6b apoi 3b/4b. Datele pot fi notate ca D.x.y unde x este
poriunea 5b/6b i poate fi 0-31 iar y este poriunea 3b/4b i poate fi 0-7 ca valori necodate.
Se definete RD (Running Disparity ca diferena ntre numrul de bii de 1 i numrul de bii
de 0. Se urmrete obinerea RD ct mai mic. n acest scop grupurile 5b/6b i 3b/4b se
stabilesc n funcie de RD anterior ca valori negate sau nenegate.
De exemplu:
D.00 se codific ca 100111 (RD iniial este 1 i rezult RD=+1) sau 011000 (RD iniial este
+1 i rezult RD=1)
La fel, n funcie de RD iniial se codific i grupul 3b/4b
D.x.0 se codific ca 1011 (RD iniial este 1 i rezult RD=+1) sau 0100 RD iniial este +1 i
rezult RD=-1). Astfel n ipoteza RD iniial 1, D.00.0 se codific ca 1001110100 i rezult
RD=0
Topologia unei arhitecturi IEEE 1394 este de tip stea multipl (arbore) cu posibilitatea de
nlnuire (daisy-chain).

34

n figura 3.16 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

Figura 3.16: Topologia unei arhitecturi IEEE 1394

Pentru a transmite date n mod asincron dispozitivul IEEE 1394 compune un cadru care
conine adresele sursei i destinaiei, apoi date i CRC. Cnd receptorul accept datele un
cadru de confirmare este trimis la transmitor. Transmitorul are posibilitatea s trimit nc
63 de cadre continuu pentru a mri viteza de transfer. Dac cadrul de confirmare returneaz o
eroare se aplic o metod de reacie la eroare.
n mod izocron emitorul solicit un canal izocron iar dac receptorul l accept i se asigur
un interval de timp de transfer pentru a asigura banda necesar transferului. Se pot defini pn
la 64 de canale izocrone. n exemplul din figura 3.17 n pachetul de date de 125s sunt
definite 2 intervale de timp pentru 2 transferuri izocrone. Timpul rmas liber se poate folosi la
transferuri asincrone.

35

Sloturi de timp garantate


Canal izocron 1

Canal izocron 2

Slot de timp liber


Interval de timp pentru transferuri asincrone
125s

Figura 3.17: Transferuri izocrone pentru a asigura un flux de date n timp real

3.2.1.Module IEEE 1394


Nivelele ISO OSI (Open Systems Interconnection) n cazul IEEE 1394 sunt date simplificat n
figura 3.18.
Microprocesor,
microcontroller sau PCI
Nivel bus management
Placa
Averna
SedNet 1394

Nivel tranzacie
Nivel legtur

LLC TI
TSB12

Nivel fizic

PHY TI
TSB41

TI
TSB43C
Audio/
video

Canale IEEE 1394


Figura 3.18: Structura stivei OSI la IEEE 1394

Nivelul bus-management
definete funciile de baz de control precum i registrele de control i de stare necesare
dispozitivelor conectate pentru a-i face porturile operaionale. Acest nivel se ocup i de
asigurarea canalelor, de arbitrare, mastering i de erori.
Nivelul de tranzacie
mediaz operaiile de scriere i citire. Standardul permite la acest nivel operaii cu cuvinte de
lungime variabil.
36

Nivelul de legtur
realizeaz controlul logic n legtura IEEE 1394. Acest nivel realizeaz formarea cadrele la
transmisie i extragerea informaiei din cadrele recepionate.
Nivelul fizic
presupune att protocolul transferului ct i mediul efectiv de transfer. Partea de protocol
controleaz accesul la legtur, iar partea de mediu este constituit din cabluri i conectori. La
acest nivel se realizeaz codarea i decodarea datelor, se asigur nivelele de tensiune necesare
i se face arbitrarea magistralei.
Circuitele IEEE 1394 au un grad de complexitate mai mare dect cele USB, unul dintre
motive fiind acela c pot lucra i independent de calculatorul gazd. Multe circuite sunt
realizate cu magistral PCI pentru a fi utilizate n calculatoare PC. n figura 3.18 sunt date
cteva exemple de circuite i plci i nivelele OSI pe care le acoper. A fost figurat un circuit
care acoper nivelul fizic (PHY Pysical Layer Controller) i unul care acoper nivelul de
legtur (LLC Link Layer Controller). Unele circuite, aa cum este TSB43C de la Texas
Instruments acoper mai multe nivele i ncorporeaz blocuri de prelucrare audio video, un
alt motiv pentru complexitatea mai mare a circuitelor.

Figura 3.19: Placa IEEE 1394 SedNet

Placa SedNet de la Averna [6] este un sistem de dezvoltare IEEE 1394 cu microcontroller
Motorola i arat ca n figura 3.19.
Acest sistem de dezvoltare este o soluie hardware i software complet pentru gestionarea
unei comunicaii IEEE 1394 ntre aplicaia unui client care ruleaz pe un microcontroller care
se conecteaz cu aceast plac prin intermediul unor linii de I/O sau o aplicaie client care
ruleaz pe microcontrollerul plcii SedNet. Partea software se numete Micro-Stack, ruleaz
pe microcontrollerul plcii i realizeaz nivelele bus-management i tranzacie din
comunicaia IEEE 1394. Exist i varianta de a cumpra sursa programului Micro-Stack i de
a o porta pe un alt microcontroller pentru a dezvolta o soluie hardware proprie. Alimentarea
plcii este realizat cu alimentator propriu sau prin cablul IEEE 1394, dar n al doilea caz
acest caz nu este posibil izolarea galvanic ntre controllerul de nivel fizic i restul plcii.
Schema bloc a plcii SedNet este dat n figura 3.20.
37

SedNet
1
2

Controller
de nivel
fizic
TSB41
PHY

Izolare
galvanic

Link
Controller
TSB12
LLC

Motorola
MCore
MMC2107

3
Date
direct

3 porturi
IEEE 1394

256k RAM
static

Conectori I/O
Figura 3.20: Schema bloc a plcii SedNet

Microcontrollerul MMC2107 are ncorporat 128k FLASH iar pentru testare i debugging
portul JTAG este scos la pinii de I/O. Accesul este posibil de la distan prin IEEE 1394 la
toate resursele plcii.
Se pot conecta maximum 62 dispozitive IEEE 1394, cu viteze de transfer posibile 100, 200 i
400Mbps. Placa suport att transferuri izocrone ct i asincrone, datele putnd fi preluate
direct, fr intermediul microcontrollerului MMC2107 de la controllerul de nivel legtur.
Legtura direct este recomandat pentru transferul datelor cu volum mare, cum ar fi cele de
la dispozitivele video. Semnalele de legtur cu microcontrollerul sunt cele obinuite - un port
RS232, SPI, JTAG, semnale de ntrerupere, reset, tact, linii de I/O etc. Placa a fost special
conceput pentru aplicaii nglobate care nu conin PC pentru c nu are interfa PCI.

3.2.2.Circuite IEEE 1394


Pentru exemplificare au fost alese circuite de la Texas Instruments, cele reprezentate n figura
3.17. Un circuit care acoper nivelul fizic este TSB41AB3, cu 3 porturi IEEE1394. Interfaa
ctre circuitul care acoper nivelul de legturi este paralel, pe 2, 4, sau 8 bii la 49,152MHz,
admite decuplare optic i poate lucra cu circuite alimentate cu 3,3V sau 5V. Capsula este de
80 de pini. Schema bloc a circuitului este dat n figura 3.21.
Cele 3 porturi IEEE 1394 conin transceivere difereniale pentru transmisie i recepie i
circuite care monitorizeaz starea conexiunii. Tactul intern este generat prin conectarea n
exterior a unui cristal de 24,576MHz i multiplicarea cu o bucl PLL pentru obinerea tactului
de 393,216MHz. Toate semnalele de tact necesare, cum ar fi cel de transfer de date paralel de

38

49,152MHz se obin prin divizarea tactului de 393,216MHz. Circuitul admite moduri de


lucru cu economie de energie. Astfel, n modul Power Down tactul de 393,216MHz este oprit.

TPA0+
TPA0-

Port 0

TPB0+
TPB0TPA1+
TPA1-

Port 1

Decodare
date
Arbitrare i
controlul
liniei

Interfaa
spre
nivelul de
legtur
Date D0-D7,
Semnale de
comand i
stare

TPB1+
TPB1TPA2+
TPA2-

Port 2
Codare date

TPB2+
TPB2-

TPBIAS0
TPBIAS1
TPBIAS2

Generare
tensiune

Generator tact,
multiplicare PLL

Figura 3.21: Schema bloc a circuitului controller PHY de la TI, TSB41AB3

Circuitul admite lucrul cu izolare galvanic spre controllerul LLC. Pentru aceasta, n cazul
validrii izolrii galvanice furnizeaz date n mod diferenial spre LLC pentru ca s poat
trece printr-un transformator.
Datele sunt transmise ntre PHY i LLC n format paralel pe 2, 4 sau 8 bii, funcie de viteza
de transfer cerut i sunt stocate ntr-un buffer. Dup codarea datelor ele sunt transmise serial
pe linie cu tactul de 392,216MHz, 196,608MHz sau 98,304MHz ceea ce realizeaz vitezele
de transfer S400, S200 sau S100. Datele codate sunt transmise diferenial pe perechea TPA
iar tactul pe TPB. La recepie transmitoarele de linie sunt invalidate i se face recepia
datelor i decodificarea lor cu aceleai variante de tact. Datele sunt refcute cu ajutorul strobului, codificarea fiind D/S, apoi sunt grupate pe 2, 4 sau 8 bii n format paralel, resincronizate
i transmise ctre LLC cu tactul de 49,152MHz.
Fiecare port IEEE 1394 este prevzut cu comparatoare a tensiunii comune preluate cu divizor
rezistiv cuplat ntre liniile difereniale. Informaia oferit de comparatorul de pe liniile TPA
este folosit n timpul arbitrrii pentru stabilirea vitezei urmtorului pachet de date.
Comparatorul de pe liniile TPB stabilete dac exist o conexiune. Impedana liniei de

39

transmisie este de 110 i liniile sunt adaptate la capete cu cte 2 rezistoare serie de cte
56. Tensiunea este de 1,86V i este generat de PHY pentru fiecare port.
Circuitul LLC TSB12LV32 este un circuit care acoper nivelul legtur. Circuitul este
ncapsulat ntr-o capsul de 100 de pini. Schema bloc a circuitului este dat n figura 3.22.

Nucleul LLC
Controller
PHY

Interfaa
microcontroller
FIFO
2k ATF
2k GRF

Adrese 7 bii

Adrese 7
bii

Date 32 bii

Date 16
bii,
comenzi,
stri

Port de date direct


(Mover Port)

D0-D15
Control,
tact

Figura 3.22: Schema bloc a circuitului controller LLC de la TI, TSB12LV32

Circuitul LLC asigur transmisia i recepia cadrelor de date la viteza de maximum 400Mbps
prin intermediul celor 2 FIFO de 2koctei. Circuitul formeaz /descompune cadrele,
calculeaz i ataeaz CRC-ul. Circuitul poate administra magistrala (bus manager) i poate
conduce transferuri izocrone (Isochronous Resource Manager IRM).
Interfaa cu
microcontrollerul este paralel pe 8/16 bii la frecvena de maximum 60MHz. Cele 2 FIFO de
2k la recepie (General Receive FIFO GRF) i transmisie (Asynchronous Transmit FIFO
ATF) sunt accesibili de ctre microcontroller. Portul direct de date (Data Mover Port DM)
poate recepiona i transmite date izocrone, asincrone i streaming cu tact de maximum
25MHz i la port se conecteaz de regul o memorie de capacitate mare.
Ca i microcontroller gazd se pot folosi microcontrollere din familia Motorola 68000 sau
Freescale ColdFire fr hardware suplimentar. Microcontrollerele i microprocesoarele
Freescale folosesc o arhitectur particular a magistralei externe, numit FlexBus cu varianta
Mini-FlexBus [7], pentru conectarea n exterior a memoriei sau altor circuite, asemntoare
cu magistrala prezentat n capitolul 2.
Ultimul circuit amintit aici este TSB43CA43A, care include att controllerul PHY ct i cel
LLC, precum i funcii audio video. Circuitul se bazeaz pe un nucleu ARM7, are 176 pini i
este destinat ca soluie single chip pentru interfaarea dispozitivelor audio video prin IEEE
1394. Cele 3 porturi IEEE 1394 care echipeaz circuitul pot asigura o rat de transfer de
maximum 400Mbps. Circuitul are schema bloc din figura 3.23.

40

Blocul audio video se interfaeaz cu sursa de semnal prin dou canale seriale HSDI (High
Speed Data Interface) prin care pot circula date standard MPEG2-DVB (Digital Video
Broadcasting, care este un mod de transmisie digital compresat al semnalului video ntr-un ir
MPEG, datele fiind modulate OFDM, Orthogonal Frequency Division Multiplexing). Alte
standarde admise sunt DV (Digital Video), DSS (Direct Satellite System, sistem proprietar al
DirecTV, SUA, cu codare QPSK i cadre de 127 octei), audio DAC etc.

TSB43CA43A
ARM7TDMI

1
2

Controller
de nivel
fizic

Link
Controller

256ko
program

3
Criptare / decriptare

HSDI

Interfa
paralel 16
bii
UART
JTAG
Linii I/O
Date
audio/
video

Figura 3.23: Schema bloc a circuitului TSB43CA43A

n 1998 5 firme (Hitachi, Intel, Matsushita, Sony i Toshiba) au creat o asociere pentru a
asigura protecia datelor audio video transmise prin cablu, protecie numit DTLA Digital
Transmission Content Protection. Circuitul TSB43 conine un bloc DTLA (Digital
Transmission Licensing Administrator) care asigur criptarea /decriptarea datelor cu ajutorul
unui cifru realizat de Hitachi numit M6, prevzut pentru fiecare canal HSDI. Calculele
matematice sunt efectuate pe 160 bii.
Unitatea central este ARM7 la 50MHz cu mod de funcionare pe 32 de bii i 16 bii, cu
256koctei memorie de program i suport JTAG pentru test i punere la punct. Interfaa cu
exteriorul este printr-o interfa paralel de 16 bii n mod sincron sau asincron la care se
poate conecta o memorie extern sau un alt circuit. Un port UART asigur transferul de date
la viteze mici. 11 linii de I/O de uz general completeaz posibilitile de conectare a
circuitului cu exteriorul.

41

Bibliografie
[1] Filatova
A.,
USB
3.0
Poised
for
Success,
2009,
[online],
http://exectweets.com/2009/11/30/superspeed-usb-poised-for-success/
[2] www.ftdichip.com, [online]
[3] Stedman I., PIC USB Interface, [online],
http://www.ianstedman.co.uk/Projects/PIC_USB_Interface/pic_usb_interface.html
[4] Gerigan C., Ogrutan P., USB Controller- Educational aspects, The 10 International
Conference on Optimization of Electrical and Electronic Equipment, Optim 2006, ISBN
973-635-702-3, Brasov
[5] Teensy++ USB Development Board, [online]
[6] http://www.averna.com/en/products/ieee1394/hardware.php
[7] Lobdell M., Using the Mini-FlexBus External Bus Interface for ColdFire Microcontrollers
AN3854/2009, Freescale Semiconductor

42

Capitolul 4: Aplicaii auto


Aplicaiile auto au cteva particulariti care trebuie considerate atunci cnd se alege un
microcontroller care s gestioneze o astfel de aplicaie. Cteva dintre aceste particulariti
sunt:

Respectarea legislaiei specifice


Posibilitatea de lucru cu nivele digitale auto
Consum mic de energie
Generare mic de perturbaii electromagnetice
Siguran mare de funcionare
Microcontrollerul care gestioneaz aplicaiile trebuie s aib integrate modulele
specifice aplicaiilor.
Temperatura de lucru
Consumul mic de energie i generarea unui spectru redus de perturbaii sunt legate de
generarea i folosirea tactului [1].

4.1.Cerine specifice i legislaie


n plus fa de majoritatea microcontrollerelor, unele dintre cele produse special pentru
industria auto admit pe lng nivelele logice obinuite (TTL sau CMOS) i nivele logice
auto, la care VIL este 0,5xVCC. Modul de lucru cu nivele auto mrete sigurana n funcionare
deoarece la autovehicule nivelul masei de semnal este destul de variabil i are uzual un
decalaj de nivel a 1V deoarece toate circuitele se nchid prin acelai circuit de mas. Lucrul
cu nivele auto poate fi selectat soft pentru anumii pini de I/O. Datele de catalog pentru
nivelele de intrare arat importana nivelelor logice auto pentru mrirea imunitii la
perturbaii. n ipoteza unei tensiuni de alimentare VCC=5V tabelul nr.1 urmtor arat nivelele
admise la intrare pentru 3 configurri ale pinilor de intrare.
Dac pentru nivel High la intrare nivelele auto au aceeai margine de imunitate ca i nivelele
CMOS cu histerezis, la nivel Low de intrare marginea de imunitate este mult mai mare,
nivelul maxim admis pentru 0 logic fiind 2,5V fa de 1V la CMOS cu histerezis i 0,8V la
TTL. La familiile dedicate domeniului auto gama de temperaturi este mai larg dect la MC
de uz obinuit, astfel se solicit uzual temperaturi de lucru ntre -40C i 105C i temperaturi
de stocare ntre -55C i 150C.
Un microcontroller destinat industriei auto poate avea un mod specific de generare i control
al tactului:
multiplicarea intern a tactului cu bucl PLL
existena tactului de rezerv
modulaia tactului
43

Tabel. 4.1: Niveluri admise la intrare pentru 3 configurri ale pinilor de intrare (tensiunea de
alimentare VCC=5V)
Tip de nivel pentru nivel
High la intrare
Nivel CMOS cu histerezis
Nivel TTL
Nivel auto

Plaja admis n funcie de Plaja admis (Volt)


tensiunea de alimentare
ntre 0,8 VCC i VCC +0,3V
4V-5,3V
ntre 2V i VCC +0,3V
2V-5,3V
ntre 0,8 VCC i VCC +0,3V
4V-5,3V

Tip de nivel pentru nivel


Low la intrare
Nivel CMOS cu histerezis
Nivel TTL
Nivel auto

Plaja admis n funcie de Plaja admis (Volt)


tensiunea de alimentare
ntre VSS-0,3V i 0,2VCC
-0,3Vpn la 1V
ntre VSS-0,3V i 0,8V
-0,3V pn la 0,8V
ntre VSS-0,3V i 0,5VCC
-0,3V pn la 2,5V

Obinerea tactului intern prin multiplicarea tactului extern cu bucl PLL are 2 avantaje
majore:
Tactul extern poate fi de valoare mai mic, ceea ce nseamn o generare de perturbaii de
valoare mai mic.
Este posibil alegerea factorului de multiplicare prin software, deci pentru aplicaii care
accept viteze mai mici se obine un consum mai mic de la sursa de alimentare.
Pentru mrirea siguranei n funcionare, anumite modele de MC au integrat un tact de rezerv
RC integrat i un supervizor de tact. Atunci cnd supervizorul de tact detecteaz dispariia
tactului principal sau a subtactului comut pe tactul de rezerv (cu frecvena, precizia i
stabilitatea mai mic dect tactul principal sau subtact) i MC execut un program de urgen
(salvare date, comunicarea strii de defect etc.). Modulaia tactului are rolul de a reduce
interferenele electromagnetice (EMI) prin mprtierea spectrului semnalului de tact.
Modulele electronice care echipeaz un autovehicul au cteva sarcini care pot fi grupate n
urmtoarele categorii:
Preiau mrimi neelectrice prin intermediul senzorilor, prelucreaz valorile electrice dup
conversia analog numeric, comand elemente de execuie i eventual afieaz rezultate.
Comunic ntre ele pentru a se informa reciproc despre evenimentele din sistem.
Interfeele care echipeaz MC utilizate n auto trebuie s ndeplineasc n principal cteva
condiii importante:
Sigurana n funcionare (pentru c la viteza de rulare o eroare poate duce la pierderea de
viei omeneti)
Consum redus de energie (pentru c alimentarea se face de la baterie)

44

Pentru comunicaii ntre module trebuie folosite ct mai puine fire (cablajele sunt scumpe
i nesigure).
De regul, toate MC utilizate n prelucrarea mrimilor neelectrice trebuie s conin n
structur convertoare ADC, minimum 8 canale de conversie, cu aproximri succesive avnd
rezoluia de 10 bii. Toate aceste canale pot fi folosite i cu o rezoluie de 8 bii. Modul de
funcionare trebuie s permit conversii continue i baleierea unui grup de canale de achiziie
n mod continuu. Grupul de canale poate fi definit software. De asemenea achiziia poate fi
declanat software, printr-un semnal extern sau periodic, determinat de un timer. Timpul de
conversie de cteva microsecunde face posibil achiziia oricror semnale din domeniul auto.
Precizia i acurateea rezultatelor este mbuntit de posibilitatea de programare a timpilor
de eantionare i de meninere. Unele MC sunt echipate cu convertoare DAC, de regul
canale de 10 bii pentru a putea comanda sisteme analogice.
Multe din elementele de execuie sunt construite pe baza motoarelor pas cu pas i mai puine
pe baza motoarelor de curent continuu. Motoarele pas cu pas ofer precizie de poziionare i
simplitate de comand la costuri mici. Astfel, multe MC sunt echipate cu interfee specializate
pentru comanda motoarelor pas cu pas i a celor de curent continuu. Pot fi comandate att
motoarele pas cu pas unipolare ct i cele bipolare. Comanda fazelor cu un semnal PWM face
posibil controlul precis al curentului prin nfurare. Conectarea unei nfurri ntre 2 module
de control permite comanda cu cureni n ambele sensuri n nfurare, deci o comand
bidirecional pentru un motor de curent continuu. Driverele integrate permit comanda
nfurrilor cu curent mare, aa nct motoarele de mic putere pot fi conectate direct la MC.
De exemplu indicatoarele de bord (vitez, turaie) sunt realizate actual cu motoare pas cu pas.
Multe elemente care trebuie afiate sunt mai bine acceptate dac sunt afiate pe LCD. Multe
MC din familiile pe 8, 16 i 32 de bii conin interfee pentru comanda unui LCD n mod
caracter. La MC care echipeaz bordul auto este important semnalizarea auditiv pe lng
cea vizual. De aceea unele MC au integrat o interfa de generare sunete, cu posibiltatea
reglrii volumului i posibilitatea generrii tonurilor cu volum descresctor.
Interfeele specifice comunicaiilor de date n domeniul auto sunt:
1.LIN (Local Interconnect Network) este o interfa care realizeaz o comunicaie serial
asincron punct la punct pe un singur fir. Rata maxim de transfer este de 4 MBd i distana
de transmisie, n funcie de transceiverul folosit este de civa metri. Unul dintre circuitele
conectate la LIN trebuie s fie master, iar celelalte slave. Masterul genereaz un nivel space
pe perioada 13-16 bii urmat de un cuvnt 55H. Ca i slave, interfaa LIN detecteaz trecerea
liniei n space i calculeaz viteza de transmisie din cuvntul 55H recepionat. Ca avantaje se
poate meniona simplitatea interfeei, uurina de programare, viteza mare de transfer,
transferul pe un singur fir. Distana de transfer este suficient pentru aplicaii n interiorul
autovehiculului. Un dezavantaj major este lipsa siguranei n funcionare, nu se face nici
mcar verificarea corectitudinii transferului cu bit de paritate, de aceea aplicaiile trebuie s se
rezume la aplicaii care nu afecteaz sigurana autovehiculului.

45

2.CAN (Controller Area Network) este o magistral serial introdus de Robert Bosch GmbH
n 1986 pentru comunicaia de date ntre 3 module electronice pentru automobilele Mercedes,
deoarece interfaa UART nu putea lucra dect punct la punct. Magistrala CAN a fost dedicat
industriei auto dar s-a rspndit rapid i n alte domenii: automatizri, sisteme integrate etc.
Transmisia se face pe 2 fire, half duplex, cu mare vitez (pn la 1MBps) pe distane de
ordinul zecilor de metri. Arbitrarea magistralei se face prin detectarea coliziunilor iar un
sistem complex i eficient de detectare i tratare a erorilor face ca magistrala s fie extrem de
sigur. Fiecare interfa CAN conine cte un registru de erori pentru recepie i transmisie
care se incrementeaz cu 1 la o eroare minor i cu 8 la o eroare grav. Un numr de erori
mare face ca interfaa s fie exclus din comunicaie. Transmisia se realizeaz cu cadre i
fiecare mesaj conine un identificator care arat prioritatea mesajului. Interfeele receptoare
recepioneaz toate mesajele i le rein pe acelea cu prioritate mare sau cele care le sunt
destinate.
Avantajele nete pe care le are CAN fa de LIN au dus la rspndirea CAN, cu toate c preul
unui MC cu CAN este mai mare dect al celui cu LIN. Preul mai mare al CAN este justificat
de suprafaa mare de siliciu ocupat de aceast interfa, figura 4.1.

Figura 4.1: Chip de MC echipat cu 2 interfee CAN (sursa Fujitsu Microcontroller Seminar,
2003)
Se observ comparativ suprafaa ocupat de cele 2 interfee CAN fa de memorie. Multe MC
sunt echipate cu 2 canale CAN pentru a putea lucra n acelai timp cu CAN High Speed i
Low Speed.
Au fost standardizate mai multe tipuri de niveluri fizice de transfer pentru CAN. Un MC cu
interfa CAN poate lucra n oricare dintre aceste standarde fiind programat corespunztor i
avnd adugat n exterior transceiverul CAN potrivit. Standardele sunt:
ISO 11519 (CAN Low Speed) standardizeaz transmisia diferenial pe 2 fire. Cablul
este torsadat, ecranat sau neecranat, cu impedana caracteristic de 120 +/- 10%. La
captul liniei nu este nevoie de rezistene de adaptare pentru c viteza maxim de
transfer de 125kbps nu d natere la reflexii pe linie.
ISO 11898 (CAN High Speed) se folosete acelai tip de cablu, dar linia se adapteaz
cu rezistene de 120 pe fiecare fir. Lungimea de transmisie depinde de rata de
46

transfer. Astfel la 40 metri se poate obine 1Mbps iar la 6 km rata de transfer nu poate
depi 10kbps.
ISO 11898-3 (CAN High Speed tolerant la erori) este folosit ndeosebi n industria
auto. Linia este scurt de aceea nu este nevoie de adaptare, iar viteza maxim este
125kbps. Ca urmare topologia poate fi i alta dect cea liniar iar consumul de putere
este mai redus. Este de asemenea posibil transmiterea asimetric a datelor (pe un
singur fir) dac o linie se defecteaz. Pentru acest standard se folosesc transceivere
speciale cu comutatoare pentru transmisia simetric sau asimetric.
SAE J2411 standardizeaz transmisia CAN pe un singur fir i asigur o vitez de
83,3kbps (High Speed) i 33,3kbps (Low Speed). Transferul de date este dedicat
pentru zone mici, cum ar fi interiorul motorului. Firul de transmisie poate fi neecranat.

3.Flex Ray ( www.flexray.com ). Evoluia automobilelor a dus la creterea numrului de


senzori, elemente de execuie i sisteme de control, care a dus mai departe la nevoia unui
transfer de date mai rapid i cu toleran la defecte. Aceste cerine sunt ndeplinite de noua
magistral Flex Ray care urc viteza de transfer la 10Mbps. O schem bloc a unui sistem
complex de control auto este dat n figura 4.2, n care se observ c elementele de confort pot
fi comandate printr-o magistral mai simpl (LIN sau cel mult CAN) iar elementele mai
complexe cum ar fi motorul sau frnele se comand prin magistrale mai complexe (Flex Ray
sau cel puin CAN).
Cteva aspecte de legislaie n domeniu sunt:
1. Directiva RoHS (Restriction of Hazardous Substances in Electrical and Electronic
Equipment) a fost adoptat n Comunitatea European ( europa.eu.int ). Aceast directiv cu
numrul 2002/95/EC din 27 ian. 2003 interzice utilizarea anumitor substane n echipamentele
electronice utilizate n industria auto. Aceste substane sunt Cadmiul (Cd), plumb (Pb),
mercur (Hg), crom hexavalent (Cr), i doi compui ai bromului, polibrominat bifenil (PBB) i
polibrominat bifenil eter (PBDE). Procentul n care apar aceste substane trebuie s fie mai
mic de 0,1%.
2. AEC-Q100 este un document realizat de Automotive Electronics Council care definete
cteva condiii pe care trebuie s le ndeplineasc circuitele integrate pentru a fi acceptate n
industria auto ( www.aecouncil.com ). Se definesc teste n regim de stress (teste accelerate)
care, dac sunt trecute garanteaz circuitelor un anumit nivel de fiabilitate n aplicaii.
Se definete gama de temperaturi de funcionare a circuitelor astfel:
Denumire categorie
Grad 0
Grad 1
Grad 2
Grad 3
Grad 4

Gama de temperaturi de lucru n grade Celsius


-40 pn la +150
-40 pn la +125
-40 pn la +105
-40 pn la +85
0 pn la +70

47

Magistrala Flex Ray


Conexiune de
diagnostic
Controlul traficului de
date la motor i asiu

Controlul corpului
mainii

Control bord

Flex Ray / CAN

CAN / LIN

CAN

-control motor
-control asiu
-control direcie
control frnare
-bord
-sistem navigaie
-ecran de
informare

-control confort
-clima
-ui
-iluminare
-trap

Figura 4.2: Arhitectura unui sistem complex de control auto

Conform cu declaraiile productorului de ncadrare a temperaturii de lucru ntr-o anumit


categorie, testele se execut n acele condiii de temperatur.
Cteva dintre testele la care sunt supuse circuitele:
Variaia temperaturii
Variaia umiditii
Stocarea la temperaturi mari
Strpungerea izolaiei
Caracteristici la lipire
Descrcri electrostatice
Compatibilitate electromagnetic
ocuri mecanice
Acceleraii
Vibraii
Torsiuni
Timp de memorare i numr de programri pentru memoria FLASH
Rata de defectare timpurie
Fiecare tehnologie (CMOS, NMOS, TTL etc.) se testeaz cu teste diferite. De asemenea la
capsularea n plastic sau ceramic se folosesc teste diferite. Pentru anumite teste exist
standarde, de exemplu testarea la compatibilitate electromagnetic se face conform SAE
48

J1752/3, alte teste folosesc norme militare, MIL-STD-883 iar pentru unele teste se definesc
condiii specifice, descrise n AEC-Q100.
Rata de defectare timpurie se determin printr-o ncercare accelerat, supunnd probele la
cicluri de supra temperaturi urmate de reveniri la temperatura camerei, un timp de 48 de ore la
temperaturile maxime admise conform gradului declarat de productor sau 24 de ore la
temperaturi mai mari (cu 25 de grade pentru grad 0 i cu 20 de grade mai mari pentru grad 1,
2, 3 i 4).

4.2.Interfaa serial LIN


4.2.1.Descriere
De regul interfaa LIN este implementat mpreun cu UART din cauza faptului c formatul
datelor i transmisia sunt asemntoare. LIN UART este un modul de comunicaii seriale
sincrone sau asincrone cu dispozitive externe avnd i posibilitatea de a lucra n standardul
LIN (Local Interconnect Network). Comunicaia poate fi bidirecional i se poate lucra n
modul master /slave. Funciile i caracteristicile LIN UART sunt:

Mod de transmisie full duplex


Transferul poate fi sincron sau asincron
Rata de transfer este programat cu un generator de rat de Baud dedicat
Cuvintele de date pot fi pe 7 sau 8 bii. n mod sincron i LIN cuvintele pot fi doar de
8 bii.
Funcionarea master slave permite operarea master-ului cu mai multe circuite slave
Ceasul serial poate fi conectat permanent la SCK, astfel nct un transfer sincron poate
fi executat cu bit de start i stop.
Datele sunt codificate NRZ, de exemplu irul de date 0110100 se va codifica astfel,
figura 4.3.
0

Figura 4.3: ir de date codate NRZ


Modul de operare asincron (UART) are loc n condiiile n care tactul nu se transmite pe linie,
caracterele se transmit asincron dar biii n caracter se transmit cu un tact standard, care poate
fi ales la transmitor i la receptor. Tactul de transmisie se numete rata de Baud i trebuie s
fie acelai la transmitor i receptor. Transferul ncepe cu un bit de start (nivel 0) i se
termin cu unul sau 2 bii de stop. Datele sunt transmise ncepnd cu LSB sau MSB,
programabil. Bitul de paritate este opional i este transmis ntre ultimul bit de date i primul
bit de stop. Lungimea cuvintelor de date poate fi de 7 sau 8 bii, cu paritate sau fr, 1 sau 2
bii de stop. Structura unui cuvnt este dat n figura 4.4.
49

start

D0

D1

D2

D3

D4

D5

D6

Parit

D7

stop

stop

Biii D7, paritate i un bit de stop pot s lipseasc.

Sau A/D care


indic adresa /data
Figura 4.4: Structura cuvintelor n mod asincron
Operarea n mod sincron are loc n prezena unui tact transmis o dat cu datele. Datele pot fi
transmise fr separatori ntre octei i n acest caz tactul este transmis numai cnd se transmit
date sau n acelai format ca la transferul asincron (bit de start, stop i paritate), caz n care
tactul se transmite permanent, figura 4.5.
La operare n mod LIN (LIN UART) poate lucra ca master sau slave. Formatul datelor este pe
8 bii fr paritate, un bit de stop, cel mai puin semnificativ bit se transmite primul. Viteza de
transmisie este stabilit de master iar circuitele slave trebuie s se sincronizeze la aceast
vitez. Master-ul genereaz pe pinul serial de ieire un nivel space pe perioada 13-16 bii,
ceea ce constituie semnal de sincronizare pentru slave i nceputul unui mesaj LIN. Dup
aceasta se transmite un octet de 55H.

start

D0

D1

D2

D3

D4

D5

D6

D7

Parit

Stop

D4

D5

D6

D7

D0

D1

D2

Stop

Date cu separare
Un bit de stop poate s lipseasc.
Tactul este prezent permanent.

D0

D1

D2

D3

Date fr separare
Tactul este generat doar cnd se transmit date, altfel linia este n stare mark.

Figura 4.5: Operarea n mod sincron

Ca i slave, LIN UART recepioneaz trecerea liniei n space i trebuie s calculeze rata de
Baud din cuvntul 55H. Aceasta se realizeaz cu circuitul de captur care este legat intern la
LIN UART i care msoar timpul de recepie pentru octetul 55H. A opta parte a acestui timp
este timpul de bit. Conectarea circuitelor n mod LIN se face cu circuite transceiver LIN, ca n
figura 4.6.

50

Transceiver
LIN

Transceiver
LIN

TxD

TxD

RxD

RxD

Bus bidirecional
pe un fir LIN

Figura 4.6: Conectarea a 2 circuite n mod LIN cu transceivere

Modulul LIN UART funcioneaz astfel: datele seriale de intrare sunt eantionate, se
detecteaz biii de start i stop i cnd este recepionat un cuvnt se verific paritatea (dac s-a
programat transfer cu paritate). Cuvntul recepionat este transformat n format paralel cu
tactul dat de generatorul de rat de Baud. Cnd s-a terminat recepia unui caracter se poate
cere o ntrerupere de recepie. Traseul este invers la transmisie, se serializeaz caracterul i se
insereaz biii de paritate, start i stop.
Comunicarea ntre 2 circuite cu LIN are loc astfel:
Se programeaz LIN UART
La transmisie se trimite un cuvnt n registrul de transmisie (la o ntrerupere de
registru gol)
La recepie se citete registrul de recepie (la o ntrerupere de registru de recepie plin
sau prin testarea unui flag).
n mod master slave, master-ul trimite un cuvnt care conine adresa slave-ului, ceea ce este
semnalizat de bitul A/D (ultimul bit nainte de stop, inserat n cuvntul transmis). Fiecare
slave verific adresa, dac mesajul i este adresat. Transferul are loc astfel:
Se programeaz LIN UART
La transmisie se trimite un cuvnt n registrul de transmisie cu adresa (bitul A/D=1)
Se trimite adresa slave-ului
Se trimite un cuvnt cu A/D=0
Se trimite cuvntul de date n registrul de transmisie
La recepie se verific bitul A/D
Dac A/D=1 se verific adresa
Dac adresa coincide se verific bitul A/D
Dac A/D este 0 se recepioneaz date prin citirea registrului de recepie.

51

4.2.2.Exemplu de microcontroller cu interfa LIN integrat


MC ATMEL ATA6612/6613 sunt microcontrollere specializate pe aplicaii auto i au
integrat o interfa LIN care conine un transceiver, un stabilizator de 5V i un watchdog.
Aceste MC sunt de fapt System-in-Package (SIP) deoarece sunt formate dintr-un nucleu
ATmega88 sau ATmega168 i un modul LIN ATA6624 pe acelai chip, figura 4.7.

Magistrala
LIN

ATA 6612
MC
ATmega88

LIN
ATA6624

Figura 4.7: Structura ATA6612


Pentru a mri flexibilitatea n utilizare, ambele circuite componente au scoi toi pinii la
capsul. Circuitele sunt verificate AEC-Q100, temperatura de lucru fiind ntre 40Celsius i
125 Celsius i sunt alimentabile cu tensiuni pn la 40V, fiind astfel posibil alimentarea de
la bateria auto. Modurile de lucru Sleep i Silent asigur un curent consumat mic (10A n
Sleep i 57A n Silent). Rata de transfer maxim prin LIN este de 20kBaud i circuitul poate
lucra att ca master ct i ca slave. Nivelele de tensiune pe linia de transmisie LIN pot fi ntre
+27V i 40V.
Schema bloc simplificat a modulului LIN este dat n figura 4.8.

Vbat
EN
WAKE

Ieire din
sleep sau
silent

KL-15

Protecie
subtensiune

Regulator

Watchdog

Vcc

NRES

NTRIG
TxD

RxD

Control
fronturi

Filtru

LIN
Detecie
supracurent i
supratemperatur

Figura 4.8: Schema bloc a modulului LIN

52

Modurile de funcionare ale modulului LIN sunt:


1. Normal, n care se transmit i se recepioneaz date. Consumul este de aproximativ 50mA;
2. Silent, comandat de pinul EN cu un front cztor (TxD n stare High). Magistrala LIN este
decuplat de la rezistena de pull up pentru ca un scurtcircuit la mas s nu duc la
creterea curentului. Regulatorul de tensiune este pornit. Ieirea din acest mod se poate
face cu pinul EN sau KL_15 care admite tensiuni mari de comand (12V- bateria auto)
sau cu pinul WAKE. Ieirea se poate face de asemenea cu un front cztor pe magistrala
LIN urmat de un nivel High meninut un anumit interval de timp (remote wake-up).
3. Sleep, comandat de pinul EN cu un front cztor (TxD n stare Low) i este asemntor cu
modul Silent cu diferena c i regulatorul de tensiune este oprit.

Ieirea din mod Sleep sau Silent i intrarea n mod Normal se face prin starea de Fail Safe, o
stare intermediar n care comunicaia LIN este oprit pn la restabilirea parametrilor
normali de lucru.
Blocul de protecie la scurtcircuit i supratemperatur comand intrarea n mod Sleep sau
Silent dac linia LIN este scurtcircuitat la mas sau la Vcc pn cnd circuitul se rcete.
Blocul de protecie la subtensiune verific tensiunea de +5V i comand un RESET al MC
prin semnalul NRES la scderea tensiunii sub o anumit limit.
Watchdog-ul ateapt un semnal de redeclanare pe pinul NTRIG ntr-un interval de timp
Twd i dac semnalul nu este primit se genereaz un RESET pe pinul NRES. Frecvena
oscilatorului pentru watchdog este ajustabil printr-un rezistor extern. n modurile Sleep i
Silent watchdog-ul este oprit. Diagrama de timp pentru un RESET generat de o subtensiune i
de watchdog este dat n figura 4.9.

Twd

Twd

Vcc
NTRIG
NRES
RESET (4ms) datorit
subtensiunii

RESET (4ms) datorit


watchdog-ului

Figura 4.9: Diagrame de timp pentru generarea semnalului de RESET NRES

53

Schema electric a unui nod LIN slave dat n figura 4.10 arat simplitatea constructiv n
aplicaii i numrul mic de componente care se folosesc.

Figura 4.10: Aplicaie: nod LIN slave implementat cu ATA6612/6613

4.3.Magistrala CAN
4.3.1. Descriere
CAN (Controller Area Network) este o magistral serial introdus de Bosch. Transmisia se
face pe 2 fire, half duplex, cu mare vitez, n condiii de siguran mare de funcionare. CAN
poate lega teoretic 2032 dispozitive dar practic se pot conecta maximum 110 noduri. Modurile
de detectare i tratare a erorilor fac ca aceast magistral s fie preferat pentru medii
perturbate sau pentru aplicaii auto, unde funcionarea sigur este important.
CAN folosete protocolul CSMA/CD+AMP (Carrier Sense Multiple Access/ Collision
Detection + Arbitration on Message Priority). nainte de a trimite un mesaj transmitorul
CAN verific dac magistrala este liber, ncepe s transmit, apoi verific existena unei
coliziuni. Acelai principiu este aplicat i la Ethernet, unde ca reacie la apariia unei coliziuni
transmitoarele abandoneaz transmisia i rencearc dup perioade aleatoare de timp, ceea
ce face ca transmisia s aib probleme la un numr mare de dispozitive cuplate pe linie. La
CAN este aplicat un alt principiu de reacie dup detectarea unei coliziuni. Fiecare mesaj
54

CAN conine un identificator (11 sau 29 bii) i toate nodurile receptoare recepioneaz
mesajul i i aplic un test de acceptan. Dac identificatorul este recunoscut ca relevant
mesajul este procesat, dac nu este ignorat. Prioritatea unui mesaj este dat de identificator, cu
ct identificatorul reprezint un numr mai mic, cu att prioritatea este mai mare. Mesajele cu
prioritate mai mic ateapt eliberarea magistralei pentru a fi trimise.
Linia de transmisie fiind unic pentru toate nodurile (dispozitivele cuplate), nivelul de 0 se
numete dominant i nivelul 1 recesiv. Dac 2 noduri transmit simultan unul valoarea 0 i
unul valoarea 1, linia trece n 0 (de aceea nivelul 0 se numete dominant). n acest mod se
poate detecta o coliziune, cnd un transmitor transmite un nivel de 1 i citete pe linie un
nivel de 0 nseamn c mai multe transmitoare transmit simultan. n acest caz transmitorul
cu prioritate mai mic abandoneaz transferul.
Dou noduri nu pot transmite mesaje cu acelai identificator. Dac acest lucru se ntmpl
totui i transmiterea este simultan nu se poate detecta coliziunea. Coliziunea este detectat
mai trziu, n cmpul de date i se utilizeaz mecanismul de gestionare a erorilor CAN i nu
mecanismul de arbitrare.
Cadrele CAN pot fi de 2 feluri:
Cadre de date
Cadre de cerere de informaie (Remote Frame). Un nod poate cere informaii transmind
un astfel de cadru. Nodul care dispune de aceast informaie trebuie s rspund.
Magistrala CAN poate fi:
CAN standard (Versiunea 2.0 A) cu identificator pe 11 bii
CAN extins (Versiunea 2.0 B) cu identificator pe 29 de bii.
Structura unui cadru CAN 2.0A este dat n figura 4.11.

SOF

Cmp de control

Cmp de arbitrare

Identificator 11 bii
Bus liber

RTR

R1

R0

Nivel 0 logic
(dominant)

Cmp de date 0-8


Octei

DLC

Date

Cmp
CRC

ACK

EOF INT

CRC

Nivel 1 logic
(recesiv)

Figura 4.11: Cadru CAN 2.0A


SOF- cmp de start (Start of Frame).
RTR- (Remote Transmission Request) un bit care indic un cadru de cerere de informaie.
Cadrele de cerere de informaii nu au cmp de date.
R0, R1- rezervai
DLC- (Data Length Code) indic numrul de octei n cmpul de date.

55

CRC- cmp de 15 bii de verificare a corectitudinii datelor prin cod ciclic. Cmpul CRC se
termin cu un bit recesiv.
ACK- este un cmp de confirmare format din 2 bii, primul este un bit dominant trimis de
toate nodurile care au primit mesajul iar al doilea bit este recesiv i este un bit de delimitare.
EOF- (End of Frame) este format din 7 bii recesivi
INT- (INTermission) const n 3 bii recesivi dup care magistrala se consider liber.
Cadrul de date CAN 2.0B este la fel cu cadrul de date 2.0A cu excepia cmpului de arbitrare
care este reprezentat n figura 4.12 i care conine 2 zone, una cu identificatorul pe 11 bii i
una cu restul de 18 bii de identificare:
Cmp de arbitrare
Identificator de 11 bii

SRR IDE

Identificator de 18 bii

RTR

Figura 4.12: Cmp de identificare ntr-un cadru CAN 2.0B


SRR- (Substitute Remote Request) este un bit recesiv. Dac se realizeaz arbitrarea ntre un
cadru 2.0A i unul 2.0B mesajul 2.0A va avea prioritate mai mare dac identificatorul de 11
bii este identic.
IDE- (Identifier Extension) este un bit care indic dac cadrul de 2.0A sau 2.0B.
Observaii privind compatibilitatea ntre 2.0A i 2.0B

Controllerele 2.0B (numite active) pot transmite sau recepiona mesaje cu ambele
structuri.
Controllerele 2.0A obinuite, la recepia unui cadru 2.0B vor genera o eroare.
Exist controllere 2.0A (numite pasive) care pot recepiona cadre 2.0B dar le vor
ignora.

Cadrul de cerere de informaie are structura unui cadru de date cu bitul RTR recesiv i fr
cmp de date, figura 4.13.
SOF

Cmp
CRC

Cmp de arbitrare

RTR

Identificator 11 bii

ACK

EOF INT

CRC

Figura 4.13: Cadrul CAN de cerere de informaie


CAN este conceput pentru a compensa timpii de ntrziere datorate liniilor lungi i a
diferenelor dintre tactele fiecrui nod. Tactul CAN d cuanta de timp T cu care se formeaz
bitul CAN. Fiecare timp de bit este mprit n 4 sectoare, figura 4.14.
Segmentul SYNC de sincronizare este intervalul de timp n care se ateapt frontul activ
al impulsului. Are valoarea T.

56

Segmentul de propagare compenseaz ntrzierea pe linie i se poate programa ntre 1 i


8T.
Timp de bit
SYNC

PROP

FAZA1

FAZA 2

Punct de eantionare pentru sincronizare


Bit de date recesiv
transmis pe linie

Figura 4.14: Timpul de bit


Segmentele FAZA 1 i FAZA 2 sunt folosite pentru resincronizare. Resincronizarea se face
pe frontul de la nivel recesiv la dominant (descresctor). Se definete SJW (Synchronisation
Jump Width) ca numrul maxim de cuante T cu care se poate face resincronizarea. Dac
transmitorul este mai rapid (bit de date mai scurt) frontul descresctor apare n FAZA 1 i
FAZA 1 se dubleaz sau se prelungete cu o cuant T (sau cu mai multe, dar nu mai mult de
SJW). Dac frontul descresctor apare n FAZA 2, FAZA 2 se scurteaz. Resincronizarea este
necesar pentru recepia corect a biilor recepionai. Codarea la transmisie se face n cod
NRZ cu mpnare de bii (bit stuffing) i este posibil recepia mai multor bii cu aceeai
valoare logic.
Codarea NRZ asociaz bitului de 1 un nivel recesiv i bitului de 0 un nivel dominant. Dac n
irul de date apar mai mult de 5 valori cu acelai nivel logic se introduce automat un bit de
valoare contrar.
Detectarea erorilor i semnalizarea lor face din CAN o magistral de mare siguran. Nodurile
defecte nu afecteaz traficul pe magistral. Procesarea erorilor implic urmtorii pai:
Eroarea este detectat de controller (la recepie sau transmisie)
Se transmite un cadru de eroare
Se incrementeaz un registru de eroare
Mesajul eronat este abandonat n toate nodurile, apoi este retransmis.
Erorile detectate pot fi:

Erori de bit
1. Eroare de mpnare (bit stuffing). Codarea datelor se face NRZ cu mpnare de
bii prin adugarea unui 1 dup 5 bii consecutivi de 0 sau un 0 dup 5 bii
consecutivi de 1. Nodul de recepie detecteaz un numr mai mare de 5 bii
consecutivi cu aceeai valoare logic.
2. Eroare de bit, cnd un transmitor care citete tot ce transmite detecteaz o
nepotrivire ntre ceea ce a transmis i ceea ce a recepionat (n alt parte dect

57

n cmpul de arbitrare sau n cmpul de confirmare ACK) genereaz o


condiie de eroare.

Erori de mesaj
1. Eroare de sum de control CRC
2. Eroare de cadrare. n cadrul CAN se transmit anumii bii cu valori predefinite.
Dac receptorul detecteaz un astfel de bit eronat se genereaz o eroare
(Frame, Format sau Form Error).
3. Eroare de confirmare, dac transmitorul determin c mesajul nu a fost
recepionat (nu s-a recepionat ACK).

Un modul CAN poate fi din punctul de vedere al gestionrii erorilor n una dintre 3 stri:
Stare activ, care este modul de operare normal n care apariia unei erori
poziioneaz un bit de eroare
Stare pasiv, este un mod n care poate opera normal, n condiiile n care nodul a avut
probleme dese de transmisie sau recepie a mesajelor.
Blocat, nu se pot transmite sau recepiona mesaje. Nodul poate iei din aceast stare
printr-un RESET comandat de calculatorul gazd.
Numrtorul de erori se modific n urmtoarele condiii:
La o recepie eronat numrtorul rx_count se incrementeaz cu 1
La recepia unui bit dominant dup transmiterea unui bit de eroare, rx_count se
incrementeaz cu 8.
Cnd un transmitor trimite un bit de eroare tx_count se incrementeaz cu 8.
Dup recepia cu succes a unui cadru rx_count se decrementeaz cu 1.
Nodurile accept maximum 7 bii dominani dup transmisia unui bit de eroare. Dac
se transmit / recepioneaz mai mult de 14 bii dominani sau 8 bii dominani urmai
de un bit de eroare rx_count se incrementeaz cu 8.
Cadrul de eroare este reprezentat n figura 4.15.
Cadru de eroare

Flag de
eroare

Delimitator

Figura 4.15: Cadrul CAN de eroare

Flagul de eroare activ conine 6 bii dominani


Flagul de eroare pasiv conine 6 bii recesivi, dac nu sunt suprascrii de bii
dominani de la alte noduri, ntr-o stare de eroare activ (mai grav).
58

Observaie: acest cadru nu respect regula de codare CAN cu bit stuffing pentru c
delimitatorul este format din 8 bii recesivi.
Un cadru de eroare este transmis cnd un nod detecteaz o eroare. Cadrul transmis nu permite
altor noduri s accepte mesajul eronat. Dup transmisia cadrului de eroare toate nodurile
detecteaz violarea de cod i transmit cadre de eroare. Dup acest pas transmisia de cadre se
reia. Dac cadrul de eroare este pasiv (6 bii recesivi) magistrala nu se blocheaz.
Tipuri de CAN:
1. Basic CAN echipeaz controllerele mai ieftine. Conine 2 buffere de recepie de tip
FIFO i unul de transmisie. La recepie n timp de MC citete un mesaj, un altul se
poate recepiona n FIFO. Mesajele recepionate sunt verificate cu un filtru de
acceptan de 2 octei pentru a se identifica mesajele care trebuie preluate. Verificarea
identificatorilor este hardware i se face pe mai puini bii pentru a mri viteza.
Verificarea final a identificatorilor se face software. Cadrele de cerere de informaie
nu sunt generate hardware, ele trebuie generate prin program.
2. Full CAN conine un set de buffere de cadre numite csue potale. La iniializare
fiecrei csue potale i se asigneaz un identificator. Cadrele de cerere de informaie
sunt gestionate hardware. Filtrele de acceptan verific n ntregime identificatorii i
recepia se face n csua potal de destinaie.
4.3.2.Transceiver CAN Microchip MCP2551
Circuitul transceiver CAN este o interfa ntre semnalele digitale de la nivelul MC i
semnalul diferenial de magistral CAN. Transceiverul protejeaz MC de vrfurile de tensiune
prezente pe magistrala CAN datorit EMI sau descrcrilor electrostatice. Principalele
caracteristici ale circuitului sunt:
Implementeaz standardul ISO 11898 pentru nivelul fizic de transmisie
Viteza maxim de transfer este 1Mbps
Panta semnalului emis pe magistral poate fi ajustat extern ceea ce reduce spectrul de
frecven al perturbaiilor generate
Detecteaz erorile de mas (permanent dominant) i decupleaz driverul de ieire
Curentul de funcionare poate fi redus prin intrarea n starea de standby
Are protecie la scurtcircuit, la supratensiune i la supratemperatur
Se pot conecta pn la 112 noduri
Gama de temperaturi de funcionare poate fi cea industrial (I) 40C la +85C sau cea
extins (E) 40C la +125C
Capsula este PDIP cu 8 pini
Schema bloc a circuitului este dat n figura 4.16.
Starea logic dominant este atunci cnd ntre CANH i CANL tensiunea diferenial este mai
mare dect un prag (1,2V) iar starea recesiv cnd tensiunea diferenial este mai mic dect
un prag (0V). Circuitul poate fi comandat s intre ntr-o stare cu consum redus (standby)
printr-un nivel High pe pinul Rs. n mod standby circuitul citete magistrala CAN (mesaje
59

Low Speed). MC primete datele, supravegheaz magistrala i poate comanda viteza


nominal, dar primul mesaj poate fi pierdut.
Vdd

Protecie termic

TxD
Rs

CANH
CANL

Control driver

RxD
Vref

Referin

Receptor

MCP2551
Vss

Figura 4.16: Schema bloc a transceiverului CAN MCP2551

Panta semnalelor emise pe magistral poate fi controlat cu un rezistor ntre pinul Rs i mas
(control posibil n modul de lucru cu vitez mic). n modul High Speed CAN, pinul Rs se
leag la mas. Dac durata inerii n 0 a magistralei depete 1,2ms (20 de bii dominani
consecutivi) driverul de ieire este decuplat de la linie.
Dac circuitul se supranclzete (mai mult de 165C) circuitul de protecie decupleaz
driverul de ieire pn le revenirea temperaturii la normal. Tensiunea de alimentare Vdd este
de +5V (ntre 4,5V i 5,5V) iar tensiunea de referin este Vdd/2.

4.3.3.Exemplu de microcontroller cu CAN ncorporat


Microcontrollerul ATMEL AT90CAN32/64/128 a fost special conceput pentru aplicaii auto.
Pe lng modulele interne comune pentru familia AT90, microcontrollerul are implementat un
modul intern CAN 2.0B activ (poate lucra i cu cadrele CAN 2.0A), viteza de transfer
maxim 1Mbps i buffere pentru 15 mesaje (Message Objects). Varianta AT90CAN32
dispune de 32K Bytes memorie Flash, iar celelalte variante 64K respectiv 128K.
Gama de temperaturi de lucru este pentru circuitele marcate cu T 40 la +85 grade Celsius,
similar cu gama industrial dar cu calitate auto, la cele marcate cu T1 40 la +105 grade
(gama auto redus) i Z pentru gama auto 40 la 125 grade.

60

Microcontrollerul implementeaz pentru interfaa CAN nivelele ISO OSI:


Nivel fizic: semnalizare la nivel fizic (subnivelul Physical Signalling PLS);
Nivel Data Link: subnivelele Logical Link Control LLC i Medium Access Control MAC.
Nivelul de prioritate al mesajului este specificat n identificatorul mesajului. Prioritatea este
cu att mai mare cu ct numrul binar care codific prioritatea este mai mic. Coliziunea este
detectat prin citirea liniei. Dac un circuit CAN situat ntr-un nod pune pe linie o valoare
recesiv i citete una dominant nseamn apariia unei coliziuni. Circuitele care detecteaz o
coliziune devin receptoare ale mesajului n curs i rencearc transmisia doar dup eliberarea
magistralei.
n figura 4.17 este dat diagrama de timp a unei arbitrri de magistral:
Nodul A ctig magistrala
Nod A /TxCAN
Nod B /TxCAN
Bus CAN
Figura 4.17: diagrama de timp a unei arbitrri de magistral
Modul de lucru cu csu potal (Message Objects i buffere de date) este artat n figura
4.18. n fiecare dintre cele 15 buffere din csua potal exist un mesaj de transmis sau
recepionat mprit n date i informaii asupra mesajului (Message Object MOb)
identificator, durate de bit, masc de acceptare. Csua potal permite compararea
identificatorului mesajelor CAN recepionate cu identificatorii stocai n fiecare buffer i
salvarea mesajelor cu acel identificator. La cadrele de cerere de informaie (Remote) se
rspunde automat cu cadrul de date corespunztor. Acest mod de lucru permite reducerea
activitii CPU, sarcinile fiind preluate hardware de csua potal.
Un MOb (Message Object) este un descriptor care permite utilizarea unui cadru CAN, prin
descrierea cadrului ca un obiect. Fiecare MOb poate fi n una dintre strile (stabilite prin
programare):
Oprit;
Transmisie;
Recepie;
Rspuns automat.
La transmisie fiecare MOb funcioneaz astfel:
Se programeaz zona de identificare i zona de date;
Canalul CAN verific toate MOb programate pentru transmisie i trimite cadrele ncepnd
cu cel mai prioritar;
Dup transmisia datelor se cere o ntrerupere.

61

Csua potal
Buffer
date 14

Message
Object 14
Canal CAN

-mod de lucru-timp de bitBuffer


date 1

Message
Object 1

Buffer
date 0

Message
Object 0

RX
TX

Figura 4.18: structura csuei potale CAN cu 15 buffere


La recepie fiecare MOb funcioneaz astfel:
Se programeaz zona de identificare i masca de identificare;
La recepia unui cadru CAN canalul CAN verific identificatorul i dac apare o
coinciden salveaz cadrul. Numrul de octei de date este actualizat din cadrul recepionat;
Dup recepia cadrului se cere o ntrerupere.
Canalul CAN poate lucra n urmtoarele moduri de lucru:
Normal, transmisia i recepia pornite, tactul pornit;
Standby, receptor oprit, transmitor oprit (nivel recesiv pe TxCAN intern), tactul pornit,
informaiile din controller sunt accesibile;
Ascultare, receptor pornit, transmitor oprit, numrtoare de erori invalidate.
Timpul de bit este realizat de canalul CAN coform cu figura 4.19. Dac frecvena CAN este
8MHz atunci debitul de informaie va fi de 1Mbps, fiecare bit este transmis cu 8 tacte, dac nu
apare introducerea de tacte suplimentare. TSYNC este introdus pentru a sincroniza diferitele
noduri. Segmentul de propagare TPRS este folosit pentru a compensa ntrzierile pe
magistral. Punctul de eantionare este momentul n care se citete valoarea bitului. Timpii
fazei 1 TPH1 i fazei 2 TPH2 pot fi unul scurtat i cellalt prelungit pentru a modifica poziia
punctului de eantionare.
Sistemul de ntreruperi CAN cere o ntrerupere n urmtoarele cazuri:
La recepia complet a unui mesaj;
La transmisia complet a unui mesaj;
La apariia unei erori: de bit, de mpnare (stuff), de CRC, de format, de confirmare);
La umplerea unui buffer de mesaj
La trecerea magistralei n stare OFF;
62

La o eroare de Overrun a timerului CAN.

Timpul de bit
FCAN
TSYNC

TPRS

TPHS1

TPHS2
Punct de
eantionare

Punct de
transmisie

Figura 4.19: Timpul de bit


n figura 4.20 se poate vedea o schem electric a unui microcontroller AT90CAN cuplat la
magistrala CAN prin intermediul unui transceiver CAN (www.olimex.com).

Figura 4.20: Schema electric a unui microcontroller CAN cu transceiver

63

4.4.Magistrala Flex Ray


4.4.1. Descriere
Flex Ray este o nou arhitectur de interfa n care viteza de transfer ajunge la 10Mbps, cu
elemente de redundan pentru a asigura o siguran mare de utilizare, dedicat industriei
auto. Arhitectura magistralei este dat n figura 4.21:
Gazda
Interfaa cu gazda
Generarea protocolului
Interfaa cu canalul fizic

Canal A

Canal B

Figura 4.21: Arhitectura magistralei Flex Ray


Topologia reelei n cazul unui singur canal poate fi de tip magistral liniar sau stea multipl.
n cazul a 2 canale cu aceleai configuraii de tip magistral sau stea se pot construi reele n
care canalele sunt redundante. n cazul reelelor cu 2 canale redundante un canal se poate
defecta i sistemul i pstreaz funcionalitatea. La nivel fizic interfaa admite un gardian de
magistral care realizeaz detecia erorilor n domeniul timp i care interacioneaz cu gazda
prin comunicarea erorilor, configurare, activare sau dezactivare.
Blocul de generare al protocolului realizeaz mesajul Flex Ray care este detaliat n figura
4.22:
Segment static

Sloturi statice

Segment dinamic

Minisloturi

Uniti de informaie numite microtick

Figura 4.22: Cadrul Flex Ray

64

Simbol

Timp bus inactiv

Cadrul conine:
Un bit de gestionare a reelei
Un bit care indic un cadru gol
Un bit de cadrare
Identificator de cadru pe 12 bii
Lungimea cadrului (n octei) codificat pe 7 bii
CRC pentru antet pe 11 bii
Identificator de mesaj (opional) pe 16 bii
Date, lungime variabil
CRC pentru date pe 24 de bii

Antet pe 5
octei

Date 0-254
octei + CRC

Comunicarea este de 2 tipuri dup modul de iniiere:


1. Comunicat iniiat la anumite momente de timp n care ciclul de comunicaii ncepe
periodic, de exemplu la ntreruperile unui timer.
2. Comunicare iniiat de un eveniment extern
Mesajele se transmit n cadre. Cadrele pot fi transmise astfel:
1. Cadrele statice se transmit repetitiv, de exemplu cadrele de control a funcionrii unui
subansamblu
2. Cadrele dinamice se transmit la cerere, de exemplu informaia de diagnostic.
Fluxul de date poate fi urmrit n figura 4.23.

Modulul de ataare /
separare protocol separ
antetul de date i trimite
datele ctre gazd la
recepie i adaug
informaia de protocol la
transmisie.

Gazda

Interfaa cu gazda

Generarea protocolului

Interfaa cu canalul fizic

Transmisie

Recepie

Figura 4.23: Fluxul de date

Structura segmentelor statice transmise n cazul comunicaiei pe 2 canale este prezentat n


figura 4.24.
65

1
Canal A
Canal B

Cadru 1

Cadru 2

Cadru 1

Cadru 2

Slot static 1

Numrtor de sloturi

Slot static 2
Segment static

Figura 4.24: Segment static


Lungimea unui slot static este constant. Un mesaj poate avea un numr variabil de sloturi.
Numrtorul de sloturi se incrementeaz cu 1 dup fiecare slot. La transmisia unui segment
dinamic alocarea timpului pentru cele 2 canale este dinamic, figura 4.25.
m
Canal A

+1

+2

+3

Cadru m

Numrtor de sloturi A

Cadru m+3

Canal B

Cadru m+3
m

+1

+2

Numrtor de sloturi B

+3

Figura 4.25: Segment dinamic


Sincronizarea se realizeaz de ctre generatorul de protocol la nivel de unitate de informaie
(microtick). Cea mai mare deviaie permis ntre tactele nodurilor conectate este de o
microsecund. Sincronizarea se execut cu ajutorul unor cadre de sincronizare trimise de
noduri.
Serviciul de gestionare al erorilor se bazeaz pe principiul de a nu renuna niciodat la
transferul unui mesaj. O eroare grav este de exemplu pierderea sincronizrii (prea puine
cadre de sincronizare recepionate de la un nod).
Serviciul de simboluri contribuie la mrirea siguranei n funcionare. Simbolurile sunt trimise
la sfritul cadrului de ctre controller i trebuie recepionate de ctre controllerul destinaie
formnd un sistem de supraveghere de tip Watchdog. Simbolurile pot fi de stare normal sau
de alarm.
Serviciul de economie de energie este folosit pentru micorarea energiei consumate. Ieirea
din starea de adormit se poate face la cererea oricrui nod care trimite un cadru de trezire.
Serviciul de diagnostic conine 2 tipuri de teste:
Monitorizarea cu gardianul de magistral, executat de generatorul de protocol
Teste de comunicaie solicitate de gazd.

66

Rezultatele testelor sunt comunicate gazdei care poate decide excluderea nodului din
comunicaie.
n cazul n care comunicaia este iniiat de un eveniment extern (Event Triggered Mode)
cadrul curent este abandonat, figura 4.26.
Slave-ul abandoneaz cadrul
dup recepia simbolului

Segment static

Segment dinamic

Pauz

Simbol

Eveniment
extern

Timp ntre cadre

Segment static

Masterul
abandoneaz
cadrul curent

Cadrul abandonat

Cadrul iniiat de
eveniment

Figura 4.26: Cadrul iniiat de un eveniment extern

4.4.2.Interfee specializate i microcontrollere FlexRay


Fujitsu MB88121 este un circuit specializat care implementeaz protocolul FlexRay i adaug
conectivitatea FlexRay microcontrollerelor pe 16 sau 32 de bii. Circuitul are dou canale
FlexRay i un buffer de mesaje de 8kByte. Interfaa de cuplare cu microcontrollerele este pe
magistrala paralel extern multiplexat sau nemultiplexat sau prin interfaa serial SPI.
Tipul de magistral de conectare se poate selecta cu valori logice la pinii de mod sau prin
programare. Modul de transfer poate fi programat, prin ntreruperi sau DMA. Circuitul poate
fi alimentat n gama 3-5,5V, iar tactul este de 80MHz realizat prin multiplicare intern cu o
bucl PLL, tactul extern fiind de 4, 5, 8 sau 10MHz stabilizat cu cuar sau provenind de la
microcontrollerul gazd. O schem bloc simplificat este dat n figura 4.27.
MB88121
Transceivere
FlexRay

Microcontroller
gazd

Port A

RAM A

Port B

RAM B

Gestionare
mesaje

Interfaa cu
microcontrollerul
Suport DMA
i ntreruperi

RAM pentru
mesaje

Buffere de date

Gestionarea
erorilor

Gestionarea
tactului i a
timpului

Gestionarea
erorilor

Figura 4.27: Schema bloc simplificat a interfeei specializate FlexRay


67

O schem de conectare pe magistrala extern nemultiplexat ntre un microcontroller i


interfaa FlexRay este dat n figura 4.28.
Conectarea permite lucrul prin DMA solicitat de interfa cu o cerere DMA (DMA_REQ) i
lucrul n ntreruperi solicitat cu semnalele INT0, INT1 i INT2. Tactul de magistral i
semnalele de comand a sensului de transfer sunt generate de microcontrollerul gazd
(BCLK, RD, WR). Interfaa este selectat cu semnalul CS. Modul de lucru al interfeei cu
transfer pe magistral este comandat prin nivelul logic al semnalelor MD.

Figura 4.28: Schema de conectare ntre un microcontroller i interfaa FlexRay pe magistrala


extern
Pentru punerea la punct a aplicaiilor Fujitsu pune la dispoziia utilizatorilor un driver pentru
FlexRay inclusiv codul surs i exemple - software pentru o punte CAN- FlexRay. Se pun de
asemenea la dispoziie contra cost sisteme de evaluare i starter kit-uri.
Un microcontroller cu FlexRay integrat este modelul MB91F465XA de la Fujitsu. Schema
bloc a acestui microcontroller este dat n figura 4.29.
Acest nou microcontroller din familia Fujitsu este alimentat cu o singur tensiune, ntre 3 i
5,5V iar tactul intern este de 100MHz obinut prin multiplicare cu un PLL de la un cuar
extern de 4MHz. Memoria Flash poate fi protejat la citire. Microcontrollerul este echipat cu
cele trei interfee utilizate n tehnica auto: FlexRay (2 canale), CAN (2 canale, fiecare cu cte
32 de buffere de mesaje) i LIN (3 canale). Modulele interne asigur o gam larg de
funcionaliti: 17 canale de conversie analog digital pe 10 bii, 12 canale PPG (Generator
programabil de impulsuri), 6 canale cu registre de comparare i generare a unui semnal la
coinciden, 8 canale de captur (memorarea valorii unui numrtor la apariia unui semnal
din exterior), watchdog hardware, ceas de timp real, interfa I2C, etc.

68

MB91F465XA
Modulator de
tact
Supervizor
de tact

CPU 32 de bii
Core FR70
Tact 100MHz

FlexRay A
FlexRay B

Flash 544k

CAN A
CAN B

SRAM 32k

Module integrate:
-2 timere de 8 canale,
16 bii
-PPG 12 canale
-11 canale cerere
ntrerupere
-5 canale DMA
-Ceas de timp real
-Watchdog hardware
-17 canale ADC
-8 canale Input
Capture
-6 canale Output
Compare

LIN A
LIN B
LIN C
I2C
Figura 4.29: Schema bloc a microcontrollerului Fujitsu MB91F465XA
La
Automotive
Engineering
Exposition
n
(http://jp.fujitsu.com/microelectronics/events/exhibition/2007aee.html) n 2007
prezentat un demonstrator al modului de lucru cu magistrala FlexRay, figura 4.30.

Figura 4.30: Demonstrator al magistralei FlexRay

69

Japonia
a fost

4.5. Monitorizarea presiunii n pneuri (Tire Pressure Monitoring System TPMS)


n prezent toate autovehiculele care se fabric au ncorporate elemente de siguran minimale,
de exemplu airbag-uri sau ABS. Presiunea incorect n pneuri devine o cauz important a
accidentelor i de asemenea o cauz a degajrii suplimentare de bioxid de carbon (o presiune
mai mic cu 15% produce un consum mai mare de combustibil cu 5% i o degajare
suplimentar de bioxid de carbon). Din acest motiv sistemul de msurare automat a presiunii
n pneuri a devenit obligatorii n SUA ncepnd din 2008 i se preconizeaz s devin
obligatoriu n Europa ncepnd din 2012.
Monitorizarea presiunii se poate face cu metode indirecte pe baza unor parametri preluai din
exterior, cum ar fi viteza de rotaie preluat de la senzorii ABS, diametrul roii sau vibraiile
n mers. Aceste metode au avantajul unui pre mic dar acurateea de msurare este de
asemenea mic. Metodele directe implic existena unui traductor de presiune,
microcontroller i emitor n pneu i a unui sistem de centralizare de date cu receptor i
microcontroller cuplat pe o magistral a mainii. Dezavantajele sunt preul mai mare i
nglobarea unui dispozitiv electronic n pneu inclusiv cu alimentare proprie.
O schem bloc a unui sistem de msur propus de ATMEL (www.atmel.com) care asigur un
consum redus de energie (bateria dureaz pn la 10 ani) este dat n figura 4.31.
Centralizator al msurrilor
MC de
control
LIN sau
CAN

Driver de
anten
ATA5286

n pneu
Wake-up
125kHz

Receptor
wake-up
ATA5283

Microcontroller
cu transmitor
868MHz
ATAR862

Receptor
T5743
Date
868MHz
sau
433MHz

Senzor de presiune
Senzor de temperatur

Alimentare

Figura 4.31: Schema bloc a sistemului de monitorizare a presiunii n pneuri


Modulul din pneu conine un MC ATMEL ATAR862 cu transmitor de date integrat care
preia datele de la un senzor de presiune. Pentru c este foarte simplu s se mai ataeze un
senzor schema a fost completat cu un senzor de temperatur a aerului din anvelop.
Microcontrollerul este oprit pn apare o cerere de msurare transmis de MC de control prin
driver-ul de anten ATMEL ATA5286 i recepionat de receptorul ATMEL ATA5283 din
pneu. Dup ce a efectuat msurarea datele sunt transmise prin transmitorul integrat i
recepionate de receptorul ATMEL T5743.

70

ATAR862 este un circuit care conine 3 module n aceeai capsul: transmitor UHF (n
gama de frecvene 868-928MHz) cu modulare ASK/FSK, un microcontroller de 4 bii i o
memorie EEPROM de 512 bii. Circuitul este ncapsulat ntr-o capsul mic de 24 de pini
SSO24. Alimentarea este ntre 2-4V, fcnd posibil alimentarea cu o baterie Li cu o singur
celul, curentul absorbit fiind de 8,5mA. Gama de temperaturi este cea solicitat de domeniul
auto, fiind astfel posibil montarea n anvelop. Debitul maxim de informaie este 32kBaud.
Schema bloc a circuitului ATAR862 este dat n figura 4.32.

Enable

ATAR862
PLL

Amplificator anten

Microcontroller
Port 1
(2 linii)

CPU 4 bii
ROM 4kx8bii
RAM 256x4bii

EEPROM
32x16bii

Port 2
(4 linii)
Port 4
(4 linii/ funcii alternative)

Interfa
serial

Port 5
(3 linii/ funcii alternative)
Port 6
(2 linii/ funcii alternative)

Timer 1
(Watch dog)
Timer 2
8/12 bii
Timer 3
(8 bii)

Figura 4.32: Schema bloc a circuitului ATAR862


Circuitul Timer 2 are rolul de a coda Manchester sau n cod Bifazic irul de date seriale
primite la SO i le trimite la ieirea timerului 2. Reciproc, Timer-ul 3 poate decoda irul de
date codate Manchester sau Bifazic de la ieirea SO i le trimite la ieirea timerului 3. Astfel
ATAR862 poate fi folosit att la recepia de date (dar nu are bloc de recepie de RF) ct i la
transmiterea lor. Microcontrollerul are un program scris cu masc n ROM. Senzorii care se
cupleaz trebuie s fie cu ieire serial, deoarece nu exist un modul intern de conversie
analog digital. La transmisie ieirea SO constituie intrarea blocului de emisie. Cele 3 timere
i interfaa serial pot lucra ntr-o multitudine de moduri de lucru din care a fost menionat
doar unul, cel mai simplu. Un exemplu de codare Manchester este dat n figura 4.33.
SC este tactul serial iar SO ieirea de date seriale codate NRZ. La ieirea timerului 3 TO3
semnalul este codat Manchester. Decodarea este ceva mai complicat, timerul 3 avnd la
nceput o perioad de sincronizare cu datele recepionate.

71

Tact
SC
SO
TO3
1

Figura 4.33: Diagrama de timp pentru codarea Manchester


Unele dintre liniile porturilor paralele pot fi utilizate ca cereri de ntrerupere (de exemplu
pentru ieirea din mod Sleep) iar alte linii pot fi prevzute cu microntreruptoare i folosite
pentru configurare. Intrarea n mod Sleep se face n urma execuiei unei instruciuni Sleep.
Modul Sleep poate avea dou variante, cu tactul pornit i cu tactul oprit, n aceast a doua
variant consumul fiind sub 1A.
Datele emise de ATAR862 sunt recepionate de circuitul T5743, un circuit cu 20 de terminale,
care este n esen un receptor ASK/FSK cu bucl PLL pentru semnale codate Manchester sau
n cod bifazic cu debitul maxim de 10kBd. Schema bloc a receptorului este dat n figura
4.34.

T5743
Control

DEMOD

MC

AMP

LNA

FTB

PLL

VCO

Figura 4.34: Schema bloc a receptorului de date T5743


Antena este cuplat la un amplificator cu zgomot redus (LNA Low Noise Amplifier).
Structura circuitului este de heterodin n care oscilatorul local genereaz frecvena
purttoarei prin bucla PLL. Schema este completat cu un oscilator controlat prin tensiune
(VCO Voltage Controlled Oscillator), un filtru trece band FTB, un amplificator AMP i un
demodulator DEMOD. Circuitul este controlat de un microcontroller MC prin 5 linii de
comand i stare. Datele recepionate sunt trimise serial pe dou linii (date i tact). Circuitul
se poate programa cu date seriale i tact cu sensul spre circuit pe aceleai linii.

72

Circuitul receptor ATA5283 este folosit pentru trezirea circuitului ATAR862 din modul
Sleep. Circuitul are 8 terminale i conine un amplificator de intrare pentru amplificarea
semnalului emis pe frecvena 125kHz i modulat n amplitudine (ASK). Dac nu exist
purttoare circuitul ateapt n stand by. Circuitul conine un bloc de detecie a unui preambul
(192 perioade nentrerupte ale purttoarei) i dup recepia acestui preambul circuitul devine
activ.
704 perioade
Semnal
ASK
Wakeup
Date

Figura 4.35: Protocolul de wakeup i transfer de date la ATA5283

Dup recepia preambulului se activeaz blocul de control al amplificrii n amplificatorul de


intrare (dup 512 perioade ale purttoarei) i dup 704 perioade ATA5283 genereaz un
semnal de Wakeup pentru microcontroller. n stare inactiv circuitul consum 0,5A, dac
este pornit controlul automat al amplificrii 1A iar n mod recepie 2A. Dup preambul se
recepioneaz datele modulate n amplitudine conform diagramei de semnal din figura 4.35.

Antene de
emisie
wakeup i
recepie date
Emitor pentru
wakeup i MC
ATAR862, pentru
montare n pneuri,
alimentare cu
baterie

Receptor de
date i
driver de
anten

Figura 4.36: Sistem ATAK5276-83 pentru msurarea presiunii n pneuri

73

Emitorul ATA5276 poate transmite date modulate n amplitudine pe frecvena de 125kHz


cu de bitul maxim de 4kBd. Circuitul poate fi alimentat n gama 8V-24V pentru a putea fi
conectat direct la bateria autovehiculului. Caracteristicile electrice i de temperatur sunt
specifice domeniului auto. Circuitul are 20 terminale i conine un amplificator de anten
comandat digital. Dup RESET circuitul este n standby pentru un consum minim, stare din
care iese la primirea datelor pe intrarea serial DIO, diagramele de timp fiind asemntoare cu
cele din figura anterioar, sensul fiind de transmisie a datelor.
Dup transmisia datelor (indicat de faptul c linia DIO rmne n stare unu logic un timp de
16ms) circuitul confirm transmisia punnd linia DIO n zero timp de 0,256ms. Dac exist o
eroare de transmisie (cum ar fi de exemplu scurtcircuitarea bobinei de emisie), linia DIO este
pus n zero un timp de 0,128ms, dup terminarea transmisiei.
ATMEL ofer un sistem complet hardware i software pentru msurarea presiunii n pneuri
(ATAK5276-83), figura 4.36.

4.6.Msurarea nclinaiei autovehiculului cu un sistem giroscopic


Sistemul de msurare format dintr-un senzor unghiular i dispozitivul de procesare a datelor
are ca scop informarea oferului asupra unghiului de nclinaie al autovehiculului. oferul este
avertizat la atingerea unui unghi de nclinaie critic care poate avea ca i consecin
rostogolirea autovehiculului. n acest subcapitol este prezentat o realizare a unui grup de
studeni ndrumat de autori i de un specialist de la firma Fujitsu.

Figura 4.37: Unghiul de nclinaie a unui automobil


Afiarea unghiului de nclinaie este realizat printr-un afior grafic n dou moduri, mod
grafic pentru o vizualizare intuitiv i n mod caracter pentru afiarea numeric a unghiului
de nclinaie. De asemenea sistemul este prevzut cu un generator de sunet, pentru avertizare
sonor n cazul n care sistemul depete unghiul de nclinaie periculos.
O problem major a sistemului de msurare o reprezint acumularea erorilor, deoarece
sistemul calculeaz unghiul de nclinare prin adunri succesive. Pentru obinerea stabilitii
sistemului de msurare este necesar realizarea unei transmisii analogice de calitate ntre
senzor i microcontroller, precum i gsirea unei soluii de calibrare automat a senzorului
principal. Pentru determinarea stabilitii dinamice a fost implementat un sistem de testare
acionat de un motor pas cu pas i aplicarea unor filtre software pe semnalul analogic,

74

rezultatele obinute fiind n final comparate. De asemenea s-a adugat la sistemul de msurare
un senzor mecanic auxiliar de detecie a poziiei orizontale cu scopul de calibrare a senzorului
principal.
Sistemul de test a fost implementat cu un sistem de dezvoltare Fujitsu echipat cu un
microcontroller pe 16 biti MB90F352.

4.6.1. Senzorul giroscopic


Senzorii giroscopici vibratori sunt senzori unghiulari care au la baz fora Coriolis generat
cnd un obiect n micare este rotit n jurul unei axe. Senzorii vibratori piezoelectrici
detecteaz fora Coriolis folosind ca element rezonator un material piezoelectric. Pentru teste
a fost folosit senzorul giroscopic S1BG de la Fujitsu. [2].
Figura 4.38 ilustreaz principiul de operare a senzorului piezoelectric vibrator. Cnd
elementul piezoelectric format din dou lamele este rotit n jurul axei Z n timp ce pe axa X
este prezent o vibraie de operare, datorit forei Coriolis pe axa Y apare o vibraie
secundar. Msurnd aceast vibraie putem obine mrimea vitezei unghiulare cu care a fost
rotit senzorul.
z

y
Operation
mode

Detection
mode

Operation

Detection

Figura 4.38: Principiul de funcionare a senzorului giroscopic


Unghiul de nclinare trebuie calculat din informaia (viteza unghiular) furnizat de senzor
prin produsul dintre viteza unghiular i perioada de eantionare:
= t
- unghi de nclinare
- viteza unghiular
t - perioada de eantionare
n figura 4.39 se prezint eantionarea semnalului furnizat de senzorul unghiular.
Vcc - tensiunea de alimentare a senzorului
Unull - tensiunea de nul

75

Vout
V cc

Unull

10

15

T(ms)

Figura 4.39: Eantionarea semnalului de ieire a senzorului unghiular


S-a ales o rat de eantionare de 1kHz, valoare propus de ctre productor. Rata de
eantionare este suficient de mare pentru a urmrii eficient semnalul de variaie unghiular.
Zp+3

Semnal eantionat

Zp+2
Zp+1
Zp

1 cuant

Zp-1

1 ms

Zp-2
Zp-3

Zp valoare de nul

Figura 4.40: Semnalul eantionat i cuantizat

Valoarea unghiului de nclinare se calculeaz prin adunri succesive a variaiilor eantioanelor


curente de la valoare Zp , valoare corespunztoare tensiunii de nul i nmulit cu constata de
transformare tensiune vitez unghiular, figura 4.40. Constanta de transformare tensiunevitez unghiular face corespondena dintre tensiunea de ieire a senzorului i valorile date de
convertorul analog digital. Acesta se calculeaz din parametrii electrici ai senzorului.

Smpl_cntr = 0;
Acc = 0;
NR_SMPL = 10;

Acc += ADC_Data;
Smpl_cntr++;

nu

Smpl_cntr <
NR_SMPL

da

Zp= round(acc / NR_SMPL)

Figura 4.41: Algoritm de calcul a valorii de nul

76

Dup rularea ctorva teste s-a constatat c la fluctuaii de alimentare a modulului valoarea de
nul Zp nu este constant. Valoarea de nul se determin prin citirea ieirii convertorului analog
digital cnd senzorul se afl n stare nemicat. Pentru obinerea corect a valorii de nul s-a
implementat o procedur de calibrare software cu eantionare multipl i mediere, figura 4.41.
Prin parametrul NR_SMPL se definete numrul de eantioane din care se calculeaz prin
rotunjire valoarea de nul Zp .

4.6.2.Sistemul de msurare i afiare


Afior grafic
64x128

Senzor
giroscopic

Sistem
de
dezvoltar

RS232

Figura 4.42: Schema bloc a sistemului de msurare


Microcontrollerul preia semnalul de la senzorul giroscopic (figura 4.42), realizeaz o
conversie A/N pe 10 bii i calculeaz unghiul de nclinare. Unghiul de nclinare este afiat pe
un afior grafic 64x128 iar depirea unui anumit unghi limit este semnalizat printr-un
semnal acustic cu un buzzer. Sistemul funcioneaz independent de calculator, dar n stadiul
de testare i analiz a stabilitii datele au fost transmise ctre un calculator prin interfaa
serial RS232.
Afiarea (figura 4.43) s-a realizat cu un afior grafic cu cristale lichide suficient de mare
pentru vizualizarea in mod grafic si in mod text a unghiului de nclinare a sistemului.

Figura 4.43: Afiarea unghiului de nclinare n mod grafic (stnga) i n mod caracter
(dreapta), i o fotografie a afiajului
Afiarea n mod grafic const din micarea (rotirea) unui obiect pe afior, acesta practic
urmrind orizontul in funcia datelor furnizate de senzorul giroscopic. Afiarea grafic a fost
creat din dou pri, fundalul nemicat si dou indicatoare care urmresc poziia orizontal i
indic unghiul de nclinaie curent. Pe fundal sunt marcate unghiul de nclinaie. Punctele de

77

marcare sunt puse din zece in zece grade pn la 40 de grade, poziia orizontal fiind
marcat cu puncte mai mari.
Peste fundal se suprapun indicatoarele specifice pentru fiecare unghi. Se reprezint
indicatoarele cu rezoluia de cinci grade. Din motive de economie a memoriei ocupate partea
de afior grafic s-a mprit in 4 cadrane, desennd indicatoare doar pentru un cadran. Prin
operaii de oglindire pe orizontala si verticala s-au alctuit imaginile aferente pentru celelalte
cadrane. Astfel din desenele realizate pentru cadranul 1 printr-o operaie de oglindire verticala
se ajunge la o imagine n cadranul 2, printr-o operaie de oglindire orizontala la cadranul 4 i
prin aplicarea ambelor operaii la cadranul 3. Afiarea n mod caracter a fost realizat prin
stocarea n memoria microcontrollerului a imaginilor grafice ale cifrelor, ceea ce asigur o
vitez mare de afiare cu un consum de memorie mare.
Avnd n vedere c sistemul conine ca element traductor un senzor giroscopic, la pornirea
sistemului nu se cunoate unghiul de nclinare, ceea ce este un dezavantaj al acestui sistem.
Prin rularea ctorva teste s-a constatat de asemenea c apar erori, iar calcularea unghiului de
nclinare are la baz adunri succesive a eantioanelor curente, ca urmare se poate ajunge la
rezultate incorecte prin acumularea erorilor de msurare.
Pornind din acest neajuns al acestui senzor s-a constatat necesitatea implementrii unui senzor
auxiliar de detecie a poziiei orizontale care are rolul de calibrare a senzorului principal n
momentul n care unghiul de nclinare este zero.
Metoda de testare static a sistemului de msurare a nclinaiei const din msurri succesive
ale semnalului furnizat de senzorul giroscopic n stare fix i trimiterea datelor la calculator
pentru analiz prin interfaa RS232., datele fiind recepionate de un program specializat de
citire a portului serial.

Figura 4.44: Date recepionate pentru 1000 msurtori, senzor nemicat

n figura 4.44 pe coordonata vertical este prezentat valoarea eantionului curent furnizat de
convertorul analog digital (stnga), precum i nivelul de tensiune al eantionului (dreapta).
Prima msurtoare a avut datele reprezentate n figura 4.44 i arat c peste semnalul util care
ar trebui s fie constant i egal cu valoarea de nul, se suprapun deviaii de la valoarea de nul
de mrimea a 7 LSB ceea ce este echivalent unei variaii de 34,16mV aceasta fiind
inacceptabil n cazul acestui sistem.

78

Pentru micorarea erorilor au fost luate urmtoarele msuri:


Trecerea microcontrollerului n stand by pe perioada conversiei analog digitale;
Conectarea senzorului cu o legtur ecranat ct mai scurt i decuplarea cu
condensatori.
Prin aceste metode s-a ajuns la ncadrarea erorilor n limitele de 1LSB.
Pentru eliminarea erorilor au fost aplicate i filtrri software. Filtrarea prin mediere const din
eantionarea semnalului cu o frecven mrit i calcularea eantionului curent prin medierea
mai multor eantioane precedente luate timp de o milisecund.
yj = (xj*N+1 + xj*N+2 + xj*N+3 + .+ xj*N+N) / N
Unde :
N numrul eantioanelor luate timp de o milisecund
Y semnalul de ieire din filtrul de mediere
X semnal de intrare n filtru
n figura 4.45 sunt prezentate rezultatele prelurii a 4000 de eantioane dup mediere i dup
aplicarea msurilor de compatibilitate electromagnetic i se vede c doar 4 eantioane sunt
eronate, cu o valoare care se ncadreaz n 1LSB.

Figura 4.45: Date recepionate pentru 4000 msurtori, senzor nemicat

S-a realizat un sistem de testare dinamic a stabilitii sistemului de msurare prin micarea
senzorului de nclinaie cu un motor pas cu pas, figura 4.46.
Pentru implementare s-a ales un motor unipolar cu unghiul de pas de 1,8. Motorul pas cu pas
a fost comandat cu acelai sistem de dezvoltare cu care se face i achiziia i prelucrarea
semnalului de la senzorul giroscopic. nfurrile motorului au fost comandate prin
intermediul circuitului specializat ULN2003A.
Sistemul pornete dintr-o poziie fix i prin acionarea motorului face 50 de pai ceea ce este
echivalent cu 90 (50*1,8) schimb direcia de micare fcnd tot 50 de pai repetnd aceste
operaii de mai multe ori. Starea prezent a sistemului este afiat pe 2 afioare cu 7
segmente, precum i pe afiorul grafic, putnd verifica n orice moment corectitudinea
msurtorilor.

79

Figura 4.46: Metoda de testare

n graficul din figura 4.47 sunt prezentate dou seturi de msurtori, fiecare reprezentnd cte
o serie de pai fcui de motorul pas cu pas, una n sensul ceasului iar cellalt n sens invers.
Msurtorile au fost fcute separat, pe rnd, reprezentarea grafic s-a fcut pe un singur grafic
suprapunnd cele dou rezultate pentru o vizualizare mai bun.
n cazul ideal cnd sistemul a parcurs un ciclu de testare i se rentoarce n starea iniial
valoarea unghiului calculat trebuie s fie egal cu zero. Prin rularea multipl a ciclului de
testare s-a observat acumularea informaiilor eronate. Astfel se justific implementarea unui
sistem de calibrare a valorii unghiului de nclinaie calculat.

Figura 4.47: Rezultatele msurtorilor dinamice

n figura 4.48 este prezentat dispozitivul mecanic cu motor pas cu pas pentru micarea
senzorului.
Calibrarea senzorului unghiular s-a realizat prin introducerea n sistemul de msurare a unui
senzor auxiliar de detecie a poziiei orizontale. Astfel cnd senzorul detecteaz poziia
orizontal a sistemului reseteaz valoarea unghiului de nclinaie calculat.

80

Figura 4. 48: Motorul pas cu pas i senzorul (stnga) i o fotografie a sistemului de test
(dreapta)
Dispozitivul de detecie a poziiei orizontale este alctuit dintr-un fotocomutator i un pendul
care indic poziia vertical, astfel cnd modulul se afl n poziie orizontal pendulul
obtureaz lumina, figura 4.49.
Pendul

Figura 4.49: Reset- principiul de funcionare

Senzorul este cuplat la o linie de ntrerupere a microcontrollerului. La sosirea unei cereri de


ntrerupere se determin durata staionrii n poziie orizontal i daca durata este mai mare
dect o valoare de prag se consider c poziia este orizontal i se iniializeaz cu zero
unghiul de nclinare.
Au fost realizate teste ciclice n care s-au comandat cte zece micri complete (90 grade) ale
motorului cu trecere prin poziia orizontal. Dup un set de zece micri s-a fcut o pauz la
orizontal pentru ca s fie posibil calibrarea i s-a memorat poziia unghiular. Un grafic n
figura 4.49 arat c dac nu se ine cont de calibrare erorile se nsumeaz ajungnd la 2.75
grade dup 1000 de micri, iar dac se ine cont de calibrare eroarea este de 0.5 grade.
Sistemul de msurare implementat include msurile de micorare a erorilor menionate n [3].
Erorile aprute la msurare au fost menionate i n alte lucrri, de exemplu [4]. n [5] se

81

propune o metod de compensare n timp real a erorilor. Cea mai bun soluie este folosirea
unui senzor de unghi absolut, cum este cel prezentat n [6].

3
2.5
2
1.5
1
0.5

96

91

86

81

76

71

66

61

56

51

46

41

36

31

26

21

16

11

Figura 4.49. Evoluia erorii n grade la o mie de cicluri de micare ale senzorului giroscopic

Cele mai multe aplicaii ale giroscopului sunt n domeniul navigaiei aeriene i spaiale.
Extinderea aplicaiilor ctre autoturisme se face n cadrul constrngerilor de pre. Micorarea
erorilor trebuie s fie realizat prin metode software n limita puterii de calcul a unui procesor
cu pre mic. n acest studiu metodele software nu au fost suficiente, de aceea s-a implementat
o metod de reset a erorilor la detecia poziiei orizontale. Pentru a se testa comportarea
dinamic a fost implementat un sistem de micare periodic a senzorului i msurare a datelor
care a dovedit eficiena determinrii poziiei orizontale [7]. n prezent sistemul este testat n
condiii reale pe autoturisme, unde apar erori suplimentare datorate vibraiilor, iar resetul
erorilor nu se face periodic.

4.7. Modulaia tactului pentru micorarea perturbaiilor radiate


n acest subcapitol sunt prezentate simulri ale modulrii tactului i msurtori realizate de
cercettori din cadrul Catedrei de Electronic i calculatoare legate de eficientei modulrii
tactului. Pentru teste a fost aleas familia de microcontrollere Fujitsu pentru c aceast
familie este dedicat aplicaiilor auto i au astfel implementat modulatorul de tact.
Schema bloc de generare a tactului n care se vede locul modulatorului de tact este dat n
figura 4.50.
Modulaia tactului are rolul de a reduce interferenele electromagnetice (EMI) prin
mprtierea spectrului semnalului de tact. Metoda este implementat la MC pe 32 de bii i la
cele pe 16 bii. Modulaia se aplic tactului generat de bucla PLL, astfel nct unele interfee
care genereaz intervale de timp precise (timer de baz, Watchdog sau CAN ) nu pot avea ca
tact tactul modulat. Frecvena dat de tactul PLL este F0 iar spectrul are un vrf corespunztor
acestei frecvene. Modularea tactului nseamn variaia frecvenei /fazei ntre 2 limite, ceea ce
micoreaz vrful spectrului.

82

Timer de baz

Bloc de generare tact

Cuar sau
generator

Cuar sau
generator

Generare tact
principal

Controlul stabilizrii oscilaiilor


Multiplicare PLL
cu 1,2,3,4,6

Divizare
cu 2

Modulare tact
Generare
subtact

Divizare
cu 2 sau 4

Selecie
tact
Tact
PLL

Interfee

CPU
DMA
Tact
main

Watch Timer

Watchdog
Timer

Figura 4.50: Schema bloc a generatorului de tact tipic pentru microcontrollerele Fujitsu
Tactul de la bucla PLL poate fi modulat n 2 feluri:
modulaie n faz, semnalul modulator fiind un semnal triunghiular
modulaie n frecven, semnalul modulator fiind un semnal pseudo aleator.
Modulatorul poate fi validat sau invalidat cu un registru de comand, se poate alege tipul de
modulaie i se pot programa limitele de variaie ale frecvenei sau fazei. n general
comportarea cea mai bun din punct de vedere EMI se obine la variaia maxim a frecvenei
/fazei tactului, dar aceasta nu este o regul i n cele mai multe cazuri este nevoie de ncercri
experimentale.
La modelul MB90350 pe 16 bii tactul de la bucla PLL este modulat cu un semnal
triunghiular. Comanda modulatorului se realizeaz cu registrul CMCR (Clock Modulator
Control Register) care valideaz modularea. Limea impulsului de tact modulat variaz cu
+/- 0,8ns, ceea ce nseamn la frecvena maxim a tactului PLL de 24MHz o frecven
maxim a tactului main modulat de 25,45MHz. Interfeele care nu au tact PLL (Timerul de
baz, Watchdog Timer) nu pot avea ca tact tactul modulat. De asemenea cnd se utilizeaz
interfaa CAN nu se poate folosi tactul modulat.
Modelul MB90390 pe 16 bii admite ambele variante de modulaie. La modulaia n frecven
variaia ntre Fmax i Fmin este definit n 7 grupe, 1 fiind varianta cu variaia cea mai mic i 7
cu variaia cea mai mare. n figura 4.51 sunt date spectrele generate n gama de frecvene
150kHz-500MHz furnizate de Fujitsu n catalog pentru procesoarele de 32 de bii. Se observ
c prin modularea tactului se obine un spectru cu armonici superioare de amplitudini mai
mici.

83

V[dB/V]

50

V[dB/V]

50

40

40

30

30

20

20

10

10

-10

-10
0.1

50

100 150 200 250 300 350 400

450 f[MHz]

0.1

50

100 150 200 250 300 350 400

450 f[MHz]

Figura 4.51: Spectrul de frecven radiat n cazul unui tact nemodulat (stnga) i modulat
(dreapta)
La microcontrollerele pe 32 de biti semnalul de tact generat de PLL este modulat cu un
semnal pseudoaleator. La tactul modulat se poate modifica gradul de modulare i rezoluia de
variaie a frecvenei ntre Fmin i Fmax. Se pot programa 3 grade de rezoluie. Modulatorul
poate lucra cu tact ntre 16MHz i 48MHz, de aceea circuitul de modulare trebuie calibrat.
Calibrarea poate fi lansat hardware sau software. Semnalul de tact poate fi observat n
exterior la pinul MONCLK. Modulul CAN nu poate lucra cu tact modulat de aceea tactul este
furnizat direct printr-un circuit de prescalare.
4.7.1.Simularea modulrii tactului
Cteva simulri n MATLAB dovedesc utilitatea modulrii tactului. Un semnal
dreptunghiular a crui frecven variaz total aleator are armonicile superioare foarte mici, un
semnal a crui frecven variaz aleator ntre 2 limite are armonici mai mari iar un semnal cu
frecvena fix are armonici i mai mari.
Semnalul nemodulat are forma n timp i spectrul de frecvene date n figura 4.52.
Primul program realizeaz simularea unui semnal dreptunghiular a crui frecven variaz
periodic. Forma semnalului modulator este cea triunghiular sau cea dreptunghiular. Se
genereaz un semnal triunghiular cu funcia SAWTOOTH.

Figura 4.52: Semnal dreptunghiular i spectrul de frecvene

84

Cu funcia SQUARE se genereaz un semnal dreptunghiular i se realizeaz modularea


acestui semnal. Se calculeaz spectrul de frecvene cu funcia FFT i se reprezint grafic,
figura 4.53.

Figura 4.53: Semnal modulat cu un semnal dreptunghiular i spectrul de frecven


Se observ micorarea amplitudinii primelor armonici superioare. O alt variant de modulare
este realizat cu un semnal modulator cu frecvena variabil. Funcia care genereaz un astfel
de semnal este funcia CHIRP, figura 4.54.

Figura 4.54: Semnal modulat cu frecvena variabil i spectrul de frecven


Se observ c i modularea cu frecven variabil (variaia maxim 10% din frecven) are ca
efect micorarea spectrului, mai ales a armonicilor de ordin superior. Este interesant de
remarcat ce se ntmpl la extrem, adic la modularea frecvenei cu un semnal aleator, n
condiiile n care variaia aleatoare nu este un procent oarecare (sub 10%) din frecven.

Figura 4.55: Semnal cu frecvena variabil aleator i spectrul de frecven


Acest caz n care frecvena variaz aleator nu poate fi folosit n practic pentru c
microcontrollerul nu ar putea funciona cu un asemenea tact. Pentru generarea numerelor

85

aleatoare se folosete funcia RANDOM, n care parametrul EXP specific distribuia folosit.
Semnalul dreptunghiular generat i spectrul sunt date n figura 4.55. Se poate observa c n
acest caz spectrul este cel mai redus, armonicile superioare fiind foarte mici. Din pcate acest
semnal dreptunghiular nu se poate folosi ca tact din motive funcionale.

4.7.2.Msurarea spectrului radiat


Pentru verificarea experimental a acestor simulri a fost folosit un sistem de dezvoltare cu
microcontrollerul MB91F362GA, care are posibilitatea modulrii tactului. Tactul a fost
vizualizat la un pin extern iar spectrul radiat a fost msurat cu un analizor spectral. n
experimente a fost folosit analizorul Tektronix SA2600 echipat cu o anten de band larg
Aaronia HYPERLOG6080. Analizorul are gama de msur 0 - 6.2GHz. Antena analizorului a
fost poziionat n apropierea sistemului de dezvoltare, figura 4.56.

Figura 4.56: Sistemul de msurare a radiaiei electromagnetice

Microcontrollerul a fost programat cu posibilitatea modificrii tactului. Tactul principal este


generat printr-un PLL intern pe baza unui tact de baz de 4MHz, cu cuar extern. Cele trei
subsisteme (unitatea central, dispozitivele de I/O i controllerul CAN) pot utiliza tacte
separate, configurabile software. Doar tactul unitii centrale poate fi modulat. Cu un buton se
pot selecta cele trei frecvene la care se poate realiza modularea tactului- 16MHz, 32MHz i
48MHz. La modificarea frecveei tactului trebuie s treac un timp de stabilizare pn cnd
microcontrollerul lucreaz la noua frecven i tactul este scos n exterior la pinul MONCLK.
Pentru modularea tactului au fost utilizai parametrii recomandai de productor. Un fir lung
s-a ataat la pinul MONCLK pentru ca radiaia emis s aib o valoare mai mare, altfel
radiaia ar fi fost mai mic cu 20dB i ar fi fost nevoie de msurarea n camere anecoide. Fr
ataarea firului valoarea cmpului electromagnetic extern ar fi fost apropiat de valoarea
radiat de microcontroller.

86

Semnalul de tact vizualizat la pinul MONCLK este reprezentat n figura 4.57, la frecvena de
16MHz. La frecvenele de 32 i 48MHz aspectul semnalului este sinusoidal, datorit benzii de
trecere limitat a osciloscopului. n figura 4.57a este reprezentat tactul nemodulat iar n figura
4.57b tactul modulat n durat (PWM) i se poate observa uor aspectul diferit.

Figura 4.57 Tactul de 16 MHz nemodulat (stnga) i modulat (dreapta)


Spectrele de frecven asociate celor dou situaii sunt date n figura 4.58.

Figura 4.58 Spectrul de frecven msurat n cazul tactului de 16 MHz nemodulat (stnga) i
modulat (dreapta)

Cu tactul modulat se observ o mai mare uniformitate a distribuiei de energie n domeniul


frecvenei, fr vrfuri ale spectrului. Poriunea superioar a spectrului (88-100MHz) nu
trebuie luat n considerare, armonicile din aceast zon fiind datorate transmisiilor radio FM.
Cel mai mare impact pozitiv al modulrii tactului este obinut la 32MHz, o diminuare cu
16dB a celui mai mare vrf al spectrului fa de doar 10dB n cazul frecvenelor de 16 i
48MHz. Acest lucru se explic prin faptul c la 32MHz variaa frecvenei tactului este n
ambele sensuri, ct vreme la 16MHz variaia este doar spre frecvene mai mari i la 48MHz
87

doar spre frecvene mai mici.


Numrul echipamentelor electronice se mrete continuu i se caut permanent metode de a
micora interferena electromagnetic dintre acestea. Una dintre metodele care ncepe s se
aplice din ce n ce mai mult n ultimii ani este modulaia tactului. Modulaia tactului se aplic
att la procesoare ct i la microcontrollere, i ncepe s se aplice i la circuitele specializate
pentru transferul datelor cu un dispozitiv periferic [8], [9]. Tendina actual este de a se
implementa modularea tactului n ct mai multe aplicaii dar i gsirea de noi metode de
modulare [10].
Domeniul autovehiculelor este unul dintre domeniile n care modularea tactului se impune ca
o necesitate, standardele de emisii de radiaii electromagnetice fiind restrictive. Constructorii
de microcontrollere pentru domeniul auto implementeaz n noile familii modularea tactului.
Importana modulrii tactului este dovedit i de faptul c i ali productori de
microcontrollere, aa cum este Micronas, care a inceput s produc o familie de
microcontrollere auto (CDC32) pe baza core-ului ARM7, a implementat modularea tactului
[11]. n lume au fost nregistrate mai multe patente referitoare la generarea tactului modulat,
aa cum este [12].

4.8. Sistem alternator-regulator-baterie cu microcontroller


4.8.1.Regulatorul de tensiune
Regulatorul de tensiune se conecteaz n sistemul de alimentare cu energie electric
Alternator-regulator-baterie(ARB), existent pe orice autovehicul, ndeplinind urmtoarele
funcii:
Reglarea tensiunii n sistemul ARB n limitele impuse de constructorul autovehiculului
(prin controlul curentului de excitaie al alternatorului);
Rspuns adecvat la situaiile tranzitorii ntlnite n exploatare (pornire din repaus i
modificarea sarcinii alternatorului);
Realizarea unei construcii compacte, protejate la ocuri mecanice, adaptat unei
funcionri n condiii de mediu i climatice foarte severe, conform standardelor specifice
domeniului auto.
Suplimentar, un regulator de tensiune electronic poate asigura:
Funcionarea n regim de avarie al sistemului ARB (ruperea curelei de antrenare,
defectarea unei diode din puntea redresoare, ntreruperea unor conexiuni interne ale
sistemului ARB);
Asigurarea unor protecii (la ntreruperea conexiunii alternator-baterie, scurtcircuitarea
nfurrii de excitaie a alternatorului, scurtcircuitarea lmpii de control);
Furnizarea unui semnal (n faz cu cel furnizat nfurrii de excitaie) ctre unitatea de
control electronic a sistemului de management al motorului (EMS Engine Management
System Electronic Control Unit);
Modificarea controlat a plajei de reglaj n funcie de temperatura mediului ambiant.

88

Un proiect realizat mpreun cu studenii din anul terminal, supervizat de compania Fujitsu a
fost un regulator de tensiune electronic cu microcontroller. Pentru testarea acestui modul a
fost realizat un stand de prob, figura 4.59.
Alternator
Sistemul integrat de
comanda

Motor care simuleaz


Motorul mainii

Baterie

Figura 4.59: Stand pentru testarea regulatorului electronic


Standul de prob conine un generator electric (alternator auto), un motor care acioneaz
alternatorul i care simuleaz astfel motorul autovehiculului. Aparate de msur conectate la
stand au urmrit evoluia unor parametrii n timp pentru a verifica comportarea sistemului la
variaia sarcinii i a turaiei alternatorului. Regulatorul de tensiune implementat cu
microcontroller are rolul de a menine constant tensiunea la bornele alternatorului (i implicit
a sarcinii) atunci cnd turaia alternatorului i sarcina sunt variabile.

4.8.2.Descrierea regulatorului cu microcontroller


Schema bloc a modelului experimental este dat n figura 4.60.
Un alternator este cuplat la motorul electric care simuleaz motorul mainii i o baterie de
12V constituie elementul tampon de energie. In modelul experimental s-a folosit un sistem de
dezvoltare de la Fujitsu de tip Concerto, echipat cu un microcontroller pe 8 biti 8FX.
Microcontrollerul are urmtoarele sarcini:
Comand nfurarea de excitaie a alternatorului cu un semnal PWM pentru a asigura
regimul optim de ncrcare a bateriei (n soluia clasic nfurarea este comandat
ON-OFF);
Determin viteza de rotaie a alternatorului prin preluarea semnalului nainte de
diodele de redresare din alternator cu un modul intern de Input Capture;
Msoar tensiunea bateriei i n funcie de rezultat comand nfurarea de excitaie;
Msoar temperatura ambiant i corecteaz regimul de ncrcare conform unor curbe
furnizate de productor pentru tipul de baterie folosit. Acest lucru este important
pentru c gama de temperaturi de lucru pentru ARB fiind foarte larg.

89

Infurare
de excitaie

Energia motorului
mainii

ALTERNATOR

Microcontroller
FUJITSU 8FX
PWM
Input Capture
ADC1
ADC2
UART

Baterie (acumulator
auto) 12V

Sarcina variabilconsumatori

Figura 4.60: Schema bloc a regulatorului cu microcontroller


La UART se poate conecta un notebook cu care se poate programa microcontrollerul sau se
pot prelua date n timpul funcionarii turaia alternatorului i tensiunea bateriei. Conectarea
la distan (uzual 20 m) prin standardul RS232 permite urmrirea funcionrii sistemului din
interiorul autovehiculului.
Microcontrollerul F2MC-8FX (Basoon) [13] este conceput cu o arhitectur pe 8 bii, proiectat
pentru aplicaii industriale diverse i n special pentru aplicaii care necesit tensiuni sczute
i putere consumat mic. Caracteristici generale: tactul 10MHz, memorie RAM si FLASH,
UART, LIN UART, I2C, 12 canale ADC de 10 bii, timere, generator PWM, watchdog,
moduri de funcionare cu economie de energie (Sleep, stop, watch). Unele modele de
microcontrollere se fabric pentru gama de temperaturi ntre -40C i 105C, ceea ce face
potrivite aceste microcontrollere pentru utilizarea auto.
Partea software realizeaz urmtoarele operaii:
1. Iniializeaz porturile de I/O i modulele interne folosite: UART, ADC, PWM, IN
CAP
2. Se msoar turaia i se verific atingerea unei limite prestabilite. Acest lucru este
necesar pentru c la oprirea temporar a alternatorului tensiunea pe baterie scade, iar
la reluarea rotirii alternatorului se comand un factor PWM mare, corespunztor
tensiunii mici pe baterie. Alternatorul este astfel frnat i pornete cu ntrziere. De
aceea se recurge la varianta de comand a nfurrii de excitaie doar dup ce
alternatorul are o anumit turaie.

90

3. Daca turaia este peste limita aleas se msoar tensiunea pe baterie i se modific
factorul de umplere corespunztor cu valoarea msurat.
4. dat la 10-100 msurtori se msoar temperatura i se corecteaz factorul de umplere.
Programul a fost scris n C i assembler i a fost testat n mediul Softune Workbench 8FX pus
la dispoziie de Fujitsu.
n afar de sistemul de dezvoltare Concerto au fost folosite mai multe module de interfaare
cu procesul controlat:
Alimentarea microcontrollerului i a circuitelor anexe se realizeaz de la tensiunea
bateriei printr-un stabilizator serie clasic.
Valorile tensiunii pe baterie sunt 12V+/-1V cnd alternatorul nu se rotete i 14,4V+/0.2V cnd generatorul se rotete. Preluarea tensiunii de la baterie n vederea msurrii
a fost realizat prin decalarea tensiunii cu o diod Zenner (varianta low cost) sau cu un
montaj cu AO.
Msurarea frecvenei se face prin transformarea semnalului pulsatoriu preluat de la
diodele de redresare ale alternatorului n semnal dreptunghiular i limitarea tensiunii la
4.7V.
Comanda nfurrii de excitaie se face cu un canal PWM din microcontroller,
semnalul fiind amplificat de un tranzistor NMOS de tip IRF540.
Montajul format din sistemul de dezvoltare i circuitele de adaptare este artat n figura 4.61.

Figura 4.61: Modelul experimental


Pentru punerea la punct a sistemului a fost implementat o legtur ntre microcontroller i un
PC prin interfaa serial RS232. Microcontrollerul trimite n timp real valoarea tensiunii
msurate la bornele alternatorului i valoarea turaiei. Programul care ruleaz pe calculator
interpreteaz datele recepionate i le afieaz n timp real prin intermediul unei interfee
grafice. Este posibil stocarea acestori valori precum i informaii despre factorul de umplere
al semnalului PWM generat. Interfaa grafic este prezentat n figura 4.62.
Au fost realizate teste prin varierea aleatoare a turaiei i sarcinii, rezultatele fiind preluate de
la microcontroller i afiate [14]. Graficul din figura arat valoarea tensiunii la bornele
alternatorului dac sarcina i turaia variaz aleator timp de 2 minute. Curentul de sarcin n
regim normal este mai mic dect 20A (la 12V). S-a simulat o cretere scurt a sarcinii peste
valoarea admis (scurtcircuit) pentru a se verifica sistemele de siguran implementate
software.

91

Figura 4.62: Interfaa grafic pentru afiarea turaiei i tensiunii

Se remarc cderea de tensiune de scurt durat din dreapta graficului. n graficul din figura
urmtoare se vd rezultatele aceluiai test n cazul utilizrii unui regulator electronic clasic. Se
poate constata o mai mic gam de timp n care regulatorul funcioneaz eficient precum i
comportarea la scurtcircuit, mult mai dezavantajoas.

Figura 4.63: Tensiunea la bornele alternatorului la reglarea cu microcontroller

Figura 4.64: Tensiunea la bornele alternatorului la reglarea clasic

92

4.9. Economia de combustibil i emisia de bioxid de carbon


nlocuirea unor subansamble clasice din autovehicul cu sisteme nglobate cu microcontroller
are de multe ori ca efect secundar micorarea noxelor emise n aer. Se subliniaz acest aspect
prin evidenierea unor aplicaii la sfritul capitolului dedicat aplicaiilor auto pentru a
sensibiliza proiectanii la problemele de mediu.
Datorit activitii industriale i n special datorit arderii combustibililor fosili, cantitatea de
bioxid de carbon emis n atmosfer este n continu cretere. US Environmental Agency [15]
afirm c nivelul actual al concentraiei este cel mai mare din ultimii 650 mii de ani, crescnd
de la 280 ppm (pri pe milion) la 382 ppm. Chiar dac efectul global de nclzire este nc
controversat [16], societatea actual a neles pericolele posibile i se ncearc gsirea unor
soluii.
Un grafic al emisiei de bioxid de carbon din surse neindustriale, preluat de pe un site al unei
organizaii guvernamentale americane [17] este dat n figura 4.65.

60

50

40

30

20

10

0
1

Gunoi

nclzire

Casnice

Automobile

Figura 4.65: Distribuia procentual a surselor neindustriale de emisie de bioxid de carbon

Pe primul loc se afl automobilele (51%), apoi aparatura casnic, (ex. frigider) (26%),
sistemele de nclzire i aer condiionat (18%) i gunoiul (5%). Este unanim acceptat c
emisia de bioxid de carbon este legat de consumul de combustibil i msurile de reducere a
consumului reduc i emisiile. Firmele constructoare de autovehicule cerceteaz intens
posibilitatea implementrii msurile de reducere a consumului, dar i utilizatorii pot avea o
contribuie semnificativ. Astfel, site-ul [17] ofer sfaturi de micorare a consumului.
n acest capitol un prim exemplu de aplicaie care are ca urmare economia de combustibil a
fost monitorizarea presiunii n pneuri. O alt aplicaie care, pe lng efectul principal urmrit
are i un efect benefic asupra mediului este direcia asistat electric.

93

4.9.1.Direcia asistat electric (Electric Power Steering, EPS)


Se consider c direcia asistat a fost inventat de F. Lanchester n 1902, brevetul fiind
obinut n Anglia [18]. Chrysler introduce prima implementare comercial n 1951 pe modelul
Chrysler Imperial. Sistemul clasic de direcie asistat este hidraulic, n care o pomp acionat
de motor creeaz presiunea aplicat sistemului de direcie. Sistemul electric (Electric Power
Steering, EPS) folosete un motor electric de acionare a direciei, ceea ce asigur o economie
de combustibil, deoarece nu exist o pomp care s fie permanent n funciune. Un alt avantaj
este simplificarea motorului pentru c nu mai exist pompa acionat prin intermediul unei
curele de transmisie. Primul sistem EPS a fost montat n 1990 pe Honda NSX. n anul 2000
Honda a introdus primul EPS cu for variabil funcie de vitez numit Power Variable Gear
Steering (VGS). Un sistem EPS este dat n figura 4.66.
Senzor de
poziie

Figura 4.66: EPS [19]


Un senzor de poziie a volanului transmite date unui microcontroller care, n funcie de
unghiul de rotaie al volanului comand un motor care acioneaz direcia. O schem bloc a
unui sistem de comand EPS, bazat pe o nou generaie de microcontrollere de la Fujitsu este
dat n figura 4.67.

Senzor de
poziie
Senzor poziie
Intrri digitale:
-temperatura motor
-tensiune baterie
........................

Validare

Software

Figura 4.67: Schema bloc a unui sistem de comand EPS [20]

94

Viteza de reacie a unui sistem EPS trebuie s fie mare, de aceea sistemul de control este
implementat cu dou microcontrollere pe 32 de bii, unul pentru preluarea datelor de la
senzorul de la volan i pentru comanda motorului iar cellalt pentru supervizare i
comunicaia cu calculatorul autoturismului. Microcontrollerul de comand a motorului are
nglobate interfee specifice de comand PWM (Pulse Width Modulation), canalele numite de
Fujitsu PPG (Programmable Pulse Generator), iar microcontrollerul de supervizare i
comunicaie are ncorporate interfee pentru cuplarea pe LIN (Local Interconnect Network),
CAN (Controller Area Network) i FlexRay. Un senzor de poziie a motorului verific dac
acesta a executat comanda dat de micarea volanului. Microcontrollerul de supervizare
valideaz funcionarea motorului i este informat dac acesta are erori de poziionare.
Resursele microcontrollerului de supervizare permit i achiziia i verificarea unor parametrii
auxiliari: temperatura motorului electric i temperatura motorului mainii, tensiunea bateriei
etc.

Bibliografie
[1]

Ogrutan P., Microcontrollere si controllere grafice Fujitsu, Ed. Universitatii


Transilvania Brasov, 2006, 182 pag, ISBN 973-635-621-3

[2]

http://edevice.fujitsu.com/fj/MARCOM/find/22-3e/pdf/7.pdf [online] Fujitsu S1BG


Gyro Sensor Fact sheet

[3]

Dong L., Zheng Q., Zhiqiang G., On Control System Design for the Conventional Mode
of Operation of Vibrational Gyroscopes, Sensors Journal, IEEE, 2008, Volume: 8 ,
Issue: 11, page(s) 1871 1878, ISSN: 1530-437X

[4]

Haipeng Z., Jiancheng F., Research Periodic Error Characteristics of Quartz MEMS
Gyroscope in Navigation System, Electronic Measurement and Instruments, 2007.
ICEMI '07. 8th International Conference on, 2007, page(s): 1-430 - 1-435, ISBN: 9781-4244-1136-8

[5]

Haipeng Z., Jiancheng F., Xiangdong X., Real time Compensation of Quartz MEMS
Gyroscope Drift Periodic Error, Electronic Measurement and Instruments, 2007.
ICEMI '07. 8th International Conference on, 2007 page(s): 1-392 - 1-397, ISBN: 978-14244-1136-8

[6]

Piyabongkarn D., Rajamani R., The development of a MEMS gyroscope for absolute
angle measurement, American Control Conference, 2002. Proceedings of the, Volume
3, page(s): 1960 - 1965 ISSN: 0743-1619, ISBN: 0-7803-7298-0

[7]

Nagy L., , Building a digital clinometer with the FAR-S1bg gyro sensor, Fujitsu
Application Note, 2006

95

[8]

Chen W.T.; Hsu J.C., Lune H.W., Su C.C., A spread spectrum clock generator for
SATA-II, Circuits and Systems, 2005. ISCAS 2005. IEEE International Symposium on,
23-26 May 2005 Page(s):2643 - 2646 Vol. 3

[9]

Ko J., Lee S., Kim D., Kim K., Chang K.E., Spread spectrum clock generator for
reducing Electro-Magnetic Interference (EMI) noise in LCD driver IC, Circuits and
Systems,
2007.
MWSCAS
2007.
50th
Midwest
Symposium
on
5-8 Aug. 2007 Page(s):1106 1109

[10] Kim J., Jun P., Dithered timing spread spectrum clock generation for reduction of
electromagnetic radiated emission from high-speed digital system, Electromagnetic
Compatibility, 2002. EMC 2002. IEEE International Symposium on, Volume 1, 19-23
Aug. 2002 Page(s):413 - 418 vol.1
[11] http://www.arm.com/markets/embedded_solutions/armpp/429.html
[12] Kitagawa Y., Takahashi S., Yaguchi Y., US Patent 6563359, Semiconductor integrated
circuit including clock modulation circuit, 2003
[13] F2MC-8FX Fujitsu Semiconductor Data Sheet (Preliminary)
[14] Gal P., Microcontroller- driven Alternator Voltage Regulator, Application Note, Fujitsu
ME, 2006
[15] http://www.epa.gov/climatechange/science/recentac.html
[16] Ristoiu D., Tahas S.V., Cosma C., nclzirea global i efectele ei asupra climatului
terestru, ENVIRONMENT & PROGRESS, 6, 2006, P.489 496
[17] http://www.fueleconomy.gov/
[18] http://en.wikipedia.org/wiki/Power_steering
[19] http://www.indiacar.com/infobank/epc.htm
[20] 32-bit Microcontroller with Built-in FlexRay for Automotive Control Systems, Find, vol.
25, No. 4, 2007, p.1-4

96

Capitolul 5: Comanda motoarelor cu microcontrollere


Foarte multe aplicaii din domeniul microcontrollerelor au sarcina acionrii unor motoare. De
exemplu aplicaiile auto-motoarele de la geamurile electrice, motoarele indicatoarelor de bord
etc. sau aplicaiile din domeniul echipamentelor periferice - imprimant, hard disc etc. Sau
aplicaiile industriale - acionri de vane, robinete etc. Motoarele pot fi:
de curent continuu cu perii sau fr perii;
motoare pas cu pas;
de curent alternativ cu inducie;
motoare cu reluctan comutat.
Primele dou categorii de motoare sunt utilizate mai des n aplicaiile cu microcontroller de
aceea vor fi abordate n acest capitol. Un motor poate fi comandat de ctre un microcontroller
att direct, ct i prin intermediul unor interfee specializate, programabile.
5.1.Comanda motoarelor de curent continuu
Schema bloc a sistemului de acionare cu motor de curent continuu este dat n figura 5.1.
Valoarea
numeric a
poziiei finale
Comparator
numeric

Traductor
de vitez

Convertor
D/A

Poziia
actual

SERVOMECANISM

Traductor de
poziie

MCC

SARCINA

Figura 5.1: Schema bloc a unei acionri cu motor de curent continuu


Cel mai simplu de comandat, pentru a obine o vitez variabil, sunt motoarele de c.c.
deoarece cu ct tensiunea aplicat este mai mare cu att viteza este mai mare. O micare
de poziionare este compus dintr-o accelerare, dintr-o deplasare cu vitez constant i o
frnare, conform unei traiectorii de vitez ca n figura 5.2.
v

t
Accelerare
Viteza
ta
constant tc

Frnare
tf

Figura 5.2: Traiectoria de vitez

97

Timpul de deplasare este td= ta+ tc +tf iar timpul de poziionare este suma dintre timpul de
deplasare i timpul de stabilire (de amortizare a oscilaiilor sistemului de poziionare dup
atingerea poziiei finale), tp= td+ ts
Pentru a obine viteza variabil este suficient s aplicm o tensiune variabil. Tensiunea
variabil poate fi aplicat n mai multe feluri:
informaia numeric este convertit ntr-o informaie analogic i este aplicat unui
tranzistor (pentru comanda ntr-un sens) sau la doi tranzistori (pentru comanda n
ambele sensuri). Tensiunea variabil astfel obinut se aplic motorului de c.c. Un
dezavantaj este folosirea unui convertor D/A i puterea pierdut n tranzistorii care
lucreaz n zona liniar.
informaia numeric creeaz un semnal PWM, cu frecvena destul de mare ca motorul,
datorit ineriei, s integreze impulsurile. Motorul va avea o vitez proporional cu
factorul de umplere. Acest mod de comand este mult mai simplu i tranzistorul, fiind
n regim de comutaie nu disip inutil.
Dificultatea acionrilor cu motor de curent continuu este partea de traductor de poziie care,
mai ales la precizia cerut n aplicaiile noi sunt dificil de implementat.
n diagrama urmtoare (figura 5.3) se arat comanda PWM n ambele sensuri:

PWM1P0=1
PWM2P0=0

PWM1P0=0
MCC

PWM2P0=1

MCC

PWM1P0
PWM2P0
Tensiunea
pe motor
Factorul de umplere este egal la cele 2 canale PWM i
motorul nu se rotete pentru c tensiunea la bornele lui
este 0

Motorul se rotete pentru c tensiunea la bornele


lui (PWM1P0-PWM2P0) este diferit de 0.

Figura 5.3: Comanda unui motor de curent continuu

Cuplnd un motor de curent continuu ntre PWM1P0 i PWM2P0 se poate obine o rotire cu
vitez variabil n ambele sensuri ale motorului. Motorul de curent continuu se rotete cu o
vitez proporional cu tensiunea aplicat. Dac tensiunea aplicat este sub form de
impulsuri motorul se rotete proporional cu valoarea medie a tensiunii.

98

O simulare n SIMULINK dovedete valabilitatea acestei metode de control. S-a folosit un


model din SIMULINK pentru motorul de curent continuu i cele 2 canale PWM au fost
simulate cu generatoare de impulsuri cu lime variabil, figura 5.4.

Figura 5.4: Model SIMULINK pentru simularea funcionrii motorului de curent continuu
Rezultatele simulrii sunt reprezentate n figura 5.5. n stnga sus este reprezentat forma
curentului prin motor i jos turaia obinute pentru factor de umplere de 90% respectiv 10%.

Figura 5.5: Rezultatele simulrii SIMULINK

Se observ c acestea au aceeai form de variaie. n dreapta sunt reprezentate aceleai curbe,
dar cu factor de umplere 10% respectiv 90%. Se vede c motorul se rotete n sens contrar.

99

Din punct de vedere constructiv motoarele de curent continuu pot fi cu perii la care rotirea
cmpului magnetic este realizat prin comutarea curentului prin nfurri cu un sistem
colector i perii. Aceste motoare sunt asociate cu un nivel mare de perturbaii
electromagnetice generate. n figura 5.61 este reprezentat un motor de acionare a hrtiei la o
imprimant HP lng o urubelni pentru a putea aprecia dimensiunea. Se poate observa
tubul de ferit de pe cablu care are rolul de a micora perturbaiile.

Figura 5.6: Motor de curent continuu


O alt variant este motorul de c.c. la care cmpul nvrtitor este realizat prin excitarea pe
rnd a unor bobine, funcionarea fiind asemntoare motoarelor pas cu pas. Motoarele cu
micare circular pot aciona liniar printr-un sistem de conversie mecanic al micrii, cele mai
cunoscute fiind acionarea unui urub fr sfrit sau cu band elastic.
O categorie deosebit sunt motoarele de c.c. liniare electrodinamice. Motorul liniar este
format dintr-un stator magnet permanent i o bobin mobil. Aceasta este acionat de fora
electrodinamic care rezult din interaciunea dintre cmpul produs de curentul care parcurge
bobina i cmpul magnetic staionar produs n stator de magneii permaneni. Se utilizeaz
dou tipuri constructive: cu bobin lung i ntrefier scurt i cu bobin lung i ntrefier scurt.
Lungimea bobinei lungi i a ntrefierului lung trebuie s fie suficient de mari pentru ca n
timpul micrilor de poziionare fora s se menin constant, deci n ntrefier s se afle
aceeai lungime de bobin, figura 5.7.

Figura 5.7: Motorul electrodinamic cu bobin lung (stnga), cu bobin scurt (mijloc) i
fotografia unui motor

n acest capitol majoritatea fotografiilor sunt ale unor subansamble din colecia autorilor

100

5.2.Comanda motoarelor pas cu pas


Motorul pas cu pas este un dispozitiv pentru conversia informaiilor numerice n lucru
mecanic pe baza unui consum de energie de la o surs. Motorul pas cu pas este un motor de
curent continuu comandabil digital, cu deplasarea unghiular a rotorului proporional cu
numrul de impulsuri primite. La fiecare impuls rotorul execut un pas unghiular apoi se
oprete pn la sosirea unui nou impuls. Motorul pas cu pas este capabil de reversarea
sensului de micare. Dac este comandat corect (cu o frecven mai mic dect cea
admisibil) rmne n sincronism cu impulsurile de comand la accelerare, mers constant i
ncetinire. O schem bloc de acionare este dat n figura 5.8.
Impulsuri de
comand

SERVOMECANISM

SARCINA

MPP

Figura 5.8: Schema bloc de acionare cu motot pas cu pas

Se poate observa din schema bloc c traductorul de poziie poate lipsi pentru c, n aplicaii
mai simple motorul va executa numrul de pai comandat i va ajunge n poziia dorit. Se
ctig astfel o simplificare a schemei dar se pierde la performan. Comanda cu traiectorie de
vitez este posibil prin variaia frecvenei impulsurilor dar schema de acionare se complic.
Motoarele pas cu pas pot fi motoare unipolare sau bipolare. La motoarele bipolare comanda
pailor se face prin inversarea curentului prin nfurri. Principiul comenzii seamn cu cel
de la comanda motorului de curent continuu, cu diferena c n acest caz de regul sunt 2
nfurri, figura 5.9.

n acest caz controllerul trebuie s poat inversa


polaritatea pentru o deplasare a curentului n
ambele sensuri. Controllerul trebuie s alimenteze
nfurrile succesiv cu o anumit secven pentru
un sens i secvena invers pentru cellalt sens. n
desenul alturat o parcurgere a 4 faze nseamn o
rotire de 360. Motoarele reale au mai multe
nfurri i un pas nseamn o deplasare
unghiular mic.

Figura 5.9: Structura motorului pas cu pas bipolar


Conectarea unei nfurri (de exemplu 1a-1b) la cele 2 canale PWM permite inversarea
curentului ca n diagramele din figura 5.10.
101

PWM1P0
PWM2P0
Tensiunea pe
nfurarea
1a-1b

+V
0
-V
Factorul de umplere al PWM1P0 este > dect
al PWM2P0, tensiunea aplicat este pozitiv

Factorul de umplere al PWM1P0 este < dect


al PWM2P0, tensiunea aplicat este negativ

Figura 5.10: Inversarea curentului n nfurri la motoarele bipolare

MPP unipolare folosesc o priz median legat la alimentare, inversarea curentului obinnduse prin legarea la mas succesiv a terminalelor extreme ale nfurrii, ca n figura 5.11.
V

V
I

Se obin astfel cmpuri


magnetice de sens
contrar fr inversarea
polaritii

Figura 5.11: Inversarea curentului n motoarele unipolare

nfurrile motorului sunt conectate ca n figura 5.12.

Prizele mediane sunt


legate la alimentare i
secvena de impulsuri
se aplic terminalelor
1a, 1b, 2a, 2b.

Figura 5.12: Structura i nfurrile motorului unipolar

102

Secvenele digitale pentru comanda unui motor pas cu pas unipolar cu 4 faze n varianta cea
mai simpl sunt date n figura 5.13 [5].
TACT

FAZA 1

FAZA 2

FAZA 3

FAZA 4

Un pas ntr-un sens

Un pas n sensul contrar

Meninere

Figura 5.13: Secvenele digitale pentru comanda unui motor pas cu pas unipolar
Pentru exemplificare se alege un port paralel pentru microcontrollerelor compatibile x86, linia
D0 este cel mai puin semnificativ bit i un motor pas cu pas cu 3 faze. Un pas nseamn
parcurgerea tuturor fazelor. Schema de conectare i programul care genereaz un pas ntr-un
sens sunt date n figura 5.14.
Port paralel,
adresa adr

F1 F2

MOV DX, adr


MOV AL,01
OUT DX, AL
CALL delay
MOV AL,02
OUT DX,AL
CALL delay
MOV AL, 04
OUT DX,AL
CALL delay

F3

D0
D1
D2
D3
........

Figura 5.14: Schema de conectare a unui motor pas cu pas la un port paralel i programul
Programul din acest exemplu este dat pentru a arta principiul de comand. Este necesar
introducerea unei ntrzieri pentru meninerea alimentrii fazei un timp suficient pentru
acionarea electromecanic, timp care depinde de motor. Schema mai trebuie completat cu
amplificatoare de curent i/sau tensiune pentru acionarea motorului. Un exemplu de motor
pas cu pas modern, comandat cu dou semnale (asigurarea semnalelor pentru faze sunt create
intern) este dat n figura 5.15.
Motor bipolar pas cu pas
Tensiunea de alimentare +12 - 24 VDC
Curentul de pas pe faz 0.25 - 2.0 Amperi
Pasul 1,8 grade
Se poate comanda cu semnale: Pas, Directie, Validare,
decuplate optic
Protecie la depirea temperaturii de lucru i la subtensiune

Figura 5.15: Motor pas cu pas

103

Observaie
Un canal PWM poate fi folosit pentru a comanda o faz a motorului pas cu pas pentru a
obine un curent variabil. Semnalul PWM nu asigur succesiunea fazelor ci valoarea medie a
tensiunii de alimentare a unei faze. Conectarea ieirilor PWM la fazele unui motor unipolar
este dat n figura 5.16.

PWM1P0 conectat la 1a
PWM1M0 conectat la 2a
PWM2P0 conectat la 1b
PWM2M0 conectat la 2b
Figura 5.16: Comanda PWM a fazelor unui motor unipolar

Un modul de comand poate controla un motor pas cu pas asigurnd un curent bine definit
prin nfurri. Acest tip de comand creeaz de exemplu posibilitatea de a comanda motorul
cu un curent mai mare la pornire sau permite realizarea unor traiectorii optime de vitez
(regim accelerat- frnat).

5.3.Traductori de poziie i circuite driver


Exist o mare diversitate de traductoare de poziie pentru poziionarea motoarelor. Cteva
exemple vor demonstra acest lucru. Senzorii cei mai utilizai sunt cei care genereaz dou
semnale defazate la deplasare (encoder), cu form liniar sau circular. Aceti senzori pot fi
inductivi, capacitivi sau optici. Senzorii optici echipeaz imprimantele cu jet de cerneal la
poziionarea capetelor de scriere. n funcie de modelul de imprimant exist senzori optici
liniari sau circulari. Un senzor optic circular (encoder) i unul liniar sunt prezentai n figura
5.17, alturi de o rulet gradat n mm pentru comparaie.
Se poate vedea precizia mai mare a traductorului circular (imprimant de 600dpi) fa de cea a
traductorului liniar (300dpi). La echipamentele la care precizia unor asemenea senzori nu este
suficient, aa cum este poziionarea capetelor la hard disc sau unitatea optic, se folosesc
pentru poziionare semnalele scrise pe suport.
La aplicaii mai modeste pot fi folosii senzori cum sunt cei prezentai n figura 5.18.
Senzorul de poziie M150 este un poteniometru miniatur (18,8mm) la care axul este rotit
prin tragerea unui fir de oel acoperit cu plastic cu lungimea de 1,5 (38,1mm) care se
retracteaz automat [1]. Acurateea senzorului este mai bun de 1%. Rezistena maxim a
poteniometrului este de 5k i tensiunea aplicat poate fi de maximum 20V. Extinderea firului
poate s nu fie liniar, cu condiia respectrii unor unghiuri limit. Senzorul SP1 este de

104

dimensiuni mai mari (50mm) dar firul poate atinge lungimea de 1270mm. Senzorul LX-EP
[2] este un senzor cu fir de oel dar principiul de detecie a poziiei este optic iar ieirea este
digital, oferind la ieire dou semnale defazate (encoder). Lungimea maxim a firului este de
1270mm.

1mm

Roata
dinat de
antrenare

Zona
traductor

Ruleta
gradat

Figura 5.17: Traductor optic de poziie, circular (stnga), un detaliu (mijloc) i liniar (dreapta)

Figura 5.18: Senzor de poziie M150 (stnga) i SP1 (mijloc) i LX-EP (dreapta)
n funcionarea anumitor motoare se urmrete obinerea unei viteze constante i nu a
poziionrii precise (de exemplu la motoarele imprimantelor LASER). n aceste situaii se pot
utiliza traductori Hall sau spirale pe cablaj n care se induce o tensiune proporional cu viteza
de rotaie, figura 5.19.
n figura 5.19 dreapta se poate remarca structura intern a unui motor de curent continuu fr
perii n care cmpul nvrtitor este realizat prin mai multe bobine. La acest motor rotorul este
exterior i este un magnet permanent.

105

Senzor Hall
fixat pe cablaj
Magnet fixat pe
rotor

Figura 5.19: Traductor Hall (stnga) i spiral traductor de vitez (dreapta)

Un traductor Hall este de exemplu cel produs de Infineon, TLE4921. Traductorul const n 2
senzori Hall la 2,5mm distan formnd un traductor diferenial utilizat pentru determinarea
poziiei i turaiei. Piesa mobil poate fi un magnet permanent dar poate fi i din material
feromagnetic, caz n care pe senzor trebuie montat un magnet permanent. Traductorul conine
sisteme de protecie la supratensiune i alimentare invers i poate fi alimentat n gama 030V. Ieirea este digital. Traductorul i o schem de conectare sunt date n figura 5.20.

Figura 5.20: Traductorul Hall Infineon TLE4921 i schema electric de conectare

Pentru acionarea motoarelor care absorb un curent de comand mai mare dect cel generat de
microcontroller se pot folosi amplificatoare de curent. Un circuit integrat preferat n proiectele
noastre este ULN2003, figura 5.21. Circuitul conine apte tranzistoare Darligton integrate
care asigur un curent mediu de 500mA i un curent de vrf de 600mA la o tensiune de
maxim 50V. Pentru mrirea curentului se pot folosi dou canale n paralel. Intrrile sunt
comandabile TTL /CMOS. Intrrile i ieirile sunt pe pri diferite ale capsulei, uurnd astfel
proiectarea cablajului. Cte o diod pe fiecare canal asigur protecia n cazul sarcinilor
inductive.

106

Figura 5.21: Circuit driver pentru motoare ULN2003

Un circuit driver mai sofisticat prin care se pot comanda motoare de curent continuu
bidirecional cu un singur canal PWM i 2 semnale linii de semnal ajuttoare este circuitul
Allegro A3950. Acesta poate asigura cureni de pn la 2,8A la o tensiune de 36V. Circuitul
are protecie la scurtcircuitul motorului, la subtensiune i la supratemperatur. Circuitul
conine o punte Full Bridge prin care curentul poate fi furnizat bidirecional. Circuitul poate fi
comandat ntr-o stare de economie de energie cu un semnal de SLEEP. Diagrama de timp
pentru comanda bidirecional este dat n figura 5.22.

ENABLE
PHASE
IMOTOR

Figura 5.22: Diagrama de timp pentru comanda bidirecional a unui motor de curent
continuu cu Allegro A3950

Dac semnalul PWM este aplicat la intrarea ENABLE motorul va fi comandat ntr-un sens
dac semnalul PHASE este 1 logic i n sensul contrar dac semnalul PHASE este 0 logic.
Diversitatea driverelor este foarte mare, aa cum de fapt este diversitatea motoarelor. Pe
pagina Sanyo (http://semicon.sanyo.com/en/motor/index.php) exist prezentate multe modele
de drivere grupate du tipul motoarelor la care se folosesc dar i dup domeniul de
aplicabilitate: uz casnic, auto, echipamente periferice, aparate foto etc.

107

5.4.Generarea semnalelor PWM


Generarea semnalelor PWM cu microcontrollere se poate realiza folosind un timer de uz
general din structura
microcontrollerului sau
module specializate n cazul
microcontrollerelor dedicate controlului motoarelor.

5.4.1. Timere I/O


Un timer de I/O tipic familiei de microcontrollere Fujitsu [3] const n 2 numrtoare de 16
bii care au asociate 4 module de comparare i 4 module de captur. Modulele de comparare
au 8 pini externi de ieire iar modulele de captur au 8 pini externi de intrare.
Numrtorul numr liber un tact intern sau un tact extern care pot fi divizate de un circuit de
prescalare. Se poate genera o ntrerupere dac numrtorul a ajuns la capt (Overflow) sau la
egalitatea ieirilor numrtorului cu un registru de comparare. Numrtorul se poate iniializa
la un Reset extern, la un Reset soft sau la egalitatea cu registrul de comparare.
Regitrii de comparare sunt de 16 bii i sunt controlai de un registru de control. Cnd un
numrtor ajunge la valoarea stocat n registrul de comparare nivelul de ieire al pinului
extern corespunztor este modificat, se cere o ntrerupere i se iniializeaz numrtorul (dac
aceast opiune este validat). Pentru generarea PWM este folosit numrtorul i regitrii de
comparare.
Regitrii de captur sunt de 16 bii i sunt controlai de un registru de control. La apariia unui
front de la un pin extern valoarea numrtorului poate fi stocat ntr-un registru de captur i
se genereaz o ntrerupere. Frontul de declanare poate fi programat: cel cresctor,
descresctor sau ambele fronturi.
Schema bloc a timerului este dat n figura 5.23. Liniile gri din spatele blocurilor semnific
faptul c fiecare numrtor are asociate module de comparare OCU (Output Compare Unit) i
module de captur ICU (Input Capture Unit). Numrtorul 0 este conectat cu OCU 0/1/2/3 i
cu ICU 0/1/2/3 iar numrtorul 1 este conectat cu OCU 4/5/6/7 i cu ICU 4/5/6/7.
Se poate spune c timerul const n 2 canale identice bazate pe cte un numrtor, fiecare
canal avnd asociate 2 module de comparare, 2 module de captur i 8 pini externi din care 4
de ieire i 4 de intrare.
Numrtorul conine un registru de date TCDT0/1 (Data Register of Free Running Timer) de
16 bii din care se poate citi valoarea numrtorului sau se poate scrie (doar cnd numrtorul
este oprit). Tactul numrtorului poate fi selectat tactul intern sau tactul de la un pin extern.
Selecia se face cu un bit din registrul TCCSH0/1.

108

intern
Numrtor de 16 bii 0/1

FRK0

Selecie tact

FRK1

Registru de comparare
0/2/4/6

OUT0
OUT2
OUT4
OUT6

Registru de comparare
1/3/5/7

OUT1
OUT3
OUT5
OUT7

IN0
IN2
IN4
IN6

Registru de captur
0/2/4/6

IN1
IN3
IN5
IN7

Registru de captur
1/3/5/7

Figura 5.23: Schema bloc a timerului de I/O


Un registru de control TCCSL0/1 programeaz funcionarea numrtorului. Cererea de
ntrerupere IVF este validat de bitul IVFE. Schema bloc a numrtorului este dat n figura
5.24.
Cerere de ntrerupere

TCCSL
IVF IVFE STOP

MODE CLR CLK2 CLK1 CLK0


tact

TCDT0/1

Numrtor pe 16 bii

Divizare

Tact
intern
FRCK

Ieire pentru comparare


TCCSH

ECKE

Figura 5.24: Schema bloc a numrtorului din componena timerului de I/O

109

TCCSL0/1 (Control Status Register of Free Running Timer) este un registru de 8 bii care
conine: IVF este un flag de cerere de ntrerupere, IVFE valideaz cererea de ntrerupere,
STOP oprete numrtorul, MODE stabilete modul de iniializare (cu nivel H numrtorul se
iniializeaz prin comparare i egalitate cu regitrii de comparare), CLR iniializeaz
numrtorul cu 0000H, 3 bii CLK stabilesc factorul de divizare al tactului.
TCCSH0/1 (Control Status Register of Free Running Timer) este un registru de 8 bii din
care este folosit un singur bit (ECKE) care selecteaz tactul intern sau tactul extern de la pinul
FRCK.
O diagram de timp arat evoluia numrtorului i iniializarea prin depire (figura 5.25a) i
iniializarea prin egalitate cu registrul de comparare (figura 5.25b).
Pentru analiza evoluiei unui timer sunt utile diagramele de timp cu reprezentare analogic a
valorii digitale din numrtor. Modulul de comparare const n 2 regitrii de 16 bii, 2 pini de
comparare de ieire i un registru de control. n MB90350 sunt integrate 4 module de
comparare separate (dar acelai numrtor la 2 module).

Valoare numrtor

Valoare numrtor

FFFFH

FFFFH

BFFFH

BFFFH

7FFFH

7FFFH

3FFFH

3FFFH

0000H

0000H

Registrul de
comparare
este BFFFH

timp
/RESET
INT

timp
/RESET
INT

Figura a

Figura b

Figura 5.25: Iniializarea numrtorului prin depire i prin egalitate


cu registrul de comparare

Pentru fiecare modul regitrii de comparare pot fi utilizai independent. n funcie de modul de
operare regitrii pot comanda pinii de ieire. Valoarea iniial a fiecrui pin poate fi
programat separat. Fiecare modul poate genera un semnal PWM folosind ambii regitrii de
comparare. Schema bloc a modulului de comparare este dat n figura 5.26.

110

OUT0

OCCP0 Registru de comparare 0

Valoare numrtor

OCCP1 Registru de comparare 1

OUT1

OCS Controlul comparrii


ICP1

ICP0 ICE1 ICE0 CST0

CST1

Cerere de ntrerupere comparator 1 /comparator 0

Figura 5.26: Schema bloc a modulului de comparare

OCCP (Registru de comparare, Output Compare Register) de 16 bii conine valoarea cu care
se compar valoarea numrtorului. Acest registru trebuie ncrcat nainte de a valida
operarea.
OCS0/2/4/6 (Control Status Register of Output Compare Low) sunt regitrii de 8 bii n care
ICP este o cerere de ntrerupere la egalitate (cte una pentru fiecare registru de comparare),
ICE sunt bii de validare a cererii de ntrerupere iar 2 bii (CST) valideaz operaia de
comparare.
OCS1/3/5/7 (Control Status Register of Output Compare High) sunt regitrii de 8 bii n care
2 bii (CMOD0 i CMOD1) valideaz modul de operare al pinilor de ieire (nivelul lor logic
se schimb sau nu la egalitate), 2 bii valideaz pinii de ieire iar 2 bii schimb valoarea
logic a ieirilor.
Funcionarea poate fi fr schimbarea valorii logice a pinilor de ieire la egalitate
(CMOD0/1=00B) i funcionarea cu schimbarea valorii logice a ieirii OUT0 i OUT1 la
egalitatea OCCP0 cu OCCP1 (CMOD0/1=01B). De asemenea ieirea poate s schimbe sau
nu valoarea logic la iniializarea numrtorului. Generarea a 2 semnale PWM este
exemplificat n figura 5.27.

111

Valoare numrtor
FFFFH
BFFFH
7FFFH

OCCP0=BFFFH
OCCP1=7FFFH

3FFFH
0000H
timp
/RESET
OUT0

Ieirile schimb valoarea


logic la iniializarea
numrtorului.
CMOD1/0=00B

OUT1

Figura 5.27: Dou moduri de lucru ale modulului de comparare

5.4.2. Exemplu de modul pentru comanda motoarelor n microcontrollere specializate


MC Fujitsu sunt folosite mult n aplicaii auto, de aceea se integreaz un modul dedicat
comenzii motoarelor pas cu pas, dar care poate comanda i motoare de curent continuu. Acest
modul apare deja la MC pe 8 bii de tip vechi (MB89940), echipeaz multe MC pe 16 bii
(MB90390, 90420, 90590, 90595) i MC pe 32 de bii (MB91360).
Modulul de comand pentru comanda motoarelor conine 2 generatoare PWM, 4 etaje de
ieire de putere (drivere de motor) i logica de selecie. Driverele pot asigura un curent mare
care permite conectarea direct a motoarelor de mic putere. Un mecanism de sincronizare
asigur funcionarea sincronizat a celor 2 generatoare PWM. n general MC conin mai
multe asemenea module. Schema bloc a unui modul de control motoare care conine 2 canale
PWM i 4 drivere de ieire este dat n figura 5.28.
Numrtorul PWM pentru fiecare canal numr pn la capt, apoi se rencarc i numrarea
rencepe. La coincidena valorii din numrtor cu cea stocat n registrul de comparare
semnalul de ieire i schimb starea logic. La sfritul numrrii semnalul de ieire i
schimb din nou starea logic. Regitrii de comand sunt:
PWM Control Register (8 bii) controleaz pornirea/ oprirea operrii, pinii externi i
ntreruperile. 2 bii selecteaz funcionarea pinilor externi ca pini de control motor sau pini de
I/O de uz general, 2 bii selecteaz tactul (tact divizat cu 1, 2, 4 sau 8), un bit pornete
operarea (PWM2 pornete un tact dup PWM1 pentru a micora zgomotul produs n driver la
o comutare simultan de cureni mari), un bit selecteaz operarea PWM pe 8 sau 10 bii.

112

Selecie tact

PWM1

Selecie ieire

Registru de
comparare PWM1

PWM1P0
PWM1M0

Registru de
selecie PWM1

PWM2

Selecie ieire

Registru de
comparare PWM2

PWM2P0
PWM2M0

Registru de
selecie PWM2

Figura 5.28: Schema bloc a modulului de comand a motoarelor

PWM1/2 Compare Register (16 bii) specific limea impulsului PWM (formatul de scriere
este pe 8 sau 10 bii). O valoare de 000H indic un factor de umplere de 0% iar o valoare de
3FFH indic un factor de umplere de 99,9% (99,6% pentru formatul pe 8 bii). Pentru a putea
stoca valori pe 10 bii regitrii de comparare sunt pe 16 bii. Trei variante de semnale cu factor
de umplere diferit sunt artate n figura 5.29.

Registru de comparare
8 bii
10 bii
00H
000H
80H
200H
FFH
3FFH

Ciclu PWM

Figura 5.29: Trei diagrame de timp pentru 3 factori de umplere diferii

PWM1/2 Selection Register controleaz pinii de ieire. Un bit asigur sincronizarea ieirilor
n sensul c orice modificare n configurarea canalelor PWM nu se reflect la ieire dect
dup ce acest bit este setat. Cte 3 bii selecteaz tipul de semnal de ieire la ieirile
PWM1P0, PWM1M0, PWM2P0, PWM2M0- semnal n stare L, H, impedan ridicat sau
PWM.

113

5.5. Interfaa pentru comanda motoarelor HCTL 1100 (Hewlett Packard)


Un circuit de interfa specializat n comanda motoarelor este circuitul HCTL 1100 [4].
Acesta poate comanda att motoare pas cu pas ct i motoare de curent continuu cu traiectorie
determinat de vitez. Aceast interfa poate fi conectat la un microcontroller de uz general
obinnd un sistem nglobat performant de control. Alegerea acestei variantei n locul celei cu
microcontroller specializat n controlul motoarelor depinde de aplicaie i de costurile din acel
moment. Schema bloc a interfeei HCTL-1100 este dat n figura 5.30.

Interfaa cu
microprocesorul
AD0/DB0
........
AD5/DB5
DB6
DB7
/ALE
/CS
/OE
R//W
RESET

Port de
comand a
motorului
MC0
............

LIMIT
STOP
Flaguri urgene
INIT Flaguri de stare
PROF

MC7

Generator de profil
Port PWM

REGISTRE
INTERNE

Comutator
Reacie
CHA
CHB

/SYNC Timer
EXTCLK

INDEX

PULSE
SIGN

PHA
PHB
PHC
PHD

Figura 5.30: Schema bloc a interfeei HCTL-1100


AD0/DB0- AD5/DB5- sunt 6 linii de adrese multiplexate cu date.
Selecia adresei se face cu /ALE;
DB6, DB7- 2 linii de date nemultiplexate.
La nceput se stabilete adresa pe liniile de date, apoi cu /ALE, aceasta se stocheaz n
registrele interne. Apoi se stabilesc datele i se valideaz cu R//W. Semnalul /OE stabilete
momentul citirii datelor n registrul intern al lui HCTL1100.
Semnalele CHA, CHB i INDEX provin de la traductorul foto de turaie. Aceste impulsuri
incrementeaz un registru de poziie actual de 24 de bii (se incrementeaz sau
decrementeaz). Pentru evitarea impulsurilor eronate CHA i CHB, acestea trebuie s rmn
active cel puin 3 perioade EXTCLK pentru a fi luate n considerare.
Intrrile LIMIT i STOP sunt semnale de urgen care comand oprirea motorului
independent de procesorul sau MC gazd. Ieirile PROF i INIT pot fi interogate de MC
gazd pentru a afla starea circuitului. Cu /SYNC se pot sincroniza ntre ele mai multe circuite
HCTL 1100. Semnalul RESET aduce circuitul n starea iniial.

114

HCTL 1100 are 64 de registre interne pe 8 bii din care 35 utilizabile din exterior. Aceste
registre sunt adresate pe liniile de adres AD0-AD5.
Traductorul optic de poziie i de sens este format dintr-un disc cu orificii dreptunghiulare
dispuse pe circumferin. Orificiile sunt sesizate de dou sisteme optice decalate. Din formele
de und generate de cele dou sisteme decalate se poate deduce sensul rotaiei, (figura 5.31).
FOTO 1
FOTO 2

SENS

FOTO 1
SENS

FOTO 2
Figura 5.31: Formele de und generate de traductorul de poziie i sens
i un traductor optic cu disc

Pe disc mai este realizat un orificiu pentru impulsul de INDEX. La o rotaie se genereaz un
impuls INDEX. Impulsurile de la traductoare sunt sensibile la perturbaii, de aceea se impun
msuri specifice EMC de protecie. Aceste semnale pot constitui att semnale pentru stabilirea
poziiei (prin numrarea impulsurilor), a sensului prin verificarea defazajului ct i a vitezei,
printr-un convertor tensiune/frecven.

5.5.1. Comanda unui motor de curent continuu printr-un convertor D/A


La ieirile MC0-MC7 se cupleaz un convertor D/A, ca n figura 5.32.
HCTL 1100
MC0
MC1

+5V

CD/A

Io

vo

+
Conv. I-U

MC7

Figura 5.32: Conectarea unui motor de c.c. la HCTL 1100

115

Datele se stocheaz n registrul 08H al HCTL pe 8 bii. Pentru a putea comanda motorul n
ambele sensuri, se consider tensiuni negative n intervalul de comand 00H-7FH i valori
pozitive n intervalul 80H-FFH, figura 5.33.
U

+5V
2,5V

00H

40H

80H

C0H

FFH registrul 08H

-2,5V
-5V

Figura 5.33: Generarea tensiunilor de comand prin convertorul AD

5.5.2.Comanda PWM a unui motor de c.c. cu HCTL 1100


Comanda unui motor de c.c. se face cu semnalul PULSE. Frecvena acestuia este stabilit la
EXTCLK/100. Semnalul SIGN comand sensul de rotaie. n registrul 09H al HCTL 1100 se
ncarc limea impulsului, figura 5.34. Comanda se face cu valori zecimale, astfel 00H=0D
nseamn un factor de umplere de 0%, 32H=50D nseamn 50% iar 64H=100D nseamn
100%.
100%

Factor de umplere

50%

80H 9CH

SIGN=1

00H
32H
registrul 09H

64H

SIGN=0

Figura 5.34: Programarea HCTL 1100 pentru comanda unui motor de c.c. cu modulaie PWM

5.5.3. Comanda unui motor pas cu pas cu HCTL 1100


Se pot comanda motoare pas cu pas cu 2,3 sau 4 faze, cu diferite succesiuni de comand a
fazelor. Semnalul INDEX servete la stabilirea poziiei iniiale a motorului. Succesiunea
fazelor se poate programa prin registrul 07H. Pentru o programare n care toate fazele sunt
active se genereaz o secven ca n figura 5.35.

116

Frecvena impulsurilor poate fi variabil (programabil). Ca urmare se pot comanda i


motoare pas cu pas cu un anumit profil de vitez.
/INDEX
PHA
PHB
PHC
PHD

Figura 5.35: Secven de comand a unui MPP cu patru faze

5.5.4. Cuplare circuitului HCTL 1100 la microcontroller


Cuplarea circuitului HCTL1100 la microcontrollerul AT90S1200 este dat n figura 5.36.
Circuitul driver pentru motoare pas cu pas i pentru motoare de curent continuu, HCTL-1100,
primete semnalele de comand i date de la microcontroller prin porturile acestuia. Pe portul
B al microcontrollerului se trimit date catre circuitul HCTL1100 i se citesc date din acesta,
iar pe portul D se trimit comenzi (semnale) pentru circuitul HCTL1100.

U4
1

SYNC

U4
AT90S1200

Y1

2MHz
5

30pF

C4

xtal2

reset

C3

xtal1

30pF

pb0
pb1
pb2
pb3
pb4
pb5
pb6
pb7
pd0
pd1
pd2
pd3
pd4
pd5
pd6

12
13
14
15
16
17
18
19

2
3
4
5
6
7
8
9

2
3
6
7
8
9
11

37
40
39
38
36

AD0
AD1
AD2
AD3
AD4
AD5
AD6
AD7

MC0
MC1
MC2
MC3
MC4
MC5
MC6
MC7

R/W
OE
CS
ALE
RESET

SIGN
PULSE
CHA
CHB
INDEX

R6
1
10K

PHA
PHB
PHC
PHD

VCC

34

EXT CLK

PROF
INIT
LIMIT
STOP

26
27
28
29
18
19
20
21
22
23
24
25
17
16
31
30
33
12
13
14
15

C6
1uF
HCTL1100

Figura 5.36: Cuplarea HCTL 1100 la un MC AT90S1200


n continuare sunt prezentate rutine AT90S1200 pentru lucrul cu circuitul HCTL1100.
Procedurile prezentate ca exemple realizeaza RESET-ul, citirea i scrierea n circuitul HCTL1100.

117

.device AT90S1200
rjmp start
short_delay:

;total 1+80*(1+1/2)-1+4=124
;o ntrziere de 124 perioade de tact
ldi r26,80
;1 tact
sd:
dec r26
;1 tact
brne sd
;1/2 tact
ret
;4 tact
;#################################################################
;PROCEDURA RESET HCTL-1100
;#################################################################
rst:

cbi $12,4
;bitul de reset din portul D
rcall short_delay
;se menine pinul de reset in 0 logic
sbi $12,4
;reset ncheiat
ret
;#################################################################
;PROCEDURA CITIRE
;#################################################################
cit:

clr r16
out $17,r16
sbi $12,0
ldi r17,0b00000001
out $18,r17
cbi $12,3
sbi $12,3
cbi $12,2
sbi $12,2

;portul B intrare
;comand read
;s-a selectat un registru din HCTL
;puls pe ALE
;puls pe CS

rcall short_delay
cbi $12,1
;OE=0
in r18,$18
;citire propriu zis din HCTL1100
sbi $12,1
;OE=1
ret
;#################################################################
;#################################################################
;PROCEDURA SCRIERE IN HCTL1100
;#################################################################
scr:
ser r16
out $17,r16
;portul B ieire
ldi r17,0b000000001 ;selecie latch din HCTL1100
out $18,r17
cbi $12,3
sbi $12,3
;puls ALE
cbi $12,0
;selecie R/W pe scriere
ldi r18,0b1111111
;date de trimis n HCTL1100

118

out $18,r18
;scrierea propriu zis
cbi $12,2
sbi $12,2
;puls CS
sbi $12,0
;revenire la modul citire din HCTL1100
ret
;#################################################################
start :
ser r16
out $11,r16
;portul D ieire
rcall short_delay
rcall rst
rcall cit
rcall scr

;se invoc o mic ntrziere


;se trimite comand reset la HCTL1100

Exist dou moduri de cuplare a lui HCTL-1100 la MC 8051, i anume legarea la magistrala
de adrese/date/control sau la portul I/O. Alegerea uneia dintre metode sau a celeilalte depinde
de modul n care este folosit MC 8051. Dac MC 8051 folosete bus-ul n aplicaia dat se
recomand cuplarea lui HCTL pe bus. Este necesar hard suplimentar (dou circuite TTL). La
legarea pe bus se pot cupla pn la 4 circuite HCTL. Dac circuitul nu folosete bus-ul, adic
nu are conectat nici un fel de memorie exterioar se recomand legarea lui HCTL la portul
I/O, soluie care nu necesit hard suplimentar. n figura 5.37 se arat modul de legare la portul
de I/O.
U4
1
Vcc

SYNC

U5
31
C7
22pF

19
Y2
2MHz

C8

18

22pF
Vcc

C9

10uF

R7
10K

12
13
14
15
39
38
37
36
35
34
33
32

EA/VP
X1

X2

P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7

RESET
INT0
INT1
T0
T1
P0.0
P0.1
P0.2
P0.3
P0.4
P0.5
P0.6
P0.7

P2.0
P2.1
P2.2
P2.3
P2.4
P2.5
P2.6
P2.7
RD
WR
PSEN
ALE/P
TXD
RXD

1
2
3
4
5
6
7
8

2
3
4
5
6
7
8
9

21
22
23
24
25
26
27
28

37
40
39
38
36

AD0
AD1
AD2
AD3
AD4
AD5
AD6
AD7

PHA
PHB
PHC
PHD
MC0
MC1
MC2
MC3
MC4
MC5
MC6
MC7

R/W
OE
CS
ALE
RESET

SIGN
PULSE
CHA
CHB
INDEX

17
16
29
30
11
10

34

EXT CLK

PROF
INIT
LIMIT
STOP

26
27
28
29
18
19
20
21
22
23
24
25
17
16
31
30
33
12
13
14
15

HCTL1100

8051

Figura 5.37: Conectarea HCTL 1100 la MC 8051


Din aceast figur se remarc simplitatea conectrii i hardul suplimentar minimal utilizat. Un
software minimal este prezentat n continuare (rutine de RESET, citire i scriere).

119

;##############################################################
;PROCEDURA RESET
;##############################################################
RS1100:
ORL P2,#0FH
;Seteaz liniile de R/W la citire, OE=1, CS=1, AE=1
MOV P0,#0FFH
;Seteaz P1=HIGH
CLR P2.4
;Seteaz RESET pe LOW
NOP
;ntrziere corespunztoare unui impuls de 5s
NOP
NOP
NOP
SETB P2.4
:Readuce linia RESET n HIGH
RET
;################################################################
;################################################################
;PROCEDURA CITIRE (Citete registrul lui HCTL)
;################################################################
RD1100
SETB P2.0
;Seteaz liniile R/W pentru citire
MOV P1,B
;Adresa de LATCH
CLR P2.3
:Se genereaz un puls ALE
SETB P2.3
MOV P1,#0FFH
CLR P2.2
;Se genereaz un puls CS
SETB P2.2
NOP
;ntrziere corespunztoare unui impuls de 4s
NOP
NOP
CLR P2.1
;Seteaz OE=0
MOV A,P0
;Se iau datele din HCTL 1100
SETB P2.1
;Seteaz OE=1
RET
;################################################################
;PROCEDURA SCRIERE (Scrie n registrul lui HCTL)
;################################################################
WR1100
MOV P1,B
;Adresa de LATCH
CLR P2.3
:Se genereaz un puls ALE
SETB P2.3
MOV P1,#0FFH
CLR P2.0
;Seteaz liniile R/W pentru scriere
MOV P1,A
;Se emit datele
CLR P2.2
;Se genereaz un puls CS
SETB P2.2
SETB P2.0
;ntoarcere la modul de citire
MOV P1,#0FFH
RET
;###############################################################

120

5.6.Exemple de implementare

5.6.1. Comanda PWM a motoarelor folosind MC Motorola 6805


Schema bloc de control a unui motor de c.c. cu perii realizat de un MC68HC705 este dat n
figura 5.38. Controlul vitezei poate fi realizat:
cu un program intern pentru un sistem care nu are nevoie de feedback sau de
schimbri dese ale programului;
cu un program intern ghidat de cteva intrri, cu funcionalitile sugerate n
figur.
MC68705
OSC1

+5V

PWMA1

Motor de c.c.
cu perii

OSC2

+5V

Vdd

Oprit
Cretere vitez
Scdere viteza

PC0
PC1
PC2

Vss

Figura 5.38: Schema bloc de control a unui motor de c.c. cu perii realizat de MC68HC705

Un program simplificat la maxim, care sugereaz modul n care se comand motorul este:
PORTA
PORTC
DRDA
DRDC
PWMAD
CTLA

EQU
EQU
EQU
EQU
EQU
EQU

$00
$02
$04
$06
$10
$14

Start

EQU
CLR
LDA
STA
LDA
STA

Se aloc denumiri sugestive porturilor A i C


precum i registrelor pentru stabilirea sensului
portul de date PWM (pe liniile port A
portul de control al PWM

CTLA
#$20
PWMAD
#$00
DDRC

registrul de control al PWM este Resetat


se trimite 20h n portul de date PWM
(factor de umplere 50%)
registrul C este definit de intrare
(se putea i cu CLR PORTC)

adr

BRSET 0,PORTC,adr1
BSR adr_off
adr1
BRSET 1,PORTC,adr2
...........................................................

bitul 0 este setat (buton apsat)?


dac da, salt la subrutina motor oprit (off)
dac nu, se verific urmtorul buton

121

BRA

adr

bucla se repet continuu

Adr_off

LDA #$00
se trimite 00h n portul de date PWM
STA PWMAD
Dezavantajul acestei scheme de control este c permite micarea motorului doar ntr-un sens.
Pentru a fi posibil schimbarea sensului este nevoie de un bit suplimentar pentru comanda
schimbrii polaritii tensiunii de alimentare a motorului.
Comanda PWM a unui motor pas cu pas folosind un MC Motorola 6805 poate fi realizat ca
n figura 5.39. Bobinele trebuie alimentate ntr-o anumit succesiune pentru a obine sensul de
rotaie dorit. Majoritatea motoarelor sunt echipate cu traductoare de poziie (Hall sau optice).
Un astfel de motor poate fi comandat cu vitez variabil prin modificarea factorului de
umplere (PWM), dar n acest caz trebuie modificat i viteza de comutaie.

MC68705
OSC1
OSC2

+5
V

ULN
2003

PWMA1
PWMA2
PWMA3

Vdd

nfurri
stator
Traductori
Hall

PA0
PB7
PB6

Motor
Vss

Figura 5.39: Comanda PWM a unui motor pas cu pas folosind un MC Motorola 6805
Acest sistem asigur performane de reglare superioare, avnd o complexitate mai mare.
Secvena de acionare pentru comanda motoarelor este transmis prin intermediul unui
amplificator de putere. Semnalele digitale de la traductoare sunt citite pe 3 intrri digitale.
Aplicaia este detaliat n nota de aplicaii Motorola AN1702/D, (http://mcu.motsps.com ).

5.6.2. Comanda PWM a motoarelor folosind MC 8051


n aceast aplicaie se folosete un MC cu arie de numrtoare programabil (PCA 83C51FA) care are posibilitatea de a programa 2 canale PWM. O comand bidirecional a
unui motor folosind 2 canale PWM i o bucl de reacie prevzut pentru a menine o vitez
constant este artat n figura 5.40.

122

83C51FA

L293
(Driver)

P1.3

P1.4
Traductor Hall
cu ieire digital

Generator de tact

Figura 5.40: Comanda PWM a unui motor de c.c. folosind un MC 8051

MC comand motorul folosind 2 canale PWM. Curentul necesar motorului nu poate fi


furnizat de MC, de aceea se folosete un circuit driver L293 care conine 4 canale de
amplificare, din care n acest caz sunt folosite 2 i un semnal de modificare a sensului. n
acest montaj modificarea sensului se face prin modificarea factorului de umplere la cele 2
canale PWM.

P1.3
P1.4
Tensiunea u
la bornele
motorului

Figura 5.41: Diagrame de semnal pentru comanda PWM a motorului n ambele sensuri
Cnd P1.3 i P1.4 sunt egale diferen de potenial la bornele motorului este zero. n cazul (a),
P1.3 este mai mult n 1 i motorul este alimentat cu +5V de la P1.3 la mas (P1.4) i se rotete
ntr-un sens. n cazul B el este alimentat de la P1.4 i se rotete n cellalt sens. Viteza poate fi
comandat prin variaia factorului de umplere a celor 2 canale PWM, fiind proporional cu
diferena lor.
Bucla de feedback se poate nchide montnd pe rotorul motorului 2 piese magnetice,
diametral opuse i formnd 2 impulsuri, la fiecare rotire a motorului, cu un traductor Hall cu
ieire digital. Semnalul este preluat de MC la un pin I/O de uz general, sau poate fi preluat la
un canal al PCA n mod numrtor (cum s-a realizat n acest caz), sau poate genera o
ntrerupere.

123

Pentru c motorul cu perii este foarte perturbator, se impun msuri de protecie. Se recomand
conectarea unor condensatori de 6,8F ntre bornele motorului i mas i de 0,33F ntre
bornele motorului. De asemenea se recomand decuplarea tensiunii de alimentare cu
condensatori de 50F, 6,8F i 100nF n paralel, diode pentru eliminarea vrfurilor de
tensiune de la fiecare born a motorului la mas i +5V.
Cteva elemente din programul de comand sunt prezentate n continuare:
MOV CMOD,#06
MOV CCAPM0,#42H
MOV CCAPM1,#42H
MOV CCAP0L,#0H
MOV CCAP1L,#0H

:se stabilete intrarea pentru PWM de la pin exterior


:stabilete canalul 0 din arie n mod PWM
:stabilete canalul 1 din arie n mod PWM
:stabilete un factor de umplere 100% pentru canalul 0
:stabilete un factor de umplere 100% pentru canalul 1,
ceea :ce nseamn c motorul st.

Dup iniializarea acestor registre de comenzi trebuie pornit timerul, ceea ce se realizeaz prin
poziionarea bitului 6 (CR) din registrul de control CCON.
SETB CR
Rotirea cu vitez maxim ntr-un sens se comand cu secvena:
MOV CCAP0L,#0FFH
MOV CCAP1L,#0H
SETB CR
Rotirea cu vitez maxim n cellalt sens se comand cu secvena:
MOV CCAP0L,#0H
MOV CCAP1L,#0FFH
ETB CR
Traductorul de vitez d impulsuri canalului 4 programat n mod de captur. La primirea unui
impuls pe P1.6 se ncarc coninutul timerului n registrele CCAP3H i CCAP3L, coninutul
acestor registre fiind proporional cu timpul scurs ntre 2 impulsuri ale traductorului.
MOV CMOD,#0
MOV CCAPM3
SETB IP.6
MOV IE,0C0H
SETB CR

;se stabilete tactul timerului ca fosc/12


;canalul 4 n mod captur
;se seteaz ntreruperea de la PCA la cea mai mare prioritate
;se valideaz ntreruperile de la PCA
;se pornete timerul

Cnd apare o ntrerupere, n CCAP3L i CCAP3H apare coninutul timerului. O aplicaie


asemntoare este descris de Jafar Modares n nota de aplicaii AP-425, de la INTEL (
www.questlink.com ).
O alt aplicaie a fost realizat la laboratorul de Interfaare. Cu un microcontroller 80C552
care dispune de un modul specializat PWM cu dou ieiri PWM, figura 5.42. Aceste dou
ieiri pot fi folosite pentru comanda unui motor de curent continuu care poate fi comandat s
se roteasc n ambele sensuri cu vitez variabil.. Frecvena de baz este asigurat de
oscilatorul intern (fosc/2) i de un prescaler de 8 bii, PWMP. Acesta poate fi ncrcat prin
124

program cu o constant de divizare, cu valori ntre 0 i FFh, corespunztoare unui factor de


divizare 1256. Ieirea prescalerului este conectat la intrarea unui numrtor cu
incrementare, PWMC, modulo 255 (PWMC = 0FEh). Att prescalerul ct i numrtorul
sunt utilizate n comun de ctre cele dou canale PWM.
Coninutul numrtorului este comparat continuu cu coninutul a dou registre de 8 bii,
PWMO i PWM1, cte unul pentru fiecare canal (PWMn, n=0,1). Ct timp PWMC este mai
mic dect valorile nscrise PWMO i PWM1, ieirile PWMO, respectiv PWM1 sunt forate
n "0" logic, n momentul n care PWMC devine egal cu una din valorile PWMn, n=0,1,
ieirea corespunztoare este forat n "1" logic, nivel care se menine atta timp ct PWMC
PWMn.
Astfel, factorul de umplere pentru un ciclu complet de numrare (255 de perioade ale
semnalului la ieirea prescalerului) este controlabil prin coninutul registrelor PWM0 i
PWM1, ntre 0 i 1, n incremeni de 1/255. Frecvena semnalelor la ieirile PWM0 i
PWM1 este dat de relaia:

f PWM =

f OSC
,
2 ( PWMO + 1) 255

Aceasta conduce la o frecven cuprins ntre 92Hz i 23,5kHz, pentru fosc=12MHz.


Registru de comparare
PWM0
Comparator
PWM0
Prescaler
PWMP

Numrtor
PWMC
Comparator

PWM1

Registru de comparare
PWM0

Figura 5.42: Blocul PWM

La modificarea coninutului registrelor de comparare PWMn, ieirile corespunztoare sunt


actualizate imediat, nu dup terminarea ciclului curent de numrare.

125

Cu acest tip de microcontroller a fost construit un dispozitiv de comand a unui motor de c.c.
Rotirea n ambele sensuri este realizat prin conectarea lui la un montaj n punte, figura 5.43.

Figura 5.43: Schema amplificatorului de curent


Atunci cnd s-a testat aceast conectare i s-a folosit aceeai surs de alimentare pentru partea
de comand i cea de putere s-a constatat c perturbaiile generate de motor influeneaz
funcionarea plcii.
Observaie: ieirile PWM sunt negate, de aceea este nevoie ca valorile introduse n regitrii
PWMx trebuiesc complementate, pentru ca palierul activ sa fie proporional cu ceea ce se
dorete la ieirile PWM.
Ex:

MOV A,#55
CPL A
MOV PWM0,A

; incarca in acumulator valoarea imediata 55H


; se complementeaza acumulatorul
; doarece iesirea PWM0 este negata
; ncrcare registru de comparare

A fost realizat un program de test care comand motorul astfel nct s se roteasc pn la
viteza maxim posibil i apoi s descreasc turaia pn cnd se oprete.
; semnalul pornete ca fiind 100% din timp 1 logic, scade, apoi crete, operaia
; se repet.
PWMP
equ
0FEh
PWM0
equ
0FCh
PWM1
equ
0FDh
ORG 8000h
LJMP MAIN
ORG 8090h
MAIN:
MOV A,#20
; se incarca acumulatorul cu #XX pentru
; frecventa semnalului de XkHz=11,059MHz/(2*(1+A)*255)
MOV PWMP,A
MOV A,#0FFh
; in A este valoarea imediata 00h de start
CLR SENS
; pentru a stabili CRESTEREA/DESCRESTERA turaiei

126

ROTESTE:
CPL A
; se complementeaza deoarece iesirea PWM este negata
MOV PWM0,A
; ncrcare registru de comparare
MOV R2,#4
DELAY:
MOV R1,#0F0h
DELAY1:
MOV R0,#0FFh
DJNZ R0,$
DJNZ R1,DELAY1
DJNZ R2,DELAY
; verificare si apoi stabilirea noului sens daca este nevoie
CPL A
JB
SENS,DIRECT
INVERS:
SUBB A,#10h
CJNE A,#0Fh,ROTESTE
SETB SENS
; se schimba sensul
SJMP ROTESTE
DIRECT:
CJNE A,#0FFh,CRESTE
CLR SENS
; se schimba sensul
SJMP ROTESTE
CRESTE:
ADD A,#10h
; factorul de umplere creste
SJMP ROTESTE
STOP:
SJMP $
BSEG AT 20H
SENS: DBIT 1
; 1/0- factorul de umplere pozitiv creste/scade
END
5.6.3.Detectorul de stare zero

O aplicaie de comand a motoarelor poate s ofere surprize n faza de proiectare sau chiar de
implementare. Un exemplu de astfel de surpriz este cea care a aprut la nlocuirea
indicatoarelor de bord clasice auto cu indicatoare comandate cu motoare de curent continuu.
Dac cheia este decuplat n timpul micrii mainii sistemul electronic nu mai este alimentat
i indicaia de vitez, respectiv turaie rmn la valorile din momentul scoaterii cheii. Pentru
rezolvarea acestei probleme trebuie ca sistemul electronic s mai rmn alimentat un timp.
Oricum, la mainile noi dup scoaterea cheii geamurile electrice se pot ridica, oglinzile se
rabat etc. Pentru a uura comanda motorului n acest caz au aprut microcontrollere care au un
bloc intern de feedback.

127

Modulul de comand al motoarelor din componena MC pe 32 de bii (MB91360) are integrat


un bloc de detectare a strii rotorului1 . Schema bloc a blocului este dat n figura 5.44.
Comparator
Selecie tact

Logica de analiz
Numrtor de 8 bii
Rezultat
Registru ZPD0

+
-

PWM2M0
1/9 AVCC

Validare/
invalidare
alimentare

Figura 5.44: Schema bloc a detectorului de stare zero


Logica de analiz eantioneaz ieirea comparatorului cu tactul selectat n ZPD0.
Comparatorul compar intrarea de la PWM2M0 cu tensiunea de referin i seteaz bitul de
rezultat al comparrii dac tensiunea de intrare este mai mare dect tensiunea de referin.
Rezultatul comparrii devine 1 dac toate eantioanele (numrul lor este specificat n ZPD0)
sunt 1. Ca urmare pinul PWM2M0 poate fi folosit pentru nchiderea unei bucle de reacie de
control a motorului.
Registrul ZPD0 (Zero Detect Register) conine: 3 bii selecteaz tactul (tact divizat cu
1,2,4,5,6 sau 8), un bit valideaz operarea detectorului de zero, 3 bii stabilesc numrul de
eantioane (1,2,3,4 sau 5), un bit valideaz/ invalideaz alimentarea blocului analogic, un bit
indic rezultatul comparrii.
Bibliografie

[1] http://www.celesco.com/?gclid=CLrzz_-A76ACFQO7ZwodlzrEHw, Traductori de


poziie
[2] http://www.unimeasure.com/lx.htm, Traductori de poziie
[3] Ogrutan P., Microcontrollere si controllere grafice Fujitsu, Ed. Universitatii Transilvania
Brasov, 2006, 182 pag, ISBN 973-635-621-3
[4] Gerigan C., Ogruan P., Tehnici de interfaare, Ed. Transilvania Braov, 2000, 315p.,
ISBN 973-9474-94-2
[5] Toacse Gh., Romanca M., Pan Gh., Step transductor for PM hybrid stepping motor, in
Electric Power Components And Systems, Taylor & Francis INC, ISSN: 1532-5008 vol.
11/4, 1986, pp. 347-356

Aceast funcie a controllerului este patent al Siemens VDO Automotive AG i poate fi folosit doar cu
acordul proprietarului.

128

Capitolul 6: Controlul dispozitivelor cuplate la reeaua de curent alternativ

Dispozitivele cuplate la reeaua de curent alternativ pot fi comandate cu microcontrollere n


principal n dou feluri:
ON-OFF prin intermediul releelor;
Cu componente semiconductoare- tiristori, triacuri, IGBT pentru comanda cu tensiune
variabil.
Dac este relativ simplu ca o sarcin s fie comandat cu un releu, este mai complicat
comanda cu elemente semiconductoare. Acest capitol detaliaz comanda consumatorilor cu
triacuri, care este cel mai des ntlnit metod de comand. Aplicaiile de control la tensiunea
reelei implic cteva dificulti specifice:
Se lucreaz cu cureni i tensiuni mari, ceea ce solicit o atenie deosebit i msuri de
siguran cum ar fi decuplri optice, gestionarea potenialelor de mas, izolarea
galvanic a osciloscopului etc.;
procesul controlat, mai ales n zonele tranzitorii este de regul un proces complex;
necesitatea aplicrii n industrie duce la restricii de costuri, la necesitatea asigurrii
unor performane bune de fiabilitate, la asigurarea condiiilor de compatibilitate
electromagnetic etc.
6.1.Triacul
Triacul este un comutator bidirecional care poate fi folosit n aplicaii de curent alternativ.
Triacul poate fi comandat printr-un terminal numit poart (G Gate). n stare blocat triacul
blocheaz trecerea curentului ntre terminalele principale A1 i A2. Un impuls sau un nivel de
tensiune pe poart comand intrarea n conducie a triacului i curentul trece ntre A1 i A2.
Blocarea triacului nu se poate face doar prin terminalul de poart. Pentru blocare este necesar
s nu existe tensiune pe poart i curentul ntre A1 i A2 s scad sub o anumit valoare (s
treac prin zero). Simbolul i caracteristica curent tensiune a triacului sunt date n figura 6.1.
Tensiunea de strpungere VS este definit la curent de poart zero. Crescnd curentul de
poart scade tensiunea la care triacul intr n conducie. Polaritatea tensiunii de comand nu
trebuie s fie aceeai cu tensiunea pe triac, dar curentul de poart difer n funcie de curentul
principal prin triac. Se consider c triacul este cel mai uor de comandat dac sensul
curentului de poart este acelai cu cel principal. Amplitudinea impulsului de amorsare i
curentul de poart trebuie s depeasc limitele solicitate n datele de catalog pentru modelul
respectiv. Pentru a obine un timp de amorsare scurt i o disipare redus de energie se
recomand s se aplice impulsuri de amorsare mai lungi. De regul un microcontroller nu
poate asigura curentul necesar amorsrii unui triac.

129

n majoritatea aplicaiilor se folosete un grup RC serie n paralel cu triacul. Grupul RC


acioneaz n sensul eliminrii supratensiunilor care ar putea produce autoamorsarea (tensiune
ntre A1 i A2 mai mare dect VS).
A1

I
ON

VS
A2
OFF

VS

Figura 6.1: Triacul - simbol (stnga) i caracteristica curent tensiune (dreapta)

Prezena grupului RC este indispensabil n cazul sarcinilor inductive, la care ieirea din
conducie a triacului se poate produce n apropierea maximului unei alternane a tensiunii de
alimentare. Valorile R i C sunt date de regul n foile de catalog ale triacului.

6.1.1. Comanda digital a triacului


Cel mai simplu mod de utilizare este prin alimentarea direct de la reea [1], figura 6.2.

Logica de
comand

220V

Sarcina

Figura 6.2: Schema electric a unui etaj de comand cu triac alimentat direct de la
reea
Tensiunea reelei este redresat monoalternan i filtrat. Alternana pozitiv este aplicat
diodei Zener i alimenteaz partea digital. Curentul de alimentare poate fi mrit prin
modificarea valorii rezistorului serie dar, n aceast schem curentul nu poate fi prea mare
deoarece crete disipaia pe rezistena serie.

130

Pentru variantele de comand mai complexe se recomand separarea galvanic a circuitului


digital de comand de triac, deci de partea de reea. Izolarea poate fi realizat prin
transformator, optocuplor sau optotriac. Cea mai elegant soluie este folosirtea unui optotriac
care asigur un curent de amorsare de acelai sens cu cel principal, deci o comand optim a
triacului. O schem de comand a unui triac cu optotriacul MOC302X este dat n figura 6.3.

Figura 6.3: Comanda digital a triacului cu optotriac


Curentul principal prin optotriac se obine prin divizarea curentului principal prin triac, deci
curentul de amorsare pentru triac are acelai sens cu cel principal. Optotriacul este conceput
ca etajul de ieire s poat fi folosit la 220V (tensiunea maxim 400V). Rezistena de izolaie
optic este de 7,5kV. Curentul repetitiv maxim generat de optotriac este 100mA, iar curentul
nerepetitiv (maximum 10ms, o alternan) este de 1,2A.

6.1.2.Comanda n faz
Se poate obine o valoare efectiv variabil a tensiunii pe sarcin prin amorsarea triacului
dup un anumit timp de la trecerea sinusoidei reelei prin zero, adic cu un anumit unghi de
faz. Pentru a demonstra funcionarea triacului n acest mod a fost realizat un model
Simulink, figura 6.4.

Figura 6.4: Model Simulink al comenzii n faz

131

Triacul a fost modelat cu doi tiristori n antiparalel. Impulsurile de comand de amorsare au


fost generate cu un generator de impulsuri i arat ca n figura 6.5 sus.

Figura 6.5: Impulsuri de amorsare (sus) i forma tensiunii pe sarcin (jos)


Pn triacul este blocat tensiunea pe sarcin este zero, ceea ce micoreaz valoarea efectiv a
tensiunii, figura 6.5 jos. Cu ct unghiul de aprindere este mai mare cu att valoarea efectiv a
tensiunii este mai mic. Curentul prin unul din tiristoarele care compun triacul i tensiunea pe
triac sunt reprezentate n figura 6.6.

Figura 6.6: Tensiunea pe triac (linia gri) i curentul prin unul din tiristoare (linia
neagr)
Prin triac curentul are i alternana negativ. Simularea a fost realizat n cazul unei sarcini
rezistive. Dac sarcina are i componente inductive i capacitive atunci apar probleme datorit
defazajului ntre curent i tensiune. De exemplu, n figura 6.7, R=100, L=20mH, C=100F
se poate observa deformarea formei tensiunii pe sarcin. Pentru alte valori ale inductivitii i

132

capacitii se poate ntmpla ca triacul s nu intre n conducie, s nu se blocheze sau


tensiunea s fie puternic deformat.

Figura 6.7: Deformarea tensiunii pe sarcina RLC


6.1.3.Detectarea trecerii tensiunii prin zero
Pentru comanda n faz este nevoie ca microcontrollerul s fie informat printr-o ntrerupere la
trecerea tensiunii reelei prin zero. Problemele care apar n acest caz sunt c detectarea trecerii
prin zero se face cu o anumit ntrziere i dup detectarea trecerii prin zero
microcontrollerul execut o rutin de generare a unui impuls de amorsare. Ambele aspecte
duc la o ntrziere de amorsare a triacului. Pentru a determina ntrzierea admisibil se poate
calcula valoarea efectiv a tensiunii n cazul unui unghi de amorsare a triacului de /4, figura
6.8, cu relaia:
T

U ef = 1 T u 2 dt = (220 2 ) 2 2 .2 sin 2 a.da


0

Efectund calculele rezult o valoare efectiv de 209,73V, ceea ce este acceptabil.

/4
Figura 6.8: Explicativ la amorsarea cu ntrziere a triacului

133

Aceast ntrziere permite o eroare maxim teoretic de detectare a trecerii prin zero de 25%
sau rularea unui numr de instruciuni n perioada de 2,5ms, adic sute de instruciuni. De
exemplu, la un microcontroller RISC care execut multe instruciuni ntr-un singur tact, cu
tact de 1MHz, se pot executa o mie de instruciuni ntr-o ms. Pentru a putea asigura o valoare
efectiv ct mai mare ntrzierea detectrii trecerii prin zero trebuie s fie ct mai mic.
Detectarea trecerii prin zero poate fi realizat prin mai multe metode:
Msurarea tensiunii reelei cu un canal de conversie A/D, tensiunea reelei fiind
preluat cu redresare i fr separare galvanic;
Acelai mod de preluare dar cu separare galvanic cu transformator (apare un defazaj
de care trebuie inut cont) sau optic (apare o neliniaritate care introduce o ntrziere
n amorsarea triacului);
Preluarea tensiunii cu blocul comparator analogic al microcontrollerului cu sau fr
separare galvanic.
n figura 6.9 este prezentat o variant de detectare a trecerii prin zero cu decuplare optic
(stnga sus).

Optocuplor
R1 CNY17
220V
c.a.
R2

+5V

MC
ADC0

GND

MC
R1

220V
c.a.
R2

AIN0
AIN1

Figura 6.9: Variant pentru schema de detectare a trecerii prin zero i simulare SPICE

Divizorul rezistiv cu R1 i R2 asigur la intrarea optocuplorului o tensiune de 10VVV, pentru


ca n alternana negativ tensiunea invers pe dioda LED s fie mai mic dect valoarea
admisibil (6V la CNY17). Rezistorul R limiteaz curentul prin LED la valoarea maxim
admisibil (60mA). O simulare SPICE (dreapta) arat c ntrzierea introdus de neliniaritatea

134

diodei LED este de 630s, ceea ce este admisibil. Aceast variant asigur detectarea trecerii
prin zero pentru alternana pozitiv. Pentru alternana negativ se poate deduce c trecerea
prin zero va fi dup timpul de 10ms sau, prin redresarea bialternan a tensiunii reelei se pot
detecta trecerile prin zero la fiecare alternan. n stnga jos este prezentat o variant fr
decuplare optic. n varianta prezentat n stnga sus microcontrollerul detecteaz trecerea
prin zero cu un canal de conversie AD. O alt variant (stnga jos) este prin folosirea
comparatorului analogic (ATMEL RISC, Atmega8, Atmega16, AT90xx). Comparatorul
analogic compar valorile de intrare de pe pinul pozitiv (AIN0) cu valorile de pe pinul negativ
AIN1. Cnd tensiunea de pe pinul pozitiv AIN0 este mai mare dect tensiunea de pe pinul
negativ AIN1, bitul ACO al comparatorului este setat. Ieirea comparatorului poate fi setat
astfel nct s declaneze funcia Input Capture a unui timer, astfel se poate genera
ntrzierea necesar nainte de generarea impulsului de amorsare a triacului. n plus
comparatorul poate declana o ntrerupere. Utilizatorul poate selecta declanarea ntreruperii
pe frontul cresctor sau descresctor. Este posibil s se selecteze oricare dintre pinii ADC7-0
(intrare analogic pentru convertorul ADC) pentru a nlocui intrarea negativ a
comparatorului. Pentru a utiliza aceast opiune se utilizeaz multiplexorul ADC (ADC
trebuie s fie oprit).

6.2. Pornirea motoarelor asincrone asistat de microcontrollere


Acest proiect a fost realizat n colaborare cu firma Fujitsu. Proiectul a fost realizat i testat
pn n faza de model experimental. Dispozitivul propus const ntr-un microcontroller
Fujitsu din familia CONCERTO care comand cuplarea condensatorului de pornire prin
intermediul unui triac. Condensatorul de pornire este cuplat la pornirea motorului i decuplat
atunci cnd curentul de pornire scade sub o anumit valoare de prag. n cursul proiectrii s-a
constatat c resursele microcontrollerului permit i preluarea de sarcini suplimentare de
protecie. Astfel s-a conceput un sistem de protecie la avarie, care intr n funciune dac
motorul nu pornete din cauza unui defect intern sau a unei suprasarcini. Dac curentul de
pornire nu scade ntr-un anumit interval de timp sub valoarea de prag motorul este decuplat de
la tensiunea de alimentare. O protecie la supranclzire decupleaz motorul de la alimentare
dac temperatura msurat cu un termistor pe carcasa motorului depete o anumit valoare.
Simularea pornirii motorului i msurrile de curent executate au pus n eviden cureni mari
la pornire, de 10-20 ori mai mari dect curentul nominal n lipsa sarcinii i cureni i mai mari
la pornirea motorului cu sarcin. Aceasta nseamn c triacul trebuie s conduc cureni de
ordinul a 100A, deci este nevoie de un triac scump. Pentru a evita acest lucru s-a adoptat
metoda de soft start (sau slow start) care nseamn comanda triacului n faz cu un unghi
descresctor n timp pentru a realiza un curent cresctor.
Probleme dificile au fost rezolvate la comanda n faz a triacului, la alimentarea
microcontrollerului i la traductorul de curent.
Varianta clasica de pornire a motoarelor asincrone monofazate este data in figura 6.10.

135

Condensator
permanent

Condensator
de pornire

Intrerupator
centrifugal

Alimentare
220V c.a. Infasurare

Rotor

stator

Infasurare de
pornire

Figura 6.10: Pornirea motorului asincron


Un capacitor de pornire i o nfurare de pornire asigur pornirea motorului la punerea sub
tensiune. Acest mod de pornire rezult din principiul de funcionare al motorului asincron. n
soluiile clasice condensatorul de pornire este decuplat cu un ntreruptor centrifugal atunci
cnd turaia motorului atinge o valoare de prag (75% din turaia nominal). La unele motoare
asincrone nu se folosete ntreruptorul centrifugal de decuplare a condensatorului ci un releu
de curent care decupleaz condensatorul atunci cnd curentul prin nfurarea de pornire
scade sub o anumit valoare.
Dezavantajele soluiilor actuale:

la decuplare curentul mare afecteaz contactele releului (decuplarea poate surveni n


orice punct al sinusoidei reelei)

dac motorul nu pornete din anumite motive (de exemplu o sarcin excesiv)
nfurarea de pornire rmne cuplat tot timpul i pune n pericol integritatea
motorului

n mediul MATLAB Simulink a fost realizat o simulare simpl a curentului absorbit de un


motor asincron la pornire pentru a putea evalua performanele necesare pentru triacul de
conectare/ deconectare a condensatorului de pornire. Modelul folosit este prezentat n figura
6.11, urmat de o diagram a curentului absorbit la pornire mpreun cu o diagram a turaiei la
pornire, fr sarcin. Se observ un curent de pornire de 3 ori mai mare dect cel nominal.
Simulri mai exacte sunt prezentate n [2] i se confirm un curent de pornire de cteva ori
mai mare dect curentul nominal.

136

Curentul absorbit
(simulare 1,8s de la
pornire)

Turaia

Figura 6.11: Modelarea Simulink, diagrama curentului absorbit i diagrama


turaiei la pornire
Dup simularea curentului absorbit s-a trecut la msurarea curentului. Pentru aceasta s-a
utilizat sistemul de dezvoltare Concerto de la Fujitsu i s-au achiziionat datele cu convertorul
A/D din structura microcontrollerului. Ca traductor de curent a fost folosit un traductor Hall.
Datele achiziionate au fost trimise prin interfaa serial RS232 la un calculator gazd PC i au
fost prelucrate n Excel. Un grafic al valorilor achiziionate pentru un motor de 2,2kW este dat
n figura 6.12.

137

Figura 6.12: Curentul de pornire msurat


Pe abscis este reprezentat timpul n ms iar pe ordonat curentul n A. Msurarea s-a efectuat
doar pentru alternana pozitiv pentru a simplifica circuitul de msurare, considernd c
pentru alternana negativ fenomenul de descretere a curentului este simetric. Se vede din
acest grafic c la pornire curentul este de 9 ori mai mare dect cel nominal.
n urma simulrilor i a msurrii curentului de pornire a fost realizat schema bloc a
sistemului de pornire care este data n figura 6.13. Microcontrollerul msoar tensiunea
aplicat prin intermediul divizorului rezistiv R1 i R2 pentru a determina trecerea prin zero.
De asemenea este msurat i curentul de pornire care trece prin condensatorul i nfurarea
de pornire.

Alimentare 220V
c.a.
K

Motor
asincron
monofazat

R1
R2

Traductor de
temperatur

Trad.
curent

MICROCONTROLLER
FUJITSU

Condensator i
nfurare de pornire

Figura 6.13: Schema bloc a sistemului de pornire si protectie a motorului asincron


La momentul pornirii motorului se comand triacul T cu un unghi de aprindere mare, i care
scade apoi repede la zero (timp de sub 0,5s) realiznd soft startul. O scdere prea rapid a
unghiului d natere unui curent prea mare n triac iar o scdere prea lent face ca motorul s
nu porneasc pentru c nu poate fi asigurat cuplul de pornire necesar. Curentul de pornire este
monitorizat tot timpul i dup scderea lui sub un anumit prag triacul este decuplat. Dac
138

curentul nu scade sub valoarea de prag n 3s se consider c este indeplinit condiia de avarie
i comutatorul K este deschis. Dup pornirea motorului se msoar temperatura carcasei la
intervale de timp constante i comutatorul K se deschide dac temperatura crete peste o
anumit limit.
Sistemul de dezvoltare cu care a fost realizat aplicaia a fost sistemul Concerto care conine
un microcontroller Fujitsu pe 8 bii din familia F2MC-8FX (Basoon). Aceste microcontrollere
conin 71 de linii de I/O, 7 canale timer, 12 linii de conversie A/D, 12 linii de ntrerupere
extern. Mediul de dezvoltare a prii software a fost Softune Workbench pus la dispoziie de
Fujitsu care conine: compilator ANSI C, macro asamblor, editor de legturi, simulator,
emulator, verificator C, analizor C.
O fotografie cu modulele experimentale este dat n figura 6.14.
Circuit de
putere:

Traductor
Hall de curent

Triac cu
radiator i
ventilator

Modulul de
dezvoltare
Concerto

Redresor de
precizie cu AO
i decuplare
optic

Motorul i
placa de prob

Figura 6.14: Modulele folosite la experimentare

139

Traductorul de curent folosit a fost un traductor cu efect Hall de tip LEM LA100P care are un
factor de divizare de 2000:1. Msurarea curentului se face fr ntreruperea circuitului,
conductorul prin care trece curentul intr ntr-un orificiu al traductorului Hall. Traductorul
este alimentat cu tensiuni continue de + i 12V, i ieirea este bipolar. De aceea pentru a
putea conecta intrarea unui convertor A/D la ieirea traductorului Hall este nevoie de o
redresare. Pentru ca precizia unui redresor cu diod nu este suficient s-a folosit o redresare
de precizie cu amplificator operaional fr prag. Acest traductor a fost folosit la msurarea
curentului cu precizie, dar este un traductor scump aa nct se recomand ca n producia de
serie s fie nlocuit cu o spiral nfurat pe conductorul parcurs de curent sau cu un
transformator de msur.
Separarea galvanic a fost realizat pentru ncercrile n laborator furniznd impulsurile de
amorsare pentru triac prin intermediul unui optotriac MOC 3020. Pentru msurarea tensiunii
s-a folosit de asemenea decuplare optic cu optocuplor. Cel mai complicat a fost alegerea unui
sistem de alimentare pentru microcontroller, de mici dimensiuni i ieftin. A fost ales un
convertor AC-DC n comutaie al firmei Rohm care este un circuit hibrid de mici dimensiuni
care convertete direct tensiunea alternativ de 220V n tensiune continu de 5V.

6.3.Dispoziv de protecie la supratensiune i supracurent a consumatorilor


O statistic publicat n [6], figura 6.15 arat c din 9600 de defecte reclamate datorit
distribuiei de energie 26,6% se datoreaz supratensiunilor.

Apa
2,6%

Neglijen 25,7%

Foc 8,2%
Vandalisme 8.,9%

Izolaie 27,9%
Supratensiuni 26,6%

Furtuni 0,1%

Figura 6.15: Distribuia avariilor instalaiilor electrice


Mai mult dect att, supratensiunile i scurtcircuitele sunt o cauz important a incendiilor. n
anul 2009 ntr-un singur jude al Romniei au avut loc 265 de incendii soldate cu 3 mori.
Conform unui studiu citat n [7], cele mai multe incendii au avut ca i cauze probleme
electrice.
Soluia actual este utilizarea unei sigurane pentru supratensiuni i a unei sigurane pentru
scurtcircuite. Un sistem de protecie de la DEHN-SOHNE [8] este prezentat n figura 6.16.

140

Figura 6.16: Schema electric i dispozitivul de protecie DEHNBloc Maxi

Dispozitivul se ncadreaz n clasa A de protecie pentru reele de 220V (EN 61643-1),


tensiunea maxim nominal fiind de 255V. Dispozitivele sunt construite cu varistoare zincoxid i tuburi cu descrcare n gaze. Dispozitivul este completat cu o siguran (timp de
aciune 200ms dependent de valoarea curentului) i cu un indicator LED al funcionrii.
A fost realizat un sistem cu microcontroller pentru protecia la supracurent, scurtcircuit i
supratensiune a consumatorilor de energie electric. Acest dispozitiv a fost brevetat [9].
Dispozitivul propus prezint urmtoarele avantaje:
vitez mare de decuplare, (maximum 10ms), fiind astfel mai rapid dect metodele
clasice;
nu necesit intervenia unei persoane pentru c dup oprirea tensiunii n cazul unui
scurtcircuit sau supratensiune, revenirea tensiunii este automat (n cazul unui
scurtcircuit doar dup ce cauza a fost eliminat;
prin aciunea n dou etape, la apariia unor supratensiuni sau supracureni de valoare
mic valoarea medie a tensiunii se scade i sarcina nu este decuplat de la reea,
funcionnd n continuare;
prin interfaa de comunicaie prin Internet se pot comunica date on line despre
consumatorul de energie electric.
Schema bloc a dispozitivului de protecie la supracurent i supratensiune este dat n figura
6.17. Analiza curentului absorbit i a tensiunii este realizat de microcontroller prin
convertorul analog digital integrat. Analiza curentului este realizat cu un traductor specializat
de curent (traductor Hall) iar analiza tensiunii prin redresare, filtrare i divizare. La detectarea
unui scurtcircuit sau a unei supratensiuni microcontrollerul nu mai trimite impulsuri de
amorsare pentru triac i consumatorul este scos de sub tensiune.
Metoda de protecie este conceput ca o protecie n dou etape. Dac se detecteaz o
supratensiune sau un supracurent, acestea sunt clasificate n:
nepericuloase (+/- 3%) i nu se ia nici o msur;

141

puin periculoase (+/-10%) i se modific unghiul de aprindere al triacului. n funcie


de valoarea supratensiunii i supracurentului se programeaz un timer care stabilete
ntrzierea n amorsarea triacului (unghiul de deschidere). Prin aceasta valoarea medie
a tensiunii pe sarcin scade i compenseaz creterea tensiunii sau curentului;
periculoase (peste 10%) se blocheaz impulsurile ctre triac i astfel sarcina este
decuplat de la reea. Tensiunea este msurat n continuare i la revenirea la valori
normale sarcina este realimentat. La detectarea unui scurtcircuit, dup o perioad de
timp se reia alimentarea i dac scurtcircuitul se menine triacul este blocat o nou
perioad de timp.

Senzor Hall de
curent i senzor
de tensiune

Comanda triac
pentru
decuplarea
tensiunii

Microcontroller
Sursa de
alimentare

Convertor AD

Port I/O
Transmisia
datelor prin
Internet

Web server sau modem


GPRS

Sistem cu
microcontroller
pentru
ntreruperea
tensiunii la
apariia unei
supratensiuni sau
scurtcircuit

Figura 6.17: Schema bloc a dispozitivului de protecie la supracurent i supratensiune

142

Observaii:
1. Sursa de alimentare trebuie s poat suporta creterile de tensiune pe linie pentru ca
dispozitivul de protecie s nu se defecteze;
2. Curentul de scurtcircuit trebuie s nu depeasc curentul maxim nerepetitiv prin triac (de
circa 10 ori mai mare dect curentul maxim repetitiv).
Schema electric a dispozitivului este dat n figura 6.18.

Plus15V
D4

D2

R1 56K

C4
4700uF/25V
R2
10K

T1

12

DIODE

D1
1
1N4001

U1
L7805

2x6V

1
10

220V~

VIN

VOUT

2
3
3

6
1
7

D3

1N4001

C1
4700uF/25V

D
N
G

6
7

Minus15V
8
D5

R8
319K

C5

9
12MHz

4700uF/25V

10
11
C2
30pF

C3
30pF

12
13

R7
R LIM (0,8)

P1
0-10K

14

R6
SARCINA

(RESET)PC6

PC5(ADC5)

(RXD)PD0

PC4(ADC4)

(TXD)PD1

PC3(ADC3)

(INT0)PD2

PC2(ADC2)

(INT1)PD3

PC1(ADC1)

(XCK/T0)PD4

PC0(ADC0)

VCC

GND

GND

AREF

(XTAL)PB6

AVCC

(XTAL2)PB7
(T1)PD5

PB5(SCK)
PB4(MISO)

(AIN0)PD6

PB3(MOSI/OC2)

(AIN1)PD7

PB2(SS/OC1B)

(ICP)PB0

PB1(OC1A)

28
27
26
25
24
23
22
21
20
19
18
17
16
15

ATmega8

R9
21.7K

+15V

-15V

BLOC DETECTOR
DE VARF

HALL
LEM LA 100-P

R4
R5
Q1
BTA41/600B

1 470

370

U4
MOC3020

1
2

3
4

BLOC DECUPLARE

Figura 6.18: Schema electric a dispozitivului de protecie cu microcontroller

6.3.1. Simularea proteciei n 2 etape la supratensiune


Pentru simulare a fost realizat un model SIMULINK . Simularea proteciei la supratensiune
n 2 etape este artat n figura 6.19.

143

Tensiunea crete n limita admis

Se micoreaz valoarea medie

Se blocheaz
tensiunea

Figura 6.19: Simularea proteciei n 2 etape la supratensiune


Pe abscis o unitate nseamn o perioad (20ms). Pe graficul de sus, n momentul 8 tensiunea
care crete depete prima limit i triacul este comandat cu un unghi de faz pentru
reducerea tensiunii medii pe sarcin. Tensiunea continu s creasc i n momentul 12 se
depete a 2-a limit i triacul este blocat, protejnd sarcina. Detaliul arat c n momentul
comutrilor apar vrfuri de tensiune, cu amplitudini de pn la 10V. Graficul de jos arat
forma unei integrale a tensiunii pe sarcin, proporional cu puterea consumat. Se vede c n
etapa a doua puterea este mai mic dect n prima etap, astfel sarcina fiind protejat prin
micorarea tensiunii medii.

6.3.2. Simularea proteciei n 2 etape la supracurent i scurtcircuit


Simularea proteciei la supracurent i scurtcircuit n 2 etape este artat n figura 6.20.

144

Curentul este sub limita admis

Curentul
atinge limita 1

Curentul depete
a 2-a limit

Se testeaz meninerea
supracurentului

Figura 6.20. Simularea proteciei n 2 faze la supracurent i scurtcircuit

n ipoteza unui supracurent cu vitez mic de cretere sunt vizibile cele 2 etape. Pe graficul de
sus, n momentul 8 apare un supracurent i triacul este comandat cu un unghi de faz pentru
reducerea tensiunii medii pe sarcin. Curentul crete n continuare i n momentul 12 triacul
este blocat, protejnd sarcina. n momentul 15 se testeaz meninerea supracurentului sau
scurtcircuitului. Se poate observa c timpul maxim de blocare a triacului n cazul unui
scurtcircuit este de 10ms. Pe graficul de jos pot fi vzute impulsurile de amorsare a triacului.

145

6.3.3.Recuplarea automat i treptat a consumatorului la tensiune


Tensiunea este oprit (sarcina decuplat)

Tensiunea crete
treptat

Tensiunea este normal

Recuplarea
sarcinii

Figura 6.21: Recuplarea automat i treptat a consumatorului la tensiune


Recuplarea consumatorului poate duce la un curent excesiv consumat n primele momente
datorit caracterului capacitiv al sarcinii. Acest curent mare poate provoca uneori n regim
tranzitoriu supracreteri nedorite ale tensiunii. De aceea dispozitivul propus recupleaz treptat
sarcina, comandnd triacul ca n figura 6.21. n diagrama de sus se poate observa variaia
tensiunii n timp. Pn n momentul 7 triacul este blocat. Dup acest moment triacul este
comandat de impulsuri de amorsare care s asigure un unghi de aprindere descresctor,
crescnd astfel tensiunea. n momentul 11 tensiunea este integral aplicat pe sarcin. n
figura 6.21 jos se poate observa forma variaiei treptate a puterii consumate pe sarcin.
Modelul conceput pentru aceste simulri este cel din figura 6.22. Dispozitivul propus n acest
proiect prezint urmtoarele avantaje: vitez mare de decuplare, curentul de scurtcircuit poate
fi reglat cu precizie, vitez mare de reacie la creterea tensiunii de la reea, reglarea cu
precizie a supratensiunii de prag, disipaie termic redus n cazul unui scurtcircuit, protejarea
mediului electromagnetic nconjurtor, comoditate n exploatare i cost mic.

146

Figura 6.22: Model Simulink pentru protecia n 2 etape


Flexibilitatea acestui dispozitiv, datorat utilizrii microcontrollerului duce la posibilitatea
implementrii i a altor funcii utile. Dup un scurtcircuit sau o supratensiune, repunerea n
funciune nu necesit intervenia unei persoane pentru c dup oprirea tensiunii n cazul unui
scurtcircuit sau supratensiune, revenirea tensiunii este automat (n cazul unui scurtcircuit
doar dup ce cauza a fost eliminat. De asemenea, prin aciunea n dou etape, la apariia unor
supratensiuni sau supracureni de valoare mic valoarea medie a tensiunii se scade i sarcina
nu este decuplat de la reea, funcionnd n continuare.
n figura 6.23 este prezentat fotografia modelului experimental.
TRIAC cu
ventilaie
Senzor Hall

Microcontroller
Conexiune
Ethernet

Web server
(Site player)

Figura 6.23: Fotografia modelului experimental


Datele preluate referitoare la valorile tensiunii i curentului pot fi trimise la distan i puse la
dispoziia celor interesai (proprietarul locuinei dac nu se afl n localitate sau
distribuitorului de energie electric). Transmisia datelor poate fi realizat:

147

prin modem GSM, comunicaia fiind asigurat prin SMS sau GPRS;
prin INTERNET, cu un dispozitiv de tip web server care preia datele de la
microcontroller i le posteaz pe un site.

Componentele sistemului:
1. Modulul cu microcontroller i circuite anexe;
2. Modulul de putere care conine triacul i traductorii de curent i tensiune;
3. Modulul web server (Site Player) conectat la Internet care creaz o pagin pe care sunt
afiate evenimentele din reea precum i o diagram a consumului.

Bibliografie
[1] www.national.com/ms/CN/CN-6.pdf, [online], Triac Control Using the COP400
Microcontroller Family
[2] Magdun O., Covrig M., The numerical simulation in Matlab-Simulink of an electrical
drive with two-phased induction motor, Advanced Topics in Electrical Engineering
ATEE 2002, Bucharest, 29 November, 2002
[3] F2MC-8FX Fujitsu Semiconductor Preliminary
[4] AN 887, AC Induction Motor Fundamentals, Microchip, 2004
[5] AN900, Controlling 3- Phase AC Induction Motors using the PIC 18F4431, Microchip,
2004
[6] Stoian C., Misca T., Soluii privind protecia la supratensiuni atmosferice si de comutaie,
http://www.eximprod.ro/produse/supratensiuni.pdf
[7] http://www.obiectivbr.ro/component/content/article/38027.html
[8] www.dehn.de [online]
[9] Ogrutan P., Munteanu R., Suciu L., Dispozitiv de protecie la scurtcircuit i
supratensiune pentru receptori de energie electric, Brevet de inventie nr. 122067/2008

148

Capitolul 7: Aplicaii mobile


7.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.
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 devremePrima 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
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 civilizaie 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

149

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.

7.2.Transmisii simple
Pentru a realiza o transmisie simpl de date la distane de civa metri, cu debit mic de
informaie i care nu trebuie s fie interconectat printr-un anumit standard ntr-o reea de date
se pot folosi module sau interfee cu protocol proprietar. Consultnd pagina web a unei firme
de componente (www.adelaida.com) se pot gsi multe asemenea module, cu preuri variind
ntre 6 i 50 de dolari la cumprarea unei buci.
7.2.1.Module RF
Perechea de circuite RFM01 (receptor) i RFM02 (emitor), figura 7.1 sunt echipate cu
interfa SPI, lucreaz n banda 433MHz iar debitul de informaie maxim este de 115,2Kbps
la o distan de maximum 300m. Preul unui asemenea modul este de aproximativ 8 dolari.

Figura 7.1: Perechea de circuite RFM


Modulaia datelor este FSK, receptorul conine o bucl PLL i pot fi alimentate ntre 2,4V i
5,4V, fcnd posibil realizarea de module portabile, alimentate de la dou baterii.
Dimensiunile mici de 18mm x 14mm x 9mm asigur posibilitatea miniaturizrii aplicaiilor.
Receptorul are protecie la subtensiune i poate asigura reglajul automat al unor parametri ai
antenei. Schemele simple a receptorului din figura 7.2 i a transmitorului n figura 7.3 arat
simplitatea interconectrii cu un microcontroller din familia ATmega.

150

Figura 7.2: Receptor cu RFM01

Figura 7.3: Transmitor cu RFM02


Poate cea mai simpl soluie este folosirea perechii de circuite hibride TLP434A/ RLP434,
figura 7.4.

Figura 7.4: Circuite TLP434A (stnga) i RLP434 (dreapta)


Frecvena de lucru este 433,92MHz, debitul maxim este de 4,8Kbps la o distan de
maximum 200m cu o anten adaptat. Tensiunea de alimentare este de 3V-12V iar interfaa
cu microcontrollerul este serial. Modulaia datelor este ASK iar preul unui circuit este sub 6
151

dolari. Un proiect realizat cu aceast pereche de circuite este dat n [1], datele seriale
transmise fiind codate Manchester de un microcontroller PIC12F509. Schema este extrem de
simpl.
O alt variant este circuitul HM-TR (figura 7.5) construit de Hope Microelectronics Co. Ltd.
[2] care conine un receptor i un transmitor pe aceeai plac care pot asigura comunicaia
half duplex ntre dou puncte, interfaa fiind RS232.

Figura 7.5: Circuitul HM-TR, RS232, half duplex


Circuitul lucreaz n banda de frecvene ntre 310,24Mhz i 929,27MHz, deci se poate lucra la
433MHz sau 868MHz., modulaia fiind FSK. Debitul maxim este de 19,2Kbps, dimensiunile
modulului fiind 24x43mm. Distana maxim determinat ntr-un spaiu fr obstacole este de
330m. Denumirea circuitului HM-TR 433/RS232 sau HM-TR 866/TTL sugereaz frecvena
de lucru i nivelele de tensiune de interfa (RS232 sau TTL).
7.2.2.Interfee RF
O interfa radio modem realizat de Atmel este AT86RF211 [3], destinat emisiei i
recepiei de date n banda 400-950Mhz, cu posibilitatea seleciei digitale a canalului. Viteza
de transfer a datelor este de pn la 50kbps, ce refacerea ceasului la recepie, modularea fiind
de tip FSK. Banda de transmisie nu necesit licen. Circuitul are nevoie de un minim de
componente externe: condensatori, rezistoare, filtre i bobine. Interfaa cu microcontrollerul
este simpl, format dintr-un canal de date serial pe dou linii i un canal serial de programare
cu trei linii. Cteva dintre caracteristicile principale ale circuitului sunt:
posibilitatea de transfer de date bidirecional, half duplex, avnd un comutator RX TX
integrat, trecerea ntre TX i RX realizndu-se n mai puin de 200s;
putere de emisie mare, conform cu standardele internaionale (+10dBm) la tensiuni
mici de alimentare (2,4V), puterea fiind reglabil soft n 8 trepte prin registre de
control;
frecvena de lucru pentru RX/TX este programabil digital prin registre de control,
oscilatorul local fiind integrat n ntregime, att pentru RX ct i pentru TX. Frecvena
de lucru poate fi stabilit cu o precizie de 200Hz. Modificarea frecvenei se poate face
cu o vitez mare - 100kHz/s;
economia de energie este realizat prin intrarea ntr-un mod de operare cu energie
redus n care circuitul de recepie testeaz periodic irul de date recepionate pentru a

152

determina cnd este adresat. n acest moment se poate transmite o ntrerupere


microcontrollerului asociat pentru a ncepe recepia datelor.
Schema bloc a circuitului AT86RF211 este dat n figura 7.6.
Filtru

Anten
Filtru
de
intrare

RX

Filtru

Filtru

Demodulator

TX
Comutator

SINTETIZATOR
Modulator
Controlul
puterii de
emisie

Circuit de control
Adrese, comenzi, stri
Interfa serial sincron

Date digitale

DataMsg DataClk SLE SCK SDATA

Figura 7.6: Schema bloc a modemului radio


Ca i receptor a fost aleas o structur de superheterodin cu 2 etaje, frecvena intermediar
fiind aleas cu valorile cele mai populare pentru ca filtrele externe s fie uor de obinut. Sunt
posibile dou frecvene intermediare:
10,7MHz, cea mai popular opiune;
21,4MHz, la care frecvena imagine este suficient de departe de purttoare pentru ca la
intrare s se poat utiliza un filtru ceramic mai ieftin;
Circuitul poate lucra n dou benzi, 400-480MHz i 800-950MHz, pentru schimbarea benzii
fiind nevoie de schimbarea filtrului de intrare i a unei impedane de intrare. Selectarea
canalului n band se face software, prin comandarea blocului sintetizator. Singura
component extern pentru sintetizator este filtrul pentru bucla PLL. Sintetizatorul conine un
oscilator comandat n tensiune, cu panta de 150MHz/V. Viteza de modificare a frecvenei
funcie de tensiunea de comand trebuie s fie mai mare pentru a se putea realiza modularea
FSK a datelor. Pentru un ir de date cu debitul de 50kbps, la care fiecrui bit i se asociaz o
frecven dac este 0 i alta dac este 1, viteza de modificare a frecvenei trebuie s fie de
100kHz/50s. Cele 2 frecvene de codificare sunt prencrcate n circuit prin programarea
unui registru.
153

Toate celulele receptorului sunt concepute s poat lucra ntre 400-1000MHz. Amplificarea
primei celule este programabil prin registrul CTRL1. Comutatorul RX/TX protejeaz
intrarea receptorului de excursia mare de tensiuni a emitorului (pn la 10V vrf la vrf la o
tensiune de alimentare de 5,5V). Comutatorul este comandat de un bit de control.
Demodulatorul este format dintr-un oscilator care oscileaz la frecvena Fin (a semnalului de
intrare), frecvena liber de oscilaie fiind F0. Faza semnalului de ieire din oscilator este
proporional cu diferena ntre Fin i F0. Un circuit SAU EXCLUSIV transform diferena de
faz n factor de umplere, apoi un filtru trece jos o transform n tensiune. Dac Fin = F0
factorul de umplere este 50% i tensiunea de ieire este VDD/2. Chiar i primul bit poate fi
detectat corect aa nct nu mai este nevoie s se insereze un ir de bii 010101 pentru
sincronizarea receptorului. Tensiunea de ieire este convertit n nivele CMOS cu un
comparator cu rezoluie mare. Tensiunea de comparaie se extrage din valoarea medie a
semnalului analogic demodulat. Pentru un cod de tip Manchester cu un numr de zerouri
aproape egal cu cel de unu, schema este eficient. Tensiunea de comparaie este scoas la un
pin exterior. O alt posibilitate este de a fixa tensiunea de comparaie din exterior la VDD/2 cu
un divizor rezistiv. Astfel sunt posibile i codri NRZ. Pentru a permite comparaii foarte
exacte, tensiunea de comparaie se poate modifica n jurul valorii VDD/2 prin program. Este
implementat un DAC de 4 bii, programarea fcndu-se n registrul DTR.
Amplificatorul de putere de ieire poate genera 10dBm (10mW) n 3 canale foarte utilizate
(434MHz, 868MHz i 915MHz) (la 2,4V alimentare). Puterea maxim poate fi mai mare dac
tensiunea de alimentare este mai mare, astfel n canalul 400MHz, la 4V, puterea poate fi pn
la +19dBm. n banda 868MHz circuitul poate genera 14dBm, ceea ce reprezint nivelul
maxim admis n Comunitatea European. Curentul absorbit de circuit pentru a obine aceste
puteri de ieire este de 39-46mA, funcie de canal. Controlul puterii se poate face n 2 moduri:
Un rezistor extern stabilete puterea maxim, funcie de reglementrile legale n ara
respectiv;
Cu 2 bii din registrul de control CTRL1 se pot stabili 8 nivele de putere, sub puterea
maxim.
Stabilirea puterii prin soft este util la economia de energie. Astfel, 2 circuite care se afl n
legtur radio pot comunica nivelul de putere i l pot micora pn la nivelul la care
comunicaia se mai poate desfura corect. Etajul de putere are integrat o bucl de control a
puterii pentru a micora sensibilitatea puterii de ieire la modificarea temperaturii sau a
tensiunii de alimentare. Cu ct excursia tensiunii de ieire este mai mare, cu att i eficiena
etajului de putere este mai mare. Cu o alimentare de 3V, tensiunea de ieire este de +5V vrf
la vrf sau 1,77V valoare eficace. Pentru a emite cu 10mW (10dBm) rezistena de sarcin este
RS=314 . Impedana antenei fiind de 50 este nevoie de un filtru pentru adaptarea de
impedan. Filtrul trebuie realizat cu atenie, cu componente SMD de suprafa mic, cu mase
bune pentru a nu radia armonici superioare. Filtrul, n afar de rolul de adaptare de impedane
poate micora nivelul de armonici superioare generate n anten, conform cu reglementrile
din ara respectiv.

154

Microcontrollerul poate controla i monitoriza circuitul printr-o interfa serial sincron cu 3


fire:
SLE validare intrare;
SCK tact (semnal de intrare);
SDATA date de intrare/ieire
Dac SLE=1 interfaa este inhibat. Un ciclu de citire/scriere ncepe dac SLE trece n 0 i se
termin cnd SLE trece n 1. ntr-un ciclu de acces se poate realiza o singur operaie: un
singur registru poate fi citit sau scris. Un mesaj este format din 3 cmpuri:
Adresa (4 bii, la nceput MSB);
Selecia R/W;
Date (32 de bii maxim, la nceput MSB).
Diagrama de semnale pentru scriere /citire este dat n figura 7.7.
SLE
SCK
SDATA

A3 A2 A1 A0 R/W D31 D30 D29 ..D0

Figura 7.7: Diagrama de semnale pentru scrierea /citirea serial sincron


Datele transmise sau recepionate circul n mod half duplex pe linia bidirecional DataMsg
cu tactul DataClk. Interfaa ntre microcontroller i modemul radio se realizeaz ca n schema
bloc din figura 7.8.
MC AVR
TxD
RxD
Int0
Px.1
Px.2
Px.3

AT86RF

MC AVR

DataMsg
DataClk
Wakeup
SDATA
SCK
SLE

Px.4
Int1
Int0
Px.1
Px.2
Px.3

AT86RF
DataMsg
DataClk
Wakeup
SDATA
SCK
SLE

Figura 7.8: Conectarea prin UART (stnga) i la porturi paralele de uz general (dreapta)
n stnga este prezentat o variant de conectare a radio modemului la interfaa UART a
microcontrollerului. Liniile RxD i TxD sunt unite pentru c DataMsg este bidirecional.
Canalul UART trebuie programat half duplex. Semnalul Wakeup generat de modem comand
pe o linie de ntrerupere ieirea din stand by a microcontrollerului. Pentru comenzi se folosesc
trei linii dintr-un port paralel, SDATA fiind o linie bidirecional, toate liniile fiind comandate
software. Dac nu este disponibil un port UART se poate folosi varianta din figura 7.8

155

dreapta, toate semnalele provenind din porturi paralele de uz general. Tactul pentru date
DataClk este generat de modem la mijlocul bitului de date.

7.3.Transmisia datelor prin GPRS


Datorit necesitii de a putea avea acces la informaie i de a fi totodat mobil, s-a recurs la
folosirea terminalelor mobile GSM pentru transmisii de date. Comunicaiile de date prin
intermediul reelelor de telefonie mobil au devenit mult mai eficiente n momentul n care a
fost mprumutat o idee de la reelele de calculatoare, cea a comutaiei de pachete. Informaia
este ncapsulat n pachete care circul prin intermediul unor echipamente de reea pn la
destinaie. Adresele sursei i destinaiei sunt coninute n pachet. Astfel a luat natere GPRS
(General Packet Radio Services).
7.3.1.Structura i module tipice GPRS
Pentru transmisia de date modulele din reeaua GSM sunt completate cu un PCU (Packet
Control Unit) care trimite datele spre SGSN (Serving GPRS Support Node). SGSN are
sarcina de routare a pachetelor, atribuirea de IP i gestionarea legturii la trecerea de la o
celul la alta (handover). GGSN (Gateway GPRS Support Node) este conectat la un server din
Internet. HLR (Home Location Register) conine o baz de date a utilizatorilor. Arhitectura
GPRS este dat n figura 7.9.
Rata de transfer maxim care se poate obine prin GPRS este de 171,2 kbps adic 21.4kBps.
Transferul datelor poate fi efectuat prin UDP (User Datagram Protocol), sau prin TCP/IP.
Avantajul transferului prin TCP/IP const n faptul ca pachetele ajung la destinaie n ordinea
n care au fost transmise i exist o garanie a transmisiei corecte a pachetelor.
Reeaua GSM

Modem
GPRS

Controller
de staie

Staie GSM
(Base
Station)

PCU

HLR

...
...
...

GPRS
SGSN

GGSN

Internet

Figura 7.9: Arhitectura GPRS


Din punct de vedere al modalitii de transmisie a datelor, sistemul se comport n felul
urmtor: unitatea de procesare iniiaz o conexiune a modemului GPRS ctre un BS (Base
Station) a unei reele de telefonie mobil, apoi este efectuat o cerere pentru conexiunea la
internet prin GPRS. BS-ul sesizeaz acest lucru i prin intermediul PCU-lui (Packet Control
Unit), comunic cu SGSN-ul n vederea obinerii unei adrese IP i a alocrii unui canal de

156

transmisie ntre acestea din urm. Prin interfaa dintre BS i SGSN circul pachete de date,
SMS-uri n mod GPRS i semnalizri. Astfel, SGSN verific HLR (registrul de localizare),
aloc o adres IP, deschide un canal logic pentru transmisia datelor ctre PCU i i cere
acestuia alocarea i gestionarea resurselor necesare pentru stabilirea comunicaiei ntre staia
mobil i BS.
Sistemul de transmisie GPRS este pus la dispoziie de operatorii de telefonie mobil i datele
achiziionate sunt trimise la un server al utilizatorului. Fiecare modul GPRS trebuie s aib un
card SIM furnizat de operatorul de telefonie mobil cu un tip de abonament sau n sistem prepltit pentru transferul de date. Tarifele sunt de regul funcie de traficul realizat.
n aplicaiile realizate au fost folosite dou tipuri de module GPRS, produse de TELIT [4],
modelul GM862-GPRS i modelul EZ10. Ambele modele sunt echipate cu interfee RS232,
figura 7.10.

Figura 7.10: Modulul GPRS GM862 (stnga) i EZ10 (dreapta)


Modulul GPRS GM862-GPRS a fost achiziionat mpreun cu placa pe care se monteaz
pentru a evita lipirea direct la pinii modulului. Conexiunea modulului GM862 se face prin
interfaa serial RS232, la nivele de tensiune de 3,3V, de aceea trebuie construit o interfa
pentru modificarea nivelului cu circuite specializate MAX2232. n figura 7.11 este dat
schema electric de conectare a modulului GM862 la interfaa RS232 pentru interfaarea cu
un microcontroller.
Modulul GM862 are i o interfa USB, util pentru conectarea la un PC n faza de punere la
punct a programelor software de aplicaie, figura 7.12.
EZ10 este un modul GPRS/GPS construit ca ansamblu separat de placa cu microcontroller la
care se conecteaz prin o conexiune serial RS232. Modulul este construit pe baza circuitului
GM862, avnd suplimentar i funcia de GPS. EZ10 administreaz intern stiva TCP-IP i
uureaz astfel implementarea aplicaiei. Alimentarea modulului se face de la un alimentator
extern.

157

Figura 7.11: Schema electric de conectare a modulului GM862 la interfaa RS232

Interfaa
USB

Modulul
TELIT

Interfaa
RS232

Cupl de
alimentare

Figura 7.12: Placa cu modulul GM862 i interfeele RS232 i USB


Caracteristicile principale ale modulelor GPRS sunt:
Dual Band 900-1800MHz
EASY GPRS (comenzi AT incluse )RS232 UART, nivele CMOS la GM862 i RS232
la EZ10
Auto-bauding de la 2.4 pn la 57.6 KbpsInterfa card SIM, 3V i 1.8VMaxim 13 x
GPIO porturi2 convertoare A/D
Agend numere de telefon
Este suportat codul PUK2 pentru condiia de blocare.
Audio integrat
158

Posibilitatea de lucru cu SMS


GPS integrat (n EZ10).

7.3.2.Comenzi AT
Conexiunea modulului TELIT cu microcontrollerul se face prin interfaa serial RS232,
comunicaia fiind bazat pe 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.
La activarea conexiunii GPRS trebuie specificai parametrii reelei i numrul de telefon
apelat i se stabilete o conexiune ntre modem i un server de date (nu se poate stabili o
conexiune ntre dou modemuri GPRS). Conectarea cu o aplicaie aflat pe un server se
realizeaz astfel:
Cu o comand AT se seteaz proprietile GPRS pentru a permite modemului GPRS
activeze conexiunea GPRS ori de cte ori este nevoie de un transfer de date;
Cu o comand AT se seteaz parametrii de autentificare, nume utilizator i parol care
vor fi folosii pentru validarea conectrii;
Cu o comand AT se definesc portul de conectare la server i protocolul UDP sau
TCP-IP;
Se pornete conexiunea cu o comand de formare a numrului i conectare.
Cteva dintre comenzile utilizate la conectare sunt:
AT- Comand vid, va ntoarce ntotdeauna rspunsul OK , folosit sub forma AT
AT#USERID[=<user>] se trimite numele reelei pentru autentificare, folosit sub
forma AT#USERID="net.vodafone.ro (autentificare)
AT#PASSW= <pwd> - se trimite parola pentru autentificare, folosit sub forma
AT#PASSW="vodafone" (parol)
AT+CPIN[=<pin> [,<newpin>]] se trimite codul PIN, folosit sub forma
AT+CPIN=2649 (cod PIN)
AT+CREG=? - Dupa ce se introduce codul PIN al cartelei SIM se asteapta pn cnd
se efectueaz conectarea. Comanda a fost folosita n forma: AT+CREG?
AT+CGDCONT=1 - Se utilizeaz o conexiune IP prin serverul GGSN cu numele
net.vodafone.ro fr o compresie a datelor sau a header-ului pachetelor. Comanda a
fost folosit n forma: AT+CGDCONT=1,"ip","net.vodafone.ro","0.0.0.0",0,0
AT#GPRS[=[<mode>]] activare GPRS cu 1, dezactivare cu 0, transmisia a fost
activat cu AT#GPRS=1 . AT#GPRS? interogheaz starea modemului

159

AT#SKTD=0 - Tipul socketului folosit este TCP, numrul portului pe care ascult
serverul este 2222, adresa de IP a serverului este 86.125.93.184 iar conexiunea se
nchide cnd serverul nchide portul. Comanda a fost folosit n forma:
AT#SKTD=0,2222,"86.125.93.184",0Programul arat astfel:
at
OK
at+cpin=2649
OK
at++CREG: 0,1
OK
at#userid="net.vodafone.ro
OK
at#passw="vodafone" OK
at+cgdcont=1,"ip","net.vodafone.ro","0.0.0.0",0,0
OK
at#gprs=1
+IP: 172.23.65.136
OK
at#sktd=0,2222,"86.125.93.184",0
CONNECT
Dup aceast secven urmeaz transmiterea datelor. Practic tot ce primete modulul prin
USART va fi transmis ctre server urmnd ca dup nchiderea conexiunii modulul s fie
trecut n stare oprit. O list complet a comenzilor AT se poate gsi n documentaiile
TELIT, de exemplu n [5]. Oprirea sa se va face hardware. Transferul de date ntre modulul cu
microcontroller i modemul GPRS are loc n aplicaiile realizate astfel:
1. Unitatea de procesare selecteaz prin intermediul circuitului de selecie ieirea
USART-ului ctre modemul GPRS.
2. Unitatea de procesare activeaz modemul.
3. Unitatea de procesare iniializeaz nregistrarea n reeaua GSM a modemului i
conectarea la GPRS.
4. Unitatea de procesare transmite efectiv pe USART datele de transmis. Aceste date vor
fi transmise prin intermediul modemului la server-ul cu o anumit adres IP. Pe acest
server este rulat un program ce ascult i primete pe portul 2222 pachete prin TCP/IP.
Aceste pachete conin ca identificator codul IMEI (International Mobile Equipment
Identity Identitatea Internaional a Echipamentului Mobil) al modemului, cod ce
este unic. Ca msur de siguran, acest cod este cutat ntr-o list n care se afl toate
codurile IMEI ale echipamentelor ce vor fi utilizate, iar dac codul IMEI nu se afl n
lista echipamentelor va nchide conexiunea.
5. Unitatea de procesare dezactiveaz modemul;
Principala dificultate n aceste aplicaii este faptul c se utilizeaz de regul mai multe canale
USART. Astfel la primele aplicaii s-au folosit module GPRS i GPS diferite, deci dou
canale USART folosite. EZ10 realizeaz o transmisie GPRS i GPS pe acelai canal, dar a
160

trebuit implementat o comunicaie cu un PC pentru realizarea de teste. ntr-o aplicaie a fost


nevoie de conectarea unui contor Geiger Muller pe un canal UART i EZ10 pe cellalt. n
prima etap s-a cutat un microcontroller cu dou canale USART dar au fost dificulti de
aprovizionare i s-au mrit costurile. n a doua etap s-a implementat un multiplicator de
canale seriale [6], figura 7.13.
Aplicaiile GPRS sunt mai simplu de implementat dect pare la prima vedere, aceasta datorit
n primul rnd programabilitii medemurilor GPRS cu comenzi AT (Easy GPRS). Nu este
necesar cunoaterea traseului datelor pn la serverul utilizatorului, singura condiie pus
serverului fiind s aib atribuit un IP fix.
DMUX
TX1
RX1
TX2
RX2

Microcontroller
TX

MAX232
MUX

MAX232

RX
PI/O (selecie)

Figura 7.13: Multiplicare porturi USART

Transmisia GPRS se preteaz la aplicaii n care nu exist un receptor n apropierea punctului


de culegere de date dar exist acoperire de telefonie mobil. Singura variant posibil de
transmisie de date pentru aplicaia de msurare a Radonului realizat de colectivul nostru de
cercetare i prezentat ntr-un capitol special, n care punctele de msur sunt plasate de-a
lungul unor falii seismice n cmp a fost transmisia GPRS.

7.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, 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 FrequencyShift 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

161

Bluetooth la un calculator gazd se realizeaz printr-un software de descoperire. O descriere


bun a sistemului Bluetooth este n [7].
Ca i la alte interfee prezentate n aceast carte 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.
Vcc
LNA
BlueCore4

AMP

SPI
UART
USB
PCM
PIO

FLASH
PVcc

Figura 7.14: Interfaa Bluetooth, aspect (stnga) i schema bloc (dreapta)

7.4.1.Interfee Bluetooth
Interfaa Bluetooth de la Rayson BTM222. figura 7.14 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.
Interfaa asigur transfer Bluetooth versiunea 2 cu EDR (Enhanced Data Rate) de pn la
3Mbps. Sunt posibile moduri de lucru cu economie de energie. Alimentarea este ntre 3V i
3,6V, puterea de emisie fiind de 18dBm.
Acest tip de modul Bluetooth admite comenzi AT. Comenzile AT sunt formate din prefixul
AT, o liter care reprezint tipul comenzii, apoi parametri:

ATAn stabilire conexiune cu dispozitivele n=1-8


ATB? afieaz adresele dispozitivelor slave conectate
ATD=xxxxxxxxxxxx definete o adres de 12 digii pentru un dispozitiv cuplat

162

ATEX stabilete ecoul la o transmisie USART, X=0 fr ecou, X=1 cu ecou, X=? se
interogheaz starea curent
ATF? caut dispozitive timp de 60s i afieaz numele lor
ATHX seteaz permisiunea de descoperire, X=0 nu poate fi descoperit, X=1 poate
fi descoperit, X=? se interogheaz starea curent
ATI? interogheaz versiunea software
ATKX stabilete numrul de bii de Stop la transmisia serial
ATLX - stabilete viteza de transfer la transmisia serial
ATMX stabilete controlul de paritate
ATN=xxx. stabilete un nume dispozitivului, maximum 16 caractere
ATO comand de conectare automat
ATP=xxxx trimite codul PIN
ATQX seteaz trimiterea confirmrii execuiei unei comenzi
ATRX stabilete modul master sau slave
ATU=parola permite accesul cu parol la upgrade de firmware
ATZ restaureaz setrile iniiale

Un alt modul de inetrfa Bluetooth este modulul Erissson ROK 101 008, echipat cu interfee
serial USART, PCM i I2C, figura 7.15 [8].
Modulul conine un transceiver radio PBA313 construit pe baza unui circuit ASIC de la care
datele sunt transmise prin circuite BALUN (BALanced UNbalanced) prin amplificatoare spre
anten. La recepia datelor este folosit o bucl PLL. Microcontrollerul este un ARM7 cu
capacitatea de prelucrare voce de tip ROP101. Un tact de 13MHz cu acurateea de 20ppm este
montat pe plac. O schem electric tipic de utilizare pentru transferul de date i voce, n
pricipiu valabil pentru ambele module prezentate este dat n figura 7.16.

163

Pentru comanda modulului i transferul datelor se folosesc comenzile HCI (Host Control
Interface) conform standardului Bluetooth v1.0B. Ericsson are cteva comenzi HCI proprii,
aa cum este de exemplu cea de stabilire a vitezei de comunicaie prin RS232. Ericsson pune
la dispoziia dezvoltatorilor un sistem de dezvoltare n care intr HCIdriver, un driver pentru
folosit de gazd (PC), L2CAP , RFCOMM pentru emularea unui port serial i SDP (Service
Discovery Protocol) pentru identificarea serviciilor disponibile la un dispozitiv Bluetooth.
Vcc

MC ARM7

I2C
UART
PCM

FLASH
Transceiver radio PBA313
BALUN

ASIC

BALUN

Figura 7.15: Modul Bluetooth Ericsson ROK 101

PVcc
Vcc
RS232

MAX3232

UART

CODEC

ROK101
sau
BTM222

PCM

Figura 7.16: Schema electric tipic de utilizare pentru transferul de date i voce

Comenzile HCI au urmtorul format, figura 7.17.


164

Codul instruciunii
OCF (10b)

12
OGF (6b)

16

20

24

Numrul de
parametri

OCF- OpCode Command Field, 10 bii

28

31

Parametrii

OGF-OpCode Group Field, 6 bii

Figura 7.17: Formatul comenzilor HCI


Comenzile HCI sunt de mai multe tipuri:
Pachet HCI de comand, de la gazd la dispozitiv;
Pachet HCI ACL date (Asynchronous Connectionless Link) care asigur benzi diferite
pentru sensuri diferite de transfer;
Pachet HCI SCO date de la PCM (voce) (Synchronous Connection Oriented Link)
care asigur viteze egale pentru cele dou sensuri de transfer;
Pachet HCI de evenimente, de la dispozitiv la gazd.
O legtur ntre dou module Bluetooth este asigurat ntre Host-B care ateapt o scaneaz
cererile de conexiune i Host-A care solicit conexiunea. De exemplu descoperirea unui
modul Bluetooth de ctre Host-B se poate face cu comenzile HCI:
Read_BD_ADDR care are ca rspuns din partea Host-A pachetul HCI
Command_Complete_Event care conine adresa solicitat ca parametru;
Inquiry are ca rspuns adresa Host-A.
Pentru ca Host-A s poat rspunde la o scanare trebuie programat cu pachetul HCI
HCI_Write_Scan_Enable (OCF este 001AH). Legtura este creat prin pachetul
HCI_Create_Connection. De exemplu comanda HCI fr parametri HCI_Inquiry_Cancel
are codul OCF + OGF cu 00H parametri 020400H care se trimite pe seriala RS232 i produce
abandonarea descoperirii dispozitivelor Bluetooth.
Transferul de date se realizeaz full duplex, prin TDD (Time Division Duplex). Pachetele de
date sunt trimise n perioade fixe de timp de 625s i un pachet poate ocupa maximum 5
asemenea intervale de timp. Un pachet este trimis folosin acelai canal radio. Pachetele de
voce SCO pot ocupa maximum dou canale de 64kbps. Pentru pachetele ACL se pot defini
vitezele de transfer n ambele direcii, de exemplu n pachetul de tip DH5 723,2kbps ntr-un
sens i 57,6kbps n sensul opus, asimetria fiind maxim, dar exist i posibilitatea de viteze
egale, cum sunt pachetele DM1 cu 108,8kbps n ambele sensuri.
Un alt modul Bluetooth care poate fi utilizat n aplicaii cu microcontrollere este adaptorul
serial LM058, figura 7.18 [9].

165

Acest adaptor este conform cu specificaiile v2.0+EDR, i asigur o distan de transmisie de


100m, viteza maxim fiind de 115,2kbps dar i 230,4kbps cu tact transmis. Alimentarea poate
fi realizat cu un alimentator de 5V, prin cupla USB sau de la un semnal serial nefolosit.

Figura 7.18: Adaptorul Bluetooth serial LM058


Modulul poate fi programat cu comenzi AT. 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
Lista complet a comenzilor AT este dat n foile de catalog.

7.4.2.Microcontroller Bluetooth
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.
O schem bloc simplificat a acestui microcontroller este dat n figura 7.19.
Microcontrollerul are o structur complex, capsula prototipului fiind LQFP 176. Arhitectura
microcontrollerului se bazeaz pe nucleul ARM7TDMI, toate interfeele i memoria SRAM
intern de 32k fiind conectate printr-o magistral intern pe 32 de bii. Frecvena este de
24MHz i este posibil oprirea oricrei interfee pentru economia de energie. Nucleul ARM
este un procesor RISC pe 32 de bii care poate executa instruciuni pe 32 de bii sau un subset
de instruciuni compresate pe 16 bii n modul Thumb.

166

Datele de la interfeele USB i PCMCIA pot fi stocate n memoria intern dar i ntr-o
memorie extern organizat n cuvinte de 8 sau 16 bii, de tip SRAM sau Flash cu capacitate
maxim de 512ko la organizare pe 8 bii i 1Mo la organizare pe 16 bii. Memoria extern
este accesibil prin dou porturi, unul dedicat nucleului ARM i unul interfeelor USB sau
PCMCIA. Interfaa PCMCIA 2.1 este o interfa pe 8 bii cu posibilitatea de acces la memoria
intern i extern i care conine regitri pentru programarea, citirea strii i schimbul de date
cu interfaa Bluetooth.

Nucleu ARM7
Regitri

Controller
USB

Bluetooth
Controller
2x64k RAM

64k RAM

Interfa
PCMCIA

UART
32k RAM

Controller de memorie

Voice Codec
2x32k RAM

RAM intern
64k

DAC
ADC

Controller de
ntreruperi

Memorie extern
RAM/FLASH

2xTimer

Figura 7.19: Schema bloc simplificat a microcontrollerului AT76C551

Interfaa Bluetooth asigur nivelul de legtur, coninnd un numrtor de 28 de bii care


asigur temporizrile necesare procesrii, un generator de salturi de frecven, un generator de
coduri de acces la alte module Bluetooth i circuite de verificare a corectitudinii transferului.
Acestea sunt FEC (Forward Error Correction) n care secvena transmis se repet de 3 ori sau
se genereaz prin cod Hamming 5 bii suplimentari la fiecare 10 bii, HEC (Header Error
Check) pentru verificarea informaiei importante din antet i CRC (Cyclic Redundancy
Generation and Check) pentru informaia din anumite cadre Bluetooth. Interfaa mai conine
circuite de criptare/ decriptare, circuite pentru accelerarea procesului de autentificare, un
indicator al puterii semnalului RSSI (Receiver Signal Strenght Indicator) realizat cu un
167

convertor A/D. Interfaa Bluetooth conine i secveniatoarele necesare formrii cadrului


transmis sau recepionat pentru a elibera nucleul de aceste operaii. Secvenierea este realizat
diferit n funcie de tipul de cadru. ntre nucleu i secveniator exist dou buffere FIFO de 64
de octei, unul pentru date recepionate iar unul pentru date transmise. La recepia cu succes a
unui pachet, interfaa verific antetul i verific HEC, apoi n funcie de pachet secveniatorul
extrage datele pe care le trimite n bufferul de recepie. Codecul de voce suport codri PCM
i CVSD (Continous Variable Slope Delta) cu rata de 64kbps.
Interfaa USB este realizat n principal de nucleul ARM. Partea hardware suplimentar
const din trei pri: motor serial SIE (Serial Interface Engine) care realizeaz separarea
tactului de date, codarea/decodarea NRZI, generarea i verificarea CRC, introducerea biilor
suplimentari, conversia serie paralel i paralel serie. SBC (Serial Bus Controller) asigur 6
endpoint-uri i asigur gestionarea adreselor i a bufferelor. SI (System Interface) asigur
conectarea SBC la nucleu.
Interfaa UART este compatibil 16550 [10]. Interfaa are buffere de transmisie i recepie de
16 octei i viteza poate fi programat ntre 1200bps i 921kbps.
Microcontrollerul Bluetooth conine mecanismul de prelucrare a cadrelor n banda de baz i
pentru a realiza o aplicaie Bluetooth complet schema trebuie completat cu un transceiver.
Un astfel de transceiver este T2901 de la Temic [11], circuit cu 48 de pini, datele fiind
transmise la microcontroller serial. Diagrama de semnal pentru protocolul serial de transmisie
date este dat n figura 7.20.
ENABLE

MSB

DATA
CLOCK

Figura 7.20: Protocol serial pe 3 fire


Datele transmise conin serial i cuvintele de programare pentru modelele interne
programabile ale transceiverului, cum ar fi de exemplu puterea de emisie. Cadrul de
programare conine un cuvnt de 23 de bii urmat de un bit de adres 1, apoi un cuvnt de 11
bii urmat de bitul de adres 0.
Transceiverul conine un amplificator de putere la transmisie cu 3dBm la 2,4GHz, un
receptor, circuite de modulare i demodulare, filtre i un bloc de msurare a RSSI alimentarea
fiind ntre 2,7 i 3,3V, cu regulator intern.
Prin urmare se poate vedea c utilizarea unui modul Bluetooth cuplabil pe serial i
programabil cu comenzi AT este simpl, dar proiectarea hardware i software a unui modul cu
microcontroller i transceiver este mult mai complex.

168

7.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 auto-configureaz 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.

7.5.1.Module i interfee ZigBee


Cea mai simpl soluie este utilizarea unui modul ZigBee, aa cum este de exemplu [12], la
care exist sisteme de dezvoltare i software. Un modul XBee, interoperabil n reele ZigBee
este dat n figura 7.21.

Figura 7.21: Modul XBee


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
169

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 XBeePRO asigur doar o comunicaie punct la punct iar XBee Znet poate fi interconectat ntr-o
reea mesh.
Un transceiver ZigBee care se poate conecta cu uurin la un microcontroller este
transceiverul MRF24J40 de la Microchip, compatibil cu speciicaiile IEEE.15.4. Pe lng
protocolul ZigBee transceiverul poate implementa i MiWi sau protocoale proprietare. Pentru
conectarea cu microcontrollerul se folosete o interfa SPI cu 4 fire. Structura i
performanele circuitului sunt asemntoare cu ale unui transceiver Bluetooth. Circuitul are
integrate dou generatoare de tact, unul de 20MHz care poate fi folosit i ca tact pentru
microcontroller i unul de 32,768kHz. Curentul absorbit este mai mic de 22mA la emisie i
18mA la recepie, fiind tipic de 2A n modul adormit. Capsula este mic, 40 de pini QFN.
Schema bloc simplificat a circuitului este dat n figura 7.22.
RF

MAC
Formare pachete

Modul
securitate

TxFIFO RxFIFO LCR SCR

Interfaa SPI

Reset

ntreruperi

GPIO

Figura 7.22: Schema bloc simplificat a transceiverul MRF24J40

Schema bloc prezint funcionalitatea logic fr s prezinte amnunte referitoare la


funcionarea radio, asemntoare cu cea a unui circuit Bluetooth.
Memoria SRAM intern a circuitului este format din bufferele de transmisie i recepie
TxFIFO i RxFIFO, bufferul de securitate i registrele de control LCR (Long Control
Register) i SCR ( Short Control Register). Registrele de control se pot scrie i citi direct prin
interfaa SPI i sunt folosite pentru configurarea, controlul i citirea strii circuitului. Adresele
LCR sunt pe 10 bii iar adresele SCR sunt pe 6 bii. Modulul de securitate realizeaz criptarea

170

datelor la transmisie, decriptarea la recepie i criptarea datelor n memoria RAM. Un bloc de


I/O ofer 6 linii de I/O de uz general.
Interfaa SPI este folosit pentru citirea /scrierea datelor precum i pentru citirea / scrierea
adreselor SCR i LCR, figura 7.23.
/CS
SCK
SDI
0

A5 A4 A3

A2

A1 A0 1

D7 D6

D5 D4 D3 D2 D1 D0

Figura 7.23: Scrierea pe SPI a unei adrese SCR


Spaiul de adresare pentru registrele SCR este accesat prin trimiterea unui 0 ca prim bit, dup
care urmeaz adresa registrului urmat de un bit de 1 i datele de scris. La fel se face i citirea
unui registru SCR, dup adresa trimis pe SDI se trimite un bit de 0, apoi pe SDO se pot citi
cei 8 bii ai registrului. La scrierea / citirea LCR adresa de 10 bii este ncadrat de un bit de 1
la nceput i un bit de 0 la sfrit la citire, respectiv 1 la scriere. Bufferele de date sunt mapate
n memorie i pot fi citite / scrise ca i registrele LCR.
Pachetele ZigBee sunt formate n blocul circuitului dedicat acestui scop i au lungimea ntre 5
i 127 de octei, figura 7.24. Pachetul ncepe cu un preambul de 4 octei urmat de un octet
nceput de cadru (Start of Frame SFD). Aceast informaie este inserat automat de
MRF24J40 la transmisie i eliminat la recepie, uurnd astfel sarcina microcontrollerului.
Urmeaz apoi un octet care reprezint lungimea pachetului, fr s fie socotit preambulul,
SFD i el nsui.
Cmpul control cadru descrie tipul cadrului, far (semnalizare), ACK, de date etc., dac este
criptat sau nu, dac solicit un cadru de confirmare ACK sau nu, specific formatul adreselor
surs i destinaie, informaia fiind folosit de microcontrollerul gazd. Cmpul numr
secven este utilizat n procesul de confirmare ACK. Un pachet ACK nu conine adrese aa
c doar din acest cmp se poate determina dac pachetul a ajuns la destinaie.
Cmpul de adrese poate s lipseasc, poate fi o adres scurt sau lung, aa cum este
specificat n cmpul Control Cadru. La sosirea unui pachet circuitul rejecteaz cadrele care nu
i sunt adresate, fr nicio intervenie din partea microcontrollerului gazd. Adresa lung
const din trei octei numii EUI (Extended Organizationally Unique Identifier, distribuit de
IEEE 802.15.4). Adresa sursei este automat introdus n cadru iar adresa destinaiei trebuie
introdus de microcontrollerul gazd.

171

Intr n
calculul
CRC

Tip cmp
Preambul
nceput cadru
Lungime cadru
Control cadru
Numr secven
Adresa destinaiei
Adresa sursei
Date
CRC

Lungime (octei)
4
1
1
2
1
0, 4, 10
0, 2, 4, 8, 10
0-122
2

Intr n calculul
lungimii
cadrului

Figura 7.24: Cadrul ZigBee


Cmpul de date poate fi ntre 0 octei i 122 octei. Dac lungimea cadrului depete 127
octei, cadrul va fi rejectat. Cmpul CRC numit FCS (Frame Check Sequence) are 2 octei i
este verificat la recepia unui cadru. MRF24J40 poate abandona cadrul la care CRC nu este
corect sau l poate transmite microcontrollerului n funcie de o setare la recepie. La
transmisie MRF24J40 adaug automat CRC.
Modulul MAC din MRF24J40 se ocup cu transmisia i recepia cadrelor. La transmisie
adaug automat preambulul i nceputul de cadru i eventual CRC dac este programat.
Microcontrollerul trebuie s scrie n bufferul TxFIFO restul de cmpuri din cadru. nainte de
transmisie MRF24J40 trebuie iniializat. Modulul MAC asigur controlul bufferelor TxFIFO,
asigur alinierea n timp a informaiei transmise (conform CSMA-CA, Carrier Sense Multiple
Access With Collision Avoidance). Sunt implementate patru buffere TxFIFO pentru stocarea
cadrelor de semnalizare (Beacon), normale sau GTS (Guaranteed Time Slot). MAC asigur
asamblarea supercadrelor. Supercadrul este o structur opional, figura 7.25.
Cadre cu acces la orice nod
prin CSMA-CA

GTS2

GTS1

Spaiu rezervat
pentru cadrul de
semnalizare
Cadre de semnalizare
Figura 7.25: Structura unui supercadru

Coordonatorul emite un cadru de semnalizare prin care stabilete structura cadrelor i foreaz
nodurile care au date de trimis s le trimit n perioada rezervat dup cadrul de semnalizare.

172

Urmeaz apoi o perioad rezervat accesului liber al nodurilor prin CSMA-CA, dac nu este
n curs o alt transmisie. Partea a doua a supercadrului este alocat transmisiilor de date care
au nevoie de o band garantat, GTS. Alocarea unui slot de timp transferurilor care au nevoie
este un concept ntlnit i la USB i la IEEE 1394. La recepia cadrelor fiecare cadru este
verificat conform cu filtrul de acceptan definit. Dac cadrul este adresat circuitului
respectiv, dac tipul cadrului este corect, eventual dac CRC este corect (dac circuitul este
programat n acest sens) cadrul este stocat n RxFIFO i microcontrollerul gazd este anunat
printr-o ntrerupere.
Cadrul rmne n RxFIFO pn gazda l citete. Se poate defini un mod de citire numit mod
de eroare n care se citesc toate cadrele cu preambul i delimitatori coreci, chiar dac nu au
trecut celelalte condiii de acceptan. MAC adaug n RxFIFO doi octei, unul LQI (Link
Quality Index) i RSSI (Receive Signal Strenght Indicator) pentru a putea fi citii de gazd.

7.5.2.Microcontroller ZigBee
O soluie ZigBee pe un singur chip de la ST este microcontrollerul SN250 [13], un circuit
mic, cu 48 de pini. Microcontrollerul include o unitate central XAP2b pe 16 bii i un
transceiver IEEE 802.15.4, figura 7.26.
Transceiverul conine blocul de recepie cu filtre concepute pentru a evita interferenele cu
WLAN i Bluetooth i blocul de emisie cu puterea de 3dBm. Memoria integrat este de
128koctei Flash i 5koctei SRAM. Dou controllere seriale asigur standardele de interfa
I2C, UART i SPI. Ca circuite de timp sunt integrate dou timere de 16 bii i un watchdog.
Un convertor ADC sigma delta de 12 bii asigur achiziia de semnale analogice i 17 linii de
I/O de uz general cu semnificaii duble asigur interfaa cu procesele digitale. Circuitul poate
lucra n moduri cu economie de energie, n mod Sleep consumnd 1A cu tact generat intern
cu un circuit RC. Este posibil i conectarea unui tact extern de 32,768kHz pentru moduri
Sleep care necesit acuratee temporal. Microcontrollerul este livrat cu software numit ZNet
pentru implementarea stivei ZigBee.
Microcontrollerul este mprit n dou domenii de alimentare, unul alimentat tot timpul care
conine blocul GPIO, un canal serial, watch dog-ul i alte cteva blocuri eseniale pentru
controlul funcionrii i un domeniu care poate avea alimentarea ntrerupt pentru economia
de energie.
Microcontrollerul poate fi utilizat n dou moduri de acces. Primul, mod sistem asigur
accesul la toate resursele interne- MAC, RF, Power Management, Watch dog, PTI (Packet
Trace Interface). Pentru a proteja software-ul ZNet de eventuale erori, n al doilea mod numit
mod aplicaie designer-ul de aplicaii nu are acces la toate resursele.

173

Emitor
RF

SRAM

MAC
IEEE
802.15.4

Receptor

Alimentate
permanent

Timer
UART

Unitate central
XAP2b
Encriptare

Packet
Trace
Interface

FLASH

Controller
ntreruperi

Canal
serial 2

Watch
dog

ADC

Oscilator
RC intern

CLK
MISO
MOSI
LOAD

GPIO 0-16

Figura 7.26: Schema bloc a microcontrollerului ZigBee SN250

Calea de recepie conine un receptor superheterodin diferenial, semnalul de RF fiind


transformat n semnal de 4MHz ntr-un mixer. Semnalul din mixer este convertit n semnal
digital cu un ADC de 12Msps. Semnalul digital este demodulat i sincronizat prin
preambulul ZigBee. Blocurile analogice ale receptorul sunt calibrate de ctre ZNet, inclusiv
datorit variaiei cu temperatura i tensiunea de alimentare. Receptorul calculeaz RSSI
(Receive Signal Strenght Indicator) ntr-o perioad de 8 simboluri i la sfritul cadrului.
Transmitorul are o structur diferenial ca i receptorul, realizeaz modularea semnalului,
conversia DAC i poate fi calibrat. Dac o aplicaie necesit putere mai mare de emisie,
SN250 are un semnal TX_ACTIVE care poate fi folosit pentru validarea unui amplificator de
putere extern.
Modulul MAC lucreaz DMA cu memoria RAM pentru a minimiza intervenia unitii
centrale. Cnd un cadru este gata de transmisie software-ul indic modulului MAC locaia din
RAM, modulul MAC ateapt eliberarea canalului de comunicaie, calculeaz CRC-ul i l
adaug la cadru i transmite cadrul ctre transmitor. n majoritatea timpului modulul MAC
este n modul recepie, verificnd cadrele recepionate i filtrnd informaia. Modulul MAC
verific lungimea cadrului eliminnd cadrele prea lungi, citete tipul cadrului i calculeaz
CRC. Dac cadrul este destinat circuitului el este salvat prin DMA n memoria RAM. La
sfritul cadrului este adugat informaii statistice despre cadrul recepionat. Sarcinile MAC
sunt:
Generarea CRC, verificare i adugare;
Stabilirea perioadelor de timp pentru cadru;

174

Adugare automat preambul i nceput de cadru;


Recunoatere adres i filtrare cadre la recepie;
Transmitere automat de confirmare;
Gestionarea transferului de date prin DMA cu memoria RAM;
Ataarea informaiei la cadrele recepionate: LQI, RSSI, amplificare, stare pachet etc.;

Un modul special PTI (Packet Trace Interface) poate fi folosit la diagnosticarea reelei. Acest
modul monitorizeaz toate cadrele Tx i Rx printr-o interfa asincron de 500kbps
unidirecional, doar de citire a cadrelor.
Unitatea central XAP2b a fost dezvoltat de Cambridge Consultants i are o arhitectur
Harvard pe 16 bii, att pentru date ct i pentru instruciuni. Adresarea este pe 15 bii pentru
date, deci un spaiu adresabil de 32k i de 16 bii pentru instruciuni, deci 64k. Unitatea
central are un sistem de protecie care permite programului ZNet s aib acces la toate
resursele n mod sistem, iar programul utilizator care ruleaz n mod aplicaie are anumite
restricii. Scrierea unor regitri sau zone de memorie protejate n mod aplicaie va determina o
eroare n etapa de punere la punct a programului n mediul de dezvoltare.
Memoria Flash de 128k integrat este mprit n 8 pri de 16k i este accesibil o parte n
zona de date i una n zona program. O zon numit EEPROM simulat este accesibil n
modul aplicaie. O zon de 1024 octei este rezervat datelor de identificare ale circuitului,
inclusiv date de calibrare. Accesul la memoria RAM i EEPROM este permis la citire i
scriere n mod sistem, iar n mod aplicaie este permis la citire n toat memoria i la scriere
doar n anumite zone, dedicate aplicaiei. n memorie este implementat i acceleratorul de
encriptare AES (Advanced Encryption Standard).
n modul aplicaie este posibil accesul la modulele GPIO, controllerele seriale, timere i ADC.
Liniile de I/O sunt comandate de cte doi regitri de citire date, scriere date, direcie, validare
rezistoare de pull up i validare rezistoare de pull down. Prin intermediul pinilor cu
semnificaii duble din GPIO pot fi accesate unele module interne. Un registru de control
configureaz semnificaia acestor pini.
Controllerul serial UART realizeaz transmisia asincron UART i sincron SPI sau I2C dar
nu simultan. Schema bloc modulului este dat n figura 7.27.
ntreruperi
Unitate
central

UART

Canal
DMA

SPI
I2C
Figura 7.27: Schema bloc a controllerului serial UART
175

TxD, RxD,
RTS, CTS
MISO,
MOSI, CLK
SCL, SDA

Transferul datelor are loc prin DMA, datele fiind stocate n buffere de 4 octei. Al doilea canal
serial are o schem bloc asemntoare, lipsete ns interfaa UART.
Convertorul ADC este un convertor sigma delta cu frecvena de eantionare programabil,
maximum 1MHz, figura 7.28. Timpul de eantionare poate fi ales ntre 32s i 4096s n
registrul de configurare al ADC. Sursele de semnal analogic pot fi 4 intrri ADC ADC0ADC3 unipolare sau difereniale ADC0-ADC1 i ADC2-ADC3, iar pentru test se pot alege ca
surse tensiunea de alimentare la intrare (2,1V-3,6V, se poate astfel monitoriza starea bateriei
de alimentare), sursa de alimentare pentru nucleu (1,8V) sau Vref. Tensiunea Vref este
realizat din tensiunea de alimentare, este de 1,2V i se poate folosi pentru calibrarea
convertorului. Dup validarea funcionrii convertorului cu un bit n registrul de configurare
convertorul va realiza conversii continuu, dup fiecare conversie activnd un semnal de
ntrerupere. Bitul de ntrerupere trebuie ters pentru ca terminarea unei noi conversii s l
poat seta din nou.
SN250

ntreruperi

Unitate
central

Convertor

ADC0
ADC1
ADC2
ADC3

Generare
Vref
Vdd
Figura 7.28: Schema bloc a convertorului sigma delta
SN250 conine dou timere pe 16 bii cu urmtoarele caracteristici:
Tact configurabil, tact principal 12MHz, 32,768kHz, tact RC 1kHz, sau de la o surs
extern, toate aceste tacte avnd posibilitatea de divizare;
Regitri de numrare pot fi ncrcai;
Fiecare timer are asociai 2 regitri de comparare la ieire i 2 de captur la intrare;
Timerele pot fi configurate pentru a genera semnale PWM;
Funcionarea poate fi cu o singur numrare sau continu.
n modul numrare timerul admite numrare nainte, napoi i alternant (nainte, napoi,
nainte). La numrarea nainte numrarea continu pn la atingerea unei valori stocate ntr-un
registru, iar cea napoi pn la zero. n modul de comparare, se introduc 2 regitri
suplimentari CMP A i CMP B de comparare. n modul captur la intrare exist 2 regitri care
rein valoarea numrat la apariia unui semnal de declanare din exterior.
n figura 7.29 se dau ca exemplu formele de und pentru modul de comparare la ieire.

176

Validare timer
Valoare contor
INT zero
INT A
INT B
INT maxim
Figura 7.29: Funcionarea timerului n mod comparare la ieire

Contorul se incrementeaz ntre 0 i valoarea stocat n registrul de valoare maxim, apoi


numrarea este reluat. Se cer ntreruperi la atingerea valorii de zero, a valorii din registrul
CMP A, CMP B i registrul de valoare maxim. Mai multe amnunte despre timere sunt date
n [14].
Interfa de programare
i testare

Figura 7.30: SN250, schema electric de aplicaie tipic

177

O interfa special conceput de Cambridge Consultants este interfaa SIF, serial sincron
destinat diagnosticului i programrii circuitului SN250. Prin aceast interfa se pot citi i
scrie regitri din memorie n timp real, fr a afecta funcionalitatea circuitului. Aceast
interfa se folosete la testarea n stadiul de producie a circuitului i n stadiul de producie a
plachetei echipate, precum i pentru dezvoltarea de programe. Interfaa este de tip SPI cu un
semnal suplimentar de LOAD care trezete circuitul din modul de lucru cu economie de
energie.
O schem electric a unei aplicaii tipice este dat n figura 7.30. Un Balun (Balanced
Unbalanced) adapteaz impedanele ntre SN250 i anten pentru Tx i Rx. Un cristal de
24MHz asigur tactul de baz pentru circuit iar cristalul de 32,768kHz (opional) asigur
tactul pentru modul de lucru cu economie de energie.

7.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 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 [15]. H.
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 [16]. 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 7.31.
un circuit integrat pentru stocarea i prelucrarea de informaii, modulare i
demodulare a unui semnal de radio-frecven (RF), i alte funcii de specialitate
(transponder RFID);
o anten pentru recepionarea i transmiterea de semnale radio.

178

Figura 7.31: Eticheta RFID


Astzi tehnologia RFID este deja folosit n domenii foarte numeroase. De exemplu n lanul
de aprovizionare al ntreprinderilor, pentru a mbunti eficiena inventarelor, pentru
urmrirea produselor n cursul fabricaiei i pentru managementul produselor. Alte exemple
care sunt rezolvate automat cu ajutorul RFID:

msurarea timpului de la cursele atletice;


controlul paapoartelor;
aplicarea taxelor rutiere pe anumite autostrzi etc.;
urmrirea produselor (vacile unei cirezi, crile unei biblioteci, transcontainerele unui
vapor);
urmrirea locomotivelor i vagoanelor la cile ferate;
autentificarea persoanelor care doresc s intre n zone speciale;
paza i inventarierea n muzee.

Din cauza miniaturizrii permanente a tag-urilor, ajuns pn acolo nct ele sunt din ce n ce
mai greu de vzut i recunoscut, a aprut i o problematic grav - cea a potenialului pentru
spionaj aproape invizibil, n cele mai diverse domenii.
n figura 7.32 se observ cititorul (stnga) care genereaz un cmp electromagnetic pentru
alimentarea transponderului din eticheta RFID. Aceeai bobin este folosit ca anten pentru
transferul de date.
Cititor
RFID

Energie

Transponder
Controller
Memorie

Date

Figura 7.32: Structura sistemului RFID

179

Etichetele pot fi pasive (ca n figura 7.32, cazul cel mai frecvent), ele folosesc energia
furnizat de cititor, fiind astfel mai mici, mai ieftine i avnd o via mai lung. Pentru
extinderea razei de funcionare etichetele pot fi active, avnd o surs de alimentare proprie.
Frecvena de lucru poate fi 125kHz care asigur un pre sczut dar o rat mic de transfer i o
etichet de dimensiuni mai mari. O alt frecven este de 13,56MHz care elimin
dezavantajele de la 125kHz dar costurile sunt mai mari. Alte frecvene utilizate n prezent sunt
cea de 869MHz 950MHz (funcie de zona geografic) i 2,4GHz, banda ISM n care se
aglomereaz aproape toate tipurile de comunicaii de raz scurt. O aplicaie RFID la
frecvena de 125kHz cu etichet activ a fost descris n capitolul de aplicaii auto la
monitorizarea presiunii n pneuri.
Din punctul de vedere al iniierii transferului exist dou situaii, cnd eticheta iniiaz
transferul cnd intr n zona de aciune a cititorului (TTF, Tag Talks First) cu dezavantajul c
intrarea simultan a mai multe etichete duce la apariia unor ntrzieri i a doua situaie cnd
cititorul interogheaz continuu zona de aciune i identific eticheta care intr n zon (RTF,
Reader Talks First).

7.6.1.Sistem RFID- cea mai simpl implementare


Cel mai simplu mod de implementare este de a achiziiona o interfa specializat de citire
/scriere a etichetelor, cum este cea de la Netronix, H1M-005 [17]. Interfaa lucreaz la
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 7.33.
Antena 1
Antena 2
GND
5V

Rx
Tx
GND
port 2
port 1

RS232

CALCULATOR
SAU MC GAZD

Figura 7.33: Conectarea modulului Netronix H1M-005


Formatul comenzii ctre etichet i al rspunsului primit sunt date n Tabelul 1 respectiv
Tabelul 2:
Tabelul 1
Adresa
modulului

Lungime
cadru

Comand

Parametri
(1..n)

CRC

1 octet

1 octet

1 octet

n octei

2 octei

180

Tabelul 2
Adresa
modulului

Lungime
cadru

Rspuns

Parametri
(1..n)

Confirmare
CRC
operaie

1 octet

1 octet

1 octet

n octei

1 octet

2 octei

Fiecare etichet are o adres, 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.
Transponderul HITAG1 din etichet 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 rspunsului
este A1H, ca parametri este dat adresa etichetei i confirmarea operaiei care este
FFH dac s-a scris cu succes;
Citirea din etichet - codul instruciunii este A2H, parametru este adresa paginii.
Codul rspunsului este A3H, ca parametri este dat adresa etichetei, cei 4 octei de
date citii i confirmarea operaiei care este FFH dac s-a citit cu succes;
Comanda de cuplare / decuplare a cmpului electromagnetic generat de anten - codul
comenzii este 10H /12H, fr parametri, rspunsul are codul 11H /13H i confirmarea
operaiei ntotdeauna FFH;
Scrierea / citirea unui bit din liniile de I/O locale ale HIM-005- codul comenzii este
E0H / E2H, parametru este numrul portului i bitul de scris, codul rspunsului este
E1H / E3H, parametru bitul citit i confirmarea operaiei ntotdeauna FFH;
Setarea amplificrii receptorului - codul comenzii este F0H, parametru este
amplificarea (0,1,2 sau 3), codul rspunsului este F1H i confirmarea operaiei
ntotdeauna FFH.
n figura 7.34 este artat un model experimental de sistem RFID cu Netronix HIM-005
realizat ca i proiect de licen. n stnga este modulul electronic cu HIM-005 i un
microcontroller ca i sistem gazd, cu antena cuplat i o etichet HITAG1 n partea de jos a
fotografiei. n dreapta este o captur de ecran a softului pus la dispoziie de Netronix pentru
citirea / scrierea etichetei.

181

Figura 7.34: Model experimental de sistem RFID cu Netronix HIM-005

7.6.2.Eticheta RFID
O etichet RFID la frecvena de 125kHz poate fi implementat cu transponderul Atmel
U3280M. Acest transponder conine n principal o memorie EEPROM de 256 bii organizat
n 32x16 bii, o interfa serial pe 2 fire pentru comunicaia cu un microcontroller gazd cu
un debit de maximum 10kBd, un modul de codificare / decodificare a datelor n cod bifazic
sau Manchester, permite modularea datelor n amplitudine i gestionarea alimentrii din
cmpul electromagnetic sau de la baterie. Utilizri posibile sunt la sisteme de acces, senzori
de poziie wireless, etc. Schema bloc a unei etichete cu U320M este dat n figura 7.35.
Energie

Transponder U320M
Emisie /
Recepie
Redresor

Date

EEPROM
512 bit
Interfa
serial

Detecie
cmp

Modulator
bifazic

Extragere
tact

FC NGAP

Gestionare
energie

MOD

Figura 7.35: Schema bloc a unei etichete cu U320M

182

Senzori,
elemente de
execuie
MC gazd
Vdd
SDA
SCL

Circuitul de intrare preia energia i semnalul din cmpul electromagnetic prin circuitul
oscilant LC i l redreseaz. Circuitul de gestionare a energiei comut alimentarea pe o
baterie extern (opional) sau pe energia cmpului, dac acesta exist. Tensiunea de
alimentare este scoas la un pin astfel nct s poat fi alimentat i microcontrollerul gazd.
Un condensator asigur existena tensiunii pe perioada n care cmpul este folosit pentru
comunicare. Pentru comunicare se poate modula intensitatea cmpului (cu pinul MOD) iar un
circuit de intrare detecteaz lipsa cmpului (gap) i genereaz semnalul NGAP. Un circuit
extrage tactul din cmp i formeaz semnalul FC, figura 7.36. Pentru ca microcontrollerul s
fie trezit la apariia cmpului semnalul NGAP trebuie conectat la o cerere de ntrerupere.

MOD
Tensiunea
pe anten
NGAP
FC
Front folosit pentru
wake-up

Alimentare din cmp

Figura 7.36: Diagrame de timp pentru circuitul de anten


Interfaa de comunicaie este o interfa serial pe 2 fire (I2C) care trebuie controlat de un
master i prin care se pot scrie sau citi date din EEPROM. Prin interfaa serial se pot controla
modulatorul sau blocul care gestioneaz energia. Cele 2 linii care compun interfaa serial
sunt SCL (tact) i SDA (date).
Formatul secvenei de date la transfer este urmtoarea:

START Octet control ACK Octet date ACK Octet date ACK

START 5 bii adresa EEPROM 2 bii control R/W ACK

Figura 7.37: Structura secvenei de transfer prin interfaa serial

183

Condiia de START este un front descresctor al SDA cnd SCL este 1 logic iar STOP un
front descresctor cnd SCL este 1 logic. Biii de date apar cnd SCL este 0 logic. Pentru
confirmarea ACK master-ul insereaz un tact SCL n plus i slave-ul pune linia n 0 dac
transmisia a fost corect i n 1 dac nu a fost corect.
Octetul de control conine adresa de rnd a memoriei EEPROM organizat n 32x16 cuvinte.
Bitul R/W arat dac este vorba de o citire sau scriere. n urma acestei comenzi un buffer de
date de 16 bii se umple cu informaia citit din EEPROM sau transmis prin serial pentru a
fi scris n EEPROM. Cei doi bii de control permit definirea octetului care se citete / scrie
primul, cel mai semnificativ sau cel mai puin semnificativ. Se poate defini i un mod de citire
cu incrementarea automat a adresei.
Cu o combinaie a biilor de control se poate programa cu octetul de control modulareabifazic sau Mancheste i modul de lucru cu comutarea automat de la alimentarea de la
baterie la cea din cmpul elctromagnetic. Dup alegerea modulrii se pot trimite/ recepiona
date de la modulator prin interfaa serial, figura 7.38.

START Octet control ACK Bit 1 Bit 2 Bit 3 ... Bit n

STOP

Figura 7.38: Structura secvenei de transfer cu modulatorul


7.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.
n [10] sunt date amnunte folositoare pentru nelegerea acestui capitol i completri utile, de
exemplu explicaii privind comenzile AT, descrierea protocolului serial RS232 i
compatibilitatea 16550 etc.
Un tabel comparativ al standardelor parcurse n acest capitol cu avantaje i dezavantaje este
dat n tabelul urmtor:

184

ZigBee

GPRS

Aplicaii

Monitorizare
i control

Durata
bateriei

Bluetooth

Protocoale
proprietare

Reele
Internet
internaionale
de date i voce

Conectivitate
ntre
dispozitive

Conectivitate
ntre
dispozitive

Ani

Sptmni

Sptmni

Sptmni

Luni

Viteza

250kps

2Mbps

54Mbps
(300Mbps
la n)

720kbps

115kbps

Raza

100m

Km

100m

100m

200m

Avantaje

Putere i cost Raz mare de Viteza


mic
aciune

Comoditate

Pre i consum
mic, simplitate

Reea

Posibil

Posibil

Greu de
implementat

Acces Internet

802.11

Posibil

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).

Bibliografie
[1]
[2]
[3]
[4]
[5]
[6]

http://www.coolcircuit.com/project/rf_remote/
http://www.hoperf.com/
Ogruan P., Gerigan C., Banciu N., Memorii, interfee i periferice. Interfee
specializate, Ed. Transilvania Braov, 2003, 190 pagini, ISBN 973-635-118-1
http://www.telit.com/en/
www.semiconductorstore.com/pdf/newsite/Telit/GM862-GPS/GM862GPS_Software_User_Guide_r4.pdf
Gerigan C., Ogruan P., Pan Gh., Connecting More Measurement Devices to the
Serial Assynchronous Interface, Proceedings of the 8th International Conference on
Optimisation of Electric and Electronic Equipment, Braov, May16-17 2002, ISBN
973-635-012-6,Vol III ISBN 973-635-015-0, pp 711-716

185

[7]
[8]
[9]
[10]
[11]
[12]
[13]
[14]
[15]
[16]
[17]
[18]

[19]

http://en.wikipedia.org/wiki/Bluetooth
www.adelaida.ro
www.farnell.ro
Gerigan C., Ogruan P., Tehnici de interfaare, Ed. Transilvania Braov, 2000, 315p.,
ISBN 973-9474-94-2
www.temic.com
http://www.digi.com/
www.st.com
Ogrutan P., Microcontrollere si controllere grafice Fujitsu, Ed. Universitatii
Transilvania Brasov, 2006, 182 pag, ISBN 973-635-621-3
Landt J., The history of RFID,
http://www.transcore.com/pdf/AIM%20shrouds_of_time.pdf
http://www.rfidjournal.com/article/view/1338/1/129
www.netronix.pl
Ogrutan P., Romanca M., Kertesz C.Z., A Multisensor GPRS-Based Security System
for Intelligent Building, Acta Technica Napocensis, Electronics and
Telecommunications, vol.48, Nr. 3, 2007, ISSN 1221-6542, pp. 45-48
Alexandru, M., Romanca, M., Ogrutan, P., Remote temperature recording using
Bluetooth
technology,
Acta
Technica
Napocensis,
Electronics
and
Telecommunications, vol.48, Nr. 3, 2007, ISSN 1221-6542, pp. 27-30

186

Capitolul 8: Exemplu de concepie i proiectare a unui sistem de msurare


a concentraiei de Radon n aer i transmisia datelor la distan
8.1.Introducere
Radonul 222 (timpul de njumtire 3,8 zile) apare prin dezintegrarea Radiumului (timpul de
njumtire 1620 ani). Radium-226 apare prin dezintegrarea Uraniului-238 (timpul de
njumtire 4,5 miliarde ani). Uraniul-238 este coninut n scoara Pmntului (4ppm).
Expunerea la Radon n interiorul cldirilor creeaz un risc semnificativ de mbolnvire, circa
3000 de cazuri de cancer /an, fiind a doua cauz de apariie a cancerului pulmonar dup fumat
[1].
Msurarea concentraiei de Radon n aer se poate face prin mai multe metode. n acest capitol
se descrie o metod de msurare n timp real cu un sistem nglobat pe baz de microcontroller
conceput i realizat n cadrul unui proiect CEEX [2] coordonat de IFIN-HH Bucureti.
Aparatul este completat cu un sistem de transmisie a datelor la distan prin GPRS folosind
infrastructura telefoniei mobile GSM.
Una din aplicaiile deosebit de utile ale aparatului poate fi la msurarea Radonului pe falii
seismice i transmiterii n timp real la distan a datelor. Ultimele cercetri pe plan
internaional converg spre ideea unei corelri a variaiilor n concentraia de Radon din sol i
din ape freatice (din zona faliilor seismice de suprafa) cu micrile seismice.
Mai multe aparate de msur sunt montate pe teren n anumite puncte. Aceste aparate trimit
date cu o anumit periodicitate prin GPRS. Datele trimise conin concentraia de Radon
msurat i poziia modulului determinat prin GPS. Pentru ca transmisia de la mai multe
module s nu fie simultan se aloc fiecrui modul un interval de timp de transmisie. Timpul
este determinat de fiecare aparat din informaia GPS recepionat.
Un aparat de msur este un sistem nglobat cu microcontroller ATMEGA16 avnd ca
traductor o camer de detecie cu fotoelement, ca afiaj un LCD grafic iar pentru transmisia
datelor un modul GPRS/GPS marca Telit. Sistemul de transmisie GPRS este pus la dispoziie
de un operator de telefonie mobil i datele achiziionate sunt trimise la un server al
utilizatorului. Fiecare modul GPRS/GPS trebuie s aib un card SIM furnizat de operatorul de
telefonie mobil. Realizri similare sunt prezentate n [3], [4], [5]. Modulul GPRS/GPS Telit
a fost achiziionat de la firma RCS [6], firma acordnd i suportul tehnic necesar n derularea
proiectrii. n ipoteza c locaia nu este n suprafaa de acoperire cu semnal a operatorului a
fost prevzut o soluie de conectare prin modem de linie telefonic. Pentru aplicaii n zone
fr alimentare de la reea a fost prevzut un sistem de alimentare de la un acumulator de
12V/9Ah.
n acest capitol se descriu etapele de realizare a proiectului: alegerea traductorului, concepia
circuitului analogic, alegerea microcontrollerului, soluiile alese fiind justificate cu simulri.
Schema bloc a aparatului este dat n figura 8.1.
187

Camera de
ionizare

Sistem nglobat cu microcontroller

Afiaj LCD grafic


128x64

Linie telefonic
analogic/ digital

Etaj analogic de
amplificare camera
de ionizare
Camera de detecie
cu element
fotosensibil

Unitate central cu
microcontroller
Atmega 16

Etaj analogic de
amplificare
camera de detectie

Sursa de alimentare
Intrare 12V DC
Ieiri 250V DC/ 5VDC /3,3V

Modem GPRS
(opional)

Modem de linie
telefonica (opional)

Antena
GPS/GPRS

Generare referin de timp


GPS
(opional)

Alimentator extern 12V DC cu


acumulatori cu posibilitatea ncrcrii
acumulatorilor de la reea

Figura 8.1: Schema bloc a aparatului de msurare a Radonului

188

8.2.Traductori
8.2.1.Camera de ionizare
Camera de ionizare este o incint nchis, de diferite forme (apropiate de forma cilindric) n
care se gsesc doi electrozi plan paraleli i aer n condiii normale sau cu circulaie forat.
Electrozii formeaz un condensator plan. Atomii de Radon vor produce prin descompunere
ionizarea aerului iar particulele ionizate vor produce n circuitul exterior un curent msurabil.
Schema camerei de ionizare este dat n figura 8.2.
Ion negativ
Incinta nchis cu aer

Ion pozitiv

Figura 8.2: Camera de ionizare


n urma interaciunii ntre atomul de Radon i moleculele de aer se produc ioni pozitivi i
negativi. Numrul perechilor de sarcini care se produc depinde de natura radiaiei. De
exemplu o particul ncrcat cu 10MeV produce cam 300 mii perechi de ioni. Dac toat
aceast sarcin este colectat i dac se estimeaz capacitatea camerei la 50pF atunci impulsul
de tensiune va fi de aproximativ:

V =

Q
= 0.96.10 3 V sau aproximativ 0,1mV/MeV
C

n urma ionizrii produse ionii pozitivi i cei negativi pot interaciona cu moleculele de aer i
pot aprea noi ioni pozitivi i negativi. Atunci cnd la electrozii camerei se aplic o tensiune
continu, n interiorul camerei apare un cmp electric care direcioneaz ionii ctre electrozi.
n lipsa cmpului electric ionii au o micare dezordonat. Ionizarea produs de
descompunerea unei particule radioactive produce n exterior apariia unui curent mic care d
natere unei tensiuni pe rezistena R. Apare un impuls de tensiune care poate fi vizualizat sau
achiziionat i nregistrat cu un sistem electronic de msurare.
Pentru msurarea numrului de particule de Radon din aer este necesar realizarea unei surse
de polarizare a camerei de ionizare cu tensiune variabil pentru a se putea stabili tensiunea
optim pentru detecie. n anumite condiii limea impulsului de tensiune msurat pe R va
putea oferi informaii despre energia particulei radioactive care a produs ionizarea, deci se va
putea stabili natura particulei.

189

8.2.2.Camera de detecie

Camera de detecie este prezentat n figura 8.3.


Anod, 250VDC,
realizat din plastic
metalizat, opac

Fante laterale
pentru intrarea
aerului

Element
fotosensibil
LED pentru
autotest
Catod, 250VDC

Semnal de
ieire
Figura 8.3: Camera de detecie
n interior se creeaz un cmp electric puternic. Particulele radioactive lovesc suprafaa
fotosensibil i dau natere unui semnal electric la ieire. nainte de utilizare se face un
autotest al funcionrii prin aprinderea unui LED (intensitate luminoas foarte mic) i
msurarea semnalului de ieire. Se compar valorile citite cu cele de referin i dac sunt n
gama de precizie acceptat ncepe msurtoarea. Dac nu, se afieaz un cod de eroare. n
lipsa iluminrii semnalul citit trebuie s fie apropiat de zero (ntr-un interval programat), dac
nu, zgomotul aprut poate fi datorat interferenelor electromagnetice. Se afieaz un cod de
eroare i se indic utilizatorului ndeprtarea surselor de cmp electromagnetic
Comportarea particulelor ncrcate n cmp electric este descris de ecuaia de micare a
electronilor n cmp electric uniform [7]:
m

dv
= qE unde m este masa electronului i q sarcina electric
dt

(8.1)

Efectund prima integrare se obine:

v = Et + M
Dup a doua integrare se obine r =

E.t 2
2

+ M .t + N unde t este variabila timp, M i N

constante de integrare care se determin din condiiile la limit iar =

190

q
m

Considerm cmpul electric paralel cu axa Oy i electronii intr n cmp cu viteza v0 care
face unghiul cu axa Ox. Din ecuaia (8.1) rezult:
dv x
=0
dt

dv y

dt

= .E

Dup prima integrare se obine:

v x = v 0 .t. cos
v y = .E y .t + v0 .t. sin
Dup a doua integrare, cu condiiile iniiale la t=0, x=0 i y=0:
x = v0 .t. cos
y == .E.

t2
+ v0 .t. sin
2

Eliminnd timpul din ultimele dou relaii se obine traiectoria electronului:

x2
y = .E
+ x.tg
2.v02 . cos 2

(8.2)

Pentru a simula comportarea electronului n cmp electric considerm: sarcina elementar:


q=1.602 176462(63) 10-19 C, masa electronului: m=9.10938188(72) 10-31 kg, viteza
electronilor aproximativ 104 m/s, intensitatea cmpului electric n camera de ionizare
aproximativ 2500V/m. Cu aceste date se obin simulrile n MATCAD din figurile 8.4 i 8.5.

y = K.

x2
+ x.tg
cos 2

K=

unde

.E
2.v

2
0

q.E
2.10 6
2.m.v02

Se observ din aceste simulri c electronii vor fi direcionai ctre fotoelement / electrod
indiferent de unghiul de inciden. Simulrile sunt valabile pentru comportarea particulelor
ncrcate i n camera de ionizare i n camera de detecie.
0
210

3.99710

y ( x) 1 .10

210

10

y ( x) 1 .10

10

2 .10

2 10

10

50

100
100

10

10

2 .10

10

50

100
100

Figura 8.4: Traiectoria electronului n cmp electric pentru un unghi de intrare de 0 (stnga)
i 90(dreapta)

191

0
410

7.99410

y ( x) 1 .10

2 10

10

10

y ( x) 1 .10

10

10

10
2 .10

2 10
0

50

100

10

2 .10

100

50

100
100

Figura 8.5: Traiectoria electronului n cmp electric pentru un unghi de intrare de 0 (stnga)
i 90(dreapta) pentru un cmp cu intensitate dubl
Traductorul fotoelectric este o celul fotovoltaic, adic o jonciune pn cu concentraii relativ
mari de impuriti pentru a micora rezistena electric. Regiunea supus iluminrii este
subire pentru a permite luminii s ajung la regiunea de trecere. Dac celula se afl n
ntuneric la bornele ei nu apare nici o tensiune, celula fiind n echilibru termodinamic. Dac
lumina cade pe suprafaa celulei fotonii penetreaz zona subire i genereaz perechi electroni
gol care datorit cmpului electric intern E din regiunea de trecere sunt orientai- golurile spre
regiunea p i electronii spre n. La polarizarea invers a dispozitivului curentul printr-o
rezisten de sarcin R este puternic influenat de aciunea radiaiei luminoase. Acesta este
domeniul n care dispozitivul funcioneaz ca fotodiod. Caracteristicile statice permit
realizarea unui model simplificat, figura 8.6.
RS
If
Cb
Figura 8.6 Modelul celulei fotovoltaice
Pentru a putea realiza o modelare simplificat a fenomenelor care au loc la apariia unei
particule alfa n camera de detecie se consider c o particul alfa genereaz prin ciocniri
circa 600 de electroni, ceea ce nseamn 18keV iar zgomotul de fond se consider generat de
200 de electroni, adic 7keV. Cu relaia I=dQ/dt se poate face o apreciere a ordinului de
mrime al curentului generat de intrarea unei particule alfa care rezult 10-7 A pentru o durat
a impulsului de 10-9 s. Nivelele de curent care trebuie msurate sunt extrem de mici n
prezena unui zgomot de valoare important (10-8 A)
Msurarea nivelului de radiaie, deci a numrului de particule radioactive poate fi realizat n
dou feluri:
prin integrare, se msoar nivelul tensiunii la ieirea unui integrator care este proporional
cu numrul de particule din incint;
prin numrarea vrfurilor de tensiune, deci a numrului de particule.

192

8.3.Metode de msurare
8.3.1.Msurarea prin integrare

Simularea n SIMULINK a integrrii n prezena unui zgomot aleator i n prezena influenei


perturbatoare a tensiunii reelei de alimentare a fost realizat cu modelul din figura 8.7.

Figura 8.7: Modelul msurrii prin integrare


Un generator de impulsuri simuleaz apariia unei particule radioactive cu frecvena de o
particul/10ms, amplitudinea de 10-7 A i durata 0,01% din perioad, adic 10s. Zgomotul
este simulat printr-un generator de numere aleatoare, amplitudinea zgomotului fiind de 10-8 A.
Fotocelula este simulat printr-o surs de curent iar rezistena de sarcin este de 10M.
n figura 8.8 sunt prezentate diagramele de timp ale ieirii n ipoteza prelurii datelor fr
integrator. n stnga se vd impulsurile de durat mic (10s) amestecate cu zgomotul de
amplitudine 1/10 din semnalul util. n dreapta scara de timp este extins.

Figura 8.8: Impulsuri i zgomot fr integrare


193

n figura 8.9 sunt prezentate rezultatele dup integrare (perioada 10ms, durata impulsului
10s). Valoarea final a tensiunii este 1,06.10-3, cu o eroare de 6% introdus de zgomot. n
stnga este prezentat tot intervalul de timp de integrare iar n dreapta intervalul de timp final.

Figura 8.9: tensiunea dup integrator (perioada 10ms, durata impulsului 10s)
n figura 8.10 sunt prezentate diagrame de timp ca i cele din figura 8.9 dar cu o perioad de
10 ori mai mic (o particul/1ms, deci perioada 1ms i aceeai durat a impulsului). Se poate
observa forma n timp a tensiunii pe integrator care este mai apropiat de cea ideal. Eroarea
scade la 1%.

Figura 8.10: Tensiunea dup integrator (perioada 1ms, durata impulsului 10s)
Ultimul exemplu este prezentat n figura 8.11, n cazul a 10 particule/ms, adic o perioad de
0,1ms i aceeai durat a impulsului, eroarea fiind n acest caz de 0,1%.

Figura 8.11: Tensiunea dup integrator (perioada 0,1ms, durata impulsului 10s)

194

n cazul unei concentraii i mai mici de gaz, adic o particul la 100ms eroarea este deja de
60%, inadmisibil de mare. Eroarea este cu att mai mare cu ct frecvena impulsurilor este
mai mic (mai puine particule n timp). De asemenea eroarea este cu att mai mare cu ct
durata i amplitudinea impulsurilor sunt mai mici (evident eroarea depinde de energia
impulsurilor).
Pentru a constata cum se manifest influena tensiunii reelei la intrare se nsumeaz un
semnal sinusoidal cu frecvena de 50Hz i amplitudinea de 10% din cea a semnalului util.
Semnalul este figurat fr integrare i cu integrare n figura 8.12.

Figura 8.12: Tensiunea nainte de integrator (stnga) i dup integrator (dreapta)


Comparnd semnalele cu cele din figura 8.11 (perioada 0,1ms, durata impulsului 10s) se
observ c tensiunea la sfritul perioadei de integrare are aceeai valoare i c adugarea
semnalului perturbator sinusoidal nu deterioreaz rezultatul msurrii. Dac perioada de
integrare este aleas ca multiplu al perioadei semnalului perturbator periodic se constat
rejecia acestei perturbaii. Dac s-ar fi msurat tensiunea pe integrator la momentul 9,99s
atunci valoarea ar fi fost 0,1006 i eroarea ar fi fost de 0,6%, mai mare de 6 ori dect n lipsa
acestei perturbaii.
Se pot msura cureni cu metoda clasic a integratorului transimpedan. n figura 8.13 se
prezint o schem de principiu:
CINT

IIN
-

Vo
+

Figura 8.13: Schema de principiu a integratorului transimpedan

195

Tensiunea de ieire Vo este:


V0 =

1
C INT

IN

(t ).dt

Pentru un curent constant IIN, la sfritul intervalului de integrare TINT se obine:


V0 = I IN

TINT
C INT

Dup perioada de integrare tensiunea la ieirea circuitului este proporional cu IIN (curentul
de intrare).
Ca i integrator se poate folosi circuitul integrat IVC102 de Burr-Brown care este un
amplificator integrator de precizie comutat. Ca i aplicaii sunt menionate n catalog
msurrile de cureni mici preluai de la camere de ionizare sau fotodiode. Circuitul are
integrate 3 capaciti de integrare care se pot conecta n paralel dar se pot conecta i
capacitoare exterioare. La intrare se pot msura att cureni pozitivi ct i negativi, curentul de
polarizare la intrare fiind de maximum 750fA. Circuitul IVC 102 are doi pini de mas, unul
pentru masa analogic la care este conectat intrarea neinversoare a amplificatorului
operaional i unul pentru masa digital. Cei doi pini de mas ntre care diferena de potenial
poate fi de maximul 100mV se unesc la sursa de alimentare. Cablajul este recomandat de
furnizor.
8.3.2.Msurarea prin numrarea impulsurilor

Dac impulsurile date de traductor nu se integreaz ele pot fi amplificate i numrate direct de
un microcontroller. n acest caz nu se poate determina tipul de descrcare radioactiv din
incinta de detecie. Variante de msur care determin i tipul descrcrii sunt:
Amplificarea impulsurilor i achiziia lor cu un convertor analog digital integrat n
microcontroller. Microcontrollerul calculeaz aria (energia) impulsului din amplitudinea i
durata lui, ceea ce este dificil deoarece necesit o vitez mare a convertorului i o putere de
calcul mare a microcontrollerului.
Amplificarea impulsurilor i realizarea unei conversii durat numr de impulsuri de ieire
respectiv amplitudine numr de impulsuri de ieire, ceea ce nseamn c microcontrollerul
poate deduce energia impulsului din numrul de impulsuri de ieire.
Circuitul de amplificare este aezat n apropierea camerei de detecie / camerei de ionizare. La
intrare circuitul are un amplificator operaional de instrumentaie AD712. Amplificatorul de
instrumentaie este urmat de dou etaje construite cu amplificatorul operaional cvadruplu
LM324 care asigur semnalul necesar pentru ca ieirea etajului s poat fi conectat la
intrarea digital a microcontrollerului. Etajul de amplificare cu LM324 este un etaj neliniar
format din dou ramuri. Ramura superioar d la ieire un numr de impulsuri proporional
cu amplitudinea semnalului i ramura inferioar d impulsuri doar dac amplitudinea
semnalului este mai mare dect o valoare de prag. Valoarea de prag poate fi astfel aleas nct
amplificatorul s semnalizeze cu un impuls dat de ramura inferioar o eroare, adic apariia
196

unui impuls cu o valoare energetic anormal de mare care nu poate proveni dintr-o descrcare
ci datorit interferenei electromagnetice. A fost implementat o variant simplificat a
ramurii de sus care nu d un singur impuls la fiecare impuls de intrare, fiind astfel imposibil
determinarea naturii gazului radioactiv, figura 8.14.
Microcontroller

PWM

Amplificator de
instrumentaie

LED

Comparator 1

ADC canal 1

Fotoelement
Prag 1

Camera de
detecie

Comparator 2

ADC canal 2
Surs 250V
DC
Prag 2

Figura 8.14: Schema bloc a msurrii prin numrarea impulsurilor


Durata i amplitudinea unui impuls de curent depind de energia particulelor incidente pe
fotoelement. Amplitudinea este mrit de amplificatorul de instrumentaie dar durata rmne
mic. La microcontrollerele uzuale rata de eantionare este destul de mic- 10ks/s la ATMEL
ATMEGA16, 100ks/s la Fujitsu, de aceea exist riscul ca un impuls s nu fie detectat de ctre
microcontroller. Pentru a putea realiza un aparat de msurare portabil cu cost redus trebuie
utilizat un microcontroller ieftin, de aceea se impune prelungirea limii impulsurilor cu
circuite RC de difereniere.
Variaia parametrilor mediului n care se realizeaz msurarea precum i variaiile
parametrilor componentelor electronice face ca msurarea s fie afectat de erori i
funcionarea aparatului s fie perturbat. Mediul electromagnetic agresiv este una dintre
principalele cauze posibile. A fost implementat un mod de verificare a calibrrii care const
dintr-un LED aflat n incinta de msurare (n interiorul traductorului) alimentat de la un canal
PWM al microcontrollerului. Comparatorul 2 compar impulsul de ieire cu un prag mai mare
care poate fi atins doar cnd LED-ul lumineaz cu o intensitate mare. LED-ul este comandat
s lumineze mai puternic la nceputul msurtorii pentru verificarea calibrrii. Pe parcursul
msurrii dac se detecteaz un impuls dat de comparatorul 2 se consider c acesta nu poate
proveni dect de la o perturbaie electromagnetic i se abandoneaz msurtoarea prin
afiarea unui mesaj de eroare

197

Schema de simulare a msurrii n Simulink este dat n figura 8.15.

Figura 8.15: Schema de simulare a msurrii prin numrarea impulsurilor


Ca i n simularea msurrii prin integrare, pe lng sursele de impulsuri utile se adaug o
surs de zgomot aleator care simuleaz zgomotul intern al fotoelementului i o surs
sinusoidal care simuleaz perturbaia de 50Hz care provine de la reeaua industrial de curent
alternativ. Un generator de impulsuri simuleaz impulsurile de amplitudine mic care provin
de la o descrcare iar un generator de impulsuri simuleaz impulsurile de amplitudine mare
generate la calibrare prin aprinderea LED-ului. Semnalul de intrare arat ca n figura 8.16:
Impuls de
calibrare

Zgomot

Impuls de
descrcare

Figura 8.16 Impulsuri de intrare


Circuitele de difereniere mresc durata impulsului iar circuitele de prag selecteaz
impulsurile dup amplitudine. Impulsurile de ieire din comparatorul 1 i 2 sunt date n figura
8.17 stnga respectiv dreapta.

198

Figura 8.17: Impulsuri de ieire


Se poate observa c la ieirea comparatorului 1 apar impulsurile de descrcare i cel de
calibrare iar la ieirea comparatorului 2 apare doar impulsul de calibrare.
Msurarea prin integrare este superioar celei prin numrarea impulsurilor din mai multe
puncte de vedere:
Perturbaia sinusoidal este rejectat n totalitate dac perioada de integrare este multiplu
al perioadei tensiunii reelei industriale;
n timpul integrrii microcontrollerul poate executa alte sarcini, de exemplu de transmisie
de date;
Etajul analogic este simplu.
Din pcate metoda integrrii se poate aplica doar la un numr mare de impulsuri de descrcare
n unitatea de timp, iar msurarea concentraiilor mici de Radon nseamn un numr foarte
mic de descrcri pe zi. Prin integrare zgomotul de msurare crete n timp i produce
saturarea circuitului analogic de integrare. Metoda numrrii impulsurilor se preteaz i la
msurri de concentraii mici, folosind ns mai mult resursele microcontrollerului. Aa cum a
fost implementat, metoda prin numrarea impulsurilor nu poate determina tipul particulei
radioactive care s-a descompus deoarece aa cum se vede din simulare impulsurile sunt
prelungite i au aceeai amplitudine.

8.4.Unitatea de prelucrare
8.4.1. Alegerea microcontrollerului

Au fost considerate dou variante de microcontroller, una cu un microcontroller din familia


Fujitsu cu care Catedra de Electronic i Calculatoare are o colaborare i o alt variant cu un
microcontroller Atmel care este preferat n realizri prin faptul c este foarte cunoscut.
Criteriul principal de selecie a fost performana convertorului analog digital pentru c se fac
achiziii de semnale analogice.
Prin rularea ctorva teste de achiziie s-a constatat o instabilitate a valorilor de la ieirea
convertorului analog/digital din componena microcontrollerului Fujitsu care influeneaz
negativ precizia msurtorilor. Metoda static de testare a constat din msurri succesive a
semnalului furnizat de convertor cu intrarea lui analogic conectat la mas i trimiterea
datelor la calculator pentru analiz. Interfaarea cu calculatorul s-a realizat prin standardul
199

serial RS232, datele fiind primite de un program specializat de citire a portului serial. i la
microcontrollerul Atmel s-a pstrat modul de lucru n faze, gen sample-hold-send, practic se
iau cte 1000 de eantioane n lipsa conexiunii cu calculatorul, dup care se realizeaz
conexiunea ctre calculator dup care se realizeaz transmisia datelor. Dup preluare datele
sunt salvate ntr-un fiier text i pot fi reprezentate grafic.
Analiza semnalului analogic furnizat de senzor arat c zgomotul aprut la intrarea
convertorului poate fi micorat prin ecranarea traseului de intrare. Se constat c mrimea i
frecvena impulsurilor nedorite este mult redus. Aezarea n imediata vecintate a
traductorului este esenial n acest tip de aplicaie.
Ca i filtrri software, cea mai simpl este filtrarea prin mediere care const n eantionarea
semnalului cu o frecven mrit i calcularea eantionului curent prin medierea mai multor
eantioane preluate timp de o milisecund.
yj = (xj*N+1 + xj*N+2 + xj*N+3 + .+ xj*N+N) / N
Unde :
N numrul eantioanelor luate timp de o milisecund
Y semnalul de ieire din filtrul de mediere
X semnal de intrare n filtru
Semnalul de ieire este calculat din N eantioane luate anterior, prin efectuarea unei medieri
aritmetice asupra lor. La valori mari ale N algoritmul necesit putere mare de procesare. De
exemplu pentru valoarea N=50 rezultatele sunt prezentate n figura 8.18, rata erorilor fiind
mult redus, doar 4-5 eantioane eronate. Sigur aceast performan poate fi atins doar la
folosirea la maxim a resurselor sistemului de procesare, lucru care este inacceptabil n
majoritatea aplicaiilor, sistemul avnd i alte taskuri de executat n paralel. Pentru aplicaii
diferite se pot lua n considerare metode diferite de eliminare a zgomotului. De exemplu la
achiziia semnalelor de la traductoare de Radon prin metoda integrrii se pot face medieri
software pentru c achiziia se face doar la sfritul perioadei de integrare. Se poate spune c
principiul de msurare prin integrare este superior din punctul de vedere antiperturbativ i prin
faptul c permite o achiziie lent i prin urmare microcontrollerul are timp s efectueze
operaia de mediere.
Un avantaj din punctul de vedere al zgomotului introdus de msurtoare este ca traductorul s
fie n apropierea sistemului de msur. n cazul aparatului propus apropierea este realizat
pentru camera de detecie care este montat n interiorul carcasei. Camera de ionizare fiind de
mari dimensiuni este montat n exterior i semnalul este preluat cu cabluri ecranate. Este
posibil ca s fie nevoie s se monteze partea analogic direct pe camera de ionizare.
Valorile achiziionate pentru un semnal constant la ieire sunt n cazul unui microcontroller
Fujitsu date n figura 8.18.

200

280

275

270

265

260

255

250

245

240

1000

2000

3000

4000

5000

6000

7000

8000

Figura 8.18: Valorile eantionate pentru o tensiune continu constant la intrare


(MB90F352S) (8000 de eantioane)
Pentru un microcontroller Atmega16 valorile achiziionate sunt date n figura 8.19.
385

380

375

370

100

200

300

400

500

600

700

800

900

1000

Figura 8.19: valorile eantionate pentru o tensiune continu constant la intrare (Atmega16)
(1000 de eantioane)
Dac la Fujitsu erorile erau de 4 bii, la Atmega16 erorile sunt de 1 bit, ceea ce justific
alegerea familiei ATMEL. Folosind o mediere software erorile scad, doar 4 eantioane
eronate din 3000. Dezavantajul medierii este creterea timpului de achiziie.

8.4.2. Schema electric

Unitatea central cu microcontroller este o unitate cu structur clasic, n care, n afar de


microcontroller sunt prevzute generatorul de tact, circuitul de RESET i circuitul de
modificare de nivel MAX232 pentru interfaa serial RS232 la care se vor conecta modulele
GPRS, GPS i modemul de linie telefonic. Pe plac este prevzut un conector pentru

201

programarea microcontrollerului ISP (In System Programming) i condensatori pentru


atenuarea variaiilor tensiunii de alimentare.
Implementarea interfeei sistem - utilizator s-a realizat cu un afiaj grafic cu cristale lichide
suficient de mare pentru vizualizarea in mod grafic i n mod text a meniurilor de lucru i a
rezultatelor. Pentru implementare s-a ales modulul DEM128064ASYH-LY care dispune de
128 coloane i 64 de linii i un numr de 8192 pixeli, suficieni pentru aplicaia curent.
Afiajul a fost folosit i n alte aplicaii prezentate n celelalte capitole. Elementul principal al
modulului l reprezint panoul cu cristale lichide de dimensiunea 128x64 puncte, acesta fiind
controlat de circuitele auxiliare (drivere) KS0107B care controleaz liniile, i KS0108B care
controleaz coloanele. De asemenea modulul dispune de un convertor intern de tensiune
pentru generarea unei tensiuni negative necesar funcionrii afiajului. Interfaa de 14 de pini
a modulului este alctuit din magistrala de date de 8 bii i semnalele de control CS1, CS2,
RS , R/W, RSTB i E, conform tabelului urmtor:

PIN MCU

NUME
SEMNAL

DESCRIERE

P40

CS1

semnal de selecie circuit de control segment stnga

P41

CS2

semnal de selecie circuit de control segment dreapta

P65

RS

specific daca se transmite o comand sau date

P4

R/W

semnal de control pentru citire/ scriere

P67

semnal de validare

P66

RSTB

semnal de resetare modul

P10-P17

Magistrala paralel de date de 8 bii

Schema electric a unitii centrale cu microcontroller i a interfeei cu afiajul LCD este dat
n figura 8.20.
Ciclul de scriere a unei comenzi sau date n modulul LCD ncepe prin aplicarea la intrarea
modului a semnalelor de selecie CS1 si CS0 precum i a semnalului de R/W care specific
tipul operaiei. Dup un timp bine definit se aplic semnalul de validare E, timp n care datele
trebuiesc s fie stabile. Durata ciclului de scriere este bine definit i se gsete n foaia de
catalog a modulului LCD. Modulul LCD dispune de un registru de intrare n care se
stocheaz datele primite de la microcontroller nainte sa fie afiate. La activarea semnalului E
datele se scriu n registrul de intrare, dup care printr-o operaie intern ele sunt transferate n
memoria intern i afiate.

202

Figura 8.20: Schema electric a unitii centrale i de conectare a afiajului LCD

Cablajul pentru unitatea de prelucrare cu microcontroller este dat n figura 8.21.

8.4.3.Software

Partea software este necesar la unitatea de prelucrare numeric cu microcontroller i la


serverul care primete mesajele GPRS.
Procedura de msurare software implementat n microcontroller n cazul variantei
constructive n care impulsul nu este preluat prin convertorul analog digital ci este aplicat ca
cerere de ntrerupere este format din mai multe etape:

203

Figura 8.21: Cablajul unitii centrale cu microcontroller ATMega16

1. Procedura de numrare a impulsurilor


Impulsurile au o durat i o amplitudine cunoscute pentru descrcarea unei particule de
Radon. Microcontrollerul verific impulsul primit ca durat i l numr doar dac durata lui
este cea ateptat, ntre anumite limite, conform diagramei din figura 8.22.
Dup fiecare incrementare registrul este salvat n EEPROM pentru ca o ntrerupere a tensiunii
de alimentare s nu afecteze rezultatul msurtorii. Dac microcontrollerul are putere de
calcul mai redus salvarea se face doar la sfritul unei ore.

204

Se ateapt un impuls pe
linia de ntrerupere 1
Apare un impuls
Se verific dac exist
impuls pe linia de
ntrerupere 2

da

Se ignor impulsul de
pe linia 1 considerat
perturbaie

nu
Se verific dac impulsul
are durata standard

nu

Se ignor impulsul de
pe linia 1 considerat
perturbaie

da
Se numr impulsul prin
incrementarea unui
registru

Figura 8.22: Procedura de numrare a impulsurilor


2. Procedura de totalizare i afiare, figura 8.23.
La punerea sub tensiune se citete timpul
transmis GPS. Se verific dac coincide
cu ora- minutul alocat transmisiei
da
Se pornete un timer cu timp programat
o or
Se numr impulsurile i se
incrementeaz un registru
A trecut o or
da
Se afieaz numrul de impulsuri pe
LCD i se transmite numrul de
impulsuri prin GPRS
Valorile numrului de impulsuri stocate
n orele anterioare se mediaz i se
afieaz pe LCD media calculat i un
grafic

Figura 8.23: Procedura de totalizare i afiare

205

3. Procedura de atenionare
Procedura de atenionare este implementat pentru a trimite mesaje de avertizare dac
concentraia de Radon n aer depete repetat valorile anterioare, figura 8.24. Se
programeaz n microcontroller numrul N1 de citiri din care se face media de referin (o
medie a concentraiei de Radon pe N1 ore), numrul N2 de citiri care depesc media de
referin i D procentul de depire pentru care se emite avertizarea. N1, N2 i D se stabilesc
experimental.
Se introduc valorile N1, N2 i D

Se fac N1 citiri i se calculeaz


media

Se realizeaz o citire la finalul


unei ore. Valoarea citit este mai
mare cu D dect media N1.

nu

da
Se incrementeaz registrul de
valori care depesc cu D media
N1

Se realizeaz o nou citire.


Valoarea citit este mai mare cu
D dect media N1.
nu

nu

Se golete registrul de
valori care depesc cu D
media N1

da
S-au citit N2 valori care depesc
cu D media N1
da
Se genereaz o avertizare

Figura 8.24: Procedura de atenionare

Transmisia la ore exacte poate fi realizat prin folosirea unui timer din microcontroller. n
acest caz nu se transmite i poziia aparatului. Poziia i timpul pot fi aflate cu mare exactitate
folosind sistemul GPS.
GPS (Global Positioning System) este un sistem de determinare a poziiei care se bazeaz pe
recepia unor semnale de la o reea de 24 de satelii plasai pe orbit. Acest sistem a fost
folosit iniial pentru aplicaii militare dar din 1980 s-a putut folosi i n aplicaii civile.
Receptorul GPS trebuie s recepioneze semnale de la minim 3 satelii pentru o poziionare
2D (latitudine i longitudine) i de la minim 4 satelii pentru o poziionare 3D (latitudine,
206

longitudine i altitudine). Precizia de determinare a poziiei este de 10-15m dar exist metode
de a mbunti precizia pn la 2-5m.
Receptorul folosit este EZ10 de la Telit. Cteva dintre caracteristicile tehnice eseniale ale
receptorului sunt:
Acuratee: n modul autonom de funcionare modulul are o acuratee de detectare a
poziiei de 10m, n modul WAAS (Wide Area Augmentation System) acurateea este
sub 5m, iar folosind DGPS (Differential GPS) sub 2,5m.
Receiverul dispune de 12 canale de recepie, astfel c se pot urmri pn la 12 satelii
simultan.
Rata maxim de mprosptare a informaiei este de 10Hz.
Protocolul folosit este NMEA (National Marine Electronics Association)
Ca ieire de date modulul folosete o comunicaie serial RS232 la 4800 b/s (standard
NMEA-0183 versiunea 2.2 [8])
Mesajele NMEA pot fi vizualizate cu orice program standard de comunicaie serial, cum ar fi
Windows Hyper-Terminal. Modulul transmite cinci tipuri de propoziii: GGA, GSA, RMC,
VTG i GSV. Dintre acestea cinci, doar propoziiile GGA si RMC conin att date despre
timp ct i poziie (latitudine i longitudine).
$GPGGA,235948.999,0000.0000,N,00000.0000,E,0,00,50.0,0.0,M,,,,0000*33
$GPRMC,235948.999,V,0000.0000,N,00000.0000,E,0.00,,171101,,*05
Se poate vedea indicaia de timp, achiziia a nceput la ora 23.59.48,999. Indicaia despre
poziie nu a fost actualizat pentru c sistemul a fost testat ntr-o cas unde pereii au ecranat
semnalul GPS de poziionare.
Software-ul pentru server a fost realizat de un grup de studeni pasionai condus de dl.
Marius Moga. Radon Data Manager este un sistem software care permite preluarea de mesaje
predefinite de la echipamentele implicate n msurarea concentraiei de Radon conectate n
sistemul GPRS, interpretarea acestora i transmiterea datelor rezultate ctre un server
MySQL, n vederea stocrii ntr-o baz de date. Sistemul software nglobeaz trei interfee,
interconectate:
Interfaa grafic - permite utilizatorului s comunice cu sistemul software;
Interfaa server ( serverul ) reprezint legtura aplicaiei cu echipamentele care trimit
mesaje predefinite serverului, utiliznd stiva de protocoale TCP-IP i diferite
tehnologii de acces la internet;
Interfaa client MySQL asigur nregistrarea i actualizarea datelor n baza de date,
prin tranzacii ntre interfa i un server MySQL 5.0 .

Radon Data Manager 1.0 permite la nivel de interfa grafic operaiuni de control al
serverului i al conexiunii cu serverul MySQL, gestiunea echipamentelor implicate n
procesul de msurare i supravegherea activitii sistemului software prin mesaje furnizate de
metodele aplicaiei.

207

La nivelul serverului sistemul accept orice conexiune TCP-IP adresat acestuia pe un port de
comunicaie dedicat, care poate fi setat de ctre utilizatorul sistemului, de regul pot fi alese
porturi cuprinse in intervalul 1024 65535, deoarece valorile mai mici de 1024 sunt
rezervate pentru servicii predefinite ( FTP, HTTP, SMTP, etc.). Conexiunea ntre client si
server poate fi realizat numai dac respectivul client utilizeaz acelai port de comunicaie
pentru care serverul accept conexiuni, astfel nct odat ce este modificat portul de
comunicaie al serverului, trebuie modificate i porturile de comunicaie ale tuturor clienilor.
n momentul acceptrii unei conexiuni, serverul va atepta sosirea mesajului predefinit. Dac
dup stabilirea conexiunii clientul conectat la server nu trimite date sau trimite mesaj
incomplet, conexiunea va fi ntrerupt dup un timp de ateptare care poate fi setat de ctre
utilizatorul sistemului. ntreruperea conexiunii cu respectivul client nu afecteaz preluarea
unei noi conexiuni, iar dac mai muli clieni solicit o conexiune la server, serverul va
accepta i trata pe rnd fiecare conexiune n parte, n ordinea sosirii cererilor, clienii
ateptnd acceptarea conexiunii. Numrul maxim de cereri de conexiune este fix ( nu poate fi
modificat de utilizator ), cel mult 50 de cereri pot fi stocate n coada de ateptare. Sistemul de
operare va respinge oricare a 51-a cerere de conexiune. Un ecran al programului care arat un
raport al conexiunilor i datele preluate este capturat n figura 8.25.

Figura 8.25: Date preluate de la echipamente

208

Clientul MySQL asigur tranzaciile ntre Radon Data Manager i serverul MySQL utiliznd
mai multe metode implementate n sistemul software. Autentificarea la serverul MySQL este
realizat printr-o metod complex ce asigur n acelai timp crearea bazei de date n cazul n
care aceasta nu exist, preluarea datelor de autentificare dintr-un fiier binar, permind astfel
autentificarea automat la serverul MySQL n momentul pornirii sistemului software, fr a
mai fi necesar intervenia utilizatorului. La prima utilizare a sistemului RadonDataManager,
este necesar introducerea de ctre utilizator a datelor de autentificare. Acestea vor fi stocate
n fiierul binar autentif.bin, imediat dup stocare se va declana automat procedura de
autentificare pentru verificarea corectitudinii datelor de autentificare, n cazul n care datele
sunt incorecte, fereastra pentru setarea datelor de autentificare va rmne deschis pentru
introducerea altor date.
Pentru funcionarea sistemului este necesar ca aplicaia software s ruleze pe un calculator
conectat permanent i dedicat la Internet prin diverse tehnologii de acces oferite de furnizorii
de servicii. O conexiune dedicat la Internet implic o adres IP fix oferit prin contract de
ctre un Internet Service Provider. Conexiunea permanent poate fi susinut de un serviciu
de acces la Internet cu un parametru QoS ( Quality of Service ) ct mai bun.

8.5. Sursa de alimentare 250V DC

Sursa de alimentare de tensiune mare are rolul de polarizare a camerei de ionizare sau a
camerei de detecie. Circuitul integrat care st la baza acestei aplicaii este LM 3524, un
generator de semnal PWM. Schema din figura 8.26 arat principiul unui convertor pentru
ridicarea tensiunii de alimentare (Step Up) i formele de und.
tOFF

VIN

tON

V1

L1

D1

LM 3524

tOFF
Vo

Vo

V1
PWM

tON

Co

IL

RL

IL+

IL-

Figura 8.26: Convertor DC DC pentru ridicarea tensiunii de alimentare (Step Up)


I L =

V .t
VL .T
, deci I L + IN ON
L
L1

tranzistorului Q1
la fel I L

(V0 VIN ).t OFF

IL+=IL- deci

L1

dac se neglijeaz tensiunea de saturaie a

dac se neglijeaz tensiunea pe D1

V IN .t ON = VO .t OFF VIN .t OFF

209

ca urmare se obine relaia care arat c se poate obine creterea valorii tensiunii de ieire n
funcie de factorul de umplere:

t
VO = VIN 1 + ON
t OFF
Pentru o mrire a tensiunii de la 5V la 250V este nevoie ca factorul de umplere tON/tOFF s fie
49. Pentru a asigura precizia i stabilitatea unui astfel de factor de umplere este nevoie de un
circuit specializat, aa cum este LM3524.

Pentru a calcula curentul absorbit de la intrare presupunem un randament de 100%, deci


pierderi nule.
PIN = I IN .V IN i

t
PO = I O .VO = I O .VIN 1 + ON
t OFF
i PO=PIN

t
astfel c I IN = I O 1 + ON
t OFF
Se remarc faptul c, aa cum ne ateptam, dac tensiunea de ieire este de 50 de ori mai
mare, curentul de ieire este de 50 de ori mai mic.

Sursa de polarizare cu circuitul integrat LM 3524 are schema dat n figura 8.27, care este o
schem tipic de convertor Step Up. Circuitul genereaz o tensiune de referin de 5V cu
precizia de 1% iar curentul furnizat la ieire este de maxim 200mA la o tensiune maxim de
60V. Circuitul admite sincronizare extern i are performane ridicate n mediu industrial.

Figura 8.27: Schema circuitului de ridicare a tensiunii cu LM 3524

210

8.6. Rezultatele msurrilor. Etalonare i concluzii

Primele msurtori au fost efectuate cu un sistem de achiziii de date National Instruments


DAQ USB care const dintr-un modul DAQ USB i un calculator PC. Cu acest sistem s-au
efectuat achiziii ale semnalului analogic furnizat de camera de detecie (dup amplificatorul
analogic), figura 8.28.

Figura 8.28: Rezultatul achiziiei pentru o zi cu camera de detecie realizat cu modulul


National Instruments

Impulsurile gri provin de la descrcri ale particulelor de Radon iar impulsurile negre sunt
impulsuri de eroare. Se vede din grafic c pe perioada unei zile nu au aprut impulsuri de
eroare suficient de mari pentru ca aparatul s semnalizeze o eroare. Viteza convertorului
DAQ-USB de 10ks/s nu permite conectarea direct la ieirea camerei de ionizare /detecie
pentru c impulsurile generate sunt prea rapide. Un impuls din graficul din figura 8.28 este
prezentat n detaliu n figura 8.29.
Se observ din figur forma dreptunghiular a impulsului (a crui energie nu este
proporional cu energia impulsului de intrare) i se mai observ i ieirea a doua a
amplificatorului unde tensiunea variaz foarte puin.

211

Figura 8.29: Impuls datorat unei particule n camera de detecie


O fotografie cu o vedere de sus a aparatului portabil cu camer de detecie realizat este dat n
figura 8.30.
Conexiune n exterior
pentru sursa de
alimentare

Camera de
detecie

Amplificator
analogic
Unitate central cu
microcontroller

Sursa de
alimentare

Afiaj LCD

Figura 8.30: Aparatul de msurare a coninutului de Radon n aer cu camer de detecie


(vedere de sus)
Din fotografie lipsesc modulele opionale: modem-ul GPRS i cel de linie telefonic. O
fotografie cu o vedere din fa este dat n figura 8.31. Se observ indicaia afiajului LCD
grafic pe care este afiat concentraia de Radon n aer.

212

Figura 8.31: Aparatul de msurare a coninutului de Radon n aer cu camer de detecie


(vedere din fa)

Datele transmise de ctre microcontroller sunt recepionate pe portul serial de la calculator cu


ajutorul programului Hyper Terminal. S-a setat Baud rate-ul la 9600 b/s, iar formatul datelor
8-n-1. Pentru recepie s-a folosit portul COM1 de la un PC.
Etalonarea aparatului a fost realizat prin comparaie cu aparatul electronic de producie SUA
SAFETY SIREN 2 Au aprut 79 de impulsuri n 93 de ore ceea ce nseamn 0.8494 de
impulsuri pe or. Aparatul SAFETY SIREN 2 a afiat 3.0 pCi/L (111 Bq/m3 ). Valoarea
minim pe care o poate detecta aparatul este de 0.1 pCi/L sau 3.7 Bq/m3, valoare pentru care
corespunde perioada de 0,0283154121 de impulsuri pe or. Toate valorile concentraiei de
Radon vor fi exprimate in pCi/L, pentru ca numrul de impulsuri i valoarea concentraiei s
poat fi reprezentate pe acelai grafic. Conversia ntre pCi/L i Bq/m3 se poate face apoi cu
relaia 1pCi/L=37Bq/m3
Relaia dintre numrul de impulsuri pe or i valoarea concentraiei exprimat n pCi/L este
liniar i este reprezentat n graficul din figura 8.32.

213

Figura 8.32: Dependena dintre numrul de impulsuri pe or i valoarea concentraiei


Radonului exprimat in pCi/L
Graficul din figura 8.33 arat valoarea concentraiei afiate de aparat la o urmrire de 93 de
ore cu o mediere la 5 ore, prima valoare a mediei fiind afiat dup 5 ore:
3,5

3,0

2,5

2,0

1,5

1,0

0,5

0,0
5

15

25

35

45

55

65

75

85

ora
dezintegrari/ora

pCi/L

Figura 8.33: Variaia n timp a valorii concentraiei de Radon i a numrului de impulsuri pe


or, medierea impulsurilor fcndu-se pe 5 ore

214

Prima valoare real a concentraiei este afiat dup 5 ore, valorile de mai nainte fiind
calculate din prea puine eantioane.
Cele dou variante de aparate realizate sunt prezentate n figura 8.34. Sus stnga este
prezentat varianta cu camer de ionizare (mijloc) n timpul verificrii msurtorilor prin
comparaie cu SAFETY SIREN 2 (dreapta) i un contor Geiger Muller (stnga). Modemul
GPRS/GPS este pus pe aparat. Un detaliu al camerei de ionizare este prezentat n figura 8.34
dreapta. Figura 8.34, jos, arat aparatul cu camer de detecie montat i echipat cu modemul
GPRS/GPS EZ10 i antene.

Figura 8.34: Cele dou variante de aparate construite


n acest proiect s-au implicat mai multe colective de studeni i cadre didactice, unul dintre ele
condus de dl. conf. dr. ing. Gheorghe Morariu care au elaborat aparatul cu camer de ionizare
pentru care s-a depus o cerere de brevet de invenie i cellalt condus de dl. ef lucrri dr. ing.
Kertesz Csaba care s-a ocupat de realizarea aparatului de msurare a Radonului n aer cu
camera de detecie i partea de prelucrare numeric.
Msurarea prin integrare nu d rezultatele dorite la concentraii mici de Radon deoarece
impulsurile de integrat sunt prea rare (cteva pe zi). Rezultate bune se obin cu metoda de
numrare a impulsurilor. Aceast concluzie a fost tras dup construirea lanului analogic,
achiziia semnalului i urmrirea lui o perioad mai lung cu modulul de achiziii de National
Instruments.

215

Camera de detecie este mult mai mic ca i dimensiuni dect camera de ionizare i n
bibliografie se pare c este mai utilizat n aplicaiile moderne. Totui, un dezavantaj al
camerei de detecie este faptul c primele rezultate sunt date cu mai mare ntrziere dect
camera de ionizare. Dimensiunile fiind mai mici, dureaz mai mult pn aerul intr n incinta
de msurare. Aparatele cu camer de detecie se preteaz la aplicaii portabile.
Cu toate c nu exist o limit teoretic a sensibilitii se apreciaz c sensibilitatea este
0,1pCi/l (4Bq/m3) datorit faptului c nu au existat mijloace tehnice de a verifica aparatul la
un coninut mai mic de Radon. n lucrarea [9] se arat un sistem de msurare a Radonului care
detecteaz i o concentraie de 18mBq/m3 (o descrcare/24ore) cu o camer de detecie de 70l
polarizat cu 1500V i o fotodiod PIN. Aceast lucrare din 2006 arat corectitudinea liniei
alese n acest proiect de a insista pe varianta constructiv cu fotoelement.
Concepia de realizare a fost considerat original, a fost prezentat n [10]. a fost nregistrat
o cerere de invenie [11 ], iar cercetrile ulterioare publicate [12].

Bibliografie

[1] Cosma C., Jurcut T., Radonul i mediul nconjurtor, Editura Dacia 1996
[2] Ogruan P., Documentaie proiect CEEX 747/2006, Cercetri privind cartarea naional
a Radonului (n interior i n diferii factori de mediu) pentru protecia populaiei n
conformitate cu cerinele normelor internaionale i ale UE
[3] Yamamoto, S.; Yamasoto, K.; Iida, T., Development of a real-time radon monitoring
system for simultaneous measurements in multiple sites, Nuclear Science Symposium,
1998. Conference Record. 1998 IEEE , Volume 2, 8-14 Nov. 1998 Page(s):1052 - 1055
vol.2
[4] Roca, V.; Boiano, A.; Esposito, A. et all A monitor for continuous and remote control of
radon level and environmental parameters Nuclear Science Symposium Conference
Record, 2004 IEEE , Volume 3, 16-22 Oct. 2004 Page(s):1563 - 1566 Vol. 3
[5] Noto, N.; Ohsumi, H.; Kobayashi, S.; Performance of the electrostatic collection type
radon and toron detector Nuclear Science Symposium Conference Record, 2002 IEEE ,
Volume 1, 10-16 Nov. 2002 Page(s):429 - 434 vol.1
[6] Radio Communications & Supply SRL, office@rcsco.com, reprezentant TELIT,
documentaie tehnic TELIT EZ10
[7] Sandu D. D., Electronica fizica, Editura Didactica si Pedagogica, Bucuresti, 1973
[8] http://www.nmea.org, GPS
[9] Nachab A., Radon reduction and Radon Measurements at the Modane Underground
Laboratory, 2nd Workshop in Low Radioactivity Techniques, 2006, Aussois
[10] Morariu Gh., Ogrutan P., Kertesz Cs., Alexandru M., A Novel Procedure and Apparatus
for Measuring the Radon Concentration in Air, Proceedings of the 11-th International
Conference on Optimization of Electrical and Electronic Equipments, Brasov, 2008,
OPTIM 2008, IEEE Catalog Number 08EX1996C, ISBN1-4244-1545-4
[11] Purghel L., Morariu Gh., Ogrutan P., Alexandru M., Kertesz Cs., Suciu L., Metoda si
aparat pentru masurarea concentratiei de Radon in aer si transmiterea datelor la
distanta, cerere nr. OSIM A/00259 9.04.2008
[12] Ogrutan P., Romanca M., Gerigan C., Morariu Gh., Aciu L.E., Real Time and Multiple
Location Radon (222Rn) Monitoring System, Advances in Electrical and Computer
Engineering, ISSN: 1582-7445, Volume 10, Number 4, 2010, pp. 155 160
216

Capitolul 9: JTAG- principii de testare


9.1.Principii generale i unelte de testare
Orice sistem integrat pe baz de calculator trebuie testat, fie c este vorba despre un model
experimental sau de producia de serie. Testabilitatea trebuie asigurat nc din faza de
proiectare, conform urmtoarelor principii:
1. Principiul vizibilitii care presupune accesibilitatea la nodurile care vor fi testate;
2. Principiul controlabilitii care presupune posibilitatea controlului principalelor
semnale de pe plac, adic inhibarea lor i substituirea cu semnale de test;
3. Principiul sincronizrii generale solicit sincronizarea tuturor evenimentelor de pe o
plac cu un singur semnal de tact care s fie posibil de generat i de echipamentul de
testare.
4. Principiul partiionrii presupune gruparea topologic pe plac a circuitelor n raport
cu funciile realizate;
5. Principiul iniializrii generale impune crearea posibilitii de a aduce circuitele de pe
plac ntr-o stare cunoscut n momentul declanrii testului;
6. Principiul autotestrii recomand transferarea unor operaii de testare sau auxiliare
testrii la nivelul plcii.
Integrarea permite includerea funciilor de autotestare la nivelul chip-urilor (Built In Self Test
BIST), i funcii de testare a interconexiunilor de pe plci (Boundary Scan).
Testele pot fi clasificate n:
1. Teste parametrice- se evalueaz parametrii statici ( ex. tensiune de offset etc.) sau
dinamici (timpi de cretere etc.);
2. Teste funcionale- se evalueaz funcionalitatea. Condiii le pot fi statice (cu frecvena
mai mic dect n circuit) sau dinamice (frecvene de test comparabile cu cele din
circuit). Testele pot fi executate n condiii parametrice impuse.
Efectuarea unui test se realizeaz conform schemei bloc din figura 9.1.

Generator de
secvene

Model
Gold Unit

Compactor

Circuit sub
test DUT

Compactor

Comparator

Figura 9.1: Testarea prin comparaie cu un model

217

Rezultat
test

O secven de test este aplicat circuitului de testat i unui model (o plac martor sau un
model matematic). Dac secvena de ieire este identic cu cea de referin atunci circuitul
testat se poate considera fr defecte. Prin compactare se micoreaz lungimea secvenei de
ieire i comparaia dureaz mai puin. Avantajul este umbrit de posibilitatea apariiei unor
defecte nedetectabile.
Pentru testarea funcional a unui modul se aplic secvene de test la intrare i se citesc
rspunsurile att la ieirile plcii ct i n nodurile interioare pentru care s-a implementat
principiul vizibilitii i poate fi:
1. Testarea funcional static i propune detectarea defectelor statice PP0, PP1 i
scurtcircuite;
2. Testarea dinamic, la frecvena de lucru, detecteaz de exemplu impulsuri parazite;
3. Testarea funcional n sistem, cu 2 subvariante:
Placa funcioneaz n testor i se simuleaz funcionarea n sistem;
Placa funcioneaz n sistem, testorul culege informaii (ex. analizor logic)
La testarea n circuit aciunea testului este fixat asupra unui singur chip. Secvena se aplic
direct pe pinii chip-ului testat i se citesc rspunsurile chip-ului. Accesul se face prin pat de
cuie- bed of nails. Testorul trebuie s rezolve problemele:
1. Izolarea circuitului prin dezactivarea ieirii tri state, inhibarea generatoarelor de
semnal, ntreruperea buclelor de reacie;
2. Protecia ieirilor cuplate n nodurile forate prin limitarea valorilor curenilor injectai.
Defectul este o imperfeciune fizic sau logic care apare n cadrul unei componente
hardware sau software iar Eroarea este o manifestare a defectului i reprezint o deviaie de
la corectitudinea de execuie a funciilor.
Cauzele defectelor pot fi:
1. Specificaii de proiectare greite
2. Implementri greite
3. Componente defecte
4. Perturbaii exterioare
Caracteristicile defectelor sunt:
1. Cauzele defectelor
2. Natura- hardware sau software
3. Durata defectelor- permanente, tranzitorii sau intermitente
4. Extinderea defectelor- generale sau locale
5. Valoarea defectului (la cele parametrice).
Defectele logice sunt:
1. Puneri pe 0 (PP0) i puneri pe 1 (PP1)
2. Scurtcircuite, care pot fi ntre un traseu de semnal i una din bornele de alimentare,
figura 9.2 sau ntre dou trasee de semnal, figura 9.3. Aceste defecte se pot detecta
indirect prin msurarea curentului absorbit i compararea lui cu un curent al unei plci
bune sau prin msurarea temperaturii chip-urilor de pe plac.
218

Vcc

n cazul unui defect PP0, dac ieirea este


comandat n stare 1 apare un curent mare de
la Vcc prin R, Q1, D, GND.
n cazul unui defect PP1, dac ieirea este
comandat n stare 0 apare un curent mare de
la Vcc prin Q2, GND.
Ambele defecte se manifest prin creterea
temperaturii capsulei.

Q1

D
Q2

PP0

Figura 9.2: Scurtcircuit ntre un traseu de semnal i una din bornele de alimentare

Vcc

R
Q3

Q1

Dac poarta 1 este comandat n 1 iar


poarta 2 n 0 apare un curent mare de la
Vcc prin R, Q1, D, Q4, GND.

Q4

Q2

Poarta 1

Poarta 2
Figura 9.3: Scurtcircuit ntre dou trasee de semnal

Apariia sistemelor structurate pe magistrale a dus la necesitatea unor noi moduri de testare. n
1973 a fost introdus de ctre HP analizorul logic. Analizorul logic este dedicat activitii de
laborator n etapele de proiectare i punere la punct a sistemului. Cerinele necesare pentru un
analizor logic sunt:
1. S urmreasc i s vizualizeze mai multe semnale de intrare n acelai timp;
2. S dispun de frecvene de eantionare mai mari dect cel mai rapid semnal din
sistem;
3. S dispun de un nivel de intrare de prag adaptabil la diferite tipuri de familii logice;
4. S memoreze secvene de date;
5. S dispun de posibiliti de declanare care s permit captarea unor blocuri de date
dintr-un flux de date;
6. S asigure moduri variate de vizualizare.

219

Analiza logic poate fi:


1. Sincron (cu tactul sistemului), dedicat prii software. Se compar datele cu cele de
referin i se stabilesc diferenele.
2. Asincron (cu tactul mai mare dect tactul sistemului), dedicat prii hardware, care
pune n eviden defecte hardware- impulsuri eronate etc.
Schema bloc a unu analizor logic este dat n figura 9.4.
Linii de
intrare

Bloc de
eantionare

Tact de eantionare

Memorie

Vizualizare

Trigger 1- semnal de
declanare a memorrii
Trigger 2- semnal de oprire
a memorrii

Figura 9.4: Schema bloc a unu analizor logic


De exemplu la o magistral extern de MC trigger-ul de declanare a memorrii poate fi
semnalul ALE care identific nceputul unui ciclu de acces la memorie sau I/O. Se poate
genera un semnal special ca trigger prin software prin intermediul unui port de I/O. Exist i
posibilitatea de declanare cu un cuvnt stocat n analizor. La ntlnirea acelui cuvnt pe una
dintre liniile de intrare se pornete memorarea. Se poate stabili o ntrziere a declanrii dup
apariia cuvntului.
Cel mai comun mod de afiare este sub forma unei diagrame de timp, figura 9.5.
Se observ c
impulsul de IOR
apare prea trziu i
datele nu mai sunt
active i sistemul nu

A0
A1
D0
D1
IOR

Tact de eantionare

Figura 9.5: Afiarea datelor la un analizor logic

220

Analizorul de semnturi se folosete n activitatea de depanare. ntr-un punct se culege o


semntur , adic o form comprimat a fluxului de date. Semntura se compar cu cea
determinat cnd circuitul funcioneaz bine (sau este determinat prin calcul) i se decide
dac nodul respectiv funcioneaz bine sau nu. Dac nu, se culege semntura dintr-un nod
anterior .a.m.d. Analiza de semnturi se poate aplica la fenomene sincrone, inclusiv pe baz
de magistrale dar nu se poate aplica la fenomene asincrone, cum ar de exemplu DMA pe
magistral. Schema bloc este dat n figura 9.6.

Unitate de
testat
Nod

Analizor de semntur
Date
START
STOP

Bloc de
selecie
fronturi

Memorie
tampon

Comprimare

Afiare

TACT

Figura 9.6: Schema bloc a unui analizor logic


Diagrama de semnal este dat n figura 9.7.

TACT
START
STOP
DATE
MEMORAT

1 0 0

1 1

0 1

Fereastra de analiz
Figura 9.7: Diagrama de semnal preluat de analizorul de semnturi
Comprimarea se realizeaz prin coduri ciclice. Schema de implementare a unei comprimri
bazate pe cod ciclic se realizeaz prin registre cu reacie. De exemplu dac ecuaia reaciei
este G=x16+x12+x7 atunci schema de implementare este cea din figura 9.8.

221

IS

16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

SAU
EXCLUSIV

Date

Figura 9.8: Implementarea comprimrii


Modurile de lucru ale analizorului de semnturi pot fi:
1. NORMAL, cnd datele, semnalele de START i STOP apar repetitiv n nodurile
testate. Testarea continu d posibilitatea punerii n eviden a defectelor intermitente
(modificarea semnturii la un ciclu din N cicluri).
2. REINERE, se afieaz semntura culeas n prima fereastr dup RESET
3. AUTOTESTARE, se introduc sondele la un generator de secvene i se compar
semntura obinut cu cea de control i se poate decide dac analizorul funcioneaz
bine.
Metoda analizei de semnturi poate fi aplicat i n domeniul analogic [1], semntura unei
componente analogice fiind caracteristica ei tensiune- curent. Aparatul folosit pentru analiza
de semnturi conine o surs de tensiune Vs i o impedan intern Zs i este aplicat pentru
ridicarea caracteristicii componentei ZL. Dac aceasta este o rezisten se obine pe un ecran
caracteristica cunoscut, panta dreptei fiind msura valorii rezistenei, care poate fi comparat
cu valoarea corect. Reprezentarea se face n 4 cadrane. Semntura unui capacitor este o
elips, reprezentare obinut la aplicarea unei tensiuni alternative. O elipsa asimetric aezat
reprezint semntura unui condensator cu pierderi (cu component rezistiv). La fel se pot
analiza semnturile altor componente, cum este de exemplu jonciunea pn. Semntura
jonciunii pn poate fi folosit pentru analiza circuitelor integrate, prin analiza fiecrei intrri/
ieiri, pornind de la premiza c majoritatea defectelor apar n zona I/O.
Observaie:
Autotestarea este de o importan vital pentru orice echipament electronic, orict de simplu.
De exemplu aprinderea tuturor indicatoarelor luminoase din bordul auto la introducerea cheii
n contact constituie un test al semnalizrilor de avarie. Osciloscopul are un generator
dreptunghiular de 1kHz pentru test. Orice realizare profesional trebuie s aib posibiliti de
autotest hardware sau software.
Pentru modulele realizate ca model experimental este indicat folosirea unor LED-uri de
semnalizare. Un LED la tensiunea de alimentare poate asigura utilizatorul c modulul este
alimentat. Un set de LED-uri care se aprind pe rnd dup efectuarea unor secvene importante
soft poate indica starea n care s-a blocat modulul. Unele plci de baz de PC au fost
prevzute cu LED-uri pentru a marca evoluia autotestului i a ncrcrii sistemului de
operare.

222

9.2.Structura SCAN
Un circuit care conine att componente combinaionale ct i componente secveniale poate
fi redesenat astfel, figura 9.9.
Intrri combinaionale
primare
Intrri combinaionale
secundare

Circuite combinaionale

Ieiri combinaionale
primare
Ieiri combinaionale
secundare

Q D
CLK
Q D
CLK

Q D
CLK

CLK

Figura 9.9: Partiionarea unei scheme


S-a mprit (partiionat) aceast schem pentru punerea n eviden a prii combinaionale i
a celei secveniale.
Proiectarea pentru testabilitate bazat pe registre de scanare se bazeaz pe adugarea de
elemente de circuit suplimentare unui chip (ceea ce nu mai este o problem la gradul actual de
integrare). Circuitele nzestrate cu aceste structuri de test au dou moduri de funcionare:
NORMAL cnd execut funcia pentru care este utilizat
TEST se execut operaii de testare. Se dorete ca semnalele de testare la pini s fie ct
mai puine.
Pe baza acestei redesenri se poate introduce noiunea de structur SCAN multiplexat
MDSD Multiplexed Data Scan Design n care se adaug un MUX pentru fiecare bistabil
existent, figura 9.10. Dac intrarea de selecie S a multiplexoarelor valideaz calea I1 -D
atunci circuitul funcioneaz normal (N) iar dac valideaz calea I0 -D atunci se valideaz
modul de test (T).

223

Intrri combinaionale
primare
Intrri combinaionale
secundare

Circuite combinaionale

Ieiri combinaionale
primare
Ieiri combinaionale
secundare

Q D
CLK

Q D
CLK

I0
I1
S

Q D
SO

CLK
CLK

SI

I0
I1

I0
I1
S
S

T/N

Figura 9.10: Structura SCAN multiplexat


Testarea prii secveniale n modul test (T):
1. 0 la SI i un numr de impulsuri CLK egal cu numrul de bistabili din structur
asigur iniializarea tuturor bistabililor cu 0 (n lipsa defectelor);
2. 1 la SI i apoi n-1 de 0 nseamn trecerea fiecrui bistabil n 1, pe rnd la fiecare
impuls de CLK;
3. se pot aplica 2n (n fiind numrul de bistabili) secvene pentru testarea integral cu
toate combinaiile posibile.
Condiia de eroare se obine dac la ieirea SO irul de impulsuri nu este cel ateptat.
Testarea prii combinaionale n modul test (T):
1. Prin ncrcarea bistabililor (prin SI) cu o secven de test se obine un vector pe
intrrile combinaionale secundare. Se aplic un vector de test pe intrrile primare i
astfel se poate asigura o secven de test complet la intrrile circuitului combinaional
i se poate citi rspunsul la ieirile combinaionale primare;
2. Se pune T/N pentru funcionare normal i n bistabili se ncarc rspunsul prii
combinaionale (ieiri secundare);
3. Se pune T/N pentru test i se citete serial la SO, dup n impulsuri de tact, rspunsul
citit la ieirile secundare. mpreun cu ieirile primare se obine rspunsul prii
combinaionale.

224

n structura BOUNDARY SCAN fiecrui pin de I/O al unui chip i s-a ataat o celul
specializat care separ logica intern de exteriorul chip-ului, figura 9.11.
1. T/N pe poziia normal, D0 identic cu DI i circuitul realizeaz funcia pentru care a
fost proiectat;
2. T/N pe poziia test, bistabilii pot fi ncrcai serial prin intrarea SI i n n/2 impulsuri
de CLK se poate ncrca un vector de test la pinii de intrare, apoi se pot citi
rspunsurile circuitului citind ieirile. Tot pe poziia test, bistabilii pot fi ncrcai
paralel cu vectorul de test prezent la intrare, cu semnalul SHIFT/ LOAD (S/L) pe
poziia LOAD (L). Ieirile pot fi testate deplasnd serial vectorul de intrare la ieiri.

DI SO DO
S/L
T/N SI

DI SI DO
S/L
T/N SO

Logica intern

DI SO DO
S/L
T/N SI

DI SI DO
S/L
T/N SO

DI SO DO
S/L
T/N SI

DI SI DO
S/L
T/N SO

SI

S/L

CLK

T/N

Figura 9.11: Structura BOUNDARY SCAN

Testarea interconexiunilor se poate realiza cu o bucl Boundary Scan pe o plac cu chip-uri


care admit acest mod de test, figura 9.12:
1. Se ncarc paralel n primul circuit (A) un vector de test 010101... ;
2. Se deplaseaz serial vectorul de test de la intrri la ieiri;
3. Se ncarc n circuitul B setul de ieiri din circuitul A .a.m.d. pn datele apar la
ieirea SO a ultimului circuit;
4. Se analizeaz secvena de ieire, de exemplu 2 de 0 alturai arat existena unui defect
de punere la 0 PP0.

225

SI

SO
0

SO

SI

SO

SI

Figura 9.12: Testarea interconexiunilor


Testarea se face pe etape:
1. Testarea conexiunilor
2. Testarea chip-urilor.
Motivul testrii n 2 etape este acela c o conexiune PP0, PP1 sau scurtcircuit ntre 2 trasee
poate avea aceleai manifestri ca un defect intern. Pentru testare se aleg mai multe tipuri de
iruri de date, capabile s pun n eviden defectele logice PP0, PP1 sau scurtcircuite. De
exemplu se poate aplica un ir de 0 i se detecteaz punerile pe 1, apoi un ir de 1 i se
detecteaz punerile pe 0, apoi alternativ 0 i 1 care detecteaz scurtcircuitele.

9.3.JTAG. Standardele IEEE 1149.1, IEEE 1149.4, IEEE1149.6 i IEEE 1532


Grupul de lucru Joint Test Action Group (JTAG) a fost format n 1985 de ctre Harry
Wardrop pentru a dezvolta o metod de testare a plcilor echipate dup ce au fost produse.
Grupul JTAG a realizat primul standard de testare n 1990 (Standardul IEEE 1149.1) n care
se regsete arhitectura SCAN i Boundary Scan. Tot n 1990 Intel a realizat primul procesor
dotat cu JTAG, 80486. n 1994 a fost adugat la standard un supliment care descrie limbajul
BSDL (Boundary Scan Description Language). Curnd JTAG a depit utilizarea la testarea
plcilor i a nceput s fie folosit la accesul modulelor interne ale circuitelor integrate pentru
urmrirea funcionrii lor (debugging). La un circuit cu interfa JTAG funcionarea este
vizibil prin JTAG imediat dup Reset. Un emulator sau interfa JTAG permite accesul la
modulele interne care pot astfel s fie urmrite. Prin JTAG funcionarea unui procesor poate fi
oprit i un program se poate rula pas cu pas sau procesorul ruleaz un program i se introduc
puncte de ntrerupere n program. Exist structuri cu acest mod de testare bine pus la punct
cum sunt microcontrollerele ARM. O alt noutate introdus este posibilitatea programrii
memoriei flash a circuitului prin JTAG.

226

Circuitele cu JTAG cuprind n arhitectura lor un port de testare TAP (Test Access Port) care
permite:
1. Testarea funciilor circuitului;
2. Testarea conexiunilor cu alte circuite;
3. Excluderea circuitului din procesul de testare la nivelul plachetei;
4. Operaii de autotestare executate de circuit (opional).
n schema bloc a unui modul JTAG (figura 9.13) se poate observa structura bazat pe regitrii.
Registre de date de test
Registru BOUNDARY SCAN
TDI

Registru BYPASS

MUX
TDO

Registru IDENTIFICARE
Registru UTILIZATOR

Decodificator
Registru Instruciuni
TMS
TCK
TRS

Controller TAP

TCK- tact de test,


independent de alte tacte
TMS- modul de lucru al
controllerului TAP
TRS- test RESET
TDI- date seriale de intrare
TDO date seriale de ieire

Figura 9.13: Modul JTAG


Regitrii JTAG sunt:
1. Prin registrul BYPASS se exclude chip-ul din procesul de testare;
2. Registrul BOUNDARY SCAN este folosit pentru testarea circuitului i conexiunilor;
3. Registrul UTILIZATOR, liber ca utilizatorul s realizeze operaii de test sau autotest;
4. Registrul IDENTIFICARE permite identificarea circuitului.
5. n registrul INSTRUCIUNI se trimit serial (prin TDI) instruciunile de executat care
pot fi:
BYPASS, chip-ul este exclus din lanul de testare. Logica chip-ului
funcioneaz normal. Datele merg de la TDI spre TDO i poate fi testat
urmtorul circuit din lan;

227

SAMPLE/ PRELOAD, logica chip-ului funcioneaz normal i ieirile pot fi


citite serial prin Boundary Scan. Se poate face astfel o operaie de test
funcional n sistem;
EXTEST, se testeaz conexiunile prin nscrierea registrului Boundary Scan cu
valorile de test, apoi se citesc valorile din alt circuit.

Exist i instruciuni opionale:


HIGHZ- se comand toate ieirile n stare de nalt impedan;
IDCODE- se citete codul de identificare chip.
USERCODE se selecteaz registrul UTILIZATOR (32 de bii).
Observaie: la ultimele 2 instruciuni nu este afectat funcionarea normal simultan a chipului.
Standardul IEEE 1149.4 are scopul de a reduce dificultatea testrii sistemelor care prelucreaz
semnale mixte digitale i analogice. Standardul de testare a circuitelor digitale IEEE 1149.1 se
poate extinde pentru testarea circuitelor analogice. n schema de testare a fost introdus ABM
Analogue Boundary Module i DBM Digital Boundary Module, figura 9.14.
Seciune analogic
Intrri
analogice

Ieiri
analogice

ABM

DAC

ADC

DBM
DBM

DBM
Seciune digital

DBM
Ieiri
digitale

Intrri
digitale
DBM

DBM

TDI
TMS
TCK

TAP 1149.1

Figura 9.14: Structura de testare analogic i digital

228

TDO

Modulele DBM au structura prezentat n figura 9.14. Pentru a se putea testa partea analogic
care a fost separat se introduc modulele ABM care conin convertoare AD i DA de un bit.
Se pot astfel unifica vectorii de test i rspunsul circuitului n forma digital. La prima vedere
pare c se poate testa o valoare analogic prin comparare cu un singur prag (n convertorul
AD de un bit), ceea ce este un nivel srac de informaie. De fapt pragul poate fi programat i
se pot face comparaii succesive cu mai multe nivele, ceea ce mrete precizia testrii dar
prelungete i timpul de testare. Transformarea din digital n analogic i invers are loc n
celula ABM, figura 9.15.
+5V GND VH VL

SDO

ABM

Referin
K1

Magistral intern
analogic de test
Pin extern
de intrare

TBIC Test Bus


Interface Circuit

Circuit
intern

Analog
Test
Access
Port

Figura 9.15: Structura ABM Analogue Boundary Module


Procedura de test:
Se citete semnalul IN, se compar cu valoarea de referin i rezultatul (1 bit) se
trimite pe SDO (CAD de un bit). Astfel s-a msurat intrarea (K1 deschis);
Se nchide K1 i se pot genera spre circuitul intern +5V, GND, VH, VL (pentru un
circuit digital) dar i valori analogice de la TBIC;
Pentru o celul ABM de ieire se schimb pe schema bloc poziia pin extern cu circuit
intern.
Pentru citiri mai exacte a tensiunii de intrare, la referin se pot conecta valori
analogice prin TBIC.
Dezvoltarea n timp a JTAG a dus la necesitatea introducerii a noi standarde [2]. IEEE 1149.6
a fost introdus pentru testarea circuitelor LVDS (Low Voltage Data (Differential) Signal) i a
circuitelor cuplate capacitiv. Testarea se realizeaz cu impulsuri generate cu un bit n BSR
(Boundary Scan Register) i recepionate pe 2 bii (prin recepie diferenial). Acest mod de
testare se mai numete i AC-EXTEST.

229

IEEE 1532 a fost introdus n anul 2000 pentru a standardiza programarea PLD i FPGA,
indiferent de productorul circuitului. Algoritmul care programeaz, terge, citete i verific
circuitul se afl ntr-un fiier BSDL (Boundary Scan Description Language).

9.4.Interfaa JTAG la microcontrollerul Atmega64


La familia ATmega interfaa JTAG poate fi folosit la testarea plcii prin scanare, la
programarea memoriei nevolatile i la debugging.
Funcionarea JTAG este validat de un bit cu nscriere fuzibil (fuse bit JTAGEN) care iniial
este programat pentru validarea JTAG. Pe lng aceast validare este nevoie ca bitul JTD din
MCUCSR (MCU Control and Status Register) s fie setat. Pentru a evita programrile false,
aplicaia trebuie s repete setarea acestui bit, adic s execute de dou ori instruciunea de
scriere a bitului JTD. Dac interfaa JTAG nu este validat atunci pinii au semnificaii de port
paralel de uz general i controllerul TAP este n Reset. Dac se dorete programarea MC prin
JTAG i bitul JTD nu este setat atunci se foreaz linia de Reset n Low dou tacte i bitul
JTD este setat.
TAP (Test Access Port) este un automat cu 16 stri care controleaz funcionarea interfeei
JTAG. Navigarea ntre strile TMS se face cu comenzi pe pinul TMS (comenzi seriale pe 4
bii). ntotdeauna LSB este trimis ca prim bit n cuvintele seriale JTAG.
9.4.1. Programarea memoriei prin JTAG
Programarea memoriei Flash i EEPROM prin JTAG se poate face dup validarea interfeei
JTAG. Fiecare instruciune generat printr-un cuvnt serial de 4 bii trimis pe linia TMS
acioneaz asupra unui registru care devine dup instruciune registru de date. Datele se
introduc n acest registru sau se extrag pe liniile TDI respectiv TDO. Instruciunile care pot fi
trimise serial ctre TAP sunt (valoarea hexa este dat n parantez):
AVR_RESET (CH) se reseteaz MC fr a se reseta controllerul TAP. Reset Register
este selectat ca registru de date i durata reset-ului este dat de valoarea acestui
registru;
PROG_ENABLE (4H) se valideaz scrierea memoriei Flash sau EEPROM prin
JTAG, registrul Programming Enable Register este selectat ca registru de date de 16
bii;
PROG_COMMANDS (5H) registrul Programming Command Register este selectat ca
registru de date de 15 bii;
PROG_PAGELOAD (6H) registrul de 1024 bii Virtual Flash Page Load Register este
selectat ca registru de date, egal cu numrul de bii dintr-o pagin de memorie Flash;
PROG_PAGEREAD (7H) registrul de 1032 bii Virtual Flash Page Read Register este
selectat ca registru de date. n acest registru se citesc cei 1024 bii dintr-o pagin Flash
plus 8 bii.

230

Dup instruciunea PROG_ENABLE pe linia TDI se introduce o secven 1010 0011 0111
0000 (A370H) numit semntura de programare pentru a valida programarea n
Programming Enable Register. Dup terminarea programrii registrul trebuie resetat.
Dup validarea programrii, cu instruciunea PROG_COMMANDS se introduce n registrul
Programming Command Register o comand care realizeaz citirea/ scrierea/ tergerea
memoriei, a biilor fuzibili i a biilor de blocare. Comenzile sunt date n foile de catalog a
MC. De exemplu citirea memoriei Flash se face prin introducerea n ordine pe linia TDI, dup
instruciunea PROG_COMMANDS:
0100011 00000010 pe TDI este comanda de citire Flash;
0000111 aaaaaaaa pe TDI este adresa, octetul superior;
0000011 bbbbbbbb pe TDI este adresa, octetul inferior;
0110010 00000000 pe TDI comanda de citire a locaiei;
0110110 00000000 pe TDO apare octetul inferior n forma xxxxxxxx oooooooo;
0110111 00000000 pe TDO apare octetul superior.
La fel exist secvene pentru citirea /scrierea Flash, citirea/scrierea EEPROM, citirea/scrierea
biilor fuzibili i ai celor de blocare.
9.4.2.Debugging prin JTAG
Debugging-ul prin JTAG se bazeaz pe existena unei ci de scanare ntre CPU i modulele
interne existnd posibilitatea inserrii de maximum 4 Break Point-uri. Ca i instrument
software se poate folosi AVR Studio, modul debug fiind posibil att n limbaj de asamblare
ct i n C. Pentru a lucra n modul debug trebuie ca bitul JTAGEN s fie programat i nici
un bit de blocare s nu fie programat. Orice bit de blocare programat duce la blocarea
sistemului de debug din raiuni de securitate.
n mod debug utilizatorul poate executa un program pas cu pas, poate trece peste anumite
instruciuni, poate executa un program pn la atingerea unei anumite stri, poate opri sau
reseta execuia. Instruciunile JTAG pentru debug (8H, 9H, AH, BH) sunt considerate private
i sunt documentate doar pentru firmele care vnd software pentru Atmel.
Pentru a uura munca de debugging Atmel a creat un emulator n circuit numit JTAGICE
mkII, figura 9.16.
USB
/RS232

JTAG/
debugWIRE

JTAGICE
Placa cu
MC AVR

Figura 9.16: JTAGICE mkII


231

JTAGICE permite accesul la toate resursele microcontrollerelor din familia AVR. Locul
acestui dispozitiv este dat n figura 9.16 dreapta, ntre un PC care ruleaz AVR Studio i placa
pe care este plasat microcontrollerul. Interfaa cu PC-ul poate fi RS232 sau USB. Pentru MC
cu numr mic de pini a fost introdus ca interfa de testare debug/WIRE n care comunicaia
se face pe un singur pin, cel de Reset. JTAGICE poate realiza:
1. Emularea tuturor funciilor analogice i digitale ale MC AVR de la ATmega 16 la
ATmega 6490 prin JTAG i de la Attiny 13 la ATmega 168 prin debug/WIRE. La
apariia unor modele noi de MC, prin descrcarea unei noi variante de AVR Studio
JTAGICE va putea lucra i cu modelele noi;
2. Programarea MC clasic sau prin JTAG;
3. Mod debug n care se pot introduce Break Point-uri, cnd programul ajunge la o
adres sau ntr-o gam de adrese, cnd datele sunt citite/ scrise la o adres sau ntr-un
interval de adrese, la schimbarea fluxului de citire a programului din memoria
program;
4. Monitorizarea tuturor resurselor interne ale MC.
Conectorii de acces pe plac sunt recomandai de Atmel cu configuraia pinilor dat n figura
9.17, acces SPI i debug prin debug/WIRE (stnga) i JTAG (dreapta).

Figura 9.17: conectori recomandai de Atmel


Pentru debug de tip debug/WIRE, bitul care valideaz operarea este neprogramat, ca urmare
este nevoie de programarea lui, ceea ce se realizeaz prin programarea SPI. La conectorul
JTAG semnalul nTRST este un Reset al interfeei JTAG i nu este folosit.

9.4.3.Testarea prin JTAG


Calea de testare Boundary Scan are rolul de a stabili valori logice i de a le citi la pinii de I/O.
Toate circuitele care au interfa JTAG se conecteaz ntr-un lan prin TDI/TDO, testarea
formnd un cuvnt serial lung. Secvena de test este generat de un controller exterior care
apoi citete rezultatul i l compar cu cel ateptat. Se recomand ca MC s fie n Reset pe
timpul testrii, altfel, la ieirea din mod test MC va rmne ntr-o stare nedeterminat. Intrarea
n Reset se poate face comandnd pinul RESET cu un nivel low sau executnd instruciunea
JTAG proprietar AVR_RESET. Dup intrarea n Reset instruciunea JTAG HIGHZ devine
inutil. Pentru a putea lucra n acest mod bitul JTAGEN trebuie s fie programat i bitul JTD
din registrul MCUCSR trebuie s fie 0. De asemenea se recomand ca tactul TCK de test s
fie mai mare dect tactul intern. Instruciunile utilizate pentru testare sunt:
232

EXTEST (0H), instruciunea selecteaz calea de scanare ca registru de date pentru


testarea conexiunilor exterioare. Pentru pinii de I/O se poate realiza invalidarea Pullup, se poate stabili direcia, se poate seta sau reseta un pin;
IDCODE (1H), instruciunea (opional) selecteaz registrul de identificare (ID) de 32
de bii ca registru de date. Registrul ID conine: versiunea MC(4 bii), tipul MC (16
bii, ATmega 64 are 9602H) i fabricantul pe 11 bii (Atmel are 01FH);
SAMPLE_PRELOAD (2H), instruciunea permite inspectarea pinilor de I/O fr a
afecta funcionarea MC i de a prencrca datele de test n latch-ul de ieire, fr a le
transmite la pinii de ieire. Calea de scanare este selectat ca registru de date;
AVR_RESET (CH), MC este forat n Reset, mai puin controllerul TAP.
Instruciunea este folosit i la programare;
BYPASS (FH), se selecteaz registrul Bypass ca registru de date. Cnd este selectat
acest registru ca i cale ntre TDI i TDO se scurteaz calea de scanare, mod utilizat
cnd se testeaz alte circuite JTAG din sistem.

O schem bloc simplificat a unui pin de I/O testabil JTAG (schema complet este dat n
foile de catalog) este dat n figura 9.18.
EXTEST

Spre celula urmtoare


Pullup Enable

Vcc

MUX

Celul n
calea de
scanare
Output Control

MUX

Output Data

MUX

Pin
exterior

Input Data

Semnale De la celula
JTAG
anterioar
Figura 9.18: Schema simplificat a unui pin testabil JTAG
Multiplexoarele comand funcionarea normal sau testarea JTAG. Celula de testare este
conectat n lanul JTAG. Calea de testare la un ATmega 64 are 205 bii i poate fi gsit n
foile de catalog. De exemplu, primii bii din lan sunt alocai portului F astfel:

233

Bit
0
1
2
3
4
4
.....

Pin
PF0
PF0
PF0
PF1
PF1
PF1
.....

Semnificaie
Pullup Enable
Control
Data
Pullup Enable
Control
Data
......

Testarea modulelor de interfa integrate n MC impune nite precauii. Astfel de exemplu la


modulul de interfa serial TWI (Two Wire Interface, compatibil cu I2C), se pot testa n mod
normal cei 2 pini SCL i SDA i este accesibil semnalul de control TWIEN. Acest semnal
este accesibil pentru a dezactiva un bloc din componena interfeei care controleaz viteza de
cretere / descretere a frontului semnalelor. Setarea TWIEN i OC (Output control) poate
duce la rezultate imprevizibile.
O celul special care permite doar observarea este alocat semnalului de Reset. Tactul are de
asemenea celule speciale, doar de observare. MC admite o gam larg de semnale de tact (RC
intern, tact extern, cristal extern, rezonator ceramic) i validarea tactului este realizat cu
celule de testare normale. Comparatorul analogic i convertorul analog digital au celule de
test cu structuri speciale.
Pentru a uura testarea circuitelor, un fiier de stimuli i rspunsuri de referin este n general
disponibil pe site-urile productorilor. Aceste fiiere se numesc fiiere BSDL (Boundary Scan
Description Language).

9.5.Unelte pentru testare JTAG


Testarea plachetelor cu circuite se poate realiza la scar diferit n diferite situaii- pe scar
larg post producie n firmele specializate sau n proiectare unde se testeaz un numr mic de
plci. Din acest motiv echipamentele de testare JTAG sunt foarte diverse. O selecie din
controllerele JTAG de productivitate mic prezentate n [2] este:
Controllere sub forma unor module separate, prevzute cu interfa USB, Ethernet i
FireWire, cu tact TCK pn la 40MHz, figura 9.19 stnga;
Plachete pentru conectarea pe magistrale de tip PXI, PCI sau PCIe, cu tact TCK pn
la 40MHz;
Controllere compatibile DIMM care pot fi introduse n conectori DIMM;
Module de dimensiuni mici i ieftine cu interfa USB, TCK pn la 6MHz, figura
9.19 mijloc;
Montabile n dulapuri standard (Rack Mountable), figura 9.19 dreapta;
Plci cu controller JTAG i spaiu de dezvoltare pentru utilizatori.

234

Toate aceste variante pot avea 1 pn la 4 controllere TAP i pot fi prevzute cu pini de I/O
pentru preluarea semnalelor (de exemplu cel montabil n dulap are 256 pini de I/O).

Figura 9.19: Controllere JTAG- JT 37x7/TSI independent, JT 3705/USB cel mai ieftin, JT
37x7/RMI montabil n dulap standard de 19
n [3] este prezentat un aparat de testare AEROFLEX de mare productivitate, figura 9.20
stnga, prevzut pe lng JTAG cu 2048 de canale de testare prevzute cu pini. n [4], figura
9.20 dreapta este prezentat aparatul Digital Test cu 1400 de canale de testare. Cu aceste
aparate se pot face teste automate la ieirea de pe linia de producie i se pot implementa
strategii de testare. De regul, n activitatea industrial de mare productivitate testarea JTAG
este combinat cu testarea cu pat de ace.

Figura 9.20: Aparatul AEROFLEX 4250 i Digital Test Eagle MTS180


Partea software pentru aplicaiile JTAG poate fi mprit n dou mari clase, cu nenumrate
variante:
Pe staii dedicate, cum este aplicaia AEX (Application Executor) [2], n care sunt
definite nivele de acces. Cel care a proiectat placa i poate defini secvena de test
JTAG i stabilete strategia de testare, n pai dependeni de paii anteriori de testare.
La cel mai jos nivel de acces operatorul poate rula secvena de testare i observ
rezultatele;
n anumite situaii este util ca secvenele de test s fie ncorporate n programele
utilizate i care sunt familiare utilizatorului. Astfel exist secvene realizate n
LABVIEW, pentru C sau pentru Visual Basic. Acest tip de programe se numesc PIP.
Un software important este cel de verificare BSDL (Boundary Scan Description Language),
care verific discrepanele ntre fiierul de verificare BSDL i circuitul de testat, verific
235

erorile de sintax i de semantic. De asemenea se poate crea un fiier BSDL dac exist
circuitul fizic.

Bibliografie
[1] www.polarinstruments.com
[2] www.jtag.com
[3] http://www.aeroflex.com/ats/products/product/ATE/Test_Systems/
[4] http://www.digitaltest.de/digitaltest.php?loadtype=products&lang=en&filename=mts180

236