一种适用于各种格式红外控制信号的编码方式的制作方法

文档序号:7506375阅读:186来源:国知局
专利名称:一种适用于各种格式红外控制信号的编码方式的制作方法
技术领域
本发明涉及一种编码方式,特别地,本发明涉及一种适用于各种格式红外控制信号的编码方式。
背景技术
现有的红外遥控信号都采用了某种信号编码方式,如常用红外信号采用二进制的形式,区别仅仅是信号时间的长度和位数的不同。常用的信号编码方式有1.脉冲编码根据脉冲宽度不同编码的方式,索尼(SONY)公司采用的就是这种编码方式。
2.间隔编码根据脉冲间隔时间长短不同来编码的方式,松下(Panasonic)公司采用的就是这种编码方式,也常被称为REC-80方式。
3.转换编码根据脉冲和间隔时间顺序的改变来编码的方式,菲利普(Philips)公司使用这种方式,也称为RC-5方式。
由上所见,不同的公司提供的红外编码方式都不尽相同,编码的原理各式各样,没有统一的格式。
在一些红外控制的应用中,如万能遥控器、多媒体设备集中控制、系统集成工程等,常常需要通过自制红外发射装置对多台设备进行遥控,这就需要对设备的遥控信号进行复现,通常的方法有二种1.直接采用原格式的编码方式采用这种编码方式,对每一种格式都要编写专用的采集识别软件和输出驱动软件,工作量大,且难以穷尽所有的格式,再加上有新的格式不断产生,使之采用这种方法的设备通用性很差。
2.红外遥控信号的脉冲和间隔时间以约定的精度采样记录下来,需要遥控设备时按顺序复原。
缺点控制信号数据量大,要占据很大的内存空间,相关的硬件成本大大提高,且数据反映不了红外信号的特征和不同按键之间的相关性。
本发明创建的编码方式适用于各种格式的红外遥控信号,能够把信号数据量压缩到最小,使存储空间大大减少,并能直观反映红外信号的特性,方便移植到其他系统中。

发明内容
本发明的目的在于提供一种新的红外编码记录方式,该方式在包容以往出现的编码方式的同时,能适应新出现的编码方式,使不同的格式的红外控制信号用统一的编码方式来表达。
本发明的目的是通过以下技术方案来实现的,一种适用于各种格式红外控制信号的编码方式,其特征在于,包括以下步骤1).定义特征码,定义PPM、RC-5、脉位编码、脉冲编码和自定义五种红外遥控信号类型;2).采集数据,用单片机采集记录红外遥控数据的数据位和间隔位,在采样期间,自动调整信号采样频率,在不失真的前提下,将采集的数据进行压缩;3).确定数据类型,单片机根据数据内容判断数据是否属于常见数据类型,若采集的数据符合某种类型的所有特征,就可以确定这组红外数据的类型;若不符合所有常见类型的特征,就属于自定义类型;4).完善特征码数据,将数据的类型放入特征码的第一字节,计算特征码中的其余各项数据;5).归纳数据码,数据码不采用固定的进制,在确定数据码数值时,先判断信号脉冲的种类即脉宽数N,N=2用二进制;3≤N≤4用四进制;5≤N≤16用八进制,如此类推;再根据每一类型的信号脉宽,分析得出这段采样数据的数据码数值;在整组数据分析完后,得到的数据就是该组红外控制信号的数据码。
我们将红外遥控信号编码采用统一的编码方式记录下来,这样做的优点在于1、具有通用性。本方案将红外遥控信号分解成特征码和数据值两个部分来描述,采用这样的编码方式能兼容以前的常用编码方式,又能自适应新出现的编码方法,使各种不同的编码得到整合。
2、红外信号编码方式自动调整,如大多信号数据采用二进制编码方式,还有四进制或其他。若用固定采样频率记录红外控制信号,又要保证小脉宽信号的采样精度,数据量会很大。我们的编码方式设置了“采样时间系数”这一参数,在信号采样这一步骤中就将数据量压缩了。在特征归纳的步骤中,进制事先不固定,而是根据数据的具体情况来确认。这两个步骤保证数据不失真的前提下,能以最高压缩率来实现数据的压缩。数据经过压缩后,数据量小了。
3、优先识别最常见的红外编码类型,提高工作效率。对于常见的PPM类型编码和RC-5类型编码等,我们将优先识别,保留其编码特征,使编码的效率进一步提高。


图1红外遥控信号特征码类型判断流程;图2RC-5类型红外遥控信号判断方式;图3PPM类型红外遥控信号判断方式。
具体实施例方式
下面根据

本发明具体实施例。
通过单片机读取到红外遥控信号的脉冲和间隔的宽度,将数据暂存在内存缓冲区内。根据特征码归纳的方案得出此遥控信号的特征码,再计算出功能控制码的具体数值。
(1)脉宽的记录红外编码信号由一串高低电平构成,无信号时为高电平,起始位肯定为低。每次高低电平转换时都有个跳变,记录下每个跳变之间的时间间隔就等于知道每个脉冲和间隔的宽度。记录时间间隔的方式很多,可以使用循环检测法,外部中断法等。在采样期间,引入“采样时间系数”的概念,自动调整信号采样频率,即在不失真的前提下,将采集的时间数据进行压缩,减少数据占据的内存空间,同时提高随后数据分析所耗费的时间。假设我们将每个时间间隔的采样数值放在一个data数组中。
(2)特征码归纳的方案特征码的归纳首先是优先判断红外信号是否为四种常用类型。每种编码类型都具有其显著的特征,若采集的数据符合某种类型的所有特征,我们就可以确定这组红外数据的类型;若不符合所有常见类型的特征,就将其归为第五种类型——“自定义类型”。这样的设计方案有利于提高工作效率,直观反应编码类型。
具体制定的特征码方案如下1.01是PPM标准数据区定义地址特征参数 字节数备注00h 01 1 编码类型01h 功能控制码位数 102h 功能控制码字节数103h04h 起始位低电平205h06h 起始位高电平207h 标志脉冲108h 0 1 数据0的脉宽09h 1 1 数据1的脉宽0ah0bh 间隔20ch 已注册功能数10dh 采样时间系数1 用于时间还原2.02是RC-5标准数据区定义00h 02 101h 低电平窄脉冲102h 低电平宽脉冲103h 高电平窄脉冲104h 高电平宽脉冲105h 已注册功能数13.05脉位编码是表示每一码位的宽度相同,以高电平持续时间的宽窄来代表“1”、“0”。特征码定义如下00h 0501h 低电平窄脉冲02h 低电平宽脉冲
03h 高电平窄脉冲04h 高电平宽脉冲05h 06h 起始脉冲低电平07h 08h 起始脉冲高电平09h 功能控制码位数0ah 功能控制码字节数0bh 已注册功能数0ch 采样时间系数4.06脉冲编码每位码归零的时间宽度相同,以高电平持续的时间长短表示“1”、“0”,具体定义如下00h 0601h 功能控制码位数02h 功能控制码字节数03h 起始位低电平04h 起始位高电平05h 归零时间宽度06h 007h 108h 间隔09h 己注册功能数0ah 采样时间系数5. 07为自定义类型,特征码的字节数随控制码的不同而不同。
00h 0701h 功能控制码位数02h 功能控制码字节数03h 低电平数据类型数(m)04h 高电平数据类型数(n)05h 起始低电平06h 起始高电平07h 低电平1。。。
07h+m 低电平m
07h+m+1 高电平1。。。
07h+m+n 高电平n07h+m+n+1己注册功能数07h+m+n+2采样时间如上,我们在特征码的00h的位置上放置特征码的类型数据,根据这个字节的数据我们可以知道该类型的特征码的长度和特征码内每个字节的含义。
具体实现方案如图1,首先我们判断数据是否为rc-5类型(rc-5类型具体判断方式如图2)。若不是rc-5类型红外编码方式,则判断是否存在标志脉冲,标志脉冲的判断是将data(i+2)、data(i+4)、...和data(i)进行对比,看是否相等(即在一定误差范围内)。若相等,说明存在标志脉冲,有标志脉冲就能进一步判断是否为PPM类型编码方式。PPM类型编码方式的判断具体步骤如图3。若不存在标志脉冲或不是PPM类型数据,可进一步判断数据的归零时间是否相等,归零时间的判断和标志脉冲的判断原理相同,只是判断的数据变为data(i+3)、data(i+5)、...等数据是否在data(i+1)的误差范围之内。归零时间相等,这组红外编码数据的特征值00字节赋值为06,即第六种类型的编码方式。若归零时间也不相等,则判断脉位宽度是否相等。脉位宽度是否相等的判断方式即是看data(i)+data(i+1)和data(i+2)+data(i+3)是否相等。相等,则定义其为05类特征数据;否则归为07类型即自定义类型数据。
从图2中我们可以看到rc-5类型红外编码判断的具体步骤。Rc-5类型红外编码的特征是数据位数等于14,红外编码信号没有起始脉冲。数据的每个脉位时间是固定的为1.778ms,脉冲或间隔时间在1/4到3/4的脉位时间宽度。由此,我们还知道数据的压缩率是1∶24,即采样系数为4。符合上述特征的红外编码我们认为是rc-5类型的。
图3为PPM类型红外编码的归纳方式。PPM类型红外编码的特征是间隔位宽度相同(即存在标志脉冲);数据为二进制数据,数值“0”和“1”是以脉冲的宽度来来区分的。所以可以首先根据是否具有间隔位来判断编码是否为PPM类型;再判断数据位是否为二进制的,并计算数据“0”和数据“1”代表的脉冲具体宽度数值;另外还要分析起始位信息、间隔位信息、重复方式等。
(2)自定义类型特征码、数据码生成算法这里重点介绍“自定义类型”的归纳过程。特征码的原始构成是按照“类型5”(即“自定义类型”)来归纳的。但为了提高效率,使特征码更加直观,我们在设计时考虑到常用红外编码方式的判断优先,于是将常见的四种编码方式的特征值又进行了优化,归为某种特定类型,对于不属于四种常见类型特征的红外遥控编码,我们将其归为“自定义类型”。
表1为自定义红外编码的归纳方式。
数据数组data0 1 2 3 4 5 6 7 8 9 10 1112 13 14 15 16 17…

a

000 000 000 000 001 001 010 010011 010 010 011 001 000 000 001011 100…00 02 52 69 32 01 70 ----功能码数值 七个字节,共54位数据数组data--表示我们记录的脉冲和间隔的宽度。
数组a---段和数据数组等长的暂存空间,用来计算脉冲的具体数值。
先判断数组的奇数位(即低电平数据)数组a长度与采样数据长度相等,每位记录该电平属于第几种类型。数组a每位初始化为空,对于起始位,判定有,可先赋值a(0)~a(3)为ffh。之后将a(i)赋值j(j>=0),将数据数组的data(I)与data(I+2)、data(I+4)、data(I+6)、…数据进行比较,若数据在误差范围内,则在数组a的相应位置记录与I位相同的内容即j,数据数组扫描完一遍后,再从头开始,寻找a数组中第一个数据为空的奇数位置,将其内容赋值为j+1,再取出数据数组相应位置的数据。在数据数组中寻找与之相等的数据值,并对与那个数据对应位置相同的a(i)赋值j+1,继续搜索判断,直到搜寻完整个数组。循环检测,直到数组a中没有数据为空。
同样可判断偶数位(即高电平数据)。
记录下低电平脉宽数和高电平脉宽数。由于自定义类型要包容所有未知的格式,用二进制的2个状态无法表示信号的各种不同形态。本发明采用独创的“浮动进制”,即数据码不采用固定的进制。在确定数据码数值时,先判断信号的脉宽数N,N=2用二进制;3≤N≤4用四进制;5≤N≤16用八进制,如此类推。由此可使信号编码数据量最小化。根据个数将数组a中的数据转换为N进制数据,再根据具体数值移位,放入十六进制字节中,这样得到此遥控命令的功能数据码的具体数值。
(3)关于重复脉冲的判定对于重复脉冲,在数据采集时,若记录的脉冲宽度超过某一特定值之后,我们认为这一时间代表一个间隔,一组脉冲发射告以段落。接下来可判定间隔后面的脉冲是重复脉冲还是又一组具体数据值。若为重复标志脉冲,则记录下来。若为数据,则判断数据与前一段数据是否相同,数据不同,则记录数据,并作出标志;相同,则认为是重复,标记重复。具体标志方式如ppm编码方式中特征码00字节的定义01表示一段数据,存在间隔时间的话,间隔时间后按原样重发。
11表示一段数据之后有表重复标志的脉冲21表示两端都有起始位,前后两组数据不相同;41前后两组数据不同,且分有无起始位的不同;(4)其他注意在不同功能键的特征码比较时,关键是表示数据位的脉冲宽度是否一致,可只根据第一段的数据值进行比较。红外信号还原时,根据第一字节定义的类型取出特征码,再根据采样系数还原时间长度,最后根据控制码的数据值对应出相应的电平信号。
上述实施例用来解释说明本发明,而不是对本发明进行限制,在本发明的精神和权利要求的保护范围内,对本发明作出的任何修改和改变,都落入本发明的保护范围。
权利要求
1.一种适用于各种格式红外控制信号的编码方式,其特征在于,包括以下步骤1).定义特征码,定义PPM、RC-5、脉位编码、脉冲编码和自定义等五种红外遥控信号类型。2).采集数据,用单片机采集记录红外遥控数据的数据位和间隔位,在采样期间,自动调整信号采样频率,在不失真的前提下,将采集的数据进行压缩。3).确定数据类型,单片机根据数据内容判断数据是否属于常见数据类型,若采集的数据符合某种类型的所有特征,就可以确定这组红外数据的类型;若不符合所有常见类型的特征,就属于自定义类型。4).完善特征码数据,将数据的类型放入特征码的第一字节,计算特征码中的其余各项数据。5).归纳数据码,数据码不采用固定的进制,在确定数据码数值时,先判断信号脉冲的种类即脉宽数N,N=2用二进制;3≤N≤4用四进制;5≤N≤16用八进制,如此类推;再根据每一类型的信号脉宽,分析得出这段采样数据的数据码数值;在整组数据分析完后,得到的数据就是该组红外控制信号的数据码。
2.根据权利要求1所述的适用于各种格式红外控制信号的编码方式,其特征在于,所述单片机为51芯片。
3.根据权利要求1和2所述的适用于各种格式红外控制信号的编码方式,其特征在于,所述常见数据类型为PPM、RC-5、脉位编码和脉冲编码数据类型。
全文摘要
本发明涉及一种适用于各种格式红外控制信号的编码方式,包括定义特征码、采集数据、确定数据类型、完善特征码数据、归纳数据码几个步骤;本发明的编码方式具有通用性,能够自动调整红外信号编码方式、优先识别最常见的红外编码类型,提高工作效率。
文档编号H03M7/00GK1599258SQ20041002565
公开日2005年3月23日 申请日期2004年6月25日 优先权日2004年6月25日
发明者宋建华, 张宇燕, 杜爱明, 常志华 申请人:浙江大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1