分类:
2012-11-09 08:36:34
原文地址:基于SRIO协议的板级芯片互联技术 作者:三点水兽
1 SRIO标准
RapiclI/O是面向开发提出的高可靠、高性能、基于包交换的新一代高速互联技术,已于2004年被国际标准化组织(ISO)和国际电工协会(IEC)批准为ISO/IES 18372标准。SRIO则是面向串行背板、DSP和相关串行数据平面连接应用的串行RapidIO。串行RapidIO包含一个3层结构的协议,即、传输层、逻辑层。物理层定义电气特性、链路控制、低级错误管理;传输层定义包交换、路由和寻址机制;逻辑层定义总体协议和包格式。可以实现最低数量,采用DMA传输,支持复杂的可扩展拓扑,多点传输;可选的1.25 Gbps、2.5 Gbps、3.125 Gbps三种速度能满足不同应用需求,是未来十几年中嵌入式系统互联的最佳选择之一。
2 基于C6455高速SRIO接口的互联系统
2.1 C6455的SRIO端口
TMS320C6455(简称C6455)是德州(TD公司新推出的一款DSP产品,可实现更高性能,精简代码,更多片上及超高带宽的集成外设。其中最为引人瞩目的是第一次实现了用于间通信的SRIO,C6455 上的SRIO端口是面向嵌入式领域推出的具有高数率,很少引脚的互联方案,并且Rapicl I/O的数据传输完全是由硬件实现的,不需要处理器参与,因此这样可以实现一个高效板级同构互联多处理器系统。C6455的SRIO端口一对收发差分信号 对构成一个全双工的(端口),可以工作在1.25 Gbps、2.5 Gbps、3.125 Gbps的波特率。
2.2 基于SRIO的多C6455互联结构
C6455的SRIO端口可以与SRIO件
实现互联,也可以在C6455之间通过连接差分信号来实现。如图1和图2所示的1x模式和4x模式互联关系,在1x模式中,器件的任何一对发收信号可以与
另一个器件的收发信号相互连接组成独立的1x模式工作。如果两个C6455间采用四对全连接方式,则可实现1个4x工作模式或者是4个独立的1x工作模
式。
多DSP及FPGA的并行处理系统主要由4个C6455处理器和4个Virx5LX50T
构成,系统结构如图3所示。DSP与DSP之间的互联采用图1所示的连接方式来实现全连通的SRIO网络,实现所有DSP之间的1路1x通道,各个通道上
的控制、传输独立并行工作。通过SRIO互联网络,任何一个DSP
C6455都可以访问网络上其他DSPC6455资源,实现网络上的所有设备资源共享。而且这样的全连通结构又可以根据不同任务处理的特点,灵活地配置成
菊花链串行、一主多从的星形等拓扑结构,在不同数据处理应用中具有高度可动态重构性。
2.3 C6455的SRIO传输控制结构
C6455的SRIO包有direct I/O包、DOORBELL包、Message包以及Maintenance包等等。其中最重要的是直接I/O包和DOORBELL包的传输控制,它的传输分成LSU(Load/Store Unit)和MAU(Memo-ry Access Unit)控制单元。LSU用于实现Direct I/O包、DOORBELL包的发送,MAU则负责Direct I/O包的接收。具体的传输控制结构框图如图4所示。
所有直接I/O包和DOORBELL包的发送都由LSU模块执行。直接I/O包内包含了数据本地DSP地址、目标设备ID及数据在目标SRIO设备上需要保存或读取的地址,DSP通过配置对发送端口配置一系列MMRs作为传输描述符,在包传输之前硬件自动把它们加在包头。启动SRIO传输后数据自动实现DSP内部存储空间(L2 )到SRIO发送端口缓冲区的DMA数据传输,处理器参与的仅仅是配置过程,而真正的数据搬移过程全由DMA完成,并且包信息中包含了接收端口的ID及地址信息,数据在接收端口由MAU模块自动DMA到包头信息指定的地址空间,对用户来说是完全透明的。
2.4 C6455的SRIO关键事务处理
SRIO的逻辑层采用的是包格式来交换数据,所有包的有效载荷最大为256字节。事务就是指向SRIO地址空间的加载存储及DMA的操作,其中 最为关键重要的就是NREAD(读操作)、NWRITE(写操作)、DOORBELL(门铃操作)。通过SRIO包的这几种事务处理可以实现互连器件间的 数据传输。在发送DSP的SRIO端口和接收DSP的SRIO端口都需要首先进行初始化,包括使能端口,配置端口工作模式,设置和使能模块,设置设备ID及数据传输速率(注意发送和接收端口速率要求一致)。在初始化完成后,通过循环查询SRIO端口状态来判断链路的连接成功与否。一般情况下,链路会很快连接成功,否则前述的初始化配置可能有错。链路连接成功后,就可以进行读写和门铃操作。在系统中, 发送端DSP通过写操作发送完一帧数据,随即发送一个门铃数据包,门铃数据包在接收端DSP上产生一个系统中断告知数据到达有效,于是接收端DSP又将一 个门铃数据包发送回发送端DSP,同样产生一个中断给发送端DSP,发送端DSP收到中断后又继续发送下一个数据帧,如此循环往复实现高速传输数据。
3 C6455与Virtex5-LXT的互联
在DSP+FPGA复合架构中,DSP的优势在于,对新型及复杂算法开发上只需较短的时间,并能够快速灵活地移植到新一代DSP处理器上;而 FPGA的最大优势在于,通过并行处理实现的效能最大化。因此通过SRIO实现DSP和FPGA的互联可以达到两者的优势互补。如图3中,通过DSP的一 个SRIO端口和一个Virtex5 LX50T实现SRIO连接,每一个FPGA都可以通过SRIO通道访问SRIO网络上的任何资源。用于SRIO的端点IP解决方案针对RapidIO规范(v1.3)而设计,完整的端点IP解决方案包括用户收发逻辑、传输控制及缓存逻辑、SRIO物理层IP,以及SRIO管理配置寄存器实现逻辑4部分。
结 语
在多处理器互联处理系统实现方案中,SRIO是最佳的数据互联方式之一。高带宽、低延时、引脚少、DMA传输、低软件复杂度满足了飞速发展的高 速实时数据处理对性能的要求。C6455间的SRIO高速通信满足不同应用软件设计的灵活性,DSP和FPGA的SRIO通信提高了多处理器系统的计算能 力,通过SRIO通信方式构建的计算网络提供了共享式分布处理,能轻松满足不同应用领域高速发展的海量数据高速处理需求。