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

用于冗余模块切换方法、设备和介质与流程

2023-10-20 12:11:23 来源:中国专利 TAG:


1.本发明涉及网络通信技术领域,具体涉及一种用于冗余模块切换方法及设备和介质。


背景技术:

2.在工业自动化领域,冗余设计是一种满足自动化连续控制,提高控制系统可靠性和可用性的有效手段,随着工业自动化应用的行业和场景越来越多,在保证数据采集稳定性的同时,对冗余的切换速度和可靠性的要求也不断提高。
3.目前常规的冗余交互设计有2种,一种是纯硬件冗余方法、一种是纯软件冗余方法。硬件冗余方法为纯硬件的冗余切换代表如发明专利《冗余切换控制方法及电路》(专利号:cn1303532c),其冗余交互方法一般为:检测到正逻辑状态的逻辑对象a出现异常状态,并通知另一个逻辑对象b;另一个逻辑对象b根据自身的故障程度确定逻辑状态;逻辑对象a根据逻辑对象b的逻辑状态,进行故障程度比较再次确定自身的逻辑状态;根据需要上述重复步骤直到将故障程度较轻的逻辑对象确定为正逻辑状态。相应控制电路包括一组与非逻辑电路及处理器,该与非逻辑电路分别对应逻辑对象,有三个输入端:第一个输入端传输控制信号;第二个输入端传输复位信号;第三个输入端传输状态信号,与相对逻辑对象与非逻辑电路的输出端相连:第二输入端同时连接各自对应中央处理器的一个外中断输入端,快速响应逻辑对象的逻辑状态改变。该交互方式采用互斥电路实现,当两个模块连接正常时,一个为工作、一个为备用,当其中一根线断开时,会出现双工作或双备用,当两根交互线出现一定顺序的接触或断开时,会出现抢权现象。
4.软件冗余的方法为当工作模块发生故障时,工作模块将自身出现异常状态的信号发送给备用模块,工作模块和备用模块通过冗余交互通信链路,进行工作模块和备用模块的故障程度比较,如工作模块故障等级大于备用模块,则发起主备切换,工作模块切换为备用模块,备用模块切换为工作模块。
5.因此,传统的用于冗余模块切换方法的不足之处在于,基于硬件方式实现的切换方法可能会出现切换模块冲突的现象并且基于软件方式实现的切换方法必须依赖软件控制。


技术实现要素:

6.针对上述问题,本公开提供了一种快速可靠的冗余交互方式,在满足冗余功能的前提下,实现了快速且可靠的冗余交互功能。
7.根据本公开的第一方面,提供了一种用于冗余模块系统进行冗余切换的方法,其特征在于,冗余模块系统包括连接到第一模块的第一微控制单元和连接到第二模块的第二微控制单元、以及连接至连接到第一模块的第一微控制单元和连接到第二模块的第二微控制单元的第一模块和第二模块,第一模块和第二模块相对连接,所述方法包括:由连接到第一模块的第一微控制单元和连接到第二模块的第二微控制单元监测第一模块和第二模块
的状态信息;响应于第一模块处于上电状态且第二模块处于失电状态,第一模块向第二模块发送高电平信号、第二模块向第一模块发送低电平信号;响应于第一模块处于失电状态且第二模块处于上电状态,第二模块向第一模块发送高电平信号、第一模块向第二模块发送低电平信号;以及第一模块和第二模块所分别包括的与非逻辑门电路基于所接收的电平信号生成输出信号,以将第一模块和第二模块相应确定为工作状态或备用状态,从而实现第一模块和第二模块的冗余状态确认。
8.根据本公开的第二方面,提供了一种计算设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行本公开的第一方面的方法。
9.在本公开的第三方面中,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中计算机指令用于使计算机执行本公开的第一方面的方法。
10.在本公开的第四方面中,提供了一种冗余模块系统,其特征在于,包括:连接到第一模块的第一微控制单元和连接到第二模块的第二微控制单元,被配置成监测第一模块和第二模块的状态信息,响应于第一模块处于上电状态且第二模块处于失电状态,使得所述第一模块向第二模块发送高电平信号、所述第二模块向第一模块发送低电平信号,响应于第一模块处于失电状态且第二模块处于上电状态,使得所述第二模块向第一模块发送高电平信号、所述第一模块向第二模块发送低电平信号;第一模块,包括与非逻辑门电路,第一模块和第二模块相对连接;以及第二模块,包括与非逻辑门电路、第一模块和第二模块被配置为基于所接收的电平信号生成输出信号,以将第一模块和第二模块相应确定为工作状态或备用状态,从而实现第一模块和第二模块的冗余状态确认。
11.在一些实施例中,第一模块以及第二模块所分别包括的与非逻辑门电路基于所接收的电平信号生成工作状态信号以及备用状态信号包括:响应于第一模块的与非逻辑门电路的输出信号为高电平信号且第二模块的与非逻辑门电路的输出信号为低电平信号,将第一模块确定为工作状态并且将第二模块确定为备用状态;响应于第二模块的与非逻辑门电路的输出信号为高电平信号且第一模块的与非逻辑门电路的输出信号为低电平信号,将第二模块确定为工作状态并且将第一模块确定为备用状态;以及响应于第一模块和第二模块的与非逻辑门电路的输出信号均为高电平信号,基于第一模块和第二模块的上电速度,将上电速度更快的相应模块确定为工作状态并且将另一模块确定为备用状态。
12.在一些实施例中,方法还包括:所述第一模块和第二模块通过模块间的冗余交互通信线路将其状态发送到相对的另一模块。
13.在一些实施例中,方法还包括:基于预定周期,第一模块和第二模块诊断自身运行状态并将所诊断的自身运行状态发送到连接到第一模块的第一微控制单元和连接到第二模块的第二微控制单元;响应于第一模块的自身运行状态健康,所述连接到第一模块的第一微控制单元向第一模块发送低电平信号并且连接到第二模块的第二微控制单元向第二模块发送高电平信号;以及响应于第二模块的自身运行状态健康,所述连接到第二模块的第二微控制单元向第二模块发送低电平信号并且连接到第一模块的第一微控制单元向第一模块发送高电平信号。
14.在一些实施例中,方法还包括:响应于模块自检正常且满足模块插拔稳定时间后,闭合所述模块与主电路的开关,从而实现第一模块和第二模块的冗余状态确认。
15.在一些实施例中,第一模块分别连接到第二模块的上电检测管脚的第二输入、连接到第一模块的第一微控制单元的第四输入、以及主电路的第一输出;所述第二模块分别连接到第一模块的上电检测管脚的第一输入、连接到第二模块的第二微控制单元的第二输入、以及主电路的第二输出;以及所述第一模块和第二模块通过冗余通讯交互链路交互故障信息和状态信息。
16.在一些实施例中,第一模块的第一输出与主电路之间、以及第二模块的第二输出与主电路之间均包括插拔开关。
17.在一些实施例中,第一模块和第二模块还被配置为:响应于模块自检正常且满足模块插拔稳定时间后,闭合所述模块与主电路之间的插拔开关,从而实现第一模块和第二模块的冗余状态确认。
18.在一些实施例中,第一模块和第二模块还被配置为:所述第一模块的与非逻辑门电路的输出信号为高电平信号且第二模块的与非逻辑门电路的输出信号为低电平信号,将第一模块确定为工作状态并且将第二模块确定为备用状态;响应于第二模块的与非逻辑门电路的输出信号为高电平信号且第一模块的与非逻辑门电路的输出信号为低电平信号,将第二模块确定为工作状态并且将第一模块确定为备用状态;以及响应于第一模块和第二模块的与非逻辑门电路的输出信号均为高电平信号,基于第一模块和第二模块的上电速度,将上电速度更快的相应模块确定为工作状态并且将另一模块确定为备用状态。
19.在一些实施例中,第一模块和第二模块还被配置为:基于预定周期诊断自身运行状态并将所诊断的自身运行状态发送到连接到第一模块的第一微控制单元和连接到第二模块的第二微控制单元;连接到第一模块的第一微控制单元和连接到第二模块的第二微控制单元还被配置为:响应于第一模块的自身运行状态健康,所述连接到第一模块的第一微控制单元向第一模块发送低电平信号并且连接到第二模块的第二微控制单元向第二模块发送高电平信号;以及响应于第二模块的自身运行状态健康,所述连接到第二模块的第二微控制单元向第二模块发送低电平信号并且连接到第一模块的第一微控制单元向第一模块发送高电平信号。
20.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
21.结合附图并参考以下详细说明,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标注表示相同或相似的元素。
22.图1示出了用于实现根据本公开的实施例的用于冗余模块切换方法的系统100的示意图。
23.图2示出了根据本公开的实施例的用于冗余模块系统200的示意图。
24.图3示出了根据本公开的实施例的用于冗余模块切换的方法300的流程图。
25.图4示出了根据本公开的实施例的用于冗余模块切换的另一个方法400的流程图。
26.图5示出了可以用来实施本公开内容的实施例的示例电子设备500的示意性框图。
具体实施方式
27.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
28.在本文中使用的术语“包括”及其变形表示开放性包括,即“包括但不限于”。除非特别申明,术语“或”表示“和/或”。术语“基于”表示“至少部分地基于”。术语“一个示例实施例”和“一个实施例”表示“至少一个示例实施例”。术语“另一实施例”表示“至少一个另外的实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
29.硬件冗余方法能够提供冗余控制的快速性,但由于工作备用完全由硬件控制,在互为冗余的两个模块正常工作中,出现模块插拔操作时,冗余交互信号接插接针脚接触有先后顺序,会造成模块冗余交互信号的波动,造成冗余设备双主、双备或者抢权现象,影响系统采集输出或控制。同时,软件冗余方法能够降低冗余切换控制电路的误切换概率,对于发生重大故障,如模块失电或者不在位,识别并切换时间慢,对外部的信号扰动较大,一般加快交互频率,但是又比较消耗软件资源。
30.本公开提供了一种软硬件结合的冗余交互方案,方案采用硬件在位检测方式实现对方模块的在位和失电的检测,在位检测针为最短针,保障拔卡时先断开,实现快速切换;与非门输出开关控制模块上电后的工作备用状态,当模块刚上电时,开关断开,模块处于备用工作状态,当上电完成,模块自检正常且预留足够模块插拔稳定时间,闭合开关,保障插卡过程中的模块处于备用状态,此后模块的工作状态由与非门的输入决定;逻辑门的一个输入关联对方模块的失电或者不在位信号,另一个输入关联其他重大故障或者cpu控制信号,其他重大故障可以是电压基准、板内电源等,cpu控制信号主要根据cpu收到的指令或者根据与对方的故障轻重程度来决定是否需要工作还是备用冗余交互方案还有一对通信线,主要用于交互对方模块的故障状态,采集输出信息等,可以采用多种方式实现,如uart;最后通过以上技术手段,方案可以实现插拔不影响冗余功能,重大故障快速切换,正常情况可靠交换等问题,且该方案实现简单。
31.图1示出了用于实现根据本公开的实施例的用于冗余模块切换方法的系统100的示意图。如图1中所示,系统100包括计算设备110和网络管理设备130和网络140。计算设备110、网络管理设备130可以通过网络140(例如,因特网)进行数据交互。
32.网络管理设备130,其例如可以执行冗余模块切换的功能。网络管理设备130还可以将确定的冗余模块切换数据发送到计算设备110。网络管理设备130可以具有一个或多个处理单元,包括诸如gpu、fpga和asic等的专用处理单元以及诸如cpu的通用处理单元,例如而不限于:可执行中文数据读取和修改的台式计算机、膝上型计算机、上网本计算机、平板电脑、网络浏览器、电子书阅读器、个人数字助理(pda)和可穿戴计算机(诸如智能手表和活动追踪器设备)等。
33.关于计算设备110,其例如用于经由网络140接收来自网络管理设备130的冗余模块切换数据;在冗余模块系统上实现冗余模块切换。计算设备110可以具有一个或多个处理单元,包括诸如gpu、fpga和asic等的专用处理单元以及诸如cpu的通用处理单元。另外,在
每个计算设备110上也可以运行着一个或多个虚拟机。在一些实施例中,计算设备110与网络管理设备130可以集成在一起,也可以是彼此分立设置。
34.图2示出了根据本公开的实施例的用于冗余模块系统200的示意图。
35.在一个实施例中,冗余模块系统200包括连接到第一模块的第一微控制单元201和连接到第二模块的第二微控制单元202、第一模块204、第二模块206以及冗余交互通信线路208。如图2所示,在第一模块204和第二模块206之间设计两根硬件的交错线,分别连接有4个电阻r1、r2、r3、r4,用于识别对方模块是否在线。
36.在一个实施例中,电阻r1可以等于电阻r3并且电阻r2可以等于电阻r4。相应地,电阻的取值要求包括电阻r2上的压降大于来自第二模块206的电压u2的高电平阈值,从而使得由第二模块206发出电信号能传递到第一模块204的与非门逻辑电路的输入端5。对于电阻r4的要求与电阻r2类似。
37.具体来说,第二模块206在电阻r1处向上连接到第一模块204的模块上电检测管脚vcc1,在电阻r4向下接入0位的地信号接口。相应地,第一模块204在电阻r3处向上连接到第二模块204的模块上电检测管脚vcc2,在电阻r2向下接入0位的地信号接口。
38.基于这样的设计可以使得第一模块202和第二模块204互为冗余切换模块。具体来说,第一模块202和第二模块204可以有三种情况。第一种情况,连接到第一模块的第一微控制单元201和连接到第二模块的第二微控制单元202确定第一模块204和第二模块206均健康且上电的情况下,第一模块204中连接到第二模块的5号输入口为高电平信号,即输入高或数字电路中的1,第二模块206中的连接到第一模块的5号输入口为高电平信号。第二种情况,连接到第一模块的第一微控制单元201确定第一模块204健康且上电,连接到第二模块的第二微控制单元202确定第二模块206未上电或者不健康的情况下,第一模块204中的连接到第二模块的5号输入口为低电平信号,第二模块206中连接到第一模块的5号输入口为高电平信号。第三种情况,连接到第一模块的第一微控制单元201确定第一模块204未上电或者不健康的,连接到第二模块的第二微控制单元202确定第二模块206健康且上电的情况下,第一模块204中的连接到第二模块的5号输入口为高电平信号,第二模块206中的连接到第一模块的5号输入口为低电平信号。
39.第一模块202和第二模块204均可包括在位检测单元,在位检测单元用于检测对方模块是否在线,当对方模块失电、不在位或不健康时,模块的与非逻辑门5引脚可以变化为输入高电平信号。在位检测单元的线路最短,保障先断开,从而实现模块丢失时快速切换。
40.在一个实施例中,在第一模块204和第二模块206中均分别包括一个与非逻辑门电路。如图2所示,与非逻辑门电路分别标识为u1b和u2b。具体来说,与非逻辑门电路有两个输入和一个输出。针对第一模块,两个输入分别标识为连接到第二模块的第二输入引脚4和连接到第一微控制单元的第四输入引脚5,并且其输出标识为引脚第一输出6。针对第二模块,两个输入分别标识为连接到第一模块的第一输入引脚4和连接到第二微控制单元的第三输入引脚5,并且其输出标识为第二输出引脚6。第一模块和第二模块的工作状态通过第一输出和第二输出,即其引脚6输出决定。
41.在一个实施例中个,第一模块和第二模块还可以包括对应于第一输出以及第二输出的工作状态标识符。例如,cona对应于第一模块204的第一输出,即第一工作状态标识符,conb对应于第二模块206的第二输出,即第二工作状态标识符。当第一模块204的第一输出
cona等于1,即高电平信号时,标识第一模块为工作状态,当第一模块204的第一输出cona等于0,即低电平信号时,标识第一模块为备用状态。当第二模块206的第一输出cona等于1,即高电平信号时,标识第一模块为工作状态,当第一模块204的第一输出cona等于0,即低电平信号时,标识第一模块为备用状态。cona和conb都由第一模块和第二模块的第一输出引脚6和第二输出引脚6决定其状态。
42.与非逻辑门电路的工作原理为,引脚4和引脚5都为高电平信号,即1位时,输出引脚6为低电平信号,即0位。相应地,当引脚4和引脚5至少有一个为低电平信号,即0位时,则输出引脚6为高电平信号,即1位。与非逻辑门电路实现了两个模块间的快速切换和正常切换的控制功能,即分别由与非逻辑门5脚和4脚输入控制。当第一模块或第二模块失电时,只要任何一个引脚,例如来自对方模块的引脚4输入为低电平信号,则相对的模块的输出引脚6将变为高,从而使得相对的模块成功切换到工作。
43.在一个实施例中,响应于连接到第一模块的第一微控制单元确定第一模块204处于上电状态且连接到第二模块的第二微控制单元确定第二模块206处于失电状态,则第一模块204通过上电检测管脚vcc1向第二模块发送高电平信号、而第二模块通过上电检测管脚vcc2向第一模块发送低电平信号,从而激活第一模块使得第一模块204处于或保持工作状态。
44.在一个实施例中,用于冗余模块系统200可以包括三种工作情况。第一种情况,第一模块204和第二模块206均上电且健康的情况下,连接到彼此的输入引脚5均为高电平信号,即1位,则第一模块204和第二模块206的cona和conb的状态值由引脚4决定,引脚4的信号siga和sigb由连接到第一模块的第一微控制单元201和连接到第二模块的第二微控制单元202控制。第一模块204和第二模块206可以配置成基于预定周期诊断自身运行状态并将所诊断的自身运行状态发送到连接到第一模块的第一微控制单元201和连接到第二模块的第二微控制单元202;连接到第一模块的第一微控制单元201响应于第一模块的自身运行状态健康,连接到第一模块的第一微控制单元201向第一模块发送低电平信号并且连接到第二模块的第二微控制单元202向第二模块发送高电平信号;并且连接到第二模块的第二微控制单元202响应于第二模块的自身运行状态健康,所述连接到第二模块的第二微控制单元202向第二模块发送低电平信号并且连接到第一模块的第一微控制单元201向第一模块发送高电平信号。
45.第二种情况,第一模块204上电且健康,第二模块206失电或不健康的情况下,第一模块204的连接到第二模块206的引脚5为低电平信号0位,第二模块206连接到第一模块的引脚5为高电平信号1位。根据与非逻辑门电路的逻辑运算,当第一模块204的引脚5为低电平信号0位时,无论来自其引脚4为任何值,其输出cona状态为1,从而实现了第一模块204可以不通过软件的故障等级判断,快速控制第一模块204为工作状态,且第二模块206变为备用状态。
46.第三种情况,第一模块204失电或不健康,第二模块206上电且健康的情况,和第二种情况类似,无论来自其引脚4为任何值,其输出conb状态都为1,从而实现了第一模块204可以不通过软件的故障等级判断变为备用状态,且快速控制第二模块206为工作状态。
47.基于以上三种情况,可以实现当第一模块的与非逻辑门电路的输出信号为高电平信号且第二模块的与非逻辑门电路的输出信号为低电平信号,将第一模块确定为工作状态
并且将第二模块确定为备用状态;响应于第二模块的与非逻辑门电路的输出信号为高电平信号且第一模块的与非逻辑门电路的输出信号为低电平信号,将第二模块确定为工作状态并且将第一模块确定为备用状态;响应于第一模块和第二模块的与非逻辑门电路的输出信号均为高电平信号,基于第一模块和第二模块的上电速度,将上电速度更快的相应模块确定为工作状态并且将另一模块确定为备用状态。
48.基于以上技术方案,当出现诸如第一模块或第二模块的工作模块失电这一严重故障时,无需软件参与,即无需系统外软件或其他部件进行判定,就可以快速实现第一模块或第二模块之间互为备用模块的冗余切换。
49.在一个实施例中,响应于连接到第一模块的第一微控制单元201确定第一模块204处于失电状态或者不健康状态且连接到第二模块的第二微控制单元202确定第二模块206处于上电状态,则第一模块204通过上电检测管脚vcc1向第二模块发送低电平信号、而第二模块通过上电检测管脚vcc2向第一模块发送高电平信号,从而激活第二模块使得第二模块206处于或保持工作状态,从而实现第一模块和第二模块的冗余状态确认,更进一步可以实现冗余切换。
50.基于以上技术手段,第一模块和第二模块相对连接并且互为彼此的冗余切换模块,所述第一模块和第二模块通过冗余通讯交互链路相互故障信息和状态信息,所述第一模块以及第二模块的与非逻辑门电路基于所接收的电平信号生成输出信号,以将所述第一模块和第二模块相应确定为工作状态或备用状态,从而实现第一模块和第二模块的冗余状态确认,更进一步可以实现冗余切换。
51.在一个实施例中,本公开还考虑到模块在插拔上电时信号误扰动的情况,因此设计中上电时要求所切换的模块,即从备用状态切换为工作状态的模块自身默认为备用状态,当模块自检完成,并预留充足的时间保证插卡到位后才开启是否为工作和备用。具体通过在第一输出6和第二输出6与状态符cona和conb之间均加上一个插拔开关。插拔开关由模块自身控制。在刚上电且未就位即,主电路的cpu未控制前默认断开状态,上电自检完成后一直处于关闭模式。该开关可以是photomos、继电器,从而使得第一模块的第一输出与主电路之间和第二模块的第二输出与主电路之间均包括插拔开关。响应于模块自检正常且满足模块插拔稳定时间后,闭合所述模块与主电路之间的插拔开关,从而实现第一模块和第二模块的冗余冗余状态确认,更进一步可以实现冗余切换。
52.在一个实施例中,第一模块204和第二模块206之间设计有一根冗余交互通信线路208,第一模块204、第二模块206周期性的诊断自身状态,通过冗余交互通信线路208进行信号交互,通过谁健康谁工作的逻辑进行工作备用状态的确定。当工作状态由来自连接到第一模块的第一微控制单元201和连接到第二模块的第二微控制单元202的两个输入siga和sigb,即第一模块204和第二模块206的引脚4决定时,输入siga和sigb的值由此逻辑判断决定。当第一模块204健康且上电时,则siga为低电平信号0位时,第一模块204为工作状态。当第二模块206健康且上电时,则sigb为低电平信号0位时,第二模块206为工作状态。siga和sigb除由连接到第一模块的第一微控制单元201和连接到第二模块的第二微控制单元202控制外,还可以采用特定的故障信号去控制,如模拟量卡的基准故障,板内重要电源的故障等等,可以完全由硬件关联,直接完成切换,同步的进行报警处理。
53.在一个实施例中,连接到第一模块的第一微控制单元201和连接到第二模块的第
二微控制单元202可以通过包括但不限于冗余交互通信线路208的通信路线进行信号交互,从而互相交换第一模块和第二模块的健康状态(例如模块寿命,电流稳定性指数等),从而在初始状态选择健康状态指标更好的模块上电。
54.图3示出了根据本公开的实施例的用于冗余模块切换的方法300的流程图。方法300可由如图1所示的计算设备110执行,也可以在图5所示的电子设备500处执行。应当理解的是,方法300还可以包括未示出的附加框和/或可以省略所示出的框,本公开的范围在此方面不受限制。
55.方法300用于由连接到第一模块的第一微控制单元和连接到第二模块的第二微控制单元、第一模块和第二模块组成的冗余模块系统,其中第一模块和第二模块分别连接到第一微控制单元和第二微控制单元且相对连接互为冗余切换且第一模块和第二模块均包括与非逻辑门电路。具体来说所述方法包括以下步骤。冗余模块系统包括连接到第一模块的第一微控制单元和连接到第二模块的第二微控制单元、第一模块以及第二模块。在第一模块和第二模块之间设计两根硬件的交错线,分别连接有4个电阻r1、r2、r3、r4,用于识别对方模块是否在线。
56.在步骤302,由连接到第一模块的第一微控制单元和连接到第二模块的第二微控制单元监测第一模块和第二模块的状态信息。在一个实施例中,连接到第一模块的第一微控制单元和连接到第二模块的第二微控制单元可以检测与其连接的第一模块和第二模块的工作状态信息,工作状态信息包括模块是否正常上电以及模块的健康状态是否正常。连接到第一模块的第一微控制单元和连接到第二模块的第二微控制单元可以基于所监测的工作状态信息反馈输入给第一模块和第二模块。例如,当第一模块健康且上电时,则第一模块的输入siga为低电平信号0位,第一模块204为工作状态。当第二模块206健康且上电时,则第二模块的输入sigb为低电平信号0位,第二模块206为工作状态。
57.在一个实施例中,第二模块在电阻r1处向上连接到第一模块的模块上电检测管脚vcc1,在电阻r4向下接入0位的地信号接口。相应对称地,第一模块在电阻r3处向上连接到第二模块的模块上电检测管脚vcc2,在电阻r2向下接入0位的地信号接口。
58.基于这样的设计可以使得第一模块和第二模块互为冗余切换模块。具体来说,第一模块和第二模块可以有三种情况。第一种情况,响应于连接到第一模块的第一微控制单元和连接到第二模块的第二微控制单元确定第一模块和第二模块均健康且上电的情况下,第一模块中的连接到第二模块的输入为高电平信号,即输入数字电路中的1,第二模块连接到的第一模块的输入为高电平信号。
59.在步骤304,响应于第一模块处于上电状态且第二模块处于失电状态,第一模块向第二模块发送高电平信号、第二模块向第一模块发送低电平信号。
60.在一个实施例中,第一模块健康且上电,第二模块未上电或者不健康的情况下,第一模块中的连接到第二模块的输入口为低电平信号,第二模块连接到第一模块的输入为高电平信号。
61.在步骤306,响应于第一模块处于失电状态且第二模块处于上电状态,第二模块向第一模块发送高电平信号、第一模块向第二模块发送低电平信号。
62.在一个实施例中,第一模块未上电或者不健康的,第二模块健康且上电的情况下,第一模块204中的连接到第二模块的输入为高电平信号,第二模块206中的连接到第一模块
的输入为低电平信号。
63.第一模块和第二模块均可包括在位检测单元,在位检测单元用于检测对方模块是否在线,当对方模块失电、不在位或不健康时,模块的与非逻辑门引脚可以变化为输入高电平信号。在位检测单元的线路最短,保障先断开,从而实现模块丢失时快速切换。
64.在步骤308,第一模块以及第二模块的非逻辑门电路基于所接收的电平信号生成输出信号,以将第一模块和第二模块相应确定为工作状态或备用状态,从而实现第一模块和第二模块的冗余状态确认。
65.与非逻辑门电路的工作原理为,当输入的两个引脚和引脚都为高电平信号,即1位时,输出引脚为低电平信号,即0位。相应地,当引脚和引脚至少有一个为低电平信号,即0位时,则输出引脚为高电平信号,即1位。与非逻辑门电路实现了两个模块间的快速切换和正常切换的控制功能,即分别由与非逻辑门脚和脚输入控制。当第一模块或第二模块失电时,只要任何一个引脚,例如来自对方模块的引脚输入为低电平信号,则相对的模块的输出引脚将变为高,从而使得相对的模块成功切换到工作。
66.因此,步骤308具体包括响应于第一模块的与非逻辑门电路的输出信号为高电平信号且第二模块的与非逻辑门电路的输出信号为低电平信号,将第一模块确定为工作状态并且将第二模块确定为备用状态;响应于第二模块的与非逻辑门电路的输出信号为高电平信号且第一模块的与非逻辑门电路的输出信号为低电平信号,将第二模块确定为工作状态并且将第一模块确定为备用状态;以及响应于第一模块和第二模块的与非逻辑门电路的输出信号均为高电平信号,基于第一模块和第二模块的上电速度,将上电速度更快的相应模块确定为工作状态并且将另一模块确定为备用状态。
67.在一个实施例中,响应于第一模块处于上电状态且第二模块处于失电状态,则第一模块通过上电检测管脚向第二模块发送高电平信号、而第二模块通过上电检测管脚向第一模块发送低电平信号,从而激活第一模块使得第一模块处于或保持工作状态。
68.对应于以上三种情况,在第一种情况中,第一模块和第二模块均上电且健康的情况下,连接到彼此的输入引脚均为高电平信号,即1位,则第一模块和第二模块的cona和conb的状态值由第一微控制单元和第二微控制单元的引脚决定,第一微控制单元和第二微控制单元的引脚的信号siga和sigb分别由连接到第一模块的第一微控制单元和连接到第二模块的第二微控制单元控制。第一模块和第二模块可以配置成基于预定周期诊断自身运行状态并将所诊断的自身运行状态发送到连接到第一模块的第一微控制单元和连接到第二模块的第二微控制单元;连接到第一模块的第一微控制单元和连接到第二模块的第二微控制单元响应于第一模块的自身运行状态健康,连接到第一模块的第一微控制单元向第一模块发送低电平信号并且连接到第二模块的第二微控制单元向第二模块发送高电平信号;并且连接到第一模块的第一微控制单元和连接到第二模块的第二微控制单元响应于第二模块的自身运行状态健康,所述连接到第二模块的第二微控制单元向第二模块发送低电平信号并且连接到第一模块的第一微控制单元向第一模块发送高电平信号。
69.第二种情况,第一模块上电且健康,第二模块失电或不健康的情况下,第一模块连接到第二模块的引脚为低电平信号0位,第二模块连接到第一模块的引脚为高电平信号1位。根据与非逻辑门电路的逻辑运算,当第一模块连接到第二模块引脚为低电平信号0位时,无论来自连接到第一模块的第一微控制单元和连接到第二模块的第二微控制单元的引
脚为任何值,其输出cona状态为1,从而实现了第一模块可以不通过软件的故障等级判断,快速控制第一模块为工作状态,且第二模块206备用状态。
70.第三种情况,第一模块失电或不健康,第二模块上电且健康的情况,和第二种情况类似,无论来自连接到第一模块的第一微控制单元和连接到第二模块的第二微控制单元的引脚为任何值,其输出conb状态都为1,从而实现了第一模块可以不通过软件的故障等级判断变为备用状态,且快速控制第二模块为工作状态。
71.在一个实施例中,本公开还考虑到切换模块到模块到位时,信号误扰动的情况,因此设计中上电时要求所切换的模块,即从备用状态切换为工作状态的模块自身默认为备用状态,当模块自检完成,并预留充足的时间保证插卡到位后才开启是否为工作和备用。具体通过在第一输出和第二输出与状态符cona和conb之间均加上一个插拔开关。插拔开关由模块自身控制。在刚上电且未就位即,主电路的cpu未控制前默认断开状态,上电自检完成后一直处于关闭模式。该开关可以是photomos、继电器,从而使得第一模块的第一输出与主电路之间和第二模块的第二输出与主电路之间均包括插拔开关。响应于模块自检正常且满足模块插拔稳定时间后,闭合所述模块与主电路之间的插拔开关,从而实现第一模块和第二模块的冗余状态确认,更进一步可以实现冗余切换。
72.基于以上技术方案,当出现诸如第一模块或第二模块的工作模块失电这一严重故障时,无需软件参与,即无需系统外软件或其他部件进行判定,就可以快速实现第一模块或第二模块之间互为备用模块的冗余切换。
73.图4示出了根据本公开的实施例的用于冗余模块切换的另一个方法400的流程图。方法400可由如图1所示的计算设备110执行,也可以在图5所示的电子设备500处执行。应当理解的是,方法400还可以包括未示出的附加框和/或可以省略所示出的框,本公开的范围在此方面不受限制。
74.在步骤402,可以基于预定周期,第一模块和第二模块诊断自身运行状态并将所诊断的自身运行状态发送到连接到第一模块的第一微控制单元和连接到第二模块的第二微控制单元。
75.在一个实施例中,第一模块和第二模块之间设计有一根冗余交互通信线路,第一模块、第二模块周期性的诊断自身状态,通过冗余交互通信线路进行信号交互,通过谁健康谁工作的逻辑进行工作备用状态的确定。
76.在步骤404,可以响应于第一模块的自身运行状态健康,所述连接到第一模块的第一微控制单元向第一模块发送低电平信号并且连接到第二模块的第二微控制单元向第二模块发送高电平信号。
77.在一个实施例中,当工作状态由第一模块和第二模块的siga和sigb信号,即第一模块和第二模块的第一微控制单元和第二微控制单元的引脚的信号决定时,siga和sigb的值由此逻辑判断决定。响应于第一模块的自身运行状态健康,所述连接到第一模块的第一微控制单元向第一模块发送低电平信号并且连接到第二模块的第二微控制单元向第二模块发送高电平信号。
78.在步骤406,可以响应于第二模块的自身运行状态健康,所述连接到第二模块的第二微控制单元向第二模块发送低电平信号并且连接到第一模块的第一微控制单元向第一模块发送高电平信号。
79.在一个实施例中,当第一模块健康且上电时,则siga为低电平信号0位时,第一模块为工作状态。当第二模块206健康且上电时,则sigb为低电平信号0位时,第二模块为工作状态。siga和sigb除由连接到第一模块的第一微控制单元和连接到第二模块的第二微控制单元控制外,还可以采用特定的故障信号去控制,如模拟量卡的基准故障,板内重要电源的故障等等,可以完全由硬件关联,直接完成切换,同步的进行报警处理。
80.在一个实施例中,本公开还考虑到切换模块到模块到位时,信号误扰动的情况,因此设计中上电时要求所切换的模块,即从备用状态切换为工作状态的模块自身默认为备用状态,当模块自检完成,并预留充足的时间保证插卡到位后才开启是否为工作和备用。具体通过在第一输出和第二输出与状态符cona和conb之间均加上一个插拔开关。插拔开关由模块自身控制。在刚上电且未就位即,主电路的cpu未控制前默认断开状态,上电自检完成后一直处于关闭模式。该开关可以是photomos、继电器,从而使得第一模块的第一输出与主电路之间和第二模块的第二输出与主电路之间均包括插拔开关。响应于模块自检正常且满足模块插拔稳定时间后,闭合所述模块与主电路之间的插拔开关,从而实现第一模块和第二模块的冗余状态确认,更进一步可以实现冗余切换。
81.在一个实施例中,连接到第一模块的第一微控制单元和连接到第二模块的第二微控制单元可以通过包括但不限于冗余交互通信线路的通信路线进行信号交互,从而互相交换第一模块和第二模块的健康状态(例如模块寿命,电流稳定性指数等),从而在初始状态选择健康状态指标更高的模块上电。
82.基于以上方法,可以采用硬件在位检测方式实现对方模块的在位和失电的检测,在位检测针为最短针,保障拔卡时先断开,实现快速切换;与非门输出开关控制模块上电后的工作备用状态,当模块刚上电时,开关断开,模块处于备用工作状态,当上电完成,模块自检正常且预留足够模块插拔稳定时间,闭合开关,保障插卡过程中的模块处于备用状态,此后模块的工作状态由与非门的输入决定;逻辑门的一个输入关联对方模块的失电或者不在位信号,另一个输入关联其他重大故障或者cpu控制信号,其他重大故障可以是电压基准、板内电源等,cpu控制信号主要根据cpu收到的指令或者根据与对方的故障轻重程度来决定是否需要工作还是备用;冗余交互还有一对通信线,主要用于交互对方模块的故障状态,采集输出信息等,可以采用多种方式实现,如uart,保障正常交互过程中的可靠切换。
83.图5示出了可以用来实施本公开内容的实施例的示例电子设备500的示意性框图。例如,如图1所示的计算设备110可以由电子设备500来实施。如图所示,电子设备500包括中央处理单元(cpu)501,其可以根据存储在只读存储器(rom)502中的计算机程序指令或者从存储单元508加载到随机存取存储器(ram)503中的计算机程序指令,来执行各种适当的动作和处理。在随机存取存储器503中,还可存储电子设备500操作所需的各种程序和数据。中央处理单元501、只读存储器502以及随机存取存储器503通过总线504彼此相连。输入/输出(i/o)接口505也连接至总线504。
84.电子设备500中的多个部件连接至输入/输出接口505,包括:输入单元506,例如键盘、鼠标、麦克风等;输出单元507,例如各种类型的显示器、扬声器等;存储单元508,例如磁盘、光盘等;以及通信单元509,例如网卡、调制解调器、无线通信收发机等。通信单元509允许设备500通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
85.上文所描述的各个过程和处理,例如方法200可由中央处理单元501执行。例如,在
一些实施例中,方法200可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元508。在一些实施例中,计算机程序的部分或者全部可以经由只读存储器502和/或通信单元509而被载入和/或安装到设备500上。当计算机程序被加载到随机存取存储器503并由中央处理单元501执行时,可以执行上文描述的方法200中的一个或多个动作。
86.本公开涉及方法、装置、系统、电子设备、计算机可读存储介质和/或计算机程序产品。计算机程序产品可以包括用于执行本公开的各个方面的计算机可读程序指令。
87.计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式压缩盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
88.这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘计算设备。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
89.用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,编程语言包括面向对象的编程语言—诸如smalltalk、c 等,以及常规的过程式编程语言—诸如“c”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
90.这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
91.这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理单元执行时,产生了实现流程图和/或框图中的一个或多个方框中规定
的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
92.也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
93.附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
94.本领域普通技术人员应当了解,本发明不限定于上述的实施例,本发明可以在不偏离其主旨与范围内以许多其它的形式实施。因此,所展示的示例与实施例被视为示意性的而非限制性的,在不脱离如所附各权利要求所定义的本发明精神及范围的情况下,本发明可能涵盖各种的修改与替换。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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