设计一款基于树莓派或Arduino更强大的FPGA开发板

网友投稿 2019-08-25 12:49

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

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

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

  • 连接硬件原型。

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

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

  • 调试代码。

  • 发货!

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

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

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

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 引脚由软件控制,因此在发挥这些引脚的性能时不会有太多阻碍。

https://cdn.china-scratch.com/timg/190827/1249562594-0.jpg

升级到 树莓派

如果嵌入式设计需要更高性能,那么可以考虑从 Arduino 升级到 树莓派 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 摄像头端口,用于连接 树莓派 摄像头

  • DSI 显示端口,用于连接 树莓派 触摸屏显示器

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

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

  • 5 V/2.5 A 直流电源输入

https://cdn.china-scratch.com/timg/190827/12495B418-1.jpg

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

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

--end--

声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com