Tutorials - PIC

 

PIC 10F200/202/204/206


Il Comparatore

Il modulo comparatore è disponibile solo su 10F204/206.

Il suo funzionamento è analogo a quello generale dei comparatori implementati nei Baseline e MidRange.
Il diagramma del modulo è questo:

Sostanzialmente si tratta di una versione semplificata del modulo comparatore dei PIC12F e 16F

Il comparatore può essere abilitato e disabilitato da programma agendo sul registro COMCON0.
L'uscita del comparatore può essere:

  • disabilitata
  • indirizzata ad un pin (C1OUT) oppure
  • utilizzata come ingresso di conteggio del TIMER0.

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 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 conoscere lo stato dell' uscita del comparatore.
  • 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.

Il riferimento negativo della comparazione può essere scelto tra la tensione di riferimento interna (band gap generator a 0.6V) e un pin esterno (CIN-); il riferimento positivo proviene da un pin esterno (CIN+).

Il dettaglio delle funzioni e della programmazione del comparatore è indicato sul foglio dati.

Al POR il comparatore è abilitato. Se non è richiesta la sua funzione, occorre disabilitarlo da programma agendo su C1ON.


Lo scatto del comparatore non genera interrupt, ma un reset, identificato dal flag !CWU, per cui, al risveglio da sleep la causa va verificata discriminando le condizioni dei flag dello STATUS, come visto in precedenza. 


 

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