conversione analogico digitale
TRANSCRIPT
Conversione Analogico-Digitale
1
CONVERSIONE ANALOGICO DIGITALE
INDICE
Campionamento. Spettro di un segnale tempo-discreto. Circuiti di campionamento. Quantizzazione. Errore
di quantizzazione. Rapporto segnale/rumore di quantizzazione. Condizionamento del segnale analogico.
Parametri caratteristici dei convertitori A/D.
Convertitori D/A. Equazione fondamentale. Convertitori unipolari e bipolari. Parametri caratteristici dei
DAC.
Circuiti di conversione digitale-analogico. Convertitori D/A con rete di tipo R-2R inversa.
Circuiti di conversione analogico-digitale. Convertitori A/D ad integrazione. Convertitori A/D a contatore
(delta). Convertitori A/D ad approssimazioni successive. Convertitori A/D seriali (pipeline). Convertitori
A/D paralleli (flash). Convertitori A/D delta-sigma. Convertitori A/D PCM. Convertitori PWM.
Grounding e bypassing D/A e A/D ICs.
Sistemi di acquisizione e controllo.
Domande di riepilogo. Esercizi.
INTRODUZIONE
I sistemi di elaborazione digitale dei segnali (Digital Signal Processing, DSP) sono i sistemi di elaborazione di
segnali tempo-discreti, ottenuti per campionamento e successiva digitalizzazione di segnali tempo-continui.
Questi sistemi si sono molto sviluppati nelle varie applicazioni, come l’elaborazione del suono,
dell’immagine, e in generale il trasferimento dell’informazione nei sistemi digitali di telecomunicazione.
I vantaggi dell’elaborazione digitale dell’informazione contenuta in un segnale consistono soprattutto nella
maggiore immunità al rumore, garantita dalla digitalizzazione dei segnali, e dalla possibilità di riconfigurare
o adattare le caratteristiche dei sistemi di elaborazione, attraverso il semplice cambiamento di coefficienti
numerici, operazione che è possibile effettuare sia in fase di configurazione del sistema (offline), sia in tempo
reale durante l’elaborazione del segnale (real time), laddove lo richiedano le mutate condizioni del segnale
e/o algoritmi di ottimizzazione del sistema.
I sistemi di elaborazione analogica hanno invece scarse capacità di adattamento, che richiedono in genere la
ridefinizione del circuito, tuttalpiù consentono di modificare (adjusting) qualche parametro, come guadagno
e/o banda, attraverso la variazione del valore di qualche componente, come ad esempio una resistenza
(trimming) o capacità (tuning).
CONVERSIONE ANALOGICO-DIGITALE
Il termine conversione indica la trasformazione di alcuni parametri di un segnale elettrico mantenendo
invariata la quantità di informazione posseduta dal segnale stesso.
Il convertitore analogico-digitale, indicato come convertitore A/D o ADC (Analog-to-Digital Converter),
risulta essenziale per collegare un segnale analogico ad un’unità di elaborazione digitale del segnale (Digital
Signal Processing DSP).
Il convertitore digitale-analogico, indicato come convertitore D/A o DAC (Digital-to-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 su attuatori di uscita come
ad esempio motori elettrici, altoparlanti, ecc.
Lo schema di una catena di elaborazione digitale di segnali è riportato in figura. Il blocco centrale (Digital
Signal Processing, DSP) può compiere sul segnale numerico diversi tipi di operazioni come filtraggio,
amplificazione, estrazione di segnale da rumore, correlazione tra segnali, analisi spettrale ecc.
Conversione Analogico-Digitale
2
CONVERTITORI A/D (ADC)
L’operazione di conversione analogico-digitale trasforma un segnale analogico in un codice binario. Lo
schema di principio è mostrato in figura.
Alcuni ADC prevedono un ingresso differenziale, per ridurre gli effetti del rumore, che è normalmente un
segnale di modo comune, grazie al CMRR. Questi ADC possono essere usati per misurare tensioni
differenziali provenienti da sensori o termocoppie, spesso senza la necessità di un amplificatore di ingresso.
Alcuni ADC integrano anche multiplexer analogici per selezionare l’input analogico da codificare tra una
molteplicità di sorgenti.
L’ingresso analogico Vi viene elaborato dai circuiti di condizionamento analogico (signal conditioning), che
elabora il segnale analogico per ottimizzare il processo di conversione digitale, quindi applicato al blocco
campionatore (Sample and Hold, S/H) che legge (sample) e memorizza (hold) il valore di tensione ad
intervalli di tempo costanti e con frequenza fs , detta frequenza di campionamento (sampling frequency). Si
tenga presente, tuttavia, che solo alcuni tipi di ADC richiedono un circuito S/H, che di norma viene integrato
nel convertitore, mentre diversi tipi di ADC convertono direttamente l’input analogico, o perché ne fanno
una media nell’intervallo di campionamento, o perché sono molto veloci.
Il passaggio da una sequenza di campioni del segnale, fornita dal campionatore, che assumono con
continuità tutti i valori di ampiezza all’interno di un intervallo (dinamica del segnale), ad una sequenza di
campioni che assumono soltanto valori discreti, viene operato dal quantizzatore (quantizer).
Il codificatore (encoder) ha lo scopo di assegnare un valore intero al livello di ampiezza assegnato dal
quantizzatore al campione. In genere questo valore intero viene codificato con una codifica binaria (binary
encoder).
Gli ADC possono contenere registri di uscita per memorizzare la parola codificata, che possono anche essere
di tipo “three-state”, ovvero con uscita “1”, ”0”, o “open”, per interfacciarsi con i microprocessori.
Gli ADC producono in output un codice digitale, che può essere formattato in forma seriale o parallela, ed è
compatibile con gli standard delle famiglie logiche, per facilitare l’interfacciamento con altri sistemi digitali.
CAMPIONAMENTO
Una sequenza tempo-discreta può essere ricavata dal campionamento uniforme di un segnale tempo-
continuo o analogico x(t) t , con frequenza di campionamento (sampling frequency) s
s
1f
T (Ts =
periodo di campionamento). Si vedano più avanti i criteri di scelta della frequenza di campionamento. Sulle
ascisse non si indicano più i tempi ma gli indici dei campioni.
Tutto ciò che si applica ai segnali variabili nel tempo può essere esteso ai segnali variabili nello spazio
(immagini fisse), o simultaneamente nel tempo e nello spazio (immagini in movimento).
Il segnale analogico da convertire deve essere campionato per prelevare i valori di V i da digitalizzare. Con il
campionamento il segnale analogico viene trasformato in una successione discreta di valori di V i.
N
Quantizer Encoder
fs
Sample & Hold
Vi
analog input
Conditioning amp
offset LP filter
ADC
Sample
and Hold
x(t)
ANTI-ALIASING Lowpass analog filter
-0.5FS 0.5FS
Quantizer
ADC
Encoder
DSP
DAC x(n) 0100111 0110100 y(n) y(t)
ANTI-IMAGING Lowpass analog filter
-0.5FS 0.5FS
Conversione Analogico-Digitale
3
Il segnale Vi(t) può essere rappresentato dalla successione dei suoi campioni V1 V2 V3 V4 V5 … prelevati ad
intervalli regolari di ampiezza Ts , detto periodo di campionamento (sampling time), ovvero ad una
frequenza di campionamento (sampling rate) s
s
1f
T , che viene espressa di norma in sample-per-second (kSPS,
MSPS, GSPS, ecc).
Per stabilire quali valori può assumere fs , occorre fare riferimento ad alcune proprietà della trasformata di
Fourier, applicata ad una sequenza tempo-discreta piuttosto che ad un segnale tempo-continuo.
TRASFORMATA DI FOURIER TEMPO-DISCRETA
Si definisce Trasformata di Fourier tempo-discreta (discrete-time Fourier transform FT) della sequenza x(n)
j n
n
X x n e
e la trasformata inversa j n1x n X e d
2
La FT è una funzione complessa, continua e periodica in di periodo 2.
Se x(n) è composta da 1 solo campione nell’origine x(0), la trasformata è una costante X x 0
ovvero lo spettro di un singolo impulso è uno spettro uniforme (bianco) a tutte le frequenze, come avviene
per un impulso analogico di durata molto breve.
PROPRIETÀ DELLA FT
Sono riportate di seguito alcune delle proprietà più importanti della FT.
Linearità 1 2 1 2ax [n] bx [n] aX ( ) bX ( )
Traslazione reale j kx[n k] e X( )
Traslazione complessa o modulazione 0j n0x n e X
Moltiplicando la sequenza per un esponenziale complesso (segnale sinusoidale) lo spettro viene traslato
in frequenza; ad es. uno spettro in banda base viene traslato in frequenza (modulazione), rimanendo
invariata la forma.
Inversione del tempo x n X
Se x[n] reale x n X
Coniugazione reale x n X
Se x[n] reale X X
la trasformata è coniugata simmerica, cioè modulo simmetrico, fase antisimmetrica.
Teorema dell’Energia 22
n
1x n X d
2
per cui l’energia di una sequenza può essere calcolata indifferentemente nel dominio del tempo o in
quello della frequenza.
SPETTRO DI UN SEGNALE TEMPO-DISCRETO
Se si esplicita il periodo di campionamento, l’espressione della trasformata di Fourier tempo-discreta diventa
j nT
n
X x nT e
+2 +3 +4 0 +1
xs(n)
-3 -2 -1 -4 n
t
x(t)
Conversione Analogico-Digitale
4
funzione periodica con periodo (nella frequenza) s
22 f
T
nella variabile , oppure fs nella variabile f
2
. Normalmente si omette il periodo di campionamento, e si indica con la pulsazione normalizzata s
s s2 f e il periodo diventa 2, o f per la frequenza normalizzata f/fs (periodo =1).
Dalla proprietà di modulazione della FT, lo spettro della sequenza tempo-discreta è periodico e corrisponde
a quello del segnale tempo-continuo ripetuto infinite volte, come si vede dalla figura successiva. X(f) è la
trasformata di Fourier del segnale tempo-continuo o analogico, X() la trasformata di Fourier del segnale
campionato, fs la frequenza di campionamento, fN = fs/2 la cosiddetta frequenza di Nyquist, fmax la massima
frequenza del segnale (upper cutoff frequency).
Come si può osservare dalle figure, per non avere sovrapposizione (overlapping) degli spettri, fenomeno
detto anche di aliasing, il teorema del campionamento (Nyquist-Shannon) afferma che la frequenza di
campionamento deve essere superiore al doppio della massima frequenza del segnale
s maxf 2f ovvero N maxf f
Un segnale analogico può essere ricostruito dalla sequenza temporale dei suoi campioni (serie di Dirac) con
una formula di interpolazione
n
sin T t nTx t x nT
T t nT
Si può dimostrare facilmente che la formula data dall’equazione equivale a filtrare la sequenza di campioni
con un filtro passa-basso analogico ideale, avente frequenza di taglio pari ad fN= fs/2 (ved. figura e
trasformate notevoli di Fourier). Se il segnale analogico di partenza è stato campionato secondo il criterio di
Nyquist (assenza di aliasing), il segnale analogico ricostruito dai campioni coincide con quello di partenza.
La presenza di aliasing, a causa di una frequenza di campionamento troppo bassa, comporta la distorsione
(lineare) del segnale ricostruito. Nella pratica non esistono filtri passa-basso ideali, per cui il filtraggio con un
filtro reale introduce una inevitabile distorsione sul segnale analogico. Esistono tuttavia filtri analogici
speciali progettati per minimizzare tale distorsione (filtri di Hamming, Bartlett, ecc). Tuttavia è evidente che
l’aumento della frequenza di campionamento consente di utilizzare un filtro meno selettivo, al limite un
filtro RC del primo ordine.
Per definire la massima frequenza di un segnale, occorre conoscere il suo spettro di frequenze (trasformata
di Fourier), su cui specificare una soglia (in dB) al di sotto della quale si considerano irrilevanti le
componenti in frequenza. Per determinare la soglia, si deve fare riferimento alla risoluzione dell’ADC o
viceversa.
Fourier Spectrum
-fmax fmax
f
|S(f)| analog waveform
-2
|S()|
- 2
-1 -0.5 0.5 1
-fs -0.5fs 0.5fs fs
=2f
f/fs
f
0
sampled waveform
fs = 2fmax
F
fs > 2fmax
0.5fs
oversampled waveform
Ideal Lowpass Filter
-fs fs
F
undersampled waveform
aliasing
fs < 2fmax
0.5fs
fmax
-fs fs -0.5fs
-0.5fs
aliasing
Conversione Analogico-Digitale
5
I convertitori che seguono il teorema del campionamento vengono detti convertitori di Nyquist. Esistono
tuttavia convertitori con frequenza di campionamento multipla, secondo fattori anche dell’ordine di diverse
migliaia, di 2fmax. Questa tecnica, detta sovra-campionamento (oversampling), viene usata in particolare nei
convertitori delta-sigma, ma viene sovente applicata anche ad altri convertitore A/D.
Per un segnale in banda passante [fL,fH] risulterebbe impossibile campionare ad una frequenza 2fH , se fH è
troppo elevata. In questi casi occorre prima traslare il segnale in banda base (downconversion) con tecniche
opportune. È anche possibile usare tecniche di sottocampionamento (undersampling), applicate soprattutto
nei radioricevitori.
Per esempio i segnali audio (banda 20Hz–20kHz udito umano) sono campionati tipicamente a 44.1 kHz
(CD), 48 kHz (professional audio) o 96 kHz (ultrasuoni). Nel parlato (speech) quasi tutta l’energia della
maggior parte dei fonemi è compresa nella banda 5Hz–4kHz, per cui è sufficiente campionare a 8 kHz.
Come già osservato, tutto ciò che si applica ai segnali variabili nel tempo può essere esteso ai segnali
variabili nello spazio (immagini fisse), o simultaneamente nel tempo e nello spazio (immagini in
movimento). Esempi sono la televisione standard (Standard definition television SDTV), che viene campionata
a 720x480 pixel (NTSC, Usa) o 704x576 (PAL). Le immagini per la televisione ad alta definizione (HDTV)
vengono campionate secondo tre standard: 720p (progressive), 1080i (interlaced), 1080p (progressive, Full HD).
CIRCUITI DI CAMPIONAMENTO (Sample And Hold)
I circuiti di campionamento sono necessari quando si vuole convertire in formato digitale un segnale
analogico. Il valore di tensione associato ad un campione del segnale deve restare costante durante la fase di
conversione.
Uno schema di principio di un campionatore è rappresentato dal circuito precedente. Nel semiperiodo di
campionamento in cui la tensione di controllo Vc è alta, il primo switch (mosfet) è chiuso, per cui la tensione
sul condensatore CS insegue (track) l’ingresso analogico, perché la sua tensione può variare con costante di
tempo molto piccola grazie alla bassa impedenza di uscita del buffer di ingresso. Quando lo switch si apre
(Vc basso), l’ultimo valore della tensione di ingresso (sample) resta disponibile sul primo condensatore CS fino
alla successiva finestra di tracking. Questo circuito ha lo svantaggio di presentare in uscita l'offset
sovrapposto al segnale di ingresso: Vo = Vi + Vos . Nella fase di hold, poiché il secondo switch è chiuso (-Vc
alto), la seconda capacità CH si carica istantaneamente, ovvero con costante di tempo molto piccola grazie
alla bassa resistenza di uscita del buffer, al valore memorizzato su CS , e lo mantiene per circa un intero
periodo di campionamento, per cui il convertitore analogico digitale (ADC) ha a disposizione un periodo di
campionamento per effettuare la conversione digitale del campione. Qui il problema dell'offset è ancora
peggiore, in quanto in uscita si ha la sovrapposizione di due tensioni di offset, le quali nel caso migliore
CS
Vos
+
+
CH
Vos
+
+
Vc Vc
Vi
Vo
Vos
+
+
Conversione Analogico-Digitale
6
possono compensarsi, ma nel caso peggiore si sommano (ricordiamo che le tensioni di offset sono random,
tipicamente di valore ±5mV). Inoltre con questo circuito si ha un rumore più alto e una maggiore
occupazione di area. Esistono tuttavia configurazioni circuitali in grado di compensare l’offset.
CODIFICA BINARIA
La codifica binaria (binary encoding) segue un criterio identico a quello della codifica decimale, solo che
anziché avere a disposizione 10 simboli 0,1,2,3,4,5,6,7,8,9 come la codifica in base 10, dispone di 2 simboli
soltanto, da cui il nome. Come per i numeri interi, anche per i numeri binari ogni cifra o bit (da binary digit)
ha un peso diverso in base alla posizione nel numero. Come il numero decimale 3 2 1 01024 1 10 0 10 2 10 4 10 , così il numero binario 3 2 1 01011 1 2 0 2 1 2 1 2 8 0 2 1 11 . In
un numero binario il bit più a sinistra (leftmost bit) è chiamato MSB (most significant bit), quello più a destra
(rightmost bit) è chiamato LSB (least significant bit). Con la regola dei pesi appena enunciata, è banale
trasformare un numero binario in un numero intero decimale. Inoltre, come ad esempio tre cifre decimali
rappresentano 103 numeri diversi (0999), così N cifre binarie rappresentano 2N numeri diversi (0 2N-1).
4-bit Binary
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
decimal 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15
Viceversa se si vuole trasformare un numero intero in un numero binario, bisogna tenere presente che detto I
il numero, occorrono un numero di cifre binarie pari alla parte intera 2Int 1 log I . Le cifre binarie 0 ed 1
sono chiamati 0 ed 1 logico, per distinguerli dalle tensioni associate ad essi, che sono chiamati livelli logici.
Per esempio il livello logico 0V (ground) può essere associato allo 0 logico, ed il livello logico +5V può essere
associato all’1 logico, o viceversa. Una parola di 8 bit viene anche chiamata byte.
QUANTIZZAZIONE
La quantizzazione è descritta dalla caratteristica di trasferimento rappresentata dal grafico di figura (in
neretto), che riporta la caratteristica di trasferimento (ideale) di un quantizzatore uniforme in un ADC a 3
bit. I valori di tensione in ingresso sono riportati sull’ascissa, mentre sull’ordinata viene riportato il codice
binario associato ad ogni intervallo di valori di Vi .
L’ampiezza massima consentita del segnale d’ingresso è la tensione di fondo scala VFS (Full Scale Voltage).
Detto N il numero di bit (bit depth), il numero di livelli di quantizzazione è 2N, mentre la tensione
corrispondente ad 1 LSB è FSLSB N
VV
2
La dinamica della tensione analogica d’ingresso viene divisa in 2N intervalli di quantizzazione (bianchi e
grigi alternati). Le tensioni di soglia, che determinano il passaggio da un intervallo al successivo,
corrispondono ai valori estremi dell’intervallo (gradini). In genere si dimezza l’ampiezza del primo
intervallo, per consentire una sensibilità doppia, a spese dell’ultimo, che è più esteso. Tutti i valori di
tensione, corrispondenti ad altrettanti campioni della forma d’onda, che cadono all’interno dello stesso
0 (VLSB) 1/4 1/2 3/4 (VqMAX) 1 Vi / VFS
binary code
111
110
101
100
011
010
001
000
q 0=V0
V1
V2
V3
V4
V5
V6
V7
time Ts
VFS
Conversione Analogico-Digitale
7
intervallo, vengono associati ad un’unica tensione quantizzata, che si trova al centro dell’intervallo (righe
verticali punteggiate nella figura); ad ogni intervallo viene associata una codifica binaria. Per calcolare la
tensione quantizzata (centro dell’intervallo) associata ad ogni codifica binaria b1…bN , si utilizza l’equazione:
1 2 Nq FS 1 2 NV V b 2 b 2 b 2 dove b1 è l’MSB e bN l’LSB.
Vq vale al massimo N
qMAX FS N
2 1V V
2
Il valore (decimale) della codifica binaria vale
N indigit
FS
VV int 2 1
V
ERRORE DI QUANTIZZAZIONE
La quantizzazione introduce un rumore di quantizzazione, che diminuisce aumentando il numero dei bit.
Come si vede dalla figura successiva, l’errore di quantizzazione o incertezza di quantizzazione o rumore di
quantizzazione (quantization error, uncertainty or noise) è definito come la differenza tra la tensione effettiva
() del campione e quella quantizzata () nella figura precedente. Si può definire anche come errore di
arrotondamento (round-off error), nel senso che il valore analogico viene arrotondato ad un valore discreto.
Se il valore quantizzato rappresentato dalla parola di codice è al centro dell’intervallo di quantizzazione, si
può definire il rumore di quantizzazione eq(kTs) come la differenza tra il valore di tensione d’ingresso vi(kTs)
all’istante kTs (Ts periodo di campionamento) e quello quantizzato vq(kTs)
q s i s q se kT v kT v kT
Si osserva che eq=0 quando la tensione di ingresso coincide con il valore centrale dell’intervallo di
quantizzazione, eccetto nel primo ed ultimo intervallo. Pertanto l’errore di quantizzazione massimo che si
può commettere vale (eccetto nell’ultimo intervallo)
LSBqMax
Ve
2
Si può dimostrare che la potenza di rumore di quantizzazione, ovvero lo scarto quadratico medio (o
varianza) rispetto al valore medio (nullo) vale
2 2FS
q 2N
q V1N
12 12 2 dove FS
LSB N
Vq V
2
CONDIZIONAMENTO DEL SEGNALE ANALOGICO
Il condizionamento del segnale analogico, operato da circuiti analogici esterni all’ADC, consiste
essenzialmente in tre operazioni:
Filtraggio anti-aliasing (passa-basso) per limitare in alto la banda del segnale affinché verifichi il criterio di
Nyquist, max Nf f , per evitare il fenomeno dell’aliasing. Pertanto occorre anteporre all’ADC un filtro passa-
basso analogico con frequenza di taglio H Nf f tale che le componenti del segnale alla frequenza di Nyquist
siano già sufficientemente attenuate. Il livello di potenza oltre la frequenza di Nyquist deve essere inferiore
alla risoluzione richiesta all’ADC. In pratica la dinamica del filtro tra banda passante e frequenza di Nyquist
deve essere pari alla risoluzione (in dB). La selettività deve essere adeguata all’estensione della banda di
transizione tollerata.
Amplificazione affinché l’ampiezza picco-picco del segnale sia pari alla dinamica (input range) dell’ADC, per
cui il guadagno necessario risulta
v FS PPmaxG V V
Traslazione (level shifting) ovvero aggiunta di una tensione di offset, in modo che l’escursione del segnale
(swing) sia tutta compresa nella dinamica dell’ADC, altrimenti la conversione taglia la parte di segnale
0 1/4 1/2 3/4 1 Vi / VFS
0.5
0.5
eq
VLSB
Conversione Analogico-Digitale
8
esterna alla dinamica del convertitore. Nel caso di segnale a valore medio nullo, dopo l’amplificazione,
occorre aggiungere una tensione di offset pari a VFS /2. Nei dispositivi programmabili, come
microcontrollori, DSP, microprocessori ecc., anziché traslare il segnale di ingresso, si possono cambiare le
tensioni di riferimento inferiore e superiore della dinamica.
PARAMETRI CARATTERISTICI DEI CONVERTITORI A/D
Tensione di Fondo Scala
La tensione di fondo scala VFS o FSV (Full Scale Voltage) o FSR (Full Scale Range) è l’ampiezza massima del
segnale d’ingresso che può essere convertito dall’ADC. Il segnale da elaborare deve dunque passare
attraverso circuiti di condizionamento (amplificatori/attenuatori, level shifter) per renderlo utilizzabile dal
convertitore, sia quando è troppo piccolo, sia quando supera la tensione di fondo scala. In particolare i campi
di valori della Vi accettati dagli ADC in commercio sono generalmente 05 V o 010 V.
Risoluzione
La risoluzione è il più piccolo cambiamento nella tensione di ingresso in grado di causare la variazione di un
LSB nel codice binario dell’uscita digitale
FSLSB N
VR V
2
Come nei DAC, spesso i costruttori forniscono come risoluzione il numero N di bit della parola di codifica,
oppure la percentuale o parti per milione (ppm) della tensione di fondo scala 1
FS
NLSB
V 1R% 100 100
V 2
o ancora come dB di dinamica (dynamic range)
NFS
LSB
V2
V
FSdB 10 10
LSB
VR 20log N 20log 2
V
dBRN
6.02
RESOLUTION
Bit Levels=2N VLSB (10V FS) ppm FS % FS RdB
2 4 2.5 V 250000 25 12
4 16 625 Mv 62500 6.25 24
6 64 156 mV 15625 1.56 36
8 256 39.1 mV 3906 0.39 48
10 1024 9.77 mV (10 mV) 977 0.098 60
12 4096 2.44 mV 244 0.024 72
14 16384 610 V 61 0.0061 84
16 65536 153 V 15 0.0015 96
18 262144 38 V 4 0.0004 108
20 1048576 9.54 V (10 V) 1 0.0001 120
22 4194304 2.38 V 0.24 0.000024 132
24 16777216 596 nV 0.06 0.000006 144
Vppmax=VFS
Vppmin > VLSB
condizionamento perfetto
111
110
101
100
011
010
001
000
VLSB VFS
Vin
Conversione Analogico-Digitale
9
Se la forma d’onda di ingresso ha una determinata dinamica di potenza (dynamic range), espressa in dB
come differenza tra massimo e minimo livello di potenza, a cui corrispondono la massima e la minima
escursione picco-picco (VPPmax , VPPmin)
2
max PP max PP maxin max min 10 10 102dB dB
min PP min PP min
P V VD P P 10log 10log 20log
P V V
la risoluzione che sarebbe necessaria per preservare la qualità del segnale si trova imponendo che
PPmin LSB
V V . Avendo condizionato il segnale ad avere PP max FS
V V , si ricava la relazione PP max FS
PP min LSB
V V
V V,
ovvero che la dinamica del segnale sia inferiore a quella del convertitore
in dB
D R 6.02N inD
N6.02
Tempo di conversione
Il tempo di conversione Tc è il tempo necessario all’ADC per trasformare il valore della tensione d’ingresso
in un codice binario. È il corrispondente del settling time nei DAC.
La conversione numerica di un campione deve terminare prima che arrivi il successivo campione, per cui
occorre che il tempo di conversione sia inferiore al periodo di campionamento c sT T
Per i convertitori di Nyquist, ovvero quelli che campionano secondo il teorema del campionamento, si può
determinare la massima frequenza del segnale di ingresso, essendo c s
max
1T T
2f, da cui max
c
1f
2T
Per i convertitori a sovra-campionamento, sebbene la frequenza di campionamento sia multipla della
frequenza di Nyquist, il tempo di conversione può essere molto più lungo del periodo di campionamento
(vedi convertitori Delta-Sigma).
CONVERTITORI D/A
L’input di un DAC è costituito da una parola di N bit, sotto forma di livelli logici di tensione trasportati da N
linee parallele (bus), e presentati simultaneamente all’ingresso del DAC. L’output è un livello di tensione
(quantizzata) corrispondente alla codifica di ingresso. In pratica il DAC restituisce il livello di tensione
all’uscita del quantizzatore, prima della successiva codifica. Il DAC pertanto non restituisce il segnale
analogico, ma una serie di impulsi rettangolari di ampiezza pari a quella dei rispettivi campioni. Il segnale
analogico fornito dal convertitore D/A non è dunque continuo nelle ampiezze ma è formato da gradini, come
mostrato nella figura successiva.
VOUT
VREF
VFS
000 001 010 011 100 101 110 111 INPUT
OU
TP
UT
VLSB = VFS /7= VREF /8
0
DAC VOUT
N
Conversione Analogico-Digitale
10
PARAMETRI CARATTERISTICI DEI DAC
Tensione di riferimento VREF
Tensione di fondo scala VFS (o FSV full scale voltage o FSR full scale range)
Tale valore si ottiene quando tutti i bit sono a 1, e differisce dalla tensione di riferimento per 1 LSB.
FS REF LSBV V V
Ovviamente la tensione di riferimento del DAC VREF=VFS(ADC) corrisponde al fondo scala dell’ADC, mentre il
fondo scala del DAC corrisponde alla codifica massima con tutti 1.
Risoluzione
Rappresenta la variazione di tensione dovuta alla variazione di un LSB ed in modo equivalente indica il
valore minimo di tensione rappresentabile dal DAC.
REF FSLSB N N
V VR V
2 2 1
Tuttavia la risoluzione si esprime generalmente con il numero N di bit, oppure in ppm (parti per milione),
percentuale (%) o dB di fondo scala (vedi tabella ADC). 6
N
110 ppm,
2
N
1100 %,
2
10 N
120 log dB
2
Dinamica
Indica il rapporto tra il valore massimo e minimo che il convertitore è in grado di generare. Normalmente
viene espressa in decibel. Dato che il valore minimo per un convertitore a N bit è VFS /(2N-1) mentre il valore
massimo è pari a VFS , la dinamica risulta
N N10 10 1020log 2 1 20log 2 20Nlog 2 6.02N
CIRCUITI di CONVERSIONE DIGITALEANALOGICO
CONVERTITORI D/A CON RETE DI TIPO R-2R INVERSA
Esistono diverse configurazioni circuitali per i DAC, tuttavia si presenta soltanto una configurazione, che è
di gran lunga la più diffusa nei DAC commerciali.
Il circuito in figura è composto da una rete di resistenze, da un sommatore-convertitore corrente/tensione,
realizzato con un amplificatore operazionale, e da alcuni deviatori. I deviatori sono utili nel nostro caso per
descrivere il comportamento del circuito. Nella realtà al posto dei deviatori c’è una rete digitale che fornisce
in uscita i livelli di tensione alti e bassi (corrispondenti ai valori logici 1 e 0). Il numero di resistenze e di
deviatori è pari al numero di bit del DAC. Si hanno solo 2 valori di resistenza.
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), il valore della corrente che
circola nella resistenza collegata al deviatore rimane lo stesso, indipendentemente dalla posizione del
deviatore stesso. Quando il bit vale 1 questa corrente passa nel convertitore dando il proprio contribuito alla
tensione d’uscita. La resistenza verso terra vista da ogni nodo del partitore vale R. Di conseguenza anche la
resistenza vista dal generatore vale R e la corrente erogata rimane costante e pari a REFVI
R ,
indipendentemente dalla parola binaria da convertire. Questa corrente si divide, in ogni nodo che incontra,
in due parti uguali. Il valore della corrente che circola nella resistenza associata al deviatore è maggiore per il
bit più significativo (MSB), per poi diminuire per i bit meno significativi.
Nel caso in figura (4 bit), assumendo un codice binario in ingresso pari a 1000, la tensione di uscita sarà
Conversione Analogico-Digitale
11
31 2 4o TOT 1 1 2 2 3 3 4 4
1 2 3 4REF 1 2 3 4 REF
bb b bV R I R(b I b I b I b I ) R I
2 4 8 16
1V (b 2 b 2 b 2 b 2 ) V
2
La tensione in uscita dal convertitore è proporzionale al codice binario.
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 VREF è costante;
la corrente circolante nelle resistenze è indipendente dalla parola in ingresso, per cui si evitano i disturbi
dovuti alle commutazioni.
Se VREF è una tensione esterna, allora il DAC opera il prodotto di un input di tensione analogica per un input
digitale, e si chiama DAC moltiplicatore (multiplying DAC). Se VREF può essere sia positiva che negativa,
mentre l’input binario è positivo, allora l’uscita del DAC può essere positiva o negativa e il DAC è bipolare,
e si chiama moltiplicatore a due quadranti. Se anche l’input binario può essere negativo si chiama
moltiplicatore a quattro quadranti.
CIRCUITI di CONVERSIONE ANALOGICO-DIGITALE
I tipi più comuni di ADC, in ordine crescente di frequenza di campionamento, sono riportati in tabella,
indicando per ciascuno il metodo di conversione, e le specifiche indicative. I convertitori A/D più diffusi
commercialmente sono i SAR e i Delta-Sigma. Quelli a integrazione sono molto usati negli strumenti di
misura di segnali lentamente variabili nel tempo.
Convertitore A/D Metodo S/H Sample
Rate (max) Risoluzione
(bit) Costo
Integration integrazione e confronto no 10 kSPS 814 Basso
Counter confronto incrementale si 100 kSPS 814 Basso SAR confronto con metodo logaritmico si 1 MSPS 818 Basso
Flash confronto simultaneo no 10 MSPS 8 typ. Alto
sovra-campionamento
e filtraggio digitale no 100 kSPS 1631 Basso
I convertitori SAR richiedono un circuito S/H, di norma interno al convertitore, mentre non lo richiedono
quelli ad Integrazione, e i , perché operano una media del valore del campione nell’intervallo di
campionamento, ed i Flash perché operano istantaneamente la conversione.
Negli schemi che seguono è omessa l’indicazione del blocco di S/H, che è generalmente integrato negli ADC.
VREF
Vo
+
2R 2R 2R 2R 2R
R
b4 b3 b2 b1
LSB
input
1 0 0 0
MSB
R
1 0 1 0 1 0 1 0
R
R R
R R R
I4 I2 I1 I3
I
ITOT
I/16 I/4 I/2 I/8
VREF 2
VREF 8
VREF 4
Conversione Analogico-Digitale
12
CONVERTITORI A/D AD INTEGRAZIONE
Il convertitore ad integrazione più diffuso è quello a doppia rampa (dual-slope). La conversione di un
campione inizia commutando l’ingresso dell’integratore sulla tensione campionata. Per un tempo di
integrazione fisso T0 , determinato dal conteggio di P0 impulsi di clock da parte del contatore, la tensione
all’uscita dell’integratore decresce progressivamente, partendo da zero, essendo l’integrale (invertente) della
tensione variabile del campione. Quindo il contatore raggiunge P0 viene azzerato (clear), e l’ingresso
dell’integratore viene commutato sulla tensione VREF. Il conteggio riparte, e l’uscita dell’integratore inizia a
crescere con pendenza sempre uguale determinata dal valore di VREF . Quando l’integratore raggiunge
nuovamente lo zero, il conteggio è interrotto, ed il numero conteggiato P1 viene memorizzato in un registro.
Assumendo pari a il valore della costante di integrazione, la tensione all’uscita dell’integratore dopo il
tempo T0 corrispondente a P0 impulsi sarà:
0
ininINT 0
T
V VV dt T
in cui inV è il valore medio della tensione di ingresso nell’intervallo T0 .
La rampa avrà pendenza inV e ampiezza finale che dipendono dal valore inV , perché il tempo di
integrazione T0 è fisso e determinato dal contatore, che è abilitato a contare un certo numero di impulsi di
clock prima di resettarsi. Il contatore controlla uno switch di ingresso, che sconnette l’ingresso analogico, e
collega l’ingresso dell’integratore ad una tensione di riferimento di polarità opposta a quella del segnale. Di
conseguenza l’integratore comincia una rampa con pendenza opposta, partendo dalla tensione raggiunta
nella precedente integrazione. Quando la rampa raggiunge la soglia di 0V, scatta il comparatore che
disabilita il clock, bloccando il conteggio del contatore. La condizione di fine conteggio per il secondo tratto
si ha quando:
1INT REF
TV V
Questa seconda rampa ha pendenza fissa VREF/ e durata variabile.
Sostituendo VINT nella seconda si ottiene: 1in REF
0
TV V
T
Poiché entrambi i conteggi avvengono alla stessa frequenza di clock:
1 1 1in REF
0 0 0
T P PV V
T P P
Poiché VREF e P0 sono costanti, inV si ottiene dal conteggio di P1
Gate “I”
Integrator
VREF (<0)
Control logic and timer
Comparator
Counter
Output storage register
Digital output
Gate “R”
N
N
Vin (analog samples)
time Integrator
output voltage
Clock pulses
T0 (fixed) T1
P0 P1
VINT
0
time
T1
Vin1
0
T0 T2 T3
same slope different duration
Vin3<Vin1<Vin2 T3<T1<T2 Vin2
Vin3
T0
T0
Conversione Analogico-Digitale
13
I convertitori a integrazione vengono usati per convertire segnali in un intervallo di tempo lungo. Il
convertitore produce un codice digitale che è una misura della tensione di ingresso media nell’intervallo di
campionamento. Il rumore viene ridotto attraverso l’operazione di media.
Un vantaggio dell’ADC ad integrazione è che la sua accuratezza non dipende dalla costante di tempo e
dalla frequenza di clock che possono anche variare nel tempo. La tensione di riferimento, invece, deve essere
molto precisa. Il periodo di carica T0 è scelto uguale al periodo della frequenza fondamentale che si vuole
bloccare. La massima frequenza di conversione è circa pari a 1/2T0 . Ha tempi di conversione alti, per cui la
massima frequenza di campionamento risulta essere non superiore a 10-15 kHz. Pertanto questo convertitore
non può essere usato per acquisizioni veloci, ma è adatto a segnali lentamente variabili nel tempo. Ha una
buona risoluzione (tipicamente 14 bit o più) ed è poco costoso. Trova applicazione negli strumenti di misura
a bassa frequenza, ad esempio nei multimetri digitali, oppure nella sensoristica, come le termocoppie per la
misura della temperatura.
CONVERTITORI A/D A CONTATORE (DELTA)
I convertitori a contatore sono semplici, a basso costo, ed hanno tempi di conversione più bassi dei
convertitori a doppia rampa (frequenze di campionamento 15-40 kHz).
Il convertitore contiene un DAC, con una tensione di riferimento VREF=VFS(ADC) pari al fondo scala dell’ADC.
All’inizio della conversione viene abilitato il clock in ingresso al contatore. Le uscite del contatore sono
inviate in ingresso ad un DAC. La tensione all’uscita del DAC e la tensione analogica di ingresso sono
confrontate da un comparatore. Quando l’uscita del DAC eguaglia la tensione di ingresso il conteggio viene
inibito. Il dato del contatore viene passato ad un registro di uscita ed il contatore viene azzerato.
Il fondo scala di questo ADC dipende dal fondo scala del DAC utilizzato.
Il tempo di conversione più lungo si ha quando il contatore deve contare da 0 fino ad avere tutti i bit con
valore 1, dunque se ogni operazione è scandita da un clock con periodo Tck, esso è dato da
N
Nc ck
ck
2 1T 2 1 T
F
Come si è visto il tempo di conversione dipende dal dato da convertire. Una versione migliorata consiste nel
convertitore a inseguimento (tracking ADC), che ha una maggiore velocità perché utilizza un contatore up-
down che non si deve azzerare ad ogni ciclo. Questo contatore è particolarmente adatto per convertire
segnali variabili nel tempo, perché il conteggio parte dal valore finale del conteggio relativo al campione
precedente, anziché ricominciare da zero.
CONVERTITORI A/D AD APPROSSIMAZIONI SUCCESSIVE (SAR)
Detto anche SAR (Successive Approximation Register), offre un buon compromesso tra tempo di conversione e
risoluzione. Il diagramma a blocchi è circa lo stesso dell’ADC a contatore, solo che ora il DAC è comandato
dal Programmer, il quale imposta il valore sul DAC, in base all’esito del confronto sul Comparatore, anziché
in maniera progressiva come il Contatore, per salti in avanti e indietro, partendo dal centro della dinamica
Vin Clock
Counter
Output storage register
Digital output
+
VREF
Comparator
N
N
N
Vin (analog
samples)
DAC
Conversione Analogico-Digitale
14
(VFS/2), di ampiezza sempre più piccola VFS/4, VFS/8… fino a VLSB=VFS/2N, se N è il numero di bit, e VFS il fondo
scala dell’ADC (corrisponde alla VREF del DAC).
Si consideri l’esempio riportato in tabella di un SAR a 8 bit con fondo scala di 5V e tensione analogica di
ingresso di 3.7V. Il DAC viene configurato a metà della dinamica (10000000), cui corrisponde in uscita la
tensione VDAC=VFS/2=2.5V. Se Vin>VDAC, il Programmer setta il secondo bit generando la codifica 11000000, che
corrisponde a VDAC=VFS/2+VFS/4=3.75V. Siccome risulta VDAC>Vin , il Programmer aggiunge un contributo più
piccolo, resettando sul DAC il 2° bit e settando il 3° (10100000), che in uscita diventa
VDAC=VFS/2+VFS/8=3.125V. Ora risulta VDAC<Vin , per cui si mantiene il 3° bit e si aggiunge il 4° (10110000), da
cui VDAC=VFS/2+VFS/8+VFS/16=3.4375V, e così via.
L’accuratezza di questo tipo di ADC è determinata dal DAC e quindi dalla rete di resistori utilizzata.
Il tempo di conversione non dipende dall’ampiezza della tensione in ingresso. 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
c ck
ck
NT NT
F
Rispetto agli altri convertitori a reazione il tempo di conversione è costante (indipendente dal campione) e
molto minore. Questa soluzione risulta la più diffusa tra i componenti ADC commerciali. Gli integrati
disponibili sono numerosi e risultano adatti a convertire segnali provenienti da trasduttori oltre ad essere
compatibili con i microprocessori.
weight VFS/2 VFS/4 VFS/8 VFS/16 VFS/32 VFS/64 VFS/128 VFS/256 VDAC
binary
dec
isio
n
1st 2.5 2.5 <Vi 10000000
2nd 2.5 1.25 3.75 >Vi 11000000
3rd 2.5 0 0.625 3.125 <Vi 10100000
4th 2.5 0 0.625 0.3125 3.4375 <Vi 10110000
5th 2.5 0 0.625 0.3125 0.15625 3.59375 <Vi 10111000
6th 2.5 0 0.625 0.3125 0.15625 0.07813 3.671875 <Vi 10111100
7th 2.5 0 0.625 0.3125 0.15625 0.07813 0.0390625 3.7109375 >Vi 10111110
8th 2.5 0 0.625 0.3125 0.15625 0.07813 0 0.01953125 3.69140625 <Vi 10111101
binary 1 0 1 1 1 1 0 1 3.69140625 10111101
CONVERTITORI A/D PARALLELI (FLASH)
Gli ADC flash sono i convertitori più veloci perché hanno tempi di conversione dell’ordine dei nanosecondi
(frequenze di conversione maggiori di 500MHz). Questi convertitori sono necessari quando i segnali hanno
frequenza elevata. In figura è mostrato lo schema circuitale di principio di un ADC flash a 3 bit.
Il circuito è composto da 8 resistenze, 7 comparatori e un encoder con 7 ingressi e 3 uscite. Nel caso generale
di ADC a N bit la struttura fondamentale è composta da 2N – 1 comparatori, 2N – 2 resistenze uguali di valore
R, 2 resistenze di valore R/2 e 1 encoder. Pertanto diventa molto costoso fare convertitori flash ad alto
numero di bit. Questi convertitori presentano notevoli problemi costruttivi, essendo difficile ottenerli
proprio con 2N–2 resistenze uguali con stessa tolleranza; ne consegue che il dispositivo ha scarsa precisione
Successive Approximation Register (SAR)
Output register
digital output
+
Comparator
N
VFS
Vin (analog
samples)
Shift Control Register
Clock
DAC
N
Conversione Analogico-Digitale
15
oltre a risultare costoso. Per ridurre la complessità del circuito, talvolta vengono realizzati convertitori che
eseguono la conversione in due step successivi (pipeline), detti half-flash A/D converter.
Il principio di funzionamento è basato sul confronto tra il valore del campione da convertire e i potenziali
presenti sui morsetti invertenti dei comparatori dati dalla partizione di una tensione di riferimento VREF . 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
dispositivi che trattengono l’informazione (latch), e la presentano simultaneamente all’encoder.
Nell’esempio in figura i potenziali presenti sui morsetti invertenti dei comparatori C1 C2 C3 C4 C5 C6 C7 sono
rispettivamente:
REF REF REF REF REF REF1 2 3 4 5 6
V 3V 5V 7V 9V 11VV ; V ; V ; V ; V ; V ;
16 16 16 16 16 16
REF7
13VV
16 mentre 1 2 7 iV V ... V V
Di conseguenza per ogni valore di Vi tra zero e VREF è possibile determinare quali comparatori hanno l’uscita
alta. Ad esempio se i REFV 6V 14 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 comparatori con uscita alta). Spesso è presente un ulteriore comparatore che
dà l’indicazione di overflow se i REFV V . Possiamo così costruire la seguente tabella (o matrice) di
conversione.
Quantized sample
Vi
Comparator ouput
U7 U6 U5 U4 U3 U2 U1
Encoder ouput
Q2 Q1 Q0
0 < Vi < VREF/14 0000000 000
1/14 VREF < Vi < 3/14VREF 0000001 001
3/14 VREF < Vi < 5/14 VREF 0000011 010
5/14 VREF < Vi < 7/14 VREF 0000111 011
7/14 VREF < Vi < 9/14 VREF 0001111 100
9/14 VREF < Vi < 11/14 VREF 0011111 101
11/14 VREF < Vi < 13/14 VREF 0111111 110
13/14 VREF < Vi < VREF 1111111 111
ENCODER
VREF
3R/2
R
R
R
R
R
R
R/2
-
+ C7
Q2
Q1
Q0
U7
U6
U5
U4
U3
U2
U1
Vin (analog samples)
-
+ C6
-
+ C5
-
+ C4
-
+ C3
-
+ C1
-
+ C2
Conversione Analogico-Digitale
16
DOMANDE DI RIEPILOGO
1) Dato un particolare ADC, quali caratteristiche deve avere un segnale analogico per poter essere convertito correttamente in
formato digitale ?
2) Dato un segnale analogico, quali sono le necessarie caratteristiche dell’ADC ?
3) Qual è la funzione del filtro anti-aliasing ?
ESERCIZIO
Un convertitore A/D, con tensione di fondo scala di 5V, deve convertire un segnale audio avente una dinamica di 48 dB,
ampiezza massima Vpp=0.2V, trascurando le frequenze superiori a 5 kHz. Specificare il tipo di condizionamento
analogico che deve subire il segnale, e le specifiche richieste al convertitore in termini di tempo di conversione e numero
di bit.
Risposte alle domande di riepilogo
1) La forma d’onda del segnale deve essere contenuta all’interno della dinamica del convertitore, di solito tra 0 e la tensione di
fondo scala, altrimenti deve essere amplificata e successivamente traslata in tensione. La frequenza massima del segnale non
deve oltrepassare la frequenza di Nyquist, altrimenti occorre filtrarlo. Per frequenza massima si intende la frequenza oltre la
quale lo spettro di potenza del segnale si trova al di sotto del livello determinato dalla risoluzione del convertitore.
2) Il rapporto tra l’ampiezza (picco-picco) massima e minima del segnale, (o tra la potenza massima e minima, anche in dB) deve
corrispondere alla risoluzione del convertitore. La frequenza di campionamento deve essere doppia della massima frequenza del
segnale.
3) Deve attenuare in maniera selettiva la potenza delle componenti del segnale che superano la frequenza di Nyquist, in modo che
risultino trascurabili. Se non è sufficientemente selettivo, il filtro attenuerà anche le componenti prima della frequenza di
Nyquist, distorcendo il segnale. In pratica le componenti dopo la frequenza di Nyquist devono essere ad un livello inferiore a
quello determinato dalla risoluzione del convertitore.
Soluzione Esercizio
Amplificaz. FS
pp
V 5VA 25
V 0.2V
Offset pp FS
OS iMIN
AV VV V
2 2
Filtraggio LP Hf 5 KHz s HF 2f 10 KHz
c s
s
1T T 100 ns
F
Risoluz:
NPP max FS10 10 10 10
PP min LSB
A V V48dB DR 20log 20log 20log 2 N 20log 2
A V V N DR 6.02 8