Nexys视频DPTI演示


概述

DPTI演示由一个Vivado硬件项目、一个用于MicroBlaze处理器的SDK项目和一个用Visual Studio编写的Windows应用程序组成。使用这些设备,用户可以与Nexys Video的车载DDR存储器进行通信。通过小型Windows应用程序,可以选择文件,并通过指定内存地址的USB PROG端口发送到Nexys Video。传输完成后,它可以被读回,并保存在PC机的硬盘驱动器的指定位置。

功能使用

不习惯 使用
8用户切换 X
8用户发光二极管 X
128×32单色OLED显示 X
USB-UART桥 X
160针FMC LPC连接器 X
Micro SD卡连接器 X
HDMI Sink和HDMI Source X
显示接口源 X
音频编解码器/四个3.5毫米插孔 X
6个用户按键 X
用户eepm X
10/100/1000以太网PHY X
512MiB 800Mt/s DDR3内存 X
串行闪存 X
四个Pmod港口 X
XADC信号的Pmod X
USB HID主机 X
USB学监/ DPTI X

先决条件

技能

  • 基本熟悉Vivado
    • 这种体验可以通过我们的“Vivado入门”指南找到
  • 基本熟悉Xilinx SDK

硬件

  • Nexys视频FPGA板
  • 微型usb电缆

软件

  • Vivado Design Suite 2015.4
    • 可以使用较新的/较旧的版本,但过程可能略有不同
  • Xilinx SDK
  • 勤奋熟练的系统

下载

Nexys视频支持库邮政编码GIT存储库


教程

1.生成项目

1.1)下载下载部分中链接的存储库,并将其放置在您选择的位置。

1.2)生成DPTI在继续之前,请遵循以下指南:如何从Digilent的Github生成一个项目

2.构建项目

2.1)点击产生的比特流在左边菜单的底部。在自动生成位流之前,Vivado将通过run Synthesis和run Implementation运行。

注:如果需要,可以按顺序单独点击每个步骤运行合成运行实现,然后产生的比特流


3.出口到SDK

导出MicroBlaze项目,请访问出口文件> >出口硬件.单击复选框以包含位流,并将其导出到hw_handoff文件夹中。

4.导入SDK文件

在左侧的项目资源管理器窗口中,单击文件>导入然后展开“常规”选项卡并单击现有项目进入工作区.导航到下载文件夹,选择sdk文件夹,单击“确定”。在进口窗口,单击“完成”,导入SDK项目。导入项目之后,右键单击design_1_wrapper_hw_platform_0中,选择修改硬件平台规范,去hw_handoff,然后选择其中的文件。另外,请确保重新生成BSP源。

5.FPGA程序

点击Xilinx FPGA工具>程序并点击程序.然后Xilinx SDK将使用MicroBlaze位文件对FPGA进行编程。

6.运行SDK程序

右键单击dpti_demo文件夹,然后单击在硬件上启动(GDB).MicroBlaze程序将被编程到你的Nexys视频中。

7.运行Nexys视频DPTI Demo


7.1)双击DPTI_Transfer.exeDPTI_Transfer >释放文件夹中。检查左上角的指示器是否为绿色,文本是否为DPTI *上.如果为红色,则表示单板未开机或连接不正确。

7.2)选择写入内存并为地址输入一个值,该值必须在0x90000000和0xA0000000之间,因为512MB DDR内存的一半是预留给MicroBlaze处理器的(从0x80000000开始),其余的可用于本演示。这可以在链接器脚本中更改。

dpti_transfer_write_start.jpg

点击选择文件按钮,并选择要传输到电路板的文件。例如,视频文件通常都很大,在读取后验证其完整性很容易。请确保不要超过256MB

选择文件后,按写入数据按钮发送文件。您可以使用UART终端(9600 BAUD)来跟踪进度。

dpti_sdk_uart.jpg

当转移完成时,左上方的方框应该是绿色的上传完成写在里面。另外,转会的细节应该显示在窗口的右侧。

dpti_transfer_write_done.jpg

7.3)现在选择从内存中读取选项并使用与之前相同的地址。在这种情况下,用户还必须输入他们想要传输的数据量。属性的值可以复制的字节数所使用地址对应的字段。在那之后,点击保存文件为按钮并提供位置和文件名。请确保输入与文件上传时相同的终止。点击读取数据启动转移按钮。现在可以检查文件的完整性。

dpti_transfer_read_done.jpg

多个传输可以在任何方向和任何顺序执行;然而,用户有责任不重写现有数据,因为Windows应用程序和SDK项目都不会跟踪已经写入的文件。