基于PCI_Express和Au_省略_ora协议高速光纤通信板卡的实现_王长清

第31卷第1期2010年1月
微计算机应用
M I CROCOM PUTER APPLI CAT I ON S
V o l131N o11运筹学论文
Jay12010
基于PCI-Express和Aurora协议高速光纤通信板卡的实现
王长清冀映辉王维蔡惠智
统括保单
(中国科学院声学研究所北京100190)
摘要:介绍了一种基于单片FPGA的高速光纤通信通信板卡,利用Aurora协议支持光纤传输,采用DM A控制逻辑通过PCI-Express接口与主机交换数据,着重阐述了板卡各个功能逻辑实现。实际的测试数据表明该系统具有高带宽、可扩展的特点。关键词:FPGA光纤通信PCI Exp ress Au rora D M A
Imp l e m entation of H igh-speed Optical Co mmunication
Adapter Based on PC I Express and Aurora Protocol
WANG Changqi n g,JI Y i n ghu,i WANG W e,i CA IH u izh i
(Instit ute o f A cousti c,Chi nese A cademy of Science,Be iji ng,100190,Chi na)
Abstrac t:A ki nd o fH i gh-speed O ptica l Co mm un ica tion A dapter based on a si gnal FPGA w as i ntroduced1Aurora protocolw as used to support fi ber-optical trans m iss i on1PCI Express interface and D M A contro l log ic we re used to suppo rt da ta comm un i cation w ith host1 T he i m p l em enta ti ons are descri bed i n deta il1the ac t ua l test resu lt ind i cated tha t this adapter had high bandw idt h,scalab ility,cha rac-ter i sti cs1
K eyword:FPGA,optical co mmunicati on,PC I Express,A uro ra,DMA
1引言
数字光纤通信在抗干扰、传输带宽、可靠性等指标上是传统通信介质所不能相比的,点到点光纤通信在远程数据采集、远程实时控制等领域有着重要的意义和广阔的应用前景。
传统方案大多是光电转换模块实现光信号与电信号的转换,由FPGA或分立元件实现数据的串行、并
行转换和对光电转换模块的数据连接,并通过PC I接口接入主机。这种传输方式的物理层实现方法固然很简单,但方案的扩展性能较差。方案实现的系统没有信道的初始化和维护功能,导致光纤信道失去同步,没有流控制信息,不能支持更上层的协议,光纤通道的数量(Lane)不能扩展;另外,PC I是一种共享总线的接口,理论带宽为132M b it/s,实际的速率远远达不到这个水平,成为制约系统通信数据带宽提高的瓶颈[1,2,3]。
Aurora协议是一个可升级、小型、链路层协议,可以用来进行点到点的串行通路数据传输,同时消除了其它串行协议的资源低效率问题,可以在包括FPGA、ASI C和ASSP在内的任何硅器件/技术中实现。我们设计的高速光纤通信板卡采用Aurora协议作为光纤信道的控制协议,选用新一代基于交换结构PC I Express (Peri p heral Co m ponent I nterconnect Express1快捷外设互联)接口,相对于传统PC I总线在单一时间周期内只能实现单向传输,PC I Express的双单工连接能提供更高的传输速率。
本文于2009-07-27收到。
1期 王长清等:基于PC I-Express 和Aur o ra 协议高速光纤通信板卡的实现2 高速光纤通信板卡原理结构以身立教 为人师表
该板卡基于X ili n x 公司的V irtex-5系列的一款FPGA )))XC5VLX50T 。光纤数据首先进入SFP 光纤模块,将光信息转换为电信息,并接入FPGA 的高速收发器中,然后通过X ili n x 的Aurora 协议提取数
据,并存储光纤通信板卡主要有三个逻辑功能的实现难点:Aurora 协议采集数据存储在FI F O 中;PCI Express I P 在FI F O 中。最后,由DMA 逻辑将F I F O 内的数据转换为一定格式的数据包,发送给X ilinx 的PC I Express I P 核,从而发往主机。从主机向光纤发送数据是一个相反的过程。该光纤通信板卡原理框图如图1
所示。
图1 光纤通信板卡原理框图
3 高速光纤通信板卡实现
核和主机的通信;将FI FO 的数据转换为PC I Express 事务数据的DMA 控制逻辑设计。
自由经济311 Aurora 协议逻辑设计
Aurora 协议是一种可裁剪、轻量级的链路层协议,用于点对点串行连接的数据通信。Aurora 协议是开放的协议,可以在任何器件上免费使用。它为物理层串行连接提供了透明的接口,也能被上层的自定义或工业标准协议采用[4]。其原理结构如图2
所示。
图2 Aurora 协议原理结构框图和接口
Aurora 协议集成在ISE 1011以后版本的设计软件中,填写正确的参数,比如通道数量、参考频率、线速、用户接口类型、收发器位置,就可以生成定制好的代码。
采用Aurora 协议实现光纤传输可以有效的解决引言部分中提到过去传统方案遇到的问题。首先,Auro -ra 协议是一种链路层协议,将物理层实现封装起来。为用户提供的操作接口中包含物理层链路信息,例如链路是否已经建立,数据源端、数据目的端是否准备完毕,这些信息可以帮助我们建立更可靠的通信链路。其次,A urora 协议也包含了流控制功能。最后,Aurora 协议支持多通道光纤传输。当一路光纤通道的速率不65
微 计 算 机 应 用 2010年能满足需求的时候,可以采用多路通道同时传送数据,而提供的用户接口完全没有变化,实现了无缝的通信带宽升级。Aur o ra 协议的使用以及和FI FO 的连接在参考文献[4,5]中有详细的论述,本文不做赘述。312 PC I Express 协议逻辑设计
如图3所示,PC I Express 协议的层次结构从低到高:物理层(Physical Layer)、数据层(Data L i n k Layer)和事务层(Transacti o n Layer)。设备核决定了连接在PC I Express 交换网络中设备的具体功能,比如我们FP -GA 中要实现PCI Express 访问处理单元资源的功能。
XC5VLX50T 内部集成了一个PC I Express 的硬核,它符合PCI Express B ase Specificati o n 111规范,可以支持x1,x2,x4,x8的速率,利用FPGA 片内的Rocket I O 通道实现了物理层,并通过整合数据链路层和部分事务处理层的功能,提供了在FPGA 内部实现PC I Express 端点一个非常高效的框架。其顶层原理结构框图和接口如图3
所示。
图3 PC I Express IP 核顶层原理结构框图和接口
PCI Express 高速收发器(PC Ie L i n k)连接到金手指,事务层接口(TRN )和配置接口(CFG)是该I P 核提供给用户的数据传输和控制接口,该接口的信号定义和使用可以参考文献。[6]
通过这些接口,我们将需要发送的数据加上合适的头发送给PC I Express I P 核,其他协议的实现由I P 核自动完成。
313 D MA 控制逻辑逻辑设计
PCI Express 端点有PI O 和D MA 两种数据传输方式,前者是由CPU 通过Root Co m plex 发起的读写操作,由于需要CPU 的发起所以速度和效率不是很高,而且还会影响到CPU 的运行效率;而DMA 传输因为是由本地PC I Express 端点发出的,所以效率较PI O 模式而言要高出很多倍。我们利用PCI Express 网络来高速交换数据,因而设计的PC I Express 端点必须要具备D MA 功能。端点宽度为x 8,因此其最高线速为8x 215Gbit/s =20Gb it/s ,除去8b /10b 开销后实际线速有16Gb it/s ,也就是2Gbit/s 。D MA 控制逻辑设计如图4所示。
TX _Eng i n e 模块用于组织和传输转发事务、非转发事务和完成事务的数据包。在这个设计中,TX _E
n -gine 可以产生存储器写转发的请求(MW r)、非转发的读请求(MRd)和带数据的完成(Cpl D )。产生的数据发66
1期
打印机共享器王长清等:基于PC I-Express 和Aur o ra 协议高速光纤通信板卡的实现送到TRN 接口。RX Eng ine 模块用于从TRN 接口中接收数据,并根据事务的种类,将对应的数据放在I ng ress FI FO 中或控制和状态寄存器中。RX Eng ine 也通过Read RequestW rapper 通知TX Eng ine 还未发送的请求。RX En -gine 支持完成事务、存储器度事务和存储器写事务。
D MA Contro l and StatusW rapper 模块是和CP U 通信的主要模块,也是DMA 控制的主要模块,包含内部状态控制模块Interna l Contro l B lock 和DMA 控制/状态寄存器D MA Contro l/Status Reg ister 内部状态解析CPU 的命令,并作出相应的执行。DMA 控制/状态寄存器被映射到PC I 的地址空间中,同时也和其他的用户逻辑相连接。CPU 通过读写这些寄存器达到控制其他逻辑的运行。
Egress Data Presen ter 模块提供外部不同来源不同位宽的数据到TX Eng ine 的通道。
Read R equestW rapper 模块用于TX Eng ine 和RX Eng ine 的通信。TX Eng i n e 将尚未发送的非转发事务信息发送给RX Eng ine 。这个信息存储在32位位宽的双端口RAM
中。
图4 DMA 控制逻辑原理框图
Egress/I ngress FI FO 模块和其他数据来源连接。在当前的设计中,和Aurora 协议接口相连接。
接收光纤端发送过来的数据,逻辑操作的流程如下:
当FI FO 内的数据达到一定条件后,StatusW rapper 驱动配置接口向服务器端的CPU 产生中断。然后由CPU 通过存储器写事务,设置DMA Control 中的控制寄存器以启动D MA 。一般来说,需要设置存储器写事务的目的地址和需要发送数据的大小。接着,DMA Control 根据寄存器的设置,组织相应的TLP 存储器写事务包头,同时从Egress FI FO 中取出数据,组装成一个完整的TLP 事务包。DMA Control 取得TX_Engine 的控制权后,将上一个步骤中的TLP 事务包按顺序发送出去。每当发送成功一个TLP ,对应减去发送数据的大小,并将存储器写事务的目的地址递增。当发送数据大小寄存器为0的时候,Sta t u sW rapper 驱动配置接口信号向CP U 发送中断,以通知CPU 从内存中及时取出数据。
4 功能仿真与性能测试
我们将板卡的FPGA 逻辑功能进行仿真分为,一部分是Aurora 协议到FI FO 的行为级仿真,另外一部分是FI FO 到主机端的功能测试。通过M odelsi m 的仿真,验证了逻辑的正确性。
性能的测试在我们开发的光纤通信板卡上进行,采用F i n isar 的FTLF1421P1xTL(2165Gb it/s)光纤模块,光纤信号到FI FO 的全双工速率超过200MByte /s 。采用DMA 的方式,FI FO 到主机端双向传输的速率超过67
68
微计算机应用2010年1000M Byte/s。综上
所述,该板卡的瓶颈在于光纤模块的带宽。当系统传输的速率要求超过200M Byte/s时,在不更改硬件板卡的情况下,只需要替换更高速率的光纤模块,或者采用并行的多通道光纤模块。
5结束语
本文采用一块高性能FPGA,实现了基于PCI Express接口的光纤信号接入,为计算机与外部设备提供高速、连续、稳定、可靠的数据传输提供了一种新思路。实验证明,该板卡的硬件和逻辑的设计思想是成功的,并且,板卡的传输速率达到了很大的提高。
参考文献
[1]闫晟,侯朝焕,原建平,基于PC I总线的高速信号采集卡设计[J]1微计算机应用,2007,28(4):395-398
[2]王明芳,邓云凯,赵肖东1基于cPCI总线的高速数据光纤传输系统的实现[J]1微计算机信息,2006,22(11-2):43-45
[3]秦志辉,龚华达,覃勇1基于FPGA的CPC I总线光纤传输系统[J]1传输与系统,2008,32(4):32-34
[4]X ili nx Co rp1V irtex-5FPGA A urora v310U ser Gu i de1UG353(v310)June27,20081
[5]闵小平,陆达,洪鸿榕1基于现场可编程门阵列的高速光纤通信的实现[J]1厦门大学学报(自然科学版),2007,46
(4):491-4952
[6]X ili nx Co rp1L og i C ORETM I PEndpo i nt B lock P l us v119for PC I Express RR U ser G u i de1UG341Septe m ber19,20081
凤凰语文网作者简介
王长清,男,(1973-),博士生,主研方向:信号处理和嵌入式系统设计。
王维,硕士生。
朱含,硕士。
蔡惠智,研究员。

本文发布于:2024-09-24 01:25:26,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/167105.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:数据   协议   光纤   实现   接口   事务
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议