Está en la página 1de 10

Hardware Libre: la Tarjeta Skypic, una Entrenadora para Microcontroladores PIC

Juan Gonzlez-Gmez1 y Andrs Prieto-Moreno Torres2 a o e


1

Escuela Politcnica Superior, Universidad Autnoma de Madrid, e o juan.gonzalez@uam.es 2 Ifara Tecnolog as, andres@ifara.com

Resumen Las ideas del software libre se estn extendiendo a otros a ambitos. Uno de ellos es el hardware. En este art culo presentamos una tarjeta libre, para desarrollo de proyectos con microcontroladores PIC. Es hardware libre, por lo que cualquiera la puede utilizar, estudiar, fabricar, modicar, distribuir y redistribuir las modicaciones. Las aplicaciones principales son la robtica y la docencia, aunque se puede utilizar en o cualquier proyecto donde se requiera un microcontrolador. Los diseos n de hardware libre presentan muchas ventajas para la sociedad, siendo la mayor de ellas el aumento del conocimiento tecnolgico: estn ah no o a slo para ser usados, sino para que cualquiera pueda comprender su funo cionamiento interno.

1.

Introduccin o

El software libre ofrece al usuario cuatro libertades: libertad de uso, de estudio y modicacin, de distribucin, y de redistribucin de las mejoras. Existen o o o licencias que las garantizan y que dan una cobertura legal, como por ejemplo la GPL. Estas ideas se pueden aplicar a otros campos, como el del diseo hardware, n dando lugar a lo que se conoce como hardware libre o hardware abierto[1]. No existe una denicin universalmente aceptada de hardware libre, ni tamo poco est disponible una licencia similar a la GPL. El criterio que hemos seguido a es el propuesto en[1], que considera que un diseo hardware es libre siempre y n cuando se garantice que las mismas libertades del software libre se aplican a los cheros fuente de los planos hardware: esquemtico, PCB (Printed Circuit a Board ) y chero gerber para fabricacin industrial. o Los microcontroladores PIC, de Microchip, son muy populares y cada vez se utilizan en ms desarrollos. Estn muy extendidos en la robtica, usndose para a a o a gobernar tanto pequeos robots mviles[2,3] como prototipos de robots modulan o res recongurables [4]. Su reducido coste y los diferentes encapsulados en que se distribuyen, los hacen muy atractivos para la construccin de tarjetas entrenadoo ras, de tipo industrial o prototipos, realizadas por empresas[5], universidades[6,7] o particulares[8,9,10].

La tarjeta Skypic[11] es una entrenadora de propsito general, para trabajar o con los microcontroladores PIC de 28 pines. Y es hardware libre en el sentido antes indicado: estn disponibles todos los cheros fuente de los planos y se a conceden permisos para utilizarla, fabricarla, modicarla y distribuirla. En este art culo se describen las caracter sticas tcnicas de esta tarjeta, sus e aplicaciones principales y se discuten las repercusiones ms importantes que a tienen los diseos libres, tanto para las empresas como para la sociedad. n

2.

Caracter sticas tcnicas e


Puerto B Conexion de Servos Reset

Puerto de Prog

Pulsador Puerto C pruebas

Puerto A

ICD2

RS232

Alimentacion

Figura 1. Descripcin de los componentes de la Skypic o

La tarjeta Skypic permite ejecutar programas en cualquier microcontrolador PIC de 28 pines, aunque se diseo para el modelo PIC16F876. Contiene slo la n o electrnica indispensable para que el microcontrolador pueda funcionar, por lo o que tiene unas reducidas dimensiones: 80x65mm. A travs de cuatro conectores e acodados para cable plano, se tiene acceso a todos los pines del Pic. Las caracter sticas principales se muestran en el cuadro 1 y la disposicin de o los componentes en la gura 1. Los PIC son microcontroladores de tipo RISC, de 8 bits, que incorporan perifricos muy diversos: temporizadores, unidades de comunicaciones serie s e ncronas y as ncronas, bus CAN, USB, conversores A/D, comparadores, etc, por lo que se adaptan a una gran variedad de aplicaciones. En el cuadro 2 se han resumido las caracter sticas del modelo Pic16F876. La programacin del pic se realiza in circuit, por lo que no es necesario o extraerlo del zcalo. Se puede emplear bien el grabador ICD2 de Microchip, o o bien otra tarjeta Skypic con un software de grabacin (ver apartado 4). o

Tarjeta Skypic Conector para grabar desde el ICD2 de Microchip Conector telefnico para la conexin RS232 con el PC o o Led y pulsador para realizar pruebas Puerto para programacin directa desde la tarjeta CT6811 u otra Skypic o Puertos A,B y C accesibles mediante conector acodado de 10 v as Conexin directa de 8 servos compatibles Futaba o Cuadro 1. Caracter sticas de la tarjeta Skypic

PIC16F876 Microprocesador Risc de 8 bits Frecuencia de Reloj: 4Mhz Temporizador de 8 bits y uno de 16 bits Dos unidades de captura, comparacin y PWM o Buses s ncronos I2C y SSP Unidad de comunicaciones serie as ncrona 8 canales A/D de 10 bits Programacin in circuit (ICSP) o Memoria Flash de 8Kb y SRAM de 368 bytes Memoria eeprom de 256 bytes Cuadro 2. Caracter sticas del microcontrolador PIC16F876

3.

Planos

Siguiendo los criterios establecidos en [1], consideraremos que un hardware es libre si estn disponibles los cheros fuentes de los planos. Nos referimos a a los cheros originales que utiliza el diseador para la especicacin del hardware n o y que cualquier otra persona los pudiese abrir con la misma u otra herramienta de diseo. Una placa de la que slo se dispongan sus planos en algn formato n o u no editable, como por ejemplo PDF, no se considerar libre. a Uno de los problemas que aparecen es la falta de un estndar abierto para la a especicacin de estos planos. Existen herramientas profesionales muy potentes o (propietarias) cada una con su propio formato. Puede surgir la duda de si un diseo hardware realizado con un programa propietario se puede considerar libre. n En nuestro caso, basndonos en criterios prcticos, consideramos que ser libre a a a si se ofrecen las cuatro libertades del software libre, independientemente de la herramienta empleada (esto se discuti en [1]). o La Skypic se ha diseado con el programa Eagle[12], que no es libre, pero es n multiplataforma (existen versiones para Linux, Max y Windows) y hay disponibles versiones de evaluacin, de duracin ilimitada que se pueden descargar de o o la web (de hecho, el eagle est en el repositorio non-free de Debian). Todos los a planos se pueden descargar de [11]. En la gura 2 se muestra el esquema completo.

VCC +5v GND

Power
U2 MAX232

CT5 VCC GND V+ V16 15 C6 2 6 14 7 13 8 C8 GND Gra Ent Prog JP3 VCC 3 2 1

VCC

VCC

1 C5 3 4 C7 5 11 10 12 9 T2 6 5 4 3 2 1 PC

C1+ C1C2+ C2-

1 2 3

1uF

C4

C3

100n

3 2 1
Hembra JACK

IN1(T) OUT1(R) IN2(T) OUT2(R) OUT3(T) IN3(R) OUT4(T) IN4(R)

+12V GND 10K R1

PIC

RXPC GND DTR TXPC JP6 DTR

5 3 1

GND

4 2

Puerto B

CT3

1 2 3 4 5 6 7 8 9 10
Puerto C

C1 C3 C5 C7 C6 C4 C2 C0

GND

B7 B6 B5 B4 B3 B2 B1 B0

8 7 6 5 4 3 2 1

S8 S7 S6 S5 S4 S3 S2 S1 6V

VCC CT6 Servos 2 1 GND

ICD2

JP7 SV5 1 2 3

GND GND

2/16/2005 13:24:22 f=0.67 /home/juan/tmp/skypic.sch (Sheet: 1/1)

17

Top view

Figura 2. Esquema de la tarjeta Skypic

VCC

B1

L1 LED A K LED de salida

1 2 3

1 2

R11 330 A GND + k -

JP2 S2 3 4 Reset 1 2
PICXXX

GND

Pulsador Reset 10k R3

GND
b TRT2 SC107

c e b TRT1 SC107

c e

Circuito de reloj X1 1 4Mhz 2

VCC GND
CT1

R2 10K

GND

B0

C1 22pF

C2 22pF

1 2

1 2 3 4 5 6 7 8 9 10 11 12 13 14

#MCLR/VPP RA0/AN0 RA1/AN1 RA2/AN2/VREFRA3/AN3/VREF+ RA4/TOCKI RA5/AN4/#SS GND OSC1/CLKIN OSC2/CLKOUT RC0/T1OSO/T1CKI RC1/T1OSI/CCP2 RC2/CCP1 RC3/SCK/SCL
PIC

RB7/PGD RB6/PGC RB5 RB4 RB3/PGM RB2 RB1 RB0/INT VCC GND RC7/RX/DT RC6/TX/CK RC5/SD0 RC4/SDI/SDA

28 27 26 25 24 23 22 21 20 19 18 17 16 15

VCC

R13 4K7 3 4

S1

Pulsador 1 2

JP1 VCC GND

Pulsador de entrada 1 GND


Prog

1 2 3 4 5 6 7 8 9 10
Puerto A

A1 A3 A5

GND

GND

BUS:A[0..5],B[0..7],C[0..7] PA4 SKY ICD JP5 PA7 PA3

A4 A2 A0

CT2

10 9 8 7 6 5 4 3 2 1
CT4

5 6

4 7

3 8

2 9

1 10

1 2 3 4 5 6 7 8 9 10

4K7

R4

B1 B3 B5 B7 B6 B4 B2 B0

SKY/ICD SKY ICD JP4 1 2 3 4 5 6

1 2 3

1 2 3

T1

4.

Software

Para la programacin de aplicaciones en la Skypic se puede utilizar cualquieo ra de las herramientas de desarrollo para Pics. Microchip ofrece las aplicaciones ociales, que son propietarias y slo estn disponibles para plataformas Wino a dows. La comunidad ha creado sus propias herramientas libres, compatibles con las de Microchip. Entre ellas destacan las utilidades de GNU: gputils[16], que incluye un ensamblador y un enlazador entre otras. Para la simulacin se puede o emplear gpsim[17] y para la programacin en C el compilador sdcc[18]. Tambin o e existe un entorno de programacin PikDev [19], en el que est todo integrado o a (editor, ensamblador, enlazador, programador, etc). La Skypic se ha diseado para que la grabacin in-circuit de los programa n o ejecutables en la memoria ash del PIC se pueda realizar de diferentes maneras: Entorno Mplab y programador ICD2, de Microchip Programa Icprog, para Windows, y cable de conexin paralelo para la Skypic o [20]. Entorno PikDev, para Linux, y cable de conexin paralelo para la Skypic o En [21] planteamos un mtodo de grabacin alternativo, a travs del puerto serie e o e estndar del PC, que permite utilizar la propia Skypic como si fuese un grabador, a similar al ICD2 de Microchip (aunque sin la opcin de depuracin). Para ello o o son necesarias dos tarjetas Skypic. Una que funcionar como grabadora, con a el servidor picp[22] en la ash, y la otra es la que se graba. La herramienta skypic-down[23], disponible para Linux bajo licencia GPL, permite escribir los programas en la ash. Este sistema de grabacin tiene la ventaja de ser totalmente independiente o de las caracter sticas del PC empleado. La temporizacin se realiza en el pic del o grabador. El PC slo tiene que enviar la informacin a travs del puerto serie, a o o e una velocidad estndar de 9600 baudios. a

5.

Aplicaciones

La Skypic es una tarjeta de propsito general, muy util en la construccin o o de prototipos. Una de las aplicaciones para la que fue creada es la construccin o de microbots, pequeos robots que la incorporan como cerebro, como por n ejemplo el robot seguidor de l nea Skytritt (gura 3), una variante del robot abierto Tritt[13]. Los servomecanismos del tipo Futaba 3003 o compatibles se conectan directamente, lo que es muy util para el diseo y prueba de robots articulados. El n programa star-servo8[14], para Linux, permite controlar hasta 8 servos desde el PC, pudiendo generar secuencias de movimiento para los robots articulados. Otro ambito de aplicacin es el docente. Se puede utilizar en laboratorios o de arquitectura de computadores, sistemas digitales o robtica. Los alumnos o no slo se limitar a usar la placa (libertad 0), sino que tambin la pueden o an e

Figura 3. El microbot Skytritt, que utiliza la tarjeta Skypic como cerebro

estudiar (libertad 1) o modicar (libertad 2) para adaptarla a sus propios diseos. n Tambin se puede tomar de ejemplo para aprender a disear placas industriales, e n obteniendo la informacin sobre su tecnolog de fabricacin: anchura de las o a o pistas, dimetro de los pads, planos de masa, serigraf etc. a as, Sin embargo, la mayor utilidad est en el diseo de prototipos. Al ser hardwaa n re libre, no es necesario reinventar la rueda, diseando el sistema desde cero. n Es mejor opcin partir de algo que ya funciona y adaptarlo a tus necesidades, o ahorrando tiempo y reduciendo costes. Esto es lo que se ha hecho en el proyecto Chronojump[15], en el que se est diseando un sistema software y hardware para la medicin de los tiempos a n o de vuelo de diferentes saltos realizados por deportistas, para conocer su estado de forma, la ecacia de un entrenamiento, la evolucin del deportista, etc. Para la o creacin del prototipo hardware se est empleando una Skypic, que ms adelante o a a se modicar para adaptarla a las necesidades concretas del proyecto. Si no a fuese hardware libre las dos unicas opciones que se tendr ser an an: 1) disear el n hardware desde cero, 2) Adaptar el proyecto al hardware existente en el mercado.

6.

Por qu hardware libre? e

Un diseo libre lo puede fabricar, distribuir y vender cualquier empresa o n persona. Esto cambia las reglas del juego. Analicemos algunas de las ventajas: Adaptar, no reinventar. En el mundo hardware, siempre se disea desde n cero, reinventndose constantemente la rueda. El conocimiento slo est disa o a ponible en el seno de las empresas fabricantes y slo est accesible para sus o a

ingenieros, que adems tienen que rmar contratos de condencialidad. El a hardware libre permite que cualquiera pueda abordar proyectos complejos, adaptando el hardware existente. Hay ahorro de tiempo y dinero. Mayor perdurabilidad en el tiempo. Los diseos libres son independienn tes del fabricante. Si la empresa suministradora decide abandonar la fabricacin, se puede buscar otra, contratar a alguien para que lo haga o bien o hacerlo nosotros mismos. Deja de tener sentido la frase ya no se fabrica ese hardware. Monopolios no, competencia s El hardware libre garantiza la no exis. tencia de monopolios. Cualquier empresa o particular puede fabricarlo (siempre que tenga los conocimientos y la experiencia). Aumento del conocimiento tecnolgico. Se introduce una nueva dimeno sin en el conocimiento. Los aparatos electrnicos no slo estarn para ser o o o a usados, sino tambin para ser comprendidos y modicados. El efecto lo uso e pero no lo entiendo desaparece. Los benecios para la sociedad son claros, sin embargo surge la pregunta: Por qu una empresa va a regalar su conocimiento gratis para que los competie dores se aprovechen de l?. e Los autores no tenemos la respuesta y slo el tiempo podr decir si el modelo o a basado en el conocimiento libre triunfar. El hardware libre est en paales y a a n hoy en d la respuesta de una empresa a la pregunta anterior ser un rotundo a, a no. La misma respuesta que hubiesen dado las empresas de software hace diez aos. Actualmente, ya existen empresas que estn liberando cdigo. Podemos n a o esperar un comportamiento similar a largo plazo con el hardware libre? Al d de hoy, las ventajas que obtendr una empresa por liberar hardware a a podr ser: prestigio y reconocimiento de la comunidad, publicidad, aumento de an la motivacin de los diseadores, captacin de desarrolladores que se involucren o n o en nuevas versiones del hardware, aparicin de software libre alrededor de ese o hardware, etc.

7.

El Futuro del hardware libre

Un campo especialmente activo es el del hardware recongurable[1], aquel que se puede describir utilizando un lenguaje de descripcin hardware, como o VHDL o Verilog entre otros. Este hardware tiene la caracter sticas de ser similar al software. Los diseos quedan perfectamente denidos mediantes unos cheros n fuentes que se pueden compilar, simular, sintetizar y descargar en una FPGA. La licencia GPL se puede aplicar. Existen muchos diseos libres de este tipo y estn surgiendo comunidades n a muy importantes, como OpenCores[24]. Tambin existen proyectos de gran ene vergadura como es el procesador Sparc LEON[25], diseado por la agencia espan cial europea (ESA) y distribuido bajo licencia GPL. El futuro del hardware esttico, el discutido en este art a culo, es ms incierto. a Hasta ahora, no exist herramientas profesionales libres comparables a las an

propietarias. Los pocos diseos libres que hab estaban diseados cada uno n a, n con una aplicacin diferente, lo que dicultaba su comparticin. Sin embargo, o o hace poco han liberado Kicad[26], muy similar al Eagle. Es una herramienta muy prometedora que puede conseguir que su formato se convierta en un estndar a para los planos electrnicos. o El impulso del hardware libre lo deben dar los miembros de la comunidad: los propios usuarios. No podemos esperar por el momento que las empresas liberen su hardware. Sin duda ser un proceso lento, pero tenemos como referencia la a evolucin del software libre. o

8.

Conclusiones y trabajo futuro

En este art culo hemos presentado la tarjeta Skypic, una entrenadora para microcontroladores Pic, que tiene una licencia de hardware libre. Los cheros fuentes de los planos estn disponibles y se conceden permisos para su uso, a estudio, fabricacin, modicacin y redistribucin de las mejoras. o o o Las aplicaciones principales son la robtica y la docencia. Tambin resulta o e muy util en la realizacin de proyectos que requieran el uso de un microprocesa o dor. En vez de disear el sistema desde cero, se puede usar la Skypic y adaptarla n a las necesidades concretas. Un ejemplo es el proyecto Chronojump. El hardware libre ofrece una serie de ventajas a la sociedad, siendo quizs la a ms importante el aumento del patrimonio tecnolgico, en el sentido de apora o tar no slo un nuevo instrumento, sino el conocimiento de cmo est realizado. o o a Actualmente, los diseos libres (de tipo esttico) son escasos y no existe n a todav la suciente masa cr a tica. No obstante, la idea tiene el potencial suciente como para que se vaya extendiendo. Una sociedad tecnolgica como la nuestra, no debe caracterizarse slo por la o o existencia de gran cantidad de aparatos o cajas negras que todo el mundo usa pero que pocos conocen sus detalles internos. El hardware libre es otra pieza ms hacia la sociedad del conocimiento libre que muchos deseamos. a Como trabajo futuro evaluaremos la herramienta libre de diseo electrnico n o Kicad y la utilizaremos para rehacer los planos de la Skypic, consiguiendo as una placa que adems de ser libre, est diseada a e n ntegramente con software libre.

Agradecimientos
Queremos agradecer a la empresa Ifara Tecnolog la nanciacin de la prias o mera tirada de PCBs de la Skypic. Valoramos muy positivamente el que haya empresas que estn dispuestas a dar una oportunidad a las nuevas ideas. e

Referencias
1. I. Gonzlez, J. Gonzlez, F. Gmez-Arribas (2003),Hardware lia a o bre: clasicacin y desarrollo de hardware recongurable en eno tornos GNU/Linux. VI Congreso de Hispalinux. [En l nea]

2.

3.

4.

5.

6.

7.

8.

9.

10. 11.

12. 13. 14.

15. 16. 17. 18.

http://www.iearobotics.com/personal/juan/publicaciones/art4/index.html. (consulta 10-Feb-2005). Organizacin Hispabot. KIT de microrrobot velocista para talleres de introduco cin a los microrrobots. Seminario Hispabot 2003, Alcal de Henares, Madrid, o a Mayo 2003. D. Amor, J.M. Castro, J. Donate, A. Gutierrez, I. Navarro. PI y TC-EPI: Una nueva iniciativa de hardware abierto orientado a la formacin de la robtica mvil. o o o Seminario Hispabot 2003, Alcal de Henares, Madrid, Mayo 2003. a Mdulos G1v4 del robot Polybot, en el PARC (2002). [En l o nea] http://www2.parc.com/spl/projects/modrobots/chain/polybot/g1v4.html (consulta 10-Feb-2005). Tarjeta Micropic Trainer, desarrollada por la empresa Microsystems Engineering. [En l nea] http://www.pacalaconcurso.com/modules.php?name=News&le=article&sid=6 (consulta 18-Feb-2005). I. Bravo, O. Durn, M.A. Garc J.L. Lzaro, E. Mart M. Marrn, Programaa a, a n, o cin en placa de dispositivos PIC. Seminario Hispabot 2003, Alcal de Henares, o a Madrid, Mayo 2003. Tarjeta entrenadoras PICMIN y PICUPSAM, prototipos empleados para la docencia de la asignatura Laboratorio de Arquitectura de computadores en la UPSAM. [En l nea] http://www.iearobotics.com/personal/andres/proyectos/picmin/pic1.html. (consulta 18-Feb-2005). Placas Fast-pic y Power-pic, diseadas por V n ctor Apstigue Palacio. [En l e nea] http://www.terra.es/personal5/cuchomen1/Micros/micros.htm (consulta: 18-Feb2005). Alejandro Alonso Puig, Diseo de un servomotor controlado por n bus I2C mediante microcontrolador PIC de gama media. [En l nea] http://www.mundobot.com/tecnica/Svd01/Svd01.htm (consulta: 18-Feb-2005). Tarjetas X-PIC y X-BOT. Alberto Calvo torrijos y Daniel Alvarez Snchez. [En a l nea] http://wwww.x-pic-system.tk/ (consulta 18-Feb-2005). Tarjeta entrenadora Skypic. [En l nea] http://www.iearobotics.com/proyectos/skypic/skypic.html. (consulta: 10-Feb2005). Programa de diseo electrnico Eagle, de la empresa CadSoft. [En l n o nea] http://www.cadsoft.de/ (consulta: 18-Feb-2005). Microbot Tritt. [En l nea] http://www.iearobotics.com/proyectos/tritt/tritt.html (consulta: 10-Feb-2005). Programa de manejo de servos desde el PC: star-servos8. [En l nea] http://www.iearobotics.com/proyectos/stargate/clientes/star-servos8/starservos8.html (consulta: 17/Feb/2005). Proyecto Chronojump. Albergado en Software-libre.org. [En l nea] http://chronojump.software-libre.org/ (consulta: 18-Feb-2005). GPUTILS. Utilidades GNU para los PIC. [En l nea] http://gputils.sourceforge.net/ (consulta: 18-Feb-2005). GPSIM. Simulador GNU para los PIC. [En l nea] http://www.dattalo.com/gnupic/gpsim.html (consulta: 18-Feb-2005). Programa SDCC (Small Device C Compiler). Compilador de C para diversor microcontroladores de 8 bits, entre ellos los PIC. [En linea] http://sdcc.sourceforge.net/ (consulta: 18-Feb-2005).

19. Entonrno de desarrollo PiKdev. [En l nea] http://pikdev.free.fr/ (consulta: 18-Feb2005). 20. Ricardo Gmez o Gonzlez. a Manual para grabar la SKYPIC desde el puerto paralelo con el ICPROG. [En l nea]. http://www.iearobotics.com/proyectos/skypic/docs/conf icprog.html (consulta 17-Feb-2005). 21. Juan Gonzlez, Andrs Prieto-Moreno, Herramientas hardware y softa e ware para el desarrollo de aplicaciones con Microcontroladores PIC bajo plataformas GNU/Linux, III Jornadas de Software Libre, Universidad Ponticia de Salamanca en Madrid. Mayo 2004. [En l nea] http://www.iearobotics.com/personal/juan/publicaciones/art5/index.html (consulta: 18-Feb-2005) 22. Servidor de grabacin para microcontroladores pic. [En l o nea] http://www.iearobotics.com/proyectos/stargate/servidores/sg-picp/sg-picp.html (consulta: 17-Feb-2005). 23. Skypic-down. Cliente de grabacin de microcontroladores pics, para Lio nux [En l nea]. http://www.iearobotics.com/personal/juan/proyectos/skypicdown/skypic.html (consulta: 17-Feb-2005). 24. OpenCores. Cores libres. [En l nea] http://www.opencores.org/ (consulta: 18-Feb2005). 25. Procesador Sparc LEON2. [En l nea] http://www.gaisler.com/products/leon2/leon.html (consulta: 18-Feb-2005). 26. Programa profesional y libre de diseo electrnico: KICAD. [En l n o nea] http://www.lis.inpg.fr/realise au lis/kicad/ (consulta: 18-Feb-2005).

También podría gustarte