CN103680113B - 红外信号的解码处理方法及装置 - Google Patents
红外信号的解码处理方法及装置 Download PDFInfo
- Publication number
- CN103680113B CN103680113B CN201210333584.5A CN201210333584A CN103680113B CN 103680113 B CN103680113 B CN 103680113B CN 201210333584 A CN201210333584 A CN 201210333584A CN 103680113 B CN103680113 B CN 103680113B
- Authority
- CN
- China
- Prior art keywords
- counter
- data
- input port
- value
- infrared signal
- 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.)
- Active
Links
Landscapes
- Selective Calling Equipment (AREA)
- Dc Digital Transmission (AREA)
- Optical Communication System (AREA)
Abstract
本发明适用于电子领域,提供了一种红外信号的解码方法及解码装置,该方法包括:将与红外接收管相连的GPIO口初始化为输入口;对该输入口输入的红外信号采样,当检测到该输入口的第一个低电平时,由预先设置的计数器对该采样计数;当检测到该输入口的第二个低电平时,提取计数器的值,根据该计数器的值判断是否为红外信号的引导码;如是,继续对该红外信号进行采样和计数,根据计数器的值解码32位数据,验证该32位数据的有效性,如有效,获取该32位有效数据。本发明提供的技术方案具有成本低的优点。
Description
技术领域
本发明属于电子领域,尤其涉及一种红外信息的解码技术。
背景技术
随着社会的发展以及信息化技术的提高,红外遥控技术应用到多个领域,例如电视、空调等设备,现有的红外信号的解码处理方法利用微处理器具有外部中断输入功能的引脚来实现红外信号的解码,具体解码方式为:当外部中断输入引脚出现电平跳变(从低电平到高电平或高电平跳到低电平),外部中断输入引脚进入中断,微处理器处理红外脉冲信号,微处理器根据中断的时间间隔解码出红外信号的数据。
在实现现有技术的技术方案中,发现现有技术存在如下问题:
现有技术的技术方案需要在微处理器设置一个中断引脚才能完成红外信号的解码,中断引脚的设置会增加微处理器的成本,所以现有技术的技术方案具有成本高的缺点。
发明内容
本发明实施例的目的在于提供一种红外信号的解码处理方法,旨在解决现有的技术方案需要在微处理器设置中断引脚导致的成本高的问题。
本发明实施例是这样实现的,一种红外信号的解码方法,所述方法包括:
将与红外接收管相连的通用输入输出(General Purpose Input output,GPIO)口初始化为输入口;
对该输入口输入的红外信号采样,当检测到该输入口的第一个低电平时,由预先设置的计数器对该采样结果计数;
其中该采样的间隔时间为:小于等于1/2个红外脉冲宽度;在检测到该输入口的红外信号从高电平突变成低电平时,对计数器进行清零操作,在完成清零操作后,控制计数器对后续采样结果计数;
当检测到该输入口的第二个低电平时,提取计数器的值,根据该计数器的值判断是否为红外信号的引导码;
如是,继续对该红外信号进行采样和计数,根据计数器的值解码32位数据,验证该32位数据的有效性,如有效,获取该32位有效数据。
另一方面,本发明实施例提供一种解码装置,所述装置包括:
初始化单元,用于将与红外接收管相连的GPIO口初始化为输入口;
采样计数单元,用于对该输入口输入的红外信号采样,当检测到该输入口的第一个低电平时,由预先设置的计数器对该采样结果计数;
其中该采样的间隔时间为:小于等于1/2个红外脉冲宽度;所述计数器还用于在检测到该输入口的红外信号从高电平突变成低电平时,进行清零操作,在完成清零操作后,对后续采样结果计数;
引导码判断单元,用于当检测到该输入口的第二个低电平时,提取计数器的值,根据该计数器的值判断是否为红外信号的引导码;
采样计数单元,还用于在所述引导码判断单元判断是时,继续对该红外信号进行采样和计数;
解码单元,用于根据计数器的值解码32位数据;
验证获取单元,用于验证该32位数据的有效性,如有效,获取该32位有效数据。
在本发明实施例中,无需额外在微处理器设置中断引脚,所以本发明提供的技术方案具有成本低的优点。
附图说明
图1是本发明实施例提供的一种红外信号的解码方法的流程图;
图2是本发明实施例提供的解码装置结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例提供一种红外信号的解码方法,该方法由解码终端(解码终端根据实际情况具体可以为:电视机设备,空调设备等)执行,该方法如图1所示,包括:
S11、将与红外接收管相连的GPIO口初始化为输入口;
S12、对该输入口输入的红外信号采样,当检测到该输入口的第一个低电平时,由预先设置的计数器对该采样结果计数;其中该采样的间隔时间可以为:小于等于1/2个红外脉冲宽度,所述计数器还用于在检测到该输入口的红外信号从高电平突变成低电平时,进行清零操作,在完成清零操作后,对后续采样结果计数;
S13、当检测到该输入口的第二个低电平时,提取计数器的值,根据该计数器的值判断是否为红外信号的引导码,如是,执行后续步骤,否则,返回初始状态;
S14、继续对该红外信号进行采样和计数,根据计数器的值解码32位数据;
S15、验证该32位数据的有效性,如有效,获取32位有效数据,否则返回初始状态。
本发明实施例提供的技术方案对GPIO口初始化为输入口后,对该输入口的红外信号采样和计数,然后根据计数器的计数值来判断是否为该红外信号的引导码,在判断出为引导码时,根据计数器的值解码32位数据,然后验证32位数据的有效性,如有效,获取该32位数据,本发明完全通过软件手段完成了红外信号的解码,并且该红外信号的输入口无需为中断引脚,所以本发明的技术方案无需额外设置中断引脚,所以该方法具有成本低的优点。需要额外说明的是,中断引脚和GPIO引脚都是一个引脚,但是它们这两类引脚内部构成是有很大不同的,以80C251的CPU为例来说明(在实际应用中也可以有其他型号的CPU),外部中断引脚只有两个,使用这两个引脚还需要配置许多的寄存器,例如:触发方式(上升沿还是下降沿触发中断)、使能控制、中断优先级控制等,这些都需要CPU内部具备这一部份控制电路。而普通的GPIO内部则相对简单,普通的CPU都至少有8个以上的输入输出(InputOutput,IO)口,仅需设置IO口的功能为输入,然后直接读取IO口上的数据,就可以得到IO上的状态。所以其具有节省硬件资源,成本低的优点。
可选的,上述S15中的验证该32位数据的有效性的实现方法可以为:
将该32位数据内的8位数据反码取反后与该32位数据内的8位数据对比,如相同,则判断为有效,否则判断为无效。
可选的,上述方法在S15之后,还可以包括:
对计数器清零,重新进行采样和计数,当计数器的值在达到最大阈值时输入口的电平还未发生变化时,返回初始状态;如输入口的电平发生变化,且计数器的值属于重复码的值时,重新获取该32位有效数据。
此种方式可以判断重复码,并能重新获取该32位有效数据,无需对32位有效数据进行重新解码。
上述S14中的根据计数器的值解码32位数据的具体操作可以为:
根据计数器的值所位于的区间判断该计数器的值对应的数据为逻辑0或逻辑1;例如,如果逻辑0的计数器值的区间为【3,5】,如计数器的值位于上述区间内,则解码出该计数器的值对应的数据为逻辑0,如果逻辑1的计数器值的区间为【7,9】,如计数器的值位于上述逻辑1的区间内,则解码出该计数器的值对应的数据为逻辑1。因为计数器在采样到低电平时就会自动清零,所以每当有一位有效数据时,计数器就会将该有效数据对应的计数器的值输出,这样能够得到32位有效数字。
本发明还提供一种解码装置,该装置如图2所示,包括:
初始化单元21,用于将与红外接收管相连的GPIO口初始化为输入口;
采样计数单元22,用于对该输入口输入的红外信号采样,当检测到该输入口的第一个低电平时,由预先设置的计数器对该采样结果计数;
其中该采样的间隔时间为:小于等于1/2个红外脉冲宽度;所述计数器还用于在检测到该输入口的红外信号从高电平突变成低电平时,进行清零操作,在完成清零操作后,对后续采样结果计数;
引导码判断单元23,用于当检测到该输入口的第二个低电平时,提取计数器的值,根据该计数器的值判断是否为红外信号的引导码;
采样计数单元24,还用于在所述引导码判断单元判断是时,继续对该红外信号进行采样和计数;
解码单元25,用于根据计数器的值解码32位数据;
验证获取单元26,用于验证该32位数据的有效性,如有效,获取该32位有效数据。
本发明提供的解码装置对GPIO口初始化为输入口后,对该输入口的红外信号采样和计数,然后根据计数器的计数值来判断是否为该红外信号的引导码,在判断出为引导码时,根据计数器的值解码32位数据,然后验证32位数据的有效性,如有效,获取该32位数据,本发明完全通过软件手段完成了红外信号的解码,并且该红外信号的输入口无需为中断引脚,所以本发明的技术方案无需额外设置中断引脚,所以该装置具有成本低的优点。
可选的,验证获取单元26可以包括:
对比模块261,用于将该32位数据内的8位数据反码取反后与该32位数据内的8位数据对比;
判断模块262,用于在对比模块261对比相同时,判断为有效,并获取该32位有效数据;否则判断为无效。
可选的,上述装置还包括:
重复码获取单元27,用于在验证获取单元26获取该32位有效数据后,对所述计数器清零,重新进行采样和计数,当计数器的值在达到最大阈值时输入口的电平还未发生变化时,返回初始状态,如输入口的电平发生变化,且计数器的值属于重复码的值时,重新获取该32位有效数据。
实施例
本发明提供一实施例,本实施例实现的技术场景为:本实施例的红外信号以NEC码为例,当然在实际情况中,也可以为其他公司的红外信号,例如飞利浦码或东芝码等,本实施例提供的红外信号解码方法由解码终端执行,该解码终端根据实际情况具体可以为:电视机设备,空调设备等,解码终端预先将与红外接收管相连的GPIO口初始化为输入口,解码终端内设置有定时器和计数器,该定时器的触发时间可以设定为(即采样间隔时间可以为):0.56ms(一个NEC码红外脉冲宽度)/2=0.28ms;当然该触发时间还可以设定其他数值的时间,例如0.56ms/4=0.14ms,在实际应用中,只需上述触发时间(采样间隔时间)小于一个红外脉冲的宽度的1/2即可;该计数器用于对采样结果进行计数,该计数器还用于当解码终端检测到GPIO口电平从高电平变化到低电平时,进行清零操作,在清零操作后,重新对采样计数;该方法包括如下步骤:
S31、解码终端在启动红外信号接收流程时,解码终端每隔设定的时间检测输入口的电平;
S32、解码终端在检测到输入口的第一个低电平时,启动计数器开始计数;
S33、解码终端检测到第二个低电平时,提取计数器的数值,如果计数值在50~54之间,为引导码(9ms低电平+4.5ms高电平),并进行后续步骤;如果计数值不在限定的范围,返回初始状态(该初始状态即为启动红外信号接收流程时的状态);
需要说明的是,50~54值对应电平值为9ms低电平+4.5ms高电平即为引导码,具体的换算方法可以参见NEC—protocol即NEC协议。
S34、解码终端解码32位数据(其中包括:16位的用户码、8位数据和8位数据反码);
其中S34的具体解码方式可以为:如果计数值为3~5,为数据0(0.56ms低电平+0.56ms高电平);如果计数值为7~9,为数据1(0.56ms低电平+1.69ms高电平),如果计数值不在规定的范围内,返回到初始状态;
S35、解码终端解码完32位数据后,将8位数据反码取反后与8位数据对比,如果相同,判断该32位数据有效,获取该32位有效数据,否则,返回到初始状态;
S36、解码终端在获取到有效的红外数据后,对计数器清零,重新开始计数,等待重复码;
S37、解码终端在重新计数后如果计数变量超过386(108ms)都没有出现电平跳变,返回到初始状态;在计数变量小于386时,解码终端检测到GPIO口电平从高电平跳变为低电平时,自增计数变量清零,重新开始计数。
S38、解码终端检测到GPIO口电平从高电平跳变为低电平时,如果计数变量在39~41~41之间(9ms+2.25ms+2.25ms),重新获取该32位有效红外数据;否则返回初始状态。
需要说明的是,重复码可以为上一次发送重复红外信号,具体的发送方式和作用可以参见NEC协议。
本发明实施例还提供一种解码装置,该装置包括:处理器和计数器;所述计数器与所述处理器连接;
所述处理器,用于将与红外接收管相连的GPIO口初始化为输入口;对该输入口输入的红外信号采样,当检测到该输入口的第一个低电平时,控制所述计数器对该采样结果计数;其中该采样的间隔时间为:小于等于1/2个红外脉冲宽度;
所述计数器,用于在检测到该输入口的红外信号从高电平突变成低电平时,进行清零操作,在完成清零操作后,对后续采样结果计数,并将计数器的值传递给所述处理器;
所述处理器,还用于当检测到该输入口的第二个低电平时,提取所述计数器的值,根据该计数器的值判断是否为红外信号的引导码;如是,继续对该红外信号进行采样和计数;
所述处理器,还用于根据计数器的值解码32位数据,验证该32位数据的有效性,如有效,获取该32位有效数据。
可选的,所述处理器具体用于将该32位数据内的8位数据反码取反后与该32位数据内的8为数据对比,在对比模块对比相同时,判断为有效,并获取该32位有效数据;否则判断为无效。
可选的,所述处理器还用于在获取该32位有效数据后,对所述计数器清零,重新进行采样和计数,当计数器的值在达到最大阈值时输入口的电平还未发生变化时,返回初始状态,如输入口的电平发生变化,且计数器的值属于重复码的值时,重新获取该32位有效数据。
上述单元和系统实施例中,所包括的各个模块或单元只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能模块的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
本领域技术人员可以理解,本发明实施例提供的全部或部分步骤是可以通过程序指令相关的硬件来完成。比如可以通过计算机运行程来完成。该程序可以存储在可读取存储介质,例如,随机存储器、磁盘、光盘等。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种红外信号的解码方法,其特征在于,所述方法包括:
将与红外接收管相连的通用输入输出GPIO口初始化为输入口;
对该输入口输入的红外信号采样,当检测到该输入口的第一个低电平时,由预先设置的计数器对该采样结果计数,由预先设置的定时器控制采样的间隔时间;
其中该采样的间隔时间为:小于等于1/2个红外脉冲宽度;在检测到该输入口的红外信号从高电平突变成低电平时,对计数器进行清零操作,在完成清零操作后,控制计数器对后续采样结果计数;
当检测到该输入口的第二个低电平时,提取计数器的值,根据该计数器的值判断是否为红外信号的引导码;
如是,继续对该红外信号进行采样和计数,根据计数器的值解码32位数据,验证该32位数据的有效性,如有效,获取该32位有效数据。
2.根据权利要求1所述的方法,其特征在于,所述验证该32位数据的有效性的实现方法为:
将该32位数据内的8位数据反码取反后与该32位数据内的8位数据对比,如相同,则判断为有效,否则判断为无效。
3.根据权利要求1所述的方法,其特征在于,所述获取该32位有效数据之后还包括:
对计数器清零,重新进行采样和计数,当计数器的值在达到最大阈值时输入口的电平还未发生变化时,返回初始状态,如输入口的电平发生变化,且计数器的值属于重复码的值时,重新获取该32位有效数据。
4.一种解码装置,其特征在于,所述装置包括:
初始化单元,用于将与红外接收管相连的GPIO口初始化为输入口;
采样计数单元,用于对该输入口输入的红外信号采样,当检测到该输入口的第一个低电平时,由预先设置的计数器对该采样结果计数,由预先设置的定时器控制采样的间隔时间;
其中该采样的间隔时间为:小于等于1/2个红外脉冲宽度;
所述计数器还用于在检测到该输入口的红外信号从高电平突变成低电平时,进行清零操作,在完成清零操作后,对后续采样结果计数;
引导码判断单元,用于当检测到该输入口的第二个低电平时,提取计数器的值,根据该计数器的值判断是否为红外信号的引导码;
采样计数单元,还用于在所述引导码判断单元判断是时,继续对该红外信号进行采样和计数;
解码单元,用于根据计数器的值解码32位数据;
验证获取单元,用于验证该32位数据的有效性,如有效,获取该32位有效数据。
5.根据权利要求4所述的装置,其特征在于,所述验证获取单元包括:
对比模块,用于将该32位数据内的8位数据反码取反后与该32位数据内的8为数据对比;
判断模块,用于在对比模块对比相同时,判断为有效,并获取该32位有效数据;否则判断为无效。
6.根据权利要求4所述的装置,其特征在于,所述装置还包括:
重复码获取单元,用于在所述验证获取单元获取该32位有效数据后,对所述计数器清零,重新进行采样和计数,当计数器的值在达到最大阈值时输入口的电平还未发生变化时,返回初始状态,如输入口的电平发生变化,且计数器的值属于重复码的值时,重新获取该32位有效数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210333584.5A CN103680113B (zh) | 2012-09-11 | 2012-09-11 | 红外信号的解码处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210333584.5A CN103680113B (zh) | 2012-09-11 | 2012-09-11 | 红外信号的解码处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103680113A CN103680113A (zh) | 2014-03-26 |
CN103680113B true CN103680113B (zh) | 2017-06-06 |
Family
ID=50317526
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210333584.5A Active CN103680113B (zh) | 2012-09-11 | 2012-09-11 | 红外信号的解码处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103680113B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105242968B (zh) * | 2015-10-30 | 2018-08-21 | 广东银狐医疗科技股份有限公司 | 一种遥控射频信号接收软件解码方法 |
CN107545719A (zh) * | 2016-06-24 | 2018-01-05 | 深圳市芯智科技有限公司 | 一种用于显示器的红外遥控解码方法 |
CN108734944B (zh) * | 2017-04-18 | 2021-07-13 | 陕西万方汽车零部件有限公司 | 一种无线遥控解码方法及其装置 |
CN109523773A (zh) * | 2018-11-26 | 2019-03-26 | Oppo广东移动通信有限公司 | 一种控制指令的处理方法、移动终端及计算机存储介质 |
CN109272740B (zh) * | 2018-11-29 | 2021-04-02 | 深圳创维数字技术有限公司 | 红外遥控的解码处理方法、装置及计算机可读存储介质 |
CN111141926B (zh) * | 2019-12-27 | 2022-06-03 | 宁波三星智能电气有限公司 | 一种充电桩内的风机转速检测方法 |
CN111091702A (zh) * | 2019-12-29 | 2020-05-01 | 眸芯科技(上海)有限公司 | 基于脉宽检测的自学习红外解码方法、装置及系统 |
CN111580175A (zh) * | 2020-04-28 | 2020-08-25 | 无锡小天鹅电器有限公司 | 红外信号处理方法、装置和家电设备 |
CN117351691B (zh) * | 2023-12-05 | 2024-03-22 | 深圳市众鑫创展科技有限公司 | 红外控制设备、系统、数据传输方法、介质及程序产品 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101123035A (zh) * | 2006-08-11 | 2008-02-13 | 上海奇码数字信息有限公司 | 红外遥控接收装置及红外遥控接收方法 |
CN101320516A (zh) * | 2008-07-09 | 2008-12-10 | 四川长虹电器股份有限公司 | 波形学习电路对红外线解码的方法 |
CN101404113A (zh) * | 2008-11-06 | 2009-04-08 | 成都九洲电子信息系统有限责任公司 | 一种在嵌入式系统中用软件实现红外遥控解码的方法 |
CN102467816A (zh) * | 2010-11-18 | 2012-05-23 | 深圳艾科创新微电子有限公司 | 一种红外线遥控信号解码方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6914527B2 (en) * | 2003-04-29 | 2005-07-05 | Jui-Hung Hsu | Infrared detector |
CN101944287B (zh) * | 2009-07-03 | 2013-03-27 | 炬力集成电路设计有限公司 | 一种用于红外遥控的解码方法和解码装置 |
-
2012
- 2012-09-11 CN CN201210333584.5A patent/CN103680113B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101123035A (zh) * | 2006-08-11 | 2008-02-13 | 上海奇码数字信息有限公司 | 红外遥控接收装置及红外遥控接收方法 |
CN101320516A (zh) * | 2008-07-09 | 2008-12-10 | 四川长虹电器股份有限公司 | 波形学习电路对红外线解码的方法 |
CN101404113A (zh) * | 2008-11-06 | 2009-04-08 | 成都九洲电子信息系统有限责任公司 | 一种在嵌入式系统中用软件实现红外遥控解码的方法 |
CN102467816A (zh) * | 2010-11-18 | 2012-05-23 | 深圳艾科创新微电子有限公司 | 一种红外线遥控信号解码方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103680113A (zh) | 2014-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103680113B (zh) | 红外信号的解码处理方法及装置 | |
US10169276B2 (en) | Detecting a communication mode via interruptions | |
EP3113062A1 (en) | System and method of detecting modified or corrupted external devices | |
CN106570984B (zh) | 支持多种韦根格式的卡号验证方法、装置及系统 | |
CN115562895B (zh) | 一种电子设备的异常恢复方法和设备 | |
CN103701600A (zh) | 一种输入验证方法及装置 | |
WO2014173244A1 (zh) | 一种智能密钥设备的工作方法 | |
CN103198037A (zh) | Io设备可信管控方法及其系统 | |
WO2022127872A1 (zh) | 一种设备运动方法及电子设备 | |
CN103473145B (zh) | 一种终端死机复位的方法、装置和终端 | |
CN105320886A (zh) | 检测移动终端中是否存在恶意软件的方法和移动终端 | |
CN109688150A (zh) | 一种多平台账号互通方法及装置 | |
CN203224878U (zh) | 基于外部tpm的计算机安全系统 | |
CN102467400B (zh) | 多端口网络接口卡的控制方法 | |
CN105553628B (zh) | 一种串行通讯波特率检测方法及装置 | |
CN101826068A (zh) | 热插拔pci-e装置的方法及其应用 | |
US20190089723A1 (en) | System for automated signature generation and refinement | |
CN104182374A (zh) | Usb设备及其自动识别微软窗口化操作系统版本的方法 | |
CN101498971B (zh) | 遥控网络物理隔离装置及其控制方法 | |
CN102890661A (zh) | 一种主从机通讯协议 | |
CN105848133B (zh) | 接入点名称配置方法及装置 | |
CN111324892A (zh) | 生成脚本文件的软件基因和脚本检测的方法、装置及介质 | |
CN1220951C (zh) | 一种通用串行总线设备安全接入的实现方法 | |
CN109766028A (zh) | 一种红外触摸屏触控分管系统和方法 | |
CN113534691A (zh) | 一种终端设备的控制系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |