完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
1 ZYNQ与DSP之间通信例程1.1 ZYNQ与DSP之间SRIO通信1.1.1 例程位置 ZYNQ例程保存在资料盘中的DemoZYNQPLsrio_gen2_0_ex文件夹下。 DSP例程保存在资料盘中的DemoDSPXQ_SRIO_x4LANE_5Gbps文件夹下。 1.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传输是否有数据错误。 1.1.3 例程使用特别提示:例程使用,请参考下面章节顺序执行。确保ZYNQ PL程序要先运行,然后才能运行DSP程序。 1.1.3.1 加载运行ZYNQ程序1.1.3.1.1 打开Vivado工程双击桌面Vivado图标,打开Vivado工具: ![]() 点击Open Project,打开工程(注意:确保例程路径为非中文路径): ![]() ![]() Vivado工程打开后界面如下图所示: ![]() 点击Open Hardware Manager: ![]() 打开Hardware Manager的界面如下图所示: ![]() 点击Hardare Manager界面上的Open target,并在弹出的菜单中单击Auto Connect: ![]() 仿真器连接成功后,在找到的xc7z035_1器件上右击,并在弹出的菜单中点击Program Device…: ![]() 一般来说,Vivado下载工具会自动找到本工程下的程序bit流下载文件和调试文件,如果没有自动找到,则需要用户通过旁边的浏览按钮去自行选取。确保程序下载文件没问题后,点击Program下载程序: ![]() 程序下载完成后,点击界面上的“>>”按钮,可实时抓取查看ZYNQ PL端信号运行波形: ![]() 双击桌面CCS快捷图标,打开CCS软件: ![]() CCS设置工作空间时,选择默认即可: ![]() 通过菜单File->Import…导入CCS工程: ![]() 导入项目选择CCS Projects: ![]() 点击Browse…,浏览找到例程所在位置(注意:确保例程路径为非中文路径),选中例程所在目录,并点击“确定”: ![]() CCS软件将识别到的例程显示在Discovered projects一栏,最后点击Finish: ![]() 例程导入后界面如下图所示: ![]() 特别提示:目标配置文件设置这一步骤可以只进行一次,后面例程可以反复使用,不用重复创建或设置。 在右边的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: ![]() 在已经创建并设置好的目标配置文件处右击,并在弹出的菜单中点击Launch Selected Configuration,打开调试窗口: ![]() 调试窗口打开后,右键单击C66xx_0核心0,并在弹出的菜单中点击Connect Target: ![]() 点击Load图标,加载DSP程序: ![]() 点击Browse…或Browse project…,找到DSP程序的可执行文件(以.out为后缀),然后点击OK,如下图所示: ![]() 点击Resume运行图标,运行DSP程序,如下图所示: ![]() CCS软件的Console控制台窗口打印SRIO调试信息。 DSP通过SRIO接口先发起NWrite写事务,数据长度为2048字节;接着DSP发起NRead事务,数据长度为2048字节,然后比对读写事务对应的数据。 如果SRIO传输异常,存在数据错误,则程序里面错误计数器累加,并输出打印当前错误个数。每当完成100次NWrite和NRead SRIO读写事务,则输出打印一次“DSP <-> FPGA 204800 bytes OK!”字样,如下图所示: ![]() ZYNQ PL端提供的ILA调试窗口,可以实时抓取采集SRIO本地总线信号时序波形。SRIO本地总线信号说明如下(详细定义请参考数据手册Xilinx文档pg007_srio_gen2.pdf):
ZYNQ端SRIO接收抓取示例如下图所示(对应DSP端发起NWrite事务): ![]() ZYNQ SRIO发送抓取示例如下图所示(对应DSP端发起NRead事务): ![]() ![]() CCS软件窗口上,点击Terminate断开DSP仿真器与板卡的连接: |
|
相关推荐
1 个讨论
|
|
你正在撰写讨论
如果你是对讨论或其他讨论精选点评或询问,请使用“评论”功能。
807 浏览 0 评论
907 浏览 0 评论
543 浏览 0 评论
AG32软件包SDK更新:加入新例程(可实现至少15个UART串口)
1225 浏览 0 评论
从零开始驯服Linux(一):ZYNQ-Linux启动文件构建全解析
3752 浏览 0 评论
6582 浏览 114 评论
2669 浏览 58 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-4-17 04:58 , Processed in 0.738248 second(s), Total 49, Slave 37 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191