數字視聽產品是近幾年消費電子類產品的一個熱點,而數字電視接收機頂盒是其中的一個重要的組成部分。本文主要介紹了一款基于STi5518 芯片的DC-618C型數字電視接收機頂盒的軟件設計與應用,對同類產品的具體實現有一定的指導作用。
1 引 言
數字電視的崛起在我國被譽為廣電產業的第三次革命,它巨大的市場潛力正逐漸凸現出來。數字傳輸方式因其采用了先進的技術,具有傳統的模擬傳輸方式所無法比擬的優勢,取代后者已是不可阻擋的趨勢。目前,數字電視正在世界范圍內迅速地推廣,作為接收數字電視的新興家電,機頂盒正悄悄進入千家萬戶。
機頂盒(STB,Set Top Box)是廣播媒介實現數字化后接收端的重要設備,一般置于電視機上, 從功能來看,機頂盒主要分為上網機頂盒、數字衛星綜合接收解碼器、數字地面機頂盒,以及有線電視數字機頂盒,這些設備由于具有很好的網絡功能,因此也成為信息家電的代表。
我們在這里討論的主要是指有線電視數字機頂盒,它的基本功能是接收數字電視廣播節目,同時具有所有廣播和交互式多媒體應用功能。
數字電視機頂盒的技術含量非常高,它集中反映了多媒體、計算機、數字壓縮編碼、加解擾算法、加解密算法、通信技術和網絡技術的發展水平,在設計技術上主要包括機頂盒硬件技術和軟件技術兩大部分, 其中,軟件技術占有更為重要的位置。除了音視頻的解碼由硬件實現外,包括電視內容的重現、操作界面的實現、數據廣播業務的實現,直至機頂盒和個人計算機的互聯以及和Intemet的互聯都需要由軟件來實現。
我們在這里介紹一款基于STi5518 芯片的DC-618C型數字電視接收機頂盒的軟件設計。
2 DC-618C數字電視接收機頂盒的軟件設計
2.1實時操作系統基本原理
STi5518解碼芯片本身的性能比較強大,可以滿足應用對硬件的要求,關鍵在于軟件對硬件的管理上,隨著應用的復雜化,一個嵌入式控制系統可能要同時控制和監視很多外設,要求有實時響應,有很多處理任務,各個任務之間有多種信息傳遞。如果仍采用原來的程序設計方法存在兩個問題,一是中斷可能得不到及時響應。處理時間過長,這對于一些控制場合是不允許的,對于網絡通信方面則會降低系統整體的信息流量。二是系統任務多,要考慮的各種可能也多,各種資源如調度不當就會發生死鎖,降低軟件可靠性,程序編寫任務量都會有大幅度增加。
實時操作系統(RTOS)是一段在嵌入式系統啟動后首先執行的背景程序,用戶的應用程序是運行于RTOS之上的各個任務。RTOS根據各個任務的要求,進行資源(包括存儲器、外設等)管理、消息管理、任務調度、異常處理等工作。在RTOS支持的系統中,每個任務均有一個優先級,RTOS根據各個任務的優先級,動態地切換各個任務,保證對實時性的要求。在編寫程序時,可以分別編寫各個任務,大大減小了程序編寫的工作量,而且減小了出錯的可能,保證最終程序具有高可靠性。
實時多任務操作系統,以分時方式運行多個任務,宏觀表現為多個任務同時運行。任務之間的切換以優先級為根據,只有采用優先服務方式的RTOS才是真正的實時操作系統,時間分片方式和協作方式的RTOS并不是真正的實時,RTOS的主要功能模塊有調度和中斷處理(為了優化用匯編編寫)、任務管理、事件管理、定時器管理、報文管理、循環隊列管理、資源管理、固定存儲塊管理、規范的UART管理和自動掉電管理等,這些也是標準的RTOS所應具有的基本功能。RTOS也體現了一種新的系統設計思想和一個開放的軟件框架,工程師可以在不大量變動系統其它任務的情況下增加或去掉一個任務,一個項目開發的過程中,可以有多個工程師同時進行系統的軟件開發,各個人之間只要制訂好規程和協議即可,既縮短了開發時間,又降低了最終軟件產品對于具體某個開發者的依賴性。為RTOS設計的成熟和通用的任務可以以庫函數的形式供其它人繼續利用,這一點和C語言的設計思想一致。