a一级爱做片免费观看欧美,久久国产一区二区,日本一二三区免费,久草视频手机在线观看

新聞中心

EEPW首頁 > 消費電子 > 設計應用 > 基于STi5518的DC-618C型數字電視接收機頂盒的軟件設計與應用

基于STi5518的DC-618C型數字電視接收機頂盒的軟件設計與應用

作者: 時間:2011-12-29 來源:網絡 收藏

引言

本文引用地址:http://www.j9360.com/article/165953.htm

是人們談論最多的熱鬧話題之一。由于是種新鮮事物,一些相關報道及文章介紹中出現似是而非的概念,諸如數碼電視、全、全媒體電視、多媒體電視等,造成大眾感到困惑,茫然不知所措。其實,數字電視的含義并不是指我們一般人家中的電視機,而是指電視信號的處理、傳輸、發射和接收過程中使用數字信號的電視系統或電視設備。其具體傳輸過程是:由電視臺送出的圖像及聲音信號,經數字壓縮和數字調制后,形成數字電視信號,經過衛星、地面無線廣播或有線電纜等方式傳送,由數字電視接收后,通過數字解調和數字視音頻解碼處理還原出原來的圖像及伴音。

(Set Top Box ),從廣義上說,凡是與電視機連接的網絡終端設備都可稱之為機。基于有線電視網絡的模擬頻道增補器、模擬頻道解碼器,到將電話線與電視機連接在一起的維拉斯上網機、數字衛星的綜合接收解碼器(IRD)、數字地面機頂盒以及有線電視數字機頂盒都可稱為機頂盒。從狹義上說,如果只說數字設備的話,按標準分為數字衛星機頂盒(DVB-S)、歐標數字地面機頂盒(DVB-T)、國標數字地面機頂盒(DMB-TH)、有線電視數字機頂盒(DVB-C)。按照功能來分的話,可以分為單向機頂盒、雙向機頂盒、IPTV機頂盒。

數字電視機頂盒(Set Top Box)是信息家電之一,它是一種能夠讓用戶在現有模擬電視上,觀看數字電視節目,進行交互式數字化娛樂、教育和商業化活動的消費業電子產品。數字視頻變換盒(英語:Set Top Box,簡稱STB),通常稱作機頂盒或機上盒,是一個連接電視機與外部信號源的設備。它可以將壓縮的數字信號轉成電視內容,并在電視機上顯示出來。信號可以來自有線電纜、衛星天線、寬帶網絡以及地面廣播。機頂盒接收的內容除了模擬電視可以提供的圖像、聲音之外,更在于能夠接收數據內容,包括電子節目指南、因特網網頁、字幕等等。

我們在這里介紹一款基于芯片的型數字電視頂盒的

2數字電視頂盒的

2.1實時操作系統基本原理

Sti5518解碼芯片本身的性能比較強大,可以滿足對硬件的要求,關鍵在于對硬件的管理上,隨著的復雜化,一個嵌入式控制系統可能要同時控制和監視很多外設,要求有實時響應,有很多處理任務,各個任務之間有多種信息傳遞。如果仍采用原來的程序方法存在兩個問題,一是中斷可能得不到及時響應。處理時間過長,這對于一些控制場合是不允許的,對于網絡通信方面則會降低系統整體的信息流量。二是系統任務多,要考慮的各種可能也多,各種資源如調度不當就會發生死鎖,降低軟件可靠性,程序編寫任務量都會有大幅度增加。

實時系統能夠在指定或者確定的時間內完成系統功能和外部或內部、同步或異步時間做出響應的系統。它的正確性不僅依賴系統計算的邏輯結果,還依賴于產生這個結果的時間。因此實時系統應該在事先先定義的時間范圍內識別和處理離散事件的能力;系統能夠處理和儲存控制系統所需要的大量數據。 為了便于理解,機場的售票系統就是一個典型的實時系統。實時系統通常運行在一定的環境下,外部環境是實時系統不可缺少的一個組成部分。計算機子系統一般是控制系統,它必須在規定的時間內對外部請求做出反應。外部物理環境往往是被控子系統,兩者互相作用構成完整的實時系統。大多數控制子系統必須連續運轉以保證子系統的正常工作或準備對任何異常行為采取行動。

實時多任務操作系統,以分時方式運行多個任務,宏觀表現為多個任務同時運行。任務之間的切換以優先級為根據,只有采用優先服務方式的RTOS才是真正的實時操作系統,時間分片方式和協作方式的RTOS并不是真正的實時,RTOS的主要功能模塊有調度和中斷處理(為了優化用匯編編寫)、任務管理、事件管理、定時器管理、報文管理、循環隊列管理、資源管理、固定存儲塊管理、規范的UART管理和自動掉電管理等,這些也是標準的RTOS所應具有的基本功能。RTOS也體現了一種新的系統設計思想和一個開放的軟件框架,工程師可以在不大量變動系統其它任務的情況下增加或去掉一個任務,一個項目開發的過程中,可以有多個工程師同時進行系統的軟件開發,各個人之間只要制訂好規程和協議即可,既縮短了開發時間,又降低了最終軟件產品對于具體某個開發者的依賴性。為RTOS設計的成熟和通用的任務可以以庫函數的形式供其它人繼續利用,這一點和C語言的設計思想一致。

2.2機頂盒的OS20操作系統

內嵌于STI5518內部的CPU--ST20,使用的是ST所獨有的嵌入式實時操作系統OS20.

OS20操作系統是一個模塊化的高性能的實時操作系統,它具有較強的實時性和多任務能力,這主要取決于它的任務調度機制,從調度策略上來講,OS20采用分優先級調度策略(默認為16)和時間片輪轉調度策略--即同一優先級下多任務處理采用時間片輪轉處理方式。

OS20系統的內存開銷也很小,核的開銷大約為:內部只占600字節,每個任務占用的內存:內部24字節,外部36字節。

此外,OS20操作系統還具有任務切換時間短等特點

2.3DC-618C機頂盒的軟件架構設計

依據軟件工程的原理,DC-618C機頂盒軟件采用從上到下的層次化設計,依次由易到難,由具體到抽象和由軟件到硬件,主要包括如下幾層:

1)應用層:應用層是控制整個機頂盒操作的高層代碼,也是需要程序員自己完全實現的代碼。在這一層中實現各種各樣的功能,包括初始化各種外設、創建任務、設置節目頻點、實現用戶輸入輸出操作等。對于與第三方的軟件合作,包括網絡瀏覽器,也嵌入在應用層中,應用程序可以直接調用驅動層的應用程序接口(API)。第三方的中間件可以通過驅動使用層來調用應用程序接口。所有的應用層組件在功能上能通過操作系統移植層來訪問實時操作系統。

2)驅動層:驅動層通過調用硬件抽象層,來管理各種外設和內部子系統模塊,將這些模塊的功能抽象化和屏蔽化,向上一層提供應用層程序接口,使得應用層的操作直觀和簡潔。應用層組件通過調用驅動層API來控制系統硬件功能和服務。這些驅動完成普通的低層任務,如控制傳輸解復用和音視頻解碼等。

3)硬件抽象層:對DC-618C的所有硬件的操作必須通過修改寄存器來實現,DC-618C將所有寄存器與接口統一編址,使得通過軟件對寄存器的操作非常簡單,硬件抽象層正是完成這一功能。可以說,H.A.L.是驅動層的子集,負責直接編輯硬件。驅動層提供通用的低層功能,同時H.A.L.在硬件上實現這些功能。為了響應驅動層的調用,H.A.L.執行特定的芯片函數,編輯芯片寄存器來完成一個特定的功能,它只與一種特定的芯片相對應,所以當改變硬件平臺時,只需要改變相應的硬件抽象層。

2.4DC-618C機頂盒的應用層設計

機頂盒除了實現接收來自有線網絡的數字電視信號外,還應具有EPG(電子節目指南)、軟件在線升級等功能,我們在這里主要談談這幾種功能的實現。

2.4.1EPG(電子節目指南)的實現:

2.4.1.1EPG簡介

EPG 是ElectrONic Program Guide的英文縮寫,意思是電子節目菜單。 IPTV所提供的各種業務的索引及導航都是通過 EPG系統來完成的。 IPTV EPG實際上就是 IPTV的一個門戶系統。 EPG系統的界面與 Web頁面類似,在 EPG界面上一般都提供各類菜單、按鈕、鏈接等可供用戶選擇節目時直接點擊的組件; EPG的界面上也可以包含各類供用戶瀏覽的動態或靜態的多媒體內容。

EPG的主要作用就是用戶利用EPG提供的菜單,可以選擇自己喜歡的組播頻道;點播自己喜歡的視頻節目;在線演唱自己喜歡的歌曲;查找IPTV提供的各種信息,包括生活信息、娛樂信息、教育信息、體育信息等等;用戶也可使用EPG提供的菜單來訂購自己喜歡的節目;甚至可以通過EPG提供的菜單支付水費、電費、進行電子商務的交易等。用戶還可以利用EPG菜單查看節目的附加信息,例如對節目內容介紹、演員及導演的介紹等。同時通過EPG菜單中提供的家長控制功能,家長可以對某些節目加以限制,不給孩子開放所有的觀看權限。

EPG為IPTV提供的基本業務(如VOD點播/KTV/歌曲)及各種增值業務的使用提供了簡單方便的操作平臺,為IPTV用戶收看電視節目、享受多媒體節目點播以及開展信息服務提供了一個良好的導航機制。使用EPG系統可使用戶能夠方便快捷地找到自己關心的節目。使用EPG系統,用戶通過電視機這個終端和IP機頂盒就可以登陸Internet.更重要的是使用EPG系統用戶就可以和電視進行互動,這樣用戶就不再被動地接收信息,用戶可以及時、主動地發表自己的意見和看法,并將這些意見和看法及時反饋給內容制作商。因此EPG在IPTV系統中起著十分重要的作用。我國IPTV目前還處于起步階段,部分電視臺、運營商和機頂盒生產廠商曾開發了一些EPG,但都只是某一個網絡或一種機頂盒,缺乏廣泛的適用性,在實際應用中存在下面幾個方面的問題:EPG內容信息缺乏統一的數據格式,給各臺、網之間交換EPG帶來很大的復雜性;每個數字電視平臺都必須設計和開發EPG系統,造成大量重復性勞動;兼容性差,機頂盒廠商不得不針對各平臺重復開發EPG應用。

2.4.1.2PSI/SI信息及其功能

MPEG-2中的傳送碼流是根據ITU-TRecH220、ISO/IECDIS13818-2和ISO

/IEC13818-3協議定義的一種數據流,其目的是為了在有可能發生嚴重錯誤的環境下進行一道或多道程序的編碼數據的傳送和存儲。這種錯誤表現為比特值錯誤或分組丟失。傳送流的速率可以是變化的或固定不變的。在任何情況下組成的原始流可以是變化的或固定不變,在這些情況下的語法和語義限制是相問的。傳送流速率由節目參考時鐘(PCR)字段的位置和數值決定,通常對于每個程序都有自己的PCR字段。傳送流中有關PID的信息及各PID之間的關系包含在PSI(ProgramSpecificInformation:節目特定信息)中,MPEG-2解碼器將使用PSI信息來自動設置解碼所需的各種參數。PSI信息使用4個表來定義碼流的結構:PAT(ProgramAssociationTable:節目關聯表)、PMT(ProgramMapTable:節目映射表)、NIT(NetworkInformationTable:網絡信息表)、CAT(ConditionalAccessTable:條件訪問表)。

MPEG-2在PSI中提供了不少有關節目組成和相互關系的信息,從而使得在接收端可以正確地對TS流進行解復用。但是這些信息在實際使用時仍然顯得不夠,為此在DVB標準中采用SI(ServiceInformation:業務信息)對PSI信息進行了進一步的擴展。PSI中的信息基本上都是與當前碼流相關,即它們所涉及的內容都與當前碼流中的部分信息相關;而SI信息可以包括不在當前碼流中的一些服務和事件,允許用戶進行更多的選擇和了解更多的其他服務。SI信息表主要有以下內容:

BAT(BouquetAssociationTable:業務群關聯表)、SDT(ServiceDescriptionTable:業務描述表)、EIT(EventInformationTable:事件信息表)、RST(RunningStatusTable:運行狀態表)、TDT(TimeandDateTable:時間和日期表)、TOT(TimeOffsetTable:時間偏移值表)、ST(StuffingTable:填充表)

業務信息(SI)是用來描述傳送系統,傳送內容和廣播數據流時間表等的數據,是補充MPEG-2節目說明信息(PSI)的附加數據,這些數據幫助綜合接收解碼器(IRD)自動調諧,給用戶提供附加信息,使IRD能自動設置可供選擇的業務。

頭端系統每隔一定周期將重復傳送SI信息,對于最高速率為100Mbits/s的傳送流而言,重復傳送SI信息的最小間隔為25毫秒。這樣,對于新開機的用戶,在很短的時間內,就可以接收到SI(業務信息),構成EPG(電子節目指南)所需的各項條款。

2.4.1.3EPG信息的提取

一般而言,PAT表的PID號為0x00,解復用器工作總是通過尋找PAT表開始。PAT給出了構成傳送流中各個節目業務的PMT(節目映射表)的PID,同時也給出了NIT(網絡信息表)的PID號。根據PID值及對應的TableID值可以從流中解出相應的PMT、NIT、SDT、EIT等信息。機頂盒接收端的解析主要負責這些SI數據信息的重建。信息內容應與PSI和SI表中的信息相對應,它可按照Network-TransportStream-Service-Event的分層順序描述,同時內嵌TransportStream-Program(Service)-ElementStream的分層順序。SI數據信息必須按照一定的數據結構進行存儲,這樣才能方便、快捷地對其進行檢索和數據的提取。特別是對于運行于機頂盒的實時操作系統中的EPG,需要對用戶的交互進行實時的動作,所以對響應速度的要求很高,SI數據庫建立的好壞對其性能有重要的影響。SI數據主要有:網絡信息、傳輸流信息、業務(節目)信息,業務的事件信息等,并且大量的信息都是通過描述子來傳輸的,所以可用樹狀鏈表來存儲數據,構成從網絡、傳輸流、業務、事件的樹狀結構,傳送不同信息的描述子用繼承于同一基類的描述子類來表示。

網絡信息表傳送本網絡以及與此有關的其它網絡的一些信息。每個網絡都有唯一的識別符,網絡編碼請參看ETR162.網絡信息表主要攜帶:網絡識別符(network_id)、網絡名稱、傳輸系統參數(包括:頻率、調制方式、FEC外碼、符號率、FEC內碼)等信息,如果NIT表中有關于傳輸系統參數的正確描述,只要調諧到攜帶此NIT表的傳送流中,即可提取其它網絡的參數,一般解碼器便可根據提取出來的信息,自動搜索頻道。

節目業務描述表的每一個子表都對一個特定傳送流中的節目業務進行了描述。這些節目業務可以一部分是本身實際的傳送流,也可以是其它傳送流,這一點可以通過table_id(表識別符)進行識別。節目業務描述表提供了如下的信息:屬于哪一個節目業務群;節目業務的類型,如PAL、NTSC、SECAM、調頻廣播、圖文電視、準視頻點播等;節目業務的提供者;可以接收該節目業務的國家和不可以接收該節目業務的國家;指向特定信息的鏈接信息;實現準視頻點播的指導信息;實現多畫面的控制信息;指示使用的加密系統;給出實現交互式回傳信道的電話號碼;提供多語種的節目業務名稱和廣播者以及私有數據。

事件信息表按時間順序提供每一個節目業務中包含的節目段的信息。事件信息表提供如下信息:節目段的標識號、起始時間、節目長度、播放狀態、是否加密;指向特定信息的鏈接信息;節目段多語種的簡短介紹;節目段的詳細介紹;兩段同樣節目段的時間偏移;基本碼流類型,如視頻的幅型比、伴音的類型、字幕的類型等;使用的加密系統;節目類型,如電影/戲劇、新聞、綜藝、體育、少兒、音樂、藝術、社會政治、文教等;節目限定年齡的級別;給出實現交互式回傳信道的電話號碼;為滿足各節目段的碼率而提供的緩存大小信息及私有數據。

2.4.1.4EPG系統的顯示技術

當電視節目和EPG應用同時啟動時,用戶看到的可能是節目畫面和EPG界面的疊加,用戶所看到的電視畫面從前到后可以分為三層,依次為圖形層、視頻層和背景層。圖形層即OSD(OnScreenDisplay)層,OSD界面顯示技術指在圖像畫面上疊加文字顯示,使屏幕為用戶提供更多的附加信息。視頻層為當前正在收看的節目(解碼出來的活動圖像);背景層為沒有播放電視節目和啟動EPG菜單時的屏幕圖像。EPG畫面在圖形層上構建,EPG畫面是由許多EPG圖形元素(如按鈕、文本框、選擇按鈕、組件容器等)疊加而成。界面的狀態轉移是通過消息驅動的機制來實現的,在消息響應函數中進行消息處理。用見到的是屏幕圖像是這三層的疊加(blend)后的圖像。

SI數據檢索模塊快速的檢索本地SI數據庫,提供EPG界面當前輸入焦點所需的數據信息;OSD層圖形元素庫提供界面所需的圖形元素,該庫存于本地機頂盒的ROM中;狀態轉移控制器接收用戶遙控器的輸入,提供當前顯示所需的活動焦點,控制狀態轉移地流向;OSD層圖像是指EPG界面圖形元素合成后的圖像;OSD繪制引擎決定顯示的相應算法,接收各模塊提供的數據,完成OSD層圖形的繪制,最后是OSD層、視頻層和背景層的疊加操作。

2.4.2軟件在線升級功能的實現

DC-618C的軟件升級方法有兩種,一種是使用串口的軟件升級功能,一種是使用網絡的在線升級方式。前一種方式,是從PC機上將軟件通過RS232串口下載到機頂盒中,由用戶自己操作,是一種個體行為;后一種方式,是由運營商將軟件放在服務器上,由用戶或運營商來觸發對機頂盒的軟件升級動作。

我們主要介紹使用網絡的在線升級方式,考慮到兼容不同的網絡環境(單向網絡),我們使用將軟件廣播下來,由機頂盒接收,然后替換原有軟件的方法,所采用的在線升級方式遵循DVB定義的系統軟件升級規范。

2.4.2.1概述:

DVB標準定義了兩種軟件升級服務,分別為簡單和增強的軟件升級服務。前者使用NIT、BAT和PMT,不需要升級通知表(UNT),后者使用UNT來傳輸NIT、BAT和PMT無法攜帶的調度、定位和其它信息。

DC-618C目前支持簡單的軟件升級服務。實際上,簡單的軟件升級服務是增強的軟件升級服務的子集。

DC-618C采用DVB所定義的通過SI和PSI定位一個軟件升級服務的機制,基本方式是通過NIT或BAT定位一個網絡中包含系統軟件升級服務的傳輸流,再通過PMT在該傳輸流中定位系統軟件升級服務所在的基本流。

首先,DC-618C機頂盒通過檢測NIT和系統軟件升級BAT第一個循環中是否包含Linkage描述符來確定該網絡或業務群中是否包含軟件升級服務。連接類型為0x09的Linkage描述符攜帶了在一個網絡或業務群中定位傳輸一個系統軟件升級服務的傳輸流的信息。

DVB對用于系統軟件升級服務的Linkage描述符中的私有數據字段定義了一個系統軟件升級連接結構,其中包含一個24比特的IEEEOUI(OrganizationUniqueIdentifier,組織唯一標識)和一個選擇器,OUI可以用來標識DC-618C機頂盒的生產廠家,選擇器用來標識DC-618C機頂盒的型號。

DC-618C機頂盒還采用了另一個DVB定義的系統軟件升級服務掃描Linkage描述符,用來定義一個指向攜帶系統軟件升級BAT或NIT的指針。該描述符的連接類型為0x0A,可在BAT或NIT中傳輸。該描述符與類型為0x09的Linkage描述符不同,不包含OUI,目的是使機頂盒不用掃描所有的復用器就可以獲得描述系統軟件升級服務的BAT或NIT,實際上該描述符是Linkage描述符的一種補充,而且是可選的。

在NIT或系統軟件升級BAT中有多個Linkage描述符,標識多個系統軟件升級服務。在暫時沒有升級服務時,可以不從NIT或BAT中將這些描述符刪除。

對于包含系統軟件升級基本流的傳輸流,對應的PMT包括data-broadcast-id描述符,其中data-broadcast-id等于0x000A,選擇器字段被DVB定義為系統軟件升級信息結構(system-software-update-info),其中包含OUI、升級類型、升級版本和生產商定義的選擇器字段。對于一個專有的流,該描述符提供一個入口點;對于一個標準的兩層數據輪播,該描述符也提供了一個入口點;另外該描述符還提供一個UNT表的參考,指向增強的系統軟件升級服務。在當前暫時沒有系統軟件升級服務時,頭端播放軟件不會將該系統軟件升級服務的標識從PMT的該描述符中刪除。

一個data-broadcast-id描述符只定義一個基本流,一個節目可以包含多個基本流,這樣一來,就有多個系統軟件升級流(輪播),每個流由各自的data-broadcast-id描述符描述。另外,一個系統軟件升級服務也可以是一個服務的組件之一。

2.4.2.2DC-618C用于升級服務的數據輪播結構

DC-618C系統軟件服務采用DVB標準的兩層數據輪播協議來傳輸多個升級軟件數據。多個系統軟件升級服務構成一個兩層的數據輪播服務,DSI是該數據輪播的入口。DC-618C軟件升級系統有多個升級服務,每個升級服務構成一個單獨的組所有的組和模塊都在一個基本流中傳輸。

與標準的DVB數據輪播一樣,DSI消息包含GroupInfoIndication結構,其中的GroupCompaibility字段使用IEEEOUI來標識我公司,該字段還用來描述機頂盒的型號和版本號;GroupInfoByte(gi)字段由一個描述符循環組成,描述了該升級服務組的各種信息,這些描述符是DVB標準數據輪播定義的描述符。

為了獨立地生成多個軟件升級服務數據,并將這些獨立生成的數據集成在同一個數據輪播服務中,DC-618C機頂盒軟件升級服務系統還采用了DVB對于DII中的一些特定字段進行的特別的規定;transactionId的兩個字節在0X0002-0XFFFF之間,并與對應的DSI中groupInfo結構中的groupid相等;downloadId等于transactionId;moduleId的高8位的值與groupId的低8位相同,低8位表示一個特定的軟件升級服務moduleId,該服務最大支持256個模塊,對于軟件升級應用來說應該是足夠的。

3結束語

硬件是軟件運行的平臺,歸根結底,軟件部分是整個機頂盒的靈魂和核心,隨著信息網絡的快速發展,寬帶美景已經非常清晰地展現在我們面前,豐富多彩的服務對終端接收設備提出了更高的要求,只有不斷的提高機頂盒軟、硬件的功能和性能才能跟得上市場不斷前進的步伐。



評論


相關推薦

技術專區

關閉