一种多电源模块的控制电路及控制方法转让专利

申请号 : CN201410822637.9

文献号 : CN104656478B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 程鸿博

申请人 : 迈普通信技术股份有限公司

摘要 :

本发明实施例公开了一种多电源模块的控制电路及控制方法,涉及供电电源控制技术领域,用于解决为了使得多电源模块的开关状态不被干扰而导致的在多电源模块的输入端增加复杂的电路的问题。该控制电路包括:第一控制逻辑电路和第二控制逻辑电路;其中,所述第一控制逻辑电路包括第一输入端,所述第二控制逻辑电路包括第二输出端;所述第一输入端与所述第二输出端连接;所述第二输出端用于在所述第二MPU对多电源模块进行主用控制时,输出第一电平信号,在所述第二MPU对所述多电源模块进行备用控制时,输出第二电平信号;所述第一控制逻辑电路用于在所述第一输入端输入第二电平信号时,控制所述第一CPLD对所述多电源模块的主用控制。

权利要求 :

1.一种多电源模块的控制电路,包括第一处理机MPU和第二MPU,其中,所述第一MPU包括第一复杂可编程逻辑器件CPLD,所述第二MPU包括第二CPLD;其特征在于,所述第一CPLD包括第一控制逻辑电路,所述第二CPLD包括第二控制逻辑电路;其中,所述第一控制逻辑电路包括第一输入端,所述第二控制逻辑电路包括第二输出端;所述第一输入端与所述第二输出端连接;

所述第二输出端用于在所述第二MPU对多电源模块进行主用控制时,输出第一电平信号,在所述第二MPU对所述多电源模块进行备用控制时,输出第二电平信号;

所述第一控制逻辑电路用于在所述第一输入端输入第二电平信号时,控制所述第一CPLD对所述多电源模块的主用控制;

所述第一控制逻辑电路还包括第一输出端,所述第二控制逻辑电路还包括第二输入端;所述第一输出端与所述第二输入端连接;

所述第一输出端用于在所述第一MPU对所述多电源模块进行主用控制时,输出所述第一电平信号,在所述第一MPU对所述多电源模块进行备用控制时,输出所述第二电平信号。

2.根据权利要求1所述的控制电路,其特征在于,所述第一输入端输入所述第一电平信号;所述第一控制逻辑电路还用于:在所述第一输出端输出所述第二电平信号时,控制所述第一CPLD对所述多电源模块的备用控制;和/或,在所述第一输出端输出所述第一电平信号时,当所述第一MPU所在的槽位位置信息为1时,控制所述第一CPLD对所述多电源模块的主用控制;当所述第一MPU所在的槽位位置信息为0时,控制所述第一CPLD对所述多电源模块的备用控制。

3.根据权利要求1所述的控制电路,其特征在于,所述第一输入端通过一电阻接地。

4.根据权利要求1至3任一项所述的控制电路,其特征在于,所述第一CPLD还包括:状态监测寄存器、输出/输入双向引脚和电源开/关控制寄存器;所述输出/输入双向引脚包括:输出端、接收端、发送端和控制端;所述输出端与所述多电源模块连接,所述接收端与所述状态监测寄存器连接,所述发送端与所述电源开/关控制寄存器连接;

所述第一控制逻辑电路还包括另一输出端;所述另一输出端与所述输出/输入双向引脚的控制端连接;

所述另一输出端用于在所述第一MPU对所述多电源模块进行备用控制时,输出第三电平信号,以控制所述输出/输入双向引脚为输入状态;在所述第一MPU对所述多电源模块进行主用控制时,输出第四电平信号,以控制所述输出/输入双向引脚为输出状态;

所述状态监测寄存器用于在所述输出/输入双向引脚为输入状态时记录所述多电源模块的当前开关状态。

5.一种多电源模块的控制方法,应用于包括第一处理机MPU和第二MPU的控制电路,其中,所述第一MPU包括第一复杂可编程逻辑器件CPLD,所述第二MPU包括第二CPLD;其特征在于,所述第一CPLD包括第一控制逻辑电路,所述第二CPLD包括第二控制逻辑电路;其中,所述第一控制逻辑电路包括第一输入端,所述第二控制逻辑电路包括第二输出端;所述第一输入端与所述第二输出端连接;

所述方法包括:

所述第一控制逻辑电路监测所述第二输出端的输出电平信号;其中,在所述第二MPU对多电源模块进行主用控制时,所述第二输出端的输出电平信号为第一电平信号,在所述第二MPU对所述多电源模块进行备用控制时,所述第二输出端的输出电平信号为第二电平信号;

当监测到所述第二输出端的输出电平信号为所述第二电平信号时,控制所述第一CPLD对所述多电源模块的主用控制;

所述第一控制逻辑电路还包括第一输出端,所述第二控制逻辑电路还包括第二输入端;所述第一输出端与所述第二输入端连接;所述方法还包括:向所述第二控制逻辑电路发送所述第一输出端的输出电平信号;其中,在所述第一MPU对多电源模块进行主用控制时,所述第一输出端的输出电平信号为所述第一电平信号,在所述第一MPU对所述多电源模块进行备用控制时,所述第一输出端的输出电平信号为所述第二电平信号。

6.根据权利要求5所述的方法,其特征在于,在监测到所述第二输出端的输出电平信号为所述第二电平信号之前,所述第一输出端的输出电平信号为所述第二电平信号;所述第一CPLD还包括状态监测寄存器,用于记录所述多电源模块的当前开关状态;所述方法还包括:获取所述状态监测寄存器记录的所述当前开关状态;

按照所述当前开关状态控制所述多电源模块。

7.根据权利要求6所述的方法,其特征在于,在所述获取所述状态监测寄存器记录的所述当前开关状态之前,所述方法还包括:控制所述状态监测寄存器监测并记录所述当前开关状态。

8.根据权利要求5所述的方法,其特征在于,当监测到所述第二输出端的输出电平信号为所述第一电平信号时,所述方法还包括:若所述第一输出端的输出电平信号为所述第二电平信号,则控制所述第一CPLD对所述多电源模块的备用控制;和/或,若所述第一输出端的输出电平信号为所述第一电平信号,则当所述第一MPU所在的槽位位置信息为1时,控制所述第一CPLD对所述多电源模块的主用控制;当所述第一MPU所在的槽位位置信息为0时,控制所述第一CPLD对所述多电源模块的备用控制。

说明书 :

一种多电源模块的控制电路及控制方法

技术领域

[0001] 本发明涉及供电电源控制技术领域,尤其涉及一种多电源模块的控制电路及控制方法。

背景技术

[0002] 随着通信设备功耗的不断增加,大型或者中型通信设备中一般需要设置多个电源模块(下文中称为“多电源模块”),用于对通信设备中的其他模块进行供电。为了提高电力使用效率,该通信设备中还包含用于控制多电源模块中的每个电源模块开/关的MPU(Main Processing Unit,主处理器)。
[0003] 为了防止出现因MPU故障而导致的无法正常控制多电源模块的问题,一般情况下,可以在通信设备中设置主MPU和备MPU;其中,当主MPU对多电源模块进行控制时,备MPU不工作,当主MPU故障时,备MPU对多电源模块进行控制。如图1所示,为一种多电源模块的控制电路(由主MPU和备MPU组成)的示意图。其中,主MPU与备MPU之间通过HA(High Availability,高可用性)连接;主MPU包括主MP(Manage Processor,管理处理器)、主CP(Control Processor,控制处理器)和主CPLD(Complex Programmable Logic Device,复杂可编程逻辑器件)等;备MPU包括备MP、备CP和备CPLD等;其中,CPLD包括电源开/关控制寄存器和控制逻辑电路等。
[0004] 目前,当主MPU发生故障,例如主MPU中的主MP发生故障时,多电源模块的控制方法包括:主CP监测到主MP发生故障的故障信息时,通过HA、备CP将该故障信息发送给备MP,以使得备MP控制备CPLD对多电源模块进行控制。
[0005] 在上述多电源模块的控制方法中,备MPU获知主MPU故障的过程需要经主MP、主CP、HA、备CP和备MP,然后由备MP控制备CPLD对多电源模块进行控制,这个过程需要耗费较长的时间,一般为毫秒级。由于通信设备中的依靠多电源模块供电的装置抗供电电源暂降和瞬断的要求为几百微秒到几十毫秒之间,因此,现有技术中需要在多电源模块的输入端增加复杂的电路来保障在上述过程中多电源模块的开关状态不被干扰。

发明内容

[0006] 本发明实施例提供一种多电源模块的控制电路及控制方法,用于解决为了使得多电源模块的开关状态不被干扰而导致的在多电源模块的输入端增加复杂的电路的问题。
[0007] 为达到上述目的,本发明的实施例采用如下技术方案:
[0008] 第一方面,提供一种多电源模块的控制电路,包括第一处理机MPU和第二MPU,其中,所述第一MPU包括第一复杂可编程逻辑器件CPLD,所述第二MPU包括第二CPLD;所述第一CPLD包括第一控制逻辑电路,所述第二CPLD包括第二控制逻辑电路;其中,
[0009] 所述第一控制逻辑电路包括第一输入端,所述第二控制逻辑电路包括第二输出端;所述第一输入端与所述第二输出端连接;
[0010] 所述第二输出端用于在所述第二MPU对多电源模块进行主用控制时,输出第一电平信号,在所述第二MPU对所述多电源模块进行备用控制时,输出第二电平信号;
[0011] 所述第一控制逻辑电路用于在所述第一输入端输入第二电平信号时,控制所述第一CPLD对所述多电源模块的主用控制。
[0012] 结合第一方面,在第一种可能的实现方式中,所述第一控制逻辑电路还包括第一输出端,所述第二控制逻辑电路还包括第二输入端;所述第一输出端与所述第二输入端连接;
[0013] 所述第一输出端用于在所述第一MPU对所述多电源模块进行主用控制时,输出所述第一电平信号,在所述第一MPU对所述多电源模块进行备用控制时,输出所述第二电平信号。
[0014] 结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述第一输入端输入所述第一电平信号;所述第一控制逻辑电路还用于:
[0015] 在所述第一输出端输出所述第二电平信号时,控制所述第一CPLD对所述多电源模块的备用控制;和/或,
[0016] 在所述第一输出端输出所述第一电平信号时,当所述第一MPU所在的槽位位置信息为1时,控制所述第一CPLD对所述多电源模块的主用控制;当所述第一MPU所在的槽位位置信息为0时,控制所述第一CPLD对所述多电源模块的备用控制。
[0017] 结合第一方面,在第三种可能的实现方式中,所述第一输入端通过一电阻接地。
[0018] 结合第一方面,第一方面的第一种可能的实现方式至第一方面的第三种可能的实现方式任一种,在第四种可能的实现方式中,所述第一CPLD还包括:状态监测寄存器、输出/输入双向引脚和电源开/关控制寄存器;所述输出/输入双向引脚包括:输出端、接收端、发送端和控制端;所述输出端与所述多电源模块连接,所述接收端与所述状态监测寄存器连接,所述发送端与所述电源开/关控制寄存器连接;
[0019] 所述第一控制逻辑电路还包括另一输出端;所述另一输出端与所述输出/输入双向引脚的控制端连接;
[0020] 所述另一输出端用于在所述第一MPU对所述多电源模块进行备用控制时,输出第三电平信号,以控制所述输出/输入双向引脚为输入状态;在所述第一MPU对所述多电源模块进行主用控制时,输出第四电平信号,以控制所述输出/输入双向引脚为输出状态;
[0021] 所述状态监测寄存器用于在所述输出/输入双向引脚为输入状态时记录所述多电源模块的当前开关状态。
[0022] 第二方面,提供一种多电源模块的控制方法,应用于包括第一处理机MPU和第二MPU的控制电路,其中,所述第一MPU包括第一复杂可编程逻辑器件CPLD,所述第二MPU包括第二CPLD;所述第一CPLD包括第一控制逻辑电路,所述第二CPLD包括第二控制逻辑电路;其中,
[0023] 所述第一控制逻辑电路包括第一输入端,所述第二控制逻辑电路包括第二输出端;所述第一输入端与所述第二输出端连接;
[0024] 所述方法包括:
[0025] 所述第一控制逻辑电路监测所述第二输出端的输出电平信号;其中,在所述第二MPU对多电源模块进行主用控制时,所述第二输出端的输出电平信号为第一电平信号,在所述第二MPU对所述多电源模块进行备用控制时,所述第二输出端的输出电平信号为第二电平信号;
[0026] 当监测到所述第二输出端的输出电平信号为所述第二电平信号时,控制所述第一CPLD对所述多电源模块的主用控制。
[0027] 结合第二方面,在第一种可能的实现方式中,所述第一控制逻辑电路还包括第一输出端,所述第二控制逻辑电路还包括第二输入端;所述第一输出端与所述第二输入端连接;所述方法还包括:
[0028] 向所述第二控制逻辑电路发送所述第一输出端的输出电平信号;其中,在所述第一MPU对多电源模块进行主用控制时,所述第一输出端的输出电平信号为所述第一电平信号,在所述第一MPU对所述多电源模块进行备用控制时,所述第一输出端的输出电平信号为所述第二电平信号。
[0029] 结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,在监测到所述第二输出端的输出电平信号为所述第二电平信号之前,所述第一输出端的输出电平信号为所述第二电平信号;所述第一CPLD还包括状态监测寄存器,用于记录所述多电源模块的当前开关状态;所述方法还包括:
[0030] 获取所述状态监测寄存器记录的所述当前开关状态;
[0031] 按照所述当前开关状态控制所述多电源模块。
[0032] 结合第二方面的第二种可能的实现方式,在第三种可能的实现方式中,在所述获取所述状态监测寄存器记录的所述当前开关状态之前,所述方法还包括:
[0033] 控制所述状态监测寄存器监测并记录所述当前开关状态。
[0034] 结合第二方面,在第四种可能的实现方式中,当监测到所述第二输出端的输出电平信号为所述第一电平信号时,所述方法还包括:
[0035] 若所述第一输出端的输出电平信号为所述第二电平信号,则控制所述第一CPLD对所述多电源模块的备用控制;和/或,
[0036] 若所述第一输出端的输出电平信号为所述第一电平信号,则当所述第一MPU所在的槽位位置信息为1时,控制所述第一CPLD对所述多电源模块的主用控制;当所述第一MPU所在的槽位位置信息为0时,控制所述第一CPLD对所述多电源模块的备用控制。
[0037] 本发明实施例提供的多电源模块的控制电路和控制方法,当第一MPU为备MPU,第二MPU为主MPU时,备MPU的第一控制逻辑电路可以直接监测第二输出端的输出电平信号,根据该电平信号获知第二控制逻辑电路所属的第二MPU是否发生故障,在一个时钟周期内,若发现第二MPU发生故障,则可以在下个时钟周期控制第一CPLD对多电源模块进行控制。可见,从第二MPU发生故障到第一CPLD对多电源模块进行控制最多需要两个时钟周期,两个时钟周期的时间可以为纳秒级,远远小于依靠多电源模块供电的装置抗供电电源暂降和瞬断的要求;因此,与现有技术相比,利用本发明实施例提供的多电源模块的控制电路时不需要在多电源模块的输入端增加复杂的电路来保障多电源模块的开关状态不被干扰。另外,本发明实施例提供的多电源模块的控制电路在硬件上做了改进,使得基于该控制电路的多电源模块的控制方法与现有技术中的多电源模块的控制方法相比,本发明实施例提供的多电源模块的控制方法大大降低了对软件控制的依赖程度。

附图说明

[0038] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0039] 图1为现有技术中提供的一种控制电路的示意图;
[0040] 图2为本发明实施例提供的一种多电源模块的控制电路的示意图;
[0041] 图3为本发明实施例提供的另一种多电源模块的控制电路的示意图;
[0042] 图4为本发明实施例提供的一种多电源模块的控制方法的流程图;
[0043] 图5为本发明实施例提供的另一种多电源模块的控制方法的流程图。

具体实施方式

[0044] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0045] 本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
[0046] 本发明实施例提供了一种多电源模块的控制电路20,如图2所示,包括第一处理机MPU和第二MPU,其中,所述第一MPU包括第一复杂可编程逻辑器件CPLD,所述第二MPU包括第二CPLD;所述第一CPLD包括第一控制逻辑电路201,所述第二CPLD包括第二控制逻辑电路202;其中,
[0047] 所述第一控制逻辑电路201包括第一输入端2011,所述第二控制逻辑电路202包括第二输出端2021;所述第一输入端2011与所述第二输出端2021连接;
[0048] 所述第二输出端2021用于在所述第二MPU对多电源模块进行主用控制时,输出第一电平信号,在所述第二MPU对所述多电源模块进行备用控制时,输出第二电平信号;
[0049] 所述第一控制逻辑电路201用于在所述第一输入端2011输入第二电平信号时,控制所述第一CPLD对所述多电源模块的主用控制。
[0050] 本发明实施例提供的多电源模块的控制电路20可以应用在利用MPU控制多电源模块的过程中。如图2所示,该控制电路20在原有的多电源模块的控制电路中的第一控制逻辑电路201上增加了第一输入端2011,第二控制逻辑电路202上增加了第二输出端2021,并增加了第一输入端2011与第二输出端2021之间的连线。
[0051] 需要说明的是,如图2所示,第一MPU中还包括第一MP和第一CP,第一CPLD与第一MP连接,第一MP与第一CP连接;第二MPU中还包括第二MP和第二CP,第二CPLD与第二MP连接,第二MP与第二CP连接。另外,第一CP和第二CP通过HA连接。需要说明的是,第一CPLD中还包括第一电源开/关控制寄存器,第二CPLD中还包括第二电源开/关控制寄存器。
[0052] 其中,第一电平信号和第二电平信号不相同,例如:当第一电平信号为高电平时,第二电平信号为低电平;当第二电平信号为高电平时,第一电平信号为低电平。具体的,高电平可以用“1”来表示,低电平可以用“0”来表示;当然,也可以将高电平用“0”来表示,低电平用“1”来表示。
[0053] 可选的,如图3所示,所述第一输入端2011通过一电阻接地。该电阻可以用于第一控制逻辑电路201在第一MPU上电,而第二MPU未上电,或者,第一MPU和第二MPU同时上电时,确定第一输入端2011输入的第二电平信号(由于第一输入端2011和第二输出端2021之间通过一电阻接地,在该情况下,第二电平信号为低电平),从而确定是否控制第一CPLD对多电源模块的主用控制。
[0054] 可选的,如图3所示,所述第一控制逻辑电路201还可以包括第一输出端2012,所述第二控制逻辑电路202还包括第二输入端2022;所述第一输出端2012与所述第二输入端2022连接;所述第一输出端2012用于在所述第一MPU对所述多电源模块进行主用控制时,输出所述第一电平信号,在所述第一MPU对所述多电源模块进行备用控制时,输出所述第二电平信号。该情况下,在第一输入端2011输入为第一电平信号的情况下,所述第一控制逻辑电路201还用于:
[0055] (1)在所述第一输出端2012输出所述第二电平信号时,控制所述第一CPLD对所述多电源模块的备用控制。
[0056] 示例性的,在控制电路20对多电源模块进行正常控制阶段,第一控制逻辑电路201监测第二输出端2021的电平信号为第一电平信号时,第一控制逻辑电路201确定第二MPU正在对多电源模块进行主用控制;且第一输出端2012输出第二电平信号时,第一控制逻辑电路201所属的第一MPU正在对多电源模块进行备用控制。此时,由于第一控制逻辑电路201并未监测到冲突情形(即通过监测第二输出端2021的电平信号,确定第一MPU和第二MPU均对多电源模块进行主用控制的情形),因此第一MPU保持对多电源模块的备用控制。
[0057] (2)在所述第一输出端2012输出所述第一电平信号时,当所述第一MPU所在的槽位位置信息为1时,控制所述第一CPLD对所述多电源模块的主用控制;当所述第一MPU所在的槽位位置信息为0时,控制所述第一CPLD对所述多电源模块的备用控制。
[0058] 示例性的,当第一MPU和第二MPU同时上电时,第一控制逻辑电路201和第二控制逻辑电路202均监测到对方的输出为第二电平信号;因此,第一控制逻辑电路201和第二控制逻辑电路202均确定自身对多电源模块进行主用控制,并且,第一输出端2012和第二输出端2021均输出第一电平信号。该情况下,第一控制逻辑电路201的第一输出端2012输出第一电平信号,并且监测到第二控制逻辑电路202的第二输出端2021也输出第一电平信号;第二控制逻辑电路202同理。则第一控制逻辑电路201和第二控制逻辑电路202根据其所属的MPU所在的槽位位置信息确定自身是否对多电源模进行主用控制。具体的,当控制逻辑电路所属的MPU所在的槽位位置信息为1时,控制逻辑电路控制其所属的CPLD对多电源模块的主用控制;该MPU所在的槽位位置信息为0时,控制逻辑电路控制其所属的CPLD对多电源模块的备用控制。其中,槽位位置信息存储在MPU中的控制逻辑电路中,第一控制逻辑电路201和第二控制逻辑电路202的槽位位置信息不同。
[0059] 具体的,第二控制逻辑电路202通过第二输入端2022监测第一控制逻辑电路201通过第一输出端2012输出的电平信号。如图3所示,第二输入端2022可以通过一电阻接地。该电阻可以用于第二控制逻辑电路202在第二MPU上电,而第一MPU未上电,或者,第一MPU和第二MPU同时上电时,确定第二输入端2022输入第二电平信号(由于第二输入端2022和第一输出端2012之间通过一电阻接地,在该情况下,第二电平信号为低电平),从而确定是否控制第二CPLD对多电源模块的主用控制。
[0060] 可选的,如图3所示,所述第一CPLD还包括:状态监测寄存器203、输出/输入双向引脚204和电源开/关控制寄存器205;所述输出/输入双向引脚204包括:输出端、接收端、发送端和控制端;所述输出端与所述多电源模块连接,所述接收端与所述状态监测寄存器203连接,所述发送端与所述电源开/关控制寄存器205连接;
[0061] 所述第一控制逻辑电路201还包括另一输出端2013;所述另一输出端2013与所述控制端连接;
[0062] 所述另一输出端2013用于在所述第一MPU对所述多电源模块进行备用控制时,输出第三电平信号,以控制所述输出/输入双向引脚204为输入状态;在所述第一MPU对所述多电源模块进行主用控制时,输出第四电平信号,以控制所述输出/输入双向引脚204为输出状态;
[0063] 所述状态监测寄存器203用于在所述输出/输入双向引脚204为输入状态时记录所述多电源模块的当前开关状态。
[0064] 需要说明的是,状态监测寄存器203记录的多电源模块的当前开关状态用于状态监测寄存器203所属的CPLD对多电源模块进行主用控制时根据该开关状态对多电源模块进行控制。
[0065] 具体的,如图3所示,第一控制逻辑电路201可以通过控制输出/输入双向引脚204来控制电源开/关控制寄存器205与多电源模块之间是否连通,或者,控制状态监测寄存器203与多电源模块之间是否连通。“输出/输入双向引脚204为输入状态”是指状态监测寄存器203与多电源模块之间连通,此时,状态监测寄存器203记录多电源模块的当前开关状态;
“输出/输入双向引脚204为输出状态”是指电源开/关控制寄存器205与多电源模块之间连通。
[0066] 如图3所示,第二CPLD也可以包括:状态监测寄存器、输出/输入双向引脚和电源开/关控制寄存器;另外,第二控制逻辑电路202也可以包括另一输出端。
[0067] 其中,第三电平信号和第四电平信号不相同;例如:当第三电平信号为高电平时,第四电平信号为低电平;当第四电平信号为高电平时,第三电平信号为低电平。具体的,高电平可以用“1”来表示,低电平可以用“0”来表示;当然,也可以将高电平用“0”来表示,低电平用“1”来表示。另外,第三电平信号可以和第一电平信号相同,也可以不同。
[0068] 需要说明的是,当第一MPU为主MPU时,第一MPU对多电源模块的控制方法包括:第一MP通过软件控制电源开/关控制寄存器205相应比特位的值控制多电源模块的开关,该比特位的值即多电源模块的开关状态;其中,电源开/关控制寄存器205相应比特位的值在第一MP控制下可能定期改变。例如,主MPU(即第一MPU)控制四个电源模块时,主MPU的电源开/关控制寄存器205通过输出/输入双向引脚204与四个电源模块相连,主MP控制该电源开/关控制寄存器205相应比特位的值,一个比特位对应一个电源模块,假设该值为0001(即开关状态),而当电源模块对应的比特位为0时该电源模块打开,则四个电源模块中的前三个电源模块为打开状态。
[0069] 需要说明的是,当第一控制逻辑电路201监测到第二输出端2021输出第二电平信号时,第一MPU对多电源模块的控制方法包括:第一控制逻辑电路201控制第一CPLD对多电源模块的主用控制后;第一MPU通过软件控制第一CP和第一MP对多电源模块的主用控制。
[0070] 需要说明的是,控制逻辑电路确定自身所属的CPLD对多电源模块进行主用控制时,在下个时钟周期使自身输出第一电平信号;确定自身所属的CPLD对多电源模块进行备用控制时,在下个时钟周期使自身输出第二电平信号。其中,本发明实施例对一个时钟周期的长短不进行限制。例如,当第一控制逻辑电路201所属的CPLD的时钟频率为25MHz时,一个时钟周期时间为40纳秒。
[0071] 本发明实施例提供的多电源模块的控制电路,当第一MPU为备MPU,第二MPU为主MPU时,备MPU的第一控制逻辑电路可以直接监测第二输出端的输出电平信号,根据该电平信号获知第二控制逻辑电路所属的第二MPU是否发生故障,在一个时钟周期内,若发现第二MPU发生故障,则可以在下个时钟周期控制第一CPLD对多电源模块进行控制。可见,从第二MPU发生故障到第一CPLD对多电源模块进行控制最多需要两个时钟周期,两个时钟周期的时间可以为纳秒级,远远小于依靠多电源模块供电的装置抗供电电源暂降和瞬断的要求;因此,与现有技术相比,利用本发明实施例提供的多电源模块的控制电路时不需要在多电源模块的输入端增加复杂的电路来保障多电源模块的开关状态不被干扰。另外,本发明实施例提供的多电源模块的控制电路在硬件上做了改进,使得基于该控制电路的多电源模块的控制方法与现有技术中的多电源模块的控制方法相比,本发明实施例提供的多电源模块的控制方法大大降低了对软件控制的依赖程度。
[0072] 本发明实施例还提供了一种多电源模块的控制方法,应用于包括第一处理机MPU和第二MPU的控制电路,其中,所述第一MPU包括第一复杂可编程逻辑器件CPLD,所述第二MPU包括第二CPLD;所述第一CPLD包括第一控制逻辑电路,所述第二CPLD包括第二控制逻辑电路;其中,所述第一控制逻辑电路包括第一输入端,所述第二控制逻辑电路包括第二输出端;所述第一输入端与所述第二输出端连接;如图4所示,该控制方法包括:
[0073] 401、所述第一控制逻辑电路监测所述第二输出端的输出电平信号;其中,在所述第二MPU对多电源模块进行主用控制时,所述第二输出端的输出电平信号为第一电平信号,在所述第二MPU对所述多电源模块进行备用控制时,所述第二输出端的输出电平信号为第二电平信号。
[0074] 本发明实施例提供的多电源模块的控制方法可以应用在利用MPU控制多电源模块的过程中。需要说明的是,在实现该方法的过程中,由于第一控制逻辑电路需要监测第二输出端的输出电平信号,因此需要保证第一MPU处于已上电状态。
[0075] 其中,第一电平信号和第二电平信号不相同,例如:当第一电平信号为高电平时,第二电平信号为低电平;当第二电平信号为高电平时,第一电平信号为低电平。具体的,高电平可以用“1”来表示,低电平可以用“0”来表示;当然,也可以将高电平用“0”来表示,低电平用“1”来表示。
[0076] 具体的,步骤401可以包括:第一控制逻辑电路在每个时钟周期内监测第二输出端的输出电平信号。其中,本发明实施例对一个时钟周期的长短不进行限制。例如,当第一控制逻辑电路所属的CPLD的时钟频率为25MHz时,一个时钟周期时间为40纳秒。
[0077] 402、当监测到所述第二输出端的输出电平信号为所述第二电平信号时,控制所述第一CPLD对所述多电源模块的主用控制。
[0078] 步骤402在具体实现时,当第一控制逻辑电路在当前时钟周期内监测到第二输出端的输出电平信号为第二电平信号时,在下个时钟周期,控制第一CPLD对多电源模块的主用控制。
[0079] 具体的,第二输出端的输出电平信号为第二电平信号可以包括以下几种情况:1、第二MPU未上电;2、第二MPU出现故障(例如,第二MPU突然断电等);3、程序控制第二MPU的第二输出端的输出电平信号为第二电平信号;4、第二MPU本身处于备用控制状态,因此,第二输出端输出第二电平信号。
[0080] 可选的,所述第一控制逻辑电路还包括第一输出端,所述第二控制逻辑电路还包括第二输入端;所述第一输出端与所述第二输入端连接;该方法还可以包括:向所述第二控制逻辑电路发送所述第一输出端的输出电平信号;其中,在所述第一MPU对多电源模块进行主用控制时,所述第一输出端的输出电平信号为所述第一电平信号,在所述第一MPU对所述多电源模块进行备用控制时,所述第一输出端的输出电平信号为所述第二电平信号。
[0081] 可选的,在步骤402之前,所述第一输出端的输出电平信号为所述第二电平信号;所述第一CPLD还包括状态监测寄存器,用于记录所述多电源模块的当前开关状态;该情况下,该方法还可以包括步骤1)-2):步骤1)、获取所述状态监测寄存器记录的所述当前开关状态;步骤2)、按照所述当前开关状态控制所述多电源模块。
[0082] 在该可选的方法中,在步骤1)之前,该方法还可以包括:控制所述状态监测寄存器监测并记录所述当前开关状态。该方法在具体实现时,多电源模块的当前开关状态改变一次,状态监测寄存器就记录一次多电源模块开关状态。
[0083] 具体的,当第一MPU为主MPU时,第一MPU对多电源模块的控制方法包括:第一MP通过软件控制电源开/关控制寄存器相应比特位的值控制多电源模块的开关,该比特位的值即多电源模块的开关状态;其中,电源开/关控制寄存器相应比特位的值在第一MP控制下可能定期改变。例如,主MPU(即第一MPU)控制四个电源模块时,主MPU的电源开/关控制寄存器与四个电源模块相连,主MP控制该电源开/关控制寄存器相应比特位的值,一个比特位对应一个电源模块,假设该值为0001(即开关状态),而当电源模块对应的比特位为0时该电源模块打开,则四个电源模块中的前三个电源模块为打开状态。
[0084] 另外,当第一控制逻辑电路监测到第二输出端输出第二电平信号时,第一MPU对多电源模块的控制方法可以包括:第一控制逻辑电路控制第一CPLD对多电源模块的主用控制后;第一MPU通过软件控制第一CP和第一MP对多电源模块的主用控制。
[0085] 另外,本发明中的MPU对多电源模块的控制方法还可以包括:当有软件命令备MPU(假设为第一MPU)开始对多电源模块进行控制时,第一MPU和第二MPU对多电源模块的控制方法可以包括:第一MPU通过软件控制第一CP和第一MP对多电源模块进行主用控制;第二MPU通过软件控制第二CP和第二MP对多电源模块进行备用控制;第一MP控制第一CPLD对多电源模块进行主用控制,此时,第一控制逻辑电路的第一输出端输出第一电平信号;第二MP控制第二CPLD对多电源模块进行备用控制,此时,第二控制逻辑电路的第二输出端输出第二电平信号。
[0086] 需要说明的是,现有技术中,在主MPU对多电源模块进行控制的过程中,主MP会周期性的将多电源模块的开关状态通过主CP、HA、备CP发送给备MP,用于当备MPU对多电源模块进行控制时,备MPU中的备MP利用该开关状态对多电源模块进行控制。而当主MP刚刚改变了一次多电源模块的开关状态就发生故障时,主MP无法将改变后的多电源模块的开关状态发送给主CP;该情况下,当备MPU对多电源模块进行控制时,备MPU中的备MP仍然使用未改变前的多电源模块的开关状态对多电源模块进行控制,从而容易造成设备运行的混乱。而本发明中,备MPU的状态监测寄存器会记录多电源模块的当前开关状态,当主MP刚刚改变了一次多电源模块的开关状态就发生故障时,备MPU的状态监测寄存器仍然可以获得改变后的多电源模块的开关状态,因此可以防止发生上述情况而造成的设备运行混乱问题。
[0087] 可选的,当监测到所述第二输出端的输出电平信号为所述第一电平信号时,该方法还包括以下两种情况:
[0088] 情况1、若所述第一输出端的输出电平信号为所述第二电平信号,则控制所述第一CPLD对所述多电源模块的备用控制。
[0089] 情况2、若所述第一输出端的输出电平信号为所述第一电平信号,则当所述第一MPU所在的槽位位置信息为1时,控制所述第一CPLD对所述多电源模块的主用控制;当所述第一MPU所在的槽位位置信息为0时,控制所述第一CPLD对所述多电源模块的备用控制。
[0090] 具体的,第一控制逻辑电路监测到第二输出端的输出电平信号为第一电平信号可以包括以下几种情况:1、第二MPU在第一MPU之前上电;2、第二MPU与第一MPU同时上电;3、第二MPU处于主用控制状态,因此,第二输出端输出第二电平信号。
[0091] 需要说明的是,实现该多电源模块的控制方法的一种多电源模块的控制电路可以为图2或图3所示的多电源模块的控制电路。
[0092] 本发明实施例提供的多电源模块的控制方法,当第一MPU为备MPU,第二MPU为主MPU时,备MPU的第一控制逻辑电路可以直接监测第二输出端的输出电平信号,根据该电平信号获知第二控制逻辑电路所属的第二MPU是否发生故障,在一个时钟周期内,若发现第二MPU发生故障,则可以在下个时钟周期控制第一CPLD对多电源模块进行控制。可见,从第二MPU发生故障到第一CPLD对多电源模块进行控制最多需要两个时钟周期,两个时钟周期的时间可以为纳秒级,远远小于依靠多电源模块供电的装置抗供电电源暂降和瞬断的要求;因此,与现有技术相比,利用本发明实施例提供的多电源模块的控制电路时不需要在多电源模块的输入端增加复杂的电路来保障多电源模块的开关状态不被干扰。另外,本发明实施例提供的多电源模块的控制电路在硬件上做了改进,使得基于该控制电路的多电源模块的控制方法与现有技术中的多电源模块的控制方法相比,本发明实施例提供的多电源模块的控制方法大大降低了对软件控制的依赖程度。
[0093] 下面通过具体的实施例对上述提供的多电源模块的控制方法进行示例性说明。
[0094] 本实施例的执行主体为第一控制逻辑电路,并且该实施例描述了第一MPU刚上电时如何确定自身是否对多电源模块进行主用控制和MPU对多电源模块进行正常控制时第一MPU如何确定自身是否对多电源模块进行主用控制。如图5所示,该方法可以包括以下步骤:
[0095] 501、在第一MPU刚上电时,监测第二输出端的输出电平信号。
[0096] 当第二输出端输出第一电平信号时,说明:第二MPU比第一MPU先上电,则执行步骤502;当第二输出端输出第二电平信号时,执行步骤503。
[0097] 502、控制第一CPLD对多电源模块进行备用控制,令第一输出端输出第二电平信号。
[0098] 步骤502后,执行步骤507。
[0099] 503、控制第一CPLD对多电源模块进行主用控制,令第一输出端输出第一电平信号。
[0100] 可选的,在步骤503之后,该方法还可以包括:第二控制逻辑电路执行步骤507-511。
[0101] 504、监测第二输出端的输出电平信号。
[0102] 当第二输出端输出第一电平信号时,说明:第二MPU与第一MPU同时上电,则执行步骤505;当第二输出端输出第二电平信号时,说明:第二MPU比第一MPU后上电、第二MPU不存在或者第二MPU故障,执行步骤506。
[0103] 505、判断第一MPU的槽位位置信息是否为1。
[0104] 若是,说明:第一MPU为预先设置的对多电源模块进行主用控制的MPU,则执行步骤506;若否,说明:第一MPU为预先设置的对多电源模块进行备用控制的MPU,则执行步骤502。
[0105] 506、控制第一CPLD对多电源模块进行主用控制,令第一输出端输出第一电平信号。
[0106] 执行步骤506后,则结束。
[0107] 需要说明的是,步骤501-506为第一MPU刚上电时确定自身是否对多电源模块进行主用控制的过程。
[0108] 507、在第i个时钟周期内控制状态监测寄存器监测多电源模块的当前开关状态;并在第i个时钟周期内监测第二输出端的输出电平信号;其中,i为正整数,i的初始值为1。
[0109] 当第二输出端输出第二电平信号时,说明:第二MPU故障或在软件程序的控制下第二MPU的主用控制状态变为备用控制状态,执行步骤508;当第二输出端输出第一电平信号时,说明:第二MPU目前对多电源模块进行主用控制,那么,此时第一输出端继续输出第二电平信号,则执行步骤511。
[0110] 508、控制第一CPLD对多电源模块进行主用控制,令第一输出端输出第一电平信号。
[0111] 509、获取状态监测寄存器记录的当前开关状态。
[0112] 510、在第i+1个时钟周期内按照当前开关状态对多电源模块进行主用控制。
[0113] 执行步骤510后,则结束。
[0114] 511、令i=i+1。
[0115] 执行步骤511后返回步骤507。
[0116] 需要说明的是,在第一控制逻辑电路控制第一CPLD对多电源模块进行主用控制,令第一输出端输出第一电平信号之后,所述方法还可以包括:当第一CP监测到第二MPU的故障(第二MPU发生故障或第二MPU未上电等)信息时,第一MPU通过软件控制第一MP和第一CP的主用控制。
[0117] 该实施例中,在MPU对多电源模块进行正常控制阶段,第一控制逻辑电路在第i个时钟周期监测第二输出端的输出电平信号,当确定自身需要对多电源模块进行主用控制时,在第i+1个时钟周期内对多电源模块进行主用控制;可见,从第一控制逻辑电路监测第二输出端的输出电平信号到对多电源模块进行主用控制,最多需要两个时钟周期;当第一控制逻辑电路所属的CPLD的时钟频率为25MHz时,最多需要80纳秒。
[0118] 本发明实施例提供的多电源模块的控制方法,当第一MPU为备MPU,第二MPU为主MPU时,备MPU的第一控制逻辑电路可以直接监测第二输出端的输出电平信号,根据该电平信号获知第二控制逻辑电路所属的第二MPU是否发生故障,在一个时钟周期内,若发现第二MPU发生故障,则可以在下个时钟周期控制第一CPLD对多电源模块进行控制。可见,从第二MPU发生故障到第一CPLD对多电源模块进行控制最多需要两个时钟周期,两个时钟周期的时间可以为纳秒级,远远小于依靠多电源模块供电的装置抗供电电源暂降和瞬断的要求;因此,与现有技术相比,利用本发明实施例提供的多电源模块的控制电路时不需要在多电源模块的输入端增加复杂的电路来保障多电源模块的开关状态不被干扰。另外,本发明实施例提供的多电源模块的控制电路在硬件上做了改进,使得基于该控制电路的多电源模块的控制方法与现有技术中的多电源模块的控制方法相比,本发明实施例提供的多电源模块的控制方法大大降低了对软件控制的依赖程度。
[0119] 最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。