24
Stefano Salvatori 1/24 Microelettronica Introduzione ai Sistemi Embedded

Introduzione ai Sistemi Embedded - ssalvatori

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Stefano Salvatori 1/24

Microelettronica

Introduzione aiSistemi Embedded

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 4/24

Le possibili soluzioni

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 12/24

Dove troviamo un microcontrollore?

Stefano Salvatori 13/24

Dove troviamo un microcontrollore?

in un'automobile trovano posto

decine di microcontrollori

Stefano Salvatori 14/24

Dove troviamo un microcontrollore?

… ma non in tutte

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 19/24

Dove troviamo i DSP?

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

Stefano Salvatori 24/24

Sistemi di sviluppo