一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于FPGA的以太网远程配置装置的制作方法

2021-12-08 00:26:00 来源:中国专利 TAG:

一种基于fpga的以太网远程配置装置
技术领域
1.本发明属于通信领域,具体涉及一种基于fpga的以太网远程配置装置。


背景技术:

2.近年来,随着网络技术的快速发展,基于fpga的产品要求支持远程操作,例如,用户的设备需要进行配置,但是设备存放在远端,不方便直接进行配置,需要用到网络进行配置,使用网络远程对用户设备进行配置极大的减少了技术人员现场调试的工作量,方便技术人员远程对设备进行管理和维护。


技术实现要素:

3.(一)要解决的技术问题
4.本发明要解决的技术问题是如何提供一种基于fpga的以太网远程配置装置,以解决现有的基于fpga的产品的现场调试工作量大的问题。
5.(二)技术方案
6.为了解决上述技术问题,本发明提出一种基于fpga的以太网远程配置装置,该装置包括fpga,fpga包括千兆以太网模块、报文解析模块、arp\icmp接收模块、arp\icmp应答模块、配置报文解析模块、配置报文应答模块、报文汇聚模块、丢弃模块和寄存器表,其中,
7.千兆以太网模块通过以太网交换、路由设备连接远端cpu,用于实现fpga内部的数据转换、编解码以及成解帧的功能,千兆以太网模块输出数据到报文解析模块;
8.报文解析模块用于实现对以太网二层、三层、四层报文的解析,提取出arp\icmp报文、udp配置报文以及非udp配置报文,对于接收到的arp\icmp报文,需要送到arp\icmp接收模块进一步处理,对于接收到的udp配置报文,发送到配置报文解析模块,对于接收到的非udp配置报文,需要发送到丢弃模块进行丢弃处理,非udp配置报文为除去arp\icmp报文、udp配置报文以外的报文;
9.arp\icmp接收模块用于实现对apr报文的处理以及对icmp回显报文的处理,提取报文中的需要响应设备的ip与mac,作为输出传递给arp\icmp应答模块进一步处理;
10.arp\icmp应答模块用于实现对arp报文的响应以及对icmp回显报文的响应,并将响应输出至报文汇聚模块;
11.配置报文解析模块用于实现对udp配置报文的解析,根据解析结果提取寄存器表中的数据或者配置寄存器表,并发送提取的数据或配置结果到配置报文应答模块;
12.配置报文应答模块实现在收到提取的数据或配置结果后,发送一个配置报文的应答报文至报文汇聚模块;
13.报文汇聚模块实现了arp应答报文\icmp回显应答报文与配置应答报文三路汇聚成一路,并通过千兆以太网模块发送数据到远端cpu。
14.进一步地,所述千兆以太网模块实现fpga内部的rgmii与rmii的数据转换、编解码以及成解帧的功能,输出的数据剥离了前导码,fcs校验字段。
15.进一步地,寄存器表即是用来对fpga内部一些功能进行控制的一系列信号,寄存器表是对一系列寄存器的统称。
16.进一步地,arp报文根据以太网arp协议中的报文格式进行封装:ethernet address of destinat ion为目的以太网地址,ethernet address of sender为源以太网地址,frame type表示以太网类型,arp报文固定为0x0806;hardware type表示硬件地址的类型,对于arp,该类型的值为“1”;protocol type表示发送方要映射的协议地址类型;对于ip地址,该值为0x0800;hardware length表示硬件地址的长度,单位是字节,对于arp请求或应答来说,该值为6;protocol length表示协议地址的长度,单位是字节,对于arp请求或应答来说,该值为4;op表示操作类型,arp应答报文为2;ethernet address of sender表示发送方以太网地址,ip address of sender表示发送方的ip地址;ethernet address of destination表示接收方的以太网地址,ip address of dest inat ion表示接收方的ip地址。
17.进一步地,对于icmp回显应答报文,对接收到的请求报文进行修改,先交换dmac与smac,再交换source address与dest ination address,最后再修改消息类型为0。
18.进一步地,配置信息封装在udp配置报文的数据段,为自定义数据段,共五个字段分别为cmd、addr、length、data、checksum;字段含义如下:
19.cmd命令表示操作命令,0表示读命令,1表示写命令;
20.addr字段表示地址,地址范围0x0~0xffff_ffff;
21.length字段表示长度,长度范围1~1000;
22.data字段表示数据,数据字段可变长;
23.checksum字段表示自定义数据段校验。
24.进一步地,根据字段含义,逻辑内部可以产生读时序,信号名分别为rd、wr、addr、length、data_in、data_out,其中,rd表示读信号,当cmd命令为0时表示读命令,wr表示写信号,当cmd命令为1时表示写命令,addr字段表示地址,length字段表示长度,data_in表示写入的数据。data_out表示读取的数据。
25.进一步地,对于读操作,需要把返回的数据重新打包封装成udp报文发送回去,封装时cmd、addr、length字段不变,data字段需要替换成逻辑返回的data_out数据,重新计算checksum。
26.进一步地,报文汇聚模块采用了arp应答报文、icmp回显应答报文与配置应答报文三路公平调度。
27.进一步地,arp应答报文、icmp回显应答报文与配置应答报文分别对应fifo1、fifo2、fifo3,轮询检测模块需要分别检测fifo的空信号,当检测当前fifo为非空时,就需要报文从fifo中读取出来发送给千兆以太网模块,然后轮询模块转到下一个fifo进行判断,如此往复循环,直到把所有通道数据发送完成。
28.(三)有益效果
29.本发明提出一种基于fpga的以太网远程配置装置,可应用于以太网交换、路由设备,通过网络接口,用户可以实时配置远端fpga内部寄存器,并通过本发明中的应答机制保证了远程设备配置成功,在远程配置时,如果没有收到设备的配置应答报文,可以由远端配置发起方重新对设备发起配置,直到配置成功,极大增加了设备的兼容性、稳定性、便捷性,
减少维护成本与难度。
附图说明
30.图1为本发明的一种基于fpga的以太网远程配置装置的结构框图;
31.图2是本发明的报文解析模块流程图;
32.图3为arp协议的报文格式;
33.图4为icmp协议的报文格式;
34.图5所示为解析格式图;
35.图6所示为逻辑时序图;
36.图7是本发明的以太网报文汇聚结构框图。
具体实施方式
37.为使本发明的目的、内容和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
38.图1是本发明的一种基于fpga的以太网远程配置装置的结构框图,如图1所示,本发明一种基于fpga的以太网远程配置装置,其中,该装置包括fpga,fpga包括千兆以太网模块、报文解析模块、arp\icmp接收模块、arp\icmp应答模块、配置报文解析模块、配置报文应答模块、报文汇聚模块、丢弃模块和寄存器表。其中,寄存器表即是用来对fpga内部一些功能进行控制的一系列信号,寄存器表就是对一系列寄存器的统称。
39.千兆以太网模块通过以太网交换、路由设备连接远端cpu,用于实现fpga内部的rgmii与rmii的数据转换、编解码以及成解帧的功能,千兆以太网模块输出数据到报文解析模块,输出的数据剥离了前导码,fcs校验字段。
40.报文解析模块用于实现对以太网二层、三层、四层报文的解析,提取出arp\icmp报文、udp配置报文以及非udp配置报文,对于接收到的arp\icmp报文,需要送到arp\icmp接收模块进一步处理,对于接收到的udp配置报文,发送到配置报文解析模块,对于接收到的非udp配置报文,需要发送到丢弃模块进行丢弃处理,非udp配置报文为除去arp\icmp报文、udp配置报文以外的报文。
41.arp\icmp接收模块用于实现对apr报文的处理以及对icmp回显报文的处理,需要提取报文中的需要响应设备的ip与mac,作为输出传递给arp\icmp应答模块进一步处理;
42.arp\icmp应答模块用于实现对arp报文的响应以及对icmp回显报文的响应,并将响应输出至报文汇聚模块;
43.配置报文解析模块用于实现对udp配置报文的解析,根据解析结果提取寄存器表中的数据或者配置寄存器表,并发送提取的数据或配置结果到配置报文应答模块;
44.配置报文应答模块实现在收到提取的数据或配置结果后,发送一个配置报文的应答报文至报文汇聚模块;其中,配置报文应答模块实现在正确接收到配置报文后,发送一个配置报文的应答报文,告知发送配置报文的cpu当前配置生效,cpu根据接收到的配置报文应答报文判断当前配置报文是否可靠的传输到配置报文解析模块;
45.报文汇聚模块实现了arp应答报文\icmp回显应答报文与配置应答报文三路汇聚成一路,并通过千兆以太网模块发送数据到远端cpu。
46.图2是本发明的报文解析模块流程图,如图2所示,arp\icmp接收模块用于实现对apr报文的处理以及对icmp回显报文的处理,需要提取报文中的需要响应设备的ip与mac,作为输出传递给arp\icmp应答模块进一步处理。arp\icmp应答模块用于实现对arp报文的响应以及对icmp回显报文的响应。
47.对于arp报文根据图3中以太网arp协议中的报文格式进行封装。
48.ethernet address of dest ination为目的以太网地址,需要根据接收模块传递的值进行填写。ethernet address of sender为源以太网地址,填写自身的mac地址。frame type表示以太网类型,arp报文固定为0x0806。hardware type表示硬件地址的类型,对于arp,该类型的值为“1”。protocol type表示发送方要映射的协议地址类型。对于ip地址,该值为0x0800。hardware length表示硬件地址的长度,单位是字节。对于arp请求或应答来说,该值为6。protocol length表示协议地址的长度,单位是字节。对于arp请求或应答来说,该值为4。op表示操作类型,arp应答报文为2。ethernet address of sender表示发送方以太网地址,这个字段和arp报文首部的源以太网地址字段是重复信息。ip address of sender表示发送方的ip地址。ethernet address of destinat ion表示接收方的以太网地址。ip address of destination表示接收方的ip地址。
49.对于icmp回显报文根据图4中以太网icmp协议中的报文格式进行封装。
50.对于icmp回显应答报文,需要对接收到的请求报文进行修改,先交换dmac与smac,再交换source address与destination address,最后再修改消息类型为0。由于修改了以太网报文的内容,因此需要重新计算checksum。
51.arp\icmp应答模块把上述报文再传递给汇聚模块,完成报文的响应。
52.配置报文解析模块用于实现对udp配置报文的解析,根据解析结果提取寄存器表中的数据或者配置寄存器表。配置信息封装在udp配置报文的数据段,为自定义数据段,解析格式如下图5所示:共五个字段分别为cmd、addr、length、data、checksum。字段含义如下:
53.cmd命令表示操作命令,0表示读命令,1表示写命令。
54.addr字段表示地址。地址范围0x0~0xffff_ffff。
55.length字段表示长度。长度范围1~1000。
56.data字段表示数据。数据字段可变长。
57.checksum字段表示自定义数据段校验。
58.根据字段含义,逻辑内部可以产生读时序,信号名分别为rd、wr、addr、length、data_in、data_out,逻辑时序如图6所示:
59.rd表示读信号,当cmd命令为0时表示读命令。wr表示写信号,当cmd命令为1时表示写命令。addr字段表示地址。length字段表示长度。data_in表示写入的数据。data_out表示读取的数据。
60.对于读操作,需要把返回的数据重新打包封装成udp报文发送回去,因此需要新封装配置应答报文。封装时cmd、addr、length字段不变,data字段需要替换成逻辑返回的data_out数据,重新计算checksum即可。
61.用户可以实时配置远端fpga内部寄存器,并通过本发明中的应答机制保证了远程设备配置成功,在远程配置时,如果没有收到设备的配置应答报文,可以由远端配置发起方重新对设备发起配置,直到配置成功。
62.图7是本发明的以太网报文汇聚结构框图,如图7所示,报文汇聚模块实现了arp应答报文、icmp回显应答报文与配置应答报文三路汇聚成一路的工作,为了保证汇聚模块不被长时间占用,采用了三路公平调度,也就是轮询优先级,保证每一轮调度模块都可以申请到总线进行报文发送。如图5:arp应答报文、icmp回显应答报文与配置应答报文分别对应fifo1、fifo2、fifo3,轮询检测模块需要分别检测fifo的空信号,当检测当前fifo为非空时,就需要报文从fifo中读取出来发送给千兆以太网模块,然后轮询模块转到下一个fifo进行判断,如此往复循环,直到把所有通道数据发送完成。
63.本发明提供一种能够实现基于fpga的以太网的方式远程配置方法,可应用于以太网交换、路由设备,通过网络接口,用户可以实时配置fpga内部寄存器,极大增加了设备的兼容性、便捷性,减少维护成本与难度。
64.以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献