本发明实施例涉及通信,特别是涉及一种风扇及其运行方法、一种电子设备以及一种计算机可读存储介质。
背景技术:
1、目前,服务器结构紧凑且发热量大,内部有多个散热风扇进行主动散热,风扇的稳定工作对服务器的正常运行至关重要,常见的服务器散热风扇由主板12v电源供电,并通过主板上的bmc(baseboard management controller 基板管理控制器)或cpld(complexprogrammable logic device 可编程逻辑器件)进行调速控制和转速读取。
2、随着服务器管理系统的不断升级,对服务器运行状态的监测不断细化,但目前使用的服务器散热风扇大多只有转速信息的反馈,通常是上位端通过tach(tachometer 转速计)信号以获取风扇的转速信息,因此,只能通过转速间接判断风扇的工作状态,无法满足服务器越来越精细的运行状态监测需求。另外,部分风扇通过增加信号线的方式来指示风扇运行状态,例如增加“故障信号”用于指示风扇工作是否有异常,增加“调速完成信号”用于指示风扇转速达到设定值。但是增加信号线需要改变现有硬件接口,无法与现有系统兼容。
技术实现思路
1、本发明实施例是提供一种风扇及其运行方法、电子设备以及计算机可读存储介质,以解决现有技术中只能通过转速间接判断风扇的工作状态,无法满足服务器越来越精细的运行状态监测需求,且改变现有硬件接口,无法与现有系统兼容的问题。
2、本发明实施例公开了一种风扇,包括驱动电路、控制器和电机,所述驱动电路驱动所述电机的转子转动,所述控制器与上位端连接,所述控制器和所述上位端设置有风扇管理总线控制协议,所述风扇管理总线控制协议设置有工作模式,所述工作模式包括pwm控制模式和命令控制模式;
3、当所述控制器和所述上位端的工作模式为所述pwm控制模式时,通过所述上位端向所述控制器发送的pwm信号以控制所述转子的转子转速,并且,通过所述控制器向所述上位端输出的tach信号以反馈所述控制器对应的所述转子的转子转速;
4、当所述控制器和所述上位端的工作模式为所述命令控制模式时,通过所述上位端向所述控制器发送的clk信号和dat信号,以使所述控制器执行所述clk信号和所述dat信号形成的控制命令。
5、可选地,包括:
6、所述上位端通过pwm/clk信号线接入所述控制器的pwm输入检测接口和双线串行通信的clk接口,并且,所述上位端通过tach/dat信号线接入所述控制器的tach信号输出接口和双线串行通信的dat接口。
7、可选地,包括:
8、当所述控制器和所述上位端的工作模式为所述pwm控制模式时,通过所述控制器的pwm输入检测接口接收所述上位端通过所述pwm/clk信号线发送的pwm信号,以使所述控制器根据所述pwm信号控制所述转子的转子转速,并通过所述控制器的tach信号输出接口向所述上位端的tach/dat信号线输出tach信号,以向所述上位端反馈所述控制器对应的所述转子的转子转速;
9、当所述控制器和所述上位端的工作模式为所述命令控制模式时,所述控制器通过所述控制器的双线串行通信的clk接口接收所述上位端通过所述pwm/clk信号线发送的clk信号,以及,所述控制器通过所述控制器的双线串行通信的dat接口接收所述上位端通过所述tach/dat信号线发送的dat信号,以使所述控制器执行所述clk信号和所述dat信号形成的控制命令。
10、可选地,所述控制器用于根据所述转子的转子位置和采样信号,生成所述电机的驱动信号,以根据所述驱动信号控制所述驱动电路驱动所述电机转动所述转子;其中,所述采样信号至少为电压和/或电流信号。
11、可选地,所述pwm信号包含pwm信号占空比,所述pwm信号占空比用于控制所述转子的转子转速。
12、可选地,所述通过所述上位端向所述控制器发送的pwm信号以控制所述转子的转子转速,包括:
13、当所述控制器和所述上位端的工作模式为所述pwm控制模式时,所述上位端向所述控制器发送pwm信号;
14、根据所述pwm信号中的pwm信号占空比,控制所述控制器对应的转子的转子转速。
15、可选地,所述通过所述控制器向所述上位端输出的tach信号以反馈所述控制器对应的所述转子的转子转速,包括:
16、当所述控制器和所述上位端的工作模式为所述pwm控制模式时,所述控制器向所述上位端发送tach信号;
17、测量所述tach信号的tach信号频率,得到所述转子的转子转速。
18、可选地,包括:
19、当所述控制器和所述上位端的工作模式为所述pwm控制模式时,在预设单位时间内,所述上位端向所述控制器发送pwm信号;其中,多个pwm信号中的pwm信号占空比构成pwm信号占空比序列;
20、所述控制器监听所述pwm信号占空比序列是否为第一预设pwm信号占空比序列;
21、若所述pwm信号占空比序列是第一预设pwm信号占空比序列,则确定所述pwm信号包含握手信息;
22、所述控制器针对所述握手信息向所述上位端返回应答信息;其中,所述应答信息包含验证信息,所述验证信息用于验证所述应答信息是否正确;
23、若验证所述应答信息为正确,则所述上位端向所述控制器发送模式切换信号;
24、根据所述模式切换信号,将所述pwm控制模式切换至命令控制模式。
25、可选地,所述应答信息为预设的tach信号频率序列,所述模式切换信号为预设的第二pwm信号占空比序列。
26、可选地,包括:
27、若所述控制器针对所述pwm信号无返回应答信息,则所述上位端再次向所述控制器发送pwm信号;
28、若所述控制器对再次发送的所述pwm信号无返回应答信息,则所述控制器不支持所述命令控制模式,并且,所述控制器和所述上位端保持所述pwm控制模式。
29、可选地,包括:
30、在预设单位时间内,若所述控制器未接收到包含所述握手信息的pwm信号,则所述上位端不支持所述命令控制模式,并且,所述控制器和所述上位端保持所述pwm控制模式。
31、可选地,在所述根据所述模式切换信号,将所述pwm控制模式切换至命令控制模式之后,还包括:
32、当所述控制器和所述上位端的工作模式为所述命令控制模式时,所述上位端以预设单位时间间隔向所述控制器发送查询命令;其中,所述查询命令用于检查数据通信是否畅通;
33、若所述控制器向所述上位端发送应答信息所对应的应答时间超过预设应答时间,则所述上位端再次向所述控制器发送查询命令;
34、若所述控制器针对所述查询命令的应答时间再次超过预设应答时间,则所述上位端切换为所述pwm控制模式。
35、可选地,在所述若所述控制器针对所述查询命令的应答时间再次超过预设应答时间,则所述上位端切换为所述pwm控制模式之后,还包括:
36、若所述控制器仍处于所述命令控制模式,在超过预设单位时间后,所述控制器自动切换至所述pwm控制模式,并以所述pwm信号占空比对所述控制器对应的转子进行调速。
37、可选地,所述控制命令用于获取风扇的基础信息,所述风扇的基础信息至少包括:风扇型号、制造商代码、风扇id、硬软件版本、最高转速、最低转速、额定电压、额定功率、额定风量以及额定静压。
38、可选地,所述控制命令还用于获取风扇的实时运行数据,所述风扇的实时运行数据至少包括:目标转速、实际转速、转向、调速完成标志、电压、电流、功率、风压以及运行时长。
39、可选地,所述控制命令还用于获取风扇的故障信息,所述风扇的故障信息至少包括:霍尔故障、mos故障、过压、欠压、过流以及堵转。
40、可选地,所述控制命令还用于修改风扇参数,所述风扇参数至少包括:自定义的最高转速、最低转速、最大电流、占空比转速系数以及无控制信号时的默认转速。
41、本发明实施例还公开了一种风扇运行的方法,所述风扇包括驱动电路、控制器和电机,所述驱动电路驱动所述电机的转子转动,所述控制器与上位端连接,所述控制器和所述上位端设置有风扇管理总线控制协议,所述风扇管理总线控制协议设置有工作模式,所述工作模式包括pwm控制模式和命令控制模式,所述方法包括:
42、当所述控制器和所述上位端的工作模式为所述pwm控制模式时,通过所述上位端向所述控制器发送的pwm信号以控制所述转子的转子转速,并且,通过所述控制器向所述上位端输出tach信号以反馈所述控制器对应的所述转子的转子转速;
43、当所述控制器和所述上位端的工作模式为所述命令控制模式时,通过所述上位端向所述控制器发送的clk信号和dat信号,以使所述控制器执行所述clk信号和所述dat信号形成的控制命令。
44、本发明实施例还公开了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,所述处理器、所述通信接口以及所述存储器通过所述通信总线完成相互间的通信;
45、所述存储器,用于存放计算机程序;
46、所述处理器,用于执行存储器上所存放的程序时,实现如本发明实施例所述的方法。
47、本发明实施例还公开了一种计算机可读存储介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如本发明实施例所述的方法。
48、本发明实施例包括以下优点:
49、在本发明实施例中,提供了一种风扇,包括驱动电路、控制器和电机,驱动电路驱动电机的转子转动,控制器与上位端连接,其中,控制器和上位端设置有风扇管理总线控制协议,风扇管理总线控制协议设置有工作模式,工作模式包括pwm控制模式和命令控制模式;当控制器和上位端的工作模式为pwm控制模式时,通过上位端向控制器发送的pwm信号以控制转子的转子转速,并且,通过控制器向上位端输出的tach信号以反馈控制器对应的转子的转子转速;当控制器和上位端的工作模式为命令控制模式时,通过上位端向控制器发送的clk信号和dat信号,以使控制器执行clk信号和dat信号形成的控制命令。通过上述本发明实施例提供的风扇,无需改变现有上位端的硬件电路和接口,通过复用现有信号线以开发风扇管理总线控制协议,增加上位端与风扇的控制器间的通信控制功能,保证了与现有系统的兼容性,另外,通过控制器执行clk信号和dat信号形成的控制命令,可以获取风扇的详细运行数据,能够更好地监测风扇的运行状态。