1.The type of SRIO packageis determined by the combination of Ftype(format type) and Ttype(transaction type) fields in the packet。

SRIO Packets:

The RapidIOdata stream consists of data fields pertaining to the logical layer, thetransport layer, and the physical layer.

• The logical layer consists of the header (defining the type of access) and thepayload (if present).

• The transport layer is somewhat dependent on the physical topology in thesystem, and consists of source and destination IDs for the sending and receivingdevices.

• The physical layer is dependent on the physical interface (i.e. serial versus parallelRapidIO) and includes priority, acknowledgement, and error checking fields.

Operation Sequence:

SRIO transactions are based on request and response packets. Packets are thecommunication element between endpoint devices in the system. A master or initiatorgenerates a request packet which is transmitted to a target. The target then generates aresponse packet back to the initiator to complete the transaction(如NWRITE_R求情包,需要slave给出response). SRIO endpoints are typically not connected directly to each other but instead have intervening connection fabric devices.

SRIO packet Tyoe:

The type of SRIO packageis determined by the combination of Ftype(format type) and Ttype(transaction type) fields in the packet.Table 2-2 lists all supported combinations of Ftype/Ttype and the corresponding decoded actions on the packets.

如根据上图,涉及到DirectIO的包类型有:

#define DIOTYPE_NREAD    (0x24)       //Srio transfer type for a NREAD request packet

#define DIOTYPE_NWRITE   (0x54)      //Srio transfer type for a NWRITE packet

#define DIOTYPE_NWRITE_R (0x55)   // Srio transfer type for a NWRITE with response packer

#define DIOTYPE_SWRITE   (0x60)       //Srio transfer type for a SWRITE packet

#define DIOTYPE_DOORBELL (0xA0)   //Srio transfer type for a DOORBELL packet

举例,两种不同的包格式,FType 5(message passage包),11(SWRITE包),区别仅在逻辑层:

Message Passing Logical Specification(包含FType 11):Only device Ids and mailbox numbers are transferred in the packets, no memory addresses;Destination Device is responsible for storing and managing memory space.

Direct I/O Logical Specification(包含FType 6):Target memory address is specified in the transferred packet;Source device needs to know memory map of destination device.

对于上述FType 6的包,即SWRITE包,他是DirectIO操作的一种包。如在做DirectIO操作时,可以通过配置LSU_Reg5寄存器选择包格式,即选择了相应的操作,对于TI C66x DSP SRIO DirectIO操作,在master端只需要配置LSU寄存器,之后,硬件会自动打包,将LSU寄存器中的值对应到协议中去,按照协议中的包格式(如上图)形成传输包,再加上payload,发送给slave端:

转载自:http://blog.csdn.net/yiyeguzhou100/article/details/35797539

TI_DSP_SRIO - package type(包格式)的更多相关文章

  1. IM通信协议逆向分析、Wireshark自定义数据包格式解析插件编程学习

    相关学习资料 http://hi.baidu.com/hucyuansheng/item/bf2bfddefd1ee70ad68ed04d http://en.wikipedia.org/wiki/I ...

  2. ETHERNET数据包格式( IP & UDP & ICMP & ARP )

    ETHERNET数据包格式( IP & UDP & ICMP & ARP ) ETHERNET数据包格式 一.ETHERNET 数据包的协议类型 TYPE 的值为 0x0800 ...

  3. RTP 包格式 详细解析

    H.264 视频 RTP 负载格式 1. 网络抽象层单元类型 (NALU) NALU 头由一个字节组成, 它的语法如下: +---------------+      |0|1|2|3|4|5|6|7 ...

  4. 详解BLE 空中包格式—兼BLE Link layer协议解析

    BLE有几种空中包格式?常见的PDU命令有哪些?PDU和MTU的区别是什么?DLE又是什么?BLE怎么实现重传的?BLE ACK机制原理是什么?希望这篇文章能帮你回答以上问题. 虽然BLE空中包(pa ...

  5. [转帖]IP /TCP协议及握手过程和数据包格式中级详解

    IP /TCP协议及握手过程和数据包格式中级详解 https://www.toutiao.com/a6665292902458982926/ 写的挺好的 其实 一直没闹明白 网络好 广播地址 还有 网 ...

  6. package.json包描述文件说明

    //commonjs包规范-说明 { "name": "leyi",//包名,不允许空格 "description": "hell ...

  7. [na]ip数据包格式

    IP Datagram Structure 字段名 解释 版本 IP协议的版本,目前的IP协议版本号为4,下一代IP协议版本号为6. 首部长度 IP报头的长度.固定部分的长度(20字节)和可变部分的长 ...

  8. IP数据包格式

    IP数据包格式 0 4 8 16 31 |4位版本 | 4位首部长度 | 8位服务类型 | 16位总长度(字节数)| |16位标识 | 3位标志 | 13位片偏移 | |8位生存时间| 8位协议 | ...

  9. H264的RTP负载打包的数据包格式,分组,分片

    H264的RTP负载打包的数据包格式,分组,分片 1.    RTP数据包格式 RTP报文头格式(见RFC3550 Page12): 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 ...

随机推荐

  1. JavaScript实现数字配对游戏

    游戏效果如下图所示: 规则: 在4X5的格子中,有随机的互不相等的10个数,每个数据有两份(也就是20个数,有两两相等的十对),随机分布在20个格子中.游戏开始,弹出二十个数的序列.每次点击格子会显示 ...

  2. Count and Say (Array Length Encoding) -- LeetCode

    The count-and-say sequence is the sequence of integers beginning as follows:1, 11, 21, 1211, 111221, ...

  3. 【bzoj4403】【序列统计】不降转升+组合数添项合并

    (上不了p站我要死了,侵权度娘背锅) Description 给定三个正整数N.L和R,统计长度在1到N之间,元素大小都在L到R之间的单调不降序列的数量.输出答案对10^6+3取模的结果. Input ...

  4. Java StringBuffer与StringBuider

    String 的值是不可变的,每次对String的操作都会生成新的String对象,不仅效率低,而且耗费大量内存空间. StringBuffer类和String类一样,也用来表示字符串,但是Strin ...

  5. "library not found for - "解决办法

    在我们编译的时候有时候会报这个错误 "library not found for - " 由于是我们在项目中使用了一些第三方的库,就比如我再使用百度的静态库文件的时候,报出的这个错 ...

  6. Linux文本过滤常用命令(转)

    01 cat命令 通常用来显示文本文件的内容 一般用来查看比较短的文本文件,因为其缓冲区有限 -s选项可以用来合并文件中多余的空行,多个空行将被压缩为一个空行; -n选项可以显示行号 -b选项可以跳过 ...

  7. 详细解析ASP.NET中Request接收参数乱码原理

    起因:今天早上被同事问了一个问题:说接收到的参数是乱码,让我帮着解决一下. 实际情景: 同事负责的平台是Ext.js框架搭建的,web.config配置文件里配置了全局为“GB2312”编码: < ...

  8. 使用 SQL Server 的 uniqueidentifier 字段类型

    原文:使用 SQL Server 的 uniqueidentifier 字段类型 SQL Server 自 2008 版起引入了 uniqueidentifier 字段,它存储的是一个 UUID, 或 ...

  9. 为什么代理属性设置成assign为了防止生成保留环来

    循环引用 全部的引用计数系统, 都存在循环应用的问题, 比如以下的引用关系: 1. 对象a创建并引用到了对象b 2. 对象b创建并引用到了对象c 3. 对象c创建并引用到了对象b 这时候b和c的引用计 ...

  10. python pep8编码风格学习记录(转)

    简要归纳 每个缩进层级使用4个空格. 每行最多79个字符. 顶层的函数或类的定义之间空两行. 采用ASCII或UTF-8编码文件 在文件顶端,注释和文档说明之下,每行每条import语句只导入一个模块 ...