2、开发板选型:主流Zynq开发板介绍

说实话,选开发板这事儿,我见过太多人走弯路了。

有人一上来就买最贵的,结果项目做完,板子上大半资源都没用到。也有人图便宜,买了块入门板,做到一半发现资源不够,又得重新换板子,来回折腾。

今天我就把几款主流Zynq开发板掰开揉碎了讲讲。你听完心里就有数了。

2.1 为什么选对板子这么重要?

Zynq芯片本身是ARM+FPGA的异构架构。选板子,说白了就是选「ARM性能」和「FPGA逻辑资源」的搭配方案。

我做过一个项目,客户要求同时跑Linux系统、做4路视频采集、还要做实时图像处理。当时我选了ZedBoard,结果ARM核跑Linux还行,但FPGA资源不够做4路并行处理。后来换了ZCU104,才把活儿干完。

你看,选错了板子,轻则多花时间,重则项目延期。

核心原则:先定项目需求,再选开发板。别反过来。

2.2 主流Zynq开发板横向对比

目前市面上用得最多的,主要是这三款。我按「入门级-进阶级-高性能级」给你排好了。

型号 核心芯片 ARM性能 FPGA资源 适合场景 参考价格
ZedBoard XC7Z020 双核Cortex-A9,766MHz 85K逻辑单元 入门学习、基础嵌入式 约¥1500
PYNQ-Z2 XC7Z020 双核Cortex-A9,766MHz 85K逻辑单元 Python快速原型、AI入门 约¥1200
ZCU104 XCZU7EV 四核Cortex-A53 + 双核R5F 504K逻辑单元 视频处理、深度学习、工业控制 约¥5000

我的建议:如果你是学生或者刚入门,先买PYNQ-Z2。便宜,而且能用Python调,上手快。等做复杂项目了,再考虑ZCU104。

2.3 三款板子深度解析

2.3.1 ZedBoard —— 经典入门之选

ZedBoard是Xilinx官方最早推的Zynq开发板。我记得2013年那会儿,国内做FPGA的几乎人手一块。

它用的是XC7Z020芯片,双核Cortex-A9跑766MHz。FPGA部分有85K逻辑单元,相当于Artix-7级别的资源。

优点:

  • 资料最全,网上教程一搜一大把
  • 接口丰富:HDMI、VGA、以太网、USB、SD卡槽都有
  • 兼容性强,大部分开源项目都基于它

缺点:

  • ARM性能偏弱,跑Linux桌面会卡
  • FPGA资源有限,做不了大规模并行计算

我在项目中用过ZedBoard做工业数据采集。当时接了4个ADC,用FPGA做数据预处理,ARM跑轻量级TCP/IP协议栈。嗯,刚刚好够用。

2.3.2 PYNQ-Z2 —— Python玩家的福音

PYNQ-Z2和ZedBoard用的是同一颗芯片。但它的卖点不在硬件,在软件生态。

PYNQ全称是Python Productivity for Zynq。说白了,就是让你用Python来调用FPGA资源。

你想想看,传统FPGA开发要写Verilog/VHDL,还要懂时序约束、布线优化。但PYNQ把这些都封装成了Python库。你写几行Python代码,就能让FPGA做图像处理、神经网络推理。

优点:

  • 上手极快,会Python就能玩FPGA
  • 自带Jupyter Notebook环境,浏览器里就能编程
  • 社区活跃,有很多现成的Overlay(预编译的FPGA功能模块)

缺点:

  • 性能有损耗,Python调用FPGA有额外开销
  • 不适合做底层驱动开发,因为封装太厚了

我曾经用PYNQ-Z2做过一个手势识别的小项目。用摄像头采集图像,FPGA做边缘检测,Python跑一个简单的CNN模型。从零到跑通,只花了两天。这要是用传统方法,光写Verilog就得一周。

注意:PYNQ-Z2虽然好用,但别把它当万能板。如果你要做高速接口(比如PCIe、DDR4),或者对实时性要求极高的控制,还是得用传统方式开发。

2.3.3 ZCU104 —— 高性能玩家的利器

ZCU104用的是Zynq UltraScale+ MPSoC芯片。这是Xilinx目前主推的高端系列。

ARM部分升级到了四核Cortex-A53,主频1.5GHz。还多了两个Cortex-R5F实时核,专门跑实时控制任务。FPGA部分有504K逻辑单元,是ZedBoard的6倍。

优点:

  • 性能强悍,ARM跑Linux桌面很流畅
  • FPGA资源充足,可以做4K视频处理、深度学习加速
  • 支持PCIe Gen3、DisplayPort、SATA等高速接口

缺点:

  • 价格贵,一块板子顶三块ZedBoard
  • 开发复杂,需要掌握Vivado高级用法
  • 资料相对少,很多坑得自己踩

我去年做一个工业视觉检测项目,客户要求实时处理4路1080P视频流。ZedBoard根本跑不动,换了ZCU104才搞定。FPGA里做了4个并行处理流水线,ARM上跑OpenCV做后处理。嗯,这活儿才算拿下了。

2.4 如何根据项目需求选板?

我总结了一个简单的决策流程,你照着走就行。

开发板选型决策流程 开始选型 是否做AI/ 图像处理? 是 否 需要4K/ 多路视频? 是 ZCU 104 否 PYNQ-Z2 (Python快速原型) 需要高速 接口/实时控制? 是 ZCU104 (高性能方案) 否 ZedBoard (经典入门方案)

这个流程图的逻辑很简单:

  1. 先看项目类型——做AI/图像处理,走右边分支;做传统嵌入式,走左边
  2. 再看性能需求——需要4K视频或多路并行,选ZCU104;否则选PYNQ-Z2
  3. 最后看接口需求——需要PCIe、SATA等高速接口,选ZCU104;普通应用选ZedBoard

我的经验:如果你不确定选哪块,就买PYNQ-Z2。它兼容性好,就算项目做大了,也能把Python原型移植到ZCU104上。我手头就常备一块PYNQ-Z2做快速验证,等方案确定了再上高端板子。

2.5 避坑指南

最后说几个我踩过的坑,你注意一下。

  • 别只看芯片型号——同样是XC7Z020,ZedBoard和PYNQ-Z2的外设接口不一样。PYNQ-Z2没有VGA,但有WiFi模块。选之前先列清楚你需要哪些接口。
  • 注意DDR容量——ZedBoard只有512MB DDR3,跑Linux还行,但做视频处理就不够了。ZCU104有2GB DDR4,差距很大。
  • 散热问题——ZCU104跑起来发热很厉害。我去年夏天做项目,没加散热片,板子直接过热保护了。嗯,后来老老实实加了风扇。
  • 开发工具版本——ZCU104需要Vivado 2018.3以上版本。如果你还在用老版本,可能不支持。我建议统一用Vivado 2020.1,兼容性最好。

好了,开发板选型就聊到这儿。你心里有数了吧?

可可精品资料库