CN115834326A - Ip地址可自动配置的多节点网络串行通讯***及方法 - Google Patents
Ip地址可自动配置的多节点网络串行通讯***及方法 Download PDFInfo
- Publication number
- CN115834326A CN115834326A CN202310023215.4A CN202310023215A CN115834326A CN 115834326 A CN115834326 A CN 115834326A CN 202310023215 A CN202310023215 A CN 202310023215A CN 115834326 A CN115834326 A CN 115834326A
- Authority
- CN
- China
- Prior art keywords
- node
- packet
- phy chip
- address
- tail
- 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.)
- Pending
Links
- 238000004891 communication Methods 0.000 title claims abstract description 47
- 238000000034 method Methods 0.000 title claims abstract description 28
- 230000004044 response Effects 0.000 description 19
- 238000013480 data collection Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 101150098958 CMD1 gene Proteins 0.000 description 3
- 101100382321 Caenorhabditis elegans cal-1 gene Proteins 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种IP地址可自动配置的多节点网络串行通讯***及方法,该***包括一个上位机和串行连接的多个节点;每个节点的硬件平台包括HEAD PHY芯片、TAIL PHY芯片和FPGA芯片;首节点的HEAD PHY芯片的网口与上位机进行连接,尾节点的TAIL PHY芯片的网口悬空,中间节点的HEAD PHY芯片的网口与其上一个节点的TAIL PHY芯片的网口连接,完成中间节点和其上一个节点的网络通讯;中间节点TAIL PHY芯片的网口和其下一个节点HEAD PHY芯片的网口连接,完成中间节点和其下一个节点的网络通讯;FPGA芯片内完成网络协议栈的实现、节点IP地址的自动化配置、节点工作状态配置、节点数据的采集和发送,保证网络的正常通讯。本发明不需要额外的路由器设备,实现多节点串行通讯方法简便,适用性强。
Description
技术领域
本发明涉及网络通讯领域,尤其涉及一种IP地址可自动配置的多节点网络串行通讯***及方法。
背景技术
随着网络技术的发展,网络通讯的应用领域也不断拓展。对于多个节点距离较远,且单个节点通讯数据量较大的场景,基本会选用网络通讯。目前采用的方案基本是单个节点分别连接到路由器,再由路由器连接到上位机,这样就会增加了一级或多级路由器的设备和使用成本;同时要手动配置每个节点的IP,还要保证每个节点的IP不能重复,否则会造成网络冲突。
发明内容
本发明的目的在于针对现有技术的不足,提供一种IP地址可自动配置的多节点网络串行通讯***及方法,该方法能够在节点内部自动完成了IP的配置和网络路由工作。
本发明的目的是通过以下技术方案来实现的:
一种IP地址可自动配置的多节点网络串行通讯***,该***包括一个上位机和串行连接的多个节点;每个节点的硬件平台包括一片HEAD PHY芯片、一片TAIL PHY芯片和一片FPGA芯片;
首节点的HEAD PHY芯片的网口与上位机进行连接,尾节点的TAIL PHY芯片的网口悬空,中间节点的HEAD PHY芯片的网口与其上一个节点的TAIL PHY芯片的网口连接,完成中间节点和其上一个节点的网络通讯;中间节点TAIL PHY芯片的网口和其下一个节点HEADPHY芯片的网口连接,完成中间节点和其下一个节点的网络通讯;所述FPGA芯片内完成网络协议栈的实现、节点IP地址的自动化配置、节点工作状态配置、节点数据的采集和发送功能,保证网络的正常通讯。
进一步地,多个节点之间通过网线实现串行连接。
一种IP地址可自动配置的多节点网络串行通讯方法,该方法基于多节点网络串行通讯***来实现;
在FPGA芯片的网络通讯协议的基础上,上位机完成每个节点IP地址的自动化配置;然后,上位机通过首节点及其后面所有节点查询匹配和转发来配置指定节点的工作状态,或通过广播转发的方式配置所有节点的工作状态;上位机单独获取指定节点的数据或同时获取所有节点的数据,最终实现多节点的网络串行通讯。
进一步地,上位机单独获取指定节点的数据的方式为:上位机发送指定节点的数据请求包,指定节点之前的所有节点依次转发所述指定节点的数据请求包,指定节点的数据也通过其之前所有节点转发,最终发到上位机。
进一步地,上位机同时获取所有节点的数据的方式为:上位机发送所有节点的数据请求包,每个节点收到数据请求包后,开始采集数据,由尾节点创建数据采集包,并依次通过其前面的节点打包和转发,最终发到上位机,实现上位机同时获取所有节点的数据。
进一步地,每个节点IP地址的自动化配置通过以下子步骤来实现:
(1)上位机发送初始化广播包,所述初始化广播包的内容包括初始化指令和上位机的源IP地址,所述源IP地址记为IP0;
(2)节点的HEAD PHY芯片收到上位机的初始化广播包后,判断当前节点的TAILPHY芯片的网口是否悬空:
若为否,节点的FPGA芯片解析出初始化广播包中的源IP地址IP0;将IP0设置为当前节点的HEAD PHY芯片的目的IP地址;将IP0地址加1,记为IP1,设置成当前节点的HEADPHY芯片和TAIL PHY芯片的源IP地址;将IP0地址加2,记为IP2,设置成当前节点的TAIL PHY芯片的目的IP地址;然后,更新初始化广播包,使其包括初始化指令和当前节点的源IP地址;然后,节点通过TAIL PHY芯片发送初始化广播包给下一个节点;以此类推,完成各个节点的IP地址更新操作;
当判断当前节点的TAIL PHY芯片的网口悬空时,则当前节点为尾节点,此时,执行和步骤(2)相同的IP地址更新操作,但仅更新其HEAD PHY芯片的源IP地址和目的IP地址,完成尾节点的IP地址配置;
(3)尾节点完成IP地址配置后,构建初始化完成包,初始化完成包包括初始化完成指令和当前节点的源IP地址;并将所述初始化完成包通过尾节点的HEAD PHY芯片发送给倒数第二个节点的TAIL PHY芯片;
(4)倒数第二个节点的TAIL PHY芯片收到尾节点发送的初始化完成包后,将本节点的源IP地址添加到初始化完成包内,通过其自身的HEAD PHY芯片发送给倒数第三个节点的TAIL PHY芯片;
以此类推,直至首节点通过其HEAD PHY芯片将初始化完成包发送到上位机,上位机解析后即可获取所有节点的IP地址和节点所处的位置,初始化配置完成。
进一步地,上位机通过首节点及其后面所有节点查询匹配和转发来配置指定节点的工作状态,通过如下步骤来实现:
(1)上位机发送节点的配置包,所述节点配置包的内容包括节点配置指令、需配置节点的源IP地址及节点配置内容;
(2)节点的HEAD PHY芯片收到上位机的配置包后,节点的FPGA芯片将配置包中配置节点的源IP地址和当前节点的源IP地址进行比对,如果一致,解析出包中的配置内容完成当前节点工作状态的配置;如果不一致,通过节点的TAIL PHY芯片将配置包转发给下一个节点;
以此类推,直到找到源IP地址和配置包中源IP地址一致的节点,解析出配置内容,完成该节点工作状态的配置;
(3)节点的工作状态完成配置后,构建节点配置完成包,所述节点配置完成包的内容包括节点配置完成指令和该节点的源IP地址;并将所述配置完成包通过当前节点的HEADPHY芯片发送给其前面节点的TAIL PHY芯片;
(4)节点的TAIL PHY芯片收到其后一节点发来的配置完成包后,直接通过节点的HEAD PHY芯片发送给前一节点的TAIL PHY芯片;
以此类推,直至首节点通过其HEAD PHY芯片将配置完成包发送到上位机,上位机完成对指定节点的工作状态配置。
进一步地,上位机通过广播转发的方式配置所有节点的工作状态,通过如下步骤来实现:
(1)上位机发送节点配置包,所述节点配置包的内容包括节点配置指令、广播IP地址和节点配置内容;
(2)节点的HEAD PHY芯片收到上位机的配置包后,判断当前节点TAIL PHY芯片的网口是否悬空:
若为否,节点的FPGA芯片解析出包中的广播IP地址和配置内容完成当前节点工作状态的配置;并通过节点的TAIL PHY芯片将配置包转发给下一个节点;以此类推,完成所有节点工作状态的配置;
当判断当前节点TAIL PHY芯片的网口悬空时,则当前节点为尾节点,此时,尾节点的FPGA芯片解析出包中的配置内容完成当前节点工作状态的配置;
(3)尾节点的工作状态完成配置后,构建节点配置完成包,所述节点配置完成包的内容包括节点配置完成指令和该节点的源IP地址;并将所述配置完成包通过当前节点的HEAD PHY芯片发送给前一节点的TAIL PHY芯片;
(4)节点的TAIL PHY芯片收到后一节点发送的配置完成包后,将本节点的源IP地址添加到配置完成包内,通过其自身的HEAD PHY芯片发送给当前节点的前一节点的TAILPHY芯片;
以此类推,直至首节点通过其HEAD PHY芯片将配置完成包发送到上位机,上位机解析后即可获取工作状态配置完成的所有节点。
进一步地,上位机单独获取指定节点的数据具体包括如下子步骤:
(1)上位机发送节点的数据请求包,所述节点数据请求包的内容包括节点数据请求指令和需获取数据节点的源IP地址;
(2)节点的HEAD PHY芯片收到上位机的数据请求包后,节点的FPGA芯片将包中的源IP地址和当前节点的源IP地址进行比对,如果一致,完成当前节点数据的采集;如果不一致,通过节点的TAIL PHY芯片将数据请求包转发给下一个节点;
以此类推,直到找到源IP地址和数据请求包中源IP地址一致的节点,完成指定节点数据的采集;
(3)指定节点的数据完成采集后,构建指定节点的数据采集包,所述数据采集包的内容包括节点数据采集完成指令、指定节点的源IP地址、数据长度和采集的数据;并将所述数据采集包通过当前节点的HEAD PHY芯片发送给前一节点的TAIL PHY芯片;
(4)节点的TAIL PHY芯片收到其后一节点发来的数据采集包后直接通过节点的HEAD PHY芯片发送给当前节点的前一节点的TAIL PHY芯片;
以此类推,直至首节点通过其HEAD PHY芯片将数据采集包发送到上位机,上位机完成对指定节点数据的采集。
进一步地,上位机同时获取所有节点的数据,具体包括如下子步骤:
(1)上位机发送所有节点的数据请求包,所述节点数据请求包的内容包括节点数据请求指令和广播IP地址;
(2)节点的HEAD PHY芯片收到上位机的数据请求包后,判断当前节点TAIL PHY芯片的网口是否悬空:
若为否,节点的FPGA芯片解析出包中广播IP地址后完成当前节点数据的采集;同时通过节点的TAIL PHY芯片将配置包转发给下一个节点;
当判断当前节点TAIL PHY芯片的网口悬空时,则当前节点为尾节点,此时,尾节点的FPGA芯片解析出包中广播地址,完成当前节点数据的采集;
(3)尾节点完成数据采集后,构建当前节点数据采集包,所述数据采集包的内容包括节点数据采集指令、当前节点源IP地址、数据长度和采集的数据;并将所述数据采集包通过当前节点的HEAD PHY芯片发送给前一节点的TAIL PHY芯片;
(4)节点的TAIL PHY芯片收到其后面一节点发来的数据采集包后,将当前节点的源IP地址、数据长度和采集的数据添加到数据采集包内,通过其自身的HEAD PHY芯片发送给当前节点的前一节点的TAIL PHY芯片;
以此类推,直至首节点通过其HEAD PHY芯片将数据采集包发送到上位机,上位机完成对所有节点数据的采集。
本发明的有益效果是:
本发明的多节点网络串行通讯***和方法中,多节点组网简单,节点内部自动完成了IP的配置和网络路由工作,降低了实现和调试成本,其实现方法简便,手段灵活,适用性强。本发明的方法对于多节点需要串行的场景尤其适用,可以在任意位置增加和减少节点。
附图说明
图1是根据其中一种示例性实施例的IP地址自动配置的流程图。
图2是以三个节点通讯为例的IP地址自动配置的数据流图。
图3是其中一种示例性实施例的指定节点配置的流程图。
图4是其中一种示例性实施例的所有节点配置的流程图。
图5是其中一种示例性实施例的指定节点数据采集的流程图。
图6是其中一种示例性实施例的所有节点数据采集的流程图。
具体实施方式
下面根据附图和优选实施例详细描述本发明,本发明的目的和效果将变得更加明白,应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明的IP地址可自动配置的多节点网络串行通讯***,包括一个上位机和串行连接的多个节点;每个节点硬件平台包括两片网口PHY芯片,分别是HEAD PHY和TAIL PHY芯片,以及一片FPGA芯片;
多个节点间串行连接,首节点HEAD PHY芯片的网口与上位机进行连接,尾节点TAIL PHY芯片的网口悬空,中间节点HEAD PHY芯片的网口与其上一个节点TAIL PHY芯片的网口连接,完成中间节点和其上一个节点的网络通讯;中间节点TAIL PHY芯片的网口和其下一个节点HEAD PHY芯片的网口连接,完成中间节点和其下一个节点的网络通讯; FPGA芯片内完成网络协议栈的实现、节点IP地址的自动化配置、节点工作状态配置、节点数据的采集和发送功能,保证网络的正常通讯。作为其中一种实现方式,多个节点间通过网线串行连接。
本发明的IP地址可自动配置的多节点网络串行通讯方法,基于上述的多节点网络串行通讯***来实现;在FPGA芯片的网络通讯协议的基础上,上位机完成每个节点IP地址的自动化配置;然后,上位机通过首节点及其后面所有节点查询匹配和转发来配置指定节点的工作状态,或通过广播转发的方式配置所有节点的工作状态;上位机单独获取指定节点的数据或同时获取所有节点的数据,最终实现多节点的网络串行通讯;
上位机单独获取指定节点的数据的方式为:上位机发送指定节点的数据请求包,指定节点之前的所有节点依次转发所述指定节点的数据请求包,指定节点的数据也通过其之前所有节点转发,最终发到上位机;
上位机同时获取所有节点的数据的方式为:上位机发送所有节点的数据请求包,每个节点收到数据请求包后,开始采集数据,由尾节点创建数据采集包,并依次通过其前面的节点打包和转发,最终发到上位机,实现上位机同时获取所有节点的数据。
一、IP地址的自动化配置
IP地址的自动化配置是该发明的核心,具体配置流程如图1所示。图2为以三个节点通讯为例介绍的自动配置过程。图2中,节点1是首节点,节点2是中间节点,节点3是尾节点。各节点HEAD PHY芯片的目的IP地址默认是F0,源IP地址默认是F1,TAIL PHY芯片的目的地址默认是F2,源IP地址默认是F1。初始化后,各节点可以自动配置HEAD PHY芯片和TAILPHY芯片的源IP地址和目的IP地址,具体步骤如下:
(1)上位机发送初始化广播包
上位机和节点0(首节点)的HEAD PHY芯片的网口进行连接,且不知道节点0的HEADPHY芯片的源IP地址。上位机发送初始化广播包,广播包包括初始化指令,记为cmd0,以及上位机的源IP地址,记为02。
(2)首节点初始化配置
首节点即节点0的HEAD PHY芯片收到上位机的初始化广播包,先判断当前节点TAIL PHY芯片的网口是否悬空,由于首节点TAIL PHY芯片的网口没有悬空,首节点的FPGA芯片根据初始化指令cmd0解析出上位机的源IP地址02,将首节点的HEAD PHY芯片的目的IP地址设置成上位机的源IP地址即02,将首节点的HEAD PHY和TAIL PHY芯片的源IP地址设置成上位机的源IP地址加1即03;将首节点的TAIL PHY芯片的目的IP地址设置成上位机的源IP地址加2即04。更新初始化广播包,使其包括初始化指令cmd0和当前节点的源IP地址03;然后,节点0通过其TAIL PHY芯片发送初始化广播包给后一个节点;
(3)中间节点初始化配置
中间节点即节点1通过其HEAD PHY芯片收到初始化广播包后,先判断当前节点TAIL PHY芯片的网口是否悬空:若为否,则执行和节点0相同的IP地址更新操作:将该节点HEAD PHY芯片的目的IP地址设置成03,HEAD PHY芯片和TALIL PHY芯片的源IP地址设置成04,TAIL PHY芯片的目的IP地址设置成05。然后,更新初始化广播包,使其包括初始化指令和当前节点的源IP地址;节点1通过其TAIL PHY芯片发送初始化广播包给后一个节点;以此类推,完成中间各个节点的IP地址更新操作;当判断当前节点的TAIL PHY芯片悬空时,则当前节点为尾节点。
(4)尾节点初始化配置
节点2的TAIL PHY芯片的网口是悬空的,节点2的FPGA芯片通过读取PHY的状态位来确定该节点是尾节点。如图2所示,该节点执行和节点0相同的初始化配置,将该节点HEADPHY芯片的目的IP地址设置成04,HEAD PHY芯片和TAIL PHY芯片的源IP地址设置成05,TAILPHY芯片的目的IP地址保持不变。
(5)尾节点初始化响应
尾节点即节点2完成IP地址配置后,构建初始化完成包,初始化完成包包括初始化完成指令cmd1和本节点的源IP地址05,并将初始化完成包通过尾节点的HEAD PHY芯片发送给倒数第二个节点,即节点1的TAIL PHY芯片;
(6)中间节点初始化响应
倒数第二个节点即节点1的TAIL PHY芯片收到尾节点发送的初始化完成包后,将本节点的源IP地址添加到初始化完成包内,通过其HEAD PHY芯片发送给倒数第三个节点,即节点0的TAIL PHY芯片;初始化完成包的内容包括初始化完成指令cmd1,尾节点的源IP地址05和本节点的源IP地址04。以此类推。
(7)首节点初始化响应
首节点即节点0的TAIL PHY芯片收到中间节点发送的初始化完成包后,将本节点的源IP地址添加到初始化响应包内,通过其HEAD PHY芯片发送给上位机;响应包的内容包括初始化完成指令cmd1,尾节点的源IP地址05,中间节点的源IP地址04和本节点的源IP地址03。初始化配置完成。如表1所示,为每个节点发送初始化广播包和初始化完成包数据内容。
表1 每个节点发送初始化广播包和初始化完成包数据内容
二、上位机配置指定节点的工作状态
上位机通过首节点及其后面所有节点查询匹配和转发来配置指定节点的工作状态,图3为指定节点配置的流程图。该实施例以上位机完成对节点1的工作状态的配置为例进行介绍。
(1)上位机发送指定节点配置包
上位机发送指定节点配置包,配置包包括配置指令,记为cmd2,要配置节点的源IP地址,本实例是配置节点1,所以源IP地址是04,以及工作状态。
(2)首节点接收指定节点配置包
首节点即节点0的HEAD PHY芯片收到上位机的指定节点配置包,首节点的FPGA芯片根据配置指令cmd2解析出要配置节点的源IP地址04,和本节点的源IP地址03比对不通过,将指定节点配置包通过本节点的TAIL PHY芯片发送给下一个节点。
(3)中间节点接收指定节点配置包
中间节点即节点1通过其HEAD PHY芯片收到指定节点配置包,中间节点的FPGA芯片根据配置指令cmd2解析出要配置节点的源IP地址04,和本节点的源IP地址04比对通过,中间节点的FPGA芯片解析出工作状态的内容对本节点的工作状态进行配置。
(4)中间节点配置响应
中间节点即节点1完成节点配置后,构建配置完成包,配置完成包包括配置完成指令cmd3和本节点的源IP地址04,并将初始化完成包通过中间节点的HEAD PHY芯片发送给首节点的TAIL PHY芯片。
(5)首节点配置响应
首节点即节点0的TAIL PHY芯片收到中间节点发送的节点配置完成包后直接通过首节点的HEAD PHY芯片转发给上位机。指定节点配置完成。表2是指定节点配置包和节点配置完成包的数据内容。
表2 指定节点配置包和节点配置完成包的数据内容
三、上位机配置所有节点的工作状态
上位机通过广播转发的方式配置所有节点的工作状态,如图4所示,上位机完成对所有节点工作状态配置的流程图。该实施例仍然以3个节点为例进行介绍。
(1)上位机发送所有节点配置包
上位机发送所有节点配置包,配置包包括配置指令,记为cmd2,广播地址ff,以及工作状态。
(2)首节点接收所有节点配置包
首节点即节点0的HEAD PHY芯片收到上位机的指定节点配置包,先判断当前节点TAIL PHY芯片的网口是否悬空,由于首节点TAIL PHY芯片的网口没有悬空,首节点的FPGA芯片根据配置指令cmd2和广播地址ff对本节点的工作状态进行配置;同时通过首节点的TAIL PHY芯片将所有节点配置包发送给中间节点即节点1。
(3)中间节点接收所有节点配置包
中间节点即节点1的HEAD PHY芯片收到首节点TAIL PHY芯片发送的指定节点配置包,先判断当前节点TAIL PHY芯片的网口是否悬空,由于中间节点TAIL PHY芯片的网口没有悬空,中间节点执行和首节点相同的操作,并将所有节点配置包发送给尾节点即节点2。
(4)尾节点接收所有节点配置包
尾节点即节点2的HEAD PHY芯片收到上位机的指定节点配置包,先判断当前节点TAIL PHY芯片的网口是否悬空,由于节点2的TAIL PHY芯片的网口是悬空,所以节点2是尾节点。尾节点执行和节点0相同的工作状态配置。
(5)尾节点配置响应
尾节点即节点2完成节点配置后,构建配置完成包,配置完成包包括配置完成指令cmd3和本节点的源IP地址05,并将配置完成包通过尾节点的HEAD PHY芯片发送给中间节点的TAIL PHY芯片。
(6)中间节点配置响应
中间节点即节点1收到节点2发来的配置完成包后,将本节点的源IP地址04添加到配置完成包中并通过中间节点的HEAD PHY芯片发送给首节点的TAIL PHY芯片。
(7)首节点配置响应
首节点即节点0收到节点1发来的配置完成包后,将本节点的源IP地址03添加到配置完成包中,并通过首节点的HEAD PHY芯片发送给上位机。上位机收到配置完成响应包的内容包括配置响应指令cmd3,尾节点的源IP地址05,中间节点的源IP地址04和本节点的源IP地址03。所有节点配置完成。所有节点配置包和节点配置完成包的数据内容如表3所示。
表3 所有节点配置包和节点配置完成包的数据内容
四、上位机单独获取指定节点的数据
上位机单独获取指定节点的数据,具体流程如图5所示,上位机完成对节点1的数据的采集。
(1)上位机发送指定节点数据请求包
上位机发送指定节点数据请求包,数据请求包包括请求指令,记为cmd4,要采集节点的源IP地址,本实例是节点1,所以源IP地址是04。
(2)首节点接收指定节点数据请求包
首节点即节点0的HEAD PHY芯片收到上位机的指定节点数据请求包,首节点的FPGA芯片根据配置指令cmd4解析出要采集数据节点的源IP地址04,和本节点的源IP地址03比对不通过,将指定节点数据请求包通过本节点的TAIL PHY芯片发送给下一个节点。
(3)中间节点接收指定节点数据请求包
中间节点即节点1通过其HEAD PHY芯片收到指定节点数据请求包,中间节点的FPGA芯片根据配置指令cmd4解析出要配置节点的源IP地址04,和本节点的源IP地址04比对通过,中间节点完成数据的采集。
(4)中间节点数据采集响应
中间节点即节点1完成节点数据采集后,构建数据采集包,数据采集包包括数据采集完成指令cmd5,本节点的源IP地址04,本节点的数据长度和本节点采集的数据,并将数据采集包通过中间节点的HEAD PHY芯片发送给首节点的TAIL PHY芯片。
(5)首节点数据采集响应
首节点即节点0的TAIL PHY芯片收到中间节点发送的数据采集包后直接通过首节点的HEAD PHY芯片转发给上位机。上位机收到数据采集包的内容包括节点1源IP地址04,节点1数据长度和节点1数据,上位机完成节点1数据的采集,如表4所示。
表4指定节点数据请求包和数据采集包的数据内容
五、上位机获取所有节点的数据
上位机获取所有节点的数据,具体流程如图6所示。下面仍然以三个节点为例介绍上位机完成对所有节点数据的采集。
(1)上位机发送所有节点数据请求包
上位机发送所有节点数据请求包,数据请求包包括数据请求指令,记为cmd4和广播地址ff。
(2)首节点接收所有节点数据请求包
首节点即节点0的HEAD PHY芯片收到上位机的所有节点数据请求包,先判断当前节点TAIL PHY芯片的网口是否悬空,由于首节点TAIL PHY芯片的网口没有悬空,首节点的FPGA芯片根据数据请求指令cmd4和广播地址ff对本节点的数据进行采集;同时通过首节点的TAIL PHY芯片将所有节点数据请求包发送给中间节点即节点1。
(3)中间节点接收所有节点数据请求包
中间节点即节点1的HEAD PHY芯片收到首节点TAIL PHY芯片发送的所有节点数据请求包,先判断当前节点TAIL PHY芯片的网口是否悬空,由于中间节点TAIL PHY芯片的网口没有悬空,中间节点执行和首节点相同的操作并将所有节点数据请求包发送给尾节点即节点2。
(4)尾节点接收所有节点配置包
尾节点即节点2的HEAD PHY芯片收到上位机的指定节点配置包,先判断当前节点TAIL PHY芯片的网口是否悬空,由于节点2的TAIL PHY芯片的网口是悬空,所以节点2是尾节点。尾节点执行和节点0相同的数据采集操作。
(5)尾节点数据采集响应
尾节点即节点2完成数据采集后,构建数据采集包,数据采集包包括数据采集响应指令cmd5和本节点的源IP地址05,本节点数据长度和本节点采集的数据,并将数据采集包通过尾节点的HEAD PHY芯片发送给中间节点的TAIL PHY芯片。
(6)中间节点数据采集响应
中间节点即节点1收到节点2发来的数据采集包后,将本节点的源IP地址04,本节点的数据长度和本节点采集的数据添加到数据采集包中并通过中间节点的HEAD PHY芯片发送给首节点的TAIL PHY芯片。
(7)首节点数据采集响应
首节点即节点0收到节点1发来的数据采集包后,将本节点的源IP地址03,本节点的数据长度和本节点采集的数据添加到数据采集包中,并通过首节点的HEAD PHY芯片发送给上位机。上位机收到数据采集包的内容包括数据采集响应指令cmd5,尾节点的源IP地址05,尾节点的数据长度,尾节点的数据,中间节点的源IP地址04,中间节点的数据长度,中间节点的数据,首节点的源IP地址03,首节点的数据长度和首节点数据,如表5所示,所有节点数据采集完成。
表5 所有节点数据请求包和数据采集包的数据内容
本领域普通技术人员可以理解,以上所述仅为发明的优选实例而已,并不用于限制发明,尽管参照前述实例对发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在发明的精神和原则之内,所做的修改、等同替换等均应包含在发明的保护范围之内。
Claims (10)
1.一种IP地址可自动配置的多节点网络串行通讯***,其特征在于,该***包括一个上位机和串行连接的多个节点;每个节点的硬件平台包括一片HEAD PHY芯片、一片TAILPHY芯片和一片FPGA芯片;
首节点的HEAD PHY芯片的网口与上位机进行连接,尾节点的TAIL PHY芯片的网口悬空,中间节点的HEAD PHY芯片的网口与其上一个节点的TAIL PHY芯片的网口连接,完成中间节点和其上一个节点的网络通讯;中间节点TAIL PHY芯片的网口和其下一个节点HEADPHY芯片的网口连接,完成中间节点和其下一个节点的网络通讯;所述FPGA芯片内完成网络协议栈的实现、节点IP地址的自动化配置、节点工作状态配置、节点数据的采集和发送功能,保证网络的正常通讯。
2.根据权利要求1所述的IP地址可自动配置的多节点网络串行通讯***,其特征在于,多个节点之间通过网线实现串行连接。
3.一种IP地址可自动配置的多节点网络串行通讯方法,其特征在于,该方法基于权利要求1所述的多节点网络串行通讯***来实现;
在FPGA芯片的网络通讯协议的基础上,上位机完成每个节点IP地址的自动化配置;然后,上位机通过首节点及其后面所有节点查询匹配和转发来配置指定节点的工作状态,或通过广播转发的方式配置所有节点的工作状态;上位机单独获取指定节点的数据或同时获取所有节点的数据,最终实现多节点的网络串行通讯。
4.根据权利要求3所述的IP地址可自动配置的多节点网络串行通讯方法,其特征在于,上位机单独获取指定节点的数据的方式为:上位机发送指定节点的数据请求包,指定节点之前的所有节点依次转发所述指定节点的数据请求包,指定节点的数据也通过其之前所有节点转发,最终发到上位机。
5.根据权利要求3所述的IP地址可自动配置的多节点网络串行通讯方法,其特征在于,上位机同时获取所有节点的数据的方式为:上位机发送所有节点的数据请求包,每个节点收到数据请求包后,开始采集数据,由尾节点创建数据采集包,并依次通过其前面的节点打包和转发,最终发到上位机,实现上位机同时获取所有节点的数据。
6.根据权利要求3所述的IP地址可自动配置的多节点网络串行通讯方法,其特征在于,每个节点IP地址的自动化配置通过以下子步骤来实现:
(1)上位机发送初始化广播包,所述初始化广播包的内容包括初始化指令和上位机的源IP地址,所述源IP地址记为IP0;
(2)节点的HEAD PHY芯片收到上位机的初始化广播包后,判断当前节点的TAIL PHY芯片的网口是否悬空:
若为否,节点的FPGA芯片解析出初始化广播包中的源IP地址IP0;将IP0设置为当前节点的HEAD PHY芯片的目的IP地址;将IP0地址加1,记为IP1,设置成当前节点的HEAD PHY芯片和TAIL PHY芯片的源IP地址;将IP0地址加2,记为IP2,设置成当前节点的TAIL PHY芯片的目的IP地址;然后,更新初始化广播包,使其包括初始化指令和当前节点的源IP地址;然后,节点通过TAIL PHY芯片发送初始化广播包给下一个节点;以此类推,完成各个节点的IP地址更新操作;
当判断当前节点的TAIL PHY芯片的网口悬空时,则当前节点为尾节点,此时,执行和步骤(2)相同的IP地址更新操作,但仅更新其HEAD PHY芯片的源IP地址和目的IP地址,完成尾节点的IP地址配置;
(3)尾节点完成IP地址配置后,构建初始化完成包,初始化完成包包括初始化完成指令和当前节点的源IP地址;并将所述初始化完成包通过尾节点的HEAD PHY芯片发送给倒数第二个节点的TAIL PHY芯片;
(4)倒数第二个节点的TAIL PHY芯片收到尾节点发送的初始化完成包后,将本节点的源IP地址添加到初始化完成包内,通过其自身的HEAD PHY芯片发送给倒数第三个节点的TAIL PHY芯片;
以此类推,直至首节点通过其HEAD PHY芯片将初始化完成包发送到上位机,上位机解析后即可获取所有节点的IP地址和节点所处的位置,初始化配置完成。
7.根据权利要求3所述的IP地址可自动配置的多节点网络串行通讯方法,其特征在于,上位机通过首节点及其后面所有节点查询匹配和转发来配置指定节点的工作状态,通过如下步骤来实现:
(1)上位机发送节点的配置包,所述节点配置包的内容包括节点配置指令、需配置节点的源IP地址及节点配置内容;
(2)节点的HEAD PHY芯片收到上位机的配置包后,节点的FPGA芯片将配置包中配置节点的源IP地址和当前节点的源IP地址进行比对,如果一致,解析出包中的配置内容完成当前节点工作状态的配置;如果不一致,通过节点的TAIL PHY芯片将配置包转发给下一个节点;
以此类推,直到找到源IP地址和配置包中源IP地址一致的节点,解析出配置内容,完成该节点工作状态的配置;
(3)节点的工作状态完成配置后,构建节点配置完成包,所述节点配置完成包的内容包括节点配置完成指令和该节点的源IP地址;并将所述配置完成包通过当前节点的HEAD PHY芯片发送给其前面节点的TAIL PHY芯片;
(4)节点的TAIL PHY芯片收到其后一节点发来的配置完成包后,直接通过节点的HEADPHY芯片发送给前一节点的TAIL PHY芯片;
以此类推,直至首节点通过其HEAD PHY芯片将配置完成包发送到上位机,上位机完成对指定节点的工作状态配置。
8.根据权利要求3所述的IP地址可自动配置的多节点网络串行通讯方法,其特征在于,上位机通过广播转发的方式配置所有节点的工作状态,通过如下步骤来实现:
(1)上位机发送节点配置包,所述节点配置包的内容包括节点配置指令、广播IP地址和节点配置内容;
(2)节点的HEAD PHY芯片收到上位机的配置包后,判断当前节点TAIL PHY芯片的网口是否悬空:
若为否,节点的FPGA芯片解析出包中的广播IP地址和配置内容完成当前节点工作状态的配置;并通过节点的TAIL PHY芯片将配置包转发给下一个节点;以此类推,完成所有节点工作状态的配置;
当判断当前节点TAIL PHY芯片的网口悬空时,则当前节点为尾节点,此时,尾节点的FPGA芯片解析出包中的配置内容完成当前节点工作状态的配置;
(3)尾节点的工作状态完成配置后,构建节点配置完成包,所述节点配置完成包的内容包括节点配置完成指令和该节点的源IP地址;并将所述配置完成包通过当前节点的HEADPHY芯片发送给前一节点的TAIL PHY芯片;
(4)节点的TAIL PHY芯片收到后一节点发送的配置完成包后,将本节点的源IP地址添加到配置完成包内,通过其自身的HEAD PHY芯片发送给当前节点的前一节点的TAIL PHY芯片;
以此类推,直至首节点通过其HEAD PHY芯片将配置完成包发送到上位机,上位机解析后即可获取工作状态配置完成的所有节点。
9.根据权利要求3所述的IP地址可自动配置的多节点网络串行通讯方法,其特征在于,上位机单独获取指定节点的数据,具体包括如下子步骤:
(1)上位机发送节点的数据请求包,所述节点数据请求包的内容包括节点数据请求指令和需获取数据节点的源IP地址;
(2)节点的HEAD PHY芯片收到上位机的数据请求包后,节点的FPGA芯片将包中的源IP地址和当前节点的源IP地址进行比对,如果一致,完成当前节点数据的采集;如果不一致,通过节点的TAIL PHY芯片将数据请求包转发给下一个节点;
以此类推,直到找到源IP地址和数据请求包中源IP地址一致的节点,完成指定节点数据的采集;
(3)指定节点的数据完成采集后,构建指定节点的数据采集包,所述数据采集包的内容包括节点数据采集完成指令、指定节点的源IP地址、数据长度和采集的数据;并将所述数据采集包通过当前节点的HEAD PHY芯片发送给前一节点的TAIL PHY芯片;
(4)节点的TAIL PHY芯片收到其后一节点发来的数据采集包后直接通过节点的HEADPHY芯片发送给当前节点的前一节点的TAIL PHY芯片;
以此类推,直至首节点通过其HEAD PHY芯片将数据采集包发送到上位机,上位机完成对指定节点数据的采集。
10.根据权利要求3所述的IP地址可自动配置的多节点网络串行通讯方法,其特征在于,上位机同时获取所有节点的数据,具体包括如下子步骤:
(1)上位机发送所有节点的数据请求包,所述节点数据请求包的内容包括节点数据请求指令和广播IP地址;
(2)节点的HEAD PHY芯片收到上位机的数据请求包后,判断当前节点TAIL PHY芯片的网口是否悬空:
若为否,节点的FPGA芯片解析出包中广播IP地址后完成当前节点数据的采集;同时通过节点的TAIL PHY芯片将配置包转发给下一个节点;
当判断当前节点TAIL PHY芯片的网口悬空时,则当前节点为尾节点,此时,尾节点的FPGA芯片解析出包中广播地址,完成当前节点数据的采集;
(3)尾节点完成数据采集后,构建当前节点数据采集包,所述数据采集包的内容包括节点数据采集指令、当前节点源IP地址、数据长度和采集的数据;并将所述数据采集包通过当前节点的HEAD PHY芯片发送给前一节点的TAIL PHY芯片;
(4)节点的TAIL PHY芯片收到其后面一节点发来的数据采集包后,将当前节点的源IP地址、数据长度和采集的数据添加到数据采集包内,通过其自身的HEAD PHY芯片发送给当前节点的前一节点的TAIL PHY芯片;
以此类推,直至首节点通过其HEAD PHY芯片将数据采集包发送到上位机,上位机完成对所有节点数据的采集。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310023215.4A CN115834326A (zh) | 2023-01-09 | 2023-01-09 | Ip地址可自动配置的多节点网络串行通讯***及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310023215.4A CN115834326A (zh) | 2023-01-09 | 2023-01-09 | Ip地址可自动配置的多节点网络串行通讯***及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115834326A true CN115834326A (zh) | 2023-03-21 |
Family
ID=85520341
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310023215.4A Pending CN115834326A (zh) | 2023-01-09 | 2023-01-09 | Ip地址可自动配置的多节点网络串行通讯***及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115834326A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109067633A (zh) * | 2018-10-22 | 2018-12-21 | 泛亚电子工业(无锡)有限公司 | 基于以太网菊花链通讯网络拓扑的电源管理***及方法 |
CN209134444U (zh) * | 2018-10-22 | 2019-07-19 | 泛亚电子工业(无锡)有限公司 | 基于以太网菊花链通讯网络拓扑的电源管理*** |
CN110673201A (zh) * | 2019-09-12 | 2020-01-10 | 吉林大学 | 基于单芯片fpga的低功耗有线地震仪及其高速自组网方法 |
CN113055501A (zh) * | 2019-12-28 | 2021-06-29 | 浙江宇视科技有限公司 | 一种通过网口串联配置ip地址的方法及装置 |
WO2021184482A1 (zh) * | 2020-03-19 | 2021-09-23 | 中车唐山机车车辆有限公司 | 一种用于轨道列车的网络***及轨道列车 |
-
2023
- 2023-01-09 CN CN202310023215.4A patent/CN115834326A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109067633A (zh) * | 2018-10-22 | 2018-12-21 | 泛亚电子工业(无锡)有限公司 | 基于以太网菊花链通讯网络拓扑的电源管理***及方法 |
CN209134444U (zh) * | 2018-10-22 | 2019-07-19 | 泛亚电子工业(无锡)有限公司 | 基于以太网菊花链通讯网络拓扑的电源管理*** |
CN110673201A (zh) * | 2019-09-12 | 2020-01-10 | 吉林大学 | 基于单芯片fpga的低功耗有线地震仪及其高速自组网方法 |
CN113055501A (zh) * | 2019-12-28 | 2021-06-29 | 浙江宇视科技有限公司 | 一种通过网口串联配置ip地址的方法及装置 |
WO2021184482A1 (zh) * | 2020-03-19 | 2021-09-23 | 中车唐山机车车辆有限公司 | 一种用于轨道列车的网络***及轨道列车 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101776650B1 (ko) | Sdn 교환기가 정확한 흐름 엔트리를 획득하는 방법, 및 sdn 교환기, 제어기, 및 시스템 | |
US9819616B2 (en) | Apparatus and method for use in a spacewire-based network | |
US9882808B2 (en) | Packet processing method and apparatus | |
US9331910B2 (en) | Methods and systems for automatic generation of routing configuration files | |
US9948558B2 (en) | Techniques for a switch to receive network controller sideband interface control packets | |
KR20020059657A (ko) | 네트워크 스위치 포트 상에서 데이터 패킷들의 타입을실시간으로 확인하는 장치 및 방법 | |
US6807183B1 (en) | Arrangement for reading a prescribed location of a FIFO buffer in a network switch port | |
CN101710864B (zh) | 一种多网口Linux服务器的配置方法及装置 | |
US9237069B2 (en) | Method and system for scalable switching architecture | |
CN106105098A (zh) | 交换机及业务请求报文的处理方法 | |
CN109088957B (zh) | Nat规则管理的方法、装置和设备 | |
CN101426015A (zh) | 面向多媒体传输的IEEE1394/GbE变换器及数据采集*** | |
US6711165B1 (en) | Apparatus and method for storing min terms in network switch port memory for access and compactness | |
CN1178434C (zh) | 用于具有多个最小项的封包数据字节的无缓冲器评估的装置和方法 | |
US20160134522A1 (en) | Data flow processing method, device, and system | |
CN115834326A (zh) | Ip地址可自动配置的多节点网络串行通讯***及方法 | |
JP5961745B2 (ja) | 通信装置またはパケット転送方法 | |
KR102280343B1 (ko) | 복수의 이더넷 포트를 가지는 사물인터넷 디바이스 | |
EP0876649A2 (en) | Method and apparatus for generating a network topology | |
JP5976956B2 (ja) | 共有媒体ブリッジング | |
CN101989946B (zh) | 一种通信设备路由转发表的压缩方法 | |
US6741594B1 (en) | Arrangement for identifying data packet types from multiple protocol formats on a network switch port | |
Altangerel et al. | Performance analysis of sdn controllers: Pox, floodlight and opendaylight | |
US6728255B1 (en) | Apparatus and method for storing min terms in a network switch port memory for identifying data packet types in a real time | |
Wang et al. | A protocol translation scheme between EtherCAT field network and IPv6-based industrial backbone network |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20230321 |
|
WD01 | Invention patent application deemed withdrawn after publication |