一种多主系统交互通信与管理方法和装置转让专利

申请号 : CN201911385746.8

文献号 : CN111123792B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 季冬冬郭雷张广乐

申请人 : 苏州浪潮智能科技有限公司

摘要 :

本发明提供一种多主系统交互通信与管理方法和装置,方法包括以下步骤:响应于用户向主系统发送指令,所述主系统向可编程逻辑器件上的其对应的控制权寄存器中写入控制权指示标志,并将所述控制权指示标志同步给其他主系统;所述可编程逻辑器件周期性轮询所有所述控制权寄存器,并响应于多个控制权寄存器中存在控制权指示标志,而根据预设的优先级将优先级最高的主系统的控制指令传送到外围设备以进行控制;将所述优先级最高的主系统的控制指令同步给其他主系统。本发明实现了多主系统的交互通信与管理,保证了数据通信无障碍,避免了冲突。

权利要求 :

1.一种多主系统交互通信与管理方法,其特征在于,包括以下步骤:响应于用户向主系统发送指令,所述主系统向可编程逻辑器件上的其对应的控制权寄存器中写入控制权指示标志,并将所述控制权指示标志同步给其他主系统;

所述可编程逻辑器件周期性轮询所有所述控制权寄存器,并响应于多个控制权寄存器中存在控制权指示标志,而根据预设的优先级将优先级最高的主系统的控制指令传送到外围设备以进行控制,其包括:响应于只有一个控制权寄存器中存在相应的控制权指示标志,而将所述控制权寄存器对应的主系统的控制指令传送到外围设备进行控制;

且将所述优先级最高的主系统的控制指令同步给其他主系统。

2.根据权利要求1所述的方法,其特征在于,响应于用户向主系统发送指令,所述主系统向可编程逻辑器件上的其对应的控制权寄存器中写入控制权指示标志,并将所述控制权指示标志同步给其他主系统包括:

响应于用户向主系统发送指令,所述主系统将控制指令写入所述可编程逻辑器件上的其对应的数据寄存器中。

3.根据权利要求2所述的方法,其特征在于,将所述优先级最高的主系统的控制指令同步给其他主系统包括:

将所述优先级最高的主系统对应的数据寄存器中写入的控制指令同步到其他主系统对应的数据寄存器中。

4.根据权利要求1所述的方法,其特征在于,所述将所述优先级最高的主系统的控制指令同步给其他主系统包括:

将所述存在控制权指示标志的控制权寄存器对应的主系统的控制指令同步给其他主系统。

5.根据权利要求1所述的方法,其特征在于,所述主系统包括BMC、CPU、PCH。

6.根据权利要求1所述的方法,其特征在于,所述可编程逻辑器件包括CPLD、FPGA。

7.一种多主系统交互通信与管理装置,其特征在于,包括多个主系统以及与所述多个主系统通信连接的可编程逻辑器件,其中,所述多个主系统配置为响应于用户的发送指令,向所述可编程逻辑器件上的其对应的控制权寄存器中写入控制权指示标志,并将所述控制权指示标志同步给其他主系统;

所述可编程逻辑器件配置为周期性轮询所有所述控制权寄存器,并响应于多个控制权寄存器中存在控制权指示标志,而根据预设的优先级将优先级最高的主系统的控制指令传送到外围设备以进行控制,其包括:响应于只有一个控制权寄存器中存在相应的控制权指示标志,而将所述控制权寄存器对应的主系统的控制指令传送到外围设备进行控制;

并且将所述优先级最高的主系统的控制指令同步给其他主系统。

8.根据权利要求7所述的装置,其特征在于,所述主系统包括BMC、CPU、PCH。

9.根据权利要求7所述的装置,其特征在于,所述可编程逻辑器件包括CPLD、FPGA。

说明书 :

一种多主系统交互通信与管理方法和装置

技术领域

[0001] 本发明涉及计算机领域,并且更具体地,涉及一种多主系统交互通信与管理方法和装置。

背景技术

[0002] 在交换机等系统中,通过CPLD‑FPGA芯片控制整个交换机的上、下电时序控制、通信控制、按键检测、风扇转速控制、SFP点灯控制及串口切换、I2C多主控制,高速数据交互
等。CPLD‑FPGA控制某些关键器件的工作状态,因此与交换机系统整个硬件的工作状态息息
相关。同时CPLD‑FPGA是一款半定制的专用集成电路,具有灵活编程、快速响应、集成度高等
系列优点,在前期开发验证及控制应用领域得到越来越广泛的应用。
[0003] 上游控制器如BMC或CPU通过基于I2C协议通过寄存器与CPLD‑FPGA实现交互通信,包括上游控制器从CPLD‑FPGA获取信息以及向CPLD‑FPGA寄存器写入控制指令控制CPLD‑
FPGA外围设备。对于单主系统比较简单,只需要向CPLD‑FPGA写入控制数据就可以。但是对
于多主系统,为便于独立控制通常设计多套独立寄存器,因此对于多主系统还涉及控制权
限转化与信息同步问题。

发明内容

[0004] 鉴于此,本发明实施例的目的在于提出一种多主系统交互通信与管理方法和装置,以解决多主系统中的控制权限转化与信息同步问题。
[0005] 基于上述目的,本发明实施例的一方面提供了一种多主系统交互通信与管理方法,包括以下步骤:
[0006] 响应于用户向主系统发送指令,所述主系统向可编程逻辑器件上的其对应的控制权寄存器中写入控制权指示标志,并将所述控制权指示标志同步给其他主系统;
[0007] 所述可编程逻辑器件周期性轮询所有所述控制权寄存器,并响应于多个控制权寄存器中存在控制权指示标志,而根据预设的优先级将优先级最高的主系统的控制指令传送
到外围设备以进行控制;
[0008] 将所述优先级最高的主系统的控制指令同步给其他主系统。
[0009] 在一些实施方式中,响应于用户向主系统发送指令,所述主系统向可编程逻辑器件上的其对应的控制权寄存器中写入控制权指示标志,并将所述控制权指示标志同步给其
他主系统包括:
[0010] 响应于用户向主系统发送指令,所述主系统将控制指令写入所述可编程逻辑器件上的其对应的数据寄存器中。
[0011] 在一些实施方式中,将所述优先级最高的主系统的控制指令同步给其他主系统包括:
[0012] 将所述优先级最高的主系统对应的数据寄存器中写入的控制指令同步到其他主系统对应的数据寄存器中。
[0013] 在一些实施方式中,所述可编程逻辑器件周期性轮询所有所述控制权寄存器,并响应于多个控制权寄存器中存在控制权指示标志,而根据预设的优先级将优先级最高的主
系统的控制指令传送到外围设备以进行控制包括:
[0014] 响应于只有一个控制权寄存器中存在相应的控制权指示标志,而将所述控制权寄存器对应的主系统的控制指令传送到外围设备进行控制。
[0015] 在一些实施方式中,所述将所述优先级最高的主系统的控制指令同步给其他主系统包括:
[0016] 将所述存在控制权指示标志的控制权寄存器对应的主系统的控制指令同步给其他主系统。
[0017] 在一些实施方式中,所述主系统包括BMC、CPU、PCH。
[0018] 在一些实施方式中,所述可编程逻辑器件包括CPLD、FPGA。
[0019] 本发明实施例的另一方面提供了一种多主系统交互通信与管理装置,包括多个主系统以及与所述多个主系统通信连接的可编程逻辑器件,其中,
[0020] 所述多个主系统配置为响应于用户的发送指令,向所述可编程逻辑器件上的其对应的控制权寄存器中写入控制权指示标志,并将所述控制权指示标志同步给其他主系统;
[0021] 所述可编程逻辑器件配置为周期性轮询所有所述控制权寄存器,并响应于多个控制权寄存器中存在控制权指示标志,而根据预设的优先级将优先级最高的主系统的控制指
令传送到外围设备以进行控制,并且将所述优先级最高的主系统的控制指令同步给其他主
系统。
[0022] 在一些实施方式中,所述主系统包括BMC、CPU、PCH。
[0023] 在一些实施方式中,所述可编程逻辑器件包括CPLD、FPGA。
[0024] 本发明具有以下有益技术效果:本发明实施例提供的一种多主系统交互通信与管理方法和装置通过CPLD、FPGA寄存器实现了多主系统的交互通信与管理,保证了数据通信
无障碍,避免了冲突;同时,寄存器之间的同步通信机制,保证控制器可以实时获得外围设
备的准确信息,解决了不能全时段监控的问题,保证了交换机设计的灵活可靠性。

附图说明

[0025] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本
发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以
根据这些附图获得其他的实施例。
[0026] 图1是根据本发明的一种多主系统交互通信与管理方法的流程图;
[0027] 图2是根据本发明实施例的一种多主系统交互通信与管理装置的示意图。

具体实施方式

[0028] 以下描述了本发明的实施例。然而,应该理解,所公开的实施例仅仅是示例,并且其他实施例可以采取各种替代形式。附图不一定按比例绘制;某些功能可能被夸大或最小
化以显示特定部件的细节。因此,本文公开的具体结构和功能细节不应被解释为限制性的,
而仅仅是作为用于教导本领域技术人员以各种方式使用本发明的代表性基础。如本领域普
通技术人员将理解的,参考任何一个附图所示出和描述的各种特征可以与一个或多个其他
附图中所示的特征组合以产生没有明确示出或描述的实施例。所示特征的组合为典型应用
提供了代表性实施例。然而,与本发明的教导相一致的特征的各种组合和修改对于某些特
定应用或实施方式可能是期望的。
[0029] 为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
[0030] 基于上述目的,本发明的实施例一方面提出了一种多主系统交互通信与管理方法,如图1所示,包括以下步骤:
[0031] 步骤S101:响应于用户向主系统发送指令,所述主系统向可编程逻辑器件上的其对应的控制权寄存器中写入控制权指示标志,并将所述控制权指示标志同步给其他主系
统;
[0032] 步骤S102:所述可编程逻辑器件周期性轮询所有所述控制权寄存器,并响应于多个控制权寄存器中存在控制权指示标志,而根据预设的优先级将优先级最高的主系统的控
制指令传送到外围设备以进行控制;
[0033] 步骤S103:将所述优先级最高的主系统的控制指令同步给其他主系统。
[0034] 在一些实施例中,响应于用户向主系统发送指令,所述主系统向可编程逻辑器件上的其对应的控制权寄存器中写入控制权指示标志,并将所述控制权指示标志同步给其他
主系统包括:响应于用户向主系统发送指令,所述主系统将控制指令写入所述可编程逻辑
器件上的其对应的数据寄存器中。例如,在可编程逻辑器件上划分对应于不同主系统的独
立寄存器区,每一个主系统对应的寄存器区都包括控制权寄存器和数据寄存器,以分别存
放该主系统的控制权指示标志和控制指令。
[0035] 在一些实施例中,将所述优先级最高的主系统的控制指令同步给其他主系统包括:将所述优先级最高的主系统对应的数据寄存器中写入的控制指令同步到其他主系统对
应的数据寄存器中。也就是说,当外围设备在某一个主系统控制下时,其他主系统除了能获
知控制权在该主系统控制下外,还要能实时获知该主系统的控制数据。
[0036] 在一些实施例中,所述可编程逻辑器件周期性轮询所有所述控制权寄存器,并响应于多个控制权寄存器中存在控制权指示标志,而根据预设的优先级将优先级最高的主系
统的控制指令传送到外围设备以进行控制包括:响应于只有一个控制权寄存器中存在相应
的控制权指示标志,而将所述控制权寄存器对应的主系统的控制指令传送到外围设备进行
控制。
[0037] 在一些实施例中,所述将所述优先级最高的主系统的控制指令同步给其他主系统包括:将所述存在控制权指示标志的控制权寄存器对应的主系统的控制指令同步给其他主
系统。
[0038] 在一些实施例中,在可编程逻辑器件上每个主系统对应的独立寄存器区中可以包括一个其他主系统可以访问的寄存器,该寄存器中的内容可实时同步该主系统的控制权寄
存器中的内容,即每个独立寄存器区中的控制权寄存器和其他主系统可以访问的寄存器中
的内容始终保持一致。这样,其他主系统就可以获知哪个主系统写入过控制权指示标志,即
哪个主系统接收过用户指令以试图通过该主系统对外围设备进行控制。当只有一个主系统
向其对应的控制权寄存器中写入过控制权指示标志时,该主系统可直接对外围设备进行控
制,并且其他主系统从该主系统同步控制指令信息。
[0039] 在一些实施例中,所述主系统包括BMC、CPU、PCH或其他任何适用于本发明的处理系统。
[0040] 在一些实施例中,所述可编程逻辑器件包括CPLD、FPGA等任何可实现本发明的可编程逻辑器件。
[0041] 在根据本发明的一个实施例中,如图2所示,在交换机双主控制系统中,例如散热双主控制系统、灯板双主控制系统及写保护双主控制系统中,BMC与CPU在CPLD/FPGA内部都
2
有可以独立访问及管理控制互不干涉的IC驱动与寄存器。当BMC与CPU通过CPLD或FPGA控
制外围设备行为时,除保证BMC与CPU可单独控制独立寄存器外,还设计了仲裁机制与同步
通信机制,仲裁机制是指CPLD/FPGA经过逻辑分析后,可以选择BMC或CPU的控制指令控制外
围设备,这就需要设置控制指示标志,分别来指示BMC与CPU的控制权,同时指示控制权的标
志必须双方可见。对于BMC或CPU独立的数据寄存器也是同步的,也就是当外围设备在BMC控
制下时,CPU除了能获知控制权在BMC控制下外,还要能实时获知BMC的控制数据。反之亦然,
当外围设备在CPU控制下时,BMC除了能获知控制权在CPU控制下外,还要能实时获知CPU的
控制数据。
[0042] 当外围设备在BMC控制下时,在CPU相对应的寄存器中需要做如下设计:一方面通过CPU控制权可读寄存器反馈BMC控制权指示标志;另一方面,当BMC控制权指示标志有效
时,允许将BMC写入数据寄存器的内容同步给CPU寄存器;除此之外,CPLD/FPGA内部的CPU寄
存器内容只允许CPU操作。反之亦然,当外围设备在CPU控制下时,在BMC寄存器需要做如下
设计:一方面通过BMC控制权可读寄存器反馈CPU控制权指示标志;另一方面,当CPU控制权
指示标志有效时,允许将CPU写入数据寄存器的内容同步给BMC寄存器;除此之外,CPLD/
FPGA内部的BMC寄存器内容只允许BMC操作。
[0043] 当BMC与CPU控制权指示标志同时存在时,CPLD/FPGA默认CPU或BMC单方面获得控制权,也就是说,通过仲裁机构根据预先设置的优先级使优先级高的获得控制权,并通过仲
裁机构将获得控制权一方的控制指令传送到外围设备。与此同时,当一方获得控制权时,仲
裁机构将获取控制权一方的控制指令等相关信息同步到另一方能访问的寄存器中。也就是
说,当双主控制的外围器件在BMC控制下时,BMC写入的控制数据还可以同步到CPU能访问的
寄存器,这样CPU就可以根据BMC的控制信息和实时反馈信息进行实时监测;同理,当双主控
制的外围器件在CPU控制下时,CPU写入的控制数据还可以同步到BMC能访问的寄存器,这样
BMC就可以根据CPU的控制信息和实时反馈信息进行实时监测。这样,BMC和CPU实时都可以
获知某外围器件当前在谁的控制下,以方便监控和上层控制策略设计。
[0044] 在技术上可行的情况下,以上针对不同实施例所列举的技术特征可以相互组合,或者改变、添加以及省略等等,从而形成本发明范围内的另外实施例。
[0045] 从上述实施例可以看出,本发明实施例提供的一种多主系统交互通信与管理方法通过CPLD、FPGA寄存器实现了多主系统的交互通信与管理,保证了数据通信无障碍,避免了
冲突;同时,寄存器之间的同步通信机制,保证控制器可以实时获得外围设备的准确信息,
解决了不能全时段监控的问题,保证了交换机设计的灵活可靠性。
[0046] 基于上述目的,本发明实施例的另一个方面,提出了一种多主系统交互通信与管理装置,包括多个主系统以及与多个主系统通信连接的可编程逻辑器件,其中,
[0047] 所述多个主系统配置为响应于用户的发送指令,向所述可编程逻辑器件上的其对应的控制权寄存器中写入控制权指示标志,并将所述控制权指示标志同步给其他主系统;
[0048] 所述可编程逻辑器件配置为周期性轮询所有所述控制权寄存器,并响应于多个控制权寄存器中存在控制权指示标志,而根据预设的优先级将优先级最高的主系统的控制指
令传送到外围设备以进行控制,并且将所述优先级最高的主系统的控制指令同步给其他主
系统。
[0049] 在一些实施例中,所述主系统包括BMC、CPU、PCH。
[0050] 在一些实施例中,所述可编程逻辑器件包括CPLD、FPGA。
[0051] 所述执行所述多主系统交互通信与管理方法的计算机设备的任何一个实施例,可以达到与之对应的前述任意方法实施例相同或者相类似的效果。
[0052] 最后需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关硬件来完成,所述的程序可存储于计算机可
读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存
储介质可为磁碟、光盘、只读存储记忆体(ROM)或随机存储记忆体(RAM)等。
[0053] 此外,典型地,本发明实施例公开所述的装置、设备等可为各种电子终端设备,例如手机、个人数字助理(PDA)、平板电脑(PAD)、智能电视等,也可以是大型终端设备,如服务
器等,因此本发明实施例公开的保护范围不应限定为某种特定类型的装置、设备。本发明实
施例公开所述的客户端可以是以电子硬件、计算机软件或两者的组合形式应用于上述任意
一种电子终端设备中。
[0054] 此外,根据本发明实施例公开的方法还可以被实现为由CPU执行的计算机程序,该计算机程序可以存储在计算机可读存储介质中。在该计算机程序被CPU执行时,执行本发明
实施例公开的方法中限定的上述功能。
[0055] 此外,上述方法步骤以及系统单元也可以利用控制器以及用于存储使得控制器实现上述步骤或单元功能的计算机程序的计算机可读存储介质实现。
[0056] 此外,应该明白的是,本文所述的计算机可读存储介质(例如,存储器)可以是易失性存储器或非易失性存储器,或者可以包括易失性存储器和非易失性存储器两者。作为例
子而非限制性的,非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程
ROM(EPROM)、电可擦写可编程ROM(EEPROM)或快闪存储器。易失性存储器可以包括随机存取
存储器(RAM),该RAM可以充当外部高速缓存存储器。作为例子而非限制性的,RAM可以以多
种形式获得,比如同步RAM(DRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据速率SDRAM
(DDR SDRAM)、增强SDRAM(ESDRAM)、同步链路DRAM(SLDRAM)、以及直接Rambus RAM(DRRAM)。
所公开的方面的存储设备意在包括但不限于这些和其它合适类型的存储器。
[0057] 本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬
件和软件的这种可互换性,已经就各种示意性组件、方块、模块、电路和步骤的功能对其进
行了一般性的描述。这种功能是被实现为软件还是被实现为硬件取决于具体应用以及施加
给整个系统的设计约束。本领域技术人员可以针对每种具体应用以各种方式来实现所述的
功能,但是这种实现决定不应被解释为导致脱离本发明实施例公开的范围。
[0058] 结合这里的公开所描述的各种示例性逻辑块、模块和电路可以利用被设计成用于执行这里所述功能的下列部件来实现或执行:通用处理器、数字信号处理器(DSP)、专用集
成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑器件、分立门或晶体管逻辑、分
立的硬件组件或者这些部件的任何组合。通用处理器可以是微处理器,但是可替换地,处理
器可以是任何传统处理器、控制器、微控制器或状态机。处理器也可以被实现为计算设备的
组合,例如,DSP和微处理器的组合、多个微处理器、一个或多个微处理器结合DSP和/或任何
其它这种配置。
[0059] 结合这里的公开所描述的方法或算法的步骤可以直接包含在硬件中、由处理器执行的软件模块中或这两者的组合中。软件模块可以驻留在RAM存储器、快闪存储器、ROM存储
器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动盘、CD‑ROM、或本领域已知的任何其
它形式的存储介质中。示例性的存储介质被耦合到处理器,使得处理器能够从该存储介质
中读取信息或向该存储介质写入信息。在一个替换方案中,所述存储介质可以与处理器集
成在一起。处理器和存储介质可以驻留在ASIC中。ASIC可以驻留在用户终端中。在一个替换
方案中,处理器和存储介质可以作为分立组件驻留在用户终端中。
[0060] 在一个或多个示例性设计中,所述功能可以在硬件、软件、固件或其任意组合中实现。如果在软件中实现,则可以将所述功能作为一个或多个指令或代码存储在计算机可读
介质上或通过计算机可读介质来传送。计算机可读介质包括计算机存储介质和通信介质,
该通信介质包括有助于将计算机程序从一个位置传送到另一个位置的任何介质。存储介质
可以是能够被通用或专用计算机访问的任何可用介质。作为例子而非限制性的,该计算机
可读介质可以包括RAM、ROM、EEPROM、CD‑ROM或其它光盘存储设备、磁盘存储设备或其它磁
性存储设备,或者是可以用于携带或存储形式为指令或数据结构的所需程序代码并且能够
被通用或专用计算机或者通用或专用处理器访问的任何其它介质。此外,任何连接都可以
适当地称为计算机可读介质。例如,如果使用同轴线缆、光纤线缆、双绞线、数字用户线路
(DSL)或诸如红外线、无线电和微波的无线技术来从网站、服务器或其它远程源发送软件,
则上述同轴线缆、光纤线缆、双绞线、DSL或诸如红外线、无线电和微波的无线技术均包括在
介质的定义。如这里所使用的,磁盘和光盘包括压缩盘(CD)、激光盘、光盘、数字多功能盘
(DVD)、软盘、蓝光盘,其中磁盘通常磁性地再现数据,而光盘利用激光光学地再现数据。上
述内容的组合也应当包括在计算机可读介质的范围内。
[0061] 应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一
个以上相关联地列出的项目的任意和所有可能组合。
[0062] 上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
[0063] 本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读
存储介质中,上述提到的存储介质可以是只读存储器、磁盘或光盘等。
[0064] 上述实施例是实施方式的可能示例,并且仅仅为了清楚理解本发明的原理而提出。所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗
示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,
以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上所述的本发明
实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实
施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施
例的保护范围之内。