Progettazione di sistemi...

25
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.

Transcript of Progettazione di sistemi...

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 – (21 di 25)

Storia di ARM

Corso introduttivo di progettazione di sistemi embedded – gennaio 2014 – (22 di 25)

Processori ARM

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

Corso introduttivo di progettazione di sistemi embedded – gennaio 2014 – (25 di 25)

ARM Connected Community