Sunteți pe pagina 1din 46

1

1. Notiunea de SI. Prezentati diferentele fata de calculatoarele de uz general.


Definiia 1: Un SI este un sistem integrnd hardware i software i proiectat pentru o anumit funcionalitate.
Definiia 2: Un SI este in sistem de calcul cu scop predefinit inclus ntr un dispozitiv pe care l conduce.
Definiia mea: SI constituie un subdomeniu al domeniului ingineriei calculatoarelor, bazat pe circuite logice
programabile de utilizator i orientat pe aplicaii de timp real.
Diferene ale SI fa de calculatoarele de uz general:
-Interfaa cu omul: led uri, LCD uri, comutatoare, minitastaturi;
-Sisteme de intrare/ ieire simple, fr periferie;
-Pot include porturi de diagnosticare;
-Pot include FPGA uri, ASIC uri, circuite analogice;

2. Caracteristici si cerinte ale SI.
Conectare la mediul exterior, monitorizndu l, prin intermediul senzorilor i comandndu l, prin intermediul
actuatorilor. Un actuator poate fi definit ca un dispozitiv care convertete valori numerice n efecte fizice.
Funcionare reactiv: un sistem reactiv este n continu interaciune cu mediul nconjurtor i execut sarcinile
la rata determinat de mediu; un sistem reactiv poate fi gndit ca fiind ntr o anumit stare, ateptnd o intrare;
pentru fiecare intrare execut una sau mai multe operaii i genereaz o ieire; un asemenea sistem poate fi
modelat foarte bine de un automat;
Funcionare n timp real: timpul devine un parametru al execuiei operaiilor; exist constrngeri de timp hard
(produc efecte grave, uneori dezastruoase, la nerespectare) i soft (produc efecte negative la nerespectare);
Eficiena: un SI trebuie s fie eficient; aceasta poate fi evaluat cu urmtoarele metrici:
Consumul de energie: trebuie minimizat, mai ales n cazul SI mobile;
Dimensiunea codului: cod mare memorie de program mare, posibil extern circuite suplimentare
dimensiune mai mare a SI, consum mai mare, fiabilitate mai mic;
Execuie implicnd minim de circuite;
Greutate i dimensiune mici;
Cost redus.
Funcionare n medii grele: cldur excesiv, vibraii, coroziune, fluctuaii ale tensiunii de alimentare;
Dependabilitate: foarte important datorit conexiunii cu mediul exterior; cuprinde urmtoarele aspecte ale unui
sistem:
Fiabilitate: probabilitatea ca un sistem s nu se defecteze;
Mentenabilitate: probabilitatea ca o defeciune s poat fi reparat ntr un timp anumit;
Siguran: probabilitatea ca o defeciune s nu cauzeze efecte catastrofale;
Disponibilitate: probabilitatea ca un sistem s fie disponibil.

3. Directii in studiul SI.
Hardware i circuite de baz (microcontrolere, DSP uri);
Limbaje de programare;
Sisteme de operare;
Reele de SI;
Modelare, simulare i validare;
Aplicaii

2

4. Directii in studiul SI.Legtura sisteme ncorporate Ubiquitous and Pervasive
Computing
Primul val n domeniul calculatoarelor: calculatoarele mari, 1 calculator - mai muli oameni;
Al 2 lea val: PC urile, 1 calculator 1 om;
Al 3 lea val (post PC era): ubiquitous and pervasive computing, mai multe calculatoare 1 om.
Ubiquitous computing (ubicomp) i pervasive computing (UPC):
Formulate n perioada 2001 - 2003;
Este un nou model de calcul, post desktop, n care sistemele de calcul se afl n jurul omului, fiind oricnd pregtite s
proceseze informaia;
Spre deosebire de modelul desktop n care un utilizator folosea un sistem de calcul pentru a realiza o sarcin, n UPC
omul determin procesarea informaiei de ctre mai multe sisteme, n activitatea sa curent, fr a fi necesar s fie
contient de acest lucru;
Se bazeaz pe sisteme de calcul de dimensiuni mici, de multe ori nesesizate de om, cu anume sarcini, care comunic ntre
ele i, eventual, cu un sistem central; se bazeaz pe SI;

5. Structura unui SI.
Unitatea central: pentru a decide dac un procesor este potrivit pentru un SI trebuiesc luate n considerare cteva
trsturi:
o Numrul pinilor de I/ E: numrul pinilor de I/ E tebuie comparat cu cel al liniilor care trebuiesc
monitorizate/ comandate; unii pini de I/ E pot fi multiplexai;
o Numrul interfeelor;
o Cerinele de memorie;
o Numrul liniilor de ntrerupere;
o Faciliti de timp real: registre de captare/ comparare, PWM etc.; acestea pot fi realizate i fr faciliti
specifice dar cu preul timpului;
o Viteza: nu este dat ntotdeauna doar de frecvena tactului, trebuie cunoscut i structura intern: de ex.
un microcontroler Atmel la 8 MHz este mai rapid dect un microcontroler PIC la 20 MHz;
o Setul de instruciuni: RISC sau CISC; subsetul de instruciuni de decizie i la nivel de bit are importan
deosebit;
o Instrumente de dezvoltare: decisive n testare i depanare; costul lor trebuie luat n considerare.
Memoria
o Situaia ideal: atunci cnd memoria intern, de date i de program, este suficient;
o n caz contrar, este necesar memoria extern;
o Capacitatea de memorie gestionat de un microcontroler este mai mic dect cea gestionat de un
microprocesor, fiind n domeniul nx10 octei nx10 Mo, aplicaiile de timp real nu cer, n general, mult
memorie.
Intrri/ ieiri specifice:
o Microcontrolerele includ interfee i module periferice ca urmare ele nu mai apar de sine stttoare n
SI;
o SI nu au periferice: harddisk uri, monitoare, imprimante, mouse etc.
o Intrrile/ ieirile SI sunt specifice:
Citesc informaia de la senzori analogici sau digitali,
Primesc comenzi din exterior, fie pe linii digitale fie de la comutatoare, minitastaturi,
Afieaz informaia pe led uri, LCD uri, afiaje cu 7 segmente,
Comand actuatori.
3

o SI pot comunica pe linii seriale, cu sau fr fir, cu alte SI sau calculatoare de uz general;
o Pot dispune de port serial pentru programare n sistem;
o Pot dispune de port pentru depanare n sistem.
Software de baz:
o Const n sisteme de operare n timp real (RTOS), necesar pentru SI complexe, de exemplu cele
distribuite;
o Exemple de RTOS: NetBSD, eCOS, Windows CE, OSEK etc.
o SI simple, de exemplu majoritatea din aplicaiile domestice, nu necesit software de baz.
Software aplicativ:
o Implementeaz funcionalitatea cerut;
o Necesit limbajul de programare i mediul de programare; mediul de programare ruleaz pe un PC;
o Asigur operaii ca: monitorizare, procesare, comand i control.

6. Structura interna 8051.























7.Organizarea memoriei interne la 8051. Avantaje.
16 linii de adrese dar poate gestiona 128 Ko;
Distinge ntre spaiul de memorie de program i cel de memorie de date, activnd semnale de comand diferite:
/PSEN pentru memoria de program i
/RD, /WR pentru memoria de date.
Primii 4 Ko din memoria de program sunt interni; accesul la ei se face cu terminalul /EA = 1;

Sistem de
ntreruperi
ntreruperi externe
CPU
Generator
de tact
Logic de
control a
magistralei

Porturi de I/E
Port
serial
Contor
0
Contor
1
1280
RAM
4 ko
ROM
Registre cu
funciuni
speciale
P0 P1 P2 P3 TxD RxD T0 T1
4

Dac terminalul /EA = 0 sau dac accesul se face la o locaie cu adresa peste 0FFFH, va fi adresat memoria extern de
program;
Locaii cu funciuni predeterminate din memoria de program:
0000H pentru RESET,
Acceptarea unei cereri de ntrerupere: 0003H pentru INT0, 000BH pentru T0, 0013H pentru INT1, 001BH pentru T1 i
0023H pentru interfaa serial.
Memoria de date: intern i extern.
Memoria de date intern:
128 octei, ocup zona 0000 007FH;
Structura memoriei:
00H 07H: bloc 0,
08H 0FH: bloc 1,
10H 17H: bloc 2,
18H 1FH: bloc 3,
10H 2FH: Bit RAM,
30H 7FH: Data RAM.
Zona 00 - 1FH este divizat n 4 blocuri de cte 8 octei, notate cu Blocul 0 3;
Exist un grup de registre, R0-7 care se suprapune, la un moment dat, peste un singur bloc din cele 4;
Blocul care se suprapune peste registrele R0-7 este selectat de programator prin intermediul rangurilor RS1 i RS0 din
registrul de stare al programului, PSW ("Program Status Word");

8. Ce se intelege prin Registre cu functiuni speciale? 2 exemple la 8051.
Microcontrolerul 80C51 conine un grup de registre interne, cu funciuni speciale, SFR (Special Function Registers);
Exist cteva tipuri de registre i anume:
-registre de uz general,
-registre care corespund porturilor,
-registre pentru comanda modulelor periferice i
-registre pentru transferul datelor cu modulele periferice.
Registrele cu funciuni speciale sunt adresabile n mod direct, adresele lor se afl n zona 80H FFH;
Registrele ale cror adrese se termin n 0 sau 8 pot fi adresate i la nivel de bit.
Tabelul urmtor prezint registrele i adresele lor.
ACC: este registrul acumulator; n cadrul instruciunilor este denumit A.
B: este un registru cu rol predeterminat n instruciunile de nmulire i mprire; pentru celelalte instruciuni, poate fi
utilizat ca registru general.
SP ("Stack Pointer"): este indicatorul de stiv; este incrementat naintea unei depuneri n stiv prin intermediul
instruciunilor CALL sau PUSH; dup iniializare este ncrcat cu valoarea 07H deci stiva ncepe de la adresa 08H; poate
fi ncrcat, prin program, cu orice valoare.
PSW ("Program Status Word"): este registrul de stare al programului. Conine indicatorii de condiii; rangurile PSW.4 i
PSW.3 denumite i RS1, respectiv RS0 permit selectarea blocului 0 3 din memoria intern RAM care se suprapune peste
grupul R0 7.

5

9. Modurile de lucru ale contorului 8051.
Exist 4 moduri de lucru pentru TIMER 0 i 1, selectabile prin rangurile corespunztoare M1 i M0.
Modul 0:
TIMER 0 i 1 sunt configurate ca numrtoare pe 13 bii; TL0 i TL1 sunt numrtoare alctuite din 5
ranguri, cele mai puin semnificative iar TH0 i TH1 sunt numrtoare pe 8 bii; indicatorii de depire
TF0 i TF1 sunt poziionai atunci cnd numrtorul corespunztor conine valoarea maxim i este
incrementat, anulndu-se astfel coninutul su;
Semnalul care apare la ieirea de depire a lui TIMER 1 este surs pentru tactul serial.








Modul 1:
Este identic cu modul 0, cu excepia faptului c numrtoarele sunt pe 16 bii.









Modul 2:
TIMER 0 i 1 sunt configurate ca numrtoare pe 8 bii cu auto-ncrcare;
TL0 i TL1 sunt folosite ca numrtoare iar TH0 i TH1 sunt folosite ca registre pentru pstrarea
constantei care se va ncrca;
Semnalul de depire generat de TL0 sau TL1 va provoca prencrcarea acestora i numrarea va
continua de la aceast valoare;
TH0 i TH1 sunt ncrcate prin program; indicatorii TF0 i TF1 sunt poziionai de semnalele de depire
de la numrtoarele TL0, respectiv TL1;
Semnalul de depire generat de numrtorul TL1 este surs pentru tactul serial;
Figura urmtoare prezint pe TIMER 0 i 1 n modul 2:









CLOCK
TF0
TL0
5 bii
TH0
8 bii
CLOCK
TF1
TL1
5 bii
TH1
8 bii
Tact serial

CLOCK
TF0
TL0
8 bii
TH0
8 bii
CLOCK
TF1
TL1
8 bii
TH1
8 bii
Tact serial
6



















Modul 3:
Modul poate fi cerut doar pentru TIMER 0; dac i se cere lui TIMER 1, acesta nu va numra (se obine
acelai efect ca i cnd TR1 = 0);
TIMER 0 n modul 3 lucreaz ca dou numrtoare independente pe 8 bii; TL0 folosete rangurile de
control ale lui TIMER 0, adic C/ /T, GATE, TR0 i /INT0 i comand pe TF0 iar TH0 folosete pe TR1
i comand pe TF1;
Modul este util n aplicaii n care se cere un numrtor suplimentar; TIMER 0 furnizeaz 2 contoare pe 8
bii iar TIMER 1 poate fi folosit n modurile 0, 1 sau 2 fr a putea, ns, s poziioneze pe TF1 deci nu va
putea s genereze cerere de ntrerupere.







10. Modurile de lucru ale interfetei seriale 8051
Interfaa serie poate lucra n modurile:
I/ E (intrare/ ieire) extins sau
UART;
n modul I/ E extins, transferul se face sincron cu tactul microcontrolerului;
n modul UART se pot transfera caractere pe 10 sau 11 bii; caracterul pe 11 bii este alctuit dintr-un bit
de START, 8 bii de date, un al 9-lea bit programabil i bitul de STOP;
Modul 0:
Este modul numit i I/ E extins n care se transfer date pe 8 bii, sincronizate cu tactul
microcontrolerului;
Terminalul TxD este folosit doar pentru a genera tactul iar terminalul RxD este folosit pentru a transfera
date n ambele sensuri;

CLOCK TL0
TF0
TH0
CLOCK TL1
TF1
TH1
Tact serial

TR1
f
OSC
/ 12
TH0
TF1
TL0 TF0 CLOCK
7

Rata de transfer este: R = f OSC/ 12.
Modul 1:
Este un mod UART n care se transfer caractere pe 10 bii: 1 bit de START, 8 bii de date, primul fiind
cel mai puin semnificativ i 1 bit de STOP;
La recepie, bitul de STOP se ncarc n RB8;
Rata de transfer este determinat de frecvena semnalului de la ieirea de depire a lui TIMER 1, fTIM;
Dac TIMER 1 lucreaz n modul 0 sau 1 atunci rata de transfer este:
R = 2SMOD x fTIM/ 32;
Dac TIMER 1 lucreaz n modul 2 atunci rata de transfer este:
R = 2SMOD x fosc/ 32 x 12 x (256 - (TH1)),
(TH1) este constanta de prencrcare;
TIMER 1 poate lucra ca i contor sau ca temporizator i este necesar dezactivarea ntreruperii generat
de TF1;
Transmisia se realizeaz pe terminalul TxD i este anclanat de o scriere n tamponul SBUF iar recepia
se realizeaz pe terminalul RxD i este anclanat la apariia bitului de START;
Data se preia din tamponul SBUF;
ncrcarea datei n SBUF, a bitului de STOP n RB8 i activarea indicatorului RI se realizeaz doar dac
n momentul respectiv sunt ndeplinite condiiile:
RI = 0 i
SM2 = 0 sau SM2 = 1 i bitul STOP = 1.
Dac vreuna din aceste condiii nu este ndeplinit atunci data este ignorat i SBUF, RB8 i RI rmn
nemodificate
Modul 2
Mod UART cu 11 bii/ caracter: 1 bit de START, 8 bii de date, 1 bit programabil i 1 bit de STOP;
La transmisie, bitul al 9-lea este TB8 i poate fi programat iar la recepie, bitul al 9-lea este ncrcat n
RB8;
Rata de transfer este:
R = 2SMOD x fOSC/ 64;
Transmisia: bit de START, 8 bii de date, bit 9 (TB8, care poate fi bitul de paritate dac n prealabil acesta
a fost ncrcat n TB8), bit de STOP i activare a indicatorului TI;
La recepie, dup preluarea bitului de START i a biilor de date, este preluat al 9-lea bit, care se ncarc
n RB8, apoi este preluat bitul de STOP i se activeaz indicatorul RI; preluarea datei, ncrcarea celui de-
al 9-lea bit n RB8 i activarea indicatorului RI au loc dac sunt ndeplinite, la momentul respectiv,
condiiile:
RI = 0 i
SM2 = 0 sau SM2 = 1 i bitul al 9-lea = 1;
Dac vreuna din aceste condiii nu este ndeplinit atunci data este ignorat i SBUF, RB8 i RI rmn
nemodificate.
Modul 3
Mod UART cu 11 bii/ caracter care difer de modul 2 doar prin rata de transfer care aici depinde de
fTIM; astfel:
R = 2SMOD x fTIM/ 32 dac TIMER 1 lucreaz n modul 0 sau 1 i
R = 2SMOD x fosc/ 32 x 12 x (256 - (TH1)) dac TIMER 1 lucreaz n modul 2.
Ratele de transfer uzuale i obinerea lor din TIMER 1:
8


11. Descriei funcionarea sistemului multimicrocontroler bazat pe interfaa serial a
microcontrolerului 8051.
Facilitatea de comunicare n sistem multiprocesor: se bazeaz pe existena celui de-al 9-lea bit de date n modurile 2 sau 3;
Dac rangul SM2 = 1 i bitul al 9-lea este 1 atunci data este preluat iar dac bitul al 9-lea este 0 atunci data este neglijat;
Fie un sistem multiprocesor, cu un microcontroler master i mai multe microcontrolere slave;
Datele vor fi transmise doar de la master la slave.







n faza iniial, toate microcontrolerele slave au SM2 = 1 i ateapt s fie selectate;
Microcontrolerul master emite adresa microcontrolerului slave selectat; adresa difer de date prin aceea c are rangul al 9-
lea, TB8, egal cu 1;
Toate microcontrolerele slave vor prelua adresa, i vor genera ntreruperi i n rutinele de tratare vor verifica propria
adres cu cea sosit de la microcontrolerul master;
Microcontrolerul slave selectat va modifica SM2 deci doar la acesta va exista SM2 = 0 iar la toate celelalte
microcontrolere slave va exista SM2 = 1. n continuare, microcontrolerul master emite datele, cu TB8 = 0;
Doar acel microcontroler slave care va avea SM2 = 0 va prelua datele iar toate celelalte microcontrolere slave le vor
ignora ntruct la acestea SM2 = 1.
Dup ce microcontrolerul master a emis toate datele, el va emite un cod de final, predeterminat, care va avea ca efect
setarea lui SM2 de ctre microcontrolerul slave care a fost selectat; n acest fel s-a revenit n starea iniial n care toate
microcontrolerele slave au SM2 = 1 i ateapt s fie selectate.

12. Sistemul de intreruperi al 8051.
5 surse pentru ntreruperi:
a) 2 ntreruperi externe generate la intrrile /INT0 i /INT1 i
b) 3 ntreruperi interne: 2 de la circuitele contoare/ temporizatoare i una de la ntreruperea serial.

TxD
80C51
MASTER
RxD
80C51
SLAVE
RxD
80C51
SLAVE
RxD
80C51
SLAVE
. . .
. . .
9

Cererile de ntrerupere seteaz indicatori care sunt ranguri din registrele TCON i SCON i care genereaz, de
fapt, ntreruperile;
Astfel ntreruperile externe seteaz indicatorii IE0 (TCON.1) i IE1 (TCON.3), ntreruperile de la contoare
seteaz rangurile TF0 (TCON.5) i TF1 (TCON.7) iar ntreruperea serial seteaz fie rangul RI (SCON.0) fie
rangul TI (SCON.1);
RI i TI sunt intrri ntr-o poart SAU a crei ieire este cererea de ntrerupere de la interfaa serial; pot fi
controlai i prin program.
Dac se ncarc 1 n unul din aceti indicatori, efectul va fi acelai ca i cel produs de cererea corespunztoare
hardware.
Dac exist o cerere hardware n ateptare, care nu a fost nc tratat, ea poate fi anulat prin tergerea
indicatorului corespunztor.
ntreruperile sunt controlate de 2 registre:
IE ("Interrupt Register") i
IP ("Priority Register");
Rolul registrului IE este acela de a valida/ invalida ntreruperile; pentru a valida o ntrerupere, bitul corespunztor
trebuie s fie 1 iar pentru a o dezactiva, bitul corespunztor trebuie s fie 0; n plus, exist un rang pentru
dezactivarea general a ntreruperilor;
Rolul registrului IP este acela de a aloca prioriti;
Exist 2 nivele de prioritate: sczut i ridicat; fiecrei surse i se poate aloca , n mod independent, oricare nivel de
prioritate;
Fiecrei ntreruperi i corespunde un rang: 1 n rangul respectiv nseamn prioritate ridicat iar 0 n rangul
respectiv nseamn prioritate sczut;
Dac apar simultan 2 cereri de ntrerupere, de prioriti diferite, va fi tratat cererea de prioritate mare;
Dac apar simultan 2 sau mai multe cereri de aceeai prioritate, microcontrolerul le va lua n considerare ntr-o
ordine prestabilit care este: IE0, TF0, IE1, TF1 i, ultima, RI + TI;
Rutina de tratare a unei ntreruperi de prioritate sczut poate fi ntrerupt de o cerere de prioritate ridicat dar nu
i invers; rutina de tratare a unei ntreruperi nu poate fi ntrerupt de o cerere de aceeai prioritate.
Structura registrului IE:
7 0
EA - - ES ET1 EX1 ET0 EX0
IE.0: EX0: bit de control pentru ntreruperea extern 0.
IE.1: ET0: bit de control pentru contorul/ temporizatorul 0.
IE.2: EX1: bit de control pentru ntreruperea extern 1.
IE.3: ET1: bit de control pentru contorul/ temporizatorul 1.
IE.4: ES: bit de control pentru ntreruperea serial.
IE.7: EA: bit de control general: dac este 0 atunci o ntrerupere nu poate fi tratat; dac este 1, o ntrerupere
poate fi tratat dac bitul de control corespunztor este 1.
Structura registrului IP:
7 0
- - - PS PT1 PX1 PT0 PX0

IP.0: PX0: rang de prioritate pentru ntreruperea extern 0.
IP.1: PT0: rang de prioritate pentru ntreruperea de la contorul/ temporizatorul 0.
IP.2: PX1: rang de prioritate prntru ntreruperea extern 1.
10

IP.3: PT1: rang de prioritate pentru ntreruperea de la contorul/ temporizatorul 1.
IP.4: PS: rang de prioritate pentru ntreruperea serial.
ntreruperile sunt citite n timpul lui S5P2 al fiecrui ciclu main;
Apoi are loc o testare a ceea ce s-a citit n timpul urmtorului ciclu main;
Dac vreunul din indicatorii de ntrerupere a fost gsit activ i dac ntreruperea respectiv este validat atunci
sistemul de ntreruperi va genera o instruciune LCALL ("Long CALL") ADR, unde ADR depinde de tipul
ntreruperii, conform tab.:
ntreruperile sunt citite n timpul lui S5P2 al fiecrui ciclu main;
Apoi are loc o testare a ceea ce s-a citit n timpul urmtorului ciclu main;
Dac vreunul din indicatorii de ntrerupere a fost gsit activ i dac ntreruperea respectiv este validat atunci
sistemul de ntreruperi va genera o instruciune LCALL ("Long CALL") ADR, unde ADR depinde de tipul
ntreruperii, conform tab.:

Tip de ntrerupere Adres
IE0 0003H
TF0 000BH
IE1 0013H
TF1 001BH
RI + TI 0023H
Instruciunea LCALL nu se va genera n una din urmtoarele situaii:
1. o ntrerupere de prioritate egal sau mai mare este deja n tratare;
2. ciclul curent de testare nu este ultimul ciclu al instruciunii curente sau
3. instruciunea curent este RETI sau o instruciune ce scrie n registrele IE sau IP.
Condiia 2. asigur luarea n considerare a unei cereri de ntrerupere doar la sfiritul unei instruciuni iar condiia
3. asigur luarea n considerare a unei cereri de ntrerupere doar dup ce se execut nc o instruciune dup RETI
sau dup cea care scrie n registrele IE sau IP;
Dac exist o singur surs de ntrerupere atunci timpul de rspuns este ntre 3 i 8 cicluri main.
Instruciunea LCALL va depune coninutul lui PC n stiv i va ncrca PC cu adresa de salt;
n unele cazuri, are loc tergerea, prin hardware, a indicatorului ce corespunde ntreruperii tratate: indicatorii TF0,
TF1 i IE0, IE1 dar numai dac ntreruperea extern este activ pe front;
Indicatorul ce corespunde ntreruperii seriale trebuie sa fie ters doar prin program.
Execuia rutinei de tratare a cererii de ntrerupere se ncheie la ntlnirea instruciunii RETI; ncarc n PC adresa
de revenire i iniializeaz sistemul de ntreruperi; rutina se poate ncheia i cu instruciunea RET dar nu se va
iniializa sistemul de ntreruperi;
ntreruperile externe pot fi programate, prin rangurile IT0, respectiv IT1 din registrul TCON, s fie active pe nivel
sau pe front;
O tranziie 1 0 pe una din intrrile /INT0 sau /INT1 va poziiona indicatorul IE0 sau IE1, dac ntreruperea este
validat i dac cererea are o durat minim de 12 perioade de tact pe nivel 1 i 12 perioade de tact pe nivel 0;
Aceast condiie rezult din faptul c terminalele /INT0 i /INT1 sunt citite doar o singur dat n fiecare ciclu
main;
11

Dac cererea extern este activ pe nivel, ea trebuie s rmn activ pn la nceperea execuiei rutinei de tratare,
dup care trebuie dezactivat nainte de ncheierea rutinei pentru a evita o nou tratare a ei.

13. Modurile de lucru cu consum redus ale 8051.
2 moduri: Idle i Power Down;
Utile n aplicaii n care consumul este un factor critic;
Instalarea lor se face prin program, acionnd asupra a cte unui rang din registrul PCON ("Power Control
Register"):
7 0



PCON.0: IDL: 1 n acest rang instaleaz modul Idle.
PCON.1: PD: 1 n acest rang instaleaz modul Power - Down.
PCON.2, 3: GF0, GF1: ranguri pentru uz general.
PCON.7: SMOD: utilizat la interfaa serial.
Modul Idle:
Microcontrolerul intr n acest mod dup activarea, de ctre o instruciune, a rangului IDL;
Oscilatorul, interfaa serial, contoarele/ temporizatoarele i sistemul de ntreruperi continu s
funcioneze dar tactul nu mai ajunge la CPU. ntregul CPU i pstreaz starea;
Ieirea: prin ntrerupere validat sau RST;
Modul Power Down:
Este instalat de o instruciune ce activeaz rangul PD;
Oscilatorul se oprete, ca urmare starea ntregului microcontroler rmne nemodificat (microcontrolerul
"nghea");
Singura ieire din acest mod este prin activarea intrrii RST;
n acest mod Vcc poate fi redus la 2 V; trebuie ns avut grij ca reducerea s se fac dup ce
microcontrolerul a intrat n modul Power - Down iar activarea lui RST care provoac ieirea din modul
Power - Down s se fac dup ce Vcc a revenit la valoarea de lucru.

14. Porturile 8051.
Este resursa direct utilizat n aplicaiile de timp real, de monitorizare, comand i control;
Microcontrolerul 8051 dispune de 4 porturi bidirectionale, pe 8 bii, notate cu P0, P1, P2 i P3;
Fiecare port are un circuit de intrare, un registru intern notat tot cu P0, P1, P2 respectiv P3 i un etaj de ieire;
Porturile sunt de uz general, fiecare rang poate fi programat independent ca intrare sau ieire i, n plus, porturile
P0, P2 i P3 au i funciuni alternative;
Astfel n ciclurile n care se face acces la memoria extern, liniile portului P0 constituie o magistral multiplexat
de adrese/ date, AD0 - 7, ntre jumtatea mai puin semnificativ din magistrala de adrese i cea de date iar liniile
portului P2 vor transfera jumtatea mai semnificativ a magistralei de adrese;
Atunci cnd se aduce un cod de instruciune din memoria de program extern, liniile porturilor P0 i P2 vor fi
comandate de PC iar atunci cnd se transfer o dat cu memoria de date extern liniile porturilor P0 i P2 vor fi
comandate de registrul DPTR;
Dac adresa datei externe este pe 8 bii, atunci adresa se obine pe liniile portului P0 care va fi comandat de registrul
R0 sau R1;
Rangurile portului P3 au funciuni specifice individuale conform tab.:
SMOD - - - GF1 GF0 PD IDL
12

Rang Funcia specific
P3.0 RxD: intrare serial
P3.1 TxD: ieire serial
P3.2 /INT0: ntrerupere extern 0
P3.3 /INT1: ntrerupere extern 1
P3.4 T0: intrare de numrare pentru contorul 0
P3.5 T1: intrare de numrare pentru contorul 1
P3.6 /WR: semnal de comand pentru scrierea n memoria de date
extern
P3.7 /RD: semnal de comand pentru citirea din memoria de date
extern

15. Ce se intelege prin facilitatea de captare/comparare? Dati un exemplu.
Microcontrolerele includ periferie intern i aceast caracteristic, mpreun cu memoria intern, le confer denumirea
de microcalculatoare pe un singur cip. Exist periferie tip coninut de majoritatea microcontrolerelor. Astfel, toate
conin contoare/ temporizatoare. Acestea pot fie s numere evenimente externe fie s msoare timpul. Unele
microcontrolere conin un contor de tip Watchdog care poate s scoat microcontrolerul din zone de program n care
acesta a intrat n mod accidental i din care nu poate iei altfel. Unele microcontrolere conin contoare cu facilitile de
captare i comparare. Facilitatea de captare permite captarea coninutului contorului i memorarea sa ntr un registru
intern, la comanda unui semnal extern. Facilitatea este util la msurarea cu exactitate a timpului, a duratei i perioadei
unor semnale etc. Facilitatea de comparare permite modificarea unor ieiri ale microcontrolerului atunci cnd contorul a
ajuns la o valoare preprogramat. n funcie de modul de lucru ales, modificarea ieirii se poate face n mai multe feluri.
Facilitatea este util pentru luarea de decizii, generarea de comenzi externe etc

16. Ce se intelege prin PWM? Dati un exemplu de pwm.
Genereaz ieiri modulate n durat;
Facilitate util pentru comanda motoarelor de curent continuu;
Implementat cu un contor/ temporizator pe 32 bii cu un divizor intern de 32 bii;
Facilitatea PWM poate fi dezactivat;
Perioada i durata pot fi programate;
Se poate genera cerere de ntrerupere la generarea duratei prescrise;
Facilitate de control individual al fronturilor ridictor i cobortor; util pentru comanda motoarelor de curent
continuu multi faz care cer 3 impulsuri cu posibilitate de poziionare distinct a fronturilor ridictor i cobortor
ale fiecruia;

Posibilitate de a genera:
1. Ieire activ la 1 la fiecare nceput de ciclu;
2. Ieire activ la 1 sau la 0 n timpul ciclului;
13

Registre care stabilesc durata semnalului activ i poziia sa;
Un exemplu de modul PWM:


17. Desenati nucleul arhitecturii HCS12.

Magistral intern
Divizor de
prescalare
fOSC / 2
Numrtor
Comparator
PWM0
Separator
PWM0
Comparator
PWM1
Separator
PWM1
14

Este o arhitectur a microcontrolerelor Motorola pe 16 bii;
Exemplu: MC9S12DJ256;
Include unitate central de tip HCS 12, compatibil cu HC 12 i 11;
Include interfa pentru magistral extern multiplexat, modul de breackpoint, modul pentru depanare;
Include modul de tact complex: oscilator cu consum mic, PLL, monitor de tact, COP watchdog;
Porturi pe 8 i 4 bii, cu faciliti de ntrerupere;
Contor pe 16 bii cu 8 canale de captare/ comparare; contor acumulator (2 pe 8 bii sau 1 pe 16 bii);
8 canale PWM;
2 interfee seriale asincrone i 3 interfee seriale sincrone;


18. Descrieti, pe scurt, modurile de operare ale uc HCS12.
Moduri de operare: sunt stabilite la frontul ridictor al lui /RESET care va nscrie valorile de pe liniile BKGD,
PE6 i PE5 n rangurile MODC, MODB i MODA; porturile A i B au ca funciuni alternative magistralele de
adrese/ date;
Special Single Chip Mode: nu folosete magistrale externe;
Emulation Extended Narrow Mode: folosete magistral extern de date pe 8 bii; pentru sisteme mai
ieftine;
Emulation Expanded Wide Mode: magistrale externe de 16 bii;
Normal Single Chip Mode: fr magistrale externe;
Normal Expanded Narrow Mode: magistral extern de date de 8 bii pentru sisteme mai puin
performante;
Normal Expanded Wide Mode: magistral extern de date de 16 bii; ranguri ale portului E sunt
configurate ca semnale de comand;
Special Test Mode: mod de test care permite vizualizarea unor semnale de comand interne;
Peripheral Mode: mod de testare, accesibil doar de productor; este un mod special; ieirea din el se face
modificnd valorile pinilor BKGD, PE6 i PE% i activnd semnalul /RESET; direcia magistralelor de
date i adrese este spre circuit iar sistemul extern, de testare, este cel ce genereaz semnalele de comand,
plaseaz informaia pe magistrale i iniiaz toate ciclurile;
Vizibilitate intern este permis i n modurile Expanded Wide i Emulation Narrow; este asigurat prin
setarea rangului IVID din registrul MODE; nu este permis n modurile Single Chip, Peripheral i Normal
Expanded Narrow;

19. Descrieti modulul de Breakpoint din uc HCS12.
a. Asigur, prin hardware, puncte de breakpoint, comparnd valori curente de adrese i date cu coninuturile unor
registre interne;
b. n caz de egalitate CPU este plasat n modul BDM (Background Debug Mode) sau se genereaz o ntrerupere
software (SWI);
c. 2 moduri de operare:
i. Dual Address Mode: o potrivire cu una din 2 adrese va trece CPU n modul BDM sau va genera SWI;
ii. Full Breakpoint Mode: o potrivire cu adresa i data va trece CPU n modul BDM sau va genera SWI;
d. 2 tipuri de breakpoint: forced i tagged; primul asigur reacie dup execuia instruciunii de la adresa specificat
iar al doilea asigur reacie nainte de execuia instruciunii de la adresa specificat;
15

e. Oprirea se poate realiza pe o adres, pe o adres multiplu de 256 sau pe o adres multiplu de 16 K;
f. Oprirea se poate realiza pe o dat de 8 sau 16 bii, pe octet superior sau inferior, la citire sau scriere;
g. Blocul este controlat prin SFR, de ex. Breakpoint Control Register 0:

16


20. Memoria interna flash a uc HCS12.
a. Capacitate de 256 Ko, organizat ca 4 blocuri de cte 64 Ko;
b. Fiecare bloc poate fi ters, programat sau citit;
c. Tensiunea mare necesar tergerii este generat intern;
d. Facilitate de generare de ntrerupere la ncheierea comenzii sau la golirea tamponului de date;
e. Memoria este securizat;
17

f. Controlat de mai multe SFR uri; ex.: FCMD (Flash Command Register):


21. Convertorul analog digital al uc HCS12.
a. 8 canale de intrare,
b. Rezoluie de 8/ 10 bii;
c. Timp de eantionare programabil;
d. Anclanare extern i prin program; anclanarea extern poate fi activat de front (cresctor sau
descresctor sau de nivel, low sau high); anclanarea extern poate fi invalidat;
e. Generare de ntrerupere la ncheierea conversiei;
f. Conversie singular sau multipl, pe unul sau mai multe canale; numrul de conversii poate fi programat
ntre 1 i 8;
g. Moduri de operare:
i. Stop: sistemul se oprete, orice conversie este abandonat;
ii. Wait: conversia se oprete sau este continuat n funcie de starea unui rang din un SFR;
iii. Freeze: convertorul va continua conversia, va termina conversia nceput dup care se va opri sau
se va opri imediat, n funcie de starea a 2 ranguri din un SFR;

22. Modulul contor/temporizator al uc HCS12.
a. Circuitul de baz este un contor pe 16 bii, programabil; tactul trece printrun divizor cu prescalare;
b. 8 canale de captare/ comparare;
c. 4 Pulse Accumulators pe cte 8 bii configurabili i ca 2 Pulse Accumulators pe cte 16 bii;
d. Funcionarea este controlat de SFR uri; ex.: TIOS (Timer Input Capture/ Output Compare Select
Register)
18


23. Interfata SCI al HCS12.
a. Operare full duplex;
b. Format pe 8 sau 9 bii, plus biii de cadrare i bitul de paritate;
c. Transmitorul i receptorul pot fi validai separat;
d. Generare de ntrerupere la: transmitere ncheiat, preluare caracter, eroare de ritm, de cadrare, de paritate,
zgomote;
e. Formatul datelor:

Schema bloc
19


24. Interfata I2C al HCS12.
1. Interfa serial sincron, multimaster;
2. Rata de transfer 100 kbps;
3. 2 linii: SDA i SCL; numrul de terminale care se leag la linii este limitat doar de valoarea maxim a capacitii
liniilor (400 pF);
4. 256 valori pentru frecvena tactului;
5. Posibilitate de a genera cerere de ntrerupere la transferul fiecrui octet de date;
6. Schema bloc:

20

25. Modurile MSCAN ale HCS12.
Compatibil cu protocolul CAN 2.0 A i B;
Comunicri seriale n industria automotive, respectnd cerine specifice: procesare n timp real, operare sigur n
mediu cu radiaii electromagnetice, lime de band suficient, cost sczut;
Rat de transfer programabil, pn la 1 Mbps;
Filtru intern pentru diferite configuraii;
Mod loop back pentru autotestare;
Organizarea registrelor:


21

Schema Bloc


26. Modurile PWM ale HCS12.
a. 8 canale independente, cu posibilitatea de a programa perioada i durata; factorul de umplere poate fi
programat n domeniul 0 100%;
b. Numrtor distinct, pe 8 bii, pentru fiecare canal PWM;
c. Fiecare canal poate fi activat sau dezactivat;
d. Polaritatea ieirii poate fi programat;
e. 4 surse de tact, acoperind un domeniu larg de frecvene;
f. Oprire n caz de avarie;
g. Exist 8 terminale dedicate, PWM0 PWM7, ultimul fiind i intrare pentru facilitatea de oprire la avarie;
h. Ieirea unui canal poate fi aliniat la stnga sau centrat:

22









Schema bloc

23

27. Porturile MC9S12DJ256.
a. 10 porturi, avnd i funciuni alternative;
b. Caracteristici minime ale unei linii de port:
i. Intrare sau ieire;
ii. Ieire la 5 V;
iii. Intrare la 5 V sau analogic;
iv. Intrare cu pull up sau pull down (selectabil prin un rang din un SFR);
c. Caracteristici opionale:
i. Dren deschis pentru I cablat;
ii. Intrri cu filtrare a impulsurilor scurte;
d. Multiple SFR uri:
i. Pentru cele 10 porturi;
ii. Pentru direcie;
iii. Pentru a selecta pull up sau pull down la intrri;
iv. Pentru a selecta una din dou puteri ale ieirilor;
v. Pentru validare ntreruperi i front activ;
vi. Pentru operaia i cablat;

28. Exceptiile MC9S12DJ256.

Fiecare excepie are un vector pe 16 bii care duce la adresa de nceput a rutinei de tratare; tabela
vectorilor se afl n 128 octei din zona superioar a spaiului standard de 64 Ko; tabelul urmtor arat
tabela vectorilor precum i prioritatea excepiilor (de sus n jos):

Exist mai multe tipuri de ntreruperi:
Nemascabile: TRAP, SWI i pinul /XIRQ; cererea /XIRQ este mascat, dup Reset, dar dup ce
software ul anuleaz bitul X, cererea devine nemascabil pn la un nou Reset;
Mascabile: pinul /IRQ, cereri de la periferia intern;

29. Limbajul de asamblare al microcontrolerului 8051. avantaje, dezavantaje
Microcontrolerul 80C51 posed un set de instruciuni orientat pe aplicaii de monitorizare i control;
Exist instruciuni la nivel de bit care permit comanda individual a rangurilor din registre i din porturi, fr
afectarea restului de ranguri;
24

Pentru accesul rapid n cadrul unor structuri de date de dimensiuni mici, exist mai multe moduri de adresare i
mai multe tipuri de instruciuni de transfer;
Moduri de adresare
Adresarea direct: operandul este specificat printr-o adres pe 8 bii n cadrul instruciunii; se folosete
doar pentru adresarea memoriei RAM interne i a registrelor cu funciuni speciale; exemplu: MOV
A,09H;
Adresarea indirect: n cadrul instruciunii se specific un registru care conine adresa operandului;
exemplu: ADD A,@Ri;
Adresarea de registru: este folosit pentru adresarea unui operand aflat n unul din registrele R0 - R7;
cod eficient;
Adresarea implicit: este folosit de instruciuni care au un operand ntr-un registru predeterminat, de
exemplu acumulatorul sau registrul DPTR; n aceste cazuri nu mai este necesar specificarea operandului;
exemplu: ADD A,Rn;
Adresarea imediat: n cadrul instruciunii, dup cod urmeaz o constant; exemplu: ADD A,#64 sau
ADD A,#64H;
Adresarea indexat: poate fi folosit doar pentru citirea memoriei de program; este foarte util la citirea
tabelelor de cutare din memoria de program; un registru de baz de 16 bii, DPTR sau PC, indic baza
tabelei iar acumulatorul indic intrarea n tabel; exemplu: MOVC A,@A + DPTR; adresarea indexat se
folosete i la instruciunile de salt cu selecie: adresa destinaie a unei instruciuni de salt se obine
adunnd coninutul registrului de baz cu cel al acumulatorului; exemplu: JMP @A + DPTR.

30. 2 moduri de adresare 8051 care ofera maxim de flexibilitate.
Moduri de adresare
a. Adresarea direct: operandul este specificat printr-o adres pe 8 bii n cadrul instruciunii; se folosete
doar pentru adresarea memoriei RAM interne i a registrelor cu funciuni speciale; exemplu: MOV A,09H;
b. Adresarea indirect: n cadrul instruciunii se specific un registru care conine adresa operandului;
exemplu: ADD A,@Ri;
c. Adresarea de registru: este folosit pentru adresarea unui operand aflat n unul din registrele R0 - R7;
cod eficient;
d. Adresarea implicit: este folosit de instruciuni care au un operand ntr-un registru predeterminat, de
exemplu acumulatorul sau registrul DPTR; n aceste cazuri nu mai este necesar specificarea operandului;
exemplu: ADD A,Rn;
e. Adresarea imediat: n cadrul instruciunii, dup cod urmeaz o constant; exemplu: ADD A,#64 sau
ADD A,#64H;
f. Adresarea indexat: poate fi folosit doar pentru citirea memoriei de program; este foarte util la citirea
tabelelor de cutare din memoria de program; un registru de baz de 16 bii, DPTR sau PC, indic baza
tabelei iar acumulatorul indic intrarea n tabel; exemplu: MOVC A,@A + DPTR; adresarea indexat se
folosete i la instruciunile de salt cu selecie: adresa destinaie a unei instruciuni de salt se obine
adunnd coninutul registrului de baz cu cel al acumulatorului; exemplu: JMP @A + DPTR.
31. Prezentati 3 exemple de instructiuni ale uc 8051 de tipuri diferite si descrieti
semnificatiile lor.
1.Instruciuni aritmetice
a. Instruciuni cu 2 operanzi: ADD, ADDC, SUBB, MUL i DIV; utilizeaz registrul A;
b. Instruciuni cu 1 operand: INC, DEC;
c. Instruciune cu operand implicit: DAA;
25

d. Utilizeaz mai multe moduri de adresare:
i. ADD A,10H - este adresare direct,
ii. ADD A,#80 - este adresare implicit (operandul este n zecimal),
iii. ADD A,R0 - este adresare de registru,
iv. ADD A,@R1 - este adresare indirect.
2. Instruciuni logice:
Instruciuni care implementeaz funciile logice de baz: CPL, ANL, ORL i XRL;
Operanzii se gsesc n registrul A sau pot fi furnizai prin adresare direct, ceea ce nseamn c se refer
la memoria RAM intern i la SFR, prin adresare imediat sau prin adresare indirect;
Instruciuni de rotire a acumulatorului: RR, RRC, RL i RLC;
Instruciune de interschimbare a celor 2 jumti ale acumulatorului: SWAP; o aplicaie este conversia
unui numr din binar n BCD; ex.:
MOV B,#10
DIV AB
SWAP A
ADD A,B.
Instruciunea de divizare ofer ctul n A i restul n B; ctul este cifra zecilor, ca urmare trebuie s ajung n
jumtatea mai semnificativ a lui A; operaia este realizat de SWAP iar instruciunea de adunare duce n jumtatea mai
puin semnificativ a lui A, cifra unitilor; rezultatul, adic numrul convertit n BCD, se va afla n registrul A;
3. Instruciuni de lucru cu subrutinele
Instruciuni de apel de subrutin:
ACALL, la care destinaia trebuie s se afle n aceeai pagin ca i instruciunea de apel (2
octei);
LCALL la care destinaia poate fi oriunde n spaiul de memorie extern de program (3 octei);
Destinaiile instruciunilor de apel de subrutin pot fi date de programator sub form simbolic,
de etichet
Instruciunide revenire din subrutin: RET i RETI;
Instruciunea RETI este recomandat la ncheierea subrutinelor de tratare a cererilor de ntrerupere
ntruct, n plus fa de instruciunea RET, reface starea sistemului de ntreruperi la ieirea din rutina de
tratare;
4.Instruciunea NOP
Este o instruciune fr efect;
n mod uzual este folosit pentru ntrzieri sau pentru a nlocui instruciuni care trebuiesc eliminate din
program;











26

32. 2 moduri de adresare ale MC9S12DJ256.



Fiecare mod de adresare, cu excepia modului inerent, genereaz o adres efectiv pe 16 bii; este adresa
operandului instruciunii;
Adresarea inerent: operandul este fie inexistent fie coninut n registrele UC; se mai numete i adresare
implicit;
Ex.: clra
Adresare imediat: operandul este codificat n instruciune; simbolul #;
Ex.: ldaa #$55
Adresare direct: instruciunea conine adresa operandului; se mai numete i adresare n pagina 0 ntruct
adresa este n domeniul $0000 - $00ff;
Ex.: ldaa $55
Adresare direct extins: instruciunea conine ntreaga adres, pe 16 bii;
27

Ex.: ldaa $5555
Adresarea relativ: instruciunea conine un deplasament cu semn, pe 8 sau 16 bii;
Adresarea indexat: exist multe variante; folosete un registru pentru a calcula adresa efectiv;
Adresare indexat indirect: adresa calculat conine adresa efectiv;

33. Limbaje de nivel inalt pt uc, avantaje, dezavantaje
. Limbajul C
Este cel mai utilizat limbaj de nivel nalt la programarea sistemelor ncorporate;
Se folosete limbajul C ANSI standard:
Compilatorul de C pentru microcontrolere admite extensii particulare unei familii de microcontrolere; crete
compactabilitatea codului dar scade portabilitatea;
Variabile:
Bit: 1 sau 0; folosirea sa este o extensie la limbajul standard;
Char: valori pe 8 bii cu sau fr semn; se recomand folosirea variabilelor unsigned char i bit ntruct
hardware-ul le trateaz n mod direct; variabilele signed char genereaz cod suplimentar;
Int: variabila este pe 16 bii; spre deosebire de familia x86, o asemenea variabil este memorat cu
c.m.s.o. la adresa cea mai mic;
Long: valori pe 32 bii;
Float: variabil n virgul flotant, pe 32 bii;
Spaii de memorie:
code: pentru codul programului i constante care nu se schimb; plasat n memoria fix intern; nu exist
instruciuni pentru scrierea n acest spaiu ntruct modificarea codului (programarea) nu se face pe placa
int;
data: plasat n memoria RAM intern; dimensiune mic; memoreaz variabile care i schimb des
valoarea;
xdata: plasat n memoria RAM extern; dimensiune dependent de procesor, de ex. maxim 64 KO la
microcontrolerul 8051;
Exemple:
#define PORTA XBYTE[0x4000]; /*aloc valoarea 4000H lui PORTA*/
bit flag1; /*definete variabila flag1, pe un singur bit, plasat n memoria RAM intern*/
code char table1 [ ] = 1,2,3,HELP,0xff; /*definete un grup de 9 octei, plasai n memoria fix,
ncepnd cu o adres cu numele table1; caracterele H, E, L, P vor fi memorate sub form de octei
ASCII*/
xdata unsigned int temp1; /*aloc un spaiu de 2 octei n memoria RAM extern*/

34. Conectarea memoriei externe la 8051.
n general este suficient memoria intern a microcontrolerului ntruct aplicaiile de timp real cer puin
memorie;
Memoria extern poate fi:
de program i de date dac microcontrolerul are magistrale externe de adrese/ date;
doar de date dac microcontrolerul nu are magistrale externe de adrese/ date;
Dac nu exist magistrale externe:
memoria poate fi conectat doar la liniile de port;
toate tranziiile se vor face prin program;
soluie lent;
28

Trebuie cunoscut harta memoriei i modelul de memorie specifice microcontrolerului;
La unele microcontrolere poate fi conectat memorie serial, prin magistrala I
2
C;
Conectarea memoriei externe la microcontrolerul 8051
Problem tratat; sub 7.
Utiliznd liniile de port pot fi conectate oricte module de memorie;

35. Unitate centrala cu uc MC9S12DJ256 in modul NARROW, conectata la o memorie
pe octet.
UC n modul Narrow conectat la o memorie pe octet:
a. A0 a UC se leag la A0 a memoriei;
b. A1 a UC se leag la A1 a memoriei;
c. A15 a UC se leag la A15 a memoriei;


36. Unitate centrala cu uc MC9S12DJ256 in modul WIDE, conectata la o memorie pe
cuvant.
UC n modul Wide conectat la o memorie pe cuvnt:
a. A1 a UC se leag la A0 a memoriei;
b. A2 a UC se leag la A1 a memoriei;
c. A15 a UC se leag la A14 a memoriei;
d. A0 a UC este High Byte Strobe;
e. /LSTRB a UC este Low Byte Strobe;
29



37. paginarea memoriei la micr. MC9S12DJ256.
Paginarea memoriei:
a. Fereastra de paginare: $8000 - $BFFF;
b. Registrul de paginare: PPAGE; selecteaz care din 64 de pagini de cte 16 K este activ la un moment dat;
c. Rangurile vor apare la terminalele PORTK 5:0 (XA19 XA14); se concateneaz la A13 0:

30


38. Conectarea memoriei externe la un uc fara magistrale externe.
Conectarea memoriei externe la microcontrolerele fr magistrale externe
Doar prin intermediul liniilor de port;
Doar pentru memorie de date;
Transferul va fi lent, ntruct toate tranziiile semnalelor se vor face prin program; prin program se vor transfera
datele i se va stabili i direcia porturilor;
Numrul de circuite de memorie este limitat doar de numrul liniilor de port ale microcontrolerului; sunt necesare
linii de port pentru adrese, date i comenzi;
Dac numrul liniilor de port este mare, nu sunt necesare circuite suplimentare;
Dac numrul liniilor de port este mic, sunt necesare registre (se face demultiplexarea liniilor de port) i, eventual,
decodificatoare; transferul va fi mai lent ntruct un ciclu se va desfura n 2 faze;
31



39. Solutii pentru conectarea porturilor externe la uc 8051.
1. Plasarea porturilor de intrare/ ieire n spaiul de memorie
nseamn conectarea porturilor n mod similar cu circuitele de memorie;
Comunicarea cu porturile se face cu aceleai instruciuni ca i cu memoriile;
Comunicarea este rapid fiind limitat doar de caracteristicile microcontrolerului;
Porturile de ieire pot fi conectate doar n spaiul de date;
Porturile de intrare pot fi conectate i n spaiul de date i n cel de program;
Dezavantaj: ocup din spaiul de memorie (puin important ntruct aplicaiile de timp real cer, n general, puin
memorie);
Program pentru aprinderea led-urilor:
MOV DPTR,#0C000H
MOV A,#00H
MOVX @DPTR,A
JMP $
Program pentru stingerea led-urilor:
MOV DPTR,#0C000H
MOV A,#0FFH
MOVX @DPTR,A
JMP $
Program pentru citirea liniilor externe:
MOV DPTR,#0E000H
MOVX A,@DPTR
JMP $

32


5.2. Plasarea porturilor de intrare/ ieire n spaiul de intrare/ ieire
Porturile externe vor fi conectate la liniile de port ale microcontrolerului;
Semnificaiile liniilor de port ale microcontrolerului sunt cele de intrare/ ieire i nu cele alternative;
Nu se recomand utilizarea porturilor care au ca funciuni alternative cele de magistrale de adrese i date;
Soluia poate fi aplicat i la microcontrolerele care nu au resurse externe pentru conectarea memoriilor;
Restriciile sunt date doar de caracteristicile porturilor microcontrolerului;
Soluia este lent ntruct toate tranziiile semnalelor se vor face prin intermediul instruciunilor;
Program pentru aprinderea led-urilor:
MOV P1,#00H
SET P3.0; se considera ca P3.0 era la 0 logic
CLR P3.0; P3.0 ramine la 0 logic
JMP $
Program pentru stingerea led-urilor:
MOV P1,#0FFH
SET P3.0
CLR P3.0
JMP $
Program pentru citirea liniilor externe:
CLR P3.1; se considera ca P3.1 era la 1 logic
MOV A,P1
SET P3.1; P3.1 ramine la 1 logic
JMP $

33


40. Solutii pentru conectarea porturilor la MC9S12DJ256.
Aceleasi solutii:





34


2.

41. Enumerati solutii pentru reducerea costurilor (/consumului) in faza de proiectare.
Soluii n faza de proiectare
Deconectarea intern dinamic;
Moduri de lucru cu consum redus;
Modificarea frecvenei i a nivelului tensiunii de alimentare;
Codificarea pe magistrale de adrese;
Codificarea instruciunilor;
Deconectarea intern dinamic: deconectarea diferitelor blocuri din procesor, n special nivele din banda de
asamblare; reducerea consumului se face fr afectarea ntregului circuit i sistem spre deosebire de modificarea
frecvenei i tensiunii de alimentare.
Moduri de lucru cu consum redus: implementeaz conceptul de ateptare inteligent; intrarea n aceste moduri
se face prin program (SO sau activarea unui rang dintr un SFR) iar ieirea, prin ntreruperi sau hardware; 2
nivele:
Modul Idle (Sleep):
Partea de execuie a instruciunii din cadrul procesorului este oprit iar restul (sistemul de
ntreruperi i memorii, periferice interne) rmne activat; consumul scade semnificativ: de ex. la
80C51 scade de la 16 mA n modul normal la 3,7 mA n modul Idle;
Cere puine operaii suplimentare, ceea ce permite intrarea i ieirea de mai multe ori ntr o ms;
atunci cnd SO detecteaz c toate firele de execuie ale unui program sunt blocate ateptnd o
35

ntrerupere, un eveniment sau un timeout, ar trebui s instaleze modul Idle; de reinut c ieirea
din modul Idle cost timp i energie;
Minimizarea consumului n modul Idle cere analizarea hardware-ului i a modului de setare a
diferitelor linii; de ex. liniile de I/ E sunt alimentate n timpul modului Idle:
o Dac sunt intrri, pot fi folosite ca intrri de ntrerupere pentru a scoate procesorul din
modul Idle (de ex. microcontrolerul PIC 16F84, liniile RB4 7); dac sunt n vnt
(neconectate le vreo ieire) pot apare tranziii accidentale care vor crete consumul;
o Dac sunt ieiri, conteaz setarea: dac sunt legate intern la Vcc prin o rezisten, atunci
setarea lor la 0 va crea ci suplimentare de curent adic creterea consumului;
Modul Stop:
Se oprete ntregul circuit (de ex. prin oprirea oscilatorului intern);
Intrarea se face prin program iar ieirea prin Reset sau ntrerupere;
Codificarea instruciunilor:
Scopul este minimizarea tranziiilor n nivelele din banda de asamblare implicate n aducerea i
decodificarea codului instruciunilor;
Alocarea de coduri instruciunilor se face prin metode statistice asupra adiacenei configuraiilor;

42. Justificai impactul frecvenei i a tensiunii de alimentare asupra consumului
sistemelor ncorporate. Soluii.
Modificarea frecvenei i a nivelului tensiunii de alimentare: soluia este determinat de caracteristicile
tehnologiei procesorului; n continuare referirea se va face la tehnologia CMOS;
Consumul de putere ntr un circuit CMOS este dat de formula:
P
total
= P
static
+ P
short
+ C
SW
fV
dd
2
+ P
glitching,
, unde
P
static
este puterea consumat datorat curenilor reziduali; are o valoare chiar dac circuitul nu lucreaz; are o
pondere nensemnat pentru circuitele CMOS; urmtoarele 3 componente alctuiesc puterea dinamic;
P
short
apare la tranziii atunci cnd cele 2 tranzistoare din etajul final sunt simultan deschise (ptr. o perioad foarte
scurt); prin buna proiectare a circuitelor poate fi pstrat la < 10% din puterea dinamic;
C
SW
fV
dd
2
este puterea de comutare; este dat de frecvena tactului, de nivelul alimentrii i de capacitatea de
comutare care, la rndul ei, depinde de datele care se proceseaz i de capacitatea circuitului care realizeaz
comutarea;
P
glitching
este dat de tranziii nedorite din interiorul circuitului; 8 25% din puterea de comutare;
Puterea de comutare are ponderea cea mai mare; ntr un sistem multiprocesor i mulitasking are
importan alocarea task urilor la procesoare i procesorul ales pentru un anumit task; ntr un sistem
uniprocesor conteaz caracteristica intern de modificare a frecvenei (de ex. exist microcontrolere care
pot divide frecvena primit din exterior cu 16 sau 256);

43. Judecati impactul codificarii pe magistrala externa asupra consumului SI. Solutii
(?)
Codificarea pe magistrala de adrese:
Capacitatea intrinsec a magistralelor externe procesorului este cu cteva ordine de mrime mai mare ca
cea a magistralelor interne; consumul poate fi redus minimiznd tranziiile liniilor de I/ E ale procesorului
Soluia cea mai eficient const n codificarea informaiei trimis pe magistralele externe; ntruct
tranziiile de pe liniile de date depind de configuraia care se transfer, nu se poate interveni asupra
magistralei de date (la transferul operanzilor); a fost vizat magistrala de adrese;
Scheme de codare pentru transferuri low power:
Codul Bus invert,
Codul Gray,
36

Codul Beach i
Codul T0: se folosete o linie suplimentar, INC, pentru a evita transferul de adrese consecutive;
dac 2 adrese sunt consecutive, linia INC = 1, liniile de adrese rmn nemodificate (pentru a evita
tranziii inutile) iar noua adres este calculat la recepie; dac cele 2 adrese nu sunt consecutive,
linia INC = 0 iar liniile de adrese vor lucra normal.

44. Solutii pentru reducerea consumului in faza de functionare la nivelul SO.
La nivelul SO: instalarea modului low power i modificarea frecvenei tactului i nivelului tensiunii de
alimentare;
Instalarea modului low power:
Este necesar un mecanism pentru a stabili momentul cnd se va instala modul low power;
O soluie: a previziona momentul cnd urmeaz o perioad inactiv, bazat pe istoria funcionrii
procesorului; valoarea previzionat devine o metric pentru a determina impactul acestei metode; soluia
este potrivit n aplicaii event driven ca de ex. interfee, la care ntrzierea datorat nepotrivirii ntre
valoarea previzionat i cea real poate fi tolerat;
Modificarea frecvenei tactului i nivelului alimentrii:
nseamn adaptarea resurselor procesorului la cerinele taskului curent;
Frecvena tactului poate fi modificat intern (prin programare) sau extern (prin terminale de I/ E);

45. Solutii pentru programul aplicativ(reducerea consumului) in faza de functionare la
nivelul programelor aplicatie.
La nivelul programului aplicativ: conceperea programelor inndu se cont de un model instruciune consum
i optimizarea codului pentru a rula mai rapid i a ocupa mai puin spaiu;
Utilizarea unui model instruciune cost:
Permite obinerea unui cost de putere pentru componenta software a unui sistem;
Poate fi folosit de compilatoare i generatoare de cod pentru a genera cod pentru low power;
Influeneaz decizii la nivele de proiectare de sistem ca de ex. partiionarea hardware software;
Permite compararea diferitelor procesoare d.p.d.v. al consumului;
Asigur suportul pentru dezvoltarea software ului low power;
O tehnic pentru obinerea modelului instruciune consum se bazeaz pe msurarea consumului atunci
cnd procesorul execut, n mod repetat, aceeai instruciune; tehnica este parial eficient: la unele
procesoare nu s au obinut variaii ntre diferitele instruciuni n timp ce la alte procesoare aceste variaii
au fost importante.
46. Solutii pentru reducerea consumului la 8051 si pe sistemele bazate pe ele.
Reducerea frecvenei tactului,
Creterea vitezei nucleului,
Integrarea de periferice,
Memoria intern,
Tactul,
mbuntirea modului Stop,
Modul Idle,
Modurile de management a puterii,
Utilizarea ntreruperilor cu MMP,
mbuntirea transferurilor n rafal,
37

Execuie rapid i ateptare.

47. Care este impactul memoriei externe asupra consumului uc cu nucleu 8051.
Calea cea mai direct pentru scderea consumului este creterea eficienei microcontrolerului;
Microcontrolerul 80C51 original lucreaz cu un ciclu de 12 perioade de tact; microcontrolerele 80C51
moderne lucreaz cu cicluri cu 4 sau 1 perioade de tact;
Prima consecin este c este nevoie de mai puin timp pentru a executa aceeai operaie; multe SI
portabile lucreaz n rafal, pentru perioade scurte de timp urmate de lungi perioade de ateptare (de ex.
citirea unor informaii din mediu, scanarea unui cod de bare etc.); reducerea timpului de execuie va duce
la reducerea consumului;
Alt consecin: se pot obine performane comparabile reducnd frecvena tactului; dac ciclul are doar 4
perioade, n loc de 12, aceeai operaie se poate realiza cu reducerea frecvenei tactului; fig. arat raportul
consum - performan a 3 microcontrolere rulnd acelai task; 2 microcontrolere sunt standard, cu ciclu de
12 stri, iar al 3 lea este performant, avnd doar 4 stri/ ciclu; msurtorile indic o cretere a
performanei la microcontrolerul cu 4 stri/ ciclu cu aprox. 250%;

48. Solutii pentru comanda unui comutator cu 8051.
Citirea unui comutator
Schema:


Codul:
38

Varianta a:
JNB P1.0,APASAT; salt daca este apasat
Varianta b:
JNB P1.0,APASAT; salt daca este apasat
.............................
JNB P1.1,NEAPASAT; salt daca nu este apasat

49. Solutii pentru comanda unui LED cu 8051.
Program pentru aprinderea led-urilor:
MOV DPTR,#0C000H
MOV A,#00H
MOVX @DPTR,A
JMP $
Program pentru stingerea led-urilor:
MOV DPTR,#0C000H
MOV A,#0FFH
MOVX @DPTR,A
JMP $

50. Zonele din masina unde intervin uc.
Electronica din automobile se poate mpri n 4 segmente:
a. Putere i siguran:
i. Managementul motorului;
ii. Suspensia electronic;
iii. Sistemul de frnare;
iv. Direcia;
v. Airbags urile;
vi. Cutia de viteze;
vii. Drive by wire
b. Comfort i control:
i. Instrumentaia de bord;
ii. Luminile;
iii. Scaunele;
iv. Clima;
v. Deschiderea/ nchiderea mainii;
vi. Sistemul de alarm;
vii. Controlul geamurilor;
viii. Recunoaterea vocii;
c. Asistarea oferului:
i. Vizibilitatea nocturn;
ii. Pilotul automat;
iii. Asistarea parcrii i mersului napoi;
iv. Evitarea coliziunilor;
v. Monitorizarea presiunii pneurilor;
vi. Lane Departure Warning;
39

vii. Heads Up Display;
Ambient (infotainment) i comunicaii:
Navigare/ GPS;
Sisteme multimedia;
Sistemul audio;
Internet;
Ambientul pasagerilor din spate;
Senzori:
Cantitatea de combustibil;
Viteza de curgere a combustibilului;
Presiunea uleiului;
Temperatura lichidului de rcire;
Temperatura de afar i din habitaclu;
De distan;
Greutatea pasagerilor;
Presiunea pneurilor;
Umiditatea i lumina externe;

51. CAN intre sistemele incorporate din automobile.
CAN: cea mai folosit, pentru aplicaii lente, de ex. comanda geamurilor, dar i rapide, de ex. managementul
motorului,abs
52. Solutii pentru masurarea cantitatii de combustibil.
a. Pentru cantitatea de combustibil:

53. Reprezentarea nivelelor logice pe liniile magistralei CAN
Reprezentarea biilor pe linie: prin metoda NRZ (Non Return to Zero):
1 logic nseamn o tranziie a liniei;
0 logic nseamn lipsa tranziiei;
Dup 5 bii de valoare 0 este inserat un bit complementar, pentru resincronizare;
CAN este o magistral de tip broadcast;
Oricare nod CAN poate ncepe transmisia dac magistrala este liber;
Dac ncep 2 noduri simultan, are loc arbitrarea, la nivelul Header ului cadrelor:
Nodul care ctig arbitrarea continu transmisia;
40

Nodul care pierde arbitrarea ateapt pn la eliberarea magistralei;
Arbitrarea are loc la nivel de bit prin operaia AND realizat de mediul fizic; exist bii dominani i bii
recesivi; atunci cnd un nod care transmite un bit recesiv observ un bit dominant, va opri transmisia;

54. Structura cadrelor care circula prin CAN.
Exist 4 tipuri de cadre CAN 2.0A: Data, Remote, Error i Overload;
a. Structura unui cadru de date:



















55. Arbitrarea pe magistrala CAN.
CAN este o magistral de tip broadcast;
Oricare nod CAN poate ncepe transmisia dac magistrala este liber;
Dac ncep 2 noduri simultan, are loc arbitrarea, la nivelul Header ului cadrelor:
a. Nodul care ctig arbitrarea continu transmisia;
b. Nodul care pierde arbitrarea ateapt pn la eliberarea magistralei;
c. Arbitrarea are loc la nivel de bit prin operaia AND realizat de mediul fizic; exist bii dominani i bii
recesivi; atunci cnd un nod care transmite un bit recesiv observ un bit dominant, va opri transmisia;

Asta nu cred ca intra!!!
d. Cmpul Header este alctuit din:
i. Identificatorul cadrului:
1. 11 bii pentru versiunea Standard;
2. 29 bii pentru versiunea Extins;
ii. Bitul RTR (Remote Transmission Request): 0 nseamn cadru de date iar 1 nseamn cerere pentru
cadru date;
iii. DLC (Data Length Code): indic numrul de octei ai cmpului de date;
e. Cmpul Data Field este cmpul de date i are lungimea maxim de 8 octei:
f. Cmpul CRC (Cyclic Redundancy Check): asigur integritatea transferului;
41

g. Cmpul Ack: este singurul mecanism prin care transmitorul afl dac data a fost recepionat (nu
neaprat de destinatar);
h. Cmpul EOF ncheie cadrul;
i. Cmpul de date are maxim 8 octei de date iar cadrul poate avea maxim 135 bii, cuprinznd toi biii
suplimentari inclusiv biii inserai datorit metodei de reprezentare NRZ;
j. Cadrul Remote: este transmis de un nod CAN receptor pentru a cere date de la nodul cu identificatorul din
cadru;

k. Cadrul Error: anun toate nodurile despre apariia unei erori pe magistral; un nod transmitor va
retransmite cadrul de date la sesizarea cadrului de eroare;

l. Cadrul Overload: este transmis de un nod CAN ocupat pentru a cere timp ntre un cadru i urmtorul:

ntre cadre exist un cmp de 3 bii cu rol de separare;
Un cadru este citit de toate nodurile CAN receptoare;
Toate aceste noduri filtreaz o parte sau ntregul cmp Identifier utiliznd registre de mascare; acestea trebuiesc
programate pentru a stabili receptorul (sau receptorii);
Cadrul este valid pentru transmitor dac nu a aprut nici o eroare pn la cmpul EOF; dac exist vreo eroare el
va retransmite cadrul atunci cnd magistrala este liber i n concordan cu prioritatea pe care o are;
Cadrul este valid pentru receptor dac nu a aprut vreo eroare pn la ultimul bit al cmpului EOF, care nu este
luat n considerare;
Magistrala poate fi n stare liber un timp nedeterminat; orice nod CAN poate recunoate aceast stare;
Dac un nod CAN are un cadru n ateptare l va transmite imediat dup cmpul de separare, cu respectarea
prioritii

56. Tipuri de erori si tratarea lor la CAN.
Tratarea erorilor: exist 5 tipuri de erori:
a. Bit error: orice transmitor CAN asigur i monitorizarea liniei; eroarea este detectat dac bitul primit
difer de cel emis; excepii sunt n timpul arbitrrii i al acceptrii;
b. Stuff error: atunci cnd sunt detectai 6 bii cu acelai nivel;
c. CRC error: atunci cnd cmpul CRC transmis difer de cel calculat de receptor;
d. Form error: atunci cnd un cmp cu structur fix conine bii ilegali;
e. Acknowledgment error: atunci cnd cmpul de acceptare nu are forma cerut;
42

Un nod CAN care a detectat o eroare va activa un indicator de eroare; acesta poate fi activ sau pasiv, n funcie de
poziia nodului;
Din punctul de vedere al erorilor, un nod CAN poate fi:
f. Error active,
g. Error passive sau
h. Bus off.
Un nod CAN include 2 numrtoare pentru erori:
i. Transmit error count (TEC) i
j. Receive error count (REC);
k. Numrtoarele sunt incrementate la detecia erorilor, n conformitate cu anumite reguli; de exemplu:
i. Un nod receptor va incrementa, cu 1, REC dac detecteaz o eroare, sau
ii. Un nod transmitor va incrementa, cu 8, TEC dac activeaz un indicator de eroare;
l. Numrtoarele sunt decrementate n conformitate cu anumite reguli; de exemplu la recepia reuit a unui
mesaj;
m. Dac valoarea din numrtor este mare (de ex. 96) atunci se consider existena unei defeciuni
permanente, de ex, la nivelul nodului sau la nivelul mediului fizic de comunicare; un ex. de defeciune
permanent este defectarea oscilatorului unui nod transmitor ceea ce va duce la transmiterea continu pe
linie a unui bit dominant;
n. CAN necesit mecanisme suplimentare de toleran la erori pentru a putea fi utilizat la aplicaii critice, de
tipul x by wire;

57. Solutii pentru conectarea uc la INTERNET.
nseamn conectarea de produse i servicii la Internet prin intermediul sistemelor ncorporate;
Avantaje:
a. Posibilitate de comand la distan;
b. Posibilitate de actualizare automat a unor baze de date (de exemplu preuri, produse etc.);
c. Posibilitate de monitorizare de la distant;
d. Comunicare ntre diferite aplicaii (diverse protocoale se nlocuiesc cu TCP/ IP);
e. Uniformizarea interfeei cu utilizatorul pentru diferite aplicaii;
Completeaz suportul pentru ubiquitous, pervasive and wearable computing;
Aplicaii n diverse domenii: domestic, industrial, tiinific, comer, medical, automotive etc
Modelul clasic server client: Modelul server client cu microcontrolere:

Modaliti de implementare:
Prin conectare direct a sistemelor cu microcontrolere la Internet;
43

Prin conectarea sistemelor cu microcontrolere la un PC care va avea rol de poart la Internet.
n primul caz:
Au aceleai poziii i ponderi ca sistemele mai mari (PC urile);
Soluia cere scrierea unei stive TCP/ IP proprii sau a unui subset al acesteia precum i rezolvarea conectrii fizice la
Internet;
Soluia este relativ ieftin, permite conectarea unor sisteme de dimensiuni mici la Internet dar resursele acestor sisteme
sunt limitate.
n al 2 lea caz:
Sistemele cu microcontrolere sunt grupate, sub controlul unui calculator cu rol de poart la Internet;
Acesta gestioneaz toate sistemele, rspunde la cererile lor, poate asigura securitatea sistemelor, monitorizare i evaluare
automate pentru sisteme i chiar conexiuni multiple, la un moment dat;
Sistemele cu microcontrolere pot comunica ca poart utiliznd diferite standarde: RS 232, RS 485, I2C etc.

58. Implementarea nivelelor Network Acces al protocolului TCP/IP la SI.?????
Implementarea Network access:
Prin controlere;
Prin microcontrolere;
Controlere Internet: RTL8019S, CS8900, LAN91C96, LAN91C9111, DP83840A, DP8390, Am79C874 etc.
Alt exemplu: S-7600A:

Conectarea la linie:
44


Din punctul de vedere al programatorului transferul de date prin un controler Internet este similar celui prin un
controler UART:
Este necesar programarea circuitului;
La scriere, este ncrcat tamponul circuitului, dup care serializarea i transferul informaiei au loc fr
intervenia procesorului;
La citire, procesorul este anunat, fie prin un semnal fie prin un rang n octetul de stare, c tamponul de
recepie este plin;
Operaiile necesare pentru iniializarea unui asemenea controler sunt:
Iniializarea circuitului, fie prin un semnal extern fie prin setarea unui rang dintr un registru de control;
Deconectarea transmitorului de la linie; operaia este necesar pentru a evita situaia n care date
nedorite sunt plasate pe linii n timpul fazei de iniializare;
Iniializarea zonelor DMA i a indicatorilor precum i alocarea zonelor RAM pentru transmiterea i
recepia datelor n format Ethernet; n unele cazuri alocarea se poate face i dinamic;
Programarea controlerului prin ncrcarea adreselor lor n registrele interne; multe controlere pot ncrca
aceste adrese n mod automat din o memorie de tip EEPROM;
Memorarea datelor iniiale: vitez, numr de bii, moduri de operare etc.;
Activarea ntreruperilor (dac sunt utilizate);
Reconectare a transmitorului pe linii i setare a rangurilor Tx/ Rx; plaseaz controlerul pe linie i
activeaz transmisia i recepia.
Transmisia unui format:
Se presupune c procesorul a pregtit format valid, inclusiv cmpurile de adres i tip de protocol;
Alocare tampon de transmisie; unele controlere au o zon fix alocat iar la altele alocarea se face
naintea transmisiei;
Verificare a alocrii; se verific dac alocarea a reuit;
Plasare a datelor n tamponul DMA; formatul va include adresa, tipul i datele; controlerul va aduga
header ul i controlul de erori;
Generare o comand de transmisie, setnd un indicator n unul din registre; formatul va fi plasat n coada
de transmisie i controlerul l va transmite dac linia este liber sau va ncerca mai trziu, dac linia este
ocupat;
45

Ateptare pentru ncheierea transmisiei, fie prin citirea unui indicator fie prin o cerere de ntrerupere; este
necesar verificarea strii i tratarea eventualelor erori;
Eliberare a memoriei alocate pentru tampon;
Recepia unui format:
Sesizarea prelurii unui format, fie prin citirea unui indicator fie prin o cerere de ntrerupere; controlerul
anun procesorul c un format a fost preluat fie datorit potrivirii adresei fie dac formatul are o adres
de tip broadcast;
Formatul memorat n tamponul controlerului este transferat, prin DMA, n memorie;
Eliberarea resurselor de recepie;
ntreruperile pot fi generate de controler la:
Transmisie;
Recepie: fie la recepia unui format fie la recepia mai multor formate, n funcie de resursele hardware
(memorie tampon) ale controlerului; n ultimul caz rutina de tratare va putea transfera mai multe formate,
rezultnd ctig de timp;
Erori: recepia unui format eronat sau ilegal;
Cererea este conectat la o intrare de ntrerupere a procesorului; dac procesorul conine controlerul,
cererea va fi intern;
59. Ce inseamna modul TINI(TINY)?
Modulul TINI:
a. Sistem bazat pe microcontroller Dallas orientat pe aplicaii de tip web server;
b. Microcontrollerul include interfee Ethernet, RS 232, I2C, CAN, 1 Wire;
c. Ofer suport pentru limbajul Java;
d. Include API uri pentru comunicrile seriale;
e. Schema bloc:




46

60. Ce inseamna modul ETHERNUT?
Modulul Ethernut
a. Bazat pe microcontroler Atmel AT91R40008, cu nucleu ARM7TDMI;
b. Include controler Ethernet compatibil IEEE 802.3, cu rata 10/ 100 Mbps i conector RJ - 45;
c. Include interfa RS232 i conector DB9;
d. Conine 256 Ko memorie SRAM i 4 Mo memorie Flash ROM, programabil In system i 512 O
memorie EEPROM programabil In system;
e. Periferie intern: Watchdog, 3 contoare/ numrtoare pe 16 bii, ceas de timp real, 24 linii de port;
f. Dimensiunea plcii: 80 x 100 mm;
g. Alimentare: 5 24 VDC;
h. LED uri pentru alimentare i comunicare pe Ethernet;
i. Software: RTOS numit Nut/OS, stiv TCP/IP proprie numit Nut/Net, compilator de C i biblioteci C;
j. Include aplicaii: un web server, o poart RS232 TCP/IP etc.

S-ar putea să vă placă și