Escribo esta respuesta asumiendo que tiene conocimientos básicos de microcontroladores y sistemas integrados.
- Seleccione un pin en su microcontrolador que tenga funcionalidad de interrupción. Vas a conectar tu señal de entrada a este pin.
- Inicialice el controlador habilitando una interrupción de borde ascendente en el pin.
- En el borde ascendente ISR:
- Enciende un temporizador. Debe saber la duración máxima del temporizador. Asociar una interrupción al temporizador.
- Deshabilite la interrupción de borde ascendente y habilite una interrupción de borde descendente en el mismo pin.
- Cuando el temporizador se desborda, en el temporizador ISR incrementa una variable de desbordamiento.
- Cuando se produce la interrupción del borde descendente:
- Inhabilite el temporizador y recupere su conteo y conviértalo en tiempo. Multiplique la duración total del temporizador por el número almacenado en la variable de desbordamiento. Agregue este valor al tiempo que obtuvo después de recuperar el conteo del temporizador para obtener el tiempo.
- Inhabilite la interrupción del borde descendente y vuelva a cambiar el nombre de la interrupción del borde ascendente. Inicialice el desbordamiento y la variable del temporizador a cero y estará listo para su próximo pulso.
Les dejo que descubran cómo configurar el temporizador y la interrupción, y lo mismo se puede hacer leyendo la hoja de datos. También es posible que tenga que considerar muchas condiciones como la anidación de interrupciones. Por ejemplo, un desbordamiento que ocurre cuando su código está en el ISR de borde descendente, etc.
Ahora que se conoce la lógica, espero que pueda desarrollar su propio programa.
- ¿Dónde estará presente el microcontrolador en la FPGA?
- ¿Cuáles son los libros que necesito leer antes de leer la hoja de datos de los microcontroladores y programar el sistema integrado?
- ¿Cuáles son las mejores prácticas de diseño de sistemas integrados?
- ¿Hay algún microcontrolador que podamos codificar en Python?
- ¿Cuáles son las perspectivas de los sistemas integrados con respecto a la tendencia de la Industria 4.0?
Feliz codificación !!!