问题描述
一般问题描述:
如何从FUSE GUI执行DMA读取或写入操作?
解决/修复方法
这基于XtremeDSP开发工具包提供的NUE_PING应用笔记。
如果在FPGA配置完成后的任何时候,您错过了其中一个步骤,或者意外地重复一步,请检查FPGA复位和系统复位并返回步骤7以确保卡已正确复位。
编程FPGA
1.打开FUSE GUI并检测XtremeDSP开发工具包。
2.在RESET选项卡下,检查系统复位和FPGA复位。
3.在Oscillator Frequencies选项卡下,将DSP Clock设置为40000 KHz。
4.从检测到的卡列表中展开Nallatech BenADDA卡。
5.右键单击2v80 Clock FPGA并选择Assign and Configure。这将为您提供一个对话框,以便您可以指向BIT文件。它位于NUE_PING应用笔记下。要确保您拥有正确的BIT文件,请在XtremeDSP套件(通常是XC2v2000或XC2v3000 FG676)上查看FPGA的DimeScript文件夹。
6.右键单击2v2000或2v3000 USER FPGA,然后选择“分配和配置”。这将为您提供一个对话框,以便您可以指向BIT文件。它位于NUE_PING应用笔记下。要确保您拥有正确的BIT文件,请在XtremeDSP套件(通常是XC2v2000或XC2v3000 FG676)上查看FPGA的DimeScript文件夹。
7.按“重置”选项卡下的“PCI接口重置”按钮。
8.通过取消选中FPGA Reset,然后取消系统复位,释放XtremeDSP Kit上的复位。
写数据
9.在“当前地址”按钮旁边的框中,键入0x00000001。
10.单击“当前地址”按钮(不是双击)。
11.在“写入”列下的“数据0”框中,写下要传输的字数(十六进制)。对于此示例,我们将传输16个字(0x00000010)。要编辑该框,必须双击它。
12.单击“写入数据”按钮(不是双击)。
13.在“当前地址”按钮旁边的框中,键入0x00000000。
14.单击“当前地址”按钮(不是双击)。
15.在Write列下的Data0框中键入1(0x00000001)。
16.单击“写入数据”按钮(不是双击)。
17.单击“线性序列”按钮;这会将Write列下的数据更改为线性序列(十六进制)。
18.在要转移的单词旁边的框中键入16。
19.单击“写入数据”按钮(不是双击)。
阅读数据
20.在“当前地址”按钮旁边的框中,键入0x00000001。
21.单击“当前地址”按钮(不是双击)。
22.在“写入”列下的“数据0”框中,写下要传输的字数(十六进制)。在这个例子中,我们将传输16个字(0x00000010)。要编辑该框,必须双击它。
23.在要转移的单词旁边的框中键入1。
24.单击“写入数据”按钮(不是双击)。
25.在“当前地址”按钮旁边的框中,键入0x00000000。
26.单击“当前地址”按钮(不是双击)。
27.在Write列下的Data0框中键入3(0x00000003)。
28.单击“写入数据”按钮(不是双击)。此时,您应该在FIFO选项卡下看到FPGA读FIFO变为Full。
29.在要转移的单词旁边的框中键入16。
30.单击“读取数据”按钮(不是双击)。您应该看到数据部分中的Read列现在包含我们之前在FPGA中编写的线性序列。此外,您应该在FIFO选项卡下看到FPGA读FIFO变为空。
31.在“当前地址”按钮旁边的框中,键入0x00000000。
32.单击“当前地址”按钮(不是双击)。
33.在Write列下的Data0框中键入0(0x00000000)。
34.在要转移的单词旁边的框中键入1。
35.单击“写入数据”按钮(不是双击)。
如果要将更多数据写入FPGA,则必须返回步骤9。
没有回复内容