Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
Stefano Salvatori 2/24
Sistema di acquisizione ed elaborazione
uC, FPGA, DSPAnalogfront-end
conversione
Stefano Salvatori 3/24
Metodologie
hardware sof tware
hardware firmwareSistema embedded
Sistema desktop
Stefano Salvatori 5/24
Più nel dettaglio
Microprocessori
Microcontrollori
Digital Signal Processors
Programmable Logic Devices
Stefano Salvatori 6/24
Microprocessori
Microcontrollori
Digital Signal Processors
Programmable Logic Devices
Più nel dettaglio
Stefano Salvatori 7/24
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?
Stefano Salvatori 8/24
Microprocessori e microcontrollori
Dove troviamo un microcontrollore?
Conosciamo apparati che basino il loro funzionamento su un microcontrollore?
Dove troviamo un microprocessore?
Stefano Salvatori 9/24
Cos'è un microcontrollore?
Ha una modesta capacità di calcolo
ma esegue le istruzioni piuttosto rapidamente
E’ un sistema che rispecchia l’architettura di un computer (CPU, memorie, I/O)
Stefano Salvatori 10/24
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
Stefano Salvatori 11/24
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
Applicazioni microcontrollori
Stefano Salvatori 13/24
Dove troviamo un microcontrollore?
in un'automobile trovano posto
decine di microcontrollori
Stefano Salvatori 15/24
Microprocessori
Microcontrollori
Digital Signal Processors
Programmable Logic Devices
Più nel dettaglio
Stefano Salvatori 16/24
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.
Stefano Salvatori 17/24
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 circuiti analogici);
● Qualunque operazione di elaborazione del segnale può essere più convenientemente eseguita nel dominio digitale;
● I vantaggi sono innegabili: – risposta in frequenza lineare;– distorsione più contenuta;– dinamica più ampia;– migliore rapporto segnale/rumore;– regolazioni più precise e più ampie;– minore criticità della componentistica.
Stefano Salvatori 18/24
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
Stefano Salvatori 20/24
Microprocessori
Microcontrollori
Digital Signal Processors
Programmable Logic Devices
Più nel dettaglio
Stefano Salvatori 21/24
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.
Stefano Salvatori 22/24
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;
● 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.
Stefano Salvatori 23/24
Integrated Development Environment (IDE)
editor
compilatore
builder
debugger
Open Source:• supporto di una comunità di sviluppo
• prestazioni medie• ambiente trasparente
• costo (spesso) nullo
Proprietario:• supporto della
casa madre• prestazioni
ottimizzate• ambiente opaco• costo (spesso)
elevato
Sistemi di sviluppo