向 Arduino 和 Raspberry Pi 开发板组合添加少许 FPGA

Arduino 和 Raspberry Pi 开发板是颠覆嵌入式系统开发方式的登峰造极之作。从前,嵌入式系统的开发从硬件开始。项目步骤一般如下:

规范系统要求,包括粗略估计处理速度和 I/O 要求。

选择符合功率、性能和价格要求的适当微控制器或微处理器。

连接硬件原型。

调试硬件原型。如有必要,编写少量驱动程序代码来调动线路。

硬件运行后,开始执行代码。

调试代码。

发货!

现在没那么简单了。首先,有数以千计的处理器和微控制器可供选择,而它们来自众多供应商。没有人可以把所有这些替代方案都记在脑中。

其次,上述第三项(连接硬件原型)提出了一个实际问题,因为三十年前全球已发展到采用表面贴装技术的阶段。对于电气工程,上世纪 70 年代普遍使用的原型开发技术手工布线甚至绕接技术,类似于手工锻造技术。现今已很少用到此类技术。您确实需要设计、制造和焊接原型印刷电路板,如果有更好(更快、更低成本)的替代选项,谁会花时间那样做呢?

这种情况为开发板创造了机会,直接绕过上面的一至四步。目前市场上最知名的两种开发板是 Arduino Uno(及其众多型号)和 Raspberry Pi。Raspberry Pi 的最新型号是 Raspberry Pi 3 Model B+。虽然人们经常将 Arduino 开发板与 Raspberry Pi 开发板相提并论,但两者截然不同。

Arduino 是一家开源计算机硬件与软件公司的名称、一个开源社区项目、设计和制造 Arduino 开发板的用户社区、一种集成开发环境 (IDE) 以及实际 Arduino 微控制器板本身。(Arduino 这个名字出自意大利伊夫雷亚的一家酒吧,Arduino 项目的一些最初创始人过去常在那里会面。)

最初的 Arduino 开发板基于 Atmel 的 AVR 微控制器。在使用 Arduino IDE 开发代码后,Arduino IDE 随后会编译代码,并将代码下载到板载微控制器的闪存中。Arduino IDE 支持 C 和 C++ 语言,具备其独有的特殊代码结构规则。由于 Arduino 概念得到了极大发展,较新的 Arduino 型号已升级到基于 32 位 Arm® Cortex®-M0 的微控制器,以实现更高性能(图 1)。

Arduino 开发板是作为入门级微处理器开发板,用于控制相对简单的嵌入式系统,因此其 I/O 功能非常简单。除了一些带有简单数字 I/O 和模拟输入引脚的 0.1 英寸针座外,Arduino Uno 开发板还有一个 USB 端口以及一些可以闪烁的板载 LED。就这么简单。I/O 引脚由软件控制,因此在发挥这些引脚的性能时不会有太多阻碍。

图 1:Arduino Uno 是一款基于 8 位 Atmel 微控制器的入门级开发板,具有一些简单的 I/O 功能,可作为不需要高性能的嵌入式设计的开发平台。(图片来源:Arduino)

升级到 Raspberry Pi

如果嵌入式设计需要更高性能,那么可以考虑从 Arduino 升级到 Raspberry Pi 3 B+ 开发板(图 2)。以下是该开发板的重要特性:

Broadcom BCM2837B0,1.4 GHz Cortex®-A53 (Arm®v8) 64 位 SoC

1 GB LPDDR2 SDRAM

2.4 GHz 和 5 GHz IEEE 802.11.b/g/n/ac 无线 LAN,蓝牙 4.2,BLE

USB 2.0 千兆位以太网(最大吞吐量 300 Mbps)

扩展型 40 引脚 GPIO 针座

全尺寸 HDMI

四个 USB 2.0 端口

扩展型 40 引脚 GPIO 针座

CSI 摄像头端口,用于连接 Raspberry Pi 摄像头

DSI 显示端口,用于连接 Raspberry Pi 触摸屏显示器

4 极立体声输出和复合视频端口

Micro SD 端口,用于加载操作系统和存储数据

5 V/2.5 A 直流电源输入

以太网供电 (PoE) 支持(需要独立的 PoE HAT)

图 2:Raspberry Pi 3 Model B+ 是一款出色的嵌入式硬件开发平台,具有四核 64 位 Arm 应用处理器、1 GB SDRAM 以及丰富的 I/O 功能。(图片来源:Raspberry Pi)

有了如此多的处理能力、存储器和 I/O 功能,您可以做很多事情。Raspberry Pi 3 B+ 开发板可运行 Linux,且该产品具有庞大的支持社区。Raspberry Pi 3 Model B+ 价格低廉,成为许多嵌入式开发项目的绝佳硬件平台。

当您觉得需要提速时,该怎么办?

如果 Raspberry Pi 3 Model B+ 满足您对嵌入式系统设计的所有要求,则无需再寻找其他产品。既然这款开发板价格低廉,功能又极其强大,那么何必多此一举呢?但是,如果您的嵌入式系统需要的特殊 I/O 功能超出 Raspberry Pi Model 3 B+ 的大量 I/O 资源,该怎么办?

这种情况就是您需要 FPGA 的高性能功能的一个例子,FPGA 擅长让您仅使用软件即可定义出新型高速接口。无需额外布线。此外,您还可以使用 Trenz Electronic 的 TE0726-03M 开发板 ZynqBerry(图 3),获得已内置于 Raspberry Pi Model 2 外形尺寸中的 FPGA 功能。

图 3:Trenz 的 TE0726-03M ZynqBerry 开发板采用 Raspberry Pi Model 2 外形尺寸封装了一个 Xilinx 的 Zynq Z-7010 SoC,适合需要额外 I/O 性能的嵌入式设计。(图片来源:Trenz Electronic)

ZynqBerry 基于 Xilinx 的 Zynq Z-7010 SoC,融合了双核 Arm® Cortex®-A9 32 位微处理器和 FPGA。以此打造的器件与单个处理器(或甚至以 1.4 GHz 运行的四个处理器)相比,能够处理更多的高性能任务。您可以使用可下载的 Xilinx Vivado 工具套件对 Trenz ZynqBerry 进行编程,该套件可为 Zynq SoC 的软件(处理器)和硬件 (FPGA) 端提供 IDE。

更喜欢 Arduino 的外形尺寸?

但如果您更喜欢 Arduino Uno 的外形尺寸呢?Trenz Electronic 的 TE0723-03M ArduZynq 也可满足您的这一需求(图 4)。

图 4:对于需要更多处理器和 I/O 性能的 Arduino 项目,Trenz Electronic 的 TE0723-03M ArduZynq 将 Xilinx Zynq SoC 置于 Arduino 开发板外形尺寸中。(图片来源:Trenz Electronic)

与 Trenz ZynqBerry 一样,您可以使用可下载的 Xilinx Vivado 工具套件对 Trenz ArduZynq 进行编程。

像 Arduino Uno 和 Raspberry Pi 这样的开发板可以简化许多嵌入式开发选择,但无法应对所有嵌入式设计挑战。当您的需求超出这些开发板的功能时,无需更改开发板的外形尺寸。您只需在组合中添加一点 FPGA。

  大连人流医院 http://www.fkyy120.net/

  大连治疗早泄医院 http://www.84211111.net/

猜你喜欢

转载自blog.csdn.net/qq_42894764/article/details/89884552