Zybo Z7 DMA音频演示


描述

这个演示包含Vivado IP Integrator和Vitis项目,控制Zybo Z7的音频编解码器,以便录制和播放音频

音频演示从麦克风(J6)或线(J7)端口记录5秒的样本,并在耳机(J5)端口上播放它。录音和回放由按钮启动。提供应用程序状态信息的消息被打印到一个连接的串行终端上。


库存

  • Zybo Z7配有MicroUSB编程电缆
  • Vivado和Vitis安装与此演示(2020.1)的最新版本兼容
  • 串行终端应用程序接收由演示打印的消息
  • 耳机或扬声器
  • 音频输入设备-如麦克风或带有3.5毫米音频插孔和音频电缆的计算机

下载及使用说明

首先,发行版(由一组供下载的文件组成)只与特定版本的Xilinx工具兼容,这在发行版的名称中指定(称为版本标记)。此外,释放仅与板的指定变体兼容。例如,Zybo Z7的释放标记的“20 / DMA / 2020.1”仅用于电路板和Xilinx工具(Vivado和Vitis)20201版的-20变体。

这个演示的最新版本用绿色高亮显示。

注意:从2020.1之前的FPGA演示发布使用不同的GIT结构,并使用不同的释放标签命名方案。

董事会变体 发行标签 版本下载 设置说明
Zybo Z7-10 10 / DMA / 20201-1 ZIP下载发布 看到使用最新版本,低于
Zybo Z7-20 20 / DMA / 202010.1-1 ZIP下载发布 看到使用最新版本,低于
Zybo Z7-10 v2018.2-1 ZIP下载发布 v2018.2-1自述
Zybo Z7-20 v2018.2-1 ZIP下载发布 v2018.2-1自述

高级用户注意事项:所有的演示Zybo Z7提供通过Zybo-Z7在Github库。关于这个存储库结构的更多文档可以在这个wiki上找到Digilent FPGA演示GIT存储库页面。


最新版本的使用说明可以在下拉菜单中找到:

使用最新版本

注意:这个工作流在许多Digilent FPGA演示中都很常见。截图可能与您正在使用的演示不匹配。

重要的:这些步骤仅适用于Xilinx工具版本2020.1及以后的版本。旧版本可能需要其他流,如发布表中所述。

首先,从上面链接的演示版本下载'* .xpr.zip'和'* .ide.zip'文件。XPR存档包含用于构建此演示的硬件平台的Vivado项目。如果需要,可以打开,修改并用于更新硬件平台,然后是可选的项目。IDE存档包含要导入Vitis工作空间的一组项目。

注意:不像Vivado XPR档案,不提取Vitis项目档案('*.ide.xip')。Vitis直接从归档文件导入源代码。


从一个版本导入葡萄项目

选择对应于操作系统的下拉菜单,如下所示。

视窗

通过开始菜单或安装过程中创建的桌面快捷方式打开Vitis。

Linux
打开一个终端并运行以下命令。默认安装路径为/opt/Xilinx。
来源 / vitis/2020.1/settings64.sh vitis

注意:不管OS.,如果Vivado是开放的,血管也可以通过工具→启动Vitis工具栏选项。


启动Vitis后,将出现一个对话框,其中必须选择一个工作空间。工作空间是正在开发的应用程序的所有项目和文件所在的目录。如果选择了当前不存在的文件夹,则将创建该文件夹。选择一个工作区并单击发射完成Vitis的发射。


打开Vitis,点击导入项目从a导入项目的按钮葡萄项目导出zip文件,然后导航到并选择您下载的IDE压缩文件。


确保检查了归档中的每个项目,然后单击结束将它们导入您的工作区。


应用修复葡萄2020.1 Bug

由于Xilinx的Vitis IDE的2020.1版本中存在一个bug,项目还需要另外两个步骤才能正确导入。如果您正在使用另一个版本的Vitis,请忽略这一节。

导入项目后,打开.sprj文件。在“系统项目设置”中,单击...图标,如图所示。选择呈现的平台并单击Ok。


右键单击.prj文件并选择属性.在打开的窗口中,进入C / c++构建并选择设置,如图所示。打开Settings选项卡后,选择链接脚本并将现有路径更改为. . / src / lscript.ld.单击“应用并关闭”。

现在已正确导入项目。


构建一个葡萄应用程序

一旦建立了应用程序项目并包含了所有必要的源代码,就应该构建它。中选择系统项目,以生成项目及其所有依赖项助理窗格,要么单击构建按钮(),或按键盘上的Ctrl-B。

注意:在“助手”窗格中有三种类型的构建目标:平台、系统和应用程序。构建应用程序不会触发系统中要构建的任何其他应用程序,而是将包装器构建为依赖项。构建平台只会构建平台,因为它没有依赖关系。构建系统会导致构建系统中的每个应用程序以及平台。

这个过程可能需要几分钟才能完成。当完成时,控制台选项卡在窗口底部将显示“Build Finished”消息。


设置Zybo Z7

通过MicrousB编程电缆将Zybo Z7插入计算机。

将你的麦克风或辅助输入插入你的Zybo的适当插孔(分别是MIC IN或LINE IN)。将扬声器/耳机插入耳机插孔(HPH OUT)。


启动一个葡萄应用程序

首先,许多应用程序需要一个串行控制台连接到电路板上,以便可以查看标准输出(来自打印语句)。为此,应该使用一个串行终端。使用一个串行终端应用程序连接到板的串口。除非另有说明,Zynq设计使用的波特率为115200,而Microblaze设计的AXI UART Lite IP使用的波特率为9600。

注意:虽然Vitis在其Debug视图中包含一个内置的串行终端,但它将字符逐行发送到板上。一些软件示例要求使用逐字符的数据接收。Tera术语或者腻子如果你不确定什么会起作用,推荐使用。


资源管理器在屏幕左侧的窗格中,右键单击要运行的应用程序或系统项目,然后选择运行→1启动硬件(单个应用程序调试).使用比特流对FPGA进行编程,将软件构建创建的ELF文件加载到系统内存中,应用程序项目开始运行。你将需要点击回到葡萄属串行终端控制台选项卡。

注意:当项目至少运行一次后,您可以使用绿色运行按钮()在屏幕顶部的工具栏中对板子进行编程。


此时,演示现已在您的电路板上运行。参考描述本文档的一节以获得更多关于它的功能的信息。


此处的其他步骤介绍了如何使用释放中提供的其他存档,其中包含硬件项目,重建Vivado项目,并使用新导出的XSA文件更新Vitis中的平台。


为了修改和切换裸金属演示的硬件平台,你应该首先打开版本中的Vivado项目。解压之前下载的'*.xpr.zip'文件。


在Vivado中打开一个块设计项目
发射Vivado

选择对应于操作系统的下拉菜单,如下所示。

视窗

通过开始菜单或安装过程中创建的桌面快捷方式打开Vivado。

Linux

打开一个终端,将目录(cd)更改为Vivado会话日志文件所在的文件夹,然后运行以下命令:

源< install_path > / Vivado / <版本> / settings64.sh Vivado


在Vivado的欢迎界面中,使用开放项目按钮导航并打开包含该版本被提取到的文件夹中的XPR文件。


项目的框图,其中包含设计,以及所有现有的组件及其连接,可以通过双击“*”打开。在源窗格中的Bd”文件(其中还包括其他源文件,如约束),或通过单击开放块设计按钮流导航器窗格。


对设计进行更改超出了本文档的范围。有关如何使用IP Integrator创建或修改项目的更多信息,请访问开始与Vivado和Vitis为Baremetal软件项目.本文的其余部分将讨论如何生成一个比特流,导出一个新的硬件平台,并将其加载到Vitis中。


在Vivado项目构建之前,必须验证块设计。这个步骤运行块设计的自动检查,以查看是否有任何潜在的问题。单击验证设计按钮()在图表窗格的工具栏中(或按F6键)。

如果设计有问题,会弹出一个列出问题的对话框。应该注意的是,大多数警告可以被忽略,就像有些人可以重要的警告.这些问题也可以在消息窗口底部窗格的选项卡。

如果没有问题,将弹出一个对话框告诉您。点击接着说。

注意:某些Zynq板可以在与PCW_UIPARAM_DDR_DQS_TO_CLK_DELAY参数相关的此阶段产生关键警告。这些警告是无知的,不会影响项目的功能。有关更多信息,请参阅电路板参考手册的“硬件勘误表”部分。


建立一个Vivado项目

此时,通过通过综合和实现来运行,vivado项目已准备好建立,并最终生成比特流。单击生成比特流按钮程序和调试部分的流导航器窗户左边的窗格。


将弹出一个对话框,其中包含了应该如何运行Synthesis和Implementation的几个选项。大多数应该保留为默认值。特别重要的是就业人数下拉列表,用于指定计算机的资源是多少应致力于构建。更大数量的作业将致力于更多资源,这将允许构建更快地完成。建议选择最高的可用数字。

注意:关于包含在另一个IP中的IP如何用不同的板值打包的重要警告可以安全地忽略。同样的道理也适用于一些Zynq董事会关于ck - dqs的负面延迟的警告。

根据设计的复杂性、使用的电路板和计算机的强度,构建项目的过程可能需要5到60分钟。


完成后,会弹出一个对话框,显示接下来要做的几个选项:

  • 开放的设计实现可以用来查看已经实现并将放置在芯片上的实际硬件设计。
  • 查看报告可以用来查看有关设计的附加信息,包括设计将使用FPGA的多少资源。
  • 开放硬件管理器可以直接使用Vivado的硬件管理器,它可以用来编写一个硬件设计到一个板上。这通常用于不涉及软件组件的设计。
  • 生成内存配置文件可以用来创建一个文件,将仅fpga设计编程到闪存中。

如果需要这些选项,请单击取消接着说。


导出硬件平台

一旦项目建成,设计必须从Vivado导出,以便Vitis能够访问软件应用程序正在开发的硬件信息。这包括连接到处理器的一组IP、它们的驱动程序、它们的地址等等。导出硬件后,比特流已经产生,让你的程序板直接从Vitis。


单击,导出硬件设计出口→硬件出口在里面文件菜单。


弹出向上的向导指导您通过可用于硬件导出的选项。第一个屏幕允许您选择一个固定或者可扩展的平台。在这种情况下,选择固定平台并单击下一个接着说。


输出屏幕允许您选择是否只有硬件规范(Pre-synthesis)应该被导出,或者是否应该包含比特流。由于比特流已经生成,它应该包含在平台中,以便Vitis可以自动找出它在编程板时的位置。选择包括比特流并点击下一个接着说。


文件screen提供了为Xilinx Shell Architecture (XSA)文件选择一个名称的选项,并提供了将放置该文件的文件夹的路径。为XSA文件指定一个名称,并选择一个便于记忆的位置放置它。这个文件稍后将被导入到Vitis中,因此请注意它的位置和名称。

重要的:请勿在文件名或导出路径中使用空格。强调或camelCase建议。

点击下一个接着说。


向导的最后一个屏幕总结了您所选择的选项。点击结束


在Vitis中更新硬件平台

如果在创建了Vitis应用程序项目之后更改了硬件设计,则必须执行几个步骤,以便用新导出的XSA文件更新Vitis工作区。XSA文件包含与Vitis有关的关于硬件平台的所有信息,并且根据该文件更改平台项目的规范将自动加载任何更改。这包括为已安装的新IP添加新的驱动程序,并更改定义地址的文件和任何已安装的IP的其他详细信息,这些地址可能已被重命名或已更改。

这些步骤假定您已经按照创建新的Vitis工作区之前所采用的方法重新生成了位流并重新导出了硬件。


在血管中助理窗格中,找到希望用新硬件更新的平台项目。该项目通常有一个以“_wrapper”结尾的名称,并以文本“[Platform]”标记。

右键单击该项目并选择更新硬件规范


在弹出的对话框中,单击浏览,并导航到您希望平台目标的XSA文件的位置。点击开放选择此文件。


仔细检查硬件规范文件路径与要使用的XSA文件匹配,然后单击启动更新平台的自动过程。

完成后,将弹出一个对话框,以说明平台项目已更新。点击承认这一点。


此时,对硬件规范的更改已经加载到硬件平台中。如果比特流被加载到XSA文件中,它将被更新。驱动程序集和xparameters文件将改变以匹配修改后的设计。在应用程序可以被构建和编程到板上之前,可能需要对软件应用程序进行更改,然而,详细说明可能需要做什么超出了本指南的范围。



控制

音频播放和录音由以下按钮控制。

按钮 功能
BTN0 没有影响
BTN1 麦克风录音
这里做 在HPH上玩
BTN3 从行入记录

从输入端记录

从MIC IN录音,按BTN1.从行中录制,按BTN3.一旦录音被激活,消息“Start recording…”将通过UART发送,演示将录制5秒的音频。如果在录制过程中按下任何按钮,将通过UART发送消息“仍在录制…”。


播放到输出

要播放到HPH OUT,按这里做.一旦播放被激活,消息“Start playback…”将通过UART发送,演示将播放5秒的音频。如果在播放过程中按下任何按钮,消息“仍在播放…”将通过UART发送。


额外的资源

所有与Zybo Z7使用相关的材料都可以在其上找到资源中心

要了解在Vivado和Vitis中创建一个简单裸金属软件项目的过程,请参见开始与Vivado和Vitis为Baremetal软件项目.还可以在这里找到有关GUI的重要部分的信息,以及对修改,重建和运行硬件中此演示所需的步骤的间接讨论。

有关技术支持,请访问FPGADigilent论坛的一部分。