DVB开发之OTA升级

    1、Cable升级流程

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

    2、升级各流程解释

    (1)升级检测:前端

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

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

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

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

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

    (2)升级包下载:htm

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

    数据轮(DC)  blog

    这种方式经过广播网周期性地发送数据模块。模块大小已知,且能够随时更新、加入数据族或从中删除。若是业务须要,模块能够汇集成模块组,一样,组能够汇集成超组。  

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

     对象轮(OC)  

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

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

    OC和DC的一些区别

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

    (3)升级实现:

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

相关文章
相关标签/搜索