Bloque sensor: Software

Seleccionado el microcontrolador que se empleará en el bloque sensor, resta comenzar a programarlo. Para ello es preciso seleccionar algunos aspectos de la programación del microcontrolador:

Entorno de desarrollo y lenguaje de programación

Como se comentó, el lenguaje de programación que se utilizará es C ya que permite una comprensión del código mejor que ensamblador y una migración del código relativamente fácil para otras familias de microcontroladores y muy fácil para otros modelos de PIC.

Microchip no facilita ningún compilador de C para la familia PIC16 por lo que se debe recurrir a compiladores comerciales o libres. Existen diversos compiladores de C y entornos de desarrollo, a destacar:

  • CCS: Disponen de una versión de demo por 30 días además limitado. Como ventaja, incluye diversas bibliotecas que facilitan la programación pero el C que implementa no cumple completamente con el estándar ANSIC.
  • HI-TECH PICC: Dispone de una versión gratuita (LITE) la cual puede programar sin restricciones todos los microcontroladores de las familias PIC10/12/16. También disponen de una versión de evaluación sin restricciones de 45 días de su versión PRO la cual se diferencia de la LITE en que incluye un optimizador de código que, según dicen, mejora el código un 50%. Este compilador incluye un entorno de programación (IDE) gratuito basado en Eclipse, por lo que tanto el compilador como el entorno son multiplataforma.
  • Como alternativa libre, existe un porting a la familia PIC16 del compilador libre GCC hecho por Pedro José Ramírez Gutiérrez, estudiante de la Universidad de Málaga.

Pese a existir otros compiladores, no disponen de versiones de evaulación ilimitadas como PICC-PRO o gratuitas como PICC-LITE ni mucho menos libres. Es por esto que de entre las alternativas expuestas, el compilador PICC y el porting son las mejores soluciones.

Mi experiencia programando PIC es nula por lo que el entorno de desarrollo del que dispone el compilador PICC ayudará, ya que, entre otras cosas, permite simular el código. Entonces, se utilizará para el proyecto la versión de evaluación del compilador PICC-PRO dado que 45 días son más que suficientes para realizar el código. No obstante, una vez realizado el código y ganada expieriencia en la programación de PIC, se intentará migrar al porting de GCC dada su gran ventaja que es la libertad.

Programador

Dado que no se dispone de un programador de PIC, se deberá realizar uno o adquirirlo. Como se utilizará para el módulo maestro un PIC de la familia 18, el programador deberá ser capaz de programar ambos. El programador económico de Microchip (37.9€ en Farnell) PicKit2, soporta las familias PIC10/12/16/18/24 dsPIC30/33/32. Microchip facilita el esquemático y el firmware (en binario) del programador pero la compra de los componentes tiene aproximadamente el mismo coste que el programador por lo que se adquirirá.

El programador se muestra en la imagen de la derecha. Utiliza la programación en circuito (ICSP) utilizando dos líneas y el reset, permitiendo también el depurado en circuito (ICD) para los microcontroladores que lo permitan. Mediante el software que incluye se puede utilizar el programador como analizador lógico para bajas tasas de bits y como puerto serie.

Para programar un dispositivo, las líneas que se deben conectar al microcontrolador se muestran en el esquema siguiente:

Referencias

Microchip PICkit 2 Programmer/Debugger User's Guide.

No hay comentarios: