ELEMANIA
PIC16F690 - ADC: generalità
Convertitore AD: descrizione generale

Il PIC ha al proprio interno un convertitore AD a 10 bit. Per i dettagli sul funzionamento generale dei convertitori AD rimandiamo il lettore all'apposita sezione del sito. Lo schema a blocchi, così come è riportato nel manuale, è il seguente:

Convertitore AD del PIC

Notiamo che lo schema è composto dalle seguenti parti:

  1. Un multiplexer digitale a 14 ingressi (MUX) che consente di inviare al convertitore il segnale proveniente da 14 diverse sorgenti (ovviamente una alla volta). La selezione dell'ingresso avviene attraverso i 4 pin CHS (CHS0, CHS1, CHS2, CHS3) del registro ADCON0.

  2. La tensione di riferimento può essere la tensione di alimentazione del PIC VDD oppure una diversa tensione VREF applicata al pin RA1/AN1. La scelta fra le due diverse tensioni di riferimento avviene tramite il bit VCFG del registro ADCON0.

  3. Il segnale GO/DONE (che corrisponde a un bit del registro ADCON0) serve per avviare una conversione (segnale di Start of Conversion) o per segnalare che la precedente conversione è terminata (segnale di End of Conversion).

  4. Il segnale ADON (corrispondente a un bit di ADCON0) serve per abilitare o disabilitare il funzionamento del convertitore AD.

  5. Al termine della conversione il risultato a 10 bit è salvato nella coppia di registri a 8 bit ADRESH e ADRESL.

  6. Il bit ADFM (sempre appartenente al registro ADCON0) serve per stabilire il formato di rappresentazione del dato in uscita (vedi qui sotto).

 

Registri ADRESH e ADRESL e risultato della conversione

Siccome il convertitore produce un risultato a 10 bit (e dunque un valore compreso fra 0 e 1023) non è sufficiente un unico registro a 8 bit per contenerlo. Per questo motivo sono utilizzati i due registri ADRESH e ADRESL, che insieme hanno bit in abbondanza (16). Il risultato viene salvato nella coppia di registri in due modi possibili, a seconda del valore del bit ADFM:

Dal numero intero N a 10 bit risultante dalla conversione è possibile risalire al valore della tensione analogica convertita con la seguente formula:

Vanalogica = N * Vriferimento/1024

Per esempio, supponendo di usare una Vriferimento = 10 V e che il risultato della conversione sia N = 724, il valore della tensione analogica convertita è:

Vanalogica = 724 * 10/1024 = 7,07 V

Tale valore è noto in teoria con un errore massimo pari a mezzo quanto e cioè

Errore = Q/2 = (Vriferimento/1024)/2 = (10/1024)/2 = ±4,9 mV

In realtà l'errore è maggiore a causa di errori di non linearità e di offset presenti nel convertitore AD del PIC.

Registri di controllo dell'ADC: ADCON0

Il funzionamento dell'ADC è controllato da due registri: ADCON0 e ADCON1. Parleremo più avanti di ADCON1. I bit di ADCON0 sono i seguenti:

ADCON0

Il significato dei diversi bit, in gran parte già esaminati prima, è il seguente:

 

precedentesuccessiva

Sito realizzato in base al template offerto da

http://www.graphixmania.it