FPGA+DSP SRIO通信(三)——基于LSU的数据传输

之前的配置中我们知道如何配置通道速率、设置deviceID。
也就是马路已经铺设好了,我们应该造车了。
搏一搏,单车变摩托!
SRIO不是单车,而是摩托车,我们需要搏一搏,把这个摩托车造出来,在我们已经铺设好的高速路上飞驰。

目录


下面提及的关于LSU寄存器的详细知识,在我的以下两篇博客中都大篇幅详细讲过,如果本文说的不清楚,大家可以看一下我之前的这两篇博客:

SRIO学习(六)——Direct I/O 操作(一)
SRIO学习(七)——Direct I/O 操作(二)

一、LSU寄存器基本介绍

SRIO用来高速传输大量数据,用的就是LSU,LSU的全称是Load/Store Unit,一共有8个LSU(Load/Store Unit),每个LSU都有自己的7个寄存器,即LSU_REG0-LSU_REG6,REG0-REG4用来存储控制信息,REG5、REG6用来存储命令和状态信息。除了REG6,其它寄存器都是可读可写的,只有REG6有只读和只写两种模式。

所有关于SRIO传输的重要属性都在LSU的7个寄存器中,我们所要做的,就是对这7个寄存器赋上不同的值,以实现我们的目的。对于这7个寄存器的说明,都在我之前的博客里,说的不清楚的地方,在文末的参考文献里有详细说明。

LSU的这7个寄存器就像摩托车的零件,每一个零件都有不同的功能,但是只有组装起来,成为一辆完整的车架,才能有具体功能。

而对于这7个寄存器的赋值,TI官方给出的两种方式,我都提供出来:
1、对每一个寄存器单独赋值,这需要知道每个寄存器的每个域的具体功能,才能得心应手地配置。因为我的ti文件夹安装在c盘,所以我的SRIO文档的路径为:

C:/ti/pdk_C6678_1_1_2_6/packages/ti/csl/docs/doxygen/html/csl__srio_aux_8h.html

该文档中有以下API是用来对每个寄存器单独赋值的(截图):
这里写图片描述

任意点开上面的一个API,就会有其使用方式,这里我以reg0为例,提供其使用方式:
这里写图片描述
2、对指定的功能进行编辑
这种配置方式只需要知道一些特定名词,如bytecount,即传输的字节数,dstID,即目的地的deviceID等等。该方式的API也可以在下面的路径中找到。

C:/ti/pdk_C6678_1_1

  • 13
    点赞
  • 61
    收藏
    觉得还不错? 一键收藏
  • 19
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 19
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值