Arduino MKR Vidor 4000: Una nuova rivoluzione?

Spazio Chirale News   •   3 ottobre, 2018

Ad oltre 15 anni di distanza dalla creazione della scheda Arduino, avvenuta presso la Scuola di interaction Design di Ivrea nel 2003, non c’è oramai alcun dubbio che l’idea avuta dal team guidato da Massimo Banzi abbia rivoluzionato per sempre il mondo della progettazione dei sistemi elettronici interattivi.

Con l’invenzione di Arduino la programmazione dei microcontrollori, materia tradizionalmente complessa e dominio di pochi specializzati ingegneri, è diventata alla portata di tutti, soprattutto di un pubblico di designer, creativi ed artisti normalmente privi di competenze sulle tecnologie elettroniche ed informatiche.

Questo processo di democratizzazione, complice la cultura open source che permeava l’intero progetto, ha favorito lo sviluppo di nuovi prodotti e innescato parte del processo d’innovazione che oggi chiamiamo Industria 4.0.

Lo stesso ingresso del movimento maker nel mainstream culturale è stato favorito dalla ricaduta sul mercato delle tante invenzioni nate nell’ambito della rete globale dei Fab Lab sviluppati con i nuovi paradigmi di prototipazione rapida per la prima volta in mano a persone con cultura umanistica e non necessariamente tecnologica.

I microcontrollori sono all’interno di molti prodotti che regolano la vita quotidiana di tutti noi, dalla centralina dell’automobile al sistema di controllo presente in tutti gli elettrodomestici, e sono molto più pervasivi dei microprocessori, cuore di computer, smartphone e tablet.

Ma esiste un’altra categoria di chip elettronici altrettanto importanti e altrettanto pervasivi, soprattutto nel mondo dell’alta tecnologia e delle telecomunicazioni. Si tratta dei cosiddetti FPGA, acronimo di Field Programmable Gate Array.

Di cosa si tratta?

Per comprenderlo occorre dare qualche informazione sui mattoni che sono alla base della moderna elettronica digitale.

La maggior parte dei dispositivi elettronici attuali è basata sull’elettronica digitale, cioè su circuiti elettronici che elaborano segnali elettrici ridotti a due valori fondamentali, idealmente rappresentati dai due numeri dell’aritmetica binaria, 1 e 0, ma anche dai due stati elettrici più facili da generare e da comprendere: acceso o spento.

Un moderno dispositivo elettronico ha al suo interno circuiti composti da milioni di componenti in grado di combinare i segnali digitali. Il più semplice dei componenti di questi circuiti, il mattoncino fondamentale è chiamato “porta logica”. Ogni porta è in grado di combinare più segnali in ingresso fornendo un risultato in uscita.

Un sistema elettronico digitale altro non è che una rete di milioni di porte logiche interconnesse.

I progettisti di sistemi elettronici possono realizzare i propri prodotti interconnettendo chip che all’interno contengono funzioni standard, possono utilizzare chip programmabili come i microcontrollori che all’interno hanno una struttura predefinita ma che possono memorizzare sequenze di istruzioni che servono a realizzare le funzioni volute, oppure possono progettare un circuito elettronico ad hoc, cioè una nuova ed originale rete di porte logiche che sviluppa la funzionalità desiderata.

Il progetto di questi nuovi chip elettronici avviene con appositi programmi software, che generano istruzioni ed immagini che vengono utilizzate per fabbricare chip di silicio con all’interno il circuito desiderato.

Una volta ‘inciso’, incapsulato nel packaging di plastica e uscito dalla linea di produzione un chip elettronico è immodificabile. Se vogliamo variare o realizzare nuove funzioni dobbiamo ripetere il processo e fabbricare un nuovo chip.

Mettere a punto un nuovo chip e realizzare i primi esemplari è la parte del processo che richiede il maggiore investimento. Se produrremo migliaia di chip dal prototipo iniziale l’investimento si diluirà sul numero di esemplari prodotti. Fabbricare un chip una volta che è stata allestita la linea di fabbricazione costa poco. E’ il motivo per cui le nuove tecnologie all’inizio sono costose e vengono proposte sul mercato ad un prezzo elevato e dopo qualche mese il costo scende e nel giro di pochi anni diviene quasi irrisorio.

Nel caso in cui il progettista intenda sperimentare una particolare soluzione per il suo prodotto, o il chip finale sia destinato ad applicazioni che non richiedono produzioni in serie, si pensi al settore spaziale dove sistemi complessi come i satelliti sono prodotti in esemplari spesso unici, la messa in opera di una linea di produzione può essere un investimento insostenibile. Per questo motivo a partire dalla seconda metà degli anni ’80 si è diffusa una tecnologia che consente di ‘programmare’ e riprogrammare all’occorrenza la rete di porte logiche all’interno di un apposito chip in silicio.

Un FPGA è appunto un array, a Roma diremmo una ‘sfilza’, di porte logiche che possono essere interconnesse a piacere realizzando qualunque circuito digitale utilizzando opportuni segnali elettrici e un opportuno software di progettazione e controllo.

Un FPGA è quindi un chip prodotto in serie, e quindi economico, che può essere specializzato e trasformato nel particolare chip digitale ideato dal progettista. Questa operazione è reversibile e può essere effettuata molte volte rendendo possibile sperimentazioni e sviluppo per prototipi successivi ed è anche il modo per ottenere chip specializzati a basso costo.

Ovviamente le cose sono un po’ più complesse e articolate di come le abbiamo raccontate ma il concetto base è più o meno questo.

La programmazione degli FPGA non è cosa facile e richiede conoscenze molto specifiche e specializzate.

Anche la programmazione dei microcontrollori non era alla portata di tutti fino all’avvento di Arduino.

Capirete quindi l’eccitazione e la grande aspettativa che ha generato l’annuncio avvenuto a maggio di quest’anno alla Maker Faire di San Francisco da parte di Massimo Banzi, il padre di Arduino, di aggredire il mercato degli FPGA portando anche in questo settore le logiche che hanno democratizzato il mondo dei Microcontrollori.

L’annuncio si riferiva ad un nuovo prodotto specifico denominato MKR Vidor 4000. In pratica un Microcontrollore Arduino abbinato ad un FPGA, il tutto programmabile dal sistema di sviluppo di Arduino con la stessa logica di uso di librerie che facilitano e rendono alla portata di tutti il processo.

Il successo di Arduino deriva proprio dal metodo di sviluppo che viene applicato dai suoi utilizzatori. E’ un metodo tipico dei maker e in inglese viene chiamato tinkering. In italiano è intraducibile, ma un bambino che gioca e crea con il Lego sta facendo del tinkering.

Programmare un FPGA con una sorta di mattoncini Lego è qualcosa che potrebbe portare la rivoluzione maker un passo più in la.

Il primo MKR Vidor 4000 è appena arrivato nello Spazio Chirale e lo abbiamo provato.

Abbiamo configurato il solito software per programmare Arduino come da istruzioni per poter usare la nuova scheda, scaricato le nuove librerie predisposte dalla community Arduino per sperimentare la componente FPGA e con un paio di mattoncini Lego presenti in queste librerie abbiamo processato come se niente fosse il segnale TV catturato da una telecamera e inviato al nostro megaschermo 4K del laboratorio utilizzando il connettore micro HDMI presente sul Vidor 4000.

La prima sensazione è che nei prossimi mesi ne vedremo delle belle!