当前位置:首页 > 技术解密   

解密大显DC-618C数字电视机顶盒的软件设计

发布时间:2009-10-19 09:33:40  来源:本站整理

  2.4.2 软件在线升级功能的实现[/NextPage]
  DC-618C的软件升级方法有两种,一种是使用串口的软件升级功能,一种是使用网络的在线升级方式。前一种方式,是从PC机上将软件通过RS232串口下载到机顶盒中,由用户自己操作,是一种个体行为;后一种方式,是由运营商将软件放在服务器上,由用户或运营商来触发对机顶盒的软件升级动作。
  我们主要介绍使用网络的在线升级方式,考虑到兼容不同的网络环境(单向网络),我们使用将软件广播下来,由机顶盒接收,然后替换原有软件的方法,所采用的在线升级方式遵循DVB定义的系统软件升级规范。
  2.4.2.1 概述:
  DVB标准定义了两种软件升级服务,分别为简单和增强的软件升级服务。前者使用NIT、BAT和PMT,不需要升级通知表(UNT),后者使用UNT来传输NIT、BAT和PMT无法携带的调度、定位和其它信息。
  DC-618C目前支持简单的软件升级服务。实际上,简单的软件升级服务是增强的软件升级服务的子集。
  DC-618C采用DVB所定义的通过SI和PSI定位一个软件升级服务的机制,基本方式是通过NIT或BAT定位一个网络中包含系统软件升级服务的传输流,再通过PMT在该传输流中定位系统软件升级服务所在的基本流。
  首先,DC-618C机顶盒通过检测NIT和系统软件升级BAT第一个循环中是否包含Linkage描述符来确定该网络或业务群中是否包含软件升级服务。连接类型为0x09的Linkage描述符携带了在一个网络或业务群中定位传输一个系统软件升级服务的传输流的信息。
  DVB对用于系统软件升级服务的Linkage描述符中的私有数据字段定义了一个系统软件升级连接结构,其中包含一个24比特的IEEE OUI(Organization Unique Identifier,组织唯一标识)和一个选择器,OUI可以用来标识DC-618C机顶盒的生产厂家,选择器用来标识DC-618C机顶盒的型号。
  DC-618C机顶盒还采用了另一个DVB定义的系统软件升级服务扫描Linkage描述符,用来定义一个指向携带系统软件升级BAT或NIT的指针。该描述符的连接类型为0x0A,可在BAT或NIT中传输。该描述符与类型为0x09的Linkage描述符不同,不包含OUI,目的是使机顶盒不用扫描所有的复用器就可以获得描述系统软件升级服务的BAT或NIT,实际上该描述符是Linkage描述符的一种补充,而且是可选的。
  在NIT或系统软件升级BAT中有多个Linkage描述符,标识多个系统软件升级服务。在暂时没有升级服务时,可以不从NIT或BAT中将这些描述符删除。
  对于包含系统软件升级基本流的传输流,对应的PMT包括data-broadcast-id描述符,其中data-broadcast-id等于0x000A,选择器字段被DVB定义为系统软件升级信息结构(system-software-update-info),其中包含OUI、升级类型、升级版本和生产商定义的选择器字段。对于一个专有的流,该描述符提供一个入口点;对于一个标准的两层数据轮播,该描述符也提供了一个入口点;另外该描述符还提供一个UNT表的参考,指向增强的系统软件升级服务。在当前暂时没有系统软件升级服务时,头端播放软件不会将该系统软件升级服务的标识从PMT的该描述符中删除。
  一个data-broadcast-id描述符只定义一个基本流,一个节目可以包含多个基本流,这样一来,就有多个系统软件升级流(轮播),每个流由各自的data-broadcast-id描述符描述。另外,一个系统软件升级服务也可以是一个服务的组件之一。
  2.4.2.2 DC-618C用于升级服务的数据轮播结构
  DC-618C系统软件服务采用DVB标准的两层数据轮播协议来传输多个升级软件数据。多个系统软件升级服务构成一个两层的数据轮播服务,DSI是该数据轮播的入口。DC-618C软件升级系统有多个升级服务,每个升级服务构成一个单独的组所有的组和模块都在一个基本流中传输。
  与标准的DVB数据轮播一样,DSI消息包含GroupInfoIndication结构,其中的GroupCompaibility字段使用IEEE OUI来标识我公司,该字段还用来描述机顶盒的型号和版本号;GroupInfoByte(gi) 字段由一个描述符循环组成,描述了该升级服务组的各种信息,这些描述符是DVB标准数据轮播定义的描述符。
  为了独立地生成多个软件升级服务数据,并将这些独立生成的数据集成在同一个数据轮播服务中,DC-618C机顶盒软件升级服务系统还采用了DVB对于DII中的一些特定字段进行的特别的规定;transactionId的两个字节在0X0002-0XFFFF之间,并与对应的DSI中groupInfo结构中的groupid相等;downloadId等于transactionId; moduleId的高8位的值与groupId的低8位相同,低8位表示一个特定的软件升级服务moduleId,该服务最大支持256个模块,对于软件升级应用来说应该是足够的。

上一页  [1] [2] [3] [4] [5] 


网站首页-龙人概况-企业文化-服务与承诺-人才与使命-联系我们
@龙人计算机系统工程有限公司 版权所有 严禁转载 建议1024*768,IE浏览器6.0以上为最佳浏览模式  粤ICP备0428956号  关键词:

PCB抄板

|

芯片解密