遥控接收设备响应遥控信号的方法和装置的制作方法

文档序号:6725472阅读:242来源:国知局
专利名称:遥控接收设备响应遥控信号的方法和装置的制作方法
技术领域
本发明涉及遥控信号处理技术,具体地说,是涉及遥控接收设备及遥控信号响应 方法和装置。
背景技术
目前,机顶盒等能够接收红外遥控信号的遥控接收设备在家庭中应用越来越广 泛。由于这些设备品种多样化和针对各种不同用户使用的特点,不同生产厂家对发射红外 遥控信号的遥控器进行了严格的规范编码,这些编码各不相同,从而形成不同的编码方式, 称为红外遥控器编码传输协议。目前市场的红外遥控协议已多达十几种,常用的有NEC、 RC5、SIRC协议等。
以机顶盒为例,红外遥控器作为机顶盒产品的必备设备之一,各地广电局对机顶 盒遥控器采用的协议要求各不相同,即使协议相同的遥控器,编码规则也会存在差别,甚至 在同一地区也会存在采用不同协议和编码规则的遥控器。由于目前市场中的机顶盒仅设置 有一种遥控器协议,只能对一种协议的遥控器进行解码,由于遥控器协议不同,针对每一种 遥控器均需要设置一个特定版本的解码软件。如果机顶盒应用市场增多,所配套使用的遥 控器协议种类增多,每种遥控器对应一个解码软件的话,使得软件开发人员要开发和维护 多个版本的解码软件,这样一来,不仅增加了开发人员的开发时间和调试负担,也增加了产 品软件的维护成本,不利于机顶盒产品市场竞争力的提升。发明内容
本发明的目的在于提供一种遥控接收设备响应遥控信号的方法和装置,通过在驱 动层中集成多种遥控器协议、在应用层中生成遥控器按键码值映射表的分层设计,不仅保 证遥控接收设备能够响应多种不同协议的遥控信号,且无需频繁修改底层的驱动层软件, 增加了系统的稳定性,降低了软件开发和维护成本,提升了产品整体性能。
为实现上述发明目的,本发明采用下述技术方案予以实现一种遥控接收设备响应遥控信号的方法,在遥控信号接收设备的驱动层中集成至少两 种遥控器协议,在其应用层中生成与驱动层中集成的遥控器协议相对应的遥控器按键码值 映射表;在遥控信号接收设备接收遥控信号后,驱动层根据集成的遥控器协议对遥控信号 解码,获得遥控器实际按键码值,然后从遥控器按键码值映射表中查找到与实际按键码值 相对应的映射按键码值,并将映射按键码值传输至应用层,以执行按键功能;其中,遥控器按键码值映射表中包括有实际按键码值和映射按键码值。
如上所述的方法,为进一步提高遥控信号识别种类和识别速度,所述遥控器按键 码值映射表中还包括有遥控器系统码,所述驱动层根据遥控器系统码和遥控器实际按键码 值从遥控器按键码值映射表中查找到与实际按键码值相对应的映射按键码值。
如上所述的方法,遥控信号接收设备接收遥控信号后,先写入至先入先出消息队 列,所述驱动层从消息队列中读取遥控信号进行解码。
如上所述的方法,驱动层解码遥控信号的具体过程为所述驱动层从所述消息队 列中读取遥控信号,从遥控信号的头部数据中解析出遥控器协议,根据遥控器协议对遥控 信号进行解码,获得遥控信号中的系统码和实际按键码值,然后根据系统码和实际按键码 值从遥控器按键码值映射表中查找到相对应的映射按键码值。
如上所述的方法,所述驱动层优选将映射按键码值以回调函数方式传输至所述应用层。
如上所述的方法,遥控信号接收设备在接收遥控信号之前,先执行下述的初始化 过程安装并启动遥控器按键中断设备;创建先入先出消息队列;从底层获取频分参数;注 册按键码值回调函数;创建遥控器按键中断响应任务。
如上所述的方法,为进一步提高遥控信号响应速度,所述初始化过程还包括将所 述应用层的所述遥控器按键码值映射表传输至所述驱动层。
为实现前述发明目的,本发明提供的装置采用下述技术方案来实现一种遥控接收设备响应遥控信号的装置,所述装置包括遥控器协议设置模块,用于在遥控信号接收设备的驱动层中设置遥控器协议,且设置 至少两种遥控器协议;按键码值映射表生成模块,用于在应用层中根据驱动层中的遥控器协议生成相对应的 遥控器按键码值映射表;遥控信号接收模块,用于接收遥控器发出的遥控信号;遥控信号解码模块,设置在驱动层中,用于根据设置的遥控器协议对遥控信号进行解码;映射按键码值获取模块,用于从遥控器按键码值映射表中获取与遥控信号解码模块解 码后的遥控器实际按键码值相对应的映射按键码值;映射按键码值发送模块,用于将映射按键码值获取模块所获取的映射按键码值发送至 应用层;按键功能执行模块,设置在应用层中,用于执行按键功能。
如上所述的装置,所述装置还包括先入先出消息队列,用来缓存所述遥控信号接收模块所接收的遥控信号。
如上所述的装置,为进一步提高遥控信号响应速度,所述装置还包括按键码值映射表传输模块,用于将所述应用层中的按键码值映射表并传输至所述驱动层。
与现有技术相比,本发明的优点和积极效果是通过在驱动层中集成多种遥控器 协议、在应用层中生成遥控器按键码值映射表的分层设计,将遥控信号的解码工作全部在 驱动层中完成,应用层只需将所用遥控器的实际按键码值与映射按键码值的对应关系提供 给驱动层,无需关心所用遥控器的协议和解码原理即可实现对遥控信号的快速、准确响应, 不仅保证遥控接收设备能够响应多种不同协议的遥控信号,且无需频繁修改底层的驱动层 软件,增加了系统的稳定性,使用简单灵活,降低了软件开发和维护成本,提升了产品整体 性能。
结合附图阅读本发明的具体实施方式
后,本发明的其他特点和优点将变得更加清/E. ο


图1是本发明遥控接收设备响应遥控信号的方法一个实施例的流程图;图2是本发明遥控接收设备响应遥控信号的方法另一个实施例的流程图;图3是图2实施例的初始化流程图;图4是本发明遥控接收设备响应遥控信号的装置一个实施例的结构框图。
具体实施方式
下面结合附图和具体实施方式
对本发明的技术方案作进一步详细的说明。
请参考图1,该图1为本发明遥控接收设备响应遥控信号的方法一个实施例的流 程图。该实施例以机顶盒响应遥控信号为例,对本发明的方法作一具体阐述。
如图1所示,该实施例机顶盒响应遥控信号的方法流程如下步骤11:流程开始。
步骤12 :在驱动层中集成至少两种遥控器协议。
在驱动层软件程序设计时,将机顶盒应用市场所有可能存在的遥控器协议种类进 行预置。
步骤13 :在应用层中生成遥控器按键码值映射表。
根据驱动层中集成的遥控器协议在应用层中生成遥控器按键码值映射表,该映射 表中至少包括有该协议遥控器的实际按键码值以及相应的映射按键码值,还可以包括有遥 控器系统码,以提高遥控信号的识别种类。这样,遥控器按键码值映射表的数量一般会大于 驱动层中集成的遥控器协议的数量。
步骤14 :接收遥控信号并传输至驱动层。
机顶盒通过其遥控信号接收模块接收遥控器发出的遥控信号,并将遥控信号传输 至驱动层。
步骤15 :驱动层根据集成的遥控器协议对遥控信号解码,获得遥控器实际按键码值。
驱动层接收到遥控信号后,能够从遥控信号中获得遥控器所采用的协议,然后从 预置的协议中找到遥控器所采用的协议,并根据预置的协议解码规则对遥控信号解码,从 而获得遥控信号中所包含的遥控器实际按键码值。
步骤16 :从遥控器按键码值映射表中查找与实际按键码值相对应的映射按键码 值,将映射按键码值传输至应用层。
步骤17 :应用层根据映射按键码值执行按键功能。
步骤18 :流程结束。
利用上述所述的方法,机顶盒应用层无需知晓遥控器的协议和解码规则,只需要 根据驱动层中集成的遥控器协议预先创建遥控器实际按键码值与应用层能够解析的映射 按键码值相对应的表,并使得驱动层能够访问该映射表。解码过程全部在驱动层执行,且驱 动层在解码获得遥控器实际按键码值后,能够自动查找映射表,找到相应的映射按键码值 传输给应用层。应用层根据该映射按键码值就可以执行正确的按键功能。如此一来,通过在驱动层预置多种遥控器协议,仅依靠驱动层就能够对多种协议的遥控信号解码而获得实 际按键码值,并通过映射表查找到应用层能够识别的映射按键码值,即可及时、快速、准确 地实现对按键的响应,整个过程无需为每一款遥控器开发和维护单独的软件,使用简单、灵 活。
请参考图2,该图2示出了本发明遥控接收设备响应遥控信号的方法另一一个实 施例的具体流程图。该实施例仍以机顶盒作为遥控接收设备,详细描述其响应机顶盒遥控 器发出的遥控信号的具体处理过程如下步骤201 :流程开始。步骤202 :在驱动层中集成至少两种遥控器协议,在应用层中生成遥控器按键码值映 射表。
该步骤的具体实现过程可参考图1实施例所述。
步骤203 :遥控信号接收设备执行初始化。
初始化具体过程请参考图3流程所示。
步骤204 等待遥控器发出遥控信号。
步骤205 :判断是否有遥控器按键中断。如有,执行步骤206 ;若无,转至步骤204, 继续等待遥控器发出遥控信号。
一般的,遥控器的按键响应在机顶盒整个系统中优先级最高,因此,需要使用专门 的硬件作为中断设备,如果有遥控器发出的遥控信号,则会通过该中断设备发出按键中断信号。
步骤206 :如果有遥控器按键中断,说明有遥控信号发出。机顶盒接收遥控信号, 并写入至先入先出消息队列。
该实施例在初始化时建立了一个遥控信号的先入先出队列,用来缓存所接收的遥控信号。
步骤207 :驱动层从消息队列中读取遥控信号。
步骤208 :驱动层从遥控信号的头部数据解析出遥控器协议,根据遥控器协议对 遥控信号解码,获得遥控器系统码和实际按键码值。
驱动层从消息队列中读取到遥控信号后,先获取其头部数据,从而解析出遥控器 协议,然后,从预置的协议中找到遥控器所采用的协议,并根据预置的协议解码规则对遥控 信号解码,从而获得遥控信号对应的遥控器系统码和实际按键码值。
步骤209 :根据系统码和实际按键码值从遥控器按键码值映射表中查找与实际按 键码值相对应的映射按键码值,将映射按键码值以回调函数方式传输至应用层。
协议相同、系统码不同的遥控信号,其实际按键码值与按键操作会不同,为了增加 遥控信号识别种类和提高识别速度,遥控器按键码值映射表中不仅包括有实际按键码值和 映射按键码值,还包括有遥控器系统码。驱动层通过解码获得遥控信号对应的遥控器系统 码和实际按键码值后,将根据系统码和实际按键码值从遥控器按键码值映射表中查找与实 际按键码值相对应的映射按键码值,并将映射按键码值以初始化过程中已经注册的回调函 数传输至应用层。
步骤210 :应用层根据映射按键码值执行按键功能。
步骤211:流程结束。
步骤203中遥控信号接收设备执行遥控信号响应初始化的流程可参考图3所示, 具体如下步骤301 :初始化开始。
步骤302 :安装并启动遥控器按键中断设备。
步骤303 :创建先入先出消息队列,用来存放每次遥控器按键中断所产生的、以脉 冲数据形式存在的遥控信号。
步骤304 :从底层获取频分参数。
在驱动层解码过程中,会利用该频分参数换算出不同协议的T值(即脉宽基础值, 比如NEC协议中,IT为“0”,2T为“I”)。
步骤305 :注册按键码值回调函数,以便在有按键按下、弹起或持续按下而产生遥 控信号时,驱动层可以利用该回调函数将解码后的遥控按键码值传输至应用层,保证能够 正确响应按键。
步骤306 :将应用层的遥控器按键码值映射表传输至驱动层中。
为了提高遥控信号响应速度,驱动层对应用层提供有通信接口,在初始化中利用 该通信接口将应用层的遥控器按键码值映射表读取到驱动层中。这样,驱动层对遥控信号 解码之后,可以直接调用本地映射表查找相应的映射按键码值。
步骤307 :创建遥控器按键中断响应任务。
步骤308:初始化结束。
在执行完初始化后,遥控器按键中断的各项准备工作已就绪,一旦有按键按下,则 会产生中断,将本次按键的脉冲数据信息写入至先入先出消息队列,而遥控器按键中断响 应任务将会实时对该数据按照图2流程进行处理,最终响应按键操作,完成遥控信号的响 应过程。
请参考图4,该图4示出了本发明遥控接收设备响应遥控信号的装置一个实施例 的结构框图。
如图4所示,该实施例响应遥控信号的装置结构具体如下,包括按键码值映射表生成模块41,用于在应用层中根据遥控接收设备驱动层中的遥控器协 议生成相对应的遥控器按键码值映射表。
按键码值映射表传输模块42,与按键码值映射表设置模块41相连接,用于将应用 层中的按键码值映射表传输至遥控信号接收设备的驱动层中。
遥控信号接收模块48,用于接收遥控器发出的遥控信号。
先入先出消息队列49,与遥控信号接收模块48相连接,用来缓存遥控信号接收模 块48所接收的遥控信号。
遥控器协议设置模块43,用于在遥控信号接收设备的驱动层中设置遥控器协议, 且设置至少两种遥控器协议。
遥控信号解码模块44,设置在驱动层中,与先入先出消息队列49相连接,用于读 取先入先出消息队列中的遥控信号,并根据设置的遥控器协议对遥控信号进行解码。
映射按键码值获取模块45,与遥控信号解码模块44及按键码值映射表读取模块 42相连接,用于从遥控器按键码值映射表中获取与遥控信号解码模块44解码后的遥控器 实际按键码值相对应的映射按键码值。
映射按键码值发送模块46,用于将映射按键码值获取模块45所获取的映射按键码值发送至应用层。
按键功能执行模块47,设置在应用层中,与映射按键码值发送模块46相连接,用 于根据映射按键码值执行所对应的实际按键码值的按键功能。
上述结构的解码装置在有关软件配合下,可以按照图2实施例的方法流程所示完 成遥控信号接收设备对遥控信号的响应。
以上实施例仅用以说明本发明的技术方案,而非对其进行限制;尽管参照前述实 施例对本发明进行了详细的说明,对于本领域的普通技术人员来说,依然可以对前述实施 例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或替 换,并不使相应技术方案的本质脱离本发明所要求保护的技术方案的精神和范围。
权利要求
1.一种遥控接收设备响应遥控信号的方法,其特征在于,在遥控信号接收设备的驱动层中集成至少两种遥控器协议,在其应用层中生成与驱动层中集成的遥控器协议相对应的遥控器按键码值映射表;在遥控信号接收设备接收遥控信号后,驱动层根据集成的遥控器协议对遥控信号解码,获得遥控器实际按键码值,然后从遥控器按键码值映射表中查找到与实际按键码值相对应的映射按键码值,并将映射按键码值传输至应用层,以执行按键功其中,遥控器按键码值映射表中包括有实际按键码值和映射按键码值。
2.根据权利要求1所述的方法,其特征在于,所述遥控器按键码值映射表中还包括有遥控器系统码,所述驱动层根据遥控器系统码和遥控器实际按键码值从遥控器按键码值映射表中查找到与实际按键码值相对应的映射按键码值。
3.根据权利要求2所述的方法,其特征在于,遥控信号接收设备接收遥控信号后,先写入至先入先出消息队列,所述驱动层从消息队列中读取遥控信号进行解码。
4.根据权利要求3所述的方法,其特征在于,所述驱动层从所述消息队列中读取遥控信号,从遥控信号的头部数据中解析出遥控器协议,根据遥控器协议对遥控信号进行解码, 获得遥控信号中的系统码和实际按键码值,然后根据系统码和实际按键码值从所述遥控器按键码值映射表中查找到相对应的映射按键码值。
5.根据权利要求3或4所述的方法,其特征在于,所述驱动层将映射按键码值以回调函数方式传输至所述应用层。
6.根据权利要求4所述的方法,其特征在于,遥控信号接收设备在接收遥控信号之前, 先执行下述的初始化过程安装并启动遥控器按键中断设备;创建先入先出消息队列;从底层获取频分参数;注册按键码值回调函数;创建遥控器按键中断响应任务。
7.根据权利要求6所述的方法,其特征在于,所述初始化过程还包括将所述应用层的所述遥控器按键码值映射表传输至所述驱动层。
8.—种遥控接收设备响应遥控信号的装置,其特征在于,所述装置包括遥控器协议设置模块,用于在遥控信号接收设备的驱动层中设置遥控器协议,且设置至少两种遥控器协议;按键码值映射表生成模块,用于在应用层中根据驱动层中的遥控器协议生成相对应的遥控器按键码值映射表;遥控信号接收模块,用于接收遥控器发出的遥控信号;遥控信号解码模块,设置在驱动层中,用于根据设置的遥控器协议对遥控信号进行解码;映射按键码值获取模块,用于从遥控器按键码值映射表中获取与遥控信号解码模块解码后的遥控器实际按键码值相对应的映射按键码值;映射按键码值发送模块,用于将映射按键码值获取模块所获取的映射按键码值发送至应用层;按键功能执行模块,设置在应用层中,用于执行按键功能。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括先入先出消息队列,用来缓存所述遥控信号接收模块所接收的遥控信号。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括按键码值映射表传输模块,用于将所述应用层中的按键码值映射表并传输至所述驱动层。
全文摘要
本发明公开了一种遥控接收设备响应遥控信号的方法和装置。所述方法为在遥控信号接收设备驱动层中集成至少两种遥控器协议,在其应用层中生成遥控器按键码值映射表;在遥控信号接收设备接收遥控信号后,驱动层根据集成的遥控器协议对遥控信号解码,获得遥控器实际按键码值,然后从遥控器按键码值映射表中查找到与实际按键码值相对应的映射按键码值,并将映射按键码值传输至应用层,以执行按键功能。本发明通过在驱动层中集成多种遥控器协议、在应用层中生成遥控器按键码值映射表的分层设计,不仅保证能够响应多种不同协议的遥控信号,且无需频繁修改驱动层软件,增加了系统的稳定性,降低了软件开发和维护成本。
文档编号G08C15/00GK103000008SQ20121053741
公开日2013年3月27日 申请日期2012年12月13日 优先权日2012年12月13日
发明者张丽萍 申请人:青岛海信宽带多媒体技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1