Convertitore DAC e ADC

Materie:Appunti
Categoria:Elettronica

Voto:

1.5 (2)
Download:1213
Data:28.05.2001
Numero di pagine:18
Formato di file:.doc (Microsoft Word)
Download   Anteprima
convertitore-dac-adc_1.zip (Dimensione: 731.95 Kb)
trucheck.it_convertitore-dac-e-adc.doc     929.5 Kb
readme.txt     59 Bytes


Testo

ESERCITAZIONE IN LABORATORIO.

Generalità. 2
Il convertitore D/A (DAC). 3
Principio della conversione. 3
Parametri caratteristici. 4
Tipi di convertitori D/A (DAC). 5
Convertitori a resistenze pesate. 5
Convertitori D/A con rete di tipo R-2R. 7
Convertitore R-2R. 8
Convertitore a rete R-2R invertita. 10
Il convertitore A/D (ADC). 12
La quantizzazione. 12
Parametri caratteristici degli ADC. 14
La risoluzione. 14
L’errore di quantizzazione. 14
Il tempo di conversione. 15
Tipi di convertitori A/D. 17
Convertitori paralleli (flash). 17
I convertitori a reazione. 20
Il convertitore a gradinata. 20
Il convertitore a bilanciamento continuo. 21
Il convertitore ad approssimazioni successive. 23
I convertitori ad integrazione. 25
I convertitori tensione/frequenza e frequenza/tensione. 27
Generalità.
Col termine conversione si indica la trasformazione di alcuni parametri di un segnale elettrico mantenendo invariata la quantità di informazione posseduta dal segnale stesso.
I convertitori risultano essenziali nei sistemi di controllo, in particolare quelli analogico-digitale e digitale-analogico perché sono presenti nelle ca-tene di acquisizione e di elaborazione dati.
Il convertitore analogico-digitale, indicato come convertitore A/D o ADC (Analog Digital Converter), risulta essenziale per collegare un segnale analogico ad un centro di elaborazione digitale.
Prendiamo ad esempio il caso di un sistema a microprocessore per il controllo di grandezze fisiche (temperatura, pressione, umidità ecc.): il segnale in uscita dal trasduttore è generalmente di tipo analogico e di conseguenza deve essere convertito in un segnale digitale per poter essere elaborato dal microprocessore.
Il convertitore digitale-analogico, indicato come convertitore D/A o DAC (Digital Analog Converter), esegue l’operazione inversa rispetto all’ADC. In effetti il DAC permette di trasformare il segnale digitale, fornito dal sistema di elaborazione, in un segnale analogico in grado di operare sui dispositivi di uscita come ad esempio gli attuatori (motori, altoparlanti, ecc.).
Si ricorda che per segnale analogico si intende un segnale che può assu-mere tutti i valori all’interno di un intervallo, mentre il segnale quantizza-to (o discreto) può assumere soltanto un numero finito di valori. Se la quantizzazione viene effettuata, per esempio, con un codice binario i possibili valori sono due.
Il convertitore D/A (DAC).
Il convertitore D/A trasforma ogni parola digitale ad n bit in un livello di tensione. Di conseguenza il numero di livelli di tensione possibili in uscita dal DAC è 2n, pari al numero di codici esprimibili con parole di n bit.
Il segnale analogico fornito dal convertitore D/A non è dunque continuo nel tempo ma è formato da gradini. Ogni gradino corrisponde al valore di tensione associato alla parola
Principio della conversione.
Ad ogni parola binaria formata da n bit an-1, an-2, an-3, … a1, a0, corrisponde
il numero P.
P = an-1 2n-1 + an-2 2n-2 + … + a1 21 + a0 20
Per trasformare questo numero P in una tensione occorre moltiplicarlo per un valore di tensione V. In questo modo alla parola viene associato il livello di tensione Vu = PV.
Vu = VP = V (an-1 2n-1 + an-2 2n-2 + … + a1 21 + a0 20)=
= an-1 V2n-1 + an-2 V2n-2 + ... + a1 V21 + a0 V20=
=V2n (an-1 2-1 + an-2 2-2 + … + a1 21 + a0 2-n)
Il prodotto V2n si definisce tensione di riferimento o tensione di fondo
scala e viene indicato con Vr.
Vu = Vr (an-1 2-1 + an-2 2-2 + … + a1 21 + a0 2-n)
La conversione avviene quindi effettuando una combinazione lineare con coefficienti che devono dare ad ogni bit il proprio perso in funzione della sua posizione. Ad esempio per convertitori a 4 bit se a3 è moltiplicato per 16 V allora a2 deve esser moltiplicato per , a1 per e infine a0 per .
Il coefficiente che moltiplica il bit più significativo è pari a quelli successivi saranno , poi ,, ecc. L’espressione della Vu evidenzia che il livello di tensione in uscita dal DAC è proporzionale alla tensione di riferimento Vr ed al codice binario in ingresso.
La tensione Vr viene anche indicata come la tensione di fondo scala del convertitore. Se si sceglie Vr = 2n ossia V=1 V, il valore della tensione è pari al numero P.
Parametri caratteristici.
==> La risoluzione: essa rappresenta la variazione di tensione dovuta alla variazione di un LSB ed in modo equivalente indica il valore minimo di
tensione rappresentabile dal DAC.
La risoluzione si trova espressa anche in bit o in percentuale del valo-
re di fondo scala Vr.
==> La tensione massima di uscita VuM: tale valore si ottiene quando tutti
i bit sono a 1 e si dimostra che
Notiamo che VuM è minore del valore di fondo scala Vr.
==> L’errore di linearità: si verifica se ad ogni incremento del segnale di-
gitale non corrisponde lo stesso incremento della tensione.
==> Transitori spuri (glitches): quando due o più bit devono commutare insieme si possono creare picchi di tensione. Come mostra la figura 1, prima che la Vu si assesti al valore 6 V è presente anche un picco di tensione.
Figura 1
==> Settling time: è il tempo necessario al DAC per stabilizzarsi al valore finale dell’uscita.
Tipi di convertitori D/A (DAC).
Convertitori a resistenze pesate.
In figura 2 è riportato lo schema del DAC a resistenze pesate a 4 bit.
Figura 2.
Il circuito è composto da una rete di resistenze, da un convertitore cor-rente/tensione realizzato con un amplificatore operazionale e da alcuni deviatori. I deviatori sono utili nel nostro caso per descrivere il compo-rtamento del circuito. Nella realtà al posto dei deviatori c’è una rete digitale che fornisce in uscita i livelli di tensione alti e bassi (corrispon-denti ai valori logici 1 e 0).
Il numero di resistenze e di deviatori è pari al numero di bit del DAC. Il deviatore consente di collegare la resistenza a massa se il bit vale 0 o al potenziale di riferimento Vr se il bit vale 1. Di conseguenza in ogni resi-stenza c’è un passaggio di corrente soltanto se il bit associato vale 1 in modo da avere una differenza di potenziale pari a Vr ai capi della stessa resistenza. In caso di bit 0 i due morsetti della resistenza sono a massa e quindi non ci può essere passaggio di corrente.
La corrente che circola in ogni resistenza deve essere tale da dare ad ogni bit il proprio peso in funzione della sua posizione, secondo il principio della conversione. Il valore della corrente deve essere maggiore per il bit più significativo (MSB) per poi diminuire per i bit meno significativi. Si procede dunque collegando al MSB la resistenza minore e raddoppiandone il valore per il bit successivo fino al LSB per il quale la resistenza è 2n-1 volte maggiore rispetto alla prima.
Ad esempio nel caso si DAC a 4 bit: (a3a2a1a0) al bit a3 associamo una resistenza 2R (R è il valore presente nel convertitore corrente/tensione), al bit a2 colleghiamo una resistenza doppia della prima 4R, ad a1 la resistenza 8R ed infine ad a0 la resistenza 16R.
Il convertitore I/V effettua la somma delle correnti. Verifichiamo che la
tensione in uscita del convertitore è proporzionale al codice d’ingresso.
I = I0 + I1 + … + In-1 (non entra corrente nell’Amp. Op.)
Vu = -RI =-R (I0 + I1 + … + In-1)
dove
Tralasciando il segno, che rappresenta l’inversione di fase possiamo
scrivere:
L’impiego di questi tipo di convertitori D/A è limitato perché presentano alcuni inconvenienti:
==> Il valore delle resistenze cresce secondo le potenze del due, fino a raggiungere valori notevoli se il numero di bit del DAC è elevato (RLSB=2nR), non è possibile ovviare a questo problema prendendo un valore di R troppo basso se si vuole garantire un corretto funziona-mento dei deviatori elettronici.
==> Difficoltà di avere resistenze con valori così diversi e stessa preci-sione.
==> La corrente erogata da Vr dipende dalla combinazione dei bit in ingresso.
Convertitori D/A con rete di tipo R-2R.
Questo tipo di convertitore D/A sfrutta, per la conversione, lo stesso principio di quello a resistenze pesate ma presenta il vantaggio di utilizza-re resistenze di due soli possibili valori R e 2R. Esistono due tipi di DAC di questo genere:
==> a rete (o scala) R-2R;
==> a rete (o scala) R-2R invertita;
Convertitore R-2R.
Nelle figure 3 e 4 sono riportati gli schemi del convertitore D/A r-2R a n bit e 4 bit.
Figura 3.
Figura 4.
La rete di resistenze è tale che da ogni nodo Ai la resistenza vista verso destra e verso sinistra vale sempre 2R. In figura 5 è riportato l’esempio del nodo A2 (i generatori sono cortocircuitati).
Figura 5.
R8 è a terra per il cortocircuito virtuale (V- = V+ = 0).
Verso sinistra: R12= R1//R2 =R; R’ = R12 + R3 = 2R; si ottiene allora Rsin= R’//R4 + R5 = 2R.
Verso destra: R78= R7//R8 =R; Rdes= R78 + R6 = 2R.
Di conseguenza la resistenza che è vista da ciascun deviatore è 2R + Rsin//Rdes = 3R (fig.6).
Figura 6.
Così in tutte le resistenze collegate ai deviatori circola lo stesso valore di
corrente
Questa corrente in ogni nodo che incontra si divide in due parti uguali perché Rdes = Rsin.
Come nel caso di DAC a resistenze pesate occorre fare in modo che ad ogni bit sia dato il proprio peso in funzione della sua posizione, così il con-vertitore I/V effettua la giusta combinazione lineare fornendo in uscita una tensione proporzionale al codice. Al bit più significativo an-1 viene
associata la corrente massima che vale:
perché subisce una sola divisione nel nodo An-1. Le correnti che corrispondono ai bit meno significativi subiscono un numero di partizioni che aumenta spostandosi verso sinistra nella figura 3. Infatti la corrente
associata al bit meno generico subisce n –k divisioni (n nodi) e vale:
Di conseguenza la corrente corrispondente al LSB a0 vale:
La tensione Vu = -3RIu nella quale la corrente Iu è la somma delle correnti
provenienti dai deviatori con il bit 1, risulta, trascurando il segno meno,
La tensione in uscita dal DAC è veramente proporzionale al codice in ingresso.
Convertitore a rete R-2R invertita.
Lo schema del convertitore D/A a rete R-2R invertita è riportato in figura 7.
Figura 7.
Il deviatore permette di collegare la resistenza a terra, nel caso di bit 0, o al morsetto invertente dell’amplificatore operazionale, se il bit vale 1.
Essendo il potenziale del morsetto invertente comunque pari a zero (V-= V+=0 V), il valore della corrente che circola nella resistenza collegata al deviatore rimane lo stesso indipendentemente dalla posizione del devia-tore stesso. Quando il bit vale 1 questa corrente passa nel convertitore dando il proprio contribuito alla tensione d’uscita.
La resistenza vista da ogni nodo Ai verso terra vale R; in figura 8 è mo-strato l’esempio del nodo A2.
Figura 8.
Per calcolare la resistenza vista da A2 si produce nel seguente modo:

Di conseguenza anche la resistenza vista dal generatore (nodo A3) vale R
e la corrente erogata (I) rimane costante
indipendentemente dalla parola binaria da convertire. Questa corrente si divide, in ogni nodo che incontra, in due parti uguali.
La conversione avviene come nel DAC a rete R-2R: il valore della corrente che circola nella resistenza associata al deviatore deve essere maggiore per il bit più significativo (MSB), per poi diminuire per i bit meno signifi-cativi. Illustriamo il caso del DAC a 4 bit (fig. 9).
Le correnti valgono:
e quindi la tensione di uscita sarà Vu = -R•Itot.
Sostituendo i valori delle correnti e trascurando il segno meno si ha:
La tensione in uscita dal convertitore è proporzionale al codice.
Il convertitore D/A a rete R-2R invertita rappresenta la soluzione più diffusa tra i componenti commerciali. Infatti con questa soluzione
==> le resistenze hanno soltanto due valori possibili R e 2R;
==> la corrente erogata da Vr è costante;
==> la corrente circolante nelle resistenze è indipendente dalla parola in
ingresso così si evitano i disturbi dovuti alle commutazioni.
La seguente tabella mostra il valore del parametro settling time per alcu-ni componenti tipici.
Inoltre esiste l’integrato DAC0830 a 8 bit che ha la caratteristica di essere compatibile con il microprocessore ed è possibile collegarlo senza interfaccia.
Il convertitore A/D (ADC).
L’ADC trasforma un segnale analogico in un codice binario Il passaggio da un segnale, che assume con continuità tutti i valori all’interno di un intervallo, ad una successione discreta di codici binari avviene tramite un’operazione denominata quantizzazione.
La quantizzazione.
La quantizzazione è descritta dalla caratteristica di trasferimento rap-presentata dal grafico di figura 9. I valori di tensione in ingresso sono ri-portati sull’ascissa, mentre sull’ordinata viene riportato il codice binario associato ad ogni intervallo di valori di Vi.
Nell’esempio di figura 9 l’ampiezza massima del segnale d’ingresso è ViM = 8 V. Il numero di bit scelto è 3 quindi il numero possibile di codici binari esprimibili è Q = 23 =
Figura 9.
Di conseguenza la tensione analogica d’ingresso è stata divisa in 8 parti uguali, ad ognuna delle quali è stato associato uno degli 8 codici binari possibili. A tutti i valori di tensione appartenenti ad un singolo intervallo degli otto possibili viene associato lo stesso codice.
L’esempio precedente mette in evidenza la necessità d’introdurre due parametri caratteristici dei convertitori A/D.
Il primo è l’ampiezza massima ViM del segnale d’ingresso che può essere convertito dall’ADC. Il segnale da elaborare deve dunque passare prima in un circuito di condizionamento per renderlo utilizzabile dal convertitore. In particolare i campi di valori della Vi accettati dagli ADC in commercio sono generalmente da 0 V a 5 V o da 0 V a 10 V.
L’altro parametro è il numero n di bit con cui si effettua la codifica. Il campo dei valori della Vi viene diviso in Q = 2n parti uguali. Ad ognuno di questi 2n intervalli viene associata una parola di n bit. Spesso l'ampiezza dell'intervallo è indicata come passo di quantizzazione.
Parametri caratteristici degli ADC.
La risoluzione.
La risoluzione, indicata con R, rappresenta la variazione della tensione d’ingresso associata ad una variazione del bit meno significativo del codi-ce binario.
In modo equivalente la risoluzione rappresenta il passo di quantizzazione. In effetti, come viene mostrato dall’esempio di figura 9, se il codice bina-rio differisce per il bit meno significativo (LSB), otteniamo quello asso-
ciato all’intervallo successivo o precedente. Possiamo così scrivere:
La risoluzione può essere espressa in percentuale del valore massimo della
tensione convertibile:
Spesso i costruttori forniscono come risoluzione il numero di bit della pa-rola di codifica.
L’errore di quantizzazione.
L’errore di quantizzazione, indicato anche come incertezza, definisce il livello di indeterminazione ed è dovuto al fatto che ad ogni codice binario non viene associato un unico valore della tensione d’ingresso ma l’insieme dei valori appartenenti al passo di quantizzazione.
Ad esempio la figura 9 mostra che alla parola di codice 010 sono associati tutti i valori della Vi compresi tra 2 V e 3 V e di conseguenza 010 rappresenta oltre al valore esatto 2 V anche 2.9 V.
Quando il valore esatto di Vi rappresentato dalla parola di codifica è l’estremo inferiore dell’intervallo, l’errore massimo di quantizzazione (eM)
è pari l’ampiezza dell’intervallo stesso (ossia alla risoluzione R) e quindi:
eM = R
Nell’esempio di figura 9 eM = 1 V.
L’andamento dell’errore in funzione del valore della tensione (relativo all’esempio di figura 9) è mostrato in figura 10.
Figura 10.
Si osserva che e = 0 quando in ingresso è presente il valore esatto della tensione associato alla parola binaria.
Se il valore esatto di Vi rappresentato dalla parola di codice è al centro dell’intervallo di quantizzazione l’errore massimo che si può commettere
viene dimezzato:
In effetti se nell’esempio di figura 9 si sceglie il passo di quantizzazione in modo che la parola 010 rappresenti l’intervallo di valori 1.5 VI 2.5 V, simmetrico intorno al valore esatto 2 V, l’errore massimo vale 0.5 V (la figura 11 mostra l’andamento dell’errore).
Figura 11.
Per ridurre l’incertezza occorre diminuire l’ampiezza del passo di quantiz-zazione aumentando il numero di bit.
Il tempo di conversione.
Il tempo di conversione è il tempo necessario all’ADC per trasformare il valore della tensione d’ingresso in un codice binario.
Il segnale analogico da convertire deve essere campionato per prelevare i valori della Vi da trasformare in codice binario. Con il campionamento il segnale analogico viene trasformato in una successione discreta di valori di Vi.
Nella figura 12 è riportato un esempio.
Figura 12.
Il segnale S(t) può essere rappresentato dalla successione dei suoi cam-pioni S1, S2, S3, S4, S5 … prelevati ad intervalli regolari Tc. Il valore di Tc non può essere qualsiasi. Per poter ricostruire il segnale dai suoi campioni
occorre che la frequenza di campionamento:
soddisfi la condizione di Shannon:
dove fM è la frequenza massima (o banda) del segnale.
Di conseguenza il periodo di campionamento di Tc deve essere:
La conversione deve terminare prima che arrivi il nuovo campione da con-vertire in codice binario.
Indicando con Ts il tempo di conversione occorre avere com’è mostrato in figura 13.
Figura 13.
Il valore del campione è quello assunto da Vi all’inizio della conversione anche se durante il tempo Ts il segnale subisce delle variazioni. Per non introdurre un ulteriore errore, il codice binario associato al campione deve rimanere valido per tutto il tempo di conversione. Di conseguenza le variazioni del segnale, durante Ts, devono essere tali da fare rimanere Vi all’interno del passo di quantizzazione (o entro la risoluzione).
Supponendo di avere un segnale sinusoidale Vi con frequenza f e di utiliz-zare un ADC a n bit, per non aggiungere un altro errore a quello di quan-
tizzazione, si può dimostrare che deve essere:
Per lavorare con frequenze più elevate è necessario inserire un dispositi-vo detto di sample/hold (campionamento e mantenimento). In effetti se il tempo di conversione è alto a Tc, c’è il rischio di perdere il nuovo campione perché la conversione precedente non è terminata. Per evitare ciò il valore viene memorizzato (hold) fino a quando deve essere convertito.
Tipi di convertitori A/D.
Convertitori paralleli (flash).
Gli ADC flash sono i convertitori più veloci infatti presentano tempi di conversione dell’ordine delle decine di nanosecondi. Questi convertitori sono necessari quando i segnali hanno frequenza elevata. Sappiamo infatti che Ts deve essere minore del periodo di campionamento. Ora, per un se-
gnale video con fM = 5 MHz, si ha che:
Pertanto il Ts deve essere inferiore. Non si può quindi fare a meno di usare gli ADC flash, gli unici che consentono simili velocità. In figura 14 è mostrato lo schema circuitale di principio di un ADC flash a 3 bit.
Figura 14.
Il circuito è composto da 9 resistenze, 7 comparatori e un encoder con 7 ingressi e 3 uscite. Nel caso generale di ADC a n bit la struttura fonda-mentale è composta da 2n – 1 comparatori, 2n – 2 resistenze uguali di valo-re R, 2 resistenze di valore R/2 e 1 encoder.
Questi convertitori presentano notevoli problemi costruttivi, essendo difficile ottenerli proprio con 2n – 2 resistenze uguali con stessa tolleran-za; ne consegue che il dispositivo ha scarsa precisione oltre a risultare costoso.
Il principio di funzionamento è basato sul confronto tra il valore del cam-pione da convertire e i potenziali presenti sui morsetti invertenti dei comparatori dati dalla partizione di una tensione di riferimento Vr. In ogni comparatore, sul morsetto non invertente, è presente il valore di tensione da convertire: l’uscita è alta per il comparatore in cui si verifica che Vi è maggiore del potenziale del morsetto invertente.
Le uscite dei comparatori vanno in un encoder che fornisce così il codice binario.
Per fare in modo che tutti i dati arrivino contemporaneamente all’encoder ed evitare disturbi (glitch) si possono inserire dopo i comparatori dei latches. Questi mantengono l’informazione e la presentano simultanea-mente all’encoder.
Analizziamo l’esempio di figura 14. I potenziali presenti sui morsetti non
invertenti dei comparatori C1, C2, C3, C4, C5, C6, C7 sono rispettivamente:
mentre .
Di conseguenza per ogni valore di Vi tra zero e Vr è possibile determinare
quali comparatori hanno l’uscita alta. Ad esempio se:
i comparatori C1, C2, C3 hanno l’uscita alta, tutti gli altri bassa. Le uscite U1, U2, U3, U4, U5, U6, U7 valgono 1110000. L’encoder fornisce il seguente codice binario 011 (equivalente a 3 in decimale, pari al numero di compara-tori con uscita alta).
Possiamo così costruire la seguente tabella (o matrice) di conversione.
Spesso è presente un ulteriore comparatore che dà l’indicazione di overflow se .
Due comparatori flash che si trovano in commercio sono: AD5010KD a 6 bit con Ts = 20 ns e AD6020KD a 6 bit con Ts = 10 ns.
I convertitori a reazione.
Lo schema di funzionamento di questi dispositivi presenta una catena di reazione nella quale è presente un convertitore D/A. Durante la conver-sione il dato digitale viene trasformato in analogico in modo da confron-tarlo con la tensione Vi.
Quando la differenza tra i due segnali è minore di un valore fissato, la conversione si ferma, fornendo in uscita la parola binaria. Sono descritti di seguito i principali tipi di convertitori a reazione.
Il convertitore a gradinata.
Lo schema di principio è riportato in figura 15.
Figura 15.
Il circuito comprende:
==> un clock che genera impulsi con una determinata frequenza;
==> un contatore d’impulsi;
==> un dispositivo di controllo per iniziare la conversione e riportare a ze-ro il contatore per una nuova operazione;
==> un DAC che trasforma il dato digitale in uscita dal contatore in una gradinata con un numero di gradini pari al numero d’impulsi;
==> un comparatore.
Il funzionamento del dispositivo può essere descritto nel seguente modo: la conversione inizia quando il dispositivo di controllo manda un impulso al flip-flop settandolo (uscita Q alta), gli impulsi del clock passano attraver-so la porta AND e inizia così il conteggio. Ogni impulso che arriva incre-menta di un gradino l’uscita del DAC. Quando la gradinata supera il valore di Vi il comparatore resetta (uscita Q bassa) il flip-flop, la porta AND non fa più passare gli impulsi e il conteggio si blocca. Il dato binario del contatore, associato al valore Vi, viene così memorizzato.
La precisione del convertitore a gradinata è dunque legata a quella del DAC e alla stabilità della sua tensione di riferimento Vr. In effetti ogni
impulso contato provoca un gradino di ampiezza:
Il tempo di conversione Ts dipende dal valore del segnale d’ingresso: più alto è il valore di Vi più impulsi è necessario contare per ottenere una gradinata che raggiunga Vi. Infatti Ts = kTck dove Tck è il periodo degli impulsi di clock e k il numero di impulsi contati.
Per la risoluzione percentuale di questo ADC vale l’espressione generale
già vista:
Il convertitore a bilanciamento continuo.
Il convertitore a bilanciamento continuo ha una velocità di conversione più elevata rispetto a quello a gradinata. Infatti nello schema di principio riportato in figura 16 è presente un contatore Up/Down, in grado di contare in avanti e indietro.
Il comando Up/Down viene fornito dal comparatore: se Vi è maggiore della tensione in uscita dal DAC allora il contatore conta in avanti (Up), nel caso contrario il conteggio è in diminuzione (Down).
Figura 16.
Con questo dispositivo evitiamo di ripartire da zero per ogni conversione. Infatti a differenza del convertitore a gradinata, il contatore quando inizia la conversione non parte da zero ma dal codice binario corrispon-
dente al valore di tensione:
Dunque se:
il conteggio è in aumento e la conversione prosegue come nel caso di un
convertitore a gradinata: ogni impulso contato è un gradino di ampiezza:
in più, fino a raggiungere il valore di Vi. A questo punto la conversione si
ferma e a Vi viene associato il codice binario fornito dal contatore. Se:
il conteggio è in diminuzione. Ogni impulso contato adesso abbassa la gra-dinata di uno scalino fino a quando Vi diventa maggiore della tensione in uscita del DAC e la conversione si ferma.
Il convertitore ad approssimazioni successive.
Lo schema circuitale è riportato in figura 17. Il funzionamento si basa sull’utilizzo di un particolare circuito sequenziale denominato SAR (Suc-cessive Approximation Register). Questo dispositivo genera una parola di codice che viene corretta, dopo il confronto tra il campione Vi da convertire e la tensione VDAC in uscita dal DAC, fino a quando la differen-za risulta minore di un valore fissato.
Figura 17.
Il principio della conversione può essere illustrato con l’esempio della pe-
satura di una massa incognita. Sia abbiano a disposizione masse di valori:
dove m1 è la metà della portata massima, mentre il valore minore è legato all’incertezza desiderata.. si pone sul piatto m1: se la massa incognita m ri-
sulta maggiore, allora si aggiunge:
Se si inserisce .
Se si toglie e si inserisce .
Si procede in questo modo fino all’ultimo valore a disposizione. In pratica ad ogni tentativo si inserisce un nuovo peso (di valore pari alla metà di quello precedente) mantenendo anche quello di prima soltanto se nella misura precedente la massa incognita risulta maggiore.
La parola di codice viene modificata dal circuito SAR con lo stesso trinci-pio. La prima parola generata è formata da tutti zero tranne il bit più significativo che vale 1.
Prendiamo l’esempio di un ADC a 4 bit. Si parte da 1000. Se la tensione VDAC in uscita dal DAC è minore di Vi, il SAR mantiene il MSB e porta a 1 quello successivo generando la seguente parola 1100 (se il MSB torna a 0 e la parola fornita è 0100).
Se dal secondo tentativo risulta che la nuova tensione in uscita dal DAC (VDAC) è tale che il secondo bit è mantenuto alto (torna a 0 se ) e viene a questo punto generata la parola 1110 (o 1010) portando a 1 il terzo bit.
Se dal terzo tentativo il terzo bit è mantenuto alto (torna a 0 se ) ed il quarto bit viene messo a 1.
Al quarto confronto se la tensione in uscita dal convertitore D/A è mino-re di Vi l’ultimo bit rimane alto, in casso contrario torna a 0.
Abbiamo così determinato i quattro bit che formano la parola di codice. La parola binaria è stata generata dopo 4 tentativi, in generale per un convertitore a n bit sono necessari n confronti. Dunque se ogni operazione è scandita da un clock con periodo Tck il tempo di conversione di un convertitore ad approssimazioni successive a n bit vale Ts = nTck.
Rispetto agli altri convertitori a reazione il tempo di conversione è co-stante (indipendente dal campione) e molto minore.
Per la risoluzione percentuale di questo ADC vale l’espressione generale
già vista:
Questa soluzione risulta la più diffusa tra i componenti ADC commerciali. Gli integrati disponibili sono numerosi e risultano adatti a convertire se-gnali provenienti da trasduttori oltre ad essere compatibili con i micro-processori.
Vediamo alcuni integrati disponibili.
Nell’esempio del grafico di figura 18 viene mostrato come avviene la gene-razione della parola di codice nel caso di 4 bit.
Figura 18.
I convertitori ad integrazione.
I convertitori ad integrazione più diffusi sono quelli a doppia rampa. Lo schema di funzionamento, riportato in figura 19, evidenzia la presenza del circuito integratore. Questo produce in uscita una rampa decrescente (o crescente) se l’ingresso è una costante positiva (o negativa).
Figura 19.
Inizialmente all’ingresso dell’integratore viene applicato il campione da convertire per una durata T1 fissata. Questa durata è determinata tramite un clock con periodo Tck ed un contatore, infatti Ti = ni Tck (ni numero di impulsi contati).
L’uscita dell’integratore è una rampa decre-scente con pendenza legata a Vi che inizia da zero, essendo il condensato-re scarico (fig. 20), fino a raggiungere il valore.
Figura 20.
Dopo un tempo Ti il tasto T commuta nella posizione –Vr. L’integratore fornisce adesso una rampa crescente con pendenza legata la tensione di riferimento Vr.
La rampa inizia dal valore V’ (fig.16)e quando passa per lo zero blocca il conteggio inibendo la porta AND.
La prima rampa ha pendenza variabile dovuta al valore del campione dura-ta fissa: il valore V’ raggiunto dipende da Vi. La seconda rampa, invece, ha pendenza fissa e durata Tx che dipende da V’ ( e quindi da Vi) essendo il tempo impiegato per passare da V’ a zero. Dalla misura di Tx è possibile risalire a Vi. Tx viene rilevato attraverso il contatore, infatti Tx = nx Tck dove con nx viene indicato il numero di impulsi contati durante la rampa
crescente. Verifichiamolo mediante formule matematiche:

quindi: e
Si ottiene quindi:
Il dato digitale nx, fornito dal contatore, rappresenta la codifica del se-gnale analogico Vi in ingresso.
Questi convertitori sono immuni a certi tipi di rumore ma molto lenti: il tempo di conversione Ts vale Ts = Ti + Tx = (ni + nx)Tck. Per questo motivo non sono indicati nei sistemi a microprocessori. Per la risoluzione percen-
tuale di questo ADC vale l’espressione generale già vista.
I convertitori tensione/frequenza e frequenza/tensione.
Il convertitore tensione/frequenza (V/f) trasforma un segnale analogico in una successione di impulsi con frequenza proporzionale all’ampiezza del segnale in ingresso.
Questa conversione rende il segnale immune al rumore. Infatti i disturbi si sommano al segnale modificandone l’ampiezza ma non influenzano l’in-formazione contenuta nella frequenza del segnale stesso.
Questi dispositivi possono essere utilizzati come convertitori A/D. Il principio di funzionamento è il seguente: il campione viene applicato al convertitore V/f all’uscita del quale sono presenti impulsi con frequenza proporzionale a Vi. Questi impulsi vengono, in seguito, contati per fornire la parola di codice. Lo schema di principio è riportato in figura 21.
Figura 21.
Il dispositivo di inizializzazione abilita la porta AND per un tempo T man-dando un livello alto. In uscita dell’integratore abbiamo una rampa con pendenza legata al valore di Vi.
Quando la rampa VC raggiunge il valore di -Vr, il blocco di controllo genera un impulso e provoca la scarica del condensatore in modo da fare partire una nuova rampa (fig.22).
Figura 22.
Il valore della tensione d’ingresso è stato convertito in frequenza. Infatti il tempo impiegato dalla rampa per raggiungere -Vr dipende da Vi e quindi il numero di impulsi contati durante il tempo T è legato al valore del campione. Possiamo così associare a Vi la parola binaria fornita dal contatore.
Il convertitore frequenza/tensione (indicato f/V) trasforma un segnale in una tensione con ampiezza proporzionale alla frequenza del segnale stesso.
Esistono componenti commerciali, ad esempio il LM331, che possono funzionare sia da convertitori V/f che f/V.

Convertitori DAC e ADC
Roby

Esempio



  


  1. roberto

    sto cercando gli appunti di elettronica