Arduino en FPGA: Qué es, pros y MKV Vidor 4000
Los chips FPGA están muy de moda últimamente, Arduino el año pasado lanzó su primera placa con un FPGA incorporado. Espera, sabés realmente que es un FPGA y porque son dispositivos muy usados. Te lo contamos todo en este post.
¿Qué es una FPGA?
La FPGA (Field Programmable Gate Array) es un dispositivo digital (chip) que se puede configurar para usarse prácticamente cualquier con cualquier aplicación, son muy rápidos y son capaces de trabajar con muchos procesos en paralelo.
Al programar un FPGA no modificas una capa de software, como pasa en Arduino, sino que cambias su hardware.
Las ventajas de las FPGA es que son como un papel en blanco que nos permite configurar sus conexiones internas a nuestro gusto, este proceso se realiza cuando le cargamos un bitstream que es un archivo generado a partir de la descripción/diseño que hacemos del circuito.
En una FPGA lo que estás programando son los "cables" y las rutas por las que van los datos (los unos y ceros)
Podemos decir que las FPGAs son el equivalente a las impresoras 3D pero enfocadas a crear circuitos digitales, pero con la ventaja de que las conexiones no son fijas y podemos modificarlas a nuestro antojo.
¿Arduino se interesa en la FPGA?
Desde hace tiempo hay muchas empresas que fabrican sus FPGA y también se usan en las universidades para poder crear sus propios procesador de bajo coste para diversos proyectos o aplicaciones.
Con este lanzamiento se busca simplificar el acceso a todo el mundo al incluir a Arduino en un FPGA a todos los makers y aficionados a la electrónica, sólo falta que esta placa tenga buena acogida por parte de la comunidad y empiecen a desarrollarse bloques de "bitstreams".
Arduino MKR Vidor 4000
La placa de desarrollo Arduino MKR Vidor 4000 fue presentada en mayo del 2018 en la"Maker Faire". Arduino ha dado un paso de gigante con el lanzamiento de esta placa al incluir un chip FPGA.
Básicamente es como un Arduino normal pero mucho más potente debido a que incluye una FPGA y conectividad Wifi-BLE. Está diseñado para aplicaciones IoT de bajo consumo y ofrece un alto rendimiento.
El MKR Vidor 4000 incluye tres procesadores. El Microchip SAMD21 está acompañado por la FPGA Intel Cyclone 10, junto con un u-blox NINA-W102, un módulo inalámbrico basado en ESP32 que proporciona conectividad WiFi y BLE.
Características generales:
- Microcontrolador: SAMD21 ARM Cortex-M0+
FPGA: 32bit plus Cyclone 10 - Alimentación: 3.3V
- 256 KB de memoria Flash
- 32 KB de SRAM
- Velocidad de reloj: 48 MHz
- Conectividad: Wi-Fi w/ NINA W102
- Interfaces: 20 (headers) +32 (mPCI) I2C, SPI, UART, mPCI express MIPI Camera, miniHDMI
Salidas PWM: 12 (D21)/22 (Cyclone 10)
En términos de seguridad tiene un coprocesador criptográfico ATCC508A que proporciona encriptación por hardware y almacenamiento de claves basado en hardware.
¿Qué pretende hacer Arduino con estas placas?
En la feria "Maker Faire" la idea del equipo de Arduino es compartir el código “compilado” (los bitstream) para que cada uno pueda subirlo y crear "periféricos" nuevos.
"Vamos a distribuir sketchs y librerías con bitstreams precompilados que se cargarán automáticamente en la FPGA con el código del microcontrolador. Habrá varias de estas configuraciones prediseñadas disponibles para elegir".
"Más adelante vamos a lanzar un entorno de desarrollo que permitirá crear diferentes aplicaciones en la FPGA usando un lenguaje visual de bloques. El usuario podrá seleccionar diferentes bloques y ensamblarlos en la pantalla (incluido un núcleo de procesador si lo desea) al pulsar un botón la representación visual se traduce a Verilog y se compila en nuestros servidores en la nube y se descarga en el FPGA, mientras que una versión personalizada de Arduino se genera sobre la marcha para permitir la programación de la nueva configuración que el usuario ha creado", dice el equipo de Arduino en el vídeo.
Arduino revolucionó en el mundo de los microcontroladores hace unos años, gracias a esta nueva placa podría ser que Arduino ahora revolucione el mundo de los chips FPGA.