domenica 4 luglio 2010

convertitori analogico digitali A/D e D/A


Convertitori A/D

Il convertitore A/D (convertitore analogico-digitale), è un circuito elettronico in grado di convertire un segnale analogico con andamento continuo (ad es. una tensione) in una serie di valori discreti (cioè ogni valore analogico viene convertito nel suo corrispondente digitale).

Parametri caratteristici

Risoluzione:

La risoluzione di un ADC indica il numero di valori discreti che può produrre. È solitamente espressa in Bit. Per esempio, un ADC che codifica un ingresso analogico in 256 livelli discreti ha una risoluzione di 8 bit, essendo 28 = 256.
La risoluzione può anche essere definita elettricamente, ed espressa in volt. La risoluzione in volt di un ADC è uguale alla minima differenza di potenziale tra due segnali che vengono codificati con due livelli distinti adiacenti.
Per comprendere meglio ecco alcuni esempi.

Esempio 1:

Range compreso tra 0 e 10 volt
Risoluzione dell'ADC di 12 bit: 212 = 4096 livelli di quantizzazione (è il numero di livelli in cui viene diviso il segnale da convertire)
La differenza di potenziale tra due livelli adiacenti è 10 V / 4096 = 0,00244 V = 2,44 mV

Esempio 2:

Range compreso tra -10 e 10 volt
Risoluzione dell'ADC di 14 bit: 214 = 16384 livelli di quantizzazione
La differenza di potenziale tra due livelli adiacenti è 20 V / 16384 = 0,00122 V = 1,22 mV

Da questo semplice esempio si capisce che maggiore è la risoluzione maggiore è il numero di livelli in cui è diviso il segnale, e tutto questo si traduce in una migliore conversione del segnale cioè si riduce la perdita di informazioni.

Aliasing:

Tutti gli ADC lavorano campionando il proprio input ad intervalli discreti di tempo. L'output di conseguenza è un'immagine incompleta dell'input e non c'è modo di sapere, guardando soltanto l'output, che valori abbia assunto l'input tra due istanti di campionamento adiacenti.
Se è noto che l'ingresso varia lentamente confrontato con la frequenza di campionamento, allora si può presumere che esso sia sempre contenuto tra i due estremi in quell'intervallo. Il risultato diretto che si osserva riproducendo un segnale campionato ad una frequenza inferiore della sua banda è che le componenti del segnale a frequenze superiori verranno riprodotti a frequenza diverse, inferiori alla frequenza di campionamento.
Ad esempio, campionando a 1.5 kHz un'onda sinusoidale a 2 kHz verrà trasformata in una onda a 500 Hz (ed in opposizione di fase).
Il problema dell'aliasing può essere osservato anche visivamente, basta far caso che in televisione o al cinema (dove l'immagine è campionata a 25 Hz), oggetti in rotazione a frequenza superiori, come pale di elicottero o ruote di automobili, spesso ci appaiano girare lentamente, o addirittura al contrario, rispetto a quanto ci si aspetterebbe.
Per eliminare l'aliasing, l'ingresso di un ADC deve essere filtrato (low-pass) per rimuovere le frequenze superiori a quelle di campionamento. Questo filtro è chiamato anti-aliasing ed è essenziale in un sistema ADC.

Sampling rate:

Il segnale analogico è tempo-continuo ed è necessario convertirlo in un flusso di valori discreti. È quindi necessario definire una frequenza alla quale campionare i valori discreti del segnale analogico. Questa frequenza è chiamata sampling rate (frequenza di campionamento, in italiano) del convertitore.

L'idea è che un segnale di banda limitata che varia con continuità può essere campionato e poi riprodotto esattamente dai valori tempo discreti con un algoritmo di interpolazione se la frequenza di campionamento è almeno pari al doppio della banda del segnale (Teorema di Nyquist-Shannon che afferma che l frequenza di campionamento deve essere maggiore o uguale a due volte la frequenza massima del segnale cioè fcamp>2fmax).

Poiché nella pratica un ADC non può effettuare una conversione istantanea, il valore d'ingresso deve necessariamente rimanere costante durante il tempo in cui il convertitore esegue la conversione (chiamato tempo di conversione o conversion time). Un circuito d'ingresso chiamato sample/hold svolge questo compito.

Esistono vari tipi di convertitori A/D e sono:

- convertitore Flash
- SAR (Successive Approximation Register)
- Convertitore a integrazione
- Convertitore a codifica-delta (ha un contatore up-down collegato ad un DAC)

Convertitori D/A

I converttori D/A (Convertitore digitale-analogico) è un componente elettronico che converte il codice digitale di n bit in un segnale analogico a livelli, cioè man mano che arrivano i valori digitali escono quelli analogici formando un segnale che varia nel tempo a gradini.
Con n bit si possono avere 2n livelli di gradini.

Parametri caratteristici

n = numero di bit

R = risoluzione, è l'ampiezza di tensione analogica d'uscita associata al bit meno significativo del codice digitale d'ingresso

R% = risoluzione percentuale, permette di slegare la risoluzione dal range d'uscita

Errore di linearità = si ha quando a causa della tolleranza dei componenti si crea una gradinata che non segue una retta ma bensì una curva

Errore di offset = la gradinata è traslata verso l'alto o verso il basso, cioè sovrapposta una tensione; quindi con ingresso zero digitale non corrisponde uno zero analogico.

Transitori spuri e settling time = il settling time è il tempo necessario al convertitore per stabilizzare il valore (analogico) dell'uscita. In un certo senso è il tempo di conversione, ed è molto minore dei tempi di conversione dei convertitori A/D.
Durante la conversione si formano dei transitori spuri (glitches) cioè delle oscillazioni/impulsi dell'uscita prima che questa si stabilizzi.
Esistono diversi tipi di convertitori D/A e sono:

- DAC a resistenze pesate
- DAC a rete R-2R
- DAC a rete R-2R invertita