光学 精密工程  2018, Vol.26 Issue (4): 971-979   PDF    
遥感相机快视高速可靠传输系统的设计与实现
夏巧桥1, 胡正文2, 张青林1     
1. 华中师范大学, 物理科学与技术学院, 湖北 武汉 430079;
2. 武汉大学, 电子信息学院, 湖北 武汉 430072
摘要: 针对遥感相机数据输出速率较高、快视系统传输带宽不足的问题,提出了一种基于万兆网的高速可靠传输系统并加以实现。传输系统前端采用FPGA作为主控制器,在其内部构建可靠传输协议栈,通过确认重传算法实现高速数据的UDP可靠传输,并通过流量控制机制提高传输效率。由于重传算法需消耗较多缓存资源,采用DDR3多端口控制器对传输协议栈中已发送但未被确认的数据帧进行缓存,同时对前端高速数据流进行速率平滑,减少FPGA片上RAM资源使用率。实验结果表明:当上位机CPU负载较小时,传输系统可可靠传输高达1 000 MB/s的连续数据流;当CPU负载较大时,传输速率亦在600 MB/s以上。系统传输速率高,工作稳定,扩展性强,已成功应用于遥感相机快视系统中,为超高速遥感相机的研制测试提供了保障。
关键词: 快视      高速数据传输      可靠数据传输      FPGA      万兆以太网     
Design and implementation of high speed and reliable transmission platform in fast view system
XIA Qiao-qiao1 , HU Zheng-wen2 , ZHANG Qing-lin1     
1. College of Physical Science and Technology, Central China Normal University, Wuhan 430079, China;
2. School of Electronic Information, Wuhan University, Wuhan 430072, China
*Corresponding author: ZHANG Qing-lin, E-mail:zhangqinglin@mail.ccnu.edu.cn
Abstract: Aiming at the problem of the high data rate of remote sensing satellite cameras and the insufficient transmission bandwidth of fast view system, a new high speed reliable transmission system based on 10 Gb/s Ethernet was proposed and performed. The front end of the transmission system adopted FPGA as the main control unit that constructed the reliable transmission protocol stack. The transmission system achieved the reliable transmission for high speed data stream by ack-resend algorithm and flow control in application layer. The DDR3 multi-port front end was used to cache the frames that had been sent but not acknowledged at the transmission protocol stack due to that retransmission algorithm needed to consume more cache resources. The high speed data stream of the front end was smoothed at the same time. Experiment results indicate that the transmission system can transform reliable high speed data stream up to 1000 MB/s when the CPU load is small; When CPU load is heavy, the speed reduces to 600 MB/s. This system works at high speed with reliable performance, and costs low, and it is easy to expand to multi-channel transmission system. It has been successfully applied in a fast view system.
Key words: fast view     high speed data transmission     reliable data transmission     FPGA     10 Gb/s Ethernet    
1 引言

遥感相机快视系统主要用于遥感相机分系统联调、性能测试与问题排查。随着观察视场和分辨率指标要求的不断提高,遥感相机的数据输出速率越来越高[1-2]。以包含5片CCD的某遥感相机为例,单片CCD数据输出速率即高达8.8 Gb/s,当5片CCD同时传输数据时总速率高达44 Gb/s。虽然快视系统可以对原始相机数据流进行抽样、缓存等操作,但仍有海量高速数据需自快视前端传输至快视上位机端进行后续处理,如此高的速率对快视系统的传输带宽带来了极大的挑战。

当前快视系统中快视前端与上位机之间多采用定制PCIE采集卡的方式进行数据传输,但定制PCIE采集卡开发难度大[3],对不同计算机平台与操作系统可能存在兼容性问题,且由于没有反馈机制可能会出现数据丢失情况[4]。针对上述问题,综合考虑传输性能、软硬件设计成本、系统稳定性及扩展性,本传输系统选择万兆以太网(10 Gb/s Ethernet,10 GbE)作为新的传输接口,首先,其可提供10 Gb/s传输速率;其次,目前主流FPGA中均嵌入了10 GbE物理层模块,成本低廉,方便使用,且通常可在一个芯片内例化多个10 GbE接口,提供多倍带宽[5];此外,作为通用传输标准,其相关外设产品性能稳定、价格低廉且上位机程序开发方便。

针对10 GbE传输系统, 国内外诸多研究人员进行了相应研究,主要有以下几种:(1)由商业公司开发, 支持完整协议栈的10 GbE TCP/UDP协议栈, 其性能高,延迟低,但售价高昂[6];(2)精简TCP协议,实现单向高速可靠数据传输,但其通常面向特定应用场合,仅在内部使用[7-10];(3)基于UDP的10 GbE传输网络,其无法保证数据的可靠传输,仅适用于流媒体传输等场景;(4)使用MAC层自定义协议,参考TCP传输机制,实现高速可靠传输,但其在Linux系统下工作,且仅适用于低延迟系统,使用场景受限[11-12]

快视传输系统需可靠传输高速数据流,一般可容忍100 ms以内时延,且其上位机端采用Windows操作系统,上述10 GbE传输系统均无法满足该实际情况的需要。基于此,本文提出了一种基于UDP协议,工作于快视前端与上位机之间的10 GbE可靠传输系统。该系统通过确认重传算法与流量控制机制实现高速数据流的可靠传输,系统整体软硬件要求较低,在基于Altera Stratix V GX系列FPGA的通用快视处理平台上经过充分测试,其单网口可靠传输速率可达到1 000 MB/s以上,具备较大的实用价值,目前已成功应用于某遥感相机快视系统中,为超高速遥感相机的研制测试提供了保障。

2 传输系统硬件设计

传输系统硬件框架如图 1所示,其通过TLK2711或TLK3118等接口接收遥感相机图像数据,由FPGA做预处理后送入外部DDR3缓存。传输协议栈从DDR3中取出数据,进行后续处理后送入到10 GbE PHY,完成至PC端的数据发送;并由10 GbE PHY接收来自PC端的确认包数据,完成全双工通信。其最多可扩展至4个10 GbE网络,实现多路高速通信。

图 1 传输系统硬件框架 Fig.1 Hardware block diagram of transmission system

上述系统硬件实物如图 2所示。系统使用Altera Stratix V GX 5SGXEA7N2F45I3作为主控;设计有2个DDR3 SODIMM插槽,单插槽支持16 GB容量;支持22个全双工收发器通道,其单通道速率最高可达14.1 Gb/s。

图 2 快视传输系统实物图 Fig.2 Photo of fast view transmission system
3 传输系统FPGA程序设计 3.1 FPGA程序框架

传输系统的FPGA程序主要分为3部分:信号源、基于DDR3的多端口控制器(Multi Port Front End,MPFE)及可靠传输协议栈。其FPGA程序框图如图 3所示。

图 3 传输系统FPGA程序框图 Fig.3 Block diagram of FPGA RTL structure

信号源产生高速自测数据流。数据流先进入MPFE进行缓存处理。协议栈从MPFE中取出数据,进行可靠传输处理,并将数据送入万兆网物理层模块,完成数据包的发送。协议栈同时从物理层模块接收数据包,完成确认通信。以下分别介绍信号源、MPFE及传输协议栈的设计与实现。

3.2 信号源

传输系统前期使用内部信号源完成验证,后期则可改用快视数据流完成相关测试。信号源端口示意如图 4所示。

图 4 内部源端口示意图 Fig.4 Block diagram of inner data source

信号源对外输出数据流位宽64 bit,可调节发送占空比和发包总数。信号源在连续的1 024个周期内发送数据,其中包含了同步头、包计数、时间戳、校验和等,如图 5所示。

图 5 内部源测试数据格式 Fig.5 Data format of inner data source

在测试后期,可通过设置占空比调节平均速率,并将src_tready信号置为1,模拟前端连续高速数据流,测试传输系统综合性能。

3.3 基于DDR3的多端口控制器

大容量DDR3高速缓存可使传输系统平顺运行。考虑到单个用户逻辑通常无需用到8.96 GB/s(DDR3-1600,以70%效率计[13])的传输带宽以及高达16 GB的存储容量,而在系统中通常又有多个用户侧逻辑存在着同时缓存数据的需求,于是设计多端口控制器,提供多个RAM型端口与FIFO型端口,供多个逻辑同时读写数据。

RAM型端口在读取和写入数据时需提供地址,可实现对某组数据的多次读取;FIFO型端口由内部完成地址更新,其数据仅可读出一次,对外表现为大容量FIFO。由内部的读写切换状态机完成对各个端口的扫描,其多个端口的读写总带宽小于DDR3的实际带宽。由1个RAM型端口和1个FIFO型端口组成的MPFE如图 6所示。

图 6 MPFE结构框图 Fig.6 Block diagram of MPFE structure
3.4 可靠传输协议栈

在TCP/IP体系中,TCP虽然实现了数据的可靠传输,但其协议栈体量大,内容复杂,而且其面向字节流,效率偏低,硬件实现相当复杂;UDP虽然无法确保数据的可靠传输,但其有着较高的数据吞吐率,硬件实现较为简单[14-15]。结合TCP与UDP的优势,针对快视传输系统性能需求,设计如下自定义传输协议:(1)基于UDP通信;(2)协议栈对前端数据编组,置于缓存中,以定长数据包发送;(3)上位机在收到数据包后,发出对应确认包;(4)协议栈在收到确认包后,从缓存中移除该帧。其数据流向如图 7所示。

图 7 可靠传输数据流向 Fig.7 Data flow in reliable transmission
3.4.1 协议栈数据格式

为提高传输效率,参考文献[12]中所提传输协议栈,协议栈中FPGA端数据编组以滑动窗口的形式,呈现为一个描述符表,维护着传输状态,如图 8所示。文献[12]中协议栈的数据缓冲区采用FPGA片上RAM实现,但当传输延迟较大时,该部分会消耗较多FPGA存储资源,本文中将协议栈数据缓冲区放置在大容量DDR3中,减小FPGA存储资源使用量。此外,文献[12]中上位机每接收一包数据便发送一个确认包,由于确认包数据长度较短,大量发送较小数据包将影响系统效率。在本系统中,上位机每接收到8包数据后一次性返回该8包数据的确认数据包。

图 8 数据编组描述符表 Fig.8 Packet descriptor of data marshalling

协议栈接收前端数据,并将数据装载于协议栈数据缓冲区Slot中。当某个Slot被填满时,则置Valid为1,表示数据有效,等待发送。当该组数据首次发送完成时,则置Sent为1,表示发送完成。当收到发自PC端的针对该组数据的确认包时,则置Confirmed为1,表示已被确认。当有两个均为1的Confirmed间出现了0时,则表示有丢包发生。协议栈使用Frame_Seq与Packet_Seq对数据编号。Frame_Seq是对信源数据的编组,Packet_Seq是对协议栈发包数量的统计。协议栈中还有head_ptr与tail_ptr来指示窗口的滑动。head_ptr指向下一组数据将要写入的位置,而tail_ptr则表示下一组将要被确认的数据位置。当自起始位开始前端Confirmed均为1时,可移动tail_ptr。当head_ptr追上tail_ptr时,则表示窗口中所有数据均未被确认,无法再接收新的数据。

协议栈包含两种数据格式,即数据包与确认包,如图 9所示。

图 9 协议栈数据格式 Fig.9 Data format of transmission stack

数据包以8 206 Byte定长发送,包括同步头、流量控制延时、包计数以及有效数据区。确认包则是提取数据包中的相关序号,组成回包,完成发送。

3.4.2 流量控制算法

流量控制算法统计一定发包数量(PKT_CNT_MAX)中重传包数的占比,以获悉信道质量,调节包发送间隔,确保上位机可以及时处理接收到的数据。其调节机制如图 10所示。

图 10 流量控制算法 Fig.10 Flow control algorithm

当重传包数占比偏低时,表明上位机端处理能力较强,于是主动提高发送速率;当该比例较高时,表明上位机端处理能力不足,于是主动降低发送速率;当该比例处于一个合理水平,则维持发送速率保持不变。从而充分利用信道资源,提高数据有效率。

3.4.3 协议栈实现

协议栈主要由desc_manager模块、多端口控制器模块以及MAC模块三部分组成。协议栈从前端FIFO取出数据,并通过多端口控制器将数据缓存至DDR3中,由desc_manager模块对分组数据添加相关描述符后,送入MAC发送。同时协议栈接收确认信息,完成相关分组数据的确认。其框架如图 11所示。

图 11 协议栈框架 Fig.11 Structure of transmission stack

(1) desc_manager

desc_manager作为协议栈的控制中心,其作用可分为4个方面:a.发送数据,其接收前端数据,填写相关描述符后放入Slot中并启动对该组数据的发送,随后移动head_ptr;b.确认数据,其接收ack_fifo中的确认包,设置Confirmed位,并按照规则移动tail_ptr;c.重传处理,当两个为1的Confirmed位间出现了0时,表明有丢包发生,转入重传处理;d.流量控制,根据接收端的处理能力主动调节发送速率;

(2) 多端口控制器

多端口控制器在协议栈中的应用包括两点。其一是FIFO端口作为大容量缓存对前端高速连续数据流进行缓冲;其二是RAM端口作为协议栈缓存窗口,缓存已经发送但还未被确认的数据,即上述描述符表中的Slot,从而实现对某组数据的多次读取;

(3) MAC

此处的MAC实际上是一个包含了UDP协议栈、以太网MAC层以及相关控制逻辑的超集。MAC接收来自desc_manager的发送请求,从多端口控制器取出数据,以UDP的形式发送;同时MAC接收来自PC端的确认包,提取其中的确认信息,写入ack_fifo模块。

4 传输系统上位机程序设计

传输系统需由上位机配合才可正常工作。其上位机主要完成以下三方面工作:1.设定IP及端口,完成数据接收;2.提取数据包中的相关序号,组成确认包并发送;3.对接收的数据实现排序输出。

上位机通过缓存机制、模块化处理以及链表排序完成上述功能。考虑到本文着重于传输系统的硬件设计,此处不再详细介绍上位机的具体实现。

5 传输系统测试与验证

本节对10 GbE传输系统进行功能验证以及性能测试。快视前端中多端口控制器IFO端口大小设置为2 GB,RAM端口初始大小为16 384×8 192 B。后端上位机处理器为i7-2600K,内存为16 GB DDR3,操作系统采用Windows7 x64,内置一块HP Ethernet 10 Gb 2-Port 560SFP+ Adapter[16]万兆网卡。测试内容包括流量控制算法的效果,上位机采用单线程和多线程实现数据收发时的传输延迟测试,不同描述符大小对传输性能的影响,以及针对前端连续数据流这一实际情况展开测试。

5.1 流量控制算法测试

PKT_CNT_MAX作为流量控制采样的窗口,决定了流量控制的效果。当该窗口较小时,可能使得传输系统较为敏感,效率偏低;当该窗口较大时,则可能由于流量控制不及时,浪费了信道资源,同时增大了上位机端处理能力。

本小节就PKT_CNT_MAX为RAM端口大小(16 384),以及RAM端口大小的10倍(163 840)两种情况展开测试。设定前端信源发送速率为800 MB/s。其接口速率(包含重传数据)及有效速率如图 12所示。

图 12 流量控制测试 Fig.12 Test for flow control

图 12中可以看出,当PKT_CNT_MAX为16 384时,其接口速率稳定在800 MB/s;当PKT_CNT_MAX为163 840时,其接口速率于600 MB/s和1 000 MB/s间波动,波动原因为采样窗口较大,流量控制不够及时所致。故在后续测试中,PKT_CNT_MAX均设置为16 384。

对比图 12中的接口速率与有效速率可知, 当PKT_CNT_MAX为163 840时,初始阶段由于流量控制不够及时, 无效包数较多, 后期流量控制被触发后其接口速率与有效速率基本相等。PKT_CNT_MAX为16 384时由于及时的流量控制,其接口速率与有效传输速率基本相等。考虑到流量控制机制的存在,后续测试中不再刻意区分接口速率与有效速率。

5.2 传输延迟测试

上位机为了提高数据接收与确认包发送速率,一般采用多个线程分别进行数据的接收和发送。图 13为上位机采用单线程和多线程实现数据收发时的系统传输速率对比,实验中描述符表大小均设置为16 384。从图中可以看出,采用多线程时传输速率可以达到1 100 MB/s左右,而当采用单线程时,由于在同一个线程中完成数据收发效率较低,导致传输速率仅为850 MB/s左右。

图 13 单线程与多线程下传输速率对比 Fig.13 Transmission rate of single-thread and multi-thread

在快视前端发出一个数据分组后,该组数据经由信道传输、上位机处理、发出确认包、至前端接收,需要经过一定的延迟,该延迟的大小决定了描述符表的大小。由于信号源数据中加入了时间戳,在FPGA中统计数据包从发送到接收到相应确认数据的时间延迟,并将该数据发送至上位机进行记录。图 14为根据所记录的数据统计出的延迟时间频率分布直方图,数据的记录时间为5分钟,其中图 14(a)为单线程下的延迟时间频率分布直方图,图 14(b)为多线程下的延迟时间频率分布直方图。从图中可以看出,在单线程下,延迟时间大部分集中在120 μs左右,而在多线程模式下,由于操作系统线程调度的原因,延迟时间大部分集中在16 ms以内。

图 14 单线程与多线程下传输延迟频率分布直方图 Fig.14 Frequency distribution histograms of transmission delay

上位机采用单线程进行数据收发有较低的传输延迟,意味着只需要消耗较少的缓存资源,而在多线程模式下,虽然延迟时间较大,但协议栈缓存采用DDR3实现,不需占用宝贵的FPGA片上RAM资源,且在该模式下,数据传输速率较高,故在后续实验中,上位机均采用多线程进行数据的收发。

5.3 不同描述符大小对传输性能的影响

传输延迟决定了描述符表的大小,当描述符表过小而传输延迟较大时,可能导致各组数据多次重复发送;而当描述符表过大而传输延迟较小时,则是对前端资源的浪费。

本小节针对描述符表的大小为8、512、8192、16 384等4种情况展开测试。观察不同描述符表大小对传输性能的影响。其四种情况下的速率如图 15所示。

图 15 不同描述符大小下的传输速率测试 Fig.15 Transmission rate of different number of slots

从图中可以看出,描述符大小为8时,速率在一个尖峰后保持在20 MB/s左右。究其原因,查看接收到的原始数据可知,虽然上位机具备较强的接收能力,但由于描述符表较小而传输延时较大,描述符表中的数据经过多次发送,触发了流量控制从而主动降低发送速率。

当描述符大小设置为512时,传输速率有了大幅提升,但其存在较大波动。描述符大小设置为8 192与16 384,速率可达1 100 MB/s,波动较小,传输稳定,具备实用价值。考虑到在16384下,RAM端口大小占用仅为128 MB,在后续测试中,均选择描述符大小为16 384。

5.4 不同上位机CPU负载下的传输系统性能表现

CPU负载影响着CPU的接收能力,从而触发流量控制。本小节对不同CPU负载下传输系统的性能表现展开测试。测试环境中使用的CPU为i7-2600K,采用四核八线程设计。测试过程中逐次对其1~8个线程进行1 min左右的满载,观察到如图 16所示的接收速率曲线,呈现为8次较明显地速率下降。

图 16 不同CPU负载下的传输性能表现 Fig.16 Transmission performance of different CPU load

由图中可知,即使当CPU的4个线程满载时,虽然其接收速率有所下降,但仍可达到600 MB/s以上的接收速率;当超过4个线程满载时,接收速率出现了大幅度下降。

5.5 前端连续数据流下传输系统的性能表现

考虑到遥感相机源源不断输出数据这一实际情况,本小节对前端连续数据流展开测试,分别设定信源发送速率800 MB/s, 900 MB/s, 1 000 MB/s,观察前端数据缓冲区有无溢出,以及接收数据是否完整无误。其接收速率曲线如图 17所示。

图 17 前端连续数据流下的传输性能表现 Fig.17 Transmission performance of continuous data stream

上述3种情况均进行了10 h以上的测试,其中缓冲区可持续接收前端数据,始终未溢出。表明了在CPU负载较轻时,传输系统可接收前端高达1 000 MB/s的连续数据流。可以满足快视系统的传输性能要求。

5.6 数据正确性测试

传输系统测试通过4个方面来确保前端数据流的可靠有序无误传输:(1)在信源产生的自测数据流中包括包计数,在上位机端排序输出的数据流中,包计数始终是连续的,从而证明了数据的连续性;(2)自测数据流中包含校验和,上位机进行了计算校验,表明了数据负载区域的无误传输;(3)负载区的伪随机数符合真实数据规律;(4)PC端MAC层会进行CRC校验,当有误码存在时该包数据即会因为校验错误而被丢弃,从而确保了上位机端的每包数据都是无误码的。由以上各点可知,传输系统完成了对数据的可靠传输。当前,上述高速可靠传输系统已经应用于如图 18所示的某遥感相机快视系统中。

图 18 某快视系统 Fig.18 Fast view system
6 结论

针对遥感相机输出速率越来越高,快视系统传输带宽不足这一问题,本文提出了一种基于10 GbE的高速可靠传输系统。该系统基于UDP协议,通过应用层的确认重传协议和流量控制机制实现了高效的高速数据可靠传输。采用DDR3多端口控制器对传输协议栈中已发送但未被确认的数据帧进行缓存,同时对前端高速数据流进行速率平滑,减少FPGA片上RAM资源使用率。通过实验验证了流量控制机制的有效性,并分析了传输延迟时间,不同描述符大小和上位机不同CPU负载对传输性能的影响。实测结果表明,在上位机CPU负载较小时,可以接收前端高达1 000 MB/s的连续数据流,在CPU负载较重时,接收速率亦在600 MB/s以上,具备较大的实用价值。

该快速传输系统后端可采用标准万兆网卡进行数据接收,其相关产品性能稳定、价格低廉且上位机程序开发较为方便。此外,当单个10 GbE通道的传输速率无法满足系统性能要求时,可扩展至多个10 GbE通道,实现更高的传输速率。

参考文献
[1]
王譞, 陈曦, 张立国, 等. 遥感卫星CCD相机模拟源的研制[J]. 光学 精密工程, 2012, 20(11): 2559-2569.
WANG X, CHEN X, ZHANG L G, et al. Development of CCD camera simulation source for remote sensing satellite[J]. Opt. Precision Eng., 2012, 20(11): 2559-2569. (in Chinese)
[2]
夏巧桥, 汪鼎文, 张立国, 等. 高速多通道遥感相机快视系统的实现[J]. 光学 精密工程, 2013, 21(1): 158-166.
XIA Q Q, WANG D W, ZHANG L G, et al. Realization of fast-view system for high-speed multi-channel remote sensing camera[J]. Opt. Precision Eng., 2013, 21(1): 158-166. (in Chinese)
[3]
孙科林, 周维超, 吴钦章. 高速实时光纤图像传输系统的实现[J]. 光学 精密工程, 2011, 19(9): 2228-2235.
SUN K L, ZHOU W CH, WU Q ZH. Realization of high-speed real-time optical fiber image transmission system[J]. Opt. Precision Eng., 2011, 19(9): 2228-2235. (in Chinese)
[4]
刘鹏. 基于PCI Express总线的光纤图像传输系统设计与实现[D]. 大连: 大连理工大学, 2011.
LIU P. Design and implementation of fiber-optic image transmission system based on PCI Express[D]. Dalian: Dalian University of Technology, 2011. (in Chinese)
[5]
赵玲玲. 基于FPGA的10Gbps光传输系统设计[D]. 长春: 中国科学院研究生院(长春光学精密机械与物理研究所), 2010.
ZHAO L L. The design of 10Gbps optical transmission system based on FPGA[D]. Changchun: Changchun Institute of Optics, Fine Mechanics and Physics, Chinese Academy of Sciences, 2010. (in Chinese)
[6]
Intilop. 10G TCP&UDP Full Offload IP datasheet[EB/OL]. (2015-12-08)[2017-04-10]. http://www.intilop.com/resources/product_briefs/10G%20TCP%20Offload%20Engine+MAC+Host_IF%20Ultra-Low%20Latency%20(SXTOE).pdf.
[7]
BAUER G, BAWEJ T, BEHRENS U, et al. 10 Gbps TCP/IP streams from the FPGA for the CMS DAQ eventbuilder network[J]. Journal of Instrumentation, 2013, 8(12): C12039. DOI:10.1088/1748-0221/8/12/C12039
[8]
BAUER G, BAWEJ T, BEHRENS U, et al. 10 Gbps TCP/IP streams from the FPGA for high energy physics[J]. Journal of Physics:Conference Series, 2014, 513(1): 012042. DOI:10.1088/1742-6596/513/1/012042
[9]
SIDLER D, ALONSO G, BLOTT M, et al. . Scalable 10Gbps TCP/IP stack architecture for reconfigurable hardware[C]. Proceedings of the 23rd Annual International Symposium on Field-Programmable Custom Computing Machines, IEEE, 2015: 36-43.
[10]
程振洪. 10 G以太网TCP/IP逻辑设计与FPGA实现[D]. 武汉: 华中师范大学, 2016.
CHENG ZH H. Logic design and FPGA implementation of 10 gigabit ethernet TCP/IP[D]. Wuhan: Central China Normal University, 2016. (in Chinese)
[11]
ZABOLOTNY W M. Optimized ethernet transmission of acquired data from FPGA to embedded system[J]. Proceedings of SPIE, 2013, 8903: 89031L. DOI:10.1117/12.2033278
[12]
ZABOLOTNY W M. Low latency protocol for transmission of measurement data from FPGA to Linux computer via 10 Gbps Ethernet link[J]. Journal of Instrumentation, 2015, 10(7): T07005. DOI:10.1088/1748-0221/10/07/T07005
[13]
YE W H, LI H. FPGA based DDR3 applications in a multichannel channelization data cache[C]. Proceedings of the 9th International Symposium on Computational Intelligence and Design (ISCID), IEEE, 2017: 54-57.
[14]
赵飞, 叶震. UDP协议与TCP协议的对比分析与可靠性改进[J]. 计算机技术与发展, 2006, 16(9): 219-221.
ZHAO F, YE ZH. Contrast analysis of UDP and TCP and improvement of UDP in reliability[J]. Computer Technology and Development, 2006, 16(9): 219-221. (in Chinese)
[15]
谢希仁. 计算机网络[M]. 4版. 北京: 电子工业出版社, 2004.
XIE X R. Computer Network[M]. 4th ed. Beijing: China Machine Press, 2004. (in Chinese)
[16]
HPE. HPE Ethernet 10 Gb 2-port 560FLR-SFP+ Adapter[EB/OL]. (2017-04-10)[2017-04-10]. https://www.hpe.com/us/en/product-catalog/options/pip.5360658.html#.