Introduzione - ssalvatori

Download Report

Transcript Introduzione - ssalvatori

Elettronica dei Sistemi Programmabili
Introduzione
prof. Stefano Salvatori
A.A. 2013/2014
Eccetto dove diversamente specificato, i contenuti di questo documento sono rilasciati sotto Licenza Creative Commons Attribuzione 3.0 Italia.
S. Salvatori - Elettronica dei Sistemi Programmabili – marzo 2014 – (1 di 38)
Qual è l'obiettivo di questo corso?
In questo corso si cercherà di dare particolare enfasi ai
sistemi elettronici programmabili, rispondendo alla domanda:
“cos'è un sistema embedded?”
e si pone come obiettivo quello di mettere in condizione i singoli studenti
di poter iniziare uno studio volto a progettare su misura applicazioni
intelligenti nel futuro lavoro professionale.
S. Salvatori - Elettronica dei Sistemi Programmabili – marzo 2014 – (2 di 38)
Conosco i sistemi embedded?
Le attuali metodologie di progettazione di sistemi
embedded consentono la realizzazione di apparati che in
logica cablata richiederebbero molto tempo sia per la
progettazione che la fabbricazione.
Tipicamente alla base di un sistema embedded vi è un
circuito di tipo programmabile basato su processore.
Il tutto può allora apparire come un “computer in
miniatura” che possiamo trovare in ogni genere di
oggetti.
Quanti sistemi embedded usiamo ogni giorno?
Un dispositivo equipaggiato di tasti, led, display o
altoparlante, è probabile che abbia anche un
microprocessore.
S. Salvatori - Elettronica dei Sistemi Programmabili – marzo 2014 – (3 di 38)
Esempi di sistemi “programmabili”
S. Salvatori - Elettronica dei Sistemi Programmabili – marzo 2014 – (4 di 38)
Sommario
●
I sistemi di elaborazione
●
Cos'è un sistema embedded?
●
Design metrics
●
Hardware e software
S. Salvatori - Elettronica dei Sistemi Programmabili – marzo 2014 – (5 di 38)
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 - Elettronica dei Sistemi Programmabili – marzo 2014 – (6 di 38)
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 - Elettronica dei Sistemi Programmabili – marzo 2014 – (7 di 38)
Sistemi di elaborazione
in un'automobile trovano posto decine di sistemi a microprocessore
S. Salvatori - Elettronica dei Sistemi Programmabili – marzo 2014 – (8 di 38)
Sistemi di elaborazione
… non in tutte!
S. Salvatori - Elettronica dei Sistemi Programmabili – marzo 2014 – (9 di 38)
Sistemi di elaborazione
●
Una breve lista
ABS
Auto-focus
Avionica
Carica-batteria
Condizionatori
Console per videogiochi
Controllo missile
Controllori di temperatura
Decoder MPEG
Forno a microonde
Fotocopiatrici
Giocattoli elettronici
Lettori CD/DVD
Lettore impronta digitale
Lavastoviglie
Telecamere
Macch. a controllo numerico
Telefoni cellulari
Modem
Telefoni cordeless
Riconoscitori vocali
Trasmissione
Router
Televisione
Scanner
Video game portatili
Sistemi audio
Videocitofoni
Sistemi di guida
Videosorveglianza
Sistemi di sicurezza
Videotelefoni
Sistemi di supporto vita
...
Sistemi medicali
Stampanti
Stazioni base per telefonia cellulare
Strumenti elettronici
S. Salvatori - Elettronica dei Sistemi Programmabili – marzo 2014 – (10 di 38)
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
S. Salvatori - Elettronica dei Sistemi Programmabili – marzo 2014 – (11 di 38)
Cos'è un sistema embedded?
Sistema
Hardware
Software
PC-desktop
embedded
if rm
w
e
r
a
S. Salvatori - Elettronica dei Sistemi Programmabili – marzo 2014 – (12 di 38)
Lavoro di un sistema embedded
●
Reset
Il lavoro svolto da un sistema embedded a microprocessore
è nettamente distinto da quello di un personal computer
Reset handler
Inizializzazione
del sistema
Codice di
startup (in C)
Inizializzaz.
ell'hardware
Elaborazione
Librerie in
runtime
Routine di
servizio delle
interruzioni
S. Salvatori - Elettronica dei Sistemi Programmabili – marzo 2014 – (13 di 38)
Caratteristiche tipiche
●
Singola funzionalità
–
●
Vincoli molto stringenti
–
●
Esegue un unico programma, ripetutamente
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 - Elettronica dei Sistemi Programmabili – marzo 2014 – (14 di 38)
Un esempio: videocamera
CCD
Processore pixel
Codec JPEG
Molt/acc
Microcontrollore
DMA controller
Memory controller
D/A
Contr. display
Interfaccia ISA
UART
Contr. LCD
DigitalCamera Chip
A/D
Processore CCD
S. Salvatori - Elettronica dei Sistemi Programmabili – marzo 2014 – (15 di 38)
Design metrics
●
Costo unitario
–
●
Costo NRE (Non-Recurring Engineering)
–
●
Tempo di esecuzione o trhoughput del sistema;
Consumo
–
●
Spazio fisico dell'apparato;
Prestazioni
–
●
Costo per la progettazione;
Dimensioni
–
●
Costo del singolo pezzo (scl. NRE);
La potenza dissipata dall'apparato;
Flessibilità
–
Abilità di modificare la funzionalità del sistema senza incorrere in un
costo eccessivo per NRE.
S. Salvatori - Elettronica dei Sistemi Programmabili – marzo 2014 – (16 di 38)
Design metrics
Consumo
Prestazioni
Dimensioni
Costo unitario
Flessibilità
Costo del progetto
S. Salvatori - Elettronica dei Sistemi Programmabili – marzo 2014 – (17 di 38)
Hardware versus software
●
È necessario coprire entrambe gli aspetti, software e
hardware, per ottimizzare il progetto (design metrics)
software
hardware
S. Salvatori - Elettronica dei Sistemi Programmabili – marzo 2014 – (18 di 38)
Identificazione dell'hardware
Digital
Signal
Processors
microcontrollori
Single
Board
Computer
FPGA
S. Salvatori - Elettronica dei Sistemi Programmabili – marzo 2014 – (19 di 38)
Tipi di hardware
●
Microprocessori e microcontrollori
●
Digital Signal Processors
●
ProgrammableLogic Devices
S. Salvatori - Elettronica dei Sistemi Programmabili – marzo 2014 – (20 di 38)
Tipi di hardware
●
Microprocessori e microcontrollori
●
Digital Signal Processors
●
ProgrammableLogic Devices
S. Salvatori - Elettronica dei Sistemi Programmabili – marzo 2014 – (21 di 38)
Microprocessori e microcontrollori
Il termine “microprocessore” è oggi di uso
comune e diffuso.
Ad esso associamo le macchine di calcolo di
cui, sappiamo, esso rappresenta il “cervello”.
Ma cosa dire di un microcontrollore?
abbiamo idea in quale ambito esso
possa trovare applicazione?
S. Salvatori - Elettronica dei Sistemi Programmabili – marzo 2014 – (22 di 38)
Microprocessori e microcontrollori
Dove troviamo un microprocessore?
Dove troviamo un microcontrollore?
Conosciamo apparati che basino il loro
funzionamento su un microcontrollore?
S. Salvatori - Elettronica dei Sistemi Programmabili – marzo 2014 – (23 di 38)
Cos'è un microcontrollore
E’ un sistema che rispecchia l’architettura di un
computer (CPU, memorie, I/O)
Ha una modesta capacità di calcolo
ma esegue le istruzioni piuttosto rapidamente
S. Salvatori - Elettronica dei Sistemi Programmabili – marzo 2014 – (24 di 38)
System on a chip
I moderni microntrollori rientrano nella categoria dei SoC,
System on a Chip.
Nel chip è integrato una CPU (core) e diversi blocchi dalla
funzionalità specifica:
 RAM e ROM;
 porte di interfacciamento (GPIO);
 ADC e DAC;
 hardware per la comunicazione:


UART
BUS

I2C, SPI, USB, CAN, LIN …
 Dispositivi per lo sviluppo

ISP, In System Programmable

ICE, In System Emulator
S. Salvatori - Elettronica dei Sistemi Programmabili – marzo 2014 – (25 di 38)
Applicazioni
Con un microcontrollore possiamo realizzare sistemi che in
logica cablata richiederebbero molto tempo sia per la
progettazione che la realizzazione
Viene impiegato in applicazioni
“embedded” stand-alone
Molto del lavoro di progettazione riguarda la
definizione del firmware
S. Salvatori - Elettronica dei Sistemi Programmabili – marzo 2014 – (26 di 38)
Firmware
●
Sezione software:
–
IDE (Integrated Development Environment)
●
●
●
editor
builder
debugger
S. Salvatori - Elettronica dei Sistemi Programmabili – marzo 2014 – (27 di 38)
Tipi di hardware
●
Microprocessori e microcontrollori
●
Digital Signal Processors
●
ProgrammableLogic Devices
S. Salvatori - Elettronica dei Sistemi Programmabili – marzo 2014 – (28 di 38)
Cos'è un DSP
●
●
●
Un processore DSP è un apparato elettronico in grado di
svolgere funzioni di elaborazione su preciso comando
(meglio programmazione) dell’operatore, su segnali (audio
e video, ad esempio) che riceve in ingresso;
DSP è l’acronimo di Digital Signal Processor, ovvero
elaboratore digitale di segnale;
Lo stesso acronimo è usato per indicare l'elaborazione
digitale dei segnali, Digital Signal Processing.
S. Salvatori - Elettronica dei Sistemi Programmabili – marzo 2014 – (29 di 38)
Cos'è un DSP
●
●
●
Ogni sorta di elaborazione del segnale – equalizzazione, compressione,
espansione, limitazione, filtraggio, ritardo, … – è (spesso più agevolmente)
implementabile mediante circuiti digitali (piuttosto che con gli analogici);
Qualunque operazione di elaborazione del segnale può essere più
convenientemente eseguita nel dominio digitale;
I vantaggi sono:
–
risposta in frequenza lineare;
–
distorsione più contenuta;
–
dinamica più ampia;
–
migliore rapporto segnale/rumore;
–
regolazioni più precise e più ampie;
–
minore criticità della componentistica.
S. Salvatori - Elettronica dei Sistemi Programmabili – marzo 2014 – (30 di 38)
Cos'è un DSP
●
Blocchi fondamentali:
–
un convertitore analogico-digitale (o convertitore A/D), che
esegue la digitalizzazione del segnale da elaborare;
–
una sezione di elaborazione del segnale digitale (DSP),
convenientemente progettata con il fine di realizzare
determinate funzioni (es. ritardo, filtraggio, ecc.);
–
un convertitore digitale-analogico ( o convertitore D/A), che
ricostruisce il segnale analogico a partire dalla sua versione
digitale elaborata
S. Salvatori - Elettronica dei Sistemi Programmabili – marzo 2014 – (31 di 38)
Dove troviamo i DSP
S. Salvatori - Elettronica dei Sistemi Programmabili – marzo 2014 – (32 di 38)
Tipi di hardware
●
Microprocessori e microcontrollori
●
Digital Signal Processors
●
ProgrammableLogic Devices
S. Salvatori - Elettronica dei Sistemi Programmabili – marzo 2014 – (33 di 38)
Cos'è una FPGA?
●
●
L'FPGA è un circuito integrato che contiene molte celle logiche
identiche, che possono essere viste come delle singole porte
logiche. Ogni cella può indipendentemente implementare una
funzione specifica, definita da una tabella e può comunicare
con le altre celle tramite una fittissima trama di interconnessioni
e di interruttori;
Questa matrice di celle e di
connessioni forma la base per la
costruzione di ogni circuito, anche di
quelli più complessi, grazie alla
grande varietà di funzioni possibili e
all'elevatissimo numero di
connessioni.
S. Salvatori - Elettronica dei Sistemi Programmabili – marzo 2014 – (34 di 38)
Cos'è una FPGA?
●
●
Field Programmable significa che la funzione della FPGA
è definita dal programma dell'utente, piuttosto che dalla
disposizione, non modificabile, dei dispositivi che
realizzano le funzioni logiche;
Questi dispositivi permettono di raggiungere livelli di
integrazione molto spinti, fino a pochi anni fa
pensabili solo con circuiti ASIC, mantenendo la
caratteristica di basso costo di produzione iniziale,
tipico dei dispositivi programmabili;
S. Salvatori - Elettronica dei Sistemi Programmabili – marzo 2014 – (35 di 38)
Cos'è una FPGA?
●
Tuttavia, una FPGA non è ancora in grado di raggiungere
prestazioni paragonabili a quelle di un circuito ASIC,
proprio per il diverso tipo di interconnessione usata.
D’altra parte, una soluzione ASIC è adottabile unicamente
per progetti a larga scala di produzione, per ovvi motivi di
costo di fabbricazione.
Le FPGA oggi sono impiegate non solo a
livello di prototipazione ma anche per
produzione in serie. Le loro applicazioni vanno
dai sistemi di controllo di tipo predittivo alla
strumentazione scientifica, dall'elettronica di
consumo all'elaborazione digitale dei segnali.
S. Salvatori - Elettronica dei Sistemi Programmabili – marzo 2014 – (36 di 38)
Modalità d'esame
●
●
Giugno 2014: pre-appello scritto con
domande relative ai contenuti del corso
(presumibilmente 6 domande, durata 3
ore circa);
Altrimenti: Colloquio...
S. Salvatori - Elettronica dei Sistemi Programmabili – marzo 2014 – (37 di 38)
Domande?
Stefano Salvatori
☞
[email protected]
S. Salvatori - Elettronica dei Sistemi Programmabili – marzo 2014 – (38 di 38)