Indice

21B - Conversione D/A

1 La distinzione tra analogico e digitale

I segnali analogici possono assumere un numero infinito e continuo di valori, quelli digitali un numero finito e prefissato di valori. Le grandezze fisiche del mondo che ci circonda sono tipicamente analogiche, così come lo sono i segnali che le rappresentano (ad esempio la tensione generata da un microfono) ma la loro trasmissione, elaborazione e memorizzazione oggi è affidata quasi esclusivamente a dispositivi digitali, dove le informazioni sono codificate con una sequenza di bit. Questa soluzione, apparentemente più complicata, permette di realizzare sistemi efficienti, flessibili ed immuni a disturbi, ma richiede una conversione analogico/digitale e digitale/analogica per collegare tra loro sistemi digitali e sistemi analogici.

2 L'errore di quantizzazione

Nella conversione in digitale si ha sempre una perdita di informazione: gli infiniti valori che può assumere una grandezza analogica devono essere rappresentati con un numero finito di bit. Questo vuol dire che ad ogni sequenza di bit corrisponderà un intervallo di valori e si determinerà un'incertezza rispetto al valore analogico - l'errore di quantizzazione - che dipende dal numero di bit utilizzati nella codifica.

3 La conversione da digitale ad analogico

Supponiamo che una sequenza di n bit codifichi il numero intero naturale D. Il codice binario1):

`b_(n-1)b_(n-2) … b_1 b_0`

corrisponde al numero intero:

`D=b_0 2^0+b_1 2^1+b_2 2^2+ … + b_(n-1) 2^(n-1)= sum_(i=0)^(n-1) b_i 2^i`

Il convertitore digitale/analogico (DAC) traduce il codice binario in una tensione analogica proporzionale al numero D che può essere espressa così:

`V_o = Q cdot D = Q sum_(i=0)^(n-1) b_i 2^i`

La costante Q che compare nell'espressione precedente è detta quanto della conversione e il suo valore è legato alla risoluzione del convertitore perché coincide con la minima variazione dell'uscita o col valore corrispondente al bit meno significativo (LSB).

4 I principi fisici della conversione D/A

Esistono varie soluzioni circuitali per realizzare un convertitore D/A. In genere si sfrutta una rete resistiva per generare tante correnti quanti sono i bit di valore proporzionale alle potenze del due; sommando le correnti il cui bit vale 1 e usando un convertitore I/V si ottiene la tensione analogica desiderata. La figura 2 mostra lo schema di principio di un convertitore di questo tipo.

5 I parametri della conversione D/A

Spesso nei datasheet dei convertitori D/A la risoluzione non è indicata con il quanto di conversione ma con il numero di bit n del DAC e dalla tensione tensione di fondo scala VFS2). Il quanto è comunque calcolabile come:

`Q=V_(FS)/2^n`

La tensione di fondo scala VFS è suddivisa in 2n intervalli larghi Q e la tensione Vo in uscita può assumere 2n valori compresi tra 0 e VFS - Q. Per chiarire questi concetti esaminiamo la figura 3 che mostra la caratteristica di trasferimento di un DAC a 3 bit: nelle ascisse è presente il dato digitale - un codice di tre bit associato ad un numero intero D - e in quella delle ordinate la tensione in unscita Vo, che può assumer 23 valori multipli del quanto Q compresi tra 0 e VFS - Q3).

In alcuni DAC la tensione di fondo scala può essere variata attraverso un pin indicato come VREF. Questi DAC vengono chiamati moltiplicatori perché, fattore 2-n a parte, forniscono in uscita una tensione pari al prodotto tra la tensione VREF e il dato numerico digitale D:

`V_o=V_(REF)/2^n D`

Se la tensione VREF può assumere anche valori negativi si parla di DAC a due quadranti4). Questi ultimi possono essere usati anche come attenuatori digitali: se consideriamo la tensione VREF come il segnale da attenuare e il valore digitale come fattore di attenuazione, la tensione in uscita potrà variare tra zero e VREF - Q (con un guadagno compreso tra 0 e 1 - 2-n ). Questa applicazione da “potenziometro digitale” è piuttosto diffusa, ad esempio per controllare il volume negli hi-fi.

6 L'interfacciamento di un DAC a un sistema a bus

Per interfacciarsi al bus di un sistema a microprocessore un DAC è necessario un registro parallelo che mantenga costante l'uscita fino al ciclo macchina successivo. Il registro a latch può essere direttamente integrato nel convertitore.

7 Le possibili architetture dei convertitori D/A

Esamineremo due soluzioni:

DAC a resistori pesati

Il circuito di figura 7 mostra lo schema di principio di un DAC a resistori pesati a 4 bit. Si tratta di un semplice circuito sommatore invertente dove:

Con questa configurazione la tensione V0 in uscita vale:

`V_0 = -R_(f) (V_0/R_0 + V_1/R_1 + V_2/R_2 + V_3/R_3)=-R_(f)/R (V_0/8 + V_1/4 + V_2/2 + V_3/1)`

Se esprimiamo le tensioni in ingresso come prodotto tra il valore logico Qi6) associato al bit e la tensione VH corrispondente al livello alto:

`V_i=Q_i cdot V_H`

la tensione in uscita si può esprimere come:

`V_0 = -(R_(f)V_H)/R(Q_0/8 + Q_1/4 + Q_2/2 + Q_3/1)=-(R_(f)V_H)/(8R) (8Q_3 + 4Q_2 + 2Q_1 + Q_0)`

Allora, a meno di una costante, la V0 coincide col numero codificato in binario come Q3Q2Q1Q0. Il circuito converte una sequenza di 4 bit in un segnale analogico e si comporta come un convertitore con:

Il circuito di figura 5 è un esempio applicativo di un DAC a 4 bit dove il valore digitale da convertire è fornito da un contatore binario che, con un opportuno clock, genera ciclicamente valori da 0000 a 1111.

I convertitori D/A a resistenze pesate sono molto semplici ma presentano degli inconvenienti tecnologici che ne rendono poco pratico l'utilizzo:

Convertitori con rete a scala R-2R

Lo schema di principio di un convertitore a scala R-2R è mostrato in figura 9a. Come si vede si tratta di una rete che impiega due soli valori di resistenza, disposti secondo uno schema simmetrico. Questa soluzione non pone particolari problemi di ordine tecnologico perché permette di realizzare ed integrare un gran numero di resistenze mantenendo una buona precisione. Il circuito è meno problematico del precedente e permette facilmente di ottenere elevate risoluzioni.

Il principio di funzionamento è quello già esposto nel paragrafo 4: la combinazione di valori logici in ingresso, pilotando gli interruttori che collegano la tensione di riferimento VR, determina una corrente sul carico che è la somma di tante correnti proporzionali alle potenze del due, convertita successivamente in tensione. Semplificando la rete con Thevenin8) si ottiene il circuito di figura 9b. La tensione del generatore di Thevenin vale:

`V_T= V_R/2^n sum_(i=0)^(n-1)b_i 2^i`

ed è proporzionale al dato digitale D. In genere la rete R-2R è collegata ad un amplificatore invertente. In questo caso conviene usare una tensione di riferimento negativa -VR in modo che la tensione in uscita valga:

`V_o= R_f/R V_R/2^n sum_(i=0)^(n-1)b_i 2^i`

Questa espressione corrisponde a quella teorica vista nel paragrafo 3, ma con quanto di conversione che vale:

`Q= R_f/R V_R/2^n `

Extra

8 Convertitore D/A National DAC0808

Il testo propone l'esame di due DAC integrati con caratteristiche diverse.

L'integrato 0808 è un DAC parallelo a 8 bit con rete R-2R invertita e uscita in corrente. E' un integrato semplice perché:

tuttavia ha una banda passante elevata (può essere utilizzato in campo audio) e funziona a due o quattro quadranti.

9 Convertitore D/A Analog Devices AD7845

L'integrato AD7845 è un DAC parallelo a 12 bit a rete R-2R invertita e uscita in tensione. E' un DAC più sofisticato del precedente perché:

Nel funzionamento a due quadranti (vedi figura 15) il DAC si comporta come il circuito equivalente di figura 14 e la tensione in uscita vale:

`V_(OUT)=-V_(REF) N/4096`

Il funzionamento a quattro quadranti prevede l'impiego di una tensione di riferimento negativa (vedi figura 17); il DAC su comporta come il circuito equivalente di figura 16 e la tensione in uscita vale:

`V_(OUT)=V_(REF) (N/4096 - 1)`

Nel funzionamento a due quadranti i 12 bit codificano un numero positivo da 0 a 4096 che corrisponde a una tensione compresa tra 0 e VREF, in quello a quattro quadranti un numero tra -2048 e 2047 che corrisponde a una tensione compresa tra -VREF e VREF9).

Torna all'indice.

1)
i termini indicati con b sono cifre binarie che posso assumere solo i valori 0 o 1; bn-1 è la cifra più significativa (MSB) e b0 quella meno significativa (LSB)
2)
esistono tre modi per indicare la risoluzione: il valore del quanto, il numero di bit e la risoluzione relativa Q/VFS=2-n
3)
a rigore la caratteristica è definita solo in corrispondenza dei numeri interi D e i segmenti orizzontali non dovrebbero essere presenti
4)
esistono soluzioni ancora più complesse che prevedono codici binari negativi e permettono di realizzare DAC a quattro quadranti
5)
in figura V3 corrisponde al bit più significativo (MSB) e V0 a quello meno significativo (LSB)
6)
NB si rischia di fare confusione perché il testo usa il simbolo Q sia per il quanto che per il valore logico dei bit
7)
si ricorda dal paragrafo 5 che il valore massimo di V0 è VFS - Q
8)
vedi scheda integrativa 21B.2
9)
in realtà in entrambi i casi il valore maggiore andrebbe diminuito di un quanto