ADC ad approssimazioni successive

Da Wikipedia, l'enciclopedia libera.

Un ADC ad approssimazioni successive è un circuito elettronico per la conversione analogico-digitale. Questo tipo di circuito esegue la conversione basandosi su un meccanismo di ricerca dicotomica attraverso tutti i possibili livelli di quantizzazione fino alla determinazione del valore di conversione finale.

Diagramma a blocchi[modifica | modifica sorgente]

Successive Approximation ADC Block Diagram

Sigle

  • DAC = convertitore digitale-analogico
  • EOC = fine della conversione (End Of Conversion)
  • SAR = registro ad approssimazioni successive
  • S/H = circuito di sample and hold
  • Vin = tensione d'ingresso
  • Vref = tensione di riferimento

Algoritmo[modifica | modifica sorgente]

Il convertitore analogico-digitale ad approssimazioni successive è composto tipicamente da quattro sottocircuiti principali:

  1. Un circuito sample and hold per l'acquisizione della tensione d'ingresso (Vin).
  2. Un comparatore di tensione che confronta la tensione Vin con l'uscita del DAC e trasmette il risultato al registro ad approssimazioni successive(SAR).
  3. Un registro ad approssimazioni successive progettato per emettere un codice digitale approssimato della Vin al DAC interno.
  4. Un DAC interno la cui uscita torna al comparatore con un segnale analogico equivalente al codice digitale d'uscita del SAR da comparare con la Vin.

Il registro ad approssimazioni successive viene inizializzato in modo che il bit più significativo sia uguale al valore digitale 1. Questo codice viene mandato al DAC, il quale quindi manda un segnale analogico equivalente al valore digitale (Vref/2) all'interno del comparatore per confrontarlo con il campione di tensione all'ingresso. Se questo segnale analogico è maggiore della Vin allora al bit verrà assegnato il valore 0, altrimenti il bit verrà lasciato ad 1. Il procedimento viene quindi ripetuto periodicamente per tutti i bit successivi usati per la conversione, con una frequenza pilotata da un clock esterno e usando come tensione in ingresso la differenza di tensione misurata dal comparatore nel passo precedente, memorizzando ogni volta il risultato nella posizione corrispondente del SAR. Il codice risultante è una approssimazione digitale del campione analogico d'ingresso e viene infine emesso dal DAC alla fine della conversione (EOC).

Matematicamente, la tensione di ingresso normalizzata si può esprimere come Vin = xVref, con x appartenente all'intervallo [-1, 1]. L'obiettivo è quello di determinare il valore di x e convertirlo in un formato digitale con una precisione di 1/2n. L'algoritmo lavora come segue:

  1. Approssimazione iniziale: x0 = 0.
  2. Approssimazioni i-esime xi = xi-1 - s(xi-1 - x)/2i.
    dove, s(x) è la funzione segno (sgn(x)) (+1 for x ≥ 0, -1 for x < 0). Nel seguito si farà uso dell'induzione matematica che |xn - x| ≤ 1/2n.

In base a questo algoritmo, un ADC ad approssimazioni successive richiede:

  1. Una tensione d'ingresso Vin.
  2. Una tensione di riferimento Vref per normalizzare l'ingresso.
  3. Un DAC che consenta di convertire in una tensione analogica le i-esime approssimazioni xi.
  4. Un comparatore che implementi la funzione s(xi - x) confrontando la tensione proveniente dal DAC con la tensione d'ingresso.
  5. Un registro in cui memorizzare l'uscita del comparatore e applicare xi-1 - s(xi-1 - x)/2i.

SAR a redistribuzione di carica[modifica | modifica sorgente]

Convertitore digitale/analogico a scala di carica

Una delle più comuni implementazioni del SAR, cioè il SAR a redistribuzione di carica, fa uso di un DAC scalatore di carica. Questo DAC è composto semplicemente da una matrice pesata di condensatori connessi in parallelo. Il tasso di carica su ognuno dei condensatori viene usato per la ricerca binaria suddetta con l'ausilio di un comparatore interno al DAC e al SAR.

La conversione del DAC viene fatta secondo questi quattro passi di base:

  1. La matrice di condensatori viene completamente scaricata alla tensione di offset del comparatore, VOS. In questo passo si fornisce una cancellazione automatica dell'offset.
  2. Tutti i condensatori all'interno della matrice fanno capo al segnale d'ingresso vIN. La carica che si stabilisce in questo modo è uguale alle singole capacità moltiplicate per la tensione d'ingresso, a meno della tensione di offset.
  3. I condensatori sono quindi collegati in modo che questa carica venga applicata sull'ingresso del comparatore, dando una tensione all'ingresso pari a -vIN.
  4. Il condensatore associato al bit più significativo viene collegato con un interruttore alla VREF, che corrisponde al fondo scala dell'ADC. Essendo la matrice pesata, in questo modo si forma un partitore capacitivo 1:1 con il resto della matrice e la tensione all'ingresso del comparatore risulterà pari a -vIN più VREF/2. In seguito a seconda che vIN sia maggiore o minore di VREF/2 il comparatore ritornerà il valore 1 o 0, rispettivamente. Lo stesso processo viene ripetuto ad ogni ciclo di clock per ogni condensatore associato a un bit, fino a quando la tensione d'ingresso del comparatore coincide con la tensione di offset, nei limiti della risoluzione del convertitore.
Simulazione a 3 bit di un convertitore A/D capacitivo

Uso con circuiti analogici non ideali[modifica | modifica sorgente]

Quando implementato come circuito analogico, dove il valore di ogni bit non è perfettamente 2^N (ad esempio 1.1, 2.12, 4.05, ecc.), un SAR potrebbe non ritornare un valore ideale, dato che a causa di questo errore l'algoritmo di ricerca binaria potrebbe rimuovere un intervallo di valori che l'ingresso non noto può assumere. A seconda della differenza fra il funzionamento reale ed ideale, l'errore massimo può risultare pari ad alcuni bit meno significativi, specialmente se lo scostamento fra il valore reale di 2^N e quello ideale è grande per uno o più bit. Poiché il valore reale dell'uscita non è noto a priori, per garantire un funzionamento corretto è molto importante che la precisione del circuito analogico usato per implementare un ADC SAR sia molto vicina al valori ideali di 2^N.

Vantaggi[modifica | modifica sorgente]

In questo tipo di convertitori, il tempo di conversione è uguale al periodo di "n" cicli di clock per un ADC a n-bit, così il tempo di conversione è molto breve. Per esempio per un ADC a 10 bit con una frequenza di clock di 1 Mhz, il tempo di conversione sarà 10*10^-6 cioè soltanto 10 microsecondi.

Il tempo di conversione è costante e indipendente dall'ampiezza del segnale analogico V alla base A.

Voci correlate[modifica | modifica sorgente]

Bibliografia[modifica | modifica sorgente]

  • R. J. Baker, CMOS Circuit Design, Layout, and Simulation, Third Edition, Wiley-IEEE, 2010. ISBN 978-0-470-88132-3

Collegamenti esterni[modifica | modifica sorgente]