无卡条件接收系统的软件升级方法及升级装置的制作方法

文档序号:6706768阅读:173来源:国知局
专利名称:无卡条件接收系统的软件升级方法及升级装置的制作方法
技术领域
本发明涉及嵌入式系统技术领域,具体地说,是涉及嵌入式系统软件升级技术,更具体地说,是涉及无卡条件接收系统的软件升级方法和升级装置。
背景技术
数字电视一体机、数字机顶盒等具有无卡条件接收系统(无卡CA系统)的嵌入式设备中,由于无卡CA系统的特殊保密性,其软件升级程序的任何改动都需要经过认证、测试、拷机、发布等流程。此外,无卡CA系统进行软件升级时,不管是自动升级还是手动手机,每执行一次升级操作,均需要使用遥控器。如果为自动升级,在检测到自动升级触发信息并满足升级条件时,自动弹出升级界面,提示用户是否需要升级。用户将通过遥控器选择升级提示界面上的是、否按钮来确定执行升级或取消升级。如果是手动升级,需要通过遥控器进入手动升级界面,并利用遥控器输入升级的频点、符号率、QAM调制信息、PID参数等信息完成参数配置,然后再执行升级过程。因此,为实现顺利升级,现有无卡CA系统的软件升级程序中都内嵌有遥控器驱动。而对于现有无卡CA系统应用来说,不同市场所使用的遥控器大都不相同,为保证所有市场中的产品都能实现顺利升级,其软件升级程序必须响应市场所对应的特定遥控器。所以,如果产品更换市场,就必须修改软件升级程序,以便更换所对应的遥控器驱动。而软件升级程序一旦修改,存在着下述几个方面的缺点首先,由于需要重新进行认证、测试、拷机和发布,过程复杂,速度较慢,无法满足市场快速派生的产品供货需求;其次,如果修改过程中某个地方出错,导致升级失败,会造成产品无法正常启动,风险增大,给用户带来不便,给产品厂家带来损失和信誉的下降;再次,程序修改将带来程序开发、售后维护量的急剧增加,加重了生产商成本,降低了产品的市场竞争力。

发明内容
本发明针对现有无卡CA系统在更换遥控器后需要改动软件升级程序而存在的上述问题,提供了一种无卡条件接收系统的软件升级方法及升级装置,通过设置物理上与软件升级程序分离的映射表,在无需更改软件升级程序的前提下即可响应多种不同的遥控器而实现软件升级。为实现上述发明目的,本发明提供的软件升级方法采用下述技术方案予以实现一种无卡条件接收系统的软件升级方法,在系统存储设备中、独立于软件升级程序单
独存储遥控器键值与操作索引值一一对应的映射表,软件升级时,接收遥控器输入的码值,查找映射表中与所接收的码值中的键值相对应的操作索引值,并执行操作索引值所对应的操作。如上所述的方法,为提高软件升级准确性和升级速度,所述映射表中的遥控器键值包括有遥控器的操作码及其反码,在接收到遥控器输入的码值后,先根据映射表中的键值判断接收的码值中的键值是否为有效输入键值,在为有效输入键值时再执行键值所对应的操作索引值的操作。如上所述的方法,为准确、及时发现无效输入信号,所述映射表中还包括有遥控器用户码,在接收到遥控器输入的码值后,首先根据映射表中的用户码判断接收的码值是否为有效输入码值,在为有效输入码值时再判断码值中的键值是否为有效输入键值。如上所述的方法,为进一步提高软件升级速度,在软件升级程序中设置有默认码值和定制码值,若接收的遥控器输入的码值中的用户码为映射表中的默认用户码,则根据软件升级程序中的默认键值执行软件升级;若接收的遥控器输入的码值中的用户码为非默认用户码,则根据映射表中的键值执行软件升级。如上所述的方法,所述系统存储设备为flash存储器,所述映射表存储在flash存储器中系统配置表所在的存储块内。为实现前述发明目的,本发明提供的软件升级装置采用下述技术方案来实现一种无卡条件接收系统的软件升级装置,所述装置包括
软件升级程序存储单元,用于存储软件升级程序;
映射表存储单元,独立于软件升级程序存储单元,用于存储一一对应的遥控器键值与操作索引值;
遥控器码值接收单元,用于在升级过程中接收遥控器输入的码值;
码值匹配单元,用于从映射表存储单元中查找与输入的码值中的键值相匹配的操作索引值;
软件升级键值处理单元,用于在软件升级过程中执行所接收的遥控器键值对应的操作。如上所述的装置,为提高软件升级准确性和升级速度,所述映射表存储单元中所存储的遥控器键值包括有遥控器的操作码及其反码,所述装置还包括
有效输入键值判定单元,用于根据映射表存储单元中的遥控器键值判断所述遥控器码值接收单元所接收的码值中的键值是否为有效输入键值。如上所述的装置,为准确、及时发现无效输入信号,所述映射表存储单元中还存储有遥控器用户码,所述装置还包括
有效输入码值判定单元,用于根据映射表存储单元中的用户码判断所述遥控器码值接收单元所接收的码值是否为有效输入码值。如上所述的装置,为进一步提高软件升级速度,所述软件升级键值处理单元包括有默认键值处理子单元和定制键值处理子单元,在所述遥控器码值接收单元所接收的码值中的用户码为默认用户码时,选择默认键值处理子单元按照软件升级程序中的默认键值执行软件升级,在遥控器码值接收单元所接收的码值中的用户码为非默认用户码时,选择定制键值处理子单元按照映射表中的键值执行软件升级。如上所述的装置,所述无卡条件接收系统尤指数字机顶盒中的无卡条件接收系统。与现有技术相比,本发明的优点和积极效果是本发明在独立于软件升级程序之外单独存储一个遥控器键值与操作索引值相对应的映射表,利用相同协议的遥控器键值与所实现的操作相同的机理,将不同遥控器的键值转换为软件升级程序能够识别和处理的操作索引值而进行软件升级,在遥控器发生变化时无需更改软件升级程序即可响应多种不同的遥控器,减少了程序认证及测试、拷机、发布等流程,便于及时满足市场变化时的产品需求,且有效避免了因软件升级程序更改带来的风险大、开发和维护成本高的问题。而且,由于映射表独立于软件升级程序存在,如果需要增减或更改键值与操作索引值的对应关系,只需对读写方便快速的映射表进行修改,仍然不需要改动庞大的软件升级程序,进一步提高了派生市场软件产品的开发速度,有利于产品市场竞争力的提升。结合附图阅读本发明的具体实施方式
后,本发明的其他特点和优点将变得更加清


图I是本发明无卡条件接收系统软件升级方法一个实施例的流程图2是本发明无卡条件接收系统软件升级装置一个实施例的结构框图。
具体实施例方式下面结合附图和具体实施方式
对本发明的技术方案作进一步详细的说明。请参考图1,该图I所示为本发明无卡条件接收系统软件升级方法一个实施例的流程图。该实施例以具有无卡条件接收系统的数字机顶盒为例,详细描述其软件升级过程中响应遥控器按键的过程。如图I所示,该实施例软件升级时对遥控器按键进行响应处理的过程为
步骤101:升级流程开始。步骤102 :启动软件升级程序。软件升级程序可以是操作人员手动启动,也可以是自动启动。如果是自动启动,将在检测到自动升级触发信息、且满足升级条件时启动;如果是手动启动,则由操作人员根据升级需要来启动。如背景技术所述,不管是手动升级还是自动升级,均需要使用遥控器。步骤103 :接收遥控器发射的红外遥控码值。该实施例以红外遥控器为例,在使用红外遥控器时,操作人员操作遥控器按键,通过其红外头将包含用户码(遥控器的识别码,以区分不同种类的遥控器)和操作码(遥控器的功能码,也即按键的键值)的红外遥控码值发送出去,机顶盒中的红外接收将接收该红外遥控码值。步骤104 :在接收到红外遥控码值之后,读取映射表中的遥控器用户码,并与接收的码值中的相应用户码进行比较。步骤105 :判断所接收的红外遥控码值是否为有效输入码值。若是,执行步骤106 ;若否,转至步骤103,继续接收红外遥控码值。在产品软件开发及烧写时,在系统存储设备上预先存储一个映射表,该映射表的存储位置独立于软件升级程序而单独存储,例如,如果采用flash存储器,映射表可以存储在系统配置表所在的存储块内,该存储块与软件升级程序位于不同的存储块中,可以单独擦除和写入映射表而不改动软件升级程序。而且,映射表内除了存储遥控器键值与操作索引值的一一对应关系之外,还存储有遥控器用户码。为了准确、及时地发现无效输入码值,该实施例设置了步骤104和步骤105的比较判断过程。具体来说,在接收到红外遥控码值之后,首先判断接收的码值中的用户码与映射表中存储的遥控器用户码是否相同。如果相同,判定所接收的是有效输入码值;如果不相同,则判定输入的码值不是有效输入码值。如果不是有效输入码值,则说明遥控器不是机顶盒所能识别的遥控器,也即不能正确进行软件升级的控制。此情况下,软件升级程序不继续执行,而是重新接收红外遥控码,且可以通过文字或声音报警等提示方式提示操作人员更换遥控器。步骤106 :若判定接收的遥控码值时有效输入码值,再判断是否为默认用户码。若是,执行步骤107 ;若否,转至步骤108。在软件设计时,可以根据大部分市场的遥控器类型而选定一种遥控器键值内嵌于软件升级程序中作为默认遥控器键值。相应的,在映射表中指定该遥控器的用户码作为默认码来使用,并进行标记。在接收到红外遥控码值、并进行有效输入码值判定过程中,如果接收的遥控码值中的用户码与设定的默认码相同,则认为接收的为默认用户码;若不相同,则判定不是默认用户码。步骤107 :如果判定接收的遥控码值中的用户码是默认用户码,说明当前使用的遥控器是内嵌在软件升级程序中的键值所对应的遥控器。此时,为提高软件升级速度,将不再读取映射表进行比较和查找,而是直接根据软件升级程序中的默认键值执行软件升级。执行完成之后,转至步骤112。步骤108 :如果判断接收的遥控器码值中的用户码不是默认用户码,说明当前使用的遥控器不是内嵌在软件升级程序中的键值所对应的遥控器。为了保证使用该遥控器能够进行升级操作,首先读取映射表中的遥控器键值,获得映射表中与接收的遥控器键值相同的一条记录。步骤109 :判断所接收的遥控器键值是否为有效输入键值。若是,执行步骤110 ;否则,转至步骤103,重新接收红外遥控码。在该实施例中,映射表中的遥控器键值包括有遥控器的操作码及其反码,可以根据操作码与反码是否互为反码来判断键值是否有效。为提高软件升级准确性和升级速度,避免对无效的键值进行处理造成升级错误和浪费升级时间,该实施例在接收到遥控器输入的码值、并找到与其键值相同的一条记录之后,判断接收的键值的反码与映射表中存储的反码是否一致。若一致,判定接收的键值是有效输入键值;否则,判定位无效输入键值,放弃该键值的处理,重新接收新的红外遥控器码。步骤110 :如果接收的遥控码值为默认的遥控器码值、且键值为有效输入键值,则读取映射表中与输入键值相对应的操作索引值,也即读取映射表中接收的键值相同的记录中的操作索引值。该操作索引值对应着预设的、固定不变的一个按键操作,也是软件升级程序要响应的一个按键操作。步骤111 :根据操作索引值执行软件升级。步骤112 :升级过程结束。该实施例通过设置映射表,软件升级程序在处理遥控器键值时,无需关心遥控器所发射的码值是什么,只需要知道映射表中的操作索引值,然后根据操作索引值执行相应的升级操作,提高了软件升级程序的通用性。举例来说,机顶盒接收到一个遥控红为码值为0Xd827,经过判断,该码值为有效输入码值,其用户码不是默认用户码,其键值是有效输入键值。经查找,映射表中与该码值中的键值相同的键值多对应的索引返回值为2,而在软件升级程序中,索引返回值2代表的是“确定”操作。次数,如果软件升级程序处于确定是否升级的提升界面,则光标将选定为“是”,然后开始执行升级过程。而且,软件升级时所用的遥控器按键数量较少,常用的包括菜单、确定、退出、方向键及数字键等十多个按键,这样,映射表只需要维护这十多个按键的键值及其操作索引表,所占存储空间少,方便更新。通过将映射表独立于软件升级程序而存储,如果需要更换遥控器,只需要更新映射表内容,不需要对软件升级程序做改动,确保了产品整个系统的稳定性。请参考图2,该图2示出了本发明无卡条件接收系统软件升级装置一个实施例的结构框图,该实施例仍以数字机顶盒中的无卡条件接收系统为例,描述其软件升级装置的结构。如图2所示,该实施例的软件升级装置所包括的单元部分、相互之间的连接关系及功能如下
软件升级程序存储单元21,用于存储软件升级程序。映射表存储单元22,独立于软件升级程序存储单元,用于存储一一对应的遥控器键值与操作索引值。在该实施例中,映射表存储单元22所存储的遥控器键值包括有遥控器的操作码及其反码,还包括有遥控器用户码,以便对输入码值进行有效性判断,提高键值处理的准确性和速度。其中,这两个存储单元可以都是flash存储器的一部分,而且,这两部分在不同的flash存储块中,以便能够对映射表存储单元中进行单独的擦除和写操作。例如,映射表存储单元在机顶盒系统配置表所在的存储块内,也即映射表作为系统配置表而存储,可以通过配置文件工具写入到工程文件中,然后烧写到flash相应的存储块上。遥控器码值接收单元23,用于在升级过程中接收遥控器输入的码值。有效输入码值判定单元24,与映射表存储单元22和遥控器码值接收单元23相连接,用于根据映射表存储单元22中的用户码判断遥控器码值接收单元23所接收的码值是否为有效输入码值。有效输入键值判定单元25,与有效输入码值判定单元24相连接,在判定遥控器码值接收单元23所接收的码值是有效输入码值时,根据映射表存储单元22中的遥控器键值判断遥控器码值接收单元23所接收的码值中的键值是否为有效输入键值。具体判断方法可参考图I方式实施例所述。码值匹配单元26,与映射表存储单元22和有效输入键值判定单元25相连接,在判定遥控器码值接收单元23所接收的码值中的键值为有效输入码值时,从映射表存储单元22中查找与输入的码值中的键值相匹配的操作索引值并输出。软件升级键值处理单元27,用于在软件升级过程中执行所接收的遥控器键值对应的操作。对于软件升级键值处理单元27来说,可以包括有默认键值处理子单元和定制键值处理子单元,在遥控器码值接收单元23所接收的码值中的用户码为默认用户码时,选择默认键值处理子单元按照软件升级程序中的默认键值执行软件升级,这样能够提高升级速度,减少键值查找和比较的操作。而在遥控器码值接收单元22所接收的码值中的用户码为非默认用户码时,选择定制键值处理子单元按照映射表中的键值及其对应的操作索引值执
8行软件升级。上述结构的软件升级装置配合相应的软件运行程序,可以按照图I实施例所述的方法流程执行机顶盒中无卡条件接收系统的软件升级。以上实施例仅用以说明本发明的技术方案,而非对其进行限制;尽管参照前述实 施例对本发明进行了详细的说明,对于本领域的普通技术人员来说,依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或替换,并不使相应技术方案的本质脱离本发明所要求保护的技术方案的精神和范围。
权利要求
1.一种无卡条件接收系统的软件升级方法,其特征在于,在系统存储设备中、独立于软件升级程序单独存储遥控器键值与操作索引值一一对应的映射表,软件升级时,接收遥控器输入的码值,查找映射表中与所接收的码值中的键值相对应的操作索引值,并执行操作索引值所对应的操作。
2.根据权利要求I所述的方法,其特征在于,所述映射表中的遥控器键值包括有遥控器的操作码及其反码,在接收到遥控器输入的码值后,先根据映射表中的键值判断接收的码值中的键值是否为有效输入键值,在为有效输入键值时再执行键值所对应的操作索引值的操作。
3.根据权利要求2所述的方法,其特征在于,所述映射表中还包括有遥控器用户码,在接收到遥控器输入的码值后,首先根据映射表中的用户码判断接收的码值是否为有效输入码值,在为有效输入码值时再判断码值中的键值是否为有效输入键值。
4.根据权利要求3所述的方法,其特征在于,在软件升级程序中设置有默认码值和定制码值,若接收的遥控器输入的码值中的用户码为映射表中的默认用户码,则根据软件升级程序中的默认键值执行软件升级;若接收的遥控器输入的码值中的用户码为非默认用户码,则根据映射表中的键值执行软件升级。
5.根据权利要求I至4中任一项所述的方法,其特征在于,所述系统存储设备为flash存储器,所述映射表存储在flash存储器中系统配置表所在的存储块内。
6.一种无卡条件接收系统的软件升级装置,其特征在于,所述装置包括软件升级程序存储单元,用于存储软件升级程序;映射表存储单元,独立于软件升级程序存储单元,用于存储一一对应的遥控器键值与操作索引值;遥控器码值接收单元,用于在升级过程中接收遥控器输入的码值;码值匹配单元,用于从映射表存储单元中查找与输入的码值中的键值相匹配的操作索引值;软件升级键值处理单元,用于在软件升级过程中执行所接收的遥控器键值对应的操作。
7.根据权利要求6所述的装置,其特征在于,所述映射表存储单元中所存储的遥控器键值包括有遥控器的操作码及其反码,所述装置还包括有效输入键值判定单元,用于根据映射表存储单元中的遥控器键值判断所述遥控器码值接收单元所接收的码值中的键值是否为有效输入键值。
8.根据权利要求7所述的装置,其特征在于,所述映射表存储单元中还存储有遥控器用户码,所述装置还包括有效输入码值判定单元,用于根据映射表存储单元中的用户码判断所述遥控器码值接收单元所接收的码值是否为有效输入码值。
9.根据权利要求8所述的装置,其特征在于,所述软件升级键值处理单元包括有默认键值处理子单元和定制键值处理子单元,在所述遥控器码值接收单元所接收的码值中的用户码为默认用户码时,选择默认键值处理子单元按照软件升级程序中的默认键值执行软件升级,在遥控器码值接收单元所接收的码值中的用户码为非默认用户码时,选择定制键值处理子单元按照映射表中的键值执行软件升级。
10.根据权利要求6至9中任一项所述的装置,其特征在于,所述无卡条件接收系统为数字机顶盒中的无卡条件接收系统。
全文摘要
本发明公开了一种无卡条件接收系统的软件升级方法及升级装置。所述方法的实现过程为在系统存储设备中、独立于软件升级程序单独存储遥控器键值与操作索引值一一对应的映射表,软件升级时,接收遥控器输入的码值,查找映射表中与所接收的码值中的键值相对应的操作索引值,并执行操作索引值所对应的操作。本发明通过设置物理上与软件升级程序分离的映射表,在无需更改软件升级程序的前提下即可响应多种不同的遥控器而实现软件升级。
文档编号G08C23/04GK102938856SQ20121047962
公开日2013年2月20日 申请日期2012年11月23日 优先权日2012年11月23日
发明者郭金花 申请人:青岛海信宽带多媒体技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1