一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

编码开关检测方法、计算机存储介质及设备与流程

2022-03-01 20:08:12 来源:中国专利 TAG:


1.本发明涉及信号检测技术领域,具体涉及一种编码开关检测方法、计算机存储介质及设备。


背景技术:

2.编码开关由于具有调节参数方便、使用寿命长等优点被经常应用于生产和生活中的电子产品。伴随电器设备的功能日益增多,往往需要借助编码开关来对电器设备的工作模式进行设定、工作参数进行调节等,进而解决使用普通按键和开关所存在的操作繁琐和体验不佳的问题。使用编码开关时,通常只需要对编码开关进行顺时针旋转或逆时针旋转,便可以实现对电器设备的模式切换和参数调节。
3.在编码开关旋转时,一般通过检测编码开关输出端口的电平状态来确定当前操作为顺时针旋转或逆时针旋转。现有技术中常见的编码开关检测方式为:当a相端口和b相端口的其中一个输出端口出现电平跳变时,对另外一个输出端口的电平进行检测。这种编码开关检测方式存在如下问题:由于旋转编码开关时经常会出现抖动和干扰信号。在检测到错误的电平跳变时,根据随即检测的电平将做出顺时针或逆时针旋转的错误判定。


技术实现要素:

4.本发明针对以上问题的提出,而提供一种可以消除抖动和干扰信号导致的错误检测结果、方便快捷、以及稳定可靠的编码开关检测方法,同时还提供了一种计算机存储介质及设备。
5.本发明采用的一个技术手段是:提供一种编码开关检测方法,包括:
6.检测编码开关第一端口输出的第一信号和所述编码开关第二端口输出的第二信号;
7.在第一预设周期内,根据所述第一信号和所述第二信号形成的电平组合随时间的状态变化,来预确定所述编码开关的旋转方向;所述电平组合由所述第一信号的电平与同一时间的所述第二信号的电平按照预设顺序形成;
8.在第二预设周期内,结合预确定的所述编码开关的旋转方向,并根据所述第一信号和所述第二信号形成的电平组合随时间的状态变化,来判定所述编码开关的旋转方向。
9.本发明采用的另一个技术手段是:提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行所述的编码开关检测方法。
10.本发明采用的另一个技术手段是:提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行所述的编码开关检测方法。
11.由于采用了上述技术方案,本发明提供的编码开关检测方法、计算机存储介质及设备,通过检测编码开关端口输出的信号,并获取端口信号随时间的电平状态变化情况,同时确定端口信号的电平状态变化是否符合预设变化情况和条件,进而来判定编码开关旋转
方向,状态机的配置能够有效串接第一信号和第二信号在整个预定周期内的电平状态变化。本发明可以根据第一信号和第二信号在整个检测周期内的电平状态变化来判定编码开关的旋转方向,能够有效消除抖动和干扰信号导致的错误检测结果、方便快捷、以及稳定可靠。
附图说明
12.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
13.其中:
14.图1是一个实施例中编码开关检测方法的流程图;
15.图2是一个实施例中步骤20的流程图;
16.图3是一个实施例中步骤30的流程图;
17.图4是一个实施例中计算机设备的内部结构图;
18.图5是一个实施例中编码开关检测电路的示例图;
19.图6是一个实施例中编码开关顺时针旋转的波形示例图;
20.图7是一个实施例中编码开关逆时针旋转的波形示例图。
具体实施方式
21.为了使本发明的发明目的、技术方案及其技术效果更加清晰,以下结合附图和具体实施方式,对本发明进一步详细说明。应当理解的是,本说明书中描述的具体实施方式仅仅是为了解释本发明,并非为了限定本发明。在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
22.本发明提供了一种编码开关检测方法,如图1所示,在一个实施例中,所述方法可以包括:
23.步骤10,检测编码开关第一端口输出的第一信号和所述编码开关第二端口输出的第二信号。
24.编码开关是一种可以进行顺时针旋转和逆时针旋转的电子设备,也可以称为旋转编码开关。编码开关主要有三个端口或引脚,其中一个为接地端口,另外2个为信号端口。旋转编码开关在进行旋转时通常由两个信号端口向外发出脉冲波,分别为a相端口和b相端口。参考图6所示,当编码开关顺时针旋转时,a相端口输出的脉冲波会超前b相端口输出的矩形波1/4个相位。参考图7所示,当编码开关逆时针旋转时,b相端口输出的脉冲波会超前a相端口输出的矩形波1/4个相位。
25.所述第一端口可以为a相端口,则所述第一信号为编码开关a相端口输出的信号,所述第二端口可以为b相端口,则所述第二信号为编码开关b相端口输出的信号。
26.示例性地,图5示出了一种编码开关检测电路的示例图,如图5所示,编码开关s2的a相端口分别经由上拉电阻r105连接5v电源,以及经过电阻r108后由网络标号ph6输出。b相端口分别经由上拉电阻r103连接5v电源,以及经过电阻r110后由网络标号ph7输出。网络标
号ph6和网络标号ph7可以与单片机、cpu等控制器或处理器进行连接,并由单片机、cpu等控制器或处理器进行读取,从而获得编码开关端口输出的脉冲变化状态,图中的网络标号ph6可以获知编码开关a相端口的电平状态,网络标号ph7可以获知编码开关b相端口的电平状态。
27.在对编码开关的第一端口和第二端口进行检测时,可以设置一个可以定时读取第一端口和第二端口的电平状态的时基,基于定时时基每间隔一段时间便对第一端口的电平状态和第二端口的电平状态进行检测。该定时时基可以根据实际的编码开关输出波形和操作要求等因素进行调整。
28.步骤20,根据所述第一信号和所述第二信号形成的电平组合随时间的状态变化,设置状态机的状态,并预确定所述编码开关的旋转方向;所述电平组合由所述第一信号的电平与同一时间的所述第二信号的电平按照预设顺序形成。
29.基于对编码开关第一端口电平状态和第二端口电平状态的检测结果,可以获得同一时间的所述第一信号的电平和所述第二信号的电平。步骤20可以在第一预设周期内进行,所述第一预设周期可以为一个预定周期的二分之一长度,则根据1/2预定周期内所述第一信号的电平和所述第二信号的电平随时间的状态变化,预确定编码开关的旋转方向,所述预定周期为编码开关的检测周期。所述预确定编码开关的旋转方向,是指根据获知的第一信号和第二信号形成的电平组合随时间的状态变化数据,对所述编码开关的旋转方向进行初步判定的结果,例如,初步判定所述编码开关的旋转方向为顺时针方向或逆时针方向,该初步判定结果是根据第一预设周期内的电平组合随时间的状态变化数据得出的。
30.电平组合由同一时间的第一信号的电平和第二信号的电平按照预设顺序组成,并可以随时间而变化。在所述第一端口为a相端口、所述第二端口为b相端口的情况下,所述预设顺序为第一信号的电平在前,第二信号的电平在后。若所述第一端口为b相端口、所述第二端口为a相端口的情况下,则所述预设顺序为第二信号的电平在前,第一信号的电平在后。
31.示例性地,假设第一电平的信号为高电平同时第二信号的电平为高电平,则电平组合为高电平高电平,如果将高电平采用二进制1表示,低电平采用二进制0表示,则为高电平高电平的电平组合可以表示为11。经过一段时间再次检测第一信号的电平和第二信号的电平,假设此时第一电平的信号仍为高电平同时第二信号的电平仍为高电平,那么形成的电平组合依然保持为高电平高电平,如果经过一段时间再次检测第一信号和第二信号的电平状态,获取到此时第一电平的信号为低电平同时第二信号的电平为高电平,则形成的电平组合更新为低电平高电平,采用二进制表示则为01。伴随编码开关的旋转动作,不同时间对应的电平组合可能相同,也可能不同,基于电平组合随时间的状态变化情况,例如由高电平高电平的电平组合变化为低电平高电平的电平组合,或者由高电平高电平的电平组合变化为高电平低电平的电平组合等,进而对所述编码的旋转方向进行预确定。
32.步骤30,结合预确定的所述编码开关的旋转方向,并根据所述第一信号和所述第二信号形成的电平组合随时间的状态变化,设置状态机的状态,以及判定所述编码开关的旋转方向。
33.所述编码开关的旋转方向可以为顺时针方向或逆时针方向,在旋转方向为顺时针方向时,表示编码开关进行了顺时针旋转,在旋转方向为逆时针方向时,表示编码开关进行
了逆时针旋转。
34.步骤30可以在第二预设周期内进行,所述第二预设周期可以为一个预定周期的二分之一长度,所述第一预设周期和所述第二预设周期可以以时间先后顺序构成整个预定周期,具体地,第一预设周期在前,第二预设周期在后。步骤20中基于第一预设周期内的电平组合随时间的状态变化数据获得了预确定的编码开关旋转方向,进一步结合步骤30中,基于第二预设周期内的电平组合随时间的状态变化数据来判定出编码开关的旋转方向。为避免信号干扰,对第一信号的电平状态和第二信号的电平状态均可以在定时时基内进行多次检测。
35.本实施例通过检测编码开关端口输出的信号,并获取端口信号随时间的电平状态变化情况,同时确定端口信号的电平状态变化是否符合预设变化情况和条件,进而来判定编码开关旋转方向。本发明可以根据第一信号和第二信号在整个检测周期内的电平状态变化来判定编码开关的旋转方向,状态机的配置能够有效串接第一信号和第二信号在整个预定周期内的电平状态变化。本发明对贯穿整个检测周期各阶段的电平状态变化均进行检测和判定,对不同阶段不符合要求的信号电平状态数据均不予响应和抛弃,能够避免以单纯获取编码开关发生旋转时的第一信号和第二信号电平状态作为旋转方向的判定依据,所导致的因信号干扰或抖动而得出错误的判定结果,进而可以有效消除抖动和干扰信号导致的错误检测结果、方便快捷、以及稳定可靠。
36.状态机是指能够根据控制信号按照预先设定的状态进行状态转移,以及可以协调相关信号动作和完成特定操作的控制中心。通过状态机的配置既可以记录第一信号和第二信号当前形成的电平组合状态,同时也便于在状态机根据当前电平组合更新之前,通过调取所述状态机的状态可以了解上一次电平组合的状态,进而能够有效串接第一信号和第二信号在整个预定周期内的电平状态变化,从而实现根据第一信号和第二信号在整个预定周期内的电平状态变化来判定编码开关的旋转方向。
37.在一个实施例中,如图2所示,步骤20即所述根据所述第一信号和所述第二信号形成的电平组合随时间的状态变化,设置状态机的状态,并预确定所述编码开关的旋转方向的步骤可以包括如下步骤:
38.步骤210,若所述第一信号为高电平,同时所述第二信号为高电平,则设置状态机的当前状态为第一预设状态。
39.此时第一信号和第二信号形成的电平组合为高电平高电平,假设对电平组合采用前述的二进制形式进行表示,则此时的电平组合可以表示为11。将状态机的当前状态设置为第一预设状态的过程可以为直接给状态机置位一个能够区别出其他状态,并且与初始阶段电平组合为高电平高电平的情况能够对应的状态标记。所述初始阶段是指编码开关处于未旋转状态。示例性地,例如采用状态标记h表示第一预设状态。当状态机的当前状态为第一预设状态时,则表明此时第一信号和第二信号对应高电平高电平的电平组合。
40.步骤220,在第一预设时间内,若所述第一信号连续保持为高电平,同时所述第二信号连续保持为高电平,则设置所述状态机的当前状态为第二预设状态。
41.具体地,可以连续多次检测第一信号的电平和第二信号的电平,检测次数可以根据编码开关的波形和操作要求进行调整,以便保证在第一预设时间内第一信号的电平为连续保持的高电平,第二信号的电平为连续保持的高电平,有利于避免单次检测所带来的抖
动信号的干扰。示例性地,例如可以采用状态标记i表示第二预设状态。当状态机的当前状态为第二预设状态时,则表明此时第一信号和第二信号对应连续保持高电平高电平的电平组合。
42.若所述第一信号或所述第二信号的至少一个信号未能连续保持高电平,则返回执行步骤210,进一步确认第一信号和第二信号是否构成了高电平高电平的电平组合,如果步骤210中第一信号和第二信号未构成高电平高电平的电平组合,则不将状态机的状态设置为第一预设状态,同时保持步骤210的继续执行,直到第一信号和第二信号形成的电平组合为高电平高电平。
43.若第一信号或第二信号连续没有连续保持为高电平呢,又做什么,请补充另一种情况的逻辑处理。
44.步骤230,在所述状态机的当前状态为所述第二预设状态的情况下,若所述第一信号和所述第二信号的其中之一为高电平,另外一个为低电平,则预确定所述编码开关的旋转方向,并设置所述状态机的当前状态为第三预设状态。
45.步骤230的执行需要以所述状态机的当前状态为第二预设状态作为前提条件,即如果此时状态机的当前状态不为第二预设状态,则不对所述第一信号和所述第二信号是否其中之一为高电平,另外一个为低电平进行确定,只有在状态机的当前状态为第二预设状态才执行步骤230,即执行步骤230之前的电平组合为连续保持的高电平高电平。
46.所述第一信号和所述第二信号的其中之一为高电平,另外一个为低电平,则表示第一信号为高电平同时第二信号为低电平,或者第一信号为低电平同时第二信号为高电平,相应地,第一信号和第二信号形成的电平组合则为高电平低电平或者低电平高电平,示例性地,采用二进制表示则为10或01。在步骤230中,若第一信号和第二信号形成的电平组合为高电平低电平,则表明此时编码开关发生了逆时针旋转,若第一信号和第二信号形成的电平组合为低电平高电平,则表明此时编码开关发生了顺时针旋转。此时,若第一信号的电平和第二信号的电平形成的为其他非高电平低电平、低电平高电平的电平组合,则不予进行任何处理,进而实现对抖动和干扰信号的检测结果进行抛弃和不进行响应。
47.示例性地,例如可以采用状态标记j表示第三预设状态。当状态机的当前状态为第三预设状态时,则表明此时第一信号和第二信号在状态机当前状态为第二预设状态时形成其中之一为高电平,另外一个为低电平的电平组合。第一信号和第二信号随时间变化的电平状态随着本发明所述方法各步骤的不断执行而有效串接起来。
48.在一个实施例中,进一步地,在所述第一端口为a相端口、所述第二端口为b相端口的情况下,所述预确定所述编码开关的旋转方向的步骤可以包括:
49.步骤231,若所述第一信号为高电平,所述第二信号为低电平,则预确定所述编码开关的旋转方向为逆时针方向。
50.结合图7所示,在第一信号和第二信号均连续保持高电平后,紧接着如果出现第一信号为高电平,同时第二信号为低电平,则可以初步判定编码开关的旋转方向为逆时针方向。
51.步骤232,若所述第一信号为低电平,所述第二信号为高电平,则预确定所述编码开关的旋转方向为顺时针方向。
52.结合图6所示,在第一信号和第二信号均连续保持高电平后,紧接着如果出现第一
信号为低电平,同时第二信号为高电平,则可以初步判定编码开关的旋转方向为顺时针方向。
53.在一个实施例中,如图3所示,步骤30即所述结合预确定的所述编码开关的旋转方向,并根据所述第一信号和所述第二信号形成的电平组合随时间的状态变化,设置状态机的状态,以及判定所述编码开关的旋转方向的步骤可以包括:
54.步骤310,在所述状态机的当前状态为所述第三预设状态的情况下,确定所述第一信号和所述第二信号是否均为低电平。
55.步骤310的执行需要以所述状态机的当前状态为第三预设状态作为前提条件,即如果此时状态机的当前状态不为第三预设状态,则不对所述第一信号和所述第二信号是否均为低电平进行确定,只有在状态机的当前状态为第三预设状态才执行步骤310,即执行步骤310之前的第一信号和第二信号的电平组合为高电平低电平或低电平高电平。
56.此时,若第一信号的电平和第二信号的电平形成的为其他非低电平低电平的电平组合,则不予进行任何处理,例如若此时第一信号和第二信号的电平组合为高电平高电平、高电平低电平、低电平高电平,则均不予进行任何处理,进而实现对抖动和干扰信号的检测结果进行抛弃和不进行响应。示例性地,低电平低电平的电平组合可以采用二进制表示为00。
57.步骤320,若所述第一信号和所述第二信号均为低电平,则设置所述状态机的当前状态为第四预设状态。
58.示例性地,例如可以采用状态标记k表示第四预设状态。当状态机的当前状态为第四预设状态时,则表明此时第一信号和第二信号在状态机当前状态为第三预设状态时形成低电平低电平的电平组合。
59.步骤330,在所述状态机的当前状态为所述第四预设状态的情况下,结合预确定的所述编码开关的旋转方向,确定所述第一信号和所述第二信号形成的电平组合是否为预设电平组合。
60.步骤330的执行需要以所述状态机的当前状态为第四预设状态作为前提条件,即如果此时状态机的当前状态不为第四预设状态,则不对第一信号和第二信号形成的电平组合是否为预设电平组合进行确定,只有在状态机的当前状态为第四预设状态才执行步骤330,即执行步骤330之前的第一信号和第二信号的电平组合为低电平低电平。
61.在一个实施例中,在所述第一端口为a相端口、所述第二端口为b相端口的情况下,所述结合预确定的所述编码开关的旋转方向,确定所述第一信号和所述第二信号形成的电平组合是否为预设电平组合的步骤即步骤330可以包括:
62.步骤331,若预确定的所述编码开关的旋转方向为顺时针方向,则确定所述第一信号是否为高电平以及所述第二信号是否为低电平。
63.此时,所述预设电平组合为高电平低电平,采用二进制表示则为10。
64.步骤332,若预确定的所述编码开关的旋转方向为逆时针方向,则确定所述第一信号是否为低电平以及所述第二信号是否为高电平。
65.此时,所述预设电平组合为低电平高电平,采用二进制表示则为01。
66.对于步骤330、步骤331和步骤332,此时,若第一信号的电平和第二信号的电平形成的为其他非预设电平组合的其他电平组合,则不予进行任何处理,例如若此时第一信号
和第二信号的电平组合如果不为高电平低电平,也不为低电平高电平,则不予进行任何处理,进而实现对抖动和干扰信号的检测结果进行抛弃和不进行响应。
67.步骤340,在所述第一信号和所述第二信号形成的电平组合为预设电平组合的情况下,判定所述编码开关的旋转方向。
68.在一个实施例中,所述判定所述编码开关的旋转方向的步骤即步骤340可以包括:
69.步骤341,若预确定的所述编码开关的旋转方向为顺时针方向,同时所述第一信号为高电平以及所述第二信号为低电平,则判定所述编码开关的旋转方向为顺时针方向。
70.结合图6所示,在第一信号的电平和第二信号的电平依次出现为高电平高电平、低电平高电平、低电平低电平、高电平低电平的电平组合,则可以判定编码开关的旋转方向为顺时针方向。
71.步骤342,若预确定的所述编码开关的旋转方向为逆时针方向,同时所述第一信号为低电平以及所述第二信号为高电平,则判定所述编码开关的旋转方向为逆时针方向。
72.结合图7所示,在第一信号的电平和第二信号的电平依次出现为高电平高电平、高电平低电平、低电平低电平、低电平高电平的电平组合,则可以判定编码开关的旋转方向为逆时针方向。
73.在一个实施例中,所述判定所述编码开关的旋转方向的步骤即步骤340之后,还可以包括如下步骤:
74.若所述第一信号为高电平,同时所述第二信号为高电平,则设置所述状态机的当前状态为所述第一预设状态。
75.当第一信号的电平和第二信号的电平恢复为高电平高电平的电平组合时,则认为一次检测周期结束,此时将状态机的当前状态配置为第一预设状态,准备开始下一次检测。
76.本发明还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如上述任一实施例所述的编码开关检测方法。
77.本发明还提供了一种计算机设备,在一个实施例中,如图4所示,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如上述任一实施例所述的编码开关检测方法。
78.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
79.以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。此外,尽管本说明书中
使用了一些特定的术语,但这些术语只是为了方便说明,并不对本发明构成任何限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献