DSP+ZYNQ评估板例程使用手册.pdf

举报
资源描述
X XQTQTyeryer 评估板例程使用手册评估板例程使用手册版本记录版本版本说明作者日期V1.0初始版本Martin2022-11-1目录XQTyer 评估板例程使用手册.11目的.42软件版本说明.43ZYNQ 与 DSP 之间通信例程.53.1ZYNQ 与 DSP 之间 SRIO 通信.53.1.1例程位置.53.1.2功能简介.53.1.3例程使用.53.2ZYNQ 与 DSP 之间 EMIF16 通信.203.2.1例程位置.203.2.2功能简介.203.2.3例程使用.213.3ZYNQ 与 DSP 之间 uPP 通信.273.3.1例程位置.273.3.2功能简介.273.3.3例程使用.283.4ZYNQ 与 DSP 之间 GPIO 通信.323.4.1例程位置.323.4.2功能简介.323.4.3例程使用.334DSP 单独例程.384.1DSP 以太网通信.384.1.1例程位置.384.1.2功能简介.384.1.3例程使用.394.2DSP UART0 串口通信.454.2.1例程位置.454.2.2功能简介.454.2.3例程使用.454.3DSP GPIO LED 示例.504.3.1例程位置.504.3.2功能简介.504.3.3例程使用.514.4DSP DDR3 内存读写测试.544.4.1例程位置.544.4.2功能简介.544.4.3例程使用.554.5DSP DDR3 初始化以及内存读写测试.594.5.1例程位置.594.5.2功能简介.594.5.3例程使用.614.6DSP IPC 核间通信之 NOTIFY.654.6.1例程位置.654.6.2功能简介.654.6.3例程使用.684.7DSP IPC 核间通信之 MessageQ.744.7.1例程位置.744.7.2功能简介.744.7.3例程使用.775ZYNQ PL 单独例程.825.1ZYNQ PL Cameralink 回环例程.825.1.1例程位置.825.1.2功能简介.825.1.3Cameralink 接口时序说明.835.1.4管脚约束.855.1.5例程使用.855.2ZYNQ PL SFP 光口通信例程.895.2.1例程位置.895.2.2功能简介.895.2.3管脚约束.915.2.4例程使用.925.3ZYNQ PL SFP 光口 IBERT 链路误码测试.975.3.1例程位置.975.3.2功能简介.975.3.3例程使用.985.4ZYNQ PL M.2 接口验证例程.1065.4.1例程位置.1065.4.2功能简介.1065.4.3管脚约束.1085.4.4例程使用.1095.5ZYNQ PL M.2 接口之 NVMe Host IP 例程说明.1135.5.1例程声明.1135.5.2设计目的.1135.5.3NVMe Host FPGA IP 核简介.1145.5.4资源消耗.1155.5.5NVMe Host FPGA IP 测试截图和说明.1165.6ZYNQ PL FMC 之 6 路 ADC 采集例程.1235.6.1例程位置.1235.6.2功能简介.1235.6.3管脚约束.1245.6.4例程使用.1266ZYNQ PS 单独例程.1306.1ZYNQ PS GPIO LED 驱动实验.1306.1.1例程位置.1306.1.2功能简介.1306.1.3例程使用.1306.2ZYNQ PS 串口中断实验.1366.2.1例程位置.1366.2.2功能简介.1376.2.3例程使用.1376.3ZYNQ PS DDR 内存读写实验.1466.3.1例程位置.1466.3.2功能简介.1466.3.3例程使用.1461 目的本手册主要介绍说明 XQTyer 评估板实验平台各个例程的功能、使用步骤以及各个例程的运行效果。同时,也对例程所使用的软件版本、软件工具存放路径以及软件安装参考手册存放位置进行了必要说明。2 软件版本说明开 发开 发对象对象基于软件版本基于软件版本软件安装工具存放路径软件安装工具存放路径软 件 安软 件 安装 参 考装 参 考手册手册ZYNQ PLVivado 2018.3ToolsZYNQVIVADO2018.3(注:提供的是 Vivado 网络安装器,需要联网安装)文档ZYNQ开 发 工具 安 装说明.docxZYNQ PSXilinx SDK 2018.3说明:安装 Vivado 工具时,附带一起进行安装DSPCCS 7.4ToolsDSPCCS7.4.0.00015_win32.zip文档CCS7.4 软 件安 装 说明.docx编 译 器 TI C6000 CGT8.3.12ToolsDSPCCS组件安装包ti_cgt_c6000_8.3.12_windows-x64_installer.exe文档CCS编译 器 和依 赖 组件 安 装说明.docxbios_mcsdk_02_01_02_06ToolsDSPCCS组件安装包BIOSMCSDK-C66X3 ZYNQ 与 DSP 之间通信例程3.13.1ZYNQZYNQ与与 D DSPSP 之间之间 S SRIORIO 通信通信3.1.1例程位置ZYNQ 例程保存在资料盘中的 DemoZYNQPLsrio_gen2_0_ex 文件夹下。DSP 例程保存在资料盘中的 DemoDSPXQ_SRIO_x4LANE_5Gbps 文件夹下。3.1.2功能简介实现 DSP 与 ZYNQ 之间 SRIO 接口传输功能。DSP 与 ZYNQ 之间 SRIO 通道宽度为 4,每个 SRIO 通道速率 5Gbps。DSP SRIO 参考时钟频率为 250MHz,ZYNQ SRIO 参考时钟频率为 125MHz。DSP 与 ZYNQ 之间 SRIO 接口相关信号连接示意图如下图所示:DSP 作为 Initiator 发起 NWrite 数据写事务,将数据写入 ZYNQ PL 端的 RAM 空间(最大2KB);接着,DSP 发起 NRead 数据读事务,从 ZYNQ PL 端的 RAM 空间读取数据;DSP 完成数据写、读事务后,对读写数据进行比对,以检测 SRIO 传输是否有数据错误。3.1.3例程使用特别提示:例程使用,请参考下面章节顺序执行。确保特别提示:例程使用,请参考下面章节顺序执行。确保 ZYNQ PL 程序要先运行,然后才能程序要先运行,然后才能运行运行 DSP 程序。程序。3.1.3.13.1.3.1 加载运行加载运行 Z ZYNQYNQ 程序程序3.1.3.1.1 打开 Vivado 工程双击桌面 Vivado 图标,打开 Vivado 工具:点击 Open Project,打开工程(注意:确保例程路径为非中文路径注意:确保例程路径为非中文路径):Vivado 工程打开后界面如下图所示:3.1.3.1.2 下载 ZYNQ PL 程序点击 Open Hardware Manager:打开 Hardware Manager 的界面如下图所示:此后,确保此后,确保 FPGA JTAG 仿真器已连至接板卡和电脑,并且板卡处于上电状态。仿真器已连至接板卡和电脑,并且板卡处于上电状态。点击 Hardare Manager 界面上的 Open target,并在弹出的菜单中单击 Auto Connect:仿真器连接成功后,在找到的 xc7z035_1 器件上右击,并在弹出的菜单中点击 ProgramDevice:一般来说,Vivado 下载工具会自动找到本工程下的程序 bit 流下载文件和调试文件,如果没有自动找到,则需要用户通过旁边的浏览按钮去自行选取。确保程序下载文件没问题后,点击 Program 下载程序:程序下载完成后,点击界面上的“”按钮,可实时抓取查看 ZYNQ PL 端信号运行波形:3.1.3.23.1.3.2 加载运行加载运行 DSPDSP 程序程序3.1.3.2.1 CCS 导入例程双击桌面 CCS 快捷图标,打开 CCS 软件:CCS 设置工作空间时,选择默认即可:通过菜单 File-Import导入 CCS 工程:导入项目选择 CCS Projects:点击 Browse,浏览找到例程所在位置(注意:确保例程路径为非中文路径注意:确保例程路径为非中文路径),选中例程所在目录,并点击“确定”:CCS 软件将识别到的例程显示在 Discovered projects 一栏,最后点击 Finish:例程导入后界面如下图所示:3.1.3.2.2 下载 CCS 程序3.1.3.2.2.13.1.3.2.2.1 目标配置文件设置目标配置文件设置特别提示:目标配置文件设置这一步骤可以只进行一次,后面例程可以反复使用,不特别提示:目标配置文件设置这一步骤可以只进行一次,后面例程可以反复使用,不用重复创建或设置。用重复创建或设置。在右边的 Target Configuration 窗口,双击打开之前创建好的目标配置文件,如下图的XDS200-C6657.ccxml:如果还没有目标配置文件,则在 Target Configuration 窗口的空白处或 User Defined 文件夹处右击,并在弹出的菜单中点击“New Target Configuration”新建目标配置文件:在打开的目标配置文件中,需要配置仿真器类型、器件型号,我们实验用的仿真器为XQ-XDS200U,选中仿真器类型 XDS2xx USB Debug Probe 即可,器件型号勾选上 TMS320C6657,如下图所示,然后点击高级设置项 Target Configuration,准备 Gel 文件设置:在高级项设置窗口中,点击 C66xx_0 核心,然后在右侧的初始化脚本栏中,点击 Browse,找到我们提供的 Gel 文件,即 XinesC6657.gel。设置完 Gel 文件后,点击 Save:3.1.3.2.2.23.1.3.2.2.2 启动目标配置文件启动目标配置文件在已经创建并设置好的目标配置文件处右击,并在弹出的菜单中点击 Launch SelectedConfiguration,打开调试窗口:3.1.3.2.2.33.1.3.2.2.3 仿真器连接目标器件仿真器连接目标器件调试窗口打开后,右键单击 C66xx_0 核心 0,并在弹出的菜单中点击 Connect Target:3.1.3.2.2.43.1.3.2.2.4 加载加载 D DSPSP 程序程序点击 Load 图标,加载 DSP 程序:点击 Browse或 Browse project,找到 DSP 程序的可执行文件(以.out 为后缀),然后点击 OK,如下图所示:3.1.3.2.2.53.1.3.2.2.5 D DSPSP 程序运行程序运行点击 Resume 运行图标,运行 DSP 程序,如下图所示:3.1.3.33.1.3.3 运行结果说明运行结果说明3.1.3.3.1 DSP 程序运行结果CCS 软件的 Console 控制台窗口打印 SRIO 调试信息。DSP 通过 SRIO 接口先发起 NWrite 写事务,数据长度为 2048 字节;接着 DSP 发起 NRead事务,数据长度为 2048 字节,然后比对读写事务对应的数据。如果 SRIO 传输异常,存在数据错误,则程序里面错误计数器累加,并输出打印当前错误个数。每当完成 100 次 NWrite 和 NRead SRIO 读写事务,则输出打印一次“DSP FPGA204800 bytes OK!”字样,如下图所示:3.1.3.3.2 ZYNQ PL 程序运行结果ZYNQ PL 端提供的 ILA 调试窗口,可以实时抓取采集 SRIO 本地总线信号时序波形。SRIO本地总线信号说明如下(详细定义请参考数据手册 Xilinx 文档 pg007_srio_gen2.pdf):SRIO 本地发送总线信号本地发送总线信号iotx_tvalid发送数据有效标志位iotx_tready发送准备好标志位iotx_tlast最后一个发送数据标志位iotx_tdata发送数据iotx_tkeep发送数据字节控制位iotx_tuser发送控制数据,主要内容是源 ID 和目的 IDSRIO 本地接收总线信号本地接收总线信号iorx_tvalid接收数据有效标志位iorx_tready接收准备好标志位iorx_tlast最后一个接收数据标志位iorx_tdata接收数据iorx_tkeep接收数据字节控制位iorx_tuser接收控制数据,主要内容是源 ID 和目的 ID状态信号状态信号port_initializedSRIO 端口初始化完成标志位1:SRIO 端口初始化完成;0:SRIO 端口初始化未完成。link_initializedSRIO 链路初始化完成标志位1:SRIO 链路初始化完成;0:SRIO 链路初始化未完成。mode_1xSRIO 运行模式1:SRIO 运行在降速模式,即 4 个通道减速到 1 个通道运行;0:SRIO 运行在全速模式,即 4 个通道全部运行。ZYNQ 端 SRIO 接收抓取示例如下图所示(对应 DSP 端发起 NWrite 事务):ZYNQ SRIO 发送抓取示例如下图所示(对应 DSP 端发起 NRead 事务):3.1.3.43.1.3.4 退出实验退出实验CCS 软件窗口上,点击 Terminate 断开 DSP 仿真器与板卡的连接:Vivado 调试界面 Hardware Manager 窗口,右键单击 localhost(1),在弹出的菜单中点击Close Server,断开 ZYNQ JTAG 仿真器与板卡的连接:最后,关闭板卡电源,实验结束。3.23.2ZYNQZYNQ 与与 D DSPSP 之间之间 EMIFEMIF1616 通信通信3.2.1例程位置ZYNQ 例程保存在资料盘中的 DemoZYNQPLFPGA_DSP_EMIF 文件夹下。DSP 例程保存在资料盘中的 DemoDSPXQ_EMIF16 文件夹下。3.2.2功能简介实现 DSP 与 ZYNQ PL 端之间 EMIF16 接口传输功能。DSP 首先通过 EMIF16 接口往 ZYNQ PL 端发送 4096 字节数据,然后再读回来,并检测数据是否有错,数据发送、读回以及错误情况实时打印。ZYNQ PL 端开辟了一块 RAM 空间,用于存放 DSP 通过 EMIF16 接口写入的数据,同时用作 DSP 通过 EMIF16 接口读数据时的数据源。DSP 与 ZYNQ PL 端之间 EMIF16 接口连接示意图如下图所示:EMIF16 接口信号定义说明如下表格所示:信号名功能描述EMIFD 15:0双向数据总线。DSP 读数据时,对 DSP 而言是输入接口;DSP 写数据时,对 DSP 而言是输出接口。EMIFA 23:0地址总线,注意实际使用时,23bit 作为最低位。ZYNQ PL 端例程只使用了其中的12bits 作为地址总线作为示例。DSP 端:为输出接口;ZYNQ PL 端:为输入接口。EMIFCE0n片选信号,低电平有效。DSP 端:为输出接口;ZYNQ PL 端:为输入接口。EMIFWEn写使能信号,低电平有效。DSP 端:为输出接口;ZYNQ PL 端:为输入接口。EMIFOEn输出使能信号,即 DSP 读使能,低电平有效。DSP 端:为输出接口;ZYNQ PL 端:为输入接口。3.2.3例程使用3.2.3.13.2.3.1 加载运行加载运行 Z ZYNQYNQ 程序程序3.2.3.1.1 打开 Vivado 工程打开 Vivado 示例工程:工程打开后界面如下图所示:3.2.3.1.2 下载 ZYNQ PL 程序下载 bit 流文件 fpga_dsp_emif_top.bit,并且配套 fpga_dsp_emif_top.ltx 调试文件,如下图下载界面所示:3.2.3.23.2.3.2 加载运行加载运行 DSPDSP 程序程序3.2.3.2.1 CCS 导入例程CCS 软件导入 EMIF16 示例工程 XQ_EMIF16,如下图所示:CCS 示例工程导入后界面如下图所示:3.2.3.2.2 下载运行 CCS 程序下载 DSP 可执行文件 XQ_EMIF16.out:点击 Resume 运行 DSP 程序:3.2.3.33.2.3.3 运行结果说明运行结果说明3.2.3.3.1 DSP 程序运行结果DSP 首先通过 EMIF16 接口往 ZYNQ PL 端发送 4096 字节数据,然后再读回来,并检测数据是否有错,数据发送、读回以及错误情况实时打印,如下图所示:3.2.3.3.2 ZYNQ PL 程序运行结果ZYNQ PL 端提供的 ILA 调试窗口,可以实时抓取采集 EMIF16 总线信号时序波形。DSP 通过 EMIF16 总线接口发送数据(即写 ZYNQ PL 端 RAM)示例如下图所示:DSP 通过 EMIF16 总线接口读回数据(即读 ZYNQ PL 端 RAM)示例如下图所示:3.2.3.43.2.3.4 退出实验退出实验CCS 软件窗口上,点击 Terminate 断开 DSP 仿真器与板卡的连接。Vivado 调试界面 Hardware Manager 窗口,右键单击 localhost(1),在弹出的菜单中点击Close Server,断开 ZYNQ JTAG 仿真器与板卡的连接。最后,关闭板卡电源,实验结束。3.33.3ZYNQZYNQ与与 D DSPSP 之间之间 uPPuPP 通信通信3.3.1例程位置ZYNQ 例程保存在资料盘中的 DemoZYNQPLFPGA_DSP_uPP 文件夹下。DSP 例程保存在资料盘中的 DemoDSPXQ_uPP 文件夹下。3.3.2功能简介实现 DSP 与 ZYNQ PL 端之间 uPP 接口传输功能。DSP 通过 uPP B 通道往 ZYNQ PL 端发送 204800 字节数据,ZYNQ PL 端收到 uPP B 通道数据后直接交给 uPP A 通道送回至 DSP。DSP 程序比对 uPP A 通道接收到的数据和 uPP B 通道发送出去的数据,检测数据是否有错,uPP A/B 两个通道的数据收发以及错误情况实时打印。DSP 与 ZYNQ PL 端之间 uPP A/B 两个通道接口的连接示意图如下图所示:3.3.3例程使用3.3.3.13.3.3.1 加载运行加载运行 Z ZYNQYNQ 程序程序3.3.3.1.1 打开 Vivado 工程打开 Vivado 示例工程:工程打开后界面如下图所示:3.3.3.1.2 下载 ZYNQ PL 程序下载 bit 流文件 fpga_dsp_upp_top.bit,如下图下载界面所示:3.3.3.23.3.3.2 加载运行加载运行 DSPDSP 程序程序3.3.3.2.1 CCS 导入例程CCS 软件导入 uPP 示例工程 XQ_uPP,如下图所示:CCS 示例工程导入后界面如下图所示:3.3.3.2.2 下载运行 CCS 程序下载 DSP 可执行文件 XQ_uPP.out:点击 Resume 运行 DSP 程序:3.3.3.33.3.3.3 运行结果说明运行结果说明3.3.3.3.1 DSP 程序运行结果DSP 每完成一次 uPP 收、发传输后(uPP B 通道发送、uPP A 通道接收),程序对 uPP A/B两个通道的收发数据进行比对,如果传输数据正常,则打印完成且无错误信息,否则打印此次 uPP 传输存在错误的提示信息,如下图所示为正确传输打印信息:3.3.3.43.3.3.4 退出实验退出实验CCS 软件窗口上,点击 Terminate 断开 DSP 仿真器与板卡的连接。Vivado 调试界面 Hardware Manager 窗口,右键单击 localhost(1),在弹出的菜单中点击Close Server,断开 ZYNQ JTAG 仿真器与板卡的连接。最后,关闭板卡电源,实验结束。3.43.4ZYNQZYNQ与与 D DSPSP 之间之间 GPIOGPIO 通信通信3.4.1例程位置ZYNQ 例程保存在资料盘中的 DemoZYNQPLFPGA_DSP_GPIO 文件夹下。DSP 例程保存在资料盘中的 DemoDSPXQ_GPIO_FPGA 文件夹下。3.4.2功能简介实现 DSP 与 ZYNQ PL 端之间 GPIO 接口传输功能。DSP 与 ZYNQ PL 端之间有 3 根 GPIO 信号相连,如下原理图标注所示:DSP 示例通信程序将 GPIO29、GPIO30 两个 GPIO 设置为输出(对 ZYNQ 而言就是输入),GPIO31 设置为输入(对 ZYNQ 而言就是输出)。DSP 在 GPIO29、GPIO30 两个 GPIO 上产生方波信号,ZYNQ 可通过 ILA 软逻辑分析仪抓取波形查看;ZYNQ 通过 VIO 虚拟 IO 往 GPIO31 上输出高、低电平,DSP 示例程序里面检测 GPIO31 下降沿中断,一旦检测到 GPIO31 管脚下降沿中断信号,则打印测试信息。3.4.3例程使用3.4.3.13.4.3.1 加载运行加载运行 Z ZYNQYNQ 程序程序3.4.3.1.1 打开 Vivado 工程打开 Vivado 示例工程:工程打开后界面如下图所示:3.4.3.1.2 下载 ZYNQ PL 程序下载 bit 流文件 FPGA_DSP_GPIO.bit,如下图下载界面所示:3.4.3.23.4.3.2 加载运行加载运行 DSPDSP 程序程序3.4.3.2.1 CCS 导入例程CCS 软件导入示例工程 XQ_GPIO_FPGA,如下图所示:CCS 示例工程导入后界面如下图所示:3.4.3.2.2 下载运行 CCS 程序下载 DSP 可执行文件 XQ_GPIO_FPGA.out:点击 Resume 运行 DSP 程序:3.4.3.33.4.3.3 运行结果说明运行结果说明3.4.3.3.1 DSP 程序运行结果点击 ZYNQ PL 调试界面上 hw_vios 窗口中 Value 下面的数字 0 或 1,从而在 GPIO31 上产生高低电平信号:每当 GPIO31 上产生高低电平下降沿信号,DSP 程序进入中断服务函数,打印如下图所示的信息:3.4.3.3.2 ZYNQ 程序运行结果点击 hw_ila_1 窗口上三角符号的采集触发按钮,如下图处标识的按钮,可查看到 DSP通过 GPIO29、GPIO30 两个 GPIO 管脚发过来的方波信号:3.4.3.43.4.3.4 退出实验退出实验CCS 软件窗口上,点击 Terminate 断开 DSP 仿真器与板卡的连接。Vivado 调试界面 Hardware Manager 窗口,右键单击 localhost(1),在弹出的菜单中点击Close Server,断开 ZYNQ JTAG 仿真器与板卡的连接。最后,关闭板卡电源,实验结束。4 DSP 单独例程4.14.1D DSPSP 以太网通信以太网通信4.1.1例程位置DSP 例程保存在资料盘中的 DemoDSPXQ_NDK_TCP_UDP_ECHO 文件夹下。4.1.2功能简介实现 DSP 千兆以太网通信测试功能,实现 TCP、UDP 数据回显功能。main.c 文件中的 NetworkOpen 函数里面创建了两个守护进程,端口号 7 对应任务dtask_udp_echo,响应 TCP 数据接收,并将 TCP 数据回传;端口号 8 对应任务 dtask_tcp_echo,响应 UDP 数据接收,并将 UDP 数据回传:4.1.3例程使用4.1.3.14.1.3.1 网线连接网线连接用网线连接板卡上 DSP 网口至交换机,要求和测试电脑在同一个网段:4.1.3.24.1.3.2 加载运行加载运行 DSPDSP 程序程序4.1.3.2.1 CCS 导入例程CCS 软件导入示例工程 XQ_NDK_TCP_UDP_ECHO,如下图所示:CCS 示例工程导入后界面如下图所示:4.1.3.2.2 下载运行 CCS 程序下载 DSP 可执行文件 XQ_NDK_TCP_UDP_ECHO.out:点击 Resume 运行 DSP 程序:4.1.3.34.1.3.3 运行结果说明运行结果说明4.1.3.3.1 DSP 程序运行结果DSP 程序运行后,CCS 控制台打印如下图所示的信息:上图打印信息显示,DSP 网络链接成功,DSP 网络 MAC 地址为 00-35-FF-AF-BF-90,分配到的 IP 地址为 192.168.1.102。4.1.3.3.2 Ping 测试打开测试电脑命令行运行窗口,并输入 ping 192.168.1.102 命令,然后回车,测试电脑ping DSP 网络的效果:上图显示,电脑能正常 ping 通 DSP 网络。4.1.3.3.3 网络调试助手测试使用网络调试助手进行 TCP、UDP 通信测试。首先,在电脑命令行窗口使用 ipconfig 查看电脑的 IP 地址:双击打开网络调试助手工具:点击“新建 TCP Client“、”新建 UDP“,然后按照下面顺序进行参数设置:1:新建 TCP Client,新建 TCP 客户端窗口;2:新建 UDP,新建 UDP 客户端窗口;3:设置 TCP 主机 IP 地址,即 DSP 网络 IP 地址,通过 CCS 控制台窗口打印信息那里获取;4:设置 TCP 主机 TCP 端口号,即 DSP 网络 TCP 端口号,DSP 程序里面固定设置为 8,因此这里需填写 8;5:设置好 TCP 参数后,点击“连接“,连接 TCP 主机。如果长时间没有 TCP 通信,那么TCP 客户端会自动断开与 TCP 主机的连接,那么需要用户再次点击”连接“按钮以便继续TCP 通信;6:设置电脑 IP 地址,通过在电脑命令行窗口输入 ipconfig 命令获取;7:设置电脑 UDP 端口号,随意设置,只要窗口不弹出错误就行;8:设置 DSP 网络 IP 地址,通过 CCS 控制台窗口打印信息那里获取;9:设置 DSP 网络 UDP 端口号,DSP 程序里面固定设置为 7,因此这里需填写 7;10:设置好 UDP 参数后,点击“启动“。TCP、UDP 测试参数设置好后,下面开始 TCP、UDP 数据收发测试。在 TCP、UDP 测试窗口的数据发送区输入电脑网络发送数据,然后勾选上“定时发送“。如果 DSP 程序正常运行的话,那么会在数据接收区接收到 DSP 回显信息,即 DSP 将电脑发给它的网络数据原本返回,如下图所示:4.1.3.44.1.3.4 退出实验退出实验CCS 软件窗口上,点击 Terminate 断开 DSP 仿真器与板卡的连接。关闭网络调试助手。最后,关闭板卡电源,实验结束。4.24.2D DSPSP UART0UART0 串口通信串口通信4.2.1例程位置DSP 例程保存在资料盘中的 DemoDSPXQ_UART_INT 文件夹下。4.2.2功能简介实现 DSP 串口通信测试功能。硬件设计上,使用的是 UART0 串口。程序设计基于 UART 串口中断方式,实现串口数据回显功能。4.2.3例程使用4.2.3.14.2.3.1 串口线缆连接串口线缆连接用 USB Type-C 线缆连接板卡上 DSP 串口至测试电脑:4.2.3.24.2.3.2 加载运行加载运行 DSPDSP 程序程序4.2.3.2.1 CCS 导入例程CCS 软件导入示例工程 XQ_UART_INT,如下图所示:CCS 示例工程导入后界面如下图所示:4.2.3.2.2 下载运行 CCS 程序下载 DSP 可执行文件 XQ_UART_INT.out:点击 Resume 运行 DSP 程序:4.2.3.34.2.3.3 运行结果说明运行结果说明板卡上电,并通过设备管理器查看串口号。带 SERIAL-A 字样的为 DSP 端串口,带 SERIAL-B字样的为 ZYNQ PS 串口,记住后面的 COM 编号,这里 DSP 串口编号为 COM3:在 DSP 程序运行之前,打开串口调试助手,并设置串口参数,具体设置如下图区域标识所示:设置完串口参数后,在位置点击“打开串口“。接着,在位置输入串口发送数据,并勾选上位置处的”自动发送“,然后可以在位置查看串口接收数据。串口调试助手将串口数据发给 DSP,DSP 将接收到的串口数据原本返回给串口调试助手。4.2.3.44.2.3.4 退出实验退出实验CCS 软件窗口上,点击 Terminate 断开 DSP 仿真器与板卡的连接。关闭串口调试助手。最后,关闭板卡电源,实验结束。4.34.3D DSPSP GPIOGPIO LEDLED 示例示例4.3.1例程位置DSP 例程保存在资料盘中的 DemoDSPXQ_GPIO_LED 文件夹下。4.3.2功能简介DSP 通过 GPIO 控制 LED 灯的亮、灭。具体控制的是底板上的 LED4 灯,原理图设计如下所示:LED4 灯的控制信号 DSP_LED 通过一颗电平转换芯片连接到 DSP 的 GPIO27 上,原理图部分如下图所示:所以,DSP 程序设计时,通过控制 GPIO27 来实现对底板上 LED4 灯的亮、灭操作。4.3.3例程使用4.3.3.14.3.3.1 加载运行加载运行 DSPDSP 程序程序4.3.3.1.1 CCS 导入例程CCS 软件导入示例工程 XQ_GPIO_LED,如下图所示:CCS 示例工程导入后界面如下图所示:4.3.3.1.2 下载运行 CCS 程序下载 DSP 可执行文件 XQ_GPIO_LED.out:点击 Resume 运行 DSP 程序:4.3.3.24.3.3.2 运行结果说明运行结果说明DSP 程序运行起来后,如果程序正常运行的话,则可看到底板 LED4 灯会一亮一灭,快速闪烁。LED4 灯在底板上的具体位置如下面两张图所示:4.3.3.34.3.3.3 退出实验退出实验CCS 软件窗口上,点击 Terminate 断开 DSP 仿真器与板卡的连接。最后,关闭板卡电源,实验结束。4.44.4D DSPSP DDR3DDR3 内存读写测试内存读写测试4.4.1例程位置DSP 例程保存在资料盘中的 DemoDSPXQ_DDR3_Test 文件夹下。4.4.2功能简介DSP 外挂 2 颗 DDR3 颗粒,总容量 1Gbytes,总位宽 32bits。本实验通过两种方式测试 DDR3 的读写,分别是:EDMA 方式和 DSP 核心直接读写方式,两种方式的 DDR3 读写测试如下图程序代码段标注位置所示:EDMA 方式测试时,对整个 DDR3 地址空间(1GB)进行读写测试,EDMA 测试 DDR3 地址空间设置代码如下代码段所示:DSP 核心直接方式读写 DDR3 测试时,只测试其中的 512KB 空间:4.4.3例程使用4.4.3.14.4.3.1 加载运行加载运行 DSPDSP 程序程序4.4.3.1.1 CCS 导入例程CCS 软件导入示例工程 XQ_DDR3_Test,如下图所示:CCS 示例工程导入后界面如下图所示:4.4.3.1.2 下载运行 CCS 程序下载 DSP 可执行文件 XQ_DDR3_Test.out:点击 Resume 运行 DSP 程序:4.4.3.24.4.3.2 运行结果说明运行结果说明首先以 EDMA 方式读写 DDR3 内存,往 DDR3 写测试数据,并读出对比。如果读写数据正确,则打印 Passed 字样,否则打印 Failed 字样,EDMA 方式测试通过后的打印信息如下图所示:接着,以 DSP 核心直接方式读写 DDR3 内存,往 DDR3 写测试数据,并读出对比。如果读写数据正确,则打印 Passed 字样,否则打印 Failed 字样,DSP 核心直接方式测试通过后的打印信息如下图所示:4.4.3.34.4.3.3 退出实验退出实验CCS 软件窗口上,点击 Terminate 断开 DSP 仿真器与板卡的连接。最后,关闭板卡电源,实验结束。4.54.5D DSPSP DDR3DDR3 初始化以及内存读写测试初始化以及内存读写测试4.5.1例程位置DSP 例程保存在资料盘中的 DemoDSPXQ_DDR3_INIT_TEST 文件夹下。4.5.2功能简介DSP 外挂 2 颗 DDR3 颗粒,总容量 1Gbytes,总位宽 32bits。本实验不需要使用 Gel 文件去对 PLL 和 DDR3 外设进行初始化配置,而是在用户代码中实现对 PLL 和 DDR3 外设的初始化配置工作。初始化完成后,通过两种方式测试 DDR3 内存的读写,分别是:EDMA 方式和 DSP 核心直接读写方式。主函数代码如下图所示:EDMA 方式测试时,对整个 DDR3 地址空间(1GB)进行读写测试,EDMA 测试 DDR3 地址空间设置代码如下代码段所示:DSP 核心直接方式读写 DDR3 测试时,只测试其中的 512KB 空间:4.5.3例程使用4.5.3.14.5.3.1 加载运行加载运行 DSPDSP 程序程序4.5.3.1.1 CCS 导入例程CCS 软件导入示例工程 XQ_DDR3_INIT_TEST,如下图所示:CCS 示例工程导入后界面如下图所示:4.5.3.1.2 下载运行 CCS 程序特别说明特别说明:本实验可以使用 Gel 文件,也可以不使用 Gel 文件。Gel 文件的设置在.ccxml目标配置文件中进行,如下图位置所示的.ccxml 目标配置文件中 Gel 文件设置,可以为空,也可以指定 Gel 文件位置:下载 DSP 可执行文件 XQ_DDR3_INIT_TEST.out:点击 Resume 运行 DSP 程序:4.5.3.24.5.3.2 运行结果说明运行结果说明首先以 EDMA 方式读写 DDR3 内存,往 DDR3 写测试数据,并读出对比。如果读写数据正确,则打印 Passed 字样,否则打印 Failed 字样,EDMA 方式测试通过后的打印信息如下图所示:接着,以 DSP 核心直接方式读写 DDR3 内存,往 DDR3 写测试数据,并读出对比。如果读写数据正确,则打印 Passed 字样,否则打印 Failed 字样,DSP 核心直接方式测试通过后的打印信息如下图所示:4.5.3.34.5.3.3 退出实验退出实验CCS 软件窗口上,点击 Terminate 断开 DSP 仿真器与板卡的连接。最后,关闭板卡电源,实验结束。4.64.6D DSPSP IPCIPC 核间通信之核间通信之 NOTIFYNOTIFY4.6.1例程位置DSP 例程保存在资料盘中的 DemoDSPXQ_IPC_NOTIFY 文件夹下。4.6.2功能简介IPC 组件可用于处理器多核之间的核间通信,通信内容可包含消息传递、数据流以及链表等,IPC 组件的运行是建立在 SYS/BIOS 基础之上的。根据难易程度,IPC 有如下几种使用场景:1)IPC 最简化使用场景:该场景下,处理器核心之间只运行通知机制,即 Notify 通知。Notify 通知可携带 32bits 的用户数据。Notify 通知事件可用于多个处理器核心之间的简单同步。2)数据传输使用场景:相比于 IPC 最简化使用场景,该场景增加了处理器核心之间链表元素传递功能。数据传输场景下,可通过共享内存或门来辅助实现处理器核心之间的同步。3)动态链表分配使用场景:该场景下,可从 heap 中动态添加或删减链表元素。4)MessageQ 消息传递使用场景:使用 MessageQ 模块在处理器核心之间传递消息。本节实验内容使用 Notify 模块实现两个 DSP 核心之间的简单通知和 32bits 数据传递功能。Notify 通知需要用到两个模块:Notify module 和 MultiProc module,其中 Notify module提供 API 供用户调用,Notify module 需要使用 MultiProc module 中配置的属性,
展开阅读全文
相关搜索
收藏 分享(赏)
温馨提示:
文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。

当前位置:首页 > 行业标准 > 企业标准


本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:文库网官方知乎号:文库网

经营许可证编号: 粤ICP备2021046453号世界地图

文库网官网©版权所有2025营业执照举报