一种风扇链路故障的检测系统、方法及装置与流程

文档序号:19573518发布日期:2019-12-31 19:12阅读:256来源:国知局
一种风扇链路故障的检测系统、方法及装置与流程

本发明属于服务器风扇故障检测技术领域,具体涉及一种风扇链路故障的检测系统、方法及装置。



背景技术:

cpld:complexprogrammablelogicdevice,复杂可编程逻辑器件。

pwm:pulsewidthmodulation,脉冲宽度调制。

目前在服务器领域,机箱内部主要使用风扇进行散热。为了满足散热需求,一个服务器机箱通常配备多个风扇,由bmc控制,按照预定的散热策略,使不同风扇的转速不同。为防止bmc挂死后,系统散热失控,通常将bmc的看门狗信号及风扇控制信号连接到cpld,cpld检测到bmc挂死后,会控制接管风扇控制。bmc与cpld之间使用i2c总线连接,主要用于bmc读取cpld版本号、升级cpld版本等功能。

在现有方案中,bmc产生多路风扇控制信号pwm0~n,经cpld后发送给风扇。同时,bmc产生的看门狗信号wdt发送给cpld.当cpld检测到wdt信号以固定频率翻转时,cpld判断bmc正常工作,则透传接收到的pwm0~n给风扇,即cpld_pwm0~n与pwm0~n相同;当cpld检测到wdt信号超过一定时间不发生翻转时,则判断为bmc挂死,无法再对风扇进行控制,则接管风扇控制,通过cpld_pwm0~n控制风扇按预定转速转。各个风扇的转速信号fan_tach_0~n传递给bmc,由bmc检测风扇转速信息。

现有方案只能是通过wdt信号,检测bmc系统整体挂死后,接管所有风扇的控制。当bmc的风扇控制进程挂死,但是bmc系统整体未挂死时,wdt信号仍不断反转,cpld不会接管风扇控制,单此时bmc已失去对风扇的有效控制。另外,当因为硬件问题,某一路或几路风扇控制信号无法传递给风扇,对应的风扇也会失控,(例如pwmx对地短路);此时bmc只能报警指示某一个风扇故障,但是无法指示具体的故障位置。

此为现有技术的不足,因此,针对现有技术中的上述缺陷,提供一种风扇链路故障的检测系统、方法及装置,是非常有必要的。



技术实现要素:

针对现有技术的上述bmc的风扇控制进程挂死,但bmc系统整体仍在工作时,风扇无法有效控制,以及某一风扇的控制信号故障时,bmc无法指示具体的故障位置的缺陷,本发明提供一种风扇链路故障的检测系统、方法及装置,以解决上述技术问题。

第一方面,本发明提供一种风扇链路故障的检测系统,包括cpld,cpld连接有bmc以及若干风扇;

bmc与cpld通过i2c链路以及风扇bmc_pwm控制链路分别连接;

cpld与每个风扇通过风扇cpld_pwm控制链路连接;

bmc与每个风扇通过一条风扇转速检测链路连接;

设定风扇bmc_pwm控制链路为a链路,设定风扇cpld_pwm控制链路-风扇-风扇转速检测链路为b链路;

bmc通过对应的风扇转速检测链路获取每个风扇的实际转速信息;

cpld通过a链路从bmc获取并转发每个风扇的pwm占空比控制信息的同时,还通过i2c链路从bmc获取每个风扇的pwm占空比控制信息以及每个风扇的实际转速信息;

cpld通过比较从a链路获取的每个风扇的pwm占空比控制信息与从i2c链路获取的每个风扇的pwm占空比控制信息是否相同,判断是否存在a链路故障;

cpld通过对每个风扇的实际转速信息与cpld自身输出的每个风扇的pwm占空比控制信息进行比较,判断是否存在b链路故障。

进一步地,bmc与cpld还通过wdt监控链路连接;

cpld通过wdt监控链路判断bmc是否bmc整体故障。cpld通过监控bmc产生的看门狗信号wdt,判断bmc是否整体挂死。

第二方面,本发明提供一种基于上述第一方面的风扇链路故障的检测方法,包括如下步骤:

s1.bmc通过对应的风扇转速检测链路获取每个风扇的实际转速信息;

s2.cpld通过a链路从bmc获取并转发每个风扇的pwm占空比控制信息的同时,还通过i2c链路从bmc获取每个风扇的pwm占空比控制信息以及每个风扇的实际转速信息;

s3.cpld通过比较从a链路获取的每个风扇的pwm占空比控制信息与从i2c链路获取的每个风扇的pwm占空比控制信息是否相同,判断是否存在a链路故障;

s4.cpld通过对每个风扇的实际转速信息与cpld自身输出的每个风扇的pwm占空比控制信息进行比较,判断是否存在b链路故障。

进一步地,步骤s3具体步骤如下:

s31.cpld比较从a链路获取的每个风扇的pwm占空比控制信息与从i2c链路获取的每个风扇的pwm占空比控制信息是否相同;

若是,则进入步骤s4;

若否,则存在a链路故障,进入下一步;

s32.cpld接管故障的a链路,并根据a链路故障类型进行报警。通过cpld与bmc之间的i2c链路与风扇bmc_pwm控制链路形成闭环。

进一步地,步骤s32具体步骤如下:

s321.cpld接管故障的a链路;

s322.判断是否每个风扇bmc_pwm控制链路对应的a链路均故障;

若是,则进行bmc风扇控制进程挂死报警;

若否,则故障的a链路报警。细化a链路故障的故障指示,增加风扇控制可靠性以及可维护性。

进一步地,步骤s4具体步骤如下:

s41.cpld根据自身输出的每个风扇的pwm占空比控制信息计算出对应风扇的理论转速信息;

s42.cpld比较每个风扇的实际转速信息与对应的理论转速信息是否相同;

若是,则返回步骤s1;

否否,则判定对应风扇的b链路故障,并进行b链路故障报警。细化b链路故障的故障指示,增加风扇控制可靠性以及可维护性。

进一步地,步骤s3之前还包括如下步骤:

s3a.cpld通过wdt监控链路判断bmc是否bmc整体故障。cpld通过监控bmc产生的看门狗信号wdt,判断bmc是否整体挂死。

进一步地,步骤s3a具体步骤如下:

s3a1.cpld通过wdt监控链路获取bmc的看门狗信号wdt;

s3a2.cpld判断看门狗信号wdt是否以固定频率翻转;

若是,则进入步骤s3;

否否,则判定bmc整体故障,cpld接管bmc对风扇的控制。bmc的看门狗信号wdt不以固定频率翻转为bmc挂死的表现。

第三方面,提供一种风扇链路故障的检测装置,包括:

风扇实际转速信息获取模块,用于配置bmc通过对应的风扇转速检测链路获取每个风扇的实际转速信息;

cpld与bmc通信模块,用于配置cpld通过a链路从bmc获取并转发每个风扇的pwm占空比控制信息的同时,还通过i2c链路从bmc获取每个风扇的pwm占空比控制信息以及每个风扇的实际转速信息;

a链路故障判断模块,用于配置cpld通过比较从a链路获取的每个风扇的pwm占空比控制信息与从i2c链路获取的每个风扇的pwm占空比控制信息是否相同,判断是否存在a链路故障;

b链路故障判断模块,用于配置cpld通过对每个风扇的实际转速信息与cpld自身输出的每个风扇的pwm占空比控制信息进行比较,判断是否存在b链路故障;

bmc整体故障判断模块,用于配置cpld通过wdt监控链路判断bmc是否bmc整体故障。

进一步地,a链路故障判断模块包括:

风扇的pwm占空比控制信息比较单元,用于配置cpld比较从a链路获取的每个风扇的pwm占空比控制信息与从i2c链路获取的每个风扇的pwm占空比控制信息是否相同;

a链路故障报警单元,用于当存在a链路故障时,配置cpld接管故障的a链路,并根据a链路故障类型进行报警;

b链路故障判断模块包括:

风扇理论转速信息计算单元,用于配置cpld根据自身输出的每个风扇的pwm占空比控制信息计算出对应风扇的理论转速信息;

风扇转速信息比较单元,用于配置cpld比较每个风扇的实际转速信息与对应的理论转速信息是否相同;

b链路故障报警单元,用于当存在b链路故障时,进行b链路故障报警;

bmc整体故障判断模块包括:

bmc看门狗信号获取单元,用于配置cpld通过wdt监控链路获取bmc的看门狗信号wdt;

bmc看门狗信号判断单元,用于配置cpld判断看门狗信号wdt是否以固定频率翻转;

风扇接管控制单元,用于当bmc整体故障时,配置cpld接管bmc对风扇的控制。各故障判断模块细化风扇链路故障的故障指示,增加风扇控制可靠性以及可维护性。

本发明的有益效果在于,

本发明提供的风扇链路故障的检测系统、方法及装置,在不更改主板的硬件结构的前提下,实现不同类型的风扇链路故障区分,细化风扇控制链路的故障指示,为服务器维修提供较为明确的故障信息;同时解决bmc的风扇控制进程挂死,但bmc系统整体仍在工作时,风扇无法有效控制的问题。

此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。

由此可见,本发明与现有技术相比,具有突出的实质性特点和显著的进步,其实施的有益效果也是显而易见的。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明的系统示意图;

图2是本发明的方法流程示意图一;

图3是本发明的方法流程示意图二;

图4是本发明的方法流程示意图三;

图5是本发明的装置示意图;

图中,1-cpld;2-bmc;3-风扇;4-风扇实际转速信息获取模块;5-cpld与bmc通信模块;6-a链路故障判断模块;6.1-风扇的pwm占空比控制信息比较单元;6.2-a链路故障报警单元;7-b链路故障判断模块;7.1-风扇理论转速信息计算单元;7.2-风扇转速信息比较单元;7.3-b链路故障报警单元;8-bmc整体故障判断模块;8.1-bmc看门狗信号获取单元;8.2-bmc看门狗信号判断单元;8.3-风扇接管控制单元。

具体实施方式

为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

实施例1:

如图1所示,本发明提供一种风扇链路故障的检测系统,包括cpld1,cpld1连接有bmc2以及若干风扇3;

bmc2与cpld1通过i2c链路以及风扇bmc_pwm控制链路分别连接;

cpld1与每个风扇3通过风扇cpld_pwm控制链路连接;

bmc2与每个风扇3通过一条风扇转速检测链路连接;

bmc2与cpld1还通过wdt监控链路连接;

设定风扇bmc_pwm控制链路为a链路,设定风扇cpld_pwm控制链路-风扇-风扇转速检测链路为b链路;

bmc2通过对应的风扇转速检测链路获取每个风扇的实际转速信息;

cpld1通过a链路从bmc2获取并转发每个风扇的pwm占空比控制信息的同时,还通过i2c链路从bmc2获取每个风扇的pwm占空比控制信息以及每个风扇的实际转速信息;

cpld1通过比较从a链路获取的每个风扇的pwm占空比控制信息与从i2c链路获取的每个风扇的pwm占空比控制信息是否相同,判断是否存在a链路故障;

cpld1通过对每个风扇的实际转速信息与cpld1自身输出的每个风扇的pwm占空比控制信息进行比较,判断是否存在b链路故障;

cpld1通过wdt监控链路判断bmc2是否bmc整体故障。

实施例2:

如图2所示,本发明提供一种基于上述实施例1的风扇链路故障的检测方法,包括如下步骤:

s1.bmc通过对应的风扇转速检测链路获取每个风扇的实际转速信息;

s2.cpld通过a链路从bmc获取并转发每个风扇的pwm占空比控制信息的同时,还通过i2c链路从bmc获取每个风扇的pwm占空比控制信息以及每个风扇的实际转速信息;

s3.cpld通过比较从a链路获取的每个风扇的pwm占空比控制信息与从i2c链路获取的每个风扇的pwm占空比控制信息是否相同,判断是否存在a链路故障;

s4.cpld通过对每个风扇的实际转速信息与cpld自身输出的每个风扇的pwm占空比控制信息进行比较,判断是否存在b链路故障。

实施例3:

如图3所示,本发明提供一种基于上述实施例1的风扇链路故障的检测方法,包括如下步骤:

s1.bmc通过对应的风扇转速检测链路获取每个风扇的实际转速信息;

s2.cpld通过a链路从bmc获取并转发每个风扇的pwm占空比控制信息的同时,还通过i2c链路从bmc获取每个风扇的pwm占空比控制信息以及每个风扇的实际转速信息;

s3.cpld通过比较从a链路获取的每个风扇的pwm占空比控制信息与从i2c链路获取的每个风扇的pwm占空比控制信息是否相同,判断是否存在a链路故障;具体步骤如下:

s31.cpld比较从a链路获取的每个风扇的pwm占空比控制信息与从i2c链路获取的每个风扇的pwm占空比控制信息是否相同;

若是,则进入步骤s4;

若否,则存在a链路故障,进入下一步;

s32.cpld接管故障的a链路,并根据a链路故障类型进行报警;具体步骤如下:

s321.cpld接管故障的a链路;

s322.判断是否每个风扇bmc_pwm控制链路对应的a链路均故障;

若是,则进行bmc风扇控制进程挂死报警;

若否,则故障的a链路报警;

s4.cpld通过对每个风扇的实际转速信息与cpld自身输出的每个风扇的pwm占空比控制信息进行比较,判断是否存在b链路故障;具体步骤如下:

s41.cpld根据自身输出的每个风扇的pwm占空比控制信息计算出对应风扇的理论转速信息;

s42.cpld比较每个风扇的实际转速信息与对应的理论转速信息是否相同;

若是,则返回步骤s1;

否否,则判定对应风扇的b链路故障,并进行b链路故障报警。

实施例4:

如图4所示,与实施例1不同的是,步骤s3之前还包括如下步骤:

s3a.cpld通过wdt监控链路判断bmc是否bmc整体故障;具体步骤如下:

s3a1.cpld通过wdt监控链路获取bmc的看门狗信号wdt;

s3a2.cpld判断看门狗信号wdt是否以固定频率翻转;

若是,则进入步骤s3;

否否,则判定bmc整体故障,cpld接管bmc对风扇的控制。

实施例5:

如图5所示,本发明提供一种风扇链路故障的检测装置,包括:

风扇实际转速信息获取模块4,用于配置bmc通过对应的风扇转速检测链路获取每个风扇的实际转速信息;

cpld与bmc通信模块5,用于配置cpld通过a链路从bmc获取并转发每个风扇的pwm占空比控制信息的同时,还通过i2c链路从bmc获取每个风扇的pwm占空比控制信息以及每个风扇的实际转速信息;

a链路故障判断模块6,用于配置cpld通过比较从a链路获取的每个风扇的pwm占空比控制信息与从i2c链路获取的每个风扇的pwm占空比控制信息是否相同,判断是否存在a链路故障;a链路故障判断模块6包括:

风扇的pwm占空比控制信息比较单元6.1,用于配置cpld比较从a链路获取的每个风扇的pwm占空比控制信息与从i2c链路获取的每个风扇的pwm占空比控制信息是否相同;

a链路故障报警单元6.2,用于当存在a链路故障时,配置cpld接管故障的a链路,并根据a链路故障类型进行报警;

b链路故障判断模块7,用于配置cpld通过对每个风扇的实际转速信息与cpld自身输出的每个风扇的pwm占空比控制信息进行比较,判断是否存在b链路故障;b链路故障判断模块7包括:

风扇理论转速信息计算单元7.1,用于配置cpld根据自身输出的每个风扇的pwm占空比控制信息计算出对应风扇的理论转速信息;

风扇转速信息比较单元7.2,用于配置cpld比较每个风扇的实际转速信息与对应的理论转速信息是否相同;

b链路故障报警单元7.3,用于当存在b链路故障时,进行b链路故障报警;

bmc整体故障判断模块8,用于配置cpld通过wdt监控链路判断bmc是否bmc整体故障;bmc整体故障判断模块8包括:

bmc看门狗信号获取单元8.1,用于配置cpld通过wdt监控链路获取bmc的看门狗信号wdt;

bmc看门狗信号判断单元8.2,用于配置cpld判断看门狗信号wdt是否以固定频率翻转;

风扇接管控制单元8.3,用于当bmc整体故障时,配置cpld接管bmc对风扇的控制。

尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1