FPGA正在征服越来越多的应用领域,考虑到其巨大的并行性能、灵活性和可扩展性,这也是必然的发展方向。从简单的接口设备到集成ARM处理器和千兆接口的可编程芯片系统开发——FPGA的可能性几乎是无限的。使用标准FPGA或SoC模块(无论是基于Intel或Xilinx的FPGA或SoC),结合久经验证和优化的IP核,进入FPGA技术快速而容易。
Enclustra瑞苏盈科打造的设计套件提供了一个现成的解决方案,可以即刻启动任何基于FPGA的项目的开发。笔者拿到了他家的MPSoC ZU5EV开发板(下称水星XU5开发套件),今天就来看看这套板子有什么样的神奇之处。
水星XU5开发套件有助于减少任何基于 Xilinx Zynq UltraScale+ MPSoC 的应用的开发时间。为了尽可能的缩短用户的上市时间,瑞苏盈科提供了广泛的设计支持和一个全面的生态系统,提供所有所需的硬件、软件和支持材料。详细的文档和参考设计使入门变得容易:用户手册、原理图、3D 模型、PCB 封装和差分 I/O 长度表以及基于 linux 的板级支持包(BSP),结合现成的底板和散热器,开发一个 FPGA项目前所未有的容易。
包装外观
笔者拿到的是银色手提箱版,这样的包装可有效保护内里的板卡与配件,同时看起来非常的有档次。
△ 外包装
很有仪式感的打开箱子保险扣,看看里面的东西。内里是黑色泡棉填充的,针对不同部件挖空的对应尺寸,东西放在里面绝对的稳定放心。
△ 内里及部件包装盒
套件给到的东西也不少,小到TF卡,大到摄像头,开发所需的配件都包含在里面了,面面俱全,称之为贴心不为过。
△ 所有配件合照
硬件介绍
1. 核心板
笔者拿到的水星 XU5 开发套件核心板是XCZU5EV版本。采用核心板模块的做法很灵巧,可以降低上市时间和项目风险。将其插入一个针对特殊应用的底板就可以工作了。
核心板将Xilinx Zynq UltraScale+ MPSoC器件和快速DDR4 ECC SDRAM、eMMC flash、quad SPI flash、双Gigabit Ethernet PHY、双USB 3.0相结合形成了以完整而强大的嵌入式处理系统。支持Linux和VxWorks操作系统。
这个实用的嵌入式处理平台为大家提供了一个功能强大且随时可用的系统,而不必担心特定技术的细节。
△ 核心板正面
虽然身材小巧,面积比信用卡还小,但功能强大,上面我们已经说过,详细的资源如下:
- Xilinx® Zynq Ultrascale+™ MPSoC
- ARM®双核/四核Cortex™-A53(64 bit,最高1500 MHz)
- ARM®双核Cortex™-R5实时处理器(32 bit,最高600 MHz)
- Mali-400MP2 GPU(仅EG/EV具备)
- H.264 / H.265 视频编解码(仅EV具备)
- 16nm FinFET+ FPGA fabric
- PS端最高8 GB DDR4 ECC SDRAM
- PL端最高2 GB DDR4 SDRAM
- 64 MB QSPI flash
- 16 GB eMMC flash
- PCIe® Gen3 ×4,PCIe® Gen2 ×4
- 最高 8 × 6/12.5 Gbit/sec MGT
- 2 × Gigabit Ethernet
- 2 × USB 3.0
- 2 × USB 2.0(主 & 主/从)
- 最高256,000 LUT4-eq
- 178个I/O
- ZU2CG/ZU2EG/ZU3EG:
- 14 ARM peripherals
- 144 FPGA I/O
- 20 MGT信号(时钟和数据)
- ZU4CG/ZU4EV/ZU5EV:
- 14 ARM peripherals
- 124 FPGA I/O
- 40 MGT信号(时钟和数据)
△ 核心板背面
2. 底板
底板型号是水星 Mercury+ ST1,它为水星 Mercury(+)系列的FPGA和SoC核心板提供了大量的接口,非常适合快速构建原型和打造FPGA系统,无需定制化设计。
这块底板身材紧凑,实测为120 x 100 mm,这个尺寸在圈里可谓是“娇小可人”。虽然身材紧凑,但是接口一点不含糊,特别是各种视频接口齐全。除了自身的接口,还可以扩展连接器提供I/O扩展能力。由此可见,这块底板非常适合视频应用项目的开发。
△ 底板正面
此底板的主要配置如下:
- USB 3.0
- FTDI USB 2.0高速设备控制器
- MIPI D-PHY 接口*2
- Gigabit Ethernet*2
- HDMI连接器
- Mini DisplayPort连接器
- SFP+连接器
- FMC HPC连接器
- 低抖动时钟发生器
- microSD卡槽
- 40-pin Anios连接器*2
- 12-pin IO连接器*3
- 12 V 单电源输入
△ 底板背面
Mercury+ ST1底板可通过USB连接上位机进行高速FPGA和flash编程。板载多种通用接口,尤其适合视频应用领域的开发。
△ 侧边接口
3. 配件
电源接头给了多种插口,可适配不同插座样式,带着全球跑不是问题。
△ 电源适配器及插头
这是用来运行人脸识别Demo的摄像头,这通常是要自备的,但是水星XU5开发套件很贴心的配套了一个,还是罗技的。
△ 摄像头
散热片、导热硅胶以及风扇。这个安装也很简单,自己动手可丰衣足食。
△ 散热系统
最后就是线材了,USB转Mico-USB数据线和Mini DP转DP线。
△ 线材
进一步查看资料,水星XU5开发套件上可以轻松运行、实施和原型化视频应用程序。无论是通过MIPI或USB3.0的高分辨率摄像机应用程序,还是具有不同接口(如HDMI、DisplayPort或MIPI)的多个显示器也可以以高分辨率进行控制。即使是高效的视频编码,需要硬件对H264和H265编解码器进行编码和解码。
以上为板卡硬件介绍部分。下面我们即将开始上电测试,跑跑看人脸检测和图像分类两个Demo。
上电测试
水星XU5开发套件提供了两个很应景的示例Demo,AI人脸检测和图像分类。那么上电测试就是这两个Demo了。这两个Demo均基于Xilinx工具(2020.1版)以及瑞苏盈科新创建的参考设计以及托管在GitHub上的Petalinux BSP。
[Xilinx Petalinux] 提供定制、构建和实施嵌入式Linux解决方案所需的一切。以定制来提高开发效率只是其中的一个好处。但对我们来说,他基本上包括了所有我们所需的视频应用内容。VCU和GPU的许多驱动程序和补丁都不是免费的,这让人感觉不是很舒服。所以,Petalinux 提供了一种深入“视频世界”的简单快捷的方式。
除了2020.1版本Xilinx工具链,我们还要准备一个虚拟机或真实的Ubuntu18.04版本Linux系统并安装好Vivado/Vitis与petalinux等工具,确认工具能够正常运行后,才能继续参考提供的设计资源。
Vivado 2020.2开发环境:
在开发环境准备完毕后,即可进入开发流程。
一开始,我们需要创建Vivado工程。
首先下载并解压设计文件:Enclustra_Mercury_XU5_Design-In_Kit.zip,下载完成如下所示。
解压该压缩包并进入当前路径,配置vivado的环境变量并进入工作目录。
输入make create命令,创建工程。
Create完成。
之后,根据手册,进行Make_dpu步骤。
经过一段时间的等待后,下载完成。
添加该IP,输入make adddpu。
生成bitstream文件。
可以看到在生成的过程中,输出的Timing报告等信息。
综合、实现完成。
生成并导出xsa文件。
导出完成后,即可使用bsp配置工程,先创建petalinux工程。
引用xsa文件并准备编译工程。
开始构建工程。
通常在编译后,会生成image.ub与BOOT.bin文件,将文件烧录至SD或QSPI+SD/EMMC中。
将核心板和散热器安装在底板上,安装方式(如下图)还是比较简单的。
△ 散热器安装
然后连接DP显示线、USB摄像头、以太网线和SD卡。
△ 接线完成
好了,软件硬件一切就绪,下面进入评测的最后阶段Demo运行。
Demo.1 人脸检测
通过ssh进入板卡,用户名为root,密码为root。
成功进入板卡。输入facedetect,运行人脸检测Demo。
已经能够快速准确的识别人脸。
实际运行帧率在30帧左右。输入ctrl+c退出应用,进行下一个demo测试。
Demo.2 图像识别
输入resnet50进入图像识别应用。
笔者随手拿了挂锁和螺丝刀进行图像识别测试,准确无误。
实际运行帧率与人脸识别相近,同样是30帧左右。常规物品可进行识别,但是在一些偏特殊的物品,或是特殊角度拍摄时,识别效果将有些许下降。
更多示例…
除了以上两个Demo,瑞苏盈科提供的开发笔记中还有5个实用示例,如果你是一个FPGA菜鸟,那么笔者强烈建议你看一看,它们能引导你完成基本的Zynq/ZynqMP硬件设计,将其导出到SDK,并在运行一些简单的代码。更重要的是对双向PL-PS通信的了解,从而理解AXI协议。
瑞苏盈科提供的示例如下:
使用PS DisplayPort作为窗口管理器的输出设备非常简单,甚至可以使用Qt嵌入式应用程序直接访问linuxfb。
使用VCU作为PL内的硬IP核对H264/H265进行编码和解码!看看它是如何工作的?
ARM Mali 400MP是一款支持OpenGLES 2.0的GPU。那么GPU能给我们提供什么?我们又要如何利用它?
MIPI接口支持2K、4K甚至8K的显示器和相机。如何使用ST1上的接口以及它们的功能?
PL HDMI发射器支持HDMI 2.0和1.4,分辨率高达 4096 x 2160 @60 fps。
总结
随着时代的变迁,FPGA已经没有那么高的技术门槛,同时集成度越来越高,功耗和成本的降低,将FPGA推向更广阔的领域。对于中小批量产品,使用FPGA或SoC核心板模块也特别有优势;对于大批量产品它也值得考虑——不仅仅是在原型开发过程中。
瑞苏盈科的水星Mercury XU5 开发套件由身材小巧且功能强大的水星XU5核心板、接口丰富、方便快速开发的水星ST1底板底板以及完整的配件生态组成。此外,瑞苏盈科还提供了详细的文档和参考设计,这些无不让FPGA入门变得容易。用户手册、原理图、3D 模型、PCB 封装和差分 I/O 长度表以及基于 linux 的板级支持包(BSP),有了这些东西,开发一个FPGA项目也变的前所未有的容易。
笔者也邀请你一同体验这套水星Mercury XU5 开发套件,试用活动进行中,点击这里申请吧。
关于Enclustra瑞苏盈科
Enclustra瑞苏盈科是一家创新和成功的瑞士FPGA公司,其提供的设计服务涵盖了整个基于FPGA的系统开发范围:从高速硬件或HDL固件到嵌入式软件,从技术参数和实现到原型和量产。
在FPGA解决方案方面,Enclustra开发和销售高度集成的FPGA核心板模块和久经优化的FPGA IP核。
具备广泛的工程实际经验和知识,并专注于前瞻性的FPGA技术,Enclustra可以在许多领域以最小的成本提供理想的解决方案。
自2004年成立以来,Enclustra规模不断壮大,目前在全球70+国家服务1600+客户。2019年正式进入中国市场,成立全资子公司瑞苏盈科(深圳)科技有限公司,成立之初便建立本土工程师团队,为中国客户带来更好的本土化支持与服务。
Enclustra GmbH – Everything FPGA.
www.enclustra.com.cn
www.enclustra.com