风扇控制方法及系统与流程

文档序号:18067925发布日期:2019-07-03 03:34阅读:507来源:国知局
风扇控制方法及系统与流程

本发明实施例涉及风扇控制领域,特别是涉及一种风扇控制方法及系统。



背景技术:

随着电子技术的发展,服务器内部变得更加密集化、小型化,各部件运行状态中会释放一定的热量,而服务器内部温度较高会影响服务器正常运行。故,如何在有限的空间内提高散热效率有了更高的要求。服务器内部主要通过风扇来进行散热,提高风扇散热的效率以及提供安全可靠的控制方案有着极为重要的意义。

目前服务器内部主要通过bmc控制直流风扇进行,对于通过bmc自带的风扇控制功能进行控制,请参阅图1,以4pin的风扇接口为例,该接口主要由12v供电、pwm控制引脚、fg转速反馈引脚、gnd组成。bmc通过i2c读取服务器内部温度以及风扇速度的反馈,按照一定的控制策略通过pwm控制风扇转速。这种方式省去了外围电路的复杂要求,减少了人为监控的需求。

但是,bmc管理较为封闭,运行过程中较难去访问、修改控制控制策略。另外,bmc所能提供的风扇管理引脚有限,即所能控制的风扇数量也是有限制的。



技术实现要素:

本公开实施例提供了一种风扇控制方法及系统,实现了对风扇转速准确、高效的控制,不仅解决了使用bmc控制风扇存在的弊端,提高了风扇散热效率,还有利于提升系统的稳定性和可靠性。

为解决上述技术问题,本发明实施例提供以下技术方案:

本发明实施例一方面提供了一种风扇控制系统,包括与各风扇相连的cpld、与所述cpld相连的温度传感器及与所述cpld相连的处理器;

所述cpld用于根据目标理想温度、所述温度传感器反馈的实时环境温度及所述处理器反馈的pid参数计算得到当前各风扇的目标转速值,并将所述目标转速值对应转换的实时pwm信号发送至相应风扇以控制各风扇的运转。

可选的,还包括与所述cpld相连的电流检测电路,所述电流检测电路用于检测各风扇电流是否超过额定电流;

相应的,所述cpld停止向超过所述额定电流的风扇发送pwm信号。

可选的,还包括分别与各温度传感器和所述cpld相连的卡尔曼滤波器,所述卡尔曼滤波器用于对各温度传感器反馈的实时温度信息进行滤波,并将滤波后的实时环境温度信息反馈至所述cpld。

可选的,所述cpld根据目标理想温度、所述温度传感器反馈的实时环境温度及所述处理器反馈的pid参数计算得到当前各风扇的目标转速包括:

计算所述目标理想温度与所述实时环境温度的差值和预设转换系数的乘积;所述转换系数为预先存储的温度和转速之间的转化系数;

获取所述pid参数,并根据所述乘积经pid算法计算得到目标速度差值;

计算所述目标速度差值和实时反馈的风扇当前实际转速值的和得到当前各风扇的目标转速值。

可选的,还包括与所述cpld通过spi总线相连的sd卡,所述sd卡用于记录并存储所述cpld发送的系统实时温度和各风扇的实时转速值。

可选的,所述cpld还用于判断各风扇的目标转速值是否大于预设额定转速,若是,则将大于所述额定转速的风扇的目标转速值调整至预设范围内。

可选的,所述实时pwm信号为所述处理器根据预先存储的pwm信号与风扇转速之间的转化关系及所述目标转速转化之后反馈至所述cpld;或

所述cpld根据预先存储的pwm信号与风扇转速之间的转化关系及所述目标转速计算所得。

可选的,所述处理器设置在pc机,所述cpld与所述pc机通过jtag接口、uart串口相连。

可选的,还包括与所述cpld通过i2c总线相连的e2prom,所述e2prom用于将所述pid参数固化至硬件系统。

本发明实施例另一方面提供了一种风扇控制方法,基于cpld,包括:

获取目标理想温度、pid参数及温度传感器反馈的待降温部件的实时环境温度,所述pid参数根据服务器系统配置参数预先设定;

根据所述目标理想温度、所述实时环境温度及所述pid参数计算当前各风扇的目标转速;

向各风扇发送相应的实时pwm信号,以控制各风扇运转;所述实时pwm信号为基于预先存储的转速与pwm信号的转化关系和所述目标转速计算所得。

本发明实施例还提供了一种风扇控制装置,包括:

信息获取模块,用于获取目标理想温度、pid参数及温度传感器反馈的待降温部件的实时环境温度,所述pid参数根据服务器系统配置参数预先设定;

转速计算模块,用于根据所述目标理想温度、所述实时环境温度及所述pid参数计算当前各风扇的目标转速;

风扇控制模块,用于向各风扇发送相应的实时pwm信号,以控制各风扇运转;所述实时pwm信号为基于预先存储的转速与pwm信号的转化关系和所述目标转速计算所得。

本发明实施例还提供了一种风扇控制设备,包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如前任一项所述风扇控制方法的步骤。

本发明实施例最后还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有风扇控制程序,所述风扇控制程序被处理器执行时实现如前任一项所述风扇控制方法的步骤。

本申请提供的技术方案的优点在于,cpld利用pid算法,基于待降温部件的实时环境温度计算得到实现期望降温效果对应的目标速度值,然后利用基于计算得到的目标速度值对应的pwm信号控制各风扇的运转,实现了风扇转速的精确、高效控制,提高了风扇散热效率,还有利于提升系统的稳定性和可靠性;相比bmc芯片,cpld有更多灵活的gpio引脚,可以更灵活的控制更多的风扇,且cpld支持运行过程中访问修改控制策略,从而解决了使用bmc控制风扇存在的弊端。

此外,本发明实施例还针对风扇控制系统提供了相对应的实现方法,进一步使得所述系统更具有可行性,所述方法具有相应的优点。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。

附图说明

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

图1为本发明实施例提供的相关技术中4pin风扇接口示意图;

图2为本发明实施例提供的风扇控制系统的一种具体实施方式结构图;

图3为本发明实施例提供的风扇控制系统的另一种具体实施方式结构图;

图4为本发明实施例提供的cpld控制风扇的原理示意图;

图5为本发明实施例提供的一种风扇控制方法的流程示意图;

图6为本发明实施例提供的风扇控制装置的一种具体实施方式结构图。

具体实施方式

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

本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等是用于区别不同的对象,而不是用于描述特定的顺序。此外术语“包括”和“具有”以及他们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可包括没有列出的步骤或单元。

在介绍了本发明实施例的技术方案后,下面详细的说明本申请的各种非限制性实施方式。

首先参见图2和图3,图2为本发明实施例提供的风扇控制系统在一种具体实施方式下的结构示意图,本发明实施例可包括以下内容:

风扇控制系统可包括cpld(complexprogrammablelogicdevice,复杂可编程逻辑器件)1、处理器2、温度传感器(tensensor)3和风扇组4。cpld1可通过fan_tach和fan_pwm引脚与风扇组4中的各风扇相连,当然,也可通过其他引脚相连,这均不影响本申请的实现。

风扇组4包含多个风扇,风扇可为直流风扇,也可为其他类型风扇。

温度传感器3可包含多个,每个温度传感器可设置在待降温部件上,也可设置在待降温部件周围,用于实时测量待降温部件的环境温度。可通过i2c(inter-integratedcircuit,用于连接微控制器及其外围设备)总线与cpld1相连。

cpld1连接在处理器2上,处理器2可承载在任何一台设置有cpu(centralprocessingunit,中央处理器)的硬件设备上,例如pc机、台式电脑、平板等。可选的,处理器2设置在pc机,cpld1可通过jtag接口、uart串口与pc机相连。

cpld1用于根据目标理想温度、实时环境温度及处理器4反馈的pid参数计算得到当前各风扇的目标转速值,并将目标转速值对应转换的实时pwm信号发送至相应风扇以控制各风扇的运转。

目标理想温度为待降温部件及整个硬件系统维持正常运行时的环境温度,或者是用户希望系统或待降温部件周围的环境温度,可预先根据系统配置进行设定并存储在系统中。

实时环境温度为温度传感器实时测量待降温部件或系统的环境温度,并将其发送至cpld1。

pid参数与相应的服务器系统的配置参数相对应,不同配置的服务器系统的pid参数不同,对于给定配置参数的服务器系统,其pid参数一般为固定的,cpld1可从处理器1中获取pid算法的pid参数。

针对不同配置的服务器系统,相同转速下的散热效果是不同的,pid参数只能针对单一款式系统进行设定。cpld1可通过uart串口与pc中的上位机进行通信,系统增加串口通信的作用就是通过上位机来调节pid参数,从而达到稳定有效的控制。

当cpld1还通过i2c总线与e2prom(electricallyerasableprogrammableread-onlymemory,带电可擦可编程只读存储器)相连时,当设定好pid参数后,可通过e2prom固化进硬件系统中,cpld1可直接从硬件系统中获取pid参数。

本申请利用cpld实现温度控制的全闭环pid控制原理,可结合图4所示的原理图,fd为目标理想温度,fe为实时环境温度,fan为风扇。cpld根据目标理想温度、实时环境温度及pid参数计算得到当前各风扇的目标转速的过程可如下所述:

计算目标理想温度与实时环境温度的差值;

计算上述差值和预设转换系数的乘积;转换系数为预先存储的温度和转速之间的转化系数,本领域技术人员可根据自身经验结合实际应运场景进行确定,本申请对此不做任何限定;

获取pid参数,根据乘积经pid算法计算得到目标速度差值;

将目标速度差值和实时反馈的风扇当前实际转速值进行相加得到当前各风扇的目标转速值。

风扇可通过接收到的pwm信号控制其转速,pwm信号为带有不同占空比的方波控制信号。直流风扇的功率不同,相同电流下的转速也不同,pwm信号与转速之间的关系也可以通过上位机进行整定,即既可利用处理器2,也可利用cpld1自身将目标转速值变化为相对应的pwm信号,也就是说实,时pwm信号可为处理器根据预先存储的pwm信号与风扇转速之间的转化关系及目标转速转化之后反馈至cpld;或者还可为cpld1根据预先存储的pwm信号与风扇转速之间的转化关系及目标转速计算所得。

目标转速要控制在合理范围内,不能超过额定转速,也即cpld1还可用于判断各风扇的目标转速值是否大于预设额定转速,若是,则将大于额定转速的风扇的目标转速值调整至预设范围内。举例来说,计算得到的风扇1的目标转速为100r/s,而额定转速为80r/s,那么就需要将风扇1的目标转速调整为不大于80r/s的值。为了保证风扇的稳定运行,可预先设置风扇运行的安全范围,将风扇的实时转速控制在安全范围内。

在本发明实施例提供的技术方案中,cpld利用pid算法,基于待降温部件的实时环境温度计算得到实现期望降温效果对应的目标速度值,然后利用基于计算得到的目标速度值对应的pwm信号控制各风扇的运转,实现了风扇转速的精确、高效控制,提高了风扇散热效率,还有利于提升系统的稳定性和可靠性;相比bmc芯片,cpld有更多灵活的gpio引脚,可以更灵活的控制更多的风扇,且cpld支持运行过程中访问修改控制策略,从而解决了使用bmc控制风扇存在的弊端。

考虑到温度传感器3反馈信号易受到脉冲信号的干扰,容易造成风扇转速的瞬时间加大或停止,故还可对温度传感器3反馈的实际温度进行滤波控制。

卡尔曼滤波算法为一种与频率无关的滤波算法,易于去除因风扇震动产生的高斯白噪声以及过冲的瞬时脉冲信号,在一种实施方式中,可采用卡尔曼滤波算法进行滤波控制,可设置分别与各温度传感器和cpld相连的卡尔曼滤波器,卡尔曼滤波器用于对各温度传感器反馈的实时温度信息进行滤波,并将滤波后的实时环境温度信息反馈至cpld。为了降低整个系统硬件成本,还可将卡尔曼滤波算法集成在cpld1芯片中。

在直流风扇堵转时电流会瞬时加大,超过额定电流一定时间会造成风扇的损坏或者引发火灾,鉴于此,为了保证系统的安全性、稳定性和可靠性,本申请还可设置与cpld相连的电流检测电路。

电流检测电路用于检测各风扇电流是否超过额定电流;在电流检测电路检测到电流超过额定电流时,向cpld1发送信息,cpld1接收到该信息时停止向超过额定电流的风扇发送pwm信号并拉低、关闭该风扇。可选的,电流检测电路可为电流传感器(currentsenor),如图3所示,各电流传感器可有多个,每个电流传感器可与cpld1通过i2c总线相连,电流传感器实时监测相应风扇的电流,并将检测到的电流值发送至cpld1,cpld1判断风扇的电流和额定电流的关系,并在风扇电流超过额定电流时,停止向该风扇发送pwm信号并拉低、关闭该风扇。

可选的,还可设置与cpld通过spi总线相连的外部sd卡,请参阅图3所示,sd卡用于记录并存储cpld1发送的系统实时温度和各风扇的实时转速值。可用于外部专门数据处理软件进行数据分析,用以实现自动化参数标定或者自适应标定。

针对上述实施例,本申请还提供了相应的实现方法,请参见图5,图5为本发明实施例提供的一种风扇控制方法的流程示意图,基于cpld,本发明实施例可包括以下内容:

s501:获取目标理想温度、pid参数及温度传感器反馈的待降温部件的实时环境温度。

pid参数根据服务器系统配置参数预先设定。

s502:根据目标理想温度、实时环境温度及pid参数计算当前各风扇的目标转速。

s503:向各风扇发送相应的实时pwm信号,以控制各风扇运转。

实时pwm信号为基于预先存储的转速与pwm信号的转化关系和目标转速计算所得。

本发明实施例的执行主语为cpld,也即固化在cpld中的计算机软件算法可按照s501-s503利用任何一种编程语言进行编写。可应用于基于风扇散热的任何服务器系统或者是其他任何硬件系统中。

本方法实施例与上述系统实施例相同的内容,请参阅上述系统实施例的描述,此处,便不再赘述。

由上可知,本发明实施例实现了对风扇转速的准确、高效控制,不仅解决了使用bmc控制风扇存在的弊端,提高了风扇散热效率,还有利于提升系统的稳定性和可靠性。

本发明实施例还针对风扇控制方法提供了相应的实现装置,进一步使得所述方法更具有实用性。下面对本发明实施例提供的风扇控制装置进行介绍,下文描述的风扇控制装置与上文描述的风扇控制方法可相互对应参照。

参见图6,图6为本发明实施例提供的风扇控制装置在一种具体实施方式下的结构图,该装置可包括:

信息获取模块601,用于获取目标理想温度、pid参数及温度传感器反馈的待降温部件的实时环境温度,pid参数根据服务器系统配置参数预先设定。

风扇转速计算模块602,用于根据目标理想温度、实时环境温度及pid参数计算当前各风扇的目标转速。

风扇控制模块603,用于向各风扇发送相应的实时pwm信号,以控制各风扇运转;实时pwm信号为基于预先存储的转速与pwm信号的转化关系和目标转速计算所得。

本发明实施例所述风扇控制装置的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。

由上可知,本发明实施例实现了对风扇转速的准确、高效控制,不仅解决了使用bmc控制风扇存在的弊端,提高了风扇散热效率,还有利于提升系统的稳定性和可靠性。

本发明实施例还提供了一种风扇控制设备,具体可包括:

存储器,用于存储计算机程序;

处理器,用于执行计算机程序以实现如上任意一实施例所述风扇控制方法的步骤。

本发明实施例所述风扇控制设备的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。

由上可知,本发明实施例实现了对风扇转速的准确、高效控制,不仅解决了使用bmc控制风扇存在的弊端,提高了风扇散热效率,还有利于提升系统的稳定性和可靠性。

本发明实施例还提供了一种计算机可读存储介质,存储有风扇控制程序,所述风扇控制程序被处理器执行时如上任意一实施例所述风扇控制方法的步骤。

本发明实施例所述计算机可读存储介质的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。

由上可知,本发明实施例实现了对风扇转速的准确、高效控制,不仅解决了使用bmc控制风扇存在的弊端,提高了风扇散热效率,还有利于提升系统的稳定性和可靠性。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

以上对本发明所提供的一种风扇控制方法及系统进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

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