MKR Vidor 4000, la nueva apuesta de Arduino por las FPGAs
Nunca pensé que vería esto… Pero así es, lo acabo de ver. Y no porque yo sea un máximo defensor de las FPGAs pero sí porque parecía que las FPGAs era un mundo de ingenieros que algunos estaban intentando abrir. Había escuchado alguna vez eso de que pasaría igual que con los microcontroladores, que eran de unas cuantas empresas y de repente como que se abrieron al mundo en forma de Arduino.
Pasaron de ser objetos de expertos a algo que cualquiera podía aprender. Hoy parece que va a pasar lo mismo con las FPGAs. No será mérito único de Arduino, que ya hay proyectos con otras FPGAs, pero parece que será un fuerte empujón.
Lo que realmente quiero decir es que me he enterado que Arduino ha sacado una placa con una FPGA… Y no puedo dejar pasar la oportunidad de contártelo…
MKR Vidor 4000, ¡Te elijo a ti!
La MKR Vidor 4000 es una placa con tres procesadores. Uno es la FPGA que ya te he dicho antes, una Intel Cyclone 10. Luego también el chip principal igual que tenían los otros Arduino. Y por último un chip que ofrece conectividad por Bluetooth (Es BLE, de bajo consumo, y eso mola…) y Wifi a la placa.
Esto de Wifi está muy bien, lo del Bluetooth también… ¿Pero qué aporta esto de la FPGA? Lo que hace es que se pueda configurar cada pin de Arduino. De manera que si quieres que los pines analógicos estén al otro lado puedes hacerlo. Si no quieres pines analógicos y necesitas más pines digitales puedes hacerlo. Si lo que te hacen falta son más pines de comunicación o necesitas más pines digitales con PWM puedes hacerlo.
El hardware de Arduino se vuelve configurable por ti mismo. Y eso te ofrece infinitas posibilidades. Una de ellas es para los que trabajan con aplicaciones muy precisas en el tiempo y que deben de ser muy rápidas. Para este caso, es mejor utilizar la programación en la FPGA ya que será más directa y estable. Por ejemplo si tenemos que formar una señal PWM de una duración de 1ms una vez cada segundo pues lo mejor es utilizar la FPGA.
Esto es así porque no es el software el que dice haz esto y el hardware lo hace. Sino que es el propio hardware que lo hace moviendo como unos cables desde el reloj principal hasta nuestra salida. De esta manera, si hay un bloqueo en el software por alguna cosa, la señal se continuará haciendo siempre al tiempo que le toca.
Información básica sobre Proteción de datos
Responsable ➥ Sergio Luján Cuenca
Finalidad ➥ Gestionar el envío de correos electrónicos con artículos, noticias y publicidad. Todo relacionado con los temas de rufianenlared.com
Legitimación ➥ Consentimiento del interesado
Destinatarios ➥ Estos datos se comunicarán a MailRelay para gestionar el envío de los correos electrónicos
Derechos ➥ Acceder, rectificar y suprimir los datos, así como otros derechos, como se explica en la política de privacidad
Plazo de conservación de los datos ➥ Hasta que se solicite la supresión por parte del interesado
Información adicional ➥ Puedes encontrarla en la política de privacidad y el aviso legal
De qué va esto de las FPGAs…
El problema por ahora es que la cosa está un poco verde aún con todo esto así que inicialmente la idea será la de no utilizar la FPGA como tal, sino de utilizarla como un periférico.
Una FPGA son cables que puedes conectar mediante código. De esta manera, puedes programar hardware, diciéndole dónde tiene que poner cada cable. En lugar de soldar lo programas. Así, programando, se puede conseguir cualquier cosa que imagines, desde un simple comparador hasta un microchip.
La idea inicial de Arduino es compartir el código “compilado” (lo que llaman el bitstream) para que cada uno pueda subirlo y crear periféricos nuevos. Vamos que la idea no es tanto darle funcionalidades extra a Arduino como darle la opción de tener periféricos como amplificadores o cualquier elemento electrónico que se te ocurra. Pero nada de programar tu…
Lo de programar y poder modificar vendrá más adelante cuando saquen un nuevo IDE con potencial para poder programar la FPGA y poder “compilar” y crear los bitstreams. Esto se hará con programación por bloques, al más puro estilo Scratch. Pero bueno, si conoces Verilog o VHDL (Los lenguajes de programación de FPGAs) podrás “compilarlo” con tu programa de siempre y enviarle el bitstream a la FPGA de Arduino para que funcione. Esto último supongo que se podrá hacer desde el minuto cero…
Prototipando el futuro…
Así que nada, en Junio podrás empezar a pensar si quieres probar el mundo de las FPGAs. Las FPGAs suelen ser caras y más con todos los accesorios, esperemos que los chicos de Arduino piensen en que van a vender muchas si bajan un poco el precio y podamos conseguir alguna a un precio muy razonable.
Aunque FPGA y Wifi… La placa tiene pinta de ser la placa de prototipado del futuro XD. Así que tal vez los precios sean también muy futuristas…
No sé… ¿Tú que piensas de todo esto? 😉
Esta muy bien lo de tener una FPGA con Arduino, aunque esta es un poco cara. Si tienes un Arduino existen formas de conectarle una FPGA muy baratita por I2C. En vhdl.es hay un tutorial sobre como hacerlo.