风扇控制系统及方法转让专利

申请号 : CN201010570709.7

文献号 : CN102486180A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王新富

申请人 : 鸿富锦精密工业(深圳)有限公司鸿海精密工业股份有限公司

摘要 :

一种风扇控制系统及方法,该方法包括步骤:设置CPU风扇的转速表、IOH风扇的转速表及内存风扇的转速表;读取IOH的温度;判断IOH风扇的转速是否需要调整;根据上述读取的温度从IOH风扇的转速表中读取对应的转速来调整IOH风扇的转速、并将该温度当做CPU的温度及内存的温度,根据该温度从CPU风扇的转速表中读取对应的转速来调整CPU风扇的转速,及从内存风扇的转速表中读取对应的转速来调整内存风扇的转速;分别读取CPU、IOH及内存的温度,并分别调整CPU风扇、IOH风扇及内存风扇的转速。利用本发明可以避免风扇在门槛值附近反复调整,节约了能耗,降低了风扇噪音。

权利要求 :

1.一种风扇控制系统,其特征在于,该风扇控制系统包括:

设置模块,用于设置CPU风扇的转速表、输入输出集线器风扇的转速表及内存风扇的转速表;

读取模块,用于通过基板管理控制器从输入输出集线器上的温度传感器中读取输入输出集线器的温度;

判断模块,用于将输入输出集线器风扇的当前转速所对应的温度与所读取的输入输出集线器的温度进行比较,从而判断输入输出集线器风扇的转速是否需要调整;

所述调整模块,用于当需要调整输入输出集线器风扇的转速时,根据上述读取的温度从输入输出集线器风扇的转速表中读取对应的转速来调整输入输出集线器风扇的转速、并将该温度当做CPU的温度及内存的温度,根据该温度从CPU风扇的转速表中读取对应的转速来调整CPU风扇的转速,及从内存风扇的转速表中读取对应的转速来调整内存风扇的转速;

所述读取模块,还用于在调整完CPU风扇、输入输出集线器风扇及内存风扇的转速并持续一定时间后,分别读取CPU、输入输出集线器及内存的温度;及所述调整模块,还用于根据所读取的CPU、输入输出集线器及内存的温度,分别调整CPU风扇、输入输出集线器风扇及内存风扇的转速。

2.如权利要求1所述的风扇控制系统,其特征在于,所述CPU风扇的转速表是指CPU的温度在不同的温度区间内时CPU风扇所对应的转速,所述输入输出集线器风扇的转速表是指输入输出集线器的温度在不同的温度区间内时输入输出集线器风扇所对应的转速,所述内存风扇的转速表是指内存的温度在不同的温度区间内时内存风扇所对应的转速。

3.如权利要求1所述的风扇控制系统,其特征在于,所述输入输出集线器是北桥。

4.一种风扇控制方法,其特征在于,该方法包括步骤:

设置CPU风扇的转速表、输入输出集线器风扇的转速表及内存风扇的转速表;

通过基板管理控制器从输入输出集线器上的温度传感器中读取输入输出集线器的温度;

将输入输出集线器风扇的当前转速所对应的温度与所读取的输入输出集线器的温度进行比较,从而判断输入输出集线器风扇的转速是否需要调整;

当需要调整输入输出集线器风扇的转速时,根据上述读取的温度从输入输出集线器风扇的转速表中读取对应的转速来调整输入输出集线器风扇的转速、并将该温度当做CPU的温度及内存的温度,根据该温度从CPU风扇的转速表中读取对应的转速来调整CPU风扇的转速,及从内存风扇的转速表中读取对应的转速来调整内存风扇的转速;

在调整完CPU风扇、输入输出集线器风扇及内存风扇的转速并持续一定时间后,分别读取CPU、输入输出集线器及内存的温度;及根据所读取的CPU、输入输出集线器及内存的温度,分别调整CPU风扇、输入输出集线器风扇及内存风扇的转速。

5.如权利要求4所述的风扇控制方法,其特征在于,所述CPU风扇的转速表是指CPU的温度在不同的温度区间内时CPU风扇所对应的转速,所述输入输出集线器风扇的转速表是指输入输出集线器的温度在不同的温度区间内时输入输出集线器风扇所对应的转速,所述内存风扇的转速表是指内存的温度在不同的温度区间内时内存风扇所对应的转速。

6.如权利要求4所述的风扇控制方法,其特征在于,所述输入输出集线器是北桥。

说明书 :

风扇控制系统及方法

技术领域

[0001] 本发明涉及一种风扇控制系统及方法。

背景技术

[0002] 计算机中的风扇在运行过程中,当温度处于一种接近门槛值时,会出现如下现象:温度超过门槛值时风扇会加速,当温度低于门槛值,风扇在短时间内又立刻降速。从而使得风扇刚加速却又要在短时间内立刻降速,导致不必要的功耗和噪音的产生。且当某区域温度超过门槛值时,风扇加速只针对该区域进行散热,容易把热量发散到其它区域,也就是说,该区域的温度下降可能会导致其它区域的温度因此上升,造成系统温度无法处在稳定状况下,从而产生不必要的风扇加速或减速动作,导致多余的功耗和噪音。

发明内容

[0003] 鉴于以上内容,有必要提供一种风扇控制系统,可以避免风扇在门槛值附近被反复调整,节约了能耗,降低了风扇噪音。
[0004] 鉴于以上内容,还有必要提供一种风扇控制方法,可以避免风扇在门槛值附近被反复调整,节约了能耗,降低了风扇噪音。
[0005] 一种风扇控制系统,该风扇控制系统包括:设置模块,用于设置CPU风扇的转速表、输入输出集线器风扇的转速表及内存风扇的转速表;读取模块,用于通过基板管理控制器从输入输出集线器上的温度传感器中读取输入输出集线器的温度;判断模块,用于将输入输出集线器风扇的当前转速所对应的温度与所读取的输入输出集线器的温度进行比较,从而判断输入输出集线器风扇的转速是否需要调整;所述调整模块,用于当需要调整输入输出集线器风扇的转速时,根据上述读取的温度从输入输出集线器风扇的转速表中读取对应的转速来调整输入输出集线器风扇的转速、并将该温度当做CPU的温度及内存的温度,根据该温度从CPU风扇的转速表中读取对应的转速来调整CPU风扇的转速,及从内存风扇的转速表中读取对应的转速来调整内存风扇的转速;所述读取模块,还用于在调整完CPU风扇、输入输出集线器风扇及内存风扇的转速并持续一定时间后,分别读取CPU、输入输出集线器及内存的温度;所述调整模块,还用于根据所读取的CPU、输入输出集线器及内存的温度,分别调整CPU风扇、输入输出集线器风扇及内存风扇的转速。
[0006] 一种风扇控制方法,该方法包括步骤:设置CPU风扇的转速表、输入输出集线器风扇的转速表及内存风扇的转速表;通过基板管理控制器从输入输出集线器上的温度传感器中读取输入输出集线器的温度;将输入输出集线器风扇的当前转速所对应的温度与所读取的输入输出集线器的温度进行比较,从而判断输入输出集线器风扇的转速是否需要调整;当需要调整输入输出集线器风扇的转速时,根据上述读取的温度从输入输出集线器风扇的转速表中读取对应的转速来调整输入输出集线器风扇的转速、并将该温度当做CPU的温度及内存的温度,根据该温度从CPU风扇的转速表中读取对应的转速来调整CPU风扇的转速,及从内存风扇的转速表中读取对应的转速来调整内存风扇的转速;在调整完CPU风扇、输入输出集线器风扇及内存风扇的转速并持续一定时间后,分别读取CPU、输入输出集线器及内存的温度;根据所读取的CPU、输入输出集线器及内存的温度,分别调整CPU风扇、输入输出集线器风扇及内存风扇的转速。
[0007] 相较于现有技术,所述的风扇控制系统及方法,可以先通过输入输出集线器(IOH)上的温度统一调整CPU风扇、IOH风扇及内存风扇的转速,再分别读取CPU、IOH及内存上的温度,根据所读取的CPU、IOH及内存上的温度,分别调整CPU风扇、IOH风扇及内存风扇的转速,避免风扇在门槛值附近被反复调整,节约了能耗,也降低风扇噪音。

附图说明

[0008] 图1是本发明风扇控制系统较佳实施例的应用环境图。
[0009] 图2是本发明图1中风扇控制系统较佳实施例的功能模块图。
[0010] 图3是本发明风扇控制方法较佳实施例的流程图。
[0011] 主要元件符号说明
[0012]主板 2
BMC 20
CPU 21
CPU风扇 22
IOH 23
IOH风扇 24
内存 25
内存风扇 26
风扇控制系统 200
设置模块 210
读取模块 220
判断模块 230
调整模块 240

具体实施方式

[0013] 如图1所示,是本发明风扇控制系统较佳实施例的应用环境图。其中,该风扇控制系统200运行在主板2上,该主板2还包括基板管理控制器(Baseboard Management Controller,BMC)20、CPU 21、CPU风扇22、输入输出集线器(Input Output Hub,IOH)23、IOH风扇24、内存25及内存风扇26。
[0014] 所述BMC 20与CPU 21、IOH 23及内存25相连,该BMC 20用于即时读取CPU 21的温度,即时读取IOH 23的温度及即时读取内存25的温度,具体而言,在所述CPU 21、IOH23及内存25上或周围安装有温度传感器(图中未示出),所述BMC 20通过所述温度传感器,就可以读取CPU 21的温度、IOH 23的温度及内存25的温度。其中,所述IOH 23为北桥(north bridge)。
[0015] 所述CPU风扇22安装在CPU 21上或CPU 21周围,该CPU风扇22用于对CPU 21进行散热。所述IOH风扇24安装在IOH 23上或IOH 23周围,该IOH风扇24用于对IOH23进行散热。所述内存风扇26安装在内存25周围,该内存风扇26用于对内存25进行散热。
[0016] 此外,该主板2还包括风扇控制系统200,该风扇控制系统200用于根据BMC 20读取的温度及时调整CPU风扇22、IOH风扇24及内存风扇26的转速。所述风扇控制系统200的功能将在图2及图3中做详细描述。
[0017] 如图2所示,是本发明图1中风扇控制系统200较佳实施例的功能模块图。该风扇控制系统200包括设置模块210、读取模块220、判断模块230及调整模块240。本发明所称的模块是完成一特定功能的计算机程序段,比程序更适合于描述软件在计算机中的执行过程,因此在本发明以下对软件描述中都以模块描述。
[0018] 所述设置模块210用于设置CPU风扇22的转速表、IOH风扇24的转速表及内存风扇26的转速表。其中,转速是以相对于全速转动的百分比来计算的,例如,CPU风扇22的全速转速为1000转/分钟,在温度T小于等于45度时,CPU风扇22是以全速转速的50%进行转动的,即500转/分钟。所述CPU风扇22的转速表如下表所示:
[0019]
[0020] IOH风扇24的转速表,如下表所示:
[0021]
[0022] 内存风扇26的转速表,如下表所示:
[0023]
[0024] 所述读取模块220用于通过BMC 20从IOH 23的温度传感器中读取IOH 23的温度。
[0025] 所述判断模块230用于将IOH风扇24的当前转速所对应的温度与所读取的IOH23的温度进行比较,从而判断IOH风扇24是否需要调整转速。具体而言,假设IOH风扇
24的当前转速为全速转动的60%,该转速在IOH风扇24的转速表中所对应的温度区间为T≤45,若从IOH 23的温度传感器上读取到该IOH 23的温度为46度,则判断结果为需要调整IOH风扇23的转速,若所读取的温度为43度,则判断结果为不需要调整IOH风扇23的转速。
[0026] 当需要调整IOH风扇24的转速时,所述调整模块240用于根据上述读取的温度从IOH风扇24的转速表中读取对应的转速来调整IOH风扇24的转速、并将所读取的IOH 23的温度当做CPU 21的温度及内存25的温度,根据该温度从CPU风扇22的转速表中读取对应的转速来调整CPU风扇22的转速,及根据该温度从内存风扇26的转速表中读取对应的转速来调整内存风扇26的转速。
[0027] 具体而言,假设读取模块220所读取的IOH 23的温度为46度,调整模块240根据该温度(即46度)从CPU风扇22的转速表中读取相应的转速来调整CPU风扇22的转速,需要说明的是,即使CPU 21的实际温度是43度,调整模块240仍会以46度作为调整CPU风扇22的转速的依据,即将CPU风扇22的转速调整为全速转速的55%。此外,调整模块240还根据所读取的IOH 23的温度(即46度)从内存风扇26的转速表中读取相应的转速来调整内存风扇26的转速,即将内存风扇26的转速调整为全速转速的55%。
[0028] 在根据IOH 23的温度调整完CPU风扇22、IOH风扇24及内存风扇26的转速并持续一定时间(例如,20秒)后,所述读取模块220还用于分别读取CPU 21、IOH 23及内存25的温度。
[0029] 所述调整模块240还用于根据所读取的CPU 21、IOH 23及内存25的温度,分别调整CPU风扇22、IOH风扇24及内存风扇26的转速。具体而言,若此处读取的CPU 21的温度为41度,调整模块240根据该温度(即41度)在CPU风扇22的转速表中的温度区间,将CPU风扇22的转速调整为全速转速的50%。若此处读取的IOH 23的温度为43度,调整模块240根据该温度(即43度)在IOH风扇24的转速表中的温度区间,将IOH风扇24的转速调整为全速转速的60%。若此处读取的内存25的温度为28度,调整模块240根据该温度(即28度)在内存风扇26的转速表中的温度区间,将内存风扇26的转速调整为全速转速的50%。
[0030] 如图3所示,是本发明风扇控制方法较佳实施例的流程图。
[0031] 步骤S10,设置模块210设置CPU风扇22的转速表、IOH风扇24的转速表及内存风扇26的转速表。所述CPU风扇22的转速表是指CPU 21的温度在不同的温度区间内CPU风扇22所对应的转速,所述IOH风扇24的转速表是指IOH 23的温度在不同的温度区间内IOH风扇24所对应的转速,所述内存风扇26的转速表是指内存25的温度在不同的温度区间内时内存风扇26所对应的转速。
[0032] 步骤S11,读取模块220通过BMC 20从IOH 23的温度传感器中读取IOH 23的温度。
[0033] 步骤S12,判断模块224将IOH风扇24的当前转速所对应的温度与所读取的IOH23的温度进行比较,从而判断IOH风扇24是否需要调整转速。具体而言,假设IOH风扇
24的当前转速为全速转动的60%,该转速在IOH风扇24的转速表中所对应的温度区间为T≤45,若从IOH 23的温度传感器上读取到该IOH 23的温度为46度,则判断结果为需要调整IOH风扇23的转速,流程进入步骤S 13。若所读取的温度为43度,则判断结果为不需要调整IOH风扇23的转速,流程进入步骤S14。
[0034] 步骤S13,所述调整模块240根据上述读取的温度从IOH风扇24的转速表中读取对应的转速来调整IOH风扇24的转速、并将所读取的IOH 23的温度当做CPU 21的温度及内存25的温度,根据该温度从CPU风扇22的转速表中读取对应的转速来调整CPU风扇22的转速,及根据该温度从内存风扇26的转速表中读取对应的转速来调整内存风扇26的转速。
[0035] 具体而言,假设读取模块220所读取的IOH 23的温度为46度,调整模块240根据该温度(即46度)从CPU风扇22的转速表中读取相应的转速来调整CPU风扇22的转速,需要说明的是,即使CPU 21的实际温度是43度,调整模块240仍会以46度作为调整CPU风扇22的转速的依据,即将CPU风扇22的转速调整为全速转速的55%。此外,调整模块240还根据所读取的IOH 23的温度(即46度)从内存风扇26的转速表中读取相应的转速来调整内存风扇26的转速,即将内存风扇26的转速调整为全速转速的55%。
[0036] 步骤S14,读取模块220通过BMC 20分别读取CPU 21、IOH 23及内存25的温度。
[0037] 步骤S15,调整模块240根据所读取的CPU 21、IOH 23及内存25的温度,分别调整CPU风扇22、IOH风扇24及内存风扇26的转速。具体而言,若此处读取的CPU 21的温度为41度,调整模块240根据该温度(即41度)在CPU风扇22的转速表中的温度区间,将CPU风扇22的转速调整为全速转速的50%。若此处读取的IOH 23的温度为43度,调整模块240根据该温度(即43度)在IOH风扇24的转速表中的温度区间,将IOH风扇24的转速调整为全速转速的60%。若此处读取的内存25的温度为28度,调整模块240根据该温度(即28度)在内存风扇26的转速表中的温度区间,将内存风扇26的转速调整为全速转速的50%。
[0038] 由于IOH 23在工作时产生的热会使得该区域附近温度快速上升,从而间接的使得CPU 21周围及内存25周围的温度也快速上升,因此将IOH 21的温度作为判断的标准,可以有效避免整个主板2的温度快速升高。当IOH 23的温度发生显著变化时(出现快速升高或者快速降低),可同时调整CPU风扇22、IOH风扇24及内存风扇26的转速,再分别读取CPU 21、IOH 23及内存25上的温度,根据所读取的CPU 21、IOH 23及内存25上的温度,分别调整CPU风扇22、IOH风扇24及内存风扇26的转速,避免上述风扇在门槛值附近被反复调整,节约了能耗,降低了风扇噪音。
[0039] 以上实施例仅用以说明本发明的技术方案而非限制,尽管参照以上较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换都不应脱离本发明技术方案的精神和范围。