本发明涉及服务器风扇调节技术领域,特别是一种灵活调节服务器风扇转速的方法。
背景技术:
服务器中往往装载有cpu、网卡、硬盘以及gpu等电子器件,这些器件在运行中不仅消耗着大量的电能,还散发出大量的热能。如果不能及时对服务器系统散热,各种元器件将持续在高温下运行,不仅会影响元器件寿命及系统运行性能,严重时还可能造成元器件的损坏,带来不必要的经济损失。
目前服务器中多采用风扇进行散热,在不同的系统环境中风扇需要有不同的转速。一般的,风扇转速的调节是基于输入的pwm信号。pmw(pulsewidthmodulation),即脉冲宽度调制,一个pwm信号完整时间周期t1由高电平持续时间t2和低电平持续时间t3组成,即t1=t2 t3,高电平所占pwm时间周期的比率叫做占空比,通过对pwm信号占空比的调整,即可实现不同的风扇转速调控。
现有技术中,多采用cpld和bmc相结合的方式进行软件层面的调控,当服务器系统刚开机时,cpld工作而bmc芯片还没起作用时,通过cpld发出预设pwm信号给到风扇,保证风扇的运行,此时风扇转速不可调,只能以cpld里相关代码定义的转速运行。bmc可以正常运行后,由bmc控制风扇控制器输出pwm信号实现对风扇转速的控制,其原理基于bmc开发完成的关于风扇控制的相关代码及系统内各节点温度传感器的温感反馈进行自动调节,或者可以通过bmcweb界面手动进行风扇不同转速的调节。
但由此可导致的问题如下:
相关代码未开发完成时,无法进行转速控制,风扇将处于较高或满转状态,增加了系统功耗,产生巨大的噪音;
相关代码开发完成后,当想要根据实际情况手动调节风扇转速时,需要使用一台计算机及网线远程登入bmcweb界面进行调节。当某些时候,想要手动去干预风扇转速,手边又没有相应工具时,就没法实现对风扇转速的控制,有一定的制约性;
由于调节依赖cpld、bmc等芯片的内部相关代码运行,当系统发生某些错误使得cpld或bmc处于宕机或不正常运行时,风扇只能长时间以高转速运行,无法进行有效调节,势必会造成不必要的功耗增加及噪音污染。
技术实现要素:
本发明的目的是提供一种灵活调节服务器风扇转速的方法,旨在解决现有技术中服务器风扇转速控制不够灵活,在部分应用场景中存在缺陷的问题,实现方便快捷的对风扇转速的控制,分担代码开发压力,根据使用情况降低风扇噪声,节省功耗,保证系统运行稳定。
为达到上述技术目的,本发明提供了一种灵活调节服务器风扇转速的方法,所述方法包括以下操作:
在风扇控制电路中根据拨码开关不同通道的导通,对风扇的pwm转速控制信号在服务器自身控制模块以及人工控制模块之间进行切换;
在人工控制模块切入后,按照初始化参数进行风扇转速控制,根据一个pwm周期内高电平的持续时间,依次判定每个时间基准刻度下的电平状态,产生不同宽度的pwm信号,完成一个完整的pwm脉冲输出,并对按键按压信号进行监测;
当按压按键一次时,所述一个pwm周期内高电平的持续时间减小,并依次判定每个时间基准刻度下的电平状态,完成一个完整的pwm脉冲输出,完成风扇转速减速;
当连续按压按键两次时,所述一个pwm周期内高电平的持续时间增大,并依次判定每个时间基准刻度下的电平状态,完成一个完整的pwm脉冲输出,完成风扇转速加速。
优选地,所述风扇控制电路包括bmc、cpld、风扇控制器、选择器、人工控制模块以及拨码开关,其电路结构如下:
bmc通过i2c连接风扇控制器,风扇控制器输出bmc_pwm信号至选择器b0引脚,cpld输出cpld_pwm信号至选择器b1引脚,并输出mux_sel信号至选择器的s引脚,选择器a引脚连接拨码开关的1、2通道,人工控制模块输出m_pwm信号至拨码开关,拨码开关还连接连接风扇。
优选地,所述拨码开关1、2通道导通,3、4通道关闭,依靠服务器自身控制模块控制风扇转速;拨码开关1、2通道关闭,3、4通道导通,通过人工控制模块控制风扇转速。
优选地,所述服务器自身控制模块包括bmc和cpld,cpld首先工作,bmc还未开始工作时,cpld发出低电平的mux_sel信号传送至选择器s管脚,此时选择器的a管脚与b1管脚接通,选择器输出给风扇的fan_pwm信号即为cpld发出的cpld_pwm信号;当服务器开始工作时,cpld发出高电平的mux_sel信号传送至选择器s管脚,此时选择器的a管脚与b0管脚接通,选择器输出给风扇的fan_pwm信号即为bmc发出的bmc_pwm信号。
优选地,所述人工控制模块包括按键输入单元、逻辑控制单元、寄存器以及定时器/输出单元,所述按键输入单元通过不同的按压按键操作,输入信号给逻辑控制单元进行数据处理,来判断用户是否要进行风扇转速的加速或者减速操作;所述逻辑控制单元用于输入信号的处理,寄存器初始值的读取以及逻辑运算;所述寄存器用于负责存储变量初始值;所述定时器/输出单元用于pwm信号基准时间刻度产生及pwm信号连续输出。
优选地,所述参数包括:
t为时间轴基准刻度;t1为一个pwm周期的时间;t2为一个pwm周期高电平的持续时间;n1为一个pwm周期的时间内的基准刻度,n1=t1/t;n2为一个pwm周期高电平的持续时间内的基准刻度,n2=t2/t;
优选地,所述风扇转速控制流程如下:
n=0,n1=t1/t=4,n2=t2/t=3
此时n满足n<n2且n<n1,输出以1ns为基准时间刻度的高电平;n进行至下一时间刻度时,n=n 1=1,此时n满足n<n2且n<n1,输出以1ns为基准时间刻度的高电平;n进行至下一时间刻度时,n=n 1=2,此时n满足n<n2且n<n1,输出以1ns为基准时间刻度的高电平;n进行至下一时间刻度时,n=n 1=3,此时n不满足n<n2且n<n1,但满足n>=n2且n<n1,输出以1ns为基准时间刻度的低电平;n进行至下一时间刻度时,n=n 1=4,此时n不满足n<n2且n<n1,也不满足n>n2且n<n1;此时完成一个完整的pwm脉冲输出。
优选地,所述按键按压一次时,t2=t2-1=3-1=2,n=0,n1=t1/t=4,n2=t2/t=2;
此时n满足n<n2且n<n1,输出以1ns为基准时间刻度的高电平;n进行至下一时间刻度时,n=n 1=1,此时n满足n<n2且n<n1,输出以1ns为基准时间刻度的高电平;n进行至下一时间刻度时,n=n 1=2,此时n不满足n<n2且n<n1,但满足n>=n2且n<n1,输出以1ns为基准时间刻度的低电平;n进行至下一时间刻度时,n=n 1=3,此时n满足n>=n2且n<n1,输出以1ns为基准时间刻度的低电平;n进行至下一时间刻度时,n=n 1=4,此时n不满足n<n2且n<n1,也不满足n>n2且n<n1;此时完成一个完整的pwm脉冲输出。
优选地,所述按键连续按压两次时,t2=t2 1=3 1=4,n=0,n1=t1/t=4,n2=t2/t=4;
此时n满足n<n2且n<n1,输出以1ns为基准时间刻度的高电平;n进行至下一时间刻度时,n=n 1=1,此时n满足n<n2且n<n1,输出以1ns为基准时间刻度的高电平;n进行至下一时间刻度时,n=n 1=2,此时n满足n<n2且n<n1,输出以1ns为基准时间刻度的高电平;n进行至下一时间刻度时,n=n 1=3,此时n满足n<n2且n<n1,输出以1ns为基准时间刻度的低电平;n进行至下一时间刻度时,n=n 1=4,此时n不满足n<n2且n<n1,也不满足n>n2且n<n1;此时完成一个完整的pwm脉冲输出。
发明内容中提供的效果仅仅是实施例的效果,而不是发明所有的全部效果,上述技术方案中的一个技术方案具有如下优点或有益效果:
与现有技术相比,本发明通过将拨码开关实现在服务器自身控制以及人工控制之间进行切换,通过人工控制的设计以及手动调节风扇转速流程的引入,可实现对风扇转速的即时调控,无需额外进行大量代码开发以及准备调试工具,可在bmc及cpld出现故障时,或相关固件开发不够完善时,或者在没有相关调试工具时,方便快捷的实现对风扇转速的控制,分担代码开发压力,根据使用情况降低风扇噪声,节省功耗,保证系统运行稳定。
附图说明
图1为本发明实施例中所提供的一种灵活调节服务器风扇转速的方法流程图;
图2为本发明实施例中所提供的一种风扇控制电路结构示意图。
具体实施方式
为了能清楚说明本方案的技术特点,下面通过具体实施方式,并结合其附图,对本发明进行详细阐述。下文的公开提供了许多不同的实施例或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。此外,本发明可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。应当注意,在附图中所图示的部件不一定按比例绘制。本发明省略了对公知组件和处理技术及工艺的描述以避免不必要地限制本发明。
下面结合附图对本发明实施例所提供的一种灵活调节服务器风扇转速的方法进行详细说明。
如图1所示,本发明公开了一种灵活调节服务器风扇转速的方法,所述方法包括以下操作:
根据拨码开关不同通道的导通,对风扇的pwm转速控制信号在服务器自身控制模块以及人工控制模块之间进行切换;
在人工控制模块切入后,按照初始化参数进行风扇转速控制,根据一个pwm周期内高电平的持续时间,依次判定每个时间基准刻度下的电平状态,产生不同宽度的pwm信号,完成一个完整的pwm脉冲输出,并对按键按压信号进行监测;
当按压按键一次时,所述一个pwm周期内高电平的持续时间减小,并依次判定每个时间基准刻度下的电平状态,完成一个完整的pwm脉冲输出,完成风扇转速减速;
当按压按键两次时,所述一个pwm周期内高电平的持续时间增大,并依次判定每个时间基准刻度下的电平状态,完成一个完整的pwm脉冲输出,完成风扇转速加速。
本发明实施例中所用电路包括bmc、cpld、风扇控制器、选择器、人工控制模块以及拨码开关,其电路结构如图2所示:
bmc通过i2c连接风扇控制器,风扇控制器输出bmc_pwm信号至选择器b0引脚,cpld输出cpld_pwm信号至选择器b1引脚,并输出mux_sel信号至选择器的s引脚,选择器a引脚连接拨码开关的1、2通道,人工控制模块输出m_pwm信号至拨码开关,拨码开关还连接连接风扇。
本发明实施例中可选择依靠服务器自身控制调节风扇转速或是通过人工控制模块进行手动调节风扇转速,控制器的选择依靠拨码开关完成。当拨码开关的1、2通道导通时,为通过服务器自身控制调节风扇转速;当拨码开关的3、4通道导通时,为通过人工控制模块进行手动调节风扇转速。
当服务器开始运行时,cpld首先工作,bmc还未开始工作时,cpld发出低电平的mux_sel信号传送至选择器s管脚,此时选择器的a管脚与b1管脚接通,选择器输出给风扇的fan_pwm信号即为cpld发出的cpld_pwm信号,此时风扇按照cpld固件内的规定转速保持旋转。
当服务器开始工作时,cpld发出高电平的mux_sel信号传送至选择器s管脚,此时选择器的a管脚与b0管脚接通,选择器输出给风扇的fan_pwm信号即为bmc发出的bmc_pwm信号,此时风扇转速由bmc控制风扇控制器发出相应的pwm信号进行调节。
在需要手动干预时,将拨码开关1、2通道关闭,3、4通道导通,此时bmc、cpld发出的pwm信号将不再传递给风扇,人工控制模块发出的pwm信号m_pwm将传递给风扇,进行风扇转速的手动调控。
所述人工控制模块包括按键输入单元、逻辑控制单元、寄存器以及定时器/输出单元,所述按键输入单元通过不同的按压按键操作,输入信号给逻辑控制单元进行数据处理,来判断用户是否要进行风扇转速的加速或者减速操作;所述逻辑控制单元用于输入信号的处理,寄存器初始值的读取以及逻辑运算;所述寄存器用于负责存储变量初始值;所述定时器/输出单元用于pwm信号基准时间刻度产生及pwm信号连续输出。
当拨码开关1、2通道关闭,3、4通道导通,进入人工控制。
在下述流程中,对出现的参数进行必要说明:
t为时间轴基准刻度,高低电平将以此逐个发出,并由若干个时间基准刻度组成;
n为一段时间内的时间基准;
t1为一个pwm周期的时间;
n1为一个pwm周期的时间内的基准刻度,n1=t1/t;
t2为一个pwm周期高电平的持续时间;
n2为一个pwm周期高电平的持续时间内的基准刻度,n2=t2/t;
对各个参数初始化,t为1ns,t1为4ns,t2为3ns,初始高电平占空比为3/4=75%,调节后高电平占空比为2/4=50%。
在本发明实施例中,通过按压按键来改变n2,以此来改变t2的大小从而调整高电平持续时间,产生不同宽度的pwm信号,进而实现对风扇的人工即时调控。在需要减速时,只需按压按键一次;在需要加速时,需按压按键两次。
定时器初始化,逻辑处理单元从寄存器读取t2给定时器,t2为初始值。监测是否有按键变化,此时若无按键,则按照下述流程进行,依初始设定值持续输出高电平占空比为75%的pwm脉冲:
n=0,n1=t1/t=4,n2=t2/t=3
此时n满足n<n2且n<n1,输出以1ns为基准时间刻度的高电平;n进行至下一时间刻度时,n=n 1=1,此时n满足n<n2且n<n1,输出以1ns为基准时间刻度的高电平;n进行至下一时间刻度时,n=n 1=2,此时n满足n<n2且n<n1,输出以1ns为基准时间刻度的高电平;n进行至下一时间刻度时,n=n 1=3,此时n不满足n<n2且n<n1,但满足n>=n2且n<n1,输出以1ns为基准时间刻度的低电平;n进行至下一时间刻度时,n=n 1=4,此时n不满足n<n2且n<n1,也不满足n>n2且n<n1;此时完成一个完整的pwm脉冲输出。此时进行有无按键检测,若无按键发生,则持续以上流程,持续输出pwm脉冲,直到有按键发生,即人工对风扇转速进行调节。
若监测到有一次按键,则按照下述流程进行:
t2=t2-1=3-1=2
n=0,n1=t1/t=4,n2=t2/t=2
此时n满足n<n2且n<n1,输出以1ns为基准时间刻度的高电平;n进行至下一时间刻度时,n=n 1=1,此时n满足n<n2且n<n1,输出以1ns为基准时间刻度的高电平;n进行至下一时间刻度时,n=n 1=2,此时n不满足n<n2且n<n1,但满足n>=n2且n<n1,输出以1ns为基准时间刻度的低电平;n进行至下一时间刻度时,n=n 1=3,此时n满足n>=n2且n<n1,输出以1ns为基准时间刻度的低电平;n进行至下一时间刻度时,n=n 1=4,此时n不满足n<n2且n<n1,也不满足n>n2且n<n1;此时完成一个完整的pwm脉冲输出。最终输出两次以1ns为基准时间刻度的高电平,即高电平为2ns的pwm脉冲,占空比为50%,相比原占空比75%的pwm脉冲达到了减速效果。
若监测到按键连续按压两次,则按照以下流程进行:
t2=t2 1=3 1=4
n=0,n1=t1/t=4,n2=t2/t=4
此时n满足n<n2且n<n1,输出以1ns为基准时间刻度的高电平;n进行至下一时间刻度时,n=n 1=1,此时n满足n<n2且n<n1,输出以1ns为基准时间刻度的高电平;n进行至下一时间刻度时,n=n 1=2,此时n满足n<n2且n<n1,输出以1ns为基准时间刻度的高电平;n进行至下一时间刻度时,n=n 1=3,此时n满足n<n2且n<n1,输出以1ns为基准时间刻度的低电平;n进行至下一时间刻度时,n=n 1=4,此时n不满足n<n2且n<n1,也不满足n>n2且n<n1;此时完成一个完整的pwm脉冲输出。最终输出四次以1ns为基准时间刻度的高电平,即高电平为4ns的pwm脉冲,占空比为100%,相比原占空比75%的pwm脉冲达到了加速效果。
本发明实施例通过将拨码开关实现在服务器自身控制以及人工控制之间进行切换,通过人工控制的设计以及手动调节风扇转速流程的引入,可实现对风扇转速的即时调控,无需额外进行大量代码开发以及准备调试工具,可在bmc及cpld出现故障时,或相关固件开发不够完善时,或者在没有相关调试工具时,方便快捷的实现对风扇转速的控制,分担代码开发压力,根据使用情况降低风扇噪声,节省功耗,保证系统运行稳定。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
1.一种灵活调节服务器风扇转速的方法,其特征在于,所述方法包括以下操作:
在风扇控制电路中根据拨码开关不同通道的导通,对风扇的pwm转速控制信号在服务器自身控制模块以及人工控制模块之间进行切换;
在人工控制模块切入后,按照初始化参数进行风扇转速控制,根据一个pwm周期内高电平的持续时间,依次判定每个时间基准刻度下的电平状态,产生不同宽度的pwm信号,完成一个完整的pwm脉冲输出,并对按键按压信号进行监测;
当按压按键一次时,所述一个pwm周期内高电平的持续时间减小,并依次判定每个时间基准刻度下的电平状态,完成一个完整的pwm脉冲输出,完成风扇转速减速;
当连续按压按键两次时,所述一个pwm周期内高电平的持续时间增大,并依次判定每个时间基准刻度下的电平状态,完成一个完整的pwm脉冲输出,完成风扇转速加速。
2.根据权利要求1所述的一种灵活调节服务器风扇转速的方法,其特征在于,所述风扇控制电路包括bmc、cpld、风扇控制器、选择器、人工控制模块以及拨码开关,其电路结构如下:
bmc通过i2c连接风扇控制器,风扇控制器输出bmc_pwm信号至选择器b0引脚,cpld输出cpld_pwm信号至选择器b1引脚,并输出mux_sel信号至选择器的s引脚,选择器a引脚连接拨码开关的1、2通道,人工控制模块输出m_pwm信号至拨码开关,拨码开关还连接连接风扇。
3.根据权利要求2所述的一种灵活调节服务器风扇转速的方法,其特征在于,所述拨码开关1、2通道导通,3、4通道关闭,依靠服务器自身控制模块控制风扇转速;拨码开关1、2通道关闭,3、4通道导通,通过人工控制模块控制风扇转速。
4.根据权利要求2所述的一种灵活调节服务器风扇转速的方法,其特征在于,所述服务器自身控制模块包括bmc和cpld,cpld首先工作,bmc还未开始工作时,cpld发出低电平的mux_sel信号传送至选择器s管脚,此时选择器的a管脚与b1管脚接通,选择器输出给风扇的fan_pwm信号即为cpld发出的cpld_pwm信号;当服务器开始工作时,cpld发出高电平的mux_sel信号传送至选择器s管脚,此时选择器的a管脚与b0管脚接通,选择器输出给风扇的fan_pwm信号即为bmc发出的bmc_pwm信号。
5.根据权利要求1所述的一种灵活调节服务器风扇转速的方法,其特征在于,所述人工控制模块包括按键输入单元、逻辑控制单元、寄存器以及定时器/输出单元,所述按键输入单元通过不同的按压按键操作,输入信号给逻辑控制单元进行数据处理,来判断用户是否要进行风扇转速的加速或者减速操作;所述逻辑控制单元用于输入信号的处理,寄存器初始值的读取以及逻辑运算;所述寄存器用于负责存储变量初始值;所述定时器/输出单元用于pwm信号基准时间刻度产生及pwm信号连续输出。
6.根据权利要求1所述的一种灵活调节服务器风扇转速的方法,其特征在于,所述参数包括:
t为时间轴基准刻度;t1为一个pwm周期的时间;t2为一个pwm周期高电平的持续时间;n1为一个pwm周期的时间内的基准刻度,n1=t1/t;n2为一个pwm周期高电平的持续时间内的基准刻度,n2=t2/t;
7.根据权利要求6所述的一种灵活调节服务器风扇转速的方法,其特征在于,所述风扇转速控制流程如下:
n=0,n1=t1/t=4,n2=t2/t=3
此时n满足n<n2且n<n1,输出以1ns为基准时间刻度的高电平;n进行至下一时间刻度时,n=n 1=1,此时n满足n<n2且n<n1,输出以1ns为基准时间刻度的高电平;n进行至下一时间刻度时,n=n 1=2,此时n满足n<n2且n<n1,输出以1ns为基准时间刻度的高电平;n进行至下一时间刻度时,n=n 1=3,此时n不满足n<n2且n<n1,但满足n>=n2且n<n1,输出以1ns为基准时间刻度的低电平;n进行至下一时间刻度时,n=n 1=4,此时n不满足n<n2且n<n1,也不满足n>n2且n<n1;此时完成一个完整的pwm脉冲输出。
8.根据权利要求6所述的一种灵活调节服务器风扇转速的方法,其特征在于,所述按键按压一次时,t2=t2-1=3-1=2,n=0,n1=t1/t=4,n2=t2/t=2;
此时n满足n<n2且n<n1,输出以1ns为基准时间刻度的高电平;n进行至下一时间刻度时,n=n 1=1,此时n满足n<n2且n<n1,输出以1ns为基准时间刻度的高电平;n进行至下一时间刻度时,n=n 1=2,此时n不满足n<n2且n<n1,但满足n>=n2且n<n1,输出以1ns为基准时间刻度的低电平;n进行至下一时间刻度时,n=n 1=3,此时n满足n>=n2且n<n1,输出以1ns为基准时间刻度的低电平;n进行至下一时间刻度时,n=n 1=4,此时n不满足n<n2且n<n1,也不满足n>n2且n<n1;此时完成一个完整的pwm脉冲输出。
9.根据权利要求6所述的一种灵活调节服务器风扇转速的方法,其特征在于,所述按键连续按压两次时,t2=t2 1=3 1=4,n=0,n1=t1/t=4,n2=t2/t=4;
此时n满足n<n2且n<n1,输出以1ns为基准时间刻度的高电平;n进行至下一时间刻度时,n=n 1=1,此时n满足n<n2且n<n1,输出以1ns为基准时间刻度的高电平;n进行至下一时间刻度时,n=n 1=2,此时n满足n<n2且n<n1,输出以1ns为基准时间刻度的高电平;n进行至下一时间刻度时,n=n 1=3,此时n满足n<n2且n<n1,输出以1ns为基准时间刻度的低电平;n进行至下一时间刻度时,n=n 1=4,此时n不满足n<n2且n<n1,也不满足n>n2且n<n1;此时完成一个完整的pwm脉冲输出。
技术总结