Tutorials - PIC 

 

PIC12F510 e PIC16F506


Il comparatore

In alcuni PIC, tra cui 12F510, è presente un comparatore analogico.
Si tratta di una funzione di impiego non comune, in quanto fa riferimento strettamente più di altre alla struttura dell' hardware che contorna il microcontroller.
Nella trattazione di questo modulo non è quindi possibile fare a meno di confrontarsi con concetti propri dell' elettronica. 

Un comparatore è un circuito che confronta due segnali applicati in ingresso e rende una uscita a due livelli, alto e basso, compatibili con quelli digitali, in funzione dell' esito del confronto.
Costituisce un ponte tra il campo analogico e quello digitale, dato che i segnali di ingresso possono essere di livello variabile (analogici), mentre l' uscita ha solo i due livelli digitali (alto/basso) 

Ad esempio, nell' immagine a lato il foglio dati esemplifica la funzione del comparatore: un segnale variabile viene applicato ad un ingresso mentre all' altro è applicata una tensione di riferimento. Ogni volta che il primo segnale supera il valore di riferimento, l' uscita va a livello alto, indicando la condizione.

I due ingressi prendono il nome di Vin- e Vin+:Quando Vin+ supera il valore di Vin-, scatta il comparatore.

Gli usi di questa funzione sono molteplici: discriminazione di un segnale rispetto ad un riferimento, rilevatore di sovra o sotto tensione, trigger per misure di grandezze fisiche, ecc.

PIC12F510 integra un comparatore che utilizza i seguenti segnali:

  • CN1IN+ : ingresso analogico Vin+
  • CN1IN- : ingresso analogico Vin-
  • C1OUT : uscita digitale

Tutti questi sono multiplexati con altre funzioni sui pin del chip, come abbiamo visto all' inizio.
Per fornire un supporto il più completo possibile, Microchip ha reso possibile collegare alla Vin- anche il generatore di tensione da 0.6V già citato in relazione al modulo ADC. Come informazione, PIC maggiori, dal 16F506 in su, incorporano un generatore di tensione di riferimento più complesso, che deriva dalla Vdd ed è programmabile in 16 step e possono avere più di un comparatore, anche realizzati con strutture più complesse.

Per capire meglio come funzioni la logica del comparatore, abbastanza intricata nelle sue possibilità, occorre fare forzatamente riferimento al diagramma riportato dal foglio dati

Per i non addetti ai lavori sarà certamente poco comprensibile, ma si tratta di una necessaria visione di insieme del modulo, che cerchiamo ora di spiegare.

Per prima cosa da dire è che, evidentemente, anche il comparatore dispone di un registro di controllo, chiamato CM1CON0. Per curiosità, CM1 fa riferimento al fatto che in alcuni PIC (ad esempio 16F506) i comparatori sono due, dove esiste anche un CM2CON0.

La sua struttura è la seguente:

CM1CON

bit

7 6 5 4 3 2 1 0

nome

C1OUT

!C1OUTEN

C1POL

!C1T0CS

C1ON

C1NREF

C1PREF

!C1WU

funzione

R/W R/W R/W R/W R/W R/W R/W R/W

default

1 1 1 1 1 1 1 1
  • bit 7  C1OUT : flag di uscita del comparatore
                 1 = Vin+ > Vin-
                 0 = Vin+ < Vin-

  • bit 6  !COUTEN: abilitazione uscita del comparatore
                 1 = disabilitata
                 0 = uscita sul pin C1OUT

  • bit 5  C1POL : polarità uscita del comparatore
           
         1 = non invertita
                 0 = invertita

  • bit 4  !C1T0CS: comparatore come sorgente di Timer0
                 1 = la sorgente è scelta dal bit T0CS
                 0 = la sorgente è l'uscita del comparatore

  • bit 3  C1ON  : accensione comparatore
                 1 = abilitato
                 0 = disabilitato

  • bit 2  C1NREF: selezione dell' ingresso Vin-
                 1 = C1IN-
                 0 = Vref 0.6V

  • bit 1  C1PREF: selezione dell' ingresso Vin+
                 1 = C1IN+
                 0 = C1IN-

  • bit 0  !C1WU : Wake up per cambio di stato del comparatore
                 1 =  disabilitato
                 0 =  abilitato

Vediamo un maggiore dettaglio:

bit Funzione valore
C1OUT Questo bit permette, da parte del programma, di leggere lo stato dell' uscita del compratore.
  • Vin+ > Vin-
  • Vin+< Vin-              
!COUTEN
Questo bit abilita l' uscita del comparatore sul pin C1OUT. Se l' uscita non è abilitata il comparatore funziona ugualmente, ma il risultato della comparazione viene utilizzato solo internamente al micro.
Se è abilitata l' uscita, essa sostituisce la funzione sul pin 5 (GP2).
Con riferimento al diagramma iniziale, il bit comanda l' interruttore che collega l' uscita del comparatore al pin fisico.
  • 1 disab.(default) 
  • uscita su GP2
 
C1POL
Questo bit inverte il livello di uscita del comparatore. L' azione è effettuata da un gate XOR che inverte o meno il segnale a seconda del livello dei bit C1POL
  • 1 non inv.(default) 
  • invertita
 
!C1T0CS Questo bit, se a 0, fa si che l' uscita del comparatore sia collegata all' ingresso del Timer0.
Se è posto a 1 (default) la scelta della sorgente è quella impostata col bit T0CS dell' OPTION_REG 
  • 1 T0CS(default) 
  • uscita a Timer0
 
C1ON
Questo bit accende o spegne il comparatore. In condizioni di spento, il consumo di corrente viene ridotto.
  • 1 abilitato (default) 
  • disabilitato
 
C1NREF
Questo bit consente di scambiare C1IN- e 0.6Vref all' ingresso Vin- del comparatore.
  • 1 C1IN1-(default) 
  • 0.6Vref
 
C1REF
Questo bit consente di scambiare C1IN+ e C1IN- all' ingresso Vin+ del comparatore.
  • 1 C1IN1+(default) 
  • C1IN-
 
!C1WU
Questo bit abilita o disabilita (default) la possibilità che l' uscita del comparatore, se cambia di stato, faccia cessare la condizione di sleep 
  • 1 disab.(default) 
  • abilitato
 

Anche se dal punto di vista della componentistica elettronica un comparatore è realizzabile con un amplificatore operazionale, questo comparatore integrato non è utilizzabile come op-amp in quanto la sua uscita non è analogica, ma esclusivamente digitale.

Per quanto riguarda 16F506, il comparatore è più complesso:

  • ha due canali
  • dispone di una sorgente di tensione di riferimento interna programmabile

Questa ultima funzione non è disponibile nel chip a 8 pin. Per maggiori informazioni rimandiamo alla lettura del foglio dati.

Per chi è interessato a sapere qualcosa di più sui comparatori, il documento PICmicro Comparator Tip 'n trick è disponibile da Microchip. 


 

Copyright © afg. Tutti i diritti riservati.
Aggiornato il 21/01/15.