CN117331863B - 电源信息的通信方法、系统、电子设备及存储介质 - Google Patents
电源信息的通信方法、系统、电子设备及存储介质 Download PDFInfo
- Publication number
- CN117331863B CN117331863B CN202311570979.1A CN202311570979A CN117331863B CN 117331863 B CN117331863 B CN 117331863B CN 202311570979 A CN202311570979 A CN 202311570979A CN 117331863 B CN117331863 B CN 117331863B
- Authority
- CN
- China
- Prior art keywords
- switch
- serial communication
- communication bus
- data line
- clock line
- 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.)
- Active
Links
- 230000006854 communication Effects 0.000 title claims abstract description 655
- 238000004891 communication Methods 0.000 title claims abstract description 655
- 238000000034 method Methods 0.000 title claims abstract description 50
- 230000004044 response Effects 0.000 claims abstract description 179
- 230000007175 bidirectional communication Effects 0.000 claims abstract description 51
- 230000002146 bilateral effect Effects 0.000 claims abstract description 48
- 230000002159 abnormal effect Effects 0.000 claims abstract description 25
- 238000004590 computer program Methods 0.000 claims description 40
- 230000005856 abnormality Effects 0.000 claims description 28
- 238000012544 monitoring process Methods 0.000 claims description 6
- 229920002492 poly(sulfone) Polymers 0.000 description 118
- 238000010586 diagram Methods 0.000 description 31
- 230000009471 action Effects 0.000 description 17
- 230000006870 function Effects 0.000 description 7
- 230000002457 bidirectional effect Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 230000003993 interaction Effects 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 108010028984 3-isopropylmalate dehydratase Proteins 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/102—Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明提供了一种电源信息的通信方法、系统、电子设备及存储介质,应用于至少一个服务器电源,至少一个服务器电源包括第一开关和第二开关,第一开关包括第一时钟线开关和第一数据线开关,第二开关包括第二时钟线开关和第二数据线开关,方法包括:响应于接收到基板管理控制器通过第一串行通信总线发送的访问请求,通过第一串行通信总线向基板管理控制器返回响应信息,其中第一串行通信总线包括第一数据线和第一时钟线;根据轮询周期确定与基板管理控制器之间的工作通信是否异常;若是,则通过第一串行通信总线和第二串行通信总线中的一个以及第一开关和第二开关中的一组恢复与基板管理控制器之间的通信。通过互换双边双向通信保证BMC与PSU正常通信。
Description
技术领域
本发明涉及服务器通信技术领域,特别是涉及一种电源信息的通信方法、系统、电子设备及存储介质。
背景技术
服务器系统需要随时从服务器电源(Server PSU)读取各种参数,以便做电源管理与系统最佳化。读取内容可分类为电压参数,电流参数,温度参数,功率参数,风扇转速等…。服务器利用 BMC 透过 I2C Bus(硬体层)访问伺服器电源,透过IPMI指令集(软体层)利用PMBus1.2规范,从Server PSU获取各项读值。其架构图如图1 Server PSU 与服务器BMC沟通架构图所示。在I2C Bus上会有许多元件也在Bus上等待与BMC沟通,BMC会透过不同位址来区分要寻访的元件。平均来说约每10毫秒 – 2秒会寻访一次(依系统I2C Bus轮寻时间而定),并获取所需资讯。I2C Bus沟通是双向性的,需有元件发出指令才会获得回覆。但是如果没有任何一方(PSU 或BMC)送出寻访命令,该PSU会一直持续等待指令。BMC也会因为没有收到PSU回覆,一直等待PSU回覆,也不会做下一次指令发送。此时我们就可以称呼这现象为”服务器电源与BMC通信宕机。此时BMC也会因为无法会获取 Server PSU各种参数读值产生报警。
发明内容
基于此,有必要针对上述技术问题,提供一种能恢复服务器系统中通信宕机的电源信息的通信方法、系统、电子设备及存储介质。
第一方面,提供一种电源信息的通信方法,应用于至少一个服务器电源,所述至少一个服务器电源包括第一开关和第二开关,第一开关包括第一时钟线开关和第一数据线开关,第二开关包括第二时钟线开关和第二数据线开关,所述方法包括:
响应于接收到基板管理控制器通过第一串行通信总线发送的访问请求,通过所述第一串行通信总线向所述基板管理控制器返回响应信息,其中所述第一串行通信总线包括第一数据线和第一时钟线;
根据用户设置的轮询周期确定与所述基板管理控制器之间的工作通信是否异常;
若是,则通过所述第一串行通信总线和第二串行通信总线中的一个以及第一开关和第二开关中的一组恢复与所述基板管理控制器之间的通信,其中所述第二串行通信总线包括第二数据线和第二时钟线,所述第一时钟线和所述第二时钟线并联;所述第一数据线和第二数据线并联。
在其中一个实施例中,所述根据用户设置的轮询周期确定与所述基板管理控制器之间的工作通信是否异常包括:
响应于监测到所述第一数据线的管脚电平和所述第一时钟线的管脚电平都为高电平,确定在所述轮询周期内是否接收到所述访问请求;
若是,则通过所述第一串行通信总线向所述基板管理控制器返回所述响应信息;
若否,则确定所述工作通信异常。
在其中一个实施例中,所述通过所述第一串行通信总线和第二串行通信总线中的一个以及第一开关和第二开关中的一组恢复与所述基板管理控制器之间的通信包括:
通过所述第一串行通信总线、第一数据线对应的第一数据线开关和第一时钟线对应的第一时钟线开关尝试恢复所述工作通信;
响应于通过所述第一串行通信总线、所述第一数据线开关和所述第一时钟线开关尝试恢复所述工作通信失败,通过所述第二串行通信总线、所述第一数据线开关和所述第一时钟线开关尝试恢复所述工作通信;
响应于通过所述第二串行通信总线、所述第一数据线开关和所述第一时钟线开关尝试恢复所述工作通信失败,通过所述第二串行通信总线、所述第二数据线开关和所述第二时钟线开关进行与所述基板管理控制器的互换双边双向通信。
在其中一个实施例中,所述通过所述第一串行通信总线、所述第一数据线开关和所述第一时钟线开关尝试恢复所述工作通信包括:
根据用户设置的时间阈值导通第一数据线开关以将第一数据线的管脚电平持续拉低为低电平以及导通第一时钟线开关以将第一时钟线的管脚电平持续拉低为低电平;
确定通过所述第一串行通信总线在所述轮询周期内是否接收到所述基板管理控制器发送的访问请求;
若是,则通过所述第一串行通信总线向所述基板管理控制器返回所述响应信息;
若否,则根据次数阈值和所述第一串行通信总线继续尝试恢复所述工作通信。
在其中一个实施例中,所述通过所述第一串行通信总线向所述基板管理控制器返回所述响应信息包括:
通过所述第一串行通信总线中的第一时钟线和所述第一时钟线开关返回所述响应信息对应的时钟信号;
通过所述第一串行通信总线中的第一数据线和所述第一数据线开关返回所述响应信息对应的数据信号。
在其中一个实施例中,所述通过所述第二串行通信总线、所述第一数据线开关和所述第一时钟线开关再次尝试恢复所述工作通信包括:
根据时间阈值导通所述第一数据线开关以将第二数据线的管脚电平持续拉低为低电平以及导通所述第一时钟线开关以将第二时钟线的管脚电平持续拉低为低电平;
确定通过所述第二串行通信总线在所述轮询周期内是否接收到所述基板管理控制器发送的访问请求;
若是,则通过所述第二串行通信总线向所述基板管理控制器返回所述响应信息;
若否,则根据次数阈值和所述第二串行通信总线继续尝试恢复所述工作通信。
在其中一个实施例中,所述通过所述第二串行通信总线向所述基板管理控制器返回所述响应信息包括:
通过所述第二串行通信总线中的第二时钟线和所述第一时钟线开关返回所述响应信息对应的时钟信号;
通过所述第二串行通信总线中的第二数据线和所述第一数据线开关返回所述响应信息对应的数据信号。
在其中一个实施例中,所述通过所述第二串行通信总线、所述第二数据线开关和所述第二时钟线开关进行与所述基板管理控制器的互换双边双向通信包括:
根据时间阈值导通第二数据线开关以将第二时钟线的管脚电平持续拉低为低电平以及导通第二时钟线开关以将所述第二数据线的管脚电平持续拉低为低电平;
响应于接收到所述基板管理控制器发送的访问请求,通过所述第二串行通信总线、所述第二数据线开关和所述第二时钟线开关向所述基板管理控制器返回响应信息。
在其中一个实施例中,所述至少一个服务器电源通过所述第二串行通信总线、所述第二数据线开关和所述第二时钟线开关向所述基板管理控制器返回响应信息包括:
通过所述第二串行通信总线中的第二时钟线和所述第二数据线开关返回所述响应信息对应的数据信号;
通过所述第二串行通信总线中的第二数据线和所述第二时钟线开关返回所述响应信息对应的时钟信号。
在其中一个实施例中,所述通过所述第二串行通信总线、所述第二数据线开关和所述第二时钟线开关向所述基板管理控制器返回响应信息之后还包括:
生成通信异常信息并通过所述第二串行通信总线、所述第二数据线开关和所述第二时钟线开关向所述基板管理控制器发送所述通信异常信息;
响应于接收到所述基板管理控制器发送的重启指令,根据所述重启指令重启输入电源以使所述第二数据线开关和所述第二时钟线开关断开;
响应于重启所述输入电源完成,通过所述第一串行通信总线、所述第一数据线开关和所述第一时钟线开关进行所述工作通信。
在其中一个实施例中,还提供一种电源信息的通信方法,应用于基板管理控制器,所述基板管理控制器包括第三开关,所述第三开关包括第三时钟线开关和第三数据线开关,所述方法包括:
响应于接收到服务器系统发送的查询指令,根据查询指令确定至少一个服务器电源并通过第一串行通信总线和所述第三开关向所述至少一个服务器电源发送访问请求;
响应于接收到所述至少一个服务器电源通过第一串行通信总线返回的响应信息,通过所述第一串行通信总线和所述第三开关进行与所述至少一个服务器电源的工作通信;
响应于接收到所述至少一个服务器电源通过第二串行通信总线返回的响应信息,通过所述第二串行通信总线和所述第三开关进行与所述至少一个服务器电源的互换双边双向通信或所述工作通信。
在其中一个实施例中,所述根据查询指令确定至少一个服务器电源并通过第一串行通信总线和所述第三开关向所述至少一个服务器电源发送访问请求包括:
通过所述第一串行通信总线中的第一时钟线和所述第三时钟线开关向所述至少一个服务器电源发送所述访问请求的时钟信号;
通过所述第一串行通信总线中的第一数据线和所述第三数据线开关向所述至少一个服务器电源发送所述访问请求的数据信号。
在其中一个实施例中,所述通过所述第二串行通信总线进行与所述至少一个服务器电源的互换双边双向通信或所述工作通信包括:
响应于通过所述第二串行通信总线中的第二时钟线接收到所述响应信息的时钟信号以及通过所述第二串行通信总线中的第二数据线接收到所述响应信息的数据信号,通过所述第二串行通信总线和所述第三开关进行所述工作通信;
响应于通过所述第二串行通信总线中的第二时钟线接收到所述数据信号以及通过所述第二串行通信总线中的第二数据线接收到所述时钟信号,通过所述第二串行通信总线和所述第三开关进行所述互换双边双向通信。
在其中一个实施例中,所述通过所述第二串行通信总线和所述第三开关进行所述互换双边双向通信包括:
响应于再次接收到服务器系统发送的查询指令,根据查询指令确定至少一个服务器电源并通过所述第二串行通信总线中的第二时钟线和所述第三数据线开关发送所述访问请求的数据信号;
通过所述第二串行通信总线中的第二数据线和所述第三时钟线开关发送所述访问请求的时钟信号。在其中一个实施例中,所述方法还包括:
响应于接收到所述至少一个服务器电源通过第二串行通信总线发送的通信异常信息,根据所述通信异常信息向用户告警;
响应于接收到所述用户发送的恢复正常通信指令,通过所述第二串行通信总线和所述第三开关向所述至少一个服务器电源发送重启指令以使所述至少一个服务器电源重启;
响应于所述至少一个服务器电源重启完成,通过所述第一串行通信总线和所述第三开关进行所述工作通信。
在一个实施例中,还提供一种应用于电源信息的通信系统的电源信息的通信方法,其特征在于,所述方法包括:
响应于接收到服务器系统发送的查询指令,基板管理控制器根据查询指令确定至少一个服务器电源并通过第一串行通信总线向所述至少一个服务器电源发送访问请求;
响应于接收到基板管理控制器通过第一串行通信总线发送的访问请求,至少一个服务器电源通过所述第一串行通信总线向所述基板管理控制器返回响应信息,其中所述第一串行通信总线包括第一数据线和第一时钟线,所述至少一个服务器电源包括一组第一开关和一组第二开关;
所述至少一个服务器电源根据用户设置的轮询周期确定与所述基板管理控制器之间的工作通信是否异常;
若是,则所述至少一个服务器电源和所述基板管理控制器通过所述第一串行通信总线和第二串行通信总线中的一个以及第一开关和第二开关中的一组恢复通信,其中所述第二串行通信总线包括第二数据线和第二时钟线,所述第一时钟线和所述第二时钟线并联;所述第一数据线和第二数据线并联。
另一方面,还提供一种电源信息的通信系统,其特征在于,所述系统包括基板管理控制器、至少一个服务器电源、第一串行通信总线、第二串行通信总线;
所述至少一个服务器电源中每个服务器电源均包括一组第一开关和一组第二开关;所述基板管理控制器包括一组第三开关;
所述基板管理控制器和所述至少一个服务器电源之间通过所述第一串行通信总线、所述第三开关和所述第一开关进行工作通信;所述基板管理控制器和所述至少一个服务器电源之间通过所述第二串行通信总线、所述第三开关和所述第一开关进行工作通信;所述基板管理控制器和所述至少一个服务器电源之间通过所述第二串行通信总线、所述第三开关和第二开关进行互换双边双向通信,其中所述第一串行通信总线包括第一数据线和第一时钟线,所述第二串行通信总线包括第二数据线和第二时钟线,所述第一时钟线和所述第二时钟线并联;所述第一数据线和第二数据线并联。
在其中一个实施例中,所述系统还包括:
所述第一开关包括第一数据线开关和第一时钟线开关,其中所述第一数据线开关用于调整所述第一数据线和第二数据线的管脚电平,所述第一时钟线开关用于调整所述第一时钟线和第二时钟线的管脚电平;所述第二开关包括第二数据线开关和第二时钟线开关,其中所述第二数据线开关用于调整第二时钟线的管脚电平,所述第二时钟线开关用于调整第二数据线的管脚电平;所述第三开关包括第三数据线开关和第三时钟线开关,其中所述第三数据线开关用于调整所述第一数据线和第二时钟线的管脚电平,所述第三时钟线开关用于调整所述第一时钟线和第二数据线的管脚电平。
响应于接收到基板管理控制器通过第一串行通信总线发送的访问请求,通过所述第一串行通信总线向所述基板管理控制器返回响应信息,其中所述第一串行通信总线包括第一数据线和第一时钟线;根据用户设置的轮询周期确定与所述基板管理控制器之间的工作通信是否异常;若是,则通过所述第一串行通信总线和第二串行通信总线中的一个以及第一开关和第二开关中的一组恢复与所述基板管理控制器之间的通信,其中所述第二串行通信总线包括第二数据线和第二时钟线,所述第一时钟线和所述第二时钟线并联;所述第一数据线和第二数据线并联。通过Server PSU持续监测BMC与Server PSU之间的通信,当确定出现通信宕机后,先通过导通相应的开关以持续拉低管脚电平来尝试恢复BMC与Server PSU之间的通信,在BMC报警前主动恢复I2C Bus通信,无需维运人员通过关闭Server PSU输入AC电源或更换ServerPSU来恢复与系统的通信;通过并联的另一条串行通信总线以及控制另一组SDA开关和SCL开关动作实现互换双边双向通信,避免因为I2C总线死锁导致的通信宕机。
附图说明
图1为服务器系统的设备交互系统的拓扑示意图;
图2为工作通信时单个PSU对 BMC系统的通信原理图;
图3为BMC和PSU交互的常规通信架构图;
图4为服务器的设备通信方法的步骤示意图;
图5为常规服务器系统的拓扑示意图;
图6为I2C总线正常通信的信号波形示例图;
图7为单个PSU对 BMC正常交互的通信架构图;
图8为多个PSU对 BMC正常交互的通信架构图;
图9为BMC和PSU通信宕机时的信号波形示例图;
图10为包含串接元件的I2C总线的通信架构图;
图11为包含多个 I2C设备的I2C总线的通信架构图;
图12为服务器的设备通信方法的流程示例图;
图13为恢复PSU与 BMC之间正常通信的信号波形示例图;
图14为数字化Server PSU 通信架构图;
图15为互换双边双向通信时单个PSU对 BMC系统的通信原理图;
图16为互换双边双向单个PSU对 BMC系统的通信架构图;
图17为互换双边双向多个PSU对 BMC系统的通信架构图;
图18为双边双向多个PSU对 BMC系统的通信架构图;
图19为PMB1.2指令集的指令集示例图;
图20为I2C 总线状态指令集的指令集示意图;
图21为本发明实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的系统拓扑图如图1所示,其中系统包括:BMC、至少一个PSU 以及I2CBus,I2C Bus的通信功能实现主要是通过SDA、SCL、VCC以及GND这四个信号线达成,(1)VCC:电源(2)SDA:传输资料的串列资料线即数据线(3)SCL:传送时钟序列的串列时脉即时钟线(4)GND:接地即地线。区别于现有技术,本系统中包括两条SDA(第一数据线和第二数据线)、两条SCL(第一时钟线和第二时钟线),其中可以认为图中上面的SDA为第一数据线,下面的SDA为第二数据线,上面的SCL为第一时钟线,下面的SCL为第二时钟线,并且两条SDA并联,两条SCL并联;另外在PSU内设有Q1SDA out(第一数据线开关)、Q2SCL out(第一时钟线开关)、Q3SCL’out(第二时钟线开关)以及Q4SDA’out(第二数据线开关),其中Q1 和Q3分别与第一数据线串联,当然也相当于和第二数据线串联,Q2和Q4分别与第一时钟线串联,当然也相当于和第二时钟线串联。在BMC与PSU的正常通信中,如图2所示,通过第一数据线、第一时钟线以及Q1 和Q2 的开关动作完成两者之间的I2C通信。另外如图3所示为BMC与PSU之间的沟通架构图,服务器系统需要电源有冗余功能因此系统中存在2个以上的Server PSU,在I2CBus上会有许多元件也在Bus上等待与BMC沟通,BMC会通过不同位址来区分要寻访的元件。
在一个实施例中,如图4所示,本发明提供一种电源信息的通信方法,应用于至少一个服务器电源,所述至少一个服务器电源包括第一开关和第二开关,第一开关包括第一时钟线开关和第一数据线开关,第二开关包括第二时钟线开关和第二数据线开关,所述方法包括:
S401、响应于接收到基板管理控制器通过第一串行通信总线发送的访问请求,通过所述第一串行通信总线向所述基板管理控制器返回响应信息,其中所述第一串行通信总线包括第一数据线和第一时钟线;
S402、根据用户设置的轮询周期确定与所述基板管理控制器之间的工作通信是否异常;
S403、若是,则通过所述第一串行通信总线和第二串行通信总线中的一个以及第一开关和第二开关中的一组恢复与所述基板管理控制器之间的通信,其中所述第二串行通信总线包括第二数据线和第二时钟线,所述第一时钟线和所述第二时钟线并联;所述第一数据线和第二数据线并联。
具体的,在接收到上游器件发送的查询指令时,通信系统中的BMC向其中一个或多个PSU发送访问请求以获得对应PSU的电源信息,如果通信系统无异常,则至少一个PSU接收到访问请求并通过包含SDA和SCL的I2C Bus(第一串行通信总线)向BMC返回响应信息;如图5所示,为I2C Bus 常规通信硬体层架构图,平时无指令传输时SDA及SCL皆为高电平,待通信时以拉到低电平为0信号来传递信号。通过对比图1和图5可知,相对于常规技术,本申请中需要在原有I2C总线的基础上多创建一条SDA和一条SCL,并且要在至少一个PSU设备中添加一个时钟线开关即Q3和一个数据线开关Q4。可以参考图6中通过I2C Bus通信时信号波形,可以看到SDA/SCL在未通信时为持续高电平,当开始通信时会有持续的0/1信号产生,其中在Server PSU内是靠其中的MCU(Microcontroller Unit微处理器)来控制SDA对应的Q1和SCL对应的Q2从而完成I2C通信。如图7所示,为系统中单个PSU对 BMC正常通信时简易的通信架构图,如图8所示,为系统中多个PSU对 BMC正常通信时简易的通信架构图。
在此期间PSU会在每个轮询周期判断与BMC之间的工作通信是否出现异常,如图9所示,为服务器电源与BMC通信宕机时的波形,从波形我们可以看到 BMC I2C通信信号发出,PSU I2C通信信号仍持续维持高电平没有任何变化及反馈,此时我们称之为PSU与BMC通信宕机即异常。
在其中一个实施例中,所述根据用户设置的轮询周期确定与所述基板管理控制器之间的工作通信是否异常包括:
响应于监测到所述第一数据线的管脚电平和所述第一时钟线的管脚电平都为高电平,确定在所述轮询周期内是否接收到所述访问请求;
若是,则通过所述第一串行通信总线向所述基板管理控制器返回所述响应信息;
若否,则确定所述工作通信异常。
具体的,关于Server PSU 与BMC通信宕机的判断主要参考两个方面:(1)SDA 及SCL对应的管脚电平是否持续为VCC (高电位);(2)Server PSU是否在轮询周期内(比如10ms - 2S)收到来自BMC的I2C信号。其中可以通过BMC来设置轮询周期,最短10毫秒最长2秒。当确定I2C Bus对应的管脚电平持续高电平且Server PSU在轮询周期内未接收到BMC发送的访问请求的I2C信号时,说明Server PSU与BMC之间出现通信宕机即异常。当出现通信宕机时,可能的通信宕机原因有二:(1) I2C开关下拉(sink)能力不足,无法下拉开关使得无法高低电平转态从而无法通信,具体原因可能包括I2C总线路径(第一串行通信总线)上有串接元件容抗过大等;(2)因I2C Bus 通信路线上的多个 I2C 设备导致死锁。其中如图10所示,I2C路径上有串接元件通信架构图,造成通信无法高低电平转态而通信宕机的原因可能是因为系统I2C拓扑与地址避位问题,通常会使用Mux切换开关芯片以及为支持通信热拔插会使用 I2C热拔插(Hotswap)芯片,因此容易在I2C Bus路径上造成I2C路径上有串接元件容抗过大问题。另外像服务器系统工作在高低温场景时,某些芯片在高低温的环境工作时,因为温度飘移造成半导体器件物理特性改变,使得内部杂散电容增加,因此造成I2C开关需下拉电流过大,使得I2C 信号无法顺利拉至低电平。如图11所示,可能因为多个 I2C设备导致I2C Bus 通信路线死锁,其中多 I2C 设备除了异常复位导致死锁,还会形成相互干扰的问题。一般情况下,不会把同种从机地址挂在同一条总线上,但除此之外,有些 I2C设备设计不是按照标准的 I2C 总线协议设计,在I2C总线共享的前提条件下,有的设备只要在总线上有从机地址就发出响应。这样由于从机的错误响应即BMC发出访问请求之后,同时会有多个设备返回响应信息,在串行通信总线上的多个时钟信号和多个数据信号使得I2C 总线异常,甚至钳住总线,导致 I2C 总线进入一种死锁状态,此时服务器电源与BMC通信宕机,由于BMC没有成功接收到响应信息导致BMC一直等待接收响应信息而不会再发出访问请求,并且因为无法获取 Server PSU各种参数读值而产生报警,无法得知服务器电源的及时状态,如服务器电源真的有问题也无法即时通知维运人员,可能会进一步造成服务器系统离线的风险。
在其中一个实施例中,所述通过所述第一串行通信总线和第二串行通信总线中的一个以及第一开关和第二开关中的一组恢复与所述基板管理控制器之间的通信包括:
通过所述第一串行通信总线、第一数据线对应的第一数据线开关和第一时钟线对应的第一时钟线开关尝试恢复所述工作通信;
响应于通过所述第一串行通信总线、所述第一数据线开关和所述第一时钟线开关尝试恢复所述工作通信失败,通过所述第二串行通信总线、所述第一数据线开关和所述第一时钟线开关尝试恢复所述工作通信;
响应于通过所述第二串行通信总线、所述第一数据线开关和所述第一时钟线开关尝试恢复所述工作通信失败,通过所述第二串行通信总线、所述第二数据线开关和所述第二时钟线开关进行与所述基板管理控制器的互换双边双向通信。
具体的,如图12所示,在确定通信宕机之后,PSU可以通过第一串行通信总线和内部的Q1和Q2来多次尝试恢复与BMC之间的工作通信,其中该次数阈值由用户设置比如说3次;如果3次之后通信仍未恢复,则再通过第二串行通信总线和内部的Q1和Q2来多次尝试恢复与BMC之间的工作通信;同样多次尝试之后仍未恢复通信,因为通过上述操作尝试恢复工作通信失败,说明并不是原因(1)导致的通信宕机;此时需要通过第二串行通信总线和内部的Q3和Q4实现互换双边双向通信。
在其中一个实施例中,所述通过所述第一串行通信总线、所述第一数据线开关和所述第一时钟线开关尝试恢复所述工作通信包括:
根据用户设置的时间阈值导通第一数据线开关以将第一数据线的管脚电平持续拉低为低电平以及导通第一时钟线开关以将第一时钟线的管脚电平持续拉低为低电平;
确定通过所述第一串行通信总线在所述轮询周期内是否接收到所述基板管理控制器发送的访问请求;
若是,则通过所述第一串行通信总线向所述基板管理控制器返回所述响应信息;
若否,则根据次数阈值和所述第一串行通信总线继续尝试恢复所述工作通信。
具体的,因为一开始无法确定到底是何种原因导致的通信宕机,所以PSU先导通两个I2C开关(第一时钟线开关和第一数据线开关)使其持续接地即可达成I2C总线持续低电平的功能,即将硬体层中第一SDA及第一SCL的两个管脚电平同时拉至低电平(0V)持续100ms(该时间阈值可以由用户设置);如果成功恢复工作通信,如图13所示,通过ServerPSU返回给BMC的信号波形了解,此时恢复与BMC的正常通信,则确定是因为第一串行通信总线上的串接元件容抗过大造成I2C开关下拉(sink)能力不足,导致无法下拉开关从而无法高低电平转态,并且该异常已恢复;如果因为原因(1)导致的通信异常,通过持续拉低电平起到重启线路的作用来尝试修复第一串行通信总线的容抗。如果第一次未成功恢复通信,可以用户设置的次数阈值比如3次继续尝试上述操作,如果尝试相同的3次操作后,依然未恢复正常通信,则通过第二串行通信总线和内部的Q1 和Q2来多次尝试恢复与BMC之间的工作通信。
在其中一个实施例中,所述通过所述第一串行通信总线向所述基板管理控制器返回所述响应信息包括:
通过所述第一串行通信总线中的第一时钟线和所述第一时钟线开关返回所述响应信息对应的时钟信号;
通过所述第一串行通信总线中的第一数据线和所述第一数据线开关返回所述响应信息对应的数据信号。
具体的,当通过上述操作成功恢复通信之后,PSU通过第一SDA并控制Q1动作来实现返回数据信号到BMC,通过第一SCL并控制Q2动作来实现返回时钟信号到BMC。
在其中一个实施例中,所述通过所述第二串行通信总线、所述第一数据线开关和所述第一时钟线开关再次尝试恢复所述工作通信包括:
根据时间阈值导通所述第一数据线开关以将第二数据线的管脚电平持续拉低为低电平以及导通所述第一时钟线开关以将第二时钟线的管脚电平持续拉低为低电平;
确定通过所述第二串行通信总线在所述轮询周期内是否接收到所述基板管理控制器发送的访问请求;
若是,则通过所述第二串行通信总线向所述基板管理控制器返回所述响应信息;
若否,则根据次数阈值和所述第二串行通信总线继续尝试恢复所述工作通信。
具体的,PSU先导通Q1 和Q2使得第二SDA及第二SCL的两个管脚电平同时拉至低电平(0V)持续 100ms(该时间阈值可以由用户设置),因为并联的原因,两条SDA的管脚电平相同,两条SCL的管脚电平相同;之后如果通过第二串行通信总线成功接收到BMC发送的I2C信号并返回给BMC对应的I2C信号,说明BMC和PSU之间通信正常,并且说明第一串行通信总线的异常比如容抗过大无法修复。当然如果第一次未成功恢复通信,可以继续尝试用户设置的次数阈值比如3次,如果尝试相同的3次操作后,依然未恢复正常通信,此时确定并不是因为I2C总线路径上有串接元件容抗过大造成I2C开关下拉(sink)能力不足,导致无法下拉开关从而无法高低电平转态,此时确定是原因(2)导致的通信宕机。
在其中一个实施例中,所述通过所述第二串行通信总线向所述基板管理控制器返回所述响应信息包括:
通过所述第二串行通信总线中的第二时钟线和所述第一时钟线开关返回所述响应信息对应的时钟信号;
通过所述第二串行通信总线中的第二数据线和所述第一数据线开关返回所述响应信息对应的数据信号。
具体的,当通过上述操作成功恢复通信之后,PSU通过第二SDA并控制Q1动作来实现返回数据信号到BMC,通过第二SCL并控制Q2动作来实现返回时钟信号到BMC。
在其中一个实施例中,所述通过所述第二串行通信总线、所述第二数据线开关和所述第二时钟线开关进行与所述基板管理控制器的互换双边双向通信包括:
根据时间阈值导通第二数据线开关以将第二时钟线的管脚电平持续拉低为低电平以及导通第二时钟线开关以将所述第二数据线的管脚电平持续拉低为低电平;
响应于接收到所述基板管理控制器发送的访问请求,通过所述第二串行通信总线、所述第二数据线开关和所述第二时钟线开关向所述基板管理控制器返回响应信息。
具体的,如图14所示,为数字化Server PSU 的内部架构框图,现行Server PSU会由MCU来完成电源供应器中转换器开关控制,风扇控制,LED控制,监控,保护,通讯等功能…就分工会分为一次侧(PRIMARY Side)MCU及二次侧(SECONDARY Side)MCU。主要对外通讯功能皆由二次侧(SECONDARY Side)MCU来控制及功能实现。如图15所示,为互换双边双向单个PSU对BMC系统的通信原理图,因为原因(2)导致的通信宕机,此时MCU通过持续导通Q3和Q4使得第二SDA及第二SCL的两个管脚电平同时拉至低电平(0V)持续 100ms(该时间阈值可以由用户设置),起到类似于重启线路的作用,此时PSU一定能通过第二串行通信总线接收到BMC发送的访问请求,之后控制Q3和Q4这一组I2C硬件开关动作(断闭合)以及包含第二SDA和第二SCL的第二串行通信总线来实现互换双边双向通信,此时Q1和Q2开关不动作。在第一SDA或第一SCL无法正常通信的场景下多一通信路径,让多从机(Slaver)与主机模式(Master)执行交叉通信,即可称为互换双边双向通信,从而避免因为I2C总线死锁导致的通信宕机。如图16所示,为互换双边双向单个PSU对 BMC系统的通信架构图,如图17所示,为互换双边双向多个PSU对 BMC系统的通信架构图,如图18所示,为双边双向多个PSU对 BMC系统的通信架构图,在上述本方案中,如果BMC和PSU之间进行互换双边双向通信,则需要每个PSU中都存在Q3和Q4,而BMC和PSU之间还可以采用双边双向通信即BMC和PSU同时通过两条串行通信总线实现通信,此时只需要其中一个PSU中存在一对Q3和Q4。响应于接收到用户发送的双边双向通信指令,BMC与至少一个PSU之间进行双边双向通信,其余的PSU通过第一串行通信总线向存在一对Q3和Q4的目标PSU返回包含电源信息的响应信息,之后目标PSU通过第二串行通信总线并控制Q3和Q4的动作将其余PSU的响应信息返回给BMC。
在其中一个实施例中,所述通过所述第二串行通信总线、所述第二数据线开关和所述第二时钟线开关向所述基板管理控制器返回响应信息包括:
通过所述第二串行通信总线中的第二时钟线和所述第二数据线开关返回所述响应信息对应的数据信号;
通过所述第二串行通信总线中的第二数据线和所述第二时钟线开关返回所述响应信息对应的时钟信号。
具体的,当通过上述操作成功恢复通信之后,PSU通过第二SDA并控制Q3动作来实现返回时钟信号到BMC,通过第二SCL并控制Q4动作来实现返回数据信号到BMC。由于其他设备发送的I2C信号会干扰到PSU和BMC之间的通信,通过互换双边双向通信使得在SDA上返回时钟信号,在SCL上返回数据信号,从而避免其他设备在SDA上传输的数据信号干扰到PSU返回的时钟信号,避免其他设备在SCL上传输的时钟信号干扰到PSU返回的数据信号。
在其中一个实施例中,所述通过所述第二串行通信总线、所述第二数据线开关和所述第二时钟线开关向所述基板管理控制器返回响应信息之后还包括:
生成通信异常信息并通过所述第二串行通信总线、所述第二数据线开关和所述第二时钟线开关向所述基板管理控制器发送所述通信异常信息;
响应于接收到所述基板管理控制器发送的重启指令,根据所述重启指令重启输入电源以使所述第二数据线开关和所述第二时钟线开关断开;
响应于重启所述输入电源完成,通过所述第一串行通信总线、所述第一数据线开关和所述第一时钟线开关进行所述工作通信。
具体的,如图19所示,为PMB1.2指令集的指令集示例图;我们可以通过PMBus1.2规范,定义反馈至BMC的信息。在PMBus1.2 指令集中 D1h–D3h指令集为预留给功能扩充用。如图20所示,为I2C 总线状态指令集的指令集示意图;我们可以取D3h位址来作功能定义及扩充。PSU通过将包含D3h位址的通信异常信息发送给BMC,BMC接收到后向用户告警,由用户对总线上的其他设备进行排查。之后当接收到BMC发送的重启指令时,说明用户已经排查过总线上的其余设备并向BMC发送了恢复正常通信指令,此时Server PSU会重启自身的输入电源,当Server PSU重启成功后,Q3和Q4自动断开,使得Q3与第二SDA之间的链路断路,Q4和第二SCL之间的链路断路,之后通过Q1和对应的SDA、Q2和对应的SCL恢复与BMC之间的工作通信。即互换双边双向通信模式亦可通过对Server PSU切断输入电源,在重新上电后即可恢复正常通信路径。
在其中一个实施例中,还提供一种电源信息的通信方法,应用于基板管理控制器,所述基板管理控制器包括第三开关,所述第三开关包括第三时钟线开关和第三数据线开关,所述方法包括:
响应于接收到服务器系统发送的查询指令,根据查询指令确定至少一个服务器电源并通过第一串行通信总线和所述第三开关向所述至少一个服务器电源发送访问请求;
响应于接收到所述至少一个服务器电源通过第一串行通信总线返回的响应信息,通过所述第一串行通信总线和所述第三开关进行与所述至少一个服务器电源的工作通信;
响应于接收到所述至少一个服务器电源通过第二串行通信总线返回的响应信息,通过所述第二串行通信总线和所述第三开关进行与所述至少一个服务器电源的互换双边双向通信或所述工作通信。
具体的,根据系统要求,BMC在系统轮询时间内,需要轮询获取每一个Server PSU的电源信息,读取内容可分类为电压参数,电流参数,温度参数,功率参数,风扇转速等…。服务器利用 BMC 透过 I2C Bus(硬体层)访问伺服器电源,透过IPMI指令集(软体层)利用PMBus1.2规范,从Server PSU获取各项读值。当BMC向Server PSU发送访问请求时,BMC通过自身内部的SDA out开关以及第一SDA发送访问请求的数据信号到Server PSU,通过内部的SCL out开关以及第一SCL发送访问请求的时钟信号到Server PSU,当BMC通过第一串行通信总线接收到Server PSU返回的响应信息,此时说明两者之间正常通信。当BMC通过第二串行通信总线接收到Server PSU返回的响应信息时,说明第一串行通信总线上存在故障,此时BMC通过第二串行通信总线与Server PSU进行工作通信或互换双边双向通信。
在其中一个实施例中,所述根据查询指令确定至少一个服务器电源并通过第一串行通信总线和所述第三开关向所述至少一个服务器电源发送访问请求包括:
通过所述第一串行通信总线中的第一时钟线和所述第三时钟线开关向所述至少一个服务器电源发送所述访问请求的时钟信号;
通过所述第一串行通信总线中的第一数据线和所述第三数据线开关向所述至少一个服务器电源发送所述访问请求的数据信号。
具体的,如图2所示,当BMC通过第一串行通信总线和PSU进行正常通信时,BMC通过控制自身的SDA out开关(第三数据线开关)和第一SDA向PSU发送访问请求对应的数据信号;通过控制自身的SCL out开关(第三时钟线开关)和第一SCL向PSU发送访问请求对应的时钟信号。
在其中一个实施例中,所述通过所述第二串行通信总线进行与所述至少一个服务器电源的互换双边双向通信或所述工作通信包括:
响应于通过所述第二串行通信总线中的第二时钟线接收到所述响应信息的时钟信号以及通过所述第二串行通信总线中的第二数据线接收到所述响应信息的数据信号,通过所述第二串行通信总线和所述第三开关进行所述工作通信;
响应于通过所述第二串行通信总线中的第二时钟线接收到所述数据信号以及通过所述第二串行通信总线中的第二数据线接收到所述时钟信号,通过所述第二串行通信总线和所述第三开关进行所述互换双边双向通信。
具体的,如上所述,当BMC通过第二SDA接收到响应信息的数据信号以及通过第二SCL接收到响应信息的时钟信号时,之后在系统轮询周期中如果需要再一次获取电源信息,此时BMC通过第二串行通信总线中的第二SDA和发送访问请求的数据信号,通过第二串行通信总线中的第二SCL发送访问请求的时钟信号,即两者间进行工作通信。当BMC通过第二SDA接收到响应信息的时钟信号以及通过第二SCL接收到响应信息的数据信号时,之后在系统轮询周期中如果需要再一次获取电源信息,此时BMC通过第二SDA发送访问请求的数据信号,通过第二SCL发送访问请求的时钟信号,即两者间进行互换双边双向通信。
在其中一个实施例中,通过所述第二串行通信总线和所述第三开关进行所述互换双边双向通信包括:
响应于再次接收到服务器系统发送的查询指令,根据查询指令确定至少一个服务器电源并通过所述第二串行通信总线中的第二时钟线和所述第三数据线开关发送所述访问请求的数据信号;
通过所述第二串行通信总线中的第二数据线和所述第三时钟线开关发送所述访问请求的时钟信号。
具体的,如图15所示,在上一次BMC通过第一串行通信总线、SDA out开关和SCLout开关向PSU发送访问请求,而PSU以互换双边双向的通信方式向BMC返回响应信息之后,如果在用户设置的查询周期内再次接收到查询指令时,BMC同样改成以互换双边双向的通信方式向PSU再次发送访问请求,其中BMC通过控制自身的SDA out开关(第三数据线开关)动作和第二SCL向PSU发送访问请求对应的数据信号;通过控制自身的SCL out开关(第三时钟线开关)动作和第二SDA向PSU发送访问请求对应的时钟信号;相应的,此时PSU通过第二SDA并控制Q3动作来实现返回时钟信号到BMC,通过第二SCL并控制Q4动作来实现返回数据信号到BMC。另外如上所述,当BMC和PSU之间通过所述第二串行通信总线进行工作通信时,此时BMC依然通过控制自身的SDA out开关(第三数据线开关)动作和第二SCL向PSU发送访问请求对应的数据信号;通过控制自身的SCL out开关(第三时钟线开关)动作和第二SDA向PSU发送访问请求对应的时钟信号;不同的是,此时PSU通过第二SDA并控制Q1动作来实现返回数据信号到BMC,通过第二SCL并控制Q2动作来实现返回时钟信号到BMC。
在其中一个实施例中,所述方法还包括:
响应于接收到所述至少一个服务器电源通过第二串行通信总线发送的通信异常信息,根据所述通信异常信息向用户告警;
响应于接收到所述用户发送的恢复正常通信指令,通过所述第二串行通信总线和所述第三开关向所述至少一个服务器电源发送重启指令以使所述至少一个服务器电源重启;
响应于所述至少一个服务器电源重启完成,通过所述第一串行通信总线和所述第三开关进行所述工作通信。
具体的,如上所述,当通过第二串行通信总线接收到通信异常信息时,BMC可以向服务器发送告警信息,之后由服务器向用户告警,用户了解后排查在串行通信总线上串联的其余设备,解决好故障后通过服务器系统向BMC发送恢复正常通信的指令,BMC接收到后通过第二串行通信总线向Server PSU发送重启指令以使Server PSU重启,在其重启完成后,两者之间通过第一串行通信总线进行工作通信,具体步骤不再赘述。
在其中一个实施例中,还提供一种应用于电源信息的通信系统的电源信息的通信方法,其特征在于,所述方法包括:
响应于接收到服务器系统发送的查询指令,基板管理控制器根据查询指令确定至少一个服务器电源并通过第一串行通信总线向所述至少一个服务器电源发送访问请求;
响应于接收到基板管理控制器通过第一串行通信总线发送的访问请求,至少一个服务器电源通过所述第一串行通信总线向所述基板管理控制器返回响应信息,其中所述第一串行通信总线包括第一数据线和第一时钟线,所述至少一个服务器电源包括一组第一开关和一组第二开关;
所述至少一个服务器电源根据用户设置的轮询周期确定与所述基板管理控制器之间的工作通信是否异常;
若是,则所述至少一个服务器电源和所述基板管理控制器通过所述第一串行通信总线和第二串行通信总线中的一个以及第一开关和第二开关中的一组恢复通信,其中所述第二串行通信总线包括第二数据线和第二时钟线,所述第一时钟线和所述第二时钟线并联;所述第一数据线和第二数据线并联。
具体的,当BMC向Server PSU发送访问请求时,BMC通过自身内部的SDA out开关以及第一SDA发送访问请求的数据信号到Server PSU,通过内部的SCL out开关以及第一SCL发送访问请求的时钟信号到Server PSU,当Server PSU通过第二SDA并控制Q1动作来成功返回响应信息的数据信号到BMC,通过第二SCL并控制Q2动作来成功返回响应信息的时钟信号到BMC,此时说明两者之间正常通信。而如果Server PSU在轮询周期内没有接收到BMV发送的访问请求,则确定通信宕机,之后Server PSU会尝试通过第一串行通信总线以及Q1和Q2、第二串行通信总线以及Q1 和Q2恢复工作通信;如果都失败,则Server PSU通过第二串行通信总线以及Q3和Q4与BMC进行互换双边双向通信。
本申请的方案有如下有益效果:
1)通过Server PSU持续监测BMC与Server PSU之间的通信,当确定出现通信宕机后,先通过导通相应的开关从而持续拉低管脚电平来尝试恢复BMC与Server PSU之间的通信,在BMC报警前主动恢复I2C Bus通信,无需维运人员通过关闭Server PSU输入AC电源或更换Server PSU来恢复与系统的通信;
2)通过并联的另一条SDA和另一条SCL以及控制另一个SDA开关和另一个SCL开关来实现互换双边双向通信,避免因为I2C总线死锁导致的通信宕机。
应该理解的是,虽然图4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图4中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次执行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,还提供一种电源信息的通信系统,其特征在于,所述系统包括基板管理控制器、至少一个服务器电源、第一串行通信总线、第二串行通信总线;
所述至少一个服务器电源中每个服务器电源均包括一组第一开关和一组第二开关;所述基板管理控制包括一组第三开关;
所述基板管理控制器和所述至少一个服务器电源之间通过所述第一串行通信总线、所述第三开关和所述第一开关进行工作通信;所述基板管理控制器和所述至少一个服务器电源之间通过所述第二串行通信总线、所述第三开关和所述第一开关进行工作通信;所述基板管理控制器和所述至少一个服务器电源之间通过所述第二串行通信总线、所述第三开关和第二开关进行互换双边双向通信,其中所述第一串行通信总线包括第一数据线和第一时钟线,所述第二串行通信总线包括第二数据线和第二时钟线,所述第一时钟线和所述第二时钟线并联;所述第一数据线和第二数据线并联。
在其中一个实施例中,所述系统还包括:
所述第一开关包括第一数据线开关和第一时钟线开关,其中所述第一数据线开关用于调整所述第一数据线和第二数据线的管脚电平,所述第一时钟线开关用于调整所述第一时钟线和第二时钟线的管脚电平;所述第二开关包括第二数据线开关和第二时钟线开关,其中所述第二数据线开关用于调整第二时钟线的管脚电平,所述第二时钟线开关用于调整第二数据线的管脚电平;所述第三开关包括第三数据线开关和第三时钟线开关,其中所述第三数据线开关用于调整所述第一数据线和第二时钟线的管脚电平,所述第三时钟线开关用于调整所述第一时钟线和第二数据线的管脚电平。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图21所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现告警信息处理方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图21中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
所述至少一个服务器电源包括第一开关和第二开关,第一开关包括第一时钟线开关和第一数据线开关,第二开关包括第二时钟线开关和第二数据线开关,
响应于接收到基板管理控制器通过第一串行通信总线发送的访问请求,通过所述第一串行通信总线向所述基板管理控制器返回响应信息,其中所述第一串行通信总线包括第一数据线和第一时钟线;
根据用户设置的轮询周期确定与所述基板管理控制器之间的工作通信是否异常;
若是,则通过所述第一串行通信总线和第二串行通信总线中的一个以及第一开关和第二开关中的一组恢复与所述基板管理控制器之间的通信,其中所述第二串行通信总线包括第二数据线和第二时钟线,所述第一时钟线和所述第二时钟线并联;所述第一数据线和第二数据线并联。
在其中一个实施例中,所述处理器执行所述计算机程序时实现以下步骤:
所述根据用户设置的轮询周期确定与所述基板管理控制器之间的工作通信是否异常包括:
响应于监测到所述第一数据线的管脚电平和所述第一时钟线的管脚电平都为高电平,确定在所述轮询周期内是否接收到所述访问请求;
若是,则通过所述第一串行通信总线向所述基板管理控制器返回所述响应信息;
若否,则确定所述工作通信异常。
在其中一个实施例中,所述处理器执行所述计算机程序时实现以下步骤:
所述通过所述第一串行通信总线和第二串行通信总线中的一个以及第一开关和第二开关中的一组恢复与所述基板管理控制器之间的通信包括:
通过所述第一串行通信总线、第一数据线对应的第一数据线开关和第一时钟线对应的第一时钟线开关尝试恢复所述工作通信;
响应于通过所述第一串行通信总线、所述第一数据线开关和所述第一时钟线开关尝试恢复所述工作通信失败,通过所述第二串行通信总线、所述第一数据线开关和所述第一时钟线开关尝试恢复所述工作通信;
响应于通过所述第二串行通信总线、所述第一数据线开关和所述第一时钟线开关尝试恢复所述工作通信失败,通过所述第二串行通信总线、所述第二数据线开关和所述第二时钟线开关进行与所述基板管理控制器的互换双边双向通信。
在其中一个实施例中,所述处理器执行所述计算机程序时实现以下步骤:
所述通过所述第一串行通信总线、所述第一数据线开关和所述第一时钟线开关尝试恢复所述工作通信包括:
根据用户设置的时间阈值导通第一数据线开关以将第一数据线的管脚电平持续拉低为低电平以及导通第一时钟线开关以将第一时钟线的管脚电平持续拉低为低电平;
确定通过所述第一串行通信总线在所述轮询周期内是否接收到所述基板管理控制器发送的访问请求;
若是,则通过所述第一串行通信总线向所述基板管理控制器返回所述响应信息;
若否,则根据次数阈值和所述第一串行通信总线继续尝试恢复所述工作通信。
在其中一个实施例中,所述处理器执行所述计算机程序时实现以下步骤:
所述通过所述第一串行通信总线向所述基板管理控制器返回所述响应信息包括:
通过所述第一串行通信总线中的第一时钟线和所述第一时钟线开关返回所述响应信息对应的时钟信号;
通过所述第一串行通信总线中的第一数据线和所述第一数据线开关返回所述响应信息对应的数据信号。
在其中一个实施例中,所述处理器执行所述计算机程序时实现以下步骤:
所述通过所述第二串行通信总线、所述第一数据线开关和所述第一时钟线开关再次尝试恢复所述工作通信包括:
根据时间阈值导通所述第一数据线开关以将第二数据线的管脚电平持续拉低为低电平以及导通所述第一时钟线开关以将第二时钟线的管脚电平持续拉低为低电平;
确定通过所述第二串行通信总线在所述轮询周期内是否接收到所述基板管理控制器发送的访问请求;
若是,则通过所述第二串行通信总线向所述基板管理控制器返回所述响应信息;
若否,则根据次数阈值和所述第二串行通信总线继续尝试恢复所述工作通信。
在其中一个实施例中,所述处理器执行所述计算机程序时实现以下步骤:
所述通过所述第二串行通信总线向所述基板管理控制器返回所述响应信息包括:
通过所述第二串行通信总线中的第二时钟线和所述第一时钟线开关返回所述响应信息对应的时钟信号;
通过所述第二串行通信总线中的第二数据线和所述第一数据线开关返回所述响应信息对应的数据信号。
在其中一个实施例中,所述处理器执行所述计算机程序时实现以下步骤:
所述通过所述第二串行通信总线、所述第二数据线开关和所述第二时钟线开关进行与所述基板管理控制器的互换双边双向通信包括:
根据时间阈值导通第二数据线开关以将第二时钟线的管脚电平持续拉低为低电平以及导通第二时钟线开关以将所述第二数据线的管脚电平持续拉低为低电平;
响应于接收到所述基板管理控制器发送的访问请求,通过所述第二串行通信总线、所述第二数据线开关和所述第二时钟线开关向所述基板管理控制器返回响应信息。
在其中一个实施例中,所述处理器执行所述计算机程序时实现以下步骤:
所述至少一个服务器电源通过所述第二串行通信总线、所述第二数据线开关和所述第二时钟线开关向所述基板管理控制器返回响应信息包括:
通过所述第二串行通信总线中的第二时钟线和所述第二数据线开关返回所述响应信息对应的数据信号;
通过所述第二串行通信总线中的第二数据线和所述第二时钟线开关返回所述响应信息对应的时钟信号。
在其中一个实施例中,所述处理器执行所述计算机程序时实现以下步骤:
所述通过所述第二串行通信总线、所述第二数据线开关和所述第二时钟线开关向所述基板管理控制器返回响应信息之后还包括:
生成通信异常信息并通过所述第二串行通信总线、所述第二数据线开关和所述第二时钟线开关向所述基板管理控制器发送所述通信异常信息;
响应于接收到所述基板管理控制器发送的重启指令,根据所述重启指令重启输入电源以使所述第二数据线开关和所述第二时钟线开关断开;
响应于重启所述输入电源完成,通过所述第一串行通信总线、所述第一数据线开关和所述第一时钟线开关进行所述工作通信。
在其中一个实施例中,所述处理器执行所述计算机程序时实现以下步骤:
响应于接收到服务器系统发送的查询指令,根据查询指令确定至少一个服务器电源并通过第一串行通信总线和所述第三开关向所述至少一个服务器电源发送访问请求;
响应于接收到所述至少一个服务器电源通过第一串行通信总线返回的响应信息,通过所述第一串行通信总线和所述第三开关进行与所述至少一个服务器电源的工作通信;
响应于接收到所述至少一个服务器电源通过第二串行通信总线返回的响应信息,通过所述第二串行通信总线和所述第三开关进行与所述至少一个服务器电源的互换双边双向通信或所述工作通信。
在其中一个实施例中,所述处理器执行所述计算机程序时实现以下步骤:
所述根据查询指令确定至少一个服务器电源并通过第一串行通信总线和所述第三开关向所述至少一个服务器电源发送访问请求包括:
通过所述第一串行通信总线中的第一时钟线和所述第三时钟线开关向所述至少一个服务器电源发送所述访问请求的时钟信号;
通过所述第一串行通信总线中的第一数据线和所述第三数据线开关向所述至少一个服务器电源发送所述访问请求的数据信号。
在其中一个实施例中,所述处理器执行所述计算机程序时实现以下步骤:
所述通过所述第二串行通信总线进行与所述至少一个服务器电源的互换双边双向通信或所述工作通信包括:
响应于通过所述第二串行通信总线中的第二时钟线接收到所述响应信息的时钟信号以及通过所述第二串行通信总线中的第二数据线接收到所述响应信息的数据信号,通过所述第二串行通信总线和所述第三开关进行所述工作通信;
响应于通过所述第二串行通信总线中的第二时钟线接收到所述数据信号以及通过所述第二串行通信总线中的第二数据线接收到所述时钟信号,通过所述第二串行通信总线和所述第三开关进行所述互换双边双向通信。
在其中一个实施例中,所述处理器执行所述计算机程序时实现以下步骤:
所述通过所述第二串行通信总线和所述第三开关进行所述互换双边双向通信包括:
响应于再次接收到服务器系统发送的查询指令,根据查询指令确定至少一个服务器电源并通过所述第二串行通信总线中的第二时钟线和所述第三数据线开关发送所述访问请求的数据信号;
通过所述第二串行通信总线中的第二数据线和所述第三时钟线开关发送所述访问请求的时钟信号。
在其中一个实施例中,所述处理器执行所述计算机程序时实现以下步骤:
响应于接收到所述至少一个服务器电源通过第二串行通信总线发送的通信异常信息,根据所述通信异常信息向用户告警;
响应于接收到所述用户发送的恢复正常通信指令,通过所述第二串行通信总线和所述第三开关向所述至少一个服务器电源发送重启指令以使所述至少一个服务器电源重启;
响应于所述至少一个服务器电源重启完成,通过所述第一串行通信总线和所述第三开关进行所述工作通信。
在一个实施例中,所述处理器执行所述计算机程序时实现以下步骤:
响应于接收到服务器系统发送的查询指令,基板管理控制器根据查询指令确定至少一个服务器电源并通过第一串行通信总线向所述至少一个服务器电源发送访问请求;
响应于接收到基板管理控制器通过第一串行通信总线发送的访问请求,至少一个服务器电源通过所述第一串行通信总线向所述基板管理控制器返回响应信息,其中所述第一串行通信总线包括第一数据线和第一时钟线,所述至少一个服务器电源包括一组第一开关和一组第二开关;
所述至少一个服务器电源根据用户设置的轮询周期确定与所述基板管理控制器之间的工作通信是否异常;
若是,则所述至少一个服务器电源和所述基板管理控制器通过所述第一串行通信总线和第二串行通信总线中的一个以及第一开关和第二开关中的一组恢复通信,其中所述第二串行通信总线包括第二数据线和第二时钟线,所述第一时钟线和所述第二时钟线并联;所述第一数据线和第二数据线并联。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
所述至少一个服务器电源包括第一开关和第二开关,第一开关包括第一时钟线开关和第一数据线开关,第二开关包括第二时钟线开关和第二数据线开关,
响应于接收到基板管理控制器通过第一串行通信总线发送的访问请求,通过所述第一串行通信总线向所述基板管理控制器返回响应信息,其中所述第一串行通信总线包括第一数据线和第一时钟线;
根据用户设置的轮询周期确定与所述基板管理控制器之间的工作通信是否异常;
若是,则通过所述第一串行通信总线和第二串行通信总线中的一个以及第一开关和第二开关中的一组恢复与所述基板管理控制器之间的通信,其中所述第二串行通信总线包括第二数据线和第二时钟线,所述第一时钟线和所述第二时钟线并联;所述第一数据线和第二数据线并联。
在其中一个实施例中,所述计算机程序被处理器执行时实现以下步骤:
所述根据用户设置的轮询周期确定与所述基板管理控制器之间的工作通信是否异常包括:
响应于监测到所述第一数据线的管脚电平和所述第一时钟线的管脚电平都为高电平,确定在所述轮询周期内是否接收到所述访问请求;
若是,则通过所述第一串行通信总线向所述基板管理控制器返回所述响应信息;
若否,则确定所述工作通信异常。
在其中一个实施例中,所述计算机程序被处理器执行时实现以下步骤:
所述通过所述第一串行通信总线和第二串行通信总线中的一个以及第一开关和第二开关中的一组恢复与所述基板管理控制器之间的通信包括:
通过所述第一串行通信总线、第一数据线对应的第一数据线开关和第一时钟线对应的第一时钟线开关尝试恢复所述工作通信;
响应于通过所述第一串行通信总线、所述第一数据线开关和所述第一时钟线开关尝试恢复所述工作通信失败,通过所述第二串行通信总线、所述第一数据线开关和所述第一时钟线开关尝试恢复所述工作通信;
响应于通过所述第二串行通信总线、所述第一数据线开关和所述第一时钟线开关尝试恢复所述工作通信失败,通过所述第二串行通信总线、所述第二数据线开关和所述第二时钟线开关进行与所述基板管理控制器的互换双边双向通信。
在其中一个实施例中,所述计算机程序被处理器执行时实现以下步骤:
所述通过所述第一串行通信总线、所述第一数据线开关和所述第一时钟线开关尝试恢复所述工作通信包括:
根据用户设置的时间阈值导通第一数据线开关以将第一数据线的管脚电平持续拉低为低电平以及导通第一时钟线开关以将第一时钟线的管脚电平持续拉低为低电平;
确定通过所述第一串行通信总线在所述轮询周期内是否接收到所述基板管理控制器发送的访问请求;
若是,则通过所述第一串行通信总线向所述基板管理控制器返回所述响应信息;
若否,则根据次数阈值和所述第一串行通信总线继续尝试恢复所述工作通信。
在其中一个实施例中,所述计算机程序被处理器执行时实现以下步骤:
所述通过所述第一串行通信总线向所述基板管理控制器返回所述响应信息包括:
通过所述第一串行通信总线中的第一时钟线和所述第一时钟线开关返回所述响应信息对应的时钟信号;
通过所述第一串行通信总线中的第一数据线和所述第一数据线开关返回所述响应信息对应的数据信号。
在其中一个实施例中,所述计算机程序被处理器执行时实现以下步骤:
所述通过所述第二串行通信总线、所述第一数据线开关和所述第一时钟线开关再次尝试恢复所述工作通信包括:
根据时间阈值导通所述第一数据线开关以将第二数据线的管脚电平持续拉低为低电平以及导通所述第一时钟线开关以将第二时钟线的管脚电平持续拉低为低电平;
确定通过所述第二串行通信总线在所述轮询周期内是否接收到所述基板管理控制器发送的访问请求;
若是,则通过所述第二串行通信总线向所述基板管理控制器返回所述响应信息;
若否,则根据次数阈值和所述第二串行通信总线继续尝试恢复所述工作通信。
在其中一个实施例中,所述计算机程序被处理器执行时实现以下步骤:
所述通过所述第二串行通信总线向所述基板管理控制器返回所述响应信息包括:
通过所述第二串行通信总线中的第二时钟线和所述第一时钟线开关返回所述响应信息对应的时钟信号;
通过所述第二串行通信总线中的第二数据线和所述第一数据线开关返回所述响应信息对应的数据信号。
在其中一个实施例中,所述计算机程序被处理器执行时实现以下步骤:
所述通过所述第二串行通信总线、所述第二数据线开关和所述第二时钟线开关进行与所述基板管理控制器的互换双边双向通信包括:
根据时间阈值导通第二数据线开关以将第二时钟线的管脚电平持续拉低为低电平以及导通第二时钟线开关以将所述第二数据线的管脚电平持续拉低为低电平;
响应于接收到所述基板管理控制器发送的访问请求,通过所述第二串行通信总线、所述第二数据线开关和所述第二时钟线开关向所述基板管理控制器返回响应信息。
在其中一个实施例中,所述计算机程序被处理器执行时实现以下步骤:
所述至少一个服务器电源通过所述第二串行通信总线、所述第二数据线开关和所述第二时钟线开关向所述基板管理控制器返回响应信息包括:
通过所述第二串行通信总线中的第二时钟线和所述第二数据线开关返回所述响应信息对应的数据信号;
通过所述第二串行通信总线中的第二数据线和所述第二时钟线开关返回所述响应信息对应的时钟信号。
在其中一个实施例中,所述计算机程序被处理器执行时实现以下步骤:
所述通过所述第二串行通信总线、所述第二数据线开关和所述第二时钟线开关向所述基板管理控制器返回响应信息之后还包括:
生成通信异常信息并通过所述第二串行通信总线、所述第二数据线开关和所述第二时钟线开关向所述基板管理控制器发送所述通信异常信息;
响应于接收到所述基板管理控制器发送的重启指令,根据所述重启指令重启输入电源以使所述第二数据线开关和所述第二时钟线开关断开;
响应于重启所述输入电源完成,通过所述第一串行通信总线、所述第一数据线开关和所述第一时钟线开关进行所述工作通信。
在其中一个实施例中,所述计算机程序被处理器执行时实现以下步骤:
响应于接收到服务器系统发送的查询指令,根据查询指令确定至少一个服务器电源并通过第一串行通信总线和所述第三开关向所述至少一个服务器电源发送访问请求;
响应于接收到所述至少一个服务器电源通过第一串行通信总线返回的响应信息,通过所述第一串行通信总线和所述第三开关进行与所述至少一个服务器电源的工作通信;
响应于接收到所述至少一个服务器电源通过第二串行通信总线返回的响应信息,通过所述第二串行通信总线和所述第三开关进行与所述至少一个服务器电源的互换双边双向通信或所述工作通信。
在其中一个实施例中,所述计算机程序被处理器执行时实现以下步骤:
所述根据查询指令确定至少一个服务器电源并通过第一串行通信总线和所述第三开关向所述至少一个服务器电源发送访问请求包括:
通过所述第一串行通信总线中的第一时钟线和所述第三时钟线开关向所述至少一个服务器电源发送所述访问请求的时钟信号;
通过所述第一串行通信总线中的第一数据线和所述第三数据线开关向所述至少一个服务器电源发送所述访问请求的数据信号。
在其中一个实施例中,所述计算机程序被处理器执行时实现以下步骤:
所述通过所述第二串行通信总线进行与所述至少一个服务器电源的互换双边双向通信或所述工作通信包括:
响应于通过所述第二串行通信总线中的第二时钟线接收到所述响应信息的时钟信号以及通过所述第二串行通信总线中的第二数据线接收到所述响应信息的数据信号,通过所述第二串行通信总线和所述第三开关进行所述工作通信;
响应于通过所述第二串行通信总线中的第二时钟线接收到所述数据信号以及通过所述第二串行通信总线中的第二数据线接收到所述时钟信号,通过所述第二串行通信总线和所述第三开关进行所述互换双边双向通信。
在其中一个实施例中,所述计算机程序被处理器执行时实现以下步骤:
所述通过所述第二串行通信总线和所述第三开关进行所述互换双边双向通信包括:
响应于再次接收到服务器系统发送的查询指令,根据查询指令确定至少一个服务器电源并通过所述第二串行通信总线中的第二时钟线和所述第三数据线开关发送所述访问请求的数据信号;
通过所述第二串行通信总线中的第二数据线和所述第三时钟线开关发送所述访问请求的时钟信号。
在其中一个实施例中,所述计算机程序被处理器执行时实现以下步骤:
响应于接收到所述至少一个服务器电源通过第二串行通信总线发送的通信异常信息,根据所述通信异常信息向用户告警;
响应于接收到所述用户发送的恢复正常通信指令,通过所述第二串行通信总线和所述第三开关向所述至少一个服务器电源发送重启指令以使所述至少一个服务器电源重启;
响应于所述至少一个服务器电源重启完成,通过所述第一串行通信总线和所述第三开关进行所述工作通信。
在一个实施例中,所述计算机程序被处理器执行时实现以下步骤:
响应于接收到服务器系统发送的查询指令,基板管理控制器根据查询指令确定至少一个服务器电源并通过第一串行通信总线向所述至少一个服务器电源发送访问请求;
响应于接收到基板管理控制器通过第一串行通信总线发送的访问请求,至少一个服务器电源通过所述第一串行通信总线向所述基板管理控制器返回响应信息,其中所述第一串行通信总线包括第一数据线和第一时钟线,所述至少一个服务器电源包括一组第一开关和一组第二开关;
所述至少一个服务器电源根据用户设置的轮询周期确定与所述基板管理控制器之间的工作通信是否异常;
若是,则所述至少一个服务器电源和所述基板管理控制器通过所述第一串行通信总线和第二串行通信总线中的一个以及第一开关和第二开关中的一组恢复通信,其中所述第二串行通信总线包括第二数据线和第二时钟线,所述第一时钟线和所述第二时钟线并联;所述第一数据线和第二数据线并联。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink) DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (20)
1.一种电源信息的通信方法,应用于至少一个服务器电源,所述至少一个服务器电源包括第一开关和第二开关,第一开关包括第一时钟线开关和第一数据线开关,第二开关包括第二时钟线开关和第二数据线开关,所述方法包括:
响应于接收到基板管理控制器通过第一串行通信总线发送的访问请求,通过所述第一串行通信总线向所述基板管理控制器返回响应信息,其中所述第一串行通信总线包括第一数据线和第一时钟线;
根据用户设置的轮询周期确定与所述基板管理控制器之间的工作通信是否异常;
若是,则通过所述第一串行通信总线和第二串行通信总线中的一个以及第一开关和第二开关中的一组恢复与所述基板管理控制器之间的通信,其中所述服务器电源与所述基板管理控制器之间的通信包括工作通信或互换双边双向通信,所述第二串行通信总线包括第二数据线和第二时钟线,所述第一时钟线和所述第二时钟线并联;所述第一数据线和第二数据线并联。
2.根据权利要求1所述的方法,其特征在于,所述根据用户设置的轮询周期确定与所述基板管理控制器之间的工作通信是否异常包括:
响应于监测到所述第一数据线的管脚电平和所述第一时钟线的管脚电平都为高电平,确定在所述轮询周期内是否接收到所述访问请求;
若是,则通过所述第一串行通信总线向所述基板管理控制器返回所述响应信息;
若否,则确定所述工作通信异常。
3.根据权利要求1所述的方法,其特征在于,所述通过所述第一串行通信总线和第二串行通信总线中的一个以及第一开关和第二开关中的一组恢复与所述基板管理控制器之间的通信包括:
通过所述第一串行通信总线、第一数据线对应的第一数据线开关和第一时钟线对应的第一时钟线开关尝试恢复所述工作通信;
响应于通过所述第一串行通信总线、所述第一数据线开关和所述第一时钟线开关尝试恢复所述工作通信失败,通过所述第二串行通信总线、所述第一数据线开关和所述第一时钟线开关尝试恢复所述工作通信;
响应于通过所述第二串行通信总线、所述第一数据线开关和所述第一时钟线开关尝试恢复所述工作通信失败,通过所述第二串行通信总线、所述第二数据线开关和所述第二时钟线开关进行与所述基板管理控制器的互换双边双向通信。
4.根据权利要求3所述的方法,其特征在于,所述通过所述第一串行通信总线、所述第一数据线开关和所述第一时钟线开关尝试恢复所述工作通信包括:
根据用户设置的时间阈值导通第一数据线开关以将第一数据线的管脚电平持续拉低为低电平以及导通第一时钟线开关以将第一时钟线的管脚电平持续拉低为低电平;
确定通过所述第一串行通信总线在所述轮询周期内是否接收到所述基板管理控制器发送的访问请求;
若是,则通过所述第一串行通信总线向所述基板管理控制器返回所述响应信息;
若否,则根据次数阈值和所述第一串行通信总线继续尝试恢复所述工作通信。
5.根据权利要求4所述的方法,其特征在于,所述通过所述第一串行通信总线向所述基板管理控制器返回所述响应信息包括:
通过所述第一串行通信总线中的第一时钟线和所述第一时钟线开关返回所述响应信息对应的时钟信号;
通过所述第一串行通信总线中的第一数据线和所述第一数据线开关返回所述响应信息对应的数据信号。
6.根据权利要求3所述的方法,其特征在于,所述通过所述第二串行通信总线、所述第一数据线开关和所述第一时钟线开关再次尝试恢复所述工作通信包括:
根据时间阈值导通所述第一数据线开关以将第二数据线的管脚电平持续拉低为低电平以及导通所述第一时钟线开关以将第二时钟线的管脚电平持续拉低为低电平;
确定通过所述第二串行通信总线在所述轮询周期内是否接收到所述基板管理控制器发送的访问请求;
若是,则通过所述第二串行通信总线向所述基板管理控制器返回所述响应信息;
若否,则根据次数阈值和所述第二串行通信总线继续尝试恢复所述工作通信。
7.根据权利要求6所述的方法,其特征在于,所述通过所述第二串行通信总线向所述基板管理控制器返回所述响应信息包括:
通过所述第二串行通信总线中的第二时钟线和所述第一时钟线开关返回所述响应信息对应的时钟信号;
通过所述第二串行通信总线中的第二数据线和所述第一数据线开关返回所述响应信息对应的数据信号。
8.根据权利要求3所述的方法,其特征在于,所述通过所述第二串行通信总线、所述第二数据线开关和所述第二时钟线开关进行与所述基板管理控制器的互换双边双向通信包括:
根据时间阈值导通第二数据线开关以将第二时钟线的管脚电平持续拉低为低电平以及导通第二时钟线开关以将所述第二数据线的管脚电平持续拉低为低电平;
响应于接收到所述基板管理控制器发送的访问请求,通过所述第二串行通信总线、所述第二数据线开关和所述第二时钟线开关向所述基板管理控制器返回响应信息。
9.根据权利要求8所述的方法,其特征在于,所述通过所述第二串行通信总线、所述第二数据线开关和所述第二时钟线开关向所述基板管理控制器返回响应信息包括:
通过所述第二串行通信总线中的第二时钟线和所述第二数据线开关返回所述响应信息对应的数据信号;
通过所述第二串行通信总线中的第二数据线和所述第二时钟线开关返回所述响应信息对应的时钟信号。
10.根据权利要求8所述的方法,其特征在于,所述通过所述第二串行通信总线、所述第二数据线开关和所述第二时钟线开关向所述基板管理控制器返回响应信息之后还包括:
生成通信异常信息并通过所述第二串行通信总线、所述第二数据线开关和所述第二时钟线开关向所述基板管理控制器发送所述通信异常信息;
响应于接收到所述基板管理控制器发送的重启指令,根据所述重启指令重启输入电源以使所述第二数据线开关和所述第二时钟线开关断开;
响应于重启所述输入电源完成,通过所述第一串行通信总线、所述第一数据线开关和所述第一时钟线开关进行所述工作通信。
11.一种电源信息的通信方法,应用于基板管理控制器,所述基板管理控制器包括第三开关,所述第三开关包括第三时钟线开关和第三数据线开关,所述方法包括:
响应于接收到服务器系统发送的查询指令,根据查询指令确定至少一个服务器电源并通过第一串行通信总线和所述第三开关向所述至少一个服务器电源发送访问请求;
响应于接收到所述至少一个服务器电源通过第一串行通信总线返回的响应信息,通过所述第一串行通信总线和所述第三开关进行与所述至少一个服务器电源的工作通信;
响应于接收到所述至少一个服务器电源通过第二串行通信总线返回的响应信息,通过所述第二串行通信总线和所述第三开关进行与所述至少一个服务器电源的互换双边双向通信或所述工作通信,其中所述服务器电源与所述基板管理控制器之间的通信包括工作通信或互换双边双向通信。
12.根据权利要求11所述的方法,其特征在于,所述根据查询指令确定至少一个服务器电源并通过第一串行通信总线和所述第三开关向所述至少一个服务器电源发送访问请求包括:
通过所述第一串行通信总线中的第一时钟线和所述第三时钟线开关向所述至少一个服务器电源发送所述访问请求的时钟信号;
通过所述第一串行通信总线中的第一数据线和所述第三数据线开关向所述至少一个服务器电源发送所述访问请求的数据信号。
13.根据权利要求11所述的方法,其特征在于,所述通过所述第二串行通信总线进行与所述至少一个服务器电源的互换双边双向通信或所述工作通信包括:
响应于通过所述第二串行通信总线中的第二时钟线接收到所述响应信息的时钟信号以及通过所述第二串行通信总线中的第二数据线接收到所述响应信息的数据信号,通过所述第二串行通信总线和所述第三开关进行所述工作通信;
响应于通过所述第二串行通信总线中的第二时钟线接收到所述数据信号以及通过所述第二串行通信总线中的第二数据线接收到所述时钟信号,通过所述第二串行通信总线和所述第三开关进行所述互换双边双向通信。
14.根据权利要求12所述的方法,其特征在于,所述通过所述第二串行通信总线和所述第三开关进行所述互换双边双向通信包括:
响应于再次接收到服务器系统发送的查询指令,根据查询指令确定至少一个服务器电源并通过所述第二串行通信总线中的第二时钟线和所述第三数据线开关发送所述访问请求的数据信号;
通过所述第二串行通信总线中的第二数据线和所述第三时钟线开关发送所述访问请求的时钟信号。
15.根据权利要求11所述的方法,其特征在于,所述方法还包括:
响应于接收到所述至少一个服务器电源通过第二串行通信总线发送的通信异常信息,根据所述通信异常信息向用户告警;
响应于接收到所述用户发送的恢复正常通信指令,通过所述第二串行通信总线和所述第三开关向所述至少一个服务器电源发送重启指令以使所述至少一个服务器电源重启;
响应于所述至少一个服务器电源重启完成,通过所述第一串行通信总线和所述第三开关进行所述工作通信。
16.一种应用于电源信息的通信系统的电源信息的通信方法,其特征在于,所述方法包括:
响应于接收到服务器系统发送的查询指令,基板管理控制器根据查询指令确定至少一个服务器电源并通过第一串行通信总线向所述至少一个服务器电源发送访问请求;
响应于接收到基板管理控制器通过第一串行通信总线发送的访问请求,至少一个服务器电源通过所述第一串行通信总线向所述基板管理控制器返回响应信息,其中所述第一串行通信总线包括第一数据线和第一时钟线,所述至少一个服务器电源包括一组第一开关和一组第二开关;
所述至少一个服务器电源根据用户设置的轮询周期确定与所述基板管理控制器之间的工作通信是否异常;
若是,则所述至少一个服务器电源和所述基板管理控制器通过所述第一串行通信总线和第二串行通信总线中的一个以及第一开关和第二开关中的一组恢复通信,其中所述服务器电源与所述基板管理控制器之间的通信包括工作通信或互换双边双向通信,所述第二串行通信总线包括第二数据线和第二时钟线,所述第一时钟线和所述第二时钟线并联;所述第一数据线和第二数据线并联。
17.一种电源信息的通信系统,其特征在于,所述系统包括基板管理控制器、至少一个服务器电源、第一串行通信总线、第二串行通信总线;
所述至少一个服务器电源中每个服务器电源均包括一组第一开关和一组第二开关;所述基板管理控制包括一组第三开关;
所述基板管理控制器和所述至少一个服务器电源之间通过所述第一串行通信总线、所述第三开关和所述第一开关进行工作通信;所述基板管理控制器和所述至少一个服务器电源之间通过所述第二串行通信总线、所述第三开关和所述第一开关进行工作通信;所述基板管理控制器和所述至少一个服务器电源之间通过所述第二串行通信总线、所述第三开关和第二开关进行互换双边双向通信,其中所述第一串行通信总线包括第一数据线和第一时钟线,所述第二串行通信总线包括第二数据线和第二时钟线,所述第一时钟线和所述第二时钟线并联;所述第一数据线和第二数据线并联。
18.根据权利要求17所述的系统,其特征在于,所述系统还包括:
所述第一开关包括第一数据线开关和第一时钟线开关,其中所述第一数据线开关用于调整所述第一数据线和第二数据线的管脚电平,所述第一时钟线开关用于调整所述第一时钟线和第二时钟线的管脚电平;所述第二开关包括第二数据线开关和第二时钟线开关,其中所述第二数据线开关用于调整第二时钟线的管脚电平,所述第二时钟线开关用于调整第二数据线的管脚电平;所述第三开关包括第三数据线开关和第三时钟线开关,其中所述第三数据线开关用于调整所述第一数据线和第二时钟线的管脚电平,所述第三时钟线开关用于调整所述第一时钟线和第二数据线的管脚电平。
19.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至16中任一项所述方法的步骤。
20.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至16中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311570979.1A CN117331863B (zh) | 2023-11-23 | 2023-11-23 | 电源信息的通信方法、系统、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311570979.1A CN117331863B (zh) | 2023-11-23 | 2023-11-23 | 电源信息的通信方法、系统、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117331863A CN117331863A (zh) | 2024-01-02 |
CN117331863B true CN117331863B (zh) | 2024-02-23 |
Family
ID=89293682
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311570979.1A Active CN117331863B (zh) | 2023-11-23 | 2023-11-23 | 电源信息的通信方法、系统、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117331863B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107656887A (zh) * | 2016-07-25 | 2018-02-02 | 中兴通讯股份有限公司 | 外设总线的控制装置及方法 |
CN112260916A (zh) * | 2020-09-18 | 2021-01-22 | 深圳市裕展精密科技有限公司 | 通信电路、通信网络及通信异常处理方法 |
CN116647424A (zh) * | 2023-06-26 | 2023-08-25 | 浙江源创智控技术有限公司 | 一种单环网can总线系统故障自动恢复的方法 |
-
2023
- 2023-11-23 CN CN202311570979.1A patent/CN117331863B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107656887A (zh) * | 2016-07-25 | 2018-02-02 | 中兴通讯股份有限公司 | 外设总线的控制装置及方法 |
CN112260916A (zh) * | 2020-09-18 | 2021-01-22 | 深圳市裕展精密科技有限公司 | 通信电路、通信网络及通信异常处理方法 |
CN116647424A (zh) * | 2023-06-26 | 2023-08-25 | 浙江源创智控技术有限公司 | 一种单环网can总线系统故障自动恢复的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN117331863A (zh) | 2024-01-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5915086B2 (ja) | 切替制御装置、切替制御方法、情報処理装置および切替制御プログラム | |
CN103346903A (zh) | 一种双机备份的方法和装置 | |
CN112653734B (zh) | 服务器集群实时主从控制和数据同步系统及方法 | |
CN106888100B (zh) | 以太网供电交换机及其供电方法 | |
CN109471759A (zh) | 一种基于sas双控设备的数据库故障切换方法及设备 | |
WO2021004256A1 (zh) | 一种节点故障时进行节点切换的方法及相关设备 | |
CN113742165B (zh) | 双主控设备及主备控制方法 | |
CN108954702B (zh) | 一种空调的控制方法、装置、空调和存储介质 | |
CN117331863B (zh) | 电源信息的通信方法、系统、电子设备及存储介质 | |
CN111949283B (zh) | 一种BMC Flash镜像自恢复系统及方法 | |
CN111327523B (zh) | 基于聚合口的网络保护方法、装置、网络设备及存储介质 | |
CN109995597B (zh) | 一种网络设备故障处理方法及装置 | |
JP2015045905A (ja) | 情報処理システム、情報処理システムの障害処理方法 | |
JP5332257B2 (ja) | サーバシステム、サーバ管理方法、およびそのプログラム | |
CN112822039B (zh) | 双机热备系统主备模式切换的方法 | |
CN111858187A (zh) | 一种电子设备及业务切换方法、装置 | |
TWI753606B (zh) | 主從互換式電源供應裝置及其主機、主從互換式電源供應方法及其電腦可讀取記錄媒體 | |
JP2856617B2 (ja) | プログラマブルコントローラ | |
CN112685803A (zh) | 热备状态切换方法、装置、设备和存储介质 | |
CN115714714B (zh) | 管理网络智能切换系统、方法、计算机设备和存储介质 | |
CN112306913B (zh) | 一种端点设备的管理方法、装置及系统 | |
US7761610B2 (en) | Methods and computer program products for defining synchronous replication devices in a subchannel set other than subchannel set zero | |
US8307129B2 (en) | Methods and computer program products for swapping synchronous replication secondaries from a subchannel set other than zero to subchannel set zero using dynamic I/O | |
US20170063149A1 (en) | Behavior modification of a power supply in response to a detected condition | |
JPH05341803A (ja) | プログラマブルコントローラの二重化切替装置 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |