Il convertitore digitale-analogico, o DAC (Digital-to-Analog Converter), è il circuito che trasforma un codice numerico discreto in una grandezza analogica, tipicamente una tensione o una corrente. È il complemento del convertitore analogico-digitale: l’ADC porta un segnale fisico nel dominio numerico, il DAC riporta un dato digitale nel mondo fisico.
I DAC sono presenti in audio, telecomunicazioni, sintesi di forme d’onda, controllo industriale, alimentatori programmabili, strumentazione, microcontrollori, attuatori, radio definite via software e interfacce uomo-macchina.
Modello ideale
Un DAC ideale a N bit riceve un codice intero D e produce uno tra 2^N livelli. Per un convertitore unipolare con fondo scala V_{FS}, il passo ideale, o LSB, è:
Una convenzione comune assegna:
Altre convenzioni usano 2^N-1 al denominatore per mappare il codice massimo esattamente sul valore di riferimento:
La differenza non è un dettaglio estetico: influenza endpoint, calibrazione, codice di fondo scala e interpretazione del valore massimo.
Codice, riferimento e uscita
Un DAC non crea un valore analogico assoluto dal nulla. Lo scala rispetto a un riferimento di tensione o corrente. Se il riferimento varia, varia anche l’uscita. Per questo, nei sistemi di precisione, il riferimento deve avere basso rumore, deriva termica contenuta e buona stabilità nel tempo.
I formati possono essere:
| Formato | Uscita tipica |
|---|---|
| unipolare | da 0 a V_{\mathrm{ref}} |
| bipolare | da -V_{\mathrm{ref}} a +V_{\mathrm{ref}} o intervallo equivalente |
| corrente | corrente proporzionale al codice |
| differenziale | due uscite opposte per migliorare immunità e dinamica |
Nei DAC bipolari, il codice può essere in complemento a due, offset binary o altro formato. Interpretare male il formato produce uscite capovolte o traslate.
Uscita a gradini e ricostruzione
L’uscita di un DAC ideale aggiornato a intervalli discreti non è una curva continua perfetta: è una sequenza di livelli mantenuti tra un aggiornamento e il successivo. Il modello più semplice è lo zero-order hold, in cui ogni valore resta costante fino al campione seguente.
Questo comportamento introduce immagini spettrali attorno ai multipli della frequenza di aggiornamento. Per ottenere un segnale analogico liscio si usa un filtro di ricostruzione, spesso passa-basso, che attenua componenti indesiderate ad alta frequenza.
La qualità della ricostruzione dipende da:
- frequenza di aggiornamento;
- banda utile del segnale;
- ordine e pendenza del filtro;
- rumore e jitter del clock;
- linearità del DAC;
- impedenza di uscita e carico collegato.
Un DAC audio, per esempio, non si limita a “convertire bit in tensione”: include sovracampionamento, noise shaping, filtri digitali e stadi analogici di uscita.
Errore di quantizzazione
Anche un DAC ideale produce solo livelli discreti. Se si vuole rappresentare un valore analogico desiderato x, il valore realizzabile più vicino differisce di un errore legato al passo \Delta. Nel modello uniforme ideale, l’errore di ampiezza è dell’ordine di mezzo LSB:
Questo limite riguarda la risoluzione ideale. Nei DAC reali si aggiungono errori di offset, guadagno, non linearità, rumore, deriva termica e transitori di commutazione.
Specifiche reali
Le specifiche più importanti non sono solo il numero di bit.
| Specifica | Significato |
|---|---|
| risoluzione | numero di livelli disponibili |
| offset error | uscita diversa da zero quando il codice dovrebbe dare zero |
| gain error | pendenza reale diversa da quella ideale |
| DNL | ampiezza dei passi non uniforme |
| INL | deviazione accumulata dalla retta ideale |
| monotonicità | uscita che non diminuisce quando il codice aumenta |
| settling time | tempo necessario per arrivare entro una banda di errore |
| glitch energy | impulso spurio durante il cambio di codice |
| SFDR | purezza spettrale nella generazione di segnali |
La DNL (Differential Non-Linearity) confronta ogni passo reale con un LSB ideale. Se è troppo grande, alcuni codici possono avere passo anomalo o mancare. La INL (Integral Non-Linearity) misura quanto la curva complessiva si discosta dalla retta ideale, producendo distorsione nei segnali.
La monotonicità è cruciale nei sistemi di controllo: se aumentando il codice l’uscita diminuisce localmente, un anello di regolazione può diventare instabile o imprevedibile.
Architetture
| Architettura | Caratteristica | Uso tipico |
|---|---|---|
| rete R-2R | scala resistiva binaria compatta | DAC general purpose |
| string DAC | partitore resistivo con selezione del nodo | monotonicità, basse velocità |
| current steering | commutazione di sorgenti di corrente | RF, video, alte frequenze |
| sigma-delta | sovracampionamento e noise shaping | audio, alta risoluzione |
| PWM filtrata | duty cycle medio filtrato | microcontrollori economici |
La PWM filtrata non è sempre considerata un DAC nel senso classico, ma svolge spesso lo stesso ruolo applicativo: produce un valore medio analogico regolabile tramite un segnale digitale. La qualità dipende dal filtro, dalla frequenza PWM, dal ripple ammesso e dalla dinamica richiesta.
Glitch e tempo di assestamento
Durante il passaggio da un codice al successivo, i bit non commutano esattamente nello stesso istante. Nei cambi di codice importanti, per esempio da 01111111 a 10000000, molte linee commutano contemporaneamente e possono produrre un impulso spurio, detto glitch.
Il tempo di assestamento indica quanto il DAC impiega a portarsi stabilmente vicino al nuovo valore dopo un cambio di codice. In generazione di forme d’onda, controllo veloce e radiofrequenza, glitch e settling time possono essere più importanti della risoluzione nominale.
Relazione con ADC e quantizzazione
Il DAC lavora dopo la quantizzazione: riceve codici discreti già decisi. Non può recuperare informazione persa in un ADC o in una compressione precedente; può solo trasformare la rappresentazione digitale in un livello fisico.
In una catena completa:
La progettazione corretta deve assegnare banda, rumore, risoluzione e dinamica su tutta la catena. Un DAC a 16 bit non garantisce qualità a 16 bit se il riferimento è rumoroso, il filtro è scadente o l’amplificatore d’uscita satura.
Applicazioni
Nei sistemi audio, il DAC ricostruisce forme d’onda con bassa distorsione e rumore percepibile ridotto. Nei sistemi RF, genera segnali modulati e richiede alta frequenza di aggiornamento, linearità dinamica e basso jitter. Nei controlli industriali, produce setpoint analogici per valvole, inverter e attuatori. Nei microcontrollori, anche un DAC semplice può generare riferimenti, soglie, forme d’onda lente o segnali di test.
Errori comuni
- Valutare un DAC solo dal numero di bit, ignorando INL, DNL, rumore, settling time e riferimento.
- Confondere risoluzione con accuratezza assoluta: molti livelli non garantiscono che ogni livello sia nel punto giusto.
- Dimenticare il filtro di ricostruzione quando si genera un segnale variabile nel tempo.
- Usare un carico troppo pesante, alterando l’uscita o rallentando l’assestamento.
- Ignorare glitch e transitori nei cambi di codice rapidi.
- Confondere il DAC elettronico con il DAC di sicurezza informatica, cioè Discretionary Access Control.
Vedi anche: convertitore analogico-digitale, quantizzazione, segnale, bit, filtro passa-basso.