Mejoras: Software DSP – Administración de Tareas

El software implementado se ejecuta directamente en la CPU del DSP, sin la intervención de un sistema operativo, por lo que se desarrolló una estrategia que permitiera la ejecución de todos los módulos en forma concurrente, administrando el tiempo que la CPU dedica a cada uno.

Dicha estrategia se basa en el uso de un ciclo principal que itera de forma indefinida cuando el sistema está en régimen permanente, realizando secuencialmente la ejecución de cada módulo para luego actualizar una máquina de estados general en cada iteración.

Figura 4.15: Diagrama de flujo general del programa.

En la Figura 4.15 se muestra el diagrama de flujo general del software implementado. Al iniciarse el sistema, comienza la inicialización de cada uno de los módulos a través del llamado a una función de inicialización presente en ellos. Allí se establecen los valores iniciales de las variables y las configuraciones de los periféricos que se utilizarán. Una vez inicializados los módulos, se inicializan las variables del módulo principal, que ejecuta una máquina de estados encargada de administrar los sistemas en su conjunto. Posteriormente se ingresa al ciclo principal que actualiza los módulos llamando la función de ejecución implementada en ellos, la cual realiza sus propios procesos.

Este enfoque posee la ventaja de ser sencillo de comprender e implementar, además de evitar los problemas de sincronización propios de la concurrencia en sistemas operativos ya que, si bien se ejecutan varias tareas de forma concurrente, cada una se realiza mediante actualizaciones secuenciales en las que cada módulo hace uso exclusivo de la CPU sin interrupciones.

Sin embargo, para el éxito de esta estrategia es fundamental cuidar la fluidez de las funciones de ejecución de cada módulo, ya que cualquier ciclo que espere algún evento o pueda caer en ejecución indefinida, detendrá el sistema completo sin posibilidad de recuperación.

Es por este motivo que se prestó especial atención en anular cualquier posibilidad de bloqueo del sistema, debiendo elaborar algoritmos más sofisticados en tareas que involucran la espera de alguna señal, desde algún periférico, como los puertos de comunicación.

El software implementado cuenta con 11 módulos en total, los cuales son:

Sus funciones específicas y el detalle de su implementación se describen en las siguientes secciones.

Agregar comentario

Categorías

Enlaces

Estadísticas


eXTReMe Tracker