Está en la página 1de 3

ITSS Modulo de captura de entrada

MODULO DE CAPTURA DE ENTRADA


Westher Eduardo Anchundia Riofrio
e-mail: westher99@hotmail.com RESUMEN: Analizaremos como funcionan el modulo
de captura de entrada de un dsPic. 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 vacio 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 interrupcion 110= no se utiliza(modulo desabilitado) 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. 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 (Timer 2 o Timer 3). La 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.

Los modos de trabajo son: Modo captura del temporizdor 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.

2. REGISTROS ENTRADA
1. 2.

DE

CAPTURA

DE

ICxCON: Registro de Control de Captura de Entrada. ICxBUF: Registro Buffer de Captura de Entrada.

3. SELECCIN DEL TIMER


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>).

Byte de ms peso:
U-0 U-0 R/W-0 U-0 U-0 U-0 U-0 U-0

ICSIDL

Byte de menos peso:


R/W-0 R/W-0 R/W-0 R-0, HC R-0, HC R/W-0 R/W-0 R/W-0

ICTMR

ICI<1:0>

ICOV

ICBNE

ICM<2:0>

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 En flanco ascendente de entrada en el pin ICx

Fig1. IxCON: Registro de Control de Captura de Entrada. HC= Borrado en hardware. HS= Establecido en hardware. R= Leble W= Escribible

ITSS Modulo de captura de entrada

.
En flanco descendente de entrada en el pin ICx

2.

Captura del valor del temporizador con cada flanco (ascendente y descendente) Cada 4 flancos ascendentes de entrada en el pin ICx Cada 16 flancos descendentes de entrada en el pin ICx

4.1 MODO DE CAPTURA SIMPLE


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 franjo de estado de la interrupcin del canal der captura (ICSI), pero se produce 2 ciclos de instruccin despus.

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

5. OPERACIN CAPTURA

DEL

BUFFER

DE

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 un reset 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

4.2 PREDIVISOR DE CAPTURA DE EVEVTOS


E 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. 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 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 CLR IC1CON MOV #0x00A2, W0 MOV W0, IC1CON MOV #IC1BUF, W0 MOV TEMP_BUFF, W1

Si se lee el buffer FUIFO bajo las siguientes condiciones, se puede producir resultado indeterminado: 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

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

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

6. INTERRUPCIONES
Los canales de captura de entrada tiene ;a capacidad de generar una interrupcin en base al numero de

4.3 MODO DETECCION DE FLANCO

ITSS Modulo de captura de entrada

.
eventos de captura seleccionados. Este numero se establece con los bits de control, ICI<1:0>(ICxCON<6:5>)

11. BIBLIOGRAFIA
Microcontroladores avanzados dsPIC, controladores digitales de seales arquitectura programacin y aplicaciones, capitulo 17, la memoria de datos.

6.1 BITS DE CONTROL INTERRUPCIONES

DE

Cada canal de captura debe dispone de bits para el amnejop de la sinterrupciones (ICxIF), bits que habilitan ;a interrupcin (ICxIE) y bits de prioridad de la interrupcin(ICxIP<2:0>)

7. SOPORTE DE UART
El modulo de captura de entrada puede usarse por el modulo UART cuando es cofiguracion 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.

8. CAPTURA DE ENTRADA DURANTE LOS MODOS SLEEP E IDLE 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.

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.

9. CONTROL DE LAS PATITAS DE E/S


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

10. CONCLUCIONES
EL modulo de captura de entrada se usa bsicamente en aplicaciones que se requieran control de frecuencia y medida de pulsos, asi como en fuentes adicinales de interrupciones externas.

También podría gustarte