Documente Academic
Documente Profesional
Documente Cultură
Procesoare dedicate 7. Dezvoltarea programelor 8. Sisteme de operare dedicate 9. Implementarea sistemelor dedicate
27.11.2012 Sisteme de calcul dedicate (05-1) 1
27.11.2012
27.11.2012
A fost proiectat de firma Intel la nceputul anilor 1980 familia MCS-51 Numeroase microcontrolere proiectate ulterior sunt compatibile cu arhitectura 8051
Diferii productori au adoptat arhitectura Compatibilitatea programelor
UCP de 8 bii aplicaii de control Memorii 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
27.11.2012
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 memoria intern sau extern ALE (Address Latch Enable): semnal pentru multiplexarea adreselor i datelor (P0)
27.11.2012 Sisteme de calcul dedicate (05-1) 7
-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 comunicaia serial TXD: ieire pentru comunicaia serial
27.11.2012
27.11.2012
Memoria de program
Dup resetare, execuia programului ncepe de la adresa 0000h Locaiile 0003h .. 0033h conin rutinele de tratare ale 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
27.11.2012
12
27.11.2012
15
Adresele 80h..FFh: registre cu funcii speciale SFR (Special Function Register) adresare direct Aceeai zon poate conine 128 de locaii suplimentare adresare indirect
27.11.2012
16
27.11.2012
18
Nucleul de baz 8051 conine 21 de registre speciale SFR Microcontrolerele mbuntite conin registre SFR suplimentare Registrele 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
27.11.2012
20
Registrul ACC
Registru acumulator Conine unul din operanzii instruciunilor aritmetice/logice i rezultatul Transferurile ntre registre trebuie efectuate prin intermediul acumulatorului
Registrul B
Conine unul din operanzii instruciunilor de nmulire i mprire
27.11.2012 Sisteme de calcul dedicate (05-1) 21
27.11.2012
22
27.11.2012
27
Porturile sunt bidirecionale Fiecare port conine: un registru (P0..P3); un driver de ieire; un buffer de intrare Pinii portului P3 sunt multifuncionali
La aceti pini se conecteaz i semnalele RXD, TXD, -INT0, -INT1, T0, T1, -WR, -RD
Controlul direciei unei linii de I/E: prin setarea bitului corespunztor al registrului Px
Ieire: Px = '0' Intrare: Px = '1'
27.11.2012
28
Porturile P0 i P2 nu se pot utiliza ca I/E generale dac este necesar adresarea unei memorii externe
27.11.2012 Sisteme de calcul dedicate (05-1) 29
27.11.2012
30
27.11.2012
31
PIC Programmable Interface Controller, redenumit n Programm. Intelligent Computer Microcontrolere produse de Microchip Technology Diferite serii: PIC10, PIC12, PIC16, PIC17, PIC18, PIC24, PIC32 Instruciuni de 12, 14, 16, 24 sau 32 bii Date de 8, 16 sau 32 bii Arhitectur Harvard Arhitectur RISC
27.11.2012 Sisteme de calcul dedicate (05-1) 32
Instruciunile se execut ntr-un singur ciclu de instruciuni (salturi: 2 cicluri) Memoria de date RAM
Memoria de program
Un ciclu de instruciuni: 4 cicluri de ceas Setul de registre funcioneaz ca o memorie RAM Bancuri de memorie pentru extinderea adresrii Implementare: memorie ROM, EPROM sau flash Unitatea de adresare a memoriei de program nu este aceeai cu cea a memoriei de date
Sisteme de calcul dedicate (05-1) 33
Dimensiunea cuvntului
27.11.2012
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)
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
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
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
36
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
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 Buffer de 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
27.11.2012
39
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
Schema bloc
27.11.2012 Sisteme de calcul dedicate (05-1) 41
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
Memorie RAM DMA de 2 KB, accesibil simultan de 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 sau la 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
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 cu una din patru surse de declanare
27.11.2012 Sisteme de calcul dedicate (05-1) 44
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
Module SPI
Comunicaie serial sincron Permit toate modurile de funcionare SPI Cuvinte de 8 sau 16 bii
Module 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 mesajelor IrDA
27.11.2012 Sisteme de calcul dedicate (05-1) 46
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
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
27.11.2012
49
27.11.2012
50
Microcontrolere RISC de 8 i 32 bii 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: aceiai pini ca i 8051
27.11.2012 Sisteme de calcul dedicate (05-1) 51
Instruciuni executate n 1-2 cicluri de ceas Spaiu de adresare de 64 KB Conectarea unor memorii de date sau periferice
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, interfa serial universal, PWM, senzor de temperatur Consum redus de energie prin tehnologia picoPower Posibilitatea alimentrii de la o singur baterie
27.11.2012 Sisteme de calcul dedicate (05-1) 53
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), interfa SPI, controler USART Variante de microcontrolere megaAVR care conin controlere LCD, USB, CAN, Ethernet etc. Consum redus de energie
Sisteme de calcul dedicate (05-1) 54
27.11.2012
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
Microcontrolere AVR32
Familia AVR32 UC3 Arhitectur Harvard cu trei etaje pipeline Acces la memoria SRAM din cadrul UCP ntr-un singur 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
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 i pentru 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
27.11.2012
58
27.11.2012
59
Majoritatea instruciunilor sunt de 16 bii 32 de registre generale (8 bii) Spaiul memoriei de program conine:
Seciunea programului ncrctor (boot) Seciunea programului de aplicaie
27.11.2012 Sisteme de calcul dedicate (05-1) 60
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 asignat i o adres a memoriei de date primele 32 de locaii
27.11.2012 Sisteme de calcul dedicate (05-1) 61
Registrele R26..R31 se pot utiliza ca trei registre de 16 bii pentru adresarea indirect a memoriei de date 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)
27.11.2012 Sisteme de calcul dedicate (05-1) 62
27.11.2012
63
27.11.2012
64
27.11.2012
65
27.11.2012
67
Porturi bidirecionale PORTA .. PORTD Direcia unui pin de I/E se poate schimba fr a afecta direcia altor pini Fiecare pin are o rezisten pull-up selectabil 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)
27.11.2012 Sisteme de calcul dedicate (05-1) 68
27.11.2012
69
27.11.2012
70
DSP Digital Signal Processor Procesoare 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 deplasare
27.11.2012
72
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) i instruciuni obinuite ale unui procesor Se utilizeaz pentru aplicaii care necesit calcule intensive, dar costuri reduse: telefoane, aparate foto digitale, robotic
27.11.2012 Sisteme de calcul dedicate (05-1) 73