一种检测升级软件与机顶盒硬件兼容性的方法
技术领域
本发明涉及通信技术领域,尤其是涉及一种检测升级软件与机顶盒硬件兼容性的方法。
背景技术
目前,有线数字电视正在迅速发展,一种有线数字电视系统的结构如图1所示。该系统包括一个前端发送设备A、一个机顶盒B和一台电视机C。前端发送设备A通过有线电视网将有线数字信号发送给机顶盒B,机顶盒B接收并处理数字信号,将视音频输出到电视机C上,并且机顶盒B接收遥控器等按键信号,为用户提供良好的图形用户界面和EPG(Electronic Program Guide,电子节目指南)等功能。
随着机顶盒功能的增强,机顶盒的软件升级成为机顶盒必不可少的功能。需要进行软件升级的机顶盒通过有线电视网接收待升级的软件,然后检测软件的升级信息,检测该软件与该机顶盒之间的硬件兼容性,如果兼容,则将该软件写入机顶盒的FLASH(闪存)中,完成软件的升级,否则不对该机顶盒进行升级。
在进行检测升级软件与机顶盒硬件之间的兼容性时,机顶盒根据接收到的升级信息中的硬件版本号字段进行硬件兼容性判断。硬件版本号字段有32位,现在只包括PCB(Printed Circuit Board,印制电路板)版本号。机顶盒将从升级信息中读取的硬件版本号与本机顶盒的PCB版本号进行比较,如果相同则进行升级,否则不进行升级。
但是,机顶盒的硬件版本号需要由CPU型号、产品系列号、配置型号和PCB版本号等信息确定。当PCB版本号相同,而CPU型号、产品系列号和配置型号不同时,升级软件与本机顶盒硬件是不兼容的。可是如果只使用PCB版本号作为硬件版本号,则判定该软件与硬件兼容,进行软件升级后,可能造成机顶盒异常。另外,只使用PCB版本号作为硬件版本号,不能充分利用32位的硬件版本号字段。一个产品的PCB版本号平均不超过16,而32位的数据包含从0到4294967295的数字,造成信息量的浪费。而且,当升级软件与CPU型号、产品系列号和配置型号相同而PCB版本号不同的几种硬件兼容时,只使用PCB版本号作为硬件版本号,只能对同一个PCB版本号的硬件进行升级,而不能对所有兼容的硬件进行处理,使用不灵活,难以扩充。
发明内容
本发明要解决的问题是提供一种检测升级软件与机顶盒硬件兼容性的方法,以克服现有技术中在检测升级软件与机顶盒硬件之间的兼容性时,硬件版本号信息不足的缺陷。
为达到上述目的,本发明提供一种检测升级软件与机顶盒硬件兼容性的方法,根据升级信息中的硬件版本号字段进行检测,该硬件版本号字段包括:硬件强制位、CPU型号字段、产品系列号字段、配置强制位、配置型号字段和PCB版本号字段。
按照本发明的一个方面,检测步骤包括:
步骤A、检测硬件强制位,如果该字段允许检测硬件,则转步骤B,否则不进行硬件检测,直接对该机顶盒升级;
步骤B、检测CPU型号字段和产品系列号字段,如果该字段表示升级软件与机顶盒硬件兼容,则转步骤C,否则不对该机顶盒升级;
步骤C、检测配置强制位,如果该字段允许检测配置型号和PCB版本号,则转步骤D,否则不进行配置型号和PCB版本号检测,直接对该机顶盒升级;
步骤D、检测配置型号字段和PCB版本号字段,如果该字段表示升级软件与机顶盒硬件兼容,则对该机顶盒升级,否则不对该机顶盒升级。
按照本发明的另一个方面,在步骤A中,如果所述硬件强制位为0,则允许检测硬件,否则不允许检测硬件。
按照本发明的再一个方面,在步骤B中,如果所述CPU型号字段的CPU型号与机顶盒CPU型号相同,则表示升级软件与机顶盒硬件兼容,否则表示不兼容。
按照本发明的再一个方面,在步骤B中,如果所述产品系列号字段的产品系列号与机顶盒产品系列号型号相同,则表示升级软件与机顶盒硬件兼容,否则表示不兼容。
按照本发明的再一个方面,在步骤C中,如果所述配置强制位为0,则允许检测配置型号和PCB版本号,否则不允许检测配置型号和PCB版本号。
按照本发明的再一个方面,在步骤D中,如果所述配置型号字段的配置型号与机顶盒配置型号相同,则表示升级软件与机顶盒硬件兼容,否则表示不兼容。
按照本发明的再一个方面,所述PCB版本号字段包括:PCB版本号开始字段和PCB版本号结束字段。
按照本发明的再一个方面,在步骤D中,如果机顶盒PCB版本号在所述PCB版本号开始字段和PCB版本号结束字段表示的PCB版本号范围内,则表示升级软件与机顶盒硬件兼容,否则表示不兼容。
与现有技术相比,本发明具有以下优点:
本发明充分利用32位的硬件版本号字段描述机顶盒的所有硬件信息,可以区分不同的CPU型号、产品系列号和配置型号,防止对硬件兼容性判断不充分导致的机顶盒异常。本发明提供硬件强制位和配置强制位,可以灵活处理硬件版本号。并且本发明提供PCB版本号开始和PCB版本号结束两个字段,能够对CPU型号、产品系列号和配置型号相同的一个PCB版本号范围内的所有硬件进行升级。
附图说明
图1是一种有线数字电视系统的结构图;
图2是本发明的一种硬件版本号检测流程图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述:
本发明根据升级信息中的硬件版本号字段进行检测,该硬件版本号字段包括:硬件强制位、CPU型号字段、产品系列号字段、配置强制位、配置型号字段、PCB版本号开始字段和PCB版本号结束字段以及保留字段。该硬件版本号字段的一种分配方式如表1所示。
表1
字段名称 |
分配位数 |
硬件强制位 |
1 |
保留 |
1 |
CPU型号 |
6 |
保留 |
1 |
产品系列号 |
5 |
保留 |
1 |
配置强制位 |
1 |
保留 |
1 |
配置型号 |
6 |
保留 |
1 |
PCB版本号开始 |
4 |
PCB版本号结束 |
4 |
其中,各字段表示的意义如下:
硬件强制位:如果该字段为1,表示升级软件对所有硬件的版本都兼容,不进行硬件判断;如果该字段为0,则表示需要进行硬件判断。
保留:保留给其他扩充功能使用。
CPU型号:表示与升级软件兼容的硬件CPU型号。
产品系列号:表示与升级软件兼容的硬件产品系列号。
配置强制位:如果该字段为1,表示不进行配置型号和PCB版本号的检查;如果该字段为0,则表示需要进行配置型号和PCB版本号的检查。
配置型号:表示与升级软件兼容的硬件配置型号。通过该配置型号,机顶盒厂家可以确定机顶盒的Flash、EEPROM、前面板型号等硬件配置。
PCB版本号开始:表示与升级软件兼容的PCB版本号范围的开始。
PCB版本号结束:表示与升级软件兼容的PCB版本号范围的结束。
以表1所示的硬件版本号字段分配方式为实施例,采用图2所示的硬件版本号检测流程,对本发明检测升级软件与机顶盒硬件之间的兼容性的流程进行说明。参照图2,该流程包括:
步骤s101,判断硬件强制位是否为1,如果为1,则表示升级软件与机顶盒硬件兼容,可以进行升级;否则转步骤s102。
步骤s102,判断CPU型号是否与机顶盒CPU型号相同,如果相同,则转步骤s103;否则表示升级软件与机顶盒硬件不兼容,不可以进行升级。
步骤s103,判断产品系列号是否与机顶盒产品系列号相同,如果相同,则转步骤s104;否则表示升级软件与机顶盒硬件不兼容,不可以进行升级。
步骤s104,判断配置强制位是否为1,如果为1,则表示升级软件与机顶盒硬件兼容,可以进行升级;否则转步骤s105。
步骤s105,判断配置型号与机顶盒配置型号是否相同,如果相同,则转步骤s106;否则表示升级软件与机顶盒硬件不兼容,不可以进行升级。
步骤s106,判断机顶盒PCB版本号是否在PCB版本号开始和PCB版本号结束之间,如果在PCB版本号开始和PCB版本号结束之间,则表示升级软件与机顶盒硬件兼容,可以进行升级;否则表示升级软件与机顶盒硬件不兼容,不可以进行升级。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。