<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 網(wǎng)絡(luò)與存儲 > 設(shè)計(jì)應(yīng)用 > 基于EM8620的IPTV機(jī)頂盒設(shè)計(jì)

          基于EM8620的IPTV機(jī)頂盒設(shè)計(jì)

          ——
          作者:解偉,全子一 (北京郵電大學(xué) 北京 100876) 時(shí)間:2007-01-26 來源:《電子技術(shù)應(yīng)用》 收藏

          傳統(tǒng)的電視業(yè)務(wù)一致采用單向廣播模式運(yùn)營,隨著科技的進(jìn)步,人們越來越希望在電視中實(shí)現(xiàn)雙向交互功能,通過交互通信,運(yùn)營商能夠及時(shí)地得知用戶的需求,而終端用戶也可以改變以往單一被動的信息接收模式,更多地參與到業(yè)務(wù)運(yùn)營中。近期iptv(網(wǎng)絡(luò)電視)的出現(xiàn),使這愿望成為可能,它作為電視和網(wǎng)絡(luò)通信技術(shù)的融合,以ip為傳送通道,能夠向用戶提供包括電視在內(nèi)的更為廣泛的多種交互式視音頻服務(wù)。

          在iptv的系統(tǒng)中,用戶終端機(jī)頂盒是一個非常關(guān)鍵的設(shè)備,它不但是收看電視節(jié)目的終端,而且還是一個信息匯聚、交互的平臺,被認(rèn)為是構(gòu)成未來家庭多媒體中心的重要組成部分,本文介紹一種基于em8620芯片的iptv機(jī)頂盒設(shè)計(jì)方案,該方案能夠通過網(wǎng)絡(luò)實(shí)現(xiàn)交互電視業(yè)務(wù),支持mpeg2、mpeg4、vc-1(wmv9)、real等多種視頻壓縮標(biāo)準(zhǔn)解碼,具有電視節(jié)目錄制、數(shù)字版權(quán)保護(hù)、dvd播放等多種功能。

          1 硬件設(shè)計(jì)

          1.1 設(shè)計(jì)要求分析

          通過為iptv業(yè)務(wù)特性的詳細(xì)分析,總結(jié)出fpga機(jī)頂盒硬件設(shè)計(jì)方面的四項(xiàng)要求:

          (1)具有網(wǎng)絡(luò)接入功能,能夠利用lan、dsl等方式接入到互聯(lián)網(wǎng)、支持tcp/ip、ftp、rtp、rtsp、rtcp、igmp多種網(wǎng)絡(luò)協(xié)議。

          (2)支持多種視頻壓縮格式,目前mpeg2、mpeg4、vc-1等標(biāo)準(zhǔn)在iptv中都有使用,有些運(yùn)營商甚至是在交叉使用,這與傳統(tǒng)數(shù)字電視采用單一的mpeg2標(biāo)準(zhǔn)情況大相徑庭。因此,設(shè)計(jì)的機(jī)頂盒能支持的壓縮標(biāo)準(zhǔn)越多,業(yè)務(wù)開展就越靈活,產(chǎn)品的使用范圍就越廣泛。

          (3)具有完善的增殖業(yè)務(wù)設(shè)計(jì),其中包括視頻點(diǎn)播、電子表決、互動游戲、網(wǎng)絡(luò)瀏覽、網(wǎng)絡(luò)游戲等,增殖業(yè)務(wù)是網(wǎng)絡(luò)電視獲取利潤的關(guān)鍵,所以設(shè)計(jì)機(jī)頂盒時(shí)要充分考慮到各種增殖業(yè)務(wù)的擴(kuò)展應(yīng)用。

          (4)選擇低成本的專用硬件平臺。機(jī)頂盒不同于通用計(jì)算機(jī),他是一個嵌入式系統(tǒng),低成本、低功耗和穩(wěn)定性是硬件設(shè)計(jì)要遵循的原則,一些早期的iptv機(jī)頂盒設(shè)計(jì)方案采用了基于intel的高性能通用處理器架構(gòu),雖然性能很好,但是在功耗和成本方面最終很難被市場和運(yùn)營商認(rèn)可。

          1.2 em8620硬件平臺

          設(shè)計(jì)方案中采用一個低成本但功能相對豐富的集成芯片--em8620作為硬件平臺,它是sigma designs公司專門針對數(shù)字視頻通信設(shè)計(jì)的最新一款多格式解碼芯片、內(nèi)嵌166mhz的32位rsic處理器,具有豐富的音視頻接口,此外還包括pci總線控制器和ide總線接口,依托二者能夠?qū)崿F(xiàn)網(wǎng)絡(luò)接入、usb外設(shè)和ide外設(shè)(如硬盤、光驅(qū))訪問等功能。圖1是該芯片的邏輯單元框圖,其主要功能和特點(diǎn)包括:

          本文引用地址:http://www.ex-cimer.com/article/21303.htm


          (1)能夠同時(shí)支持兩路標(biāo)準(zhǔn)清晰度電視節(jié)目解碼,實(shí)現(xiàn)畫中畫。;
          (2)視頻支持mpeg2、mpeg4標(biāo)清和高清解碼,支持vc-1和real的標(biāo)清解碼;
          (3)支持dvd格式信號解碼;
          (4)音頻支持dolby ac3,mpeg1和mpeg2的層1、2、3,mpeg2的bc多聲道層1、2、3,mpeg2 aac,mpeg4 aac,windows wma;
          (5)具有自適應(yīng)去隔行功能;
          (6)具有去閃爍濾波的osd功能,色彩支持32比特/像素;
          (7)具有視頻、osd、子圖像和光標(biāo)等4個圖像層;
          (8)具有pci2.1的總線控制接口;
          (9)采用2d圖形加速;
          (10)具有ide接口,能夠連接光驅(qū)和硬盤設(shè)備,實(shí)現(xiàn)電視錄像和程序存儲;
          (11)具有ntsc/pal復(fù)合視頻及s-video分量輸出,帶有可選的macrovision防錄制保護(hù);
          (12)具有ypbpr/rgb分量視頻輸出,帶有可選的macrovision防錄制保護(hù);
          (13)具有3路i2s串行數(shù)字pcm音頻輸出,實(shí)現(xiàn)5.1聲道環(huán)繞聲;
          (14)具有spdif(iec60958)數(shù)字音頻輸出。

          1.3 設(shè)計(jì)原理

          遵循iptv機(jī)頂盒的設(shè)計(jì)要求,以em8620為核心的硬件設(shè)計(jì)原理框圖如圖2所示,它包括多個不同的數(shù)據(jù)處理模塊。

          1.3.1 pci總線

          pci總線上連接有一個10/100m的以太網(wǎng)控制器(ctl8100)和一個usb2.0主控制器(vt6212)用于實(shí)現(xiàn)網(wǎng)絡(luò)接入及usb設(shè)備接入功能。

          1.3.2 10/100m以太網(wǎng)控制器

          10/100m以太網(wǎng)控制器采用realtek公司的rtl8100,它是一個高度集成的低成本單片以太網(wǎng)控制器,該控制器具有acpi電源功能和網(wǎng)絡(luò)喚醒功能,通過使用魔術(shù)包(magic packet)和喚醒幀的方式可以很方便地實(shí)現(xiàn)網(wǎng)絡(luò)管理和維護(hù),因此使用它可以實(shí)現(xiàn)非常理想的嵌入式網(wǎng)絡(luò)解決方案,同時(shí)它還具有pci/mini-pci接口和10/100mhz網(wǎng)絡(luò)帶寬自適應(yīng)功能,并兼容pci2.2和pc99/pc2001、pci存儲空間或i/o空間映射數(shù)據(jù)傳輸?shù)绕渌δ堋?

          1.3.3 usb2.0主控制器

          usb2.0主控制器采用威盛公司的vt6212,它是一個四端口usb2.0控制芯片,能支持高達(dá)480mbps的傳輸速度,并采用動態(tài)中止時(shí)序控制(dynamic stop clock control)降低功耗。vt6212利用主機(jī)端控制接口(enhanced host controller interface)方式提供高速數(shù)據(jù)傳輸,利用通過控制芯片接口(universal host controller interface)方式向下兼容低速的usb1.1數(shù)據(jù)傳輸,此外tv6212也支持32-bit卡總線模式、可搭配pcmcia接口作為usb 2.0集線器,增加外設(shè)的接入數(shù)量。

          1.3.4 視頻輸出

          em8620能夠提供模擬和數(shù)字兩種視頻信號輸出,模擬視頻采用復(fù)合(cvbs)、分量(s-video和yprpb)方式直接輸出,輸出中都可采用macrovision技術(shù)進(jìn)行防盜版錄制保護(hù)。數(shù)字視頻(24bit rgb)連接到dvi信號合成芯片(sil164),編碼為dvd格式后輸出。

          1.3.5 dvi信號合成

          dvi是目前使用非常廣泛的數(shù)字視頻接口,既可以適應(yīng)于高/標(biāo)清數(shù)字電視顯示、也可以用于普通的電腦監(jiān)視器顯示。此處選擇silicon image公司的sil164實(shí)現(xiàn)dvi信號合成和發(fā)送。sil164采用paneilink數(shù)字技術(shù)設(shè)計(jì),支持從vga到uxga(640×480-1600×1200)的清晰度顯示范圍,數(shù)據(jù)速率范圍為25-165mbps,具有12bit(半像素時(shí)鐘沿)和24bit(真彩色支持)兩種設(shè)計(jì)模式,同時(shí)支持i2c總線控制,具有熱插拔特性,完全兼容dvi1.0規(guī)范。

          1.3.6 音頻輸出

          em8620可提供三路i2s和一路spdif等兩種串行數(shù)字音頻信號,其中每路i2s信號承載兩個聲道的pcm數(shù)據(jù),三路i2s信號連接到音頻dac后,轉(zhuǎn)換為6路模擬音頻,用于實(shí)現(xiàn)dolby ac3的5.1聲道環(huán)繞聲;spdif串行數(shù)字信號直接輸出,可承載兩路pcm音頻或壓縮的5.1 聲道dolby ac3音頻。

          1.3.7 外設(shè)總線

          外設(shè)總線上連接有ide硬盤、dvd光驅(qū)和flash存儲器,ide硬盤用于實(shí)現(xiàn)個人錄像機(jī)功能,用戶可以將播放的電路節(jié)目方便地存儲到ide硬盤,同時(shí)也可以用于存儲通過增殖業(yè)務(wù)從網(wǎng)絡(luò)上下載的各類其他數(shù)據(jù);dvd光驅(qū)可使機(jī)頂盒實(shí)現(xiàn)dvd播放功能,flash存儲器的作用非常重要,用于存儲整個機(jī)頂盒的操作系統(tǒng)軟件。雖然也可以將操作系統(tǒng)安裝到ide硬盤,但是ide硬盤的穩(wěn)定性遠(yuǎn)不如flash存儲器,并且還會受到其他應(yīng)用程序,特別是病毒的攻擊,非常容易造成系統(tǒng)崩潰。

          1.3.8 fp/vfd和紅外信號接收

          fp/vfd用于機(jī)頂盒的前面板控制和狀態(tài)顯示,紅外信號接收用于接收遙控器發(fā)送的控制信號。

          1.3.9 uart

          雖然iptv具有雙向業(yè)務(wù)通道,能夠采用認(rèn)證的方式實(shí)現(xiàn)節(jié)目的版權(quán)保護(hù),但是考慮到目前數(shù)字電視中的條件接收到多采用智能卡方式,為保護(hù)系統(tǒng)的兼容性,此處仍然設(shè)計(jì)有基于uart的智能卡通信模塊,用于支持使用智能卡進(jìn)行密鑰解密的工作方式。

          2 軟件設(shè)計(jì)

          軟件主要包括嵌入式的操作系統(tǒng)和各類驅(qū)動及應(yīng)用軟件。由于當(dāng)前l(fā)inux有著優(yōu)良的可移植性和廣泛的兼容性,因此在本方案中操作系統(tǒng)采用μclinux實(shí)現(xiàn),而應(yīng)用軟件主要包括電子節(jié)目指南、數(shù)字版權(quán)保護(hù)和條件接收、瀏覽器、圖形用戶界面、軟件解碼模塊等。

          2.1 嵌入式操作系統(tǒng)

          μclinux是面向mmu(內(nèi)存管理單元)設(shè)計(jì)的嵌入式操作系統(tǒng)。內(nèi)核由linux2.0 kernel發(fā)展而來,同標(biāo)準(zhǔn)linux相比,它繼承了原有的工作穩(wěn)定性強(qiáng)、網(wǎng)絡(luò)功能強(qiáng)大等主要優(yōu)點(diǎn)。此外,它具有占用空間小、執(zhí)行效率高等特點(diǎn),由于iptv機(jī)頂盒需要實(shí)現(xiàn)各種基于網(wǎng)絡(luò)的增殖業(yè)務(wù),因此對于網(wǎng)絡(luò)通信協(xié)議的需求比較廣泛,μclinux包括tcp/ip等多種網(wǎng)絡(luò)協(xié)議,能夠支持當(dāng)前各種基于ip的業(yè)務(wù),同時(shí)它還具有良好的開放性,任何新協(xié)議都可以很方便地加入到內(nèi)核中,具備了持續(xù)升級的可擴(kuò)展能力。

          在使用μclinux進(jìn)行軟件設(shè)計(jì)時(shí),一個需要著重考慮的問題是內(nèi)存管理,由于em8620沒有mmu管理存儲器,因此μclinux不能使用虛擬內(nèi)存管理技術(shù),內(nèi)存訪問應(yīng)采用直接尋址方式,所有程序訪問的地址都是實(shí)際的物理地址,操作系統(tǒng)內(nèi)存空間失去保護(hù)后,系統(tǒng)內(nèi)各個進(jìn)程實(shí)際上是共享同一個內(nèi)存空間,因此在設(shè)計(jì)多進(jìn)程任務(wù)時(shí)就需要特別注意進(jìn)行內(nèi)存保護(hù),防止程序操作越界溢出。具體而言,就是在每個進(jìn)程初始化時(shí),μclinux會根據(jù)用戶的申請分配一段連續(xù)的堆棧地址空間,而后該進(jìn)程中所有的數(shù)據(jù)操作都在此內(nèi)存空間內(nèi)完成,所以開發(fā)人員必須對每個任務(wù)進(jìn)程所需的最大內(nèi)存空間做出正確估計(jì)和分配,一旦生成的數(shù)據(jù)空間大于所分配的內(nèi)存空間,就會產(chǎn)生內(nèi)存溢出,侵犯其他程序的地址空間,從而導(dǎo)致程序的運(yùn)行異常,嚴(yán)重者將導(dǎo)致系統(tǒng)崩潰。

          傳統(tǒng)linux最大的缺點(diǎn)之一是,系統(tǒng)非正常關(guān)閉后,經(jīng)常會產(chǎn)生硬盤碎片,使操作系統(tǒng)無法正常引導(dǎo)啟動,此處,將μclinux編譯后燒寫到flash上采用flash內(nèi)核啟動方式,避免了上述缺點(diǎn)。

          2.2 應(yīng)用軟件

          2.2.1 電子節(jié)目指南

          電子節(jié)目指南是用戶獲取電視節(jié)目播出信息的直接途徑,從現(xiàn)有數(shù)字電視用戶的調(diào)查中發(fā)現(xiàn),電子節(jié)目指南是當(dāng)前最受用戶歡迎的功能,電子節(jié)目指南一般包括電視節(jié)目單、節(jié)目簡介、當(dāng)前節(jié)目信息顯示、節(jié)目預(yù)定等多個環(huán)節(jié),通常它的設(shè)計(jì)采用基于中間件或定制編寫軟件模塊的方式實(shí)現(xiàn),過程復(fù)雜、靈活度差。此處采用基于瀏覽器的電子節(jié)目指南設(shè)計(jì),電視節(jié)目信息以html方式或xml方式傳送,機(jī)頂盒接收后利用瀏覽器顯示給用戶觀看,其風(fēng)格和瀏覽方式都具有很強(qiáng)的靈活性,由于其他類型的增殖業(yè)務(wù)如網(wǎng)絡(luò)瀏覽、電視購物等方式都需要瀏覽器,因此使用瀏覽器不會增加系統(tǒng)的額外開銷。

          2.2.2 數(shù)字版權(quán)保護(hù)

          數(shù)字版權(quán)保護(hù)設(shè)計(jì)分為兩種,一種是針對已錄制節(jié)目的保護(hù),另一種是針對實(shí)時(shí)播出節(jié)目的保護(hù),由于機(jī)頂盒具有個人錄像機(jī)功能,用戶能夠方便地將實(shí)時(shí)播出的電視節(jié)目錄制到硬盤上,并通過usb接口拷貝出去進(jìn)行散發(fā)。為防止這種盜版拷貝的情況發(fā)生,設(shè)計(jì)了嚴(yán)格的數(shù)字版權(quán)保護(hù)模塊,當(dāng)用戶進(jìn)行錄像時(shí),對存儲到硬盤的節(jié)目進(jìn)行加密處理,加密密鑰由每個機(jī)頂盒特有的硬件信息生成,這樣即使將節(jié)目拷貝到其他同類型機(jī)頂盒中也不能進(jìn)行播放,從而實(shí)現(xiàn)了嚴(yán)格的版權(quán)保護(hù)功能,對于實(shí)時(shí)播出的加密節(jié)目,沿用了基于智能卡的工作方式,首先提取ip網(wǎng)絡(luò)傳送過來的密鑰數(shù)據(jù)流,通過uart接口送到智能卡中進(jìn)行解密,解密后控制字存儲在內(nèi)存中使用后即刻銷毀,防止盜取和破解。

          2.2.3 圖形用戶界面

          為方便地對ide硬盤及其他接口進(jìn)行操作,此處為用戶提供了圖形用戶界面,它采用minigui引擎,界面啟動后,用戶可以通過遙控器或連接usb鼠標(biāo)/鍵盤非常方便地進(jìn)行操作。

          除了上述應(yīng)用軟件外,還可支持各種java、flash程序運(yùn)行,便于實(shí)現(xiàn)電視購物、在線游戲等功能,此外其包括wmv9、real等一系列多媒體播放程序,用于各種類型的網(wǎng)絡(luò)音視頻節(jié)目及本地的dvd光盤播放。

          2.3 軟件調(diào)試

          軟件調(diào)試分為內(nèi)核調(diào)試和應(yīng)用程序調(diào)試兩個步驟。

          2.3.1 內(nèi)核調(diào)試

          內(nèi)核調(diào)試的一個簡單方法是利用jtag燒寫器直接將μclinux寫入到flash中,這種調(diào)試過程需要反復(fù)擦寫flash,過程較煩瑣,而且浪費(fèi)時(shí)間,為了克服上述缺點(diǎn),此處為em8620編寫了一個bootloader程序,通過以太網(wǎng)將μclinux下載到內(nèi)存中運(yùn)行。內(nèi)核調(diào)試穩(wěn)定后再燒寫到flash,如此可以有效地簡化整個調(diào)試過程,提高工作效率。

          2.3.2 應(yīng)用程序調(diào)試

          應(yīng)用程序的開發(fā)和調(diào)試采用兩種方式,一種是對功能和消耗資源較少的程序,采用telnet方式通過以太網(wǎng)連接到機(jī)頂盒上直接開發(fā)調(diào)試。由于μclinux支持多用戶工作方式,因此多個不同開發(fā)人員可同時(shí)登陸到系統(tǒng)內(nèi)進(jìn)行各自調(diào)試而互不影響,但是作為一個嵌入式處理器,em8620的運(yùn)算能力畢竟有限,如果任務(wù)過多會影響調(diào)試速度,為此,消耗資源較大的應(yīng)用程序需采用交叉編譯的方法,即程序的調(diào)試和編譯在速度較快的pc機(jī)上完成,然后利用gnu工具交叉編譯為基于μclinux的目標(biāo)代碼,再通過以太網(wǎng)傳送到機(jī)頂盒中運(yùn)行。

          當(dāng)前,iptv的發(fā)展正如火如荼,各地電視和電信運(yùn)行商都在加大力度進(jìn)行iptv建設(shè),未來幾年對于iptv機(jī)頂盒的需求將迅速擴(kuò)大,本文實(shí)現(xiàn)的這種基于em8620的iptv機(jī)頂盒,具有豐富的功能接口,并可支持高清及標(biāo)清多種視頻格式解碼,符合未來iptv業(yè)務(wù)發(fā)展的技術(shù)要求,是一個可長期有效的解決方案。



          關(guān)鍵詞:

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();