一种基于红外遥控残码实现待机唤醒的方法

文档序号:6704664阅读:396来源:国知局
专利名称:一种基于红外遥控残码实现待机唤醒的方法
技术领域
本发明涉及一种基于红外遥控残码实现待机唤醒的方法,可广泛的应用于各种通过红外遥控进行操控的消费类电子设备中。
背景技术
为了节能降耗,实现低碳经济,有效降低各种消费类电子设备的功耗,包括待机状态下的功耗,已变得越来越重要。然而,目前的多数处理器一旦进入待机后,从被红外遥控信号唤醒到基于中断的红外遥控解码程序得到执行往往需要较长的时间,导致大多数红外遥控中断丢失,从而不能正常解码。这就意味着灯等红外源发出的干扰信号以及非本机的各种遥控发出的信号都会将处理器唤醒。显然,这不是我们所期望的。解决这一难题最直接的办法是增加一个功耗较低的处理器(称为从处理器),当主处理器处于待机时,由从处理器负责红外遥控的解码,这样当主处理器被红外遥控信号唤醒后,就能从从处理器获得完整的解码信息,根据该解码信息是否为正确的系统码和键码就可以决定是否真正退出待机。这种办法存在的问题是显然的,额外增加的从处理器仅仅是为了完成主处理器处于待机时红外遥控的解码,显然是比较浪费的,将无谓的增加产品的成本和功耗;另一方面,这样做无疑也会增加系统的复杂度。

发明内容
本发明的目的是不用增加额外的处理器和电路来实现待机状态下的红外遥控解码,可以有效的降低系统的成本、功耗和复杂度。本发明为解决上述技术问题所采用的方法包括步骤 (1)收到待机键则进入待机。(2)收到红外信号则处理器被唤醒。(3)红外遥控解码程序解出残码。(4)利用残码中得到的部分特征码区分灯等红外源发出的干扰信号以及非本机的各种遥控,如果非本机遥控所唤醒则再次进入待机。(5)如果由本机遥控所唤醒,则利用残码中得到的部分键码还可能区分本机遥控不同的按键。本发明不用增加额外的处理器和电路来实现待机状态下的红外遥控解码,可以有效的降低系统的成本、功耗和复杂度。


图1是本发明的硬件连接图。图2是本发明的待机流程图(部分键码可以区分出待机键)。
图3是本发明的待机流程图(部分键码不能区分出待机键)。图4是本发明的遥控解码流程图(部分键码可以区分出待机键)。图5是本发明的遥控解码流程图(部分键码不能区分出待机键)。
具体实施例方式本发明的思路是基于红外遥控残码实现待机唤醒。所谓残码是相对于正常码而言的,包含部分特征码和部分键码。为何会出现残码呢?正常状况下,解出的是正常码,该码可能是正确的,也可能是错码(如NEC协议中原码部分的反码和反码部分不一致),但不会残缺不全。而待机唤醒的情况下,处理器从被红外遥控信号唤醒到基于中断的红外遥控解码程序得到执行往往需要较长的时间,导致大多数红外遥控中断丢失,从而解出的码是残缺不全的,即所谓残码,该码包含部分特征码和部分键码。部分特征码与本机遥控所采用的协议直接相关,与所采用的解码方案也有关系, 因此往往需要实测。实测出的特征码可能有多组,这也是需要注意的。部分键码同样需要实测,根据可以得到的部分键码的位数可以决定部分键码是否可以区分出待机键。如果能够区分出待机键,就可以实现只有本机遥控待机键能将设备唤醒;如果不能,则只能做到本机遥控的任意键都能将设备唤醒,后续需要用户来确认是否真的退出待机。下面结合附图和具体实施例对本发明的原理进行详细说明。如图1所示为本发明的硬件连接图。将红外遥控接收器的OUT (输出端)引脚连接到处理器的^IN (—般为通用输入/输出端口)引脚,以便红外遥控接收器接收到的红外遥控脉冲序列通过该引脚进入处理器;红外遥控接收器与处理器的GND引脚连接在一起并接地。如果OUT引脚与^IN引脚之间的电平要求是不匹配的,则红外遥控接收器的OUT 引脚和处理器的^IN引脚之间,进一步包括电平转换芯片,用以实现OUT引脚与^IN引脚之间的电平转换。另外,红外遥控接收器由电源VCCl提供电能支持,处理器由电源VCC2提供电能支持。如图2所示为部分键码可以区分出待机键时本发明的待机流程图。如果收到待机键,则首先将互斥信号量IRMUTEX初始化为0,然后处理器进入待机。当处理器被红外信号唤醒后,获取IRMUTEX,如果因为超时而退出“获取IRMUTEX”,则回到“将互斥信号量 IRMUTEX初始化为0”步骤,并重新进入待机;否则,清除键队列,并进入程序主循环。如图3所示为部分键码不能区分出待机键时本发明的待机流程图。与图2的区别在于清除键队列之后,需要用户确认是否真的退出待机。如图4所示为部分键码可以区分出待机键时本发明的遥控解码流程图。首先如果 IRIN中断到来,则清^IN中断标志位,然后进行解码。解码的具体过程会因为方案的不同而有较大差异,比如可以是纯软件的方案,也可以是硬件软件相结合的方案。解码完成后, 首先判断是否正常码,如果是正常码,则意味着不是从待机被唤醒的情况,则将键码入队, 并退出^IN中断;否则,如果是部分特征码,则进一步判断是否本机遥控部分特征码,如果是则将本机遥控标志置1 ;否则,如果是部分键码,则进一步判断本机遥控标志是否为1,如果是,则首先将本机遥控标志清0,然后判断是否为待机键,如果是则释放IRMUTEX,然后退出IRIN中断。
如图5所示为部分键码不能区分出待机键时本发明的遥控解码流程图。该流程图与图4的主要区别是不处理部分键码。如流程图所示,如果是本机遥控部分特征码,则释放 IRMUTEX,并退出IRIN中断。本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为发明的保护范围并不局限于这样的特别陈述和实施例。凡是根据上述描述做出各种可能的等同替换或改变,均被认为属于本发明的权利要求的保护范围。
权利要求
1.一种基于红外遥控残码实现待机唤醒的方法,其特征在于,包括步骤(1)将红外遥控接收器的OUT引脚即输出端引脚连接到处理器的^IN引脚,用于将红外遥控接收器接收到的红外遥控脉冲序列通过^IN引脚进入处理器;(2)收到待机键则进入待机;(3)收到红外信号则处理器被唤醒;(4)红外遥控解码程序解出残码;(5)利用残码中得到的部分特征码区分灯等红外源发出的干扰信号以及非本机的各种遥控,如果非本机遥控所唤醒则再次进入待机;(6)如果由本机遥控所唤醒,则利用残码中得到的部分键码还可能区分本机遥控不同的按键。
2.根据权利要求1所述的基于红外遥控残码实现待机唤醒的方法,其特征在于,步骤(1)中红外遥控接收器的OUT引脚和处理器的^IN引脚之间,进一步包括电平转换芯片,用以实现OUT引脚与^IN引脚之间的电平转换。
3.根据权利要求1所述的基于红外遥控残码实现待机唤醒的方法,其特征在于,步骤(2)具体工作步骤如下(21)将互斥信号量IRMUTEX初始化为0;(22)处理器进入待机。
4.根据权利要求1所述的基于红外遥控残码实现待机唤醒的方法,其特征在于,对于部分键码可以区分出待机键的情况,在步骤(4)、(5)、(6)中具体工作步骤如下(1)当处理器被红外信号唤醒后,获取IRMUTEX;(2)如果因为超时而退出“获取IRMUTEX”,则回到“将互斥信号量IRMUTEX初始化为0” 步骤即步骤(21),并重新进入待机;(3 )清除键队列,并进入程序主循环。
5.根据权利要求1所述的基于红外遥控残码实现待机唤醒的方法,其特征在于,对于部分键码可以区分出待机键的情况,在步骤(4)、(5)、(6)中具体工作步骤如下(1)如果IRIN中断到来,则清IRIN中断标志位;(2)解码;(3)如果是正常码,则意味着不是从待机被唤醒的情况,进一步判断是否错码,如果不是错码则将键码入队,并退出^IN中断;如果是错码,则直接退出^IN中断;(4)如果是部分特征码,则进一步判断是否本机遥控部分特征码,如果是则将本机遥控标志置1,并退出^IN中断;如果不是本机遥控部分特征码,则直接退出^IN中断;(5)如果是部分键码,则进一步判断本机遥控标志是否为1,如果是,则首先将本机遥控标志清0,然后判断是否为待机键,如果是则释放IRMUTEX,然后退出^IN中断;如果不是待机键,则直接退出^IN中断;如果本机遥控标志不为1,则直接退出^IN中断;(6)退出IRIN中断。
6.根据权利要求1所述的基于红外遥控残码实现待机唤醒的方法,其特征在于,对于部分键码不能区分出待机键的情况,在步骤(4)、(5)、(6)中具体工作步骤如下(1)当处理器被红外信号唤醒后,获取IRMUTEX;(2)如果因为超时而退出“获取IRMUTEX”,则回到“将互斥信号量IRMUTEX初始化为0”步骤即步骤(21),并重新进入待机;(3)清除键队列;(4)用户确认是否真的退出待机,如果真的退出,则进入程序主循环;否则回到“将互斥信号量IRMUTEX初始化为0”步骤即步骤(21),并重新进入待机。
7.根据权利要求1所述的基于红外遥控残码实现待机唤醒的方法,其特征在于,对于部分键码不能区分出待机键的情况,在步骤(4)、(5)、(6)中具体工作步骤如下(1)如果IRIN中断到来,则清IRIN中断标志位;(2)解码;(3)如果是正常码,则意味着不是从待机被唤醒的情况,进一步判断是否错码,如果不是错码则将键码入队,并退出^IN中断;如果是错码,则直接退出^IN中断;(4)如果是部分特征码,则进一步判断是否本机遥控部分特征码,如果是则释放 IRMUTEX,并退出^IN中断;如果不是本机遥控部分特征码,则直接退出^IN中断;(5)退出IRIN中断。
8.根据权利要求4或5或6或7所述的基于红外遥控残码实现待机唤醒的方法,其特征在于,部分特征码与本机遥控所采用的协议直接相关,与所采用的解码方案也有关系,需要实测;实测出的特征码可有多组。
9.根据权利要求4或5或6或7所述的基于红外遥控残码实现待机唤醒的方法,其特征在于,部分键码同样需要实测,根据可以得到的部分键码的位数可以决定部分键码是否可以区分出待机键;如果能够区分出待机键,就可以实现只有本机遥控待机键能将设备唤醒;如果不能,则只能做到本机遥控的任意键都能将设备唤醒,后续需要用户来确认是否真的退出待机。
全文摘要
本发明公开了一种基于红外遥控残码实现待机唤醒的方法,可广泛的应用于各种通过红外遥控进行操控的消费类电子设备中。它包括步骤(1)收到待机键则进入待机。(2)收到红外信号则处理器被唤醒。(3)红外遥控解码程序解出残码。(4)利用残码中得到的部分特征码区分灯等红外源发出的干扰信号以及非本机的各种遥控,如果非本机遥控所唤醒则再次进入待机。(5)如果由本机遥控所唤醒,则利用残码中得到的部分键码还可能区分本机遥控不同的按键。本发明不用增加额外的处理器和电路来实现待机状态下的红外遥控解码,可以有效的降低系统的成本、功耗和复杂度。
文档编号G08C23/04GK102201159SQ20111013422
公开日2011年9月28日 申请日期2011年5月24日 优先权日2011年5月24日
发明者余化鹏, 吕昱, 唐勇, 房华, 熊飞, 申及 申请人:四川九洲电器集团有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1