本发明涉及服务器散热技术领域,具体提供一种PID风扇调控策略保护方法。
背景技术:
计算机具有存储信息量大,使用者获取信息方便快捷等优点,受到广泛的应用。随着社会的进步及经济的发展,使用者对计算机的性能要求越来越高。服务器与传统的计算机相比,具有更好的扩展性、易用性及易管理性,受到很多大型企业的青睐。随着技术的进步和市场对服务器性能需求的提高,服务器的CPU功耗规格逐渐提升,如何及时耗散CPU产生的热量并且降低系统风扇的功耗和噪声成为服务器设计关注的重点。CPU的散热规格是线性的,不是一个固定的数值,为了防止CPU过温或风扇过速,需要不断的调节风扇转速以适应CPU的散热需求。传统的阶梯法需要服务器内部元器件有较大的温度变化范围才能进行风扇转速的调控,因此当服务器工作负载较低时存在过度散热问题。相比传统的阶梯法,PID调控方法可以有效的降低风扇转速和系统噪声,并且避免服务器运行过程中的风扇震荡。目前PID调控方法已经成为服务器设计的主流方案。
PID风扇调控是基于以下公式:
不断调整P、I、D三个参数,并记录系统加压过程中CPU温度和风扇转速的变化曲线,可以获得适用于系统的最优参数组合。其中,比例项P可影响风扇转速随温度变化的快慢,当P值增大,风扇转速在CPU超过设定点温度时增加幅度变大,能够使CPU温度迅速降低。但一般来说,P值过高会导致系统风扇震荡,为了加快系统的稳定,P值不能过大。对于采用高功耗CPU的服务器来说,系统突然加压的情况下,CPU温度快速升高,考虑到风扇响应时间和转速变化率,散热能力的提升相对滞后于温度的提升,易发生CPU过温的风险,容易造成CPU的损坏,影响服务器的正常工作。
技术实现要素:
本发明的技术任务是针对上述存在的问题,提供一种能根据实际情况调控风扇的PWM值,提高散热能力,从而避免CPU过温,并能降低系统的功耗和噪声的PID风扇调控策略保护方法。
为实现上述目的,本发明提供了如下技术方案:
一种PID风扇调控策略保护方法,设置CPU温度保护点,在PID调控策略中增加逻辑语句,当CPU温度低于温度保护点时,PID调控策略按照正常PID计算方法输出风扇PWM值,当CPU温度超过温度保护点时,PID调控策略对PWM值增加一个定量再输出给风扇,调控风扇的转速,实现避免CPU过温。
所述PWM为Pulse Width Modulation的缩写。
该保护方法在PID调控策略中增加逻辑语句,通过增加的逻辑语句当CPU温度接近温度保护点时,风扇PWM值会瞬间增大,增加风扇的转速,提高散热能力,避免CPU温度过高,保证服务器的正常工作。
作为优选,所述设置的CPU温度保护点为两级,一级温度保护点设置参数为P1,保护点温度为Tjmax-P1,对应的PWM增量为Q1,二级温度保护点设置参数为P2,保护点温度为Tjmax-P2,对应的PWM增量为Q2,P1>P2,Q1<Q2。
所述Tjmax为允许的最高CPU温度。
P1>P2,即是使二级温度保护点温度高于一级温度保护点温度。
Q1<Q2,若CPU温度低于二级温度保护点温度时,将对PWM变化量减去Q1,相当于PWM增大Q1;若CPU温度高于二级温度保护点温度时,将对PWM变化量减去Q2,相当于PWM增大Q2,CPU温度触发到更高温度保护点,起到更好的保护作用。
作为优选,所述保护方法的具体步骤为:
S1:定义系统初始PWM值;
S2:定义初始温度偏差Le;
S3:定义比例向系数Kp;
S4:定义积分项系统Ki;
S5:定义微分项系数Kd;
S6:定义计算间隔时间dt;
S7:设定温度控制参数Tcontrol,将CPU温度控制在(Tjmax-Tcontrol);
S8:一级温度保护点设置参数为P1,保护点温度为Tjmax-P1,二级温度保护点设置参数为P2,保护点温度为Tjmax-P2,P1>P2;
S9:一级温度保护点对应的PWM增量为Q1,二级温度保护点对应的PWM增量为Q2,Q1<Q2;
S10:读取CPU温度余量TDTS,根据温度余量TDTS和温度控制参数Tcontrol,按照PID调控策略计算所需的PWM变化量。
作为优选,步骤S10中,对CPU温度进行判断,CPU温度低于一级温度保护点温度Tjmax-P1时,PWM变化量不变,PWM值正常调节,否则对PWM值增加一个定量。
作为优选,当CPU温度高于一级温度保护点温度Tjmax-P1时,再次判断,当CPU温度低于二级温度保护点温度Tjmax-P2时,对PWM值增加Q1,当CPU温度高于二级温度保护点温度Tjmax-P2时,对PWM值增加Q2,并对Le重新赋值,进行循环计算。
与现有技术相比,本发明的PID风扇调控策略保护方法具有以下突出的有益效果:
(一)本发明所述PID风扇调控策略保护方法通过设置CPU温度保护点,并在PID调控策略中增加逻辑语句,当CPU温度接近温度保护点时,风扇PWM值会瞬间增大,提高风扇的转速,从而提高服务器的散热能力,避免CPU出现过温的现象;
(二)所述CPU温度保护点为两级,一级温度保护点设置参数为P1,保护点温度为Tjmax-P1,一级温度保护点对应的PWM增量为Q1,二级温度保护点设置参数为P2,保护点温度为Tjmax-P2,二级温度保护点对应的PWM增量为Q2,P1>P2,Q1<Q2,使二级温度保护点温度高于一级温度保护点温度,CPU温度触发到更高温度保护点,起到更好的保护作用,并且能够降低系统的功耗和噪声,易用性强,易于推广,提高实用性。
附图说明
图1是本发明所述PID风扇调控策略保护方法的流程图。
具体实施方式
下面将结合附图和实施例,对本发明的PID风扇调控策略保护方法作进一步详细说明。
实施例1
本发明的PID风扇调控策略保护方法,设置CPU温度保护点,在PID调控策略中增加逻辑语句,当CPU温度低于温度保护点时,PID调控策略按照正常PID计算方法输出风扇PWM值,当CPU温度超过温度保护点时,PID调控策略对PWM值增加一个定量再输出给风扇,调控风扇的转速,实现避免CPU过温。
实施例2
在实施例1的基础上,设置的CPU温度保护点为两级,一级温度保护点设置参数为P1,保护点温度为Tjmax-P1,对应的PWM增量为Q1,二级温度保护点设置参数为P2,保护点温度为Tjmax-P2,对应的PWM增量为Q2,P1>P2,Q1<Q2。
P1>P2,使二级温度保护点温度高于一级温度保护点温度。
Q1<Q2,若CPU温度低于二级温度保护点温度时,将对PWM变化量减去Q1,相当于PWM增大Q1;若CPU温度高于二级温度保护点温度时,将对PWM变化量减去Q2,相当于PWM增大Q2,CPU温度触发到更高温度保护点,起到更好的保护作用。
实施例3
如图1所示,本发明的PID风扇调控策略保护方法的具体步骤为:
S1:定义系统初始PWM值。
S2:定义初始温度偏差Le。
S3:定义比例向系数Kp。
S4:定义积分项系统Ki。
S5:定义微分项系数Kd。
S6:定义计算间隔时间dt。
S7:设定温度控制参数Tcontrol,将CPU温度控制在(Tjmax-Tcontrol)。
S8:一级温度保护点设置参数为P1,保护点温度为Tjmax-P1,二级温度保护点设置参数为P2,保护点温度为Tjmax-P2,P1>P2。
S9:一级温度保护点对应的PWM增量为Q1,二级温度保护点对应的PWM增量为Q2,Q1<Q2。
S10:读取CPU温度余量TDTS,根据温度余量TDTS和温度控制参数Tcontrol,按照PID调控策略计算所需的PWM变化量。对CPU温度进行判断,CPU温度低于一级温度保护点温度Tjmax-P1时,PWM变化量不变,PWM值正常调节。CPU温度高于一级温度保护点温度Tjmax-P1低于二级温度保护点温度Tjmax-P2时,对PWM值增加Q1,即对PWM变化量减去Q1。CPU温度高于二级温度保护点温度Tjmax-P2时,对PWM值增加Q2,即对PWM变化量减去Q2,并对Le重新赋值,再次进行循环计算,避免CPU处于过温状态,保证服务器的正常工作。
以上所述的实施例,只是本发明较优选的具体实施方式,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。