Convertitori D/A e A/D Enzo Gandolfi Convertitori A/D • La caratteristica ideale di un Convertitore A/D è indicata a fianco uscita digitale 111 110 101 100 011 010 001 000 • Nella realizzazione pratica si introducono diversi errori. straight line 0 1/8 2/8 3/8 4/8 5/8 6/8 7/8 ingresso analogico ADC non monotono • 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 Convertitori A/D caratteristica ideale • Errori di OFF SET 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 caratteristica ideale • Errori di non linearità o di guadagno gain error 1¼ LSB 111 110 101 100 011 010 001 000 0 1/8 2/8 3/8 4/8 5/8 6/8 7/8 Convertitori A/D • Errori dovuti a disimmetrie dei componenti • Errore di linearità differenziale che si evidenzia con una disuniformità dei gradini, 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 – per un ADC è (b-a) caratteristica ideale 111 • Errore di linearità integrale che tiene conto non dell’errore locale ma dell’eventuale cumularsi degli errori 110 101 100 011 010 001 000 integral error +1 LSB 0 1/8 2/8 3/8 4/8 5/8 6/8 7/8 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” S/H =“0” Vo(t)=Vi(t) Vo=Va=costante Convertitore D/A a resistenze pesate Vr 2R 4R 8R 2nR S1 S2 S3 Sn RF Io Vo b1 b2 bn b3 Ii = Vr bi i 2 R per RF = R V Io = r R n bi 2 - i i=1 Convertitore R/2R 1 Vr R 2 R 3 2R 2R 2R S1 S2 S3 R n 2R n-1 ..........2R Sn-1 2R RF Sn Io Vo b1 b2 b3 bn- bn I* o 1 i R i+1 Vi + R R Vo = - F Vr R n bi 2 - i i=1 Ii = Vr 1 b i -1 2R i 2 Convertitore D/A a demultiplexer R R R Vr R + Vo R R R R b3 b2 b1 Convertitore A/D ad approssimazioni successive Vmax Vin Circuito Logico Decisionale clock B3 clock B2 B1 Vin Conv D/A B0 Convertitore A/D a integrazione semplice (convertitore tensione frequenza) R1 Vi Start : azzera contatore, apre interr. uscita monostabile =0V C _ L’integratore integra con solo Vi fino a quando Vi< -E _ R2 Vo + -E + Monostabile t, -h Oscillatore Locale start en in ULC Gate VFC reset Contatore : N Vo(t) 0 t T -E Vms(t t 0) -h T 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 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 t0 N’ t 1 Vo = 0 N t2 C Vi ± E R _ + + Vo Oscillatore Locale _ in ULC en Gate Contatore reset t : N, N’ 1 1 t 2 - t1 N Vmedio = V (t)dt = E = E =kN i t1 - t 0 t t1 - t 0 N' 0 Flash Converter ( a 2 bit) Vr Vi ¾ Vr ½ Vr Circuito combinatorio ¼ Vr Partendo dalle uscite dei comparatori determina B0 e B1 selezionando in quale dei 4 intervalli si trova Vin B1 B0 Flash Converter (a 4 bit) Vin Vr B3 Flash Converter A 2 bit B2 Conv. D/A Vr/4 B3 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