Anda di halaman 1dari 15

Esta funcin est ntimamente ligada a los pines I/O, permite

generar interrupcin a la MCU por varias lneas de entrada y por los puertos B, D y G. El aprovechamiento de esta funcin radica en la posibilidad de implementar la lectura de un teclado por el mecanismo de las interrupciones y generar a la mquina un wakeup (despertar) desde los modos de bajo consumo.

DIAGRAMA FUNCION KBI

Registro de seleccin de pin del KBI (KBIPE)


Cada pin con posibilidad de generar interrupcin es habilitado independientemente va los bits KBIxPE[KBIPEn].
Registro del KBI1: pines asociados al KBI y su estado elctrico. Este registro deber ser ledo para saber quin ha generado un evento de KBI. KBIPEn: Habilita el pin asociado a la funcin KBI.

0: El pin no est habilitado 1: El pin est habilitado como funcin KBI

Registro de estado y control KBISC


KBF: Bandera que indica cuando un evento de KBI ha sido detectado.

0: No hay presencia de evento por KBI 1: Hay un evento de KBI presente KBACK: Bit utilizado para aclarar el estado del Flip Flop del KBI, como reconocimiento a un evento de KBI 0: No tiene efecto 1: Aclara el estado del Flip Flop del KBI KBIE: Bit utilizado habilitar la opcin de generar un evento de interrupcin debido a un evento de KBI. 0: Inhabilita un requerimiento de interrupcin por KBI 1: Habilita un requerimiento de interrupcin por KBI KBIMOD: Controla el modo de deteccin de la funcin KBI 0: Deteccin por flanco nicamente 1: Deteccin por flanco y nivel

Registro de seleccin del flanco y nivel del KBI (KBIES)


muestra el registro de seleccin del flanco y nivel del pin, para la funcin KBI.
KBEDGn: Selecciona la polaridad de la seal elctrica aplicada al pin del KBI y a su

vez selecciona el pullup/ pulldown asociado al pin. 0: Habilita flanco de bajada y nivel bajo, para la deteccin de evento de KBI y a su vez habilita pullup al pin asociado. 1: Habilita flanco de subida y nivel alto, para la deteccin de evento de KBI y a su vez habilita pulldown al pin asociado.

Breve descripcin del mdulo ADC y diagrama en bloques


Tcnica de conversin por aproximaciones sucesivas hasta 12 bits de resolucin. Hasta 28 entradas anlogas. Conversin programable para 8, 10 y 12 bits, justificada a la derecha y no signada. Modo de conversin simple y continua. Tiempo de conversin programable y modo de reduccin de consumo. Evento de finalizacin de una conversin y generacin de evento de interrupcin al finalizar la conversin. Hasta cuatro fuentes de reloj de conversin. Operacin en modo WAIT y STOP 3, para reduccin de ruido. Posibilidad de seleccin de reloj asincrnico, para operacin en bajo ruido. Posibilidad de elegir una seal de disparo por hardware (trigger), para iniciar

conversin. Comparacin del valor convertido contra un valor programado, para mayor que, igual que o menor que.

Diagrama en bloques del ADC

(A) corresponde al sistema de reloj del ADC: Este circuito tiene la posibilidad de

seleccionar cuatro fuentes, como: Reloj asncrono (ADACK), reloj del BUS, reloj del BUS dividido por dos y un reloj alterno (ALTCLK). El circuito (B) corresponde a los registros de configuracin y control del ADC:. El circuito (C) sincroniza toda la operacin de conversin, actuando como una gran mquina de estados. El circuito (D) multiplexa las diferentes entradas anlogas (canales A/D) que puede atender el sistema ADC y establece la ventana de conversin. El circuito (E) es el corazn del mdulo ADC y corresponde al SAR (Succesive Aproximation Register) de la conversin. El circuito (F) configura la lgica de interrupcin del mdulo ADC y finalmente, el circuito (G) establece las componentes para la comparacin del valor convertido contra un valor programado.

Registros asociados al mdulo ADC


Registro de estado y control 1 (ADCSC1):
COCO: Bandera de conversin completa. Cuando COCO es 1 y AIEN= 1, entonces se genera un evento de interrupcin.

0: No se ha completado una conversin 1: Se ha completado una conversin. AIEN: Bit para habilitar un evento de interrupcin por la finalizacin de una conversin anloga a digital. 0: Inhibe evento de interrupcin por conversin completa 1: Habilita evento de interrupcin por conversin completa ADCO: Bit para seleccionar el modo de conversin. 0: Habilita conversin simple. Una sola conversin es iniciada cuando se escribe sobre el registro ADCSC1 o cuando se trabaja con seal de disparo externa (external trigger). 1: Habilita conversin continua. La conversin es iniciada cuando se escribe sobre el registro ADCSC1 o cuando se trabaja con seal de disparo externa (external trigger). ADCH: Bits para seleccionar el canal a convertir (multiplexor).

Registro de estado y control 2 (ADCSC2) ADACT: Bit que indica cuando una conversin est en progreso. Este bit es puesto a 0 una vez se haya finalizado la conversin o se aborte el proceso. 0: No hay conversin en proceso 1: Hay una conversin en proceso ADTRG: Bit para seleccionar el tipo de seal que inicia una conversin. Cuando se elige una conversin por hardware, el pin ADCHWT inicializa una conversin .Cuando se elige la conversin por software, la simple escritura sobre el registro ADCSC1 inicializa una conversin). 0: Disparo de conversin por software 1: Disparo de conversin por hardware ACFE: Bit para habilitar la funcin de comparacin del mdulo ADC. 0: Deshabilita modo de comparacin 1: Habilita modo de comparacin ACFGT: Bit para habilitar la comparacin si mayor que. 0: Funcin de comparacin si menor que 1: Funcin de comparacin si mayor que

Registro resultado alto de la conversin (ADCRH), contiene el nibble de mayor peso en una conversin de 12 y 10 bits.

Registro resultado bajo de la conversin (ADCRL), que contiene el byte de menor peso en una conversin de 12 y 10 bits; y contiene los ocho bits de una conversin en 8 bits .

Registro alto de comparacin (ADCCVH), contiene el nibble de mayor peso en una comparacin de 12 y 10 bits. El valor de este registro se compara con el registro ADCRH.

Registro bajo de comparacin (ADCCVL), contiene el byte de menor peso en una conversin de 12 y 10 bits; y contiene los ocho bits de una conversin en 8 bits. El valor de este registro se compara con el registro ADCRL.

Registro de configuracin (ADCCFG) ADLPC: Bit para configurar el ADC en bajo consumo. Optimiza el SAR para bajo consumo y reloj lento, esta opcin es adecuada para digitalizar seales de baja velocidad. 0: No habilita modo de bajo consumo 1: Habilita modo de bajo consumo ADIV: Bits para configurar el divisor del reloj elegido para el mdulo ADC. 00: Divisor por 1 01: Divisor por 2 10: Divisor por 4 11: Divisor por 8 ADSMP: Bit para disponer el ADC en conversiones rpidas, asociadas a entradas de baja impedancia y consumos altos o para conversiones lentas de impedancias altas y bajo consumo. 0: Tiempo corto para muestreo 1: Tiempo largo para muestreo MODE: Bits para seleccionar la resolucin de trabajo del ADC. 00: Conversin con resolucin en 8 bits 01: Conversin con resolucin en 12 bits 10: Conversin con resolucin en 10 bits 11: Reservado ADICLK: Bits para seleccionar el reloj que alimentar el mdulo ADC. 00: Reloj del BUS interno 01: Reloj del BUS interno dividido por 2 10: Reloj alterno ALTCLK 11: Reloj asncrono ADACK

Registro de control de pin del ADC o habilitacin de canal A/D (APCTLx), muestra los registros de control de pines del ADC. Todo canal que se desee habilitar necesita ser confirmado escribiendo un 1 en el respectivo bit ADPCx

Clculo del tiempo de una conversin, Para efectos del clculo del tiempo que toma una conversin en ejecutarse, la Tabla relaciona el tiempo dependiendo del reloj elegido (ADCLK = ADICLK/ADIV) y el bit ADSMP (tiempo corto o largo).

A manera de ejemplo, supngase que se est realizando una conversin A/D con

resolucin de 12 bits. Para la conversin se ha elegido el reloj de bus interno, que es de 16MHz. La conversin se realizar en modo contnuo y tiempos cortos de muestreo. El mximo reloj de conversin para el ADC del JM60 es de 8MHz, entonces es necesario aplicar un valor de ADIV = 01 (divisor por 2). El valor resultante conformara el ADCK de la conversin, de tal manera que el tiempo total de conversin, para las muestras subsecuentes se calcula as: Tiempo de conversin = 20 ADCK ciclos / (16MHZ / 2) Tiempo de conversin = 2.5 x 10-6 seg

Anda mungkin juga menyukai