Mejoras: Software DSP – Módulo de Comandos

Este módulo de alto nivel tiene por objetivo interpretar y ejecutar los comandos recibidos desde el módulo HAL Serial. Para ello implementa una serie de máquinas de estado que, ayudadas por la estructura de los comandos, distribuyen su decodificación y procesamiento en varios ciclos de ejecución. De esta manera, un único comando tardará varios ciclos de ejecución del programa principal en ser completamente contestado, distribuyendo temporalmente la carga de esta tarea de menor prioridad en la CPU del DSP.

El Módulo de Comandos puede realizar 3 tipos de tareas determinadas por el código de operación del comando recibido: las tareas de lectura de un parámetro desde el vehículo, su escritura o la ejecución de una orden. Se discriminan interpretando los primeros dos bits del código de operación tal como se muestra en la Tabla 4.3.

Código de Operación Tipo de Acción
00XXXXXX No especificada
01XXXXXX Escribir Parámetro
10XXXXXX Leer Parámetro
11XXXXXX Ejecutar Orden

Tabla 4.3: Decodificación básica del código de operación.

Además del procesamiento de comandos individuales, el módulo posee un modo de flujo para ciertos comandos de lectura, en el cual un cliente solicita al DSP el envío de uno o más parámetros de forma continua, permitiendo monitorear en tiempo real variables como las lecturas de los instrumentos, corriente en los motores, etc. En este modo, el Módulo de Comandos enviará en cada ejecución un valor por el puerto serie hasta recibir un nuevo comando, el cual automáticamente detendrá el flujo, cualquiera que este sea.

Figura 4.18: Diagrama de estados del Módulo de Comandos.

En la Figura 4.18 se muestra el diagrama de estados del Módulo de Comandos de forma simplificada. El estado inicial es el de recepción que consulta al módulo HAL Serial por la llegada de algún comando. Luego de la recepción se realiza la decodificación y se deriva a la función correspondiente que terminará de decodificar el comando, realizando la acción específica y devolviendo siempre una respuesta por el puerto serie con el mismo código de operación e identificador para indicar al cliente que su solicitud ha sido atendida. En cada proceso de interpretación es posible pasar al estado de envío de mensaje de error si no se reconoce el código de operación.

Agregar comentario

Categorías

Enlaces

Estadísticas


eXTReMe Tracker