一种遥控射频信号的低功耗监测及解码方法与流程

文档序号:21839078发布日期:2020-08-14 16:20阅读:571来源:国知局
一种遥控射频信号的低功耗监测及解码方法与流程

本发明涉及一种射频信号的低功耗接收方法,具体设计一种遥控射频信号的低功耗监测及解码方法。



背景技术:

目前很多用到遥控的场景,信号接收端只能用电池供电,而且需要一直等待接收发送端的信号,一般遥控射频接收器在工作状态下功耗都在3ma以上,另外还需要有微处理器进行接收和解码,两处的功耗会导致电池的频繁更换或损耗,对用户和环境都不友好。

在已有的解码方式中,大部分通过定时器的边沿捕获来解码,容易受到噪声干扰,并且在微处理器资源紧张的情况下会受到限制。还有通过外部中断的方法触发解码程序,这样在稍有干扰的情况下会影响其他程序,甚至根本无法使用。在等待遥控信号时,所有功能均满速运行,导致功耗一直很高。

现在通用的遥控射频信号发送器按下后会一直发送数据,部分甚至被设置为按一下无论时间长短,均会连续发送多次数据。参照图3,分析遥控射频信号接收器在有信号和无信号两种状态下的输出,可以看见有明显的不同之处。综合以上两者,为低速时钟下微处理器进行信号监测提供了可行条件。



技术实现要素:

本发明的目的是提供一种遥控射频信号的低功耗监测及解码方法,使信号接收的功耗大幅降低且尽量不影响其他任务。

为实现上述目的,本发明采用的技术方案如下所述:

一种遥控射频信号的低功耗监测及解码方法,硬件设备包括微处理器和射频信号接收器,微处理器的输入口接收射频信号接收器的电平信号和普通输出口控制射频信号接收器的开关状态,监测和解码方法如下:

s1、信号监测状态下,使射频信号接收器处于休眠,如果监测到有遥控信号则退出超低功耗状态,触发数据解码;

s2、数据解码状态下,射频信号接收器处于开启状态,若一段时间内没有得到有效数据且没有其他任务,则进入超低功耗继续监测遥控信号。

所述信号监测状态时,微处理器处于超低功耗状态,数据解码状态时,微处理器处于正常开启状态。

所述信号检测状态下,利用rtc定时器定时执行信号监测程序,并在有信号或任务时引导微处理器退出超低功耗状态,监测程序全部保存于微处理器的存储器中。

所述rtc定时器设置定时时间,每次进入rtc定时器中断后,先打开射频信号接收器,并等待射频信号接收器完全启动。

所述信号监测状态下信号有无的判断方式为:

方法一:连续进行n次电平信号检测,通过高电平次数m是否小于阈值y判断信号为有或无;

方法二:仅检测一次电平信号,用前n次进入中断累计检测的高电平次数m是否在阈值范围y内判断信号为有或无;

方法三,先连续检测n次电平信号,若高电平次数m小于阈值y则再连续检测n次,若第二次高电平次数m仍小于阈值y则有信号否则没有。

所述电平信号检测完毕后立即关闭信号接收器,判断是否有遥控信号,存在遥感信号时,微处理器退出低功耗状态,不存在遥感信号时,微处理器退出rtc定时器中断处理函数,等待下一次rtc定时器中断。

所述数据解码状态时,通过定时器,定时进入中断处理函数检测信号接收器的电平信号,确定边沿变化。

所述数据解码状态是信号处理方式为:

s1、两次下降沿和一次上升沿,确定一个码元,判断码元的有效性以及是否获取一位数据,判断方式如下:

s1a、连续接收到数据且每一位都有效,直至数据长度计数器满,得到一帧数据;

s1b、接收中断,清空变量重新接收,连续接收两次,比较一致后再确定为有效信号;

s2、处理完信号接收后,在中断函数中可执行其他任务,时间不足时,将任务在时域上分片处理。

本发明的有益效果为:本发明通过使微处理器和信号接收器大部分时间处于休眠状态中,有效的大幅降低信号接收的功耗,与此同时,由于没有采用外部中断检测信号,这样会对输入的信号进行一定的高频噪声过滤效果。因此,避免了频繁的噪声干扰,且接收信号过程中基本不会影响其他任务。

附图说明

图1是本发明内容中硬件的典型连接方案示意图;

图2是本发明内容的微处理主要程序流程图;

图3是背景技术中cmt2210lc射频信号接收器的输出实测;

具体实施方式

下面结合附图并通过具体的实施例进一步的说明本发明的技术方案:

实施例1

作为本发明可实施的一种典型方案,硬件资源采用8位低功耗stm8l051微处理器,设计精简,外设丰富,内部集成16mhz和32khz的rc振荡器。低功耗模式下自身的功耗可以维持在5.1ua以下。使用cmt2210lc射频信号接收器,接27.1383mhz晶振,工作在433.92mhz频段。接收灵敏度-109dbm,接收功耗3.8ma。接收器输出的信号通过stm8l051的pc0输入,通过stm8l051的pb0输出信号接收器的控制信号。对pt2240编码格式编解码,该信号的数据1为3个t的高电平1个t的低电平,数据0为3个t的低电平1个t的高电平,同步信号为一个t的高电平31个t的低电平,t约为200us。

信号监测与解码过程的微处理器软件分为三部分,考虑到微处理器还需要完成其他任务,至少包括:

第一部分:

步骤101:定义必要的全局变量,尤其定义执行时间,运行状态标志。

步骤102:设置主时钟分频系数为1,设置pc0为浮空输入模式,pb0为推挽输出模式,用于接收电平信号和控制信号接收器,其他端口按其他任务所需配置。

步骤103:定时器3使用高速时钟,时钟16分频,溢出值为50,即定时为50us;设置rtc时钟源为内部低速时钟,且设置2分频,rtc唤醒时钟设置4分频,溢出值设置为1200,即唤醒周期大约为250ms;设置定时器3的中断优先级为最高。

步骤104:打开定时器3,中断处理函数开始执行数据解码,执行时间的值也会随时间减小,至此初始化完毕,开始进入死循环。

步骤105:执行其他需要在循环中处理的任务。

步骤106:然后判断执行时间是否为0,如果是,执行下一步骤,否则,跳到步骤105.

步骤107:如果在主循环中检测到没有必须执行的任务,即所有主循环中任务的执行标志为0,则依次关闭不用的外设,关掉定时器3,使能rtc定时器,再将系统时钟切换到低速时钟,等待时钟稳定后,然后关闭高速时钟,进入wfi模式。跳至步骤301。

第二部分:

步骤201:检测一次来自射频信号接收器的电平信号,与上次的做比较,判断出在此期间信号变化。如果没有变化,跳至步骤205;否则,执行下一步骤。

步骤202:如果产生下降沿,执行下一步骤;如果产生上升沿,跳至步骤204。

步骤203:在电平信号计时器中获取高电平的持续时长,比较数据0或1的阈值,得1位疑似数据的有效值。跳转至步骤205。

步骤204:一个码元结束,如果根据码元的时长判断,如果该码元为正常数据位,则将步骤203中得到的数据,并且数据长度计数器加一,通过修改对应的标志延长进入休眠的时间。否则判断该码元是否为同部位且查询数据长度计数器,数据是否已经足够。如果是的话,修改射频信号接收状态标志,使得相关程序知道已经收到一组有效数据,不论是否为同步位,信号计时器和数据长度计数器都要清零。跳转至步骤205。

步骤205:电平信号计时器加一,执行时间减一,退出中断服务程序,待50us后定时器3触发中断,跳至步骤201。

第三部分:

步骤301:定义静态变量,包括高电平计数器和唤醒标志。

步骤302:启动信号接收器,等待一段时间至信号接收器完全启动。

步骤302:连续检测20次来自信号接收器的信号,计数高电平次数,立即关闭信号接收器,然后比较高电平次数是否小于11,若是,则有信号,否则没有信号。

步骤303:根据步骤302,如果有信号,跳至步骤304,否则,退出rtc中断处理函数,待定250msrtc定时后,跳至步骤301。

步骤304:退出wfi模式,恢复时钟为高速时钟,恢复在步骤107中关闭的功能和外设,跳至步骤105。

如此,自步骤104后,步骤205到步骤105,步骤107到步骤301构成状态转换的完整循环,第二部分与第一部分步骤105至步骤106宏观上处于并行模式,一起运行,一起休眠。

需要进一步说明的是,实验环境下测试发现微处理器在低功耗模式下每检测一次电平信号的时间的典型值为0.6ms,信号发生器等待启动的时间的典型值为1.7ms。根据需求和场景,硬件配置,编码格式,判断阈值,定时器3定时时间,rtc定时器定时时间,计数器的长度并不唯一,合理的改变均在本发明范围内,信号监测的过程和方法并不唯一,本发明中还提供另外两种方案,即步骤302还可以为:

步骤302:仅检测1次来自信号接收器的电平信号,移位去掉高电平计数器的最高位并将检测到的信号加到最低位,立即关闭信号接收器,然后比较计数器中二进制1的个数是否在二进制数总位数的10%到50%之间,如果是,则有信号,否则没有信号。

此外,步骤302还可以为:

步骤302:连续检测3次来自信号接收器的信号,若高电平次数大于1,则没有信号,关闭信号接收器,否则,再连续检测3次来自信号接收器的信号,关闭信号接收器,若高电平次数大于1,则没有信号,否则,有信号。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1