一种udp高速数据收发系统及方法

文档序号:9711422阅读:709来源:国知局
一种udp高速数据收发系统及方法
【技术领域】
[0001 ] 本发明属于以太网技术领域,更具体地,涉及一种UDP(User Datagram Protocol)高速数据收发系统及方法。
【背景技术】
[0002]目前,基于软核处理器的以太网功能一般都是采用软件协议栈来实现,由于软核处理器的性能较低,采用软件协议栈的方式不能充分发挥网络高带宽的性能,以1000MBase-T的网络为例,实际带宽可达到lGbps,但是在基于软核处理器的软件协议栈的应用环境下,实际带宽只能达到几Mbps,极大限制了网络的带宽,使基于软核处理器架构的网络设备的应用发展受到极大的限制。
[0003]随着视频技术的不断发展,设备之间的视频图像等大数据量传输日渐增多,需要不断提高网络传输的带宽来提高设备的网络吞吐量,降低数据传输的时间,满足大数据量传输的带宽需求,以及基于软核处理器架构的视频图像处理设备的应用。

【发明内容】

[0004]针对现有技术的以上缺陷或改进需求,本发明提供了一种UDP高速数据收发系统及方法,其目的在于解决当前基于软处理器架构的网络设备的网络带宽过低的问题。
[0005]为实现上述目的,按照本发明的一个方面,提供了一种UDP高速数据收发系统,包括集成于现场可编程门阵列(FPGA)内的数据链路层(MAC层)、UDP/IP协议栈、缓存控制模块、自定义指令(custom instruct1nal)模块和软核处理器;
[0006]其中,MAC层作为以太网数据传输的数据链路层,用于解析接收到的外部物理层数据,发送给UDP/IP协议栈;并将来自UDP/IP协议栈的数据进行组包,发送给外部物理层;
[0007]UDP/IP协议栈作为以太网数据传输的网络层,用于解析接收到的MAC层有效数据,并通过CI模块发送到软核处理器;并将软核处理器通过CI模块发送的应用层数据进行组包,发送给MAC层;
[0008]缓存控制模块用于控制外部缓存读写;具体的,将UDP/IP协议栈发送过来的数据存储到外部缓存模块中,或从外部缓存中读取数据发送到UDP/IP协议栈;CI模块作为软核处理器与UDP/IP协议栈的接口、以及软核处理器与缓存控制模块的接口,控制软核处理器与UDP/IP协议栈之间数据交互、以及软核处理器与缓存控制模块之间的数据交互;
[0009]软核处理器具有应用层接口,用于根据应用层请求配置参数;具体的,软核处理器根据应用层配置设置网络层的IP和UDP端口号,以及MAC层的MAC地址;并用于在数据接收过程中设置数据的存储位置,在数据发送过程中指定待发送数据。
[0010]现有技术中,软核处理器运行以太网协议栈,通过协议栈接口获取用户数据,并将数据传输至缓存模块;由于软核处理器性能较低,采用软件协议栈的方式大大降低了以太网的传输带宽;而本发明里的UDP/IP协议栈及缓存控制模块均采用硬件逻辑实现:软核处理器通过CI模块配置MAC地址、UDP/IP协议栈的IP、UDP端口号,并设置缓存控制模块的参数,包括以太网数据的存储偏移地址,以及存储数据的长度,设置需通过以太网发送数据的偏移地址及其长度,完成lO/lOO/lOOOMbase-T以太网数据传输和缓存;在数据传输和缓存过程中,软核处理器仅用于进行配置,规避了软核处理器的过多介入,大大提高了系统带宽,实现了数据的高速收发。
[0011]优选的,上述UDP高速数据收发系统,还包括以太网物理收发接口(PHY),PHY作为物理接口,用于实现MAC层与外部物理层之间的双向通信。
[0012]优选的,上述UDP高速数据收发系统,还包括缓存模块,缓存模块与缓存控制模块连接,用于存储待处理的数据。
[0013]优选的,缓存模块采用DDR3实现。
[0014]为实现本发明目的,按照本发明的另一个方面,提供了一种基于上述系统的UDP高速数据收发方法,包括数据接收与数据发送,具体如下:
[0015]在数据接收方向:
[0016](al)由软核处理器配置MAC层的MAC地址,以及网络层的IP地址和源、目的UDP端口号;
[0017](a2)由UDP/IP协议栈发送ARP协议包,完成MAC地址与IP地址的映射;
[0018](a3)外部物理层与该UDP高速数据收发系统建立网络连接,接收数据;
[0019]在数据发送方向:
[0020](bl)由软核处理器配置MAC地址、网络层IP地址和UDP端口号;
[0021](b2)软核处理器通过自定义指令模块设置缓存控制模块,配置拟发送的数据在缓存内的偏移地址,以及拟发送数据的长度;
[0022](b3)缓存控制模块从设置的偏移地址处读取指定的数据,并发送给UDP/IP协议栈,UDP/IP协议栈将接收到的数据进行组包,通过千兆以太网发送给外部物理层。
[0023]优选地,在数据接收中,数据可直接通过缓存控制模块存储到缓存的默认地址,也可以通过CI模块的自定义指令改变存储地址,该存储地址可以配置为自增或自减,实现数据的灵活高速存储。
[0024]优选地,在数据发送中,由于缓存控制模块从缓存里获取数据的带宽远大于千兆以太网,连续检测UDP/IP协议栈的状态,当UDP/IP协议栈空闲时,连续发送数据,否则暂停发送,直到达到拟发送数据长度,以避免拥塞。
[0025]总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:
[0026]本发明提供的UDP高速数据收发系统及方法,采用FPGA实现,在FPGA内部嵌入软核处理器、集成MAC层和UDP/IP协议栈的功能;用逻辑硬件实现协议栈及缓存管理,与现有的采用软核处理器通过软件协议栈获取用户数据以及缓存处理的方案相比,克服了基于软核处理器的软件协议栈对网络带宽的限制,进一步提高了设备的网络吞吐量;经过设备之间的实际网络测试,1000Mbase-T模式下的网络带宽能够达到lOOMB/s,其网络吞吐量在现有技术的基础上提高了几十倍以上。
【附图说明】
[0027]图1是实施例提供的UDP高速数据收发系统功能框图。
【具体实施方式】
[0028]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
[0029]以下结
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1