OTE SUI COETITOI D/A e A/D A.A. 15-16 Massimo Piotto
ote sui convertitori D/A e A/D 1 Il convertitore igitale-analogico Un convertitore igitale-analogico (D/A o DAC a Digital-to-Analog Converter) a bit a un punto i vista funzionale è un ispositivo che accetta in ingresso una parola D i bit e genera in uscita un campione analogico, come mostrato in Figura 1. Tipicamente, il campione analogico fornito in uscita al DAC è una tensione vo che è una frazione, F, ella tensione i riferimento, ovvero: v F Il valore ella frazione F è eterminato alla parola i ingresso D su bit: D F 1 3 1 3 Si noti che costituisce il numero i combinazioni iverse ella parola D in ingresso al convertitore. Figura 1: Un convertitore D/A come blocco funzionale Il bit meno significativo (LSB) etermina la minima variazione che si può avere nella tensione i uscita: LSB La caratteristica i trasferimento ieale i un DAC a 3 bit è mostrata in Figura. Sull asse elle ascisse sono riportate le combinazioni iverse ella parola i ingresso mentre sull asse elle orinate sono riportati i valori che può assumere la tensione i uscita, normalizzati rispetto a. Il valore massimo che la tensione i uscita può assumere, enominato tensione i fono scala (FS), è ato a: 1 FS Si può notare come la curva non sia continua ma costituita a punti in quanto il segnale i ingresso è un segnale igitale che può assumere solo valori iversi a cui corrisponono valori i tensione in uscita.
ote sui convertitori D/A e A/D Figura : Caratteristica i trasferimento ieale i un DAC a 3 bit Esiste una larga varietà i architetture i DAC alle più semplici a quelle più complesse, ognuna con i propri vantaggi e svantaggi. el seguito sono escritte ue architetture tipiche. 1.1 Circuito con resistori a pesi binari ella Figura 3 è mostrato un semplice circuito che realizza un convertitore DAC a bit. Il circuito è costituito a resistori a pesi binari (,, 4, -1 ), interruttori monopolari (S, S1, S S-1) e un amplificatore operazionale con la sua resistenza i retroazione f. La rete resistiva viene alimentata alla tensione i riferimento mentre gli interruttori sono comanati alla parola D i bit e, in particolare, S al bit meno significativo mentre S-1 al bit più significativo -1. Quano il bit i=, l interruttore Si si trova nella posizione 1 mentre quano il bit i=1, l interruttore Si si trova nella posizione. Come si può notare in figura, la posizione 1 i tutti gli interruttori è massa mentre la posizione, nell ipotesi che valga il corto circuito virtuale in ingresso all operazionale, è una massa virtuale. Pertanto, la corrente che attraversa ciascun resistore è costante e gli interruttori assumono la funzione i un eviatore i tale corrente o verso massa (posizione 1) o verso la massa virtuale (posizione ). Le correnti che scorrono verso la massa virtuale si sommano formano la corrente risultante i che scorre attraverso la resistenza i retroazione f. Figura 3: Schema i un convertitore DAC a bit che utilizza una rete resistiva a scala con coefficienti binari 3
ote sui convertitori D/A e A/D La corrente i è quini ata a: i La tensione i uscita v sarà ata a: 1 1 1 D v 1 i 1 f 1 1 che è irettamente proporzionale alla parola igitale D come esierato. L accuratezza el convertitore ipene in maniera critica all accuratezza i, alla precisione ei resistori pesati e all iealità egli interruttori. Uno svantaggio ell architettura a resistori con pesi binari è che, per un numero i bit elevato, la ifferenza i valore tra il resistore più piccolo e quello più grane iventa molo elevata. Questo implica elle ifficoltà a mantenere la precisione richiesta per i valori i resistenza e pertanto questo tipo i DAC è usato raramente se sono necessari più i 4 bit. Uno schema che risolve questo problema è quello costituito a una rete i resistenze a scala -, escritto nel paragrafo successivo. 1. Circuito con rete a scala - Uno schema i un convertitore DAC a bit che utilizza una rete i resistenze a scala - è mostrato in Figura 4. Come si può notare, per lo stesso numero i bit si utilizzano un numero oppio i resistenze, rispetto al circuito mostrato in Figura 3, che però assumono solo i valori e. Per comprenere il funzionamento ella rete, si può notare, parteno a estra e proceeno verso sinistra, che la resistenza vista verso la estra i ciascuno noo è uguale a. Pertanto, la corrente che scorre verso la estra i ciascun noo è uguale alla corrente che scorre verso il basso a massa. In pratica, la corrente che entra a sinistra in un noo si ivie in ue parti uguali, una verso il basso e una verso estra. f D Figura 4: Circuito i un convertitore DAC a bit che utilizza una rete resistiva a scala - 4
ote sui convertitori D/A e A/D Inicano con Ii la corrente che scorre nell interruttore Si si avrà pertanto: I I 4I 1 1 3 Quini, come si aveva nel caso ella rete a pesi binari, la corrente totale io sarà ata a: i D La tensione i uscita v sarà ata a: 1 1 v 1 1 i f 1 Si può notare che la tensione i uscita è irettamente proporzionale alla parola igitale D come esierato. Anche in questo caso, l accuratezza el convertitore ipene in maniera critica all accuratezza i, alla precisione ei resistori e all iealità egli interruttori. f D I 1 Il convertitore analogico-igitale Un convertitore analogico-igitale (A/D o ADC a Analog-to-Digital Converter) a bit a un punto i vista funzionale è un ispositivo che accetta in ingresso i campioni i un segnale analogico e fornisce, per ogni campione i ingresso, la corrisponente rappresentazione igitale a bit ai suoi terminali i uscita, come mostrato in Figura 5. A ifferenza el convertitore DAC in cui si ha un numero finito i ingressi a cui corrispone un numero finito i uscite, nei convertitori ADC l ingresso è un segnale analogico la cui ampiezza può assumere con continuità tutti i valori all interno ell intervallo i valiità. Tali valori evono essere quantizzati in un numero finito i valori igitali. In particolare, in un convertitore a bit si avranno livelli i quantizzazione. Figura 5: Un convertitore A/D come blocco funzionale Le iversità tra le ue tipologie i convertitori appaiono evienti confrontano la caratteristica i trasferimento i una ADC ieale a 3 bit mostrata in Figura 6 con quella i un DAC riportata in 5
ote sui convertitori D/A e A/D Figura. Sull asse elle orinate sono riportate le combinazioni iverse ella parola D i uscita mentre sull asse elle ascisse sono riportati i valori ella tensione i ingresso normalizzati rispetto a. Poiché il segnale i ingresso è un segnale continuo mentre quello i uscita è iscreto, la curva assume l aspetto i una grainata. Figura 6: Caratteristica i trasferimento ieale i un ADC a 3 bit La iscretizzazione i una granezza continua prouce inevitabilmente un errore Qe che viene enominato errore i quantizzazione. Tale errore viene efinito come la ifferenza tra il valore attuale ell ingresso analogico e il valore ell uscita igitale riportato in tensione. Ovvero: Q e v in D v in D ove D è il valore ella parola igitale uscita e LSB è il valore i 1 LSB in volt. La caratteristica ell ADC con il corrisponente anamento ell errore i quantizzazione espresso in unità i LSB sono riportati in Figura 7. Come si può notare, l errore ha un anamento a ente i sega centrato su ½ LSB e iealmente sarà compreso tra e 1 LSB. Da notare che l anamento ell errore può essere eterminato come la ifferenza tra la caratteristica a grainata e la bisettrice el piano, riportata in tratteggio in Figura 7. LSB Figura 7: Caratteristica i trasferimento ieale i una ADC e il corrisponente errore i quantizzazione 6
ote sui convertitori D/A e A/D Molto spesso si preferisce avere l errore i quantizzazione centrato nello zero cosi a avere una variazione complessiva i ± ½ LSB. Questa conizione si può ottenere facilmente traslano la caratteristica a sinistra i ½ LSB, come mostrato in Figura 8. Figura 8: Caratteristica i un convertitore ADC con il corrisponente errore i quantizzazione centrato in zero In questo caso la prima transizione el coice igitale si ha per vin 1/16 pertanto il range i valori i vin corrisponenti alla coifica è imezzato rispetto al caso preceente. L ultima transizione avviene per vin 13/16 (a metà tra 6/8 e 7/8 ) e la larghezza ell ultimo graino ella grainata è 1.5 volte più grane el preceente e l errore i quantizzazione arriva a 1 LSB per vin =.. Se si vuole evitare questa situazione si può impostare come limite massimo ella tensione i ingresso il valore 15/16 (a metà tra 7/8 e 8/8 ). Esiste una larga varietà i architetture i ADC alle più semplici a quelle più complesse, ognuna con i propri vantaggi e svantaggi. el seguito sono escritte alcune architetture tipiche..1 Convertitore A/D a singola rampa Il convertitore a singola rampa appartiene, insieme a quello a oppia rampa escritto nel paragrafo successivo, alla categoria ei convertitori a integrazione in cui la conversione avviene misurano con un contatore il tempo impiegato per un operazione i integrazione. Figura 9: Diagramma temporale i un convertitore a singola rampa 7
ote sui convertitori D/A e A/D el caso el convertitore a singola rampa, il principio i funzionamento è schematizzato in Figura 9: si integra una tensione nota e costante e si misura quanto tempo occorre per ottenere in uscita all integratore una tensione uguale al segnale che si vuole convertire. Il iagramma a blocchi i un architettura a singola rampa è mostrata in Figura 1. Facciamo l ipotesi che la tensione costante sia positiva e che l uscita ell integratore sia nulla all istante t= in cui iniziamo a integrare e a contare gli impulsi i clock. Inoltre, il contatore è a bit e il segnale i ingresso vi che vogliamo convertire viene campionato e mantenuto al circuito i sample an hol (S/H) per tutta la urata el processo i integrazione. La tensione in uscita ell integratore comincia a salire linearmente (si noti che - è negativa) con una penenza che ipene al valore i e C. Quano la tensione i uscita ell integratore supera il valore ella tensione i uscita el circuito S/H, il comparatore commuta e segnala al circuito i controllo i memorizzare nel latch il valore che ha raggiunto il contatore. Il circuito i controllo provvee poi a generare il segnale i reset che serve sia per resettare il contatore sia per azzerare l uscita ell integratore preparano il sistema a un altra operazione i conversione. Figura 1: Schema a blocchi i un convertitore a singola rampa Il numero i impulsi i clock conteggiato sarà, pertanto, proporzionale al valore ella tensione i ingresso che vogliamo convertire. In particolare, se la tensione i ingresso è molto piccola, il tempo i conversione sarà molto breve e il contatore conterà pochi impulsi prima che il comparatore scatti faceno concluere il conteggio. iceversa, se la tensione i ingresso è uguale alla tensione i fonoscala el convertitore, il contatore ovrà incrementare il conteggio a zero fino al suo valore massimo i. Il tempo i conversione, tc, è proporzionale alla tensione vi e il segnale, C, in uscita all integratore al termine el conteggio è ato a: C 1 C tc ( ) t C a cui si ricava: vi tc C Se il numero i impulsi conteggiati è pari a D, ovvero tc = D TCLK, si ottiene: vi C D T CLK C v I 8
ote sui convertitori D/A e A/D ove TCLK è il perioo el clock. Si è ottenuto, pertanto, che il valore D memorizzato nel latch è proporzionale alla tensione i ingresso vi. Tuttavia si può notare che il valore i D ipene anche a altri fattori, in particolare al valore i, i C e el perioo el clock. Ogni effetto i non iealità che moifica questi parametri si ripercuote irettamente sul risultato numerico ella conversione. Questo inconveniente viene risolto all architettura a oppia rampa escritta nel paragrafo successivo.. Convertitore A/D a oppia rampa el convertitore a oppia rampa vengono fatte ue integrazioni, come mostrato schematicamente in Figura 11. ella prima integrazione, si parte a zero e si integra la tensione i ingresso vi per un perioo i tempo pari al fonoscala el contatore, ovvero cicli i clock. ella fase successiva, si integra una tensione costante i segno opposto alla tensione vi per un intervallo i tempo necessario per far ritornare a zero l uscita ell integratore. Il conteggio eseguito nella secona fase viene preso come risultato ella conversione. Figura 11: Diagramma temporale i un convertitore a oppia rampa a 3 bit. Il valore i picco a cui si arriva nella prima fase è proporzionale al segnale i ingresso, come mostrato in Figura 1 ove è mostrato il iagramma temporale nel caso vengano integrate ue tensioni i ingresso iverse con vi>vi1. Si noti come in questa fase la penenza ella rampa sia variabile in quanto è proporzionale al segnale i ingresso. ella secona fase, invece, la penenza elle curve è costante in quanto si integra in entrambi i casi la tensione costante. Come mostrato in figura, l intervallo i tempo necessario per tornare a zero è proporzionale al valore i picco ottenuto nella prima fase, ovvero alla tensione i ingresso. Un architettura che implementa questa tecnica è mostrata in Figura 13. Prima i iniziare il ciclo i conversione viene inviato il segnale i reset che azzera il contatore e chiue l interruttore ai capi el conensatore scaricanolo in moo che la tensione uscita ell integratore sia nulla. Il ciclo i conversione inizia con il collegamento ell ingresso analogico ell integratore all uscita el circuito i S/H che ha campionato la tensione i ingresso che ipotizziamo per comoità negativa. La tensione i uscita el comparatore inizierà a aumentare e allo stesso tempo il contatore inizia la sua operazione i conteggio egli impulsi i clock a frequenza fissa. Questa fase i conteggio continua fino a quano il contatore non arriva a contare impulsi e il segnale i over-flow (O/F) segnala questa conizione. Il circuito i controllo provvee a resettare il contatore e spostare l interruttore in ingresso all integratore sul segnale che ipotizziamo positivo. La tensione in uscita 9
ote sui convertitori D/A e A/D all integratore comincia a iminuire e contemporaneamente il contatore inizia il conteggio. Questa fase ura fino a quano la tensione non iventa nulla. Infatti, quano la tensione in uscita all integratore iventa pari a zero, il comparatore commuta e segnala al circuito i controllo i interrompere il conteggio, salvare il valore nel latch e inviare il comano i reset per il contatore e il conensatore. Figura 1: Diagramma temporale i un convertitore a oppia rampa con ue iverse tensioni i ingresso vi>vi1 Come è eviente, il circuito a oppia rampa richiee un tempo i conversione superiore al circuito a singola rampa. Tuttavia, come imostreremo a breve, risulta immune agli effetti i non iealità che coinvolgono i parametri el circuito. Figura 13: Schema a blocchi i un convertitore a oppia rampa Per verificare i vantaggi el circuito a oppia rampa, inichiamo con picco la tensione in uscita all integratore alla fine ella prima fase. Tale valore sarà ato a: Tmax 1 vi vi picco vi ( ) Tmax TCLK C C C 1
ote sui convertitori D/A e A/D Durante la secona fase, la tensione uscita ell integratore inizierà a tale valore e ecrementerà fino a arrivare a zero. Durante questa fase, la tensione in uscita all integratore varrà: t vi 1 c TCLK C C All istante t=t1 in cui si annulla avremo: T1 vi 1 vi TCLK TCLK T C C C C a cui: 1 v C I I T1 TCLK C Se il contatore è arrivato a conteggiare D impulsi, ovverot1=dtclk, si ottiene: 1 vi vi D TCLK TCLK Come si può notare, l impiego ello stesso integratore e ello stesso contatore in entrambi le fasi consente i ottenere una conversione che non è più affetta alle non iealità che riguarano, C o il clock. Questo permette i ottenere un convertitore con un elevata accuratezza. v T CLK.3 Convertitore A/D flash Il convertitore flash o parallelo implementa il metoo i conversione A/D più veloce. Concettualmente la conversione flash è molto semplice. Come mostrato in Figura 14, la tensione analogica i ingresso vin viene inviata in ingresso a ( -1) comparatori che la confrontano con ciascuno ei ( -1) livelli i quantizzazione in cui è stata suivisa la tensione i riferimento tramite la serie i resistori tutti uguali. In uscita a ciascuno comparatore si ottiene un valore i tensione alto, equivalente a livello logico 1, se la tensione vin è maggiore el livello ella tensione a esso collegato e un valore i tensione basso, equivalente a livello logico, nel caso contrario. Analizzano l insieme elle tensioni in uscita ai comparatori, si ottiene al basso una serie i valori alti fino al comparatore che è collegato al primo livello ella tensione maggiore i vin che avrà l uscita bassa e così tutti quelli che sono sopra i lui. Questo tipo i coifica viene efinita coifica termometrica. Un semplice ecoer con priorità, che restituisce l inirizzo binario ella linea i ingresso a livello alto i maggior priorità (con l orine più alto), convertirà i -1 valori ella coifica termometrica nella parola D i bit che costituisce la conversione igitale ella tensione analogica i ingresso. Il vantaggio i questo convertitore risiee nella possibilità i effettuare la conversione completa in un unico ciclo i clock. Lo svantaggio è costituito alla complessità ell harware. Infatti, un convertitore a 8 bit richiee 55 comparatori e 56 resistenze. Inoltre, per ogni bit i risoluzione in più che si vuole ottenere si raoppia l area el chip. A esempio, per ottenere 9 bit sono necessari 511 comparatori e 51 resistenze. Per questo motivo i convertitori flash traizionali sono tipicamente a 8 bit. Se si rinuncia a voler effettuare la conversione completa in un unico ciclo i clock si può aottare una configurazione i convertitore flash a ue step che consente, a parità i risoluzione, i ottenere una notevole riuzione ell area el chip. Il iagramma a blocchi ella configurazione a ue step è mostrata in Figura 15. Il convertitore a bit è suiviso in ue convertitori flash a / bit in cui il primo (MSB ADC) fornisce i bit più significativi ella conversione, mentre il secono (LSB ADC) fornisce i bit meno significativi. Il processo i conversione avviene nel seguente moo: 11
ote sui convertitori D/A e A/D 1) la tensione i ingresso viene campionata e mantenuta al circuito i Sample/Hol (S/H); il convertitore flash MSB ADC fornisce gli / bit più significativi che sono memorizzati nel latch; ) il risultato viene riconvertito in una tensione analogica al DAC e sottratto alla tensione i ingresso; 3) il risultato ella sottrazione, enominato resiuo, è moltiplicato per / all amplificatore e fornito in ingresso al secono convertitore flash (LSB ADC). La moltiplicazione per / consente i utilizzare ue convertitori flash ientici con la stessa tensione i riferimento; la moltiplicazione può essere evitata se si progetta il convertitore LSB ADC in moo che sia in grao i convertire tensioni molto piccole; 4) il secono convertitore fornisce i bit meno significativi ella conversione che vengono memorizzati nel latch. Figura 14: Schema a blocchi i un convertitore Flash Il vantaggio i questa architettura risiee nella iminuzione ell area el chip. Infatti, per una conversione a bit il numero i comparatori necessari scene agli ( -1) necessari nella configurazione traizionale a ( / -1) per la configurazione a ue step. Per esempio, per una risoluzione a 8 bit si passa a 55 comparatori per la flash traizionale a 3 comparatori per la flash a ue step. Lo svantaggio consiste nella necessità i aspettare almeno ue cicli i clock per avere il risultato efinitivo ella conversione. 1
ote sui convertitori D/A e A/D Figura 15: Schema a blocchi i un convertitore Flash a step.4 Convertitore A/D a approssimazioni successive (SA) Il convertitore a approssimazioni successive (SA) effettua, in pratica, una ricerca binaria all interno i tutti i livelli i quantizzazione prima i convergere alla parola igitale finale. Lo schema i principio i un SA a bit è mostrato in Figura 16. Un registro a bit controlla la temporizzazione ella conversione. La tensione analogica i ingresso vin viene campionata e mantenuta al S/H e confrontata con l uscita fornita al DAC. L uscita el comparatore controlla la irezione ella ricerca binaria e opo passi l uscita el SA è la parola igitale D risultante alla conversione. Figura 16: Schema a blocchi i un convertitore SA 13
ote sui convertitori D/A e A/D L algoritmo el SA è costituito ai seguenti passi. 1) Si attiva lo shift register che fornisce in uscita b-1=1 e tutti gli altri bit, a b- a b, a zero. ) Il bit più significativo el SA, -1, è impostato inizialmente a 1 mentre i rimanenti bit, -, sono posti a zero. 3) L uscita el SA, che sarà pari a 1, viene convertita al DAC nella tensione analogica /. 4) La tensione i ingresso vin viene confrontata con /. Se / è maggiore i vin allora l uscita el comparatore è a livello alto e impone il reset el bit -1 a zero. Se / è minore i vin allora l uscita el comparatore è a livello basso e impone il mantenimento el bit -1 a uno. Al termine el confronto -1 assume il valore che avrà nella parola finale. 5) Lo shift register sposta il valore 1 i una posizione verso estra: si avrà, pertanto b-=1 mentre tutti gli altri bit saranno a zero. 6) Il bit - el SA è impostato inizialmente a 1, il bit -1 è mantenuto al valore stabilito al preceente confronto e tutti gli altri bit sono posti uguali a zero. 7) L uscita el DAC sarà uguale a /4 se -1= oppure 3/4 se -1=1. 8) La tensione i ingresso viene confrontata con l uscita el DAC: se l uscita el DAC è maggiore i vin allora il bit - viene resettato a zero altrimenti viene mantenuto a uno. Il valore el bit - al termine el confronto è quello che avrà nella parola finale. 9) Il processo si ripete fino a quano non sono fissati i valori i tutti i bit otteneno la parola igitale finale. Si noti, pertanto, che in un convertitore SA a bit il tempo i conversione è pari a cicli i clock. 14