Zybo Z7 DMA音频演示


描述

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

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


库存

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

下载及使用说明

首先也是最重要的是,版本(由一组供下载的文件组成)只与Xilinx工具的特定版本兼容,这是在版本名称中指定的(称为版本标记).此外,版本只与板的指定变体兼容。例如,Zybo Z7的一个标记为“20/DMA/2020.1”的版本只用于板的-20变体和Xilinx工具(Vivado和Vitis) 2020.1版本。

这个演示的最新版本用绿色突出显示。

注意:2020.1之前的FPGA演示版本使用了不同的git结构,并使用了不同的版本标签命名方案。

董事会变体 版本标记 版本下载 设置说明
Zybo Z7-10 10 / DMA / 2020.1 - 1 ZIP下载发布 看到使用最新版本,低于
Zybo Z7-20 20 / DMA / 2020.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 Demo Git Repositories页面。


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

使用最新版本

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

重要的是:这些步骤仅用于Xilinx工具版本2020.1及更新版本。较早的版本可能需要其他流程,如版本表中所述。

首先,从上面链接的演示发布页面下载“*.xpr.zip”和“*.ide.zip”文件。XPR归档文件包含Vivado项目,该项目用于为本演示构建硬件平台。如果需要的话,可以打开、修改该项目,并用于稍后更新硬件平台,但这是可选的。IDE存档包含一组要导入到Vitis工作区的项目。

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


从一个版本中导入Vitis项目

在下面的操作系统中选择对应的下拉菜单。

窗户

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

Linux
打开终端,运行如下命令。安装路径默认为“/opt/Xilinx”。
源< install_path > /葡萄/ 2020.1 / settings64.sh葡萄

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


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


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


确保选中了存档中的每个项目,然后单击完成将它们导入到您的工作区。


应用修复葡萄2020.1错误

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

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


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

现在正确地导入了项目。


构建一个Vitis应用程序

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

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

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


安装Zybo Z7

将Zybo Z7通过microrousb编程线插入计算机。

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


启动一个Vitis应用程序

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

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


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

注意:项目至少运行一次后,您可以使用绿色运行按钮()的工具栏中显示,以对电路板编程。


此时,演示程序正在您的板上运行。指的是描述部分以获取更多关于它的功能的信息。


在此之外的其他步骤介绍了如何使用发行版中提供的其他归档文件(包含硬件项目)来重新构建Vivado项目,并使用新导出的XSA文件来更新Vitis中的平台。


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


在Vivado开一个街区设计项目
发射Vivado

在下面的操作系统中选择对应的下拉菜单。

窗户

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

Linux

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

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


在Vivado的欢迎屏幕,使用开放项目按钮来导航并打开包含在解压版本的文件夹中的XPR文件。


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


修改设计超出了本文档的范围。有关如何使用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可以自动找出它在编程板的位置。选择包括比特流并点击下一个继续。


文件屏幕向您提供了选择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.要从LINE IN录制,请按BTN3.一旦录音被激活,消息“开始录音…”将通过UART和演示将记录5秒的音频。如果在录制过程中按下任何按钮,消息“仍在录制……”将通过UART发送。


播放输出

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


额外的资源

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

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

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