Site icon NE555

CONVERTITORE DIGITALE ANALOGICO DAC0830/DAC0832

Tutorial che Illustra Caratteristiche e Funzionamento del Convertitore Digitale Analogico siglato DAC0832 o DAC0830…

 

 

 

 




 

INTRO

I convertitori digitale analogico sono degli appositi integrati che trasformano un segnale digitale in uno analogico. Ad esempio una word ad 8 bit può essere convertita in una tensione analogica che può assumere 256 valori di tensione diversa. Questi integrati possono essere alimentati da diverse tensioni e usare una tensione di riferimento diversa da quella di alimentazione, in modo tale da far variare il segnale nel range deciso dalla tensione di riferimento. Supponiamo un’alimentazione singola 5V e un riferimento di tensione a 5V, la word formata da 00000000 sarò convertita con un valore analogico di 0V,  la word 00000001 sarà convertita con il primo gradino di tensione, ovvero Vref/256, quindi 19.5mV, la word 00000010 sarà convertita con il valore 39mV e infine la word 11111111 sarà convertita con il fondo scala del convertitore ovvero Vref ovvero 5V.

In questo tutorial verrà analizzato il convertitore digitale-analogico siglato DAC0830 (oppure DAC0832 che ha uguale funzionamento ma caratteristiche leggermente diverse), illustrando le caratteristiche salienti e alcuni schemi applicativi.

 





 

CARATTERISTICHE DAC0830/DAC0832

L’integrato può essere facilmente integrato con un microcontrollore oppure lavorare in modo a se stante, gli ingressi lavorano anche il logica TTL utilizzando una soglia di 1.4V. La risoluzione è 8bit, quindi accetta word digitali a 8bit e può restituire 256 diversi valori di tensione. La linearità è molto buona confrontata con altri convertitori digitale-analogico, e inoltre il valore convertito non subisce grandi variazioni con  la temperatura. La tensione di alimentazione va da un minimo di 5V ad un massimo di 15V con una potenza assorbita molto bassa, ovvero 20mW.

Il circuito di applicazione tipico e il pinout sono i seguenti:

Come si può vedere vi sono molti pin di controllo in modo tale da interfacciare il dispositivo con un microcontrollore.

Tutti i convertitori digitale-analogico soffrono di alcuni errori, i valori di questo convertitore ono:

Le caratteristiche elettriche descrivono la resistenza vista dal pin di Vref rispetto massa (20Kohm), e i valori logici riconosciuti. La tensione di riferimento va da un minimo di -10V ad un massimo di 10V. Nel peggiore dei casi lo zero logico è riconosciuto se il valore di tensione è pari a 0.6V mentre l’uno logico è riconosciuto se superiore a 2V, ovvero supponendo VCC=5V lo zero logico è riconosciuto se il bit assume una tensione inferiore a 0.6V mentre l’uno logico è riconosciuto se la tensione supera i 2V. La corrente massima assorbita è 3.5mA nel caso di tensione di alimentazione a 15V.
 

PIN E FUNZIONAMENTO

Lo schema a blocchi dell’integrato è il seguente:

Vi sono due registri a scorrimento pilotati dai segnali “ILE”, “CS”, ”WR1”, ”WR2” e ”XFER” che sono i segnali di controllo dell’integrato. I pin da DI0 a DI7 sono gli ingressi per gli 8 bit della word digitale. VCC e GND sono usati per l’alimentazione con la polo positivo connesso a VCC e la massa a GND. Vref è la tensione di riferimento, Iout1 e Iout2 sono le uscite e sono uscite in corrente, non in tensione, inoltre una va a crescere all’aumentare della word digitale, l’altra va a decrescere. Il pin Rfb viene usato per realizzare un amplificatore invertente come nel lo schema presentato in precedenza.

“ILE”, “CS” e ”WR1” sono “INPUT LATCH ENABLE”, “CHIP SELECT” e “WRITE1” rispettivamente sono i segnali di controllo del primo registro usato per catturare gli ingressi, “WR2” e “XFER” sono “WRITE2” e “TRANSFER CONTROL SIGNAL” e servono per far passare i dati dal primo registro al convertitore, quindi avvia la conversione. Questo sistema con due registri serve per memorizzare il dato e poi convertirlo, funzione che può servire quando ad esempio si hanno più convertitori sullo stesso bus dati o come memoria.

Se si vuole usare un solo registro e convertire direttamente il dato, il timing dei segnali di controllo è il seguente:

Il pin “ILE” è connesso a VCC mentre “WR2” e “XFER” a livello logico basso, a massa, in modo tale da rendere trasparente il secondo registro. Per i dati invece si va a porre sul bus la word digitale, poi si manda a livello basso il pin “CS” (che può essere mantenuto sempre a 0 se vi è un solo convertitore nel circuito) e poi si porta a zero il pin “WR1” aggiornando il valore analogico sul fronte di discesa e memorizzandolo sul fronte di salita. La durata dell’impulso di “WR1” deve essere almeno di 900nS, altrimenti i dati in uscita potrebbero essere non stabili.

 

CIRCUITI APPLICATIVI

La resistenza interna al DAC (Digital to analog converter, convertitore digitale analogico) ha un valore di 20Kohm ma potrebbe succedere che il suo valore sia diverso. Inoltre tutti gli amplificatori operazionali hanno una tensione di offset che potrebbe falsare il valore della conversione. Per evitare ciò si utilizza il seguente circuito:

Vi è la compensazione delle variazioni della resistenza interna fatto con il trimmer da 1Kohm mentre si aggiusta l’offset dell’amplificatore operazionale grazie alla resistenza variabile connessa ai pin di regolazione dell’offset dell’amplificatore operazionale scelto. Si consiglia di utilizzare amplificatori operazionali con bassa corrente di ingresso come quelli a FET.

Il primo schema, presentato insieme al pinout del chip presenta un amplificatore operazionale alimentato con tensione duale, ad esempio +5 e -5V, altrimenti il circuito non funziona. Se si vuole usare una tensione non duale ma singola, ad esempio massa e +5V bisogna usare il seguente schema:

Quindi serve un riferimento di tensione come il diodo Zener regolabile LM336 per avere una Vref di 2.5V tra i pin di uscita, poi la tensione di uscita è prelevata dal pin di Vref e viene amplificata da un LM358. Il valore della tensione di uscita dipende dall’elemento di riferimento usato (in questo caso nella formula compare 2.5 perché si usa un riferimento a 2.5V) poi compare il valore delle due resistenze dell’amplificatore e infine compare ovviamente il valore della word digitale. Se si usa un altro tipo di riferimento, ad esempio il TL431 che ha una tensione di 2.56, nella formula si usa 2.56 e non 2.5, stessa cosa se si usa un diodo Zener.

Se non si vuole usare nessun segnale di controllo, ovvero convertire  il valore digitale ogni volta che la word digitale cambia, bisogna connettere “CS”, “WR1”, “WR2” e “XFER” a massa in modo fisso mentre bisogna connettere “ILE” a VCC. In questo modo l’unico segnale che il microcontrollore invia al convertitore è la word digitale.




 

[Voti Totali: 0 Media Voti: 0]
Segui la Nostra Pagina Facebook:
Exit mobile version

Fatal error: Uncaught Error: Call to a member function listFiles() on null in /home/mhd-01/www.ne555.it/htdocs/wp-content/plugins/w3-total-cache/CdnEngine_GoogleDrive.php:591 Stack trace: #0 /home/mhd-01/www.ne555.it/htdocs/wp-content/plugins/w3-total-cache/CdnEngine_GoogleDrive.php(611): W3TC\CdnEngine_GoogleDrive->path_get_id('wp-content/uplo...') #1 /home/mhd-01/www.ne555.it/htdocs/wp-content/plugins/w3-total-cache/Cdn_Core.php(736): W3TC\CdnEngine_GoogleDrive->format_url('wp-content/uplo...') #2 /home/mhd-01/www.ne555.it/htdocs/wp-content/plugins/w3-total-cache/Cdn_Plugin.php(1331): W3TC\Cdn_Core->url_to_cdn_url('https://www.ne5...', 'wp-content/uplo...') #3 /home/mhd-01/www.ne555.it/htdocs/wp-content/plugins/w3-total-cache/Cdn_Plugin.php(979): W3TC\_Cdn_Plugin_ContentFilter->_link_replace_callback_ask_cdn('"https://www.ne...', '"', 'https://www.ne5...', 'wp-content/uplo...') #4 [internal function]: W3TC\_Cdn_Plugin_ContentFilter->_link_replace_callback(Array) #5 /home/mhd-01/www.ne555.it/htdocs/wp-content/plugins/w3-total-cache/Cdn_Plugin.php(1008): preg_replace_callback('~(["'(=])\\s*(((...', Array, '"https://www.ne...') #6 [internal function]: W3TC\_Cdn_Plugin_ContentFilter->_srcset_replace_callback(Array) #7 /home/mhd-01/www.ne555.it/htdocs/wp-content/plugins/w3-total-cache/Cdn_Plugin.php(927): preg_replace_callback('~srcset\\s*=\\s*[...', Array, '<!DOCTYPE html>...') #8 /home/mhd-01/www.ne555.it/htdocs/wp-content/plugins/w3-total-cache/Cdn_Plugin.php(331): W3TC\_Cdn_Plugin_ContentFilter->replace_all_links('<!DOCTYPE html>...') #9 [internal function]: W3TC\Cdn_Plugin->ob_callback('<!DOCTYPE html>...') #10 /home/mhd-01/www.ne555.it/htdocs/wp-content/plugins/w3-total-cache/Util_Bus.php(21): call_user_func(Array, '<!DOCTYPE html>...') #11 /home/mhd-01/www.ne555.it/htdocs/wp-content/plugins/w3-total-cache/Generic_Plugin.php(544): W3TC\Util_Bus::do_ob_callbacks(Array, '<!DOCTYPE html>...') #12 [internal function]: W3TC\Generic_Plugin->ob_callback('<!DOCTYPE html>...', 9) #13 /home/mhd-01/www.ne555.it/htdocs/wp-includes/functions.php(5420): ob_end_flush() #14 /home/mhd-01/www.ne555.it/htdocs/wp-includes/class-wp-hook.php(324): wp_ob_end_flush_all('') #15 /home/mhd-01/www.ne555.it/htdocs/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters('', Array) #16 /home/mhd-01/www.ne555.it/htdocs/wp-includes/plugin.php(517): WP_Hook->do_action(Array) #17 /home/mhd-01/www.ne555.it/htdocs/wp-includes/load.php(1270): do_action('shutdown') #18 [internal function]: shutdown_action_hook() #19 {main} thrown in /home/mhd-01/www.ne555.it/htdocs/wp-content/plugins/w3-total-cache/CdnEngine_GoogleDrive.php on line 591