Generalità
I convertitori ADC hanno il compito di trasformare un segnale analogico in ingresso, proveniente dall'amplificatore di condizionamento, in un segnale digitale quantizzato su n-bit, definendo così 2^n livelli discreti di quantizzazione del segnale. La conversione inizia quando arriva un segnale di SOC (Start of conversion) e termina quando manda il segnale di EOC (End of conversion). Per convertire un segnale S su n bit, l'ampiezza di ogni intervallo è pari a un LSB ed è uguale a S/(2^n). Siccome in ingresso il segnale è continuo e non potendo realizzare segnali completamente discreti, il segnale di uscita è un segnale continuo con l'aspetto di una gradinata. Come nei convertitori DAC è utile definire una retta approssimante, che prende i punti medi di ogni gradino. La retta approssimante non passa mai per l'origine, è quindi utile spostarla di 1/2LSB verso sinistra per fare in modo che la retta ideale passi per questo punto. Per realizzare la retta ideale è inoltre necessario supporre che tutti i gradini abbiano la stessa ampiezza, e che quindi non sia una spezzata. La retta reale si discosterà quindi dalla retta ideale e subirà un errore di offset.
Errori
Come nel caso precedente abbiamo diversi tipi di errore statico:
-errori di linearità, correggibili in modo analogico o in digitale
--errore di guadagno, diversa pendenza tra la retta ideale e quella reale
--errore di offset, differenza tra l'origine e il passaggio per l'asse delle x
-errori di non linearità, non recuperabili e sono legati all'ampiezza dei singoli gradini
--errore di linearità differenziale (DNL), la massima differenza di ampiezza tra il gradino reale e quello ideale
--errore di linearità integrale (INL), la massima differenza sull'asse x tra il punto medio del gradino reale e la retta ideale. Normalmente si esprime in frazioni di LSB, in quanto se esso è maggiore di 1/2 LSB si potrebbe avere il cosiddetto codice mancante (missing code)
Per quanto riguarda gli errori dinamici, il più importante è quello derivante dal tempo di conversione, poichè il segnale di ingresso necessiterà di un certo tempo Tc, tra il segnale di SOC e di EOC.
Convertitori ad inseguimento
In questo tipo di convertitore è presente un comparatore, che confronta la tensione di ingresso (Vi) e quella proveniente da un DAC in reazione. L'uscita del comparatore arriva all'ingresso di un contatore di tipo up (Count Enable). La conversione inizia con un segnale di RESET, che ha il compito di azzerare il contatore. Il DAC, produrrà quindi una uscita con il valore minimo. Se la tensione Vi è maggiore di quella del DAC, il comparatore comunicherà al contatore di incrementare il proprio valore. A questo punto verrà incrementato anche il valore di uscita del DAC, dopodichè si riprenderà il ciclo. Nel caso in cui il segnale in uscita dal DAC risulti superiore a quello di Vi, si sarà ottenuto il valore di uscita corretto, e sarà quindi possibile ripartire dall'inizio. E' importante che i segnali siano sincronizzati, ed è quindi necessario un CK, che sincronizzi le operazioni. Un metodo più veloce e più preciso si ha se si usa un contatore di tipo UP-DOWN, in modo da non dover riazzerare il ciclo ogni volta. In questo modo, a meno di oscillazioni brusche del segnale (overload), una volta agganciato il segnale, si riescono ad ottenere conversioni in un solo colpo di clock. E' comunque importante considerare che nel caso peggiore (oscillazione dal valore minimo al valore massimo), entrambi i convertitori necessitano di un tempo di conversione pari a (2^n)*Tck (dove Tck è il tempo di clock). Affinchè il segnale, nel secondo tipo di convertitore ad inseguimento, non perda l'aggancio, è necessario che la pulsazione in ingresso non sia maggiore di 2/(Tck*(2^n)). Affinchè il convertitore funzioni correttamente è necessario che l'intero ciclo di conversione del convertitore non sia maggiore del Tck.
Poichè i convertitori di questo tipo sono molto lenti nella conversione, è spesso necessario avere in ingresso un sample/hold, in grado di mantenere il segnale di ingresso costante durante tutto il tempo di conversione.
Convertitori ad approssimazioni successive
Lo schema dei convertitori ad approssimazioni successive è molto simile a quello dei convertitori ad inseguimento, con la differenza che il blocco del contatore è sostituito con un blocco che prende il nome di logica ad approssimazioni successive (SAL). Quando arriva il segnale di RESET, l'uscita del SAL vale 0 e il convertitore DAC produce un segnale di uscita nullo. Viene forzato il primo bit a 1, mentre tutti gli altri a 0. Il comparatore stabilisce se Vi è maggiore del segnale in ingresso e a seconda di questo e viene stabilito se impostare il bit più significativo a 0 o a 1. Si prosegue il ciclo, impostando a 1 il bit successivo, fino ad arrivare al bit meno significativo, con il quale si ha la fine della conversione. A questo punto il convertitore produce in uscita un segnale codificato pari a quello in ingresso. Il tempo massimo per effettuare la conversione è pari a n*Tck, è quindi più veloce del precedente, ma necessita, come nel convertitore ad inseguimento, che il segnale in ingresso sia tenuto stabile mediante un sample and hold. La frequenza massima del segnale in ingresso per non avere errori non deve superare fc/((2^(n+1))*pi), con fc pari alla frequenza di conversione (1/Tc).
Convertitori a rampa
I convertitori a rampa si basano sul tempo di scarica di un condensatore, caricato con la Vi. Nei convertitori a singola rampa la capacità (C), viene caricata da Vi; poi viene scaricato mediante una corrente costante. Il tempo di scarica (Ts), misurato da un contatore (che conta il numero di clock), è proporzionale al segnale di ingresso ed è uguale a Vi*(C/I). Questo tipo di convertitore è molto poco accurato a causa delle imprecisioni dei singoli componenti.
I convertitori a doppia rampa sono molto più precisi dei precedenti, anche se molto più lenti. Essi non misurano il tempo di scarica del condensatore, ma il tempo di carica, effettuando una misura relativa e non assoluta. Durante la conversione il segnale Vi deve rimanere costante e positivo. La misurazione avviene nel seguente modo:
-Viene azzerato l'integratore, mediante la scarica del condensatore
-Si mette in ingresso all'integratore Vi, tramite il deviatore e azzerato il contatore. Se Vi è costante la tensione Vc, in uscita dall'integratore decresce con una rampa lineare -(Vi)/(R*C))*t
-Dopo un tempo fisso T1, si commuta l'ingresso dell'integratore sulla tensione di riferimento (Vfs)
-Siccome l'integratore integra una tensione di segno opposto rispetto a prima, il condensatore segue una rampa crescente lineare ((Vfs)/(R*C))*(t-T1)+Vh, con Vh pari alla tensione raggiunta dal condensatore all'istante T1
-Nel momento in cui si commuta l'ingresso dell'integratore il contatore ricomincia a contare (in quanto durante la prima misurazione è andato in OverFlow), fino a che la tensione sul condensatore si azzera (istante T1+T2). La misurazione di T2, non dipende nè dalla resistenza, nè dal condensatore e quindi l'eventuale incertezza su queste misure risultano ininfluenti
Per evitare problemi sulla misurazione è necessario che T1 sia maggiore di T2. Il numero che si legge in uscita dal contatore, è proprio il numero convertito in binario che interessa nella conversione, poichè è proporzionale a Vi. Questo sistema di conversione è molto tollerante ai disturbi. Per evitare totalmente i disturbi è necessario che il periodo del clock sia un multiplo del periodo di disturbo e questo avviene quando si usa come frequenza di clock un multiplo della frequenza di rete. Per evitare problemi è anche necessario usare una tensione di soglia (Vfs) negativa per ogni Vi.
Poichè nnella strumentazione analogica non è nota la Vi i convertitori utilizzati sono quelli a tripla rampa.
Convertitori flash
Molto spesso si ha la necessità di avere convertitori estremamente veloci, soprattutto per segnali con banda elevata. Molto spesso la velocità è espressa in MSPS (Mega Sample Per Second), che indica il numero di milioni di campionamenti al secondo. Il convertitore più veloce è il convertitore flash o parallelo. Il principio su cui si basa questo convertitore è simile a quello del convertitore ADC potenziometrico. Si pongono in ingresso una serie di resistenze uguali (tranne l'ultima collegata a terra in serie) e su ognuna viene confrontato il segnale di ingresso mediante un comparatore. Ogni comparatore porta in uscita il suo bit a seconda del fatto che la tensione è maggiore o minore rispetto alla loro tensione di riferimento. In questo modo si hanno la conversione in un solo colpo di CK, poichè tutti i comparatori lavorano in parallelo. Il problema primario di questo sistema è il gran numero di convertitori e resistenze necessarie per la conversione. I vantaggi sono la velocità di conversione, la monotonia e il fatto che non necessita di circuiti come il sample and hold in ingresso.
Esistono anche dei convertitori ibridi che limitano il numero di convertitori e di resistenze, che vengono detti subranging ADC o half-flash. Questi convertitori utilizzano la tecnica flash ma la ripetono in sequenza su gruppi di bit successivi. E' quindi necessario un sample and hold in ingresso e che la prima catena di convertitori abbia precisione doppia rispetto al caso precedente. Si possono effettuare delle modifiche per evitare problemi di missing code, mediante correzione digitale del codice.
Un altro sistema per convertire un segnale è quello di usare due volte lo stesso ADC. Tale sistema viene detto recursive subranging. Poichè durante la conversione del secondo gruppo di bit, il primo ADC non è più utilizzato è possibile utilizzare una pipeline (pipelining converter).
| < Prec. | Succ. > |
|---|





