向 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。
关于作者Steve Leibson 是 HP 和 Cadnetix 的系统工程师、《EDN》和《Microprocessor Report》杂志主编以及 Xilinx 和 Cadence 的技术博主,并担任过两集“The Next Wave with Leonard Nimoy”的技术专家。33 年来,他一直致力于帮助设计工程师们开发出更好、更快、更可靠的系统。
注:本文转载自:Digikey官网,版权归原作者所有,如涉及侵权,请联系小编删除。
-
使用Python和Jupyter笔记本快速构建基于FPGA的设计并进行编程
-
AI Tech 2019:崂山论“智”,Xilinx秀独家“秘笈”
-
三城联动,Xilinx 工业物联网研讨会报名进行时!
-
如何破解两把“剪刀差”加速AI落地?Xilinx给出了答案
-
诚邀:Xilinx 九大演示亮相第二届数字中国建设峰会
-
Alveo U200,U250,U280数据中心加速卡用户指南中文版上线
-
Xilinx与 Solarflare 携手,共同突破网络壁垒
-
【视频教程】将 System Generator DSP 版用于 RFSoC
-
四大平台开放申请,万元大奖等你拿—— Xilinx 研电赛支持升级
-
让 “芝麻开门” 落地,Xilinx 给出加速应对策略
-
Xilinx 联手三星打造丰富的 5G 生态系统
-
双料冠军!Xilinx ADAS 解决方案 和RFSoC FPGA 齐获CEM 2018年度最具竞争力编辑选择奖
-
【重磅】GCC和CCIX宣布合作,共推异构缓存一致性加速架构
-
深入浅出玩转Xilinx Vivado工具实战设计技巧
-
【视频】超低延迟的 KVS 让用户体验更完美
-
安富利推出Ultra96-V2开发板
-
【教程】在三重缓存模式下使用 AXI VD
-
【教程】在 PYNQ-Z2 电路板上使用 TMDS I/O 进行的 DVI 输出
-
澎湃算力-Xilinx 助力华为全新 FusionServer Pro 智能服务器实现“芯片级”起跳
-
【教程 】在 ZC702 评估板上支持多种 HDMI 分辨率 (TX)
-
硬件仿真世界
-
在 Vivado Synthesis 中使用 SystemVerilog 接口连接逻辑
-
【视频】采用赛灵思机器学习套件实现实时推断
-
【下载】Model Composer入门指南
-
Vivado综合操作中的重定时(Retiming)
-
如何在保留原有基础设施的前提下部署先进的58G PAM4技术?
--end--
声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com