本发明涉及计算技术领域,更具体地说,涉及一种风扇控制方法、系统及装置。
背景技术:
目前在计算机设备中,为了降低cpu、内存等设备在运行中的温度,通常会设置有风扇来进行降温。风扇由bmc进行管控,bmc根据温度输出相应的pmw信号给风扇控制电路,从而实现对风扇的控制,但是当bmc出现故障时,风扇的便不能根据需调温设备的温度进行调节,为了满足系统散热,通常在设计风扇电路的时候,在此条件下将风扇置于全速,以满足散热要求。但是散热要求可能并不需要风扇置于全速,此时就会造成不必要的能耗浪费,而且风扇长时全速旋转时,也会带来较大的噪声问题。
因此,如何在bmc出现异常时合理的控制风扇转速,是本领域技术人员需要解决的问题。
技术实现要素:
本发明的目的在于提供一种风扇控制方法、系统及装置,以解决如何在bmc出现异常时合理的控制风扇转速的问题。
为实现上述目的,本发明实施例提供了如下技术方案:
一种风扇控制方法,包括:
利用cpld监控与所述cpld相连且用于控制调整风扇转速的bmc是否异常;
当所述bmc异常时,利用所述cpld维持风扇当前转速;
当利用所述cpld监控到需调温设备发出高温告警信号时,利用所述cpld根据风扇转速档位与pmw的预设对应关系向所述风扇的控制电路输出相应的pmw,调整所述风扇的转速档位,以使所述高温告警信号消失。
其中,所述利用cpld监控与所述cpld相连且用于控制调整风扇转速的bmc是否异常,包括:
利用所述cpld监控与所述cpld与所述bmc之间的心跳信号是否异常;其中,所述bmc为与所述cpld相连且用于控制调整所述风扇转速的bmc。
其中,所述方法还包括:
当所述bmc未出现异常时,利用所述bmc间隔预设时间确定当前所述需调温设备的温度值,并根据所述温度值产生用于调整所述风扇转速的对应温度值的pmw;
将所述对应温度值的pmw引入所述cpld,并利用所述cpld将所述对应温度值的pmw输出到所述风扇的控制电路,以调整所述风扇转速。
其中,所述利用cpld监控与所述cpld相连且用于控制调整风扇转速的bmc是否异常,包括:
利用所述cpld监控所述bmc或所述bmc输出的pmw是否异常;其中,所述bmc为与所述cpld相连且用于控制调整所述风扇转速的bmc。
其中,所述当利用所述cpld监控到需调温设备发出高温告警信号时,利用所述cpld根据风扇转速档位与pmw的预设对应关系向所述风扇的控制电路输出相应的pmw,调整所述风扇的转速档位,包括:
s1,当利用所述cpld监控到所述需调温设备发出高温告警信号时,利用所述cpld根据所述风扇转速档位与pmw的预设对应关系,向所述风扇的控制电路输出对应最高风扇转速档位的pmw,调整所述风扇的转速档位为最高档位;
s2,间隔预设时间判断当前所述高温告警信号是否消失;
s3,若是,则利用所述cpld根据所述风扇转速档位与pmw的预设对应关系,向所述风扇的控制电路输出与当前风扇转速档位的低一档位对应的pmw,调整所述风扇的转速档位;
s4,间隔预设时间所述cpld监控所述需调温设备是否发出高温告警信号;若否,则返回s3;
s5,若是,则利用所述cpld根据所述风扇转速档位与pmw的预设对应关系,向所述控制电路输出与当前风扇转速档位高一档对应的pmw,调整所述风扇的转速档位;返回s4。
本申请还提供了一种风扇控制系统,包括:
异常判断模块,用于利用cpld监控与所述cpld相连且用于控制调整风扇转速的bmc是否异常;
cpld第一控制模块,用于当所述bmc异常时,利用所述cpld维持风扇当前转速;
cpld第二控制模块,用于当利用所述cpld监控到需调温设备发出高温告警信号时,利用所述cpld根据风扇转速档位与pmw的预设对应关系向所述风扇的控制电路输出相应的pmw,调整所述风扇的转速档位,以使所述高温告警信号消失。
其中,所述异常判断模块,具体用于:
利用所述cpld监控与所述cpld与所述bmc之间的心跳信号是否异常;其中,所述bmc为与所述cpld相连且用于控制调整所述风扇转速的bmc。
其中,所述系统还包括:
pmw产生模块,用于当所述bmc未出现异常时,利用所述bmc间隔预设时间确定当前所述需调温设备的温度值,并根据所述温度值产生用于调整所述风扇转速的对应温度值的pmw;
cpld第三控制模块,用于将所述对应温度值的pmw引入所述cpld,并利用所述cpld将所述对应温度值的pmw输出到所述风扇的控制电路,以调整所述风扇转速。
其中,所述cpld第二控制模块,包括:
第一pmw输出单元,用于当利用所述cpld监控到所述需调温设备发出高温告警信号时,利用所述cpld根据所述风扇转速档位与pmw的预设对应关系,向所述风扇的控制电路输出对应最高风扇转速档位的pmw,调整所述风扇的转速档位为最高档位;
判断单元,用于间隔预设时间判断当前所述高温告警信号是否消失;若是,则停止调整。
第二pmw输出单元,用于当所述高温告警信号未消失时,则利用所述cpld根据所述风扇转速档位与pmw的预设对应关系,向所述风扇的控制电路输出与当前风扇转速档位的低一档位对应的pmw,调整所述风扇的转速档位;继续调用所述判断单元。
本申请还提供了一种风扇控制装置,包括:
用于控制调整风扇转速的bmc;
与所述bmc相连的cpld,用于监控所述bmc是否异常;当所述bmc异常时,持风扇当前转速;当监控到需调温设备发出高温告警信号时,根据风扇转速档位与pmw的预设对应关系向风扇的控制电路输出相应的pmw;调整所述风扇的转速档位,以使所述高温告警信号消失;
与所述cpld相连的所述风扇的控制电路,用于接收所述cpld输出的pmw并利用该pmw对所述风扇的风速进行调整;
与所述风扇的控制电路相连的所述风扇。
通过以上方案可知,本发明提供的一种风扇控制方法,其特征在于,包括:利用cpld监控与所述cpld相连且用于控制调整风扇转速的bmc是否异常;当所述bmc异常时,利用所述cpld维持风扇当前转速;当利用所述cpld监控到需调温设备发出高温告警信号时,利用所述cpld根据风扇转速档位与pmw的预设对应关系向所述风扇的控制电路输出相应的pmw,调整所述风扇的转速档位,以使所述高温告警信号消失。
由此可见,本申请提供的一种风扇控制方法,利用cpld对bmc进行监控,当bmc出现异常时,首先利用cpld维持当前风扇转速,并在接收到需调温设备发出的高温告警信号时,输出与档位对应的pmw,有温度针对性的完成风扇转速的调控。由于温度调控只在接收到高温信号后才执行,而无需实时监控各个需调温设备的温度,从而可以相对减少cpld的开销;另外在cpld可以按照档位对风扇转速进行调节,可以实现对pmw的调整,保证了风扇不会持续以最大转速运转。而且,由于档位并不精确对应某个温度值,而是对应一个温度范围,只要不超出该档位下能够完成散热的最大温度值就无需频繁的调整档位,从而无需频繁使cpld进行调整pmw输出的操作,在保证了可以对转速进行调节的情况下,减少对cpld的消耗。本申请还提供了一种风扇控制系统、装置,同样可以实现上述效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例公开的一种风扇控制方法流程图;
图2为本发明实施例公开的一种具体的风扇控制方法流程图;
图3为本发明实施例公开的一种具体的风扇控制方法流程图;
图4为本发明实施例公开的一种风扇控制系统结构示意图;
图5为本发明实施例公开的一种风扇控制装置结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开了一种风扇控制方法、系统及装置,以解决如何在bmc出现异常时合理的控制风扇转速的问题。
参见图1,本发明实施例提供的一种风扇控制方法,具体包括:
s101,利用cpld监控与所述cpld相连且用于控制调整风扇转速的bmc是否异常。
在本方案中,cpld(complexprogrammablelogicdevice,复杂可编程逻辑器件)与bmc(baseboardmanagementcontroller,基板管理控制器)相连,bmc用于控制风扇转速,对cpld进行编辑,使cpld在本方案中可用于监控bmc是否出现异常,可以理解的是,当bmc出现异常时则bmc将不能调整风扇转速。
在一个具体的实施方式中,利用所述cpld监控与所述cpld与所述bmc之间的心跳信号是否异常。
心跳信号是每隔一段时间向互联的另一方发送一个很小的数据包,通过对方回复情况判断互联的双方之间的通讯链路是否已经断开的方法。利用心跳信号可以更方便的判断bmc是否异常,无需复杂的判断逻辑。
s102,当所述bmc异常时,利用所述cpld维持风扇当前转速。
当bmc异常时,首先利用cpld维持风扇当前转速。具体操作可以参见现有技术,在本方案中不再赘述。
s103,当利用所述cpld监控到需调温设备发出高温告警信号时,利用所述cpld根据风扇转速档位与pmw的预设对应关系向所述风扇的控制电路输出相应的pmw,调整所述风扇的转速档位,以使所述高温告警信号消失。
需要说明的是,在本方案中,需调温设备,例如cpu、内存等需要散热的设备,这些设备当出现高温情况时,也就是温度超出自己的预设正常值时,会产生高温告警信息号,在本方案中,将每个需调温设备的高温告警信号引入cpld,当cpld接收到任一需调温设备发出的高温告警信号时,则对风扇进行调整。
需要说明的是,由于在cpld编辑精细的调温逻辑会占用大量的数据处理资源,对cpld的开销也非常大,因此通常精细的调温逻辑在bmc中执行,例如现有技术中,利用bmc实时监控各个需调温设备的温度,并根据温度值变化用于调整风扇转速的pmw。
考虑到cpld的开销问题,以及如何合理的控制风扇问题,在本方案中利用cpld监控到需调温设备发出高温告警信号时,利用cpld根据风扇转速档位与pmw的预设对应关系向所述风扇的控制电路输出相应的pmw,调整所述风扇的转速档位,以使所述高温告警信号消失。
首先在本方案中将高温告警信号引入cpld,只有cpld接收到高温信号后,才执行相应的调温逻辑,而无需向bmc一样需要实时监控各个需调温设备的温度,从而可以相对减少cpld的开销。
另外在cpld中添加了风扇转速档位与pmw的元素和对应关系,可以按照档位分级调节,虽然不能将输出的pmw与温度精确的对应,但是也可以实现对pmw的调整,从而无需使pmw持续为风扇最大转速对应的值,从而也就保证了风扇不会持续以最大转速运转。
而且,由于档位并不精确对应某个温度值,而是对应一个温度范围,例如,在第一档位的转速下,需调温设备的温度在40度以下,均可以完成散热降温,在第二档位的转速下,需调温设备的温度在60度以下,均可以完成散热降温,即便需调温设备自己的温度上下有浮动,只要不超出该档位下能够完成散热的最大温度值,也无需频繁的调整档位,从而也就无需频繁使cpld进行调整pmw输出的操作,从而减少对cpld的消耗。
由此可见,本申请实施例提供的一种风扇控制方法,利用cpld对bmc进行监控,当bmc出现异常时,首先利用cpld维持当前风扇转速,并在接收到需调温设备发出的高温告警信号时,输出与档位对应的pmw,有温度针对性的完成风扇转速的调控。由于温度调控只在接收到高温信号后才执行,而无需实时监控各个需调温设备的温度,从而可以相对减少cpld的开销;另外在cpld可以按照档位对风扇转速进行调节,可以实现对pmw的调整,保证了风扇不会持续以最大转速运转。而且,由于档位并不精确对应某个温度值,而是对应一个温度范围,只要不超出该档位下能够完成散热的最大温度值就无需频繁的调整档位,从而无需频繁使cpld进行调整pmw输出的操作,在保证了可以对转速进行调节的情况下,减少对cpld的消耗。
下面对本申请实施例提供的一种具体的风扇控制方法进行介绍,下文描述的一种具体的风扇控制方法与上述任一实施例可以相互参照。
参见图2,本申请实施例提供的一种具体的风扇控制方法,具体包括:
s201,利用cpld监控与所述cpld相连且用于控制调整风扇转速的bmc是否异常。
s202,当所述bmc未出现异常时,利用所述bmc间隔预设时间确定当前所述需调温设备的温度值,并根据所述温度值产生用于调整所述风扇转速的对应温度值的pmw。
在本方案中,为了便于利用cpld在bmc出现异常时完成对风扇的控制,同时便于cpld对bmc的异常监控,将bmc与cpld相连,并将cpld与风扇的控制电路相连。
当bmc未出现异常时,则利用bmc根据需调设备的温度值产生对应的pmw,并将pmw输出到cpld进行转发。
由于在本方案中,cpld与bmc连接,bmc输出的pmw先发送至cpld,因此在s201中,具体的监控方法可以为利用所述cpld监控所述bmc或所述bmc输出的pmw是否异常;其中,所述bmc为与所述cpld相连且用于控制调整所述风扇转速的bmc。
也就是说,在监控bmc是否异常的基础上,还可以监控pmw是否异常,从而可以更准确的确定bmc是否出现异常。
s203,将所述对应温度值的pmw引入所述cpld,并利用所述cpld将所述对应温度值的pmw输出到所述风扇的控制电路,以调整所述风扇转速。
s204,当所述bmc异常时,利用所述cpld维持风扇当前转速;
s205,当利用所述cpld监控到需调温设备发出高温告警信号时,利用所述cpld根据风扇转速档位与pmw的预设对应关系向所述风扇的控制电路输出相应的pmw,调整所述风扇的转速档位,以使所述高温告警信号消失。
由此可见,在本方案中,利用cpld转发bmc输出的pmw到风扇的控制电路,从而既保证了bmc对风扇的正常调控,又能使cpld一直与风扇控制电路相连接,即便bmc出现异常,也无需切换电路,直接利用cpld对风扇实现调控即可。
下面对本申请实施例提供的一种具体的风扇控制方法进行介绍,下文描述的一种具体的风扇控制方法与上述任一实施例可以相互参照。下述实施例对上述实施例中s103做出进一步的限定与说明,其他步骤内容可以参见上述任一实施例,在本方案中不再进行赘述。
参见图3,s103具体包括:
s1,当利用所述cpld监控到所述需调温设备发出高温告警信号时,利用所述cpld根据所述风扇转速档位与pmw的预设对应关系,向所述风扇的控制电路输出对应最高风扇转速档位的pmw,调整所述风扇的转速档位为最高档位。
需要说明的是,当需调温设备发出高温告警信号时,意味着需调温设备的温度已超出正常值,如果得不到及时的散热降温,则可能出现由于高温带来的故障,因此,为了保证需调温设备可以及时的散热降温,在本方案中,先将风扇调到最高档位,最高档位对应风扇的最高转速。
具体地,当利用cpld监控到需调温设备发出的高温告警信号时,利用cpld向风扇的控制电路输出对应最高风扇转速档位的pmw,使风扇先已最高转速运转,及时将需调温设备的温度降下来。
s2,间隔预设时间判断当前所述高温告警信号是否消失。
需要说明的是,为了避免风扇持续以最高转速运转带来的噪声和能耗问题,本方案中还需要间隔预设时间后判断高温告警信号是否消失,如果消失了,则证明当前转速足以使需调温设备的温度降下来,但是也会有另一种可能,即,当前需调温设备的温度并不需要这么高的转速,低一档或低几档的转速也可以使高温告警信号消失,因此此种情况下需要跳转至s3进行调整。
s3,若是,则利用所述cpld根据所述风扇转速档位与pmw的预设对应关系,向所述风扇的控制电路输出与当前风扇转速档位的低一档位对应的pmw,调整所述风扇的转速档位。
需要说明的是,如果间隔预设时间后,高温预警信号消失了则需要进一步判断是否需要再降低一档,使转速既能满足散热要求,又能避免转速过高带来不必要的噪声和能耗。
具体地,首先利用cpld输出当前转速低一档的pmw,使风扇降低一档进行运转。
需要说明的是,风扇的最高档位,也就是最高转速,是根据系统内所有待调温设备最大散热需求设定,当s2步骤将风扇转速调至最高档位,也就是最高转速时,一般经过预设时间即可完成散热,因此如果间隔预设时间后高温预警信号即可消失。需要说明的是,每个系统中由于待调温设备和风扇最高转速不同,因此预设时间可根据实际情况设定,在本方案中不做具体限定。
s4,间隔预设时间所述cpld监控所述需调温设备是否发出高温告警信号。若否,则返回s3。
为了保证降低一档后,依然能够完成散热,还需要继续判断cpld是否监控到了高温告警信号,如果没有,则可以继续降档返回s3。
s5,若是,则利用所述cpld根据所述风扇转速档位与pmw的预设对应关系,向所述控制电路输出与当前风扇转速档位高一档对应的pmw,调整所述风扇的转速档位;返回s4。
具体地,如果降低一档后,cpld又监控到了高温预警信号,则说明当前档位的转速不能满足散热要求,需调回上一档位,即,向控制电路输出与当前风扇转速档位高一档对应的pmw。
需要说明的是,调回上一档位的转速后,即可停止调速维持当前转速,当cpld再次出现高温告警信号时,再进行s1步骤的调整。作为优选的,为了保证避免不必要的噪声和能耗时,可以返回s4进行判断。
下面对本申请实施例提供的一种风扇控制系统进行介绍,下文描述的一种风扇控制系统与上述任一实施例可以相互参照。
参见图4,本申请实施例提供的一种风扇控制系统,具体包括:
异常判断模块401,用于利用cpld监控与所述cpld相连且用于控制调整风扇转速的bmc是否异常。
cpld第一控制模块402,用于当所述bmc异常时,利用所述cpld维持风扇当前转速。
cpld第二控制模块403,用于当利用所述cpld监控到需调温设备发出高温告警信号时,利用所述cpld根据风扇转速档位与pmw的预设对应关系向所述风扇的控制电路输出相应的pmw,调整所述风扇的转速档位,以使所述高温告警信号消失。
在一个具体的实施方式中,所述异常判断模块401具体用于:
利用所述cpld监控与所述cpld与所述bmc之间的心跳信号是否异常;其中,所述bmc为与所述cpld相连且用于控制调整所述风扇转速的bmc。
在一个具体的实施方式中,所述系统还包括:
pmw产生模块,用于当所述bmc未出现异常时,利用所述bmc间隔预设时间确定当前所述需调温设备的温度值,并根据所述温度值产生用于调整所述风扇转速的对应温度值的pmw;
cpld第三控制模块,用于将所述对应温度值的pmw引入所述cpld,并利用所述cpld将所述对应温度值的pmw输出到所述风扇的控制电路,以调整所述风扇转速。
在一个具体的实施方式中,所述异常判断模块401具体用于利用所述cpld监控所述bmc或所述bmc输出的pmw是否异常;其中,所述bmc为与所述cpld相连且用于控制调整所述风扇转速的bmc。
在一个具体的实施方式中,所述cpld第二控制模块403,包括:
第一pmw输出单元,用于当利用所述cpld监控到所述需调温设备发出高温告警信号时,利用所述cpld根据所述风扇转速档位与pmw的预设对应关系,向所述风扇的控制电路输出对应最高风扇转速档位的pmw,调整所述风扇的转速档位为最高档位;
判断单元,用于间隔预设时间判断当前所述高温告警信号是否消失;若是,则停止调整。
第二pmw输出单元,用于当所述高温告警信号未消失时,则利用所述cpld根据所述风扇转速档位与pmw的预设对应关系,向所述风扇的控制电路输出与当前风扇转速档位的低一档位对应的pmw,调整所述风扇的转速档位;继续调用所述判断单元。
本实施例的风扇控制系统用于实现前述的风扇控制方法,因此风扇控制系统中的具体实施方式可见前文中的风扇控制方法的实施例部分,例如,异常判断模块401,cpld第一控制模块402,cpld第二控制模块403,分别用于实现上述风扇控制方法中步骤s101,s102,s103和s104,所以,其具体实施方式可以参照相应的各个部分实施例的描述,在此不再赘述。
下面对本申请实施例提供的一种风扇控制装置进行介绍,下文描述的一种风扇控制装置与上述任一实施例可以相互参照。
参见图5,本申请实施例提供的一种风扇控制装置,具体包括:
用于控制调整风扇转速的bmc。
与所述bmc相连的cpld,用于监控所述bmc是否异常;当所述bmc异常时,持风扇当前转速;当监控到需调温设备发出高温告警信号时,根据风扇转速档位与pmw的预设对应关系向风扇的控制电路输出相应的pmw;调整所述风扇的转速档位,以使所述高温告警信号消失。
与所述cpld相连的所述风扇的控制电路,用于接收所述cpld输出的pmw并利用该pmw对所述风扇的风速进行调整。
与所述风扇的控制电路相连的所述风扇。
如图5所示,cpld具体包括bmc心跳监控模块,pwm控制模块和温度监控模块。
bmc将心跳信号传输至bmc心跳监控模块,以使cpld对bmc进行监控。bmc将相应的pwm传输至cpld的pwm控制模块,以使cpld将pwm输出到风扇的控制电路调整风扇转速。
此外,如cpu、ddr、ic等需调温设备与cpld的温度监控模块相连,将自己的高温告警信号发送至温度监控模块,以使cpld在监控到高温告警信号时,触发pwm控制模块按照档位输出相应的pwm到风扇的控制电路,进行转速的调控。有关风扇控制的方法已在上述实施例做出具体介绍,在本方案中不再进行赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。