ANALOGICO-DIGITALI (ADC) DIGITALE-ANALOGICI (DAC) 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 Segnali digitali: possono assumere valori discreti in istanti di tempo discreti. La discretizzazione del tempo può essere asincrona o sincrona con un clock X(t) t 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 grandezza fisica segnale elettrico trasduttore 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 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.
l’interruttore Si è collegato a massa Si può estendere il discorso ad un numero maggiore di bit se il coefficiente ai = 0, l’interruttore Si è collegato a massa DIFETTI: stabilità ed accuratezza dipendono dalle resistenze e dalla dipendenza dei componenti dalla temperatura sono necessarie resistenze molto grandi, per es. DAC a 12 bit con R = 2.5 kW 2N-1 R = 211 R = 5.12 MW. Difficile gestire accuratezza.
DAC a ladder resistenza = 2R verso qualunque direzione da ogni nodo tensione in ogni nodo: Vi = VR – 2RI dove I = VR/(3R) Vi = VR – 2R VR/(3R) = 1/3 VR in qualunque nodo connesso a VR il potenziale è Vi =1/3 VR Vo = AV Vi = (R1 + R2)/ R1 * VR/3 =V’ guadagno di un AO in configurazione non invertente DAC a ladder
a3 = 1 tensione nel nodo 3 = VR/3 Vi = VR/ 3; Vo = (R1 + R2)/ R1*Vi = V’ a2 = 1 tensione nel nodo 2 = VR/3 Vi = 1/2 VR/ 3 (caduta di tensione su R tra nodi 2 e 3 e sul parallelo di 2R e 2R tra nodo 3 e massa) Vo = 1/2 V’ analogamente: a1 = 1 Vi = 1/4 VR/ 3 Vo = 1/4 V’ ecc… Principio di sovrapposizione Vo = V’ (a3 +1/2 a2 + 1/4 a1 + 1/8 ao) caso generale : Vo = V’ (aN-1 +1/21 aN-2 + 1/22 aN-3 + …1/2N-1 ao) problema : 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 = 9. 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 nel nostro caso dividiamo ancora in due l’intervallo 8-16. Se 8 ≤ k <12 bit 2 = 0; se 12 ≤ k <16 bit 2 = 1. dividiamo in due l’intervallo 8 -12 Se 8 ≤ k <10 bit 1 = 0; se 10 ≤ k <12 bit 1 = 1. dividiamo in due l’intervallo 8 -10 Se 8 ≤ k <9 bit 0 = 0; se 9 ≤ k <10 bit 0 = 1. In conclusione : k in binario = 1001 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 (Vb = tensione di riferimento; Va = tensione da misurare) si pone A3 = 1 (MSB) Vb = output da DAC = 8V = 10002 si confronta Vb con Va. Se Vb ≤ Va 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. Vb> Va la logica di controllo pone A2 = 0. A1 =1 Vb= 10V; Vb > Va la logica di controllo pone A1 = 0 A0 =1 Vb= 9V A questo punto Vb ≤ Va A0 rimane =1 e la conversione è finita con appena 4 confronti
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: 2N-1 comparatori, per N bit logica di controllo e codificatore
Caratteristiche dei convertitori 1 risoluzione: dipende dal numero di bits del convertitore. 8 bit 256 livelli risoluzione = 1/256 ≈ 4% 12 bit 4096 livelli risoluzione ≈ 0.24 % 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 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 2 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 : 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. 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 0 1/8 2/8 3/8 4/8 5/8 6/8 7/8 caratteristica ideale a b b - a differential error