用串口接收红外遥控信号的方法技术

技术编号:2982937 阅读:1610 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种使用串口接收红外遥控信号来完成软件解码遥控信号脉冲的方法,旨在减少软件解码占用系统额外的外部中断资源,主要在于:将红外遥控接收器OUT引脚与串口的RXD引脚相连;根据当前使用遥控器的脉冲宽度计算串口波特率,并设置包括串口波特率在内的串口属性;获取符合当前使用遥控器前导码和用户识别码的串口数据,并保存串口数据及相应的串口状态寄存器的值;根据保存遥控器按键与串口数据和串口状态寄存器的值对应关系的遥控器按键映射表,将串口数据转换为遥控按键值。本发明专利技术方法不占用系统额外的外部中断资源,而且在其它中断负担重的时候也可以减少出错概率。

Method for receiving infrared remote control signal by serial port

The invention discloses a method for using the serial port to receive infrared remote control signal to complete the software method of remote signal pulse decoding, to reduce the occupation of the system additional external interrupt resources, software decoding mainly lies in: the infrared remote control receiver OUT pin and RXD pin serial connected computing; serial baud rate according to the pulse width of the current use of the remote control, and set the including the serial baud rate, serial port property; get to meet the serial data of the current use of remote preamble and user identification code, and save the serial data and the corresponding serial port status register value; according to the remote control button and save the serial data and serial port status register value corresponding to the relationship between the remote button mapping table, the serial data conversion for the remote control key value. The method of the invention does not occupy the additional external interrupt resources of the system, and can also reduce the error probability when other interrupt burdens are heavy.

【技术实现步骤摘要】

本专利技术涉及红外遥控技术,具体地说,是涉及用串口接收红外遥控信号 的方法。
技术介绍
红外遥控技术目前已较为成熟,具有使用方便、功耗低、抗干扰能力强 和成本低等优点,在家电中得到了广泛的应用,也在智能仪器系统中受到重 视。 一般的红外遥控系统是由红外遥控信号发射器、红外遥控信号接收器和微控制器及其外围电路等3部分构成的。由遥控编码器产生遥控编码脉沖,驱动红外发射管输出红外遥控信号,遥控接收头完成对遥控信号的^L大、检 波、整形,解调出遥控编码脉冲。遥控编码脉沖不能直接被程序识别,还需 要对编码脉冲进行解码,获得包含用户信息的二进制码。从遥控编码脉冲解出包含用户信息的二进制码可以用两种方法, 一种是用专用的解码芯片,完全交给硬件处理;还有一种是用软件按照遥控编码脉 冲的格式进行解码。采用硬件解码来说,对系统的负担小,而且出错概率小, 但是成本比较高;用软件解码成本低,但是增加了系统负担,常规软件解码 占用了系统外部中断资源和内部定时器资源,特别是在系统其它中断任务重 的时候出错概率较大。因此,需要提供一种新的红外遥控信号接收方法,来解决现有技术中的 上述矛盾。
技术实现思路
本专利技术所要解决的技术问题是在于需要提供一种使用串口接收红外遥 控信号来完成软件解码遥控信号脉冲的方法,避免了现有技术软件解码占用系统额外的外部中断资源。为了解决上述技术问题,本专利技术提供了一种用串口接收红外遥控信号的 方法,包括步骤(1 )将红外遥控接收器OUT引脚与所述串口的RXD引脚相连,并将 所述红外遥控接收器与所述串口均接地;(2) 根据当前使用遥控器的脉冲宽度计算串口波特率,并设置包括所 述串口波特率在内的串口属性;(3) 获取符合当前使用遥控器前导码和用户识别码的串口数据,并保 存所述串口数据及相应的串口状态寄存器的值;(4 )根据保存遥控器按键与串口数据和串口状态寄存器的值对应关系 的遥控器按键映射表,将步骤(3)中的串口数据转换为遥控按键值。上述方法中,所述红外遥控接收器OUT引脚与所述串口 RXD引脚之间, 可以进一步包括电平转换单元,用来实现电平转换。上述方法中,步骤(2)中所述串口波特率的范围,可以为红外遥控信 号波形最短高电平持续时间对应的波特率与红外遥控信号波形最短低电平 持续时间对应的波特率之间。进一步地,所述串口波特率可以设置为红外遥 控信号波形最短高电平持续时间和最短低电平持续时间中较小者对应的波特率。上述方法步骤(2)中,所述串口属性可以包括串口的数据位、停止位 和才交-验方式。进一步地,所述lt据位可以为8位;所述停止位可以为l位; 所述校验方式可以包括校验或偶检验。上述方法步骤(3)包括,可以抛弃不符合前导码和用户识别码的用户 数据码。上述方法步骤(3)中,获取当前使用遥控器前导码和用户识别码对应 的串口数据,可以包括对当前遥控器上不同按键对应的串口数据进行分析, 或对串口传输数据格式和遥控编码脉沖格式进行分析来获得。上述方法步骤(3)中,所述串口状态寄存器的值,可以是遥控码数据 的一部分。上述方法步骤(4)中,所述遥控器按键映射表的制作方式可以包括, 按遥控器上的按键,记录每个按键对应的串口数据和串口状态寄存器的值, 由此获得所述遥控器按键映射表。上述方法中,可以通过改变串口的数据位个数来规避不同遥控器的红外 遥控信号解为同一个遥控码。与现有技术相比,本专利技术使用串口接收红外遥控的做法来达到软件解码 遥控编码脉沖,不占用系统额外的外部中断资源,而且在其它中断负担重的 时候也可以减少出错概率。用串口接收红外遥控的方法不同于常规红外遥控 接收方法,可以保证在中断任务重的系统中不出现误码、减少系统资源的占 用。硬件连接方法和软件解码方法都比较简单,可以省去额外的红外解码芯 片,降低系统成本,特别适合用于嵌入式系统。本专利技术不占用系统额外的外 部中断资源,在其他中断负担重的时候也可以减少出错概率,而且降低了系 统成本。附图说明图1串口和红外遥控接收器连接示意图。图2是串口初始化步骤示意图。图3是本专利技术软件收取遥控码数据的串口处理步骤示意图。 图4是NEC格式遥控码波形示意图。 图5是本专利技术方法步骤示意图。具体实施例方式以下结合附图和对本专利技术作进一步的详细说明。红外线遥控是目前使用最广的一种遥控手段。红外线遥控装置具有体积 小、功耗低、功能强、成本低等特点而被大量使用。本专利技术方法的思路是, 使用串口连接红外遥控接收器,通过从串口读取数据,并对数据进行分析, 转换成相应的遥控码,从而实现对接收到的遥控码进行解码。硬件连接方法 参见附图1,红外遥控接收器OUT引脚与串口 RXD引脚相连,如果需要进行电平转化的话,则红外遥控信号从红外遥控接收器OUT引脚输出之后, 经过一电平转换单元转换电平,再传输至串口 RXD引脚;串口通过GND 引脚接地,同时红外遥控接收器也需要接地。至于串口的TXD引脚本专利技术 并不涉及,可以悬空。另外,红外遥控接收器由电源VCC1提供电能支持, 串口由电源VCC2提供电能支持。使用CPU的通用异步收发器(UART)(或UART芯片)接口的接收 引脚连接红外遥控接收器输出引脚,将红外遥控接收器收到的编码脉沖信号 送给串口,通过设置适当串口波特率、数据位、停止位、校验方式,将从串 口收到数据进行适当解码后即可得到遥控码。串口初始化的步骤如图2所 示,包括步骤201, 设置串口波特率、数据位、停止位和校验方式; 步骤202,设置中断处理程序和中断类型; 步骤203,允许串口接收中断,串口初始化结束。在软件处理上,需要处理正常串口接收中断(接收数据就绪)。正常中 断处理方法是从串口的先进先出(FIFO)緩沖区收取数据,同时读取并保 存串口的中断状态寄存器的内容,将串口中断状态寄存器的值作为遥控码数据的一部分,这样可以减少不同红外遥控编码脉冲信号对应同 一遥控码的概 率。串口的异常中断(奇偶校验错误、帧错误、FIFO溢出、break中断)可 以不处理。当从串口收到了一系列数据后就需要对数据进行过滤,对于同一 个遥控器来说,遥控码中的前导码和用户识别码是相同的,只有用户码部分 不同,因此可以使用前导码和用户识别码对收到的数据序列进行过滤,只有 符合前导码和用户识别码对应的串口数据序列才是正确的遥控码序列,序列 中用户码对应的串口数据和这些串口数据相应的中断状态寄存器值的数据集合就是解码遥控器的按键值,这里收到的遥控码键值和实际的遥控码定义 的值是不一样的,但是存在一个映射关系可以区分不同的遥控器按键。软件 收^Jt控码数据的串口中断处理流程,请参加附图3,包括步骤步骤301,判断接收FIFO是否为空,如果为空则退出中断处理(步骤 3011 ),否则l丸行步骤302;步骤302,读取接收FIFO数据和串口状态;步骤303,检查当前接收状态,如果当前为检查引导码,则转步骤304, 如果当前为检查用户识别码,转步骤305,如果当前为读取用户数据码,转 步骤310;步骤304,判断序列是否为引导码序列,是则转步骤306,否则转步骤307;步骤305,判断序列是否为用户识别码序列,是则转步骤308,否则转 步骤309;步骤306,设置当前状态为4企查用户识别码,并返回步骤301重新执行; 步骤307本文档来自技高网...

【技术保护点】
一种用串口接收红外遥控信号的方法,其特征在于,包括步骤:(1)将红外遥控接收器OUT引脚与所述串口的RXD引脚相连,并将所述红外遥控接收器与所述串口均接地;(2)根据当前使用遥控器的脉冲宽度计算串口波特率,并设置包括所述串口 波特率在内的串口属性;(3)获取符合当前使用遥控器前导码和用户识别码的串口数据,并保存所述串口数据及相应的串口状态寄存器的值;(4)根据保存遥控器按键与串口数据和串口状态寄存器的值对应关系的遥控器按键映射表,将步骤(3)中的 串口数据转换为遥控按键值。

【技术特征摘要】

【专利技术属性】
技术研发人员:李华于京涛朱晓斌丁元欣苗军谭笑
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:94[中国|深圳]

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

1