DVB开发之OTA升级

    一、Cable升级流程

    整个升级过程分为三个部分,检测,下载,升级,流程如下图所示:

DVB开发之OTA升级

    二、升级各流程解释

    (1)升级检测:

    检测一般是私有表检测或者普通表的检测,这个流程就是锁频然后去过滤到我们想要的数据,进行对比,拿到需要升级的数据然后进行下一步;

     锁频:lockFreq(freq,symb,qam),其中包含锁频需要的参数频点,符号率,QAMtuner工作需要知道频率freq,符号率symbQAM大小。比如升级触发流在495频点上,调制方式为QAM64,符号率为6875000

    过滤数据:startFilter(pid,tableid),其中参数包括过滤DVB表的pid和TableID,比如我们过滤NIT表,那么相应的参数为pid=0x10,TableID=0x40;

    数据对比:Compare(current,stream),其中current代表了当前机顶盒中的devicesInfo,而stream代表了当前流里面过滤到的devicesInfo,我们需要去对比厂商,硬件版本,序列号,软件版本等相关信息,按照厂家需求去确定升级对象。

    这里面主要注意的是:和厂家确定获取deviceinfo的方案,以及盒子里面数据存储的进制(十进制和十六进制要做好区别),超时和失败以及资源释放的处理方案。

    (2)升级包下载:

    也就是说获取升级相关信息后去指定下载频点,再次去锁频,过滤下载数据,下载升级包到指定位置(厂家有自己的下载升级包位置)。这里下载有两种方式已是OC下载,DC下载:

    数据轮(DC)  

    这种方式通过广播网周期性地发送数据模块。模块大小已知,且可以随时更新、加入数据族或从中删除。如果业务需要,模块可以聚集成模块组,同样,组可以聚集成超组。  

    数据轮使用DSM-CC数据轮传送。在DVB数据广播规范中,定义了用于DVB兼容网络需要添加的结构和描述子,没有对PID和定时参数的外部引用,从而能够离线准备内容。  

     对象轮(OC)  

    这种方式通过广播网络周期性地发送数据模块,数据模块的内容既可以是目录结构、文件实体,也可以是流或流事件信息,这些内容以对象的方式进行封装,对于不同类型的对象可以分别指定发送速率。不同的对象可以跨流发送,同一个对象也可以属于多个对象轮,因此对象轮的传送方式给予了前端系统非常灵活的操作方式,即可以将多种内容关联操作,形成一个功能强大的服务,而且还可以根据服务应用的优先级给予不同级别的响应

    DC的效率高一点,OC对应用层的开发支持好一些.

    OC和DC的一些区别。

    注意这里下载完成后的标记写入,需要特定的接口去处理,一般公司和厂家会约定这个接口的实现。

    (3)升级实现:

    完成下载,写入标记,重启进入Recovery安装升级包,有时下载升级包也会去在Recovery里完成。当然其中还存在升级包的校验等问题,这里就不详细再一一说明了。

 

 

    

你可能感兴趣的:(OTA升级,DVB升级,Cable升级流程)