CONVERTITORI
ANALOGICO-DIGITALI (ADC)
DIGITALE-ANALOGICI (DAC) e
Segnali analogici : variano in modo continuo nel tempo e possono assumere tutti i valori compresi in un certo intervallo
X(t)
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]
t
+1 +2
-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
trasduttore grandezza
fisica segnale
elettrico trattamento del segnale
segnale elettrico analogico T
andamento della temperatura
in funzione del tempo andamento della tensione in funzione del tempo
segnale grandezza fisica variabile
andamento della grandezza fisica
• trasmissione a distanza di piccoli segnali 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
Esempio di applicazione : Waveform digitizers (digitizzatori di forme d’onda)
Caratteristiche dei convertitori 1
111 110 101 100 011 010 001 000
0 1/8 2/8 3/8 4/8 5/8 6/8 7/8
ingresso analogico uscita
digitale
straight line
111 110 101 100 011 010 001 000
0 1/8 2/8 3/8 4/8 5/8 6/8 7/8
ADC non monotono
Risoluzione
• espressa in bit.
Esempio : un ADC che codifica un ingresso analogico in 256 livelli discreti ha una risoluzione di 8 bit (28 = 256)
• espressa in Volt.
Esempio 1:
o range compreso tra 0 e 10 volt o risoluzione dell'ADC di 12 bit:
212 = 4096 livelli di quantizzazione o risoluzione in Volt è 10 V / 4096=0.00244 V = 2.44 mV Esempio 2:
o range compreso tra -10 e 10 volt o risoluzione dell'ADC di 14 bit:
214 = 16384 livelli di quantizzazione o risoluzione in Volt è 20 V / 16384=0.00122 V = 1.22 mV
Caratteristiche dei convertitori 2
linearità: La maggior parte degli ADC sono lineari, sono progettati per produrre in uscita un valore
funzione lineare del segnale di ingresso.
Un altro tipo comune di ADC è quello logaritmico
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
ingresso analogico uscita
digitale
straight line
111 110 101 100 011 010 001 000
0 1/8 2/8 3/8 4/8 5/8 6/8 7/8
ADC non monotono
Caratteristiche dei convertitori 3
Errori di OFF SET : la tensione di OFFSET è quella misurata quando tutti gli ingressi digitali sono 0
Si misura generalmente in mV, V o frazione del bit meno significativo.
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.
111 110 101 100 011 010 001 000
offset error +1½ LSB
caratteristica ideale
0 1/8 2/8 3/8 4/8 5/8 6/8 7/8
111 110 101 100 011 010 001 000
0 1/8 2/8 3/8 4/8 5/8 6/8 7/8
caratteristica ideale
a b
b a
differential error
Qualche esempio di 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
• si fa il controllo bit per bit.
• si pone A
3= 1 (MSB)
V
b= output da DAC = 8
10= 1000
2si confronta V
bcon V
a(=8.5 V).
• Se V
a≥ V
bla logica di controllo lascia il bit A
3a 1, altrimenti lo pone =0
• Impulso successivo del contatore ad anello pone A
2=1 V
b= 12V
• Poiché V
a≤ V
bla logica di controllo pone A
2= 0 e A
1=1 V
b= 10V
• V
a≤ V
b la logica di controllo pone A
1= 0 e A
0=1 V
b= 9V
A questo punto V
b> V
a A
0=0
la conversione è finita con appena 4 confronti (precisione di 1/2 bit)
V
a≥ V
b uscita del comparatore alta
bit successivo =1
ADC flash
• si confronta la tensione in esame con un numero finito di livelli di tensione predeterminati.
• confronto contemporaneo ADC molto veloce
• si determina quale sia l’intervallo, 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:
2
N-1 comparatori, per N bit
logica di controllo e codificatore
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
0
0 1
1 2
2 2
- N 2 - N 1
- N 1 - N
out
V 2 a 2 a .... 2 a 2 a 2 a
V
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
R 1 0
N ' 2
N '
1 n '
out
a V
R 2
.... R 2R a
a R R
V R
quando il coefficiente ai = 0, l’interruttore Si è collegato a massa
Convertitore D/A a
resistenze pesate
AO
INPUT ai MOSFET da un registro che immagazzina l’informazione digitalizzata, es. un FLIP FLOP,
se in ingresso ho 1 avrò Q=1 e 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
0 Q
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
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 k 2
N-1R = 2
9R = 5.12 M.
Difficile gestire accuratezza. R ha un peso 2
9volte più
importante della resistenza più grande (2
9R) quindi, se
la tolleranza su quest’ultima è il 10%, la tolleranza su
quella da 10 k dovrà essere 2
9volte più piccola, cioè
0.02% !!!
DAC a ladder
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
si usano solo resistenze R e 2R
I=V
R/3R
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.
V
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 = 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 = ½
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:
V
3 3 2 2 1 1 0 o
o 1
2 3
o
V 2 a 2 a 2 a 2 a
8 a 1
8 a 1
4 a 1
2 a 1
V
V
3 3 2 2 1 1 0 o
o 1
2 3
o
V 2 a 2 a 2 a 2 a
8 a 1
8 a 1
4 a 1
2 a 1
V
V
A meno di un fattore moltiplicativo, questa è la rappresentazione analogica del numero binario a3 a2 a1 a0
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.
DIFETTO : ritardo nella propagazione del segnale associato alla chiusura
degli interruttori per un breve intervallo di tempo variabilità di valori