【摘要】本文提出了一种基于FPGA的RapidIO交换实现架构及其实现方案。经过实践验证,此方案可以完全实现RapidIO交换的功能,具有开发周期快、灵活、可动态控制、节省空间等特点。可以实现高性能可靠数据传输,在高速实时通信系统中有着良好的应用前景。
【关键词】RapidIO;FPGA;交换
一、引言
嵌入式处理技术的快速发展,给高性能嵌入式系统的高速互联方面带来了严峻的挑战。为了应对这类挑战,同时适应嵌入式系统的发展需要,业界领先的半导体和系统制造商联合制订了一种可实现任意拓扑和点对点操作、高效且具有很高可靠性和有效拥塞控制的高速互联协议—RapidIO。RapidIO最早是由美国Mercury Computer systems公司(美国水星计算机系统公司)为它的计算密集型信号处理系统自行开发的总线技术,后来被Motorola公司以及其它一些半导体公司所采用。由于是点对点通信,它比多点总线能够实现更多的同步传输,且传输能力还能够随着将来性能提高而继续提高[1]。RapidIO主要特性是具有极低的延迟性和高带宽,适合用于芯片与芯片、板与板、系统与系统之间的高速数据传输。
RapidIO网络由两部分组成:端点和交换机。本文主要讨论RapidIO网络中的交换部分,全文结构安排如下:第一节,介绍RapidIO技术,第二节介绍一种基于FPGA的RapidIO交换实现架构,第三节介绍基于FPGA的RapidIO交换控制和使用原理,第四节结论。
二、RapidIO技术
随着高速数字设计日渐普及,对信号延迟的管理也变得困难重重,并行总线技术难以适应新的接口需求。总线技术从采用单端信号进行传输,逐渐发展到差分信号应用;系统从多点广播发展到点对点传输;从并行总线发展到串行总线。例如,PCI是计算机系统中一种常见的外设并行总线,在嵌入式系统中也得到了广泛应用,用于连接辅助的外设器件。但是应用PCI总线为系统引入了几个额外的性能约束:
(1)PCI不支持分段处理,总线上正在处理的事务会在整个时间段内占用总线,阻塞了其他事务对总线的使用。
(2)在PCI总线上事务的处理时间是无法预知的,因此很难确定缓存的大小并常常导致总线连接中断。
(3)目标为主存储器的事务处理通常需要侦测周期以确保与处理器高速缓存的一致性。
(4)总线性能被减少到附加外设的最一般水准,典型情况下为33MHz,仅提供了266MB/s的峰值传输速率和低于100MB/s的持续传输速率。
RapidIO是一种典型的串行总线技术,具有极低的纳秒级的低延迟性和传输高带宽,易于实现和其它协议的桥接,适用于芯片与芯片、板与板、系统与系统之间的高速数据传输。RapidIO网络的应用范围有:无线基础设施器件、网络接入设备、多服务平台、高端路由器、存储设备、信号和图象处理、军事和航天应用、工业计算、科学计算等[2]。
RapidIO为3层体系结构的协议规范:逻辑层规范、传输层规范和物理层规范,如图1所示。RapidIO的规范定义了一个系统的结构,允许在微处理器,DSP,网络及通信处理器,系统存储器和外围设备间传递数据和控制信息[3]。同样的,它也允许被诸如PCI这样的外围总线技术替换或者与之共存。
图1 RapidIO的协议层次结构
RapidIO网络由两个部分组成:端点和交换部分,如图2所示。端点是数据包的源发送者和接收者;交换部分用来在端口之间传送数据包,但对这些数据包并不进行解析。在RapidIO网络中,为了到达配置寄存器,所有的设备都支持保持业务。
图2 RapidIO网络基本构成
三、基于FPGA的RapidIO交换实现架构
采用基于FPGA的RapidIO交换架构,有着开发周期快、灵活、可动态控制、节省空间等特点。本设计方案中以FPGA为核心实现了16路1×RapidIO输入数据流和8路1×RapidIO输出数据流的交换架构,为了保证交换时延和群时延可控,采取通道开关式配置,通过FPGA内部逻辑控制,完成共24路1×RapidIO之间数字流通道的数据交换,实现架构如图3所示。
图3 基于FPGA的RapidIO交换实现架构
图4 基于FPGA的RapidIO交换配置流程框图
基于FPGA的RapidIO交换模块中FPGA接收系统控制发出的波形配置命令,控制交换模块进行波形配置;在完成配置后到下一次动态配置前,数字流通道为点对点静态连接,配置流程框图如图4所示。
四、基于FPGA的RapidIO交换具体实现
图5是硬件实现框图。基于FPGA的RapidIO交换模块以一片Xilinx公司的V5系列FPGA XC5VTX240T为核心,通过内部逻辑编程,实现16路1×RapidIO输入数据流和8路1×RapidIO输出数据流的数据路由功能。基于FPGA的RapidIO交换模块在接收到来自TI公司的TMS320T6416作为系统控制器发出的通道配置命令时,控制信号处理器进行软件配置;在完成配置后到下一次动态配置前,数字流通道为点对点静态连接。
图5 基于FPGA的RapidIO交换模块实现框图
五、结论
本文提出了一种基于FPGA的RapidIO交换实现架构及其实现方案,经过实践验证,此方案可以完全实现RapidIO交换的功能,避免了使用RapidIO交换芯片存在的交换时延和群时延不可控制,配置复杂等缺点,具有开发周期快、灵活、可动态控制、节省空间等特点。可以实现高性能可靠数据传输,在高速实时通信系统中有着良好的应用前景。
参考文献
[1]Sam Fuller.RapidIO The Embedded System Interconnect.USA Wiley,2006.
[2]Tektronix,Inc.,RapidIO Architecture Building the Next-Generation Networking Infrastructure,2002.
[3]RapidIO Trade Association,RapidIOTechnologyOverview and Applications Revision 03,May 2005.
作者簡介:王辉球(1972—),男,研究方向:信号处理。