基于FPGA的多层协议数据包封装装置及方法制造方法及图纸

技术编号:15800045 阅读:92 留言:0更新日期:2017-07-11 13:58
本发明专利技术提出了一种基于FPGA的多层协议数据包封装装置及方法,用于解决现有采用处理器或嵌入式微处理器在封装高速多层协议数据包时存在的缓存需求量大和处理能力低的技术问题;封装装置包括缓存模块、校验模块和数据包封装模块,且该三个模块的逻辑功能通过FPGA实现;封装方法为:将用户数据输入到缓存模块中并缓存;将用户数据输入到校验模块进行校验计算,得到用户数据校验和;用户选用需要工作的封装状态机,所选封装状态机间进行两次信息交互;各工作的封装状态机间依次传递封装完成信号并进入各自的初始等待状态。本发明专利技术的缓存需求量小,对高速多层协议数据包的处理能力强。

Multilayer protocol packet encapsulation device and method based on FPGA

The invention provides a multi protocol based FPGA data package encapsulation device and method for solving the cache demand by existing processors or embedded microprocessor package exists in the high-speed multi protocol data packets when the big problem and the processing technology of low ability; packaging device includes a cache module, check module and data encapsulation module, logic function the three module is realized by FPGA; encapsulation method is: input the user data into the cache and cache module; user data input module to check the check calculation, get the number of users according to the verification and selection of package; the state machine needs the work of users, the selected package between the state machine two times information interaction; the work of the state machine package is passed between signal and packaged into the respective initial wait state. The invention has small cache requirement, and has high processing capacity for high-speed multilayer protocol packets.

【技术实现步骤摘要】
基于FPGA的多层协议数据包封装装置及方法
本专利技术属于大规模集成电路设计以及数据通信
,特别涉及一种基于FPGA的多层协议数据包封装装置及方法,可应用于多种复杂协议栈数据处理。
技术介绍
伴随着雷达、遥感、通信等领域的高速发展,对多种信号采集设备、信号处理设备以及显示设备的需求越来越大,不同设备之间的通信更是必不可少,多层次的网络通信协议被广泛应用于实现各设备之间的信息交互,如TCP/IP协议(TransmissionControlProtocol/InternetProtocol,传输控制协议)。通常来讲,实现对多层协议数据包的处理主要有软件实现和硬件实现两种方式。软件实现方式通常是采用处理器或者嵌入式微处理器,通过操作系统中的应用程序实现对多层协议数据包的处理。这种方式的优点在于实现简单、具有很高的灵活性并且技术成熟,但也存在不可忽视的缺陷。随着光纤技术在通信和数据传输领域的发展,网络带宽的增长速度远远超过处理器性能提升的速度,当网络速度达到吉比特时,处理器越来越繁忙。按照CPU(CentralProcessingUnit,中央处理器)对网络数据流处理比率分析,大概CP本文档来自技高网...
基于FPGA的多层协议数据包封装装置及方法

【技术保护点】
一种基于FPGA的多层协议数据包封装装置,其特征在于,包括缓存模块、校验模块和数据包封装模块,该三个模块的逻辑功能是通过FPGA实现的,其中:缓存模块,用于接收并缓存外部输入的用户数据;校验模块,用于接收外部输入的用户数据,并对该数据进行校验计算,得到用户数据校验和;数据包封装模块,包括用户层协议封装层、多层中间层协议封装层和最底层协议封装层,且用户层协议封装层嵌套在多层中间层协议封装层中,多层中间层协议封装层嵌套在最底层协议封装层中,形成嵌套架构,其中:用户层协议封装层,用于对本层待封装的协议数据包首部进行校验并对缓存模块输出的用户数据和校验模块输出的用户数据校验和进行封装,得到用户层协议数...

【技术特征摘要】
1.一种基于FPGA的多层协议数据包封装装置,其特征在于,包括缓存模块、校验模块和数据包封装模块,该三个模块的逻辑功能是通过FPGA实现的,其中:缓存模块,用于接收并缓存外部输入的用户数据;校验模块,用于接收外部输入的用户数据,并对该数据进行校验计算,得到用户数据校验和;数据包封装模块,包括用户层协议封装层、多层中间层协议封装层和最底层协议封装层,且用户层协议封装层嵌套在多层中间层协议封装层中,多层中间层协议封装层嵌套在最底层协议封装层中,形成嵌套架构,其中:用户层协议封装层,用于对本层待封装的协议数据包首部进行校验并对缓存模块输出的用户数据和校验模块输出的用户数据校验和进行封装,得到用户层协议数据包;多层中间层协议封装层,包括多个相互嵌套且结构相同、代表不同协议的封装层,用于对封装后的用户层协议数据包进行多层协议的校验和封装,得到中间层协议数据包;最底层协议封装层,用于对中间层协议数据包进行最底层的校验和封装,得到数据帧并输出。2.根据权利要求1所述的基于FPGA的多层协议数据包封装装置,其特征在于:所述用户层协议封装层,包括用户层校验模块、用户层封装计数器和多个代表不同协议的用户层子协议封装状态机;所述多层中间层协议封装层,其多个封装层中的每一层包括中间层校验模块、中间层封装计数器和多个代表不同协议的中间层子协议封装状态机;所述最底层协议封装层,包括最底层校验模块、最底层封装计数器和最底层协议封装状态机。3.根据权利要求2所述的基于FPGA的多层协议数据包封装装置,其特征在于:所述用户层子协议封装状态机、中间层子协议封装状态机和最底层协议封装状态机,采用相同的结构及状态跳转机制,各状态机代表不同的协议类型。4.根据权利要求2所述的基于FPGA的多层协议数据包封装装置,其特征在于:所述用户层校验模块、中间层校验模块和最底层校验模块,其结构相同,用于计算各封装层协议数据包的首部校验和并发送至该层的协议封装状态机。5.根据权利要求2的基于FPGA的多层协议数据包封装装置,其特征在于:所述用户层封装计数器、中间层封装计数器和最底层封装计数器,其结构相同,用于对其所属封装层中已封装首部的字节数进行计数,并将当前计数值与该层协议数据包的首部长度进行比较。6.根据权利要求1所述的基于FPGA的多层协议数据包封装装置,其特征在于:所述嵌套架构,是通过将各协议层中的各协议封装状态机嵌套在其各自的下层协议封装状态机中实现的。7.一种基于FPGA的多层协议数据包封装方法,其特征在于,包括如下步骤:(1)将外部输入的用户数据输入到缓存模块中并缓存;(2)将外部输入的用户数据输入到校验模块进行校验计算,得到用户数据校验和;(3)用户分别选用数据包封装模块中各协议层中的一个子协议封装状态机作为当前的工作状态机后,所选的各层协议封装状态机与其各自上、下层中用户所选的协议封装状态机之间,采用握手控制的方式进行两次信息交互,实现步骤为:(3a)用户层子协议封装状态机在等待状态中,确定用户所选的所有中间层子协议封装状态机和最底层协议封装状态机均处于空闲状态:查询用户所选的所有中间层子协议封装状态机和最底层协议封装状态机是否均处于空闲状态,若是,执行步骤(3b),否则,处于忙碌状态的子协议封装状态...

【专利技术属性】
技术研发人员:王海杨敏秦红波刘岩赵伟
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:陕西,61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1