1 Introducción

Los microcontroladores PIC, de Microchip[1], se están popularizando y cada vez se utilizan en más desarrollos. Están muy extendidos en la robótica, usándose para gobernar tanto pequeños robots móbiles[2,3,4] como prototipos de robots modulares reconfigurables[5]. Su reducido cote1 y los diferentes encapsulados en que se distribuyen, los hacen muy atractivos para la construcción de tarjetas entrenadoras, de tipo industrial o prototipos, realizadas por empresas[6], universidades[7,8] o particulares[9,10].

También se están empleando en asignaturas teóricas y laboratorios de diferentes universidades Españolas, como ``Sistemas informáticos II''en la Universidad de Huelva[11], ``Componentes Electrónicos'' (Universidad de Oviedo)[12], "Informática Industrial" (Universidad de Sevilla)[13], "Diseño de Sistemas Basados en Microprocesador" (Universidad Palmas Gran Canarias)[14], "Laboratorio Sistemas Digitales" (Escuela Superir de Ingenieros de Bilbao)[15], ``Diseño automático de sistemas digitales'' (ETS Ingeniería informática. Universidad de Granada)[15] o ``Laboratorio de Arquitectura de computadores'' (Universidad Pontificia de Salamanca en Madrid)[17] entre muchas otras.

Existen incluso implementaciones en VHDL[18] y Verilog[19], lo que permite utilizar cores de PICS en FPGAs.


Los PIC son microcontroladores de tipo RISC, de 8 bits, que incorporan periféricos muy diversos: temporizadores, unidades de comunicaciones serie síncronas y asíncronas, bus CAN, USB, conversores A/D, comparadores, etc, por lo que se adaptan a una gran variedad de aplicaciones.

Microchip ofrece gratis el programa MPLAB, un entorno que permite ensamblar y simular el software para el PIC, así como grabarlo en la flash (si se dispone de un grabador). Este programa sólo está disponible para Windows.

En este artículo analizamos las herramientas disponibles para poder trabajar con estos microcontroladores desde plataformas GNU/Linux y describimos el hardware y software desarrollado que nos ha permitido cerrar el ciclo completo de diseño (ensamblar, simular y grabar). Nos hemos centrado en la familia de microcontroladores PIC16F8X y PIC16F87X.

Juan Gonzalez 2004-06-04