一种万能遥控方法

文档序号:6703995阅读:325来源:国知局
专利名称:一种万能遥控方法
技术领域
本发明涉及一种万能遥控方法,特别是一种学习型的万能遥控方法。
背景技术
随着社会的发展和科学的进步,人们生活水平的改善,越来越多的多媒体设备进 入了人们的生活、学习中。在多媒体教室中,我们经常用到的数字投影机、DVD、V⑶、录像机 等数字设备;在现代家庭中,音响、CD、VCD、DVD、电视机、空调、热水器甚至是电风扇等,都普 遍用到了红外遥控设备。市场上的各种家电的红外遥控系统技术成熟、成本低廉,然而各种 家用电器使用的红外遥控器却不能兼容,给使用者带来了不便。同时红外传输有其局限性, 红外传输无法绕过障碍物、不能穿墙、使用时需要将遥控器对准接收端、传输距离一般只有 10米。现在市场上现有的带有学习功能的遥控器种类比较丰富,但是市场上宣称自己可 以实现所有遥控器的代码学习的,并且可支持在线更新的无线遥控器厂商更寥寥无几,特 别是对空调遥控器的支持。原因是空调遥控器与普通的电视、DVD遥控器不同,空调遥控器 中一帧数据包含很多信息,包括设定的温度、之前的温度、制冷制热的模式等,一般数据量 高达200多位,如果不使用压缩的算法直接进行存储,那么学习完毕一个遥控器所需的存 储空间将高达几十KB。

发明内容
本发明内容主要包括三点1、红外压缩算法2、使用无线传输;3、支持在线更新;本发明的目的在于,提供一种万能遥控方法。它可以学习各种遥控器的代码,并有 效进行压缩,可实现所有遥控器的学习,从而有效地控制各种电器设备。本发明的技术方案一、红外压缩算法本方案通过对各红外遥控器信号进行识别、获取原始数据,并通过压缩方法将数 据量较大的原始红外数据进行两次压缩,最终存储为压缩数据表,然后在使用时进行反向 解压缩还原原始红外脉宽数据,通过发射对应的红外脉宽去控制指定的设备,使其工作。前述的原始红外数据是指单片机通过定内部时器捕获到红外高低电平的时间长度值。前述的万能遥控方法中,所述两次压缩方法包括1、初级压缩算法;2、二次压缩算法;前述的万能遥控方法中,所述的初级压缩算法方法包括1、通过比对原始数据的脉宽,将所有脉宽划分为几种脉宽,作为压缩代码参考值, 并根据得出的脉宽种类数选择存储长度,存储在脉宽种类表中;2、将原始数据表中的脉宽数据置换成脉宽种类表中相匹配脉宽种类的存储位置值,并存储在压缩代码表中;前述的万能遥控方法中,所述将所有脉宽划分为几种脉宽作为压缩代码参考值的 方法为1、用原始数据表中的第一个脉宽数据作为参考数据,将后面的脉宽数据逐个与该 参考数据进行作差,如果差值在设定的阈值内,则将该数据与参考数据归为一类脉宽,并且 将该数据进行标记,表明该数据已经被归类;2、在完成一轮筛选后,参考数据将被往后移动一个数据,如果该数据已经被标记 分类,那么参考数据再次往后面移动一个,直到找到未被标记的数据为止,以该数据最为起 始数据,然后重复1步骤;3、将同一类脉宽的脉宽数据进行相加,最后取其平均值为压缩代码参考值。前述的万能遥控方法中,所述将原始数据表中的脉宽数据置换成脉宽种类表中相 匹配脉宽种类的存储位置值的方法为将原始数据表中的原始数据与脉宽种类表中的数据 进行对比匹配,如果差值在一个阈值内,则相互匹配。前述的万能遥控方法中,所述二次压缩算法的方法为通过纵向比较压缩代码表, 将相同的代码存储在重复码表中,删除先前存储的压缩代码表中相同的位置。前述的万能遥控方法中,所述压缩方法还包括将原始数据表中的脉宽数据中重 复次数少的弓I导码或者中间的停顿码存储在非共性码表中。前述的万能遥控方法中,所述非共性码表存储着引导码或者中间的停顿码的码长 与在原始数据表中的位置。前述的万能遥控方法中,所述解压缩的方法为先将地址码添加到压缩代码表中, 然后查询代码是不是被存放在非共性码表,如果是,则直接发送该码;如果不是,则对应脉 宽种类表,将压缩代码表中的数据置换为原始数据,进行发送;循环操作直到将所有的数据 发送完毕为止。前述的万能遥控方法中,所述方法还包括在遥控器端通过发送无线数据控制RF 转红外端工作,从而控制红外遥控设备。将遥控器分为两个部分组成1、遥控器端;2、RF 转红外端。遥控器端主要的功能是学习、存储红外代码、提供用户操作的硬件平台、发送无 线数据控制RF转红外端工作;RF转红外端的功能较为简单,主要为响应来自遥控器端的命 令,将无线数据转化为红外数据发送出去,进而实现红外控制。压缩、存储、操作在遥控器端 完成,解压缩以及发送红外数据在RF转红外端完成。被压缩的数据通过无线传输至RF转 红外端。前述的万能遥控方法中,所述方法还包括通过在线下载各种遥控设备的遥控代 码。红外学习功能在某些时候并不是十分有效,有时候用户根本无法寻找到对应的遥控器。 因此,本方案在设计时考虑到这些问题,除了支持学习功能外,还支持在线更新。遥控器端 在学习完毕后,并且在完成第二次压缩后,系统会自动将其转化成统一格式,存储在Flash 存储器中。遥控器端配有标准USB接口,每一个遥控器均会提供一个PC机软件,在连接计 算机后,用户可以在遥控器指定的网站下载所需的遥控器代码,同时用户自己学习的遥控 器代码同样可以被上传至服务器中,这样不仅可以获取最新遥控器的代码,同时通过分享 的模式,用户可以获取到那些非常生僻的遥控器型号。与现有技术相比,本发明使用的压缩方法可以将数据量压缩在I左右,初级压缩
4算法最高可以实现16 1的压缩比,二次压缩算法基本可实现2 1的压缩比。从而降 低学习一个遥控器代码所需的存储空间,进而使得遥控器实现学习完所有遥控器代码成为 可能。以空调为例学习完毕一个空调所有的代码需要256条指令,不同空调每一帧数据 中的高低电平数从80个-160个不等,假设以16位定时器来捕获,那么最大一帧数据量= 160*2B = 320B,一个遥控器所需的代码=320B*256 = 81KB,如果使用了压缩算法后,代码 量=81K/32 = 2. 53K。以电视遥控器为例电视遥控器一个按键对应一个代码,一般最多是50颗按键, 每一帧数据也比空调端,约在80左右,假设以16位定时器来捕获,那么最大一帧数据量= 80*2B = 160,一个遥控器所需的代码=160*50 = 9K,如果使用了压缩算法后,代码量= 9KB/32 = 281B。
具体实施例方式下面结合附图
和实施例对本发明作进一步的说明,但并不作为对本发明限制的依据。实施例。一种万能遥控方法,其特征在于通过对各设备的红外遥控信号进行识 别、获取原始数据,通过压缩方法对原始数据中的红外编码进行压缩并存储为原始数据表, 然后在使用时进行解压缩还原,去控制指定的红外遥控设备工作。所述压缩方法包括通过比对原始数据的脉宽,将所有脉宽划分为几种脉宽,作为压缩代码参考值,并 根据得出的脉宽种类数选择存储长度,存储在脉宽种类表中;将原始数据表中的脉宽数据置换成脉宽种类表中相匹配脉宽种类的存储位置值, 并存储在压缩代码表中;进行二次压缩。所述将所有脉宽划分为几种脉宽作为压缩代码参考值的方法为用原始数据表中的第一个脉宽数据作为参考数据,将其与后面的脉宽数据进行对 比,如果其差值在一个阈值内,则归为一类脉宽,再将差值不在阈值内的脉宽数据重复对比 过程,直至分出所有脉宽种类,最后将同一类脉宽的脉宽数据进行相加,最后取其平均值为 压缩代码参考值。所述将原始数据表中的脉宽数据置换成脉宽种类表中相匹配脉宽种类的存储位 置值的方法为将原始数据表中的原始数据与脉宽种类表中的数据进行对比匹配,如果差 值在一个阈值内,则相互匹配。所述二次压缩的方法为通过纵向比较压缩代码表,将相同的代码存储在重复码 表中,删除先前存储的压缩代码表中相同的位置。所述压缩方法还包括将原始数据表中的脉宽数据中重复次数少的弓I导码或者中 间的停顿码存储在非共性码表中。所述非共性码表存储着引导码或者中间的停顿码的码长与在原始数据表中的位置。所述解压缩的方法为先将地址码添加到压缩代码表中,然后查询代码是不是被 存放在非共性码表,如果是,则直接发送该码;如果不是,则对应脉宽种类表,将压缩代码表中的数据置换为原始数据,进行发送;循环操作直到将所有的数据发送完毕为止。所述方法还包括在遥控器端通过发送无线数据控制RF转红外端工作,从而控制 红外遥控设备。(在遥控器中使用2. 4GHz频段的无线模块进行发送遥控信号)。所述方法还包括通过在线下载各种遥控设备的遥控代码。目前,各国电器生产厂家对遥控脉冲编码及码流还没有统一的标准。大多数都采 用表示“0”和“1”,Tl都是相同的,T2与T3不同。但编码方式及码流的构成却是各种各样 的。通过对市场上使用比较普遍的几十种遥控器的码型结构分析,知其数据码部分一 般由用户码和功能码构成。为使系统具有较强的抗干扰能力,信号的码流绝大多数采用“重 复”发送方式,但其重复规则有所不同,可概括为1、简单重复方式,即将数据码进行简单重 复发送。2、有引导码的数据重复方式。为保证接收同步,在数据码前增加的宽脉冲为同步 信号,称为引导码。3、重复码方式。为降低功耗,第一组数据发出后,每隔一定时间仅发出 一个宽脉冲和一个窄脉冲,称之为重复码。另外,也有少数遥控设备采用非重复发送方式。 但是无论是哪一种发送方式,需要对其进行解码都是不现实的,因此我们的重点被放在如 何压缩代码量上。压缩方法实施例详细说明数据采集遥控信号经光敏二极管接收变为电信号,再经放大、检波和整形,送入CPU的是一 串宽度不同的脉冲,如果要将这些脉冲记录下来,仅需记录Tl、T2、T3、T4....这些时间点 即可,脉宽1 = T2-T1 ;脉宽2 = T3-T2....我们将这些信息记录下来,即可以记录遥控器 发送的全部数据。一般来说,遥控器的载波为38K,即红外编码数据最小的间隔为l/38k = 27us,理论上只要CPU的时钟高于3 既能全部记录所有数据,而事实上我们的CPU —般都 会运行在4MHz以上的频率。在定时器方面我们采用16位的定时器,定时器的时钟设置在 64K,根据计算可知定时器可以测量15US-1. 023s之间的所有时长。根据我们了解,市场上 暂时还没有发现一帧数据中两个BIT位之间的停顿超过Is钟,因此在数据捕获方面可以做 到完全精确的记录。我们将这些带有信息的数据放入到一个INT型数组中,这个数组被称 为原始数据,数组的第一位存放长度值。数据压缩数据的压缩被分为几个步骤,具体步骤在下面将被详细说明;获取压缩代码参考值尽管红外的编码方式千变万化,不尽相同,但是表示“1”或“0”时长间隔是一致 的。一般来说只有2种、3种或者4种长度,第一步我们需要将这些具有共性的时间间隔提 取出来,放在脉宽种类表中。首先用原始数据表中的第一个数据作为参考数据,将其设为Ttl,将Ttl与后面的数 据进行对比,如果其差值在一个事先设定好的区间内,那么我们会将其归为一类,并且将同 类的值进行相加,最后取其平均值。作为这些参考代码的值,理论上会出现很多次的重复, 因此在提取的时候必须要满足一定的数量要求,如果不满足也会被踢除。一般情况下,我们 会得到2-4种不同的脉宽数据,根据不同的脉宽种类数,自动选择不同的存储长度。原数据转换为压缩数据
6
根据脉宽种类的数量,选择合适的存储长度。压缩时我们将原始数据与脉宽种类 表中的数据进行对比,如果与脉宽种类表中的数据的差在预先设定的值,那么该位数据长 度即被替换为脉宽表中该数据长度的位置。根据种类表的种类数,若小于3位,则直接使用 IBIT的存储长度;若小于5种,则使用2BIT ;若小于9种,则使用3BIT,将原始数据表置换 成对应脉宽表的位置值,放在压缩代码表中。如果发现原始数据表中的数据与参考脉宽中的差值的不再预先设定的范围内,那 么这些数据会可能是引导码或者是中间的停顿码,这些脉宽个数很少,因此不再进行压缩, 而直接将其记录在非共性码表中,该非共性码表存储着码长与对应码在原始数据表中的位置。二次压缩在红外数据发送过程中,红外码会发送一个地址码,这些地址码的长度从4bit 16bit不等,而这些数据在相同的遥控器中是相同的,因此也可以进行压缩。通过纵向比较压缩代码表,我们很容易就能分析出那些相同的代码,这部分代码 将被存储在重复码表中,系统会自动将先前存储的压缩代码表中相同的位置删除。该操作是在客户完成了所有代码学习完毕后进行。数据解压缩数据的解压缩相对而言较为方便,首先系统会将地址码添加到压缩代码表中,然 后查询第一个码是不是被存放在非共性码表,如果是,则直接发送;如果不是,系统会对应 者脉宽表,将压缩代码表中的数据置换为原始数据,进行发送;系统会循环操作直到将所有 的数据发送完毕为止。根据测试结果,压缩代码是原始代码的1/8或者1/16。
权利要求
1.一种万能遥控方法,其特征在于通过对各设备的红外遥控信号进行识别、获取原 始数据,通过压缩方法对原始数据中的红外编码进行压缩并存储为原始数据表,然后在使 用时进行解压缩还原,去控制指定的红外遥控设备工作。
2.根据权利要求1所述的万能遥控方法,其特征在于,所述压缩方法包括通过比对原始数据的脉宽,将所有脉宽划分为几种脉宽,作为压缩代码参考值,并根据 得出的脉宽种类数选择存储长度,存储在脉宽种类表中;将原始数据表中的脉宽数据置换成脉宽种类表中相匹配脉宽种类的存储位置值,并存 储在压缩代码表中;进行二次压缩。
3.根据权利要求2所述的万能遥控方法,其特征在于,所述将所有脉宽划分为几种脉 宽作为压缩代码参考值的方法为用原始数据表中的第一个脉宽数据作为参考数据,将其与后面的脉宽数据进行对比, 如果其差值在一个阈值内,则归为一类脉宽,再将差值不在阈值内的脉宽数据重复对比过 程,直至分出所有脉宽种类,最后将同一类脉宽的脉宽数据进行相加,最后取其平均值为压 缩代码参考值。
4.根据权利要求2所述的万能遥控方法,其特征在于,所述将原始数据表中的脉宽数 据置换成脉宽种类表中相匹配脉宽种类的存储位置值的方法为将原始数据表中的原始数 据与脉宽种类表中的数据进行对比匹配,如果差值在一个阈值内,则相互匹配。
5.根据权利要求2所述的万能遥控方法,其特征在于,所述二次压缩的方法为通过纵 向比较压缩代码表,将相同的代码存储在重复码表中,删除先前存储的压缩代码表中相同 的位置。
6.根据权利要求2或3所述的万能遥控方法,其特征在于,所述压缩方法还包括将原 始数据表中的脉宽数据中重复次数少的引导码或者中间的停顿码存储在非共性码表中。
7.根据权利要求6所述的万能遥控方法,其特征在于所述非共性码表存储着引导码 或者中间的停顿码的码长与在原始数据表中的位置。
8.根据权利要求7所述的万能遥控方法,其特征在于,所述解压缩的方法为先将地址 码添加到压缩代码表中,然后查询代码是不是被存放在非共性码表,如果是,则直接发送该 码;如果不是,则对应脉宽种类表,将压缩代码表中的数据置换为原始数据,进行发送;循 环操作直到将所有的数据发送完毕为止。
9.根据权利要求1所述的万能遥控方法,其特征在于,所述方法还包括在遥控器端通 过发送无线数据控制RF转红外端工作,从而控制红外遥控设备。
10.根据权利要求1所述的万能遥控方法,其特征在于,所述方法还包括通过在线下 载各种遥控设备的遥控代码。
全文摘要
本发明公开了一种万能遥控方法,其特征在于通过对各设备的红外遥控信号进行识别、获取原始数据,通过压缩方法对原始数据中的红外编码进行压缩并存储为原始数据表,然后在使用时进行解压缩还原,去控制指定的红外遥控设备工作。本发明使用的压缩方法可以将数据量压缩在1K以内,最高可以实现16∶1的压缩比,从而降低学习一个遥控器代码所需的存储空间,进而使得遥控器实现学习完所有遥控器代码成为可能。
文档编号G08C23/04GK102129769SQ20111000793
公开日2011年7月20日 申请日期2011年1月14日 优先权日2011年1月14日
发明者刘福芹, 沈良, 潘晓将, 王薪宇, 贾灵, 郑淑军, 陆忠芳, 顾航 申请人:利尔达科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1