红外自学习的数据编码方法及其电路与流程

文档序号:13482379阅读:1394来源:国知局

本发明属于红外数据处理技术领域,具体涉及一种红外自学习的数据编码方法及其电路。



背景技术:

随着红外遥控技术的发展,红外遥控协议越来越多,往往不同厂家设备红外协议不同,目前已有红外遥控协议上百种。虽然协议各不相同,数据量大小也不相同,但都是通过以不同高低电平宽度组合代表不同的含义,例如,高电平宽度9000微妙,低电平宽度4500微妙的组合,代表红外协议的起始符,高电平宽度560微妙,低电平宽度1120微妙的组合,代表红外协议的数字0,等等。通过红外接收电路自学习的红外信号,输出也是这样一系列的不同高低电平宽度的组合,每个电平宽度需要2个字节存储,数据量非常大,对于单片机系统来说,内存消耗非常之多,一般小容量单片机根本无法处理此自学习的电平。



技术实现要素:

有鉴于此,本发明的主要目的在于提供一种红外自学习的数据编码方法及其电路。

为达到上述目的,本发明的技术方案是这样实现的:

本发明实施例提供一种红外自学习的数据编码方法,该方法为:根据出现次数对若干个红外自学习电平进行降序排列并且赋予每个红外自学习电平一个二进制编号,每个红外自学习电平为一由相邻高电平和低电平组成的高低电平组合,储存出现次数最多的六组高低电平组合的宽度即固定编码电平;对所述红外自学习电平进行编码时,以相邻高电平和低电平为一个高低电平组合,将所述高低电平组合与所述固定编码电平中六组高低电平组合进行比较,若相似则存储该红外自学习电平对应的二进制编号,若不相似,则存储该高低电平组合的宽度。

上述方案中,将所述高低电平组合与所述固定编码电平中六组高低电平组合进行比较,具体为:将所述高低电平组合与固定编码电平两者的误差与误差值比较,若所述误差小于误差值,则认为两者是同一个高低电平组合。

上述方案中,所述误差值为50微秒。

上述方案中,其特征在于,所述存储该高低电平组合的宽度,具体为:对于高电平先存储二进制编号,再存储高电平的宽度;对于低电平先存储二进制编号,再存储低电平的宽度。

上述方案中,所述存储该高低电平组合的宽度,具体为:如果相邻高低电平组合是相同的二进制编号时,先存储高低电平组合编号,然后再存储重复次数。

上述方案中,编码后的红外自学习电平的数据格式包括编码长度、固定编码电平和编码数据。

上述方案中,所述编码长度为1个字节,等于固定编码电平字节长度和编码数据字节长度之和。

本发明实施例还提供一种红外自学习的数据编码电路,该电路包括红外接收电路、存储电路、mcu微控制器电路、红外发送电路;

所述红外发送电路,用于发出红外自学习电平;

所述红外接收电路,用于接收红外学习获得的红外自学习电平;所述红外自学习电平为一由相邻高电平和低电平组成的高低电平组合;

所述mcu微控制器电路,用于根据出现次数对若干个红外自学习电平进行降序排列并且赋予每个红外自学习电平一个二进制编号,每个红外自学习电平为一由相邻高电平和低电平组成的高低电平组合,储存出现次数最多的六组高低电平组合的宽度即固定编码电平;对所述红外自学习电平进行编码时,以相邻高电平和低电平为一个高低电平组合,将所述高低电平组合与所述固定编码电平中六组高低电平组合进行比较;

所述存储电路,用于储存出现次数最多的六组高低电平组合的宽度,还用于在所述高低电平组合与所述固定编码电平中六组高低电平组合相似时,存储该红外自学习电平对应的二进制编号,在不相似时,存储该高低电平组合的宽度。

上述方案中,该电路还包括与mcu微控制器电路连接的状态指示电路。

与现有技术相比,本发明的有益效果:

本发明采用六组固定电平存储方式对所有电平进行编码,大大缩小了存储的数据量,同样采取相关措施进行,对于不是六组存储的固定电平,采取高电平先存储0111,然后再存储高电平宽度,低电平先存储0000,然后再存储低电平宽度,确保完整正确性,对所有的红外协议都适用;对重复电平进行重复次数存储,利用一位存储重复标志。

附图说明

图1为本发明实施例提供一种红外自学习的数据编码方法的流程图;

图2为本发明实施例提供一种红外自学习的数据编码电路的电路图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明实施例提供一种红外自学习的数据编码方法,如图1所示,该方法为:根据出现次数对若干个红外自学习电平进行降序排列并且赋予每个红外自学习电平一个二进制编号,每个红外自学习电平为一由相邻高电平和低电平组成的高低电平组合,储存出现次数最多的六组高低电平组合的宽度即固定编码电平;对所述红外自学习电平进行编码时,以相邻高电平和低电平为一个高低电平组合,将所述高低电平组合与所述固定编码电平中六组高低电平组合进行比较,若相似则存储该红外自学习电平对应的二进制编号,若不相似,则存储该高低电平组合的宽度。

所述将所述高低电平组合与所述固定编码电平中六组高低电平组合进行比较,具体为:将所述高低电平组合与固定编码电平两者的误差与误差值比较,若所述误差小于误差值,则认为两者是同一个高低电平组合。

所述误差值为50微秒。

所述存储该高低电平组合的宽度,具体为:对于高电平先存储二进制编号,再存储高电平的宽度;对于低电平先存储二进制编号,再存储低电平的宽度。

具体地,所述存储高电平方式为:先存储0111,表示是高电平,后面跟着4位低电平时长数据,例如:低电平2000微秒(0x7d0,二进制011111010000),则存储:01110000,01111101,01110111.低电平时长数据,按照4位存储方式,低4位在先。

所述存储低电平方式为:先存储0000,表示是低电平,后面跟着4位低电平时长数据,例如:低电平2000微秒(0x7d0,二进制011111010000),则存储:00000000,00001101,00000111。低电平时长数据,按照4位存储方式,低4位在先。

所述存储该高低电平组合的宽度,具体为:如果相邻高低电平组合是相同的二进制编号时,先存储高低电平组合编号,然后再存储重复次数。

具体地,如果出现如下电平:高560微秒,低1120微秒,高560微秒,低1120微秒,高560微秒,低1120微秒,高560微秒,低1120微秒,……,这种高560微秒,低1120微秒组合连续出现了12次,如果这种电平组合是六组固定电平组合之一,且编号为0001,则具体存储为:先存储电平组合编号0001,再存储次数12次(二进制1100),存储10001110,存储次数按照4位存储方式,最高位代表重复标志,固定为1,低3位具体为重复次数,低位在先,12次二进制为1100,则分成高3位110和低1位0。

编码后的红外自学习电平的数据格式包括编码长度、固定编码电平和编码数据。

所述编码长度为1个字节,等于固定编码电平字节长度和编码数据字节长度之和。

实施例:

本发明实施例提供一种红外自学习的数据编码方法,红外自学习电平为一系列高低电平组成,将相邻高电平和低电平看成一个高低电平组合,出现最多的高低电平组合,编号用二进制表示为0001,出现第二多的高低电平组合编号为0010,依次类推,出现第6多的高低电平组合编号为0110,依次存储这六组高低电平宽度,即为固定编码电平,每组用4个字节,共24字节;以相邻高电平和低电平为一个高低电平组合,将此组合与固定编码电平中六组高低电平组合进行比较,若相似则存储对应二进制编号,若不相似,则存储此高低电平宽度。存储高低电平宽度时,高电平先存储0111,然后再存储高电平宽度,低电平先存储0000,然后再存储低电平宽度。若相邻高低电平组合是一样的固定编码电平的二进制编号,则先存储高低电平组合编号,然后再存储重复次数。

本发明实施例还提供一种红外自学习的数据编码电路,如图2所示,该电路包括红外接收电路、存储电路、mcu微控制器电路、红外发送电路;

所述红外发送电路,用于发出红外自学习电平;

所述红外接收电路,用于接收红外学习获得的高低电平组合宽度数据;

mcu微控制器电路,用于根据出现次数对通过红外学习获得的高低电平时长组合数据进行降序排列;存储出现最多的六组高低电平数据的宽度,并进行编号,分别为0001~0110。对红外自学习电平进行编码时,以相邻高电平和低电平为一个高低电平组合,将所述高低电平组合与存储的固定编码电平中六组高低电平组合进行比较;若相似,则存储固定电平的编号,若不相似,则存储具体高低电平的宽度。

所述存储电路,用于储存出现次数最多的六组高低电平组合的宽度,还用于在所述高低电平组合与所述固定编码电平中六组高低电平组合相似时,存储该红外自学习电平对应的二进制编号,在不相似时,存储该高低电平组合的宽度。

该电路还包括与mcu微控制器电路连接的状态指示电路。

以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

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