Skip to content

Vídeo 3: La Icezum Alhambra y otras placas con FPGAs libres

ferdymercury edited this page Nov 8, 2021 · 127 revisions

Vídeo

Click to see the youtube video

Haz click en la imagen para ver el vídeo en Youtube

Descripción

Las herramientas que usaremos en estos tutoriales son Icestudio y la placa Icezum Alhambra. Pero existen otras placas con FPGAs libres que se están desarrollando en la comunidad. La icezum Alhambra es una placa libre, y puedes ver sus tripas usando herramientas libres como Kicad. También puedes ver cómo están hechos sus componentes 3D y sus accesorios, con Freecad. Es importante ser conscientes de lo que implican las tecnologías libres: ¡Acceso total a sus planos! ¡Esto nos da un inmenso poder! Las empresas van y vienen, y con ellas sus productos. Pero lo libre permanece

Contenido

FPGAs libres

Una FPGA libre es aquella que tiene disponible toda su documentación interna con tal detalle que sea posible hacer herramientas software que permitan la síntesis de hardware y su carga en la FPGA. Actualmente las únicas FPGAs libres son las de la familia ICE40 de Lattice. Disponemos de toda la documentación gracias a Clifford Wolf, que hizo ingeniería inversa y creó el proyecto Icestorm

El resto de FPGAs son privativas. Sólo las podemos usar con el softaware proporcionado por el fabricante, y sólo se puede hacer con ellas lo que el fabricante ha decidido que se puede hacer. No están disponibles sus detalles internos con el detalle suficiente, ni el formato del bitstream. Esto hace imposible, por ejemplo, que alguien que no sea el fabricante pueda crear un software para facilitar su uso, como Icestudio. O que se pueda sintetizar hardware desde una Raspberry pi o cualquier otra plataforma diferente a la decidida por el fabricante

Placas con FPGAs libres

Ya tenemos el software listo para diseñar circuitos digitales: Icestudio. Como este es un curso práctico, necesitamos una placa real con la que practicar. Al fin y al cabo, ¡Somos makers! y nos gusta mancharnos las manos construyendo cosas, y aprender haciendo. La placa que usaremos será la Icezum Alhambra, pero existen más placas con FPGAs libres, que están soportadas por Icestudio

Placas soportadas por Icestudio

Abrimos Icestudio y pinchamos en la opción Seleccionar/Placa

Ahí podemos ver todas las placas que están actualmente soportadas en Icestudio 0.3.1:

Lattice Icestick

Esta es la placa que utilizó Clifford Wolf para hacer ingeniería inversa, y por eso es una pieza de coleccionista: es la primera placa en la que se sintetizó hardware usando sólo herramientas libres

Ficha
Nombre Icestick
Fabricante Lattice
Precio $20
FPGA ICE40HX-1K
Frecuencia 12Mhz
Leds 4 rojos, 1 verde
Observaciones Es la placa usada originariamente por Clifford Wolf para hacer ingeniería inversa

Lattice Breakout Board

Ficha
Nombre Breakout Board
Fabricante Lattice
Precio $43
FPGA ICE40HX-8K CT256
Frecuencia 12Mhz
Leds 8 verdes
Observaciones Acceso a 40 pines de la FPGA

Nandland Go Board

Ficha
Nombre Nandland Go Board
Fabricante Crowdfunding
Precio $60
FPGA ICE40HX-1K
Frecuencia 12Mhz
Leds 8 verdes
Periféricos 4 leds verdes, 2 Displays de 7 segmentos, 4 pulsadores, 1 conector VGA
Observaciones El conector de VGA integrado da mucho juego :-)

Kéfir I

Ficha
Nombre Kéfir I
Autor Salvador E. Tropea
Institución Instituto Nacional de Tecnología Industrial (INTI), Argentina
Precio Contactar
FPGA iCE40HX4K-TQ144
Frecuencia 24Mhz
Periféricos 4 Capsenses
Observaciones Hardware libre. Kit educativo, inclusivo y reciclable. Compatible Arduino

Icoboard

Ficha
Nombre Icoboard 1.0
Fabricante Trenz Electrónic
Precio 90€
FPGA ICE40Hx8K
Frecuencia 100Mhz
Periféricos SRAM 8Mx16, 3 LEDs, 2 Pulsadores
Observaciones Sombrero para Raspberry PI

Otras placas no soportadas todavía

Placas con FPGAs libre, soportadas por el project icestorm, pero que todavía no están incluidas en Icestudio

Olimex iCE40HX1K-EVB

Ficha
Nombre Olimex iCE40HX1K-EVB
Fabricante Olimex
Precio 22€
FPGA ICE40Hx1K
Frecuencia 100Mhz
Periféricos SRAM 256Kx16, 2 LEDs, 2 Pulsadores
Observaciones Hardware libre

Mystorm BlackIce

Ficha
Nombre Mystorm Blackice
Fabricante Mystorm, UK
Precio 45€
FPGA ICE40Hx4K
Frecuencia 100Mhz
Periféricos SRAM 256Kx16, 6 LEDs, 3 Pulsadores
Observaciones Hardware libre

Placa Icezum Alhambra

Es la placa que usaremos en este tutorial

Ficha
Nombre Icezum Alhambra
Autor Eladio Delgado
Fabricante Mareldem Technologies, Pinos del valle, Granada, España
Donde conseguirla Alhambrabits
Precio 65€
FPGA ICE40Hx1K
Frecuencia 12Mhz
Periféricos 8 LEDs, 2 pulsadores, 4 canales A/D
Observaciones Hardware libre. Compatible Arduino

Eladio Delgado

Eladio Delgado es el diseñador de la Icezum Alhambra. Nos conocemos desde hace más de 20 años. Fuimos compañeros de estudios en la ETSIT-UPM. Eladio es una de las personas que más sabe de electrónica que conozco

En esta entrevista que le hizo Enrique Gómez de Rincón Ingenieril puedes saber más de él

Entrevista de Rincón Ingenieril a Eladio Delgado

Eladio vive en Pinos del Valle, un pueblo de la provincia de Granada, de 700 habitantes. Desde allí hace todos sus diseños. Su casa es conocida en el ambiente maker como el Rural Workshop. Es un sitio genial: estás frikeando con la última tecnología y luego sales y estás en el campo, en plena naturaleza :-)

En esta foto, de izquierda a derecha estamos Andrés Prieto-Moreno, Obijuan y Eladio, en el Rural Workshop. Todos los años, en verano, coincidimos un día en Pinos del Valle

Y por supuesto, aprovechamos para tomarnos unas cervezas juntos, y ponernos al día :-)

Kicad

La Icezum Alhambra es una placa libre. Todos sus ficheros fuente y de fabricación están disponibles. La versión 1.0 la hizo Eladio en Altium y yo la migré a Kicad, que es una herramienta libre de diseño de PCBs, impulsada por el CERN (La organización Europea de Investigaciones Nucleares)

La versión actual es la 1.1, que tiene unos ligeros cambios y correcciones, y se hicieron también con Altium, y están pendientes de migrarse a Kicad (pero el fichero fuente en Altium y los ficheros de fabricación (Gerbers) están disponibles en el repositorio)

Esquema

Para ver el esquema, clonamos el repositorio del github en nuestro ordenador. Nos vamos a la carpeta src-kicad y abrimos el fichero icezum.pro con Kicad.

Se nos abre la ventana principal de Kicad, con el proyecto de la placa. En la parte de la izquierda, hacemos doble click en el elemento icezum.sch para ver el esquema. Nos aparece primero la hoja índice

Podemos pinchar en cualquiera de los 6 bloques para ver los detalles. ¡Ojo! Esto no es un navegador. No pinchéis en el texto, sino en el fondo del bloque, para que se seleccione el bloque. Nos metemos por ejemplo en el bloque de alimentación (Power Supply)

Y ahí podemos ver todos los detalles, y curiosear lo que queramos. Para volver a la hoja índice pinchamos en el icono Leave sheet de la parte superior

Placa de Circuito Impreso (PCB)

Para ver el diseño de la placa de circuito impreso (PCB) hacemos doble click en icezum.kicad_pcb en la ventana principal de Kicad

Y se nos abre el diseño

Modelo en 3D

También podemos obtener el modelo 3D de la placa. Para ello nos vamos a View/3D Viewer

y se nos abre una ventana con el modelo virtual de la placa

Modemos rotar y desplazar la cámara para observar los detalles de la placa

FreeCAD

FreeCAD es una aplicación libre de Diseño 3D. Todos los componentes de la Icezum Alhambra se han modelado con Freecad, y están disponibles en la biblioteca de piezas de Freecad, en Github

No sólo disponemos de los modelos para usarlos en nuestras placas, sino que tenemos los ficheros fuentes para aprender cómo están hechos

En este enlace podemos encontrar una tabla con todos los componentes y sus ficheros fuente

Podemos descargar cualquiera de ellos y abrirlo con Freecad. Por ejemplo, vamos a ver el conector micro-usb. Descargamos el fichero USB-micro-B.fcstd

Accesorios 3D

Existen algunos accesorios 3D libres para imprimir, para la Icezum Alhambra, diseñados con FreeCAD

Soporte FPGAwars

Enlace Soporte FPGAWars
Autor Juan González-Gómez (Obijuan)
Descripción Soporte para la Icezum Alhambra, con y sin las letras de FPGAwars

Soporte con protección

Enlace Soporte con protección
Autor Antonio Andújar
Descripción Soporte para la Icezum Alhambra con protección de cortocircuito

Soporte vertical

Enlace Soporte vertical
Repo Soporte en Github
Autor Julian Caro Linares
Descripción Soporte vertical

Ejercicios propuestos (11 BitPoints)

  • Ejercicio 1 (2 Bitpoints): Instalar kicad. Bajarse el repositorio de la Icezum Alhambra y abrir el proyecto en Kicad. Sacar dos pantallazos, uno de una parte del esquema, y otro del PCB o del modelo 3D. Enviar las capturas por redes sociales (mención a @Obijuan_cube). Se concederá 1 Bitpoint adicional por subirlas al repositorio de entregas de github

  • Ejercicio 2:(2 Bitpoints): Instalar Freecad. Elegir un componente de la Icezum Alhambra y bajarse su archivo fuente en Freecad. Abrirlo y sacar 1 pantallazo. Enviar por redes sociales. Se concederá 1 Bitpoint adicional por subirlas al repositorio de entregas de github

  • Ejercicio 3:(2 Bitpoints): Seleccionar alguno de los accesorios 3D de la Icezum Alhambra, imprimirlo en 3D y enviar una foto por redes sociales (con mención a @Obijuan_cube). Se concederá 1 Bitpoint adicional por subirlas al repositorio de entregas de github

  • Ejercicio 4: (Hasta 2 Bitpoints): Ejercicio libre. Premiar la creatividad. Entrega por redes sociales o por github

Ejercicios entregados

Antonio Morales

Diego Lale

Alberto Valero

Autor

Licencia

Créditos y agradecimientos

  • Clifford Wolf es el Ingeniero Austriaco al que le debemos la aparición de las FPGAs libres. Todo este tutorial,y todas las herramientas creadas a su alrededor no habrían sido posibles sin su gran aportación: El proyecto Icestorm. ¡Muchas gracias!
  • A Arduino, por la increible labor que han realizado en la popularización del hardware libre, y del acercamiento de las nuevas tecnologías a personas con perfil menos técnico. Ha hecho una democratización de la programación de microcontroladores, a gran escala. La placa Icezum Alhambra es un diseño derivado del Arduino uno ¡Muchas Gracias!
  • Eladio Delgado, es el diseñador de la placa IceZum Alhambra. Y el encargado de la gestión de la fabricación de la placa. Todo lo dirige desde su Rural Workshop en Pinos del Valle (Granada) ¡Muchas gracias!
  • Andrés Prieto-Moreno, es mi Maestro Jedi, y me ha enseñado todo lo que yo sé ahora ¡Muchas gracias!. Además, es el creador de AlhambraBits y el mecenas que ha financiado las Icezum Alhambras, para que todos podamos disponer de ellas. ¡Muchas gracias!
  • Jesús Arroyo es el creador de Icestudio y su desarrollador principal. Gracias a su talento está consiguiendo que cientos de personas puedan acceder al desarrollo de circuitos digitales, de una forma muy sencilla. ¡Muchas gracias!
  • A Salvador Tropea, del INTI, por donerme una placa Kéfir ¡Muchas gracias!
  • Al proyecto Mystorm, por su donación de 2 placas Blackice, para Jesús y para mí. ¡Muchas gracias!
  • A Enrique Gómez, de Rincón Ingenieril, por la foto suya de Eladio que he usado en el tutorial. ¡Muchas gracias!
  • A Antonio Andújar por el soporte con protección de la Icezum Alhambra. ¡Muchas gracias!
  • A Julian Caro Linares por el soporte vertical para la Icezum Alhambra. ¡Muchas gracias!

Enlaces

FAQs

  • ¿Dónde puedo conseguir la placa Icezum Alhambra?

Pueden conseguir una desde Alhambrabits

  • ¿Cómo aprendo a manejar github?

Hay mucha información en internet. En su momento hice este Tutorial: Github y FreeCAD para enseñar a manejarlo. Los ejemplos están hechos con ficheros de FreeCAD, sin embargo, lo que se enseña es genérico. También vale para las entregas de los ejercicios del tutorial de Electrónica digital para makers

  • ¿Dónde aprendo a manejar FreeCAD?

Puedes probar con estos tutoriales de un tal Obijuan :-)

  • ¿Dónde aprendo a manejar Kicad?

Prueba con estos tutoriales de Rincón Ingenieril

Clone this wiki locally