Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

quali bit cambia la risoluzione?!

Elettronica lineare e digitale: didattica ed applicazioni

Moderatori: Foto Utentecarloc, Foto Utenteg.schgor, Foto UtenteBrunoValente, Foto UtenteIsidoroKZ

0
voti

[1] quali bit cambia la risoluzione?!

Messaggioda Foto Utentecorgan83 » 5 dic 2011, 18:51

Salve spero di riuscire a porre in maniera chiara e comprensibile la mia domanda :)
Sto studiando da qualche giorno un convertitore A/D, volevo sapere che problemi posso avere se per caso nel settare la risoluzione per le mie conversioni, sbaglio ad inviare comando.
Ad es. vorrei una risoluzione di 8 bit, ma per errore invio un comando che la setti a 12. Oltre al fatto che con una risoluzione più alta posso aspirare ad un risultato più accurato, il mio problema è capire quali bit cambiano nella stringa digitale in uscita, cioè c'è una regola che mi dice che cambiano sempre e solo i bit più significativi (o quelli meno significativi) oppure cambiando LSB dell'ADC la stinga digitale a 12 bit può essere totalmente diversa da quella ad 8 bit?

Tutto ciò mi serve a capire quando vado a leggere il risultato della conversione nei registri, che cosa ottengo? considerando che andrò a leggere solo 8 bit. Sballo tutta la lettura!?

Spero di aver reso l'idea :D

aiutooooooooooooooo
Avatar utente
Foto Utentecorgan83
24 1 2 5
Frequentatore
Frequentatore
 
Messaggi: 250
Iscritto il: 19 apr 2008, 15:08

0
voti

[2] Re: quali bit cambia la risoluzione?!

Messaggioda Foto UtenteAjKDAP » 5 dic 2011, 19:05

Si, se cambi la risoluzione a 12bit e poi vai a leggere considerando solo gli 8bit ovviamente non va bene. [-X

Ad esempio:
Se controlli un segnale analogico da 0 a 5V ad esempio, facciamo finta che imposti sbadatamente la risoluzione a 12bit ed il segnale sia a 0.3V, supponendo di ottenere il valore 255, tutti gli 8 bit meno significativi saranno settati ad 1, e se consideri la risoluzione ad 8bit potresti pensare che la tensione in ingresso sia a 5V. invece non è così.

Edit: visto che consideri solamente 8bit, ti potrebbe andar bene solamente per valori da 0 a 255, ovvero tra 0 e 0.3V circa. Valori sopra i 255 fino a 4095 verrebbero persi leggendo solamente gli 8bit meno significativi, oltre che ottenere un risultato errato.
'˙˙˙·٠•● Alberto ●•٠·˙˙˙'
________________________
http://www.ajk.altervista.org
Avatar utente
Foto UtenteAjKDAP
1.255 2 6 9
Expert EY
Expert EY
 
Messaggi: 796
Iscritto il: 17 mag 2006, 0:13
Località: nella coda dei pronti

0
voti

[3] Re: quali bit cambia la risoluzione?!

Messaggioda Foto Utentecorgan83 » 5 dic 2011, 19:27

grazie mille :)
chiaro ed esauriente nella risposta :)
:ok:
Avatar utente
Foto Utentecorgan83
24 1 2 5
Frequentatore
Frequentatore
 
Messaggi: 250
Iscritto il: 19 apr 2008, 15:08

0
voti

[4] Re: quali bit cambia la risoluzione?!

Messaggioda Foto Utentecorgan83 » 5 dic 2011, 19:31

Se invece sbadatamente la riduco... che succede!? ho effetti catastrofici in egual misura!?

ad es. voglio inviare un comando con risoluzione a 12 bit e per errore la setto a 8 bit....che succede in lettura!?

O_/ O_/ O_/
Avatar utente
Foto Utentecorgan83
24 1 2 5
Frequentatore
Frequentatore
 
Messaggi: 250
Iscritto il: 19 apr 2008, 15:08

0
voti

[5] Re: quali bit cambia la risoluzione?!

Messaggioda Foto UtenteAjKDAP » 5 dic 2011, 19:38

Se setti la risoluzione ad 8 bit e poi vai a leggerne 12, semplicemente i bit oltre all'ottavo saranno a zero.
Quindi leggerai sempre e solo valori compresi tra 0 e 255.

Poi se te ingenuamente pensi di aver 12bit a disposizione, leggi il valore 255 e con gli opportuni calcoli pensi di avere una tensione in ingresso pari a 0.3V invece siccome l'ADC è ad 8bit il valore 255 corrisponde a ben 5V !
(ovviamente sempre pensando ad un range di tensione da 0 a 5V come il precedente esempio).

Ciao
'˙˙˙·٠•● Alberto ●•٠·˙˙˙'
________________________
http://www.ajk.altervista.org
Avatar utente
Foto UtenteAjKDAP
1.255 2 6 9
Expert EY
Expert EY
 
Messaggi: 796
Iscritto il: 17 mag 2006, 0:13
Località: nella coda dei pronti

1
voti

[6] Re: quali bit cambia la risoluzione?!

Messaggioda Foto Utentec1b8 » 5 dic 2011, 22:56

Oltre alla risoluzione impostata si dovrebbe considerare anche l'allineamento dell'output se il tuo ADC lo prevede.
Mi spiego meglio. Alcuni ADC, ad esempio quelli contenuti nei PIC o nei micro C8051xxxx, consentono di specificare se l'allineamento del risultato deve essere a sinistra o a destra. Cosa significa?
Facciamo un esempio: si possiede un ADC a 12 bit, il risultato dovrà essere necessariamente posizionato su 2 registri da 8 bit. Avremmo quindi 4 bit "di troppo", questi 4 bit saranno sempre valorizzati a 0, l'allineamento destra o sinistra ti consente di specificare se vuoi avere questi 4 bit rispettivamente come i 4 bit più significativi o meno significativi del risultato.
Se si sceglie quindi un risultato allineato a sinistra (4 bit meno significativi sempre a zero), leggere 8 bit non comporta alcun cambiamento sia che la risoluzione sia a 8bit sia che sia a 12bit.
Non so se sono stato sufficientemente chiaro...
Fabio
Avatar utente
Foto Utentec1b8
3.595 3 8 13
G.Master EY
G.Master EY
 
Messaggi: 1770
Iscritto il: 15 gen 2009, 15:23

0
voti

[7] Re: quali bit cambia la risoluzione?!

Messaggioda Foto Utentecorgan83 » 6 dic 2011, 11:22

si si il mio ADC prevede l'allineamento dei dati :) ... che nel data sheet lo chiama giustifica a destra o sinistra.
Questo aspetto mi era chiaro..... grazie lo stesso :)

Per quanto riguarda invece la riduzione inavvertita della risoluzione, mi è poco chiaro l'esempio..... in quanto supponendo sempre i 0.3 V, con 8 bit non avremo mai il cod. 255, ma un altro molto più basso immagino.
In questo caso penso che potremmo parlare di risultato poco accurato, in quanto gli altri 4 bit saranno a 0, ma non credo che gli effetti in fase di lettura saranno catastrofici come il caso in cui per errore aumento la risoluzione.

Non credete!?
Avatar utente
Foto Utentecorgan83
24 1 2 5
Frequentatore
Frequentatore
 
Messaggi: 250
Iscritto il: 19 apr 2008, 15:08

0
voti

[8] Re: quali bit cambia la risoluzione?!

Messaggioda Foto UtenteAjKDAP » 6 dic 2011, 12:51

corgan83 ha scritto:Per quanto riguarda invece la riduzione inavvertita della risoluzione, mi è poco chiaro l'esempio..... in quanto supponendo sempre i 0.3 V, con 8 bit non avremo mai il cod. 255,


nel mio esempio dove si supponeva di ridurre inavvertitamente la risoluzione da 12bit a 8bit (con giustifica a destra) ho considerato in ingresso una tensione da 5V, quindi l'ADC giustamente dovrebbe calcolare il valore massimo 255.
L'utente che legge il valore 255 pensando di lavorare a 12bit andrebbe a pensare che in ingresso siano presenti 0.3V.

forse mi ero spiegato male.
'˙˙˙·٠•● Alberto ●•٠·˙˙˙'
________________________
http://www.ajk.altervista.org
Avatar utente
Foto UtenteAjKDAP
1.255 2 6 9
Expert EY
Expert EY
 
Messaggi: 796
Iscritto il: 17 mag 2006, 0:13
Località: nella coda dei pronti

0
voti

[9] Re: quali bit cambia la risoluzione?!

Messaggioda Foto Utentecorgan83 » 6 dic 2011, 14:10

ok... ma comunque non riesco a quantificare gli effetti in lettura, dovuti ad una riduzione inavvertita della risoluzione :(

cioè fissato un valore analogico di ingresso, se per errore lo converto a 8 bit anziché 12 bit cosa cambia sui cod. di uscita!?
al di la del fatto che i 4 bit più significativi sono a 0, secondo me anche in questo caso il risultato di conversione è sbagliato, o no!?

Per me è importante capire gli effetti che si hanno, in lettura, quando si sbaglia ad impostare la risoluzione, sia nel caso di aumentarla ( e ne abbiamo parlato ) sia nel caso di ridurla ( e ne stiamo discutendo).

O_/ O_/ O_/
Avatar utente
Foto Utentecorgan83
24 1 2 5
Frequentatore
Frequentatore
 
Messaggi: 250
Iscritto il: 19 apr 2008, 15:08

0
voti

[10] Re: quali bit cambia la risoluzione?!

Messaggioda Foto UtenteAjKDAP » 6 dic 2011, 20:05

Hmm forse ci stiamo girando attorno,

l'errore viene fatto dall'utente o microcontrollore o chi acquisisce il dato digitale e calcola il valore analogico.

L'ADC che è settato a 8bit con tensione in ingresso 2.5V eseguirà la conversione perfettamente e senza errori, rendendo disponibile in output il valore 127 ad esempio.

Sarai tu che successivamente pensando (erroneamente) che l'ADC sia impostato a 12bit eseguirai la conversione sbagliata:

Codice: Seleziona tutto
Vanalog = ( 5V / 4095step ) * 127step = 0.15V


invece avresti dovuto calcolare la tensione d'ingresso così:

Codice: Seleziona tutto
Vanalog = ( 5V / 255step ) * 127step = 2.49V


Scusa, ma non capisco quale sia il tuo dubbio :-)
'˙˙˙·٠•● Alberto ●•٠·˙˙˙'
________________________
http://www.ajk.altervista.org
Avatar utente
Foto UtenteAjKDAP
1.255 2 6 9
Expert EY
Expert EY
 
Messaggi: 796
Iscritto il: 17 mag 2006, 0:13
Località: nella coda dei pronti

Prossimo

Torna a Elettronica generale

Chi c’è in linea

Visitano il forum: Nessuno e 72 ospiti