La struttura di questo tipo di ADC è illustrata in figura 2. Come si nota, la parte in colore evidenzia la logica di controllo e i latch di uscita. La logica di controllo raggruppa la circuiteria necessaria a gestire i segnali indicati mentre i latch buffer hanno il compito di memorizzare e bufferizzare i dati digitali duscita. I latch buffer sono opzionali rispetto al processo di conversione, ma utili per l'interfacciamento con altri dispositivi.
Fig. 2 Struttura di un ADC a gradinata
Allinizio della conversione la logica di controllo genera il segnale SOC che abilita la porta AND e resetta il contatore a n bit. Poiché le uscite del contatore costituiscono gli ingressi del DAC, quest'ultimo produce una tensione di uscita VD che inizialmente è nulla. Il comparatore confronta il campione Vin con la tensione duscita del DAC. Per cui:
Fino a quando Vin > VD l'uscita del comparatore è ALTA. Di conseguenza all'uscita della porta AND compare il segnale di CLOCK e il contatore incrementa il proprio conteggio. Ne deriva che l'uscita VD del DAC è una tensione crescente a gradini (rampa digitale). Questa tensione continua a salire nel modo indicato fino a quando si verifica la condizione Vin < VD.
Nell'istante in cui Vin < VD l'uscita del comparatore commuta portandosi a livello BASSO. In questo istante l'uscita della porta AND diventa BASSA bloccando il conteggio del contatore. Tale conteggio risulta proporzionale all'ampiezza del campione Vin e rappresenta il codice digitale del suddetto campione. La commutazione da ALTO a BASSO del comparatore può essere utilizzata per generare il segnale EOC (sfruttabile per pilotare anche altri dispositivi interfacciati con l'ADC), il quale indica alla logica di controllo di attivare il comando LE (Latch Enable) che cattura il conteggio raggiunto dal contatore rendendolo stabilmente disponibile in uscita fino alla conversione successiva.
Fig. 3 Segnali di temporizzazione e di uscita di un ADC a gradinata
La figura 3 illustra un esempio di temporizzazione dei principali segnali dell'ADC esaminato. Si osservi che nella struttura esaminata:
Il contatore inizia a contare in corrispondenza del fronte di salita del primo impulso di CLOCK dopo la fine del segnale SOC.
Nell'istante in cui Vin < VD il segnale EOC (uscita del comparatore) diventa BASSO e il conteggio si arresta. I successivi impulsi di CLOCK non modificano lo stato del contatore. Al termine di questo intervallo di tempo viene applicato allingresso del comparatore un nuovo campione.
La logica di controllo genera nuovamente il segnale SOC che resetta il contatore e il ciclo descritto in precedenza si ripete.
Indicando con TCK il periodo del CLOCK e con D l'equivalente decimale del conteggio raggiunto dal contatore in corrispondenza del generico campione Vin si ricava che il tempo di conversione é:
Tconv= D TCK
(6)
Come evidenziato anche in figura 3, il tempo di conversione di questo ADC non è costante, infatti esso dipende:
Dal periodo TCK del CLOCK
Dal numero n di bit del contatore;
Dall'ampiezza del campione (cioè dal conteggio D raggiunto).
In particolare, si ricava che il valore massimo del tempo di conversione Tconv corrispondente a un campione di ampiezza pari a VinMAX è il seguente:
TconvMAX= (2n-1)TCK
(7)
Nelle applicazioni pratiche, la variabilità del valore di Tconv suggerisce dutilizzare come riferimento il valore TconvMAX in modo da garantire la corretta temporizzazione per qualunque valore del campione Vin. Ne deriva che le prestazioni di questo ADC non sono elevate.
Per esempio, considerando un CLOCK di frequenza fCK = 1 MHz, per cui TCK= 1m S, e utilizzando un contatore e un DAC di 10 bit, si ha TconvMAX = 1023 m S. Ne deriva che la frequenza di campionamento fc del segnale da convertire deve essere fc=1/ TconvMAX=977HZ. Tale segnale, quindi, deve presentare una banda limitata alla frequenza fMAX < fc/2 = 488,5 Hz. Come si nota, il segnale da campionare e da convertire deve possedere uno spettro armonico estremamente limitato in frequenza.