Sunteți pe pagina 1din 34

Universitatea Politehnica Timioara

Facultatea de Automatic i Calculatoare

Proiectarea Microsistemelor Digitale


Anul 3 CTI
Titular: prof. dr. ing. Mircea POPA
1

Proiectarea Microsistemelor Digitale

Curs 1

Proiectarea Microsistemelor Digitale

Coninut:

Introducere

Unitatea central

Interfaa serial; circuitul specializat 8251


Temporizarea i numrarea de evenimente; circuitul specializat 8253
Interfaa paralel; circuitul specializat 8255

DMA
Sistemul de ntreruperi

Proiectarea unui decodificator de porturi


Tipuri de porturi
Comanda unui semnal prin program

Circuite specializate programabile

Proiectarea unui decodificator de memorii


Conectarea memoriei fixe, a memoriei SRAM i a memoriei DRAM

Conectarea porturilor de intrare/ ieire

Microprocesorul 8086
Microprocesorul 80386
Unitatea central

Conectarea memoriilor

Ce este un microsistem digital?


Structura unui microprocesor i a unui microcontroler
Schema bloc a unui microsistem digital

ntreruperi externe i interne, prioritizare


Circuitul specializat 8259

Aplicaii

Proiectarea Microsistemelor Digitale

Bibliografie:

J. Crisp, Introduction to Microprocessors and Microcontrollers; ButterworthHeinemann, 2003


B. B. Brey, The Intel Microprocessors: 8086/8088, 80186/80188, 80286, 80386,
80486, Pentium, Pentium Pro Processor, Pentium II, Pentium III and Pentium 4.
Architecture, Programming, and Inter facing; Prentice Hall, 2002
M. Popa, Proiectarea microsistemelor digitale; Orizonturi Universitare, Timioara,
2003
M. Popa, Sisteme cu microprocesoare; Orizonturi Universitare, Timioara, 2003
http://en.wikipedia.org/wiki/Microprocessor
http://www.infoweblinks.com/content/microprocessorupdate.htm
http://www.cpu-world.com/CPUs/8086/
http://www.intel.com/design/intarch/datashts/23163011.pdf
http://www.datasheetcatalog.com/datasheets_pdf/A/M/2/7/AM27C2048.shtml
http://www.chipdocs.com/pndecoder/datasheets/AMICC/A616316.html
http://www.alldatasheet.com/datasheet-pdf/pdf/113818/ICSI/IC41C1665.html
http://www.pcguide.com/ref/ram/typesDRAM-c.html
http://www.camiresearch.com/Data_Com_Basics/RS232_standard.html
http://www.sharpmz.org/mz-700/8253ovview.htm
http://www.advancedmsinc.com/iocards/8255.htm
http://www.freebsd.org/doc/en_US.ISO8859-1/books/developers-handbook/dma.html
http://www.thesatya.com/8259.html
http://www.play-hookey.com/digital/experiments/seven_seg_led.html

Proiectarea Microsistemelor Digitale

Obiectivele cursului:

cunoaterea definiiei, caracteristicilor, structurii i


funcionrii unui microsistem digital;
studiul problemelor tipice care apar la proiectarea
unui microsistem digital bazat pe microprocesor
precum i a soluiilor tipice;
nelegerea noiunii de circuit specializat
programabil i studiul ctorva circuite tipice;
studiul unor aplicaii tipice;
dobndirea de cunotine n vederea proiectrii
unui microsistem digital, bazat pe microprocesor,
cu o structur tipic.

Proiectarea Microsistemelor Digitale

1. Introducere
1.1. Ce este un microsistem digital?
Sistemele de calcul bazate pe microprocesoare sau microcontrolere se
numesc microsisteme digitale. Exist 2 tipuri de echipamente care
sunt microsisteme digitale: microcalculatoarele i sistemele de
calcul orientate pe aplicaii.
Microprocesorul se poate defini ca fiind un circuit logic programabil de
ctre utilizator, ntr-o singur capsul i cu funcie de procesor de uz
general.
Microcontrolerul se poate defini ca un circuit logic, programabil de ctre
utilizator, cu o structur adaptat pentru rezolvarea unei largi game
de aplicaii de timp real. El nu este folosit ca procesor de uz general
ci ca procesor orientat pe aplicaii, fiind, n general, inclus n
echipamentul pe care l conduce.
DSP prelucreaz digital semnale analogice
6

Proiectarea Microsistemelor Digitale


1.2. Istoria microprocesoarelor i microcontrolerelor

1971: primul microprocesor pe 4 bii, al firmei INTEL;


1972: primul microprocesor pe 8 bii, 8008 (INTEL);
1974: 8080, 8085 (INTEL), Z80 (ZILOG), 6800, 6502 (MOTOROLA);
1978: 8086 (INTEL) familia x86;
1979: 68000 (MOTOROLA) familia 680x0;
1985: 80386 (INTEL);
1989: 80486 (INTEL):

introducerea memoriei cache n capsula microprocesorului,


introducerea coprocesorului matematic n capsula microprocesorului,
transferuri cu memoria n cicluri de tip rafal;

1993: Pentium I:

arhitectur superscalar,
predicia dinamic a ramificrilor;

Proiectarea Microsistemelor Digitale

1997: Pentium II;


1999: Pentium III:

2 nivele de memorie cache,


microarhitectura de tip P6 care asigur execuia dinamic a
instruciunilor;

2002: Pentium IV.


1981: primul PC coninea microcontrolerul 8048 n tastatur;
exist microcontrolere pe 4, 8, 16 i 32 bii;
familii de microcontrolere: mai multe microcontrolere cu acelai nucleu, de
ex. familia 8051;
productori: PHILIPS, MICROCHIP, MOTOROLA, ZILOG, HITACHI,
TEXAS INSTRUMENTS etc.
Direcii de dezvoltare diferite:

microprocesoare: creterea vitezei, a capacitii de memorie adresabile,


nglobarea unor faciliti pentru lucrul cu limbaje de nivel nalt pentru aplicaii de
uz general,
microcontrolere: au fost optimizate pentru achiziii de date i aplicaii de
monitorizare i control, n general pentru aplicaii de timp real.
8

Proiectarea Microsistemelor Digitale


1.3. Structura unui microprocesor i a unui microcontroler
1.3.1. Structura unui microprocesor

Proiectarea Microsistemelor Digitale

Resurse externe: magistralele.


Prin magistral se nelege un grup de linii cu caracteristici comune
funcionale, logice i electrice i cu posibilitatea de a permite
conectarea direct la ea a mai multor blocuri care ndeplinesc, ns,
anumite cerine. Condiii:

uniformitate funcional nseamn c rolul i scopul liniilor s fie acelai,


uniformitate logic nseamn nivelul activ al semnalelor s fie acelai iar
uniformitate electric nseamn c liniile s aib aceleai caracteristici
electrice;
blocuri cu ieiri cu 3 stri.

Orice microprocesor are 3 magistrale:

de adrese,
de date i
de comand i control

10

Proiectarea Microsistemelor Digitale

Magistrala de adrese:

Magistrala de date:

indic celula de memorie sau circuitul de I/E,


ieiri sau bidirecionale dac microprocesorul conine memorie cache,
capacitatea = 2n locaii, n fiind numrul liniilor de adres.

stabilete numrul de bii ai unui microprocesor, 8, 16, 32, 64,


bidirecionale, sensul de transfer este stabilit de microprocesor.

Magistrala de comand i control:

indic ce operaii va executa microprocesorul, cnd i cu cine,


i se poate comunica faptul c resursele sunt prea lente,
i se poate cere s elibereze resursele sistemului,
etc.

11

Proiectarea Microsistemelor Digitale

Resurse interne:

magistrale interne,
unitate aritmetic i logic, UAL sau ALU,
dispozitiv de comand i control, DCC:

pentru controlul tuturor transferurilor interne,


pentru controlul tuturor transferurilor externe.

decodificator al codului instruciunii, DCI: coamnd DCC,


registrul instruciunii, RI: memoreaz temporar instruciunile,
numrtor de adrese, PC,
tampoane de date i adrese,
setul de registre:

memorie intern foarte rapid dar de capacitate mic,


caracteristic a arhitecturii unui microprocesor,
n strns legtur cu setul de instruciuni;

12

Proiectarea Microsistemelor Digitale

registre cu funciuni generale: pot fi accesate prin intermediul


instruciunilor, minimiznd numrul de accese la memorie: generale,
de date, de adrese i de control i stare,
registre speciale: conin informaii pentru controlul execuiei
programelor i pentru realizarea unor faciliti.

Probleme specifice ale unui proiectant de microprocesor


legate de setul de registre:

raportul registre cu funciuni generale/ registre speciale (sau, altfel spus:


cum se asigur performan maxim: cu mai multe registre cu funciuni
generale sau cu mai multe registre speciale?),
numrul de registre (cum se asigur performan maxim: cu mai multe
sau cu mai puine registre?).

13

Proiectarea Microsistemelor Digitale

Alte caracteristici importante ale microprocesoarelor:

setul de instruciuni:

indic programatorului posibilitile microprocesorului,


determin evoluia microprocesoarelor.

terminalele:

comunicarea microprocesorului cu exteriorul,


legat de posibilitatea de ncapsulare: cerine de numr mare de
terminele/ limitri de cost i spaiu:

multiplexarea unui numr de terminale: avantaj pentru proiectantul de


microprocesor, dezavantaj pentru proiectantul de sistem hardware, larg
aplicat la microcontrolere,
capsule cu numr mare de terminale:

DIL la microprocesoare simple,


pe 4 laturi, i mai multe rnduri, la microprocesoarele evoluate cu sute de
terminale.

14

Proiectarea Microsistemelor Digitale


1.3.2. Structura unui microcontroler

15

Proiectarea Microsistemelor Digitale

Particulariti ale proiectrii sistemelor cu


microcontrolere:

permit realizarea de sisteme cu circuite puine, de aici rezultnd


dimensiuni mici, siguran n funcionare, fiabilitate, consum redus;
ntruct un microcontroler nglobeaz att periferie (interfee seriale,
contoare, temporizatoare) ct i porturi care pot fi comandate la nivel de
rang, numrul porturilor externe este mic sau chiar nul;
ntruct majoritatea microcontrolerelor conin memorie fix,
microsistemele cu microcontrolere conin memorie fix extern doar n 2
cazuri: fie microcontrolerul respectiv nu conine memorie fix intern, fie
memoria fix intern nu este suficient, caz mai puin uzual;
dac aplicaia cere memorie RAM de dimensiuni mici, civa zeci,
eventual sute de octei, atunci nu va fi necesar nici memorie RAM
extern;
ntruct microcontrolerele conin cteva zeci de linii de port, ele se
recomand n aplicaii n care operaiile de intrare/ ieire sunt
preponderente;
utilizarea microcontrolerelor este recomandat n aplicaii, n general,
lente;
pentru minimizarea consumului se pot utiliza modurile de lucru cu
consum redus.
16

Proiectarea Microsistemelor Digitale


1.4. Schema bloc a unui microsistem digital

17

Proiectarea Microsistemelor Digitale

Unitatea central (UC): microprocesor sau microcontroler + alte circuite


(generator de tact, generator al semnalului de iniializare, amplificarea i
demultiplexarea magistralelor);

Memoria fix:

implementat cu circuite ROM, OTP, EPROM, EEPROM sau Flash,


memoreaz programe de sistem sau aplicative,
la PC conine doar un set de rutine de baz pentru comunicarea
procesorului cu periferia, programe de test, variabile care fixeaz
anumite particulariti funcionale i un program ncrctor care va
ncrca sistemul de operare de pe suport extern n memoria de tip RAM
i l va lansa n execuie.

Memoria de scriere/ citire (RAM):

pentru memorri temporare iar la PC i pentru memorarea, n timpul


unei sesiuni de lucru, a sistemului de operare,
SRAM (RAM static) i DRAM (RAM dinamic).

18

Proiectarea Microsistemelor Digitale

Porturi de intrare/ ieire:

Decodificatorul de memorie (DECM):

genereaz semnale de selecie pentru circuitele de memorie,


are ca intrri linii din magistrala de adrese.

Decodificatorul de porturi (DECP):

asigur interfaa dintre unitatea central i echipamentele de intrare/


ieire,
convertete informaia din formatul unitii centrale n cel al perifericelor
i invers.

genereaz semnale de selecie pentru circuitele de memorie,


are ca intrri linii din magistrala de adrese.

Magistrale externe de adrese, date, comand i control.


19

Proiectarea Microsistemelor Digitale

2. Unitatea central
2.1. Microprocesorul 8086

primul microprocesor pe 16 bii care a cunoscut o larg utilizare;


apariia lui a fost urmat la scurt timp de o familie de componente:
generatorul de tact 8284, controlerul de magistral 8288, coprocesorul
matematic 8087 i coprocesorul de intrare / ieire 8089.
Caracteristici:
registrele interne i magistrala de date extern sunt pe 16 bii;
posibilitatea de a adresa direct 1 Mo de memorie;
vitez mrit de lucru datorit att frecvenei tactului ct i unei structuri
interne bazat pe conceptul de suprapunere care permite aducerea din
memorie, n avans, a instruciunilor n timpul unor cicluri fr acces la
magistrale;
poate acoperi o gam larg de aplicaii datorit celor dou moduri de
lucru ale sale: minim i maxim,
magistralele de date i adrese sunt multiplexate iar o parte dintre
terminalele de comand au rol dublu; aceasta a permis ncapsularea
circuitului ntr-o capsul cu doar 40 terminale.

20

Proiectarea Microsistemelor Digitale

Moduri de lucru:

minim: pentru aplicaii relativ simple, n care microprocesorul


genereaz el nsui semnalele necesare transferurilor cu
memoria i cu porturile de intrare/ ieire,
maxim: pentru aplicaii complexe, inclusiv sisteme multiprocesor,
n care semnalele de comand pentru memorii i porturi sunt
generate de un controler de magistral, 8288,
nu ofer privilegii diferite ci ele se recomand n anumite
configuraii hardware, pentru tipuri de aplicaii diferite,
trecerea dintr-un mod n altul se face prin hardware: exist
terminalul MN/ /MX la care, prin 1 logic se cere modul minim iar
prin 0 logic se cere modul maxim.
21

Proiectarea Microsistemelor Digitale

Terminale

magistrale multiplexate de adrese/ date,


linii de comand i control cu 2 semnificaii.

22

Proiectarea Microsistemelor Digitale

Structura intern

23

Proiectarea Microsistemelor Digitale

Setul de registre

24

Proiectarea Microsistemelor Digitale

Ciclurile main

execuia unei instruciuni nseamn o secven de cicluri main,


un ciclu main dureaz un numr de stri, minim 4 la 8086,
notate cu T1 T4,
un ciclu main poate fi extins prin inserarea de stri de
ateptare,
o stare nseamn o perioad de tact.

Poate executa 5 tipuri de cicluri:

citire date i intrare pentru modul minim,


scriere date i ieire pentru modul minim,
citire date i intrare pentru modul maxim,
scriere date i ieire pentru modul maxim,
acceptare a unei cereri de ntrerupere mascabile.
25

Proiectarea Microsistemelor Digitale

Ciclul de citire date i intrare pentru modul minim

26

Proiectarea Microsistemelor Digitale

Organizarea i gestionarea memoriei

capacitatea de memorie direct adresabil este de 1 MO,


memoria este gestionat n segmente:

avantaje:

este facilitat programarea modular; fiecare modul poate ocupa unul


sau mai multe segmente putnd fi dezvoltat independent unul fa de
cellalt;
faciliteaz relocarea dinamic a programelor; pentru aceasta este
necesar ca acestea s nu afecteze coninuturile registrelor segment i s
nu fac referire la locaii din afara segmentului; programul poate fi plasat
oriunde n memorie prin modificarea coninuturilor registrelor de segment;
se poate utiliza un numr mare de stive, prin plasarea adresei de nceput
a segmentului stiv n registrul SS i a vrfului stivei n SP;

dezavantaje:

limitri n lungimea programelor introduse de dimensiunile segmentelor;


adresa fizic se obine din dou configuraii printr-un mecanism care
necesit timp deci duce la o scdere a vitezei de lucru.

27

Proiectarea Microsistemelor Digitale

Un exemplu de segmentare

28

Proiectarea Microsistemelor Digitale

Calculul adresei fizice

29

Proiectarea Microsistemelor Digitale

Organizarea memoriei:

00000H 00013H zon dedicat,


00014H 0007FH zon rezervat,
00080H FFFEFH zon disponibil,
FFFF0H FFFFBH zon dedicat,
FFFFCH FFFFFH zon rezervat.

Comanda memoriei

30

Proiectarea Microsistemelor Digitale

Sistemul de intrare/ ieire

Transfer de operanzi pe:

16 bii,
8 bii pe D0-7 (adres par de port) sau D8 15 (adres impar
de port).

Adrese de port pe:

conectarea porturilor n spaiul de memorie,


conectarea porturilor n spaiul de intrare/ ieire dedicat: suprapus
peste primul segment de memorie.

16 bii: se folosete adresarea indirect prin DX (65536 porturi),


8 bii: se folosete adresarea direct (256 porturi).

Instruciuni IN i OUT

transfer port registrul AX (16 bii) sau AL, respectiv AH (8 bii).

31

Proiectarea Microsistemelor Digitale

Soluii pentru generarea semnalelor de selecie pentru


porturi

32

Proiectarea Microsistemelor Digitale

Sistemul de ntreruperi

ntreruperi externe i interne,


256 ntreruperi, accesul la rutina de tratare este vectorizat.

Tabela vectorilor de ntrerupere: primii 1024 octei:


Tip

Intrare

Adres

Eroare la divizare

00000H

Pas cu pas

00004H

ntrerupere
nemascabil

00008H

Breakpoint

0000CH

Rezervat

00010H

Depire

5 31

00014H 0007CH

Disponibil

32 255

00080H 003FCH

Instruciuni

0 - 255

00000H 003FCH

33

Proiectarea Microsistemelor Digitale

ntreruperi externe:

mascabile:

nemascabile:

prin NMI,
predefinit de tipul 2.

ntreruperi interne:

prin INTR,
generate de un controler de ntreruperi 8259A,
sistemul de nteruperi trebuie s fie activat (IF = 1),
max. 224 nivele, ncepnd cu intrarea 32.

generate de instruciunile INT nn,


predefinite, autogenerate ca urmare a unor evenimente interne
deosebite.

Timpul de procesare: 50 61 perioade de tact.


Prioritate implicit: eroare la divizare, INT nn, INTO, NMI, INTR i pas cu
pas.
34

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