TMS320C6455 SRIO 实现方案
TMS320C6455 SRIO 实现方案
SRIO(Serial RapidIO)构架是一种基于高性能包交换的互连技术,主要功能是完成在一个系统内的微处理器、DSP、通信和网络处理器、系统存储器以及外设之间高速的传输数据。它成功解决了处理器集成芯片之间和线路板之间的互连问题。如果合理运用SRIO技术,可以构成信号处理网络,增强整机系统的处理能力和灵活性[88]。
SRIO具有以下的特征:
更大的带宽:该技术的标准采用了 LVDS 技术,因而可以在 8bit 位的路径上提供 10Gbit/s 的带宽。
低延迟:由于该技术具有高频率和较低的包开销,可以在更窄的交换里实现比 PCI 更小的延迟。
对现有的软件平台透明:SRIO协议是由硬件实现的,所以它对于现存的操作系统和应用软件是透明的,并且为寄存器映像系统提供了灵活的解决办法,错误可以通过硬件直接纠正。
支持多处理和多IO技术[89]: 该协议可以用FPGA和ASIC完成,这样的互连更具灵活的拓扑结构和传输能力。快速的交换技术支持多个拓扑结构[90],例如星形、网形。由于是点到点的通信,该技术可支持更多的同步传输。
SRIO 为了满足灵活性和可扩张性的要求,将协议分为三层:逻辑层、传输层、物理层[91],如图3-12所示。
图3-12 SRIO协议分层结构
(1)逻辑层:指定了逻辑层协议,定义了包格式及端点设备完成事务的信息,这些是终端处理包所必需的。目前逻辑层已支持四种不同的传输机制:全局共享存储器、存储器映射的输入输出、消息传递以及流式数据。RapidIO 交换设备直接转发流经的报文,提高了交换设备对未来协议的兼容性[92]。
(2)传输层:定义了包交换的路由和寻址机制。RapidIO 支持8 位小系统(256个独立的端点地址)和16 位大系统的地址空间,由ID 号来控制。ID 号为报文在端点设备间传输提供了的路由信息,交换器件根据ID 信息查询路由表将数据转发到目的设备。
(3)物理层:说明设备级接口信息,如电气特性、错误管理和流量控制机制。
物理层包括8 位/16 位并行接口标准和1x/4x 串行接口标准。并行接口传输时延相对较小,但引脚数目大大增多,传输距离等限制较多系统较为复杂。串行RapidIO不仅具备可靠的高速数据传输,而且有利于系统简单化,因此前景更为广阔。
RapidIO 操作是以请求和响应事务为基础的[1]。包是系统中端点器件间的基本通信单元。发起器件或者叫做主控器件发起一个请求事务,该事务被送至目标器件。目标器件产生一个响应事务返回给发起器件来完成一次握手操作。在硬件上通常不会将 RapidIO 端点相互直接连在一起,而是通过介于其间的单个或多个交换器件的集合连接。图 3-13 显示了如何在 RapidIO 系统中传送事务。
在图 3-13 中,系统中的发起器件产生一个请求事务开始一次操作。该请求包传送至交换结构器件,通常指一个交换机,交换结构器件发出控制符号确认收到了该请求包,然后交换结构器件将该包转发至目标器件。这就完成了此次操作的请求阶段。目标器件完成要求的操作,产生响应事务。通过交换结构将承载该事务的响应包传送回发起器件。传送过程中使用控制符号对每一包进行确认。一旦响应包到达发起器件并得到确认,就认为此次操作已完成。
图3-13 SRIO事务传输示意图
SRIO数据包由代表三级规范体系结构的多个字段组成[89]。典型的请求和响应包的格式如图3-14。
请求包以物理层字段开始。S 位表示这是一个包还是控制符号。AckID 表示交换结构器件将用控制符号来确认哪一个包。PRIO 字段表示用于流量控制的包优先级。TT、目标地址(TargetAddress)和源地址(SourceAddress)字段表示传输地址的机制类型、包应被递送到的目的器件的地址和产生包的器件的源地址。Ftype和事务(Transaction)表示正被请求的事务。长度(Size)字段表示编码后事务的长度。RapidIO 事务数据的有效载荷(Payload)长度从 1 到 256 字节不等。srcTID表示源事务 ID。RapidIO 器件在两个端点器件间最多允许有 256 个未完成的事务。对于存储器映射事务,跟随在 srcTID 后面的是表示器件的偏移地址(Device Offset Address)字段。写事务由数据的有效载荷结束。所有包以 16 位循环冗余校验码(CRC)结束。响应包与请求包类似。状态(Status)字段表示是否成功完成了事务。目标 TID(目标事务 ID)字段的值与请求包中源事务 ID 字段的值相等。
图3-14 SRIO包格式
SRIO包的类型由Ftype和Ttype位共同决定。表3-5列出了由Ftype,Ttype共同确定的所有模式及其相应的解码动作。根据包的格式的不同,将事务划分成很多类型,其中最重要的类型有3种:NREAD(基本读操作)、NWRITE(基本写操作)、DOORBELL(门铃操作)。通过这3种类型的组合就可以完成所有的存储器读写操作[93]。
SRIO通信模式选择DirectIO 模式,这种模式使用的前提是主设备必须知道目的端的存储器地址分配,主端对目的端读写时,使用EDMA 来实现,并不干涉目地端的操作。配置这种模式发送接收时,需要更改图3-15 所示的七个寄存器[1]。
转载自:http://www.eefocus.com/module/forum/thread-130361-1-1.html
TMS320C6455 SRIO 实现方案的更多相关文章
- Aurora 8B/10B、PCIe 2.0、SRIO 2.0三种协议比较
在高性能雷达信号处理机研制中,高速串行总线正逐步取代并行总线.业界广泛使用的Xilinx公司Virtex-6系列FPGA支持多种高速串行通信协议,本文针对其中较为常用的Aurora 8B/10B和PC ...
- FPGA和DSP间基于SRIO的高速通信系统设计
作者:陈婷,岳强,汪洋 解放军信息工程大学 摘要: 现代信号处理系统通常需要在不同处理器之间实现高速数据通信,SRIO协议由于高效率.低延时的特性被广泛使用.本文研究了在FPGA和DSP两种处理器之间 ...
- 分布式锁1 Java常用技术方案
前言: 由于在平时的工作中,线上服务器是分布式多台部署的,经常会面临解决分布式场景下数据一致性的问题,那么就要利用分布式锁来解决这些问题.所以自己结合实际工作中的一些经验和网上看到的一些资 ...
- 再谈C#采集,一个绕过高强度安全验证的采集方案?方案很Low,慎入
说起采集,其实我是个外行,以前拔过阿里巴巴的客户数据,在我博客的文章:C#+HtmlAgilityPack+XPath带你采集数据(以采集天气数据为例子) 中,介绍过采集用的工具,其实很Low的,分析 ...
- 谈谈一些有趣的CSS题目(八)-- 纯CSS的导航栏Tab切换方案
开本系列,谈谈一些有趣的 CSS 题目,题目类型天马行空,想到什么说什么,不仅为了拓宽一下解决问题的思路,更涉及一些容易忽视的 CSS 细节. 解题不考虑兼容性,题目天马行空,想到什么说什么,如果解题 ...
- iOS开发之多种Cell高度自适应实现方案的UI流畅度分析
本篇博客的主题是关于UI操作流畅度优化的一篇博客,我们以TableView中填充多个根据内容自适应高度的Cell来作为本篇博客的使用场景.当然Cell高度的自适应网上的解决方案是铺天盖地呢,今天我们的 ...
- 尝试asp.net mvc 基于controller action 方式权限控制方案可行性
微软在推出mvc框架不久,短短几年里,版本更新之快,真是大快人心,微软在这种优秀的框架上做了大量的精力投入,是值得赞同的,毕竟程序员驾驭在这种框架上,能够强力的精化代码,代码层次也更加优雅,扩展较为方 ...
- Redis百亿级Key存储方案(转)
1 需求背景 该应用场景为DMP缓存存储需求,DMP需要管理非常多的第三方id数据,其中包括各媒体cookie与自身cookie(以下统称supperid)的mapping关系,还包括了supperi ...
- Android 几种消息推送方案总结
转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/6241354.html 首先看一张国内Top500 Android应用中它们用到的第三方推送以及所占数量: 现 ...
随机推荐
- Python与数据结构[0] -> 链表/LinkedList[2] -> 链表有环与链表相交判断的 Python 实现
链表有环与链表相交判断的 Python 实现 目录 有环链表 相交链表 1 有环链表 判断链表是否有环可以参考链接, 有环链表主要包括以下几个问题(C语言描述): 判断环是否存在: 可以使用追赶方法, ...
- KDtree浅谈
KDtree浅谈 1.对KDtree的理解 首先要知道$KDtree$的用处,$KDtree$是用来进行多维数点的,一般这些点都是在在而二维及二维以上,因为一维上的问题,我们基本都可以运用线段树来解决 ...
- Cosmos DB
类似的数据库还有Google的Spanner. 参考:官网说明 另一个介绍 Key capabilities As a globally distributed database service, A ...
- HDU 1024 Max Sum Plus Plus(基础dp)
Max Sum Plus Plus Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others ...
- hiho一下第131周 后缀自动机二·重复旋律8(循环相似子串)
后缀自动机五·重复旋律8 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi平时的一大兴趣爱好就是演奏钢琴.我们知道一段音乐旋律可以被表示为一段数构成的数列. 小Hi ...
- Xamarin XAML语言教程使用方法设置进度条进度
Xamarin XAML语言教程使用方法设置进度条进度 在ProgressBar中定义了一个ProgressTo方法,此方法也可以用来对进度条当前的进行进行设置,ProgressTo与Progress ...
- 【spring data jpa】spring data jpa的in查询
如下: List<Dealer> findDealersByTidAndUidIn(String tid,List<String> uidList); 在dao层里面直接写这个 ...
- 工具分享:GitHub的克隆工具Cl0neMast3r,轻松搞定各种测试
GitHub,相信大家并不陌生,咱搞技术的应该都会用到它,GitHub主要是进行代码工具的存储.下载等工作.今天介绍一款让我们操作GitHub相关工作变的更简单的工具, GitHub的克隆工具. Cl ...
- 走进C++程序世界-----operator new delete 重载
在C++ 的世界里,new 和delete 是keyword.而在C的世界里相相应的malloc和free是函数,关键C++的new和delete分析,详见前面的章节.这里就不在过多的介绍了.链接. ...
- ECSHOP热门搜索关键词随机显示
实现ECSHOP热门搜索关键词随机显示,需要修改ECSHOP模板和ECShOP程序,按照步骤修改即可. 一.打开 include/lib_main.php 文件,找到下面这段代码,删除之(大概在165 ...