Capitolo VI Conversione A/D e D/A Capitolo VI Conversione A/D e D/A. 6.1) Introduzione. Nei moderni sistemi di misura e controllo le informazioni possono presentarsi in una di due diverse forme. Nella prima la misura di una quantita' fisica (ad esempio una temperatura o una velocita', etc.) si presenta su una singola linea sotto forma di una grandezza analogica (tensione, corrente, frequenza, etc.), la cui ampiezza rappresenta la misura della grandezza fisica stessa. Nella seconda invece la misura, e’ presentata (sia in forma seriale su un'unica linea, che in forma parallela su piu' linee) con un numero finito di bit di informazione, che costituiscono una parola digitale cui e' possibile associare il numero che rappresenta la misura della grandezza di interesse sulla base di un'opportuna unita' di misura. E' evidente che nel secondo caso la misura risulta discretizzata e la massima risoluzione che si puo' ottenere e' determinata dal passo di quantizzazione, che coincide con il valore associato al bit meno significativo della parola. Ad esempio utilizzando una parola da tre bit in numerazione binaria posizionale e associando al bit meno significativo ( o in altre parole adottando quale passo di quantizzazione) un volt, la massima risoluzione sara' appunto di un volt e potranno venir misurate tensioni comprese tra 0 e 7 volt in passi incrementali di un volt. Aggiungendo un ulteriore bit prima del piu' significativo, che in qualche modo rappresenti il segno, si potranno evidentemente rappresentare sia grandezze positive che negative, come illustrato in fig. 6.1 E' immediato osservare che rispetto alla forma analogica (di tipo continuo) la rappresentazione digitale (discreta) introduce un errore, detto errore di quantizzazione, la cui ampiezza massima e' pari alla meta' del passo di quantizzazione e la cui distribuzione di probabilita' puo' essere ritenuta uniforme. Questo errore puo' essere ridotto unicamente riducendo il passo di quantizzazione o, in altre parole, aumentando il numero di bit della parola rappresentativa a parita' di ampiezza della grandezza da misurare. Valore analogico +7 +6 +5 +4 +3 +2 +1 1111 1110 1101 1100 parola digitale 1011 1010 1001 1000 0000 0001 0010 0011 0100 0101 0110 0111 -1 -2 -3 -4 -5 -6 -7 fig. 6.1 Molti sono i motivi per cui una grandezza viene rappresentata in forma numerica. Uno di questi e' senza dubbio l'enorme diffusione dei sistemi di eleborazione, che vanno dalla 209 Capitolo VI Conversione A/D e D/A strumentazione basata sui microprocessori ai mainframe di elevatissime prestazioni, disponibili tuttavia con una certa facilita' ad una larghissima utenza. Tuttavia la motivazione piu' convincente, che ha portato alla digitalizzazione anche in quei campi che fino a pochi anni or sono sembravano dominio incontrastato della strumentazione analogica, risiede nel fatto che l'elaborazione dell'informazione per via analogica degrada l'accuratezza del dato a ciascun passo di elaborazione e che questa degradazione e' tanto piu' marcata quanto piu' elevata e' la velocita' di elaborazione richiesta, prevalentemente per l'inevitabile presenza del rumore e per l'imprecisione dei dispositivi adottati. Con le tecniche digitali invece l'accuratezza del dato e' funzione unicamente del numero di bit utilizzato per rappresentare l'informazione e, qualora si prendano le dovute precauzioni, non degrada ad ogni passo dell'elaborazione. E' ovvio che in un sistema, in cui convivano ambedue le forme di rappresentazione, devono esistere dei dispositivi che permettano il passaggio dall'una all'altra forma in ambedue i versi. Devono cioe' esistere quei dispositivi che vengono chiamati convertitore D/A e A/D. 6.2) Il campionamento. Come si e’ gia’ accennato i segnali continui, o analogici, possono venir descritti da una funzione continua del tempo. Al contrario i segnali discreti (o digitali) sono rappresentabili con una successione di numeri, che altro non sono se non la misura del corrispondente segnale analogico secondo un’opportuna unita’ di misura. E’ evidente pertanto che un segnale discreto non potra’ essere definito per qualsiasi valore di t, ma la sua descrizione funzionale sara’ valida solo in determinati istanti T1, T2, …., Tn nei quali rappresentera’ l’ampiezza del segnale analogico. Da queste considerazioni discende immediatamente che per passare da una grandezza analogica alla sua rappresentazione digitale la prima operazione da eseguire e’ quella di prelevare negli istanti T1, T2, …., Tn tale grandezza, eseguendo quello che viene chiamato campionamento del segnale. Nell’eseguire il campionamento, tuttavia, vanno adottate opportune precauzioni per consentire di ricostruire a posteriori il segnale. In altre parole la frequenza di campionamento non puo’ essere qualsiasi, ma e’ legata alla massima frequenza contenuta nel segnale da campionare. Si prenda in considerazione un segnale s(t) (figura 6.2 a) e si supponga che esso abbia una banda limitata come illustrato in figura 6.2 (b). (a) (b) s(t) s(f) t -B Tc figura 6.2 210 B f Capitolo VI Conversione A/D e D/A Dalla teoria dei segnali si sa che il segnale campionato, ottenuto prelevando un campione ogni Tc secondi, ha uno spettro che si ottiene da quello di s(t) multiplando tale spettro lungo l’asse delle frequenze a distanza fc = 1/Tc, secondo quanto illustrato in figura 6.3. s(f) 0 -f c -2 f c fc 2 fc f figura 6.3 Considerazioni anche intuitive permettono di affermare che per ricostruire il segnale s(t) i singoli spettri non devono sovrapporsi in lacuna loro parte. In altre parole la frequenza di campionamento fc deve soddisfare la condizione fc ≥ 2B In caso contrario si avrebbe il cosiddetto fenomeno dell’aliasing, con distorsioni anche notevoli del segnale ricostruito. Per assicurare che le condizioni espresse siano rispettate, all’ingresso dei sistemi di conversione A/D viene di solito introdotto un filtro passa-basso, detto filtro antialiasing, che ha lo scopo di limitare superiormente la massima frequenza del segnale analogico che deve’essere campionato. Il circuito di campionamento vero e proprio puo’ venir realizzato nella sua forma piu’ semplice con un interruttore e un condensatore, come illustrato in figura 6.4. S C v s (t) figura 6.4 211 vo Capitolo VI Conversione A/D e D/A In questo circuito la tensione ai capi del condensatore, coincidente con la tensione di uscita, segue il segnale vs(t) quando il tasto S e’ chiuso. Quando il tasto S viene aperto la tensione vo diviene costante con un valore pari a quello di vs(t) all’istante di apertura e a tale valore rimane fino alla successiva chiusura. Un sistema di questo genere, tuttavia, non e’ esente da critiche. In primo luogo la carica del condensatore C dipende dall’impedenza interna del generatore di segnale vs(t). In secondo luogo il condensatore C mantiene l’informazione solo se il circuito a valle ha un’impedenza di ingresso infinita. Per ovviare almeno in parte a questi inconvenienti il circuito campionatore puo’ venir realizzato, ad esempio, secondo lo schema di figura 6.5. - A A vs(t) + + 1 2 vo C tensione di controllo del gate figura 6.5 L’interruttore in tal caso e’ realizzato con un NMOS e quando un segnale positivo applicato al gate lo porta in conduzione il condensatore si carica al valore istantaneo di vs(t). L’inseguitore di tensione A1 ha una duplice funzione. Da un lato non carica il circuito da cui viene prelevato il segnale in virtu’ della sua elevatissima impedenza di ingresso. Dall’altro permette al condensatore C di caricarsi molto velocemente in quanto la costante di tempo relativa e’ Ro.C, dove con Ro si e’ indicata l’impedenza di uscita di A1, che, come si sa, e’ estremamente piccola. Il secondo inseguitore A2 ha il compito di separare il condensatore C dal carico presente in uscita, permettendo una ritenzione dell’informazione per tempi notevolmente elevati. E’ bene che i condensatori utilizzati siano condensatori a policarbonato, polietilene, polistirolo, mylar o teflon; abbiano cioe’ dielettrico con basse perdite. Tipi diversi di dielettrico causerebbero infatti un rapido decadimento della tensione memorizzata con costanti di tempo dell’ordine di alcuni secondi. Inoltre il fenomeno detto di assorbimento dielettrico, per effetto del quale un condensatore “ricorda” una frazione della sua carica precedente quando c’e’ una variazione della tensione ai suoi capi, introdurrebbe un errore nella grandezza memorizzata. Quand’anche polarizzazione del dielettrico e assorbimento non avessero importanza, il tempo di tenuta dell’informazione e’ limitato in quanto la corrente di perdita del MOS in condizioni di interdizione (< 1 nA) e la corrente di polarizzazione di ingresso di A2 (< 1 nA) fluiscono in C. Supponendo pertanto di utilizzare per C un condensatore da 0,5 µF, la tensione ai suoi capi presentera’ una deriva dell’ordine dei 2 mV/sec. E’ necessario poi tener conto che l’interruttore non si apre istantaneamente. C’e’ sempre un tempo, detto tempo di apertura, dell’ordine di 100 nsec e definito come il tempo che intercorre tra l’istante in cui viene applicato il comando sul gate e l’istante in cui il MOS effettivamente commuta. A questo si aggiunge il tempo di acquisizione, cioe’ il tempo necessario affinche il condensatore C si carichi dal vecchio al nuovo valore. 212 Capitolo VI Conversione A/D e D/A Se Ro e la resistenza rDS(on) del MOS fossero trascurabili, il tempo di acquisizione sarebbe determinato dallo slew-rate di A1. Indicando con I la massima corrente che A1 puo’ fornire, la variazione della tensione vc ai capi del condensatore sarebbe: dv c I = dt C Tutti gli amplificatori operazionali hanno correnti massime d’uscita relativamente limitate (dell’ordine di 25 mA) e quindi il tempo di acquisizione diviene non trascurabile. Per ovviare a questo inconveniente si puo’ ricorrere a circuiti del tipo di quello illustrato in figura 6.6. + Vcc - npn A A vs(t) + + 1 pnp porta di controllo 2 vo C - Vcc figura 6.6 In questo circuito la tensione di uscita viene riportata all’ingresso invertente di A1. Cio’ fa si’ che durante l’intervallo di campionamento vs(t) = vo. Nell’intervallo di mantenimento vo rimane invece al valore raggiunto da vs(t) alla fine dell’intervallo di campionamento, a meno della deriva dovuta alla corrente di polarizzazione di A2 e alla corrente di perdita dell’insieme che funge da interruttore. Quanto maggiore e’ il valore di C e tanto minore e’ la deriva. Tuttavia un aumento di C fa aumentare il tempo di acquisizione. Inoltre la presenza di un polo nel guadagno d’anello puo’ generare problemi di stabilita’ del sistema. C pertanto viene scelto come soluzione di compromesso tra queste tre esigenze. E’ opportuno rimarcare che il tempo di tenuta si rende necessario al fine di permettere al convertitore A/D che si trova a valle di eseguire le sue operazioni avendo in ingresso una tensione costante. 6.3) I convertitori D/A. Prima di prendere in esame la struttura dei convertitori A/D e’ opportuno soffermarsi su quei circuiti che effettuano l’operazione inversa, cioe’ sui convertitori D/A. Molto spesso infatti i convertitori A/D si avvalgono di un convertitore D/A in un loop di reazione. Un convertitore D/A e' essenzialmente un dispositivo che accetta come ingresso un segnale digitale D e un riferimento analogico R e genera un'uscita analogica A legata all'ingresso dalla relazione: 213 Capitolo VI Conversione A/D e D/A A = R.D Il numero rappresentato da D si considera sempre minore dell'unita'. D cioe' e' essere rappresentato nella forma: D = a1 .2 −1 + a 2 .2 −2 + ...........+ a n .2 − n (a i = 1,0) Pertanto l'uscita del convertitore D/A e' data da: ( A = R. a 1 .2 −1 + a 2 .2 −2 + ........... + a n .2 − n ) (6.3.1) Da un punto di vista elementare e puramente qualitativo un convertitore D/A potrebbe venir visto come un potenziometro digitale in cui R e' la tensione applicata ai capi del potenziometro e l'angolo di rotazione Θ del cursore (fig. 6.7) e' rappresentato dal numero D. VR R D D/A V A 0 Θ fig. 6.7 In tutte le considerazioni finora svolte, tuttavia, non si e' affatto preso in considerazione il segno del numero D, che e' stato implicitamente preso come positivo, al pari di R e di A. Cio' non e' sempre vero. Ritornando all'analogia con il potenziometro e' evidente che per farlo operare con ambedue i segni, ottenendo nel contempo anche un'uscita bipolare, e' necessario prendere opportuni provvedimenti. La fig. 6.8 illustra due possibili modi con cui si puo' ottenere quanto voluto. In fig. 6.8 (a) il potenziometro e' connesso tra due tensioni di riferimento, + VR e - VR, e il riferimento rispetto al quale si misurano le rotazioni e' posto a mezza corsa, in modo che quando Θ = 0 le tensione di uscita V0 sia anch'essa nulla. Per rotazioni positive la tensione di uscita sara' positiva, per rotazioni negative, negativa. Con riferimento alla fig. 6.7 (b) il segnale Θ e' rappresentato in ampiezza e segno separatamente. Un lato del potenziometro e' connesso a massa, l'altro e' commutato, in funzione del segno di Θ, sui riferimenti +VR e - VR rispettivamente. L'uscita di tale circuito e' evidentemente la stessa di quella del circuito di fig. 6.7 (a), ma per ottenere la stessa tensione di uscita la corsa del cursore dev'essere doppia. 214 Capitolo VI Conversione A/D e D/A +VR +VR -VR Θsegno V0 V0 Θ polarizzato Θ ampiezza -VR (a) (b) fig. 6.7 I convertitori D/A operano in modo del tutto simile; in altre parole e' la codifica del segnale digitale che determina la configurazione del convertitore. Il progetto e la scelta del convertitore piu' adatto ad un sistema non e' affatto semplice. Normalmente un convertitore non soddisfa tutte le specifiche ed e' necessario ricorrere a soluzioni di compromesso. I principali fattori, comuni a tutti i convertitori, da tener presenti per ottenere la migliori prestazioni in rapporto alla dimensione, al peso e al costo sono: 1. Prestazioni. Le prestazioni di un convertitore D/A devono sempre essere commisurate al costo, alle dimensioni e al peso. Ad esempio il costo di un resistore aumenta esponenzialmente in funzione della sua precisione. Da un altro punto di vista vi e' sempre un punto nella curva prestazioni-costo di un convertitore, al di sopra del quale qualsiasi miglioramento delle prestazioni, anche piccolo, comporta un costo irragionevolmente alto. Questo punto nei convertitori D/A di normale impiego si puo' ritenere situato nell'intorno della precisione dello 0.05% (pari a un numero binario di ingresso da 12 bit) su tutto il campo di temperatura di esercizio. 2. Alimentazioni di riferimento. Tutti i convertitori D/A a funzionamento bipolare richiedono delle tensioni di riferimento positive e negative, che devono essere stabili e precise entro lo 0.01% del loro valore nominale, se il convertitore deve essere preciso entro lo 0.05% del fondo scala. Tali alimentazioni di riferimento devono avere una bassa impedenza d'uscita, bassa ondulazione residua e basso rumore. In diversi casi inoltre esse devono avere la capacita' di fornire o assorbire rilevanti correnti. 3. Alimentazioni di potenza. Nella maggior parte dei convertitori D/A le alimentazioni di potenza sono necessarie solo per gli amplificatori (di norma operazionali) presenti. Pertanto il loro valore e' normalmente compreso tra ± 12 V e ± 18V. Le alimentazioni sono di regola uguali in ampiezza e stabili entro l'uno per cento, con bassa ondulazione residua, rumore e impedenza d'uscita. 4. Buffers. 215 Capitolo VI Conversione A/D e D/A All'ingresso dei convertitori sono di solito presenti dei buffers digitali in quanto i segnali di ingresso si possono ritenere validi solo in determinati istanti. Quando inoltre si operi con convertitori D/A seriali o con tecniche multiplex anche sull'uscita dovranno venir inseriti dei buffers analogici. 5. Amplificatori. Nella realizzazione dei convertitori D/A viene di solito usato almeno un amplificatore operazionale, che somma le varie componenti di corrente e le converte in una tensione di uscita a bassa impedenza. Caratteristiche essenziali di un amplificatore operazionale sono gli offset di tensione e corrente e la loro dipendenza dalla temperatura, il guadagno di tensione o di corrente, la risposta di frequenza, la velocita' di salita della tensione di uscita (slew rate) e l'ampiezza massima dell'uscita. Nei convertitori D/A solamente l'offset rappresenta un reale problema, in particolare se il convertitore deve avere una precisione dello 0.05% del fondo scala nel campo di temperatura a norme MIL (-55° C / 125° C). Cio' implica che la tensione di uscita deve mantenersi stabile entro lo 0.01% del fondo scala o entro ± 1 mV del valore desiderato. Nemmeno i piu' sofisticati amplificatori differenziali possono soddisfare queste caratteristiche e si devono quindi impiegare delle tecniche di correzione dell'offset e della deriva. Nel seguito si supporra' che tutti i convertitori che verranno presi in considerazione corrispondano alle seguenti caratteristiche, quando non verra' altrimenti specificato. • I segnali analogici di uscita saranno limitati a tensioni continue comprese, se possibile, tra + 10 e - 10 volt. I convertitori con uscita in alternata verranno trattati a parte. • I segnali digitali sanno numeri in forma seriale o parallela, codificati in complemento a 2 o binario offset, come verra' illustrato in un successivo paragrafo. • Per convenzione si fara' riferimento alla logica positiva. Pertanto nelle realizzazioni con transistori bipolari o CMOS uno zero logico sara' rappresentato da una tensione nulla, un uno logico da una tensione positiva, mentre nelle realizzazione PMOS uno zero logico sara' rappresentato da una tensione negativa, un uno logico da una tensione nulla. • Il campo di temperatura su cui il convertitore dovra' mantenere le sue caratteristiche sara' quello a norme MIL (-55° C / 125° C). • Gli amplificatori operazionali eventualmente presenti saranno corretti rispetto all'offset e alla deriva entro il ± 0.01% del loro fondo scala. Si assumera' inoltre che tutti gli altri parametri essenziali dell'amplificatore siano tali da non introdurre errori significativi. 6.3.1) Codici di ingresso. Prima di passare all'esame, sia pure sommario, di alcuni aspetti relativi alla conversione D/A e' opportuno dare un cenno sui piu' comuni codici utilizzati. E' abbastanza evidente, da quanto gia' visto, che usando la rappresentazione binaria posizionale si possono manipolare solo grandezze unipolari. Per rappresentare grandezze sia positive che negative e' necessario ricorrere a codici bipolari, in cui a uno dei bit sia attribuito il significato di segno. I codici piu' diffusi sono: • Complemento a 2 • Binario offset • Complemento a 1 • Segno e ampiezza 216 Capitolo VI Conversione A/D e D/A anche se non sono infrequenti altri codici, quali ad esempio il decimale codificato in binario (BCD) o il codice di Gray. In fig. 6.8 sono riportati i diversi codici citati con riferimento a un fondo scala pari a 7. CODICI Numero riferimento positivo riferimento negativo Segno e ampiezza Comp. a 2 Comp. a 1 7/8 6/8 -7/8 -6/8 0111 0110 0111 0110 0111 0110 1111 1110 5/8 4/8 -5/8 -4/8 0101 0100 0101 0100 0101 0100 1101 1100 3/8 2/8 -3/8 -2/8 0011 0010 0011 0010 0011 0010 1011 1010 1/8 0+ -1/8 0- 0001 0000 0001 0000 0001 0000 1001 0000 -1 0-1/8 0+ 1/8 1000 1001 (0000) 1111 (1111) 1110 (1000) 0111 -2 -3 -2/8 -3/8 2/8 3/8 1010 1011 1110 1101 1101 1100 0110 0101 -4 -5 -4/8 -5/8 4/8 5/8 1100 1101 1100 1011 1011 1010 0100 0011 -6 -6/8 6/8 1110 1010 1001 0010 -7 -8 -7/8 -8/8 7/8 8/8 1111 ------ 1001 1000 1000 ------ 0001 (0000) 7 6 5 4 3 2 1 0 0 Binario offset fig. 6.8 6.3.2) Codice complemento a 2. Si supponga di voler rappresentare un numero N con n bit. Il massimo numero rappresentabile in numerazione binaria posizionale e' ovviamente il valore 2 n − 1. Nel codice complemento a 2 si limitano i numeri positivi rappresentabili al valore 2n -1 - 1, che puo' venir rappresentato con n-1 bit, in modo che il piu' grande numero positivo rappresentato contenga sempre uno 0 al rango piu' significativo e degli 1 o degli 0 in tutte le altre posizioni. Rappresentando allora i numeri negativi con il complemento a 2n, cioe' rappresentando il numero -N (N>0) con la quantita' 2n -N e ricordando che N < 2n-1 si deduce che la rappresentazione complementata di -N sara' un valore maggiore di 2n-1 e minore di 2n. Cio' significa che nella stringa di n bit, rappresentativa del numero negativo considerato, la posizione piu' significativa, detta bit di segno, sara' sempre riempita da un 1. Uno dei vantaggi della rappresentazione complemento a 2 risiede nel fatto che tale complemento si ottiene con notevole facilita'. Dato il valore assoluto del numero (0 < N ≤ 2n -1 - 1) il complemento a 2 si ottiene semplicemente per negazione di ciascun bit della stringa, sommando poi un'unita' al risultato ottenuto. Analoga operazione va compiuta quando da un valore negativo si vuol passare al suo valore assoluto. Va notato a questo proposito che al campo dei numeri negativi rappresentabili appartiene anche quello formato da un 1 nel rango piu' significativo, seguito da tutti 0, pari al valore - 2n -1 , ma che, con le convenzioni assunte, il suo valor assoluto non e' rappresentabile su n bit. La diffusione di tale codice e' dovuta al fatto che l'uscita di molti circuiti di controllo e di calcolo e' in tale forma. La rappresentazione complemento a 2 ha infatti come ulteriore vantaggio il fatto che la differenza N1 - N2 si ottiene semplicemente sommando a N1 la rappresentazione complementata di - N2. Si ha infatti: ( ) N1 + 2 n − N 2 = 2 n + ( N1 − N 2 ) Se (N 1 − N 2 ) ≥ 0 allora il risultato dell'operazione e' maggiore o uguale a 2n e per rappresentare tale valore sarebbe necessaria una stringa di n + 1 bit. Pertanto il bit rappresentativo 217 Capitolo VI Conversione A/D e D/A del rango 2n va perso e nella stringa dei rimanenti n bit rimane pertanto rappresentata proprio la stringa N1 − N 2 . Se viceversa N1 − N 2 < 0 allora si puo' scrivere che: 2 n + ( N 1 − N 2 ) = 2 n − ( N 2 − N1 ) e ricordando che N1 − N 2 < 2 n −1 − 1 nella stringa di n bit si ha proprio la rappresentazione complementata del risultato. Infine con questo codice la rappresentazione dello zero non e' ambigua. Applicando le operazioni di complementazione descritte ad una stringa formata da tutti zero si ottiene ancora una stringa formata da tutti zero. E' evidente che se la parola di comando X del convertitore e' nella forma complemento a 2, il bit piu' significativo dovra' connettere il relativo ingresso ad un generatore di riferimento di segno opposto a quello degli altri bit. Uno svantaggio che tuttavia il codice complemento a 2 presenta risiede nel fatto che passando dal valore 0 (00......0) a quello -1 (11......1) tutti i bit della parola commutano. Con riferimento alla realizzazione circuitale dei convertitori paralleli, cio' puo' causare sia dei picchi di assorbimento dalle alimentazioni, siano esse di riferimento che di potenza, sia dei tempi di transitorio rilevanti a causa delle differenti velocita' con cui i vari bit commutano. 6.3.3) Codice binario offset. Il codice binario offset e' molto simile alla rappresentazione complemento a 2 ed e' il codice di ingresso piu' conveniente per un convertitore D/A parallelo. L’unica differenza riscontrabile rispetto al codice complemento a 2 risiede nel fatto che il bit di segno risulta negato. Da un altro punto di vista si potrebbe dire che l'offset binario e' una numerazione binaria posizionale il cui 0 coincide con il fondo scala negativo della grandezza rappresentata. Questo codice risulta particolarmente conveniente quando il convertitore debba venir utilizzato sia per grandezze unipolari che bipolari. Si passa infatti dall'uno all'altro tipo di funzionamento con semplici operazioni di spostamento dell'offset. Con riferimento alla fig. 6.9, che riporta una possibile realizzazione circuitale di principio di un convertitore D/A, risulta evidente che per lavorare in modalita' bipolare il convertitore deve venir polarizzato. Cio' puo' essere fatto semplicemente connettendo un resistore di polarizzazione Rb tra una sorgente di riferimento -VR e la giunzione somma dell'amplificatore operazionale che provvede a sommare le varie componenti di corrente e a convertirle in una tensione di uscita. Il resistore di polarizzazione viene aggiustato in modo che la corrente che lo attraversa sia in valor assoluto pari alla corrente del rango piu' significativo. In tal caso in presenza di un ingresso binario rappresentante lo zero (10......0) le correnti di polarizzazione e di ingresso hanno somma nulla, dando percio' luogo ad una tensione d'uscita nulla. Per ottenere la modalita' di funzionamento unipolare e' sufficiente non polarizzare il convertitore. E' ovvio che per avere lo stesso fondo scala sia in modalita' unipolare che bipolare e' necessario nel primo caso raddoppiare la resistenza di reazione dell'amplificatore operazionale; in tal caso tuttavia raddoppia anche il passo di quantizzazione. 218 Capitolo VI Conversione A/D e D/A +VR 20 k -I/2 a1 20 k -VR Ingresso digitale parallelo I/2 a2 20 k 40 k I/4 80 k a3 Vo I/8 a 12 40.96 M I/2 12 fig. 6.9 Uno svantaggio del codice binario offset e' che nel caso di ingresso nullo si puo' avere un'uscita non nulla se la corrente del rango piu' significativo non e' perfettamente bilanciata dalla corrente di polarizzazione. Inoltre anche con tale codice il passaggio dal valore zero (10......0) a quello -1 (01......1) porta ad una massiccia commutazione con tutti gli inconvenienti gia' descritti nel caso del codice complemento a 2. 6.3.4) Codice segno e ampiezza. Come lo stesso nome lascia intuire, in questo codice la parola e' divisa in due parti, segno e ampiezza. In altre parole la codifica per i numeri negativi e' la stessa che per i numeri positivi eccetto che per il bit di segno. L'utilizzo di questo codice risulta conveniente quando si abbia a che fare con grandezze che oscillano nell'intorno dello zero, in quanto nel passaggio da valori positivi a negativi e viceversa si ha la commutazione di uno o al piu' di qualche bit. E' tuttavia opportuno notare che questa rappresentazione si rivela poco adatta all'elaborazione numerica con sistemi di calcolo, che di solito adottano un'aritmetica complemento a 2. Esiste inoltre un'ambiguita' nella rappresentazione dello zero (00.....0 o 10.....0). 6.3.5) Codice complemento a 1. Il codice complemento a 1 e' molto simile a quello complemento a 2, ma in questo caso il complemento viene realizzato rispetto al valore 2n - 1 anziche' rispetto 2n. Esso presenta il vantaggio che un numero negativo si ottiene semplicemente negando i singoli bit del corrispondente positivo. Le operazioni aritmetiche sono tuttavia piu' difficoltose ed esistono due possibili rappresentazioni per lo zero (00......0 e 11......1). 219 Capitolo VI Conversione A/D e D/A TABELLA 6.1 Conversione tra codici da a Segno e ampiezza Complemento a 2 Segno e ampiezza Complemento a 2 Binario offset Complemento a 1 nessuna operazione Se il bit piu' significativo vale 1 complementare gli altri bit Complementare il bit piu' significativo e se il nuovo va- Se il bit piu' significativo vale 1 complementare gli altri bit e sommare 1 lore e' 1 sommare 1 Se il bit piu' significativo vale 1 complementare gli altri bit e sommare 1 nessuna operazione Complementare il bit piu' significati- Se il bit piu' significativo vale 1 somma- vo re 1 Complementare il Binario offset Complemento a 1 bit piu' significativo e se il nuovo valore e' 0 complementare gli altri bit e sommare 1 Se il bit piu' significativo vale 1 complementare gli altri bit Complementare il bit piu' significativo Se il bit piu' significativo vale 1 sommare 11......1 nessuna operazione Complementare il bit piu' significativo e se il nuovo valore e' 0 sommare 1 Complementare il bit piu' significativo e se il nuovo valore e' 1 sommare 11.....1 nessuna operazione Questa sommaria disamina non esaurisce ovviamente tutti i possibili codici. Esistono codici modificati, autocomplementanti, di Gray, etc, i cui vantaggi generalmente risiedono nelle semplificazioni che permettono di apportare alle reti di commutazione dei convertitori o nella maggior velocita' di conversione conseguibile. In tabella 6.1 sono riassunte le operazioni che permettono di passare dall'uno all'altro dei codici descritti. 6.4) I convertitori D/A paralleli. Si definisce convertitore D/A parallelo quello che accetta come ingresso un segnale binario Xp in forma parallela e utilizza tanti interruttori analogici quanti sono i bit di Xp. Ciascuna linea di ingresso di Xp aziona un interruttore che collega una tensione di riferimento VR o la massa ad un'opportuna rete resistiva, come illustrato in fig. 6.10. La rete resistiva normalmente converte la tensione presente su ciascuna linea di ingresso in una corrente di opportuna ampiezza, che viene sommata con le altre correnti, generate dagli altri interruttori e resistori. La corrente totale viene poi convertita in tensione, ad esempio facendo ricorso a un amplificatore operazionale. E' ovvio che se il convertitore fosse di tipo bipolare sono necessarie due tensioni di riferimento, l'una positiva e l'altra negativa. I convertitori paralleli sono i piu' veloci in quanto sono in grado di fornire la tensione di uscita non appena il segnale digitale di ingresso viene applicato. La velocita' di risposta e' limitata unicamente dalla velocita' degli interruttori analogici, dalle reattanze parassite associate ai resistori della rete e dalla velocita' di salita degli amplificatori eventualmente presenti. 220 Capitolo VI Conversione A/D e D/A a 1 VR Ingresso digitale parallelo a I/2 2 I/4 a3 Vo I/8 a 12 I/2 12 fig. 6.10 Per contro i convertitori paralleli richiedono che il segnale di ingresso sia presente in maniera continuativa. Poiche' molti circuiti digitali di controllo forniscono l'uscita solo a certi specifici intervalli di tempo, spesso e' necessario prevedere dei circuiti in grado di memorizzare il segnale digitale tra la presentazione di un dato e l'altro. Ingresso parallelo Comando di caricamento FF 1 FF 2 FF 3 FF n Uscita parallela (a) Comando di scorrimento Ingresso seriale FF 1 FF 2 FF 3 FF n Uscita parallela (b) Comando di scorrimento Ingresso seriale Comando di caricamento FF 1 FF 2 FF 3 FF n FF 1 FF 2 FF 3 FF n Uscita parallela (c) fig. 6.11 Per segnali che pervengono al circuito in forma parallela la memoria consiste in un flip-flop per ciascun bit (fig. 6.11 (a)) della parola binaria di ingresso. Normalmente non e' prevista alcuna tecnica di interlacciamento per il caricamento dei dati, poiche' tale operazione e' pressocche' istantanea e richiede tempi che di solito sono trascurabili rispetto al tempo di conversione. Per segnali di ingresso che pervenissero invece in forma seriale, viene invece previsto un insieme di n flip-flop connessi a formare un registro a scorrimento (fig. 6.11 (b)) e vi deve evidentemente essere un clock sincronizzato con i bit della parola seriale. E' essenziale che sia il numero degli impulsi di avanzamento che la loro temporizzazione siano esatti. 221 Capitolo VI Conversione A/D e D/A La parola binaria di uscita in forma parallela e' disponibile dopo che il processo di memorizzazione e' stato completato; e' evidente che durante le operazioni di conversione da seriale a parallelo l'uscita del convertitore D/A fornira' delle tensioni errate. Se l'uscita analogica viene usata come ingresso di sistemi a lunga costante di tempo, tale errore, generalmente di breve durata, e' di solito tollerato. In caso contrario l'uscita del registro a scorrimento viene accumulata in un buffer parallelo (fig. 6.11 (c)) in modo da evitare tale errore. Il comando di caricamento del buffer parallelo viene dato non appena l'operazione di memorizzazione nel registro a scorrimento e' terminata. 6.4.1) Convertitore D/A a resistenze pesate. Il piu' semplice e diretto metodo di conversione e' quello a resistenze pesate che fa uso di un resistore per bit, secondo lo schema di fig. 6.12 (a). Le resistenze hanno ciascuna un valore inversamente proporzionale al peso del bit cui risultano collegate. +VR -VR M.S.B. R 2R L.S.B. +VR V0A -VR V0A R M.S.B. RL RL 2R 4R L.S.B. 4R 4R resistore di terminazione (b) (a) fig. 6.12 La resistenza di uscita R0 della rete, supponendo che i generatori di riferimento approssimino sufficientemente dei generatori di tensione, e' evidentemente: 1 1 1 1 7 = + + = R R0 R 2R 4 R 4 cioe' R0 = Generalizzando al caso di n bit si ottiene: 4 R 7 1 1 1 1 2n − 1 = + + ...... + n −1 = n −1 R R0 R 2R 2 R 2 222 Capitolo VI Conversione A/D e D/A R0 = 2 n −1 .R 2n − 1 e quindi all'aumentare di n R0 tende al valore R/2. La tensione di uscita e' ovviamente funzione della parola binaria di ingresso. E' facile vedere che con l'i-esimo bit posto a 1 e tutti gli altri a 0 la tensione di uscita, con resistenza di carico infinita, vale : V0 = 1 2 . i −1 2 n −1 . VR 2n − 1 e quindi per sovrapposizione degli effetti n −1 1 1 1 2 V0 = b1 + .b 2 + .b 3 + ...... + n −1 .b n . n .VR 2 4 2 2 −1 Qualora non si possa trascurare l'effetto del resistore di carico RL la tensione di uscita sara': V0' = V0 . RL R L + R0 Spesso la rete viene modificata con l'aggiunta di un resistore di valore pari a quello del bit meno significativo, come illustrato in fig. 6.12 (b). In tal caso l'impedenza d'uscita e' sempre pari a R/2, indipendentemente dal numero di bit della parola digitale. Anche l'espressione della tensione di uscita ne risulta semplificata. Si ha che: 1 1 1 1 V0 = .b1 + .b 2 + .b 3 + ...... + n .b n .VR 4 8 2 2 Un vantaggio della rete a resistori pesati risiede nel fatto che la corrente che il generatore di riferimento deve fornire diminuisce con il diminuire della significativita' del relativo bit. D'altra parte all'aumentare del numero di bit della parola digitale il valore dei relativi resistori cresce esponenzialmente e resistori molto precisi di elevato valore sono difficili sia da realizzare che molto costosi, anche quando non si volesse tener conto delle costanti di tempo introdotte dalle capacita' parassite, che limitano la velocita' operativa, e delle conduttanze parassite fonte di errore. Non e' ovviamente pensabile di superare questi inconvenienti riducendo oltre un certo limite la resistenza relativa la bit piu' significativo. Pertanto la realizzazione a resistori pesati non viene in pratica utilizzata quando la parola digitale ha un numero di bit superiore a otto. La precisione dei convertitori a resistenze pesate e' migliore dello 0.1% del fondo scala se si assume che la tensione di riferimento abbia una tolleranza massima dello 0.01%, che la tolleranza dei resistori sia inferiore allo 0.05% e che l'errore introdotto dagli interruttori sia limitato allo 0.05%. La velocita' di conversione e' limitata, come gia' osservato, dai tempi di commutazione degli interruttori e dalle reattanze parassite. Gli interruttori usati sono di solito serie-parallelo, come quello illustrato in fig. 6.13. I due gate sono pilotati in controfase in modo che ci sia sempre uno dei due MOS in conduzione e che 223 Capitolo VI Conversione A/D e D/A l’impedenza vista dall’ingresso della rete di conversione sia approssimativamente costante sia nello stato ON che in quello OFF dell’interruttore. VR C C figura 6.13 6.4.2) Convertitore D/A con rete resistiva a scala. I convertitori D/A con rete resistiva a scala (resistor ladder D/A converter), malgrado usino un numero di componenti maggiore che non i convertitori con resistenze pesate, sono il tipo di convertitore piu' largamente diffuso. In fig. 6.14 (a) e' riportata la rete di conversione di un convertitore da quattro bit (fondo scala ± 7). Si puo' notare che vengono usati solamente due valori di resistenza, R e 2R. E' facile calcolare la resistenza di uscita, pari a R, di tale rete, supponendo che tutti gli interruttori siano connessi a massa. In tal caso infatti il circuito equivalente e' quello illustrato in fig. 6.14 (b). Questo valore di impedenza di uscita si conserva anche quando gli interruttori non sono commutati a massa, purche' l'impedenza interna dei generatori di riferimento sia trascurabile rispetto R. 2R 1 +VR -VR 4 b3 2R 2 b4 RL R 5 b2 R 2R 3 6 b1 2R (a) 4 uscita R 5 (b) R 6 2R 2R 3 2 2R 1 2R fig. 6.14 Il valore scelto per R dipende dal valore del carico RL, dalle variazioni che tale carico puo' subire e dalla precisione del sistema. Solo nel caso in cui il carico sia di valore molto elevato, al 224 Capitolo VI Conversione A/D e D/A limite un circuito aperto, il valore di R e' determinato essenzialmente da considerazioni di velocita' operativa. Quanto piu' bassa e' R tanto minore sara' l'impedenza di uscita e di conseguenza tanto meno sensibili saranno gli effetti delle capacita' e delle conduttanze parassite. La tensione di uscita a vuoto e' anche in questo caso calcolabile per sovrapposizione degli effetti considerando che solo un bit alla volta valga 1 (a parte il bit di segno che determina univocamente il segno della tensione di uscita). Con riferimento alla fig. 6.14 (a), indicando con b4b3b2b1 la parola binaria di ingresso e supponendo di operare a circuito aperto si ottiene: con b3b2b1= 100 V0 = 1 VR 2 V0 = 1 VR 4 con b3b2b1= 010 con b3b2b1= 001 1 V0 = VR 8 In definitiva: 1 1 1 V0 = .b 3 + .b 2 + .b1 .VR 4 8 2 La tensione di uscita sara' quindi compresa tra 0 e i 7/8 della tensione di riferimento VR. La rete pertanto quantizza la tensione di riferimento in un appropriato numero di passi uguali, messi in relazione con il numero rappresentato dalla parola binaria di ingresso. Estendendo quanto esposto a parole di n bit, il passo di quantizzazione diviene ovviamente 1/2n , mentre il fondo scala e' determinato dal massimo valore rappresentabile sugli n bit. Si ha cioe': ( ) V2 V0 fs = 2 n − 1 . R n In generale la tensione di uscita sara': 1 1 1 V0 = .b1 + .b 2 + ...... + n .b n .VR 4 2 2 avendo indicato con b1 il bit piu' significativo della parola digitale di ingresso. Se la resistenza RL di carico non fosse infinita la tensione di uscita che si ottiene e' ovviamente: V0' = V0 . RL RL + R 225 Capitolo VI Conversione A/D e D/A 6.4.2) Altri tipi di convertitori D/A. Oltre i tipi di convertitore D/A visti ne esistono ovviamente altri con strutture circuitali diverse. Tra essi puo’ venir citato il convertitore D/A a correnti pesate illustrato in figura 6.15, di struttura particolarmente semplice. 4/7 I V0A 2/7 I RL 1/7 I fig. 6.15 Esso si avvale di generatori di corrente comandati, che in caso di uscita unipolare sono molto facili da realizzare. Qualche difficolta’ si puo’ avere per quanto riguarda l’accuratezza dello zero a causa delle correnti di perdita in particolare quando si operi ad alta temperatura. Inoltre, quando la resistenza di carico RL assume elevati valori, puo’ diventare alquanto problematico realizzare sorgenti che abbiano resistenza d’uscita molto maggiore di quella di carico. Di conseguenza la conversione a correnti pesate risulta conveniente solo in sistemi di conversione di precisione medio-bassa in cui tuttavia si desiderino velocita’ di conversione elevate. Un’ulteriore tipologia di convertitore D/A e’ quella detta a tensioni pesate, il cui schema di principio e’ riportato in figura 6.16. VR R R R R a1 R R ingresso binario parallelo R R/2 a2 V0 R/6 a3 R R n R/(2- 2) an fig. 6.16 226 Capitolo VI Conversione A/D e D/A In esso vengono generate frazioni binarie di corrente I/2, I/4, ...., I/2n dividendo la tensione di riferimento in frazioni binarie con divisori resistivi del tutto convenzionali e sommando tali frazioni alla giunzione somma di un amplificatore operazionale. Viene usato un interruttore per ciascun bit del segnale di ingresso, controllato ciascuno da una separata linea di comando. Quando il livello del segnale di controllo e' basso (zero logico) l'interruttore e' aperto e una corrente fluisce attraverso la resistenza di ingresso fino alla giunzione somma, mentre quando e' il segnale di controllo e’ al livello alto l'interruttore e' chiuso cortocircuitando a massa il resistore di ingresso. Un convertitore D/A a tensioni pesate da 12 bit consiste pertanto di 48 resistori, di cui 36 di precisione, di dodici transistori e di un amplificatore operazionale. I dodici transistori sono pilotati direttamente dalle 12 linee che rappresentano il segnale binario di ingresso. Tali transistori sono connessi in configurazione inversa in modo da dar luogo a basse tensioni di offset. A titolo di esempio si puo' dire che con una corrente di base di 2 mA e una corrente di carico di 0.25 mA la massima tensione di offset e' minore di 1 mV sull'intero campo di temperatura. Il valore delle resistenze serie deve venir scelto come soluzione di compromesso tra l'esigenza di avere basse correnti di carico nel transistore di commutazione e quella di mantenere le resistenze le piu' basse possibili. Un valore che soddisfa abbastanza bene tali esigenze di aggira sui 40 kΩ. Le due esigenze si potrebbero in effetti conciliare diminuendo la tensione di riferimento, ma cio' introdurrebbe altri problemi, facendo aumentare il rapporto tra le tensioni da commutare e la tensione di offset. Il valore delle resistenze da inserire in parallelo puo' venir calcolato dalla relazione: R pi = R 2 −2 i = 1, 2, ...., n i che si ricava immediatamente qualora si consideri che al punto di inserzione dell'interruttore, a interruttore aperto, deve essere presente una tensione pari a: VR 2i 6.4.3) Pilotaggio di una giunzione somma. L'uscita di uno qualsiasi dei convertitori descritti in precedenza, con l’eccezione di quello a tensioni pesate, in cui tale provvedimento e’ gia’ presente nella struttura base, puo' essere connessa ad una giunzione a somma nulla che si puo' ottenere facendo si' che la corrente fornita dal convertitore D/A sia uguale ed opposta a quella fornita da altre sorgenti. Operando in tal modo si fa si' che la giunzione somma sia sempre a tensione nulla, come se l'uscita del convertitore fosse cortocircuitata a massa. Un possibile esempio e' riportato in fig. 6.17, in cui l'uscita di un convertitore a resistenze pesate e' collegata alla giunzione somma di un amplificatore operazionale. E' opportuno ricordare che se il guadagno a catena aperta dell'amplificatore e' sufficientemente elevato, la tensione presente alla giunzione somma e' praticamente nulla (massa virtuale) indipendentemente dalla tensione V0A presente all'uscita dell'amplificatore stesso. In tali condizioni ciascun bit della parola digitale di ingresso che si trovi al valore logico 1 opera come una sorgente di corrente e alla giunzione somma deve essere soddisfatta la condizione: I1 . b1 + I 2 . b 2 + I 3 . b 3 + I 4 . b 4 − I F = 0 227 Capitolo VI Conversione A/D e D/A avendo indicato con Ii la corrente entrante alla giunzione somma per effetto del bit i-esimo e con IF la corrente uscente lungo la resistenza RF. +VR giunzione somma -VR R b1 2R b2 RF K V0A massa virtuale b 4R 3 8R b4 fig. 6.17 Trasportando il tutto al caso di n bit si ottiene: b b b I F = VR . 1 + 2 + ...... + n −1n 2 .R R 2.R Poiche' V0A = - IF.RF, si ha in definitiva: e il fondo scala e' dato da: b b b V0 A = − VR .R F . 1 + 2 + ...... + n −1n 2 .R R 2.R V0 FS = − VR . RF R0 dove R0 rappresenta l'impedenza di uscita della rete di conversione. In sostanza la relazione trovata e' formalmente identica a quella che era stata ricavata in assenza dell'amplificatore operazionale. In questo caso tuttavia si consegue il vantaggio di poter scegliere entro certi limiti il valore della tensione di fondo scala scegliendo opportunamente il valore di RF e di rendere la tensione di uscita indipendente dal valore della resistenza di carico. E' bene osservare tuttavia che nelle realizzazioni integrate dei convertitori D/A molto spesso la resistenza di reazione viene essa stessa integrata nel dispositivo. E' infine opportuno illustrare un uso non del tutto convenzionale dei convertitori D/A presi in esame. Con alcune semplici considerazione si ottiene che un convertitore connesso alla giunzione somma di un amplificatore operazionale fornisce in uscita dello stesso la tensione: − V0 = VR . R F b1 b 2 b . + + ...... + nn R 2 4 2 228 Capitolo VI Conversione A/D e D/A avendo indicato con RF la resistenza di reazione e con R l'impedenza di uscita della rete di conversione. Considerato che: b1 b 2 b b .2 n −1 + b 2 .2 n − 2 + ......+ b n .2 0 B + + ...... + nn = 1 = n 2 4 2 2n 2 dove con B si e' indicato il valore rappresentato dalla parola binaria di ingresso, risulta evidente che, se all'ingresso viene applicato un segnale Vi anziche' una sorgente di riferimento VR, in uscita si ottiene una tensione: V0 = − Vi . R F .B R .2 n Si ottiene cioe' un amplificatore invertente il cui guadagno puo' essere controllato, con la precisione propria dei convertitori D/A, attraverso l'uso di una parola digitale B da n bit tra un valore nullo, quando B = 0, e il valore: R F 2n − 1 . R 2n quando B e' tutta formata da 1. Il guadagno puo' essere controllato in passi discreti di ampiezza: RF 1 . R 2n In sostanza il convertitore puo' essere visto come una resistenza variabile di valore 2n R. B E' ovvio che il convertitore D/A puo' essere inserito anche nel loop di reazione. Il tal caso l'espressione del guadagno e': 2n V0 B =− Vi Ri R. Anche in questo caso si ottiene un amplificatore il cui guadagno e' controllabile attraverso una parola binaria, ma il legame tra il guadagno e B e' di proporzionalita' inversa. Per questo motivo molto spesso in parallelo al convertitore viene connessa una resistenza fissa RF e il convertitore viene utilizzato unicamente per ottenere piccole variazioni del guadagno nell'intorno del valore nominale. Quale ultima considerazione relativa ai convertitori che fanno uso di amplificatori operazionali (in sostanza tutti i convertitori reperibili in commercio) e' necessario far notare che le caratteristiche dell'amplificatore condizionano le prestazioni globali. Le caratteristiche essenziali da prendere in considerazione in questo caso sono, come gia' accennato, gli offset di tensione e di corrente e la loro dipendenza dalla temperatura, il guadagno, la risposta di frequenza, lo slew rate e la massima ampiezza dall'uscita. 229 Capitolo VI Conversione A/D e D/A Nella maggior parte dei casi tuttavia solo l'offset costituisce un reale problema, in particolare se il convertitore deve avere una precisione dello 0.05% del fondo scala nella gamma di temperatura a norme MIL (-55° - 125° C). Cio' implica infatti che la tensione di uscita si debba mantenere stabile entro il ± 0.01% del fondo scala o entro ± 1 mV del valore desiderato. Nemmeno i piu' sofisticati amplificatori differenziali possono soddisfare questi requisiti e si devono quindi applicare opportune tecniche di correzione dell'offset e della deriva. Infine anche le alimentazioni degli amplificatori rivestono la loro importanza. Esse sono generalmente duali e nonostante il buon PSRR (Power Supply Rejection Ratio) degli amplificatori correntemente disponibili e' necessario che esse siano uguali in ampiezza, stabili entro il ± 1%, a basso rumore, a bassa ondulazione residua con un'impedenza d'uscita la piu' bassa possibile. 6.4.3) Il convertitore D/A con rete a scala invertita. Tutti i convertitori presi in esame fino a questo momento presentano una rete di resistori posta tra gli interruttori analogici e l'amplificatore operazionale (fig. 6.18 (a)). Questa disposizione circuitale da' luogo a parecchi inconvenienti. E' necessario infatti commutare tensioni relativamente elevate rendendo necessari dei piloti a tensione elevata, che sono complessi e lenti. Le correnti che attraversano i resistori variano al passaggio degli interruttori dallo stato ON a quello OFF e viceversa. Poiche' tutti i resistori presentano elementi parassiti induttivi e capacitivi, le correnti che vi fluiscono vanno a regime in un tempo che dipende dall'entita' degli elementi parassiti. Infine, come si e' gia' detto, per aumentare la velocita' i resistori dovrebbero essere di basso valore, mentre per ottenere la massima precisione tale valore dovrebbe essere elevato, in particolare rispetto all'impedenza di conduzione degli interruttori. Tutti questi problemi possono essere evitati, senza avere alcun inconveniente, se la posizione della rete resistiva e degli interruttori viene invertita come illustrato in fig. 6.18 (b). V R Interruttori ingresso digitale analogici di tensione Rete resistiva V 0 (a) V R Rete resistiva Interruttori analogici di tensione ingresso digitale (b) fig. 6.18 230 V 0 Capitolo VI Conversione A/D e D/A Se, ad esempio, nel convertitore con rete resistiva a scala la posizione degli interruttori e dei resistori venisse invertita, come illustrato in fig. 6.19, dal punto di vista del funzionamento non cambierebbe nulla tranne che per le specifiche che gli interruttori dovrebbero soddisfare. Nella configurazione normale gli interruttori connettono i resistori di ingresso a una tensione di riferimento VR o a massa. Nella configurazione invertita lo stesso interruttore, posto tra resistore e giunzione somma dell'amplificatore operazionale, permette di inviare la relativa corrente o alla giunzione somma citata o di richiuderla a massa. Connettendo la tensione di riferimento a quella che normalmente e' l'uscita della rete a scala e connettendo a massa (eventualmente alla massa virtuale dell'amplificatore operazionale) quelli che normalmente sono gli ingressi, nei resistori di ingresso circoleranno delle correnti che sono delle frazioni binarie e che vengono poi opportunamente sommate alla giunzione somma dell'operazionale. VR R R 2R 2R V0 2R 2R R 2R 2R fig. 6.19 In relazione agli interruttori si possono fare due considerazioni; innanzi tutto l'interruttore diviene un commutatore di corrente, di piu' facile realizzazione. In secondo luogo le resistenze della rete a scala possono essere grandi quanto si vuole poiche' le reattanze parassite perdono di importanza in quanto la corrente che circola sui resistori e' costante. Un convertitore del tipo descritto richiede un interruttore e due resistori di precisione per ciascun bit. Gli interruttori tuttavia risultano notevolmente meno complessi di quelli della realizzazione tradizionale. Infatti, poiche' le resistenze della rete a scala possono essere relativamente alte non e' necessario usare interruttori con impedenze di conduzione molto basse. L'unico fattore che limita il valore delle resistenze della rete e' il loro ingombro che in una certa misura puo' essere considerato proporzionale al valore resistivo. Un buon compromesso si raggiunge di solito con R = 25 ÷ 50 kΩ. Con questi valori resistivi un interruttore che abbia un'impedenza di conduzione di 75 Ω introduce un errore di non linearita' di solo lo 0.03%. Questo errore inoltre puo' essere facilmente corretto con un piccolo resistore di compensazione in serie con il resistore di reazione. 6.4.4) Precisione e accuratezza di conversione. Le relazioni, che si sono trovate per i vari tipi di convertitore descritti ai paragrafi precedenti, sono state ricavate nell'ipotesi di interruttori e resistori ideali. Nella pratica le cose vanno diversamente in quanto i valori resistivi presenteranno sempre una certa tolleranza rispetto ai loro valori nominali e gli interruttori, normalmente allo stato solido, avranno una resistenza di conduzione non nulla e una corrente di perdita anch'essa non nulla quando si troveranno nello stato OFF. 231 Capitolo VI Conversione A/D e D/A C'e' inoltre da osservare che anche il segnale di pilotaggio degli interruttori puo' in una certa misura presentarsi in uscita, introducendo un ulteriore errore. In fig. 6.20 (a), nella quale si e' fatta l'ipotesi che il bit piu' significativo della parola binaria sia al valore logico 1 mentre quello immediatamente successivo sia al valore logico 0, sono illustrati i parametri tipici che contribuiscono a diminuire la precisione di conversione. Le relazioni che sono state trovate in precedenza per la tensione di uscita erano funzione di due sole quantita'; il valore della tensione di riferimento commutata da interruttori ideali posti all'ingresso della rete resistiva ed i valori nominali dei resistori stessi. Introducendo nelle relazioni i valori reali anziche' quelli ideali per VR e R si possono valutare gli effetti sulla precisione. E' bene notare che tutte le cause di errore possono esser fatte rientrare o nella tensione equivalente di riferimento o nel valore relativo al resistore associato ad un particolare bit. Nell'esempio, che si sta trattando, gli errori che possono essere associati alla rete resistiva sono le tolleranze ±∆R e l'impedenza dinamica rs dell'interruttore definita come: v rs = ac i ac con vac tensione presente ai capi dell'interruttore in presenza di una corrente iac (a piccoli segnali), nelle condizioni di funzionamento previste. switch on VR ± ∆VR rg VOF Pilota dello switch bit piu' significativo (1) rs ± ∆R ID IR R V0A switch off switch off ± ∆ 2R 2R IR bit immediatamente successivo (0) VR rs Pilota dello switch agli altri bit switch on VOF ID (ID + I N ).rg ± ∆VR (a) (b) VOF rs ± ∆R VOF rs ± ∆ 2R 2R R agli altri bit fig. 6.20 VOF, detta tensione di offset, e' invece la tensione che esiste ai capi di diversi tipi di interruttore analogico anche in assenza di corrente. In altre parole VOF non e' funzione della corrente che 232 Capitolo VI Conversione A/D e D/A fluisce attraverso l'interruttore verso la rete resistiva, ma e' generata all'interno del circuito a causa del segnale di pilotaggio e si presenta ai suoi terminali in condizioni ON. Se ad esempio come interruttore venisse utilizzato un normale diodo al silicio, commutandolo in conduzione con una corrente di 1 mA, si avrebbe una tensione di offset VOF approssimativamente di 0.6 volt. Tale tensione va algebricamente sommata alla tensione di riferimento. Anche l'impedenza della sorgente rg deve venir tenuta in considerazione, soprattutto quando la commutazione dell'interruttore fa circolare su rg una corrente, dando luogo ad un errore nella tensione di riferimento. ±∆VR rappresenta le variazioni di VR con il tempo, la temperatura, etc. La corrente di perdita dell'interruttore OFF il piu' delle volte si puo' invece trascurare in quanto e' di modestissima entita' e circola su rs e rg che normalmente sono di basso valore. In fig. 6.20 (b) e' riportato un circuito equivalente semplificato dell'esempio precedente, in cui sono state eliminate le sorgenti di errore meno significative, come ad esempio IR. rg e' stata sostituita da una tensione equivalente di errore pari a (ID + IN).rg in serie con il riferimento. Si tenga ora presente che il bit piu' significativo contribuisce all'uscita per circa la meta' della tensione di fondo scala. Pertanto qualsiasi errore in serie con la tensione di riferimento contribuisce in uscita con un errore pari alla meta' del suo valore. Il bit successivo contribuisce con peso 1/4 e cosi' via fino al bit meno significativo, che contribuisce con un peso pari a 1/2n. E' quindi evidente che e' necessario curare al massimo tutti i circuiti relativi al bit piu' significativo per mantenere piccolo l'errore in uscita, mentre l'esigenza di elementi precisi e stabili si va via via riducendo man mano che si procede verso i bit meno significativi. Queste considerazioni sono vere anche per i resistori della rete a scala e per le resistenze serie degli interruttori, che connettono la sorgente di riferimento alla rete stessa. Per meglio chiarire le cose si supponga di avere a che fare con un convertitore da 10 bit. Il peso del bit meno significativo e' 1/1024 e quindi anche se il resistore relativo ha una tolleranza del 10% esso determina in uscita un errore che e' solamente lo 0.01% del fondo scala. Sulla base di queste considerazioni e' intuibile che l'accuratezza totale e' dello stesso ordine di grandezza di quella dei singoli resistori. Infatti, detta p l'accuratezza percentuale dei resistori e P l'accuratezza percentuale dell'uscita rispetto il fondo scala, si ha: 1 1 1 P = p. + + ...... + n ≅ p 2 2 4 6.5) I convertitori D/A seriali. Da quanto esposto ai paragrafi precedenti si puo' intuire che i convertitori paralleli sono notevolmente veloci. Essi tuttavia richiedono un considerevole numero di componenti. D'altronde spesso la loro elevata velocita' non puo' venir utilizzata poiche' il segnale di ingresso e' in forma seriale, l'amplificatore d'uscita e' lento oppure il sistema analogico che utilizza l'uscita del convertitore ha delle costanti di tempo molto grandi e quindi non e' richiesta un'elevata velocita' operativa. Per tali motivi sono stati sviluppati convertitori D/A seriali, ottenendo una maggior semplicita’ circuitale, con un minor numero di componenti e a minor costo, a spese della velocita'. Cio' non significa naturalmente che tutti i convertitori seriali siano lenti; spesse volte, come nel caso dei convertitori ciclici, essi sono rapidi almeno quanto un convertitore D/A parallelo che agisca in unione con un buffer serie-parallelo. Tutti i convertitori seriali si basano sul principio operativo illustrato in fig. 6.21. Il segnale binario di ingresso XSB controlla il funzionamento del convertitore bit per bit. Se durante il periodo 233 Capitolo VI Conversione A/D e D/A attivo di clock Ti il segnale XSB e' al valore logico 1 alla tensione Vi immagazzinata in un condensatore (rappresentato in figura dal blocco memoria analogica) viene sommata la tensione di riferimento VR e la somma risultante viene divisa per due. Se XSB e' zero allora Vi viene semplicemente ridotta a meta'. Come risultato di queste operazioni si ha una tensione Vi+1, che viene memorizzata nella capacita' in modo da essere disponibile al successivo periodo di clock Ti+1. Si ha cioe': Vi+1 = 1 .(Vi + a i .VR ) 2 dove ai e' il bit della parola binaria XSB al tempi Ti. La tensione immagazzinata nella capacita' durante l'ultimo tempo di bit rappresenta l'uscita del convertitore. Poiche' tale tensione e' disponibile soltanto durante un breve periodo durante ciascun tempo di parola e' necessario un circuito di ritenuta per ottenere una tensione di uscita costante. X SB (Ti ) +VR -VR + 1/2 Vi+1 Vi X SB (TS ) Memoria analogica fig. 6.21 I convertitori seriali usualmente operano ad una frequenza fc di clock pari a quella del segnale di ingresso. In altre parole il funzionamento del convertitore e' sincronizzato dalla temporizzazione del segnale binario di ingresso XSB. Tale segnale e' normalmente fornito direttamente al convertitore, il bit meno significativo per primo, e l'eliminazione di qualsiasi tipo di buffer realizza una considerevole economia circuitale. All'inizio della conversione e' evidentemente necessario forzare la tensione Vi a zero e tale operazione viene effettuata mediante un impulso di sincronizzazione immediatamente seguente il periodo del bit piu' significativo. Tale impulso riazzera la tensione Vi del condensatore dopo aver trasferito il valore ivi presente a un circuito di ritenuta. I convertitori D/A seriali si prestano molto bene a tecniche di multiplazione poiche' sia l'ingresso che l'uscita sono realizzati con una singola linea. Utilizzare un convertitore seriale da 12 bit per 10 segnali di ingresso richiede un commutatore elettronico ad una via e 12 posizioni, dove per ottenere la stessa cosa con un convertitore parallelo sarebbe necessario un commutatore a 12 vie e 10 posizioni. Per ragioni di semplicita', pur senza togliere nulla alla generalita' della descrizione, nel seguito verranno presi in esame solo convertitori seriali unipolari. Essi possono d'altra parte essere trasformati in dispositivi a funzionamento bipolare con semplici tecniche, che tuttavia dipendono 234 Capitolo VI Conversione A/D e D/A dal tipo di rappresentazione usato per il segnale binario di ingresso; ne' la presentazione in modulo e segno, ne' la presentazione binaria offset sono molto pratiche per convertitori seriali a funzionamento bipolare e non saranno quindi prese in considerazione. Al contrario la rappresentazione complemento a 2 o a 1 puo' essere implementata su qualsiasi convertitore seriale con l'aggiunta di un unico interruttore analogico e di una tensione di riferimento -VR, come illustrato sempre in fig. 6.21. L'interruttore analogico commuta tale tensione di riferimento all'ingresso del convertitore durante il periodo di clock Ts relativo al bit di segno. In tal modo la tensione VR viene sottratta dalla tensione Vi. Per operazioni bipolari quindi la relazione precedentemente trovata va modificata in: 1 .(Vi + a i .VR ) 2 1 Vu = .(Vis − a is .VR ) 2 Vi+1 = per i ≠ is per i = is dove is e' l'indice relativo all'ultimo bit dell'ingresso, cioe' quello piu' significativo. Con lo stesso ingresso binario l'uscita di un convertitore seriale bipolare e' sempre la meta' di quella di un convertitore unipolare. Cio' e' ovviamente dovuto al fatto che il bit piu' significativo e' utilizzato allo scopo di realizzare operazioni bipolari. 6.5.1) Il convertitore seriale Shannon-Rack. Il convertitore Shannon-Rack risolve il complesso problema della conversione D/A seriale ricorrendo a un minimo numero di componenti e sfruttando la curva esponenziale di scarica di un condensatore. Nello schema di principio di fig. 6.22 un generatore di corrente carica con una corrente costante Ic una capacita' C durante la prima meta' di ciascun periodo di clock quando il segnale binario all'ingresso rappresenta un uno logico. XSB fc G1 S1 Ic S4 Vc S2 C R V0 Cst S3 fc G2 fc Ts fc G3 fig.6.22 Durante la seconda meta' del periodo di clock la capacita' C viene scaricata sulla resistenza R mediante l'interruttore analogico S3. 235 Capitolo VI Conversione A/D e D/A Se invece durante un particolare periodo di clock il segnale di ingresso XSB e' uno zero logico la capacita' C non viene caricata, non essendo abilitato il relativo gate G1, mentre la scarica durante la seconda meta' del periodo di clock avviene comunque. La scarica esponenziale della capacita' puo' essere messa in relazione con gli impulsi della parola seriale di ingresso dalla relazione: Vc = VR .2 − k dove Vc e' la tensione ai capi della capacita' dopo il k-esimo periodo di clock e VR e la tensione iniziale ai capi del condensatore dopo la prima meta' del primo periodo si clock. Affinche' cio' sia vero e' sufficiente che: R= Tc .ln2 2 .C dove Tc rappresenta il periodo di clock. La relazione appena introdotta mostra che durante la seconda meta' di ciascun periodo di clock la tensione ai capi della capacita' C viene dimezzata. Tenendo presente che, per ciascun uno logico presente nel segnale di ingresso, la tensione ai capi della capacita' viene aumentata di VR durante la prima meta' del periodo di clock, ne risulta che alla fine di ciascun periodo tale tensione puo' essere espressa con una conveniente frazione di VR. Al numeratore di tale frazione si avra' il valore decimale rappresentato dal segnale binario di ingresso pervenuto fino a quell'istante, mentre al denominatore si avra' la potenza di due relativa alla posizione dell'ultimo bit pervenuto. In sostanza si ha: k VCk = VR . ∑ a i .2 i − k −1 i =1 dove con VCk si e' indicata la tensione ai capi del condensatore dopo il k-esimo periodo di clock mentre ai e' il bit al periodo i-esimo. A titolo di esempio si consideri l'ingresso binario da 8 bit 00101011 = 4310. In fig. 6.23 sono riportati il segnale binario di ingresso ordinato dal bit meno significativo al piu' significativo e la tensione ai capi della capacita' C in funzione del tempo. L'uscita Vu e' la tensione Vc ai capi della capacita' durante la prima meta' del nono periodo di clock ed e' proporzionale all'ingresso digitale XSB. Nello schema di principio di fig. 6.22 i componenti base del convertitore Shannon-Rack sono un generatore a corrente costante, quattro interruttori analogici, due amplificatori di separazione, due capacita' di memoria e tre gate AND. Vi e' una grande varieta' di scelta tra gli interruttori, siano essi realizzati con transistori bipolari o a FET. La scelta piu' opportuna viene a dipendere dalla logica usata nella parte bipolare di controllo. In linea di massima si puo' affermare che con logiche bipolari si rivelano maggiormente adatti i FET a giunzione, mentre con logiche MOS o CMOS vengono preferiti gli interruttori MOS 236 Capitolo VI Conversione A/D e D/A T1 T2 T3 -8 -7 -6 T9 T1 fc Ts Sincronismo 2 X SB 1 2 1 2 2 0 1 0 1 0 -1 0 2 0 -8 1 Vc 3 4 VR 11 16 43 64 VR VR 2 V R 43 3 8 VR 11 V 32 R 128 VR 43 256 VR fig. 6.23 Le funzioni svolte dai quattro interruttori dello schema di massima riportato in fig. 6.22 sono le seguenti: S1 permette la carica alla corrente costante Ic della capacita' C durante • la prima meta' di ciascun periodo Ti di clock nell'ipotesi che durante tale intervallo di tempo XSB valga 1. • S2 cortocircuita C in modo da scaricarlo durante il periodo di reset Ts. • S3 connette la capacita' C alla resistenza R durante la seconda meta' di Ti per scaricarla esponenzialmente. • S4 trasferisce durante la prima meta' del periodo di reset la tensione Vc ad un circuito di ritenuta formato dal condensatore Cst e da un amplificatore operazionale. Quale amplificatore di separazione tra la rete RC e il circuito di ritenuta viene impiegato un inseguitore di tensione, che presenta un'impedenza di ingresso estremamente elevata, rendendo superfluo l'uso di uno stadio di ingresso a FET. L'interruttore S4 in unione con Cst e un secondo inseguitore di tensione realizza il circuito di ritenuta. Tale circuito non richiede particolari caratteristiche di velocita' essendo la tensione Vc costante durante la prima meta' del periodo Ts di reset. Sebbene il convertitore Shannon-Rack sia estremamente semplice dal punto di vista circuitale, esso non e' mai stato usato in forma estensiva. La ragione risiede nel fatto che tale tipo di convertitore non e' molto preciso. Tuttavia utilizzando dispositivi FET o MOS e amplificatori 237 Capitolo VI Conversione A/D e D/A operazionali di basso offset e elevata impedenza di ingresso, appare ragionevole parlare di una precisione dello 0.1% del fondo scala. E' necessario d'altra parte prevedere una regolazione della rete RC in quanto la sua costante di tempo deve venir determinata sulla base della frequenza fc di clock. Inoltre e' molto discutibile quale sia la gamma di temperatura su cui la precisione citata puo' essere mantenuta, in quanto e' difficile e costoso produrre condensatori con coefficiente di temperatura molto basso. Infine il progetto di ogni circuito lineare e' generalmente un compromesso tra prestazioni statiche e dinamiche. Cio' e' vero in modo particolare per il convertitore Shannon-Rack, in cui la temporizzazione dei vari passi operativi e' essenziale in rapporto alla precisione statica. Per quanto riguarda la velocita' di conversione e' ovvio che essa e' determinata interamente dalla velocita' degli interruttori analogici. Ad esempio con tempi di commutazione di 300 nsec. la frequenza del clock non deve superare approssimativamente i 10 kHz se si vuole che gli errori dovuti agli interruttori analogici non superino lo 0.1%. Cio' da' luogo a un tempo totale di conversione di 1.2 msec. per parole digitali da 12 bit. 6.5.2) Il convertitore seriale “sample-hold”. Un tipo diverso di convertitore seriale e' quello sample-hold o convertitore a ritenuta, realizzato con tre circuiti S/H e il cui schema di principio e' riportato in fig. 6.24. Il principio di funzionamento di ciascuno di questi tre circuiti e' identico; quando l'interruttore S e' chiuso il condensatore C si carica alla tensione V, combinazione lineare delle tensioni presenti all'ingresso del circuito di ritenuta stesso. Quando l'interruttore S e' aperto, l'uscita del circuito di ritenuta si mantiene al valore V raggiunto. Il primo circuito di ritenuta della figura 6.24 somma una tensione di riferimento VR all'uscita V02 del secondo circuito di ritenuta e moltiplica tale somma per un fattore 1/2. Il secondo circuito di ritenuta ha un solo ingresso, al quale e' applicata la tensione V01. Il suo fattore di amplificazione e' unitario e quindi V02 e' uguale in ampiezza a V01. S1 R +VR C1 S3 R S4 C 2R S2 2 V01 2R XSB R V02 S/H 2 S/H 1 + V0 C T fc Ti G1 fc Ti G2 fig. 6.24 I due circuiti di ritenuta sono connessi ad anello e i due interruttori S3 e S4 vengono azionati alternativamente, uno nella prima meta' del periodo di clock, l'altro nella seconda meta', in modo che quando V01 varia V02 rimane costante e viceversa. Il segnale digitale di ingresso XSB aziona direttamente l'interruttore S1 in modo che in corrispondenza agli 1 logici del segnale di ingresso la tensione applicata al primo Sample-Hold sia pari a VR. Poiche' l'interruttore S3 e' chiuso durante la prima meta' del periodo di clock Ti, la tensione di uscita e': 238 Capitolo VI Conversione A/D e D/A V01 = 1 .(V02 + a i .VR ) 2 avendo indicato con ai il valore del bit della parola di ingresso presente al tempo i. La variazione rispetto al valore precedente avviene con una costante di tempo RC, dove R e C sono i valori di resistenza e capacita' inseriti sul ramo di reazione dell'amplificatore operazionale. Durante la seconda meta' di Ti la tensione V01 e' trasferita al secondo circuito Sample-Hold con la chiusura dell'interruttore S4 e la tensione V02 diventa uguale a V01. Si completa cosi’ un ciclo operativo. Le operazioni durante tutti gli altri cicli si susseguono identiche facendo si' che l'uscita del convertitore alla fine dell'intera parola di ingresso sia proporzionale al valore da rappresentato da quest’ultima. In fig. 6.25 e' riportato l'andamento delle tensioni nei vari punti del circuito in corrispondenza all'ingresso seriale 000000101011. Il formato di parola dura pertanto 12 periodi di clock, da T1 a T12; ciascun periodo viene poi considerato diviso in due parti, Ti e Ti . Si suppone inoltre che esista un impulso di reset (sincronizzazione), sempre nullo eccetto che al tempo T13 e che il tempo necessario a caricare i condensatori dei circuiti S/H sia piccolo in rapporto a Ti. Si tenga infine presente che l'interruttore S3 e' chiuso durante il semiperiodo Ti, mentre S4 e' chiuso durante il semiperiodo Ti . Il circuito di un convertitore seriale Sample-Hold consiste di quattro interruttori analogici, tre amplificatori operazionali, due gate AND a due ingressi ed alcuni componenti discreti. I due interruttori S3 e S4 connessi ai circuiti di Sample-Hold devono avere una capacita' ingresso-uscita la piu' piccola possibile, poiche' operano direttamente alla giunzione somma dell'operazionale; in caso contrario l'energia che attraverso essi si trasferisce durante le operazioni di commutazione potrebbe caricare erroneamente le due capacita' di memorizzazione C1 e C2. Nell’applicazione presa in esame, come in molte altre in cui siano usati circuiti di ritenuta, si richiede che l'uscita segua l'ingresso con l'errore massimo di un millivolt. Di conseguenza per caricare correttamente il condensatore di ingresso e' necessario che il periodo di clock sia pari almeno a nove costanti di tempo. In altre parole, se si volesse un periodo di clock di 10 µsec. la costante di tempo di carica del condensatore dovrebbe essere dell'ordine del microsecondo. Sono quindi imposte delle specifiche abbastanza pesanti ai valori di resistenza e capacita' e inoltre anche lo slew rate degli amplificatori operazionali dev'essere di buon valore. Ad esempio, con una costante di tempo di carica di 1 microsecondo, con R = 10 kΩ e C = 100 pF, l'amplificatore deve avere una velocita' di salita di 6 V/µsec. e tale specifica e' abbastanza pesante per un buon numero di amplificatori operazionali monolitici. A cio' si aggiunge che se il valore assunto per R appare ragionevole quello di C e' troppo basso. Di conseguenza si deve il piu' delle volte giungere ad un compromesso e la soluzione piu' semplice e' quella di ridurre la velocita'. A titolo di esempio, se si scegliesse un periodo di clock di 50 µsec. valori ragionevoli per il circuito Sample-Hold potrebbero essere R = 10 kiloohm, C = 500 picofarad e slew-rate di 1.2 V/µsec. Un importante vantaggio del convertitore Sample-Hold rispetto a quello Shannon-Rack e' che le sue prestazioni, entro larghi limiti, non dipendono ne' dalla precisione, ne' dalla stabilita' dei condensatori. E' questo un fattore molto importante in quanto, come gia' e' stato detto, condensatori di elevata precisione e stabilita' sono difficili da realizzare e molto costosi. 239 Capitolo VI Conversione A/D e D/A T1 T 2 T3 1 1 T12 T 13 T1 fc T13 XSB V01 0 1 3 4 VR 0 11 V 16 R 1 0 0 0 0 0 0 43 V 64 R 1 V 2 R 43 V 128 R 3 8 VR 11 V 32 R 43 V 256 R 3 4 VR V 02 43 V 43 512 R V 1024 R t 1 V 2 R 3 V 8 R t fig. 6.25 Altro importante vantaggio si ha per il fatto che i tempi di commutazione degli interruttori analogici non sono critici, poiche' essi al massimo limitano la velocita' operativa. Le prestazioni statiche e dinamiche del convertitore dipendono in pratica solo dalle prestazioni del circuito Sample-Hold usato. E' ragionevole pensare che la precisione del circuito illustrato schematicamente in fig. 6.24 sia almeno dello 0.1% del fondo scala ad una frequenza di clock di 10 kHz. La risoluzione puo' raggiungere qualsivoglia valore, semplicemente variando la temporizzazione del segnale di reset T13. Con una frequenza di clock di 10 kHz il tempo di conversione per parole binarie da 12 bit e' di 1.2 msec. E' ovvio tuttavia che sulla base delle caratteristiche di componenti piu' moderni si possono ottenere delle precisioni e delle velocita' operative considerevolmente piu' alte. 6.5.3) Il convertitore seriale ciclico. Un ulteriore tipo di convertitore D/A seriale, che evita tutti gli inconvenienti del convertitore Shannon-Rack e' quello ciclico. Esso differisce da quello Sample-Hold in quanto usa solo due amplificatori operazionale e alcune resistenze di precisione; e' tuttavia necessario un numero maggiore di interruttori analogici. Uno dei suoi pregi risiede nel fatto che e' notevolmente piu' veloce che non quello Sample-Hold. Il convertitore ciclico, illustrato in fig. 6.26, usa due interruttori S1 e S2 per collegare l'ingresso di un amplificatore A1 ad una tensione di riferimento o a terra. 240 Capitolo VI Conversione A/D e D/A T12 S3 XSB V0 Cst S1 fc VR R S2 Vk A1 fc S4 CA R fc fc S7 S5 X SB CB S8 T1 fig. 6.26 Altri tre interruttori, S3, S4 e S5, sono usati per collegare l'uscita dell'amplificatore alle capacita' di memorizzazione Cst, CA e CB. Infine altri tre interruttori, S6, S7 e S8, servono a connettere l'ingresso di A1 a CA, CB o a terra. A1 lavora come inseguitore di tensione con guadagno pari a 0.5. Chiudendo gli interruttori S1 e S8 la tensione di uscita Vk sara': Vk = VR 2 mentre chiudendo gli interruttori S1 e S6 si avra': 1 (VR + VCA ) 2 L'interruttore S1 viene azionato quando un bit dell'ingresso binario seriale XSB rappresenta un uno logico, mentre quando e' uno zero logico viene azionato l'interruttore S2. Gli interruttori connessi all'uscita S3, S4 e S5, sono controllati rispettivamente dal bit piu' significativo T12, dalla frequenza di clock fc e dalla sua negazione f c . Analogamente gli interruttori di controreazione S6, S7 e S8 sono commutati da f c , fc e T1, segnale di ingresso durante il primo periodo di clock. Vk = Un 1 logico presente al bit meno significativo di XSB da' quindi luogo alla seguente sequenza operativa: VR 2 VR Vk = 4 Vk = 241 durante T1 durante T2 Capitolo VI Conversione A/D e D/A VR durante T3 8 ................................................ V Vk = R durante T12 4096 Vk = Cio' sta ad indicare, come per i precedenti convertitori seriali, la relazione di proporzionalita’ tra l'uscita analogica e il valore espresso dalla parola binaria di ingresso. Una miglior comprensione di come il convertitore ciclico operi si puo' avere dall'esame delle forme d'onda di fig. 6.27. T1 T2 T3 T 11 T 12 T 1 T 2 fc T12 X SB 1 1 1 2 0 1 0 1 0 0 0 0 0 0 1 1 VR 3 8 VR 11 V 32 R 43 V 128 R V CA 43 V 512 R 3 4 VR 11 V 16 R 43 V 2048 R t 43 V 64 R non in scala V CB 43 V 256 R 43 V 1024 R 43 V 4096 R t fig. 6.27 Si noti che il segnale seriale di ingresso e' 000000101011, il formato della parola e' di 12 periodi di clock da T1 a T12, il tempo richiesto per caricare le capacita' di memorizzazione e' piccolo in rapporto a Ti, la capacita' di memorizzazione CA e' caricata sempre attraverso S4 durante i periodi pari di clock, mentre quella CB nei periodi dispari attraverso S5. Inoltre quando CA si carica attraverso S4, S6 e' aperto e viceversa, quando S6 e' chiuso per riportare in controreazione la tensione VCA, S4 e' aperto; analogamente, quando CB si carica attraverso S5, S7 e' aperto e quando S7 e' chiuso S5 e' aperto. Dalla fig. 6.27 si vede che durante il primo periodo di clock T1 XSB e' un uno logico. Gli interruttori S1 e S8 connettono all'ingresso rispettivamente la tensione di riferimento VR e la massa, S4 collega Vk a CA, S7 riporta all'ingresso VCB, ma poiche' anche S8 e' chiuso la capacita' CB si scarica istantaneamente in modo che nessuna tensione viene effettivamente riportata all'ingresso. Vk diventa allora pari a VR/2 e carica CA a tale valore. 242 Capitolo VI Conversione A/D e D/A Durante T2 XSB e' a 1, gli interruttori S1 e S6 connettono ad A1 rispettivamente la tensione VR e VCA, pari a VR/2, mentre S5 collega l'uscita dell'amplificatore A1 a CB. Vk diventa allora pari a 3.VR/4 e CB si carica a tale valore. Durante il periodo T3 XSB e a zero, gli interruttori S2 e S7 connettono all'ingresso di A1 rispettivamente zero volt e VCB, pari a 3.VR/4. S4 collega l'uscita dell'amplificatore al condensatore CA che si carica ad una tensione pari a 3.VR/8. Il ciclo prosegue poi in maniera analoga e le operazioni successive si possono agevolmente seguire dalla fig. 6.27 a dalla tabella 6.2. Durante l'ultimo impulso di clock, T12, l'uscita dell'amplificatore A1 viene collegata per mezzo di S3 al condensatore di memorizzazione Cst in modo da realizzare una tensione di uscita costante durante tutto il tempo di parola. Poiche' Cst deve mantenere l'uscita fissa per 12 periodi di clock essa non deve venir assolutamente caricata e il metodo piu' semplice per far si' che cio' sia realizzato, ottenendo nel contempo una bassa impedenza d'uscita, e' quello di ricorrere ad un ulteriore amplificatore di separazione. TABELLA 6.2 X T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 T 11 T12 SB Interruttori chiusi VCA V CB V0 1 S1 S4 S 7 S 8 1/2 VR 0 ------ 1 S1 S 5 S 6 1/2 VR 3/4 VR ------ 0 S 2 S4 S 7 3/8 VR 3/4 VR ------ 1 S1 S 5 S 6 3/8 VR 11/16 VR ------ 0 S 2 S4 S 7 11/32 VR 11/16 VR ------ 1 S1 S 5 S 6 11/32 VR 43/64 VR ------ 0 S 2 S4 S 7 43/128 VR 43/64 VR ------ 0 S1 S 5 S 6 43/128 VR 43/256 VR ------ 0 S 2 S4 S 7 43/512 VR 43/256 VR ------ 0 S1 S 5 S 6 43/512 VR 43/1024 VR ------ 0 S 2 S4 S 7 43/2048 VR 43/1024 VR ------ 0 S1 S 3 S 5 43/2048 VR 43/4096 VR S6 43/4096 VR In sostanza quindi il circuito di un convertitore D/A ciclico a singolo canale consiste, escludendo l'amplificatore di separazione dell'uscita, in un amplificatore, otto interruttori analogici, tre capacita' di memorizzazione e due resistenze di precisione. La resistenza di conduzione di tutti gli interruttori, con l'eccezione di S3, deve essere al massimo di 100 Ω e quelle di S1 e S2 devono essere uguali a quelle di S6, S7 e S8 entro il 10% se si vuole che l'errore totale dovuto agli interruttori analogici sia minore dello 0.02% del fondo scala, quando per le resistenze del circuito si sceglie il valore di 50 kΩ. La resistenza di conduzione dell'interruttore S3 non e' critica in quanto va a influire solamente sulla costante di tempo di carica di Cst. Non e' necessario che il tempo di commutazione degli interruttori sia inferiore a 1 µsec. poiche' di solito la velocita' operativa viene limitata degli amplificatori e non dagli interruttori. E' bene far notare che gli interruttori di reazione S6 e S7 non possono essere del tipo a transistori bipolari ad accoppiamento diretto, in cui la corrente di base fluisce verso il circuito di segnale, in quanto questo fatto potrebbe alterare il valore di tensione che viene memorizzato nei 243 Capitolo VI Conversione A/D e D/A condensatori. Le specifiche possono essere soddisfatte da vari tipi di interruttori serie FET o MOS, malgrado che alcuni di essi, in particolare quelli MOS, debbano venir selezionati per limitare la dispersione della resistenza di conduzione entro il 10%. Inoltre gli interruttori MOS hanno lo svantaggio che l'impedenza di conduzione varia in funzione dell'ampiezza del segnale di ingresso. Si puo' comunque affermare che la scelta finale dell'interruttore e' determinata dal tipo di logica usata nei circuiti digitali di controllo associati al convertitore. Quando si deve operare ad elevate velocita' di conversione l'amplificatore A1, oltre ad avere bassi offset, deve avere elevato "slew rate" e deve poter fornire in uscita elevate correnti. Per una frequenza di clock di 100 kHz la velocita' di salita deve essere almeno di 6V/µsec. e l'amplificatore deve essere in grado di fornire almeno 10 mA. Fattore molto importante per la precisione e l'accuratezza della conversione e' poi la precisione del divisore di ingresso, mentre esse non sono affatto influenzate dal valore delle capacita' di memorizzazione CA, CB e Cst . Una loro eventuale variazione cambia unicamente la costante di tempo di carica e influisce di conseguenza solo sulla velocita' di conversione. Tuttavia per evitare significative perdite di carica e' bene che tali capacita' siano di grande valore rispetto alla capacita' di ingresso dell'amplificatore e alle capacita' parassite del circuito. La velocita' di conversione di un convertitore D/A ciclico puo' essere fino a 20 volte superiore a quella di un convertitore Sample-Hold. Una prima riduzione per due dei tempi si ha per il fatto che un ciclo di conversione richiede un periodo di clock lungo la meta' che non quello del convertitore Sample-Hold. La riduzione dei tempi di un ulteriore fattore 10 deriva dal fatto che le capacita' vengono caricate attraverso le resistenza di conduzione di interruttori analogici anziche' l'impedenza di controreazione dell'amplificatore S/H, che si puo' appunto ritenere mediamente maggiore di un fattore 10. Si puo' concludere quindi che la velocita' di conversione piu' alta si ottiene a spese di un amplificatore piu' rapido, in grado di fornire elevate correnti di uscita, ma senza sacrificare la precisione statica. Il prodotto precisione velocita' e' percio' venti volte piu' alto che non per il convertitore Sample-Hold e quindi per ottenere determinate prestazioni si possono usare componenti di minor qualita' e minor costo. Con un progetto accurato e con una frequenza di clock di 100 kHz il convertitore ciclico puo' raggiungere una precisione dello 0.05% del fondo scala. Il tempo richiesto per una conversione completa di parole da 12 bit e' a questa frequenza di 120 µsec. 6.5.4) Il convertitore seriale ad equalizzazione di carica. Il convertitore seriale ad equalizzazione di carica e' semplice come quello Shannon-Rack, ma non presenta gli stessi problemi. Esso implementa l'equazione fondamentale, che sta alla base delle conversione seriale, basandosi sul principio che quando un condensatore scarico viene connesso in parallelo ad uno carico si ha circolazione di corrente dall'uno all'altro finche' le tensioni ai capi dei due condensatori non siano diventate uguali. Se i due condensatori hanno lo stesso valore di capacita', la carica finale su ciascuno d'essi e' la meta' di quella accumulata inizialmente in quello carico. Il principio base e' implementato nel convertitore ad equalizzazione di carica come illustrato nello schema di massima di fig. 6.28. Vi sono due interruttori S1 e S2 che caricano la capacita' C1 alla tensione VR o la scaricano a massa in funzione del valore assunto dal XSB. Un terzo interruttore S3 collega la capacita' C1 a C2 in modo da equilibrare la carica; un quarto interruttore S4 trasferisce la carica da C2 a Cst quando la conversione e' stata completata. 244 Capitolo VI Conversione A/D e D/A fc T13 X SB fc fc Vout VR S3 S1 S2 C1 V 0 S4 C2 Cst fc X SB T13 fig. 6.28 L'interruttore S4, l'amplificatore e la capacita' Cst costituiscono il circuito d'uscita di tipo Sample-Hold. Durante il normale ciclo operativo, l'interruttore S1 o quello S2 sono sempre chiusi durante la prima meta' di ciascun periodo di clock e sempre aperti durante la seconda meta'. L'interruttore S3 e' invece sempre aperto durante il primo semiperiodo e sempre chiuso durante il secondo semiperiodo di Ti. S1 e' azionato dal segnale che si ricava dal prodotto logico di XSB e della frequenza di clock fc, S2 del prodotto logico della negazione di XSB e fc, mentre S3 e' azionato direttamente dalla negazione di fc. Il ciclo operativo inizia durante il primo periodo T1, quando e' presente il bit meno significativo di XSB. Se questo bit e' un 1 logico, l'interruttore S1 viene chiuso durante la prima meta' di T1 e la capacita' C1 si carica alla tensione VR. Durante la seconda meta' di T1 si chiude S3 e C2 si carica alla tensione VR/2. Si e' assunto evidentemente che C2 sia stato completamente scaricato prima che inizi il periodo T1. Se il successivo bit di XSB e' ancora un 1 logico, la sequenza di azionamento dei due interruttori S1 e S3 gia' illustrata fa si' che dapprima C1 si carichi alla tensione VR e successivamente C2 raggiunga la tensione 1 VR + .VR 2 = 3V R 2 4 Se invece il secondo bit e' uno zero logico dapprima viene azionato S2 poi S3 in modo che C2 raggiunga una tensione pari a 3.VR/4. Il ciclo si ripete poi in modo identico in tutti i successivi periodi di clock. Le operazioni di presentazione dell'uscita e di rimessa a zero vengono compiute durante il tredicesimo periodo di clock. La presentazione dell'uscita e' effettuata durante la prima meta' di T13, chiudendo l'interruttore S4 e caricando Cst, supposto uguale in valore a C2, al valore di VC2/2. La rimessa a zero e' fatta durante la seconda meta' di T13 chiudendo simultaneamente S2 e S3 e scaricando in tal modo sia C1 che C2. Il convertitore a equalizzazione di carica e' formato solamente da quattro interruttori analogici, quattro porte logiche, tre condensatori di memorizzazione e un amplificatore. 245 Capitolo VI Conversione A/D e D/A I quattro interruttori devono essere realizzati con transistori ad effetto di campo e devono avere la possibilita' di commutare tensioni comprese tra 0 e 10 volt. Essi devono inoltre essere tali da avere basse correnti di perdita nella condizione OFF e bassissime capacita' parassite tra ingresso e uscita. Non e' necessario invece che abbiano base resistenze di conduzione, che determinano unicamente le velocita' con cui i vari condensatori si caricano. Se, ad esempio, si assume che C1 e C2 abbiano una capacita' di 1000 pF e che per caricare con la voluta precisione tali condensatori siano necessarie 10 costanti di tempo e infine che la resistenza Ron sia di 1000 ohm, in modo tale che la relativa costante di tempo sia di 1µsec., allora ciascun periodo di clock dev'essere di 20 µsec. con una frequenza di clock di 50 kHz. Il tempo totale di conversione di una parola da 12 bit e' in questo caso di 260 µsec. I valori delle capacita' C1, C2 e Cst devono essere uguali tra loro entro lo 0.05% sull'intero campo operativo di temperatura. Il loro valore non e' critico ed e' determinato solamente dalla velocita' di conversione desiderata e dalle capacita' parassite degli interruttori analogici. 6.6) Conversione indiretta. I convertitori paralleli e seriali visti ai paragrafi precedenti possono essere classificati anche come convertitori diretti in quanto convertono direttamente un segnale di tipo digitale in una grandezza analogica. Al contrario i convertitori che verranno ora presi in considerazione devono essere visti come dispositivi indiretti in quanto in un primo tempo convertono il segnale digitale in un segnale intermedio e successivamente quest'ultimo nel segnale analogico d'uscita. Questo modo di operare consente di economizzare sui componenti circuitali, in modo particolare sui resistori e gli interruttori analogici, a scapito della velocita' di conversione. Si possono distinguere due tipi di convertitori D/A indiretti; quelli che convertono dapprima il segnale digitale in un treno di impulsi modulati in durata e successivamente tale segnale in una tensione e quelli che come segnale intermedio si avvalgono di un treno di impulsi modulati in frequenza. Il vantaggio del segnale intermedio risiede nel fatto che esso puo' essere generato facilmente dal segnale digitale e facilmente poi essere trasformato in un segnale in continua. Lo svantaggio di ambedue i tipi sta nel fatto che l'informazione non puo' essere presentata direttamente all'uscita, ma deve essere estratta dal segnale intermedio con un procedimento di media. Lo schema a blocchi semplificato di fig. 6.29 mostra che un convertitore D/A indiretto puo' essere considerato formato da due unita'; una sezione digitale che trasforma il segnale digitale nel segnale intermedio e una sezione analogica che converte il segnale intermedio in una tensione continua. Per convertire l'informazione digitale in un treno di impulsi modulati in durata si usa un normale contatore unidirezionale, che viene posizionato inizialmente al valore Xp rappresentato dall'informazione digitale. Successivamente tale contatore conta all'indietro fino a zero. Si fa si' che l'uscita sia alta per tutto il tempo di conteggio da Xp a zero. Per convertire invece il segnale digitale in un treno di impulsi modulati in frequenza si ricorre al "binary rate multiplier" che genera uno specifico numero di impulsi stretti per intervallo di tempo. Il numero degli impulsi generati per intervallo T costante e' direttamente proporzionale all'ingresso digitale Xp. La conversione da treno di impulsi a tensione continua viene fatta in ambedue i casi con lo stesso circuito. Un interruttore analogico, con pure funzioni di formatore di impulso, viene usato per ottenere degli impulsi di tensione rettangolari di ampiezza definita e costante. Il filtro passabasso ne fa la media, estraendone la componente continua in modo che la tensione risultante sia proporzionale o alla durata o alla frequenza di ripetizione degli impulsi. 246 Capitolo VI Conversione A/D e D/A Poiche' sia la durata che la frequenza degli impulsi e' in ciascun caso proporzionale a Xp anche l'uscita in continua del convertitore e' proporzionale a Xp. ingresso digitale parallelo T tx Rf modulazione di fc durata Interruttore Circuiti Digitali analogico T Sezione digitale Filtro passabasso Sezione analogica Modulazione di frequenza RB V0 -VR fig. 6.29 La conversione in impulsi e la successiva operazione di filtraggio sono operazioni lente. Ad esempio, affinche' un contatore possa contare da 212 a 0 con una frequenza di clock di 1 MHz sono necessari approssimativamente 4 msec. Ne consegue che la frequenza di ripetizione degli impulsi modulati in durata in uscita di un convertitore che operi con una frequenza di clock da 1 MHz non potra' superare 1 250 Hz. Cio' significa ancora che il convertitore fornira' al massimo 250 campioni di informazione al secondo. Per estrarre il segnale in continua sara' poi necessario un filtro con costante di tempo molto superiore al periodo T di ripetizione degli impulsi. Per questa ragione la massima frequenza del segnale di uscita del filtro passabasso non sara' che una piccola frazione della frequenza di ripetizione degli impulsi. Quindi se si suppone sia essenziale che il segnale di ingresso sia campionato 100 0 piu' volte per periodo, allora con un convertitore la cui frequenza di campionamento sia 250 Hz potranno venir trattati segnali con una frequenza massima di 2.5 Hz. Questo semplice esempio mostra chiaramente le limitazioni di velocita' della conversione indiretta. Tuttavia vi sono moltissime applicazioni in cui la frequenza del segnale di ingresso e' inferiore all'hertz e nelle quali la conversione indiretta puo' essere utilmente impiegata. Se tuttavia sono necessarie velocita' di conversione elevate vi sono diversi metodi per ottenerle. Un primo modo per aumentare la velocita' di un convertitore D/A indiretto e' quello di aumentare la frequenza di clock. Vi sono ovviamente delle limitazioni sulla massima frequenza utilizzabile. Una seconda via potrebbe essere quella di usare meno bit nella parola digitale di ingresso, ma di solito il progettista non puo' intervenire a questo livello, in quanto il numero di bit risulta fissato dalla risoluzione desiderata. E' molto piu' usuale fare ricorso a convertitori a velocita' multipla ("multi-speed"); questa tecnica tuttavia, come verra' illustrato piu' avanti, richiede dei circuiti addizionali e quindi l'incremento di velocita' viene ottenuto con un aumento di costo, complessita', dimensioni e peso del circuito. Come per i convertitori visti ai paragrafi precedenti, anche i convertitori indiretti che verranno presi in esame saranno del tipo unipolare; essi ovviamente possono essere facilmente convertiti per operazioni bipolari. 247 Capitolo VI Conversione A/D e D/A Dei vari modi atti a rappresentare segnali bipolari il piu' opportuno e' quello binario offset. Infatti da un punto di vista circuitale i segnali bipolari impulsivi sono piu' convenientemente rappresentati in forma binaria offset e in ciascuno dei convertitori che verranno esaminati esiste un amplificatore d'uscita che puo' venir usato allo scopo di eliminare la polarizzazione introdotta dalla rappresentazione. Per rimuovere tale polarizzazione e' necessaria unicamente una resistenza connessa tra ingresso dell'amplificatore e una sorgente di riferimento VR (vedi fig. 6.30). La corrente che fluisce in tale resistenza deve essere uguale alla componente continua della corrente che fluisce quando solo il bit piu' significativo di Xp vale 1. Si noti che, in corrispondenza all'ingresso 100000000000, la durata dell'impulso, quando il segnale intermedio e' un treno modulato in durata, e' uguale a meta' del periodo di ripetizione T. Si ha cioe': tx = T 2 Un segnale a modulazione di durata che presenti un'informazione bipolare nella forma descritta e' detto "polarizzato a mezza scala" o "polarizzato al 50%". Analogamente, per lo stesso segnale di ingresso Xp, la frequenza degli impulsi, nella tecnica a modulazione di frequenza, e' meta' della massima frequenza possibile, che coincide con quella fc del clock. 6.6.1) Convertitore a modulazione di durata a singola velocita’. Un convertitore D/A indiretto, che ha una notevole diffusione malgrado le limitazioni di velocita' che presenta, e' quello a modulazione di durata a singola velocita', il cui schema di principio e' riportato in fig. 6.31. Xp a12 a 11 a 10 T a1 VB 0 load clock Contatore bidirezionale da 12 bit VR tx 0 +VR Rivelatore di zero Interruttore analogico 3R R R C R V0 C fig. 6.31 Il motivo della sua diffusione puo' essere ritrovato nel fatto che esso puo' essere costruito con alcuni circuiti integrati e alcuni componenti discreti. Nella parte digitale del convertitore, il cui schema di principio e' riportato in fig. 6.32, un segnale di ingresso Xp parallelo viene applicato sotto il controllo di un segnale di LOAD agli ingressi di preset di un contatore asincrono binario da 12 bit che viene azzerato all'inizio di ciascun periodo di ripetizione T. Non appena Xp e' caricato nel contatore, l'uscita del rivelatore di zero si porta al valore logico 1 chiudendo l'interruttore che connette il clock all'ingresso di conteggio del contatore. Quest'ultimo inizia a contare all'indietro e quando lo zero viene raggiunto l'uscita del 248 Capitolo VI Conversione A/D e D/A rivelatore di zero passa al valore logico 0. A questo punto l'interruttore si riapre, interrompendo il collegamento tra clock e ingresso del contatore, che rimane quindi nello stato raggiunto finche' non vi viene caricato un nuovo dato Xp. a 12 a 11 a 10 a1 load clock preset Q T preset preset preset Q Q T T Q T fig. 6.32 Si definisce larghezza tx dell'impulso che si ottiene in uscita il tempo necessario a contare da Xp a zero. Il massimo valore di tx, che si ha per Xp = 111....1 e' pari al periodo di ripetizione T, mentre il minimo, per Xp = 000....0, e' tx = 0. Per ottenere un treno continuo di impulsi modulati in durata e' necessario che all'inizio di ciascun periodo di ripetizione all'ingresso del contatore venga presentato un dato binario parallelo. Si puo' utilizzare un buffer binario parallelo come memoria temporanea, se Xp in tale istante non fosse disponibile. Allo stesso modo se l'ingresso digitale fosse in forma binaria seriale si deve prevedere un buffer ad ingresso seriale e uscita parallela agli ingressi di preset del contatore. La porzione analogica del convertitore, illustrata nella parte destra della fig. 6.31, trasforma il treno di impulsi in una tensione continua che varia linearmente con la durata degli impulsi stessi. Questi pilotano l'interruttore analogico, connettendo una tensione positiva di riferimento VR al filtro passabasso, mentre in loro assenza l'ingresso del filtro viene collegato a massa. L'uscita dell'interruttore analogico e' quindi ancora un treno di impulsi modulati in durata, ma di ampiezza rigorosamente limitata tra 0 e VR. Il filtro passabasso estrae il valore medio dal treno di impulsi. Se la costante di tempo del filtro e' grande rispetto al periodo di ripetizione del segnale impulsivo, la tensione continua che ne risulta e' linearmente legata alla durata tx degli impulsi e di conseguenza all'ingresso digitale Xp. In questo tipo di convertitore non e' necessario fare ricorso a contatori sincroni. Infatti quando un contatore conta all'indietro e il bit meno significativo commuta a zero, tutti gli altri bit piu' significativi si trovano gia' a zero e quindi non vi possono essere segnali spuri dovuti ad alee. L'interruttore analogico del convertitore in esame deve collegare il filtro passabasso alla tensione VR o a massa con offset trascurabili e alla velocita' la piu' alta possibile. Il tipo di interruttore scelto dipende dalla logica usata nella parte digitale del convertitore, non trascurando le considerazioni legate al costo, alle dimensioni e alla facilita' di reperimento. Se la parte digitale fosse realizzata in tecnologia MOS, gli interruttori analogici potrebbero venir ricavati dallo stesso substrato. 249 Capitolo VI Conversione A/D e D/A L'implementazione piu' conveniente del filtro passabasso e' quella che fa uso di un filtro RC a due stadi le cui frequenze caratteristiche siano almeno di due ordini di grandezza inferiori della massima frequenza contenuta nel segnale impulsivo, in modo da ottenere un'attenuazione di almeno 80 dB alla frequenza di ripetizione del treno di impulsi e una rotazione di fase minima. Il valore delle resistenze del filtro e' scelto in modo da caricare quanto meno possibile l'interruttore analogico, non solo in continua, ma anche alle varie frequenze del segnale modulato. L'amplificatore operazionale all'uscita del filtro passabasso fa si' la tensione venga fornita in uscita a bassa impedenza. La precisione totale del convertitore a modulazione di durata a singola velocita' e' funzione delle caratteristiche dei componenti lineari, cioe' dell'interruttore analogico, delle quattro resistenze e dell'amplificatore operazionale. Assumendo che gli offset e la linearita' dell'amplificatore diano luogo a errori trascurabili e che il rapporto tra la somma delle resistenze di ingresso e quella di reazione sia pari a 1 entro lo 0.025%, allora la precisione totale e' funzione esclusivamente delle caratteristiche dell'interruttore analogico. Se si usa un interruttore serie-parallelo realizzato con transistori bipolari con tempo di commutazione minore di 100 nsec. e offset minore di 2 mV (valori del tutto ragionevoli per tale tipo di realizzazione) l'errore totale e' di solito inferiore allo 0.02% del fondo scala. Il tempo di commutazione di 100 nsec da' luogo ad un errore dello 0.0025%, 0.005% o 0.01% rispettivamente quando la massima durata dell'impulso e' tx max = 4, 2 o 1 msec. Si tenga presente che tx max e' funzione della frequenza di clock fc e del numero n di bit dalla parola binaria di ingresso. tx max = 2n fc Il tempo richiesto per una conversione di 12 bit e' quindi di 4 msec. con una frequenza di clock di 1.024 MHz, mentre e' di 1 msec. con una frequenza di 4.096 MHz. 6.6.2) Convertitore a modulazione di durata a doppia velocita’. Le prestazioni del convertitore a singola velocita' possono essere notevolmente migliorate con l'aggiunta di un interruttore analogico, tre resistenze e due condensatori. Il convertitore a doppia velocita' che ne deriva, puo' allora lavorare alla stessa velocita' di conversione di quello a singola velocita', ma con una frequenza di clock piu' bassa, o a parita' di frequenza di clock ad una velocita' di conversione maggiore. Questo risultato viene raggiunto, come illustrato in fig. 6.33, dividendo il contatore a 12 bit in due contatori da 6 bit ciascuno con il proprio rivelatore di zero e con il proprio controllo del clock. I sei bit meno significativi della parola binaria Xp vengono caricati nel contatore 1, quelli piu' significativi nel contatore 2. L'uscita della porta A1, che rivela il passaggio attraverso lo stato 0, e' un impulso tx1 modulato in durata, funzione del tempo necessario a contare il numero rappresentato dai bit meno significativi. L'uscita tx2 della porta A2 e' un impulso di durata proporzionale al numero rappresentato dai bit piu' significativi. In sostanza il funzionamento di ciascuno di questi due contatori e' identico a quello da 12 bit del convertitore a singola velocita'. 250 Capitolo VI Conversione A/D e D/A parola binaria X p a a 12 clock a 11 7 aa 6 a 5 1 Contatore da 6 bit Contatore da 6 bit A1 A2 VR t x2 t x1 S2 100 k 40 k 40 k C 20 k C V0 VR S1 2.56 M 2.56 M 1.28 M C C fig. 6.33 Ciascuno dei due segnali tx controlla un interruttore analogico, con funzione di formatore di impulsi. C'e' da notare, per quanto riguarda le caratteristiche di offset di questi interruttori, che esse sono le stesse dell'analogo interruttore del convertitore a singola velocita'; la rapidita' di commutazione invece deve essere notevolmente superiore in quanto la massima durata dell'impulso tx e' solamente 1/64 di quella del caso preso in esame al paragrafo precedente e se si vuole che l'errore rimanga limitato entro lo 0.05% e' necessario che le differenza tra i tempi di commutazione in salita e in discesa si mantenga molto piccola. Il modo piu' semplice per risolvere questo problema e' ovviamente quello di diminuire la frequenza di clock, ad esempio a 250 kHz. In tal caso la durata massima di tx e' 256 µsec. e la differenza massima tra i tempi di commutazione degli interruttori, tale l'errore si mantenga entro lo 0.05 %, si puo' valutare in 128 nsec, specifica che puo' venir facilmente soddisfatta da diversi tipi di interruttore analogico. Per tener conto che a parita' di durata dell'impulso le due grandezze analogiche rappresentate da tx1 e tx2 stanno tra loro in rapporto 1:64, i valori resistivi dei due filtri passabasso devono essere diversi. Cio' fa si' che, ad esempio, per uno dei filtri l'insieme delle resistenze abbia un valore pari a 100 kΩ, mentre l'altro ha un valore totale di 6.4 MΩ. Uno dei canali cioe' e' scalato rispetto all'altro di 64, valore dato dal rapporto tra qualsiasi bit del contatore 2 e il suo omologo nel contatore 1. Dal punto di vista delle prestazioni e del costo dei componenti un ragionevole compromesso si ha con una frequenza di clock di 250 kHz che permette circa 4000 conversioni al secondo. Non e' difficile in tal caso raggiungere la precisione dello 0.05% anche con interruttori analogici non eccessivamente veloci. 6.6.3) Convertitore a modulazione di frequenza a singola velocita’. Il convertitore D/A a modulazione di frequenza a singola velocita' impone agli interruttori analogici delle caratteristiche molto pesanti; d'altra parte se si usano interruttori dal costo ragionevole la velocita' di conversione e' notevolmente minore che nel caso del convertitore a modulazione di durata. 251 Capitolo VI Conversione A/D e D/A Per questi motivi il convertitore a modulazione di frequenza a singola velocita' viene in pratica usato solo in quelle applicazioni in cui il segnale modulato in frequenza e' comunque necessario per altri circuiti. Come illustrato nello schema di principio di fig. 6.34 la parte digitale del circuito e' realizzata mediante un "binary rate multiplier", i cui ingressi sono il segnale binario Xp e l'uscita differenziata del contatore principale. Esso allora genera in uscita un treno di impulsi rettangolari stretti. Larghezza e altezza di questi impulsi sono costanti, ma il numero di impulsi durante un intervallo di tempo costante T varia in funzione dell'ingresso digitale Xp. Il massimo numero di impulsi durante il periodo T e' legato alla frequenza del clock fc che alimenta il contatore principale. Il minimo numero di impulsi e' zero. a 1 a 2 a3 VR a 12 S1 Binary rate multiplier 5R 2R 2R R C f1 f 2 f3 f 12 Differenziatori digitali f c f c fc 2 4 8 T VB fc 2 12 0 tp Contatore principale da 12 bit Clock V0 C fc fig. 6.34 In questo tipo di convertitore il segnale di ingresso Xp deve essere presente in continuita' all'ingresso; se cio' non fosse possibile e' necessario ricorrere ad un buffer che memorizza il dato da inviare al "binary rate multiplier". La parte analogica del convertitore e' simile a quella del convertitore a modulazione di durata, eccetto che per l'interruttore analogico che deve essere notevolmente piu' veloce. Tale esigenza e' determinata dal fatto che, mentre per il convertitore a modulazione di durata si ha un solo impulso per periodo T con una durata massima pari al periodo di ripetizione, in quello a modulazione di frequenza delle stesse caratteristiche si possono avere fino a 4096 impulsi per periodo di ripetizione T. Se quindi il periodo di ripetizione dei due convertitori e’ uguale, ciascun impulso del convertitore a modulazione di frequenza puo’ essere fino a 4096 volte piu' breve dell'unico impulso del convertitore a modulazione di durata. E' d'altronde ragionevole e conveniente assumere un periodo di ripetizione uguale per i due tipi di convertitore in quanto e' la massima frequenza del segnale da convertire che determina il tempo massimo disponibile per ogni conversione. Per ottenere la stessa precisione dai due tipi di convertitore la larghezza degli impulsi del segnale modulato in frequenza deve essere mantenuta con la stessa precisione del segnale modulato in durata, intendendo per precisione la variazione di larghezza dell'impulso in rapporto alla sua larghezza totale. Se, ad esempio, la larghezza totale fosse di 10 µsec ± 10 nsec allora la precisione sarebbe dello 0.1%. Pertanto se si desiderasse realizzare un convertitore a modulazione di frequenza da 12 bit con un periodo T di ripetizione di 4.096 msec, allora la massima larghezza di ciascuno dei 4096 impulsi sarebbe di 1 µsec. 252 Capitolo VI Conversione A/D e D/A Per ottenere la modesta precisione dello 0.1 % sarebbe necessario controllare la durata dell'impulso entro ± 1 nsec. Chiaramente questa e' una specifica molto difficile da soddisfare per qualsiasi tipo di interruttore analogico. Piu' realisticamente, si potrebbe pensare di utilizzare interruttori analogici con errori dell'ordine di 10 ÷ 20 nsec e in tal caso per raggiungere una precisione dello 0.025% la durata di ciascun impulso del segnale modulato in frequenza dovrebbe essere almeno di 80 µsec. Ne consegue che il periodo di ripetizione per il convertitore a 12 bit sarebbe di 4096 . 80 = 320 msec. Con questa bassa velocita' di conversione (circa tre conversioni al secondo) il convertitore a modulazione di frequenza diverrebbe usabile solo per segnali la cui frequenza massima fosse di 0.03 Hz. I circuiti logici limitano a loro volta la precisione del convertitore. Infatti per realizzare impulsi entro i 20 nsec sarebbe necessaria una frequenza di clock di 50 MHz, che costringerebbe ad usare famiglie a velocita' discretamente elevata. 6.6.4) Convertitore a modulazione di frequenza a tripla velocita’. Le limitazioni operative inerenti il convertitore a modulazione di frequenza a singola velocita' possono essere superate riarrangiando il circuito pur senza complicarlo eccessivamente. Il risultato che si ottiene e' il cosiddetto convertitore a tripla velocita'. In questo convertitore il "binary rate multiplier" da 12 bit di fig. 6.34 e' suddiviso in tre elementi da 4 bit, come illustrato in fig. 6.35. a1 fc a2 a3 a4 a5 a6 a7 a8 a9 a10 a 11 a12 Contatore principale Clock f1 f1 f2 f3 S1 B.R.M. 1 Logica di generazione degli impulsi f1 f2 f3 f2 f3 f3 f4 R C 16 R 16 R C C' 2R V0 f4 S3 B.R.M. 3 f1 f2 S2 B.R.M. 2 f4 R 256 R 256 R C f4 fig. 6.35 Questo accorgimento permette di eliminare otto stadi nel contatore principale e la necessita' dei 12 derivatori digitali. Sono invece necessarie, come mostrato in fig. 6.36, tre porte logiche per produrre a partire dal contatore principale quattro treni di impulsi non sovrapposti. 253 Capitolo VI Conversione A/D e D/A T f c /2 f c /2 fc /2 fc /4 fc /4 f1 fc /2 f2 fc /8 fc /16 fc /4 f3 1 fc /8 2 3 1 f4 4 5 2 7 3 1 fc /2 6 8 4 2 f1 f2 f3 1 fc /4 f4 fc /8 fc /16 fig. 6.36 A ciascun "binary rate multiplier" vengono forniti i quattro treni di impulsi e quattro bit dell'ingresso parallelo Xp. Le relative uscite sono dei treni di impulsi la cui frequenza e' legata al numero rappresentato dai quattro bit di Xp. Il massimo numero di impulsi durante un periodo di ripetizione T e' ora solamente 16, quando tutti i bit di Xp in ingresso al "binary rate multiplier" sono degli uno logici. Il minimo numero di impulsi e' zero quando questi quattro bit sono zero. Per completare il convertitore sono necessari tre interruttori analogici e tre filtri passabasso. Cio' nonostante l'eliminazione di otto stadi di conteggio e dei 12 derivatori digitali fa si' che il circuito rimanga piu' semplice che non quello del convertitore a singola velocita'. E' evidente che per un corretto funzionamento le correnti fornite alla giunzione somma dell'amplificatore operazionale per effetto dei bit meno significativi devono essere rispettivamente in rapporto 1/16 e 1/256 con quella derivante dai bit piu' significativi. Infine per avere dei segnali di uscita precisamente sincronizzati e' opportuno che il contatore principale sia di tipo sincrono. Il circuito di generazione dei treni di impulsi di fig. 6.36 ha come ingressi le uscite del contatore principale e in uscita fornisce quattro treni di impulsi f1, f2, f3 e f4 caratterizzati dal fatto che nessuno dei loro impulsi si sovrappone. Il "binary rate multiplier", illustrato in fig. 6.37, e' realizzato con solo cinque porte logiche. La frequenza piu' elevata f1 e' controllata dal bit piu' significativo, quella immediatamente successiva f2 dal bit piu' significativo tra i rimanenti e cosi' via. Le uscite di ciascuna porta AND sono poi sommate su una porta OR. L'uscita finale del circuito e' quindi un treno di impulsi definibile come: R x = a1. f1 + a 2 . f2 + a 3 . f3 + a 4 . f4 254 Capitolo VI Conversione A/D e D/A a1 a 2 a3 a4 Rx f1 f2 f f4 3 fig. 6.37 oppure: R x = N x . fc dove Nx e' il numero rappresentato dagli specifici bit di Xp. La parte analogica del convertitore a tripla velocita' e' realizzata con tre interruttori analogici, tre filtri passabasso a singolo stadio e un amplificatore operazionale. Ciascuno dei tre filtri consiste in due parti: un primo filtro RC nello stadio di ingresso dell'amplificatore e un secondo filtro in reazione. Tale arrangiamento circuitale e' adottato in quanto si possono in tal modo eliminare tre resistenze di precisione e due condensatori. Ciascuno dei filtri deve presentare un'attenuazione di almeno 40 dB alla frequenza di ripetizione, il che equivale a dire che la loro frequenza di taglio si deve trovare due decadi piu' in basso di tale frequenza. Come nel convertitore a modulazione di durata, le prestazioni del convertitore a tripla velocita' sono determinate esclusivamente dagli errori degli interruttori analogici, se si suppone che gli errori dovuti all'offset dell'amplificatore siano trascurabili e che i rapporti tra le resistenze siano esatti entro lo 0.025%. C'e' da notare tuttavia che solo l'interruttore relativo alla velocita' piu' alta deve essere molto preciso; per le altre velocita' sono sufficienti interruttori di minori prestazioni, poiche' le correnti prodotte alla giunzione somma sono solamente 1/16 o 1/256 della corrente generata dalla catena alla velocita' piu' alta. 6.7) Conversione A/D. 6.7.1) Considerazioni generali. Effettuare una conversione analogico-digitale (A/D) significa quantizzare l'ampiezza di una grandezza fisica in un insieme di livelli discreti in modo da ottenere, tramite un'opportuna unita' di misura e una codificazione, un numero rappresentante la misura della grandezza stessa. La conversione A/D e' utilizzata negli strumenti ad indicazione numerica, nella telemetria, nella memorizzazione dei dati e soprattutto per l'elaborazione automatica. 255 Capitolo VI Conversione A/D e D/A Il principio della quantizzazione di un segnale analogico e' illustrato in fig. 6.38. Si osservi che per effetto della quantizzazione ogni valore S*i del segnale analogico compreso nell'intervallo Si ÷ Si+1 viene associato sempre al medesimo livello Ni. N quantizzazione Ni Si S*i S i+1 S segnale analogico fig. 6.38 L'intervallo Si+1 - Si = Q viene definito "intervallo o passo di quantizzazione"; si vede immediatamente che con il processo di quantizzazione si commette un errore. Se si indica con S*i il generico valore associato al livello Ni , l'errore massimo sara' pertanto pari a ± Q/2. Tale errore e' detto errore di quantizzazione. E' ovvio che quanti piu' livelli di quantizzazione si hanno a disposizione tanto minore sara' l'errore di quantizzazione; pertanto un parametro molto importante che caratterizza un convertitore A/D e' il numero di livelli di quantizzazione. Un altro parametro che caratterizza le prestazioni di un convertitore e' il tempo di conversione, che permette di stabilire se il convertitore e' in grado di effettuare le conversione di un segnale variabile nel tempo senza perdita di informazione. Dato un segnale variabile nel tempo la sequenza delle operazioni da effettuare per convertirlo in un insieme di valori discreti si puo' descrivere come segue: • Operazione di campionamento, tramite la quale vengono prelevati i valori istantanei del segnale analogico. La frequenza del campionamento deve essere tale da garantire la completa ricostruzione del segnale originale e pertanto, se F e' la massima frequenza contenuta nel segnale analogico, la frequenza di campionamento minima deve essere pari almeno a 2F. • Operazione di "ritenuta" del segnale campionato per mantenere inalterato il valore del segnale per tutto il tempo di conversione. • Operazione di conversione A/D propriamente detta e codificazione per la rappresentazione numerica del segnale. Oltre l'errore di quantizzazione appena definito vi sono altri errori che derivano dal fatto che la caratteristica reale di un convertitore A/D si discosta da quella ideale per tutta una serie di motivi. Tra di essi si possono citare i seguenti: 256 Capitolo VI Conversione A/D e D/A • Errore di zero, quando si ha in uscita una codificazione corrispondente allo zero con un segnale di ingresso non nullo. • Errore di codificazione dei livelli discreti. • Errore di non linearita'. Questi tre tipi di errore sono illustrati in maniera qualitativa in fig. 6.39. segnale digitale caratteristica ideale caratteristica reale non linearita' errore di codificazione segnale analogico errore di zero fig. 6.39 Vi sono inoltre altre cause di errore provocate da rumore, instabilita' e derive degli elementi circuitali. Tutte queste cause costituiscono il limite fisico insuperabile dal punto di vista delle prestazioni di un convertitore A/D. I convertitori A/D possono venir suddivisi in molti modi, in base alle loro modalita' di funzionamento e alle loro caratteristiche elettriche. Dal punto di vista delle loro caratteristiche funzionali si puo' parlare di convertitori "ad anello aperto", di convertitori "in controreazione" e di convertitori "veloci o flash". 6.7.1) Convertitori ad anello aperto. Rientrano in questa categoria i convertitori tensione-frequenza e quelli a rampa semplice, doppia e multipla. a) Convertitori tensione - frequenza. In un convertitore tensione - frequenza la tensione Vi da convertire viene applicata ad un blocco circuitale la cui uscita e' un treno di impulsi di frequenza F = K. Vi + F0 dove K e' una costante di proporzionalita' che dipende dal convertitore e F0 e' la frequenza d'uscita che si ottiene quando la tensione di ingresso e' nulla. Tale tipo di convertitore e' generalmente caratterizzato dalla semplicita' circuitale, ma la sua linearita', la precisione, la stabilita' e la rapidita' di conversione sono normalmente modeste. 257 Capitolo VI Conversione A/D e D/A La gamma dei possibili tipi di convertitore tensione - frequenza e' molto vasta e si va da semplici circuiti ricavati da multivibratori astabili, in cui la frequenza di uscita ha di solito un legame logaritmico con la tensione di ingresso e la cui precisione e' limitata, a complessi circuiti di prestazioni piu' che discrete. A titolo di esempio lo schema di principio di un convertitore ricavato dall'opportuna modifica di un multivibratore astabile e' riportato in fig. 6.40. +V Vi R R C C F fig. 6.40 Assumendo che la tensione di collettore dei transistori nello stato di interdizione coincida in pratica con V, cioe’ trascurando le cadute ai capi dei transistori in saturazione e le correnti di perdita, si ricava che, in prima approssimazione, il periodo T di oscillazione e': V T = 2.RC. ln1 + Vi Il legame tra tensione di ingresso e frequenza e' pertanto di tipo logaritmico; per linearizzare la dipendenza tra tensione di ingresso e frequenza di uscita si adottano configurazioni circuitali che consentono di alimentare le basi dei transistori a corrente costante, sostituendo le resistenze R con generatori di corrente. Migliori caratteristiche si possono ottenere con stadi impieganti circuiti integrati lineari secondo lo schema di principio illustrato in fig. 6.41. Vi F fig. 6.41 258 Capitolo VI Conversione A/D e D/A Come si puo' vedere, il primo operazionale e' utilizzato come stadio integratore in modo da generare una tensione a rampa la cui pendenza dipende dal valore della tensione Vi da convertire. Il secondo stadio realizza un comparatore con isteresi che commuta quando la tensione a rampa raggiunge i valori prefissati dalla rete di reazione positiva. La sua uscita e' utilizzata per scaricare periodicamente il condensatore dell'integratore tramite un interruttore che di solito viene realizzato con un FET. Quanto piu' elevata e' la tensione Vi tanto maggiore e' la frequenza di commutazione e curando la realizzazione circuitale si riescono ad ottenere elevate linearita'. Altri tipi di convertitore V/F si basano sull'impiego di FET, utilizzati in oscillatori RC come resistenze variabili in funzione di una tensione, oppure sull'impiego di diodi varicap in oscillatori LC o ancora utilizzando dei transistori unigiunzione. A titolo di esempio in fig. 6.42 viene riportato lo schema di principio di un oscillatore RC impiegante un amplificatore operazionale, in cui le resistenze della rete a scala sono costituite da FET. Vi fig. 6.42 b) Convertitore A/D a rampa semplice. Lo schema di principio del convertitore a rampa semplice e' riportato in fig. 6.43. Per semplicita' si e' omesso in ingresso il blocco di sample and hold necessario per mantenere costante il segnale applicato al convertitore durante il tempo di conversione e si e’ supposto che il segnale Vi da convertire sia esclusivamente unipolare. Conmando di conversione S generatore di rampa Q VR S R Contatore Fc Clock Vi fig. 6.43 Un impulso di comando di conversione determina l'istante di partenza delle operazioni di conversione. Tale impulso azzera il contatore, mette nello stato "ON" il flip-flop RS, consentendo 259 Capitolo VI Conversione A/D e D/A pertanto che attraverso la porta AND la frequenza di clock Fc possa pervenire al contatore stesso, e da' inizio alla generazione locale di una tensione a rampa, che viene confrontata tramite un comparatore con la tensione Vi da convertire. Finche' la tensione a rampa si mantiene inferiore a Vi l'uscita del comparatore rimane bassa; non appena la tensione a rampa supera Vi il comparatore commuta azzerando il flip-flop RS. In tal modo la porta AND viene bloccata e il conteggio degli impulsi di clock interrotto. E' facile rendersi conto che, in condizioni ideali, il numero memorizzato nel contatore e' proporzionale alla tensione di ingresso. Il diagramma di temporizzazione dei segnali nei vari punti del circuito e' riportato in fig. 6.44. comando di conversione t V R max Vi VR t Q t S t fig.6.44 Le prestazioni di un tal tipo di convertitore sono generalmente superiori a quelle dei convertitori V-F; la linearita' e la precisione dipendono ovviamente dall'accuratezza con cui viene realizzato il generatore di rampa e dalla stabilita' della base dei tempi. Nel complesso tuttavia le prestazioni rimangono modeste. Gli errori che maggiormente fanno sentire il loro effetto sono dovuti a fenomeni di non linearita' della tensione a rampa, alle incertezze nelle soglie del comparatore e ai ritardi da esso introdotti. C'e' inoltre da notare che vi e' un'elevata sensibilita' a disturbi e rumori provenienti sia dalla rete di alimentazione sia sovrapposti alla tensione da convertire. c) Convertitore A/D a doppia rampa. Prestazioni nettamente superiori a quelle dei sistemi presi fin qui in considerazione si possono ottenere con il convertitore A/D a doppia rampa, il cui schema di principio e' riportato in fig. 6.45. La tensione Vi da convertire viene applicata per un intervallo di tempo costante T0, determinato da una rete sequenziatrice in base alla frequenza di clock, ad un integratore. La tensione all'uscita dell'integratore alla fine dell'intervallo sara': T0 V1 = ∫ Vi (t ).dt 0 e se Vi e' costante si ottiene: 260 Capitolo VI Conversione A/D e D/A V1 = 1 . Vi . T0 R. C Clock Vi VR T0 C T2 Fc R V1 Contatore Comp. T1 reset Fc T2 T0 T1 Rete sequenziatrice T2 fig. 6.45 Al termine dell'intervallo T0 la tensione Vi viene sconnessa e l'ingresso dell'integratore viene collegato a una tensione di riferimento costante -VR di polarita' opposta a quella della tensione Vi, che integrata da' origine ad una rampa decrescente. Durante questo secondo intervallo di tempo (T2) la porta AND risulta abilitata e gli impulsi di clock possono raggiungere il contatore. Questa fase si interrompe non appena l'uscita dell'integratore raggiunge lo zero, condizione riconosciuta tramite il comparatore. A questo punto la porta AND viene bloccata, l'informazione viene trasmessa al circuito sequenziatore che provvede ad avviare un nuovo ciclo di conversione dopo un opportuno intervallo di tempo T1. Esiste pertanto una proporzionalita' diretta tra la tensione da convertire e il numero di impulsi conteggiati. Infatti alla fine del periodo T2 e' soddisfatta la condizione: V1 − 1 . VR . T2 = 0 R. C e ricordando l'espressione ricavata per V1 si ottiene infine: V T2 = T0 . i VR Il numero di impulsi conteggiati e' pertanto: N = T2 . Fc = T0 . Fc . Vi VR E' opportuno osservare che l'intervallo di tempo T0 viene ottenuto conteggiando un certo numero N0 di impulsi di clock. Di conseguenza: T0 = N0 Fc 261 Capitolo VI Conversione A/D e D/A che permette finalmente di ricavare l'espressione finale: Vi = VR .N N0 Questo tipo di convertitore possiede una linearita' e una precisione nettamente superiore a quella dei tipi precedentemente presi in esame. Il suo pregio piu' importante risiede nel fatto che il conteggio risulta indipendente sia dalla stabilita' del clock che da quella dei componenti della rete di integrazione. E' sufficiente infatti, affinche' la relazione appena ricavata sia valida, che la frequenza del clock e le caratteristiche dell'integratore rimangano stabili durante il tempo di conversione, specifica questa abbastanza facile da soddisfare. Anche le incertezze introdotte dal comparatore di zero si possono ritenere scarsamente influenti in quanto si ripercuotono alla stessa maniera sia durante la rampa ascendente che durante la rampa discendente. A tutto cio' si aggiunge il fatto che l'operazione di integrazione permette di ridurre l'effetto dei disturbi impulsivi e che tutti i rumori a valor medio nullo, quali ad esempio il rumore di rete, il cui periodo sia un sottomultiplo del periodo di integrazione, vengono totalmente cancellati. Unica caratteristica negativa, peraltro comune ai convertitori fin qui presi in esame, e' la lentezza dell'operazione di conversione, che non permette pertanto di trattare segnali di ingresso di frequenza elevata. d) Convertitore A/D a rampa multipla. Convertitori A/D, il cui principio di funzionamento e' simile a quello del convertitore a doppia rampa, sono quelli a rampa multipla, che nei confronti di quello a doppia rampa presentano una serie di vantaggi. In particolare hanno, con un'opportuna scelta della frequenza di clock, una maggior stabilita' e precisione, una maggiore rapidita' di conversione ed infine offrono un maggior potere filtrante nei confronti di rumori e disturbi. Per illustrarne il principio di funzionamento si fara' riferimento a quello a tripla rampa, le cui forme d'onda principale sono riportate in fig. 6.46. uscita dell'integratore t intervallo di conteggio t fig. 6.46 La tensione di ingresso Vi viene integrata per un intervallo di tempo costante T0 al termine del quale all'ingresso dell'integratore viene applicata la tensione costante di riferimento -VR, che scarica il condensatore dell'integratore in modo del tutto analogo a quanto avviene nel convertitore a doppia 262 Capitolo VI Conversione A/D e D/A rampa. La differenza con quest'ultimo risiede nel fatto che la scarica a corrente costante non si arresta quando la tensione di uscita dell'integratore ha raggiunto lo zero, ma prosegue, diventando negativa, fino all'istante di arrivo del successivo impulso di clock. In questo istante, quando l'uscita dell'integratore e' negativa, viene applicata all'ingresso una tensione fissa dello stesso segno di Vi pari a VR/10. In tal modo l'uscita dell'integratore tornera' a salire con una pendenza pari a un decimo di quella precedente. Il conteggio si arresta quando l'uscita dell'integratore raggiunge lo zero. A parte qualche lieve complicazione nella codifica del dato digitale di uscita, si puo' notare che in virtu' dei due tratti a pendenza diversa si ottengono, a parita' di frequenza di clock, risoluzioni nettamente superiori a quelle del convertitore a doppia rampa. Ad esempio con 20 impulsi di clock, 10 per il tratto a pendenza negativa e 10 per il tratto a pendenza positiva, si ottiene una risoluzione pari a una parte su 100, che nel caso di un convertitore a doppia rampa richiederebbe 100 impulsi di clock. Da un altro punto di vista si puo' affermare che il convertitore a doppia rampa a parita' di frequenza di clock impiegherebbe per ottenere la medesima risoluzione un tempo cinque volte superiore. 6.7.2) Convertitori a controreazione. Si consideri la semplice struttura circuitale illustrata in figura 6.47. Si abbia cioe’ un convertitore D/A (realizzato nel caso in esame con una rete a scala) la cui uscita piloti una giunzione a somma nulla. I 1A V 1A R Comparatore analogico 2R b1 R 2R +VR giunzione somma b2 R 2R bn 2R Logica di controllo fig. 6.47 La tensione alla giunzione somma sara’ ovviamente nulla quando: I1A = I1 b1 + I 2 b 2 + ..... + I n b n dove la generica Ii e’ il contributo fornito alla giunzione somma attraverso il ramo i dal generatore di riferimento VR. Si ricordi che: I i+1 = Ii 2 i = 1,2,...., n − 1 263 Capitolo VI Conversione A/D e D/A Questa semplice osservazione permette di individuare una tecnica atta ad effettuare la conversione analogico-digitale. Si supponga infatti che una logica programmata applichi al convertitore D/A parole digitali di diverso valore secondo un'opportuna politica (per incrementi successivi unitari, per approssimazioni successive, secondo una ricerca binaria. etc.). Solo quando la tensione alla giunzione somma sara' scesa al di sotto di un'opportuna soglia, pari alla tensione fornita dal bit meno significativo, l'operazione verra' interrotta. La parola binaria cosi' realizzata sara' l'equivalente digitale della tensione V1A. Per esaminare quantitativamente questo modo di operare si supponga che sia a 1 il bit piu' significativo, mentre tutti gli altri siano a 0. La corrente fornita alla giunzione somma e' allora: I1 = VR 2R Se invece e' il secondo bit ad assumere il valore 1 si ottiene, ricordando che l'impedenza d'uscita di una rete a scala R/2R vale R e che la tensione di uscita a vuoto nelle condizioni ipotizzate e' VR/4: I2 = VR 4R In definitiva all'equilibrio si avra': I1A = V1A VR V V . b1 + R . b 2 + ...... + Rn . b n = R 2. R 4. R 2 cioe’ b b b V1A = VR . 1 + 2 + ..... + nn 2 2 4 b .2 = VR . 1 n −1 + b 2 .2 n −2 + ..... + b n .2 0 B = VR . n n 2 2 dove con B si e’ indicato il valore rappresentato dalla parola binaria in ingresso al convertitore D/A. In definitiva si ottiene : B= V1A n .2 VR All’equilibrio quindi la parola binaria B rappresenta, nei limiti dell’errore di quantizzazione, la misura della tensione di ingresso V1A. Nella pratica un convertitore A/D in controreazione si ottiene inserendo un convertitore D/A nell’anello di reazione di un amplificatore operazionale utilizzato come comparatore, come illustrato in figura 6.48 264 Capitolo VI Conversione A/D e D/A Vi Comparatore analogico + Convertitore VR - D/A parola digitale d'uscita Logica di controllo fig. 6.48 Il convertitore D/A puo' essere di diverso tipo, anche se e' abbastanza comune che venga impiegato quello con rete a scala. La logica di controllo determina poi le modalita’ operative del convertitore A/D, permettendo di ottenere piu’ o meno rapidamente il dato convertito. In sostanza le diverse modalita’ operative influiscono solo sulla velocita’ di conversione e non sulla risoluzione e sulla precisione del convertitore. Queste ultime risultano determinate unicamente dalla struttura e dalle caratteristiche del convertitore D/A inserito nell’anello di reazione. La modalita' operativa piu' semplice e' quella che prevede l'incremento della parola digitale di un'unita' per periodo di clock. Ovviamente un tal modo di procedere fa si' che la logica di controllo sia particolarmente semplice, ma contemporaneamente costringe ad adottare tempi di conversione lunghi, rendendo il convertitore poco adatto alla conversione di segnali variabili nel tempo. Un convertitore A/D di tal tipo viene detto ad inseguimento. Una maggiore efficienza si ottiene con la politica di controllo a successive approssimazioni, in cui la tensione convertita e' ottenuta con successive fasi di tentativo e correzione a partire dal bit piu' significativo della parola digitale. In sostanza viene effettuata una ricerca dicotomica del risultato ponendo inizialmente a 1 il bit piu' significativo e osservando se la tensione ottenuta e' superiore o inferiore a quella di ingresso. In base al risultato di questo confronto la logica di controllo decide poi se mantenere a 1 tale bit o azzerarlo, ripetendo poi la stessa operazione per tutti i successivi bit fino ad ottenere in uscita il dato che meglio approssima la tensione di ingresso. La tecnica a successive approssimazioni consente di accelerare in modo considerevole le operazioni di conversione. Infatti, nella tecnica a inseguimento il tempo massimo necessario alla conversione e' 2n.T, se T e' il periodo di clock e n il numero di bit del convertitore, mentre nella tecnica a successive approssimazioni il tempo necessario e', in prima approssimazione, solamente n.T. 6.7.3) Convertitori veloci (flash). Si definiscono convertitori veloci (flash) quelli in grado di convertire segnali analogici occupanti una banda dell’ordine della decina o addirittura del centinaio di MHz. La loro caratteristica piu' importante e' il tempo di conversione definito come l'intervallo di tempo che intercorre tra l'istante in cui viene applicato il comando di inizio della conversione stessa e quello in cui il dato in uscita puo' essere considerato valido. La struttura di questo tipo di convertitori e' totalmente diversa di quella dei convertitori fin qui presi in esame. In genere il cuore di un sistema di conversione veloce e' costituito da un insieme di 265 Capitolo VI Conversione A/D e D/A comparatori, ciascuno con una precisa e prefissata tensione di soglia. Le uscite di tali comparatori vengono poi inviate ad un opportuno sistema di codifica che realizza la parola digitale di uscita secondo lo schema di principio di fig. 6.49. La velocita di questo tipo di convertitore e' limitata solamente dal tempo di assestamento dei comparatori e dalla velocita della rete di codifica. La limitazione maggiore risiede nel gran numero di resistori da utilizzare, che nel caso di un'uscita a n bit e pari a 2n, e nel gran numero di comparatori necessario, pari a 2n-1. Ogni bit in piu' pertanto porta al raddoppio del numero di resistenze e comparatori necessari. Per tale motivo i convertitori veloci realizzati secondo questo principio non hanno in genere un numero di bit superiore a 6. Strutture piu' complesse, ottenute da gruppi di comparatori multi soglia opportunamente raggruppati tra di loro, permettono di realizzare sistemi di conversione A/D veloci fino a 8 ÷ 10 bit. VR V R Rete combinatoria di codifica R uscita digitale R fig. 6.49 R 6.8) Cenni sul dimensionamento di sistemi d’acquisizione e conversione A/D. Dopo aver preso nei paragrafi precedenti in considerazione alcuni aspetti relativi alla conversione D/A e A/D si esamini ora un sistema completo, illustrato schematicamente nella figura 6.50. segnale analogico Circuiti di protezione Amplificatore/ Attenuatore Convertitore A/D Filtro PB antialiasing Convertitore D/A S/H Filtro PB Protezioni e Amplificatore segnale analogico segnale digitale figura 6.50 Ovviamente nei casi reali alcuni dei blocchi rappresentati in figura potrebbero mancare. Se, ad esempio, non si avesse interesse a riottenere un segnale analogico in uscita, il convertitore D/A, il filtro passa-basso d’uscita, le protezioni e l’eventuale amplificatore non sarebbero presenti. 266 Capitolo VI Conversione A/D e D/A I punti su cui fissare l’attenzione ai fini del dimensionamento possono essere riassunti in: • • • • Precisione e risoluzione, determinate dal numero di bit della parola di uscita; Banda del segnale, che determina la frequenza di campionamento; Dinamica del segnale di ingresso, che ha una diretta influenza sugli stadi amplificatori/attenuatori; Numero di canali del sistema, che permette di valutare il tempo massimo di conversione del convertitore A/D. L’ultima parametro preso in esame si riferisce alla possibilita’ di eseguire la conversione A/D su piu’ segnali utilizzando un unico convertitore A/D. Tale operazione puo’ venir effettuata se nella catena di conversione di figura 6.50 viene inserito un multiplexer (analogico) immediatamente prima del blocco sample-hold, permettendo di scandire ciclicamente i vari segnali di ingresso. E’ evidente tuttavia che, se in un sistema monocanale il periodo minimo di campionamento e’ determinato dalla somma del tempo di acquisizione Ta del sample-hold e del tempo di conversione Tconv del convertitore A/D, cioe’: Tc min = Ta + Tconv in un sistema multicanale con N ingressi il periodo minimo di campionamento del singolo canale sara’: Tc min = N.(Ta + Tconv ) Se, ad esempio, il sistema fosse in grado di eseguire 104 campionamenti al secondo, con un unico canale il periodo di campionamento sarebbe di 10-4 secondi. In altre parole, tenendo presente che la frequenza di campionamento deve essere almeno doppia della massima frequenza contenuta nel segnale, si sarebbe in grado di convertire segnali con frequenza massima di 5 kHz. Se viceversa i segnali di ingresso fossero invece 10, il periodo minimo di campionamento del singolo segnale passerebbe a 10-3 secondi, consentendo la conversione A/D di segnali di frequenza massima pari a 500 Hz. L’aumento del numero di canali pone quindi, a parita’ delle altre caratteristiche, un vincolo sulla massima frequenza del segnale convertibile. Quanto piu’ aumenta il numero di canali, tanto piu’ risulta limitata la banda di ciascun segnale convertibile. Con riferimento allo schema di massima di figura 6.50 i primi tre blocchi, cioe’ quelli di protezione, di amplificazione/attenuazione e il filtro passa-basso antialiasing, effettuano l’operazione che complessivamente viene detta condizionamento del segnale. E’ necessario cioe’: • • • Limitare l’ampiezza del segnale a valori tali da garantire l’integrita’ del sistema; Amplificare o attenuare il segnale in modo che il suo valore massimo sia adattato al fondo scala del convertitore. Ci si rende infatti conto che se, ad esempio, si applicasse ad un convertitore A/D con fondo scala di 10 V un segnale di ampiezza massima 0,5 V, non si sfrutterebbe convenientemente il convertitore stesso. Alcuni bit della parola digitale di uscita, per la precisione quelli piu’ significativi, rimarrebbero costantemente a zero; Limitare la banda del segnale al piu’ alla meta’ della frequenza di campionamento. 267 Capitolo VI Conversione A/D e D/A I circuiti di protezione possono venir realizzati utilizzando dispositivi di tosatura, che utilizzano diodi o zener, come illustrato in figura 6.51. +V V in Vin Vout V out -V figura 6.51 Nel caso (a) la tensione del segnale d’uscita viene mantenuta approssimativamente all’interno dell’intervallo compreso tra +V e –V, nel caso (b) tra Vz e –Vz. Un risultato analogo si puo’ ottenere utilizzando varistori, cioe’ resistenze non lineari, che, com’e’ noto, diminuiscono di valore all’aumentare della tensione applicata. Gli stadi amplificatori/attenuatori vengono di solito realizzati con amplificatori differenziali, in modo da ridurre, per quanto possibili, gli effetti dei rumori di modo comune. Molto spesso la configurazione adottata e’ quella dell’amplificatore per strumentazione 3OP, che, oltre a presentare ottime caratteristiche di reiezione di modo comune, permette di variare il guadagno agendo su un’unica resistenza. Spesso inoltre il guadagno puo’ venire programmato con un’opportuna parola digitale di controllo, come si e’ visto al paragrafo 6.4.3. Infine il filtro antialiasing e’ semplicemente un filtro passa-basso. Considerazioni anche banali, basate su quanto esposto al paragrafo 6.2, relativo allo spettro dei segnali campionati, permettono di affermare che la ripidita’ del filtro dovra’ essere tanto maggiore quanto piu’ la massima frequenza contenuta nel segnale da convertire si avvicina alla frequenza di Nyquist, cioe’ alla meta’ della frequenza di campionamento1. Il filtro va ovviamente inserito a monte dell’eventuale multiplexer. In uscita del multiplexer, infatti, si ha un segnale composito che deriva dalla commutazione ciclica sui vari canali d’ingresso. Il suo contenuto frequenziale e’ quindi diverso da quello dei singoli segnali. Che questa affermazione corrisponda a realta’ e’ facilmente intuibile facendo riferimento al seguente semplice esempio. Si consideri infatti un sistema a due canali ai cui ingressi siano presenti due tensioni continue di valore diverso, come illustrato in figura 6.52. 1 Per semplificare il filtro e’ conveniente sovracampionare, cioe’ adottare una frequenza di campionamento notevolmente superiore al doppio della massima frequenza contenuta nel segnale. E’ abbastanza usuale avere fattori di sovracampionamento che possono giungere anche a 100. 268 Capitolo VI Conversione A/D e D/A V1 t V2 t V1 MUX Vo Vo t V2 tc 2t c 3tc 4tc 5t c 6tc 7tc figura 6.52 Il segnale Vo in uscita del multiplexer sara’ un’onda rettangolare, che ad ogni istante di campionamento commuta tra i due valori V1 e V2. Si passa cioe’ da un segnale in continua (e quindi con componenti spettrali unicamente a frequenza nulla) ad un segnale che contiene anche le righe spettrali Fc = 1/tc e tutte le sue armoniche dispari. Non e’ quindi possibile eseguire il filtraggio antialiasing a valle del multiplexer, ma e’ obbligatorio realizzarlo a monte utilizzando tanti filtri quanti sono i canali di ingresso. Per quanto attiene il multiplexer esso ha il compito di connettere uno degli ingressi alla linea di uscita. Di solito la selezione viene effettuata attraverso un certo numero N di bit, detti bit di indirizzo, che permettono di scegliere la linea di ingresso desiderata. Essi vengono realizzati utilizzando un banco di interruttori, capaci di commutare segnali analogici, e con una logica di decodifica degli indirizzi che aziona il singolo interruttore. Spesso all’interno del multiplexer sono presenti anche circuiti di protezione. Parametri caratterizzanti un multiplexer sono: • • • • • Numero di canali Dinamica consentita ai segnali di ingresso Isolamento tra i canali Caratteristiche statiche degli interruttori Caratteristiche dinamiche In particolare, con riferimento alle caratteristiche statiche, una notevole importanza assume la resistenza a interruttore chiuso Ron, che per i componenti disponibili comunemente e’ compresa tra qualche decina e qualche centinaio di ohm. Tale resistenza e’ comunque definita sull’intera dinamica ammessa per l’ingresso. Analoga importanza riveste la corrente di perdita Is di un interruttore aperto. A seconda del tipo di interruttore questa corrente puo’ variare, ma e’ comunque molto piccola. Per interruttori realizzati in tecnologia MOS e’ dell’ordine del nanoampere o meno. Tra i parametri dinamici si possono citare i tempi di apertura e di chiusura degli interruttori, che, essendo elementi fisici e non ideali, hanno dei tempi di azionamento che, per quanto piccoli, non possono certamente essere nulli. Questi parametri, assieme alle capacita’ parassite, inevitabilmente presenti, permettono di valutare gli errori introdotti dagli interruttori. Gli interruttori analogici possono essere realizzati utilizzando ponti di diodi, transistori bipolari, transistori ad effetto di campo o altri dispositivi, quali ad esempio fotodiodi o fotoresistenze. In figura 6.53 sono riportate, senza alcuna pretesa di completezza, alcune strutture circuitali tipiche che realizzano interruttori analogici. 269 Capitolo VI Conversione A/D e D/A -5 VR Vc +10 +5V 0 VR V0 +15V +5 +V VR V0 -V Vc Vc 0 0 +5 -15 +12 Interruttore serie (npn) +5 VR -10 V +5 -5 -15 -12 Interruttore serie con pilotaggio a corrente costante Interruttore parallelo a singolo transistore V V0 +5 +5 VR +15 +10 V0 -10 -15 V0 +15 0 c V 0 -10 +5 Interruttore serie (pnp) VR -15 Vc -10 Interruttore serie a NFET di media velocita' Interruttore serie-parallelo +12 VR1 Vc VR2 +10 +5 +12 V01 0 V02 +5 VR Vc VR2 V0 -10 Vc -24 +15 0 -12 VR1 V0 +5 -20 Interruttore serie-parallelo a NFET di media velocita' Interruttore serie a MOS Interruttore serie-parallelo a MOS fig. 6.53 Un’importante classificazione degli interruttori permette di raggrupparli in due categorie, quella in cui uno degli elettrodi dell'elemento di commutazione e' connesso al potenziale di riferimento e quella degli interruttori “floating”. Un esempio dei primi e’ rappresentato dal circuito di figura 6.53 (b). E’ abbastanza evidente che in questo caso il pilotaggio dell’interruttore e’ particolarmente semplice; e’, infatti, sufficiente polarizzare adeguatamente la base rispetto all’emettitore, che e’ connesso a massa, per ottenere la commutazione del transistore. Piu’ difficile risulta la commutazione di un interruttore “floating”. Si consideri, ad esempio, l’interruttore MOS di figura 6.54. Vi D S G Vc figura 6.54 270 Vo Capitolo VI Conversione A/D e D/A Avendo scelto per la realizzazione un MOS ad arricchimento, per portarlo in conduzione e’ necessario applicare tra gate e source una tensione di comando superiore alla tensione di soglia VT. Poiche’ tuttavia la tensione d’uscita Vo non e’ costante, anche la tensione di comando Vc non puo’ essere resa costante, ma deve essere tale che, istante per istante, sia rispettata la relazione: Vc − Vo ≥ VT Un possibile arrangiamento circuitale che soddisfa queste specifiche e’ quello che fa ricorso ad un generatore di corrente comandato, come mostrato in figura 6.55. In questo circuito e’ sufficiente che, indipendentemente dalla tensione Vo, R i .I c > VT per mantenere in conduzione il MOS. Vi Vo R Ic figura 6.55 C’e’ da notare infine che le capacita’ parassite giocano un ruolo fondamentale sugli errori di commutazione. Si consideri, infatti, un interruttore MOS “floating”, quale quello di figura 6.56, in cui siano state evidenziate le capacita’ parassite drain-source CDS, gate-source CGS e gate-drain CGD. C DS Vi D S Vo C G C GD Vc C GS figura 6.56 Per semplicita’ si consideri poi l’interruttore chiuso su un carico capacitivo C, situazione che molto spesso corrisponde alla realta’. Si supponga ora che al gate venga applicato un gradino di comando. Poiche’ le due capacita’ CGD e C formano un partitore capacitivo, una frazione della tensione di comando verra’ riportata in uscita, determinando quello che viene chiamato errore di piedistallo. Indicando con Vc la tensione di comando, si avra’ in uscita una tensione pari a: 271 Capitolo VI Conversione A/D e D/A Vo = Vc . C GD C GD + C La capacita’ CDS determina poi un errore detto “errore di feed-trough”. Infatti, anche quando il MOS e’ in condizione OFF, una parte del segnale d’ingresso Vi viene riportata in uscita poiche’ anche in questo caso CDS e C formano un partitore capacitivo. Si ha in tal caso: Vo = Vi . C DS C DS + C Si nota immediatamente che, in ambedue i casi, un aumento di C gioca un ruolo favorevole poiché fa diminuire l’errore complessivo. Tuttavia l’aumento di C ha tutta una serie di controindicazioni. Ad esempio la velocita’ operativa dell’interruttore in fase di chiusura viene diminuita poiche’ il condensatore C si carica con una costante di tempo pari a Ron.C. L’errore di piedistallo puo’ invece venir compensato utilizzando per realizzare l’interruttore due MOS complementari anziche’ uno solo, secondo lo schema di figura 6.57. Vi Vo Vc figura 6.57 In questo modo le cariche fornite all’uscita attraverso le capacita’ parassite si bilanciano tanto piu’ quanto le caratteristiche dei due MOS coincidono. 6.9) Gli interruttori per segnali analogici. Ciascun tipo di "switch" analogico ha i suoi vantaggi e le sue limitazioni, che ne determinano il campo d’impiego. Nessun interruttore infatti e' perfetto. Per essere tale esso dovrebbe avere una resistenza nulla nello stato ON, infinita in quello OFF ed avere un'efficienza del 100%, cioe' non dissipare potenza. Dal punto di vista delle caratteristiche elettriche gli interruttori meccanici sono quelli che piu' d’ogni altro si avvicinano a questa condizione ideale, in quanto hanno il piu' alto rapporto ROFF/RON ed isolano totalmente il segnale dalla funzione di controllo della commutazione. Tuttavia la loro realizzazione meccanica fa si' che si generino rumori e instabilita' nelle commutazioni a basso livello, con rimbalzo dei contatti, avvelenamento degli stessi e suscettibilita' alle vibrazioni. Inoltre, la necessita' di spostare una massa fisica per dar luogo alla commutazione impedisce operazioni ad alta velocita' e da' di regola luogo ad una maggior dissipazione di potenza che non con gli interruttori allo stato solido. I transistori bipolari permettono di realizzare degli eccellenti interruttori per segnali digitali, ma si rivelano molto carenti nelle applicazioni di commutazione con segnali analogici a basso 272 Capitolo VI Conversione A/D e D/A livello. I loro principali svantaggi risiedono nella presenza di tensioni di offset ineliminabili e nell'impossibilita' di isolare il segnale analogico da commutare dai segnali di controllo della commutazione. Inoltre nella commutazione di segnali analogici si rivelano relativamente lenti, ad esempio rispetto a interruttori realizzati con JFET. La resistenza di conduzione RON degli interruttori realizzati con BJT e' bassa e risulta compresa tra un massimo di qualche diecina di ohm per i normali transistori di bassa potenza fino a qualche milliohm per i transistori di potenza piu’ elevata. A causa delle loro caratteristiche essi vengono quindi utilizzati quasi esclusivamente nelle applicazioni ad alto livello, dove gli offset in corrente continua assumono un'importanza trascurabile. Sotto certi aspetti dispositivi particolarmente adatti alla realizzazione di interruttori analogici sono i dispositivi fotosensibili; poiche' utilizzano quali segnali di controllo la luce, essi permettono infatti un isolamento completo tra segnale di comando e circuito di segnale. Fissando l'attenzione sulle fotocelle e sulle fotoresistenze si puo' dire tuttavia che la loro RON e' relativamente alta e il rapporto ROFF/RON non e' molto buono. A cio' si aggiunge che, anche accettando bassi valori per tale rapporto, raramente si riescono a superare frequenze di commutazione al di sopra del centinaio di Hz. Se come elementi fotosensibili si utilizzano materiali semiconduttori quali il solfuro o il seleniuro di cadmio, si ha, infatti, una notevole inerzia nel raggiungere lo stato OFF dopo l'esposizione ad un'illuminazione intensa (in qualche caso possono passare diversi secondi prima che la ROFF raggiunga valori accettabili). Switch fotoelettrici piu' rapidi possono essere realizzati con la combinazione di LED e fototransistori o fotodiodi, ma in tal caso l'inconveniente principale e' il costo. Un comportamento molto migliore viene presentato dai JFET. Essi non presentano tensioni di offset, e il rapporto tra ammettenza e capacita' di ingresso e' il migliore tra quelli dei dispositivi comunemente disponibili. Questi due parametri hanno un'importanza fondamentale per la velocita' di commutazione e nel caso dei JFET, quando anche le sorgenti di segnale hanno un'impedenza interna molto bassa, la velocita' che si raggiunge puo' essere veramente notevole. Per fissare le idee si puo' affermare che un JFET a canale N, quale ad esempio il 2N4391, ha un rapporto ROFF/RON di circa 109, una resistenza di conduzione che si aggira sulla trentina di ohm e una massima corrente di perdita a 25°C, che non supera i 100 pA. E' bene ricordare che i JFET a canale P presentano caratteristiche di velocita' inferiori rispetto a quelli a canale N a causa della minor mobilita' dei loro portatori di carica maggioritari (lacune) rispetto ai portatori dei JFET a canale N (elettroni). Il maggior inconveniente dei JFET risiede nell'estrema difficolta' che si ha nel realizzare dispositivi multicanale in tecnica integrata. I dispositivi che oggigiorno maggiormente si prestano alla commutazione a bassa potenza, soprattutto quando l'ampiezza dei relativi segnali non sia eccessiva, sono i MOS, che permettono la realizzazione di diversi canali di commutazione sullo stesso substrato, con eccellenti caratteristiche. In aggiunta anche tutti i circuiti di controllo della commutazione possono essere integrati nello stesso chip. I MOS presentano dal punto di vista elettrico diversi significativi vantaggi: • • • • La dissipazione di potenza e' praticamente nulla nella maggior parte delle applicazioni. Infatti non vi e' potenza dissipata nei circuiti di gate e la stessa potenza dissipata nello switch, quando questo si trova nella condizione ON, e' di solito trascurabile. La tensione di offset in un commutatore ben progettato e' nulla. La resistenza ON e' ragionevolmente bassa ( al massimo di qualche centinaio di ohm). La resistenza OFF e' praticamente infinita (tipicamente > 1012 ohm) e le correnti di perdita sono molto piccole (dell'ordine dei 100 pA). 273 Capitolo VI Conversione A/D e D/A • I segnali analogici sono altamente isolati dal circuito di controllo della commutazione. 6.9.1) Struttura di un interruttore MOS. Si consideri a titolo di esempio la struttura di in commutatore formato da due switch, di cui uno puo' essere in condizioni ON e l'altro in condizioni OFF, come illustrato in fig. 6.58. Ambedue i MOS hanno un substrato comune, realizzato in silicio debolmente drogato N. Uno strato di biossido di silicio, accresciuto termicamente in tecnica epitassiale, copre completamente l'intera superficie del chip, tranne nelle zone in cui vengono realizzate le connessioni, garantendo una buona protezione dei dispositivi e una buona stabilita' delle caratteristiche. Le connessioni vengono normalmente realizzate in alluminio deposto sotto vuoto. Ciascun MOS ha elettrodi di gate e di ingresso separati; le uscite invece, a seconda del dispositivo scelto possono essere separate oppure connesse ad un elettrodo comune. E' interessante notare che a seconda della metallizzazione finale con la stessa struttura e disposizione dei dispositivi attivi possono venir realizzati switch individuali, differenziali o multiplexer. I MOS utilizzati sono di solito a canale P e passano in conduzione quando una tensione negativa viene applicata tra gate e source, essendo del tipo a rinforzo. metallo depositato uscita gate 2 gate 1 ingresso 2 ingresso 1 P+ P+ P+ P+ N SiO substrato substrato ingresso 1 gate 1 uscita ingresso 2 gate 2 figura 6.58 In fig. 6.59 sono riportate le condizioni tipiche di funzionamento di un MOS usato per commutare segnali analogici compresi tra -10 e +10 V. 274 Capitolo VI Conversione A/D e D/A +10 V substrato uscita dati R S RL controllo +10 V off -10 V on ingresso dati (10 V picco) tensione di soglia 6 5 4 3 2 1 0 5 10 15 20 tensione substrato - source fig. 6.59 In ciascuna condizione operativa e' opportuno che siano rispettate le seguenti condizioni: • • • La tensione VBB di polarizzazione del substrato deve essere maggiore della massima tensione positiva del segnale analogico. Poiche' tale polarizzazione deve essere mantenuta costantemente vi e' bisogno di un'alimentazione in continua. Per portare l'interruttore nella condizioni ON e mantenere bassa la resistenza di conduzione RON la tensione applicata al gate deve essere almeno di cinque volt inferiore della massima escursione negativa del segnale analogico. Per assicurare la completa apertura dello switch la tensione di gate deve diventare almeno pari a VBB, rendendo nulla la tensione di polarizzazione di gate VGB. La prima delle condizioni enunciate dev'essere osservata per ottenere buone prestazioni dall’interruttore. Si garantisce infatti in tal modo che le giunzioni p-n parassite siano polarizzate inversamente. Inoltre quando il canale e' OFF questa condizione isola il drain dal source garantendo resistenze di isolamento molto elevate. Quando lo switch e' ON e il canale drain - source si e' formato e la zona di canale rimane isolata dal substrato da una giunzione p - n in quanto il canale si trova comunque a tensioni maggiormente positive delle altre zone e si trova quindi polarizzato inversamente. Il diagramma di fig. 6.59, che illustra l'andamento qualitativo della tensione di soglia in funzione della tensione substrato-source, chiarisce invece l'opportunita' di rispettare la seconda e la terza regola. Si vede infatti che la tensione di soglia gate-source, parametro tipico dei dispositivi MOS a rinforzo, si modifica la variare della tensione di polarizzazione substrato-source. E' noto che per creare il canale in modo che la resistenza di conduzione sia di basso valore e' necessario applicare una tensione di polarizzazione VGS maggiore della tensione di soglia; in caso contrario la resistenza di canale si manterrebbe di valore elevato e verso l'uscita potrebbe scorrere solo una corrente di qualche µA. Per ottenere lo scopo stabilito, nella commutazione ON e' quindi necessario rendere il gate ' notevolmente piu' negativo della tensione di soglia VTH determinata dalla massima escursione negativa del segnale di ingresso. 275 Capitolo VI Conversione A/D e D/A Infine nella commutazione OFF la terza regola assicura che la polarizzazione del gate sia piu' positiva di VTH, garantendo che la zona di canale ritorni nella condizione di silicio di tipo N, impedendo pertanto che vi possa essere un flusso di portatori maggioritari tra source e drain. C'e' da osservare tuttavia che le resistenze RON e ROFF variano con la tensione del segnale e con la temperatura. Un segnale di ingresso positivo infatti fa aumentare la tensione di polarizzazione VGS favorendo la formazione del canale. La minima resistenza di canale si ha pertanto in corrispondenza alla massima escursione positiva del segnale di ingresso. Se tuttavia come carico si sceglie un valore resistivo molto maggiore che non la RON gli effetti della variazione di quest'ultima diventano trascurabili, sia per quanto riguarda la precisione dell'uscita, sia per quanto riguarda la distorsione introdotta in presenza di segnali variabili nel tempo, malgrado che la RON vari in maniera non lineare. Senza approfondire eccessivamente tale argomento si puo' dire che con un carico dell'ordine del migliaio di ohm, carico il cui valore puo' essere considerato insolitamente piccolo, la distorsione introdotta per piccoli segnali e' tipicamente inferiore allo 0.5 %. Il peggiore valore per la RON si ha ovviamente per segnali d’ingresso pari a -10 V. Se si desidera minimizzare l'effetto delle variazioni di RON, diminuendone nel contempo il valore, si puo' pensare di aumentare la polarizzazione negativa del gate. Ad esempio portando la tensione di controllo ON dai -15 V precedentemente ipotizzati a -25 o -30 Volt. Cio' fa ovviamente aumentare la polarizzazione gate - substrato, che con una tensione di polarizzazione del substrato VBB= + 10 V, passa dei -25 V precedenti a -35 ÷ -40 V. E' essenziale che per questa tensione non vengano superati i limiti massimi forniti dal costruttore. In caso contrario, pur non essendoci immediate ripercussioni sull'integrita' del dispositivo, vi potrebbe essere una notevole riduzione della sua vita operativa. Se viceversa i segnali di ingresso dovessero avere escursioni piu' ridotte rispetto ai ± 10 V precedentemente ipotizzati, tutte le polarizzazioni potrebbero a loro volta essere ridotte. Se si riduce la tensione ON di gate, tutte le commutazioni diventano piu' rapide e tutti i fenomeni legati ai transitori di commutazione diventano di minor entita'. Se invece viene diminuite la polarizzazione del substrato mantenendo inalterata la tensione ON di gate si hanno effetti positivi sulla formazione del canale e si ottiene una riduzione della resistenza RON a tutti i livelli del segnale di ingresso. Quando al gate si applica la VOFF, l'impedenza tra drain e source diventa estremamente alta (≥ 1012 ohm), in quanto l'unico contributo alla conduzione e' in sostanza dato dalla corrente di perdita. Bisogna tuttavia tenere presente che questa corrente cresce molto rapidamente con la temperatura. Se, ad esempio, si avesse a che fare con un dispositivo in cui la corrente di perdita a 25° C fosse di 100 pA, a 125° C questa corrente puo' raggiungere i 100 µA. Si ha cioe' approssimativamente un raddoppio della corrente di perdita ogni 10° ÷ 11° C di incremento della temperatura. A frequenze di segnale molto elevate si puo' poi verificare un altro meccanismo di conduzione, cioe' la trasmissione di segnale attraverso le capacita' del dispositivo, come e’ gia’ stato fatto notare in precedenza. Questo fenomeno puo' essere prevenuto o comunque ridotto facendo si' che l'impedenza di uscita del circuito di pilotaggio del gate sia la piu' bassa possibile in condizioni di apertura dell’interruttore. Le due piu' significative forme di perdita in continua sono la perdita di source e drain verso il substrato e le perdita tra ingresso e uscita attraverso il canale. E' ovvio che in un multiplexer, quando tutti i canali sono OFF, la perdita totale sara' la somma delle perdite dei singoli MOS. Il circuito con cui si misurano le perdite nel caso peggiore e' riportato in fig. 6.60. 276 Capitolo VI Conversione A/D e D/A A -25 V fig. 6.60 Il terminale al quale viene misurata la corrente di perdita viene polarizzato con un'opportuna tensione negativa mentre tutti gli altri terminali vengono connessi a massa. Questo collegamento, (figura 6.60) corrisponde a polarizzare il substrato a + 25 V , applicare a tutti i gate la tensione di 25 V e lavorare con segnali di ingresso a +25 V, condizione questa che si puo' ritenere la peggiore possibile per quanto riguarda la VGS. Per quanto riguarda le perdite del canale il circuito di misura e' riportato in fig. 6.61 (a). Con la tensione di ingresso Vin = +10 V si ha la massima corrente di perdita il cui andamento in funzione della tensione di ingresso stessa e' riportato in fig. 6.61 (b). 80 pA +10 V 40 pA +10 V Vin -10 V Vin -40 pA A -80 pA (a) (b) fig. 6.61 Il progettista di un circuito di commutazione, il cui intento sia quello di ottenere delle ROFF molto alte in qualsiasi condizione di funzionamento, deve prendere in considerazione la possibilita' di perdite nelle peggiori condizioni possibili, e non quelle medie che sono considerevolmente inferiori a quelle del caso peggiore. Quale prima considerazione e' necessario notare che le correnti di perdita di ciascun interruttore dipendono dalla tensione e quindi per segnali di ingresso inferiori a 10 V diventano minori. In secondo luogo, quando le tensioni di ingresso in alcuni canali sono positive mentre negli altri sono negative, le perdite tendono a compensarsi, riducendo la corrente totale di perdita in uscita. 277 Capitolo VI Conversione A/D e D/A Infine quando un interruttore si trova in condizioni ON non contribuisce alla corrente di perdita. Assumendo che le tensioni di ingresso abbiano una distribuzione probabilistica uniforme tra +10 e -10 V la perdita totale sara' all'incirca la meta' di quella del caso peggiore. 6.9.2) Conclusioni. I circuiti di commutazione per segnali analogici di tipo MOS offrono ottime caratteristiche, soprattutto se integrati. La dissipazione e' praticamente nulla, le capacita' parassite ragionevolmente basse (dell'ordine dei 10 pF agli ingressi analogici), il rapporto ROFF/RON alto e i segnali di controllo sono altamente isolati dagli ingressi e dalle uscite. Per pilotare gli interruttori si possono utilizzare dei convenzionali transistori bipolari e molto spesso i circuiti di controllo della commutazione sono integrati sullo stesso chip degli interruttori. In tal caso l'utilizzo di circuiti di spostamento del livello di tensione associato alle costanti logiche permette di avere come segnali di comando delle tensioni TTL o DTL compatibili. Se la realizzazione e' del tipo multiplexer, anche i circuiti atti ad effettuare la scansione degli ingressi sono integrati sul chip. Le frequenze di commutazione raggiungono l'ordine dei MHz. E' opportuno tuttavia notare che i commutatori MOS sono particolarmente adatti alla commutazione di segnali a bassa frequenza. Nelle applicazioni ad alta frequenza, segnatamente nel campo delle VHF, e' usuale rivolgersi a commutatori realizzati con JFET a canale N. TABELLA COMPARATIVA DEI VARI TIPI DI SWITCH Meccanici Resistenza ON 10 -6 ohm BJT Fotocelle JFET MOS 10 ohm 1 kohm 30 ohm 100 ohm 100 pA 10 nA 100 pA 100 pA -2 0 0 0 Corrente di perdita Tensione di offset Velocita' di commutazione 10 pA 0 10 V 50 MHz 1 kHz 100 kHz 100 Hz o piu' 10 MHz 6.10) I convertitori a rapporto. Da quanto si e’ visto fino a questo momento risulta evidente che i componenti utilizzati in un sistema di conversione A/D introducono tutta una serie di errori di misura che influiscono sulla precisione di conversione. In particolare un’estrema importanza assumono la precisione e la stabilita’ delle tensioni di riferimento del convertitore A/D vero e proprio. L’uscita digitale di 278 Capitolo VI Conversione A/D e D/A qualsiasi convertitore risulta infatti inversamente proporzionale alla tensione di riferimento VR. Indicando allora con A la grandezza analogica da convertire, l’uscita digitale D sara proporzionale al rapporto tra A e VR. A D≈ VR Qualsiasi variazione di VR provoca pertanto una variazione del dato digitale D, anche nel caso in cui A rimanga perfettamente costante. Se tuttavia la grandezza A e’ fornita da un sensore che richiede esso stesso una tensione di riferimento VR' si puo’ ricorrere alla tecnica della conversione raziometrica o a rapporto, che rende il dato D indipendente dal riferimento VR. L’uscita del sensore, infatti, e’ in questo caso proporzionale a VR' A = k.VR' e se si usa la stessa tensione di riferimento sia per il sensore che per il convertitore A/D, facendo si’ che VR = VR' , allora l’uscita D diviene indipendente da VR, svincolando pertanto la precisione del sistema dalla precisione e dalla stabilita’ della tensione di riferimento. 279