Proyecto Hardware Abierto

Microbótica S.L.^{∗}

Enero del 2000

Esta ponencia forma parte del III Congreso Hispalinux^{1} virtual, celebrado en

Noviembre de 2000. Puedes participar en él en la sección de eventos de BarraPunto^{2}

Resumen

Existen hoy en día miles de diseños de libre distribución y el Hardware Abierto (HA) busca no solamente hacer más accesible esa información, sino el promover y dotar de marco jurídico al diseño libre con el fin de proteger y alentar a todos los desarrolladores hardware.

Microbótica comienza este proyecto con ganas y con la esperanza de recibir colaboraciones, así como las opiniones de la comunidad de desarrolladores hardware, con el fin de poder ir perfilando poco a poco esta idea para darle fuerza y continuidad.

∗\begin{matrix}c \\ ◯ \end{matrix}Microbótica S.L.. Se otorga permiso para copiar, distribuir y/o modificar este documento bajo los términos de la Licencia de Documentación Libre GNU, Versión 1.1 o cualquier otra versión posterior publicada por la Free Software Foundation. Se considerará como Secciones Invariantes todo el documento, no habiendo Textos de Portada ni Textos de Contra Portada. Puede consultar una copia de la licencia en: http://www.gnu.org/copyleft/fdl.html

   1http://congreso.hispalinux.es
   2http://barrapunto.com/eventos

1 Introducción

Con este proyecto, buscamos llevar las teorías de la Free Software Foundation, la licencia GPL y los modelos de negocio al campo del hardware. A este proyecto lo hemos llamado Hardware Abierto (HA).

Naturalmente, no nos embarcamos en este ambicioso objetivo en solitario ya que el HA no es una idea nueva, sino que como muchas otras, se viene gestando desde la aparición del modelo GPL en el campo del software.

Muchas de las soluciones de ingeniería que hemos realizado se componen de diseños y fabricación/producción de hardware, así como todo el software necesario como manejadores, programas de aplicación, interfaces y protocolos para el correcto funcionamiento del sistema. Las claras ventajas del software libre, respecto al acceso al código y su reutilización y un largo y variado etcétera que no es objetivo de este texto comentar, nos ha hecho afianzarnos y crecer dentro de esta filosofía hasta el punto de que la mayoría de nuestro software (el que no depende de licencias de terceros) sea LIBRE.

El asentamiento de los Lenguajes de Descripción Hardware (HDL) como VHDL (Very high speed integrated circuit Hardware Description Language) o Verilog HDL, ha impulsado la idea de realizar diseños abiertos de la misma manera que el movimiento Open Source. La reutilización de diseños (cores) o la adaptación de los ya existentes está haciendo mucho más fácil la vida de los ingenieros hardware, disminuyendo considerablemente los tiempos y costes de diseño. Con el tiempo y tímidamente va surgiendo una pequeña comunidad que trabaja en conjunto y que intercambia diseños en HDL que van desde procesadores RISC de 32 bits hasta sistemas bastante más sencillos.

El problema que observamos es que se asociaba el término HA al diseño de soluciones hardware on-chip. Es decir, desde bitstream de configuración para ejecutarse en Lógica Programable (FPGAs) o directamente a nivel ASIC. Ahora, el proyecto HA es más ambicioso ya que busca agrupar todas las técnicas de diseño y desarrollo hardware. Desde las configuraciones de FPGAs o las máscaras de un ASIC, hasta los esquemas de circuitos o los rutados de PCBs.

Es importante destacar que el HA abarca desde la concepción de la idea hasta el punto previo a la fabricación. Hasta este punto, es natural que todo el trabajo sea realmente un conjunto de bits: esquemáticos con alguna herramienta CAD, código HDL, documentos en procesadores de texto, rutados de pistas, etc... y este conjunto de bits en nada difiere con lo que entendemos por software por lo que es posible adherir la licencia GPL (ya reconocida y ampliamente aceptada) al HA.

2 Comercialización

Un diseño hardware libre puede ser implementado por una empresa con el objeto de su comercialización. La única premisa: mantener la libertad del diseño. Desde este punto de vista, las empresas de desarrollo tienen la posibilidad de ahorrar costes/tiempos de diseño. Cuentan con un equipo de diseñadores repartidos por todo el mundo.

El miedo de las empresas a hacer libres sus diseños debe ser paliado no solamente admirando el éxito del caso del software, sino deteniéndose a pensar en la competencia como co-desarrolladores.

Realmente la fuente de negocio, tanto en el caso del hardware como en el software no se encuentra en las empresas ya establecidas, sino en la nueva generación de diseñadores, en las generaciones ahora universitarias que cuentan no solamente con los medios técnicos, sino con una energía y afluencia de ideas muy grande.

"Linux partió de un estudiante universitario y no de una multinacional. Ahora, existen multinacionales basadas en la idea del universitario."

3 Modelos de intercambio.

Los modelos de intercambio son una de las necesidades básicas del proyecto HA, ya que se debe generar un estándar para intercambiar los diseños y para que estos sean legibles por todos.

Con respecto a los lenguajes HDL, no existe mayor problema ya que éstos son realmente archivos de texto ASCII. El inconveniente aparece cuando hablamos de esquemas de circuitos, máscaras o rutados.

Una de las primeras soluciones fue la de trabajar con imágenes jpeg de las mismas y no con los propios diseños y si bien este mecanismo es funcional tiene la clara desventaja de que para poder trabajar sobre el diseño se lo debe transcribir por completo.

Otra de las soluciones aportadas se basa en la utilización de herramientas CAD comunes y libres, pero lamentablemente los programas que apuntan hacia este camino se encuentran en un estado alfa, todavía lejos de ser usable bajo las características requeridas por el HA.

4 Un caso concreto: El microbot Tritt.

Tritt nació en el año 1997, con el fin de crear un sencillo microbot con puro carácter pedagógico enfocado a introducir a estudiantes, profesionales e investigadores a las técnicas de microbótica (www.microbotica.es). El microbot Tritt, está basado en tres pilares:

Tarjeta CT6811, basada en el microcontrolador 68HC11 de Motorola.

Tarjeta CT293+ que comprende los drivers de potencia para los sensores así como la polarización de sensores de infrarrojos, E/S analógicas y digitales, etc...

Y por último, la estructura mecánica (LEGO) y los motores (servomecanismos FUTABA).

Asimismo el "sistema" Tritt comprende diferentes piezas de software como son ensambladores, compiladores de C, ejemplos, programas de depuración y comunicaciones, etc... Como también diferentes documentos técnicos como son artículos de montaje, de programación así como de divulgación.

Desde su nacimiento, Tritt ya contaba con software de carácter libre (para plataformas DOS y Linux) y la información sobre el montaje y su estructura saltaba a la vista mediante fotos publicitarias. Quedaban entonces las dos tarjetas electrónicas, el Hardware.

En el inicio de este proyecto, Microbótica apostando por el HA, ha decidido liberalizar completamente los diseños de ambas tarjetas. Actualmente es posible acceder a estos documentos en www.microbotica.es.

Muchos de los usuarios de Tritt han visto con muy buenos ojos esta decisión y la han avalado aportando a su vez diferentes ampliaciones y trabajos realizados en referencia a las tarjetas CT6811 y CT293+.

5 Referencias hipertextuales

• Este documento asi como una base de datos de HA www.microbotica.

     es/ha.htm

• Un grupo de desarrollo de HA, comandado por Tom Walsh www.openhardware.

  net

• El apoyo de Debian a la comunidad HA www.openhardware.net

• Un procesador Libre www.techweb.com/wire/story/TWB2000228S0009

• El grupo de las gEDA (GPL Electronic Design Automation) www.geda.

  seul.org

• Apoyo al Open Hardware, en concreto al grupo gEDA. collector.hscs.

  wmin.ac.uk
• Uno de los origenes. www.openip.org/oc/index.html

• Interesante articulo sobre los modelos de negocio y el HA. pages.nyu.

  edu/~gmp216/papers/bmfosh-1.0.html

6 Conclusiones

Naturalmente nos encontramos frente a un proyecto muy joven y en continuo crecimiento que todavía deberá someterse a duras pruebas para ganarse la atención de los desarrolladores.

Nuestro compromiso es trabajar para romper las sólidas barreras de la cultura hardware clásica, tanto desde el punto de vista del diseño como del comercio.

Las colaboraciones recibidas, así como el surgimiento de nuevos foros, publicaciones, ideas y proyectos relacionados con el Hardware Abierto están apuntalándo una base sólida que será necesaria para sustentar los nuevos conceptos de la ingeniería hardware.

Dentro de las cosas que quedán por hacer podemos resaltar:

• Desarrollar un mecanismo que nos provea de compatibilidad para poder transferir información en la comunidad. Actualmente se utilizan imágenes "jpeg", pero no es ni óptimo ni completo.

• Formalizar una base de datos automática con el fin de ordenar la información de los desarrollos.

• Ejemplificar mediante artículos, los beneficios del HA para ponerlo en conocimiento de los usuarios y desarrolladores.