jueves, 11 de octubre de 2007

El software

La única parte software del Latinómetro será el firmware que ejecutará el microcontrolador. Su desarrollo se realizará en C, utilizando el compilador integrado en el IDE de desarrollo de CCS.

El firmware deberá ser actualizable por lo que es necesario utilizar un bootloader; como de costumbre usaremos el Colt Bootloader que tan buen resultado ha dado en otras ocasiones.

El bootloader usa para cargar el firmware la UART hardware del microcontrolador, lo que implica utilizar un driver TTL/RS-232, usualmente un MAX232A, para obtener así un puerto serie RS-232 totalmente operativo tanto para actualizar el firmware, como para el diálogo (entrada/salida) con el dispositivo en funcionamiento.

El 18F2550 cuenta únicamente con una UART hardware, que al disponerla como entrada/salida del dispositivo impediría utilizarla para la conexión con el GPS. En este punto hay varias opciones, la más "fácil" es utilizar una UART emulada por software, ya que el dialogo con el GPS se realiza únicamente a 4800bps, pero al no ser estrictamente necesario usar la conexión de entrada/salida y la conexión con el GPS de forma simultanea, existe la posibilidad de utilizar la misma UART hardware para las dos conexiones mediante el cambio de las líneas de I/O. La conexión con el GPS se realizará también a niveles RS-232 aprovechando así los 4 drivers del MAX232A. Esta es una opción interesante que al menos probaremos.

El diálogo con el MAX7219, el controlador de los displays numéricos, se realiza mediante un protocolo serie de tres líneas (3-wire) algo diferente al SPI de su hermano gemelo el MAX7221 y cuyo driver posee implementado por hardware el 18F2250, pero al ser menos común es más caro y difícil de encontrar, y la implementación por software del 3-wire para "hablar" con el MAX7219 ha resultado bastante sencilla, este es un extracto del archivo "MAX7219.h".

No hay comentarios: