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
quando il coefficiente ai = 0,
l’interruttore Si è collegato
a massa
Convertitore D/A a
resistenze pesate
Vout
 R'

R'
R'
 
a n 1 
a N 2  ....  N 1 a 0 VR
2R
2 R 
 R
AO
Supponiamo di lavorare in logica negativa, cioè il valore
alto (1) è associato ad una tensione pari a 0V e il valore
basso (0) è associato ad una tesnsione pari a -10 V
INPUT ai MOSFET da un registro che immagazzina
l’informazione digitalizzata, es. un FLIP FLOP,
se in ingresso ho 1 avrò Q=1 e Q  0 così il MOSFET
Q1 sarà abilitato e il Q2 interdetto e la resistenza R1
sarà collegata a VR, il contrario avverrà se in ingresso
al FF ho 0, cioè avremo la resistenza R1 collegata a terra
DIFETTI:
stabilità ed accuratezza dipendono dalle resistenze e
alla dipendenza dei componenti dalla temperatura
ampio range di resistenze: per es. DAC a 10 bit con
R = 10 kW  2N-1 R = 29 R = 5.12 MW.
Difficile gestire accuratezza. R ha un peso 29 volte più
importante della resistenza più grande (29 R) quindi, se
la tolleranza su quest’ultima è il 10%, la tolleranza su
quella da 10 kW dovrà essere 29 volte più piccola, cioè
0.02% !!!
DAC a ladder
si usano solo resistenze R e 2R
ciascun nodo vede una resistenza 2R in qualunque direzione
nodo 3: destra  2R complessivamente la
basso  2R resistenza vista da 3
in basso e a destra è R
nodo 2: destra  R in serie con la resistenza
vista da 3  2R
si può estendere a tutti i nodi
Immaginiamo tutti gli interruttori a terra a parte uno solo, collegato a VR.
La tensione nel nodo corrispondente sarà data da VR meno la caduta di potenziale
ai capi di 2R
Vi =VR – 2R I = VR – 2R VR/3R = VR/3
in conclusione, qualunque nodo il cui interruttore sia chiuso su VR si troverà
ad un potenziale VR/3.
I=VR/3R
Immaginiamo una configurazione in cui tutti i nodi sono a terra a parte il nodo 3.
Vi =V3 = VR/3 = V+ = V- (sfruttiamo il principio del corto circuito virtuale
all’ingresso dell’operazionale).
poiché in R1 ed R2 scorre la stessa corrente avremo:
(Vo – VR/3) 1/R2 = VR/3R1  Vo = VR/3 (R1+R2)/R1 = V
Se l’unico nodo non a terra fosse
il 2, la tensione al terminale non
invertente sarebbe la metà di quella
calcolata precedentemente:
Vo = ½ VR/3 (R1+R2)/R1 = ½ V
e così via, muovendosi verso sinistra, avremmo una tensione pari a metà di quella
precedente.
Per il principio di sovrapposizione possiamo scrivere, nel caso generale:
1
1
1  1

Vo  V  a3  a2  a1  ao   V 23 a3  22 a2  21 a1  20 ao
2
4
8  8



1
1
1  1

Vo  V a3  a2  a1  ao   V 23 a3  22 a2  21 a1  20 ao 
2
4
8  8

A meno di un fattore moltiplicativo, questa è la rappresentazione analogica del
numero binario a3 a2 a1 a0
DIFETTO : 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 = 8.5.
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 = 0.
8. Sono stati necessari solamente 4 confronti
• Lo stesso procedimento viene usato per la conversione di un
segnale di tensione
Va ≥ Vb  uscita del comparatore alta
• si fa il controllo bit per bit.
bit successivo =1
• si pone A3 = 1 (MSB)
 Vb = output da DAC = 810 = 10002
si confronta Vb con Va (=8.5 V).
• Se Va ≥ Vb 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
• Poiché Va ≤ Vb la logica di controllo
pone A2 = 0 e A1 =1  Vb= 10V
• Va ≤ Vb  la logica di controllo
pone A1 = 0 e A0 =1  Vb= 9V
A questo punto Vb > Va  A0 =0
la conversione è finita con appena 4 confronti
(precisione di 1/2 bit)
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
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
straight
line
0 1/8 2/8 3/8 4/8 5/8 6/8 7/8
ingresso analogico
ADC non monotono
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