Sunteți pe pagina 1din 34

Universitatea Politehnica Timi oara 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




Con inut: Introducere


  

Ce este un microsistem digital? Structura unui microprocesor i a unui microcontroler Schema bloc a unui microsistem digital Microprocesorul 8086 Microprocesorul 80386 Unitatea central Proiectarea unui decodificator de memorii Conectarea memoriei fixe, a memoriei SRAM i a memoriei DRAM Proiectarea unui decodificator de porturi Tipuri de porturi Comanda unui semnal prin program Interfa a serial ; circuitul specializat 8251 Temporizarea i num rarea de evenimente; circuitul specializat 8253 Interfa a paralel ; circuitul specializat 8255

Unitatea central
  

Conectarea memoriilor
 

Conectarea porturilor de intrare/ ie ire


  

Circuite specializate programabile


  

DMA Sistemul de ntreruperi


 

ntreruperi externe i interne, prioritizare Circuitul specializat 8259

Aplica ii

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, Timi oara, 2003 M. Popa, Sisteme cu microprocesoare; Orizonturi Universitare, Timi oara, 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:
cunoa terea defini iei, caracteristicilor, structurii i func ion rii unui microsistem digital; studiul problemelor tipice care apar la proiectarea unui microsistem digital bazat pe microprocesor precum i a solu iilor tipice; n elegerea no iunii de circuit specializat programabil i studiul ctorva circuite tipice; studiul unor aplica ii tipice; dobndirea de cuno tin e n vederea proiect rii 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 aplica ii. Microprocesorul se poate defini ca fiind un circuit logic programabil de c tre utilizator, ntr-o singur capsul i cu func ie de procesor de uz general. Microcontrolerul se poate defini ca un circuit logic, programabil de c tre utilizator, cu o structur adaptat pentru rezolvarea unei largi game de aplica ii de timp real. El nu este folosit ca procesor de uz general ci ca procesor orientat pe aplica ii, 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 bi i, al firmei INTEL; 1972: primul microprocesor pe 8 bi i, 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 , predic ia dinamic a ramific rilor;

Proiectarea Microsistemelor Digitale


 

1997: Pentium II; 1999: Pentium III:


2 nivele de memorie cache, microarhitectura de tip P6 care asigur execu ia dinamic a instruc iunilor;


   

2002: Pentium IV.


1981: primul PC con inea microcontrolerul 8048 n tastatur ; exist microcontrolere pe 4, 8, 16 i 32 bi i; familii de microcontrolere: mai multe microcontrolere cu acela i nucleu, de ex. familia 8051; produc tori: PHILIPS, MICROCHIP, MOTOROLA, ZILOG, HITACHI, TEXAS INSTRUMENTS etc. Direc ii de dezvoltare diferite:
microprocesoare: cre terea vitezei, a capacit ii de memorie adresabile, nglobarea unor facilit i pentru lucrul cu limbaje de nivel nalt pentru aplica ii de uz general, microcontrolere: au fost optimizate pentru achizi ii de date i aplica ii de monitorizare i control, n general pentru aplica ii 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 n elege un grup de linii cu caracteristici comune func ionale, logice i electrice i cu posibilitatea de a permite conectarea direct la ea a mai multor blocuri care ndeplinesc, ns , anumite cerin e. Condi ii:
uniformitate func ional nseamn c rolul i scopul liniilor s fie acela i, uniformitate logic nseamn nivelul activ al semnalelor s fie acela i iar uniformitate electric nseamn c liniile s aib acelea i caracteristici electrice; blocuri cu ie iri cu 3 st ri.

Orice microprocesor are 3 magistrale:


de adrese, de date i de comand

i control

10

Proiectarea Microsistemelor Digitale




Magistrala de adrese:
indic celula de memorie sau circuitul de I/E, ie iri sau bidirec ionale dac microprocesorul con ine memorie cache, capacitatea = 2n loca ii, n fiind num rul liniilor de adres .

Magistrala de date:
stabile te num rul de bi i ai unui microprocesor, 8, 16, 32, 64, bidirec ionale, sensul de transfer este stabilit de microprocesor.

Magistrala de comand

i control:

indic ce opera ii 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 instruc iunii, DCI: coamnd DCC, registrul instruc iunii, RI: memoreaz temporar instruc iunile, num r tor 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 leg tur cu setul de instruc iuni;

12

Proiectarea Microsistemelor Digitale

registre cu func iuni generale: pot fi accesate prin intermediul instruc iunilor, minimiznd num rul de accese la memorie: generale, de date, de adrese i de control i stare, registre speciale: con in informa ii pentru controlul execu iei programelor i pentru realizarea unor facilit i.

Probleme specifice ale unui proiectant de microprocesor legate de setul de registre:


raportul registre cu func iuni generale/ registre speciale (sau, altfel spus: cum se asigur performan maxim : cu mai multe registre cu func iuni generale sau cu mai multe registre speciale?), num rul de registre (cum se asigur performan maxim : cu mai multe sau cu mai pu ine registre?).

13

Proiectarea Microsistemelor Digitale




Alte caracteristici importante ale microprocesoarelor:


setul de instruc iuni:
 

indic programatorului posibilit ile microprocesorului, determin evolu ia microprocesoarelor. comunicarea microprocesorului cu exteriorul, legat de posibilitatea de ncapsulare: cerin e de num r mare de terminele/ limit ri de cost i spa iu:
multiplexarea unui num r de terminale: avantaj pentru proiectantul de microprocesor, dezavantaj pentru proiectantul de sistem hardware, larg aplicat la microcontrolere, capsule cu num r mare de terminale:
 

terminalele:
 

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




Particularit i ale proiect rii sistemelor cu microcontrolere:


permit realizarea de sisteme cu circuite pu ine, de aici rezultnd dimensiuni mici, siguran n func ionare, fiabilitate, consum redus; ntruct un microcontroler nglobeaz att periferie (interfe e seriale, contoare, temporizatoare) ct i porturi care pot fi comandate la nivel de rang, num rul porturilor externe este mic sau chiar nul; ntruct majoritatea microcontrolerelor con in memorie fix , microsistemele cu microcontrolere con in memorie fix extern doar n 2 cazuri: fie microcontrolerul respectiv nu con ine memorie fix intern , fie memoria fix intern nu este suficient , caz mai pu in uzual; dac aplica ia cere memorie RAM de dimensiuni mici, c iva zeci, eventual sute de octe i, atunci nu va fi necesar nici memorie RAM extern ; ntruct microcontrolerele con in cteva zeci de linii de port, ele se recomand n aplica ii n care opera iile de intrare/ ie ire sunt preponderente; utilizarea microcontrolerelor este recomandat n aplica ii, 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 ini ializare, amplificarea i demultiplexarea magistralelor);

Memoria fix :
implementat cu circuite ROM, OTP, EPROM, EEPROM sau Flash, memoreaz programe de sistem sau aplicative, la PC con ine doar un set de rutine de baz pentru comunicarea procesorului cu periferia, programe de test, variabile care fixeaz anumite particularit i func ionale i un program nc rc tor care va nc rca sistemul de operare de pe suport extern n memoria de tip RAM i l va lansa n execu ie.

Memoria de scriere/ citire (RAM):


pentru memor ri 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/ ie ire:


asigur interfa a dintre unitatea central i echipamentele de intrare/ ie ire, converte te informa ia din formatul unit ii centrale n cel al perifericelor i invers.

Decodificatorul de memorie (DECM):


genereaz semnale de selec ie pentru circuitele de memorie, are ca intr ri linii din magistrala de adrese.

Decodificatorul de porturi (DECP):


genereaz semnale de selec ie pentru circuitele de memorie, are ca intr ri 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 bi i care a cunoscut o larg utilizare; apari ia 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 / ie ire 8089. Caracteristici: registrele interne i magistrala de date extern sunt pe 16 bi i; posibilitatea de a adresa direct 1 Mo de memorie; vitez m rit de lucru datorit att frecven ei tactului ct i unei structuri interne bazat pe conceptul de suprapunere care permite aducerea din memorie, n avans, a instruc iunilor n timpul unor cicluri f r acces la magistrale; poate acoperi o gam larg de aplica ii 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 aplica ii relativ simple, n care microprocesorul genereaz el nsu i semnalele necesare transferurilor cu memoria i cu porturile de intrare/ ie ire, maxim: pentru aplica ii 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 configura ii hardware, pentru tipuri de aplica ii 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 semnifica ii.

22

Proiectarea Microsistemelor Digitale




Structura intern

23

Proiectarea Microsistemelor Digitale




Setul de registre

24

Proiectarea Microsistemelor Digitale




Ciclurile ma in
execu ia unei instruc iuni nseamn o secven de cicluri ma in , un ciclu ma in dureaz un num r de st ri, minim 4 la 8086, notate cu T1 T4, un ciclu ma in poate fi extins prin inserarea de st ri de a teptare, o stare nseamn o perioad de tact.

Poate executa 5 tipuri de cicluri:


citire date i intrare pentru modul minim, scriere date i ie ire pentru modul minim, citire date i intrare pentru modul maxim, scriere date i ie ire 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 cel lalt; faciliteaz relocarea dinamic a programelor; pentru aceasta este necesar ca acestea s nu afecteze con inuturile registrelor segment i s nu fac referire la loca ii din afara segmentului; programul poate fi plasat oriunde n memorie prin modificarea con inuturilor registrelor de segment; se poate utiliza un num r mare de stive, prin plasarea adresei de nceput a segmentului stiv n registrul SS i a vrfului stivei n SP;

dezavantaje:
limit ri n lungimea programelor introduse de dimensiunile segmentelor; adresa fizic se ob ine din dou configura ii printr-un mecanism care necesit timp deci duce la o sc dere 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/ ie ire


conectarea porturilor n spa iul de memorie, conectarea porturilor n spa iul de intrare/ ie ire dedicat: suprapus peste primul segment de memorie.

Transfer de operanzi pe:


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

Adrese de port pe:


16 bi i: se folose te adresarea indirect prin DX (65536 porturi), 8 bi i: se folose te adresarea direct (256 porturi).

Instruc iuni IN i OUT


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

31

Proiectarea Microsistemelor Digitale




Solu ii pentru generarea semnalelor de selec ie 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 octe i:


Tip Eroare la divizare Pas cu pas ntrerupere nemascabil Breakpoint Rezervat Dep ire Disponibil Instruc iuni Intrare 0 1 2 3 4 5 31 32 255 0 - 255 Adres 00000H 00004H 00008H 0000CH 00010H 00014H 0007CH 00080H 003FCH 00000H 003FCH

33

Proiectarea Microsistemelor Digitale




ntreruperi externe:
mascabile:
   

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. prin NMI, predefinit de tipul 2.

nemascabile:
 

ntreruperi interne:
generate de instruc iunile 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