Carte XLR8 : Arduino Uno émulé dans un FPGA
Début mai, je vous avais fait part de ma fascination pour les FPGA et de mon incompréhension quant à leur rareté dans les projets Elektor. Je vous avais dit que la carte XLR8, qui simule l’ATmega328 de la Uno dans un FPGA, pourrait changer la donne. Je l’avais écrit, mais je n’avais pas vraiment décrit cette carte étonnante. Ce sera fait avec cette courte présentation.
Au premier abord, la carte reproduite ci-contre est une Arduino Uno ordinaire : barrettes de broches, alimentation, interface ISP, bouton Reset, même la couleur rappelle l’originale. Mais regardez bien le nom imprimé sur le processeur principal : ALTERA. Oui, le cœur de cette XLR8 d’Alorium Technology est en effet un FPGA. Ce qu’il y a de génial avec ce composant, c’est qu’il contient dès la sortie d’usine un processeur logiciel compatible avec l’ATmega328.
Selon Alorium, la XLR8 se programme depuis l’EDI Arduino comme une carte Uno normale. Elle offre bien sûr aussi 32 Ko de mémoire flash et 2 Ko de RAM, et plus généralement se veut compatible avec l’écosystème Arduino. Le processeur est alimenté en 3,3 V, mais les entrées numériques tolèrent 5 V et les 6 entrées analogiques mesurent des tensions comprises entre 0 et 5 V. La majorité des cartes d’extension Arduino (shields) devraient donc être utilisables avec la XLR8.
Alorium a conçu la XLR8 pour mettre en avant ses blocs d’accélération XB (Xcelerator Blocks). Un bloc d’accélération est l’implantation matérielle optimisée d’une fonction spécifique ou d’un ensemble de fonctions. Les blocs ne sont pour l’instant qu’au nombre de trois : Servo Control (commande de servomoteur ), Floating Point Math (unité de calcul en virgule flottante) et NeoPixel Control (commande améliorée des shields et bandes NeoPixel). Alorium devrait cependant en proposer d’autres à l’avenir (UART multiples, PWM, etc.) L’image du FPGA se met à jour via USB. Alorium prévoit de publier une partie du code source, ce qui permettra à l’utilisateur avancé d’écrire ses propres blocs d’accélération en langage VHDL ou Verilog, donc de personnaliser à souhait les fonctions matérielles de la carte Uno.
Pour en savoir plus : www.aloriumtech.com
Selon Alorium, la XLR8 se programme depuis l’EDI Arduino comme une carte Uno normale. Elle offre bien sûr aussi 32 Ko de mémoire flash et 2 Ko de RAM, et plus généralement se veut compatible avec l’écosystème Arduino. Le processeur est alimenté en 3,3 V, mais les entrées numériques tolèrent 5 V et les 6 entrées analogiques mesurent des tensions comprises entre 0 et 5 V. La majorité des cartes d’extension Arduino (shields) devraient donc être utilisables avec la XLR8.
Alorium a conçu la XLR8 pour mettre en avant ses blocs d’accélération XB (Xcelerator Blocks). Un bloc d’accélération est l’implantation matérielle optimisée d’une fonction spécifique ou d’un ensemble de fonctions. Les blocs ne sont pour l’instant qu’au nombre de trois : Servo Control (commande de servomoteur ), Floating Point Math (unité de calcul en virgule flottante) et NeoPixel Control (commande améliorée des shields et bandes NeoPixel). Alorium devrait cependant en proposer d’autres à l’avenir (UART multiples, PWM, etc.) L’image du FPGA se met à jour via USB. Alorium prévoit de publier une partie du code source, ce qui permettra à l’utilisateur avancé d’écrire ses propres blocs d’accélération en langage VHDL ou Verilog, donc de personnaliser à souhait les fonctions matérielles de la carte Uno.
Pour en savoir plus : www.aloriumtech.com