一种检测旋转部件旋转状态的方法和装置的制作方法

文档序号:5957209阅读:533来源:国知局
专利名称:一种检测旋转部件旋转状态的方法和装置的制作方法
技术领域
本发明涉及电子技术领域,具体涉及一种检测旋转部件旋转状态的方法和装置。
背景技术
很多电子产品,都涉及到旋转部件的旋转状态的检测,有时需要检测旋转方向,有时需要检测旋转方向以及旋转速度。旋转部件通过编码器产生两路相位相差90度的方波信号A和B,如图I所示。在一个周期内,两路信号的波形被a/b/c/d/e五个时刻分割成了四部分。a为该波形周期的起始时刻,此刻A和B均为高电平状态。b时刻,A信号由高电平变为低电平,B信号保持高电平不变。c时刻,B信号由高电平变为低电平,A信号保持低电平不变。d时刻,A信号由低电平变为高电平,B信号保持低电平不变。e时刻为该波形周期的结束时刻,也是下一个波形周期的起始时刻。若旋转部件继续同方向旋转,接下来两路信号将重复第一个周期内的波形。以第一个周期为例来分析两路信号波形。根据前述分析,将一个周期内的两路信号分为SI (A和B均为高电平)、S2 (A为低电平,B为高电平)、S3 (A和B均为低电平)、S4 (A为高电平,B为低电平)共四个状态。不难理解,若旋转方向不变,S1/S2/S3/S4四种状态将依次出现,S4之后会返回到SI状态,重新开始新一轮的循环。若旋转方向与上述方向相反,则四种状态出现的顺序变为S4/S3/S2/S1,且SI之后重新回到S4状态,继续新一轮的循环。由此可知,只需检测到S1/S2/S3/S4或S4/S3/S2/S1这种连续的四种信号状态变化过程,就可判断出旋转部件的旋转方向。同时,通过定时器获取检测到一个状态周期过程所需的时间,结合一个状态周期对应的角度参数就可以计算出旋转部件旋转的速度参数。这是目前常规的旋转部件旋转状态检测方法。所述检测方法虽然能准确检测出旋转部件的旋转方向和速度,但这种检测方法必须连续读取一个周期内的四种状态,这会占用较多的处理器时间,造成了处理器资源的极大浪费。由于处理器主要用来检测旋转部件的旋转状态,将无法及时响应其他模块的信号,造成处理器响应速度慢。

发明内容
本发明针对现有技术中旋转部件的旋转状态检测方法造成处理器资源浪费、反应慢的问题,提供一种检测速度快、节省处理器资源的检测旋转部件旋转状态的方法,并提供相应的装置。本发明检测旋转部件旋转状态的方法用于检测旋转部件旋转时通过波形产生电路输出的周期相同而相位不同的第一路方波信号和第二路方波信号,包括
根据所述第一路方波信号的上升沿及下降沿控制处理器分别产生上升沿中断和下降沿中断;
在上述中断触发时处理器检测第二路方波信号的电平,根据设定的规则判断出旋转部件的旋转方向。
进一步,所述方法还包括
计时处理器根据第一路方波信号连续两次产生中断的时间间隔,结合该时间间隔内旋转部件旋转的角度,计算出旋转部件的旋转速度。进一步,所述设定的规则为当处理器产生上升沿中断,检测到第二路方波信号为低电平,或者处理器产生下降沿中断,检测到第二路方波信号为高电平时,确定旋转部件为正方向旋转;当处理器产生上升沿中断,检测到第二路方波信号为高电平,或者处理器产生下降沿中断,检测到第二路方波信号为低电平时,确定旋转部件为反方向旋转。进一步,所述第一路方波信号和第二路方波信号的相位差为90度。本发明还提供一种检测旋转部件旋转状态的装置,所述旋转部件通过一波形产生电路输出周期相同而相位不同的第一路方波信号和第二路方波信号,所述装置包括
控制单元,用于根据第一路方波信号的上升沿和下降沿控制处理器分别产生上升沿中断和下降沿中断;
检测单元,用于在上述中断触发时检测第二路方波信号的电平,判断出旋转部件的旋转方向。进一步,所述装置还包括计时单元和计算单元,所述计时单元用于计时处理器根据第一路方波信号连续两次产生中断的时间间隔,所述计算单元用于结合该时间间隔内旋转部件旋转的角度,计算出旋转部件的旋转速度。进一步,所述波形产生电路包括设置于所述旋转部件上的第一连接端子、第二连接端子,与所述第一连接端子、第二连接端子交替耦合的接地端子,以及分别与所述第一连接端子、第二连接端子连接的第一上拉电路和第二上拉电路。进一步,所述第一路方波信号和第二路方波信号的相位差为90度。进一步,所述波形产生电路可以是各种能产生两路周期相同而相位不同的方波信号的机械结构、光电器件、电子线路的组合。本发明的有益效果是,无需处理器连续读取旋转部件的两路信号状态,只要将旋转部件通过波形产生电路输出的第一路方波信号接到处理器带有中断功能的GPIO引脚,当中断触发时处理器读取第二路方波信号的电平状态就可以获知旋转部件的旋转方向。可节省处理器资源,处理器可以以最小的延迟实现其他功能。


图I是现有技术中以及本发明中旋转部件通过编码器或波形产生电路输出的信号波形图。图2是本发明检测旋转部件旋转状态的方法的实施例的流程图。图3是本发明检测旋转部件旋转状态的装置的结构框图。图4是本发明检测旋转部件旋转状态的装置的实施例的电路示意图。
具体实施例方式旋转部件一般通过机械编码器或者光电编码器产生能表征旋转部件旋转状态的方波信号,如图I所示。信号A和信号B具有相同的周期,信号B落后于信号A 90度相位。本发明中,方波信号可以是由所述的机械编码器或者光电编码器产生,也可以是由其他波形产生电路产生,该波形产生电路可以是各种能产生两路周期相同而相位相差90度的方波信号的机械结构、光电器件、电子线路的组合。A信号与B信号也可以采用其他的相位差值。请参考图2,本发明检测旋转部件旋转状态的方法的具体实施例包括以下步骤 S201,根据所述A信号的上升沿及下降沿控制处理器分别产生上升沿中断和下降沿中
断;
S202,在上述中断触发时处理器检测B信号的电平状态,根据设定的规则判断出旋转部件的旋转方向。在步骤S202之后,本具体实施例还可以进一步包括如下步骤
S203,计时处理器根据A信号连续两次产生中断的时间间隔,结合该时间间隔内旋转部件旋转的角度,计算出旋转部件的旋转速度。 由图I可以看出,在A信号电平变化的时候,B信号处于稳定的状态。例如,在b或d时刻,A信号出现电平变化,B信号保持高电平不变。将A信号接入处理器带有中断功能的GPIO接口,当A信号产生电平变化时,控制处理器产生中断,处理器扫描B信号的电平,根据预先设定的判断规则便可以快速获知旋转部件的旋转方向。根据中断标志可以获知所述中断是由A信号的上升沿还是下降沿产生,结合此时B信号的电平状态,就可以知道旋转部件发生了哪一方向的变化。本实施例设定判断规则为当处理器产生上升沿中断,检测到B信号为低电平,或者处理器产生下降沿中断,检测到B信号为高电平时,确定旋转部件为正方向旋转;当处理器产生上升沿中断,检测到B信号为高电平,或者处理器产生下降沿中断,检测到B信号为低电平时,确定旋转部件为反方向旋转。由于方波信号一个周期对应的旋转部件的旋转角度是固定的,每个周期内会有一个上升沿或者下降沿,因此对两次中断的时间间隔进行计时,获得每个方波周期所占的时间,即可得出单位时间内旋转部件旋转的角度,从而得到旋转部件的旋转速度。获得旋转部件的旋转方向和旋转速度,便获得了旋转部件完整的旋转状态信息,从而将该信息传送给使用该旋转部件的控制系统,表达相应的信息,或指示相应的操作。综上,本发明提供了一种检测旋转部件旋转状态的方法,相对现有技术中处理器多次连续检测两路方波信号的状态,本发明的检测方法仅在A信号产生电平变化时检测一次B信号状态,这样可大量减少处理器读取方波信号状态的次数,检测准确快速,节省处理器资源。本发明还提供一种检测旋转部件旋转状态的装置,请参考图3。旋转部件301通过波形产生电路302输出周期相同而相位不同的第一路方波信号A和第二路方波信号B。旋转部件301可以是各种需检测其旋转方向和旋转速度的旋转装置,如鼠标滚轮、轨迹球,等等。波形产生电路302与所述旋转部件301连接。波形产生电路302可以是各种能产生两路周期相同而相位相差90度的方波信号的机械结构、光电器件、电子线路的组合。A信号与B信号的相位差也可以是其他数值。所述检测旋转部件旋转状态的装置包括
控制单元303,用于控制处理器在A信号电平发生变化时产生中断。将A信号连接处理器带有中断功能的GPIO接口,定义外部中断源为A信号产生电平变化,并以不同的中断标志区分A信号上升沿产生的中断以及下降沿产生的中断。
检测单元304,用于当处理器产生上述上升沿中断或者下降沿中断时,读取B信号的电平状态,根据设定的规则判断出旋转部件的旋转方向。B信号连接处理器的普通GPIO接口。当处理器产生上升沿中断,检测到B信号为低电平,或者处理器产生下降沿中断,检测到B信号为高电平时,确定旋转部件为正方向旋转;当处理器产生上升沿中断,检测到B信号为高电平,或者处理器产生下降沿中断,检测到B信号为低电平时,确定旋转部件为反方向旋转。计时单元305,用于计时处理器根据第一路方波信号连续两次产生中断的时间间隔。计算单元306,用于结合该时间间隔内旋转部件旋转的角度,计算出旋转部件的旋转速度。请参考图4,为本发明检测旋转部件旋转状态的装置一个实施例的电路示意图。 旋转部件301连接有输出A、B信号的两个连接端子,以及接地端子C,两个连接端子分别通过上拉电阻Rl、R2上拉到电源VDD,构成第一上拉电路和第二上拉电路。旋转部件301在旋转过程中,两个连接端子交替与接地端子C耦合,当连接端子与接地端子耦合时,连接端子为低电平,当连接端子与接地端子断开时,连接端子为高电平,由此,两个连接端子产生两路方波信号A、B,分别传送到处理器的带中断功能的GPIO接口以及普通GPIO接口。所述两个连接端子、接地端子C,以及第一上拉电路和第二上拉电路,共同构成波形产生电路。本实施例采用的处理器为常见的具有外部输入中断功能的GPIO接口的处理器。在处理器的控制程序中,设置所述的控制单元303、检测单元304、计时单元305、计算单元306。所述控制单元303控制处理器在A信号电平发生变化时产生中断,以不同的中断标志区分A信号上升沿产生的中断以及下降沿产生的中断。检测单元304用于当处理器产生上述上升沿中断或者下降沿中断时,读取B信号的电平状态,根据设定的规则判断出旋转部件的旋转方向。计时单元305用于计时处理器根据第一路方波信号连续两次产生中断的时间间隔。计算单元306用于结合该时间间隔内旋转部件旋转的角度,计算出旋转部件的旋转速度。以上对本发明实施例所提供的一种检测旋转部件旋转状态的方法和装置进行了详细介绍,但以上实施例的说明只是用于帮助理解本发明的方法及其核心思想,不应理解为对本发明的限制。本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。
权利要求
1.一种检测旋转部件旋转状态的方法,用于检测旋转部件旋转时通过波形产生电路输出的周期相同而相位不同的第一路方波信号和第二路方波信号,包括 根据所述第一路方波信号的上升沿及下降沿控制处理器分别产生上升沿中断和下降沿中断; 在上述中断触发时处理器检测第二路方波信号的电平,根据设定的规则判断出旋转部件的旋转方向。
2.根据权利要求I所述的检测旋转部件旋转状态的方法,其特征在于,所述方法还包括 计时处理器根据第一路方波信号连续两次产生中断的时间间隔,结合该时间间隔内旋转部件旋转的角度,计算出旋转部件的旋转速度。
3.根据权利要求I所述的检测旋转部件旋转状态的方法,其特征在于,所述设定的规则为当处理器产生上升沿中断,检测到第二路方波信号为低电平,或处理器产生下降沿中断,检测到第二路方波信号为高电平时,确定旋转部件为正方向旋转;当处理器产生上升沿中断,检测到第二路方波信号为高电平,或处理器产生下降沿中断,检测到第二路方波信号为低电平时,确定旋转部件为反方向旋转。
4.根据权利要求I所述的检测旋转部件旋转状态的方法,其特征在于,所述第一路方波信号和第二路方波信号的相位差为90度。
5.一种检测旋转部件旋转状态的装置,所述旋转部件通过一波形产生电路输出周期相同而相位不同的第一路方波信号和第二路方波信号,所述装置包括 控制单元,用于根据第一路方波信号的上升沿和下降沿控制处理器分别产生上升沿中断和下降沿中断; 检测单元,用于在上述中断触发时检测第二路方波信号的电平,判断出旋转部件的旋转方向。
6.根据权利要求5所述的检测旋转部件旋转状态的装置,其特征在于,所述装置还包括计时单元和计算单元,所述计时单元用于计时处理器根据第一路方波信号连续两次产生中断的时间间隔,所述计算单元用于结合该时间间隔内旋转部件旋转的角度,计算出旋转部件的旋转速度。
7.根据权利要求5所述的检测旋转部件旋转状态的装置,其特征在于,所述波形产生电路包括设置于所述旋转部件上的第一连接端子、第二连接端子,与所述第一连接端子、第二连接端子交替耦合的接地端子,以及分别与所述第一连接端子、第二连接端子连接的第一上拉电路和第二上拉电路。
8.根据权利要求5所述的检测旋转部件旋转状态的装置,其特征在于,所述第一路方波信号和第二路方波信号的相位差为90度。
9.根据权利要求5所述的检测旋转部件旋转状态的装置,其特征在于,所述波形产生电路可以是各种能产生两路周期相同而相位不同的方波信号的机械结构、光电器件、电子 线路的组合。
全文摘要
本发明提供了一种检测旋转部件旋转状态的方法,用于检测旋转部件旋转时通过波形产生电路输出的两路周期相同而相位不同的方波信号,包括根据第一路方波信号的上升沿及下降沿控制处理器分别产生上升沿中断和下降沿中断;在上述中断触发时处理器检测第二路方波信号的电平,根据设定的规则判断出旋转部件的旋转方向;计时处理器根据第一路方波信号连续两次产生中断的时间间隔,结合该时间间隔内旋转部件旋转的角度,计算出旋转部件的旋转速度。本发明还提供相应的装置,通过实施本发明方案,能够加快旋转部件的旋转状态检测速度,并减轻处理器的负担。
文档编号G01P13/04GK102830247SQ201210332489
公开日2012年12月19日 申请日期2012年9月11日 优先权日2012年9月11日
发明者安亮, 王艳辉 申请人:深圳市开立科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1