遥控器信号接收方法技术

技术编号:8367133 阅读:233 留言:0更新日期:2013-02-28 06:22
本发明专利技术涉及遥控技术。本发明专利技术解决了现有空调器遥控器信号接收可靠性不高的问题,提供了一种遥控信号接收方法,其技术方案可概括为:通过定时器timer0的应用及判定接收到的脉冲宽度时间,使遥控器信号接收能够对干扰信号进行有效处理和隔离。本发明专利技术的有益效果是,提升遥控器信号的接收效率和可靠性,适用于遥控器信号的接收。

【技术实现步骤摘要】

本专利技术涉及遥控技术,特别涉及空调遥控器信号接收的技术。
技术介绍
目前,空调器一般由室内机处理器接收遥控器信号和按键信号,通过解码,控制室内水平风向、垂直风向、室内电加热、室内风机电机的运行和室内温度的采样,室内机处理器还控制LED指示灯或者数码管显示屏的显示,同时,室内机处理器通过UART异步通讯同室外机处理器握手通讯,将遥控器或者按键控制命令及控制参数等传递到室外机,同时将室外机的运行参数传递到室内机,由室内机通过调节进一步对室内机和室外机进行控制和显示,室外机处理器通过UART异步通讯接收到来自室内机的命令,对室外压缩机、四通阀、室外风机等进行控制,并控制对室外各个温度传感器进行的采样。目前,空调遥控器输入 信号的采集接收,一般采用外部中断(外部中断INTO INTn中的某一个)和定时器相结合的方式测量脉冲宽度对应的时间来接收遥控器信号,当有遥控器输入信号时,在处理器外部中断接口就会有信号的上升沿或者下降沿出现,此时通过定时器的定时,就可以获取两次输入信号下降沿或者两次输入信号上升沿之间的时间间隔,获得脉冲宽度时间,再将脉冲宽度时间同遥控器发射的信号进行比对,获取输入遥控器信号的数字“O”和数字“ I ”,最后获得遥控器输入信号的数字排列,再通过解码获得遥控器控制信号。但是由于空调器运行的环境复杂,干扰信号频繁出现,而且温度、湿度和其他电磁干扰都会影响电子器件的性能,特别是变频空调器在运行时,由于室外IPM通过六路上下桥臂开关器件的频繁关断和导通来控制压缩机的运行,势必要造成大量的干扰信号,如果不对干扰信号进行有效的处理,势必干扰遥控器信号的接收,特别是引起遥控器信号接收的失灵等严重问题。空调O. I度精确控温遥控器信号,包括同时由高电平和低电平组成的脉冲宽度时间大约为13毫秒的一个引导码,I毫秒的数字“O”和2毫秒的数字“ I”的组合构成,整帧遥控器信号持续时间长,信号信息量特别大,每帧遥控器信号包含的信息既有设定温度的小数部分和整数部分,还有风机的风量、模式和/或风门控制信息,以及定时开关机时间等信息,特别要求对遥控器信号的接收保证高效和可靠。但是目前的空调器中,都没有对遥控器信号接收的可靠性问题进行处理,导致目前空调器遥控器信号接收可靠性不高。
技术实现思路
本专利技术的目的是克服目前空调器遥控器信号接收可靠性不高缺点,提供一种遥控信号接收方法。本专利技术解决其技术问题,采用的技术方案是,遥控信号接收方法,其特征在于,包括以下步骤步骤I、预设某一个外部中断INTx在下降沿或上升沿触发外部INTx中断,x为自然数;步骤2、等待遥控器输入信号引起的外部INTx中断发生;步骤3、若外部INTx中断发生,处理器执行中断服务程序,判断寄存器step的值是否为0,若不为O则进入步骤5,若为O则进入步骤4 ;步骤4、设置定时器timerO定时时间,启动定时器timerO开始计数,同时将寄存器step值置为1,退出中断服务程序,回到步骤2 ;步骤5、读取定时器timerO的当前计数器时间值放入第二寄存器,计算得出定时器timerO从上次定时开始到当前计数器时间值所经历的时间,得出两次外部INTx中断之间的脉冲宽度时间放入第三个寄存器T0,再次设定定时器timerO的定时时间,重新启动定时器timerO开始计数;步骤6、判断寄存器step的值是否为1,若为I则进入步骤7,若不为I则进入步骤8 ;步骤7、根据第三寄存器TO的值判断输入信号是否为有效的引导码,若是则将寄存器step值置为2,退出中断服务程序,回到步骤2,若不是则判定为干扰信号进入步骤 13 ;步骤8、根据第三寄存器TO的值判断输入信号是否为串行数字信号“O”或“1”,若为串行数字信号“O”或“I”则移位处理为Sbit的字节byte后存储到接收缓冲区,并进入步骤9,若不为串行数字信号“O”或“I”则判定为干扰信号进入步骤13 ;步骤9、判断是否所有字节都已接收完成,若是则进入步骤10,若不是则退出中断服务程序,回到步骤2;步骤10、判断接收到的数据的效验和是否正确,若是则进入步骤11,若不是则判定为干扰信号进入步骤13 ;步骤11、设置接收到遥控器信号标志,等待解码程序解码,本次遥控器信号接收完成,将寄存器step值置为O,初始化第二寄存器及第三寄存器T0,初始化外部中断INTx及定时器timerO,停止定时器timerO,回到步骤2等待下次接收;步骤12、整个定时器timerO运行过程中,若定时器timerO计数值超过定时时间,则认为接收的是干扰信号直接进入步骤13 ;步骤13、删除已经接收的信息数据,本次遥控器信号接收完成,将寄存器step值置为O,初始化第二寄存器及第三寄存器T0,初始化外部中断INTx及定时器timerO,停止定时器timerO,回到步骤2等待下次接收。进一步的,所述定时时间为15毫秒。具体的,步骤7中,所述根据第三寄存器TO的值判断输入信号是否为有效的引导码的方法为当第三寄存器TO的值在引导码标准时间宽度一定的误差范围内时,判定为有效引导码,否则判定为无效引导码。进一步的,所述引导码标准时间宽度记为Tl,则引导码标准时间宽度一定的误差范围指,其中,ηΟ 为正数。具体的,所述ηΟ的取值范围为10到30。再进一步的,步骤8中,所述根据第三寄存器TO的值判断输入信号是否为串行数字信号“O”或“I”的方法为当第三寄存器TO的值在串行数字信号“O”的标准时间宽度一定的误差范围内时,判定为串行数字信号“0”,当第三寄存器TO的值在串行数字信号“I”的标准时间宽度一定的误差范围内时,判定为串行数字信号“ 1”,其他情况判定为无效引导码。具体的,所述串行数字信号“O”的标准时间宽度记为T2,则串行数字信号“O”的标准时间宽度一定的误差范围指,其中,nl为正数。再进一步的,所述η I的取值范围为10到30。具体的,所述串行数字信号“I”的标准时间宽度记为Τ3,则串行数字信号“I”的标准时间宽度一定的误差范围指,其中,η2为正数。再进一步的,所述η2的取值范围为10到30。 本专利技术的有益效果是,通过上述遥控信号接收方法,通过定时器timerO的应用及判定接收到的脉冲宽度时间,不仅能够可靠接收空调O. I度精确控温遥控器信号,且还能对干扰信号进行有效处理和隔离。具体实施例方式下面结合实施例,详细描述本专利技术的技术方案。本专利技术所述的遥控信号接收方法为首先预设某一个外部中断INTx在下降沿或上升沿触发外部INTx中断,X为自然数(即是指选择某一个外部中断INTx作为触发外部中断的外部中断,X的取值与该设备中外部中断的数量有关),然后等待遥控器输入信号引起的外部INTx中断发生,若外部INTx中断发生,处理器执行中断服务程序,判断寄存器step的值是否为0,若为O则设置定时器timerO定时时间,启动定时器timerO开始计数,同时将寄存器step值置为1,退出中断服务程序,回到等待遥控器输入信号引起的外部INTx中断发生那一步,若不为O则读取定时器timerO的当前计数器时间值放入第二寄存器,计算得出定时器timerO从上次定时开始到当前计数器时间值所经历的时间,得出两次外部INTx中断之间的脉冲宽度时间放入第三个寄存器T0,再次设定定时器ti本文档来自技高网
...

【技术保护点】
遥控信号接收方法,其特征在于,包括以下步骤:步骤1、预设某一个外部中断INTx在下降沿或上升沿触发外部INTx中断,x为自然数;步骤2、等待遥控器输入信号引起的外部INTx中断发生;步骤3、若外部INTx中断发生,处理器执行中断服务程序,判断寄存器step的值是否为0,若不为0则进入步骤5,若为0则进入步骤4;步骤4、设置定时器timer0定时时间,启动定时器timer0开始计数,同时将寄存器step值置为1,退出中断服务程序,回到步骤2;步骤5、读取定时器timer0的当前计数器时间值放入第二寄存器,计算得出定时器timer0从上次定时开始到当前计数器时间值所经历的时间,得出两次外部INTx中断之间的脉冲宽度时间放入第三个寄存器T0,再次设定定时器timer0的定时时间,重新启动定时器timer0开始计数;步骤6、判断寄存器step的值是否为1,若为1则进入步骤7,若不为1则进入步骤8;步骤7、根据第三寄存器T0的值判断输入信号是否为有效的引导码,若是则将寄存器step值置为2,退出中断服务程序,回到步骤2,若不是则判定为干扰信号进入步骤13;步骤8、根据第三寄存器T0的值判断输入信号是否为串行数字信号“0”或“1”,若为串行数字信号“0”或“1”则移位处理为8bit的字节byte后存储到接收缓冲区,并进入步骤9,若不为串行数字信号“0”或“1”则判定为干扰信号进入步骤13;步骤9、判断是否所有字节都已接收完成,若是则进入步骤10,若不是则退出中断服务程序,回到步骤2;步骤10、判断接收到的数据的效验和是否正确,若是则进入步骤11,若不是则判定为干扰信号进入步骤13;步骤11、设置接收到遥控器信号标志,等待解码程序解码,本次遥控器信号接收完成,将寄存器step值置为0,初始化第二寄存器及第三寄存器T0,初始化外部中断INTx及定时器timer0,停止定时器timer0,回到步骤2等待下次接收;步骤12、整个定时器timer0运行过程中,若定时器timer0计数值超过定时时间,则认为接收的是干扰信号直接进入步骤13;步骤13、删除已经接收的信息数据,本次遥控器信号接收完成,将寄存器step值置为0,初始化第二寄存器及第三寄存器T0,初始化外部中断INTx及定时器timer0,停止定时器timer0,回到步骤2等待下次接收。...

【技术特征摘要】

【专利技术属性】
技术研发人员:陈跃
申请(专利权)人:四川长虹电器股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1