CN117749912B - 一种基于fpga模块的数据传输控制方法及系统 - Google Patents

一种基于fpga模块的数据传输控制方法及系统 Download PDF

Info

Publication number
CN117749912B
CN117749912B CN202410182397.4A CN202410182397A CN117749912B CN 117749912 B CN117749912 B CN 117749912B CN 202410182397 A CN202410182397 A CN 202410182397A CN 117749912 B CN117749912 B CN 117749912B
Authority
CN
China
Prior art keywords
data
module
udp
frame
receiving module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202410182397.4A
Other languages
English (en)
Other versions
CN117749912A (zh
Inventor
何佳佩
杨邦鍫
钟洪萍
胡美琴
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Shuangyuan Technology Co ltd
Original Assignee
Zhejiang Shuangyuan Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhejiang Shuangyuan Technology Co ltd filed Critical Zhejiang Shuangyuan Technology Co ltd
Priority to CN202410182397.4A priority Critical patent/CN117749912B/zh
Publication of CN117749912A publication Critical patent/CN117749912A/zh
Application granted granted Critical
Publication of CN117749912B publication Critical patent/CN117749912B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种基于FPGA模块的数据传输控制方法和系统,方法包括:PCS/PMA发送接收模块将从PC端接收的第一数据进行并行转换;MAC发送接收模块对第一数据进行处理,获得有效数据;控制模块对有效数据进行判断,识别ARP帧数据、UDP帧数据以及PING帧数据;ARP包发送接收模块对ARP帧数据进行地址判断并动态更新存储的PC端的MAC地址和IP地址;UDP包发送接收模块对接收到的UDP帧数据进行处理之后形成UDP发送数据发送至用户端;PING包发送接收模块对PING帧数据进行处理并生成PING应答帧,该方法适用于万兆以太网数据传输。

Description

一种基于FPGA模块的数据传输控制方法及系统
技术领域
本发明涉及通信技术领域,尤其涉及一种基于FPGA模块的数据传输控制方法及系统。
背景技术
在高宽带、高传输等环境下,网络应用对带宽和时延提出了更高的要求,千兆网已无法满足人们的需求,随着万兆网络在标准和管理技术的发展成熟,万兆以太网逐步替代千兆以太网成为数据中心,以支持更大量的数据传输需求。
专利文献(CN116095038A)提供了一种基于国产FPGA的千兆网转发系统及方法,属于FPGA应用技术领域,要解决的技术问题为如何基于国产FPGA芯片实现自定义IP数据报文格式的千兆网转发,保障通信网络的安全,包括FPGA芯片以及配置于所述FPGA芯片上的GMII模块、控制模块、ARP模块、UDP模块以及缓存模块;ARP模块用于基于ARP请求数据向控制模块返回包括FPGA芯片MAC地址的ARP应答信息;基于所述ARP应答信息,所述FPGA芯片与上位机建立连接;UDP模块用于通过自定义IP包的方式对解析后的UDP应用数据进行加密;GMII模块用于将加密后UDP应用数据返回上位机,实现UDP数据的接收和转发。
由于UDP(User Datagram Protocol,用户数据报协议)没有重传机制,对通讯链路的可靠性要求很高,因此上述专利文献公开的方法无法保证万兆以太网的数据传输的可靠性,不能满足实际应用的需求,此外,主流几家FPGA厂商没有提供UDP的开源设计,然而在工业检测领域UDP协议广泛应用,但现有UDP MAC里面集成了很多工业检测领域用不到的协议,造成资源浪费。
发明内容
本发明提供了一种基于FPGA模块的数据传输控制方法及系统,更加适用于工业检测领域,有效节约资源并能够保证万兆以太网的数据传输的可靠性。
一种基于FPGA模块的数据传输控制方法,所述FPGA模块包括PCS/PMA发送接收模块、MAC发送接收模块、UDP包发送接收模块、ARP包发送接收模块、PING包发送接收模块以及控制模块;
所述方法包括:
所述PCS/PMA发送接收模块将从PC端接收的第一数据进行并行转换并发送至所述MAC发送接收模块;
所述MAC发送接收模块对并行转换后的第一数据进行帧识别处理以及CRC校验,获得有效数据;
所述控制模块对所述有效数据进行地址判断以及帧类型判断,识别ARP帧数据、UDP帧数据以及PING帧数据,并发送至相应的ARP包发送接收模块、UDP包发送接收模块或者PING包发送接收模块;
所述ARP包发送接收模块对接收到的ARP帧数据进行地址判断并动态更新存储的PC端的MAC地址和IP地址;所述UDP包发送接收模块对接收到的UDP帧数据进行处理之后形成UDP发送数据发送至用户端;所述PING包发送接收模块对所述PING帧数据进行处理并生成PING应答帧。
进一步地,所述FPGA模块还包括与所述PCS/PMA发送接收模块连接的SPF光模块,所述SPF光模块通过光纤与PC端建立通信连接。
进一步地,所述方法还包括:
所述UDP包发送接收模块接收外部的第二数据并计算所述第二数据的数据长度,将所述第二数据按照UDP帧格式倒序排列,根据所述数据长度和倒序的第二数据生成UDP用户数据并发送至控制模块;
所述控制模块将所述UDP用户数据插入前导码和帧界定符并发送至所述MAC发送接收模块;
所述MAC发送接收模块对接收到的UDP用户数据进行CRC校验,并将CRC校验值插入所述UDP用户数据的帧尾之后发送至所述PCS/PMA发送接收模块;
所述PCS/PMA发送接收模块将接收到的UDP用户数据发送至PC端。
进一步地,所述FPGA模块包括还包括回环模块;
所述方法还包括:
回环模块接收模式控制信号,根据所述模式控制信号,控制接收所述第二数据,或者发送所述UDP发送数据;或者,
将所述UDP发送数据依次经所述UDP包发送接收模块、控制模块、MAC发送接收模块、PCS/PMA发送接收模块发回PC端,所述PC端对接收到的UDP发送数据进行正确性校验。
进一步地,所述回环模块包括数据校验模块以及数据设定模块,所述方法还包括:
所述数据设定模块根据所述模式控制信号,生成测试数据;
将所述测试数据依次经所述UDP包发送接收模块、控制模块、MAC发送接收模块、PCS/PMA发送接收模块、MAC发送接收模块、控制模块、UDP包发送接收模块再发回至所述数据校验模块;
所述数据校验模块将接收到的测试数据与原始生成的测试数据进行比较,获得正确性比较结果,所述正确性比较结果用于表征所述FPGA模块的链路质量。
进一步地,所述MAC发送接收模块包括MAC接收模块、第一CRC校验模块以及数据存储模块;
所述MAC接收模块接收并行转换后的第一数据之后进行前导码检测、帧结束检测并获取原始CRC校验码,将并行转换后的第一数据移除前导码和原始CRC校验码并进行左对齐之后存入所述数据存储模块;
所述第一CRC校验模块计算并行转换后的第一数据的第一CRC校验码;
所述MAC接收模块将所述原始CRC校验码与所述第一CRC校验码进行比较,若所述原始CRC校验码和所述第一CRC校验码相同,则将标识1存入所述第一CRC校验模块,若所述原始校验码和所述第一CRC校验码不相同,则将标识0存入所述第一CRC校验模块;
当所述第一CRC校验模块不为空时,所述MAC接收模块从所述第一CRC校验模块中读取标识,读取标识1时将所述数据存储模块中的第一数据作为有效数据发送至所述控制模块,读取标识0时将所述数据存储模块中的第一数据丢弃。
进一步地,所述控制模块包括接收控制模块、发送控制模块以及IP控制模块;所述ARP包发送接收模块包括ARP接收模块以及ARP发送模块;所述UDP包发送接收模块包括UDP接收模块;所述PING包发送接收模块包括PING接收模块以及PING发送模块;
所述接收控制模块判断所述有效数据的目的MAC地址是否为广播地址或者FPGA模块自身MAC地址,并判断所述有效数据的帧类型;
若所述有效数据的目的MAC地址为广播地址或者FPGA模块自身MAC地址,且所述有效数据为ARP帧数据,则接收控制模块将所述ARP帧数据移除目的MAC地址、源MAC地址以及帧类型标识并发送至所述ARP接收模块;若所述有效数据的目的MAC地址为FPGA模块自身MAC地址,且所述有效数据为IP帧数据,则接收控制模块将所述IP帧数据移除目的MAC地址、源MAC地址以及帧类型标识并发送至所述IP控制模块;
所述ARP接收模块预先获取PC端的IP地址和MAC地址进行存储,根据接收到的ARP帧数据判断目的IP地址是否为自身的IP地址,并判断所述ARP帧数据为ARP请求帧或者ARP应答帧;
若目的IP地址为自身的IP地址且所述ARP帧数据为ARP请求帧,则ARP接收模块根据所述ARP请求帧更新存储的PC端的IP地址,并生成ARP应答高脉冲发送至所述ARP发送模块,若所述ARP帧数据为ARP应答帧,则根据所述ARP应答帧更新存储的PC端的IP地址;
所述ARP发送模块根据所述ARP应答高脉冲生成ARP应答帧并倒序发送至所述发送控制模块;
所述IP控制模块判断接收到的IP帧数据为UDP帧数据或者PING帧数据,并判断首部的目的IP地址是否与自身的IP地址相同或者为广播地址,若相同或者为广播地址,则移除首部的地址,将所述UDP帧数据发送至UDP接收模块,将PING帧数据发送至所述PING接收模块;
所述IP控制模块获取PC端的IP地址,并将获取的PC端的IP地址与所述ARP接收模块存储的IP地址进行比较,若不相同则生成请求发送信号发送至所述ARP发送模块;
所述ARP发送模块根据所述请求发送信号生成ARP请求帧,请将所述ARP请求帧倒序发送至发送控制模块。
进一步地,所述UDP接收模块将接收到的UDP帧数据移除UDP首部,并将所述UDP数据修改为正序并进行左对齐,形成UDP发送数据发送至用户端;
所述PING接收模块接收所述PING帧数据并对所述PING帧数据进行解析,识别PING首部代码、标识符以及序列号并发送至所述PING发送模块,并在PING帧数据接收完毕之后生成PING应答高脉冲发送至所述PING发送模块;
所述PING发送模块根据所述PING应答高脉冲,生成PING应答帧并倒序发送至所述发送控制模块。
进一步地,所述UDP包发送接收模块还包括UDP发送模块、UDP发送缓存模块、UDP长度计算模块以及UDP长度存储模块;所述MAC发送接收模块包括MAC发送模块和第二CRC校验模块;
所述UDP发送缓存模块接收所述第二数据并进行缓存,所述UDP长度计算模块读取所述第二数据并计算第二数据的数据长度,将第二数据的数据长度发送至所述UDP长度存储模块进行存储;
当所述UDP长度存储模块不为空时,所述UDP发送模块分别从所述UDP发送缓存模块和所述UDP长度存储模块读取所述第二数据和数据长度,将所述第二数据按照UDP帧格式倒序排列,根据所述数据长度和倒序的第二数据生成UDP用户数据并发送至所述发送控制模块;
所述发送控制模块采用轮询的方式将所述PING应答帧、ARP请求帧或者UDP用户数据发送至所述MAC发送模块;
所述第二校验模块对所述MAC发送模块接收到的PING应答帧、ARP请求帧或者UDP用户数据计算相应的第二CRC校验码,并将相应的第二CRC校验码插入帧尾并发送至所述PCS/PMA发送接收模块;
所述PCS/PMA发送接收模块将接收到的PING应答帧、ARP请求帧或者UDP用户数据发送至PC端。
一种应用于上述方法的基于FPGA模块的数据传输控制系统,包括FPGA模块和PC端,所述FPGA模块包括PCS/PMA发送接收模块、MAC发送接收模块、UDP包发送接收模块、ARP包发送接收模块、PING包发送接收模块以及控制模块;
所述PCS/PMA发送接收模块用于将从PC端接收的第一数据进行并行转换并发送至所述MAC发送接收模块;
所述MAC发送接收模块用于对并行转换后的第一数据进行帧识别处理以及CRC校验,获得有效数据;
所述控制模块用于对所述有效数据进行地址判断以及帧类型判断,识别ARP帧数据、UDP帧数据以及PING帧数据,并发送至相应的ARP包发送接收模块、UDP包发送接收模块或者PING包发送接收模块;
所述ARP包发送接收模块用于对接收到的ARP帧数据进行地址判断并动态更新存储的PC端的MAC地址和IP地址;所述UDP包发送接收模块用于对接收到的UDP帧数据进行处理之后形成UDP发送数据发送至用户端;所述PING包发送接收模块用于对所述PING帧数据进行处理并生成PING应答帧。
本发明提供的基于FPGA模块的数据传输控制方法及系统,至少包括如下有益效果:
(1)通过MAC发送接收模块、UDP包发送接收模块、ARP包发送接收模块、PING包发送接收模块以及控制模块的协同配合,共同完成了基于FPGA模块UDP数据可靠的接收和发送,适用于万兆以太网;
(2)设计回环模块,能够检验FPGA模块和PC端的链路质量,进一步保证数据传输的可靠性;
(3)设计多个不同数据长度的CRC计算模块,能够实现不同长度数据的CRC校验,适用性更强。
附图说明
图1为本发明提供的基于FPGA模块的数据传输控制方法一种实施例的流程图。
图2为本发明提供的基于FPGA模块的数据传输控制方法中FPGA模块一种实施例的结构示意图。
图3为本发明提供的基于FPGA模块的数据传输控制方法中FPGA模块另一种实施例的结构示意图。
图4为本发明提供的基于FPGA模块的数据传输控制方法中CRC校验模块一种实施例的结构示意图。
图5为本发明提供的基于FPGA模块的数据传输控制系统一种实施例的结构示意图。
具体实施方式
为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案做详细的说明。
参考图1和图2,在一些实施例中,提供一种基于FPGA模块的数据传输控制方法,所述FPGA模块包括PCS/PMA发送接收模块1、MAC发送接收模块2、UDP包发送接收模块3、ARP包发送接收模块4、PING包发送接收模块5以及控制模块6;
所述方法包括:
S1、PCS/PMA发送接收模块1将从PC端接收的第一数据进行并行转换并发送至MAC发送接收模块2;
S2、MAC发送接收模块2对并行转换后的第一数据进行帧识别处理以及CRC校验,获得有效数据;
S3、控制模块6对所述有效数据进行地址判断以及帧类型判断,识别ARP帧数据、UDP帧数据以及PING帧数据,并发送至相应的ARP包发送接收模块4、UDP包发送接收模块3或者PING包发送接收模块5;
S4、ARP包发送接收模块4对接收到的ARP帧数据进行地址判断并动态更新存储的PC端的MAC地址和IP地址;UDP包发送接收模块3对接收到的UDP帧数据进行处理之后形成UDP发送数据发送至用户端;PING包发送接收模块5对所述PING帧数据进行处理并生成PING应答帧。
具体地,PCS/PMA发送接收模块1可使用FPGA厂商提供的开源IP核实现功能。
在一些实施例中,所述FPGA模块还包括与所述PCS/PMA发送接收模块1连接的SPF光模块7,SPF光模块7通过光纤与PC端建立通信连接。
在一些实施例中,数据传输包括PC端输出的第一数据经FPGA模块发送至用户端,以及外部发送的第二数据经所述FPGA模块发送至PC端,以下对两个数据传输过程做具体说明。
PC端输出的第一数据经FPGA模块发送至用户端的过程如下:
PCS/PMA发送接收模块1将从PC端接收的第一数据进行并行转换,获得并行的传输数据及控制信号并发送至MAC发送接收模块2,控制信号的每一位代表着传输数据每个字节的含义。由于传输顺序,每个得到的64bit数据的真实顺序都是低字节在前,高字节在后,在本实施例中,将真实顺序称作顺序,将高字节在前、低字节在后的顺序称作倒序。
进一步地,参考图3,进一步地,MAC发送接收模块2包括MAC接收模块21、第一CRC校验模块22以及数据存储模块23;
MAC接收模块21接收并行转换后的第一数据之后进行前导码检测、帧结束检测并获取原始CRC校验码,将并行转换后的第一数据移除前导码和原始CRC校验码并进行左对齐之后存入数据存储模块23;
第一CRC校验模块22计算并行转换后的第一数据的第一CRC校验码;
MAC接收模块21将所述原始CRC校验码与所述第一CRC校验码进行比较,若所述原始CRC校验码和所述第一CRC校验码相同,则将标识1存入第一CRC校验模块22,若所述原始CRC校验码和所述第一CRC校验码不相同,则将标识0存入所述第一CRC校验模块22;
当第一CRC校验模块22不为空时,MAC接收模块21从第一CRC校验模块22中读取标识,读取标识1时将数据存储模块23中的第一数据作为有效数据发送至控制模块6,读取标识0时将所述数据存储模块23中的第一数据丢弃。每读完一帧则至少间隔一个时钟周期再读取下一帧。
进一步地,控制模块6包括接收控制模块61、发送控制模块62以及IP控制模块63;ARP包发送接收模块4包括ARP接收模块41以及ARP发送模块42;UDP包发送接收模块3包括UDP接收模块31;PING包发送接收模块5包括PING接收模块51以及PING发送模块52;
接收控制模块61判断所述有效数据的目的MAC地址是否为广播地址或者FPGA模块自身MAC地址,并判断所述有效数据的帧类型;
若所述有效数据的目的MAC地址为广播地址或者FPGA模块自身MAC地址,且所述有效数据为ARP帧数据,则接收控制模块61将所述ARP帧数据移除目的MAC地址、源MAC地址以及帧类型标识并发送至ARP接收模块41;若所述有效数据的目的MAC地址为FPGA模块自身MAC地址,且所述有效数据为IP帧数据,则接收控制模块61将所述IP帧数据移除目的MAC地址、源MAC地址以及帧类型标识并发送至IP控制模块63;若不属于这两种情况,则忽略此帧有效数据。
ARP接收模块41预先获取PC端的IP地址和MAC地址进行存储,根据接收到的ARP帧数据判断目的IP地址是否为自身FPGA模块的IP地址,并判断所述ARP帧数据为ARP请求帧或者ARP应答帧;
若目的IP地址为自身的IP地址且所述ARP帧数据为ARP请求帧,则ARP接收模块41根据所述ARP请求帧更新存储的PC端的IP地址和MAC地址,并生成ARP应答高脉冲发送至ARP发送模块42,若所述ARP帧数据为ARP应答帧,则根据所述ARP应答帧更新存储的PC端的IP地址;
ARP发送模块42根据所述ARP应答高脉冲生成ARP应答帧并倒序发送至发送控制模块62;
IP控制模块63判断接收到的IP帧数据为UDP帧数据或者PING帧数据,并判断首部的目的IP地址是否与自身的IP地址相同或者为广播地址,若相同或者为广播地址,则移除首部的地址,将所述UDP帧数据发送至UDP接收模块31,将PING帧数据发送至PING接收模块51;若首部的目的IP地址与自身的IP地址不相同或者不为广播地址,则忽略此帧。
IP控制模块63获取PC端的IP地址,并将获取的PC端的IP地址与ARP接收模块41存储的IP地址进行比较,若不相同则生成请求发送信号发送至ARP发送模块42;若相同则不必进行处理。
ARP发送模块42根据所述请求发送信号生成ARP请求帧,请将所述ARP请求帧倒序发送至发送控制模块62。
进一步地,UDP接收模块31将接收到的UDP帧数据移除UDP首部,并将所述UDP数据修改为正序并进行左对齐,形成UDP发送数据发送至用户端。
PING接收模块51接收所述PING帧数据并对所述PING帧数据进行解析,识别PING首部代码、标识符以及序列号并发送至所述PING发送模块52,并在PING帧数据接收完毕之后生成PING应答高脉冲发送至PING发送模块52;
PING发送模块52根据所述PING应答高脉冲,生成PING应答帧并倒序发送至发送控制模块62。
外部发送的第二数据经所述FPGA模块发送至PC端的过程如下:
UDP包发送接收模块3接收外部的第二数据并计算所述第二数据的数据长度,将所述第二数据按照UDP帧格式倒序排列,根据所述数据长度和倒序的第二数据生成UDP用户数据并发送至控制模块6;
控制模块6将所述UDP用户数据插入前导码和帧界定符并发送至MAC发送接收模块2;
MAC发送接收模块2对接收到的UDP用户数据进行CRC校验,并将CRC校验值插入所述UDP用户数据的帧尾之后发送至PCS/PMA发送接收模块1;
PCS/PMA发送接收模块1将接收到的UDP用户数据发送至PC端。
具体地,UDP包发送接收模块还包括UDP发送模块32、UDP发送缓存模块33、UDP长度计算模块34以及UDP长度存储模块35;MAC发送接收模块包括MAC发送模块24和第二CRC校验模块25;
UDP发送缓存模块33接收所述第二数据并进行缓存,UDP长度计算模块34读取所述第二数据并计算第二数据的数据长度,将第二数据的数据长度发送至UDP长度存储模块35进行存储;
当UDP长度存储模块35不为空时,UDP发送模块32分别从UDP发送缓存模块33和UDP长度存储模块35读取所述第二数据和数据长度,将所述第二数据按照UDP帧格式倒序排列,根据所述数据长度和倒序的第二数据生成UDP用户数据并发送至发送控制模块62;
发送控制模块62存储有三个FIFO模块,分别暂存PING应答帧、ARP请求帧以及UDP用户数据,采用轮询的方式将所述PING应答帧、ARP请求帧或者UDP用户数据发送至MAC发送模块24。
第二CRC校验模块25对MAC发送模块24接收到的PING应答帧、ARP请求帧或者UDP用户数据计算相应的第二CRC校验码,并将相应的第二CRC校验码插入帧尾并发送至PCS/PMA发送接收模块1;
PCS/PMA发送接收模块1将接收到的PING应答帧、ARP请求帧或者UDP用户数据发送至PC端。
MAC发送模块24在不发送数据时,发送连接信号与PC端建立连接。
其中,在第一CRC校验模块和第二CRC校验模块中,使用的是CRC32校验。CRC校验的计算分为串行计算和并行计算,其中串行计算是通过移位寄存器和异或逻辑单元一步步算出来,占用面积小,但随着数据长度的增加,计算时间也会随之增加;并行计算是根据数据长度通过组合逻辑运算直接得到结果,功耗和占用面积大但运算时间短。本实施例中可以选择并行计算方式。
在一些实施例中,第一CRC校验模块和第二CRC校验模块包括多个不同数据长度的CRC计算模块,根据时钟周期传输数据的长度以及帧尾数据长度分别选择对应数据长度的CRC计算模块计算CRC校验码,具体包括:
获取校验初值,根据时钟周期传输数据的长度选择对应的CRC计算模块并基于所述校验初值计算当前CRC校验码;
将上一个时钟周期计算获得的CRC校验码作为下一次计算的校验初值进行CRC校验码的计算,直到对应于帧尾长度的CRC计算模块输出CRC校验码,将对应于帧尾长度的CRC计算模块输出的CRC校验码进行倒序反向操作获得最终的CRC校验码。
其中,校验初值为设定的固定值。
例如,传输数据为一个时钟周期传输64bit数据,故CRC校验码的计算的常规输入选为64bit,然而帧尾的数据长度不定,可能为8bit,16bit,24bit,32bit,40bit,48bit,56bit,64bit,所以采用了八个CRC计算模块,如图4所示,输入分别为8bit,16bit,24bit,32bit,40bit,48bit,56bit,64bit的正序数据,在帧尾根据帧尾数据长度来选择最后的CRC计算模块,经数据选择器输出最终的CRC校验码。
将寄存器中的校验初值设为全1,在VALID有效时,将数据与寄存器中的值进行CRC校验码的计算,计算出的结果存入寄存器替代原寄存器中的值,依次计算,直到一帧输入完毕得到寄存器在最后的值,输出校验值,然后复位寄存器中的值为全1,等待计算下一帧。
对于CRC_D56、CRC_D48、CRC_D40、CRC_D32、CRC_D24、CRC_D16、CRC_D8,输入分别为56bit,48bit,40bit,32bit,24bit,16bit,8bit。原理与CRC_64相同,只是由VALID有效时计算变为 LAST有效时计算。
进一步地,所述FPGA模块包括还包括回环模块8;
所述方法还包括:
回环模块8接收模式控制信号,根据所述模式控制信号,控制接收所述第二数据,或者发送所述UDP发送数据;或者,
将所述UDP发送数据依次经所述UDP包发送接收模块、控制模块、MAC发送接收模块、PCS/PMA发送接收模块发回PC端,所述PC端对接收到的UDP发送数据进行正确性校验。
进一步地,回环模块8包括数据校验模块81以及数据设定模块82,所述方法还包括:
所述数据设定模块根据所述模式控制信号,生成测试数据;
将所述测试数据依次经所述UDP包发送接收模块3、控制模块6、MAC发送接收模块2、PCS/PMA发送接收模块1、MAC发送接收模块2、控制模块6、UDP包发送接收模块3再发回至所述数据校验模块81;
所述数据校验模块81将接收到的测试数据与原始生成的测试数据进行比较,获得正确性比较结果,所述正确性比较结果用于表征所述FPGA模块的链路质量。
具体地,模式控制信号包括第一模式控制信号、第二模式控制信号以及第三模式控制信号,具体地,回环模块8接收到第一模式控制信号时,则正常发送或者接收数据,即正常将UDP发送数据发送至用户端,或者正常接收外部的第二数据。
进一步地,回环模块8接收到第二模式控制信号时,进行UDP发送数据的回环,将所述UDP发送数据依次经所述UDP包发送接收模块3、控制模块6、MAC发送接收模块2、PCS/PMA发送接收模块1发回PC端,所述PC端对接收到的UDP发送数据进行正确性校验。PC端将接收到的UDP发送数据与原始数据进行比对,获得UDP发送数据的正确率,可以依据正确率来判断FPGA模块发送链路质量。
具体地,所述UDP发送数据经所述UDP发送模块32、发送控制模块62、MAC发送模块24、PCS/PMA发送接收模块1发回PC端。
进一步地,回环模块8接收到第三模式控制信号时,进行整个数据的发送和接收回环,数据设定模块根据所述第三模式控制信号,生成测试数据,将所述测试数据依次经所述UDP包发送接收模块3、控制模块6、MAC发送接收模块2、PCS/PMA发送接收模块1、MAC发送接收模块2、控制模块6、UDP包发送接收模块3再发回至所述数据校验模块;数据校验模块将接收到的测试数据与原始生成的测试数据进行比较,获得正确性比较结果,即接收到的测试数据的正确率,该正确率可以表征FPGA模块的整个链路的质量。
具体地,所述测试数据经UDP发送模块32、发送控制模块62、MAC发送模块24、PCS/PMA发送接收模块1、MAC接收模块21、接收控制模块61、IP控制模块63、UDP接收模块31至数据校验模块81。
参考图5和图2,在一些实施例中,还提供一种应用于上述方法的基于FPGA模块的数据传输控制系统,包括FPGA模块100和PC端200,FPGA模块包括PCS/PMA发送接收模块1、MAC发送接收模块2、UDP包发送接收模块3、ARP包发送接收模块4、PING包发送接收模块5以及控制模块6;
PCS/PMA发送接收模块1用于将从PC端接收的第一数据进行并行转换并发送至MAC发送接收模块2;
MAC发送接收模块2用于对并行转换后的第一数据进行帧识别处理以及CRC校验,获得有效数据;
控制模块6用于对所述有效数据进行地址判断以及帧类型判断,识别ARP帧数据、UDP帧数据以及PING帧数据,并发送至相应的ARP包发送接收模块4、UDP包发送接收模块3或者PING包发送接收模块5;
ARP包发送接收模块4用于对接收到的ARP帧数据进行地址判断并动态更行PC端的MAC地址和IP地址;UDP包发送接收模块3用于对接收到的UDP帧数据进行处理之后形成UDP发送数据发送至用户端;PING包发送接收模块5用于对所述PING帧数据进行处理并生成PING应答帧。
各个模块的工作原理请参考上述方法实施例,在此不再赘述。
本实施例提供的基于FPGA模块的数据传输控制方法及系统,至少包括如下有益效果:
(1)通过MAC发送接收模块、UDP包发送接收模块、ARP包发送接收模块、PING包发送接收模块以及控制模块的协同配合,共同完成了基于FPGA模块UDP数据可靠的接收和发送,适用于万兆以太网;
(2)设计回环模块,能够检验FPGA模块和PC端的链路质量,进一步保证数据传输的可靠性;
(3)设计多个不同数据长度的CRC计算模块,能够实现不同长度数据的CRC校验,适用性更强。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (6)

1.一种基于FPGA模块的数据传输控制方法,其特征在于,所述FPGA模块包括PCS/PMA发送接收模块、MAC发送接收模块、UDP包发送接收模块、ARP包发送接收模块、PING包发送接收模块以及控制模块;
所述方法包括:
所述PCS/PMA发送接收模块将从PC端接收的第一数据进行并行转换并发送至所述MAC发送接收模块;
所述MAC发送接收模块对并行转换后的第一数据进行帧识别处理以及CRC校验,获得有效数据;
所述控制模块对所述有效数据进行地址判断以及帧类型判断,识别ARP帧数据、UDP帧数据以及PING帧数据,并发送至相应的ARP包发送接收模块、UDP包发送接收模块或者PING包发送接收模块;
所述ARP包发送接收模块对接收到的ARP帧数据进行地址判断并动态更新存储的PC端的MAC地址和IP地址;所述UDP包发送接收模块对接收到的UDP帧数据进行处理之后形成UDP发送数据发送至用户端;所述PING包发送接收模块对所述PING帧数据进行处理并生成PING应答帧;
所述方法还包括:
所述UDP包发送接收模块接收外部的第二数据并计算所述第二数据的数据长度,将所述第二数据按照UDP帧格式倒序排列,根据所述数据长度和倒序的第二数据生成UDP用户数据并发送至控制模块;
所述控制模块将所述UDP用户数据插入前导码和帧界定符并发送至所述MAC发送接收模块;
所述MAC发送接收模块对接收到的UDP用户数据进行CRC校验,并将CRC校验值插入所述UDP用户数据的帧尾之后发送至所述PCS/PMA发送接收模块;
所述PCS/PMA发送接收模块将接收到的UDP用户数据发送至PC端;
所述FPGA模块包括还包括回环模块;
所述方法还包括:
回环模块接收模式控制信号,根据所述模式控制信号,控制接收所述第二数据,或者发送所述UDP发送数据;或者,
将所述UDP发送数据依次经所述UDP包发送接收模块、控制模块、MAC发送接收模块、PCS/PMA发送接收模块发回PC端,所述PC端对接收到的UDP发送数据进行正确性校验;
所述回环模块包括数据校验模块以及数据设定模块,所述方法还包括:
所述数据设定模块根据所述模式控制信号,生成测试数据;
将所述测试数据依次经所述UDP包发送接收模块、控制模块、MAC发送接收模块、PCS/PMA发送接收模块、MAC发送接收模块、控制模块、UDP包发送接收模块再发回至所述数据校验模块;
所述数据校验模块将接收到的测试数据与原始生成的测试数据进行比较,获得正确性比较结果,所述正确性比较结果用于表征所述FPGA模块的链路质量;
所述MAC发送接收模块包括MAC接收模块、第一CRC校验模块以及数据存储模块;
所述MAC接收模块接收并行转换后的第一数据之后进行前导码检测、帧结束检测并获取原始CRC校验码,将并行转换后的第一数据移除前导码和原始CRC校验码并进行左对齐之后存入所述数据存储模块;
所述第一CRC校验模块计算并行转换后的第一数据的第一CRC校验码;
所述MAC接收模块将所述原始CRC校验码与所述第一CRC校验码进行比较,若所述原始CRC校验码和所述第一CRC校验码相同,则将标识1存入所述第一CRC校验模块,若所述原始CRC校验码和所述第一CRC校验码不相同,则将标识0存入所述第一CRC校验模块;
当所述第一CRC校验模块不为空时,所述MAC接收模块从所述第一CRC校验模块中读取标识,读取标识1时将所述数据存储模块中的第一数据作为有效数据发送至所述控制模块,读取标识0时将所述数据存储模块中的第一数据丢弃;
所述第一CRC校验模块包括多个不同数据长度的CRC计算模块,根据时钟周期传输数据的长度以及帧尾数据长度分别选择对应数据长度的CRC计算模块计算CRC校验码,包括:
获取校验初值,根据时钟周期传输数据的长度选择对应的CRC计算模块并基于所述校验初值计算当前CRC校验码;
将上一个时钟周期计算获得的CRC校验码作为下一次计算的校验初值进行CRC校验码的计算,直到对应于帧尾长度的CRC计算模块输出CRC校验码,将对应于帧尾长度的CRC计算模块输出的CRC计算模块输出的CRC校验码进行倒序反向操作获得最终的CRC校验码。
2.根据权利要求1所述的方法,其特征在于,所述FPGA模块还包括与所述PCS/PMA发送接收模块连接的SPF光模块,所述SPF光模块通过光纤与PC端建立通信连接。
3.根据权利要求1所述的方法,其特征在于,所述控制模块包括接收控制模块、发送控制模块以及IP控制模块;所述ARP包发送接收模块包括ARP接收模块以及ARP发送模块;所述UDP包发送接收模块包括UDP接收模块;所述PING包发送接收模块包括PING接收模块以及PING发送模块;
所述接收控制模块判断所述有效数据的目的MAC地址是否为广播地址或者FPGA模块自身MAC地址,并判断所述有效数据的帧类型;
若所述有效数据的目的MAC地址为广播地址或者FPGA模块自身MAC地址,且所述有效数据为ARP帧数据,则接收控制模块将所述ARP帧数据移除目的MAC地址、源MAC地址以及帧类型标识并发送至所述ARP接收模块;若所述有效数据的目的MAC地址为FPGA模块自身MAC地址,且所述有效数据为IP帧数据,则接收控制模块将所述IP帧数据移除目的MAC地址、源MAC地址以及帧类型标识并发送至所述IP控制模块;
所述ARP接收模块预先获取PC端的IP地址和MAC地址进行存储,根据接收到的ARP帧数据判断目的IP地址是否为自身的IP地址,并判断所述ARP帧数据为ARP请求帧或者ARP应答帧;
若目的IP地址为自身的IP地址且所述ARP帧数据为ARP请求帧,则ARP接收模块根据所述ARP请求帧更新存储的PC端的IP地址,并生成ARP应答高脉冲发送至所述ARP发送模块,若所述ARP帧数据为ARP应答帧,则根据所述ARP应答帧更新存储的PC端的IP地址;
所述ARP发送模块根据所述ARP应答高脉冲生成ARP应答帧并倒序发送至所述发送控制模块;
所述IP控制模块判断接收到的IP帧数据为UDP帧数据或者PING帧数据,并判断首部的目的IP地址是否与自身的IP地址相同或者为广播地址,若相同或者为广播地址,则移除首部的地址,将所述UDP帧数据发送至UDP接收模块,将PING帧数据发送至所述PING接收模块;
所述IP控制模块获取PC端的IP地址,并将获取的PC端的IP地址与所述ARP接收模块存储的IP地址进行比较,若不相同则生成请求发送信号发送至所述ARP发送模块;
所述ARP发送模块根据所述请求发送信号生成ARP请求帧,请将所述ARP请求帧倒序发送至发送控制模块。
4.根据权利要求3所述的方法,其特征在于,所述UDP接收模块将接收到的UDP帧数据移除UDP首部,并将所述UDP数据修改为正序并进行左对齐,形成UDP发送数据发送至用户端;
所述PING接收模块接收所述PING帧数据并对所述PING帧数据进行解析,识别PING首部代码、标识符以及序列号并发送至所述PING发送模块,并在PING帧数据接收完毕之后生成PING应答高脉冲发送至所述PING发送模块;
所述PING发送模块根据所述PING应答高脉冲,生成PING应答帧并倒序发送至所述发送控制模块。
5.根据权利要求4所述的方法,其特征在于,所述UDP包发送接收模块还包括UDP发送模块、UDP发送缓存模块、UDP长度计算模块以及UDP长度存储模块;所述MAC发送接收模块包括MAC发送模块和第二CRC校验模块;
所述UDP发送缓存模块接收所述第二数据并进行缓存,所述UDP长度计算模块读取所述第二数据并计算第二数据的数据长度,将第二数据的数据长度发送至所述UDP长度存储模块进行存储;
当所述UDP长度存储模块不为空时,所述UDP发送模块分别从所述UDP发送缓存模块和所述UDP长度存储模块读取所述第二数据和数据长度,将所述第二数据按照UDP帧格式倒序排列,根据所述数据长度和倒序的第二数据生成UDP用户数据并发送至所述发送控制模块;
所述发送控制模块采用轮询的方式将所述PING应答帧、ARP请求帧或者UDP用户数据发送至所述MAC发送模块;
所述第二CRC校验模块对所述MAC发送模块接收到的PING应答帧、ARP请求帧或者UDP用户数据计算相应的第二CRC校验码,并将相应的第二CRC校验码插入帧尾并发送至所述PCS/PMA发送接收模块;
所述PCS/PMA发送接收模块将接收到的PING应答帧、ARP请求帧或者UDP用户数据发送至PC端。
6.一种应用于如权利要求1-5任一所述方法的基于FPGA模块的数据传输控制系统,其特征在于,包括FPGA模块和PC端,所述FPGA模块包括PCS/PMA发送接收模块、MAC发送接收模块、UDP包发送接收模块、ARP包发送接收模块、PING包发送接收模块以及控制模块;
所述PCS/PMA发送接收模块用于将从PC端接收的第一数据进行并行转换并发送至所述MAC发送接收模块;
所述MAC发送接收模块用于对并行转换后的第一数据进行帧识别处理以及CRC校验,获得有效数据;
所述控制模块用于对所述有效数据进行地址判断以及帧类型判断,识别ARP帧数据、UDP帧数据以及PING帧数据,并发送至相应的ARP包发送接收模块、UDP包发送接收模块或者PING包发送接收模块;
所述ARP包发送接收模块用于对接收到的ARP帧数据进行地址判断并动态更新存储的PC端的MAC地址和IP地址;所述UDP包发送接收模块用于对接收到的UDP帧数据进行处理之后形成UDP发送数据发送至用户端;所述PING包发送接收模块用于对所述PING帧数据进行处理并生成PING应答帧。
CN202410182397.4A 2024-02-19 2024-02-19 一种基于fpga模块的数据传输控制方法及系统 Active CN117749912B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410182397.4A CN117749912B (zh) 2024-02-19 2024-02-19 一种基于fpga模块的数据传输控制方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410182397.4A CN117749912B (zh) 2024-02-19 2024-02-19 一种基于fpga模块的数据传输控制方法及系统

Publications (2)

Publication Number Publication Date
CN117749912A CN117749912A (zh) 2024-03-22
CN117749912B true CN117749912B (zh) 2024-05-10

Family

ID=90281740

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410182397.4A Active CN117749912B (zh) 2024-02-19 2024-02-19 一种基于fpga模块的数据传输控制方法及系统

Country Status (1)

Country Link
CN (1) CN117749912B (zh)

Citations (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101599004A (zh) * 2009-07-10 2009-12-09 中国科学院光电技术研究所 基于fpga的sata控制器
CN102075198A (zh) * 2011-01-11 2011-05-25 上海交通大学 准循环低密度奇偶校验卷积码编译码系统及其编译码方法
CN104572574A (zh) * 2015-01-12 2015-04-29 东南大学 基于千兆以太网视觉协议的以太网控制器ip核及方法
WO2015062503A1 (zh) * 2013-11-04 2015-05-07 上海数字电视国家工程研究中心有限公司 数据包的封装方法及校验方法
CN104702464A (zh) * 2015-01-15 2015-06-10 北京奥普维尔科技有限公司 基于fpga的100g以太网测试报文的生成系统及方法
CN105227543A (zh) * 2015-08-26 2016-01-06 电子科技大学 参数可配置的基于fpga的以太网udp/ip处理器
CN106341266A (zh) * 2016-09-12 2017-01-18 武汉理工大学 具有主动和被动传输模式的硬件tcp/ip协议栈
CN107154836A (zh) * 2017-06-28 2017-09-12 西安空间无线电技术研究所 一种基于fpga的并行循环冗余crc校验方法
CN108243185A (zh) * 2017-12-21 2018-07-03 中国科学院西安光学精密机械研究所 基于ax88180的科学级ccd千兆以太网通信系统及方法
CN110300081A (zh) * 2018-03-21 2019-10-01 大唐移动通信设备有限公司 一种数据传输的方法和设备
WO2020015201A1 (zh) * 2018-07-14 2020-01-23 苏州大学张家港工业技术研究院 面向多应用pon的fpga收发器的单芯片onu
CN113395270A (zh) * 2021-06-07 2021-09-14 中嘉能源管理(北京)有限公司 一种热工原始数据采集设备、方法及系统
CN113452804A (zh) * 2021-06-16 2021-09-28 中国电子科技集团公司第五十四研究所 基于vhdl语言实现arp和udp协议数据通信的星载通信装置
CN113630326A (zh) * 2021-07-30 2021-11-09 天津光电通信技术有限公司 一种千兆以太网流量控制装置
WO2022037504A1 (zh) * 2020-08-16 2022-02-24 复旦大学 一种应用于深空通信的多模式ldpc译码器
CN114328003A (zh) * 2022-03-16 2022-04-12 宜科(天津)电子有限公司 通过crc硬件模块实现数据倒序处理的方法
CN116095038A (zh) * 2022-12-21 2023-05-09 西安超越申泰信息科技有限公司 基于国产fpga的千兆网转发系统及方法
CN116795758A (zh) * 2023-05-25 2023-09-22 伯朗特机器人股份有限公司 一种基于FPGA的多路同步Biss-C协议解码传输装置
CN117220833A (zh) * 2023-11-09 2023-12-12 新华三网络信息安全软件有限公司 Crc计算电路、芯片、报文处理方法及网络安全设备

Patent Citations (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101599004A (zh) * 2009-07-10 2009-12-09 中国科学院光电技术研究所 基于fpga的sata控制器
CN102075198A (zh) * 2011-01-11 2011-05-25 上海交通大学 准循环低密度奇偶校验卷积码编译码系统及其编译码方法
WO2015062503A1 (zh) * 2013-11-04 2015-05-07 上海数字电视国家工程研究中心有限公司 数据包的封装方法及校验方法
CN104572574A (zh) * 2015-01-12 2015-04-29 东南大学 基于千兆以太网视觉协议的以太网控制器ip核及方法
CN104702464A (zh) * 2015-01-15 2015-06-10 北京奥普维尔科技有限公司 基于fpga的100g以太网测试报文的生成系统及方法
CN105227543A (zh) * 2015-08-26 2016-01-06 电子科技大学 参数可配置的基于fpga的以太网udp/ip处理器
CN106341266A (zh) * 2016-09-12 2017-01-18 武汉理工大学 具有主动和被动传输模式的硬件tcp/ip协议栈
CN107154836A (zh) * 2017-06-28 2017-09-12 西安空间无线电技术研究所 一种基于fpga的并行循环冗余crc校验方法
CN108243185A (zh) * 2017-12-21 2018-07-03 中国科学院西安光学精密机械研究所 基于ax88180的科学级ccd千兆以太网通信系统及方法
CN110300081A (zh) * 2018-03-21 2019-10-01 大唐移动通信设备有限公司 一种数据传输的方法和设备
WO2020015201A1 (zh) * 2018-07-14 2020-01-23 苏州大学张家港工业技术研究院 面向多应用pon的fpga收发器的单芯片onu
WO2022037504A1 (zh) * 2020-08-16 2022-02-24 复旦大学 一种应用于深空通信的多模式ldpc译码器
CN113395270A (zh) * 2021-06-07 2021-09-14 中嘉能源管理(北京)有限公司 一种热工原始数据采集设备、方法及系统
CN113452804A (zh) * 2021-06-16 2021-09-28 中国电子科技集团公司第五十四研究所 基于vhdl语言实现arp和udp协议数据通信的星载通信装置
CN113630326A (zh) * 2021-07-30 2021-11-09 天津光电通信技术有限公司 一种千兆以太网流量控制装置
CN114328003A (zh) * 2022-03-16 2022-04-12 宜科(天津)电子有限公司 通过crc硬件模块实现数据倒序处理的方法
CN116095038A (zh) * 2022-12-21 2023-05-09 西安超越申泰信息科技有限公司 基于国产fpga的千兆网转发系统及方法
CN116795758A (zh) * 2023-05-25 2023-09-22 伯朗特机器人股份有限公司 一种基于FPGA的多路同步Biss-C协议解码传输装置
CN117220833A (zh) * 2023-11-09 2023-12-12 新华三网络信息安全软件有限公司 Crc计算电路、芯片、报文处理方法及网络安全设备

Non-Patent Citations (7)

* Cited by examiner, † Cited by third party
Title
EPON中CRC校验码的并行算法实现;陆建松;李明;李纪军;刘玲;;无线通信技术;20060330(第01期);全文 *
FPGA与88E1111的千兆以太网接口设计;朱明辉;司斌;张从霞;张鹏;;单片机与嵌入式系统应用;20170301(第03期);全文 *
商艳娟,徐卓汀,王成群.基于FPGA的UDP_IP协议栈的设计与实现.智能计算机与应用.2023,第7-12页. *
基于CPCI总线的抗恶劣环境HDLC通信卡的设计与实现;李宁;李戴维;;计算机与现代化;20131218(第12期);全文 *
基于FPGA多接口的千兆以太网IP核设计;李岚;苏敏;程丽彬;段江霞;;电子信息对抗技术;20200315(第02期);第82-88页 *
李岚 ; 苏敏 ; 程丽彬 ; 段江霞 ; .基于FPGA多接口的千兆以太网IP核设计.电子信息对抗技术.2020,(第02期),第82-88页. *
董永吉,王钰,袁征.基于FPGA的万兆以太网UDP_IP硬件协议栈设计与实现.计算机应用研究.2022,第2455-2468页. *

Also Published As

Publication number Publication date
CN117749912A (zh) 2024-03-22

Similar Documents

Publication Publication Date Title
CN110086578B (zh) 数据传输方法、装置和系统
CN108462642B (zh) 基于fpga的udp/ip硬件协议栈及实现方法
CN111740847B (zh) 一种基于fpga的高速网络数据传输系统及方法
CN101360046B (zh) 一种带宽资源的节约方法
WO2023124098A1 (zh) 用于在ieee 802.15.4网络中生成和发送应答帧的方法及通信装置
US20230034209A1 (en) Data transmission method and network device
CN115118663B (zh) 结合带内网络遥测获取网络拥塞信息的方法
CN107508828B (zh) 一种超远程数据交互系统及方法
CN105634977A (zh) 发现路径最大传输单元的方法和装置
CN113676386B (zh) 一种fc-ae-1553总线协议报文通讯系统
CN116760911A (zh) 一种异构协议转换系统和方法
US5812554A (en) Efficiency of a network having a minimum data transmission time
CN100484101C (zh) 一种以太网传输IPv6报文方法、系统与装置
CN117749912B (zh) 一种基于fpga模块的数据传输控制方法及系统
CN112637075A (zh) 一种基于fpga的udp/ip协议栈实现方法及fpga芯片
CN111478958B (zh) 一种片上网络时钟同步资源网络接口及同步参数配置方法
CN112994848B (zh) Mcs的调整方法、装置、存储介质及无线节点
CN115277450A (zh) 基于opnet的虚实结合异构通信网络融合系统及应用
US8583822B2 (en) Method and system for minimum frame size support for a communication protocol encapsulated over Ethernet
CN113765721A (zh) 一种基于fpga的以太网远程配置装置
CN113141322A (zh) 一种数据通信方法、数据通信装置及计算机存储介质
US11089540B2 (en) Variable address length communication protocol
CN117395327B (zh) 以太网接入epa网络的方法、设备和计算机可读存储介质
CN113595842B (zh) 一种fc-ae-1553协议报文通讯处理系统
US11979479B1 (en) Packet sorting and reassembly circuit module

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant