李曉芳

【摘 要】數(shù)字技術(shù)的普及堪稱現(xiàn)代信息領(lǐng)域最大的一次技術(shù)革命,這場革命的浪潮在二十世紀末的最后幾年迅速席卷全球。所到之處,不僅改變了人類的生產(chǎn)方式、生活方式、思維方式,更改變了人類的信息傳播方式。電視從模擬到數(shù)字的轉(zhuǎn)變是當今電視產(chǎn)業(yè)正在經(jīng)歷的一個重大歷史階段。用戶日益增加的數(shù)字電視功能和業(yè)務(wù)需求對高清數(shù)字電視的設(shè)計和升級提出了更高的要求。因此在盡量保持原有前期機頂盒硬件設(shè)備投入的基礎(chǔ)上,不斷地更新、完善新的機頂盒應(yīng)用軟件成為一種趨勢。
【關(guān)鍵詞】機頂盒 升級 可靠性 數(shù)字信號
1 機頂盒軟件升級措施
目前市場上的數(shù)字機頂盒的升級方式不規(guī)范,有些機頂盒沒有自動升級功能,發(fā)現(xiàn)問題就返廠維修,機頂盒發(fā)下去后,一旦有問題只能返回廠家重寫軟件或廢棄,升級成本極高。最初生產(chǎn)的機頂盒都沒有自動升級功能,目前機頂盒最常用的是在機頂盒出廠時一次寫入FLASH中一個Loader,但是一經(jīng)寫入不得更改,可以實現(xiàn)應(yīng)用程序的升級。但是不能升級Loader本身。
為解決升級的問題,本系統(tǒng)設(shè)計了Boot加雙Loader的雙系統(tǒng)升級模式,在系統(tǒng)中增加一個備份Loader軟件,備份Loader是Loader的完整的復(fù)制,這樣就可以實現(xiàn)Loader的升級,當升級Loader的時候,如果擦除后寫入Loader失敗,下次開機可以從備份Loader拷貝到主Loader塊,重新引導(dǎo)升級流程。在Flash存儲時,本設(shè)計把程序物理上分塊設(shè)計,各塊相對獨立,字庫、圖片、開機畫面、廣告圖片等分別做成獨立的bin文件,放到flash中不同的塊中,這樣就可以實現(xiàn)每部分的獨立升級,及時升級失敗,開機仍然可以繼續(xù)自動升級,如果自動升級失敗,本系統(tǒng)配備的多種手動升級方式還可以繼續(xù)升級,確保在用戶家可以完全升級,不需把機頂盒收回。
本方案在Loader中增加了多合一驅(qū)動的概念,比如三合一高頻頭驅(qū)動,就是三款高頻頭做成一個驅(qū)動庫,開機進入Loader后自動適配硬件器件,而不是固定的硬件型號,不再受一款硬件只能配一種軟件驅(qū)動的限制。一個市場即使有多寬硬件也可以做到軟件的兼容,軟件維護起來就比較方便,成本相對也會降低。
2 機頂盒軟件升級方法的設(shè)計實現(xiàn)
機頂盒軟件是運行在硬件基礎(chǔ)上,軟件包括Boot、Loader和圖片、字庫及應(yīng)用程序等,由于flash的內(nèi)容在斷掉時也不會丟失,所以,Boot、loader和應(yīng)用程序代碼是存儲在flash中。正常工作時,Boot引導(dǎo)程序啟動,flash中的Loader代碼將被拷貝到動態(tài)存儲器的DDR中執(zhí)行,Loader運行過程中判斷是否需要升級數(shù)據(jù),如果不需要升級,則把應(yīng)用代碼拷貝到DDR中運行應(yīng)用程序。在進行升級時,數(shù)字電視設(shè)備從TS流中提取出復(fù)用在TS流中的代碼數(shù)據(jù)塊,并重新組合成為完整的flash鏡像文件,把Loader和應(yīng)用程序、圖片、字庫等寫入到配置好的flash塊中。
2.1機頂盒軟件升級模塊設(shè)計
本方案的設(shè)計目的是要實現(xiàn)整套軟件的可升級性,降低升級軟件的復(fù)雜度,升級模塊設(shè)計上分為一個boot模塊和兩個獨立的Loader模塊,以及完整的應(yīng)用模塊。Boot模塊志實現(xiàn)系統(tǒng)的引導(dǎo)功能,本方案Loader的主要功能是實現(xiàn)手動和自動升級功能,帶有基本的OSD顯示,用于顯示升級設(shè)置界面以及升級進度。從應(yīng)用角度看,boot和Loader都可以看做一套應(yīng)用系統(tǒng),相當于裁減了應(yīng)用層、中間層以及驅(qū)動層的精簡系統(tǒng)。這樣設(shè)計可以叨叨上層應(yīng)用、圖片、字庫和Loader的組合或者單獨升級。Flash的特性是必須先擦除才能寫入,這樣組合升級時我們也采用分塊結(jié)構(gòu),就是按升級的單元擦除和寫入,每個在flash中獨立存儲的塊就是一個獨立的單元。為了減少提取數(shù)據(jù)的時間,升級數(shù)據(jù)提取時是把所有的數(shù)據(jù)一次提到,寫入的時候不是一次全部擦除原有數(shù)據(jù),而是擦一個單元寫一個單元。這樣可以降低升級過程斷電或異常造成升級破壞的概率,更好的確保升級過程的有效性,軟件代碼結(jié)構(gòu)圖如下:
應(yīng)用程序(Flash APP)
主Loader 備份Loader
Boot(引導(dǎo)系統(tǒng))
2.2 升級安全設(shè)計
由于機頂盒產(chǎn)品的特殊性,其規(guī)模大,應(yīng)用廣,需求變化多,升級次數(shù)多,一個小的有線市場也要有十幾萬用戶。如果升級不可靠,其后果是難以想象的,升級維護的成本也是巨大的。所以,省級安全是必須做到的。
軟件升級的安全性主要是考慮兩個方面,一個是本機升級到可靠性,即信號惡劣、升級失敗情況下所采取的措施;二是升級文件本身的完整性和可靠性。
要確保升級方案的可靠性,首先從設(shè)計上要考慮完善。本系統(tǒng)從軟硬件環(huán)境可靠性、流程設(shè)計、非正常操作、恢復(fù)機制、用戶操作過程等方面都采取一定的措施來保證。本系統(tǒng)設(shè)計強行設(shè)定信號弱的時候不進行升級操作,因為如果信號比較差的情況下,高頻頭可以鎖定,但是提取數(shù)據(jù)可能會超時或中斷。如果數(shù)據(jù)未下載完系統(tǒng)斷電,由于未對flash進行改寫,因此不應(yīng)向可靠性。如果在flash改寫時斷電,則下次開機時應(yīng)重新進入升級界面。開機校驗主Loader是否正確,若主Loader模塊正確,則引導(dǎo)主Loader模塊啟動,若主Loader模塊損壞,則校驗備份Loader模塊是否正確,若備份Loader正確,將備份Loader的內(nèi)容拷貝到主Loader中,引導(dǎo)主Loader啟動。
3 結(jié)語
我國模擬電視轉(zhuǎn)數(shù)字電視正在如火如荼的進行著,數(shù)字機頂盒必在此階段擔當重任,各種新的業(yè)務(wù)需求,新的功能層出不窮,Loader系統(tǒng)的設(shè)計在今后應(yīng)該還會向著更智能,更人性化的方向發(fā)展。此外,三網(wǎng)融合的進程也在推動,目前也有多家公司拿到了廣電的網(wǎng)絡(luò)營業(yè)牌照,這為機頂盒注入新的動力,機頂盒Loader的設(shè)計應(yīng)該也會更加多樣化。
參考文獻:
[1] 胡嘉和.淺析數(shù)字電視機頂盒技術(shù)[J].廣播電視信息,2009,2:63-66.
[2] 曾延光.國內(nèi)外機頂盒能效要求對比分析[J].信息技術(shù)與標準化,2011(5):56-59.
[3] 格蘭研究.2011年中國機頂盒白皮書[J].衛(wèi)星電視與寬帶多媒體,2011(21):30-32.endprint