一种基于FPGA固定以太网数据长度的方法以及设备技术

技术编号:33038514 阅读:13 留言:0更新日期:2022-04-15 09:17
本发明专利技术公开了一种基于FPGA固定以太网数据长度的方法、设备以及计算机可读存储介质,包括:通过写入端握手模块与EtherNet IP模块构建连接,检测是否有数据包输入,当有数据包输入时,利用数据缓存重排模块对数据进行固定数据的重排,将每组数据固定为预设字节数据,然后将固定好的数据缓存于双端口RAM模块中,并更新写入端地址生成器,然后地址比较模块比较写入端和读出端的地址,当缓存数据达到预设长度时,输出已缓存的数据。本发明专利技术在FPGA易于处理并行数据的特点,将不固定长度的数据通过重排缓存在RAM中,当达到固定长度时,将已缓存的固定长度数据输出至下游编码模块中,便于下游各个编码模块正常工作。游各个编码模块正常工作。游各个编码模块正常工作。

【技术实现步骤摘要】
一种基于FPGA固定以太网数据长度的方法以及设备


[0001]本专利技术涉及通信领域,特别是涉及一种基于FPGA固定以太网数据长度的方法、设备以及计算机可读存储介质。

技术介绍

[0002]当今10G以太网接口已经广泛存在于各种嵌入式网络设备、无线回传设备中,其通信主要基于TCP/IP协议,TCP/IP协议产生的数据包一般通过网卡或某些FPGA IP等硬件设备在嵌入式网络设备、无线回传设备等内部进行接收和发送。
[0003]TCP/IP协议是基于OSI体系的网络通信协议,通过数据包的层层打包实现不同网络层的通信。IP协议位于TCP协议之下,底层硬件(如网卡设备或FPGA IP)接收的IP数据包中包含包头、数据信息、填充信息,包头一殷长度为20字节,数据长度范围一般为0至1500字节,填充信息一般为4至50字节。
[0004]如上述所示,IP包的数据信息的长度不是固定不变的,而在无线回传设备、无线数据发送设备中,为了能准确的无线传输数据,需要在发送端对原始数据进行编码,而多数编码方式一般都规定初始的数据为固定长度的,如某无线回传设备中采用的CRC(239,236),Reed

Solomon(255,239),Polar(690,460)都规定有固定的初始数据长度。
[0005]综上所述可以看出,如何将长度不同的数据固定为统一长度的数据是目前有待解决的问题。

技术实现思路

[0006]本专利技术的目的是提供一种基于FPGA固定以太网数据长度的方法、设备以及计算机可读存储介质,以解决现有技术中数据长度不固定所带来的问题。
[0007]为解决上述技术问题,本专利技术提供一种基于FPGA固定以太网数据长度的方法、设备以及计算机可读存储介质,包括:
[0008]通过写入端握手模块与EtherNet IP模块构建连接,实时检测是否有以太网数据包输入;
[0009]当所述写入端握手模块检测到有以太网数据包输入时,利用数据缓存重排模块判断所述以太网数据包中的每组数据是否能构成预设字节数据;
[0010]若当前组数据不能构成所述预设字节数据,则将所述当前组数据进行缓存,等待下一组数据输入;
[0011]若所述当前组数据能构成所述预设字节数据,则通过写入端缓存所述当前组数据到双端口RAM模块中,同时利用写入端地址生成模块更新所述双端口RAM模块的写入地址;
[0012]利用地址比较模块比较所述双端口RAM模块的写入地址和读取地址,当所述写入地址长度比所述读取地址长度大于预设长度时,触发读出端地址生成模块产生所述双端口RAM模块的读取地址,并向下游编码模块输出所述双端口RAM模块已缓存的数据。
[0013]优选地,所述通过写入端握手模块与EtherNet IP模块构建连接,实时检测是否有
以太网数据包输入前包括:
[0014]通过外接光电转换模块连接所述EtherNet IP模块和所述Control FSM模块,便于传输以太网数据包。
[0015]优选地,所述通过写入端握手模块与EtherNet IP模块构建连接,实时检测是否有以太网数据包输入包括:
[0016]当所述写入端握手模块检测到所述EtherNet IP模块发出的以太网数据包是错误数据包时,将刚写入的入的数据作为无效数据,在接收下一个数据包时要覆盖之前的所述错误数据包。
[0017]优选地,所述当所述写入端握手模块检测到是错误数据包,所述地址生成模块的地址不会更新,保持之前正确数据包的地址。
[0018]优选地,所述利用数据缓存重排模块判断所述以太网数据包中的每组数据是否能构成预设字节数据包括:
[0019]当所述数据缓存重排模块在处理第一组数据或者最后一组数据时,若所述第一组数据或者所述最后一组数据能构成所述预设字节数据时,则所述写入端地址生成器的生成地址会增加;
[0020]若所述第一组数据或者所述最后一组数据不能构成所述预设字节数据时,则所述写入端地址生成器的生成地址保持不变。
[0021]优选地,当所述写入地址长度比所述读取所述地址长度大于预设长度时,则所述地址比较模块输出已缓存足够数据的指示信号至读出端信号处理模块;
[0022]利用所述读出端信号处理模块输出数据有效信号至所述下游编码模块,并输出地址使能信号至所述读出端地址生成模块产生读取地址。
[0023]优选地,所述利用所述读出端信号处理模块输出数据有效信号至所述下游编码模块包括:
[0024]通过所述读出端信号处理模块输出数据有效信号,使所述双端口RAM模块的读出端口与所述下游编码模块建立连接,将所述地址使能信号传输至所述读出端地址生成模块产生读出端地址并控制所述双端口RAM模块的读出端口传输相应的数据至所述下游编码模块;
[0025]并实时检测所述以缓存的数据是否传输完成;若所述以缓存的数据传输完成,则断开所述双端口RAM模块的读出端口与所述游编码模块的连接。
[0026]优选地,所述触发读出端地址生成模块产生所述双端口RAM模块的读取地址,并向下游编码模块输出所述双端口RAM模块已缓存的数据后包括:
[0027]当所述下游编码模块处于异常情况造成所述双端口RAM模块数据溢出时,将后续以太网数据包丢弃,直至所述下游编码模块恢复正常。
[0028]本专利技术还提供了一种基于FPGA固定以太网数据长度的设备,包括:
[0029]存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现上述一种基于FPGA固定以太网数据长度的方法的步骤。
[0030]本专利技术还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述一种基于FPGA固定以太网数据长度的方法的步骤。
[0031]本专利技术所提供的一种基于FPGA固定以太网数据长度的方法,通过写入端握手模块与EtherNet IP模块构建连接,检测是否有数据包输入,当有数据包输入时,利用数据缓存重排模块对每组数据进行数据重排,若每组数据构不成预设字节数据,则将其缓存等待下一组数据进入,若每组数据重排为预设字节数据,然后将固定好的数据缓存于双端口RAM模块中,并更新写入端地址生成器的地址,当所述写入地址长度比所述读取地址长度大于预设长度时,触发读出端地址生成模块产生所述双端口RAM模块的读取地址,并向下游编码模块传输所述双端口RAM模块中以缓存的数据。本专利技术在FPGA易于处理并行数据的特点,通过Control FSM模块实现了将不固定长度的数据通过重排缓存在RAM中,当达到固定长度时,将已缓存的固定长度数据输出至下游编码模块中,便于下游各个编码模块正常工作,适用于不同类型的编码模块。
附图说明
[0032]为了更清楚的说明本专利技术实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于FPGA固定以太网数据长度的方法,其特征在于,应用于FPGA中的Control FSM模块,包括:通过写入端握手模块与EtherNet IP模块构建连接,实时检测是否有以太网数据包输入;当所述写入端握手模块检测到有以太网数据包输入时,利用数据缓存重排模块判断所述以太网数据包中的每组数据是否能构成预设字节数据;若当前组数据不能构成所述预设字节数据,则将所述当前组数据进行缓存,等待下一组数据输入;若所述当前组数据能构成所述预设字节数据,则通过写入端缓存所述当前组数据到双端口RAM模块中,同时利用写入端地址生成模块更新所述双端口RAM模块的写入地址;利用地址比较模块比较所述双端口RAM模块的写入地址和读取地址,当所述写入地址长度比所述读取地址长度大于预设长度时,触发读出端地址生成模块产生所述双端口RAM模块的读取地址,并向下游编码模块输出所述双端口RAM模块已缓存的数据。2.如权利要求1所述的方法,其特征在于,所述通过写入端握手模块与EtherNet IP模块构建连接,实时检测是否有以太网数据包输入前包括:通过外接光电转换模块连接所述EtherNet IP模块和所述Control FSM模块,便于传输以太网数据包。3.如权利要求1所述的方法,其特征在于,所述通过写入端握手模块与EtherNet IP模块构建连接,实时检测是否有以太网数据包输入包括:当所述写入端握手模块检测到所述EtherNet IP模块发出的以太网数据包是错误数据包时,将刚写入的入的数据作为无效数据,在接收下一个数据包时要覆盖之前的所述错误数据包。4.如权利要求3所述的方法,其特征在于,所述当所述写入端握手模块检测到是错误数据包,所述地址生成模块的地址不会更新,保持之前正确数据包的地址。5.如权利要求1所述的方法,其特征在于,所述利用数据缓存重排模块判断所述以太网数据包中的每组数据是否能构成预设字节数据包括:当所述数据缓存重排模块在处理第一组数据或者最后一组数据时...

【专利技术属性】
技术研发人员:刘元智王斌姚远孙义兴孙昌达宋稳影
申请(专利权)人:江苏亨通太赫兹技术有限公司
类型:发明
国别省市:

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

1