petalinux zynq spi_ZYNQ 系列 01 | PL 实现按键控制 LED(1)

注:本篇文章由【开源骚客:OpenSoc】公众号首发,现转载至头条号。

新的开始,这一篇文章,就算是使用 Vitis 开发 ZYNQ 的第一篇文章吧。

计划把 ZYNQ 开发写成一个系列,所使用的的软件版本为 Vitis 2019.2,硬件平台为 EBAZ4205 矿机板。

最新的软件平台配最便宜的硬件平台,哈哈哈!

软件版本可以说是最新的,选择最新,意味着这系列文章过几年后,依然不过时。硬件平台,可以算是在 ZYNQ 开发板里面最便宜的,最便宜,意味着大多数都买得起!

作为第一篇文章,暂时先不涉及 ZYNQ 的 PS 部分,以传统 FPGA 的方式来做个小实验,在 PL 端实现按键控制 LED。

当然这个小实验也可以作为验证下 EBAZ4205 转接板的好坏。

1.准备工作

EBAZ4205 矿机板本身,在 PL 端是没有焊接晶振的,但留出了使用晶振的位置。所以单纯使用 PL 端进行开发的话,咱们得先把板子上的晶振焊上。

01ffafde8fb411c28924d2a0d2d50860.png

PL晶振原理图部分

在 X5 这个位置,我焊了一个3225封装的 50M 晶振,L29的位置焊了一个 0R 电阻,R1372 焊了一个 33R 的电阻,C364 的位置焊了一个100nF 的电容,改动的地方就这几个。

这里需要注意的是,L29在背面,当时还找了挺久的一会,没电感,直接用0R电阻代替了,如果想更狠一点,用焊锡直接把 L29 连上也行!

2.Vivado 创建工程

对于 vivado 创建工程的步骤,就不详细介绍了。写这些步骤,截图太多,效率太低了。之后还是计划对这系列的文字版教程,录个配套的视频,在视频里面,跟着做,来得更直接。

代码如下:

d463cee14fb57ab84cac6931d0fe74e8.png

工程代码

其功能,最终就是实现按键按一次,LED 的状态反转一下,当然内部也有按键的消抖。

相关的引脚约束信息如下:

96948ae359670b820c79e9529c6eca3a.png

引脚约束信息

3.让工程编译的速度更快些

在 TCL 输入框中输入 set_param general.maxThreads 8,可以让编译的速度提升,vivado 默认的线程数是2。

32a4bf8c74411eeebdf49a8faa935437.png
7e56bc3943d9bf144085ace54ec9255f.png

我总共花的时间是 1分半钟 还不到,大家可以自行比较一下在设置了最大线程的状态下,与没有设置之前的编译时间会快多少。这里我就不演示了。

这一点设置非常有意义哦,大家千万别小看了它。

另外一点,矿机板默认是没有 X5 这个晶振的,那没有这个晶振,如何来实现本文中同样的功能呢?

下一篇文章,将讲解从 ZYNQ 的 PS 端引出时钟给 PL 端使用,敬请关注!

已标记关键词 清除标记
表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
相关推荐
©️2020 CSDN 皮肤主题: 1024 设计师:白松林 返回首页