一种基于CPLD‑FPGA的服务器风扇旋转控制方法技术

技术编号:17774876 阅读:17 留言:0更新日期:2018-04-22 02:15
本申请发明专利技术一种基于CPLD‑FPGA的服务器风扇旋转控制方法,该控制方法具体包括BMC未正常运行时风扇分时全速启动模块,BMC正常运行时风扇转速控制模块和CPLD‑FPGA输出选择模块,使用CPLD‑FPGA接替BMC的控制权,由CPLD‑FPGA经过逻辑判断后控制风扇模组旋转,该方法使散热方案具有更大的控制灵活性、OCP安全性与集成性等优点,控制方式简单易行,散热控制效率得到极大提高。

【技术实现步骤摘要】
一种基于CPLD-FPGA的服务器风扇旋转控制方法
本专利技术涉及服务器风扇控制领域,具体涉及一种基于CPLD-FPGA的服务器风扇旋转控制方法。
技术介绍
CPLD(ComplexProgrammableLogicDevice,复杂可编程逻辑器件)/FPGA(FieldProgrammableGATEArray,现场可编程门阵列)是一款半定制的专用集成电路,具有可编程、可擦除、易于验证、集成度高及硬件资源丰富等系列优点,在前期开发验证及应用控制领域得到越来越广泛的应用。基于上述优点,通过CPLD-FPGA实现底层电路设计进而实现逻辑控制得到越来越广泛应用。在服务器系统中,通常通过CPLD-FPGA芯片控制整个服务器的上、下电时序控制,以及LED指示控制、通信控制、按键检测控制、掉电检测及风扇控制等等,风扇设计是整个散热系统设计的关键,因为风扇控制的策略好坏对整个系统散热优劣产生至关重要影响。在传统设计中是通过BMC(BaseboardManagementController,基板管理控制器)实现风扇的检测以及控制,但是BMC启动至正常运行需要一定时间:在BMC正常工作以前,风扇模组全速运转,由于服务器刚启动时并不会产生太多热量,所以此时所有风扇模组全速旋转是没有必要的;BMC正常工作以后,由BMC输出的PWM控制风扇转速,在BMC正常工作时,由可编程芯片CPLD或FPGA检测WatchDog信号,WatchDog信号正常是为方波信号,当BMC故障使WatchDog信号为恒定电平时,此时CPLD或FPGA接受控制权使风扇全速旋转。以上控制策略存在的主要问题为:风扇模组刚上启动上电时,由于全部风扇模组要全速旋转,此时会产生很大的启动浪涌电流,此时往往会超出OCP(OverCurrentProtection,过流保护)上限值,导致过流保护,从而使服务器不能启动运行;但服务器正常运行时,风扇电流会小于OCP过流保护值。传统控制中,是通过增大OCP来防止过流保护,但这会降低OCP过流保护的价值,即便使发生OCP,也需要更长的保护时间;由BMC输出的PWM(PulseWidthModulation,脉冲宽度调制)直接控制风扇转速,这就要求BMC输出的PWM与风扇模组实际需要的PWM信号对应,这对硬件电路对应性提出一定要求,导致设计不够灵活;在BMC正常运行时,由BMC直接控制风扇模组,CPLD或FPGA检测到BMC出现故障时,接替控制权,输出控制信号使风扇全速旋转,集成度问题也使得风扇转速控制过于复杂。针对上述问题,本申请专利技术一种基于CPLD-FPGA的服务器风扇旋转控制方法,该方法使用CPLD-FPGA接替BMC的控制权,由CPLD-FPGA经过逻辑判断后控制风扇模组旋转,该方法使散热方案具有更大的控制灵活性、OCP安全性与集成性等优点,控制方式简单易行,散热控制效率得到极大提高。本专利技术所述的控制方法还有效避免了BMC初始化未完成时,所有风扇模组全速运转造成的启动浪涌电流过大,从而导致的OCP过流保护问题;同时本专利技术集成到CPLD-FPGA芯片中统一控制,避免了硬件电路中BMC输出PWM与各个风扇模组输入PWM线路匹配问题,使控制更加条理、灵活;本专利技术采用模块化实现风扇模组旋转控制,增加了控制方法的移植性。
技术实现思路
本专利技术所述的基于CPLD-FPGA的服务器风扇旋转控制方法使用CPLD-FPGA接替BMC的控制权、BMC初始化完成信号、PWM控制信号及WatchDog统一作为CPLD-FPGA的输入信号,由CPLD-FPGA经过逻辑判断后控制风扇模组旋转,由于CPLD-FPGA的可编程等特性,该方法使散热方案具有更大的控制灵活性、OCP安全性与集成性等。本专利技术所述的方法包括:1、在CPLD-FPGA检测到BMC正常运行之前,CPLD-FPGA控制风扇模组分时全速启动,各个风扇模组全速启动之间有一定可编程的时间间隔,这样在很大程度上减小了启动浪涌电流的峰值,从而防止了由OCP导致的服务器不能启动的问题;2、CPLD-FPGA检测到BMC正常运行时,由从BMC接收到的PWM信号作为CPLD-FPGA控制依据,由硬件电路来决定是直接将BMC接收到的PWM信号作为CPLD-FPGA控制信号,还是将BMC接收到的PWM信号取反后作为CPLD-FPGA控制信号,这种通过CPLD-FPGA逻辑判断后控制风扇模组转速具有更大的灵活性;3、CPLD-FPGA检测到BMC故障时,CPLD-FPGA输出控制信号使风扇模组全速旋转,此时由于风扇模组电流不是从无到有突变,因此,不会发生OCP过流保护。4、为增加代码的移植能力,整个基于CPLD-FPGA的服务器风扇旋模组转控制模块采用模块化设计方案,模块结构示意图如附图1所示。在附图1所示的风扇转速控制结构示意图中,“clk_1”、“clk_2”是时钟,分别为快慢两个时钟用于WatchDog信号的上升沿扫描和信号采集;“rst”是复位信号,复位CPLD-FPGA相关控制信号和寄存器的初始状态;“BMC_WTD”是由BMC输入CPLD-FPGA的WatchDog信号,BMC正常运行时该信号为方波信号,否则该信号为固定电平信号;“BMC_INIT”是BMC初始化完成信号,当BMC正常工作以后该信号为低电平,否则该信号为高电平;“FAN_pwrgd”是风扇模组电源有效信号,当该信号有效为高电平时,指示风扇模组电源已经稳定;“fan0_pwrgd……fan(n-1)_pwrgd”是第n个风扇电源有效控制信号,在分时启动与正常运行时,均已将此信号作为风扇模组旋转有效信号,只有当这些信号有效为高电平时,对应的风扇模组才会旋转,因此,这些信号有效的时间分先后,之后一直有效;“BMC_fan0_PWM……BMC_fan(n-1)_PWM”指示由BMC输入到CPLD-FPGA的风扇模组的控制信号,这些信号根据实际情况在CPLD-FPGA内部进行直接赋值或取反赋值;“CPLD_fan0_PWM……CPLD_fan(n-1)_PWM”是CPLD-FPGA输出到风扇模组的控制信号,对应到风扇模组的PWM输入端。具体工作流程是:当“BMC_INIT”无效时,附图1中的“BMC未正常运行时风扇分时全速启动模块”根据各个风扇模组对应的电源有效信号进行分时全速启动,各个风扇模组根据输出PWM进行分时全速启动,分时全速启动的时间间隔是可以调节的,由项目需求决定;当“BMC有效时”,附图1中的“BMC正常运行时风扇转速控制模块”根据由BMC输入的PWM进行各个风扇模组转速控制;在BMC正常运行过程中,如果通过WatchDog信号检测到BMC发生故障,此时会强制各个风扇模组全速运转。具体地,本申请请求保护一种基于CPLD-FPGA的服务器风扇旋转控制方法,其特征在于,该方法具体包括三个模块:BMC未正常运行时风扇分时全速启动模块,用于当BMC初始化未完成未能正常工作时,控制风扇根据各个风扇模组对应的电源有效信号进行分时全速启动;BMC正常运行时风扇转速控制模块,用于当BMC有效时,根据由BMC输入的PWM进行各个风扇模组转速控制,如果通过WatchDog信号检测到BMC发生故障,强制各个风扇模组全速运转;CPL本文档来自技高网
...
一种<a href="http://www.xjishu.com/zhuanli/49/201711393154.html" title="一种基于CPLD‑FPGA的服务器风扇旋转控制方法原文来自X技术">基于CPLD‑FPGA的服务器风扇旋转控制方法</a>

【技术保护点】
一种基于CPLD‑FPGA的服务器风扇旋转控制方法,其特征在于,该方法具体包括三个模块:BMC未正常运行时风扇分时全速启动模块,用于当BMC初始化未完成未能正常工作时,控制风扇根据各个风扇模组对应的电源有效信号进行分时全速启动;BMC正常运行时风扇转速控制模块,用于当BMC有效时,根据由BMC输入的PWM进行各个风扇模组转速控制,如果通过Watch Dog信号检测到BMC发生故障,强制各个风扇模组全速运转;CPLD‑FPGA输出选择模块,用于在检测到BMC正常运行时,依据从BMC接收到的PWM信号决定是直接将BMC接收到的PWM信号作为CPLD‑FPGA控制信号,还是将BMC接收到的PWM信号取反后作为CPLD‑FPGA控制信号;当“BMC_INIT”无效时,BMC未正常运行时风扇分时全速启动模块根据各个风扇模组对应的电源有效信号进行分时全速启动,各个风扇模组根据输出PWM进行分时全速启动;当BMC有效时,BMC正常运行时风扇转速控制模块根据由BMC输入的PWM进行各个风扇模组转速控制;在BMC正常运行过程中,如果通过Watch Dog信号检测到BMC发生故障,此时会强制各个风扇模组全速运转。...

【技术特征摘要】
1.一种基于CPLD-FPGA的服务器风扇旋转控制方法,其特征在于,该方法具体包括三个模块:BMC未正常运行时风扇分时全速启动模块,用于当BMC初始化未完成未能正常工作时,控制风扇根据各个风扇模组对应的电源有效信号进行分时全速启动;BMC正常运行时风扇转速控制模块,用于当BMC有效时,根据由BMC输入的PWM进行各个风扇模组转速控制,如果通过WatchDog信号检测到BMC发生故障,强制各个风扇模组全速运转;CPLD-FPGA输出选择模块,用于在检测到BMC正常运行时,依据从BMC接收到的PWM信号决定是直接将BMC接收到的PWM信号作为CPLD-FPGA控制信号,还是将BMC接收到的PWM信号取反后作为CPLD-FPGA控制信号;当“BMC_INIT”无效时,BMC未正常运行时风扇分时全速启动模块根...

【专利技术属性】
技术研发人员:季冬冬
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南,41

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1