一种基于FPGA的Ethercat环形双冗余链路切换方法及系统与流程

文档序号:32439243发布日期:2022-12-06 20:45阅读:63来源:国知局
一种基于FPGA的Ethercat环形双冗余链路切换方法及系统与流程
一种基于fpga的ethercat环形双冗余链路切换方法及系统
技术领域
1.本发明涉及一种基于fpga的ethercat环形双冗余链路切换方法及系统,属于冗余链路切换控制技术领域。


背景技术:

2.在主站和从站通信的时候,网口可能存在故障,主站与从站之间链路出现中断的故障等等。而工业以太网对稳定性要求比较高,所以当其中的一条链路出现故障的时候,就自动切换到另一条通信链路继续进行通信,但是现有的冗余切换方式比较简单,实际操作下的稳定性不高,并且容易出现数据丢失。


技术实现要素:

3.本发明所要解决的技术问题是提供一种基于fpga的ethercat环形双冗余链路切换方法,采用全新设计逻辑,能够提高工业以太网的稳定性、以及可靠性。
4.本发明为了解决上述技术问题采用以下技术方案:本发明设计了一种基于fpga的ethercat环形双冗余链路切换方法,基于对应上行接口连接主站的第一上行ethercat从站芯片,以及两个对应下行接口分别连接各从站相连所构建的通信链路、各从站分别所对应备用从站相连所构建的另一通信链路的第一下行ethercat从站芯片,结合第一上行ethercat从站芯片分别对接两第一下行ethercat从站芯片,在主站按预设周期向从站方向下发数据包,并经第一上行ethercat从站芯片、以及两第一下行ethercat从站芯片同时下发至两条通信链路的情况下,执行如下步骤,实现主站与从站之间关于两通信链路的切换;步骤a. 判断第一上行ethercat从站芯片、以及两第一下行ethercat从站芯片的网络状态是否均连接,是则进入步骤b;否则若第一上行ethercat从站芯片网络状态未连接、或者两第一下行ethercat从站芯片的网络状态均未连接,则表示主站与从站之间通信断开;若第一上行ethercat从站芯片网络状态连接、且仅有一个第一下行ethercat从站芯片的网络状态连接,则切换主站与从站之间的通信至该连接状态第一下行ethercat从站芯片所对应的通信链路;步骤b. 分别检测两第一下行ethercat从站芯片内部数据缓存区中是否均存在来自对应通信链路的返回数据包,是则进入步骤c;否则若仅一个第一下行ethercat从站芯片内部数据缓存区中存在来自对应通信链路的返回数据包,则切换主站与从站之间的通信至该第一下行ethercat从站芯片所对应的通信链路;若两第一下行ethercat从站芯片内部数据缓存区中均不存在来自对应通信链路的返回数据包,则表示主站与从站之间通信断开;步骤c. 分别针对两第一下行ethercat从站芯片,获得第一下行ethercat从站芯片内部数据缓存区中所获相邻两返回数据包之间的时长间隔,并判断各第一下行ethercat从站芯片分别所对应时长间隔是否均超过或均未超过主站所对应预设周期时长的预设比例波动值,是则切换主站与从站之间的通信至最小时长间隔所属第一下行ethercat从站芯片对应的通信链路;否则即仅一个第一下行ethercat从站芯片所对应时长间隔未超过主站
所对应预设周期时长的预设比例波动值,则切换主站与从站之间的通信至该第一下行ethercat从站芯片所对应的通信链路。
5.与上述相对应,本发明还要解决的技术问题是提供一种基于fpga的ethercat环形双冗余链路切换方法的系统,采用全新设计逻辑,能够提高工业以太网的稳定性、以及可靠性。
6.本发明为了解决上述技术问题采用以下技术方案:本发明设计了一种基于fpga的ethercat环形双冗余链路切换方法的系统,包括与所述第一上行ethercat从站芯片、以及两第一下行ethercat从站芯片相对应的第一冗余卡,第一冗余卡中包括数据选择器、fpga模块;第一冗余卡的连接结构中,fpga模块包括链路切换模块,以及分别与链路切换模块相连接的上行通道接口、两个下行通道接口;fpga模块中的上行通道接口外接所述第一上行ethercat从站芯片,fpga模块中的两个下行通道接口分别外接所述两第一下行ethercat从站芯片,由fpga模块中的链路切换模块经上行通道接口、两个下行通道接口,分别对第一上行ethercat从站芯片、两第一下行ethercat从站芯片的网络状态与内部数据缓存区进行监测;第一上行ethercat从站芯片的p1接口作为连接下行网络的数据口、对接数据选择器,两第一下行ethercat从站芯片的p0接口作为连接上行ethercat的数据口、对接数据选择器,且数据选择器连接链路切换模块,由数据选择器在链路切换模块的控制下实现对第一上行ethercat从站芯片与两第一下行ethercat从站芯片之间的切换连接;第一上行ethercat从站芯片的p0接口作为连接主站的数据口、连接主站,两第一下行ethercat从站芯片的p1接口分别作为连接对应通信链路的数据口、分别连接对应通信链路的一端,实现主站与从站之间的数据上下行传输。
7.作为本发明的一种优选技术方案:所述第一冗余卡中fpga模块中的上行通道接口通过local_bus总线外接所述第一上行ethercat从站芯片,fpga模块中的两个下行通道接口分别通过local_bus总线外接所述两第一下行ethercat从站芯片。
8.作为本发明的一种优选技术方案:还包括连接结构与所述第一上行ethercat从站芯片、以及两第一下行ethercat从站芯片相同的第二上行ethercat从站芯片、以及两第二下行ethercat从站芯片,以及连接结构与第一冗余卡相同,且与第二上行ethercat从站芯片、两第二下行ethercat从站芯片相对应的第二冗余卡,第二冗余卡所对应两第二下行ethercat从站芯片的p1接口分别作为连接对应通信链路的数据口、分别连接对应通信链路的另一端,第二冗余卡的工作方式与第一冗余卡的工作方式相同。
9.本发明所述一种基于fpga的ethercat环形双冗余链路切换方法及系统,采用以上技术方案与现有技术相比,具有以下技术效果:本发明所设计一种基于fpga的ethercat环形双冗余链路切换方法及系统,基于上行ethercat从站芯片、以及两个下行ethercat从站芯片的引入,从主站与各通信链路之间的网络状态、各通信链路分别是否向主站返回数据包、以及各通信链路上相邻返回数据包时长间隔分析的几方面入手,选择相对主站的最优通信链路,并将主站与从站之间的通信切换至此最优通信链路上,解决了链路的可靠性和稳定性问题;并且在通信链路切换后,主站与从站的通信依旧可以恢复正常工作的状态;同时全部使用的是ethercat从站芯片来进行连接,体现了设计的一直性,实际应用中,可以推广应用到目前及未来的工业以太网,实现工业以太网的稳定性和可靠性。
附图说明
10.图1是本发明设计应用中所涉及的双冗余架构示意图;图2是本发明设计基于fpga的ethercat环形双冗余链路切换方法的系统的示意图。
具体实施方式
11.下面结合说明书附图对本发明的具体实施方式作进一步详细的说明。
12.本发明设计了一种基于fpga的ethercat环形双冗余链路切换方法,实际应用当中,如图1所示,基于对应上行接口连接主站的第一上行ethercat从站芯片,以及两个对应下行接口分别连接各从站相连所构建的通信链路、各从站分别所对应备用从站相连所构建的另一通信链路的第一下行ethercat从站芯片,结合第一上行ethercat从站芯片分别对接两第一下行ethercat从站芯片,在主站按预设周期向从站方向下发数据包,并经第一上行ethercat从站芯片、以及两第一下行ethercat从站芯片同时下发至两条通信链路的情况下,执行如下步骤a至步骤c,实现主站与从站之间关于两通信链路的切换。
13.步骤a. 判断第一上行ethercat从站芯片、以及两第一下行ethercat从站芯片的网络状态是否均连接,是则进入步骤b;否则若第一上行ethercat从站芯片网络状态未连接、或者两第一下行ethercat从站芯片的网络状态均未连接,则表示主站与从站之间通信断开;若第一上行ethercat从站芯片网络状态连接、且仅有一个第一下行ethercat从站芯片的网络状态连接,则切换主站与从站之间的通信至该连接状态第一下行ethercat从站芯片所对应的通信链路。
14.步骤b. 分别检测两第一下行ethercat从站芯片内部数据缓存区中是否均存在来自对应通信链路的返回数据包,是则进入步骤c;否则若仅一个第一下行ethercat从站芯片内部数据缓存区中存在来自对应通信链路的返回数据包,则切换主站与从站之间的通信至该第一下行ethercat从站芯片所对应的通信链路;若两第一下行ethercat从站芯片内部数据缓存区中均不存在来自对应通信链路的返回数据包,则表示主站与从站之间通信断开。
15.步骤c. 分别针对两第一下行ethercat从站芯片,获得第一下行ethercat从站芯片内部数据缓存区中所获相邻两返回数据包之间的时长间隔,并判断各第一下行ethercat从站芯片分别所对应时长间隔是否均超过或均未超过主站所对应预设周期时长的预设比例波动值,是则切换主站与从站之间的通信至最小时长间隔所属第一下行ethercat从站芯片对应的通信链路;否则即仅一个第一下行ethercat从站芯片所对应时长间隔未超过主站所对应预设周期时长的预设比例波动值,则切换主站与从站之间的通信至该第一下行ethercat从站芯片所对应的通信链路。
16.将上述所设计基于fpga的ethercat环形双冗余链路切换方法应用于实际当中,具体设计实施系统,如图2所示,包括与所述第一上行ethercat从站芯片、以及两第一下行ethercat从站芯片相对应的第一冗余卡,第一冗余卡中包括数据选择器mux、fpga模块;第一冗余卡的连接结构中,fpga模块包括链路切换模块,以及分别与链路切换模块相连接的上行通道接口、两个下行通道接口;fpga模块中的上行通道接口外接所述第一上行ethercat从站芯片,fpga模块中的两个下行通道接口分别外接所述两第一下行ethercat从站芯片,由fpga模块中的链路切换模块经上行通道接口、两个下行通道接口,分别对第一上
行ethercat从站芯片、两第一下行ethercat从站芯片的网络状态与内部数据缓存区进行监测;第一上行ethercat从站芯片的p1接口作为连接下行网络的数据口、对接数据选择器mux,两第一下行ethercat从站芯片的p0接口作为连接上行ethercat的数据口、对接数据选择器mux,且数据选择器mux连接链路切换模块,由数据选择器mux在链路切换模块的控制下实现对第一上行ethercat从站芯片与两第一下行ethercat从站芯片之间的切换连接;第一上行ethercat从站芯片的p0接口作为连接主站的数据口、连接主站,两第一下行ethercat从站芯片的p1接口分别作为连接对应通信链路的数据口、分别连接对应通信链路的一端,实现主站与从站之间的数据上下行传输。
17.上述系统设计在实际实施中,具体设计第一冗余卡中fpga模块中的上行通道接口通过local_bus总线外接所述第一上行ethercat从站芯片,fpga模块中的两个下行通道接口分别通过local_bus总线外接所述两第一下行ethercat从站芯片。
18.如图1和图2所示,关于上述设计系统,进一步设计还包括连接结构与所述第一上行ethercat从站芯片、以及两第一下行ethercat从站芯片相同的第二上行ethercat从站芯片、以及两第二下行ethercat从站芯片,以及连接结构与第一冗余卡相同,且与第二上行ethercat从站芯片、两第二下行ethercat从站芯片相对应的第二冗余卡,第二冗余卡所对应两第二下行ethercat从站芯片的p1接口分别作为连接对应通信链路的数据口、分别连接对应通信链路的另一端,第二冗余卡的工作方式与第一冗余卡的工作方式相同。
19.基于上述所设计系统,实际应用当中,执行上述所设计步骤a至步骤c的基于fpga的ethercat环形双冗余链路切换方法,整个设计基于上行ethercat从站芯片、以及两个下行ethercat从站芯片的引入,从主站与各通信链路之间的网络状态、各通信链路分别是否向主站返回数据包、以及各通信链路上相邻返回数据包时长间隔分析的几方面入手,选择相对主站的最优通信链路,并将主站与从站之间的通信切换至此最优通信链路上,解决了链路的可靠性和稳定性问题;并且在通信链路切换后,主站与从站的通信依旧可以恢复正常工作的状态;同时全部使用的是ethercat从站芯片来进行连接,体现了设计的一直性,实际应用中,可以推广应用到目前及未来的工业以太网,实现工业以太网的稳定性和可靠性。
20.上面结合附图对本发明的实施方式作了详细说明,但是本发明并不限于上述实施方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下做出各种变化。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1