Mejoras: Software DSP – HAL Serial

En este módulo se sustenta la comunicación del controlador del vehículo con la pantalla LCD y con el software de supervisión en un computador. Su función básica es manejar el periférico de comunicación serial del DSP.

El protocolo de comunicación desarrollado para el vehículo se basa en comandos contenidos en un paquete de datos de 7 bytes, los cuales son interpretados y respondidos por el DSP. En la Tabla 4.2 se muestra una descripción de la estructura de cada comando.

Byte N° Descripción
1 Código de operación
2 Identificador del paquete
3 Byte de información 1
4 Byte de información 2
5 Byte de información 3
6 Byte de información 4
7 Fin de paquete (255)

Tabla 4.2: Estructura del paquete de datos que conforma cada comando

Cada comando posee un código de operación que determina su función, un identificador único para detectar una eventual pérdida de paquetes y 4 bytes destinados al envío y recepción de datos.

Para la administración del puerto serie del DSP se utiliza un enfoque similar al del módulo HAL Instrumentos, con rutinas que evitan cualquier posibilidad de bloqueo utilizando variables marcadores para indicar la ocurrencia de algún evento en vez de esperar por ellos con el sistema detenido.

La recepción de los comandos desde el exterior se hace leyendo byte a byte la información recibida desde el puerto serie hasta completar un comando completo, el cual es almacenado en una cola que puede guardar hasta 4 comandos a la espera de su procesamiento. La interfaz del módulo provee una función que consulta si existe un comando a la espera de ser procesado y otra que lee el primer comando de la cola. Así mismo, implementa también una función que envía las respuestas de los comandos atendidos, eliminándolos de la cola. Este mecanismo conduce a que sólo un comando pueda ser atendido a la vez, evitando ambigüedades en los demás módulos. Si se reciben comandos con la cola llena, serán ignorados.

Cada comando posee un código de operación que determina su función, un identificador único para detectar una eventual pérdida de paquetes y 4 bytes destinados al envío y recepción de datos.

Para la administración del puerto serie del DSP se utiliza un enfoque similar al del módulo HAL Instrumentos, con rutinas que evitan cualquier posibilidad de bloqueo utilizando variables marcadores para indicar la ocurrencia de algún evento en vez de esperar por ellos con el sistema detenido.

La recepción de los comandos desde el exterior se hace leyendo byte a byte la información recibida desde el puerto serie hasta completar un comando completo, el cual es almacenado en una cola que puede guardar hasta 4 comandos a la espera de su procesamiento. La interfaz del módulo provee una función que consulta si existe un comando a la espera de ser procesado y otra que lee el primer comando de la cola. Así mismo, implementa también una función que envía las respuestas de los comandos atendidos, eliminándolos de la cola. Este mecanismo conduce a que sólo un comando pueda ser atendido a la vez, evitando ambigüedades en los demás módulos. Si se reciben comandos con la cola llena, serán ignorados.

Agregar comentario

Categorías

Enlaces

Estadísticas


eXTReMe Tracker