microcontrolere-curs

Upload: freelo

Post on 04-Apr-2018

260 views

Category:

Documents


2 download

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