一种风扇控制方法及装置与流程

文档序号:18938686发布日期:2019-10-23 00:58阅读:501来源:国知局
一种风扇控制方法及装置与流程

本发明涉及服务器散热领域,具体涉及一种风扇控制方法及装置。



背景技术:

随着“大数据”的飞速发展,企业需要更稳定可靠、容量更大、速度更快的基础设备。常用的服务器主板配有bmc(baseboardmanagementcontroller,基板管理控制器)来对主板实现管理功能,使用双psu(powersupplyunit,电源供应器设备)冗余设计,由两个完全一样的电源模块组成,由bmc控制psu进行负载均衡,当一个psu出现故障时,另一个psu马上可以接管其工作,在更换电源后,又是两个psu协同工作。

良好的散热对于服务器的稳定工作至关重要,通常通过bmc实现风扇转速调控,当bmc出现故障时,服务器通常会通过cpld

(complexprogrammablelogicdevice,复杂可编程逻辑器件)调整风扇转速,将风扇转速拉至最高,保证机器有最好的散热能力。

但是对于整机功耗过高的服务器,满负荷工作时,整机功耗与单psu的供电能力相当,甚至超过了单psu的供电能力。此时如果有一个psu和bmc同时发生故障,cpld将风扇转速拉至最高,此时整机功耗就会接近甚至超过单psu的供电能力,服务器极易出现掉电、数据丢失的问题。



技术实现要素:

为了解决上述技术问题,本发明提供了一种风扇控制方法,将psu的状态作为风扇调控的一个因素,防止服务器功耗超过单psu的供电能力,避免因此造成的掉电、数据丢失问题。

为实现上述目的,本发明采用以下技术方案:

一种风扇控制方法,其特征是,

监测bmc是否异常;

当bmc异常时,根据服务器负载情况调整风扇转速;

根据psu状态限制风扇转速上限,防止风扇功耗超过psu供电能力。

进一步地,cpld监测bmc是否异常;

当bmc异常时,cpld根据服务器负载情况调整风扇转速;

cpld根据psu状态限制风扇转速上限,防止风扇功耗超过psu供电能力。

进一步地,所述cpld监测bmc是否异常的方法具体为:

bmc发出心跳信号,cpld读取bmc的心跳信号,如果cpld检测到的bmc心跳次数与bmc心跳信号的设定频率不符,判定bmc异常。

进一步地,所述风扇转速由pwm信号占空比表示。

进一步地,所述cpld根据psu状态限制风扇转速上限的方法具体为:

cpld监测psu健康状态信号;

若两个psu正常,cpld将pwm信号占空比最大限制为90%;

若一个psu正常,cpld将pwm信号占空比最大限制为60%。

进一步地,若psu存在异常,cpld发出报警信号。

本发明还提供了一种风扇控制装置,其特征是,包括bmc、sensor模块、cpld、风扇和psu;

sensor模块连接bmc,用于监测并传递服务器内部温度;

bmc接收风扇的实际转速信号,根据监测到的服务器内部温度设置风扇转速;

cpld连接bmc和风扇,用于向风扇传递bmc设置的风扇转速信号;

cpld还连接psu,用于监测psu健康状态;cpld通过pmbus读取psu当前的电流情况,判断服务器的具体负载大小。

进一步地,还包括连接cpld的报警模块,所述报警模块接收cpld发出的报警信号,发出报警信息。

进一步地,所述报警信号包括bmc报警信号和psu报警信号。

进一步地,所述报警模块通过led灯传递报警信息。

本发明的有益效果是:

本发明通过一种风扇控制方法及装置,在bmc挂死的时候,通过cpld及时设定风扇转速,防止机器过热;相比于传统调控方式,本发明在bmc故障时cpld会根据服务器的负载情况和psu健康状态来智能调整风扇转速,避免直接拉高转速导致的高功耗,节约用电,防止高功耗超过psu的供电能力,造成掉电、数据丢失等严重后果。

在bmc和psu出现双点故障时,风扇的散热能力可能无法满足长时间高负荷工作的要求,cpld会及时触发报警信号,提醒维护人员及时更换故障psu,防止机器过热。

附图说明

图1是本发明的风扇控制方法实施例流程示意图;

图2是本发明的风扇控制装置实施例结构示意图。

具体实施方式

为能清楚说明本方案的技术特点,下面通过具体实施方式,并结合其附图,对本发明进行详细阐述。下文的公开提供了许多不同的实施例或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。此外,本发明可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。应当注意,在附图中所图示的部件不一定按比例绘制。本发明省略了对公知组件和处理技术及工艺的描述以避免不必要地限制本发明。

本发明提供了一种风扇控制方法:

监测bmc是否异常;

当bmc异常时,根据服务器负载情况调整风扇转速;

根据psu状态限制风扇转速上限,防止风扇功耗超过psu供电能力。

所述风扇控制方法通过芯片实现,所述芯片包括但不限于cpld、mcu和asic。

如图1所示,本发明的一种实施例利用cpld的风扇控制方法为:

cpld监测bmc是否异常;

当bmc异常时,cpld根据服务器负载情况调整风扇转速;

cpld根据psu状态限制风扇转速上限,防止风扇功耗超过psu供电能力。

正常运行时,bmc通过i2c通路将风扇转速所占全速的百分比发送给cpld,cpld将占空比的数据解析后生成对应占空比的pwm信号,控制风扇的转速。

cpld实时监测bmc的心跳信号和i2c信号,同时通过pmbus读取psu的电流电压等数据,实时监测两个psu的健康状态。

当bmc出现异常,cpld会根据psu的状态,调节控制风扇转速的pwm信号占空比,此时,

若两个psu都正常,cpld将pwm信号占空比最大限制为90%;

若只有一个psu正常,cpld将pwm信号占空比最大限制为60%;

两种情况下的转速具体值可以根据cpld检测到的实际情况进行调整。

若有一个psu存在异常,cpld会同时发出报警信号,通知管理人员及时处理。

本发明的风扇控制装置的一个实施例的结构如图2所示。

风扇控制装置包括bmc、sensor模块、cpld、风扇和psu。

bmc通过一组i2c线路tmp_sck和tmp_sda读取sensor模块检测到的温度。sensor模块是温度监控芯片及其周边电路,用于实时监测服务器内部的环境温度。推荐采用ti公司的tmp275系列芯片,此类芯片温度监测精度为±0.5℃,具有i2c接口,适合用来监测服务器内部温度。

bmc通过fan_speed_detect检测风扇转速的信号。bmc会根据读取到的当前温度对风扇转速进行设置,并通过fan_speed_detect来实时检测风扇的实际转速值。bmc将设置好的转速通过一组i2c线路i2c_sda和i2c_sck发送给cpld。cpld根据接收到的转速来控制pwm信号的占空比,通过fan_pwm向风扇发出控制风扇转速的pwm信号,pwm信号的占空比越大,风扇转速越高;反之,风扇转速越小。

cpld还接收bmc发出的heartbeat信号。heartbeat是bmc的心跳信号,是bmc发出的频率为1hz的方波。cpld通过读取bmc的心跳信号,来监测bmc的健康状态。如果cpld检测到的bmc1分钟内的心跳次数不是60次,即判定为bmc故障。

psu向cpld发送psu1_pwrok和psu2_pwrok信号,使cpld监测psu健康状态。当bmc故障时,cpld将通过psu健康状态调控风扇的最大转速。当两个psu都正常工作时,cpld将风扇最大转速限制为90%;当只有一个psu正常工作时,cpld会将风扇最大转速限制为60%,防止风扇转速过高带来过高的功耗,造成服务器掉电。

当bmc故障时,cpld将在最大限制下,根据服务器负载大小来调整pwm信号的占空比。cpld通过pmbus读取到psu当前的电流情况,判断服务器的具体负载大小,负载越大,cpld生成的pwm信号占空比越大,风扇转速也就越高;反之,风扇转速越低。

cpld还连接了报警模块,用于在bmc或psu出现故障时及时报警。cpld向报警模块发出bmc_alert和psu_alert信号。bmc_alert代表bmc故障,psu_alert代表psu故障。报警信息通过led灯传递。cpld根据bmc和psu的健康状态来点亮led,一般使用红绿双色led,红色表示报警,绿色表示正常。

上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制。对于所属领域的技术人员来说,在上述说明的基础上还可以做出其它不同形式的修改或变形。这里无需也无法对所有的实施方式予以穷举。在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。

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