Clase10 Adc y Acmp

Click here to load reader

  • date post

    16-Dec-2015
  • Category

    Documents

  • view

    21
  • download

    7

Embed Size (px)

description

uco

Transcript of Clase10 Adc y Acmp

Mdulo de Comparacin Analgica ACMP

El mdulo de comparacin analgico (ACMP) permite comparar dos tensiones de entradas analgicas o comparar una tensin de entrada analgica con una tensin de referencia interna. La seal analgica nunca puede superar los voltajes de polarizacin. Si se desea utilizar la referencia interna esta debe ser habilitada en el registro SPMSC1 en el bit BGBE

Figura 1 diagrama de los pines que hacen parte del mdulo ACMP y los valores para el EL ACMP tiene las siguientes caractersticas: Generacin de Interrupcin bien sea en el flanco ascendente, descendente, o en ambos. Opcin de comparar con el Bandgap voltaje reference Permitir mediante un pin conocer el resultado de la comparacin, ACMPO. Puede operar en modo Stop3

Figura 2. Diagrama de bloques del mdulo ACMP Como se puede observar en el diagrama de la figura 2, el corazn del mdulo es un comparador que puede operar con una entrada fija ACMP- y dos variables dependiendo de las necesidades del diseador, las cuales son ACMP+ como seal externa de comparacin o la referencia interna, la cual ser seleccionada mediante la lnea de control ACBGS, siempre y cuando el ACME este activo el comparador funcionar y podr generar interrupciones o activar el pin ACMPO si se presenta la condicin configurada mediante el registro de Status & control . A continuacin se describir cada uno de los bits que componen el registro de configuracin y su funcin ACMP Status and Control Register (ACMPSC)Este registro permite conocer el estado del mdulo y configurarlo los bits que lo componen son los siguientes:

Figura 3. ACMP status and control register.ACME : Analog Comparator Module Enable habilita el funcionamiento del mdulo.0 ACMP deshabilitado1 ACMP habilitadoAnalog Comparator Bandgap Select ACBGS es usado para seleccionar entre el bandgap reference voltage o el ACMP+ como entrada no inversora para el comparador.0: El ACMP+ pin es seleccionado como la entrada no inversora del comparador.1: La interna referencia es seleccionada como entrada no inversora del comparador.

Analog Comparator Flag ACF este bit se pone en 1 cuando ocurre un evento de comparacin, el evento de comparacin den definido por el ACMOD, este bit puede ser limpiado con la escritura de un uno en el propio bit (ACMPSC_ACF=1;)0: evento de comparacin no ha ocurrido.1: Evento de comparacin ha ocurrido. ACO Analog Comparator Output hacienda una lectura de ACO se puede obtener el actual valor de comparador analgico este bit se mantiene en cero si el modulo esta deshabilitado.

ACOPE Analog Comparator Output Pin Enable ACOPE es usado para habilitar la salida externa y utilizar el pin externo para activar una carga o indicarle el evento a otro sistema digital.

0: Salida del comparador Analgico no disponible en el pin ACMPO.1: El comparador Analgico manipula el valor del pin ACMPO de acuerdo al resultado de la comparacin.

ACMOD Analog Comparator Mode ACMOD permite seleccionar el tipo de evento que evaluar el comparador, si esto se presenta el mdulo colocar en valor alto la bandera ACF.00 Codificacin 0 Comparador detectar flanco de bajada.01 Codificacin 1 Comparador detectar flanco de subida.10 Codificacin 2 Comparador detectar flanco de bajada.11 Codificacin 3 Comparador detectar flanco de bajada o de subida.

Modo de funcionamiento

El comparador analgico se puede utilizar para comparar dos tensiones de entrada analgica aplicada a ACMP + y ACMP-; o puede ser utilizado para comparar una tensin de entrada analgica aplicada a ACMP-con una tensin de referencia interna. El bit ACBGS de ACMPSC se utiliza para seleccionar entre la tensin de referencia interna o la entrada + ACMP como la entrada no inversora del comparador analgico. La salida del comparador es alta cuando la entrada no inversora es mayor que la entrada inversora, y es baja cuando la entrada no inversora es menor que la entrada inversora. El bit ACMOD se utiliza para seleccionar la condicin que har que ACF se active. ACF puede detectar flanco de subida, bajada o ambos. La salida del comparador se puede leer directamente a travs de ACO. Pero tambin esta seal puede ser llevada a un pin de salida llamado ACMPO usando el bit ACOPE.

Analog-to-Digital Converter (S08ADC12V1)Caractersticas del Mdulo ADC Utiliza el algoritmo de aproximaciones sucesivas para la conversin con 12 bits de resolucin Hasta 28 canales de conversin Resolucin seleccionable de 12,10 o 8 bits justificado a la derecha Conversin continua o simple Bandera de conversin completa y posibilidad de interrupcin 4 fuentes de reloj seleccionable Operacin en modo de bajo consumo wait y stop3 Trigger por software o hardware Comparacin automtica y generacin de interrupcin programable cuando se cumpla condiciones de menor que, mayor que o igual. Sensor de temperaturaEl mdulo de conversin anlogo a digital usa un SAR el cual funciona de la siguiente maneraEl ADC de aproximaciones sucesivasCasi todos los mdulos ADC de los microcontroladores son de aproximaciones sucesivas. Funcionan con cuatro elementos bsicos: uncomparador analgico, unalgica de control (SAR: successive approximation register), un conversor digital analgicoDACy elrelojque gua los pasos de la conversin. Los DAC son mucho ms simples que los ADC y entregan resultados casi de inmediato.Cadanmero binariogenerado va siendo convertido en una tensin analgicaVout,que luego se compara con la tensin de entrada que se quiere medirVin. Si son iguales (o los ms cercanos posible), en ese momento el sistema ya ha encontrado el nmero binario que corresponde aVin. As de simple.

Figura 4. Diagrama de bsico de un conversor ADC de aproximaciones sucesivas.Ahora bien, siendo el conversor mostrado en la figura 4 de N=10 bits, ste permite generar hasta 1024 nmeros binarios distintos, se tendrn que hacer 1024 comparaciones? La respuesta es No, slo 10. El algoritmo a seguir es similar al que responde a la clsica pregunta: Si entre 100 esferas hay slo una que pesa un poco ms que las otras, cuntas veces habr que llevarlas a una balanza para encontrarla? (Rpta: 6)Para entender mejor cmo funciona este ADC se imitar su operacin. Suponga que el ADC trabaja con tensiones de referencia de 0 V a 5 V, y que se quiere medir una sealVinde 4.00000 Volts. Para realizar la conversin el ADC que es de 10 bits, dar los 10 pasos mostrados en la siguiente tabla:Paso #Binario Generado D9 ... D0Vout (DAC) (Voltios)Vin (ADC) (Voltios)Vout > Vin ?

110 0000 00002.502444.00000S, queda D9

211 0000 00003.753664.00000S, queda D8

311 1000 00004.379274.00000No, limpiar D7

411 0100 00004.066474.00000No, limpiar D6

511 0010 00003.910004.00000S, queda D5

611 0011 00003.988264.00000S, queda D4

711 0011 10004.027374.00000No, limpiar D3

811 0011 01004.007824.00000No, limpiar D2

911 0011 00103.998044.00000S, queda D1

1011 0011 00114.002934.00000No, limpiar D0

Valor final11 0011 00103.99804------

Tabla 1. Tabla que indica los pasos de conversin y los valores que digitales que va tomando a medida que se aproxima al valor de conversin.El primer nmero binario generado tiene el bitD9en alto. Este nmero se convierte en el valor analgicoVout, que despus se compara conVin. Como la comparacin (Vout < Vin) es positiva este bit permance en nivel alto. Despus se prueba activando el siguiente bit,D8, y como ahora la evaluacin (Vout < Vin) sigue siendo afirmativa tambin se deja este bit en 1. En seguida se habilita el bit D7; ahora la evaluacin (Vout < Vin) es negativa y se debe limpiarD7. Y se sigue con el resto de manera similar hasta alcanzar el bitD0.Como se puede observar, al final nos quedamos con el valor11 0011 0010, que significa una tensin de 3.99804 V y que comparado con 4.00000 V da un error de 0.00196 V = 1.96 mV de 0.049%. Nada mal. Es fcil ver que a mayor resolucin en bits se tendr menor error pero se requerir ms tiempo

Pines de ADCA continuacin se muestra los canales de conversin disponibles en donde como se puede observar posee 12 canales de conversin conectados a pines externos, algunos voltajes de referencia, un sensor de temperatura onchip y el internal Bandgap.

Diagrama de Bloques del ADC

Fuentes de reloj para el ADCEl sistema permite diferentes fuentes de reloj para el ADC estas son, el reloj del BUS, reloj de BUS dividido 2, un reloj asncrono (ADACK) o un reloj alternativo denominado ALTCLK, que para el caso del JM60 es el MCGERCLK, se debe tener en cuenta que la fuente de reloj luego de ser dividida, es decir el ADCK, debe de encontrarse en los rangos descritos a continuacin. .Nota: el ALTCLK no puede ser usado como fuente de reloj en modo STOP3

Hardware TriggerUsted puede seleccionar al RTC como disparador de conversin del mdulo ADC, si usted hace esto el ADC iniciar una nueva conversin cada vez que el contador del RTCNT alcance al RTCMOD, para ello no requiere que se tenga habilitadas las interrupciones del RTC, y operar en los modos RUN, WAIT y STOP3.Para que opere en el modo STOP3 requiere que los bits LVDSE y LVDE en SPMSC1 sean configurados en nivel ALTO.Sensor de temperaturaInternamente el microcontrolador cuenta con un sensor de temperatura conectado a uno de los canales del ADC cuya ecuacin para determinar la temperatura es Temp=25-((VTEMP-VTEMP25)/m)VTEMP: Es el voltaje medido en el canal de ADC AD26 y determina el valor actual que est entregando el sensorVTEMP25: Es el voltaje que tendra el sensor a temperatura de 25C, ver tablam: es la pendiente de la funcin de transferencia entre voltaje y temperatura la cual difiere de acuerdo al rango de temperaturas en que opere el sensor, ver tabla, note que los valores son diferentes para los rangos -40 a 25 C y entre 25 y 125C, el usuario deber calcular si el resultado es se encuentra en uno u otro rango y hacer el ajuste cuando sea necesario.Para realizar el cdigo que mida la t