大顯DC-618C數(shù)字電視機頂盒的軟件設計與應用
我們主要介紹使用網(wǎng)絡的在線升級方式,考慮到兼容不同的網(wǎng)絡環(huán)境(單向網(wǎng)絡),我們使用將軟件廣播下來,由機頂盒接收,然后替換原有軟件的方法,所采用的在線升級方式遵循DVB定義的系統(tǒng)軟件升級規(guī)范。
2.4.2.1 概述:
DVB標準定義了兩種軟件升級服務,分別為簡單和增強的軟件升級服務。前者使用NIT、BAT和PMT,不需要升級通知表(UNT),后者使用UNT來傳輸NIT、BAT和PMT無法攜帶的調(diào)度、定位和其它信息。
DC-618C目前支持簡單的軟件升級服務。實際上,簡單的軟件升級服務是增強的軟件升級服務的子集。
DC-618C采用DVB所定義的通過SI和PSI定位一個軟件升級服務的機制,基本方式是通過NIT或BAT定位一個網(wǎng)絡中包含系統(tǒng)軟件升級服務的傳輸流,再通過PMT在該傳輸流中定位系統(tǒng)軟件升級服務所在的基本流。
首先,DC-618C機頂盒通過檢測NIT和系統(tǒng)軟件升級BAT第一個循環(huán)中是否包含Linkage描述符來確定該網(wǎng)絡或業(yè)務群中是否包含軟件升級服務。連接類型為0x09的Linkage描述符攜帶了在一個網(wǎng)絡或業(yè)務群中定位傳輸一個系統(tǒng)軟件升級服務的傳輸流的信息。
DVB對用于系統(tǒng)軟件升級服務的Linkage描述符中的私有數(shù)據(jù)字段定義了一個系統(tǒng)軟件升級連接結構,其中包含一個24比特的IEEE OUI(Organization Unique Identifier,組織唯一標識)和一個選擇器,OUI可以用來標識DC-618C機頂盒的生產(chǎn)廠家,選擇器用來標識DC-618C機頂盒的型號。
DC-618C機頂盒還采用了另一個DVB定義的系統(tǒng)軟件升級服務掃描Linkage描述符,用來定義一個指向攜帶系統(tǒng)軟件升級BAT或NIT的指針。該描述符的連接類型為0x0A,可在BAT或NIT中傳輸。該描述符與類型為0x09的Linkage描述符不同,不包含OUI,目的是使機頂盒不用掃描所有的復用器就可以獲得描述系統(tǒng)軟件升級服務的BAT或NIT,實際上該描述符是Linkage描述符的一種補充,而且是可選的。
在NIT或系統(tǒng)軟件升級BAT中有多個Linkage描述符,標識多個系統(tǒng)軟件升級服務。在暫時沒有升級服務時,可以不從NIT或BAT中將這些描述符刪除。
對于包含系統(tǒng)軟件升級基本流的傳輸流,對應的PMT包括data-broadcast-id描述符,其中data-broadcast-id等于 0x000A,選擇器字段被DVB定義為系統(tǒng)軟件升級信息結構(system-software-update-info),其中包含OUI、升級類型、升級版本和生產(chǎn)商定義的選擇器字段。對于一個專有的流,該描述符提供一個入口點;對于一個標準的兩層數(shù)據(jù)輪播,該描述符也提供了一個入口點;另外該描述符還提供一個UNT表的參考,指向增強的系統(tǒng)軟件升級服務。在當前暫時沒有系統(tǒng)軟件升級服務時,頭端播放軟件不會將該系統(tǒng)軟件升級服務的標識從PMT的該描述符中刪除。
一個data-broadcast-id描述符只定義一個基本流,一個節(jié)目可以包含多個基本流,這樣一來,就有多個系統(tǒng)軟件升級流(輪播),每個流由各自的data-broadcast-id描述符描述。另外,一個系統(tǒng)軟件升級服務也可以是一個服務的組件之一。
2.4.2.2 DC-618C用于升級服務的數(shù)據(jù)輪播結構
DC-618C系統(tǒng)軟件服務采用DVB標準的兩層數(shù)據(jù)輪播協(xié)議來傳輸多個升級軟件數(shù)據(jù)。多個系統(tǒng)軟件升級服務構成一個兩層的數(shù)據(jù)輪播服務,DSI是該數(shù)據(jù)輪播的入口。DC-618C軟件升級系統(tǒng)有多個升級服務,每個升級服務構成一個單獨的組所有的組和模塊都在一個基本流中傳輸。
與標準的DVB數(shù)據(jù)輪播一樣,DSI消息包含GroupInfoIndication結構,其中的GroupCompaibility字段使用IEEE OUI來標識我公司,該字段還用來描述機頂盒的型號和版本號;GroupInfoByte(gi) 字段由一個描述符循環(huán)組成,描述了該升級服務組的各種信息,這些描述符是DVB標準數(shù)據(jù)輪播定義的描述符。
為了獨立地生成多個軟件升級服務數(shù)據(jù),并將這些獨立生成的數(shù)據(jù)集成在同一個數(shù)據(jù)輪播服務中,DC-618C機頂盒軟件升級服務系統(tǒng)還采用了DVB對于 DII中的一些特定字段進行的特別的規(guī)定;transactionId的兩個字節(jié)在0X0002―0XFFFF之間,并與對應的DSI中 groupInfo結構中的groupid相等;downloadId等于transactionId; moduleId的高8位的值與groupId的低8位相同,低8位表示一個特定的軟件升級服務moduleId,該服務最大支持256個模塊,對于軟件升級應用來說應該是足夠的。
3 結束語
硬件是軟件運行的平臺,歸根結底,軟件部分是整個機頂盒的靈魂和核心,隨著信息網(wǎng)絡的快速發(fā)展,寬帶美景已經(jīng)非常清晰地展現(xiàn)在我們面前,豐富多彩的服務對終端接收設備提出了更高的要求,只有不斷的提高機頂盒軟、硬件的功能和性能才能跟得上市場不斷前進的步伐。
評論