ZYNQ(FPGA)与DSP之间SRIO通信操作

这篇具有很好参考价值的文章主要介绍了ZYNQ(FPGA)与DSP之间SRIO通信操作。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、基于XQ6657Z35-EVM平台ZYNQ与DSP之间通信例程

1.1ZYNQ 与DSP之间SRIO通信
1.1.1例程位置
ZYNQ例程保存在资料盘中的Demo\ZYNQ\PL\srio_gen2_0_ex文件夹下。
DSP例程保存在资料盘中的Demo\DSP\XQ_SRIO_x4LANE_5Gbps文件夹下。

1.1.2功能简介
实现DSP与ZYNQ之间SRIO接口传输功能。
DSP与ZYNQ之间SRIO通道宽度为4,每个SRIO通道速率5Gbps。DSP SRIO参考时钟频率为250MHz,ZYNQ SRIO参考时钟频率为125MHz。
DSP与ZYNQ之间SRIO接口相关信号连接示意图如下图所示:
ZYNQ(FPGA)与DSP之间SRIO通信操作,fpga开发,嵌入式硬件,dsp开发,视觉检测,计算机视觉

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工具:
ZYNQ(FPGA)与DSP之间SRIO通信操作,fpga开发,嵌入式硬件,dsp开发,视觉检测,计算机视觉

点击Open Project,打开工程(注意:确保例程路径为非中文路径):

ZYNQ(FPGA)与DSP之间SRIO通信操作,fpga开发,嵌入式硬件,dsp开发,视觉检测,计算机视觉
ZYNQ(FPGA)与DSP之间SRIO通信操作,fpga开发,嵌入式硬件,dsp开发,视觉检测,计算机视觉

Vivado工程打开后界面如下图所示:
ZYNQ(FPGA)与DSP之间SRIO通信操作,fpga开发,嵌入式硬件,dsp开发,视觉检测,计算机视觉

1.1.3.1.2下载ZYNQ PL程序
点击Open Hardware Manager:
ZYNQ(FPGA)与DSP之间SRIO通信操作,fpga开发,嵌入式硬件,dsp开发,视觉检测,计算机视觉

打开Hardware Manager的界面如下图所示:
ZYNQ(FPGA)与DSP之间SRIO通信操作,fpga开发,嵌入式硬件,dsp开发,视觉检测,计算机视觉

此后,确保FPGA JTAG仿真器已连至接板卡和电脑,并且板卡处于上电状态。
点击Hardare Manager界面上的Open target,并在弹出的菜单中单击Auto Connect:
ZYNQ(FPGA)与DSP之间SRIO通信操作,fpga开发,嵌入式硬件,dsp开发,视觉检测,计算机视觉

仿真器连接成功后,在找到的xc7z035_1器件上右击,并在弹出的菜单中点击Program Device…:
ZYNQ(FPGA)与DSP之间SRIO通信操作,fpga开发,嵌入式硬件,dsp开发,视觉检测,计算机视觉

一般来说,Vivado下载工具会自动找到本工程下的程序bit流下载文件和调试文件,如果没有自动找到,则需要用户通过旁边的浏览按钮去自行选取。确保程序下载文件没问题后,点击Program下载程序:
ZYNQ(FPGA)与DSP之间SRIO通信操作,fpga开发,嵌入式硬件,dsp开发,视觉检测,计算机视觉

程序下载完成后,点击界面上的“>>”按钮,可实时抓取查看ZYNQ PL端信号运行波形:
ZYNQ(FPGA)与DSP之间SRIO通信操作,fpga开发,嵌入式硬件,dsp开发,视觉检测,计算机视觉

1.1.3.2 加载运行DSP程序
1.1.3.2.1CCS导入例程
双击桌面CCS快捷图标,打开CCS软件:
ZYNQ(FPGA)与DSP之间SRIO通信操作,fpga开发,嵌入式硬件,dsp开发,视觉检测,计算机视觉

CCS设置工作空间时,选择默认即可:
ZYNQ(FPGA)与DSP之间SRIO通信操作,fpga开发,嵌入式硬件,dsp开发,视觉检测,计算机视觉

通过菜单File->Import…导入CCS工程:
ZYNQ(FPGA)与DSP之间SRIO通信操作,fpga开发,嵌入式硬件,dsp开发,视觉检测,计算机视觉

导入项目选择CCS Projects:
ZYNQ(FPGA)与DSP之间SRIO通信操作,fpga开发,嵌入式硬件,dsp开发,视觉检测,计算机视觉

点击Browse…,浏览找到例程所在位置(注意:确保例程路径为非中文路径),选中例程所在目录,并点击“确定”:
ZYNQ(FPGA)与DSP之间SRIO通信操作,fpga开发,嵌入式硬件,dsp开发,视觉检测,计算机视觉

CCS软件将识别到的例程显示在Discovered projects一栏,最后点击Finish:
ZYNQ(FPGA)与DSP之间SRIO通信操作,fpga开发,嵌入式硬件,dsp开发,视觉检测,计算机视觉

例程导入后界面如下图所示:
ZYNQ(FPGA)与DSP之间SRIO通信操作,fpga开发,嵌入式硬件,dsp开发,视觉检测,计算机视觉

1.1.3.2.2下载CCS程序
1.1.3.2.2.1目标配置文件设置
特别提示:目标配置文件设置这一步骤可以只进行一次,后面例程可以反复使用,不用重复创建或设置。
在右边的Target Configuration窗口,双击打开之前创建好的目标配置文件,如下图的XDS200-C6657.ccxml:
ZYNQ(FPGA)与DSP之间SRIO通信操作,fpga开发,嵌入式硬件,dsp开发,视觉检测,计算机视觉

如果还没有目标配置文件,则在Target Configuration窗口的空白处或User Defined文件夹处右击,并在弹出的菜单中点击“New Target Configuration”新建目标配置文件:
ZYNQ(FPGA)与DSP之间SRIO通信操作,fpga开发,嵌入式硬件,dsp开发,视觉检测,计算机视觉

在打开的目标配置文件中,需要配置仿真器类型、器件型号,我们实验用的仿真器为XQ-XDS200U,选中仿真器类型XDS2xx USB Debug Probe即可,器件型号勾选上TMS320C6657,如下图所示,然后点击高级设置项Target Configuration,准备Gel文件设置:
ZYNQ(FPGA)与DSP之间SRIO通信操作,fpga开发,嵌入式硬件,dsp开发,视觉检测,计算机视觉

在高级项设置窗口中,点击C66xx_0核心,然后在右侧的初始化脚本栏中,点击Browse,找到我们提供的Gel文件,即XinesC6657.gel。设置完Gel文件后,点击Save:
ZYNQ(FPGA)与DSP之间SRIO通信操作,fpga开发,嵌入式硬件,dsp开发,视觉检测,计算机视觉

1.1.3.2.2.2启动目标配置文件
在已经创建并设置好的目标配置文件处右击,并在弹出的菜单中点击Launch Selected Configuration,打开调试窗口:
ZYNQ(FPGA)与DSP之间SRIO通信操作,fpga开发,嵌入式硬件,dsp开发,视觉检测,计算机视觉

1.1.3.2.2.3仿真器连接目标器件
调试窗口打开后,右键单击C66xx_0核心0,并在弹出的菜单中点击Connect Target:
ZYNQ(FPGA)与DSP之间SRIO通信操作,fpga开发,嵌入式硬件,dsp开发,视觉检测,计算机视觉

1.1.3.2.2.4加载DSP程序
点击Load图标,加载DSP程序:
ZYNQ(FPGA)与DSP之间SRIO通信操作,fpga开发,嵌入式硬件,dsp开发,视觉检测,计算机视觉

点击Browse…或Browse project…,找到DSP程序的可执行文件(以.out为后缀),然后点击OK,如下图所示:
ZYNQ(FPGA)与DSP之间SRIO通信操作,fpga开发,嵌入式硬件,dsp开发,视觉检测,计算机视觉

1.1.3.2.2.5DSP程序运行
点击Resume运行图标,运行DSP程序,如下图所示:
ZYNQ(FPGA)与DSP之间SRIO通信操作,fpga开发,嵌入式硬件,dsp开发,视觉检测,计算机视觉

1.1.3.3 运行结果说明
1.1.3.3.1DSP程序运行结果
CCS软件的Console控制台窗口打印SRIO调试信息。
DSP通过SRIO接口先发起NWrite写事务,数据长度为2048字节;接着DSP发起NRead事务,数据长度为2048字节,然后比对读写事务对应的数据。
如果SRIO传输异常,存在数据错误,则程序里面错误计数器累加,并输出打印当前错误个数。每当完成100次NWrite和NRead SRIO读写事务,则输出打印一次“DSP <-> FPGA 204800 bytes OK!”字样,如下图所示:
ZYNQ(FPGA)与DSP之间SRIO通信操作,fpga开发,嵌入式硬件,dsp开发,视觉检测,计算机视觉

1.1.3.3.2ZYNQ 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和目的ID
SRIO本地接收总线信号
iorx_tvalid 接收数据有效标志位
iorx_tready 接收准备好标志位
iorx_tlast 最后一个接收数据标志位
iorx_tdata 接收数据
iorx_tkeep 接收数据字节控制位
iorx_tuser 接收控制数据,主要内容是源ID和目的ID
状态信号
port_initialized SRIO端口初始化完成标志位
1:SRIO端口初始化完成;
0:SRIO端口初始化未完成。
link_initialized SRIO链路初始化完成标志位
1:SRIO链路初始化完成;
0:SRIO链路初始化未完成。
mode_1x SRIO运行模式
1:SRIO运行在降速模式,即4个通道减速到1个通道运行;
0:SRIO运行在全速模式,即4个通道全部运行。

ZYNQ端SRIO接收抓取示例如下图所示(对应DSP端发起NWrite事务):
ZYNQ(FPGA)与DSP之间SRIO通信操作,fpga开发,嵌入式硬件,dsp开发,视觉检测,计算机视觉

ZYNQ SRIO发送抓取示例如下图所示(对应DSP端发起NRead事务):
ZYNQ(FPGA)与DSP之间SRIO通信操作,fpga开发,嵌入式硬件,dsp开发,视觉检测,计算机视觉
ZYNQ(FPGA)与DSP之间SRIO通信操作,fpga开发,嵌入式硬件,dsp开发,视觉检测,计算机视觉

1.1.3.4 退出实验
CCS软件窗口上,点击Terminate断开DSP仿真器与板卡的连接:
ZYNQ(FPGA)与DSP之间SRIO通信操作,fpga开发,嵌入式硬件,dsp开发,视觉检测,计算机视觉

Vivado调试界面Hardware Manager窗口,右键单击localhost(1),在弹出的菜单中点击Close Server,断开ZYNQ JTAG仿真器与板卡的连接:
ZYNQ(FPGA)与DSP之间SRIO通信操作,fpga开发,嵌入式硬件,dsp开发,视觉检测,计算机视觉

最后,关闭板卡电源,实验结束。

平台说明:
XQ6657Z35/45-EVM 高速数据处理评估板(XQTyer评估板)由广州星嵌电子科技有限公司自主研发,核心板包含一片TI DSP TMS320C6657和一片Xilinx ZYNQ-7000 SoC 处理器XC7Z035-2FFG676I。适用于无人机蜂群、软件无线电系统,基带信号处理,无线仿真平台,高速图像采集、处理等领域。

ZYNQ(FPGA)与DSP之间SRIO通信操作,fpga开发,嵌入式硬件,dsp开发,视觉检测,计算机视觉文章来源地址https://www.toymoban.com/news/detail-708713.html

到了这里,关于ZYNQ(FPGA)与DSP之间SRIO通信操作的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Zynq和FPGA区别——快速认识Zynq开发

    ZYNQ包含了2个部分,双核的ARM和FPGA。根据Xilinx提供的手册,用ARM实现的模块被称为PS,而用FPGA实现的模块被称为PL。简单的说FPA更偏向于逻辑,不跑系统。 ZYNQ内部包含PS和PL两部分,ZYNQ开发有一下四种方式: ZYNQ是赛灵思公司(Xilinx)推出的新一代全可编程片上系统,它将处

    2024年02月16日
    浏览(55)
  • 【FPGA-DSP】第二期:DSP开发流程【全过程】

    目录 1. System Generator安装 1.1 system generator的安装 1.1.1 vivado安装System Generator 1.1.2  System Generator配置 1.3 启动 2. FPGA-DSP开发流程 2.1 FPGA-DSP 开发流程介绍 2.2 FPGA-DSP 实际开发流程 1. 软件启动  2. matlab编写 3. Simulink仿真  Simulink输入信号 乘法器   时延器 累加器 输出示波器设置

    2024年02月11日
    浏览(45)
  • FPGA优质开源模块 - SRIO

    本文介绍一个FPGA常用模块:SRIO(Serial RapidIO)。SRIO协议是一种高速串行通信协议,在我参与的项目中主要是用于FPGA和DSP之间的高速通信。有关SRIO协议的详细介绍网上有很多,本文主要简单介绍一下SRIO IP核的使用和本工程的源代码结构。 由于Vivado中RapidIO IP核需要付费才能使

    2024年02月13日
    浏览(41)
  • [ZYNQ]开发之MATALB与FPGA联合仿真平台设计

    本实验在之前两篇文章的基础上设计的MATLAB与FPGA联合仿真平台设计,主要用于在MATLAB于FPGA之前提供收发数据的通道。该实验的应用背景为极化码的编译码流程,极化码的编译码的仿真流程如下: [ZYNQ]开发之基于 AN108 模块的ADC 采集以太网传输_Laid-back guy的博客-CSDN博客 [ZYNQ

    2024年02月04日
    浏览(59)
  • FPGA与STM32之间的UART通信实验

    目录 1.UART串口介绍 2.实验任务 3.FPGA代码 4.STM32代码 5.总结         UART是一种采用异步串行方式的通用异步收发传输器,在发送数据时将并行数据转换成串行数据来传输,在接收数据时将接收到的串行数据转换成并行数据。         UART串口通信需要两根信号线来实现,

    2024年02月13日
    浏览(45)
  • GD(兆易创新)系列FLASH进行FPGA和ZYNQ配置固化相关操作

    本文主要针对使用GD(兆易创新)系列的FLASH做启动配置片时,遇到的相关问题进行简单整理复盘,避免后人踩坑。 本人操作固化芯片型号为:ZYNQ7045、690T(复旦微替代型号V7 690T)。 由于GD SPI Flash器件和进口器件的厂家ID不一致,而Vivado软件又不支持跳过ID检查,导致使用G

    2024年02月06日
    浏览(39)
  • 基于FPGA的SRIO的相关介绍和实现

    1、SRIO简介         SRIO是面向嵌入式系统开发提出的高可靠、高性能、基于包交换的新一代高速互联技术,已于2004年被国际标准化组织(ISO)和国际电工协会(IEC)批准为ISO/IECDIS 18372标准。SRIO则是面向串行背板、DSP和相关串行数据平面连接应用的串行RapidIO接口。串行RapidIO包

    2024年02月07日
    浏览(43)
  • FPGA_ZYNQ (PS端)开发流程(Xilinx软件工具介绍)

            针对不同的应用领域,Xilinx 公司设计开发了各种逻辑资源规模和集成各 种外设功能的Zynq SOC器件,包括专为成本优化的Zynq-7000平台,面向高性 能实时计算应用领域的 Zynq UltraScale+ MPSoC,面向射频通信的 ZynqUltraScale+ RFSoC,以及具备高度可扩展特性的自适应加速平台

    2024年01月16日
    浏览(65)
  • 【正点原子FPGA连载】第二章 安装Ubuntu操作系统 摘自【正点原子】DFZU2EG_4EV MPSoC之嵌入式Linux开发指南

    1)实验平台:正点原子RV1126 Linux开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id=692176265749 3)全套实验源码+手册+视频下载地址: http://www.openedv.com/thread-340252-1-1.html 前面虚拟机已经创建成功了,相当于硬件已经准备好了,接下来就是要在虚拟机中安装Ubuntu系统了,首先

    2023年04月26日
    浏览(57)
  • 基于 VPX 总线的工件台运动控制系统研究与开发-DSP+FPGA硬件架构(一)

    作为光刻机核心单元之一,超精密工件台主要负责实现快速扫描、上下片、精密定位、调平调焦等功能。目前,较为成熟的方案大多采用 VME 并行总线架构来建立超精密工件台控制系统,由于随着系统性能要求的提升,VME 总线以及相应的处理器已无法满足需求,所以必须设计

    2024年02月03日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包