SCD - Microcontrolere -...
Transcript of SCD - Microcontrolere -...
Cuprins
1. Introducere
2. Modele și limbaje pentru specificația sistemelor
3. Interfețe de comunicație
4. Periferice pentru sisteme dedicate
5. Microcontrolere
6. Procesoare dedicate
7. Dezvoltarea programelor
8. Implementarea sistemelor dedicate
Sisteme de calcul dedicate (05) 29.11.2019 1
Microcontrolere
•Microcontrolere 8051
•Microcontrolere PIC
•Microcontrolere AVR
•Microcontrolere DSP
Sisteme de calcul dedicate (05) 29.11.2019 2
Microcontrolere 8051
Arhitectura 8051
Organizarea memoriei
Registre cu funcții speciale
Porturi de I/E
Sisteme de calcul dedicate (05) 29.11.2019 3
Arhitectura 8051 (1)
•A fost proiectată de firma Intel la începutul anilor 1980 familia MCS-51
•Numeroase microcontrolere proiectate ulterior sunt compatibile cu arhitectura 8051Diferiți producători au adoptat arhitectura
Compatibilitatea programelor
•Există diferite extensii ale arhitecturii 8051
Memorii de dimensiuni mai mari
Interfețe de I/E suplimentare
Sisteme de calcul dedicate (05) 29.11.2019 4
Arhitectura 8051 (2)
•UCP de 8 biți aplicații de control•Memorii separate de program și de date arhitectură Harvard Spații de adresare de câte 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 bidirecționale•Două numărătoare/contoare de timp •Interfață serială UART
Sisteme de calcul dedicate (05) 29.11.2019 5
Arhitectura 8051 (3)
Sisteme de calcul dedicate (05) 29.11.2019 6
Arhitectura 8051 (4)
•SemnaleINT0#, INT1#: surse de întreruperi externeT0, T1: intrări de ceas pentru numărătoareRD#: citire pentru memoria RAM externăWR#: scriere pentru memoria RAM externăEA# (External Access): selecția primilor 4 KB (8 KB, 16 KB) ai memoriei de program memoria internă sau externăALE (Address Latch Enable): semnal pentru multiplexarea adreselor și datelor (P0)
Sisteme de calcul dedicate (05) 29.11.2019 7
Arhitectura 8051 (5)
PSEN# (Program Store ENable): semnal de strob pentru 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 comunicația serială
TXD: ieșire pentru comunicația serială
Sisteme de calcul dedicate (05) 29.11.2019 8
Microcontrolere 8051
Arhitectura 8051
Organizarea memoriei
Registre cu funcții speciale
Porturi de I/E
Sisteme de calcul dedicate (05) 29.11.2019 9
Organizarea memoriei (1)
•Spații de adrese separate pentru memoria de program și cea de dateMemoria de program poate fi numai citită
Primii 4 KB, 8 KB sau 16 KB ai memoriei de program sunt interni
Memoria de date poate fi accesată prin adrese de 8 biți
Se pot genera adrese de 16 biți pentru memoria de date prin registrul DPTR
Sisteme de calcul dedicate (05) 29.11.2019 10
Organizarea memoriei (2)
•Memoria de program După resetare, execuția programului începe de la adresa 0x0000
Locațiile 0x0003 .. 0x0033 conțin rutinele de tratare a întreruperilor
Adresele memoriei de program sunt întotdeauna de 16 biți
EA#: validează sau invalidează utilizarea memoriei de program interne
Sisteme de calcul dedicate (05) 29.11.2019 11
Organizarea memoriei (3)
Sisteme de calcul dedicate (05) 29.11.2019 12
Organizarea memoriei (4)
Configurație pentru utilizarea memoriei de program externe
29.11.2019 Sisteme de calcul dedicate (05) 13
Organizarea memoriei (5)
•Memoria internă de dateAdresele pentru această memorie sunt de 8 biți spațiu adresabil de 256 octețiMemoria este împărțită în mai multe blocuriAdresele 0x00 .. 0x1F: patru bancuri de câte 8 registre (R0 .. R7)Adresele 0x20 .. 0x2F: locații adresabile la nivel de bit (adrese de biți între 0x00 .. 0x7F) Adresele 0x30 .. 0x7F: 80 de locații disponibile (inclusiv pentru stivă)
Sisteme de calcul dedicate (05) 29.11.2019 14
Organizarea memoriei (6)
Sisteme de calcul dedicate (05) 29.11.2019 15
Organizarea memoriei (7)
Adresele 0x80 .. 0xFF: registre cu funcții speciale SFR (Special Function Register) adresare directă
Aceeași zonă poate conține 128 de locații suplimentare adresare indirectă
•Memoria externă de dateAdresele pentru această memorie pot fi de 8 sau 16 biți
RD#, WR#: semnale pentru citirea și scrierea memoriei externe de date
Sisteme de calcul dedicate (05) 29.11.2019 16
Organizarea memoriei (8)
Configurație pentru utilizarea unei memorii externe de date de până la 2 KB
29.11.2019 Sisteme de calcul dedicate (05) 17
Microcontrolere 8051
Arhitectura 8051
Organizarea memoriei
Registre cu funcții speciale
Porturi de I/E
Sisteme de calcul dedicate (05) 29.11.2019 18
Registre cu funcții speciale (1)
•Registre utilizate pentru unele instrucțiuni și pentru controlul diferitelor perifericePot fi accesate numai prin adresare directă
•Nucleul de bază 8051 conține 21 de registre speciale SFR
•Microcontrolerele îmbunătățite conțin registre SFR suplimentare
•Registrele cu adrese de forma X0 și X8 sunt adresabile și la nivel de bit (între 0x80 .. 0xFF)
Sisteme de calcul dedicate (05) 29.11.2019 19
Registre cu funcții speciale (2)
Sisteme de calcul dedicate (05) 29.11.2019 20
Registre cu funcții speciale (3)
•Registrul ACCRegistru acumulator
Conține unul din operanzii instrucțiunilor aritmetice/logice și rezultatul
Transferurile între registre trebuie efectuate prin intermediul acumulatorului
•Registrul BConține unul din operanzii instrucțiunilor de înmulțire și împărțire
Sisteme de calcul dedicate (05) 29.11.2019 21
Registre cu funcții speciale (4)
•Registrul PSW (Program Status Word)Biți de stare: CY, AC, OV, P
Bit de stare definit de utilizator: F0
Doi biți pentru selecția bancului de registre
•Registrul DPTR (Data Pointer)Constă din două registre de 8 biți: DPH, DPL
Se utilizează pentru adresarea memoriei externe
Sisteme de calcul dedicate (05) 29.11.2019 22
Registre cu funcții speciale (5)
•Registrul SP (Stack Pointer)Indicator de stivă
La resetare este inițializat cu 0x07
La execuția instrucțiunilor PUSH și CALL, conținutul SP este incrementat cu 1
•Registrul IE (Interrupt Enable)Permite validarea/invalidarea întreruperilor
5 surse de întrerupere: INT0#, INT1#, T0, T1, portul serial
Sisteme de calcul dedicate (05) 29.11.2019 23
Registre cu funcții speciale (6)
•Registrul IP (Interrupt Priority)Permite setarea priorității întreruperilor
Prioritate înaltă sau scăzută
•Registrele P0, P1, P2, P3Conțin starea liniilor porturilor de I/E
Permit configurarea liniilor porturilor ca intrări sau ieșiri
La resetare, toate liniile sunt configurate ca intrări
Sisteme de calcul dedicate (05) 29.11.2019 24
Registre cu funcții speciale (7)
•Registrele TL0/TH0 (Timer 0 Low/High)Conțin valoarea contorului de timp T0
•Registrele TL1/TH1 (Timer 1 Low/High)Conțin valoarea contorului de timp T1
•Registrul TMOD (Timer Mode)Selectează modul de funcționare al contoarelor de timp T0 și T1: 13 biți; 16 biți; 8 biți cu auto-reîncărcare; două contoare independente de câte 8 biți
Sisteme de calcul dedicate (05) 29.11.2019 25
Registre cu funcții speciale (8)
•Registrul TCON (Timer Control)Permite pornirea/oprirea contoarelor
Conține biți indicatori ai depășirii
•Registrul SBUF (Serial Port Buffer)Conține datele transmise și recepționate de portul serial
•Registrul SCON (Serial Port Control)Conține biți pentru: selecția modului; starea transmisiei și recepției
Sisteme de calcul dedicate (05) 29.11.2019 26
Microcontrolere 8051
Arhitectura 8051
Organizarea memoriei
Registre cu funcții speciale
Porturi de I/E
Sisteme de calcul dedicate (05) 29.11.2019 27
Porturi de I/E (1)
•Porturile sunt bidirecționale•Fiecare port conține: un registru (P0..P3); un driver de ieșire; un buffer de intrare•Pinii portului P3 sunt multifuncționaliLa acești pini se conectează și semnalele RXD,
TXD, INT0#, INT1#, T0, T1, WR#, RD#•Controlul direcției unei linii de I/E: prin setarea bitului corespunzător al registrului PxIeșire: Px = '0'
Intrare: Px = '1'
Sisteme de calcul dedicate (05) 29.11.2019 28
Porturi de I/E (2)
•Porturile P1, P2 și P3 au rezistenţe interne pentru conectarea la tensiunea Vcc (pull-up)
Porturi cvasi-bidirecționale
•Portul P0 nu are o rezistență internă pull-up
Liniile P0 utilizate ca ieșiri sunt cu drenă deschisă port bidirecțional
•Porturile P0 și P2 nu se pot utiliza ca I/E generale dacă este necesară adresarea unei memorii externe
Sisteme de calcul dedicate (05) 29.11.2019 29
Microcontrolere
•Microcontrolere 8051
•Microcontrolere PIC
•Microcontrolere AVR
•Microcontrolere DSP
Sisteme de calcul dedicate (05) 29.11.2019 30
Microcontrolere PIC
Prezentare generală
Arhitectura PIC24H
Sisteme de calcul dedicate (05) 29.11.2019 31
Prezentare generală (1)
•PIC – Programmable Interface Controller, redenumit în Programm. Intelligent Computer
•Microcontrolere produse de MicrochipTechnology
•Diferite serii: PIC10, PIC12, PIC16, PIC17, PIC18,PIC24, PIC32
•Instrucțiuni de 12, 14, 16, 24 sau 32 biți
•Date de 8, 16 sau 32 biți
•Arhitectură Harvard
•Arhitectură RISC
Sisteme de calcul dedicate (05) 29.11.2019 32
Prezentare generală (2)
•Instrucțiunile se execută într-un singur ciclu de instrucțiuni (salturi: 2 cicluri)Un ciclu de instrucțiuni: 4 cicluri de ceas
•Memoria de date RAMSetul de registre funcționează ca o memorie RAM Bancuri de memorie pentru extinderea adresării
•Memoria de program Implementare: memorie ROM, EEPROM sau flash
•Dimensiunea cuvântuluiUnitatea de adresare a memoriei de program nu este
aceeași cu cea a memoriei de date
Sisteme de calcul dedicate (05) 29.11.2019 33
Prezentare generală (3)
•Arhitectura de bază (PIC10)Un singur registru acumulator (W)64 de registre (8 biți) locații RAMMemoria de date și memoria de program nu sunt
adresabile directMemorie de date (flash): 128 B Memorie de program (flash): 256 .. 576 cuvinte
(12 biți)Stivă hardware de două cuvinte pentru apeluri de
subrutine Adresarea indirectă este posibilă prin două
registre suplimentare (FSR și INDF)
Sisteme de calcul dedicate (05) 29.11.2019 34
Prezentare generală (4)
•PIC12Memorie RAM: 256 B•Primele 32 locații (8 biți): registre cu funcții speciale
•Următoarele locații: memorie RAM
Memorie de date (flash): 128 B
Memorie de program (flash): 3,5 KB (2 K cuvinte de 14 biți), adresabilă direct •Extindere până la 8 K cuvinte
Stivă hardware de 8 cuvinte
Sisteme de calcul dedicate (05) 29.11.2019 35
Prezentare generală (5)
•PIC16Memorie RAM: 1 KB, 2KB sau 4 KB
Memorie de date (flash): 128 B sau 256 B
Memorie de program (flash): 3,5 KB .. 56 KB (2 K cuvinte .. 32 K cuvinte de 14 biți), adresabilă direct
Stivă hardware de 8 cuvinte
Sisteme de calcul dedicate (05) 29.11.2019 36
Prezentare generală (6)
•PIC18 Memorie RAM: 3728 B, 4 KB sau 8 KBMemorie de date (flash): 256 B .. 1 KBMemorie de program (flash): 16 KB .. 128 KBAcces de citire la memoria de programTransferuri directe între registre Circuit de înmulțire de 8 x 8 biți Stivă hardware de 31 cuvinte Instrucțiuni de salt condiționat
Sisteme de calcul dedicate (05) 29.11.2019 37
Prezentare generală (7)
•PIC24 Familii de 16 biți•PIC24F: consum de energie redus, până la 16 MIPS•PIC24H: performanțe medii, până la 40 MIPS•PIC24EP: performanțe superioare, până la 70 MIPS
16 registre de lucru (W0 .. W15), 16 bițiMemorie RAM: 512 B .. 96 KB Memorie de program (flash): 4 KB .. 1024 KBInstrucțiuni de 24 biți Stivă software Operație de înmulțire de 16 x 16 biți cu semn
Sisteme de calcul dedicate (05) 29.11.2019 38
Prezentare generală (8)
•PIC32 Nucleu MIPS M4K sau microAptiv de 32 biți
Instrucțiuni de 32 sau 16 biți
Buffer de preîncărcare a instrucțiunilor (256 B)
Operație de înmulțire și acumulare (32x32 biți)
Serii cu performanțe diferite•De bază: PIC32MM, PIC32MX1/2/5
•Performanțe medii: PIC32MX3/4/6/7, PIC32MK
•Performanțe ridicate: PIC32MZ
Sisteme de calcul dedicate (05) 29.11.2019 39
Prezentare generală (9)
PIC32MM•Frecvența: 25 MHz; putere consumată redusă•Memorie SRAM: 4 KB .. 32 KB•Memorie de program (flash): 16 KB .. 256 KB
PIC32MX1/2/5•Frecvența: 40 MHz, 50 MHz sau 72 MHz•Memorie SRAM: 4 KB .. 64 KB•Memorie de program (flash): 16 KB .. 512 KB •Interfață USB (gazdă, dispozitiv, OTG)•Opțiunea eXtreme Low Power (XLP)•PIC32MX5: interfață CAN 2.0B
Sisteme de calcul dedicate (05) 29.11.2019 40
Prezentare generală (10)
PIC32MX3/4/6/7•Frecvența: până la 120 MHz (PIC32MX3/4) sau 80
MHz (PIC32MX6/7)•Memorie SRAM: 16 KB .. 128 KB•Memorie de program (flash): 64 KB .. 512 KB •Interfață USB (gazdă, dispozitiv, OTG)•PIC32MX6/7: controler Ethernet MAC 10/100•PIC32MX7: interfață duală CAN 2.0B
PIC32MK•Frecvența: 120 MHz•Modul PWM pentru controlul motoarelor
Sisteme de calcul dedicate (05) 29.11.2019 41
Prezentare generală (11)
PIC32MZ•Nucleu MIPS M4K: 252 MHz, 415 MIPS
•Nucleu MIPS microAptiv: 200 MHz, 330 MIPS
•Unitate în VM (PIC32MZ EF): 32 și 64 de biți
•Memorie SRAM: 128 KB .. 640 KB
•Memorie de program (flash): 512 KB .. 2 MB
•Memorii cache de instrucțiuni și de date (32 KB)
•Unitate grafică (GPU) 2D
•Modul criptografic, cu generator de numere aleatoare
Sisteme de calcul dedicate (05) 29.11.2019 42
Microcontrolere PIC
Prezentare generală
Arhitectura PIC24H
Sisteme de calcul dedicate (05) 29.11.2019 43
Arhitectura PIC24H (1)
•CaracteristiciSet de instrucțiuni optimizat pentru limbajul C
Adresare liniară a memoriei de program
Adresare liniară a memoriei de date
Un ciclu de ceas pentru majoritatea instrucțiunilor
Operații de împărțire de 32/16 și 16/16 biți
Modul DMA cu 8 canale, cu buffer de 2 KB
Memorie SRAM de date: până la 30 KB
Memorie flash de program: până la 256 KB
Până la 85 pini de I/E, pini de intrare toleranți la 5 V
Sisteme de calcul dedicate (05) 29.11.2019 44
Arhitectura PIC24H (2)
Schema bloc
29.11.2019 Sisteme de calcul dedicate (05) 45
Arhitectura PIC24H (3)
•UCP Fiecare registru de lucru poate conține date,
adrese sau valori de offset•W15: indicator de stivă (SP)
Spațiul memoriei de program: 4 M cuvinte (24 biți)Spațiul memoriei de date: 32 K cuvinte sau 64 KB Unitate de generare a adreselor (AGU):
accesează memoria de date ca un spațiu liniar (indirect)Datele din memoria de program pot fi accesate
direct prin mecanismul Program Space Visibility
Sisteme de calcul dedicate (05) 29.11.2019 46
Arhitectura PIC24H (4)
Memorie RAM DMA de 2 KB, accesibilă simultan de UCP și controlerul DMA
Se pot executa instrucțiuni cu trei operanzi într-un singur ciclu de ceas
Instrucțiune REPEAT pentru bucle de program
Circuit de înmulțire de 17 x 17 biți
Operații de împărțire iterative bucle REPEAT
Circuit de 40 biți pentru deplasarea la stânga sau la dreapta cu până la 16 biți un ciclu
Sistem de întreruperi cu 7 nivele de prioritate
Sisteme de calcul dedicate (05) 29.11.2019 47
Arhitectura PIC24H (5)
•Convertoare A/D
Până la 32 canale analogice
Rezoluție configurabilă de 10 sau 12 biți
Rata de eșantionare•10 biți: 1,1 M eșantioane/s (2,2 M eșantioane/s cu
două convertoare A/D)
•12 biți: 500 K eșantioane/s (1 M eșantioane/s cu două convertoare A/D)
Comanda conversiei: manuală sau sincronizată cu una din patru surse de declanșare
Sisteme de calcul dedicate (05) 29.11.2019 48
Arhitectura PIC24H (6)
•Contoare de timpPână la 9 contoare de timp de 16 biți Se pot configura ca și 4 contoare de 32 de bițiDiferite moduri: ceas de timp real, contor de
timp, numărător sincron sau asincron
•Module comparatoare/PWMCompară valoarea unei baze de timp selectate
cu valoarea unor registre de comparare Pot genera un impuls sau o secvență de
impulsuriPână la 8 canale, mod de funcționare PWM
Sisteme de calcul dedicate (05) 29.11.2019 49
Arhitectura PIC24H (7)
•Module SPI Comunicație serială sincronă Permit toate modurile de funcționare SPICuvinte de 8 sau 16 biți
•Module UART Comunicație serială asincronă (RS-232, RS-485) Generator integrat al ratei de biți Viteze de până la 10 Mbiți/s
Sisteme de calcul dedicate (05) 29.11.2019 50
Arhitectura PIC24H (8)
•Module I2CComunicație serială sincronă
Adrese de 7 sau 10 biți
Frecvențe de 100 KHz sau 400 KHz
Funcționare multi-master: detectarea coliziunilor
•Module CAN Implementează protocoalele CAN 2.0A și 2.0B
Cadre de date standard și extinse
Lungimi ale mesajelor până la 8 octeți
Viteză programabilă până la 1 Mbit/s
Sisteme de calcul dedicate (05) 29.11.2019 51
Arhitectura PIC24H (9)
•Porturi de I/E Unii pini ai porturilor de I/E au funcții alternative pentru periferice Pinii porturilor de I/E au trei registre asociate Registrul de direcție TRISx: specifică dacă pinul este intrare ('1') sau ieșire ('0') Registrul latch de date LATx: memorează datele de ieșireRegistrul portului PORTx: permite citirea stării logice a pinilor de intrare
Sisteme de calcul dedicate (05) 29.11.2019 52
Microcontrolere
•Microcontrolere 8051
•Microcontrolere PIC
•Microcontrolere AVR
•Microcontrolere DSP
Sisteme de calcul dedicate (05) 29.11.2019 53
Microcontrolere AVR
Prezentare generală
Arhitectura megaAVR•Nucleul UCP
•Tipuri de memorii
•Porturi de I/E
Sisteme de calcul dedicate (05) 29.11.2019 54
Prezentare generală (1)
•Microcontrolere RISC de 8 și 32 de biți
•Produse de firma Atmel
•Arhitectură Harvard
•Arhitectura de bază a fost proiectată la Institutul Norvegian de Tehnologie tehnologie transferată la Atmel Norvegia
•AVR Advanced Virtual RISC sau Alf & Vegard [RISC]
•AT90S8515: aceiași pini ca și 8051 Sisteme de calcul dedicate (05) 29.11.2019 55
Prezentare generală (2)
•Familiile de 8 biți: 32 de registre generale Registrele sunt mapate în spațiul memoriei •Sistem pipeline cu două etaje Instrucțiuni executate în 1-2 cicluri de ceas •Unele modele conțin o interfață cu o magistrală externăSpațiu de adresare de 64 KB Conectarea unor memorii de date sau periferice •Moduri multiple pentru reducerea energiei consumate
Sisteme de calcul dedicate (05) 29.11.2019 56
Prezentare generală (3)
•Microcontrolere tinyAVR (ATtiny)Memorie flash de program: 512 B .. 32 KB
Memorie SRAM de date: 32 B .. 2 KB
Memorie EEPROM: 64 B .. 512 B
Set limitat de periferice: comparator analogic, amplificator programabil, convertor A/D, interfață serială universală, PWM, senzor de temperatură
Consum redus de energie prin tehnologia picoPower
Posibilitatea alimentării de la o singură baterie Sisteme de calcul dedicate (05) 29.11.2019 57
Prezentare generală (4)
•Microcontrolere megaAVR (ATmega)Memorie flash de program: 4 KB .. 256 KBMemorie SRAM de date: 512 B .. 16 KBMemorie EEPROM: 256 B .. 4 KBSet extins de instrucțiuniSet extins de periferice: există în plus contoare
de timp, interfaţă TWI (Two-Wire Interface), interfață SPI, controler USARTVariante de microcontrolere megaAVR care
conțin controlere LCD, USB, CAN, Ethernet etc.
Consum redus de energie Sisteme de calcul dedicate (05) 29.11.2019 58
Prezentare generală (5)
•Microcontrolere xmegaAVR (ATxmega)Memorie flash de program: 8 KB .. 384 KBMemorie SRAM de date: 1 KB .. 32 KBMemorie EEPROM: 1 KB .. 4 KB
Controler DMA (4 canale)
Convertoare A/D și D/A de 12 biți
Sistem de gestiune a evenimentelor (4/8 canale)
Modul de criptare pentru standardele AES și DES
Sub-familia A1: interfață cu o magistrală externă
Interfață USB la majoritatea sub-familiilor Sisteme de calcul dedicate (05) 29.11.2019 59
Microcontrolere AVR
Prezentare generală
Arhitectura megaAVR•Nucleul UCP
•Tipuri de memorii
•Porturi de I/E
Sisteme de calcul dedicate (05) 29.11.2019 60
Nucleul UCP (1)
Sisteme de calcul dedicate (05) 29.11.2019 61
Nucleul UCP (2)
•Execuție pipeline a instrucțiunilorExecuția este suprapusă cu extragerea instrucțiunii următoareSe execută o instrucțiune pe ciclu de ceas•Majoritatea instrucțiunilor sunt de 16 biți
•32 de registre generale (8 biți)
•Spațiul memoriei de program conține:Secțiunea programului încărcător (boot)Secțiunea programului de aplicație
Sisteme de calcul dedicate (05) 29.11.2019 62
Nucleul UCP (3)
•UALConexiune directă cu registrele generale
Instrucțiuni între două registre sau între un registru și o valoare imediată
Unele versiuni conțin un circuit de înmulțire•Registrele generaleTimp de acces de un ciclu de ceas
R0 .. R31
Fiecare registru are asignată și o adresă a memoriei de date primele 32 de locații
Sisteme de calcul dedicate (05) 29.11.2019 63
Nucleul UCP (4)
Registrele R26..R31 se pot utiliza ca trei registre de 16 biți pentru adresarea indirectă a memoriei de date X, Y, Z
•StivaEste implementată în memoria SRAMRegistrul SP (SPH, SPL) indică vârful stiveiStiva crește spre adrese mici SP trebuie inițializat cu o valoare de peste 0x60Registrul SP este decrementat cu 1 (PUSH) sau cu 2 (CALL, întrerupere)
Sisteme de calcul dedicate (05) 29.11.2019 64
Microcontrolere AVR
Prezentare generală
Arhitectura megaAVR•Nucleul UCP
•Tipuri de memorii
•Porturi de I/E
Sisteme de calcul dedicate (05) 29.11.2019 65
Tipuri de memorii (1)
•Memoria flash de programATmega16: 16 KB (8 K x 16 biți)
Cel puțin 10.000 de cicluri (scriere/ștergere)
•Memoria SRAM de date32 locații: registrele generale
64 locații: registrele de I/E
1024 locații: memoria SRAM internă de date
Sisteme de calcul dedicate (05) 29.11.2019 66
Tipuri de memorii (2)
Sisteme de calcul dedicate (05) 29.11.2019 67
Tipuri de memorii (3)
•Memoria EEPROM de date ATmega16: 512 B
Cel puțin 100.000 cicluri (scriere/ștergere)
Spațiu separat de date
Pentru scriere trebuie urmată o procedură specifică
Registre de acces EEPROM: registre de adresă (EEARH, EEARL); registru de date (EEDR); registru de control (EECR)
Sisteme de calcul dedicate (05) 29.11.2019 68
Microcontrolere AVR
Prezentare generală
Arhitectura megaAVR•Nucleul UCP
•Tipuri de memorii
•Porturi de I/E
Sisteme de calcul dedicate (05) 29.11.2019 69
Porturi de I/E (1)
•Porturi bidirecționale PORTA .. PORTD•Direcția unui pin de I/E se poate schimba fără a afecta direcția altor pini•Fiecare pin are o rezistență pull-upselectabilă•Există trei registre pentru fiecare portRegistrul de date PORTx (R/W)Registrul de direcție DDRx (R/W)Registrul pinilor de intrare PINx (R/O)
Sisteme de calcul dedicate (05) 29.11.2019 70
Porturi de I/E (2)
•Configurarea pinului PORTxnPentru ieșire: DDxn = '1'
Pentru intrare: DDxn = '0'
Activarea rezistenței pull-up: •Se configurează pinul ca intrare; PORTxn = '1'
Dezactivarea rezistenței pull-up: •PORTxn = '0', sau
•Se configurează pinul ca ieșire
Sisteme de calcul dedicate (05) 29.11.2019 71
Microcontrolere
•Microcontrolere 8051
•Microcontrolere PIC
•Microcontrolere AVR
•Microcontrolere DSP
Sisteme de calcul dedicate (05) 29.11.2019 72
Microcontrolere DSP (1)
•DSP – Digital Signal Processor•Procesoare optimizate pentru calcule matematice intensivePreiau sau citesc datele de intrare
Execută prelucrările asupra datelor
Transferă la ieșire sau memorează rezultatele
Conțin unități pentru operații MAC (Multiply –Accumulate) și circuite de deplasare
•Pot avea spații de adresare duale pentru date Doi operanzi pot fi accesați simultan
Sisteme de calcul dedicate (05) 29.11.2019 73
Microcontrolere DSP (2)
•Majoritatea au o arhitectură Harvard •AplicațiiPrelucrarea semnalelor audio și video
Prelucrarea imaginilor
Comunicații (rețele, telefoane)
Radio și televiziune digitală
Aparatură medicală
Navigare GPS
Sisteme de calcul dedicate (05) 29.11.2019 74
Microcontrolere DSP (3)
•Microcontrolere DSPConțin un nucleu de procesor DSP și periferice obișnuite unui microcontroler
Set de instrucțiuni mixt: instrucțiuni DSP (transferuri de date și operații aritmetice) și instrucțiuni obișnuite ale unui procesor
Se utilizează pentru aplicații care necesită calcule intensive, dar costuri reduse: telefoane, aparate foto digitale, robotică
Sisteme de calcul dedicate (05) 29.11.2019 75
Microcontrolere DSP (4)
•Exemple de microcontrolere DSPTexas Instruments: seriile TMS320C55xx, TMS320C66xx, TMS320C674x
Microchip Technology: seriile dsPIC33F, dsPIC33EP, dsPIC33EV, dsPIC33CH
Freescale Semiconductor (NXP Semiconductors): seriile 56F8xx, 56F8xxx, 56F826xx, 56F827xx, 56F84xxx
Analog Devices: seriile ADSP-21xx, Blackfin, Blackfin+, SHARC, SHARC+
Sisteme de calcul dedicate (05) 29.11.2019 76