| Tra le sue caratteristiche principali ricordiamo la
risoluzione pari a
8 bit, il tempo d'accesso
di 135 ns, il tempo di conversione
di 100
µs. |
| Il suo ingresso analogico è di tipo differenziale
e può ricevere una tensione da 0V a 5V, con alimentazione a 5V (sebbene i
valori massimi prevedano range tra -0,3V e +18V, con alimentazione massima di
6,5V). |
| Il dato digitale d’uscita (DB7 -
DB0, da pin
11 a pin 18)
risulta quindi essere proporzionale alla differenza di tensione fra i 2 pin
d'ingresso (pin 6 e pin
7). |
| Il pin-out del componente è proposto di seguito (se lo vuoi
vedere nel suo ambito circuitale
clicca qui): |
| L'ADC0804 contiene un circuito equivalente ad una rete di
256 (=28) resistori di precisione in serie:
con la logica delle successive approssimazioni
tali resistori vengono inseriti o tolti (con l'aiuto di deviatori elettronici)
al fine di determinare l'uguaglianza tra la tensione differenziale in ingresso
(Vin(+) – Vin(-))
e la caduta di tensione provocata dai resistori effettivamente inseriti. |
| Il meccanismo è assicurato da un particolare circuito sequenziale,
denominato SAR (Successive
Approximation Register), in grado di generare un
codice binario ad 8 bit al quale è demandato il
compito di inserire (tramite i deviatori elettronici) i resistori necessari a
provocare la caduta di tensione da sottoporre al confronto con la tensione
d'ingresso,
Vin. |
| Si tratta di un particolare registro a scorrimento a 8 bit
(8-bit shift register); il codice da esso
generato per primo è 10000000 (cioè quello
con il bit più significativo, MSB, ad 1):
in questo modo la tensione d'ingresso,
Vin
sarà sottoposta a confronto con la metà della tensione di alimentazione (pari
alla caduta su solo la metà dei resistori). |
| Se il risultato indica che
Vin
è minore il MSB viene forzato a 0,
altrimenti si lascia a 1; in ogni caso
l'indagine viene portata avanti impostando ora il bit6 a 1
e confrontando di nuovo la tensione d'ingresso,
Vin
con la tensione generata dal numero così aggiornato,
11000000 o 01000000. |
| Risulta evidente che dopo otto confronti (e rispettivi
aggiustamenti) il numero binario finale è quello che corrisponde al campione
di tensione proposto in ingresso; per ottenerlo sono comunque necessari 64
periodi di clock. |
| Il principio della conversione è dunque simile a quello
messo in atto quando si desidera
pesare una massa incognita, m1;
ipotizziamo di avere a disposizione pesi campione di valore
m, m/2,
m/4, m/8,
m/16,... dove m
è la metà del peso massimo. |
| Ponendo su un piatto la massa incognita
m1 e sull'altro
m:
| se m1
pesa di più allora si aggiunge m/2, |
| altrimenti si toglie
m e si prova solo con m/2.
|
|
| Se m1 risulta
ancora più pesante di m+m/2 allora si
aggiunge m/4. |
| Se invece m1
risulta più leggero di m+m/2 allora si
toglie m/2 e si aggiunge
m/4. |
| Si procede in questo modo aggiungendo e/o togliendo i pesi
campione fino a quando il peso incognito viene uguagliato; in pratica ad ogni
tentativo si inserisce un nuovo peso (di valore pari alla metà di quello
precedente) mantenendo anche quello di prima solo se nella misura precedente
quello incognito risulta maggiore. |