Convertitori D/A e A/D Enzo Gandolfi
Convertitori A/D 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 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 ADC non monotono
Convertitori A/D Errori di OFF SET 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 Errori di OFF SET Errori di non linearità o di guadagno 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 gain error 1¼ LSB
Convertitori A/D Errori dovuti a disimmetrie dei componenti 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 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 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 = 12D = 1010b O, più in generale N = b3*23 + b2*22 + b1*21 + b0*20 Ovvero N=S bi2i Quindi con n bit i numeri rappresentabili sono Nmax= 2n (nel caso sopra riportato Nmax = 16). Si può ottenere la stessa rappresentazione riferita a Nmax , nel qual caso N= b0*16/2 + b1* 16/22 + b2* 16/23 + b3* 16/24 Ovvero N = Nmax S bi 2-(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 = Nmax S bi 2-i Con bi che può assumere il valore “0” o “1”
Circuito di Sample & Hold S/H Vo(t) Vi(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 per RF = R
Convertitore R/2R Vr 2R b1 b2 bn S1 S2 S3 Sn-1 Sn Io R I*o RF Vo b3 .......... 2R b1 b2 bn S1 S2 S3 Sn-1 Sn Io R I*o RF Vo 1 2 b3 3 n bn-1 n-1 R + Vi i i+1
Convertitore D/A a demultiplexer + Vr b3 b2 b1 Vo
Convertitore A/D ad approssimazioni successive Vmax Vin Circuito Logico Decisionale clock B3 B2 B1 B0 clock Vin Conv D/A
Convertitore A/D a integrazione semplice (convertitore tensione frequenza) _ + R1 Vo C Vi -E ULC in Oscillatore Locale Gate en Contatore : N reset R2 Monostabile t, -h start VFC 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 t ampiezza –h al monostabile (h grande rispetto a Vi) L’integratore ora ha l’uscita che sale perché h > Vi e sale per t -E Vo(t) t T -h Vms(t) 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 Vo = 0 en _ + R Vo C Vi ±E ULC Oscillatore Locale Gate in Contatore : N, N’ reset
Flash Converter ( a 2 bit) Vr ¾ Vr ½ Vr ¼ Vr Vi B1 B0 Circuito combinatorio Partendo dalle uscite dei comparatori determina B0 e B1 selezionando in quale dei 4 intervalli si trova Vin
Flash Converter (a 4 bit) Vin B3 Vr Flash Converter A 2 bit B2 Conv. D/A B3 Vr/4 Flash Converter A 2 bit B2
Convertitori A/D (segnali di controllo) STart of Conversion( STC )fa partire la conversione A/D. End Of Conversion (EOC) indica la fine della conversione. Output Enable (OE) rende disponibile in uscita il valore digitale della conversione. STC Vin EOC A/D OE D0,D1,…..Dn