基于状态机的风扇转速检测方法、装置、设备及存储介质与流程-j9九游会真人

文档序号:35696921发布日期:2023-10-11 19:53阅读:6来源:国知局


1.本发明属于风扇转速检测技术领域,尤其涉及一种基于状态机的风扇转速检测方法、装置、设备及存储介质。


背景技术:

2.随着集成电路工艺的改进和先进技术的不变演变,现代芯片集成的功能越来越多,但是受限于成本与应用需求,芯片体积也越来越小,单位面积所承载的功耗也越来越大,因此,芯片的散热设计也成为每一个产品必须要考虑和解决的问题;小型直流风扇作为一种常见的散热方法,以其体积小,散热快,安装和使用方便,在众多的产品中有着广泛的应用。
3.常用的直流风扇一般分为两种,一种是没有转速控制,通电之后就全速转,另外一种是能进行转速控制,可以通过编程调整风扇转速,也称为可调速风扇;可调速风扇,又可以细分为两种:一种是不带风扇转速检测的,只有正极,负极和控制信号三根线,这种风扇通过pwm信号来控制风扇的转速,另外一种风扇是带转速检测的,这种风扇除了上述的三根信号线之外,还会有一根额外的信号反馈线,用于反馈当前的风扇转速是否已经达到预期设定的风扇转速;但是,这种仅通过信号反馈线反馈当前风扇转速,然后通过判断当前风扇转速是否达到预期设定的风扇转速来确定风扇运行是否正常,使得反馈所需时间较长,且检测结果可能存在较明显的偏差,不适用于比较精密和大型的设备中,易影响系统的散热,性能和功耗。


技术实现要素:

4.本发明的目的在于提供一种基于状态机的风扇转速检测方法、装置、设备及存储介质,旨在解决由于现有技术检测风扇转速的反馈时间较长,检测结果偏差较为明显,易影响系统运行的问题。
5.一方面,本发明提供了一种基于状态机的转速检测方法,所述方法包括下述步骤:
6.s1:建立状态机,将所述风扇旋转一圈所形成的圆周等分为n个点,记录所述风扇转至每个点时所对应的circle_n状态,将所述circle_n状态输入状态机,其中,所述n为大于或等于2的正整数;
7.s2:获取所述风扇的反馈输入信号,根据所述反馈输入信号使状态机从idle状态跳转至circle_n状态,进而再回到所述idle状态,其中,所述idle状态为风扇上电时的初始状态;
8.s3:检测所述状态机从idle状态跳转至circle_n状态再回到idle状态的时间,进而得到所述风扇的转速。
9.优选的,步骤s1包括以下步骤:
10.s11:将所述风扇旋转一圈所形成的圆周等分为4个点,所述4个点分别对应circle_1状态、circle_2状态、circle_3状态和circle_4状态;
11.s12:记录所述circle_1状态、circle_2状态、circle_3状态和circle_4状态,将所述circle_1状态、circle_2状态、circle_3状态和circle_4状态输入状态机。
12.优选的,步骤2包括以下步骤:
13.s21:在所述idle状态下,当检测到所述反馈输入信号为1,则使所述状态机由idle状态进入circle_1状态;
14.s22:在所述circle_1状态下,当检测到所述反馈输入信号为0,则使所述状态机由circle_1状态进入circle_2状态;
15.s23:在所述circle_2状态下,当检测到所述反馈输入信号为1,则使所述状态机由circle_2状态进入circle_3状态;
16.s24:在所述circle_3状态下,当检测到所述反馈输入信号为0,则使所述状态机由circle_3状态进入circle_4状态;
17.s25:在所述circle_4状态下,当检测到所述反馈输入信号为1,则使所述状态机由circle_4状态回到idle状态。
18.优选的,所述方法还包括下述步骤:
19.s4:设定计数时间,在所述计数时间内,判断在所述idle状态至circle_4状态中,各所述状态之间是否发生正常的状态跳转:若有,则判断所述状态机状态正常;若没有,则判断所述状态机为超时状态,进而使所述状态机重新回到idle状态。
20.优选的,所述方法还包括下述步骤:
21.s5:在所述状态机内预设多个与不同风扇类型相匹配的状态模型,不同的所述状态模型包括不同数量的circle_n状态。
22.优选的,所述方法还包括下述步骤:
23.s6:在所述状态机内预设多组控制代码,不同的所述控制代码设定有不同的状态跳转条件,不同的所述控制代码分别对应于不同的状态模型,以控制不同数量的所述circle_n状态之间的跳转。
24.优选的,所述反馈输入信号通过信号反馈线传输,所述信号反馈线设置在风扇上。
25.另一方面,本发明还提供了一种基于状态机的转速检测装置,所述装置包括:
26.状态设置模块:用于建立状态机,将所述风扇旋转一圈所形成的圆周等分为n个点,记录所述风扇转至每个点时所对应的circle_n状态,将所述circle_n状态输入状态机,其中,所述n为大于或等于2的正整数;
27.状态跳转模块:获取所述风扇的反馈输入信号,根据所述反馈输入信号使状态机从idle状态跳转至circle_n状态,进而再回到所述idle状态,其中,所述idle状态为风扇上电时的初始状态;
28.检测计算模块:用于检测所述状态机从idle状态跳转至circle_n状态再回到idle状态的时间,进而得到所述风扇的转速。
29.另一方面,本发明还提供了一种基于状态机的转速检测设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述任一项所述方法的步骤。
30.另一方面,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一项所述方法的步骤。
31.本发明的有益效果在于:区别于现有技术,本发明的基于状态机的转速检测方法,包括步骤:s1:建立状态机,将风扇旋转一圈所形成的圆周等分为n个点,记录风扇转至每个点时所对应的circle_n状态,将circle_n状态输入状态机,n为大于或等于2的正整数;s2:获取风扇的反馈输入信号,根据反馈输入信号使状态机从idle状态跳转至circle_n状态,进而再回到idle状态,idle状态为风扇上电时的初始状态;s3:检测状态机从idle状态跳转至circle_n状态再回到idle状态的时间,进而得到风扇的转速,检测结果更加准确,适用于比较精密和大型的设备中,控制系统要求反馈风扇当前的转速,系统根据反馈的风扇转速做进一步的控制和处理,使系统的散热,性能和功耗达到较佳。
附图说明
32.图1是本发明实施例一提供的基于状态机的转速检测方法的一实现流程图;
33.图2是本发明实施例一提供的基于状态机的转速检测方法的另一实现流程图;
34.图3是本发明实施例一中4pole直流风扇的旋转模型示意图;
35.图4是本发明实施例一中4pole直流风扇的状态转移图;
36.图5是本发明实施例二中提供的基于状态机的转速检测装置的结构示意图;
37.图6是本发明实施例三中提供的基于状态机的转速检测设备的结构示意图。
具体实施方式
38.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
39.以下结合具体实施例对本发明的具体实现进行详细描述:
40.实施例一:
41.图1示出了本发明实施例一提供的基于状态机的转速检测方法的实现流程,为了便于说明,仅示出了与本发明实施例相关的部分,详述如下:
42.s1:建立状态机,将风扇旋转一圈所形成的圆周等分为n个点,记录风扇转至每个点时所对应的circle_n状态,将circle_n状态输入状态机,其中,n为大于或等于2的正整数;
43.步骤s1中,以4pole直流风扇为例,将风扇旋转一圈所形成的圆周等分为4个点,每个点记录一个状态,由于风扇每转一圈,必然会依次经过这4个状态,当这4个状态都被检测到之后,即表明风扇已经转完了一圈,通过检测风扇转完一圈所需的时间,即可知道对应风扇的转速。
44.如附图3所示,假设风扇转一圈分别要经过circle_1、circlr_2、circle_3和circle4这四个位置,因此,步骤s1还具体包括以下步骤:
45.s11:将风扇旋转一圈所形成的圆周等分为4个点,4个点分别对应circle_1状态、circle_2状态、circle_3状态和circle_4状态;
46.s12:记录circle_1状态、circle_2状态、circle_3状态和circle_4状态,将circle_1状态、circle_2状态、circle_3状态和circle_4状态输入状态机。
47.s2:获取风扇的反馈输入信号,根据反馈输入信号使状态机从idle状态跳转至
circle_n状态,进而再回到idle状态,其中,idle状态为风扇上电时的初始状态;
48.步骤s2中,设定风扇上电时的初始状态为空闲状态,即idle状态;根据附图4所示的状态转移图可知,状态机处于idle状态时,只有当检测到反馈输入信号为1时,才能进入下一状态circle_1,否则,状态机一直处于idle状态;同理,当状态机处于circle_1状态时,只有当检测到反馈输入信号为0时,才能进入下一状态circle_2,否则,状态机一直处于circle_1状态;当状态机处于circle_2状态时,只有当检测到反馈输入信号为1时,才能进入下一状态circle_3,否则,状态机一直处于circle_2状态;当状态机处于circle_3状态时,只有当检测到反馈输入信号为0时,才能进入下一状态circle_4,否则,状态机一直处于circle_4状态;最后,当状态机处于circle_4状态时,只有当检测到反馈输入信号为1时,才能进入下一状态,即idle状态,否则,状态机则一直处于circle_4状态;当状态机从circle_4进入idle状态时,则表明风扇已经转完一圈。
49.因此,如附图2所示,步骤s2还具体包括以下步骤:
50.s21:在idle状态下,当检测到反馈输入信号为1,则使状态机由idle状态进入circle_1状态;
51.s22:在circle_1状态下,当检测到反馈输入信号为0,则使状态机由circle_1状态进入circle_2状态;
52.s23:在circle_2状态下,当检测到反馈输入信号为1,则使状态机由circle_2状态进入circle_3状态;
53.s24:在circle_3状态下,当检测到反馈输入信号为0,则使状态机由circle_3状态进入circle_4状态;
54.s25:在circle_4状态下,当检测到反馈输入信号为1,则使状态机由circle_4状态回到idle状态。
55.其中,反馈输入信号通过信号反馈线传输,信号反馈线设置在风扇上。
56.s3:检测状态机从idle状态跳转至circle_n状态再回到idle状态的时间,进而得到风扇的转速。
57.步骤s3中,通过检测出风扇转过circle_1至circle_4这4个状态的时间,即可知道风扇转一圈所需的时间,进而则可计算出对应风扇的转速。
58.可以理解的是,本实施例中的状态机是指有限状态机。
59.需要指出的是,在附图4所示的状态转移图中,若在一定时间段内状态机在circle_1至circle_4的任一状态中没有发生状态跳转,则说明可能是风扇异常或者停机了,可以由此判断出风扇的运行状态,因此,本实施例中的方法还包括下述步骤:
60.s4:设定计数时间,在计数时间内,判断在idle状态至circle_4状态中,各状态之间是否发生正常的状态跳转:若有,则判断状态机状态正常;若没有,则判断状态机为超时状态,进而使状态机重新回到idle状态。
61.本实施例的方法适用于4pole直流风扇的转速检测,基于此原理,也同样适用于2pole直流风扇或者8pole直流风扇,针对2pole直流风扇或者8pole直流风扇,在实际应用时,根据需要将状态机里面的状态依据所选风扇做相应的减少或者增加即可,因此,本实施例中的方法还包括下述步骤:
62.s5:在状态机内预设多个与不同风扇类型相匹配的状态模型,不同的状态模型包
括不同数量的circle_n状态;以实现对不同类型的风扇的转速检测,应用范围广泛。
63.进一步的,为了实现对不同类型风扇的转速的检测控制,本实施例中的方法还包括下述步骤:
64.s6:在状态机内预设多组控制代码,不同的控制代码设定有不同的状态跳转条件,不同的控制代码分别对应于不同的状态模型,以控制不同数量的circle_n状态之间的跳转。
65.本实施例中,步骤s4、s5和s6任一项或者三项步骤均可在建立状态机的阶段进行。
66.需要说明的是,每个状态跳转的条件是根据厂商提供的风扇规格书来编写代码的,不同的厂商提供的风扇规格书可能会有差异,状态机跳转的条件也可能不一样,因此,具体使用时,需要根据厂商给定的规格书修改状态机的跳转条件来进行状态机的状态转移判断。
67.实施例二:
68.图5示出了本发明实施例二提供的基于状态机的转速检测装置的结构,为了便于说明,仅示出了与本发明实施例相关的部分,其中包括:
69.状态设置模块501:用于建立状态机,将风扇旋转一圈所形成的圆周等分为n个点,记录风扇转至每个点时所对应的circle_n状态,将circle_n状态输入状态机,其中,n为大于或等于2的正整数;
70.状态跳转模块502:获取风扇的反馈输入信号,根据反馈输入信号使状态机从idle状态跳转至circle_n状态,进而再回到所述idle状态,其中,idle状态为风扇上电时的初始状态;
71.检测计算模块503:用于检测状态机从idle状态跳转至circle_n状态再回到idle状态的时间,进而得到风扇的转速。
72.本实施例中,通过状态设置模块501、状态跳转模块502和检测计算模块503实现上述实施例一中步骤s1至s3中基于状态机的转速检测方法。
73.在本发明实施例中,基于状态机的转速检测装置的各单元可由相应的硬件或软件单元实现,各单元可以为独立的软、硬件单元,也可以集成为一个软、硬件单元,在此不用以限制本发明。
74.实施例三:
75.图6示出了本发明实施例三提供的基于状态机的转速检测设备的结构,为了便于说明,仅示出了与本发明实施例相关的部分。
76.本发明实施例的基于状态机的转速检测设备包括处理器60、存储器61以及存储在存储器61中并可在处理器60上运行的计算机程序62。该处理器60执行计算机程序62时实现上述基于状态机的转速检测方法实施例一中的步骤,例如图1所示的步骤s1至s3。或者,处理器60执行计算机程序62时实现上述基于状态机的转速检测装置实施例二中各单元的功能,例如图4所示单元501至503的功能。
77.在本发明实施例中,通过建立状态机,将风扇旋转一圈所形成的圆周等分为n个点,记录风扇转至每个点时所对应的circle_n状态,将circle_n状态输入状态机,其中,n为大于或等于2的正整数;然后获取风扇的反馈输入信号,根据反馈输入信号使状态机从idle状态跳转至circle_n状态,进而再回到idle状态,其中,idle状态为风扇上电时的初始状
态;最后根据检测状态机从idle状态跳转至circle_n状态再回到idle状态的时间得到风扇的转速,检测结果更加准确,适用于比较精密和大型的设备中,控制系统要求反馈风扇当前的转速,系统根据反馈的风扇转速做进一步的控制和处理,使系统的散热,性能和功耗达到较佳。
78.实施例五:
79.在本发明实施例中,提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述基于状态机的转速检测方法实施例一中的步骤,例如,图1所示的步骤s1至s3。或者,该计算机程序被处理器执行时实现上述基于状态机的转速检测装置实施例二中各单元的功能,例如图4所示单元501至503的功能。
80.在本发明实施例中,通过建立状态机,将风扇旋转一圈所形成的圆周等分为n个点,记录风扇转至每个点时所对应的circle_n状态,将circle_n状态输入状态机,其中,n为大于或等于2的正整数;然后获取风扇的反馈输入信号,根据反馈输入信号使状态机从idle状态跳转至circle_n状态,进而再回到idle状态,其中,idle状态为风扇上电时的初始状态;最后根据检测状态机从idle状态跳转至circle_n状态再回到idle状态的时间得到风扇的转速,检测结果更加准确,适用于比较精密和大型的设备中,控制系统要求反馈风扇当前的转速,系统根据反馈的风扇转速做进一步的控制和处理,使系统的散热,性能和功耗达到较佳。
81.本发明实施例的计算机可读存储介质可以包括能够携带计算机程序代码的任何实体或装置、记录介质,例如,rom/ram、磁盘、光盘、闪存等存储器。
82.以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
当前第1页1  
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
网站地图