Proyecto Hardware Abierto
Versión 1.0
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.
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.
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."
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.
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 www.microbotica.es .
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+.
¿Qué cosas quedan por hacer?
1) Desarrollar un mecanismo que nos provea de compatibilidad para poder
transferir información en la comunidad de desarrolladores.
- Actualmente se utilizan imágenes "jpeg",
pero no es ni óptimo ni completo.
- También se trabaja con el sofware de diseño
Eagle por su multiplataforma,
pero dicho software tiene una licencia propietaria.
- Las herramientas de diseño gEDA se mantienen
en un estado alfa-beta por lo que todavía no son usables para diseños
complejos.
2) Formalizar una base de datos automática con el fin de ordenar
la información de los desarrollos.
- Actualmente se cuenta con diversas bases de datos
repartidas en servidores de todo el mundo (ver enlaces)
- La base de datos de HA en Microbótica todavía
se encuentra en un estado beta, pero crece de forma firme y continuada
:-)
3) Ejemplificar mediante artículos, los beneficios del HA para
ponerlo en conocimiento de los usuarios y desarrolladores
- Se han impartido conferencias sobre HA en HispaLinux,
Expo-Linux, Linux-Party, etc...
- Se han publicado diversos artículos en
revistas especializadas (Linux Actual y Solo Linux)
Para envío de colaboraciones, opiniones, etc... ha@microbotica.es
Enlaces:
Diseños HA disponibles
| Título |
Activación de carga por infrarrojo |
| Descripción |
Documento PDF con esquemas y software |
| Autor |
Walter Hernández Angel (xtoqui@hotmail.com) |
| Download |
infrarrojo.pdf (125 Kb) |
| Título |
Grabador EEPROMS para la CT6811 |
| Descripción |
Tarjeta para grabar memorias EEPROM del tipo ST M28256 de 32Kb
|
| Autor |
José Antón (jdz@arrakis.es) |
| Download |
eeprom.zip (86 Kb) |
| Título |
Generador PWM |
| Descripción |
Generador de PWM por hardware. Circuito en jpg |
| Autor |
José Antón (jdz@arrakis.es) |
| Download |
pwm.zip (142 Kb) |
| Título |
Depuradora 68HC11 |
| Descripción |
Tarjeta depuradora para programas con el 68HC11. Circuito, programa
y documentación |
| Autor |
Javier de Lope (jdlope@eui.upm.es) |
| Download |
debug.zip (265 Kb) |
| Título |
Mando a distancia |
| Descripción |
Mando a distancia para gama de aparatos Sony. Circuito, programa y
documentación |
| Autor |
Aritz Sánchez (aritzsan@euskalnet.net) |
| Download |
mando.zip (775 Kb) |
| Título |
BT6811 |
| Descripción |
Tarjeta de reducidas dimensiones para controlar cuatro servomecanismos |
| Autor |
Microbótica, S.L. (info@microbotica.es) |
| Download |
bt6811.pdf (30 Kb) |
| Título |
Placa DS1620 |
| Descripción |
Tarjeta para medición de temperatura para el 68HC11 |
| Autor |
José Antón (jdz@arrakis.es) |
| Download |
ds1620.zip (65 Kb) |
| Título |
CT256 |
| Descripción |
Tarjeta de ampliación de memoria para la CT6811. Esquema en
pdf y programa de la PAL |
| Autor |
Microbótica, S.L. (info@microbotica.es) |
| Download |
ct256.zip (27 Kb) |
| Título |
CT6811 |
| Descripción |
Sistema de desarrollo basado en el 68HC11. Esquema en pdf |
| Autor |
Microbótica, S.L. (info@microbotica.es) |
| Download |
ct6811.pdf (36 Kb) |
| Título |
CT293+ |
| Descripción |
Control de servomotores y sensores IR compatible CT6811. Esquemas en
formato .sch de Orcad. |
| Autor |
Microbótica, S.L. (info@microbotica.es) |
| Download |
ct294.pdf(20 Kb) |
| Título |
Reloj 7170 compatible CT6811 |
| Descripción |
RTC para la CT6811. Esquemas y circuito impreso en formato jpeg. |
| Autor |
José Antón (jdz@arrakis.es) |
| Download |
r7170.zip (356 Kb) |
| Título |
Ampliación de Ram para la tarjeta CT6811 |
| Descripción |
32kb de Ram estática. Esquemas y circuito impreso. |
| Autor |
José Antón (jdz@arrakis.es) |
| Download |
ram6811.zip(341 Kb) |
| Título |
PPI 6821 compatible CT6811 |
| Descripción |
Expansión de puertos con el PPI. Esquemas y circuito impreso. |
| Autor |
José Antón (jdz@arrakis.es) |
| Download |
ppi.zip(245 Kb) |
| Título |
Reset seguro con el 555. Compatible CT6811 |
| Descripción |
Permite hacer un reset seguro de la tarjeta CT6811 trabajando en modo
autónomo. Esquemático en formato .jpg |
| Autor |
Pepe Alberola Ripoll (alberola@teleline.es) |
| Download |
ct6811ee.zip (52 Kb) |
| Título |
Tarjeta LCD |
| Descripción |
Placa LCD para tarjeta CT6811. Conexión del LCD al Bus del 6811. |
| Autor |
Jose Antón (jdz@arrakis.es) |
| Download |
hwlcd.zip (530 Kb) |
| Título |
Teclado |
| Descripción |
Teclado de 4x4 teclas para el 68HC11 (esquemático, circuito
impreso y programa) |
| Autor |
José Antón(jdz@arrakis.es) |
| Download |
teclado.zip (548 Kb) |
| Título |
Robot Sunday 1.0 |
| Descripción |
Robot básico que sigue una línea negra sin utilizar ningun
microcontrolador.
Muy interesante para iniciarse en el mundo de la robótica. |
| Autor |
Claudio Cañete (claudio.cc@terra.es) |
| Download |
sunday.zip (183 Kb) |
| Título |
Robot Sunday 2.0 |
| Descripción |
Segunda versión del robot Sunday. Incorpora microcontrolador
entre otras muchas cosas |
| Autor |
Claudio Cañete (claudio.cc@terra.es) |
| Download |
sunday2.zip (290 Kb) |
| Título |
Medidor de distancias |
| Descripción |
Medición de distancias usando el sensor GP2D02 con el 68HC11 |
| Autor |
José Antón (jdz@arrakis.es) |
| Download |
gp2d02.zip (48 Kb) |