I convertitori digitali-analogici costituiscono il cuore dei sistemi a loop aperto, chiuso e di tipo “set and forget”.
Quando si tratta di scegliere un convertitore digitale-analogico (DAC), i progettisti hanno a disposizione una vasta gamma di circuiti integrati. I DAC possono essere suddivisi in varie categorie per applicazioni specifiche. Si può restringere il campo distinguendo tra quelli adatti per regolazioni DC o a bassa velocità e quelli per la generazione di forme d’onda ad alta velocità. Questo articolo si occupa dei DAC per applicazioni a bassa velocità, sia ad alta che a bassa risoluzione, regolazione approssimativa o di precisione. Quando si sceglie un DAC a bassa velocità è importante definire se il progetto riguarda un sistema a loop chiuso, a loop aperto o di tipo “set and forget”. Ognuno di questi sistemi richiede un DAC con determinate caratteristiche.
SISTEMI A LOOP CHIUSO
I sistemi a loop chiuso hanno un percorso di feedback per individuare e correggere eventuali errori. Un sensore controlla l’uscita da un parametro fisico, ad esempio un servomotore, una valvola di scarico o un elemento di rilevamento della temperatura. Quindi il sensore trasmette i dati a un controller che utilizza queste informazioni per stabilire se occorre o meno una correzione. I DAC e i convertitori analogici-digitali (ADC) costituiscono il cuore di un sistema a loop chiuso. Il DAC viene usato nel percorso di feedforward per eseguire regolazioni nel sistema, mentre l’ADC viene usato nel percorso di feedback per verificare l’effetto di tali regolazioni. Insieme i due dispositivi forzano e rilevano i segnali di controllo analogici per eseguire regolazioni reali al parametro che stanno controllando. Il controllo di un motore è un esempio di sistema a loop chiuso (figura 1).
Prima viene applicata l’uscita desiderata (setpoint) al controller che la confronta con il segnale di feedback. In caso sia necessaria una correzione, il controller regola il codice di input del DAC che a sua volta produce una tensione analogica sulla sua uscita. La tensione di uscita del DAC viene amplificata con un apposito amplificatore per fornire al motore la corrente di azionamento necessaria. Nello stadio successivo di questo sistema a loop chiuso viene usato un tachimetro per misurare la velocità di rotazione del motore. Il segnale della rotazione è l’uscita effettiva, o variabile di processo, del sistema a loop chiuso. Un ADC digitalizza l’uscita del tachimetro e trasmette i dati al controller dove un algoritmo determina se è necessario effettuare una correzione all’uscita del DAC e, quindi, al motore. In questo modo l’errore viene ridotto a un livello accettabile. Il feedback in teoria consente al sistema a loop chiuso di compensare tutti gli errori, limitando gli effetti derivanti da eventuali fonti casuali di rumore, temperatura, coppie o forze di disturbo o altri segnali indesiderati. Le prestazioni di un sistema a loop chiuso dipendono dalla precisione del percorso di feedback, inclusi il sensore e l’ADC. In pratica il percorso di feedback compensa gli errori nel percorso di feedforward. Dato che il DAC si trova nel percorso di feedforward, il suo errore di non linearità integrale (INL) viene compensato automaticamente. L’errore INL è lo scostamento dell’effettiva funzione di trasferimento all’uscita del DAC dalla funzione di trasferimento ideale. Il DAC deve tuttavia avere una buona non linearità differenziale (DNL) ed essere monotonico rispetto al numero di bit specificati nella scheda tecnica. L’errore DNL è la differenza tra la variazione di tensione effettiva all’uscita analogica del DAC e il gradino di tensione ideale uguale a 1 LSB (Least Significant Bit) nel codice di input del DAC. Con un DAC monotonico l’uscita analogica aumenta sempre o rimane uguale con un aumento del codice digitale (e viceversa). Un dato DNL sempre maggiore di -1LSB comporta monotonicità. La figura 2 descrive la funzione di trasferimento della tensione di uscita analogica e il codice di input del DAC. Se il DAC non è monotonico, vi è una regione in cui il feedback negativo diventa positivo, il che può provocare un’oscillazione che alla fine potrebbe distruggere il motore.
SISTEMI A LOOP APERTO
I sistemi a loop aperto non hanno un percorso di feedback, il sistema cioè deve essere preciso in modo autonomo. Il controllo a loop aperto è utile per i sistemi ben definiti in cui è noto il rapporto tra il codice di input e l’azione risultante sul carico. Se il carico non è prevedibile, è meglio usare un controllo a loop chiuso. Nella figura 3 è illustrato un esempio di sistema a loop aperto.
In questo esempio il DAC comanda il pin della tensione SET del regolatore lineare LT3080. Il pin SET è l’entrata dell’amplificatore di errore e il setpoint di regolazione per la tensione di uscita. La tensione di uscita dell’LT3080 va da 0 volt alla tensione nominale di uscita massima assoluta. La risoluzione del DAC determina l’entità delle regolazioni del pin SET. Ad esempio, un DAC a 8 bit con un riferimento di 5V ha un LSB di 5V / 28 = 19,5mV. Un DAC a 12 bit con lo stesso riferimento di 5V ha un LSB di 1,2mV e un DAC a 16 bit ha un LSB di 76mV. Questo significa che, per un DAC ideale, ogni aumento del codice digitale deve comportare un aumento dell’uscita analogica 76mV. Altri parametri importanti del sistema a loop aperto sono l’offset, l’errore di guadagno, l’errore della tensione di riferimento e la stabilità di questi parametri rispetto a tempo e temperatura. L’INL è particolarmente importante perchè, diversamente dal sistema a loop chiuso, ha un’attinenza diretta con la linearità generale del sistema.
SISTEMI “SET AND FORGET”
Una terza applicazione in cui la linearità del DAC riveste un ruolo importante sono i sistemi “set and forget”. In questi sistemi la regolazione o taratura viene eseguita una volta sola, probabilmente al momento della produzione o durante l’installazione. Il sistema inizia così a operare a loop chiuso, poi passa al loop aperto. Pertanto qualsiasi parametro associato alla precisione iniziale (offset, errore di guadagno, INL) non è essenziale in quanto viene compensato durante la regolazione. Ma, una volta eliminato il feedback, la stabilità diventa fondamentale. I dati tecnici che indicano stabilità sono la deriva dell’errore di guadagno, la deriva di offset e la deriva di riferimento. La figura 4 mostra un esempio di applicazione “set and forget”.
In questa figura un DAC a risoluzione più bassa comanda un amplificatore a guadagno programmabile che imposta la tensione in un pin di regolazione dell’offset per un DAC di precisione. Il DAC a bassa risoluzione viene usato per tarare l’offset del guadagno dal DAC di precisione durante la taratura iniziale del sistema. Questo codice di regolazione può essere salvato in una memoria non volatile e caricato ogni volta che il sistema viene acceso.
MASSIMA ATTENZIONE ALLE SPECIFICHE DC DEL DAC
Una volta stabilito il tipo di sistema (a loop chiuso, a loop aperto o “set and forget”), si deve scegliere il DAC migliore per il caso in questione. Come spiegato in precedenza, alcune applicazioni richiedono una regolazione approssimativa, per cui al sistema serve solo un numero limitato di impostazioni variabili. In questo caso è sufficiente un DAC con 8 o 10 bit di risoluzione. Il DAC a 12 bit offre la risoluzione adeguata per i sistemi che richiedono una regolazione più precisa. La risoluzione più precisa per LSB è garantita dai DAC a 16 e 18 bit. L’LTC2600 è un DAC ottale a 16 bit progettato per sistemi a loop chiuso, il che si evince dalle sue specifiche DC. L’INL tipico è ±12LSB, con un massimo di ±64LSB. Questi dati, insieme alla tipica curva INL e il codice di input, sono indicati nella riga in basso della figura 5.
La monotonicità a 16 bit e l’errore DNL ±1LSB consentono un controllo di precisione nel percorso di feedforward. Come già spiegato, l’errore feedforward non è importante nei sistemi a loop chiuso purché il DAC sia monotonico. Invece il nuovo LTC2656 è un DAC ottale che offre 16 bit di monotonicità e un ottimo errore INL ±4LSB per gli otto DAC, il che lo rende una potenziale soluzione per i sistemi sia a loop chiuso che a loop aperto. L’INL tipico e il codice dell’LTC2656 sono indicati nella figura 5 per tutti gli 8 DAC del package. L’LTC2656 offre l’INL migliore della sua categoria di DAC ottali a 16 bit. Non è facile ottenere una linearità elevata su otto DAC in un unico package. La progettazione deve tener conto delle sollecitazioni e delle variazioni di tensione con la temperatura. E’ molto più facile per un solo DAC raggiungere specifiche INL più rigorose. Ad esempio, l’LTC2641 di Linear Technology è un DAC a 16 bit singolo che offre il massimo in fatto di specifiche DC di INL ±1LSB e DNL. Oltre a INL e DNL, le altre specifiche DC da prendere in considerazione sono l’errore di offset (o errore di scala zero) e l’errore di guadagno (o errore di fondoscala). L’errore di offset indica in che modo la funzione di trasferimento reale corrisponde alla funzione di trasferimento ideale in corrispondenza o vicino al codice di input a scala zero. L’errore di offset è molto importante per le applicazioni che richiedono un controllo di precisione. L’LTC2656 offre un errore di offset massimo molto basso, ±2mV. L’errore di guadagno indica in che modo la pendenza della funzione di trasferimento reale corrisponde alla pendenza della funzione di trasferimento ideale. A volte l’errore di guadagno e l’errore di fondoscala vengono usati in modo intercambiabile, ma l’errore di fondoscala comprende sia l’errore di guadagno che l’errore di offset. L’LTC2656 offre il massimo errore di guadagno ±64LSB che equivale a un massimo molto basso dello 0.098% del fondoscala (64/ 65,536). Un DAC con errori di offset e di guadagno molto buoni consente al sistema di eliminare il ciclo di taratura del software nel controller o nell’FPGA. Anche un DAC che devia pochissimo in termini di tempo e temperatura semplifica il progetto perchè il progettista non ha bisogno di effettuare spesso la taratura.
DAC CON USCITA A ±10V
I DAC citati in precedenza sono utili per sistemi da 0 a 5 V ad alimentazione singola, o unipolare. Invece alcuni sistemi a loop chiuso, a loop aperto o “set and forget” richiedono DAC a ±10V. Per questi sistemi ad alta tensione i progettisti possono usare un DAC da 0 a 5 V unipolare con amplificatore a guadagno programmabile per commutare il guadagno e il livello oppure il DAC può fornire direttamente un segnale a ±10V. Linear Technology offre una gamma di DAC singoli, a due e quattro uscite che forniscono fino a ±10V alle uscite. L’LTC1592 (vedi figura 6) è un esempio di DAC a 16 bit singolo che include due range di tensioni di uscita programmabili unipolari e quattro bipolari. Tali range includono tensioni di uscita da 0V a 5V, da 0V a 10V, ±2,5V, ±5V, ±10V e da -2,5V a 7,5V. Pertanto lo stesso DAC può essere usato per sistemi sia unipolari che bipolari, senza dover riprogrammare completamente il controller. Ad esempio, per cambiare il range di tensioni in uscita del DAC da 0V-5V a ±10V basta cambiare un paio di bit nel bitstream seriale verso il DAC.
CONCLUSIONI
I DAC sono elementi fondamentali dei sistemi a loop chiuso,a loop aperto o “set and forget”. Ognuno di questi sistemi necessita di DAC con livelli diversi di precisione e risoluzione. Per una determinata risoluzione vi sono anche compromessi su fattori quali prezzo, dimensioni del package, precisione di riferimento e impedenza di uscita. Per i sistemi ad altissima precisione è importante che la scelta del DAC non venga fatta solo in base al numero dei bit indicati nella prima pagina della scheda tecnica, ma anche in base al grado di precisione delle specifiche DC come INL, DNL, errore di offset e di guadagno.