微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > FPGA和CPLD > 基于FPGA的高速串行交换模块实现方法研究

基于FPGA的高速串行交换模块实现方法研究

时间:11-09 来源:互联网 点击:
采用Xilinx公司的Virtex-5系列FPGA设计了一个用于多种高速串行协议的数据交换模块,并解决了该模块实现中的关键问题。该交换模块实现4X模式RapidIO协议与4X模式PCI Express协议之间的数据交换,以及自定义光纤协议与4X模式PCI Express协议之间的数据交换,实现了单字读写以及DMA操作,并提供高速稳定的传输带宽。

随着FPGA应用范围的不断扩大以及对速度需求的不断提升,集成高速串行模块的FPGA已经应用于市场。以Xilinx的Virtex5系列为代表的集成GTPRocketIO模块的FPGA受到广泛关注。以XC5LX50T为例,这款FPGA集成了一个PCIE的Endpoint以及12个可以支持6 Gb/s以上的高速串行接口模块,支持串行RapidIO、fiber channel以及其他多种串行协议。

高速串行接口是系统互联的核心,业内使用较多的是应用于嵌入式系统互联的串行RapidIO协议、应用于PCI系统互联的PCI Express协议以及存储中广泛使用的Fibre光纤协议。在数据采集存储应用中,多种接口的应用使得存储系统越来越复杂,然而针对某些特定的以磁盘为存储媒介的系统,PCI Express协议仍然占据优势。标准的数据采集存储系统结构图如图1。



由图1可知,Fibre采集卡控制磁盘阵列的文件系统,PCIE转存卡接收数据采集设备的数据。2块板卡插在服务器提供的PCIE插槽上,通过PCIE协议交换数据。Fibre采集卡是成熟的硬件设备,而针对不同的数据采集设备只需要提供不同接口的PCIE转存卡。因此针对于应用最广泛的RapidIO和光纤接口协议,实现PCIExpress到RapidIO以及光纤协议的数据交换就非常有意义。

本文以光纤存储为背景,用Xilinx公司的XC5LX50T实现4X模式串行RapidIO到4XPCIE的数据交换以及2X模式的光纤接口到4X模式的PCIE的数据交换。本文给出了整个交换模块的原理框图并解决了RocketIO模块设计上的关键问题。

1 XC5LX50T及RockerIO模块的主要特点

XC5LX50T是Xilinx稳定可靠的第五代FPGA Virtex-5中最有代表性的一款芯片,其内部集成一个可以用于Endpoint的PCIE硬核,该硬核可以支持1X模式、4X模式以及8X模式,并且遵循PCI Express Base Specification1.1协议,每一路的数据率为2.5 Gb/s,总的最大理论带宽为2 Gb/s(8 B编码后的带宽)。

XC5LX50T提供了12个用于高速串行的RocketIO收发器,不同于前几代的产品,XC5LX50T的收发器可以支持6 Gb/s以上的数据率而且设计更为简单,工作更加稳定,其低功耗特性更加理想。RocketIO模块可以支持串行RapidIO、xaui、fibre channel等标准协议。由于性能稳定、传输带宽高等特点,串行RapidIO已经成为嵌入式系统中最理想的互联协议之一,尤其在军事以及国防这些对于高速互联需求日益迫切的领域中,串行RapidIO逐渐成为最为主流的数据交换协议。

光纤由于其带宽高、传输稳定以及接口简单等特点,被广泛应用于很多领域,例如光线存储、系统互联。XC5LX50T的RocketIO提供自定义的光纤协议,最高支持3.125 Gb/s。

有些领域中存在着将RapidIO协议的数据上传至有标准PCIE接口的服务器中进行处理的应用,也存在着将光纤接口的数据通过有PCIE标准协议的服务器存储到fibre channel协议的磁盘阵列中的应用。因此本文所设计的交换模块在嵌入式系统的应用中是十分必要的。

2 高速串行交换模块的基本功能

图2为交换模块功能图。



(1)4X串行RapidIO数据与4XPCI Express数据的交换。这种交换模式分为主动和被动2种,主动模式指数据通过RapidIO协议输入到交换模块中,经过交流耦合电路和协议转换FPGA以PCIE协议传输到另一模块。被动模式指数据通过PCIE协议输入到交换模块中,经过协议转换FPGA以串行RapidIO协议传输到另一模块。

(2)2 bit光纤接口数据与4XPCI Exress数据的交换。这种交换模式同样分为主动和被动2种,主动模式指数据通过光纤接口输入到交换模块中,经过交流耦合电路以及协议转换FPGA以PCIE协议传输到另一模块。被动模式指数据通过PCIE协议输入到交换模块中,经过协议转换FPGA以自定义光纤协议通过光纤接口传输到另一模块。

3 高速串行交换模块的基本原理

3.1 RapidIO协议到PCIE协议的转换

RapidIO协议到PCIE协议交换分为3个步骤:

(1)根据串行RapidIO协议将打包数据解析;

(2)将解析的数据缓存在乒乓使用的存储器中,可以使用片外ZBTSRAM也可以使用片内RAM资源;

(3)数据根据PCIE协议规定的方式打包,并按照PCIE协议发送出去。

RapidIO与PCIE交换原理图如图3。



3.2 光纤协议到PCIE协议的转换

光纤协议使用的自定协议较RapidIO协议简单得多,因此实现原理也简单很多。从光纤协议到PCIE协议交换分为3个步骤:

(1)根据光纤自定义协议将打包数据提取;

(2)将解析的数据缓存在乒乓使用的存储器中,可以使用片外ZBTSRAM也可以使用片内RAM资源;

(3)数据根据PCIE协议规定的方式打包,并按照PCIE协议发送出去。

光纤与PCIE交换原理图见图4。



Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top