microcontrolere-curs
TRANSCRIPT
-
7/29/2019 Microcontrolere-curs
1/74
1. Introducere2. Modele i limbaje pentru specificaia
sistemelor
3. Interfee de comunicaie4. Periferice pentru sisteme dedicate5. Microcontrolere6. Procesoare dedicate7. Dezvoltarea programelor8. Sisteme de operare dedicate9. Implementarea sistemelor dedicate
27.11.2012 Sisteme de calcul dedicate (05-1) 1
-
7/29/2019 Microcontrolere-curs
2/74
Microcontrolere 8051Microcontrolere PICMicrocontrolere AVRMicrocontrolere DSP
27.11.2012 Sisteme de calcul dedicate (05-1) 2
-
7/29/2019 Microcontrolere-curs
3/74
Arhitectura 8051
Organizarea memoriei
Registre cu funcii speciale
Porturi de I/E
27.11.2012 Sisteme de calcul dedicate (05-1) 3
-
7/29/2019 Microcontrolere-curs
4/74
A fost proiectat de firma Intel la nceputulanilor 1980 familia MCS-51
Numeroase microcontrolere proiectateulterior sunt compatibile cu arhitectura 8051
Diferii productori au adoptat arhitectura Compatibilitatea programelor
Exist diferite extensii ale arhitecturii 8051 Memorii de dimensiuni mai mari Interfee de I/E suplimentare
27.11.2012 Sisteme de calcul dedicate (05-1) 4
-
7/29/2019 Microcontrolere-curs
5/74
UCP de 8 bii aplicaii de controlMemorii separate de program i de date
arhitectur Harvard
Spaii de adresare de cte 64 KB Memorie intern de program: 4 KB, 8 KB, 16 KB
ROM (EPROM) Memorie intern de date: 128/256 B RAM
Patru porturi de I/E 32 linii bidirecionale
Dou numrtoare/contoare de timp
Interfa serial UART
27.11.2012 Sisteme de calcul dedicate (05-1) 5
-
7/29/2019 Microcontrolere-curs
6/74
27.11.2012 Sisteme de calcul dedicate (05-1) 6
-
7/29/2019 Microcontrolere-curs
7/74
Semnale -INT0, -INT1: surse de ntreruperi externe
T0, T1: intrri de ceas pentru numrtoare
-RD: citire pentru memoria RAM extern -WR: scriere pentru memoria RAM extern
-EA (External Access): selecia primilor 4 KB (8 KB,16 KB) ai memoriei de program memoriaintern sau extern
ALE (Address Latch Enable): semnal pentrumultiplexarea adreselor i datelor (P0)
27.11.2012 Sisteme de calcul dedicate (05-1) 7
-
7/29/2019 Microcontrolere-curs
8/74
-PSEN (Program Store ENable): semnal de strobpentru citirea memoriei de program externe
P0: port de adrese (A7..A0) sau date; port de I/E
P2: port de adrese (A15..A8); port de I/E P1, P3: porturi de I/E
RXD: intrare pentru comunicaia serial
TXD: ieire pentru comunicaia serial
27.11.2012 Sisteme de calcul dedicate (05-1) 8
-
7/29/2019 Microcontrolere-curs
9/74
Arhitectura 8051
Organizarea memoriei
Registre cu funcii speciale
Porturi de I/E
27.11.2012 Sisteme de calcul dedicate (05-1) 9
-
7/29/2019 Microcontrolere-curs
10/74
Spaii de adrese separate pentru memoriade program i cea de date
Memoria de program poate fi numai citit
Primii 4 KB, 8 KB sau 16 KB ai memoriei deprogram sunt interni
Memoria de date poate fi accesat prin adrese
de 8 bii Se pot genera adrese de 16 bii pentru memoria
de date prin registrul DPTR
27.11.2012 Sisteme de calcul dedicate (05-1) 10
-
7/29/2019 Microcontrolere-curs
11/74
Memoria de program
Dup resetare, execuia programului ncepe de laadresa 0000h
Locaiile 0003h .. 0033hconin rutinele de tratareale ntreruperilor
Adresele memoriei de program sunt ntotdeauna
de 16 bii -EA: valideaz sau invalideaz utilizarea memoriei
de program interne
27.11.2012 Sisteme de calcul dedicate (05-1) 11
-
7/29/2019 Microcontrolere-curs
12/74
27.11.2012 Sisteme de calcul dedicate (05-1) 12
-
7/29/2019 Microcontrolere-curs
13/74
Configuraie pentru utilizarea memoriei de programexterne
27.11.2012 Sisteme de calcul dedicate (05-1) 13
-
7/29/2019 Microcontrolere-curs
14/74
Memoria intern de date Adresele pentru aceast memorie sunt de 8 bii
spaiu adresabil de 256 octei
Memoria este mprit n mai multe blocuri
Adresele 00h..1Fh: patru bancuri de cte 8 registre(R0 .. R7)
Adresele 20h..2Fh: locaii adresabile la nivel de bit
(adrese de bii ntre 00h..7Fh) Adresele 30h..7Fh: 80 de locaii disponibile
(inclusiv pentru stiv)
27.11.2012 Sisteme de calcul dedicate (05-1) 14
-
7/29/2019 Microcontrolere-curs
15/74
27.11.2012 Sisteme de calcul dedicate (05-1) 15
-
7/29/2019 Microcontrolere-curs
16/74
Adresele 80h..FFh: registre cu funcii speciale SFR(Special Function Register) adresare direct
Aceeai zon poate conine 128 de locaii
suplimentare adresare indirectMemoria extern de date
Adresele pentru aceast memorie pot fi de 8 sau16 bii
-RD, -WR: semnale pentru citirea i scriereamemoriei externe de date
27.11.2012 Sisteme de calcul dedicate (05-1) 16
-
7/29/2019 Microcontrolere-curs
17/74
Configuraie pentru utilizarea unei memorii externe de datede pn la 2 KB
27.11.2012 Sisteme de calcul dedicate (05-1) 17
-
7/29/2019 Microcontrolere-curs
18/74
Arhitectura 8051
Organizarea memoriei
Registre cu funcii speciale
Porturi de I/E
27.11.2012 Sisteme de calcul dedicate (05-1) 18
-
7/29/2019 Microcontrolere-curs
19/74
Registre utilizate pentru unele instruciuni ipentru controlul diferitelor periferice Pot fi accesate numai prin adresare direct
Nucleul de baz 8051 conine 21 de registrespeciale SFR
Microcontrolerele mbuntite conin
registre SFR suplimentareRegistrele cu adrese de forma X0h i X8h sunt
adresabile i la nivel de bit (ntre 80h..FFh)
27.11.2012 Sisteme de calcul dedicate (05-1) 19
-
7/29/2019 Microcontrolere-curs
20/74
27.11.2012 Sisteme de calcul dedicate (05-1) 20
-
7/29/2019 Microcontrolere-curs
21/74
Registrul ACC
Registru acumulator
Conine unul din operanzii instruciunilor
aritmetice/logice i rezultatul
Transferurile ntre registre trebuie efectuate prinintermediul acumulatorului
Registrul B Conine unul din operanzii instruciunilor denmulire i mprire
27.11.2012 Sisteme de calcul dedicate (05-1) 21
-
7/29/2019 Microcontrolere-curs
22/74
Registrul PSW (Program Status Word)
Bii de stare: CY, AC, OV, P
Bit de stare definit de utilizator: F0
Doi bii pentru selecia bancului de registre
Registrul DPTR (Data Pointer)
Const din dou registre de 8 bii: DPH, DPL
Se utilizeaz pentru adresarea memoriei externe
27.11.2012 Sisteme de calcul dedicate (05-1) 22
-
7/29/2019 Microcontrolere-curs
23/74
Registrul SP (Stack Pointer)
Indicator de stiv La resetare este iniializat cu 07h
La execuia instruciunilorPUSHi CALL,coninutul SP este incrementat cu 1
Registrul IE (Interrupt Enable)
Permite validarea/invalidarea ntreruperilor 5 surse de ntrerupere: -INT0, -INT1, T0, T1, portul
serial
27.11.2012 Sisteme de calcul dedicate (05-1) 23
-
7/29/2019 Microcontrolere-curs
24/74
Registrul IP (Interrupt Priority)
Permite setarea prioritii ntreruperilor
Prioritate nalt sau sczut
Registrele P0, P1, P2, P3
Conin starea liniilor porturilor de I/E
Permit configurarea liniilor porturilor ca intrri sau
ieiri La resetare, toate liniile sunt configurate ca intrri
27.11.2012 Sisteme de calcul dedicate (05-1) 24
-
7/29/2019 Microcontrolere-curs
25/74
Registrele TL0/TH0 (Timer 0 Low/High)
Conin valoarea contorului de timp T0
Registrele TL1/TH1 (Timer 1 Low/High)
Conin valoarea contorului de timp T1
Registrul TMOD (Timer Mode)
Selecteaz modul de funcionare al contoarelor de
timp T0i T1: 13 bii; 16 bii; 8 bii cu auto-rencrcare; dou contoare independente de cte8 bii
27.11.2012 Sisteme de calcul dedicate (05-1) 25
-
7/29/2019 Microcontrolere-curs
26/74
Registrul TCON (Timer Control) Permite pornirea/oprirea contoarelor Conine bii indicatori ai depirii
Registrul SBUF (Serial Port Buffer) Conine datele transmise i recepionate de portul
serial
Registrul SCON (Serial Port Control) Conine bii pentru: selecia modului; starea
transmisiei i recepiei
27.11.2012 Sisteme de calcul dedicate (05-1) 26
-
7/29/2019 Microcontrolere-curs
27/74
Arhitectura 8051
Organizarea memoriei Registre cu funcii speciale
Porturi de I/E
27.11.2012 Sisteme de calcul dedicate (05-1) 27
-
7/29/2019 Microcontrolere-curs
28/74
Porturile sunt bidirecionale
Fiecare port conine: un registru (P0..P3); undriver de ieire; un buffer de intrare
Pinii portului P3sunt multifuncionali La aceti pini se conecteaz i semnalele RXD,
TXD, -INT0, -INT1, T0, T1, -WR, -RD
Controlul direciei unei linii de I/E: prin setareabitului corespunztor al registrului Px Ieire: Px = '0' Intrare: Px = '1'
27.11.2012 Sisteme de calcul dedicate (05-1) 28
-
7/29/2019 Microcontrolere-curs
29/74
Porturile P1, P2i P3au rezistene internepentru conectarea la tensiunea Vcc (pull-up) Porturi cvasi-bidirecionale
Portul P0nu are o rezisten intern pull-up Liniile P0utilizate ca ieiri sunt cu dren deschis
port bidirecional
Porturile P0i P2 nu se pot utiliza ca I/Egenerale dac este necesar adresarea uneimemorii externe
27.11.2012 Sisteme de calcul dedicate (05-1) 29
-
7/29/2019 Microcontrolere-curs
30/74
Microcontrolere 8051Microcontrolere PICMicrocontrolere AVRMicrocontrolere DSP
27.11.2012 Sisteme de calcul dedicate (05-1) 30
-
7/29/2019 Microcontrolere-curs
31/74
Prezentare general Arhitectura PIC24H
27.11.2012 Sisteme de calcul dedicate (05-1) 31
-
7/29/2019 Microcontrolere-curs
32/74
PICProgrammable Interface Controller,redenumit n Programm. Intelligent Computer
Microcontrolere produse de Microchip
TechnologyDiferite serii: PIC10, PIC12, PIC16, PIC17, PIC18,
PIC24, PIC32 Instruciuni de 12, 14, 16, 24 sau 32 biiDate de 8, 16 sau 32 biiArhitectur HarvardArhitectur RISC
27.11.2012 Sisteme de calcul dedicate (05-1) 32
-
7/29/2019 Microcontrolere-curs
33/74
Instruciunile se execut ntr-un singur ciclu deinstruciuni (salturi: 2 cicluri) Un ciclu de instruciuni: 4 cicluri de ceas
Memoria de date RAM Setul de registre funcioneaz ca o memorie RAM Bancuri de memorie pentru extinderea adresrii
Memoria de program Implementare: memorie ROM, EPROM sau flash
Dimensiunea cuvntului Unitatea de adresare a memoriei de program nu este
aceeai cu cea a memoriei de date
27.11.2012 Sisteme de calcul dedicate (05-1) 33
-
7/29/2019 Microcontrolere-curs
34/74
Arhitectura de baz (PIC10) Un singur registru acumulator (W) 32 de registre locaii RAM Memoria extern de date i memoria extern de
program nu sunt adresabile direct Memoria de program: 512 cuvinte (12 bii) Extindere pn la 2 K cuvinte: bancuri de memorie
Stiv hardware de dou cuvinte pentru apeluri
de subrutine Adresarea indirect este posibil prin dou
registre suplimentare (FSR i INDF)
27.11.2012 Sisteme de calcul dedicate (05-1) 34
-
7/29/2019 Microcontrolere-curs
35/74
PIC12, PIC16 128 de registre (8 bii)
Primele 32: registre cu funcii speciale
Urmtoarele 96: memorie RAM Memorie de date EEPROM de 64 locaii (8 bii)
Memorie de program (flash) de pn la 2 K cuvinte(14 bii), adresabil direct
Extindere pn la 8 K cuvinte
Stiv hardware de 8 cuvinte
27.11.2012 Sisteme de calcul dedicate (05-1) 35
-
7/29/2019 Microcontrolere-curs
36/74
PIC18 Acces de citire la memoria de program (pn la 64
K cuvinte, 16 bii)
Interfa cu o memorie extern de program Memorie de date de pn la 4 KB Transferuri directe ntre registre Circuit de nmulire de 8 x 8 bii
Stiv hardware de 31 cuvinte Instruciuni de salt condiionat
27.11.2012 Sisteme de calcul dedicate (05-1) 36
-
7/29/2019 Microcontrolere-curs
37/74
PIC24 Dou familii de 16 bii PIC24F: consum de energie redus, 16 MIPS
PIC24H: performane superioare, 40 MIPS 16 registre de lucru (W0 .. W15), 16 bii Memorie RAM: 512 B .. 96 KB Memorie de program (flash): 4 KB .. 256 KB
Instruciuni de 24 bii Stiv software Operaie de nmulire de 16 x 16 bii cu semn
27.11.2012 Sisteme de calcul dedicate (05-1) 37
-
7/29/2019 Microcontrolere-curs
38/74
PIC32 Nucleu MIPS M4K de 32 bii, 80 MHz Instruciuni de 32 sau 16 bii
Memorie RAM: 128 KB Memorie de program (flash): 512 KB Permite execuia programului n memoria RAM Bufferde prencrcare a instruciunilor (256 B)
Operaie de nmulire i acumulare de 32 x 32 bii Modul MAC Ethernet 10/100 i controler USB OTG
cu canale DMA dedicate
27.11.2012 Sisteme de calcul dedicate (05-1) 38
-
7/29/2019 Microcontrolere-curs
39/74
Prezentare general Arhitectura PIC24H
27.11.2012 Sisteme de calcul dedicate (05-1) 39
-
7/29/2019 Microcontrolere-curs
40/74
Caracteristici Set de instruciuni optimizat pentru limbajul C Adresare liniar a memoriei de program
Adresare liniar a memoriei de date Un ciclu de ceas pentru majoritatea instruciunilor Operaii de mprire de 32/16 i 16/16 bii Modul DMA cu 8 canale, cu buffer de 2 KB
Memorie SRAM de date: pn la 30 KB Memorie flash de program: pn la 256 KB Pn la 85 pini de I/E, pini de intrare tolerani la 5 V
27.11.2012 Sisteme de calcul dedicate (05-1) 40
-
7/29/2019 Microcontrolere-curs
41/74
Schema bloc
27.11.2012 Sisteme de calcul dedicate (05-1) 41
-
7/29/2019 Microcontrolere-curs
42/74
UCP Fiecare registru de lucru poate conine date,
adrese sau valori de offset
W15: indicator de stiv (SP) Spaiul memoriei de program: 4 M cuvinte (24 bii) Spaiul memoriei de date: 32 K cuvinte sau 64 KB Unitate de generare a adreselor (AGU): acceseaz
memoria de date ca un spaiu liniar (indirect) Datele din memoria de program pot fi accesate
direct prin mecanismul Program Space Visibility
27.11.2012 Sisteme de calcul dedicate (05-1) 42
-
7/29/2019 Microcontrolere-curs
43/74
Memorie RAM DMA de 2 KB, accesibil simultande UCP i controlerul DMA
Se pot executa instruciuni cu trei operanzi ntr-un
singur ciclu de ceas Instruciune REPEAT pentru bucle de program Circuit de nmulire de 17 x 17 bii Operaii de mprire iterative bucle REPEAT
Circuit de 40 bii pentru deplasarea la stnga saula dreapta cu pn la 16 bii un ciclu
Sistem de ntreruperi cu 7 nivele de prioritate
27.11.2012 Sisteme de calcul dedicate (05-1) 43
-
7/29/2019 Microcontrolere-curs
44/74
Convertoare A/D Pn la 32 de canale analogice Rezoluie configurabil de 10 sau 12 bii
Rata de eantionare 10 bii: 1,1 M eantioane/s (2,2 M eantioane/s cu dou
convertoare A/D) 12 bii: 500 K eantioane/s (1 M eantioane/s cu dou
convertoare A/D)
Comanda conversiei: manual sau sincronizat cuuna din patru surse de declanare
27.11.2012 Sisteme de calcul dedicate (05-1) 44
-
7/29/2019 Microcontrolere-curs
45/74
Contoare de timp Pn la 9 contoare de timp de 16 bii Se pot configura ca i 4 contoare de 32 de bii
Diferite moduri: ceas de timp real, contor de timp,numrtor sincron sau asincron
Module comparatoare/PWM Compar valoarea unei baze de timp selectate cu
valoarea unor registre de comparare Pot genera un impuls sau o secven de impulsuri Pn la 8 canale, mod de funcionare PWM
27.11.2012 Sisteme de calcul dedicate (05-1) 45
-
7/29/2019 Microcontrolere-curs
46/74
Module SPI Comunicaie serial sincron Permit toate modurile de funcionare SPI
Cuvinte de 8 sau 16 biiModule UART
Comunicaie serial asincron (RS-232, RS-485) Generator integrat al ratei de bii Viteze de pn la 10 Mbii/s Codificarea i decodificarea prin hardware a
mesajelorIrDA
27.11.2012 Sisteme de calcul dedicate (05-1) 46
-
7/29/2019 Microcontrolere-curs
47/74
Module I2C Comunicaie serial sincron Adrese de 7 sau 10 bii
Frecvene de 100 KHz sau 400 KHz Funcionare multi-master: detectarea coliziunilor
Module CAN Implementeaz protocoalele CAN 2.0A i 2.0B Cadre de date standard i extinse Lingimi ale mesajelor pn la 8 octei Vitez programabil pn la 1 Mbit/s
27.11.2012 Sisteme de calcul dedicate (05-1) 47
-
7/29/2019 Microcontrolere-curs
48/74
Porturi de I/E Unii pini ai porturilor de I/E au funcii alternative
pentru periferice
Pinii porturilor de I/E au trei registre asociate Registrul de direcie TRISx: specific dac pinul
este intrare ('1') sau ieire ('0') Registrul latch de date LATx: memoreaz datele
de ieire Registrul portului PORTx: permite citirea strii
logice a pinilor de intrare
27.11.2012 Sisteme de calcul dedicate (05-1) 48
-
7/29/2019 Microcontrolere-curs
49/74
27.11.2012 Sisteme de calcul dedicate (05-1) 49
Microcontrolere 8051
Microcontrolere PICMicrocontrolere AVRMicrocontrolere DSP
-
7/29/2019 Microcontrolere-curs
50/74
27.11.2012 Sisteme de calcul dedicate (05-1) 50
Prezentare general
Arhitectura ATmega Nucleul UCP
Tipuri de memorii
Porturi de I/E
-
7/29/2019 Microcontrolere-curs
51/74
27.11.2012 Sisteme de calcul dedicate (05-1) 51
Microcontrolere RISC de 8 i 32 biiProduse de firma AtmelArhitectur Harvard
Arhitectura de baz a fost proiectat laInstitutul Norvegian de Tehnologietehnologie transferat la Atmel Norvegia
AVR Advanced Virtual RISC sau Alf &Vegard [RISC]
AT90S8515: aceiai pini ca i 8051
-
7/29/2019 Microcontrolere-curs
52/74
Familiile de 8 bii: 32 de registre generale Registrele sunt mapaten spaiul memoriei
Sistem pipelinecu dou etaje
Instruciuni executate n 1-2 cicluri de ceasUnele modele conin o interfa cu o
magistral extern Spaiu de adresare de 64 KB
Conectarea unor memorii de date sau perifericeModuri multiple pentru reducerea energiei
consumate
27.11.2012 Sisteme de calcul dedicate (05-1) 52
-
7/29/2019 Microcontrolere-curs
53/74
27.11.2012 Sisteme de calcul dedicate (05-1) 53
Microcontrolere tinyAVR Memorie flash de program: 1 .. 8 KB
Memorie SRAM de date: 64 .. 512 B
Memorie EEPROM: 64 .. 512 B
Set limitat de periferice: comparator analogic,amplificator programabil, convertor A/D, interfaserial universal, PWM, senzor de temperatur
Consum redus de energie prin tehnologiapicoPower
Posibilitatea alimentrii de la o singur baterie
-
7/29/2019 Microcontrolere-curs
54/74
Microcontrolere megaAVR Memorie flash de program: 4 .. 256 KB Memorie SRAM de date: 512 B .. 8 KB Memorie EEPROM: 256 B .. 4 KB Set extins de instruciuni Set extins de periferice: exist n plus contoare de
timp, interfa TWI (Two-Wire Interface), interfaSPI, controler USART
Variante de microcontrolere megaAVRcare conincontrolere LCD, USB, CAN, Ethernet etc.
Consum redus de energie
27.11.2012 Sisteme de calcul dedicate (05-1) 54
-
7/29/2019 Microcontrolere-curs
55/74
Microcontrolere XMEGA Memorie flash de program: 64 .. 384 KB
Memorie SRAM de date: 2 .. 32 KB
Memorie EEPROM: 1 .. 4 KB Controler DMA (4 canale) Convertoare A/D i D/A de 12 bii Sistem de gestiune a evenimentelor (4/8 canale) Modul de criptare pentru standardele AES i DES Sub-familia A1: interfa cu o magistral extern Frecvena UCP: pn la 32 MHz
27.11.2012 Sisteme de calcul dedicate (05-1) 55
-
7/29/2019 Microcontrolere-curs
56/74
Microcontrolere AVR32
Familia AVR32 UC3
Arhitectur Harvard cu trei etaje pipeline
Acces la memoria SRAM din cadrul UCP ntr-unsingur ciclu de ceas
Dou memorii SRAM suplimentare DMA
Extensii opionale: DSP cu aritmetic saturat,Java, SIMD
Modul opional de gestiune a memoriei
27.11.2012 Sisteme de calcul dedicate (05-1) 56
-
7/29/2019 Microcontrolere-curs
57/74
Seriile A0, A1: interfee USB OTG, Ethernet MAC,SDRAM
Seriile A3, A4: interfa USB de vitez ridicat,
interfa SDRAM, convertor D/A audio stereo Seria B: pentru aplicaii USB
Seria C: pentru aplicaii de control industrial ipentru industria de automobile
Seria D: pentru aplicaii care necesit cost redus
Seria L: pentru sisteme alimentate de la baterie
27.11.2012 Sisteme de calcul dedicate (05-1) 57
-
7/29/2019 Microcontrolere-curs
58/74
27.11.2012 Sisteme de calcul dedicate (05-1) 58
Prezentare general
Arhitectura ATmega Nucleul UCP
Tipuri de memorii
Porturi de I/E
-
7/29/2019 Microcontrolere-curs
59/74
27.11.2012 Sisteme de calcul dedicate (05-1) 59
-
7/29/2019 Microcontrolere-curs
60/74
27.11.2012 Sisteme de calcul dedicate (05-1) 60
Execuie pipelinea instruciunilor
Execuia este suprapus cu extragereainstruciunii urmtoare
Se execut o instruciune pe ciclu de ceas
Majoritatea instruciunilor sunt de 16 bii32 de registre generale (8 bii)
Spaiul memoriei de program conine: Seciunea programului ncrctor (boot) Seciunea programului de aplicaie
-
7/29/2019 Microcontrolere-curs
61/74
27.11.2012 Sisteme de calcul dedicate (05-1) 61
UAL Conexiune direct cu registrele generale Instruciuni ntre dou registre sau ntre un
registru i o valoare imediat Unele versiuni conin un circuit de nmulire
Registrele generale Timp de acces de un ciclu de ceas
R0 .. R31 Fiecare registru are asignati o adres a
memoriei de date primele 32 de locaii
-
7/29/2019 Microcontrolere-curs
62/74
27.11.2012 Sisteme de calcul dedicate (05-1) 62
Registrele R26..R31 se pot utiliza ca trei registre de16 bii pentru adresarea indirect a memoriei dedate X, Y, Z
Stiva Este implementat n memoria SRAM
Registrul SP (SPH, SPL) indic vrful stivei
Stiva crete spre adrese mici SP trebuie
iniializat cu o valoare de peste 60h Registrul SP este decrementat cu 1 (PUSH) sau cu
2 (CALL, ntrerupere)
-
7/29/2019 Microcontrolere-curs
63/74
27.11.2012 Sisteme de calcul dedicate (05-1) 63
Prezentare general
Arhitectura ATmega Nucleul UCP
Tipuri de memorii
Porturi de I/E
-
7/29/2019 Microcontrolere-curs
64/74
27.11.2012 Sisteme de calcul dedicate (05-1) 64
Memoria flash de program ATmega16: 16 KB (8 K x 16 bii)
Cel puin 10.000 de cicluri (scriere/tergere)
Memoria SRAM de date 32 locaii: registrele generale
64 locaii: registrele de I/E
1024 locaii: memoria SRAM intern de date
-
7/29/2019 Microcontrolere-curs
65/74
27.11.2012 Sisteme de calcul dedicate (05-1) 65
-
7/29/2019 Microcontrolere-curs
66/74
27.11.2012 Sisteme de calcul dedicate (05-1) 66
Memoria EEPROM de date
ATmega16: 512 B
Cel puin 100.000 cicluri (scriere/tergere)
Spaiu separat de date
Pentru scriere trebuie urmat o procedurspecific
Registre de acces EEPROM: registre de adres(EEARH, EEARL); registru de date (EEDR); registrude control (EECR)
-
7/29/2019 Microcontrolere-curs
67/74
27.11.2012 Sisteme de calcul dedicate (05-1) 67
Prezentare general
Arhitectura ATmega Nucleul UCP
Tipuri de memorii
Porturi de I/E
-
7/29/2019 Microcontrolere-curs
68/74
27.11.2012 Sisteme de calcul dedicate (05-1) 68
Porturi bidirecionale PORTA .. PORTD
Direcia unui pin de I/E se poate schimba fra afecta direcia altor pini
Fiecare pin are o rezisten pull-upselectabil
Exist trei registre pentru fiecare port
Registrul de date PORTx (R/W)
Registrul de direcie DDRx (R/W)
Registrul pinilor de intrare PINx (R/O)
-
7/29/2019 Microcontrolere-curs
69/74
27.11.2012 Sisteme de calcul dedicate (05-1) 69
Configurarea pinului PORTxn Pentru ieire: DDxn = '1'
Pentru intrare: DDxn = '0'
Activarea rezistenei pull-up: Se configureaz pinul ca intrare; PORTxn = '1'
Dezactivarea rezistenei pull-up:
PORTxn = '0', sau Se configureaz pinul ca ieire
-
7/29/2019 Microcontrolere-curs
70/74
Microcontrolere 8051
Microcontrolere PICMicrocontrolere AVRMicrocontrolere DSP
27.11.2012 Sisteme de calcul dedicate (05-1) 70
-
7/29/2019 Microcontrolere-curs
71/74
DSPDigital Signal ProcessorProcesoare optimizate pentru calcule
matematice intensive
Preiau sau citesc datele de intrare Execut prelucrrile asupra datelor Transfer la ieire sau memoreaz rezultatele Conin uniti pentru operaii MAC (Multiply
Accumulate) i circuite de deplasarePot avea spaii de adresare duale pentru date
Doi operanzi pot fi accesai simultan
27.11.2012 Sisteme de calcul dedicate (05-1) 71
-
7/29/2019 Microcontrolere-curs
72/74
Majoritatea au o arhitectur HarvardAplicaii
Prelucrarea semnalelor audio i video
Prelucrarea imaginilor Comunicaii (reele, telefoane)
Radio i televiziune digital
Aparatur medical
Navigare GPS
27.11.2012 Sisteme de calcul dedicate (05-1) 72
-
7/29/2019 Microcontrolere-curs
73/74
Microcontrolere DSP Conin un nucleu de procesor DSP i periferice
obinuite unui microcontroler
Set de instruciuni mixt: instruciuni DSP(transferuri de date i operaii aritmetice) iinstruciuni obinuite ale unui procesor
Se utilizeaz pentru aplicaii care necesit calculeintensive, dar costuri reduse: telefoane, aparatefoto digitale, robotic
27.11.2012 Sisteme de calcul dedicate (05-1) 73
-
7/29/2019 Microcontrolere-curs
74/74
Exemple de microcontrolere DSP Texas Instruments: seriile TMS320C62x,
TMS320C64x, TMS320C67x, TMS320C645x
Microchip Technology: seriile dsPIC30FXXX,dsPIC33FXXX
Freescale Semiconductor: seriile 56F800, 56F820,56F8000, 56F8100, 56F8300, 56F8400
Analog Devices: seriile ADSP-21xx, Blackfin,SHARC