一种嵌入式系统的红外通讯解码方法技术方案

技术编号:20047022 阅读:56 留言:0更新日期:2019-01-09 04:50
本发明专利技术涉及一种嵌入式系统的红外通讯解码方法,由一个一体化红外接收头和需要红外通讯功能的嵌入式终端组成。微处理器有一个红外波形数据结构体,由Timer_Count、pIR_Wave、IsIR_Wave、缓存区IR_Wave等组成,采用中断服务和应用服务组成两级处理方法,在GPIO中断服务中启动定时器0,在定时器0中断服务中条件激活应用服务;在应用服务处理完成对已采集的红外波形数据分析、解码处理任务。采用本发明专利技术的有益效果是:将红外波形采集和解码分析各自独立,提高微处理器在红外解码的高效率、对不同编码的普适性。

【技术实现步骤摘要】
一种嵌入式系统的红外通讯解码方法
本专利技术涉及一种无线通讯领域,特别是一种嵌入式系统的红外通讯解码方法。
技术介绍
红外遥控已经在家用电器等领域得到广泛应用,它是利用波长为0.76μm~1.5μm的红外光作为控制光源,传送遥控指令。由于红外光通信方向性很强,非常适合近距离的无线传输。红外遥控主要由红外发射和红外接收两个部分组成。常用的红外遥控信号制式有:脉冲位置编码(PPM码)、脉冲宽度编码(PWM码)和Manchester编码等,差别主要在于引导码表示方式高低电平的宽度不同、表示逻辑0/1的高低电平宽度不同、编码的位数不同。PPM码的一帧信息包括引导码、系统码、用户码、数据码、数据码反码组成,编码共32位;PWM码的一帧信息包括引导码、命令码、地址码组成,编码共12位;Manchester编码的一帧信息包括起始位S、场位F、控制位C、5位系统码、6位命令码组成,编码共14位。以NEC协议为例说明,这是一个PPM码,引导码由一个9ms低电平和4.5ms高电平组成,逻辑1则由560μs低电平和1680μs高电平组成,逻辑0由560μs低电平和560μs高电平组成。虽然各种红外信号制式的表示方式不一样,但现有的红外通讯解码处理方法总体是相同,即利用微处理器具有外部中断输入功能的引脚来实现红外信号的解码,具体方式为:当微处理器的外部中断输入引脚出现电平跳变(从低电平到高电平、高电平跳到低电平),微处理器进入外部中断服务,根据中断的时间间隔首先采集获得红外信号的引导码后,然后启动采集红外信号的数据波形,最后分析红外波形数据、解码执行。这种先确定红外引导码后再启动后续红外波形采集、数据解码的方法,存在外部中断服务时间过长、占用CPU太多时间等不足。
技术实现思路
本专利技术的目的是在现有红外通讯接口的嵌入式终端构成基础上,通过嵌入式微处理器的一个具有中断功能GPIO(GeneralPurposeInputOutput)口和一个定时器,采用两级处理方法,将红外波形采集和数据分析解码各自独立,有利于提高嵌入式微处理器在红外解码的高效率、对不同编码的普适性。为达到上述目的,本专利技术的设计技术方案是:一种嵌入式系统的红外通讯解码方法,设置有红外通讯接口的嵌入式终端,由一个一体化红外接收头和需要红外通讯功能的嵌入式终端组成,装置中,一体化红外遥控接收头的电源端、地线端、输出引脚端分别和嵌入式终端中嵌入式微处理器的电源端、地线端、嵌入式微处理器一个具有中断功能的GPIO引脚相连。其特征在于嵌入式微处理器设置有红外波形数据结构体,同时还包含由中断服务处理和应用服务处理组成的两级处理方法,其中,中断服务处理包括GPIO中断服务和定时器0中断服务,应用服务处理对已采集的红外波形数据分析、解码处理。所述的嵌入式微处理器,有一个16位的定时器0,中断周期T0为m微秒,m范围为:10~5000。所述的嵌入式微处理器,内部设置有红外波形数据结构体,由1字节的定时器T0中断次数计数器Timer_Count、1字节的红外信号波形时长缓存区的索引序号pIR_Wave、1字节红外信号波形采集完成申请分析IsIR_Wave、n字节的红外信号波形时长缓存区IR_Wave等组成,其中,n的范围:34~120。所述的中断服务处理包括GPIO中断服务和定时器0中断服务。由中断服务处理完成对红外通讯波形的数据采集,以T0时间为单位获得其高电平、低电平的格式化时长数据,在采集完成后再交由应用服务处理完成对红外波形数据的分析、解码处理。所述的GPIO中断服务,由微处理器一个具有电平变化触发中断功能的GPIO引脚在检测到引脚电平变化时触发进入中断服务,启动定时器0。具体步骤是:当进入GPIO中断服务后,首先关闭定时器0,其次,判断红外波形数据结构体中pIR_Wave是否为0,如果为0,说明红外波形数据结构体没有保存数据,初始化有关资源操作,即将Timer_Count清零和pIR_Wave加一,准备开始红外波形采集,如果不为0,说明正在进行红外波形采集,则读取Timer_Count数据,保存到红外信号波形时长缓存区IR_Wave中,然后Timer_Count清零和pIR_Wave加一,最后再开启定时器0。所述的定时器0中断服务,在GPIO中断服务中启动,进入定时器0中断服务后,对Timer_Count加一操作,然后检查Timer_Count数据是否大于TIR,其中TIR=1000/T0,否则如果是,则关闭定时器0,设置红外信号波形采集完成,即将IsIR_Wave置一,申请后续进入应用服务处理,由其完成红外波形数据的分析、解码处理。所述的应用服务处理,完成对已采集的红外波形数据分析、解码处理任务。由于红外信号波形时长缓存区IR_Wave保存了以T0为周期的红外波形高电平、低电平的格式化数据,因此应用服务处理的步骤是:首先需要在缓冲区IR_Wave中寻找同步头(如NEC协议引导码为低电平9ms、高电平4.5ms),如果能够找到,开始对缓冲区中的后续波形数据分析获得各个位数据,再将这些位数据拼接成四字节数据,完成拼接后对四字节数据进行校验检查,如果校验正确,把红外数据存储并进行相应的操作,然后重置相关资源,即将pIR_Wave和IsIR_Wave置零,准备新的红外数据采集,最后退出本次服务。所述的应用服务处理,还包含了一个拼接四字节模块,假定在缓冲区IR_Wave第[x-2]和第[x-1]字节匹配到2字节同步头,则缓冲区IR_Wave[x]之后的数据就是红外波形低电平、高电平的格式化数据,其中,2≤x≤(n-3)。以NEC协议为例分析说明,由于逻辑1由560μs低电平和1680μs高电平组成,逻辑0由560μs低电平和560μs高电平组成,可知应以缓冲区IR_Wave中2个字节为步长,对其中的数据大小进行判断,如果正确就可以获得1位数据,如此循环8次获得1个字节,类推获得4字节,从而完成四字节拼接。与现有技术相比,本专利技术的有益效果是:在现有红外信号接收装置基础上,通过两级处理方法,将红外波形采集和解码分析各自独立,提高嵌入式微处理器在红外解码的高效率、对不同编码的普适性,具有快速、稳定的应用效果。本专利技术的目的、特征及优点将通过实施例并结合附图进行详细说明。附图说明图1是本专利技术的红外信号接收装置硬件连接图。图2是本专利技术的红外波形数据结构体。图3是本专利技术的GPIO中断服务程序流程图。图4是本专利技术的定时器0中断服务程序流程图。图5是本专利技术的应用服务处理流程图。图6是本专利技术的应用服务处理中拼接四字节的流程图。具体实施方式图1中,101是嵌入式微处理器,202是红外接收管,其中,101的一个输出引脚Ir_Power和红外接收管(202)的Power引脚相连,嵌入式微处理器(101)的一个输入引脚Ir_Data和红外接收管(202)的Data引脚相连,嵌入式微处理器(101)的一个引脚Gnd和红外接收管(202)的Gnd引脚相连。图2中,框图内标注的201是1字节的定时器T0中断次数计数器Timer_Count,框图内标注的202是1字节红外信号波形时长缓存区的索引序号pIR_Wave,框图内标注的203是1字节红外信号波形采集完成标志IsIR_Wave,204是n字节的红外信号本文档来自技高网
...

【技术保护点】
1.一种嵌入式系统的红外通讯解码方法,由一个一体化红外接收头和需要红外通讯功能的嵌入式终端组成,嵌入式终端中设置有嵌入式微处理器,一体化红外遥控接收头的电源端、地线端、输出引脚端分别和嵌入式终端中嵌入式微处理器的电源端、地线端、嵌入式微处理器一个具有中断功能的GPIO引脚相连,其特征在于嵌入式微处理器设置有红外波形数据结构体,同时还包含由中断服务处理和应用服务处理组成的两级处理方法,其中,中断服务处理包括GPIO中断服务和定时器0中断服务,应用服务处理对已采集的红外波形数据分析、解码处理。

【技术特征摘要】
1.一种嵌入式系统的红外通讯解码方法,由一个一体化红外接收头和需要红外通讯功能的嵌入式终端组成,嵌入式终端中设置有嵌入式微处理器,一体化红外遥控接收头的电源端、地线端、输出引脚端分别和嵌入式终端中嵌入式微处理器的电源端、地线端、嵌入式微处理器一个具有中断功能的GPIO引脚相连,其特征在于嵌入式微处理器设置有红外波形数据结构体,同时还包含由中断服务处理和应用服务处理组成的两级处理方法,其中,中断服务处理包括GPIO中断服务和定时器0中断服务,应用服务处理对已采集的红外波形数据分析、解码处理。2.根据权利要求1所述的一种嵌入式系统的红外通讯解码方法,其特征在于所述的红外波形数据结构体,由1字节的定时器T0中断次数计数器Timer_Count、1字节的红外信号波形时长缓存区的索引序号pIR_Wave、1字节红外信号波形采集完成申请分析IsIR_Wave、n字节的红外信号波形时长缓存区IR_Wave等组成,其中,n的范围:34~120。3.根据权利要求1所述的一种嵌入式系统的红外通讯解码方法,其特征在于所述的GPIO中断服务,由微处理器一个具有电平变化触发中断功能的GPIO引脚在检测到引脚电平变化时触发进入中断服务,启动定时器0;具体步骤是:当进入GPIO中断服务后,首先关闭定时器0,其次,判断红外波形数据结构体中pIR_Wave是否为0,如果为0,说明红外波形数据结构体没有保存数据,初始化有关资源操作,即将Timer_Count清零和pIR_Wave加一,准备开始红外波形采集,如果不为0,说明正在进行红外波形采集,则读取Timer_Count数据,保存到红外信号...

【专利技术属性】
技术研发人员:吴允平钟炜楠李汪彪苏伟达王廷银潘明阳赵德鹏刘华松
申请(专利权)人:福建师范大学大连海事大学
类型:发明
国别省市:福建,35

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1