基于FPGA的高速可靠数据传输系统的实现.docx
《基于FPGA的高速可靠数据传输系统的实现.docx》由会员分享,可在线阅读,更多相关《基于FPGA的高速可靠数据传输系统的实现.docx(6页珍藏版)》请在第一文库网上搜索。
1、基于FPGA的高速可靠数据传输系统的实现在各种不同的场合中,人们需要将大批数据从一个设备无差错地传输到另一个设备上。对于设备间距离较近的场合,可以选择PCIE(典型距离是1530cm)或者雌(最长传输距离5m)等接口。而对于距离较远的场合,可以选择RS232、RS485、以太网等传输介质,并在此基础上,通过上层协议来保证数据的可靠性。上层协议通常用检错重传机制来实现数据的可靠传输,如正TP、TCPIPSCTP以及可靠UDP等。这些协议都必须依靠较为复杂的亚运算和内存拷贝来实现数据可靠传输的功能。比如在1inUX下,TCP/IP协议每发送一个数据包,CPU需要执行约14OOO条指令1。因此CPU
2、的工作频率、内存的读写速度、硬件I/O带宽都会影响TCP/IP的速度。一些嵌入式系统上TCP性能测试如表1所示。表1嵌入式处理曙在不同主施卜TCP传愉速度测试系统300MHzPMrPC4O5375MHzPoWrPC405A户/最大传输最大传输服务器设MT19OoO)MB/sICAT1oN称4维ARONICTECHNI觎MB学户泼送_.29.1MBs1r-123.8MB/s服WUWChAaAET.cQG125MHz客户发送126MBsJ泞BMiCmB1a加服务器接收9.6MBZs54J1血ACPU处理能力越强,TCP传输速度越高。与此同时,在最大传输单元为9000B时(即相对MTU1500包长度
3、增加6倍,包处理频度下降6倍),则传输速度大幅提高。这也从侧面说明了CPU处理能力对TCP传输速度的影响。在点对点传输和局域网传输中,往往不需要完善的路由机制和流量控制,但同样需要一种可靠的数据传输手段。传统的TCP协议依赖CPU运算的特性,使得传输速度受到限制,并且受CPU负荷变化影响而速率不稳定2。从提高传输效率和减轻对CPU的依赖两方面考虑,提出一种基于硬件实现的高速可靠数据传输方法,将CP1J从频繁的协议运算中解放出来。该方法可以在千兆以太网PHY所提供的物理层通信链路的基础上,通过编写FPGA逻辑,在硬件上实现可靠数据传输的协议,然后使用如PCIE这样的接口将数据提供给计算机系统。系
4、统结构如图1所示。PHY以太网物理层PCIEa沙IONOFE1EF黎期C次州。一vUvw.ChinaT.com口.【sScN图1简化分层网络模型一高速可靠数乙4时分感鼠患1选择重发机制提供可靠数据传输保证数据传输过程中的可靠性有多种方式,如纠错码、信息反馈和检错重发机制。选择重发是检错重发的实现方法之一,相对于等待重发和退回重发,它具有高效率的特点,因而被广泛采用。比如在TC的IP网络中,就是用检错重发机制的原理。但TCP协议中包括较为复杂的流量控制机制和拥塞控制机制,它们被设计来应对异构的、大范围的复杂网络环境。而在点对点传输的应用中,或者在任务明确、拓扑简单的局域网中,不需要复杂的路由机制
5、和流量控制,因而可以简化被广泛使用的检错重传机制,使得可靠性协议可以通过硬件实现。如图2所示,将数据可靠传输的过程概括如下:(1)待发送的数据在发送端打包,加上必要的识别信息和校验信息,存入发送端的缓存;(2)待以太网信道可用之后将数据包通过千兆以太网发送给接收方;(3)接收方收到数据包之后对内容进行校验,确认数据无误之后将识别信息通过竺K数据包反馈给发送方;(4)发送方的缓存接收识别信息后确认数据已安全抵达接收方,清空缓存等待发送下一个数据包;(5)发送方在设定的时间内没有接收到带有相应识别信息的ACK反馈,则进行重新发送,重发超过一定次数则报错。校验信息选择使用和以太网兼容的CRC32,编
6、码冗余度较低(为0.26%)。可以预见,在一般的误码率情况下(1X10-10),该方法可以实现高速的可靠传输。2可靠数据传输的硬件实现用硬件的方式实现所述的可靠传输,将会极大地降低对发送方和接收方在协议运算上对CPiJ资源的依赖,这点与TCP协议大为不同。如图3所示,相较于TCP协议,硬件协议在接收数据时数据流大大简化。内存内存(驱动层)(系统内核)协议运算TeP协议TECHNIQUECa硬件协议TCP协议的数据流:(I)网卡接收以太网数据通过PCIE以幽的方式写入上位机内存,并触发中断;(2)网络包内存拷贝进入OS协议层;(3)对网络包的协议运算,检查包头信息和CRC校验等;(4)确定无误后
7、发送ACK包;(5)将有效数据提供给上层用户。硬件协议的数据流:(1)设备卡FPGA检验数据正确性自发产生ACK回应包,将有效数据通过PC1E以DMA的方式写入上位机内存,可选择触发中断或轮询;(2)驱动层直接将数据提供给用户。发送过程与接收过程相反,情况类似,不再赘述。可见,利用FPGA实现的硬件协议省去了上位机软件协议运算和内存拷贝,直接将有效数据提供给上层用户,提高了数据传输的效率和速度,极大地减轻了CPU运算负荷,省去了对CPU的频繁中断,从而获得不依赖于CPU性能的稳定高速的可靠数据传输。这点是软件协议优化难以实现的。2.1 硬件平台设计PCIE接口设备卡,搭载XiIinXSpart
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 FPGA 高速 可靠 数据传输 系统 实现
