Descargar

Comparador A – MSP430F149

Enviado por Pablo Turmero


    edu.red

    Introducción Comparador de voltaje analógico. Posibles Usos: Detección de nivel de carga en dispositivos portátiles que utilizan batería. Medición de elementos resistivos. Adaptación de señales pequeñas, que necesiten activar un evento en el microcontrolador.

    edu.red

    Características 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 interrupción. Referencia de voltaje seleccionable. Tanto el comparador como el circuito de referencia pueden ser desconectados.

    edu.red

    Conexiones NO es posible utilizar el comparador en la tarjeta de desarrollo, ya que los pines están ocupados con el LCD.

    edu.red

    Comparador

    edu.red

    Comparador El comparador compara entre las dos señales analógicas, 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 energía) a través del bit de control CAON, en cuyo caso la salida queda baja.

    edu.red

    Switches Análogos de Entrada

    edu.red

    Switches Análogos de Entrada Permiten conectar o desconectar los terminales de entrada asociados a los pines del puerto 2 usando los bits P2CAx. Los bits P2CAx permiten: Aplicar señales externas a los terminales + o del comparador. Ruteo de una referencia de voltaje interno a un pin asociado de la salida . El bit de control CAEX controla la entrada al multiplexor, intercambiando cual señal de entrada se conecta a los terminales + y -.

    edu.red

    Filtro de Salida

    edu.red

    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 pequeña. Seleccionando el filtro, se reduce dicha oscilación.

    edu.red

    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

    edu.red

    Filtro de Salida Salida sin filtro:

    edu.red

    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

    edu.red

    Salida con filtro: Filtro de Salida

    edu.red

    Generador de Voltaje de Referencia

    edu.red

    Generador de Voltaje de Referencia

    EL objetivo es entregar el voltaje de Referencia interno llamado VCAREF . El Voltaje VCAREF puede tomar valores de 0.5Vcc, 0.5Vcc o un voltaje umbral de un transistor. Los Valores de VCAREF se configuran mediante los bits de control CAREFx del Registro CACTL1. Para seleccionar a cual entrada se aplicara VCAREF se utiliza el bit CARSEL del Registro CACTL1.

    edu.red

    Generador de Voltaje de Referencia Codigos en C Ejemplo ocupando el voltaje Vcaref Utiliza una señal de entrada externa en CAO (+) comparada con un voltaje de Referencia interno en CA1(-)

    #include "msp430x14x.h" void main () // utiliza Vcaref= 0.25Vcc { WDTCTL = WDTPW | WDTHOLD; P2SEL = 0xff; // configura puerto 2 como i/o P2DIR = 0x04;//configura pin 2 como salida, resto entrada CACTL1 = CARSEL | CAON | CAREF0;//seteando registro CACTL2 = P2CA0;//control del Comparador A }

    edu.red

    Generador de Voltaje de Referencia Ejemplo de Laboratorio ocupando el voltaje Vcaref = 0.25 Vcc

    (Gp:) SEÑAL SALIDA CAOUT PIN 22

    (Gp:) SEÑxAL ENTRADA CAO PIN 23 x

    edu.red

    Generador de Voltaje de Referencia Ejemplo de Laboratorio ocupando el voltaje Vcaref = 0.5 Vcc CAREF0 CAREF1

    (Gp:) SEÑAL SALIDA CAOUT PIN 22

    (Gp:) SEÑAL ENTRADA CAO PIN 23 x

    edu.red

    Interrupciones

    EL sistema de interrupciones del comparador se compone principalmente de un flip-flop D , de compuertas lógicas ,de la salida del comparador y registros interrupción. El flag de interrupción CAIFG se pone en alto cuando hay un cambio en el canto de la salida del comparador. La activación del flag de interrupción se selecciona si es por canto de subida o bajada mediante el bit selector CAIES del registro CACTL1 del comparador. Para generar una interrupción es necesario configurar los bits CAIE y GIE , para que el flag CAIFG genere un requerimiento de servicio de interrupción. El flag CAIFG es reiniciado cuando el requerimiento es servido o puede ser reiniciado manualmente por software.

    edu.red

    Interrupciones Codigos en C Ejemplo ocupando el vector de interrupción del Campador A Utiliza una señal de entrada externa comparada con un voltaje de Referencia interno generando una interrupción

    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;}

    edu.red

    Registro CAPD

    Los pines de los puertos I/O del microcontrolador tienen características de puertas digitales CMOS. Por lo tanto una tensión análoga de entrada podría producir una corriente parásita en la puerta digital. Deshabilitando el buffer del puerto 2 entrada se elimina la corriente parásita de la compuerta lógica 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;

    edu.red

    Registros El comparador se configura en base a tres registros:

    Los registros son de lectura y escritura, y son reseteados al encendido del microcontrolador.

    edu.red

    Registro de Control 1, CACTL1

    edu.red

    Registro de Control 2, CACTL2

    edu.red

    Registro deshabilitador de puertos, CAPD