Collaudo statico di un ADC Marco Coppelli - Bruno Stortoni Collaudo statico di un ADC Scopo della prova Verifica del funzionamento di un tipico convertitore Analogico-Digitale. Materiali 1 Alimentatore 1 Oscilloscopio 1 Integrato ADC 0801 o equivalente Alcuni resistori e condensatori Alcuni diodi LED Prima della prova Non ci sono tecniche standard per il collaudo dei convertitori e, inoltre, le definizioni delle specifiche sono spesso differenti nei diversi manuali delle case costruttrici. Il metodo di prova descritto in questa esperienza è solo una proposta, utile ai progettisti che impiegano convertitori, per aiutarli nella scelta e collaudo. Si tratta soprattutto di tecniche qualitative che, in ogni modo, sono sufficienti per dare una prima indicazione sulle prestazioni statiche e dinamiche e per rilevare gli errori più grossolani. Misurazioni quantitative possono essere eseguite con montaggi più complessi e per mezzo di sistemi automatici e strumenti particolari. C’è una differenza fondamentale tra la conversione digitale-analogica e quella analogica-digitale: in un DAC un codice digitale posto al suo ingresso produce un ben determinato segnale in uscita, mentre l’uscita digitale di un ADC rappresenta un certo intervallo del segnale d’ingresso e non un livello. Per questo motivo anche un perfetto ADC mostra sempre, almeno, un errore di quantizzazione pari a 1/2 LSB. Un primo tipo di controllo può essere effettuato realizzando il circuito mostrato nella figura 1a. Il controllo consiste nell’inviare un valore della tensione (o della corrente) all’ingresso analogico e controllare se la parola d’uscita corrisponde a quel valore. Questo procedimento può essere ripetuto a partire dal valore zero fino a quello di fondo scala passando per tutti i codici in modo da ottenere tutta la caratteristica di trasferimento e confrontarla con quella ideale (fig. 1b). Poiché tale procedimento è molto lungo, di solito si rilevano solo alcuni valori se è sufficiente controllare il solo funzionamento dell’ADC. 1 Collaudo statico di un ADC Marco Coppelli - Bruno Stortoni Fig. 1. a) Semplice collaudo statico di un ADC; b) confronto tra le caratteristiche di trasferimento ideale e reale. Nella figura 2 è mostrata la realizzazione pratica dello schema precedente per l’ADC0801 della National Semiconductor. È un convertitore unipolare a 8 bit in tecnologia CMOS ad approssimazioni successive che può essere interfacciato a un sistema a microprocessore. In questo caso è impiegato da solo. Lo stato delle otto uscite è rilevato mediante diodi LED a basso assorbimento (NSL5027) che s’illuminano quando la rispettiva uscita dell’ADC diventa bassa (tensione UOL). Fig. 2. Circuito di prova per l’ADC0801 (National Semiconductor). (Nei manuali statunitensi la tensione è indicata con V.) 2 Collaudo statico di un ADC Marco Coppelli - Bruno Stortoni Ricorda: in questa applicazione un diodo illuminato indica un livello basso (bit = 0) della rispettiva uscita dell’ADC al quale è collegato. La corrente che attraversa un diodo LED, quando la corrispondente uscita dell’ADC scende a UOL , vale: U DC U F U OL 5,120 1, 2 0, 4 (1) IF 2, 7 mA R 1,3 103 con: UDC = tensione che alimenta i diodi (coincide con quella di riferimento); UF = tensione di soglia di un LED alla conduzione (forward); UOL = tensione al livello basso all’uscita dell’ADC; il suo valore è rilevabile dalle caratteristiche statiche dell’ADC0801 mostrate nelle pagine seguenti; R = resistenza in serie al diodo. Dalle caratteristiche si rileva che la corrente IOL (corrente di sink) del convertitore è di 16 mA, per cui è possibile impiegare anche normali LED e farli attraversare da una corrente più elevata di quella calcolata con la (1), ad esempio 12 mA. Il valore del resistore da porre in serie ai LED risulta quindi: U DC U F U OL 5,120 1, 2 0, 4 R 290 IF 12 10 3 Per sicurezza si può scegliere un valore commerciale dei resistori pari a 330 . La tensione d’alimentazione (URIF) è stata scelta pari a 5,120 V in modo che il quanto valga: U RIF 5,120 Q 20 mV 2n 256 Per il corretto funzionamento è anche necessaria una tensione pari a URIF/2 = 2,560 V. Quest’ultima può ottenersi dalla URIF mediante un partitore resistivo costituito da due resistenze uguali del valore, ad esempio, di 1 k ciascuna. Il tasto indicato con START deve rimanere normalmente aperto (N.O. = Normally Open), ma è necessario che sia chiuso per un breve istante di tempo dopo che è stata fornita l’alimentazione al dispositivo. Costituisce, infatti, il comando che fa partire la conversione; lo start deve essere ridato solo dopo una nuova accensione. Il resistore da 10 k e il condensatore da 150 pF connessi tra i pin 19 e 4 dell’ADC regolano la frequenza del clock interno al convertitore secondo la formula: 1 f CK 1,1 R C rilevata dal manuale. Con i valori dati si ottiene una frequenza fCK 600 kHz, molto vicina a quella tipica del convertitore che risulta di 640 kHz, come si rileva dalle caratteristiche del manuale. Attenzione: il convertitore è unipolare, per cui le tensioni analogiche inviate all’ingresso UIN devono essere tutte positive (da 0 V a +URIF). 3 Collaudo statico di un ADC Marco Coppelli - Bruno Stortoni Mediante un alimentatore variabile, o con un dispositivo potenziometrico, si inviano all’ingresso analogico VIN diversi valori di tensione e si leggono sui LED le parole digitali corrispondenti (ricorda che: LED acceso = 0; LED spento = 1). Poiché il convertitore impiega il codice binario naturale, mediante la nota formula di conversione o, più semplicemente, con l’aiuto della tabella seguente, si può calcolare la tensione corrispondente a ciascun codice. Questa dovrebbe coincidere con quella d’ingresso a meno di un errore pari a metà del quanto. Il quanto è di 20 mV, quindi l’errore ammesso è 10 mV. Se volessimo verificare l’intera scala dei valori, il metodo appena descritto sarebbe troppo lungo e noioso e allora, qualora sia sufficiente controllare la caratteristica di trasferimento in modo qualitativo, si possono impiegare metodi dinamici. TABELLA 1 Esecuzione della prova Dopo aver cablato il circuito di figura 2 puoi effettuare i seguenti rilievi. 1. Connetti l’alimentazione di 5,120 V e 2,560 V, chiudi brevemente il tasto di START in modo da dare inizio al funzionamento del convertitore. Utilizza un alimentatore di tensione continua e imposta diversi valori della tensione d’ingresso leggendone il valore mediante un voltmetro digitale, e in loro corrispondenza controlla l’accensione dei LED. Tramite la tabella 1 determina il valore della tensione digitale indicata in uscita dall’ADC. Puoi trascrivere nella seguente tabella alcuni dei valori di prova inviati all’ingresso e i corrispondenti valori d’uscita. I valori dovrebbero corrispondere, a meno dell’errore di 10mV (mezzo quanto). 4 Collaudo statico di un ADC Valore analogico di ingresso Marco Coppelli - Bruno Stortoni Codice binario di uscita (LED) Valore analogico di uscita 2. Partendo dal valore di 0 V della tensione analogica d’ingresso, tutti i diodi dovrebbero essere accesi. Controlla se il primo spegnimento (quello del LED meno significativo) avviene quando, aumentando gradualmente la tensione d’ingresso, arrivi a un valore pari a mezzo quanto (10 mV) e se da questo punto in poi gli spegnimenti avvengono ogni 20 mV. In tal modo l’errore massimo è pari a 1/2 LSB. 3. Cambia il valore della resistenza R, impiegata per generare il clock, in modo da controllare le frequenze minima e massima alle quali l’ADC funziona ancora. Sono stati raggiunti i seguenti risultati (scrivili nello spazio seguente). 4. Sostituisci l’alimentatore di tensione continua, impiegato nei punti precedenti per inviare le tensioni analogiche all’ingresso, con un generatore di segnali sinusoidali o triangolari (a bassa frequenza se vuoi osservare l’effetto ad occhio nudo). Attenzione: il convertitore è unipolare, per cui le tensioni analogiche inviate all’ingresso UIN devono essere tutte positive (da 0 V a +URIF), per cui i segnali devono essere tutti positivi, non a valore medio nullo. Descrivi i risultati ottenuti. 5