Microelettronica - ssalvatori · 2020. 3. 8. · S. Salvatori - Microelettronica – (49) Corso:...

63
S. Salvatori - Microelettronica – (1) Microelettronica Corso introduttivo di progettazione di sistemi embedded a microcontrollore prof. Stefano Salvatori Università degli Studi Roma Tre

Transcript of Microelettronica - ssalvatori · 2020. 3. 8. · S. Salvatori - Microelettronica – (49) Corso:...

  • S. Salvatori - Microelettronica – (1)

    MicroelettronicaCorso introduttivo di progettazione

    di sistemi embedded a microcontrollore

    prof. Stefano Salvatori

    Università degli Studi Roma Tre

  • S. Salvatori - Microelettronica – (2)

    Dove siamo?

    Elettronica II

    Elettronica I

    Elettronica dei sistemi digitali

    Microelettronica

    Siamo qui

  • S. Salvatori - Microelettronica – (3)

    Quale occupazione per

    l'ingegnere elettronico:

    un esempio

  • S. Salvatori - Microelettronica – (4)

    Il caso di ST

  • S. Salvatori - Microelettronica – (5)

    Il caso di ST

  • S. Salvatori - Microelettronica – (6)

    Il caso di ST

  • S. Salvatori - Microelettronica – (7)

    Il caso di ST

  • S. Salvatori - Microelettronica – (8)

    Il caso di ST

    ARM Cortex M0+

  • S. Salvatori - Microelettronica – (9)

    Sistemi

    embedded

  • S. Salvatori - Microelettronica – (10)

    Identificazione dell'hardware

    microcontrollori

    DigitalSignalProcessors

    FPGA

    SingleBoardComputer

  • S. Salvatori - Microelettronica – (11)

    Qual è l'obiettivo di questo corso?

    e si pone come obiettivo quello di mettere in condizione i singoli studenti di poter iniziare a progettare applicazioni intelligenti su misura basate su microcontrollore.

    → trasferimento di tecnologie → acquisizione di conoscenze e competenze nella

    progettazione di sistemi embedded a microcontrollore.

    Questo Corso cercherà di rispondere alla domanda:

    “cos'è un microcontrollore?”

  • S. Salvatori - Microelettronica – (12)

    Conosco i microcontrollori?

    Un microcontrollore è un “computer in miniatura” che potete trovare in ogni genere di oggetti.

    Quanti microcontrollori usiamo ogni giorno?

    Un dispositivo equipaggiato di tasti, led, display o altoparlante, è probabile che abbia anche un microcontrollore.

  • S. Salvatori - Microelettronica – (13)

    Conosco i microcontrollori?

    Ogni giorno usiamo decine di uC!

    Si parla spesso di sistemi di elaborazione

  • S. Salvatori - Microelettronica – (14)

    Sistemi di elaborazione

    ● I sistemi di elaborazione si trovano ovunque● Molti di noi pensano subito a computer di tipo desktop

    – PC– Laptop– Mainframe– Server– ...

    ● Ci sono però altri tipi di sistemi di elaborazione– Molti di uso comune ...

  • S. Salvatori - Microelettronica – (15)

    Sistemi di elaborazione

    – Automotive– Elettronica di consumo– Medicina– Ricerca scientifica– …

    ● Miliardi di prodotti ogni anno● Circa 50 in ogni abitazione e in un'automobile

  • S. Salvatori - Microelettronica – (16)

    Sistemi di elaborazione

    ● Una breve lista

    ABSAuto-focusAvionicaCarica-batteriaCondizionatoriConsole per videogiochiControllo missileControllori di temperaturaDecoder MPEGForno a microondeFotocopiatriciGiocattoli elettroniciLettori CD/DVDLettore impronta digitale

    LavastoviglieMacch. a controllo numericoModemRiconoscitori vocaliRouterScannerSistemi audioSistemi di guidaSistemi di sicurezzaSistemi di supporto vitaSistemi medicaliStampantiStazioni base per telefonia cellulareStrumenti elettronici

    TelecamereTelefoni cellulariTelefoni cordelessTrasmissioneTelevisioneVideo game portatiliVideocitofoniVideosorveglianzaVideotelefoni ...

  • S. Salvatori - Microelettronica – (17)

    Cos'è un sistema embedded?

    ● Si definiscono "embedded" tutte le applicazioni che usano un microcontrollore quale processore principale e qualunque applicazione basata su microprocessore che non sia già coperta da altre aree. Ad esempio, nella categoria rientrano elettrodomestici, sistemi di condizionamento, piattaforme di misurazione intelligenti, controllori per touch-screen, controllori per sensori e motori dove i processori sono il cuore della soluzione...

    da ARM®

  • S. Salvatori - Microelettronica – (18)

    Cos'è un sistema embedded?

    Noi parleremo di “Sistemi Embedded a Microcomputer”.

    Sistema: insieme di componenti tra loro interagenti per svolgere un prefissato lavoro in modo coordinato;

    Embedded: letteralmente, “incastonato”, cioè nascosto;Micro: piccolo;Computer: che contiene, cioè, un processore, una memoria e i mezzi per lo scambio delle informazioni da e verso l'esterno.

    Un po' più “accademica”

  • S. Salvatori - Microelettronica – (19)

    Cos'è un sistema embedded?

    Sinonimo di sistemi embedded è

    Cyber-Physical Systemconiato nel 2006 (*).

    Infatti i sistemi embedded coniugano la potenza di calcolo di un computer (“l'intelligenza”) con oggetti fisici (sensori e attuatori).

    (*) Helen Gill, National Science Foundation, USA

  • S. Salvatori - Microelettronica – (20)

    Cos'è un sistema embedded?

    I sistemi embedded dovono in qualche modo interagire col mondo esterno.

    In particolare l'interazione è verso l'uomo e si parla di:

    ● HCI: human-computer-interfaceoppure

    ● MMI: man-machine interface

    input

    output

  • S. Salvatori - Microelettronica – (21)

    Noi tratteremo solo sistemi embedded a microcontrolloreSarà necessario approfondire alcuni argomenti.

    ● Cos'è una CPU?● Qual è l'architettura di un sistema a microprocessore?● Come viene gestito

    l'interfacciamento?● Come può essere sviluppato il

    software di gestione?● ...

    CPU

    ROM

    RAM

    I/O

    ADC

    DAC

    comp.meccanici

    sensori

    attuatori

    Sistemi embedded a microcontrollore

  • S. Salvatori - Microelettronica – (22)

    Sistemi embedded a microcontrollore

    Hardware

    PC-desktop

    embedded

    Sistema Software

    firmwa

    re

  • S. Salvatori - Microelettronica – (23)

    Sistemi embedded a microcontrollore

    firmwa

    re

  • S. Salvatori - Microelettronica – (24)

    Il lavoro svolto da un sistema embedded a microcontrollore è nettamente diverso da quello eseguito da un PC

    Reset Reset handler

    Inizializzazione del sistema

    Codice di startup (in C)

    Inizializzaz.dell'hardware Elaborazione

    Librerie inruntime

    Routine diservizio delleinterruzioni

    Sistemi embedded a microcontrollore

  • S. Salvatori - Microelettronica – (25)

    Caratteristiche tipiche

    ● Singola funzionalità– Esegue un unico programma, ripetutamente

    ● Vincoli molto stringenti– Basso costo, basso consumo, leggero, veloce, …

    ● Real-time– Generalmente deve reagire a stimoli dell'ambiente esterno– Deve elaborare i risultati in tempo reale senza ritardi (eccessivi)

  • S. Salvatori - Microelettronica – (26)

    Un esempio: videocamera

    Processore CCD Processore pixel

    Codec JPEG

    D/AA/D

    Molt/acc

    DMA controller

    Memory controller Interfaccia ISA UART Contr. LCD

    Contr. display

    CCD

    Dig

    italC

    amer

    a C

    hip

    Microcontrollore

  • S. Salvatori - Microelettronica – (27)

    Sviluppo

    allestimento dell'hardware

    scrittura firmware

    collaudo

    IDEA!

    Importanza della documentazione

  • S. Salvatori - Microelettronica – (28)

    Il lavoro

    in aula

  • S. Salvatori - Microelettronica – (29)

    esercitazioni

    dal livello “zero” ...

    ...a ...

  • S. Salvatori - Microelettronica – (30)

    Sezione Hardware

  • S. Salvatori - Microelettronica – (31)

    Sezione Hardware

    scheda LPC845-BRK

    Mouser: http://www.mouser.it (cod. 771-LPC845-BRK);

    Farnell: http://it.farnell.com (cod. 2985275);

    Digikey: http://www.digikey.it (cod. 568-15261-ND).

    http://www.mouser.it/http://it.farnell.com/http://www.digikey.it/

  • S. Salvatori - Microelettronica – (32)

    Sezione Hardware

    scheda LPC845-BRK

  • S. Salvatori - Microelettronica – (33)

    Sezione Hardware

    scheda LPC845-BRK

  • S. Salvatori - Microelettronica – (34)

    Sezione Hardwarescheda LPC845-BRK

  • S. Salvatori - Microelettronica – (35)

    Sezione Hardware

    Documentazione

  • S. Salvatori - Microelettronica – (36)

    Sezione Hardware

    scheda LPC845-BRKMouser: http://www.mouser.it (cod. 771-LPC845-BRK)

    http://www.mouser.it/

  • S. Salvatori - Microelettronica – (37)

    Sezione Hardware

    componenti aggiuntivi: chi ha già un po' di materiale

    - una breadboard;

    - ponticelli per breadboard;

    - cavetti di collegamento;

    - resistori di valore diverso(da centinaia a decine di migliaia di Ω);

    - trimmer o potenziometri (da 10k e da 100k Ω);

    - LED di vari colori;

    - pulsanti;

    - un LCD alfanumerico (16 caratteri su due righe).

    es. Fan kit (Amazon)

  • S. Salvatori - Microelettronica – (38)

    Sezione Hardware

    componenti aggiuntivi: minimo necessario

    - una breadboard;- ponticelli/cavetti per breadboard;- un LCD alfanumerico (16 caratteri su due righe);- alimentazione per LCD.

  • S. Salvatori - Microelettronica – (39)

    Sezione Hardware

    componenti aggiuntivi: minimo necessario

    Es. AMAZON:

    - AZDelivery Kit Breadboard MB 102 (7,99 €);

    - Display LCD retroilluminato generico 1602, 16 x 2 blu (5.50 €)

    - KEESIN 10 (7,49 € / 10);

    - Pin Header Connector (9,99 € / 200) ~14 €

  • S. Salvatori - Microelettronica – (40)

    Sezione Hardware

    componenti aggiuntivi: minimo necessario

    Es. AMAZON:

    - AZDelivery Kit Breadboard MB 102 (7,99 €);- Display LCD retroilluminato generico 1602, 16 x 2 blu (5.50 €)

    - KEESIN 10 (7,49 € / 10);

    - Pin Header Connector (9,99 € / 200) ~14 €

  • S. Salvatori - Microelettronica – (41)

    Sezione Hardware

    componenti aggiuntivi: minimo necessario

    Es. AMAZON:

    - AZDelivery Kit Breadboard MB 102 (7,99 €);

    - Display LCD retroilluminato generico 1602, 16 x 2 blu (5.50 €)- KEESIN 10 (7,49 € / 10);

    - Pin Header Connector (9,99 € / 200) ~14 €

  • S. Salvatori - Microelettronica – (42)

    Sezione Hardware

    componenti aggiuntivi: minimo necessario

    Es. AMAZON:

    - AZDelivery Kit Breadboard MB 102 (7,99 €);

    - Display LCD retroilluminato generico 1602, 16 x 2 blu (5.50 €)

    - KEESIN 10 (7,49 € / 10);- Pin Header Connector (9,99 € / 200) ~14 €

  • S. Salvatori - Microelettronica – (43)

    Sezione Hardware

    componenti aggiuntivi: minimo necessario

    Es. AMAZON:

    - AZDelivery Kit Breadboard MB 102 (7,99 €);

    - Display LCD retroilluminato generico 1602, 16 x 2 blu (5.50 €)

    - KEESIN 10 (7,49 € / 10);

    - Pin Header Connector (9,99 € / 200) ~14 €

  • S. Salvatori - Microelettronica – (44)

    Sezione software

    MCUXpresso IDE

  • S. Salvatori - Microelettronica – (45)

    Sezione software

    MCUXpresso IDE

  • S. Salvatori - Microelettronica – (46)

    Sezione software

    Documentazione

  • S. Salvatori - Microelettronica – (47)

    Sezione software

    MCUXpresso IDE

  • S. Salvatori - Microelettronica – (48)

    Note sul corso

  • S. Salvatori - Microelettronica – (49)

    Corso: architettura ARM (provvisorio)● Generalità e cenni storici del

    processore ARM• Generalità sui

    microprocessori: MU0• Architettura RISC

    ● Organizzazione dei registri interni• Stato ARM e stato Thumb• Registri generali e di stato in

    modalità ARM e Thumb● Set di struzioni

    • Panoramica delle istruzioni ARM

    • Istruzioni per la gestione di stack

    • Istruzioni e salti condizionali

    Concetto di pipeline• pipeline a 3 stadi in

    ARM7TDMI-S• Rischi delle pipeline

    Eccezioni• Origine delle eccezioni e modalità di gestione delle

    eccezioni• Vettori di interrupt e priorità

    Memorie• Organizzazione delle memorie:

    little e big-endian• Il modello di indirizzamento

    standard di memoria in ARM• Comportamento dello stack

    Architetture di bus• AMBA, ASB, AHB, APB

    Sistemi di debug• Interfaccia JTAG

    Organizzazione ARM7TDMI

  • S. Salvatori - Microelettronica – (50)

    Corso: esercitazioni con MCUXpresso

    ● Compilazione, upload, debug di un progetto

    ● uso di GPIO ● gestione timer● gestione LCD● gestione delle interruzioni● acquisizione da ADC● Macchine a stati di tipo sw● ...

    Ogni gruppo deve avere a disposizione una propria postazione hw/sw con cui poter lavorare anche a casa (non è obbligatorio che ogni studente abbia la dotazione hw)

  • S. Salvatori - Microelettronica – (51)

    Modalità d'esame: studente singolo

    1. Sviluppo di un progetto con MCUXpresso:

    a. stesura della documentazioneb. allestimento del prototipoc. uso degli strumenti di sviluppod. progettazione del softwaree. debugging e collaudo

    1. Colloquio:processore ARM

  • S. Salvatori - Microelettronica – (52)

    Esempio d'esame: testo

  • S. Salvatori - Microelettronica – (53)

    Esempio d'esame: testo

  • S. Salvatori - Microelettronica – (54)

    Esempio d'esame: testo

  • S. Salvatori - Microelettronica – (55)

    Esempio d'esame: sulla soluzione

  • S. Salvatori - Microelettronica – (56)

    Esempio d'esame: sulla soluzione

  • S. Salvatori - Microelettronica – (57)

    Per Casa

  • S. Salvatori - Microelettronica – (58)

    Per casa

    Scaricare MCUXpresso IDE dal sito NXP

  • S. Salvatori - Microelettronica – (59)

    Per casa

    Scaricare la documentazione, sia per il sw che per l'hw, sul sito NXP

    Documentazione

    + documento con schema elettrico breakout board

  • S. Salvatori - Microelettronica – (60)

    Per casa

  • S. Salvatori - Microelettronica – (61)

    Per casa: download

  • S. Salvatori - Microelettronica – (62)

    Per casa

    “Muoversi” per acquistare il materiale per le esercitazioni

  • S. Salvatori - Microelettronica – (63)

    Domande?

    Stefano Salvatori

    [email protected]

    www.ssalvatori.altervista.org☞

    “Se ascolto, dimentico. Se vedo, ricordo. Se faccio, capisco!”

    Confucio

    Diapositiva 1Diapositiva 2Diapositiva 3Diapositiva 4Diapositiva 5Diapositiva 6Diapositiva 7Diapositiva 8Diapositiva 9Diapositiva 10Diapositiva 11Diapositiva 12Diapositiva 13Diapositiva 14Diapositiva 15Diapositiva 16Diapositiva 17Diapositiva 18Diapositiva 19Diapositiva 20Diapositiva 21Diapositiva 22Diapositiva 23Diapositiva 24Diapositiva 25Diapositiva 26Diapositiva 27Diapositiva 28Diapositiva 29Diapositiva 30Diapositiva 31Diapositiva 32Diapositiva 33Diapositiva 34Diapositiva 35Diapositiva 36Diapositiva 37Diapositiva 38Diapositiva 39Diapositiva 40Diapositiva 41Diapositiva 42Diapositiva 43Diapositiva 44Diapositiva 45Diapositiva 46Diapositiva 47Diapositiva 48Diapositiva 49Diapositiva 50Diapositiva 51Diapositiva 52Diapositiva 53Diapositiva 54Diapositiva 55Diapositiva 56Diapositiva 57Diapositiva 58Diapositiva 59Diapositiva 60Diapositiva 61Diapositiva 62Diapositiva 63