基于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。
随着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。
Xilinx FPGA 嵌入式 收发器 电路 CPLD 相关文章:
- 基于FPGA的片上系统的无线保密通信终端(02-16)
- 基于Virtex-5 FPGA设计Gbps无线通信基站(05-12)
- 基于ARM的嵌入式系统中从串配置FPGA的实现(06-09)
- 基于PLB总线的H.264整数变换量化软核的设计(03-20)
- 迄今为止最牛的ASIC验证平台(05-22)
- 验证FPGA设计:模拟,仿真,还是碰运气?(08-04)