CONVERTITORI
ANALOGICO-DIGITALI (ADC)
e
DIGITALE-ANALOGICI (DAC)
Segnali analogici : variano in
modo continuo nel tempo e
possono assumere tutti i valori
compresi in un certo intervallo
X(t)
Segnali digitali: possono assumere valori
discreti in istanti di tempo discreti. La
discretizzazione del tempo può essere
asincrona o sincrona con un clock
X[n]
+2
+1
t
t
-1
-2
•
•
In campo digitale le informazioni sono organizzate secondo una
struttura “binaria” cioè si utilizzano due soli valori logici “0” e “1”.
I due valori logici vengono associati a intervalli di tensione che
variano a seconda della tecnologia utilizzata per la costruzione del
circuito
segnali analogici – segnali digitali
grandezza
fisica
trasduttore
segnale
elettrico
trattamento del
segnale
si può definire segnale una qualunque grandezza fisica variabile a cui è associata
una informazione
segnale elettrico analogico andamento analogo all’andamento della grandezza
fisica di partenza
T
andamento della temperatura
in funzione del tempo
andamento della tensione
in funzione del tempo
•
•
in molti casi si lavora con piccoli segnali che devono essere trasmessi a
distanza  diversi stadi di amplificazione  introduzione del rumore
degradazione del segnale.
conversione analogico – digitale riduce la distorsione del segnale.
segnale digitale: sequenza di 1 e 0
per quanto sia distorto il segnale, la sequenza si ricostruisce in modo fedele.
Applicazione tipica : Waveform digitizers (digitizzatori di forme d’onda)
rappresentazione numerica di forme d’onda
la forma del segnale viene “campionata” a intervalli di tempo equispaziati e molto
ravvicinati (fino a qualche picosecondo) - clock
l’ampiezza del segnale in questi intervalli di tempo viene convertita in un numero
binario.
Convertitori Digitale - Analogico
•
immaginiamo di voler convertire un’informazione binaria (uscita di un circuito digitale,
per es. N Flip-Flop) in una tensione (segnale analogico) Vout

Vout  V 2 N-1 a N-1  2 N-2 a N-2  ....  2 2 a 2  21 a1  20 a 0

V è un coefficiente di proporzionalità legato al range di tensioni che vogliamo in
uscita e i coefficienti ai valgono 0 o 1 (uscita bassa o alta del FF)
circuito sommatore
Ro = R e R1 =R/2  Vout = -(Vo+2V1)
se Vo e V1 sono le uscite di un registro a 2 bit
Vi = 0  livello basso  numero binario 0
Vi = 1  livello alto  numero binario 1
abbiamo costruito un convertitore D/A a 2 bit
Vo = 1, V1 = 0  Vout =-1; Vo = 0, V1 = 1  Vout = -2 ecc.
Si può estendere il discorso ad un numero maggiore di bit
se il coefficiente ai = 0,
l’interruttore Si è collegato a massa
DIFETTI:
stabilità ed accuratezza
dipendono dalle resistenze e
dalla dipendenza dei
componenti dalla temperatura
sono necessarie resistenze
molto grandi, per es. DAC a 12
bit con R = 2.5 kW
2N-1 R = 211 R = 5.12 MW.
Difficile gestire accuratezza.
Vout
 R'

R'
R'
 
a n 1 
a N 2  ....  N 1 a 0 VR
2R
2 R 
 R
resistenza = 2R verso qualunque direzione da ogni nodo
tensione in ogni nodo: Vi = VR – 2RI dove
I = VR/(3R) 
Vi = VR – 2R VR/(3R) = 1/3 VR
in qualunque nodo connesso a VR il potenziale è Vi =1/3 VR
 Vo = AV Vi = (R1 + R2)/ R1 * VR/3 =V’
DAC a ladder
guadagno di un AO
in configurazione
non invertente
a3 = 1 tensione nel nodo 3 = VR/3
 Vi = VR/ 3; Vo = (R1 + R2)/ R1*Vi = V’
a2 = 1  tensione nel nodo 2 = VR/3
 Vi = 1/2 VR/ 3 (caduta di tensione su
R tra nodi 2 e 3 e sul parallelo di
2R e 2R tra nodo 3 e massa)
 Vo = 1/2 V’
analogamente:
a1 = 1  Vi = 1/4 VR/ 3
 Vo = 1/4 V’ ecc…
Principio di sovrapposizione
Vo = V’ (a3 +1/2 a2 + 1/4 a1 + 1/8 ao)
caso generale :
Vo = V’ (aN-1 +1/21 aN-2 + 1/22 aN-3 + …1/2N-1 ao)
problema : ritardo nella propagazione
del segnale associato alla chiusura
degli interruttori  per un breve intervallo di tempo variabilità di valori
per ovviare a questo inconveniente
si può usare una configurazione
diversa in cui gli interruttori sono
tutti collegati direttamente
all’ingresso dell’operazionale
il funzionamento è analogo a
quello descritto prima, ma non
esiste più il problema dei ritardi.
CONVERTITORI ANALOGICO-DIGITALI (ADC)
ADC a contatore
• convertitore semplice ed economico, ma lento
• si usano : un contatore, un DAC ed un comparatore
• il contatore genera una sequenza di numeri binari partendo da zero fino al max
valore che il numero di bit consente.
• ciascun numero viene convertito dal DAC in segnale analogico che viene inviato
al comparatore e confrontato con il segnale.
• l’uscita dal comparatore è positiva fin quando il segnale da convertire è maggiore
del segnale in uscita dal DAC.
• quando il comparatore dà un segnale negativo, il contatore viene bloccato e
il numero letto all’uscita del contatore è una stima approx per eccesso del segnale
in esame.
• sono necessari fino a 2N confronti
• errore di quantizzazione:
metà del bit meno significativo
es.: ADC a 4 bit, con una risoluzione
di 1 bit/100 mV,  errore = ± 50 mV
ADC ad approssimazioni successive
•
consente di ridurre drasticamente il numero di confronti e quindi di
velocizzare l’operazione
•
procedura generale per trasformare un numero decimale compreso
tra 0 e 15, in binario, per esempio k = 9.
1.
dividiamo in due l’intervallo tra 0 e 15. A quale intervallo appartiene il
numero? Se 0 ≤ k < 8  bit 3 = 0; se 8 ≤ k <16  bit 3 = 1
2.
nel nostro caso dividiamo ancora in due l’intervallo 8-16.
3.
Se 8 ≤ k <12  bit 2 = 0; se 12 ≤ k <16 bit 2 = 1.
4.
dividiamo in due l’intervallo 8 -12
5.
Se 8 ≤ k <10  bit 1 = 0; se 10 ≤ k <12 bit 1 = 1.
6.
dividiamo in due l’intervallo 8 -10
7.
Se 8 ≤ k <9  bit 0 = 0; se 9 ≤ k <10 bit 0 = 1.
8.
In conclusione : k in binario = 1001
9.
Sono stati necessari solamente 4 confronti
•
•
1.
2.
3.
4.
Lo stesso procedimento viene usato per la conversione di un
segnale di tensione
si fa il controllo bit per bit (Vb = tensione di riferimento; Va =
tensione da misurare)
si pone A3 = 1 (MSB)
 Vb = output da DAC = 8V = 10002
si confronta Vb con Va.
Se Vb ≤ Va la logica di controllo lascia
il bit A3 a 1, altrimenti lo pone =0
impulso successivo del contatore
ad anello pone A2 =1  Vb= 12V.
Vb> Va  la logica di controllo
pone A2 = 0.
A1 =1  Vb= 10V; Vb > Va  la logica di controllo
pone A1 = 0
A0 =1  Vb= 9V
A questo punto Vb ≤ Va  A0 rimane =1 e la conversione è finita
con appena 4 confronti
ADC flash
• si confronta la tensione in esame con un numero finito di livelli di
tensione predeterminati.
• confronto contemporaneo  ADC molto veloce
logica di controllo e
• si determina quale sia l’intervallo,
codificatore
delimitato da due tensioni
di soglia adiacenti che
contiene il valore della
tensione di ingresso.
• le uscite dei comparatori
hanno un livello basso ( 0)
se la soglia è superiore
alla tensione di ingresso,
hanno un livello alto (1)
se la soglia è inferiore
• hardware complesso:
2N-1 comparatori, per N bit
Caratteristiche dei convertitori 1
risoluzione: dipende dal numero di bits del convertitore.
8 bit  256 livelli  risoluzione = 1/256 ≈ 4%
uscita
12 bit 4096 livelli  risoluzione ≈ 0.24 %
digitale
linearità : caratteristica ideale di un Convertitore A/D
(o D/A, basta scambiare ascissa ed ordinata)
fit con una retta – scostamento dalla linearità < variazione
di tensione corrispondente a metà del bit meno significativo
Per esempio per 12 bit : 1/2 * 1/4096 ≈ 1.2 10-4
111
110
101
100
011
010
001
000
straight
line
0 1/8 2/8 3/8 4/8 5/8 6/8 7/8
ingresso analogico
ADC non monotono
monotonicità : aumentando la tensione di ingresso deve
aumentare l’uscita digitale (e viceversa) – se questo non
avviene si ha un errore di monotonicità
111
110
101
100
011
010
001
000
0 1/8 2/8 3/8 4/8 5/8 6/8 7/8
Caratteristiche dei convertitori 2
caratteristica
ideale
Errori di OFF SET : la tensione di
OFFSET è quella misurata quando
tutti gli ingressi digitali sono 0
Si misura generalmente in mV, mV o
frazione del bit meno significativo.
111
110
101
100
011
010
001
000
0 1/8 2/8 3/8 4/8 5/8 6/8 7/8
offset error +1½ LSB
Errori di non linearità: è la differenza tra
la variazione di tensione letta in uscita e
quella ideale (cioè quella corrispondente
alla variazione di 1 LSB (bit meno significativo)
Ad es.: un DAC per il quale, al variare di 1 LSB si
ottiene una variazione di tensione corrispondente
ad 1.5 LSB ha un errore di non linearità pari a
mezzo LSB.
caratteristica
ideale
111
110
101
100
011
010
001
000
a b
ba
differential error
0 1/8 2/8 3/8 4/8 5/8 6/8 7/8