CN102467816A - 一种红外线遥控信号解码方法及装置 - Google Patents
一种红外线遥控信号解码方法及装置 Download PDFInfo
- Publication number
- CN102467816A CN102467816A CN2010105500087A CN201010550008A CN102467816A CN 102467816 A CN102467816 A CN 102467816A CN 2010105500087 A CN2010105500087 A CN 2010105500087A CN 201010550008 A CN201010550008 A CN 201010550008A CN 102467816 A CN102467816 A CN 102467816A
- Authority
- CN
- China
- Prior art keywords
- pulse width
- code
- section
- pulse
- code stream
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Selective Calling Equipment (AREA)
- Details Of Television Systems (AREA)
Abstract
本发明实施例公开了一种红外线遥控信号解码方法及装置,本发明技术方案通过判断输入的码流的脉冲宽度是否是对应码段内期望的脉宽;当判断输入的码流的脉宽不是对应码段内期望的脉宽时,结束该脉冲所在周期的码流接收;当判断出所有脉冲宽度是对应码段期望的脉宽时;才执行相应的控制。与现有技术相比,本方案可以及时发现接收到的码流错误,停止接收错误的码流,减少对错误码流所占用的系统资源,有效的提高了接收机处理的效率。
Description
技术领域
本发明涉及红外线遥控信号处理领域,具体涉及一种红外线遥控信号解码方法及装置。
背景技术
红外线遥控是一种广泛使用的通信和控制手段。红外线遥控技术不仅在电视、录像机、空调等小型电器装置上广泛应用,也被广泛应用在高压、辐射、有毒气体、粉尘等工业环境下,提供对设备进行可靠的控制。
现有技术中对红外线遥控信号的解码方法包括:红外线接收机获取键值的每个周期中包括的各种码的脉冲宽度,对获取的每个周期的脉冲宽度进行解析,判断出每个周期所代表的键值,将该键值输出给控制器,执行相应键值对应的控制。以NEC码为例,如图1(a)所示为带重复码的NEC格式编码的脉冲信号,Tf为脉冲信号的周期,其中,重复码表示与之前输入的码流表示相同键值的脉冲波形;如图1(b)所示为键值的一个周期中包括:前导码,用户码1,用户码2,键值码以及键值码的反码;其中,如图1(c)所示前导码由9ms的高脉宽和4.5ms的低脉宽组成,用户码1,用户码2,键值码以及键值码的反码分别是由8比特(bit)的值(0或者1)组成,0或者1又是由不同的脉宽组合来代表;其中,0是由0.56ms的高脉宽和0.565ms的低脉宽组成,1由0.56ms的高脉宽和1.69ms的低脉宽组成;红外线接收机将每个周期的高、低脉宽的长度记录下来,与预先存储的信息进行比较,可以获知该周期所携带的信息,即获知该周期的键值。
从对现有技术的研究中发现:现有技术中对红外线遥控信号的解码中需要将每个周期中包括的多个脉宽信息都记录下来,从而判断该周期内信号携带的信息的意义,该现有技术中至少需要记录一个周期内多个脉宽信息,占用了较多的系统资源;而且,现有技术中接收机需要对每个周期内所有的码进行解析,对于一个周期内显而易见的误码不能进行识别,从而使得接收机处理的效率不高。
发明内容
本发明实施例提供一种红外线遥控信号解码方法及装置,有效地克服了现有技术中占用系统资源多,以及接收机处理效率不高的问题。
本发明实施例提供了一种红外线遥控信号解码方法,包括:
对输入码流的每个脉冲宽度进行计数;
根据对脉冲宽度的计数和预置的参考值,判断输入的码流在当前周期内的脉冲宽度是否与对应码段内期望的脉宽匹配;如果是,重复对下一个或者多于一个的脉冲宽度进行所述判断,直到将所述码流周期内的非数据码段的脉冲宽度都判断完毕;
当将所述码流周期内非数据码段的脉冲宽度都判断完毕后,存储所述码流周期内数据码段内的脉冲宽度计数;从而通过数据码段内的脉冲宽度的计数,获取到输入码流中的控制数据;
当判断输入的码流的脉冲宽度不是对应码段内期望的脉宽时,开始对下一个码流周期重复执行所述判断输入的码流在当前周期内的脉冲宽度是否与对应码段内期望的脉宽匹配的操作。
优选的,所述对输入码流的脉冲宽度计数之前,所述方法还包括:
根据预设的脉宽门限,对输入的码流中的脉冲进行滤波。
优选的,所述存储所述码流周期内数据码段内的脉冲宽度计数之后,所述方法还包括:
存储所述码流周期内数据反码段内的脉冲宽度计数;
根据所述数据码段内的脉冲宽度计数,和所述数据反码段内的脉冲宽度计数,判断所述周期内的数据码段与数据反码段的值是否相反,如果是,根据存储的数据码段内的脉冲宽度计数,执行相应的控制。
优选的,所述码流周期内非数据码段包括:前导码段,用户1码段,和用户2码段。
优选的,所述根据对脉冲宽度的计数和预置的参考值,判断输入的码流在当前周期内的脉冲宽度是否与对应码段内期望的脉宽匹配,具体包括:
以每个码段为单位,判断在当前周期内输入的多于一个不同宽度的脉冲组合是与对应码段的脉冲组合中脉冲的宽度匹配;
或者,以每个脉冲宽度为单位,判断在当前周期内输入的一个脉冲宽度是否与对应码段中对应脉冲的宽度匹配。
本发明实施例提供了一种红外线遥控信号解码装置,包括:
脉宽计数器,用于对输入码流的每个脉冲宽度进行计数;
第一判断单元,用于根据对脉冲宽度的计数和预置的参考值,判断输入的码流在当前周期内的脉冲宽度是否与对应码段内期望的脉宽匹配;如果是,重复对下一个或者多于一个的脉冲宽度进行所述判断,直到将所述码流周期内的非数据码段的脉冲宽度都判断完毕;
存储单元,用于当将所述码流周期内非数据码段的脉冲宽度都判断完毕后,存储所述码流周期内数据码段内的脉冲宽度计数;从而通过数据码段内的脉冲宽度的计数,获取到输入码流中的控制信息;
第二判断单元,用于当判断输入的码流的脉冲宽度不是对应码段内期望的脉宽时,开始对下一个码流周期重复执行所述第一判断单元中判断输入的码流在当前周期内的脉冲宽度是否与对应码段内期望的脉宽匹配的操作。
优选的,所述装置还包括:
滤波单元,用于根据预设的脉宽门限,对输入的码流中的脉冲进行滤波。
优选的,所述存储单元还用于存储所述码流周期内数据反码段内的脉冲宽度计数;
所述装置还包括:第三判断单元和控制单元;
所述第三判断单元,用于根据所述数据码段内的脉冲宽度计数,和所述数据反码段内的脉冲宽度计数,判断所述周期内的数据码段与数据反码段的值是否相反;
控制单元,用于当第三判断单元中判断出数据码段与数据反码段的值相反时,根据存储的数据码段内的脉冲宽度计数,执行相应的控制。
优选的,所述第一判断单元中用于根据对脉冲宽度的计数和预置的参考值,判断输入的码流在当前周期内的脉冲宽度是否与对应码段内期望的脉宽匹配,具体包括:
以每个码段为单位,判断在当前周期内输入的多于一个不同宽度的脉冲组合是与对应码段的脉冲组合中脉冲的宽度匹配;
或者,以每个脉冲宽度为单位,判断在当前周期内输入的每个脉冲宽度是否与对应码段中对应脉冲的宽度匹配。
优选的,所述第一判断单元或者第二判断单元由硬件解码实现。
本发明实施例中通过判断输入的码流的脉冲宽度是否是对应码段内期望的脉宽;当判断输入的码流的脉宽不是对应码段内期望的脉宽时,结束该脉冲所在周期的码流接收;当判断出所有脉冲宽度是对应码段期望的脉宽时;才执行相应的控制。与现有技术相比,本方案可以及时发现接收到的码流错误,停止接收错误的码流,减少对错误码流所占用的系统资源,有效的提高了接收机处理的效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1(a)是带重复码的NEC格式编码的脉冲信号示意图;
图1(b)是键值的一个周期包括的码段的示意图;
图1(c)是编码符号的脉冲表示方式示意图;
图2是本发明实施例提供的一种红外线遥控信号解码方法流程图;
图3是本发明实施例提供的另一种红外线遥控信号解码方法流程图;
图4是本发明实施例提供的硬件解码状态机包括的状态的示意图;
图5是本发明实施例提供的另一硬件解码状态机包括的状态的示意图;
图6是本发明实施例提供的一种红外线遥控信号解码装置示意图。
具体实施方式
本发明实施例提供一种红外线遥控信号解码方法及装置。以下分别进行详细说明。
如图2所示为本发明实施例提供的一种红外线遥控信号解码方法,包括:
步骤201:对输入码流的每个脉冲宽度进行计数;
需要说明的是,在步骤201可以具体是由红外线遥控信号解码装置中的脉宽计数器来执行对输入的码流的脉宽计数的。
步骤202:根据对脉冲宽度的计数和预置的参考值,判断输入的码流在当前周期内的脉冲宽度是否与对应码段内期望的脉宽匹配;如果是,执行步骤203;如果否,则执行步骤205;
其中,步骤202中所说的预置的参考值可以用于表示一个码流周期中用于识别发射该码流的发射设备(如红外遥控器),如NEC码的前导码,用户码1,和用户码2用于表示发射设备的身份,对于特定的发射设备上述各个码的值是固定的,且是已知的,则上述各个码的对应码段中脉宽是已知的,用预置的参考值表示。还需要理解的是,这里所说的对应码段可以是指如图1(b)中包括的:前导码段,用户1码段,用户2码段,但是不限于当前所说码段。其中,对输入的脉冲宽度的判断所依据的顺序是:先判断是否是该红外线编码格式中在时间上排在最前的前导码段内的第一个脉冲,如果是,再判断是否是前导码段内的第二个脉冲,如果是,再判断是否是用户1码段的第一脉冲宽度,以此类推,上述判断脉冲宽度是否是对应码段期望的脉宽的理解应参考上述说明。
还需要说明的是,步骤202中所说的匹配可以是脉冲宽度计数是否在预置的参考值的范围中,在这个范围内就是匹配,不在该范围内则不匹配。
步骤203:重复对下一个或者多于一个的脉冲宽度进行如步骤202的判断,直到将该码流周期内非数据码段的脉冲宽度都判断完毕;
其中,上述非数据码段可以是指用于表示发射设备的身份的编码,如NEC码的前导码、用户码1、和用户码2;需要理解的是,对于不同的编码方法,则非数据码段会有不同,此处不应该理解为对本发明实施例的限制。
步骤204:当将上述码流周期内非数据码段的脉冲宽度都判断完毕后,存储该码流周期内数据码段内的脉冲宽度计数;从而通过数据码段内的脉冲宽度的计数,获取到输入码流中的控制信息;
其中,仍然参见图1(b)所示的键值的一个周期内的示意图,该周期内的码流中包括:前导码,用户码1,用户码2,数据码,和数据反码。红外线遥控信号解码装置在执行步骤202和203时,可以根据预先的设置选择采用以每个脉冲宽度为单位进行判断,当判断出接收到的一个脉冲宽度不是对应码段内期望的脉宽时,就结束该周期的码流接收。例如:以NEC码为例,若红外线遥控信号解码装置接收到第一脉冲宽度计数获知该第一脉冲宽度是9ms时,则判断出该脉冲宽度是前导码内第一期望的脉宽,继续对接收到的第二脉冲宽度进行上述判断;如果第一脉冲宽度不是9ms,则结束对该脉冲所在周期的脉冲的判断,判断下一个脉冲是否是下一个周期的前导码中的9ms脉冲。如果该码流周期内非数据码段的脉冲宽度都判断完毕,且都与预置的参考值匹配,则红外线遥控信号解码装置存储该码流周期内数据码段内的脉冲宽度计数。红外线遥控信号解码装置根据存储的数据码段内的脉冲宽度计数,可以获取输入码流中的控制信息,执行相应的控制。
上述码流中的控制信息具体可以是根据脉冲宽度的计数获知数据码段内的0和1组成的代码,根据获知的代码相应的获知要执行的控制,具体可以是选择特定的频道,控制音量,开启或关闭被遥控设备,返回上次收看频道,或是消除声音等控制。
红外线遥控信号解码装置在执行步骤202和203时,可以根据预先的设置选择采用以每个码段为单位进行判断,当判断出接收到的多于一个脉宽宽度不是对应码段内期望的脉宽时,就结束该周期的码流接收。例如:以NEC码为例,若红外线遥控信号解码装置接收到第一、二脉冲的宽度分别是9ms和4.5ms时,则判断出第一、二脉冲是前导码,否则,结束该周期的码流接收;在判断出第一、二脉冲是前导码后,继续判断后续8个脉冲的宽度是否是用户码1内期望的脉宽,以此类推,直到将该码流周期内非数据码段都判断完毕后,存储后续获得的数据码段内的脉冲宽度计数。
步骤205:当判断输入的码流的脉冲宽度不是对应码段内期望的脉宽时,开始对下一个码流周期重复执行步骤202中判断输入的码流在当前周期内的脉冲宽度是否与对应码段内期望的脉宽匹配的操作。
其中,步骤205可以具体是由脉宽计数器来执行,当判断出码流的脉宽不是对应码段内期望的脉宽时,脉宽计数器继续对输入的码流计数,开始对下一个码流周期进行判断,按照时间的顺序对各脉冲宽度进行判断。换句话说,在步骤205中结束上一个周期的码流接收,即,判断下一个脉冲宽度是否符合下一个周期开始的前导码脉冲宽度,如判断该下一个脉冲宽度是否是前导码中第一个脉冲宽度9ms。
通过上述对本发明实施提供的一种红外线遥控信号解码方法的说明,通过判断输入的码流的脉冲宽度是否是对应码段内期望的脉宽;当判断输入的码流的脉宽不是对应码段内期望的脉宽时,结束该脉冲所在周期的码流接收;当判断出所有脉冲宽度是对应码段期望的脉宽时;才执行相应的控制。与现有技术相比,本方案可以及时发现接收到的码流错误,停止接收错误的码流,减少对错误码流所占用的系统资源,有效的提高了接收机处理的效率。
进一步,在步骤201之前,该方法还可以包括:
步骤206:根据预设的脉宽门限,对输入的码流中的脉冲进行滤波;
由于受到外界环境中的光的干扰,输入的码流有可能存在毛刺,在进行脉冲宽度计数之前,将串行输入的码流中脉冲宽度低于预设的脉宽门限的脉宽滤除。该预设的脉宽门限可以是针对特定码流的脉冲宽度而灵活设置。
通过增加步骤206,使得该方法对输入的码流中的脉冲宽度进行过滤,将明显噪声过滤,从而提高了效率。
进一步,当特定的编码格式中包括数据反码时,在步骤204之后,所述方法还包括:
步骤207:存储该码流周期内数据反码段内的脉冲宽度计数;
步骤208:根据数据码段内的脉冲宽度计数,和数据反码段内的脉冲宽度计数,判断该周期内的数据码段与数据反码段的值是否相反,如果是,根据存储的数据码段内的脉冲宽度计数,执行相应的控制。
其中,数据反码的作用是为了保证接收的数据的正确,通过增加步骤207、步骤208(步骤207和步骤208未在图2中显示),提高解码出红外控制信号的正确率。还需要说明的是,步骤208中执行相应的控制具体可以是理解为:当获取到数据码段内的脉冲宽度计数后,根据脉冲宽度的计数获知数据码段内的0和1组成的代码,根据获知的代码相应的获知要执行的控制,具体可以是选择特定的频道,开启或关闭被遥控设备,返回上次收看频道,控制音量,或是消除声音等控制。
如图3所示为本发明实施例提供的另一种红外线遥控信号解码方法,该方法与图2所示的方法相似在于对串行输入的码流中的脉冲宽度进行判断;图3所示的方法的特点在于以串行输入的单个脉宽宽度为单位,判断输入的码流是否是能够携带信息的码流。这里所说的能够携带信息的码流,可以理解为脉冲宽度或者脉冲宽度的组合。例如:图1(c)中通过脉冲宽度组合可以判断出分别是重复码、比特0、或者比特1,此处是以NEC格式编码为例的说明,对于不同格式的编码,脉冲宽度组合或者脉宽宽度所代表的信息可以不同。下面对图3所示方法进行详细说明。
步骤301:与步骤201相同,对输入的码流的每个脉冲宽度进行计数;
需要说明的是,红外线遥控信号解码装置中可以包括分频器,分频器对系统时钟进行处理得到需要的参考时钟,该参考时钟可以作为脉宽计数器的计数的最小单位。参考时钟可以通过调节分频器的分频比而改变。脉宽计数器将输入的码流的高、低脉宽度分别进行计数并分别存入相应的寄存器,在本实施例中采用16bits的计数器。
步骤302:根据对脉冲宽度的计数和预置的参考值,判断输入的码流在当前周期内的脉冲宽度是否是对应码段内期望的脉宽具体包括:以每个脉冲宽度为单位,判断在当前周期内输到的一个脉冲宽度是否与对应码段中对应脉冲的宽度匹配;如果是,执行步骤303;如果否,则执行步骤307;
步骤303:重复对下一个脉冲宽度进行如步骤302判断,直到将该码流周期内非数据码段的脉宽都判断完毕;
步骤304:将上述码流周期内非数据码段的脉冲宽度都判断完毕,存储该码流周期内数据码段内的脉冲宽度计数;
步骤305:存储该码流周期内数据反码段内的脉冲宽度计数;
步骤306:根据数据码段内的脉冲宽度计数,和数据反码段内的脉冲宽度计数,判断该周期内的数据码段与数据反码段的值是否相反,如果是,根据存储的数据码段内的脉冲宽度计数,执行相应的控制。
需要说明的是,如果该步骤302是由硬件实现时,且采用NEC格式编码,则红外线遥控信号解码装置中的硬件解码状态机可以分为如图4所示的状态,包括:空闲状态,开始接收前导码状态,接收前导码状态,结束接收前导码状态,开始接收用户码1状态,接收用户码1状态,结束接收用户码1状态,开始接收用户码2状态,接收用户码2状态,结束接收用户码2状态,接收数据码状态,接收数据反码状态,开始接收重复码状态,接收重复码状态,结束接收重复码状态;图4中用圆圈表示各种状态,用箭头表示硬件解码机从前一个状态进入下一个状态,虚线箭头表示当硬件解码机对多于一个脉冲判断后仍然处于同一状态,例如当接收用户码1状态时需要对8个比特进行判断,需要对16个脉冲进行判断后进入结束接收用户码1状态。如果包含多个重复码,则图4所示的状态还可以继续增加重复码状态。重复码可以是指当红外线信号发射端用户长按某一按键,产生的码流信号。
如果输入的码流在第一个周期的格式如图1(b)所示的码流(或称为“完整码”),在第二个周期输入的码流为重复码,当装置对该重复码流周期内非数据码段的脉冲宽度都判断完毕后,获取该周期之前、与该重复码最近的完整码内的数据码段内的脉冲宽度计数。可以理解为重复码中携带的控制信息与上述完整码中携带的控制信息相同,执行相同的控制操作。
还需要理解的是,步骤302中利用到的预置的参考值是硬件解码机处于特定状态时,输入的码流可能的脉冲宽度的计数值,例如:开始接收前导码状态时该预置的参考值是9ms的脉宽计数值,如果接收到的码流的高脉冲宽度不是9ms,则硬件解码机转为空闲状态,即重复判断下一个脉冲宽度是否是9ms;如果接收到的码流的高脉冲宽度是9ms,则硬件解码机转为开始接收前导码状态;硬件解码机继续获取脉宽宽度,与表示进行接收前导码状态的预置的参考值进行比较,如果接收到的码流的低脉冲宽度是4.5ms,则硬件解码机转为接收前导码状态,否则继续判断下一个脉冲宽度是否是9ms,以此类推直到对非数据码的脉冲宽度都判断完毕,则存储后续获取的数据码段内脉冲宽度计数和数据反码段内脉冲宽度计数。
当硬件解码机对接收的一个周期内非数据码段的各种码段的脉冲宽度都判断结束后,存储后续接收到的数据码的脉冲宽度,验证该周期内数据码段与数据反码段的值是否相反,如果是,认为接收到携带有键值信息的数据,将该数据发送给控制器处理,由控制器执行相应的处理。
步骤307:当判断输入的码流的脉宽不是对应码段内期望的脉宽时,开始对下一个码流周期的重复进行步骤302的判断。
通过上述说明,当硬件解码机按照时间的先后顺序判断出接收到码流的脉冲宽度与预置的参考值对应的脉冲宽度不匹配的,则结束该周期的后续码流接收。
还需要说明的是,预置的参考值可以是具体的数值,也可以是一个数值范围,即设定一容差限值(dispersion_thld),当记录的高、低脉冲宽度与所设定的寄存器值之差在正负容差限值(dispersion_thld)之间就认为两者相符。
如图5所示为本发明实施例提供的另一种硬件解码机种工作状态示意图,该图5与图4的区别在于将图4中的状态进行了简化,图5中所示的状态包括:空闲状态,结束接收前导码状态,结束接收用户码1状态,结束接收用户码2状态,结束接收数据码状态,结束接收数据反码状态,和一个或者多个结束接收重复码状态。因此,本发明实施例还提供一种与图5相对应的红外线遥控信号解码方法,该方法中以每个码段为单位进行判断,判断接收到的多于一个不同宽度的脉冲组合是与当前周期内对应码段的脉冲组合中脉冲的宽度匹配,如果匹配,则进行对后续接收到的多个脉冲组合进行判断是否符合用户码1的脉冲组合,如果不匹配,继续判断下一个码段是否符合码段要求;如果任何一个判断发现不符合,则对下一个周期进行相同判断。
例如:当按照时间先后顺序接收到的第一个脉冲和第二个脉冲的宽度分别是9ms的高脉冲和4.5ms的低脉冲时,判断出结束接收前导码状态,进行判断后输入的8组脉冲宽度是0.56ms的高脉冲和0.565ms的低脉冲组合(代表比特0的脉冲组合),或者是0.56ms的高脉冲和1.69ms的低脉冲组合(代表比特1的脉冲组合)。如果判断出有不属于上述组合的脉冲组合,则对下一个周期进行相同判断;如果判断出都属于上述组合的脉冲组合,则继续判断又输入的8个脉冲组合,此时硬件解码机处于结束接收用户码1状态;以此类推,直到该码流周期内非数据码段的脉冲宽度都判断完毕,存储该码流周期内数据码段内的脉冲宽度计数和数据反码段内的脉冲宽度计数。
与图3所示的方法相似,与图5相对应的红外线遥控信号解码方法中在将第一个周期内,完成了判断输入的码流的脉冲宽度全部对应该周期内非数据码段内期望的脉宽后,根据数据码段内的脉冲宽度计数,和数据反码段内的脉冲宽度计数,验证数据码段重的值与数据反码段重的值是否对应相反,如果对应相反,则根据该码流周期内的数据码的值,执行相应的控制。当接收到的是重复码时,可以不验证数据码和数据反码。
上述是对与图5相对应的红外线遥控信号解码方法的说明,重点说明了与图3所示方法的不同操作方法,与图3部分相同的部分请参照关于图3的说明,此处不重述。
从上述对图3所示的方法,及与图5所示状态对应的方法的说明,这些方法中,当根据接收的脉冲宽度与预置的参考值,判断输入的码流的脉冲宽度不是对应码段内期望的脉宽时,及时结束码流接收,避免对占用更多的系统资源去存储错误的脉冲宽度信息,从而提高了解码效率。
图6所示为本发明实施例提供的一种红外线遥控信号解码装置,该装置包括:脉宽计数器601,第一判断单元602,存储单元603,和第二判断单元604。
脉宽计数器601,用于对输入的码流的每个脉冲宽度进行计数;
第一判断单元602,用于根据对脉冲宽度的计数和预置的参考值,判断输入的码流在当前周期内的脉冲宽度是否与对应码段内期望的脉宽匹配;如果是,重复对下一个或者多于一个的脉冲宽度进行判断,直到将该码流周期内的非数据码段的脉冲宽度都判断完毕;
存储单元603,用于当该码流周期内非数据码段的脉冲宽度都判断完毕后,存储码流周期内数据码段内的脉冲宽度计数;从而通过数据码段内的脉冲宽度的计数,获取到输入码流中的控制信息;
第二判断单元604,用于当判断输入的码流的脉冲宽度不是对应码段内期望的脉宽时,开始对下一个码流周期执行第一判断单元中判断输入的码流在当前周期内的脉冲宽度是否与对应码段内期望的脉宽匹配的操作。
进一步,第一判断单元602中用于根据对脉冲宽度的计数和预置的参考值,判断输入的码流在当前周期内的脉冲宽度是否与对应码段内期望的脉宽匹配,具体包括:
以每个码段为单位,判断在当前周期内输入的多于一个不同宽度的脉冲组合是与对应码段的脉冲组合中脉冲的宽度匹配;
或者,以每个脉冲宽度为单位,判断在当前周期内输入的每个脉冲宽度是否与对应码段中对应脉冲的宽度匹配。
进一步,该装置还可以包括:滤波单元,用于根据预设的脉宽门限,对输入的码流中的脉冲进行滤波。
进一步,该装置中还可以包括:分频器,用于将系统时钟转换为参考时钟,参考时钟用于对脉冲宽度计数。
进一步,存储单元603还用于存储码流周期内数据反码段内的脉冲宽度计数;
该装置还包括:第三判断单元605和控制单元606;
第三判断单元605,用于根据数据码段内的脉冲宽度计数,和数据反码段内的脉冲宽度计数,判断周期内的数据码段与数据反码段的值是否相反;
控制单元606,用于当第三判断单元中判断出数据码段与数据反码段的值相反时,根据存储的数据码段内的脉冲宽度计数,执行相应的控制。
其中,上述数据码段的值、数据反码段的值是指高低脉冲的组合所代表的编码符号。例如:NEC编码中数据码段通常包括8位由比特1或者比特0组成的数组。其中,比特1或者比特0分别是通过高、低脉冲宽度组合表示。
关于本发明实施例提供的装置的更多说明可以参考方法图2至图5中的方法的说明。
通过上述对本发明实施提供的一种红外线遥控信号解码装置的说明,通过判断输入的码流的脉冲宽度是否是对应码段内期望的脉宽;当判断输入的码流的脉宽不是对应码段内期望的脉宽时,结束该脉冲所在周期的码流接收;当判断出所有脉冲宽度是对应码段期望的脉宽时;才执行相应的控制。与现有技术相比,本发明实施例提供的装置可以及时发现接收到的码流错误,停止接收错误的码流,减少对错误码流所占用的系统资源,有效的提高了接收机处理的效率。
进一步,为了进一步提高红外线遥控信号解码装置中的处理速度,本发明实施例中,第一判断单元602或者第二判断单元604中实现的功能可以是由硬件来实现,具有可以是由硬件解码来实现的,极大的提高了解码速度,且占用的系统资源大大减少。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上对本发明实施例进行了详细介绍,本文中应用了具体实施方式对本发明进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及设备;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种红外线遥控信号解码方法,其特征在于,包括:
对输入码流的每个脉冲宽度进行计数;
根据对脉冲宽度的计数和预置的参考值,判断输入的码流在当前周期内的脉冲宽度是否与对应码段内期望的脉宽匹配;如果是,重复对下一个或者多于一个的脉冲宽度进行所述判断,直到将所述码流周期内的非数据码段的脉冲宽度都判断完毕;
当将所述码流周期内非数据码段的脉冲宽度都判断完毕后,存储所述码流周期内数据码段内的脉冲宽度计数;从而通过数据码段内的脉冲宽度的计数,获取到输入码流中的控制数据;
当判断输入的码流的脉冲宽度不是对应码段内期望的脉宽时,开始对下一个码流周期重复执行所述判断输入的码流在当前周期内的脉冲宽度是否与对应码段内期望的脉宽匹配的操作。
2.根据权利要求1所述的方法,其特征在于,所述对输入码流的脉冲宽度计数之前,所述方法还包括:
根据预设的脉宽门限,对输入的码流中的脉冲进行滤波。
3.根据权利要求1所述的方法,其特征在于,所述存储所述码流周期内数据码段内的脉冲宽度计数之后,所述方法还包括:
存储所述码流周期内数据反码段内的脉冲宽度计数;
根据所述数据码段内的脉冲宽度计数,和所述数据反码段内的脉冲宽度计数,判断所述周期内的数据码段与数据反码段的值是否相反,如果是,根据存储的数据码段内的脉冲宽度计数,执行相应的控制。
4.根据权利要求1所述的方法,其特征在于,所述码流周期内非数据码段包括:前导码段,用户1码段,和用户2码段。
5.根据权利要求4所述的方法,其特征在于,所述根据对脉冲宽度的计数和预置的参考值,判断输入的码流在当前周期内的脉冲宽度是否与对应码段内期望的脉宽匹配,具体包括:
以每个码段为单位,判断在当前周期内输入的多于一个不同宽度的脉冲组合是与对应码段的脉冲组合中脉冲的宽度匹配;
或者,以每个脉冲宽度为单位,判断在当前周期内输入的一个脉冲宽度是否与对应码段中对应脉冲的宽度匹配。
6.一种红外线遥控信号解码装置,其特征在于,包括:
脉宽计数器,用于对输入码流的每个脉冲宽度进行计数;
第一判断单元,用于根据对脉冲宽度的计数和预置的参考值,判断输入的码流在当前周期内的脉冲宽度是否与对应码段内期望的脉宽匹配;如果是,重复对下一个或者多于一个的脉冲宽度进行所述判断,直到将所述码流周期内的非数据码段的脉冲宽度都判断完毕;
存储单元,用于当将所述码流周期内非数据码段的脉冲宽度都判断完毕后,存储所述码流周期内数据码段内的脉冲宽度计数;从而通过数据码段内的脉冲宽度的计数,获取到输入码流中的控制信息;
第二判断单元,用于当判断输入的码流的脉冲宽度不是对应码段内期望的脉宽时,开始对下一个码流周期重复执行所述第一判断单元中判断输入的码流在当前周期内的脉冲宽度是否与对应码段内期望的脉宽匹配的操作。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
滤波单元,用于根据预设的脉宽门限,对输入的码流中的脉冲进行滤波。
8.根据权利要求6所述的装置,其特征在于,所述存储单元还用于存储所述码流周期内数据反码段内的脉冲宽度计数;
所述装置还包括:第三判断单元和控制单元;
所述第三判断单元,用于根据所述数据码段内的脉冲宽度计数,和所述数据反码段内的脉冲宽度计数,判断所述周期内的数据码段与数据反码段的值是否相反;
控制单元,用于当第三判断单元中判断出数据码段与数据反码段的值相反时,根据存储的数据码段内的脉冲宽度计数,执行相应的控制。
9.根据权利要求6所述的装置,其特征在于,所述第一判断单元中用于根据对脉冲宽度的计数和预置的参考值,判断输入的码流在当前周期内的脉冲宽度是否与对应码段内期望的脉宽匹配,具体包括:
以每个码段为单位,判断在当前周期内输入的多于一个不同宽度的脉冲组合是与对应码段的脉冲组合中脉冲的宽度匹配;
或者,以每个脉冲宽度为单位,判断在当前周期内输入的每个脉冲宽度是否与对应码段中对应脉冲的宽度匹配。
10.根据权利要求6所述的装置,其特征在于,所述第一判断单元或者第二判断单元由硬件解码实现。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010550008.7A CN102467816B (zh) | 2010-11-18 | 2010-11-18 | 一种红外线遥控信号解码方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010550008.7A CN102467816B (zh) | 2010-11-18 | 2010-11-18 | 一种红外线遥控信号解码方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102467816A true CN102467816A (zh) | 2012-05-23 |
CN102467816B CN102467816B (zh) | 2015-12-16 |
Family
ID=46071408
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010550008.7A Active CN102467816B (zh) | 2010-11-18 | 2010-11-18 | 一种红外线遥控信号解码方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102467816B (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103631161A (zh) * | 2013-09-17 | 2014-03-12 | 北京理工大学 | 一种基于状态机的滤波方法 |
CN103680113A (zh) * | 2012-09-11 | 2014-03-26 | 炬才微电子(深圳)有限公司 | 红外信号的解码处理方法及装置 |
CN103714690A (zh) * | 2013-12-23 | 2014-04-09 | 乐视致新电子科技(天津)有限公司 | 从遥控编码脉冲中解析出物理码的方法及装置 |
CN104992538A (zh) * | 2015-05-13 | 2015-10-21 | 青岛海信宽带多媒体技术有限公司 | 一种终端与遥控器之间的交互方法及终端 |
CN105118285A (zh) * | 2015-09-25 | 2015-12-02 | 广州视睿电子科技有限公司 | 抗干扰红外遥控解码的方法和系统 |
CN106341318A (zh) * | 2016-08-30 | 2017-01-18 | 深圳市智慧猫软件技术有限公司 | 一种红外转发方法及一种红外转发器 |
CN106448129A (zh) * | 2016-10-26 | 2017-02-22 | 青岛海信电器股份有限公司 | 一种红外遥控数据中干扰脉冲的消除方法和装置 |
CN107040806A (zh) * | 2017-04-12 | 2017-08-11 | 青岛海信电器股份有限公司 | 遥控抗干扰控制方法与装置 |
CN108958114A (zh) * | 2018-07-12 | 2018-12-07 | 四川赛科安全技术有限公司 | 内置在mcu中用于实现工业总线通讯的硬件编解码方法 |
CN111768609A (zh) * | 2020-06-29 | 2020-10-13 | 珠海格力电器股份有限公司 | 红外信号处理方法及装置 |
CN111968361A (zh) * | 2020-08-31 | 2020-11-20 | 成都埃克思智创科技有限公司 | 一种红外重复码学习方法及应用于物联网的红外遥控系统 |
CN112735117A (zh) * | 2020-12-28 | 2021-04-30 | 深圳市路畅科技股份有限公司 | 一种基于nec标准的ir解析的过滤方法、系统及应用 |
US20220215746A1 (en) * | 2021-01-04 | 2022-07-07 | Hangzhou Tuya Information Technology Co., Ltd. | Infrared Remote Control Code Matching Method and Apparatus, Computer Device, and Readable Storage Medium |
CN117475610A (zh) * | 2023-11-17 | 2024-01-30 | 深圳市航顺芯片技术研发有限公司 | 一种红外遥控解码方法、装置、解码设备以及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4523128A (en) * | 1982-12-10 | 1985-06-11 | Honeywell Inc. | Remote control of dimmable electronic gas discharge lamp ballasts |
CN1301127A (zh) * | 1999-12-21 | 2001-06-27 | 日本电气株式会社 | 遥控接收器及其控制方法 |
CN101388142A (zh) * | 2007-09-14 | 2009-03-18 | 深圳创维数字技术股份有限公司 | 一种遥控器指令的识别方法、装置及家用电器 |
CN101697249A (zh) * | 2009-11-02 | 2010-04-21 | 中兴通讯股份有限公司 | 解码红外遥控信号的方法和装置 |
-
2010
- 2010-11-18 CN CN201010550008.7A patent/CN102467816B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4523128A (en) * | 1982-12-10 | 1985-06-11 | Honeywell Inc. | Remote control of dimmable electronic gas discharge lamp ballasts |
CN1301127A (zh) * | 1999-12-21 | 2001-06-27 | 日本电气株式会社 | 遥控接收器及其控制方法 |
CN101388142A (zh) * | 2007-09-14 | 2009-03-18 | 深圳创维数字技术股份有限公司 | 一种遥控器指令的识别方法、装置及家用电器 |
CN101697249A (zh) * | 2009-11-02 | 2010-04-21 | 中兴通讯股份有限公司 | 解码红外遥控信号的方法和装置 |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103680113A (zh) * | 2012-09-11 | 2014-03-26 | 炬才微电子(深圳)有限公司 | 红外信号的解码处理方法及装置 |
CN103680113B (zh) * | 2012-09-11 | 2017-06-06 | 炬才微电子(深圳)有限公司 | 红外信号的解码处理方法及装置 |
CN103631161A (zh) * | 2013-09-17 | 2014-03-12 | 北京理工大学 | 一种基于状态机的滤波方法 |
CN103714690A (zh) * | 2013-12-23 | 2014-04-09 | 乐视致新电子科技(天津)有限公司 | 从遥控编码脉冲中解析出物理码的方法及装置 |
CN103714690B (zh) * | 2013-12-23 | 2018-03-06 | 乐视致新电子科技(天津)有限公司 | 从遥控编码脉冲中解析出物理码的方法及装置 |
CN104992538B (zh) * | 2015-05-13 | 2019-08-09 | 青岛海信宽带多媒体技术有限公司 | 一种终端与遥控器之间的交互方法及终端 |
CN104992538A (zh) * | 2015-05-13 | 2015-10-21 | 青岛海信宽带多媒体技术有限公司 | 一种终端与遥控器之间的交互方法及终端 |
CN105118285A (zh) * | 2015-09-25 | 2015-12-02 | 广州视睿电子科技有限公司 | 抗干扰红外遥控解码的方法和系统 |
CN106341318A (zh) * | 2016-08-30 | 2017-01-18 | 深圳市智慧猫软件技术有限公司 | 一种红外转发方法及一种红外转发器 |
CN106448129A (zh) * | 2016-10-26 | 2017-02-22 | 青岛海信电器股份有限公司 | 一种红外遥控数据中干扰脉冲的消除方法和装置 |
CN107040806A (zh) * | 2017-04-12 | 2017-08-11 | 青岛海信电器股份有限公司 | 遥控抗干扰控制方法与装置 |
CN108958114A (zh) * | 2018-07-12 | 2018-12-07 | 四川赛科安全技术有限公司 | 内置在mcu中用于实现工业总线通讯的硬件编解码方法 |
CN111768609A (zh) * | 2020-06-29 | 2020-10-13 | 珠海格力电器股份有限公司 | 红外信号处理方法及装置 |
CN111768609B (zh) * | 2020-06-29 | 2021-07-23 | 珠海格力电器股份有限公司 | 红外信号处理方法及装置 |
CN111968361A (zh) * | 2020-08-31 | 2020-11-20 | 成都埃克思智创科技有限公司 | 一种红外重复码学习方法及应用于物联网的红外遥控系统 |
CN111968361B (zh) * | 2020-08-31 | 2022-04-19 | 成都埃克思智创科技有限公司 | 一种红外重复码学习方法及应用于物联网的红外遥控系统 |
CN112735117A (zh) * | 2020-12-28 | 2021-04-30 | 深圳市路畅科技股份有限公司 | 一种基于nec标准的ir解析的过滤方法、系统及应用 |
US20220215746A1 (en) * | 2021-01-04 | 2022-07-07 | Hangzhou Tuya Information Technology Co., Ltd. | Infrared Remote Control Code Matching Method and Apparatus, Computer Device, and Readable Storage Medium |
US11984021B2 (en) * | 2021-01-04 | 2024-05-14 | Hangzhou Tuya Information Technology Co., Ltd. | Infrared remote control code matching method and apparatus, computer device, and readable storage medium |
CN117475610A (zh) * | 2023-11-17 | 2024-01-30 | 深圳市航顺芯片技术研发有限公司 | 一种红外遥控解码方法、装置、解码设备以及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN102467816B (zh) | 2015-12-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102467816A (zh) | 一种红外线遥控信号解码方法及装置 | |
US6097520A (en) | Remote control receiver and method of operation | |
CN101320516B (zh) | 波形学习电路对红外线解码的方法 | |
CN102779405B (zh) | 一种硬盘录像机、红外遥控接收装置及方法 | |
CN103745590A (zh) | 一种红外遥控编码方法 | |
CN1716836A (zh) | 读取致能产生器,读取致能信号产生方法,数据传输方法 | |
CN101783068A (zh) | 一种万用集成遥控器 | |
CN1106101C (zh) | 具有超线性积分器的解码电路及方法 | |
CN102467817A (zh) | 基于手势识别的遥控电路复用装置及方法 | |
US5077552A (en) | Interface for coupling audio and video equipment to computer | |
CN103033705A (zh) | 一种电子设备测试方法以及系统 | |
CN103368687A (zh) | 用于 turbo 解码器的存储结构 | |
KR910007815B1 (ko) | 바이패이즈 엔코딩 데이터의 디코딩방법 | |
WO1990013122A1 (en) | Multi-purpose circuit for decoding binary information | |
CN103793979B (zh) | 用于升级光子接收端的方法 | |
CN103729998A (zh) | 一种解码方法及装置 | |
CN110704073B (zh) | 一种微控制器编程器及其编程方法 | |
CN114298075B (zh) | 基于mcu的超高频国标阅读器基带解码方法 | |
CN111091702A (zh) | 基于脉宽检测的自学习红外解码方法、装置及系统 | |
CN101359424A (zh) | 一种遥控驱动的生成方法及系统 | |
CN111817725B (zh) | 一种空调红外遥控码库的高效率压缩算法 | |
CN107040806A (zh) | 遥控抗干扰控制方法与装置 | |
CN102682772A (zh) | 数据发送、接收方法及设备 | |
CN100365930C (zh) | 波形整形方法、波形整形装置、电子机器、波形整形程序及记录媒体 | |
CN116822560B (zh) | 基于软件无线电的多电子标签交互方法、阅读器以及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder |
Address after: 4, building 406, room 518057, two software park, hi tech Zone, Nanshan District, Guangdong, Shenzhen Patentee after: Shenzhen Shenyang electronic Limited by Share Ltd Address before: 4, building 406, room 518057, two software park, hi tech Zone, Nanshan District, Guangdong, Shenzhen Patentee before: Aike Chuangxin Microelectronic Co., Ltd. |
|
CP01 | Change in the name or title of a patent holder |