上海浦东新区张东路 1387 号 45 幢
电话:+86-21-58893151
邮箱:china.sales@digilent.com.cn
PYNQ-Z1 官方入门指导手册
在这份指导手册中,我们将说明如何配置硬件及软件平台,以及通过四个实例学习使用
Python 对 PYNQ-Z1 开发板编程。指导手册的内容包括:
• 软硬件准备
• PYNQ-Z1 硬件设置
• 连接到 Jupyter 进行在线编程
• 4 个 PYNQ 入门例程实践
在 PYNQ-Z1 的 使 用 过 程 中 , 如 有 任 何 问 题 , 欢 迎 访 问 :
www.DIGILENT.com.cn/community (中文),或 www.PYNQ.io(英文)进行 反馈或寻求
支持。
www.digilent.com.cn
指导手册目录
指导手册目录 ....................................................................................................................... 2
1. PYNQ 简介 ................................................................................................................... 3
2. Jupyter Notebook 简介 ............................................................................................ 4
3. 软硬件准备 ................................................................................................................... 4
4. PYNQ-Z1 硬件设置 ..................................................................................................... 5
5. 连接到 Jupyter 进行在线编程 ..................................................................................... 7
6. PYNQ 入门例程实践 .................................................................................................. 14
实验一:按键控制 LED ........................................................................................................... 14
实验二:录音及音频处理....................................................................................................... 16
实验三:使用 PmodOLED ...................................................................................................... 19
实验四:面部识别................................................................................................................... 21
2
1. PYNQ 简介
PYNQ-Z1 开发板支持 PYNQ 项目,这是一个新的开源框架,使嵌入式编程人员能够在无
需设计可编程逻辑电路的情况下即可充分发挥 Xilinx Zynq All Programmable SoC(APSoC)
的功能。与常规方式不同的是,通过 PYNQ,用户可以使用 Python 进行 APSoC 编程,并
且代码可直接在 PYNQ-Z1 上进行开发和测试。通过 PYNQ,可编程逻辑电路将作为硬件
库导入并通过其 API 进行编程,其方式与导入和编程软件库基本相同。
PYNQ-Z1 开发板是 PYNQ 开源框架的硬件平台。在 ARM A9 CPU 上运行的软件包括:
• 载有 Jupyter Notebooks 设计环境的网络服务器
•
IPython 内核和程序包
• Linux
• FPGA 的基本硬件库和 API
3
2. Jupyter Notebook 简介
Jupyter Notebook 是一个基于浏览器的交互式编程计算环境。在使用 Jupyter Notebook 编
程时,文件里可以包含代码、画图、注释、公式、图片和视频。当 PYNQ 开发板上安装好
镜像文件,就可以在 Jupyter Notebook 里轻松地用 Python 编程,使用硬件库及 Overlay
控制硬件平台及交互。
3. 软硬件准备
1) 硬件准备
PYNQ-Z1 开发板
以太网线
Micro USB 数据线
空白 Micro SD 卡(最少 8GB 容量)
2) 软件准备
电脑上安装有支持 Jupyter 的浏览器
提示:以下浏览器的最新稳定版本可支持Jupyter Notebook*:
✓ Chrome
✓ Safari
✓ Firefox
* 主要由Jupyter Notebook 使用的WebSockets 和可变沙箱模型决定
不支持Jupyter 的浏览器:
Safari,低于版本5
Firefox,低于版本6
Internet Explorer 浏览器,低于版本10
Internet Explorer 浏览器,版本10 及以上(同Opera)
Chrome,低于版本13
全部Opera:CSS 渲染原因导致,但是执行时有可能可以用
基于IE 的360 浏览器
* 请注意,Safari 在HTTPS(SSL 安全加密的超文本链接协议)和不可信证书下无法正
常工作(主要是WebSockets 无法正常工作)
4
获取镜像文件
下载 PYNQ-Z1 镜像文件并解压
将空白的 SD 卡插入电脑(最小需 8GB 容量),烧写镜像文件
Windows 系统:使用 win32DiskImager 烧写。Image File 选择下载好的
镜像文件。Device 选择 SD 卡的位置,一般会自动分配为 E 盘或 F 盘。
Linux 系统/MacOS:使用系统自带 dd 命令,在不同操作系统上烧写
Micro SD 的操作细节,可参考教程 Writing the SD card image
4. PYNQ-Z1 硬件设置
1. 如上图所示,将跳帽插在最上边两个排针上,设置 boot 跳线(板上标记的 JP4)到 SD
位置,选择为从 SD 卡驱动
2. 要想通过 Micro USB 线对 PYNQ-Z1 进行供电,需如图所示将跳帽插在的最下边两个
排针上,设置电源跳线(JP5)到 USB 的位置(你也可以使用 12V 外部电源对 PYNQ-
5
Z1 进行供电,将跳帽插在的最上边两个排针上,设置电源跳线(JP5)到 REG 的位
置)
3. 将已安装镜像文件的 SD 卡插入 SD 卡槽(如图所示,SD 卡槽在开发板下方右侧边缘)
4. 使用 Micro USB 线将 PYNQ 开发板的 PROG UART(J14)接口连接到电脑。这将用来
给 PYNQ 供电以及作为串口通信
5. 使用网线将 PYNQ 开发板连接到路由器或电脑(根据网线端口的选择,后续操作会有
不同)*
6. 将开关拨到 ON 以打开 PYNQ,等待系统启动。大约一分钟后将有两个蓝色的 LED 和
四个黄绿色的 LED 同时闪动,随后蓝色 LED 关闭,四个黄绿色的 LED 灯亮。此时系统
启动完毕。
* 关于板载以太网连接的详细说明
你可以将 PYNQ-Z1 的以太网接口和以下设备连接:
连接到一个路由器或者交换机上,与你的电脑在同一网络下
直接连在电脑的以太网接口上
可以的话,请将你的开发板连接到一个具有以太网访问的网络上。这可以让你更新板子上
的软件并可以安装新的软件包。
• 连接到网络
如果你通过 DHCP 服务器连接到一个局域网络,你的板子会自动获取一个 IP 地址,你必
须保证有足够的权限通过网络访问到设备,否则板子可能无法正常访问。
路由器/网络交换机(DHCP)
1. 将板载以太网接口连接到路由器/交换机上
2. 通过浏览器访问 http://pynq:9090
3. 更改主机名称(根据自身需求)
4. 配置代理(根据自身需求)
• 直接连接到电脑
此时,你需要一台有以太网接口的电脑,同时你需要拥有配置网络接口的权限。通过直接
相连,你就可以访问使用 PYNQ-Z1 了。但是这里需要注意,除非你能将以太网与电脑上
6
具有 Internet 访问的连接进行桥接,否则你的 PYNQ-Z1 是无法访问 Internet 的。在没有
Internet 连接的情况下,你不能更新或者加载新的软件包。
直接连接你的电脑(静态 IP)
1. 给电脑配置一个静态的 IP
2. 将板载以太网接口与电脑的直接相连
3. 访问 http://192.168.2.99:9090
*如何配置静态 IP 请参见 Assign your PC/Laptop a static IP address
5. 连接到 Jupyter 进行在线编程
如果 PYNQ 通过网线连接到了路由器,PYNQ 将被自动分配地址。打开 http://pynq:9090,
用户名和密码都是 xilinx,输入后即可进入以下界面。
如果 PYNQ 通过网线连接到了电脑,需要先设置电脑的 IP 地址,参考 Assign your
PC/Laptop a static IP address,然后再打开 http://192.168.2.99:9090。同样,输入用户名及
密码 xilinx,即可进入以下界面。
7
默认的主机名是 pynq,默认静态 IP 地址是 192.168.2.99。如果你改变了主机名称或者板
子上的静态 IP 地址,你需要改变你访问的地址。第一次连接时,电脑会花费几秒钟的时
间来确定主机名和 IP 地址。
PYNQ 通过 Jupyter Notebook 的形式来提供各种示例文档。你可以以网页形式浏览这些示
例项目文档,或者如果你有一个正在运行 PYNQ 镜像的板子,你可以可交互式地查看并运
行这些 Notebook 文档。
你也可以在 Jupyter 主页上的 Getting_Started 文件夹中找到可以使用的 Notebook 文档。
这里也有许多示例文档来展示如何使用各种板载设备。
此外,我们还提供了一些样例展示如何使用不同的板载外围设备。
8