一种基于风扇冗余的PID风扇调控方法及系统与流程

文档序号:17259230发布日期:2019-03-30 09:32阅读:501来源:国知局
一种基于风扇冗余的PID风扇调控方法及系统与流程

本发明涉及服务器技术领域,具体为一种基于风扇冗余的pid风扇调控方法及系统。



背景技术:

基于可靠性的考虑,一般要求服务器在设计时支持风扇冗余,即在个别风扇失效的情况下,系统散热仍满足设计要求。风扇失效会导致系统风量降低,也就意味着要带走相同的热量需要更高的风扇转速,这就对系统风扇的响应速度提出了更高的要求。

目前,服务器较多使用pid调控方法来实现对风扇转速的闭环控制。相比于传统的阶梯调控方法,pid调控方法可以有效降低风扇峰值转速和系统噪声,并且避免服务运行过程中的风扇震荡。其中,在pid控制策略中,kp值决定了风扇转速调整的步幅,即风扇的响应速度。风扇响应速度过低时,会导致元器件温度过冲,威胁系统运行稳定性;风扇响应速度过高时,会使风扇转速提前响应,导致风扇转速震荡,系统噪音增加。服务器在风扇正常和风扇失效时对风扇响应速度要求不同,也就是需要对kp值做差异化设置,而目前的pid风扇调控策略仅支持固定参数设置。



技术实现要素:

为了克服上述所指出的现有技术的缺陷,本发明人对此进行了深入研究,在付出了大量创造性劳动后,从而完成了本发明。

具体而言,本发明所要解决的技术问题是:提供一种基于风扇冗余的pid风扇调控方法,旨在解决现有技术中服务器在风扇正常和风扇失效时对风扇响应速度要求不同,也就是需要对kp值做差异化设置,而目前的pid风扇调控策略仅支持固定参数设置的技术问题。

为解决上述技术问题,本发明的技术方案是:

一种基于风扇冗余的pid风扇调控方法,所述方法包括下述步骤:

对服务器配置的n个风扇的工作状态进行检测,获取各个风扇的实时转速参数;

将获取到的各个风扇的实时转速参数与预先设置的转速阈值进行比对,判断是否存在出现异常工作状态的风扇;

当存在处于异常工作状态的风扇时,统计服务器中处于正常工作状态的风扇数量n,并计算用于调整风扇转速的比例项系数kp,即:kp=n*kp1/n;

当不存在处于异常工作状态的风扇时,调用选取预先设置的初始比例项系数kp1作为用于调整风扇转速的比例项系数kp。

作为一种改进的方案,所述方法还包括下述步骤:

根据计算得到的用于调整风扇转速的比例项系数kp,计算用于调控风扇转速的pwm增量参数dp,即:dp=kp*te+ki*a+kd*b/dt,其中,te为实时温差,ki为积分项系数,kd为微分项系数,dt为时间间隔,a和b均为中间参数。

作为一种改进的方案,所述根据计算得到的用于调整风扇转速的比例项系数kp,计算用于调控风扇转速的pwm增量参数dp的步骤之前还包括下述步骤:

对用于调控风扇转速的各项初始参数进行初始化设置,所述初始参数包括初始温差le、积分项系数ki、微分项系数kd、时间间隔dt、初始比例项系数kp1、温度控制参数tcontrol、以及初始脉冲参数值pwm0。

作为一种改进的方案,所述方法还包括下述步骤:

计算实时温差te以及中间参数a和b,其中:

te=tdts-tcontrol,a=te*dt,b=(te-le)/dt,tdts为风扇实时温度参数。

作为一种改进的方案,所述根据计算得到的用于调整风扇转速的比例项系数kp,计算用于调控风扇转速的pwm增量参数dp的步骤之后,还包括下述步骤:

计算用于调控风扇转速的脉冲参数值pwm,并输出至风扇控制端,其中,pwm=pwmo-dp;

控制将实时温差te的参数置为初始温差le,并返回执行所述对服务器配置的n个风扇的工作状态进行检测,获取各个风扇的实时转速参数的步骤。

本发明的另一目的在于提供一种基于风扇冗余的pid风扇调控系统,所述系统包括:

实时转速参数获取模块,用于对服务器配置的n个风扇的工作状态进行检测,获取各个风扇的实时转速参数;

比对判断模块,用于将获取到的各个风扇的实时转速参数与预先设置的转速阈值进行比对,判断是否存在出现异常工作状态的风扇;

风扇数量统计模块,当存在处于异常工作状态的风扇时,统计服务器中处于正常工作状态的风扇数量n;

比例项系数计算模块,用于计算用于调整风扇转速的比例项系数kp,即:kp=n*kp1/n;

比例项系数调用选取模块,用于当不存在处于异常工作状态的风扇时,调用选取预先设置的初始比例项系数kp1作为用于调整风扇转速的比例项系数kp。

作为一种改进的方案,所述系统还包括:

pwm增量参数计算模块,用于根据计算得到的用于调整风扇转速的比例项系数kp,计算用于调控风扇转速的pwm增量参数dp,即:dp=kp*te+ki*a+kd*b/dt,其中,te为实时温差,ki为积分项系数,kd为微分项系数,dt为时间间隔,a和b均为中间参数。

作为一种改进的方案,所述系统还包括:

初始化设置模块,用于对用于调控风扇转速的各项初始参数进行初始化设置,所述初始参数包括初始温差le、积分项系数ki、微分项系数kd、时间间隔dt、初始比例项系数kp1、温度控制参数tcontrol、以及初始脉冲参数值pwm0。

作为一种改进的方案,所述系统还包括:

参数计算模块,用于计算实时温差te以及中间参数a和b,其中:

te=tdts-tcontrol,a=te*dt,b=(te-le)/dt,tdts为风扇实时温度参数。

作为一种改进的方案,所述系统还包括:

脉冲参数值计算模块,用于计算用于调控风扇转速的脉冲参数值pwm,其中,pwm=pwmo-dp;

脉冲参数值输出模块,用于用于将计算得到的用于调控风扇转速的脉冲参数值pwm输出至风扇控制端;

返回执行控制模块,用于控制将实时温差te的参数置为初始温差le,返回执行所述对服务器配置的n个风扇的工作状态进行检测,获取各个风扇的实时转速参数的步骤。

在本发明实施例中,对服务器配置的n个风扇的工作状态进行检测,获取各个风扇的实时转速参数;将获取到的各个风扇的实时转速参数与预先设置的转速阈值进行比对,判断是否存在出现异常工作状态的风扇;当存在处于异常工作状态的风扇时,统计服务器中处于正常工作状态的风扇数量n,并计算用于调整风扇转速的比例项系数kp,即:kp=n*kp1/n;当不存在处于异常工作状态的风扇时,调用选取预先设置的初始比例项系数kp1作为用于调整风扇转速的比例项系数kp,从而实现实现在现在风扇失效状态时的快速响应,动态调整kp值,保证风扇冗余下的系统散热。

附图说明

图1是本发明提供的基于风扇冗余的pid风扇调控方法的实现流程图;

图2是本发明提供的基于风扇冗余的pid风扇调控系统的结构框图。

具体实施方式

下面结合具体的实施例对本发明进一步说明。但这些例举性实施方式的用途和目的仅用来例举本发明,并非对本发明的实际保护范围构成任何形式的任何限定,更非将本发明的保护范围局限于此。

图1示出了本发明提供的基于风扇冗余的pid风扇调控方法的实现流程图,其具体包括下述步骤:

在步骤s101中,对服务器配置的n个风扇的工作状态进行检测,获取各个风扇的实时转速参数。

在该步骤中,该对风扇的实时监测可以通过下述方式实现:bmc通过风扇fg信号监测风扇的实时转速,从而判断风扇的工作状态,bmc通过风扇的fg信号实时监测风扇的转速,如果风扇转速rpm<97*duty+980,则判断该风扇处于异常工作状态。

在步骤s102中,将获取到的各个风扇的实时转速参数与预先设置的转速阈值进行比对,判断是否存在出现异常工作状态的风扇,是则执行步骤s103,否则执行步骤s104。

在步骤s103中,当存在处于异常工作状态的风扇时,统计服务器中处于正常工作状态的风扇数量n,并计算用于调整风扇转速的比例项系数kp,即:kp=n*kp1/n。

在步骤s104中,当不存在处于异常工作状态的风扇时,调用选取预先设置的初始比例项系数kp1作为用于调整风扇转速的比例项系数kp。

在本发明实施例中,上述步骤s104之后还包括下述步骤:

根据计算得到的用于调整风扇转速的比例项系数kp,计算用于调控风扇转速的pwm增量参数dp,即:dp=kp*te+ki*a+kd*b/dt,其中,te为实时温差,ki为积分项系数,kd为微分项系数,dt为时间间隔,a和b均为中间参数。

其中,在该比例项系数kp的计算式中,需要计算的内容较多,包括实时温差te以及中间参数a和b,具体为:

计算实时温差te以及中间参数a和b,其中:

te=tdts-tcontrol,a=te*dt,b=(te-le)/dt,tdts为风扇实时温度参数。

在该实施例中,根据计算得到的用于调整风扇转速的比例项系数kp,计算用于调控风扇转速的pwm增量参数dp的步骤之前还包括下述步骤:

对用于调控风扇转速的各项初始参数进行初始化设置,所述初始参数包括初始温差le、积分项系数ki、微分项系数kd、时间间隔dt、初始比例项系数kp1、温度控制参数tcontrol、以及初始脉冲参数值pwm0。

在本发明实施例中,所述根据计算得到的用于调整风扇转速的比例项系数kp,计算用于调控风扇转速的pwm增量参数dp的步骤之后,还包括下述步骤:

计算用于调控风扇转速的脉冲参数值pwm,并输出至风扇控制端,其中,pwm=pwmo-dp;

控制将实时温差te的参数置为初始温差le,并返回执行所述对服务器配置的n个风扇的工作状态进行检测,获取各个风扇的实时转速参数的步骤。

在本发明实施例中,对风扇进行调控的目的是将其cpu在内的工作器件的工作温度控制在定义的最高温度范围之内。

图2示出了本发明提供的基于风扇冗余的pid风扇调控系统的结构框图,为了便于说明,图中仅给出了与本发明实施例相关的部分。

基于风扇冗余的pid风扇调控系统包括:

实时转速参数获取模块1,用于对服务器配置的n个风扇的工作状态进行检测,获取各个风扇的实时转速参数;

比对判断模块2,用于将获取到的各个风扇的实时转速参数与预先设置的转速阈值进行比对,判断是否存在出现异常工作状态的风扇;

风扇数量统计模块3,当存在处于异常工作状态的风扇时,统计服务器中处于正常工作状态的风扇数量n;

比例项系数计算模块4,用于计算用于调整风扇转速的比例项系数kp,即:kp=n*kp1/n;

比例项系数调用选取模块5,用于当不存在处于异常工作状态的风扇时,调用选取预先设置的初始比例项系数kp1作为用于调整风扇转速的比例项系数kp。

其中,所述系统还包括:

pwm增量参数计算模块6,用于根据计算得到的用于调整风扇转速的比例项系数kp,计算用于调控风扇转速的pwm增量参数dp,即:dp=kp*te+ki*a+kd*b/dt,其中,te为实时温差,ki为积分项系数,kd为微分项系数,dt为时间间隔,a和b均为中间参数;

初始化设置模块7,用于对用于调控风扇转速的各项初始参数进行初始化设置,所述初始参数包括初始温差le、积分项系数ki、微分项系数kd、时间间隔dt、初始比例项系数kp1、温度控制参数tcontrol、以及初始脉冲参数值pwm0;

参数计算模块8,用于计算实时温差te以及中间参数a和b,其中:

te=tdts-tcontrol,a=te*dt,b=(te-le)/dt,tdts为风扇实时温度参数;

脉冲参数值计算模块9,用于计算用于调控风扇转速的脉冲参数值pwm,其中,pwm=pwmo-dp;

脉冲参数值输出模块10,用于用于将计算得到的用于调控风扇转速的脉冲参数值pwm输出至风扇控制端;

返回执行控制模块11,用于控制将实时温差te的参数置为初始温差le,返回执行所述对服务器配置的n个风扇的工作状态进行检测,获取各个风扇的实时转速参数的步骤。

其中,上述各个模块的功能如上述方式实施例所记载,在此不再赘述。

在本发明实施例中,对服务器配置的n个风扇的工作状态进行检测,获取各个风扇的实时转速参数;将获取到的各个风扇的实时转速参数与预先设置的转速阈值进行比对,判断是否存在出现异常工作状态的风扇;当存在处于异常工作状态的风扇时,统计服务器中处于正常工作状态的风扇数量n,并计算用于调整风扇转速的比例项系数kp,即:kp=n*kp1/n;当不存在处于异常工作状态的风扇时,调用选取预先设置的初始比例项系数kp1作为用于调整风扇转速的比例项系数kp,从而实现实现在现在风扇失效状态时的快速响应,动态调整kp值,保证风扇冗余下的系统散热。

以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。

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