基于CPLD的风扇控制系统及服务器转让专利

申请号 : CN201811515967.8

文献号 : CN109611367B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘坤余婷詹鹏

申请人 : 英业达科技有限公司英业达股份有限公司

摘要 :

本发明提供了一种基于CPLD的风扇控制系统及服务器,所述基于CPLD的风扇控制系统包括一温度传感器以及一CPLD,所述CPLD用于根据温度传感器获取的温度,控制风扇的转速,以调节预定散热位置的温度。不论是否设有BMC,都可以通过CPLD对风扇的转速进行控制,相比现有技术,免除专用芯片和额外IO扩展器的设置,有效地降低了方案物料成本,减小了PCB面积以及PCB设计的复杂性。在设有BMC的系统中,通过CPLD对风扇的转速进行控制还可减轻BMC的负担。此外,CPLD可灵活地扩展多个风扇控制接口,相比现有技术更加方便。

权利要求 :

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

一温度传感器,用于采集至少一个预定散热位置的温度;以及,

一CPLD,电性连接所述温度传感器和至少一个风扇,所述CPLD用于根据所述温度传感器所采集的所述温度,控制所述风扇的转速,以调节所述预定散热位置的温度;所述CPLD包括:电性连接的一寄存器与一风扇控制器,所述寄存器用于从所述风扇处获取包括风扇的在位信息在内的一部分运行参数,从所述CPLD处获取包括风扇的转速在内的另一部分运行参数以及所述温度,并暂存所获取的所有所述运行参数以及所述温度,所述风扇控制器与所述温度传感器和所述风扇连接,用于根据所述温度和所述运行参数,控制所述风扇的转速。

2.根据权利要求1所述的基于CPLD的风扇控制系统,其特征在于,所述风扇控制器包括:

一温度读取模块,电性连接所述温度传感器,用于读取所述温度传感器所采集的所述温度;

一转速计算模块,电性连接所述温度读取模块,用于根据所述温度,计算得到一第一转速;

一PWM生成模块,分别电性连接所述转速计算模块和所述寄存器,用于根据所述第一转速以及所述寄存器中暂存的所述运行参数产生风扇控制信号以输出至所述风扇。

3.根据权利要求2所述的基于CPLD的风扇控制系统,其特征在于,当所述温度传感器用于采集多个预定散热位置的温度时,所述风扇控制器还包括一最大温度判定模块,所述最大温度判定模块电性连接在所述温度读取模块和所述转速计算模块之间,用于从所述温度读取模块读取的所有的所述预定散热位置的温度中判定出最大温度;所述转速计算模块用于根据所述最大温度计算得到第一转速。

4.根据权利要求2所述的基于CPLD的风扇控制系统,其特征在于,所述风扇控制器还包括:一风扇转速感测模块,电性连接所述风扇,用于感测所述风扇的转速,并将感测到的所述转速存储到所述寄存器中;以及,一风扇状态感测模块,分别电性连接所述风扇转速感测模块和所述寄存器,用于根据所述风扇转速感测模块感测到的所述风扇的转速与所述第一转速,判断所述风扇的状态是否正常,将所述风扇的状态信息存储到所述寄存器中。

5.根据权利要求4所述的基于CPLD的风扇控制系统,其特征在于,所述风扇状态感测模块用于比较所述风扇转速感测模块感测到的所述转速与所述第一转速的比值是否在一预设阈值的范围内,以判断所述风扇的状态是否正常。

6.根据权利要求1所述的基于CPLD的风扇控制系统,其特征在于,所述运行参数还包括所述风扇的电源正常信息,所述寄存器还用于获取所述风扇的电源正常信息。

7.根据权利要求1至6中任一项所述的基于CPLD的风扇控制系统,其特征在于,所述基于CPLD的风扇控制系统还包括BMC,所述BMC用于通过所述CPLD控制所述风扇的转速,所述CPLD选择性地用于在所述BMC的控制下或根据自身控制所述风扇的转速。

8.根据权利要求7所述的基于CPLD的风扇控制系统,其特征在于,当所述CPLD用于在所述BMC的控制下控制所述风扇的转速时,所述BMC用于根据所述温度生成一第二转速;所述CPLD用于根据所述第二转速生成风扇控制信号,输出至所述风扇,以控制所述风扇的转速。

9.根据权利要求8所述的基于CPLD的风扇控制系统,其特征在于,所述BMC或所述CPLD中存储有一预设的温度转速表,所述BMC用于根据温度在所述预设的温度转速表内查表获得所述第二转速。

10.根据权利要求7所述的基于CPLD的风扇控制系统,其特征在于,所述BMC和所述温度传感器均通过I2C总线电性连接所述CPLD。

11.一种服务器,其特征在于,包括至少一个风扇以及权利要求1至10中任一项所述的基于CPLD的风扇控制系统,各个所述风扇连接所述基于CPLD的风扇控制系统的CPLD。

说明书 :

基于CPLD的风扇控制系统及服务器

技术领域

[0001] 本发明涉及服务器硬件技术领域,特别涉及一种基于CPLD的风扇控制系统及服务器。

背景技术

[0002] 服务器的设计中,一般需要采用风扇来进行散热,以避免服务器内部的元器件因为温度过高而失效甚至损坏。为降低功耗和噪音和延长风扇的寿命,需根据服务器内部之预定散热位置的实际温度状况调整风扇的转速。一般的,风扇的转速控制可通过对风扇输入一PWM(Pulse Width Modulation,脉冲宽度调制)信号的方式来实现,通过改变PWM信号的占空比,即可对风扇的转速进行调节。
[0003] 现有对风扇的控制,主要有两种方案。请参考图1,图1所示是现有第一种方案的风扇控制系统的原理框图,在该方案中,风扇是由BMC(Baseboard Manager Controller,基板管理控制器)11的风扇控制模块直接控制,预定散热位置的实际温度信息由BMC采集,根据所述实际温度,查询存储在BMC内的温度转速表,获得一PWM输出信号。而与BMC连接的CPLD(Complex Programmable Logic Device,复杂可编程逻辑器件)12判断BMC是否正常运行,当CPLD12判断BMC11为正常运行时,即将所述PWM输出信号作为风扇控制信号并通过风扇连接端13输出至风扇,以达到控制风扇13转速的目的。而当CPLD12判断BMC11未正常运行时,则可由CPLD12内部产生一固定的PWM信号作为风扇控制信号并通过风扇连接端13输出至风扇。此方案的缺点是占用BMC11的GPIO(General Purpose Input/Output,通用输入/输出接口)非常多,以5风扇双转子风扇的系统(即包括5个双转子风扇的系统)为例,约需要20个GPIO,非常浪费BMC的GPIO资源。另外此方案只适合用于风扇直接设置于主板上的情况,因为控制信号太多,接到FANBP(Fan Board,风扇背板)上时,风扇连接器会非常的大,而且风扇的转速等信号会影响其他信号的质量。
[0004] 请参考图2,图2所示是现有第二种方案的风扇控制系统的原理框图,该方案采用BMC21与一专用风扇控制器(如ADT7462芯片等)22共同配合使用,专用的风扇控制器通过风扇连接端26与风扇连接,以采集所述风扇的转速和状态(即风扇在位信息),当BMC正常运行时,BMC能正常的通过I2C(串行总线)访问到所述专用风扇控制器22,BMC根据采集到的预定散热位置的实际温度信息,控制所述专用风扇控制器22产生适当占空比的PWM信号作为风扇控制信号,用以维持风扇正常工作。而当BMC异常或挂死时,FCB(Fan Control Board,风扇控制背板)上的HW检测模块23检测不到BMC发出的正常工作信号,于是HW-PWM生成模块24产生一替代PWM信号作为风扇控制信号,用以对风扇实现控速,其中,可以采用HW检测模块23控制一PWM选择器25,来根据BMC是否正常来选择由专用风扇控制器22输出BMC产生的PWM信号或由HW-PWM生成模块24产生的替代PWM信号。此方法虽然占用BMC21的GPIO资源较少,但是ADT7462芯片等专用风扇控制芯片的价格较贵,且只有4个通道,当需要控制更多风扇时,需多片芯片,价格更贵。
[0005] 除此之外,一方面,若一些风扇控制系统中不设有BMC,则只能通过硬件搭建的电路产生固定的风扇控制信号以控制风扇以固定速度转动,导致转速控制不灵活,功耗大。另一方面,采用上述两种方案的风扇控制系统中,均需要IO扩展器扩展多个GPIO来读取风扇的在位信息(即风扇状态)和风扇的电源正常信息,还需要线缆传输BMC正常工作信息,这均造成了浪费。再一方面,通过BMC直接控制风扇或通过BMC结合专用风扇控制器控制风扇,均加重了BMC的负担,需要较高版本的BMC才能实现,这也在一定程度上加大了成本。

发明内容

[0006] 本发明的目的在于提供一种基于CPLD的风扇控制系统及服务器,以解决现有风扇控制系统存在的转速控制不灵活、功耗大、占用BMC的GPIO资源多、专用芯片价格贵且通道少、需采用高版本BMC等问题。
[0007] 为解决上述技术问题,本发明提供了一种基于CPLD的风扇控制系统,其包括:
[0008] 一温度传感器,用于采集至少一个预定散热位置的温度;以及,
[0009] 一CPLD,电性连接所述温度传感器和至少一个风扇,所述CPLD用于根据所述温度传感器所采集的所述温度,控制所述风扇的转速,以调节所述预定散热位置的温度。
[0010] 可选的,所述CPLD包括:电性连接的一寄存器与一风扇控制器,所述寄存器用于从所述风扇处获取包括风扇的在位信息在内的一部分运行参数,从所述CPLD处获取包括风扇的转速在内的另一部分运行参数以及所述温度,并暂存所获取的所有所述运行参数以及所述温度,所述风扇控制器与所述温度传感器和所述风扇连接,用于根据所述温度和所述运行参数,控制所述风扇的转速。
[0011] 可选的,所述风扇控制器包括:
[0012] 一温度读取模块,电性连接所述温度传感器,用于读取所述温度传感器所采集的所述温度;
[0013] 一转速计算模块,电性连接所述温度读取模块,用于根据所述温度,计算得到一第一转速;
[0014] 一PWM生成模块,分别电性连接所述转速计算模块和所述寄存器,用于根据所述第一转速以及所述寄存器中暂存的所述运行参数产生所述风扇控制信号以输出至所述风扇。
[0015] 可选的,当所述温度传感器用于采集多个预定散热位置的温度时,所述风扇控制器还包括一最大温度判定模块,所述最大温度判定模块电性连接在所述温度读取模块和所述转速计算模块之间,用于从所述温度读取模块读取的所有的所述预定散热位置的温度中判定出最大温度;所述转速计算模块用于根据所述最大温度计算得到第一转速。
[0016] 可选的,所述风扇控制器还包括:
[0017] 一风扇转速感测模块,电性连接所述风扇,用于感测所述风扇的转速,并将感测到的所述转速存储到所述寄存器中;以及,
[0018] 一风扇状态感测模块,分别电性连接所述风扇转速感测模块和所述寄存器,用于根据所述风扇转速感测模块感测到的所述风扇的转速与所述第一转速,判断所述风扇的状态是否正常,将所述风扇的状态信息存储到所述寄存器中。
[0019] 可选的,所述风扇状态感测模块用于比较所述风扇转速感测模块感测到的所述转速与所述第一转速的比值是否在一预设阈值的范围内,以判断所述风扇的状态是否正常。
[0020] 可选的,所述运行参数还包括所述风扇的电源正常信息,所述寄存器还用于获取所述风扇的电源正常信息。
[0021] 可选的,所述基于CPLD的风扇控制系统还包括BMC,所述BMC用于通过所述CPLD控制所述风扇的转速,所述CPLD选择性地用于在所述BMC的控制下或根据自身控制所述风扇的转速。
[0022] 可选的,当所述CPLD用于在所述BMC的控制下控制所述风扇的转速时,所述BMC用于根据所述温度生成一第二转速;所述CPLD用于根据所述第二转速生成所述风扇控制信号,输出至所述风扇,以控制所述风扇的转速。
[0023] 可选的,所述BMC或所述CPLD中存储有一预设的温度转速表,所述BMC用于根据温度在所述预设的温度转速表内查表获得所述第二转速。
[0024] 可选的,所述BMC和所述温度传感器均通过I2C总线电性连接所述CPLD。
[0025] 为解决上述技术问题,本发明还提供一种服务器,其包括至少一个风扇以及如上所述的基于CPLD的风扇控制系统,各个所述风扇连接所述基于CPLD的风扇控制系统的CPLD。
[0026] 综上所述,在本发明提供的基于CPLD的风扇控制系统及服务器中,所述基于CPLD的风扇控制系统包括CPLD以及温度传感器,所述CPLD用于根据温度传感器获取的温度,控制风扇的转速,以调节预定散热位置的温度。不论是否设有BMC,都可以通过CPLD对风扇的转速进行控制,相比现有技术,免除专用芯片和额外IO扩展器的设置,有效地降低了方案物料成本,减小了PCB面积以及PCB设计的复杂性。在设有BMC的系统中,通过CPLD对风扇的转速进行控制还可减轻BMC的负担。此外,CPLD可灵活地扩展多个风扇控制接口,相比现有技术更加方便。

附图说明

[0027] 本领域的普通技术人员将会理解,提供的附图用于更好地理解本发明,而不对本发明的范围构成任何限定。其中:
[0028] 图1是现有风扇控制系统方案一的原理框图;
[0029] 图2是现有风扇控制系统方案二的原理框图;
[0030] 图3是本发明一实施例提供的基于CPLD的风扇控制系统的原理框图,其具有BMC;
[0031] 图4是本发明一实施例提供的基于CPLD的风扇控制系统的原理框图,其中无BMC。
[0032] 附图中:
[0033] 11、21-BMC;12-CPLD;13、26-风扇连接端、22-风扇控制芯片;23-HW检测模块;24-HW-PWM生成模块;25-PWM选择器;
[0034] 300-CPLD;310-寄存器;320-风扇控制器;321-温度读取模块;322-最大温度判定模块;323-转速计算模块;324-PWM生成模块;325-风扇转速感测模块;326-风扇状态感测模块;400-温度传感器;500-BMC;600-风扇连接端。

具体实施方式

[0035] 为使本发明的目的、优点和特征更加清楚,以下结合附图和具体实施例对本发明作进一步详细说明。需说明的是,附图均采用非常简化的形式且未按比例绘制,仅用以方便、明晰地辅助说明本发明实施例的目的。此外,附图所展示的结构往往是实际结构的一部分。特别的,各附图需要展示的侧重点不同,有时会采用不同的比例。
[0036] 如在本说明书和所附权利要求书中所使用的,单数形式“一”、“一个”以及“该”包括复数对象,除非内容另外明确指出外。如在本说明书和所附权利要求中所使用的,术语“或”通常是以包括“和/或”的含义而进行使用的,除非内容另外明确指出外。
[0037] 请参考图3和图4,其分别是本发明一实施例提供的基于CPLD的风扇控制系统的原理框图,其中图3的系统包括一BMC,而图4的系统不具有BMC。所述基于CPLD的风扇控制系统包括一温度传感器400以及一CPLD300。所述温度传感器400用于采集至少一个预定散热位置的温度(如服务器主板或服务器机箱等),所述CPLD300电性连接所述温度传感器400和至少一个风扇(风扇于图中未图示,风扇通过风扇连接端600与CPLD300连接),所述CPLD300用于根据所述温度传感器400所采集的所述温度,控制所述风扇的转速,以调节所述预定散热位置的温度。优选的,所述温度传感器400均通过I2C总线电性连接所述CPLD300。
[0038] 在本发明实施例提供的基于CPLD的风扇控制系统中,不论是否设有BMC,都可以通过CPLD对风扇的转速进行控制,相比现有技术,免除专用芯片和额外IO扩展器的设置,有效地降低了方案物料成本,减小了PCB面积以及PCB设计的复杂性。在设有BMC的系统中,通过CPLD对风扇的转速进行控制还可减轻BMC的负担。此外,CPLD可灵活地扩展多个风扇控制接口,相比现有技术更加方便。
[0039] 下面结合附图,对本发明实施例提供的基于CPLD的风扇控制系统作进一步的解释说明。
[0040] 请参考图4,所述CPLD300包括电性连接的一寄存器310与一风扇控制器320,所述寄存器310用于从所述风扇处获取包括风扇的在位信息(即指风扇是否处于正常状态,若风扇烧坏或风扇的供电掉落等,均视为风扇不在位)在内的一部分运行参数,从所述CPLD300处获取包括风扇的转速在内的另一部分运行参数以及所述温度,并暂存所获取的所有所述运行参数以及所述温度,所述风扇控制器320与所述温度传感器400和所述风扇连接,用于根据所述温度和所述运行参数,控制所述风扇的转速。
[0041] 进一步的,所述风扇控制器320包括一温度读取模块321,一转速计算模块323以及一PWM生成模块324,所述温度读取模块321电性连接所述温度传感器400,用于读取所述温度传感器400所采集的所述温度;所述转速计算模块323电性连接所述温度读取模块321,用于根据所述温度,计算得到一第一转速(即风扇的预定转速);所述PWM生成模块324分别电性连接所述转速计算模块323和所述寄存器310,用于根据所述第一转速以及所述寄存器310中暂存的所述运行参数产生所述风扇控制信号以输出至所述风扇(通过风扇连接端600输出至风扇),这里,风扇控制信号可以是一用于风扇控速的PWM信号。
[0042] 在本发明实施例提供的基于CPLD的风扇控制系统中,CPLD300可作为主控端,通过温度读取模块321,可经由I2C访问温度传感器400并获取温度传感器400所采集的温度,而后温度读取模块321将该温度送入转速计算模块323,该转速计算模块323可根据所述温度,计算得到一第一转速并送入PWM生成模块324,该PWM生成模块324根据第一转速以及寄存器310中暂存的其它运行参数,输出一风扇控制信号以对风扇的转速进行控制。特别的,PWM生成模块324所生成的风扇控制信号,可对风扇实现平滑控速和线性控速,即可根据所述温度传感器400所采集的温度变化,实时改变风扇的转速,以实现预定散热位置的温度合适和保持稳定,同时能够最小化风扇的转速,以降低能耗并延长风扇的寿命。可选的,CPLD中存储有一预设的温度转速表,转速计算模块323可根据温度传感器400所采集的温度在所述预设的温度转速表内查表获得所述第一转速,如此,PWM生成模块324可根据该第一转速对风扇实现分档控速。例如,当温度传感器400所采集的温度(亦即预定散热位置的温度)≤25℃时,风扇控制信号(PWM信号)可选25%;25℃<温度≤30℃时,PWM信号可选30%;30℃<温度≤40℃时,PWM信号可选50%;温度>40℃时,PWM信号可选80%等,将PWM信号根据温度的高低分档,每档设置了默认转速,如此可实现风扇的分档控速。
[0043] 优选的,当所述温度传感器400用于采集多个预定散热位置的温度时,所述风扇控制器320还包括一最大温度判定模块322,所述最大温度判定模块322电性连接在所述温度读取模块321和所述转速计算模块323之间,用于从所述温度读取模块321读取的所有的所述预定散热位置的温度中判定出最大温度;所述转速计算模块323用于根据所述最大温度计算得到第一转速。一般的,服务器中会采用多个风扇对其进行散热,于是温度传感器400可具有多个温度感测头,用于采集多个预定散热位置的温度。而最大温度判定模块322可将该多个预定散热位置的温度进行判断,并判定出最大温度,而风扇控制器320则根据该最大温度对多个风扇进行控速,避免最大温度处的预定散热位置过热而损坏设备。
[0044] 更优选的,所述风扇控制器还包括一风扇转速感测模块325以及一风扇状态感测模块326,所述风扇转速感测模块325电性连接所述风扇(亦可通过风扇连接端600连接风扇),用于感测所述风扇的转速,并将感测到的所述转速存储到所述寄存器310中;所述风扇状态感测模块326分别电性连接所述风扇转速感测模块325和所述寄存器310,用于根据所述风扇转速感测模块325感测到的所述风扇的转速与所述第一转速,判断所述风扇的状态是否正常,将所述风扇的状态信息存储到所述寄存器310中。这里,风扇转速感测模块325获得的所述风扇的转速是该风扇的实际转速,而第一转速是风扇的预设转速,将两者进行比较,若两者的比值在一预设阈值的范围内(如0.8~1.2的范围内,即风扇的实际转速与计算得到的第一转速的误差在±20%的范围内),则风扇状态感测模块326判断风扇处于正常状态。否则为非正常状态,CPLD300可通过对外示警等方式对外输出该非正常状态。当然,在一些具有BMC的系统中,CPLD300还可以将风扇状态感测模块326的判断结果(即风扇的正常与否状态)提供给BMC读取,以便进行进一步的操作。
[0045] 可选的,所述运行参数还包括所述风扇的电源正常信息,所述寄存器310还用于获取所述风扇的电源正常信息,风扇的电源正常信息即表示对风扇供电的电源是否已准备好并连接至风扇。若风扇的电源正常信息表明为不正常,则风扇无法正常运转。该参数的获取和提供,可提高本实施例提供的基于CPLD的风扇控制系统的鲁棒性。
[0046] 请参考图3,其是本发明一实施例提供的基于CPLD的风扇控制系统,其包括一BMC500,所述BMC500用于通过所述CPLD300控制所述风扇的转速,所述CPLD300选择性地用于在所述BMC500的控制下或根据自身控制所述风扇的转速。在具有BMC的系统中,BMC500优选通过I2C总线与CPLD300连接,更优选与寄存器310连接,可通过I2C总线获取寄存器310中所存储的温度传感器400所采集之温度、风扇的转速、风扇控制信号(即PWM生成模块324所输出的PWM信号)、风扇在位信号以及风扇电源正常信号中的一种或多种。所述基于CPLD的风扇控制系统可以根据需要,由CPLD300选择是否由BMC控制风扇的转速或由CPLD300自身对风扇进行控制。当BMC挂死时,CPLD300的风扇控制器320可以接管风扇控制,比现有CPLD或是硬件输出固定的PWM控制风扇做法更灵活,能够支持平滑控速和线性控速,或者分档控速等。而在具有BMC的系统中,也可以由CPLD自身对风扇进行控制,即仅通过CPLD300实现对风扇的控速,BMC通过I2C仅获取风扇的转速或预定散热位置的温度,或者其它运行参数等,如此可以减轻BMC的负担。而且相对现有技术,占用BMC的pin脚资源极少,只需要一组I2C信号接到CPLD即可,有效地降低了系统的物料成本。
[0047] 进一步,当所述CPLD300用于在所述BMC500的控制下控制所述风扇的转速时,所述BMC500用于根据所述温度生成一第二转速;所述CPLD300用于根据所述第二转速生成所述风扇控制信号,输出至所述风扇,以控制所述风扇的转速。如上所述,BMC500可通过访问寄存器310获得风扇运行中的各种参数,如此其亦可根据所述温度生成一第二转速,并将该第二转速送入CPLD300,CPLD300则可选用该第二转速替代自身生成的第一转速,进而输出所述风扇控制信号(PWM信号)以对风扇实现控速。优选的,该第二转速可送入CPLD300的PWM生成模块324,该PWM生成模块324可通过选择第一转速或第二转速,实现在CPLD300自身对风扇控速或者BMC500通过CPLD300对风扇实现控速两种方式之间的切换。当BMC500挂死或发生其它故障时,可实时切换至CPLD300自身对风扇控速,可靠性高。
[0048] 优选的,所述BMC500或CPLD300中可存储有一预设的温度转速表,所述BMC500用于根据温度在所述预设的温度转速表内查表获得所述第二转速,如同上述CPLD300中查表获得第一转速的过程,这里BMC500也可查表获得第二转速,以实现对风扇的分档控速。具体原理请参考上述查表获得第一转速的过程,此处不再赘述。需理解,这里BMC500或CPLD300中存储的预设的温度转速表,可与上述CPLD300用于查表获得第一转速的温度转速表相同,也可以不同。本发明对此不限。
[0049] 本发明实施例还提供一种服务器,其包括至少一个风扇以及如上所述的基于CPLD的风扇控制系统,各个所述风扇连接所述基于CPLD的风扇控制系统的CPLD300,具体可通过风扇连接端600连接至CPLD300。由于所述服务器包括上述的基于CPLD的风扇控制系统,其具有所述基于CPLD的风扇控制系统所具有的有益效果,在此不再赘述。
[0050] 上述描述仅是对本发明较佳实施例的描述,并非对本发明范围的任何限定,本发明领域的普通技术人员根据上述揭示内容做的任何变更、修饰,均属于权利要求书的保护范围。