Upload
phamtruc
View
217
Download
1
Embed Size (px)
Citation preview
S. Salvatori - Elettronica dei Sistemi Programmabili – marzo 2014 – (1 di 38)
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 – (2 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 – (3 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 – (4 di 38)
Esempi di sistemi “programmabili”
S. Salvatori - Elettronica dei Sistemi Programmabili – marzo 2014 – (5 di 38)
Sommario
● I sistemi di elaborazione
● Cos'è un sistema embedded?
● Design metrics
● Hardware e software
S. Salvatori - Elettronica dei Sistemi Programmabili – marzo 2014 – (6 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 – (7 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 – (8 di 38)
Sistemi di elaborazione
in un'automobile trovano posto decine di sistemi a microprocessore
S. Salvatori - Elettronica dei Sistemi Programmabili – marzo 2014 – (9 di 38)
Sistemi di elaborazione
… non in tutte!
S. Salvatori - Elettronica dei Sistemi Programmabili – marzo 2014 – (10 di 38)
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 - Elettronica dei Sistemi Programmabili – marzo 2014 – (11 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 – (12 di 38)
Cos'è un sistema embedded?
Hardware
PC-desktop
embedded
Sistema Software
firm
ware
S. Salvatori - Elettronica dei Sistemi Programmabili – marzo 2014 – (13 di 38)
Lavoro di un sistema embedded
● Il lavoro svolto da un sistema embedded a microprocessore è nettamente distinto da quello di un personal computer
Reset Reset handler
Inizializzazione del sistema
Codice di startup (in C)
Inizializzaz.ell'hardware Elaborazione
Librerie inruntime
Routine diservizio delleinterruzioni
S. Salvatori - Elettronica dei Sistemi Programmabili – marzo 2014 – (14 di 38)
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 - Elettronica dei Sistemi Programmabili – marzo 2014 – (15 di 38)
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
S. Salvatori - Elettronica dei Sistemi Programmabili – marzo 2014 – (16 di 38)
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.
S. Salvatori - Elettronica dei Sistemi Programmabili – marzo 2014 – (17 di 38)
Design metrics
Dimensioni
Consumo
Costo del progetto
Prestazioni
Costo unitario Flessibilità
S. Salvatori - Elettronica dei Sistemi Programmabili – marzo 2014 – (18 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 – (19 di 38)
Identificazione dell'hardware
microcontrollori
DigitalSignalProcessors
FPGA
SingleBoardComputer
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)
Tipi di hardware
● Microprocessori e microcontrollori
● Digital Signal Processors
● ProgrammableLogic Devices
S. Salvatori - Elettronica dei Sistemi Programmabili – marzo 2014 – (22 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 – (23 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 – (24 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 – (25 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 – (26 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 – (27 di 38)
Firmware
● Sezione software:
– IDE (Integrated Development Environment)● editor● builder● debugger
S. Salvatori - Elettronica dei Sistemi Programmabili – marzo 2014 – (28 di 38)
Tipi di hardware
● Microprocessori e microcontrollori
● Digital Signal Processors
● ProgrammableLogic Devices
S. Salvatori - Elettronica dei Sistemi Programmabili – marzo 2014 – (29 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 – (30 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 – (31 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 – (32 di 38)
Dove troviamo i DSP
S. Salvatori - Elettronica dei Sistemi Programmabili – marzo 2014 – (33 di 38)
Tipi di hardware
● Microprocessori e microcontrollori
● Digital Signal Processors
● ProgrammableLogic Devices
S. Salvatori - Elettronica dei Sistemi Programmabili – marzo 2014 – (34 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 – (35 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 – (36 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 – (37 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 – (38 di 38)
Domande?
Stefano Salvatori