Elettronica dei Sistemi...

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

Transcript of Elettronica dei Sistemi...

Page 1: Elettronica dei Sistemi Programmabilissalvatori.altervista.org/alterpages/files/1_Introduzione.pdfHardware versus software ... pensabili solo con circuiti ASIC, mantenendo la caratteristica

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.

Page 2: Elettronica dei Sistemi Programmabilissalvatori.altervista.org/alterpages/files/1_Introduzione.pdfHardware versus software ... pensabili solo con circuiti ASIC, mantenendo la caratteristica

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.

Page 3: Elettronica dei Sistemi Programmabilissalvatori.altervista.org/alterpages/files/1_Introduzione.pdfHardware versus software ... pensabili solo con circuiti ASIC, mantenendo la caratteristica

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.

Page 4: Elettronica dei Sistemi Programmabilissalvatori.altervista.org/alterpages/files/1_Introduzione.pdfHardware versus software ... pensabili solo con circuiti ASIC, mantenendo la caratteristica

S. Salvatori - Elettronica dei Sistemi Programmabili – marzo 2014 – (4 di 38)

Esempi di sistemi “programmabili”

Page 5: Elettronica dei Sistemi Programmabilissalvatori.altervista.org/alterpages/files/1_Introduzione.pdfHardware versus software ... pensabili solo con circuiti ASIC, mantenendo la caratteristica

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

Page 6: Elettronica dei Sistemi Programmabilissalvatori.altervista.org/alterpages/files/1_Introduzione.pdfHardware versus software ... pensabili solo con circuiti ASIC, mantenendo la caratteristica

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

Page 7: Elettronica dei Sistemi Programmabilissalvatori.altervista.org/alterpages/files/1_Introduzione.pdfHardware versus software ... pensabili solo con circuiti ASIC, mantenendo la caratteristica

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

Page 8: Elettronica dei Sistemi Programmabilissalvatori.altervista.org/alterpages/files/1_Introduzione.pdfHardware versus software ... pensabili solo con circuiti ASIC, mantenendo la caratteristica

S. Salvatori - Elettronica dei Sistemi Programmabili – marzo 2014 – (8 di 38)

Sistemi di elaborazione

in un'automobile trovano posto decine di sistemi a microprocessore

Page 9: Elettronica dei Sistemi Programmabilissalvatori.altervista.org/alterpages/files/1_Introduzione.pdfHardware versus software ... pensabili solo con circuiti ASIC, mantenendo la caratteristica

S. Salvatori - Elettronica dei Sistemi Programmabili – marzo 2014 – (9 di 38)

Sistemi di elaborazione

… non in tutte!

Page 10: Elettronica dei Sistemi Programmabilissalvatori.altervista.org/alterpages/files/1_Introduzione.pdfHardware versus software ... pensabili solo con circuiti ASIC, mantenendo la caratteristica

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

Page 11: Elettronica dei Sistemi Programmabilissalvatori.altervista.org/alterpages/files/1_Introduzione.pdfHardware versus software ... pensabili solo con circuiti ASIC, mantenendo la caratteristica

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

Page 12: Elettronica dei Sistemi Programmabilissalvatori.altervista.org/alterpages/files/1_Introduzione.pdfHardware versus software ... pensabili solo con circuiti ASIC, mantenendo la caratteristica

S. Salvatori - Elettronica dei Sistemi Programmabili – marzo 2014 – (12 di 38)

Cos'è un sistema embedded?

Hardware

PC-desktop

embedded

Sistema Software

firm

ware

Page 13: Elettronica dei Sistemi Programmabilissalvatori.altervista.org/alterpages/files/1_Introduzione.pdfHardware versus software ... pensabili solo con circuiti ASIC, mantenendo la caratteristica

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

Page 14: Elettronica dei Sistemi Programmabilissalvatori.altervista.org/alterpages/files/1_Introduzione.pdfHardware versus software ... pensabili solo con circuiti ASIC, mantenendo la caratteristica

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

Page 15: Elettronica dei Sistemi Programmabilissalvatori.altervista.org/alterpages/files/1_Introduzione.pdfHardware versus software ... pensabili solo con circuiti ASIC, mantenendo la caratteristica

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

Page 16: Elettronica dei Sistemi Programmabilissalvatori.altervista.org/alterpages/files/1_Introduzione.pdfHardware versus software ... pensabili solo con circuiti ASIC, mantenendo la caratteristica

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.

Page 17: Elettronica dei Sistemi Programmabilissalvatori.altervista.org/alterpages/files/1_Introduzione.pdfHardware versus software ... pensabili solo con circuiti ASIC, mantenendo la caratteristica

S. Salvatori - Elettronica dei Sistemi Programmabili – marzo 2014 – (17 di 38)

Design metrics

Dimensioni

Consumo

Costo del progetto

Prestazioni

Costo unitario Flessibilità

Page 18: Elettronica dei Sistemi Programmabilissalvatori.altervista.org/alterpages/files/1_Introduzione.pdfHardware versus software ... pensabili solo con circuiti ASIC, mantenendo la caratteristica

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

Page 19: Elettronica dei Sistemi Programmabilissalvatori.altervista.org/alterpages/files/1_Introduzione.pdfHardware versus software ... pensabili solo con circuiti ASIC, mantenendo la caratteristica

S. Salvatori - Elettronica dei Sistemi Programmabili – marzo 2014 – (19 di 38)

Identificazione dell'hardware

microcontrollori

DigitalSignalProcessors

FPGA

SingleBoardComputer

Page 20: Elettronica dei Sistemi Programmabilissalvatori.altervista.org/alterpages/files/1_Introduzione.pdfHardware versus software ... pensabili solo con circuiti ASIC, mantenendo la caratteristica

S. Salvatori - Elettronica dei Sistemi Programmabili – marzo 2014 – (20 di 38)

Tipi di hardware

● Microprocessori e microcontrollori

● Digital Signal Processors

● ProgrammableLogic Devices

Page 21: Elettronica dei Sistemi Programmabilissalvatori.altervista.org/alterpages/files/1_Introduzione.pdfHardware versus software ... pensabili solo con circuiti ASIC, mantenendo la caratteristica

S. Salvatori - Elettronica dei Sistemi Programmabili – marzo 2014 – (21 di 38)

Tipi di hardware

● Microprocessori e microcontrollori

● Digital Signal Processors

● ProgrammableLogic Devices

Page 22: Elettronica dei Sistemi Programmabilissalvatori.altervista.org/alterpages/files/1_Introduzione.pdfHardware versus software ... pensabili solo con circuiti ASIC, mantenendo la caratteristica

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?

Page 23: Elettronica dei Sistemi Programmabilissalvatori.altervista.org/alterpages/files/1_Introduzione.pdfHardware versus software ... pensabili solo con circuiti ASIC, mantenendo la caratteristica

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?

Page 24: Elettronica dei Sistemi Programmabilissalvatori.altervista.org/alterpages/files/1_Introduzione.pdfHardware versus software ... pensabili solo con circuiti ASIC, mantenendo la caratteristica

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

Page 25: Elettronica dei Sistemi Programmabilissalvatori.altervista.org/alterpages/files/1_Introduzione.pdfHardware versus software ... pensabili solo con circuiti ASIC, mantenendo la caratteristica

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

Page 26: Elettronica dei Sistemi Programmabilissalvatori.altervista.org/alterpages/files/1_Introduzione.pdfHardware versus software ... pensabili solo con circuiti ASIC, mantenendo la caratteristica

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

Page 27: Elettronica dei Sistemi Programmabilissalvatori.altervista.org/alterpages/files/1_Introduzione.pdfHardware versus software ... pensabili solo con circuiti ASIC, mantenendo la caratteristica

S. Salvatori - Elettronica dei Sistemi Programmabili – marzo 2014 – (27 di 38)

Firmware

● Sezione software:

– IDE (Integrated Development Environment)● editor● builder● debugger

Page 28: Elettronica dei Sistemi Programmabilissalvatori.altervista.org/alterpages/files/1_Introduzione.pdfHardware versus software ... pensabili solo con circuiti ASIC, mantenendo la caratteristica

S. Salvatori - Elettronica dei Sistemi Programmabili – marzo 2014 – (28 di 38)

Tipi di hardware

● Microprocessori e microcontrollori

● Digital Signal Processors

● ProgrammableLogic Devices

Page 29: Elettronica dei Sistemi Programmabilissalvatori.altervista.org/alterpages/files/1_Introduzione.pdfHardware versus software ... pensabili solo con circuiti ASIC, mantenendo la caratteristica

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.

Page 30: Elettronica dei Sistemi Programmabilissalvatori.altervista.org/alterpages/files/1_Introduzione.pdfHardware versus software ... pensabili solo con circuiti ASIC, mantenendo la caratteristica

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.

Page 31: Elettronica dei Sistemi Programmabilissalvatori.altervista.org/alterpages/files/1_Introduzione.pdfHardware versus software ... pensabili solo con circuiti ASIC, mantenendo la caratteristica

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

Page 32: Elettronica dei Sistemi Programmabilissalvatori.altervista.org/alterpages/files/1_Introduzione.pdfHardware versus software ... pensabili solo con circuiti ASIC, mantenendo la caratteristica

S. Salvatori - Elettronica dei Sistemi Programmabili – marzo 2014 – (32 di 38)

Dove troviamo i DSP

Page 33: Elettronica dei Sistemi Programmabilissalvatori.altervista.org/alterpages/files/1_Introduzione.pdfHardware versus software ... pensabili solo con circuiti ASIC, mantenendo la caratteristica

S. Salvatori - Elettronica dei Sistemi Programmabili – marzo 2014 – (33 di 38)

Tipi di hardware

● Microprocessori e microcontrollori

● Digital Signal Processors

● ProgrammableLogic Devices

Page 34: Elettronica dei Sistemi Programmabilissalvatori.altervista.org/alterpages/files/1_Introduzione.pdfHardware versus software ... pensabili solo con circuiti ASIC, mantenendo la caratteristica

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.

Page 35: Elettronica dei Sistemi Programmabilissalvatori.altervista.org/alterpages/files/1_Introduzione.pdfHardware versus software ... pensabili solo con circuiti ASIC, mantenendo la caratteristica

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;

Page 36: Elettronica dei Sistemi Programmabilissalvatori.altervista.org/alterpages/files/1_Introduzione.pdfHardware versus software ... pensabili solo con circuiti ASIC, mantenendo la caratteristica

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.

Page 37: Elettronica dei Sistemi Programmabilissalvatori.altervista.org/alterpages/files/1_Introduzione.pdfHardware versus software ... pensabili solo con circuiti ASIC, mantenendo la caratteristica

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

Page 38: Elettronica dei Sistemi Programmabilissalvatori.altervista.org/alterpages/files/1_Introduzione.pdfHardware versus software ... pensabili solo con circuiti ASIC, mantenendo la caratteristica

S. Salvatori - Elettronica dei Sistemi Programmabili – marzo 2014 – (38 di 38)

Domande?

Stefano Salvatori

[email protected]