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