Autor Tema: Medición de ancho de pulsos con TGATE  (Leído 3093 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
Medición de ancho de pulsos con TGATE
« en: 14 de Mayo de 2007, 02:51:47 »
Habitualmente medimos el ancho de los pulsos recibidos mediante la interrupción externa y un timer, contando el tiempo transcurrido entre el flanco de subida y el de bajada, lo que nos obliga a hacer un tratamiento de los datos en la propia interrupción.

En este truco os explicaré otro método, utilizando la técnica Timer Gate Accumulation; una prestación de los Timer que nos hace olvidarnos de la interrupción externa y nos entrega el resultado ya hecho.

Este esquema es el Timer de un dsPIC33F, pero tiene pocas diferencias con el resto de los PIC. Si te fijas, hay un recuadro llamado Gate Sync y una señal de control llamada TGATE.


Cuando hacemos TGATE=1 y TCS=0 estamos configurando el multiplexor de entrada del Timer para que reciba los pulsos a través del Gate Sync, que hace un AND con la señal Tcy (frecuencia de oscilación del micro).

¿En qué se traduce esto?, pues en que con cada pulso recibido, el micro se pone a contar Tcy como un loco, a la frecuencia de instrucciones que esté configurado. Lo vemos mejor con este gráfico:


Obviamente, si queremos saber el ancho de pulso, sólo tenemos que ver el resultado del recuento del Timer y ya lo tendremos.

Espero que podáis aprovechar esta técnica; yo he implementado un lector de PWM con ella y funciona estupendamente.

Hay una copia de este artículo en MicroPIC, aquí: Medición de ancho de pulso con TGATE


Desconectado Azicuetano

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1020
    • Aplicaciones Electrónicas en Alicante.
Re: Medición de ancho de pulsos con TGATE
« Respuesta #1 en: 14 de Mayo de 2007, 04:07:07 »
Jejeje... muy buen truco. Me lo apunto!  :D


Un saludo desde Alicante.

Desconectado MGLSOFT

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 7918
Re: Medición de ancho de pulsos con TGATE
« Respuesta #2 en: 14 de Mayo de 2007, 08:14:06 »
Hay algun ejemplo en C? :mrgreen: :mrgreen: :mrgreen:
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
Re: Medición de ancho de pulsos con TGATE
« Respuesta #3 en: 14 de Mayo de 2007, 09:18:04 »
Disculpad que haya movido el hilo, pero pensé que el modo "Timer accumulation gate" era una característica común en todos los PIC, y resulta que sólo la tienen los 30F, 33F, 24F y 24H.

Prepararé un ejemplito, Marcos.

Desconectado MGLSOFT

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 7918
Re: Medición de ancho de pulsos con TGATE
« Respuesta #4 en: 14 de Mayo de 2007, 14:34:36 »
Los PIC18 tampoco la tienen??? :( :( :( :(
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
Re: Medición de ancho de pulsos con TGATE
« Respuesta #5 en: 14 de Mayo de 2007, 17:27:32 »
Pues no, he mirado la data del 18F2550 y no aparece.

Otro argumento para que os vengáis ya a los dsPIC, chavales. Pero mira que os cuesta dar el salto  :-/


 

anything