Zybo Z7 DMA音频演示


描述

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

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


库存

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

下载及使用说明

首先,发行版(由一组用于下载的文件组成)只与Xilinx工具的特定版本兼容,正如发行版名称中所指定的那样(称为a版本标记)。此外,释放仅与板的指定变体兼容。例如,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直接从归档文件导入源文件。


从一个版本中导入葡萄项目

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

视窗

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

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

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


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


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


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


应用修复葡萄2020.1错误

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

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


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

项目现在被正确导入。


构建一个Vitis应用程序

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

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

此过程可能需要几分钟才能完成。当完成时,控制台选项卡将显示“Build Finished”消息。


设置Zybo Z7

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

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


启动一个Vitis应用程序

首先,许多应用程序需要将串行控制台连接到板上,以便可以查看标准输出(来自print语句)。为此,应该使用串行终端。使用串口终端应用程序连接单板的串口。除非另有说明,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项目已准备好建立,并最终生成比特流。单击生成比特流按钮程序和调试部分的流导航器窗户左边的玻璃。


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

注意:关于包含在另一个IP中的IP是如何用不同的板值打包的关键警告可以安全地忽略。对于一些Zynq板上关于CK-to-DQS负面延迟的警告也是如此。

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


完成后,将弹出一个对话框,显示以下几个选项:

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

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


导出硬件平台

项目构建完成后,必须从Vivado导出设计,这样Vitis就可以访问正在开发软件应用程序的硬件信息。这包括连接到处理器的IP集、它们的驱动程序、它们的地址等等。bitstream生成后导出硬件允许您直接从Vitis内部编程。


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


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


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


文件屏幕提供了为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.一旦录音被激活,消息“开始录音…”将通过UART发送,演示将录制5秒的音频。如果在录制过程中按下任何按钮,消息“Still recording…”将通过UART发送。


播放到输出

要播放到HPH结束,按这里做.一旦回放被激活,消息“开始回放…”将通过UART发送,演示将播放5秒的音频。如果在回放期间按下任何按钮,消息“仍在播放…”将通过UART发送。


额外的资源

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

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

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