APP下载

基于SRIO总线的全交换路由设计与实现

2017-03-02

无线电通信技术 2017年2期
关键词:传输方式板卡路由

吕 鹏

(中国电子科技集团公司第五十四研究所,河北 石家庄 050081)

基于SRIO总线的全交换路由设计与实现

吕 鹏

(中国电子科技集团公司第五十四研究所,河北 石家庄 050081)

针对现代社会对数据传输速率要求的不断提升,现有的传输方式如PCI总线、PCI Express总线及千兆网等,已经不能满足技术的需求。因此,采用了一种新型的传输方式,利用SRIO总线的高速特性和交换芯片多端口的灵活性,对不同种类的设备节点(DSP、FPGA、PowerPC)进行网状结构的拓扑互联,实现数据高速和灵活传输的目的。主要介绍了在一个拓扑网络内部DSP、FPGA和PowerPC设备节点的SRIO配置方式及网络中全拓扑系统的实现过程,并对该系统进行了速率和正确性测试,为实时数据处理技术提供了必要的技术基础。

SRIO总线;全交换路由;交换芯片;PowerPC

0 引言

SRIO(Serial RapidIO)总线作为一种高速的串行总线,因为其传输速率高、低功耗和低延迟的特性在越来越多方面得到应用[1]。同时支持SRIO协议交换芯片多端口的特性使其在数据传输上打破了以往单一的点对点传输方式,将多个交换芯片及具有SRIO接口的器件相互连接,即可实现网状的拓扑结构,真正达到“条条大道通罗马”的效果。本文所采用的终端设备为MPC8641D处理器的双e600内核结构,每个内核性能为3.125 Gband的传输速率,同时分别配置了IDT公司的Tsi578和CPS1848 2种型号交换芯片与DSP和FPGA等终端设备进行链路通信,并对设备进行数据可靠性和传输速率的测试。

1 SRIO路由配置平台

1.1 SRIO接口技术

SRIO是基于包交换的互连技术,传输层定义了包交换的路由和寻址机制[2]。SRIO网络主要由终端器件和交换器件组成。终端器件是数据包的源或目的,不同的终端器件以器件 ID 来区分。SRIO支持 8 位或 16 位器件 ID,因此一个 SRIO 网络最多可容纳 256 或 65 536个终端器件。与以太网类似,SRIO也支持广播或组播,每个终端器件除了独有的器件 ID 外,还可配置广播或组播 ID。交换器件根据包的目的器件 ID 进行包的转发,交换器件本身没有器件ID[3]。SRIO的互连拓扑结构非常灵活,除了通过交换器件外,2个终端器件也可直接互连。同时SRIO支持在数据包帧结构中以不同数据量进行传输[4]。

PowerPC系统SRIO总线需要使用维护包进行路由配置。维护包的配置需要分别设置PowerPC发送和接收窗口(发送窗 8个,接收窗 4个)[5]、SRIO总线的基地址、读写传输模式(NWRITE、NREAD)、模式使能及访问的窗口大小等参数,同时为了适应不同系统规模的需求,设备ID分为大端模式和小端模式2种,其中小端模式为8位,大端模式ID为16位[6]。

1.2 交换芯片的交换处理

以图1 CPS1848结构图为例对交换芯片的交换处理流程进行说明。

图1 CPS1848结构图

CPS1848是 IDT 公司最新推出的支持SRIO 2.1标准的交换芯片,有48个双向的数据差分对(lane),可以配置成 1x、2x和4x 3种端口模式,最多可以配置成 18个1x 或 12 个4x端口,每个 lane的速率可以设置为1.25 Gbit/s、2.5 Gbit/s、3.125 Gbit/s、5 Gbit/s 或6.25 Gbit/s[7]。

配置CPS1848交换芯片的主要寄存器功能(TSI578的配置方法与其类似)如表1所示。

表1 CPS1848寄存器功能介绍

1.3 PowerPC主板SRIO配置

以M85XX为例,其中主要配置的函数为M85XXRIO_ROWBARn,负责函数地址BAR空间的指定;M85XXRIO_ROWARn负责配置SRIO的空间传输模式、读写方式、SRIO使能及空间大小[8]。

利用维护包配置路由的时候,需要利用M85XXRIO_ROWTARn对地址偏移量、hopcount和目的ID等进行读写操作,根据访问的地址偏移量不同,访问的目的不同,进行不同的设置。

1.4 DSP及FPGA节点SRIO配置

DSP芯片中利用TI公司自带的函数Setup配置SRIO相关的寄存器,并将port号置为0,设置loopback为0表示关闭DSP自循环;设置buffer Model为4x模式,时钟输入为125 MHz,2.5 GB/s传输速度,最后将SRIO传输方式设置为NWRITE和NREAD模式[9]。

FPGA IP 核为 Serial Rapidio,版本为5.5,完美兼容RapidIO Interconnect Specification v2.1,实现了SRIO总线逻辑层、传输层和物理层协议功能[10]。Device ID就在IP核中进行设置,同样选择4x通路,时钟频率125 MHz,传输速率2.5 GB/s即可[11]。

2 设计方案

2.1 总体设计

为了适应分机内部数据多点、灵活传输的要求及数据板卡高速传输、数据多通道连续存储的功能,利用具有SRIO接口的背板、器件及交换芯片实现数据互联,其中选用支持同时安装8块板卡的串行总线背板。由于SRIO采用的是点对点技术,在需要2个以上SRIO接口处理或桥接部分的系统中都需要采用1台交换机[12]。因此,本次设计选用了交换芯片替代交换机的设计。交换芯片根据系统的需要,主板即Slot1,其余的数字板卡Slot2~Slot8,均采用1个CPS1848交换芯片配4个节点,包括3个FPGA和1个DSP,传输均采用4 lane模式。

其中主板的PowerPC型号为Freescale公司的MPC8640D,交换芯片为IDT公司的Tsi578。Tsi578总共包含8个4 lane,Slot2~Slot8的板卡设计完全一致,目的是为了后期替换方便,板卡上的交换芯片型号为IDT的CPS1848。CPS1848总共包含12个4 lane,FPGA选用的是XC5VSX315T,DSP为TI厂商的C6678。图2为本设计的板卡连接框图。

具体实现过程为:

① 系统上电后,每个板卡的交换芯片、FPGA、DSP会初始化各自的SRIO接口,保证各自的SRIO接口速率及端口状态正常;

② Slot1槽上的PowerPC会配置主板的SRIO接口速率,并将传输方式配置为维护包的形式;

③ PowerPC扫描本版的交换芯片及另一个PowerPC节点,修改交换芯片及PowerPC节点的ID,配置2个节点间的传输路径;

④ 配置PowerPC到Slot2~Slot8的交换芯片及各自FPGA和DSP节点的路由;

⑤ 将已经修改ID后的Slot2~Slot8之间的各个FPGA、DSP节点配置路由。

图2 板卡连接框图

本设计选用的是小端模式,ID比特位数为8 bit,最多的节点ID数为256,如果后续系统需要扩展需要,可能改为大端模式,ID比特位为16 bit,最多的节点ID数为65 536。同时一个系统中的各个节点ID要不一样才可传输,否则会出现发送数据错误的情况[13]。同时要考虑到单个SRIO接口的传输带宽的限制,如果同时有多个高速实时的数据要通过一个节点进行传输,可能会出现对数据的问题,因此就需要在设置的时候对路由进行指定限制,从而保证数据传输的正确性。

2.2 控制槽PowerPC系统SRIO接口设计

在进行SRIO读写前,先要在上电时对CPU MPC8640D和交换芯片Tsi578进行必要的硬件配置。本文设置为SRIO Host 模式,通信速率为2.5 Gbit/s,4 lane传输模式,每个端口都使能。硬件配置完成后,需要对SRIO内部寄存器进行初始化配置,并完成对内部SRIO和外部Agent 地址空间映射,最终就能像访问外部存储器一样直接对这些地址空间操作,实现各个SRIO器件的读写[14]。由此可见,软件上的关键就是对SRIO寄存器的初始化配置和地址映射。

3 环境与测试

在实际应用中,重点对分机内部8个板卡间的各个节点之间是否能够传输及传输的正确性进行验证,并对任意类型的2个节点间的数据传输速率进行了测试。其中PowerPC采用DMA的传输方式,窗口大小为2 MB,传输方式为NWRITE和NREAD方式,而DSP和FPGA则同样会采用DMA的自适用传输方式[15]。测试结果如表2所示。

表2 连续传输速度测试统计

由于本设计采用的是SRIO1.1协议X4的设计,通信速率为2.5 Gbit/s,采用8 B/10 B编解码方式,同时加上打包效率0.8,因此实际传输值大概为2.5*4 / 8*0.8*0.8 = 800 MB/s。由于PowerPC采用了维护包校验机制,因此传输效率有所折扣。

最后在进行程序调试的时候需要注意分机内部所有节点的ID必须为唯一,且不能进行重叠,同时交换芯片的ID只能进行奇数次设置,如果偶数次设置就会给还原成原厂ID。同时利用PowerPC进行DMA传输的时候最好一种数据占用一个通道,不要通道互用,这样会影响传输效率。

4 结束语

这种设计方法以交换芯片为核心,利用交换芯片的多个port的特点,实现网状的拓扑结构,达到各个节点间的数据互联传输的特点,该技术可以实现分机内部任意节点间的高速数据传输,可以将分机内部的任意板卡看成一个小的接收机以达到数据并行处理的目的。

参考论文

[1] 张娟娟,陈迪平,柴小丽.VxWorks下RapidIO互联系统的实现[J].计算机工程,2011,37(3):236-240.

[2] 邓 豹,赵小冬.基于串行RapidIO的嵌入式互联研究 [J].航空计算技术,2008,38(3):1-4.

[3] 李 宾,马晓川,鄢社锋,等.基于VPX标准的RapidIO交换和Flash存储模块设计[J].声学技术,2011,30(6):528-532.

[4] 崔维嘉,樊少杰.新一代的总线结构--RapidIO [J].无线电工程,2011,41(31):37-38.

[5] 谷晓鹏,杨玉亮,张 然.基于VPX的SRIO通信模块设计[J].雷达与对抗,2015,35(2):64-68.

[6] 王星岛,李国超,耿 涛.基于Tsi578构建RapidIO互联系统[J].信息与电脑,2014(6):130-132.

[7] 马友科.基于CPS1848的SRIO总线交换模块设计 [J].无线电工程,2014,44(10):73-76.

[8] 孙宏利.雷达接收机数字化分析[J].无线电工程,2011,41(1):25-27.

[9] 俞 健,周维超,刘 坤.DSP与FPGA的SRIO互联设计 [J].光电技术应用,2012,33(6):902-905.

[10] 信 侃,嘉 峰.SRIO总线技术研究及其FPGA实现 [J].无线电工程,2014,44(12):33-35.

[11] Xilinx.Logical CORE IP Serial RapidIO v5.6 User Guide [M].USA:Xilinx,2011.

[12] 纪 斌,郑志国.基于PowerPC的RapidIO高速串行通信设计与实现[J].电讯技术,2011,51(3):75-78.

[13] 谢立斌,刘 凯,尚 煜.串行RapidIO交换技术[J].电子科技,2015,25(9):129-135.

[14] 冼友伦,纪小明,王显跃.基于TSI578的Rapid IO互联技术[J].电子与封装,2014,11(14):26-30.

[15] 饶 坤.基于DSP和FPGA的串行RapidIO系统性能测试与分析 [J].信息与电子工程,2012,10(6):680-684.

Design and Implementation of All Exchange Routing Based on SRIO Bus

LV Peng

(The 54th Research Institute of CETC,Shijiazhuang Hebei 050081,China)

With increasing data transfer rate requirement of the modern society,existing transmission modes,such as PCI bus,PCI Express bus,gigabit network,etc.,cannot meet the technical needs.Therefore,a new type of transmission mode is adopted,using the high speed feature of SRIO bus and the switching chip multiport flexibility for mesh interconnection of different types of device nodes (DSP,FPGA,PowerPC),in order to realize high-speed flexible data transmission.The paper mainly introduces the SRIO configuration mode of device nodes (DSP,FPGA,PowerPC) in a topology network and the realization of whole network topology system,gives the test results of the rate and correctness of the system,and provides the necessary technical foundation for real-time data processing technology.

SRIO Bus;all exchange routing;switching chip;PowerPC

10.3969/j.issn.1003-3114.2017.02.22

吕 鹏.基于SRIO总线的全交换路由设计与实现[J].无线电通信技术,2017,43(2):87-89,98.

2016-11-21

吕 鹏 (1984—),男,工程师,主要研究方向:数字信号处理、信息技术与系统。

TN919.3

A

1003-3114(2017)02-87-3

猜你喜欢

传输方式板卡路由
基于PCI9054的多总线通信板卡的研制
基于FPGA的多通道模拟量采集/输出PCI板卡的研制
探究路由与环路的问题
可穿戴式多通道传感系统功能需求分析及设计
基于分布式传感器的GIS局部放电在线监测实时数据传输方式的研究
一种基于光纤数据传输的多板卡软件程序烧写技术
浅谈工程建设中的信息化发展与网络传输方式选择
道路监控系统图像数据传输方式探讨
PRIME和G3-PLC路由机制对比
一种通用模拟量及开关量信号采集板卡的设计