EEJournal

专题文章
现在就订阅

基于fpga的Arduino克隆类固醇

时不时地,有人会提出一个想法,让我觉得,“哇,这是个很棒的概念,为什么我没想到呢?”这是几年前我被介绍给杰森·佩克尔的时候Alorium技术.反过来,杰森把我介绍给了他们的XLR8(“加速”),它是Arduino的临时替代品,有一个有趣的转折。

正如我们下面看到的,XLR8与常规Arduino Uno具有相同的物理足迹。不同之处在于,与使用Microchip Technology的常规8位ATmega328P微控制器不同,XLR8采用了Altera(现在是英特尔)的MAX 10 FPGA。这个FPGA已经被配置为与Uno的处理器完全相同的行为,它被实现为软核,直到32 KB闪存和2 KB RAM,所有运行在16 MHz。

这意味着你可以把现有的Arduino Uno屏蔽器插入到XLR8上,你可以把现有的Arduino Uno草图(程序)在XLR8上运行,一切都会像你实际上在使用Arduino Uno一样。

基于fpga的XLR8看起来和工作起来像Arduino Uno
(图片来源:Alorium Technology)

现在,在这一点上,你可能会问自己,“这个练习的意义是什么?”毕竟,正如Dirk Gently在德克·斯文的全面侦探社已故的伟大的道格拉斯·亚当斯说:“如果它长得像鸭子,叫得像鸭子,我们至少要考虑到我们手上有一只anatidaæ家族的小水鸟的可能性。(我一直想和这个小美人谈谈,但我不知道“anatidaæ”怎么发音。)

好吧,这就是事情开始变得真正聪明的地方,因为Alorium的那些小流氓已经创建了一个加速器块(xb)库,您可以使用它来提高XLR8的功能和性能。

让我们以伺服系统为例。标准的Arduino Uno使用中断来跟踪时间。问题是,为这些中断服务可能会导致处理器控制的任何伺服系统出现“抽搐”。相比之下,XLR8中有一个XB,可以用来控制伺服系统,而不会因为中断而产生任何恼人的抽搐。

看一看这个视频,这确实说明了我在说什么。在左边,我们有一个标准的Arduino Uno克隆;右边是XLR8。这两块板子都是控制伺服器的,每一块板子上都有一个激光指示器。看着激光投射到墙上的点,你真的可以看到克隆体引起的抖动,以及XLR8的缺乏。

现在,之前我说过XLR8的行为完全像Arduino Uno,那么我们如何解释这种差异呢?好吧,开箱即用,如果你运行为Arduino Uno创建的原始伺服草图,XLR8的结果将是相同的。如果我们看一下这张草图,我们会看到下面的声明:

# include < Servo.h >

这告诉编译器包含标准伺服库。稍后,在程序中,将调用这个库中的函数。如果我们希望访问XLR8的伺服XB块,我们所要做的就是将include语句更改为以下内容:

# include < XLR8Servo.h >

程序其余部分中的所有函数调用都保持完全相同。我不知道你怎么想,但我认为这是一个非常聪明的概念。事实上,我最近就利用了这个想法。我不记得我是否在EE Journal上提到过这个,但几个月前我构造了一个12×12乒乓球数组,每个乒乓球都包含一个WS2812B(又名NeoPixel)形式的三色LED。在这种情况下,我使用Adafruit的NeoPixel库,所以我的草图包括以下语句:

# include < Adafruit_NeoPixel.h >

作为系列文章的一部分,我一直在记录这个构建实用的电子产品,是英国首屈一指的电子、计算和制造商杂志。作为其中的一部分,我想邀请我的读者创建他们自己的程序,他们可以通过电子邮件发给我,让我在数组上运行。这个想法是为了有一个最好的应用或效果的竞争。问题是,如果没有数组来运行,几乎不可能运行这样的程序。

我想到的解决办法是给阿罗瑞姆的杰森打电话,告诉他我想做什么。接着,Jason向神秘软件艺术大师Bryan Craker解释了这个位置,然后——在你说“Max,我能给你一个热培根三明治和一杯冰啤酒吗?”-布莱恩和杰森创建并发布了一个Github上的NeoPixel模拟器.现在,与使用Adafruit的NeoPixel库相反,我们可以使用以下语句:

# include < NeoPixel_Simulator.h >

同样,程序中所有其他与neopixel相关的命令保持不变。这个“模拟器”允许用户创建他们的12×12数组程序,并在Arduino IDE的串行监视器窗口上显示结果。让你的大脑围绕着它的最简单的方法是看它在行动中所描述的这个视频

但我担心我们有误入歧途的危险。Alorium的人创造的下一个东西是他们的Snō板,这-再一次-具有MAX 10 FPGA。默认情况下,sno就像Arduino Nano(8位数据总线,16 MHz时钟,32 KB Flash和2KB RAM)。然而,在这种情况下,如果您愿意,您可以将时钟增加到32 MHz(非正式地,我听说在天气好的时候可以将时钟增加到64 MHz)。像XLR8一样,你可以使用Alorium的xb库来显著提升snoto的功能。

基于fpga的snoto就像Arduino Uno
(图片来源:Alorium Technology)

再一次,Alorium的人们用他们的聪明才智给我留下了深刻的印象因为他们还想出了SnōMākr分流板(BOB)。这里的想法是,尽管设计师可能希望将sno嵌入到他们的最终产品中,但能够创建可以轻松使用大量常规Arduino Uno屏蔽的原型是很好的。snokm ākr BOB允许snoke访问所有这些护盾。

snokm ākr BOB (snoke会附着在中间的垫子上)
(图片来源:Alorium Technology)

如果你有兴趣看到snoto的行动,看看这个视频展示了一个snoto控制一个有18个伺服的六足机器人。

在我们继续之前,我应该提到的一件事是——尽管它们非常有用——Alorium提供的xb实际上主要是为了展示可以做什么。Alorium还提供了一个设计流程,允许用户创建自己的xb来满足特定项目的独特需求。

另一个有趣的产品是Evo M51模块,它是基于越来越受欢迎的Adafruit羽毛的形式因素和销。通过将强大的Microchip 32位SAMD51微控制器与低成本、高功能的Intel MAX 10 FPGA配对,Evo M51提供了嵌入式计算性能和灵活性的完美融合。

Evo M51拥有32位处理器和MAX 10 FPGA
(图片来源:Alorium Technology)

除了用Arduino IDE编程Evo,你还可以用它编程CircuitPython当我有空闲时间的时候,我真的很想去做这件事(“空闲时间?”我哭着笑)。

再看一下上图。你看到什么奇怪的东西了吗?好吧,除了21个主要输入/输出(I/O)垫,在板的边缘是相应的微型“蜂窝”垫,在这些垫之间是额外的34个蜂窝垫。

Evo M51板具有蜂窝垫,可访问丰富的I/ o(图片来源:Alorium Technology)

说实话,这是我第一次看到这种蜂窝垫的概念。我认为这是非常聪明的,我希望这种类型的其他板的制造商也能把这些蜂窝垫。

你注意到我了,另一件吸引我眼球的礼物是Alorium的XGZ近传感器物联网压缩模块。

XGZ近传感器物联网压缩模块
(图片来源:Alorium Technology)

正如其网站上所说,“XGZ是一种即插即用的解决方案,可将内联GZIP数据压缩添加到无线物联网终端节点,用于近传感器压缩和数据处理。XGZ背后的想法是解决与物联网蜂窝链路相关的有限吞吐量和每月数据限制的挑战。集成XGZ可以带来两个关键的物联网系统好处:提高蜂窝物联网数据吞吐量,降低整体数据计划订阅费用。”

这是一个简单而聪明的想法。XGZ使用流行的Digi XBee足迹,因此可以轻松地将其放入目前使用Digi XBee蜂窝LTE-M/NB-IoT调制解调器的任何应用程序中。假设您有一个现有的XBee堆栈,由一个传感器/微控制器模块和一个XBee单元模块组成,您所要做的就是将它们分开,并将XGZ插入到“三明治”中XGZ帐面价值,以了解更多详情)。

老实说,我真的只触及了那些聪明的家伙们所提供的一切Alorium.如果你想了解更多,我建议你浏览他们的网站,尽情享受他们所有的产品和服务。与此同时,我一如既往地欢迎您的评论、问题和建议。

关于“基于fpga的Arduino克隆类固醇”的12个想法

  1. 马克斯,

    生活往往是不公平的。
    十年前,我发布了ZPUino的第一个beta版本,这是一个基于fpga的Arduino设计。事实上,beta版的公开发布是在2011年3月6日,所以差不多整整十年了。
    这在当时是非常棒的——市场上唯一的arduino是基于AVR8微控制器的,而这个设计是基于32位处理器(虽然性能不是很好,但通常是96MHz)。一切都将按预期工作,您可以轻松地扩展设计以包括您最喜欢的IO设备。最受欢迎的板是Gadget Factory Spartan6,有大量的IOs可用,还有一些SDRAM。

    再一次,它在开始时确实获得了一些吸引力,但ARM arduinos的出现掩盖了性能优势,很少有足够的知识在VHDL或Verilog中实现硬件。

    Gadget Factory还生产了一款带有Arduino足迹的电路板,但从未获得关注。

    项目仍在进行http://www.alvie.com/zpuino/,但由于社区缺乏兴趣,最近没有更新。

    Alvie

留下回复

有特色的博客
2023年3月30日
达门是一家国际造船集团,在120多个国家拥有50多家造船厂。虽然裸露的船体阻力模拟长期以来一直是他们的主要工作,但他们现在正在研究更复杂的模拟,如推进和机动。与th…
2023年3月29日
探索ai驱动的EDA工具的新芯片设计前沿,并了解我们的Synopsys。人工智能芯片设计软件重新定义了芯片设计、验证和测试。《AI正在推动芯片设计的新前沿》一文首次出现在《芯片设计的新视野》....上
2023年3月10日
一个经过验证的指南,使项目经理成功地接管正在进行的项目,并完成工作!

有特色的视频

第一个CXL 2.0 IP互操作性演示与遵从性测试

Synopsys对此

在本视频中,高级研发工程师Rehan Iqbal将指导您通过Synopsys CXL IP通过合规测试,并演示我们与Teladyne LeCroy Z516锻炼器的无缝互操作性。这个首创的互操作性演示证明了Synopsys致力于提供可靠的IP解决方案。

点击这里了解更多关于Synopsys CXL的信息

特色粉笔谈话亚博里的电子竞技

NXP GoldVIP:智能网联汽车集成平台
如今的智能网联汽车设计比以往任何时候都更智能、更安全,这与传感器、机器学习、空中更新、车载高带宽网络等技术的快速融合有很大关系。在这一期的Chalk Talk中,Am亚博里的电子竞技elia Dalton与恩智浦的Brian Carlson聊了聊恩智浦的新GoldVIP平台。他们研究了这种软件集成平台可以为汽车设计带来的好处,以及您如何亲自试驾GoldVIP。
2022年11月29日
16551的浏览量
Baidu