Professional Documents
Culture Documents
Introduccin
Comparador de voltaje analgico. Posibles Usos:
Deteccin de nivel de carga en dispositivos porttiles que utilizan batera. Medicin de elementos resistivos. Adaptacin de seales pequeas, que necesiten activar un evento en el microcontrolador.
Caractersticas
Multiplexor para las entradas + y -, que permite intercambiarlas. Filtro RC seleccionado por software. La salida del comparador permite captura del timer_A. Control por software del buffer de los puertos de entrada. Capacidad de interrupcin. Referencia de voltaje seleccionable. Tanto el comparador como el circuito de referencia pueden ser desconectados.
Conexiones
NO es posible utilizar el comparador en la tarjeta de desarrollo, ya que los pines estn ocupados con el LCD.
Comparador
Comparador
El comparador compara entre las dos seales analgicas, de los terminales + y . Si el terminal + es mas positivo que el terminal -, entonces la salida del comparador CAOUT queda en alto. El comparador se puede desconectar (para ahorrar energa) a travs del bit de control CAON, en cuyo caso la salida queda baja.
El bit de control CAEX controla la entrada al multiplexor, intercambiando cual seal de entrada se conecta a los terminales + y -.
Filtro de Salida
Filtro de Salida
La salida del comparador se puede utilizar con o sin filtro interno. Cuando se setea el bit de control CAF, la salida del comparador es filtrada con un Filtro-RC integrado. El comparador oscila cuando la diferencia entre los voltajes de los terminales de entrada es pequea. Seleccionando el filtro, se reduce dicha oscilacin.
Filtro de Salida
Ejemplo sin filtro :
#include "msp430x14x.h" void main () { WDTCTL = WDTPW | WDTHOLD; P2SEL = 0xff; // configura puerto 1 como i/o P2DIR = 0x04; // pin 2 como salida, // y el resto como entrada CACTL1 = CARSEL | CAON | CAREF1; CACTL2 = P2CA0; }
Filtro de Salida
Salida sin filtro:
Filtro de Salida
Ejemplo con filtro: #include "msp430x14x.h" void main () { WDTCTL = WDTPW | WDTHOLD; P2SEL = 0xff; // configura puerto 1 como i/o P2DIR = 0x04; // pin 2 como salida, //y el resto como entrada CACTL1 = CARSEL | CAON | CAREF1; CACTL2 = P2CA0 | CAF; // se configura el filtro }
Filtro de Salida
Salida con filtro:
Interrupciones
EL sistema de interrupciones del comparador se compone principalmente de un flip-flop D , de compuertas lgicas ,de la salida del comparador y registros interrupcin. El flag de interrupcin CAIFG se pone en alto cuando hay un cambio en el canto de la salida del comparador. La activacin del flag de interrupcin se selecciona si es por canto de subida o bajada mediante el bit selector CAIES del registro CACTL1 del comparador.
Para generar una interrupcin es necesario configurar los bits CAIE y GIE , para que el flag CAIFG genere un requerimiento de servicio de interrupcin.
El flag CAIFG es reiniciado cuando el requerimiento es servido o puede ser reiniciado manualmente por software.
Interrupciones
Codigos en C Ejemplo ocupando el vector de interrupcin del Campador A Utiliza una seal de entrada externa comparada con un voltaje de Referencia interno generando una interrupcin
void main (){ _EINT(); WDTCTL = WDTPW | WDTHOLD; P2SEL = 0xff; // configura puerto 2 como i/o P2DIR = 0x04; //direccion de salida CACTL1 = CARSEL|CAON|CAREF1|CAIE; CACTL2 = P2CA0|CAF; P3SEL=0x00; P3DIR = 0x01; while(1){;}} #pragma vector=COMPARATORA_VECTOR __interrupt void comparador(void){ if(P3OUT!=0)P3OUT=0x00; else P3OUT=0x01;}
Registro CAPD
Los pines de los puertos I/O del microcontrolador tienen caractersticas de puertas digitales CMOS. Por lo tanto una tensin anloga de entrada podra producir una corriente parsita en la puerta digital. Deshabilitando el buffer del puerto 2 entrada se elimina la corriente parsita de la compuerta lgica y reduce el consumo de potencia del microcontrolador. Para habilitar el buffer se configura el bit CAPDx del pin correspondiente del puerto 2 del Registro CAPD. Ej. CAPD = CAPD3;
Registros
El comparador se configura en base a tres registros:
Los registros son de lectura y escritura, y son reseteados al encendido del microcontrolador.
CARSEL Bit 6
CAREFx Bit 5-4
P2CA1
P2CA0 CAF CAOUT
Bit3
Bit2 Bit 1 Bit 0
CAPDx
Bit 7-0
Estos bits deshabilitan individualmente los buffers de los pines de entrada correspondiente al puerto, en este caso el Puerto 2. CAPD0 deshabilita P2.0, CAPD1 deshabilita P2.1 etc.
Consultas