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裏完成。固然其中還存在升級包的校驗等問題,這裏就不詳細再一一說明了。

相關文章
相關標籤/搜索