Salta al contenuto
Note per Studenti Microcontrollori e DSP - definizioni e scelta del dispositivo

Microcontrollori e DSP - definizioni e scelta del dispositivo

In questa pagina 5

Il corso di Elettronica Industriale studia come è fatto e come si usa il processore che sta dentro un'apparecchiatura industriale: un azionamento per motori, un alimentatore a commutazione, un termostato, una centralina d'auto. Questa nota fissa le definizioni di partenza e i criteri con cui si sceglie il dispositivo.

Microcontrollore (µC)

Un microcontrollore è un microprocessoreCPU, cioè l'unità che esegue le istruzioni di un programma ottimizzato per compiti di controllo, temporizzazione e supervisione di apparati (si dice embedded controlcontrollo incorporato: il processore è nascosto dentro il prodotto e l'utente non lo vede come un computer). La caratteristica che lo distingue da un processore per PC è la disponibilità on chip, cioè sullo stesso pezzo di silicio, di:

  • memoria (ROM, EEPROM, FLASH per il programma, SRAM per i dati);
  • periferiche: convertitori A/D (spesso anche D/A), timercontatore binario che misura intervalli di tempo e genera eventi, vedi la nota sui timer, modulatori PWMPulse Width Modulation, modulazione a larghezza di impulso, porte di comunicazione seriali (UART, I2C, SPI, CAN), interfacce per encoder e display, unità di gestione dell'alimentazione.

Di norma ha complessità ridotta, configurazione semplice e basso costo. Esistono µC da 4 a 32 bit (lunghezza della parola di dati e dell'ALU); il mercato oggi privilegia i 32 bit (circa 50%), seguiti da 8 e 16 bit (circa 25% ciascuno). Gli impieghi tipici sono gli elettrodomestici, i telefoni e le periferiche dei PC, gli strumenti portatili e, soprattutto in ambito industriale, il settore automotive (centraline) e gli azionamenti elettrici.

Digital Signal Processor (DSP)

Un DSP è un microprocessore ottimizzato per eseguire in modo efficiente funzioni di elaborazione numerica del segnale in tempo reale (real-timetempo reale: il risultato deve essere pronto entro una scadenza fissata, per esempio entro il prossimo campione): filtri, trasformate, codifica e compressione di audio e video, criptazione, sintesi del suono. È caratterizzato da elevata potenza di calcolo, costo relativamente basso rispetto ai processori per uso generico e attenzione al consumo. Elementi comuni a molte famiglie:

Differenze storiche e convergenza

Tradizionalmente il µC faceva il controllo grazie alle periferiche, ma con CPU a 8 bit senza moltiplicatore hardware e poca potenza di calcolo; il DSP faceva solo signal processing, dove la potenza di calcolo è il parametro chiave. Oggi la distinzione è sfumata: i DSP più recenti integrano periferiche da µC, e alcuni µC (per esempio quelli con core ARM Cortex-M4) hanno un'organizzazione e una potenza prossime a quelle di un DSP. Per i processori orientati al controllo in tempo reale si usa il nome Digital Signal Controller (DSC).

Per le applicazioni di controllo industriale i µC/DSC si preferiscono ai processori per PC perché includono le periferiche per interfacciare azionamenti, convertitori di potenza e interfacce uomo-macchina, costano meno, dissipano meno e sono assai meno sensibili ai disturbi elettromagnetici dell'ambiente industriale. Interfacciare un processore "da PC" con un processo industriale è invece costoso; farlo fare signal processing penalizza le prestazioni.

Come si sceglie il dispositivo

Il mercato offre moltissimi chip, quindi scegliere non è banale. L'obiettivo di un progetto è ottenere le funzioni richieste al minimo costo complessivo, e questo non dipende solo dal prezzo del chip:

  • il costo dei dispositivi dipende molto dal volume di produzione, perché i costi fissi di progetto si ripartiscono su più pezzi;
  • il tempo e le risorse di sviluppo (time to markettempo che passa dall'inizio del progetto alla vendita del prodotto) dipendono dalla qualità dell'ambiente di sviluppo integrato (IDEIntegrated Development Environment: editor, compilatore e debugger in un unico programma), dal supporto del costruttore (librerie, driver) e dalla disponibilità di esempi.

L'applicazione fissa poi il livello di prestazioni richiesto in termini di periferiche (per esempio un ADC a 8, 10 o 12 bit), di condizioni di funzionamento (consumo massimo, temperatura) e di potenza di calcolo (controllo real time, signal processing). Come si misura la potenza di calcolo, e perché indici come i MIPS ingannano, è nella nota Misura delle prestazioni - tempo di calcolo e indici MIPSLe prestazioni di un processore si misurano col tempo di calcolo di un programma: $T_{cal}=T_{clk}\sum_{i}N_i,NC_i$ (periodo di clock per numero di istruzioni di classe $i$ per cicli medi della classe). Aumentare la velocità vuol dire ridurre $T_{clk}$, i cicli per istruzione (organizzazione) o il numero di istruzioni (architettura). Gli indici MIPS, DMIPS, FLOPS misurano solo un picco e non permettono di confrontare famiglie diverse: si usa il benchmarking (kernel benchmarking per i DSP).Misura delle prestazioni - tempo di calcolo e indici MIPS →.

Errori comuni

Versione ripasso

Teoria collegata