Convertitori D/A e A/D
Enzo Gandolfi
Convertitori A/D
• La caratteristica ideale di un Convertitore A/D è indicata a fianco
• Nella realizzazione pratica si introducono diversi errori.
• Errori di non 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
Convertitori A/D
• Errori di OFF SET
• Errori di non linearità o di guadagno
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
caratteristica
ideale gain error 1¼ LSB
Convertitori A/D
• Errori dovuti a disimmetrie dei componenti
• Errore di linearità
differenziale che si evidenzia con una disuniformità dei gradini,
– per un ADC è (b-a)
• Errore di linearità integrale che tiene conto non dell’errore locale ma dell’eventuale
cumularsi degli errori
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
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
integral error +1 LSB
Convertitori A/D
• Errore di linearità differenziale per il convertitore A/D
TLC5540 della TEXAS
• Errore di linearità integrale per il convertitore A/D
TLC5540 della TEXAS
Rappresentazione binaria
• Ricordiamo che con la notazione binaria il numero 12 ha la rappresentazione N = 12
D= 1010
bO, più in generale
N = b
3*2
3+ b
2*2
2+ b
1*2
1+ b
0*2
0Ovvero N= b
i2
iQuindi con n bit i numeri rappresentabili sono N
max= 2
n (nel caso sopra riportato N
max= 16).
Si può ottenere la stessa rappresentazione riferita a N
max, nel qual caso N= b
0*16/2 + b
1* 16/2
2+ b
2* 16/2
3+ b
3* 16/2
4Ovvero N = N
max b
i2
-(i+1)Se invece si usa l’indice i che, invece di andare da 0 a N-1, lo si fa scorrere da 1 a N Otterremo
N = N
max b
i2
-iCon b
iche può assumere il valore “0” o “1”
Circuito di Sample & Hold
Vi(t)
S/H
Vo(t)
S/H =“1” Vo(t)=Vi(t)
S/H =“0” Vo=Va=costante
Convertitore D/A a resistenze pesate
Vr
2R
b1
4R
b2
8R
b3
2nR
bn
RF
Vo
S1 S2 S3 Sn
Io
I = V 2 R b
i r
i i
I = V
R b 2
o r
i i
i=1
n
per R
F= R
Convertitore R/2R
Vr
...
2R
b1
2R
b2
2R
bn S1 S2 S3 Sn-1 Sn
Io
R 2R
I*o
RF
Vo
1 2
2R
b3
R 3 n
2R
bn-1
n-1 R
R +
Vi
i i+1
R
I = V
2
1 2R b
i r
i 1 i
V = R
R V b 2
o F
r i i
i=1
n Convertitore D/A a demultiplexer
R R R R R R R R
+
Vr
b b b
Vo
Convertitore A/D
ad approssimazioni successive
Conv D/A
B
0B
1B
2B
3clock Circuito Logico
Decisionale
Vin
Vmax Vin
clock
Convertitore A/D a integrazione semplice (convertitore tensione frequenza)
_
+
R1
Vo Vi C
E
in ULC
Oscillatore Locale
Gate
en
Contatore : N
reset
_
+
R2
Monostabile
, -h
star t
VFC
-E
Vo(t)
0 T
-h
Vms(t)
0 T
Start : azzera contatore, apre interr.
uscita monostabile =0V L’integratore integra con solo Vi fino a quando Vi< -E
L’uscita del comparatore va a 0V Genera : impulso al contatore, Impulso tempo ampiezza –h al monostabile (h grande rispetto a Vi) L’integratore ora ha l’uscita che sale perché h > Vi e sale per
L’uscita del monostabile va a zero e quindi l’uscita dell’integratore
cambia direzione
Il tutto procede per un tempo fissato T, dopo il quale l’uscita del
contatore è il valore della conversione digitale
Convertitore A/D ad integrazione a doppia rampa
en
_
+
R
Vo C
+ _
Vi
±E
ULC
Oscillatore Locale
Gate
in
Contatore
: N, N’
reset
N’ N
t0 t1 t2
Vo = 0
1
t1t t N
Flash Converter ( a 2 bit)
¾ Vr
½ Vr
¼ Vr