Mejoras: Software DSP – HAL Timer

Este módulo tiene por objetivo administrar el temporizador del sistema. Permite controlar además el momento de ejecución de los demás módulos.

Para ello maneja la única interrupción de todo el sistema, cuya función es incrementar un contador de 32 bits. Durante su proceso de inicialización configura uno de los temporizadores del sistema para generar una interrupción cada 100µS.

En este módulo, se mantiene un registro interno con el valor del temporizador al momento de la última ejecución de cada uno de los demás módulos. De esta manera, cuando llega el momento de ejecutar nuevamente un módulo, se activa una señal que es leída externamente para concretar su ejecución. Posteriormente, se notifica esta acción para registrar el nuevo valor del temporizador y repetir el proceso. No todos los módulos requieren la misma resolución temporal. Por ejemplo, el módulo que realiza el control de corriente se ejecuta cada 500µS, mientras que el módulo de comando, menos crítico para el sistema, se ejecuta cada 10mS.

La interfaz de este módulo permite leer el valor del temporizador y acceder a la función que realiza diferencias entre dos marcas de tiempo, la cual maneja adecuadamente el caso de un desbordamiento en el contador de 32 bits. Con esto es posible medir intervalos de tiempo fuera de este módulo de manera sencilla.

Agregar comentario

Categorías

Enlaces

Estadísticas


eXTReMe Tracker