Sei sulla pagina 1di 3

.

MODULO DE CAPTURA DE ENTRADA


Xavier Aldemar Jumbo Sarango e-mail: xavieraldemarjumbo@hotmail.com

RESUMEN: En el presente artculo se mostraran los conceptos fundamentales acerca de lo que es el modulo de captura de entrada 1. INTRODUCCIN Este modulo se usa para medir la duracin de un valor temporal a partir de un evento en una patita de entrada. El tiempo se controla con una de las dos bases de tiempos posibles (TIMER2 o TIMER3). Las posibilidades del modulo de captura de entrada son muy utilizadas en aplicaciones que se requieran control de frecuencia y medida de pulsos, as como en fuentes adicinales de interrupciones externas. Las caractersticas operacionales principales son: Modo simple de captura de eventos. Seleccin como base de tiempos al temporizador 2 (Timer 2) o al temporizador 3 (Timer 3). Interrupciones provocadas por eventos de captura de entrada.

HC= Borrado en hardware. HS= Establecido en harware. R=Leible W=Escribible U=bit no implementado, se lee como 0 Significado de los bits del registro de control IxCON: Bit 15-14 No se implementa: se lee como 0 Bit 13 ICSIDL: 1= el modulo se detiene en modo Idle 0= el modulo continua operando en modo Idle Bits 12-8 No se implementa: se lee como 0 Bits 7 ICTMR: 1= se utiliza el timer 2 0= se utiliza el timer 3 Bits 6-5 ICI<1:0>: 11=interrupcin cada 4 eventos de captura 10=interrupcin cada3 eventos de captura 01=interrupcin cada2 eventos de captura 00=interrupcin cada vez que se produce un evento Bits 4 ICOV: 1=existe sobrepasamiento 0= no hay sobrepasamiento Bits 3 ICOV: Bit que indico si el buffer no esta vaco Con el bit 1 o si esta vaco(el bit se pone 0) Bits 2-0 Bits que selecciona el modo d captura de entrada 111= el modulo funciona como patita de interrupcin 110= no se utiliza(modulo deshabilitado) 101= modo captura de 16 flanco ascendentes 100= modo captura de 4 flanco ascendentes 011= modo captura cada flanco ascendentes 010= modo captura cada flanco ascendentes 001= modo captura, en todos los flancos (ascendentes y descendentes) 000= para desconectar el modulo de captura de entrada 1.3 SELECCIN DEL TIMER

Los modos de trabajo son: Modo captura del temporizador por flanco descendente de entrada en la patita ICx. Modo captura del valor del temporizador con cada flanco ascendente de entrada en la patita ICx. Modo captura cada 4 flancos ascendentes en ICx. Modo captura con cada flanco ascendente y descendente en ICx. 1.2 REGISTROS DE CAPTURA DE ENTRADA Cada canal de captura permitido en los trminos en los dispositivos dsPIC30F tienen los siguientes registros 1. 2. ICxCON: Registro de Control de Captura de Entrada. ICxBUF: Registro Buffer de Captura de Entrada.

Byte de mas peso: U-0 U-0 U-0 R/W-0 U-0 ICSIDL U-0 U-0 U-0 -

El modulo de captura de entrada puede tener hasta 8 canales de captura y cada canal puede seleccionar uno de los dos temporizadores como base de tiempos (TIMER2 o TIMER3) La eleccin del temporizador se lleva a cabo a travs del bit de control ICTMR(ICxCON<7>). 1.4 MODOS DE CAPTURA DE EVENTOS DE ENTRADA El modulo de captura de entrada lee un valor de 16bits de la base de tiempos elegida cuando se produce un evento preprogramado en la patita ICx, pueden ser de 3 categoras 1. Modo ce captura simple

Byte de menos peso: R/W-0 R/W-0 R/W-0 R-0, HC R-0, HC R/W0 R/W-0 R/W-0 ICTMR ICI<1:0> ICOV ICBNE ICM<2:0>
Fig1. IxCON: Registr de Control de Captura de Entrada.

.
En flanco ascendente de entrada en el pin ICx En flanco descendente de entrada en el pin ICx Captura del valor del temporizador con cada flanco (ascendente y descendente) Predivisor Cada 4 flancos ascendentes de entrada en el pin ICx Cada 16 flancos descendentes de entrada en el pin ICx MODO DE CAPTURA SIMPLE

CLR IC1CON MOV #0x00A2, W0 MOV W0, IC1CON MOV #IC1BUF, W0 MOV TEMP_BUFF, W1 1.4.3 MODO DETECCION DE FLANCO

2. 3.

1.4.1

El modulo de captura puede recoger el valor del temporizador seleccionado (TIMER2 o TIMER3) en el flanco prederminado (ascendente y descendente, segn este definido por el modo) de la seal estrada aplicada en la patita ICx. La lgica de captura de entrada detecta y sincroniza el flanco ascendente o descendente de la seal en la patita correspondiente Cuando el numero de eventos capturados coincide con el numero especificado en los bits de control ICI<1:0>se activa el respectivo flag de estado de la interrupcin del canal der captura (ICSI), pero se produce 2 ciclos de instruccin despus. 1.4.2 PREDIVISOR DE CAPTURA DE EVENTOS

Es posible capturar un valor de la base de tiempos en cada flanco ascendente o descendente de la seal de entrada puesta en el pic ICx Cuando el modulo de captura de entrada se configura en modo deteccin de flanco: Establece el flag de interrupcin en captura de entrada (ICxIF) con cada ascendente y descendente Los bits de interrupcin del modo captura No se genera el bit de sobrepasamiento 1.5 OPERACIN DEL BUFFER DE CAPTURA

El modulo de captura admite dos modos de trabajo del predivisor. Los modos se seleccionan poniendo los bits registro ICI<2:>(ICxCON<1:2>) a100 o 101, respectivamente. En estos modos se cuentan 4 o 16 flancos ascendentes antes de capturar el evento. El contador predivisor de captura se incrementa con cada flanco ascendente valido que se aplica a la patita. El flanco ascendente aplicado en la patita sirve como reloj para el contador. Cuando se cambia la configuracin de un tipo de predivisor a otro se puede generar una interrupcin. El contador predivisor no se borrada, por lo que la primera captura debe proceder desde un predivisor distinto de 0. El contador predivisor se borra cuando : El canal de captura se desconecta Se produce un reset El contador predivisor no se borra cuando El usuario cambia de modo de captura PROGRAMA EJEMPLOS El cdigo del ejemplo 1 elige el modulo 1 de captura de entrada, realiza la captura en el cuarto flanco ascendente y selecciona como base de tiempos el TIMER2 . para evitar interrupciones inesperadas borra el registro ICxCON. BSET IPCO, #ICI1IP0 BCLR IPCO, #ICI1IP1 BCLR IPCO, #ICI1IP2 BCLR IPCO, #ICI1IF BSET IPCO, #ICI1IE

Cada canal de captura tiene un buffer tipo FIFO asociado que dispone de 4 palabras de 16 bits. El registro ICxBUF es el registro buffer visible por el usuario y esta mapeado en memoria. Despus de unreset ICM<210>=000 el modulo har y esta mapeado en memoria. Borra el flag de condicin de sobrepasamiento o desbordamiento Resetear el buffer de captura Si se lee el buffer FIFO bajo las siguientes condiciones, se puede producir resultado indeterminados: En el caso en el que el modulo de captura se deshabilita y despus d un tiempo se vuelve a habilitar Cuando sa hace una lectura del FIFO cuando el bufer esta vacio Despus de un reset Hay dos bits del registro de control de estado ICBNE(ICxCON<3>): buffer de captura de entrada lleno ICOV(ICxCON<4>): hay sobrepasimiento 1.5.1 ICBNE

Bit que indica que el buffer de captura esta lleno. El bit de control de solo lectura ICBNE se activa con el primer evento de captura de entrada y continua mantenindose hasta que todos los evevtos hayan sido leidos del buffer de captura 1.5.2 ICON

Bit que indica sise produce sobrepasamiento. El bit de estado de solo lectura ICON se activa cuando se produce sobrepasamiento el buffer de captura para borra la condicin de sobrepasamiento, el buffer debe ser ledo 4 veces. Despus de la cuarta lectura el flag de estado

.
ICONse borra y e; canal de captura reanuda un funcionamiento normal Existe diferentes formas de borrar la consicion de sobrepasamiento Poniendo el bit ICM<2:0>=000 Leer el buffer de captura hasta que ICBNE=0 Cualquier reset 1.6 INTERRUPCIONES Un evento de captura de entrada genera una salida o <<despertar>> de los modos sleep e idle o una interrupcin. Independientemente del temporizador que se haya elegido, el modulo de captura de entrada produce la salida o despertar desde el modo sleep o idle cuando ocurre un evento de captura. 1.9 CONTROL DE LAS PATITAS DE E/S

Los canales de captura de entrada tiene ;a capacidad de generar una interrupcin en base al numero de eventos de captura seleccionados. Este numero se establece con los bits de control, ICI<1:0>(ICxCON<6:5>) Exepto para el caso en el que ICI<1:0>=00, es decir, que hay interrupcin cada vez que sucede un evento no se genera ninguna interrupcin hasta que se borre la condicin de sobrepasamiento del buffer. 1.6.1 BITS DE CONTROL DE INTERRUPCIONES

Cuando se activa el modulo de captura el usuario debe asegurar que al direccin de la patita de E/S correspondiente esta configuracin como entrada cargando el bit de registro TRIS adecuadamente. Adems, las restantes seales de otros perifricos multiplexados en dicha patita de entrada deben estar deshabilitadas. 2. CONCLUSION

Cada canal de captura debe dispone de bits para el manejo en la interrupciones (ICxIF), bits que habilitan ;a interrupcin (ICxIE) y bits de prioridad de la interrupcin(ICxIP<2:0>) 1.7 SOPORTE DE UART El modulo de captura de entrada puede usarse por el modulo UART cuando es configuracin en el modo de funcionamiento Autobaud, ABAUD=1(UxMODE<5>). El modulo de captura debe estar configurado para el modo de deteccin de flanco para poder obtener mayores ventajas de las caractersticas del Autobaud. 1.8 CAPTURA DE ENTRADA DURANTE LOS MODOS SLEEP E IDLE 1.8.1 EN MODO SLEEP Cuando el dispositivo entra en modo sleep el reloj del sistema se deshabilita y el modulo de captura de entrada solo puede funcionar como una fuente de interrupcin externa este modo se deshabilita poniendo los bits de control .ICM<2:0> a111. 1.8.2 EN MODO IDLE Cuando el dispositivo entra en modo IDLE las fuentes del reloj del sistema siguen funcionado pero la CPU detiene la ejecucin del cdigo. El bit ICSIDL(ICxCON<13>) selecciona si el modulo se detiene en este modo Idle o sigue funcionando Si ICSIDL=0, el modulo continua operando en modo Idle. Se requiere que el temporizador seleccionado este habilitado mientras este activo el modo Idle Si ICSIDL=1, el modulo se detendr en el modo Idle. El modulo realiza las mismas funcione cuando esta parado tanto en el modo Idle como en el sleep. 1.8.3 LA SALIDA DE LOS MODOS SLEEP E IDLE

Los temporizadores se controlan mediante el TIMER2 y el TIMER 3, el modo captura pueden ser ascendentes o descendentes 3. BIBLIOGRAFIA Microcontroladores avanzados dsPIC, mdulos de captura de entrada, capitulo 20