Corso introduttivo di progettazione di sistemi embedded – gennaio 2014 – (1 di 25)
Progettazione di sistemi Embedded
Corso introduttivo di progettazione di sistemi embedded
A.S. 2013/2014
proff. Nicola Masarone e Stefano Salvatori
Eccetto dove diversamente specificato, i contenuti di questo documento sono rilasciati sotto Licenza Creative Commons Attribuzione 3.0 Italia.
Corso introduttivo di progettazione di sistemi embedded – gennaio 2014 – (2 di 25)
Qual è l'obiettivo di questo corso?
Questo Corso cercherà di rispondere alla domanda:
“cos'è un microcontrollore?”
e si pone come obiettivo quello di mettere in condizione i singoli studenti di poter iniziare a progettare su misura applicazioni intelligenti.
A differenza di altri corsi, alla fine di questo avrete 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.
Corso introduttivo di progettazione di sistemi embedded – gennaio 2014 – (3 di 25)
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.
Corso introduttivo di progettazione di sistemi embedded – gennaio 2014 – (4 di 25)
Sommario
● I sistemi di elaborazione
● Cos'è un sistema embedded?
● Design metrics
● Hardware e software
● Perché ARM?
Corso introduttivo di progettazione di sistemi embedded – gennaio 2014 – (5 di 25)
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 ...
Corso introduttivo di progettazione di sistemi embedded – gennaio 2014 – (6 di 25)
Sistemi di elaborazione
– Automotive
– Elettronica di consumo
– Medicina
– Ricerca scientifica
– …
● Miliardi di prodotti ogni anno
● Circa 50 in ogni abitazione e in un'automobile
Corso introduttivo di progettazione di sistemi embedded – gennaio 2014 – (7 di 25)
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 ...
Corso introduttivo di progettazione di sistemi embedded – gennaio 2014 – (8 di 25)
Cos'è un sistemi 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
Corso introduttivo di progettazione di sistemi embedded – gennaio 2014 – (9 di 25)
Cos'è un sistema embedded?
Hardware
PC-desktop
embedded
Sistema Software
firm
ware
Corso introduttivo di progettazione di sistemi embedded – gennaio 2014 – (10 di 25)
Lavoro di un sistema embedded
● 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.ell'hardware Elaborazione
Librerie inruntime
Routine diservizio delleinterruzioni
Corso introduttivo di progettazione di sistemi embedded – gennaio 2014 – (11 di 25)
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
Corso introduttivo di progettazione di sistemi embedded – gennaio 2014 – (12 di 25)
Un esempio: videocamera
Processore CCD Processore pixel
Codec JPEGMicrocontrollore
D/A
A/D
Molt/acc
DMA controller
Memory controller Interfaccia ISA UART Contr. LCD
Contr. display
CCD
Dig
ital
Cam
era
Ch
ip
Corso introduttivo di progettazione di sistemi embedded – gennaio 2014 – (13 di 25)
Design metrics● Costo unitario
– Costo del singolo pezzo (scl. 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.
Corso introduttivo di progettazione di sistemi embedded – gennaio 2014 – (14 di 25)
Design metrics
Dimensioni
Consumo
Costo del progetto
Prestazioni
Costo unitario Flessibilità
Corso introduttivo di progettazione di sistemi embedded – gennaio 2014 – (15 di 25)
Hardware versus software
● È necessario coprire entrambe gli aspetti, software e hardware, per ottimizzare il progetto (design metrics)
software
hardware
Corso introduttivo di progettazione di sistemi embedded – gennaio 2014 – (16 di 25)
Identificazione dell'hardware
microcontrollori
DigitalSignalProcessors
FPGA
SingleBoardComputer
Corso introduttivo di progettazione di sistemi embedded – gennaio 2014 – (17 di 25)
Perché ARM?
http://arm.com/index.php
Corso introduttivo di progettazione di sistemi embedded – gennaio 2014 – (18 di 25)
Prodotti basati su ARM
mobile home
embedded enterprise
ARM
Corso introduttivo di progettazione di sistemi embedded – gennaio 2014 – (19 di 25)
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.
Corso introduttivo di progettazione di sistemi embedded – gennaio 2014 – (20 di 25)
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.
● …..
Corso introduttivo di progettazione di sistemi embedded – gennaio 2014 – (23 di 25)
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.
Corso introduttivo di progettazione di sistemi embedded – gennaio 2014 – (24 di 25)
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
Top Related