La logica funzionale degli ADC
Un ADC è un dispositivo che accetta al proprio ingresso un livello di tensione e fornisce in uscita una parola digitale il cui valore rappresenta, secondo un determinato codice, il livello della tensione dingresso. Per ogni livello di tensione di ingresso il dispositivo produce una combinazione digitale ad esso corrispondente secondo il codice prescelto. In questo modo un ADC realizza l'associazione tra il livello della tensione dingresso e una combinazione digitale implementando la funzione di conversione da analogico a digitale. La figura 1(a) descrive la logica funzionale di un ADC che, per semplicità grafica, si è supposto a tre bit, cioè con n=3.
Fig. 1 Descrizione del funzionamento di un ADC e quantizzazione
Lampiezza dell'ingresso vin (per comodità rappresentato da una rampa) può variare all'interno del cosiddetto Range di Fondo Scala (FSR Full Scale Range): nel caso in esame dal valore minimo 0 fino al massimo valore accettabile che coincide con il suddetto Fondo Scala VFS. Poiché n = 3 il Fondo Scala può essere immaginato suddiviso in 2n=23=8 "fasce" chiamate livelli di quantizzazione. L'ampiezza Q di tali livelli, quindi, risulta così definita:
Q = VFS/2n
(1)
La grandezza Q viene definita quanto, e talvolta anche risoluzione dell'ADC. Tutti i valori del segnale di ingresso compresi tra 0 e il primo quanto vengono tradotti in un'unica uscita digitale la quale, nell'ipotesi che l'ADC utilizzi un codice binario naturale, è 000. I valori dell'ingresso compresi tra la fine del primo quanto e quella del secondo (cioè i valori di vin compresi nel secondo quanto) sono tradotti con il codice d'uscita 001 e così via. La figura 1 illustra lo stesso concetto utilizzando anche la modalità grafica normalmente adottata nei data sheet. Un ADC, pertanto, è il dispositivo che realizza l'associazione tra i valori dell'ingresso compresi nel generico quanto e il corrispondente codice duscita. La quantizzazione dell'ingresso risulta più efficace all'aumentare di n, cioè della risoluzione. Così facendo, infatti, aumenta il numero 2n dei livelli di quantizzazione. Ciò significa che il generico codice risulta associato ad un intervallo sempre più ristretto di valori dellingresso producendo un aumento della precisione. Da quanto detto, la relazione che lega lingresso vin; alla parola binaria di uscita a n bit è formulabile (utilizzando la stessa simbologia impiegata per i DAC) nel modo seguente:
vin = VFS (Pn-1/2+Pn-2/22+Pn-3 /23+... +P1/2n-1+ P0/2n)=
=Q 2n (Pn-1/2+Pn-2/22+Pn-3 /23+...+P1/2n-1+ P0/2n)
(2)
Da quest'ultima relazione (e in modo più evidente dai grafici di figura 1) si ricava che:
Il massimo valore dell'ingresso è quello codificabile con una uscita di tutti 1. Tale valore, pertanto, è:
VinMAX = VFS (1-1/2n) = Q(2n 1)= VFS - Q
(3)
Il minimo valore dell'ingresso è quello codificabile con tutti i bit a 0 e solo LSB = 1. Pertanto:
Vinmin = Q
(4)