Microelettronica · 2020. 3. 9. · S. Salvatori – Microelettronica – marzo 2020 – (1 di 48)...

48
S. Salvatori – Microelettronica – marzo 2020 – (1 di 48) Microelettronica Progettazione di sistemi embedded Introduzione prof. Stefano Salvatori Eccetto dove diversamente specificato, i contenuti di questo documento sono rilasciati sotto Licenza Creative Commons Attribuzione 3.0 Italia.

Transcript of Microelettronica · 2020. 3. 9. · S. Salvatori – Microelettronica – marzo 2020 – (1 di 48)...

  • S. Salvatori – Microelettronica – marzo 2020 – (1 di 48)

    Microelettronica

    Progettazione di sistemi embedded

    Introduzione

    prof. Stefano Salvatori

    Eccetto dove diversamente specificato, i contenuti di questo documento sono rilasciati sotto Licenza Creative Commons Attribuzione 3.0 Italia.

    http://creativecommons.org/licenses/by/3.0/it/

  • S. Salvatori – Microelettronica – marzo 2020 – (2 di 48)

    Qual è l'obiettivo di questo corso?

    Queste lezioni cercheranno di rispondere alla domanda:

    “cos'è un microcontrollore?”

    ponendo come obiettivo il poterci mettere in condizione di iniziare a progettare su misura applicazioni intelligenti.

    L'ideale, alla fine di questo ciclo, è l'aver ottenuto un vero e proprio trasferimento di tecnologie con l'acquisizione di conoscenze e competenze di base utili ad avviare un lavoro personale per lo sviluppo di progetti di sistemi embedded a microcontrollore.

  • S. Salvatori – Microelettronica – marzo 2020 – (3 di 48)

    Conosco i microcontrollori?

    Un microcontrollore è un “computer in miniatura” che possiamo 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 – marzo 2020 – (4 di 48)

    Sommario

    ● I sistemi di elaborazione● Cos'è un sistema embedded?● Sistemi embedded a microcontrollore● Design metrics● Il ciclo di progettazione tipico● Perché ARM?

  • S. Salvatori – Microelettronica – marzo 2020 – (5 di 48)

    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 – marzo 2020 – (6 di 48)

    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 – marzo 2020 – (7 di 48)

    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 – marzo 2020 – (8 di 48)

    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 prima categoria rientrano gli 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...

    http://arm.com/markets/embedded/index.php

    da ARM®

    http://arm.com/markets/embedded/index.php

  • S. Salvatori – Microelettronica – marzo 2020 – (9 di 48)

    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, inserito all'interno;

    Micro: piccolo;Computer: che contiene, cioè, un processore, memoria e mezzi per lo scambio delle informazioni da e verso l'esterno.

    Un po' più “accademica”

  • S. Salvatori – Microelettronica – marzo 2020 – (10 di 48)

    Cos'è un sistema embedded?

    Sinonimo di sistemi embedded è “Cyber-Physical System”, coniato nel 2006 (*).

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

    (*) Helen Gill, National Science Foundation, USA

  • S. Salvatori – Microelettronica – marzo 2020 – (11 di 48)

    Cos'è un sistema embedded?

    I componenti che si hanno in un sistema a microcontrollore sono:● Software● Hardware di un microcomputer (processore, ROM, RAM)● Circuiti digitali● Circuiti analogici● Componenti meccanici● Sistemi di alimentazione● Sensori● Attuatori

    CPU

    ROM

    RAM

    I/O

    ADC

    DAC

    comp.meccanici

    sensori

    attuatori

  • S. Salvatori – Microelettronica – marzo 2020 – (12 di 48)

    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-interface● MMI: man-machine interface

    input

    output

  • S. Salvatori – Microelettronica – marzo 2020 – (13 di 48)

    Cos'è un sistema embedded?

    Una calcolatrice, però, ricorda troppo da vicino un computer.

    Non dobbiamo confondere i sistemi embedded in generale solo con questo tipo di apparati.

  • S. Salvatori – Microelettronica – marzo 2020 – (14 di 48)

    Identificazione dell'hardware

    microcontrollori

    DigitalSignalProcessors

    FPGA

    SingleBoardComputer

  • S. Salvatori – Microelettronica – marzo 2020 – (15 di 48)

    Noi tratteremo solo sistemi embedded a microcontrollore

    Sarà necessario approfondire alcuni argomenti.● Cos'è una CPU● Qual è l'architettura di un sistema a microprocessore● Come viene gestito

    l'interfacciamento● Come sviluppare il software

    di gestione● ...

    CPU

    ROM

    RAM

    I/O

    ADC

    DAC

    comp.meccanici

    sensori

    attuatori

    Sistemi embedded a microcontrollore

  • S. Salvatori – Microelettronica – marzo 2020 – (16 di 48)

    Sistemi embedded a microcontrollore

    Hardware

    PC-desktop

    embedded

    Sistema Software

    firmwa

    re

  • S. Salvatori – Microelettronica – marzo 2020 – (17 di 48)

    Il lavoro svolto da un sistema embedded a microcontrollore è nettamente distinto da quello di un PC

    Reset Reset handler

    Inizializzazione del sistema

    Codice di startup (in C)

    Inizializzaz.hardware Elaborazione

    Librerie inruntime

    Routine diservizio delleinterruzioni

    Sistemi embedded a microcontrollore

  • S. Salvatori – Microelettronica – marzo 2020 – (18 di 48)

    Caratteristiche tipiche

    ● Singola funzionalità– Esegue un unico programma, ripetutamente

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

    ● Real-time– Generalmente deve reagire all'ambiente esterno– Deve elaborare i risultati in tempo reale senza ritardi

  • S. Salvatori – Microelettronica – marzo 2020 – (19 di 48)

    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 – marzo 2020 – (20 di 48)

    Design metrics● Costo unitario

    – Costo del singolo pezzo (escl. NRE);● Costo NRE (Non-Recurring Engineering)

    – Costo per la progettazione;● Dimensioni

    – Spazio fisico dell'apparato;● Prestazioni

    – Tempo di esecuzione o trhoughput del sistema;● Consumo

    – La potenza dissipata dall'apparato;● Flessibilità

    – Abilità di modificare la funzionalità del sistema senza incorrere in un costo eccessivo per NRE.

  • S. Salvatori – Microelettronica – marzo 2020 – (21 di 48)

    Design metrics

    Dimensioni

    Consumo

    Costo del progetto

    Prestazioni

    Costo unitario Flessibilità

  • S. Salvatori – Microelettronica – marzo 2020 – (22 di 48)

    Hardware versus software

    È necessario coprire entrambe gli aspetti, software e hardware, per ottimizzare il progetto (design metrics)

    software

    hardware

  • S. Salvatori – Microelettronica – marzo 2020 – (23 di 48)

    Ciclo di progettazione

    analisiproblema

    ingegn.zione

    realizz.test.

    progettoalto

    livello

    apertura

    SpecificheRequisiti

    ● Specifiche● Constrain ● Schemi

    ● Diagr. flusso

    ● Call-graph● Strutture dati● Interfacce

    ● HW● SW

    ok

    revisione

  • S. Salvatori – Microelettronica – marzo 2020 – (24 di 48)

    analisiproblema

    ingegn.zione

    realizz.test.

    progettoalto

    livello

    apertura

    SpecificheRequisiti

    ● Specifiche● Constrain ● Schemi

    ● Diagr. flusso

    ● Call-graph● Strutture dati● Interfacce

    ● HW● SW

    ok

    revisione

    Nella fase di analisi, vengono messi in evidenza i requisiti essenziali sistema dovrà essere dotato.

    In genere questo lavoro è svolto insieme al “cliente” in modo da comprendere meglio le sue richieste.

    Ciclo di progettazione

    Esempio di requisiti: il sistema deve essere portatile, di dimensioni limitate (p.es stare in tasca), ...

  • S. Salvatori – Microelettronica – marzo 2020 – (25 di 48)

    analisiproblema

    ingegn.zione

    realizz.test.

    progettoalto

    livello

    apertura

    SpecificheRequisiti

    ● Specifiche● Constrain ● Schemi

    ● Diagr. flusso

    ● Call-graph● Strutture dati● Interfacce

    ● HW● SW

    ok

    revisione

    I requisiti si tradurranno in una lista di parti HW e SW e principalmente nella stesura di quelle che sono le specifiche del sistema, cioè una lista dettagliata di parametri che il sistema dovrà rispettare.

    Oltre alle specifiche, verranno anche definiti i limiti (constrain) entro cui il sistema dovrà operare.

    Ciclo di progettazione

    Esempio di specifiche: il sistema peserà al massimo X g;

    le dimensioni sono Y cm x cm x cm; ...

  • S. Salvatori – Microelettronica – marzo 2020 – (26 di 48)

    analisiproblema

    ingegn.zione

    realizz.test.

    progettoalto

    livello

    apertura

    SpecificheRequisiti

    ● Specifiche● Constrain ● Schemi

    ● Diagr. flusso

    ● Call-graph● Strutture dati● Interfacce

    ● HW● SW

    ok

    revisione

    Durante la fase di analisi vengono elaborate anche altre specifiche:

    ● Range● Stabilità● Accuratezza● Tempo di risposta● ...

    Ciclo di progettazione

  • S. Salvatori – Microelettronica – marzo 2020 – (27 di 48)

    analisiproblema

    ingegn.zione

    realizz.test.

    progettoalto

    livello

    apertura

    SpecificheRequisiti

    ● Specifiche● Constrain ● Schemi

    ● Diagr. flusso

    ● Call-graph● Strutture dati● Interfacce

    ● HW● SW

    ok

    revisione

    Sempre nell'analisi sono individuati limiti entro cui il sistema dovrà operare (constrain):

    ● Costo● Compatibilità con altri

    prodotti● ...

    Ciclo di progettazione

  • S. Salvatori – Microelettronica – marzo 2020 – (28 di 48)

    analisiproblema

    ingegn.zione

    realizz.test.

    progettoalto

    livello

    apertura

    SpecificheRequisiti

    ● Specifiche● Constrain ● Schemi

    ● Diagr. flusso

    ● Call-graph● Strutture dati● Interfacce

    ● HW● SW

    ok

    revisione

    Durante la fase di progettazione ad alto livello viene realizzato un modello del sistema.

    Il sistema è ridotto in sotto-insiemi.

    Durante questa fase si stimano i costi e i tempi di progettazione/realizzazione.

    Ciclo di progettazione

  • S. Salvatori – Microelettronica – marzo 2020 – (29 di 48)

    analisiproblema

    ingegn.zione

    realizz.test.

    progettoalto

    livello

    apertura

    SpecificheRequisiti

    ● Specifiche● Constrain ● Schemi

    ● Diagr. flusso

    ● Call-graph● Strutture dati● Interfacce

    ● HW● SW

    ok

    revisione

    Nella fase di ingegnerizzazione viene avviato il vero e proprio lavoro di progettazione (gen. top-down).

    Il modello del sistema si traduce nei componenti che serviranno alla realizzazione del sistema.

    Viene ideato il SW di gestione.

    I “call-graph” sono rappresentazioni grafiche di come i moduli HW/SW sono interconnessi

    Ciclo di progettazione

  • S. Salvatori – Microelettronica – marzo 2020 – (30 di 48)

    analisiproblema

    ingegn.zione

    realizz.test.

    progettoalto

    livello

    apertura

    SpecificheRequisiti

    ● Specifiche● Constrain ● Schemi

    ● Diagr. flusso

    ● Call-graph● Strutture dati● Interfacce

    ● HW● SW

    ok

    revisione

    Segue poi la realizzazione del sistema.

    Avendo seguito un lavoro di tipo top-down, alcuni sottoinsiemi possono essere realizzati in parallelo.

    Il sistema si traduce nell'oggetto fisico.

    Ciclo di progettazione

  • S. Salvatori – Microelettronica – marzo 2020 – (31 di 48)

    analisiproblema

    ingegn.zione

    realizz.test.

    progettoalto

    livello

    apertura

    SpecificheRequisiti

    ● Specifiche● Constrain ● Schemi

    ● Diagr. flusso

    ● Call-graph● Strutture dati● Interfacce

    ● HW● SW

    ok

    revisione

    Nella fase di test vengono valutate le prestazioni del sistema e se esso soddisfa le specifiche assegnate.

    In questa fase possono essere ripensate certe soluzioni per rendere il sistema migliore (spazio di memoria, velocità, accuratezza, stabilità). Questo è un lavoro di revisione. Tuttavia andrà previsto anche un lavoro di manutenzione.

    Ciclo di progettazione

  • S. Salvatori – Microelettronica – marzo 2020 – (32 di 48)

    analisiproblema

    ingegn.zione

    realizz.test.

    progettoalto

    livello

    apertura

    SpecificheRequisiti

    ● Specifiche● Constrain ● Schemi

    ● Diagr. flusso

    ● Call-graph● Strutture dati● Interfacce

    ● HW● SW

    ok

    revisione

    La revisione/manutenzione di un prodotto prevede in generale di ripercorrere il ciclo di progettazione più volte.

    Sistemi semplici in genere percorrono il ciclo una sola volta. Per quelli più complessi è necessario rivedere il progetto per ottimizzare il sistema (in termini di consumi, costo, velocità, ...)

    Ciclo di progettazione

  • S. Salvatori – Microelettronica – marzo 2020 – (33 di 48)

    Richiesta:Sistema per la misura della temperatura ambiente

    Requisiti:● Compatto● Portatile

    Esempio: apertura

  • S. Salvatori – Microelettronica – marzo 2020 – (34 di 48)

    Richiesta:Sistema per la misura della temperatura ambiente

    Requisiti: → Specifiche:● Compatto→ dimensioni effettive● Portatile → batteria → peso

    Esempio: analisi

  • S. Salvatori – Microelettronica – marzo 2020 – (35 di 48)

    Richiesta:Sistema per la misura della temperatura ambiente

    Requisiti: → Specifiche:● Compatto→ dimensioni effettive● Portatile → batteria → peso

    ● Intervallo: da -40 °C a +40°C● Risoluzione: 0.1°C● Accuratezza iniziale: 1°C

    Esempio: analisi

  • S. Salvatori – Microelettronica – marzo 2020 – (36 di 48)

    Richiesta:Sistema per la misura della temperatura ambiente

    Requisiti: → Specifiche: constrain:● Compatto→ dimensioni effettive costo● Portatile → batteria → peso

    ● Intervallo: da -40 °C a +40°C● Risoluzione: 0.1°C● Accuratezza iniziale: 1°C

    Esempio: analisi

  • S. Salvatori – Microelettronica – marzo 2020 – (37 di 48)

    Elaboriamo un primo modello del sistema

    Con questo modello riusciamo a definire come si muove il flusso di informazioni nel sistema → data-flow graphIn questo modello inseriamo le specifiche

    Esempio: progetto ad alto livello

    sensore condiz.analogico ADC

    HWSW

    ADCdriver

    TimerISR

    Timer

    LCDdriver LCD

    temperatura-40–+40 °C

    corrente233–313

    μA

    tensione0–3 V 0–1023 0–1023

    1 s

    numero -400–+400

    Caratteri -40.0–+40.0 °C

  • S. Salvatori – Microelettronica – marzo 2020 – (38 di 48)

    ADCdriver

    LCDdriver

    Call-graph

    Esempio: ingegnerizzazione

    ADCHW

    HWSW

    main

    Timerdriver

    TimerHW

    TimerISR

    LCDHW

  • S. Salvatori – Microelettronica – marzo 2020 – (39 di 48)

    La scelta per il corso:SoC - ARM®

  • S. Salvatori – Microelettronica – marzo 2020 – (40 di 48)

    Perché ARM?

    http://arm.com/index.php

    http://arm.com/index.php

  • S. Salvatori – Microelettronica – marzo 2020 – (41 di 48)

    Prodotti basati su ARM

    mobile home

    embedded enterprise

    ARM

    file:///home/stefo/Documenti/Didattica/RomaTre/2019-2020/Microelettronica/lezioni/video/2_Introduzione/riferimenti/ARM%20Mobile%20Powered%20Products.pdffile:///home/stefo/Documenti/Didattica/RomaTre/2019-2020/Microelettronica/lezioni/video/2_Introduzione/riferimenti/ARM%20Home%20Powered%20Products.pdffile:///home/stefo/Documenti/Didattica/RomaTre/2019-2020/Microelettronica/lezioni/video/2_Introduzione/riferimenti/ARM%20Embedded%20Powered%20Products.pdffile:///home/stefo/Documenti/Didattica/RomaTre/2019-2020/Microelettronica/lezioni/video/2_Introduzione/riferimenti/ARM%20Enterprise%20Powered%20Products.pdf

  • S. Salvatori – Microelettronica – marzo 2020 – (42 di 48)

    Storia di ARM

    ● anni ’80, Università di Berkeley e Stanford (CA- USA): nasce il concetto di RISC, Reduced Instruction Set Computer. RISC I, sviluppato in un anno da studenti della Berkeley

    ● anni ’80, Acorn Computer Ltd (Cambridge, UK)– forte posizione nel mercato britannico (microcomputer BBC, basato sul

    6502). Il punto di forza del 6502 era la velocità di risposta agli interrupt;– migliorare la risposta a interrupt, senza trovare soluzione con i uP CISC

    disponibili; – La Acorn decide allora di sviluppare un proprio uP pur non avendo la

    sufficiente forza lavoro e la competenza su progettazione ASIC;– La soluzione RISC I appare la soluzione vincente:

    ● la semplice architettura del RISC supera i limiti progettuali;● la semplicità, inoltre, soddisfa il vincolo di velocità di risposta agli

    interrupt.

  • S. Salvatori – Microelettronica – marzo 2020 – (43 di 48)

    Storia di ARM

    ● 1983, Acorn: nasce ARM, Acorn RISC Machine● 1985: l’ARM diventa il componente centrale della produzione

    Acorn● 1990: nasce la ARM Ltd, Advanced RISC Machine, come società

    autonoma. Vende IP (fabless);● 1991: ARM introduce ARM6; ● 1993: ARM7;● 1997: ARM9TDMI;● 2004: nuova famiglia: Cortex. Cortex-M3;● 2008: oltre 1010 uP ARM sono stati consegnati agli oltre 200 partner della

    ARM Ltd. (10MLD / 18 anni ~ 20 processori ogni secondo !)● 2009: Cortex-M0, processore di altissimo rendimento energetico.● ….. Oggi ARM è semplicemente ARM®

  • S. Salvatori – Microelettronica – marzo 2020 – (44 di 48)

    Storia di ARM

  • S. Salvatori – Microelettronica – marzo 2020 – (45 di 48)

    Processori ARM

  • S. Salvatori – Microelettronica – marzo 2020 – (46 di 48)

    Ecosistema

    ● Cosa rende speciale l'architettura ARM rispetto a un'architettura proprietaria?– A parte la tecnologia, l'ecosistema che si sviluppa intorno ad ARM

    gioca il ruolo predominante● Oltre a lavorare a stretto contatto con coloro che producono e

    commercializzano dispositivi e apparati basati su ARM,– ARM lavora con tutti coloro che provvedono all'ecosistema di

    supporto per tali dispositivi e che sviluppano:● compilatori;● sistemi operativi;● tool di sviluppo;● corsi e supporto alla progettazione;● rete di distribuzione;● ricerca.

  • S. Salvatori – Microelettronica – marzo 2020 – (47 di 48)

    Ecosistema

    ➢ Scelte:➢ maggiori per i microcontrollori;➢ maggiori su sistemi di sviluppo;➢ più alto numero di schede di sviluppo;➢ maggiore supporto su progetti open

    source;➢ maggiore supporto su OS;➢ maggiori soluzioni in ambito software.

    ➢ Scambio di conoscenza➢ risorse su internet;➢ ampia comunità;➢ forum tecnici;➢ seminari (anche su web);➢ supporto.

    Questa “filosofia” porta a un potenziamento

  • S. Salvatori – Microelettronica – marzo 2020 – (48 di 48)

    ARM Connected Community

    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 48