傳統(tǒng)的電視業(yè)務一致采用單向廣播模式運營,隨著科技的進步,人們越來越希望在電視中實現(xiàn)雙向交互功能,通過交互通信,運營商能夠及時地得知用戶的需求,而終端用戶也可以改變以往單一被動的信息接收模式,更多地參與到業(yè)務運營中。近期IPTV(網絡電視)的出現(xiàn),使這愿望成為可能,它作為電視和網絡通信技術的融合,以IP為傳送通道,能夠向用戶提供包括電視在內的更為廣泛的多種交互式視音頻服務。 1、 1.1設計要求分析 通過為IPTV業(yè)務特性的詳細分析,總結出FPGA機頂盒硬件設計方面的四項要求: (1)具有網絡接入功能,能夠利用LAN、DSL等方式接入到互聯(lián)網、支持TCP/IP、FTP、RTP、RTSP、RTCP、IGMP多種網絡協(xié)議。 (2)支持多種視頻壓縮格式,目前MPEG2、MPEG4、VC-1等標準在IPTV中都有使用,有些運營商甚至是在交叉使用,這與傳統(tǒng)數(shù)字電視采用單一的MPEG2標準情況大相徑庭。因此,設計的機頂盒能支持的壓縮標準越多,業(yè)務開展就越靈活,產品的使用范圍就越廣泛。 (3)具有完善的增殖業(yè)務設計,其中包括視頻點播、電子表決、互動游戲、網絡瀏覽、網絡游戲等,增殖業(yè)務是網絡電視獲取利潤的關鍵,所以設計機頂盒時要充分考慮到各種增殖業(yè)務的擴展應用。 (4)選擇低成本的專用硬件平臺。機頂盒不同于通用計算機,他是一個嵌入式系統(tǒng),低成本、低功耗和穩(wěn)定性是硬件設計要遵循的原則,一些早期的IPTV機頂盒設計方案采用了基于Intel的高性能通用處理器架構,雖然性能很好,但是在功耗和成本方面最終很難被市場和運營商認可。 1.2EM8620硬件平臺 設計方案中采用一個低成本但功能相對豐富的集成芯片--EM8620作為硬件平臺,它是SigmaDesigns公司專門針對數(shù)字視頻通信設計的最新一款多格式解碼芯片、內嵌166MHz的32位RSIC處理器,具有豐富的音視頻接口,此外還包括PCI總線控制器和IDE總線接口,依托二者能夠實現(xiàn)網絡接入、USB外設和IDE外設(如硬盤、光驅)訪問等功能。圖1是該芯片的邏輯單元框圖,其主要功能和特點包括: (1)能夠同時支持兩路標準清晰度電視節(jié)目解碼,實現(xiàn)畫中畫;
(2)視頻支持MPEG2、MPEG4標清和高清解碼,支持VC-1和Real的標清解碼;
(3)支持DVD格式信號解碼;
(4)音頻支持DolbyAC3,MPEG1和MPEG2的層1、2、3,MPEG2的BC多聲道層1、2、3,MPEG2AAC,MPEG4AAC,WindowsWMA;
(5)具有自適應去隔行功能;
(6)具有去閃爍濾波的OSD功能,色彩支持32比特/像素;
(7)具有視頻、OSD、子圖像和光標等4個圖像層;
(8)具有PCI2.1的總線控制接口;
(9)采用2D圖形加速;
(10)具有IDE接口,能夠連接光驅和硬盤設備,實現(xiàn)電視錄像和程序存儲;
(11)具有NTSC/PAL復合視頻及S-Video分量輸出,帶有可選的Macrovision防錄制保護;
(12)具有YPbPr/RGB分量視頻輸出,帶有可選的Macrovision防錄制保護;
(13)具有3路I2S串行數(shù)字PCM音頻輸出,實現(xiàn)5.1聲道環(huán)繞聲;
(14)具有SPDIF(IEC60958)數(shù)字音頻輸出。 圖一
在IPTV的系統(tǒng)中,用戶終端機頂盒是一個非常關鍵的設備,它不但是收看電視節(jié)目的終端,而且還是一個信息匯聚、交互的平臺,被認為是構成未來家庭多媒體中心的重要組成部分,本文介紹一種基于EM8620芯片的IPTV機頂盒設計方案,該方案能夠通過網絡實現(xiàn)交互電視業(yè)務,支持MPEG2、MPEG4、VC-1(WMV9)、Real等多種視頻壓縮標準解碼,具有電視節(jié)目錄制、數(shù)字版權保護、DVD播放等多種功能。
1.3
遵循IPTV機頂盒的設計要求,以EM8620為核心的硬件設計原理框圖如圖2所示,它包括多個不同的數(shù)據處理模塊。
圖二
1.3.1PCI總線
vPCI總線上連接有一個10/100M的以太網控制器(CTL8100)和一個USB2.0主控制器(VT6212)用于實現(xiàn)網絡接入及USB設備接入功能。
1.3.210/100M以太網控制器
10/100M以太網控制器采用Realtek公司的RTL8100,它是一個高度集成的低成本單片以太網控制器,該控制器具有ACPI電源功能和網絡喚醒功能,通過使用魔術包(magicpacket)和喚醒幀的方式可以很方便地實現(xiàn)網絡管理和維護,因此使用它可以實現(xiàn)非常理想的嵌入式網絡解決方案,同時它還具有PCI/mini-PCI接口和10/100MHz網絡帶寬自適應功能,并兼容PCI2.2和PC99/PC2001、PCI存儲空間或I/O空間映射數(shù)據傳輸?shù)绕渌δ堋?BR>
1.3.3USB2.0主控制器
USB2.0主控制器采用威盛公司的VT6212,它是一個四端口USB2.0控制芯片,能支持高達480Mbps的傳輸速度,并采用動態(tài)中止時序控制(DynamicStopClockControl)降低功耗。VT6212利用主機端控制接口(EnhancedHostControllerInterface)方式提供高速數(shù)據傳輸,利用通過控制芯片接口(UniversalHostControllerInterface)方式向下兼容低速的USB1.1數(shù)據傳輸,此外TV6212也支持32-bit卡總線模式、可搭配PCMCIA接口作為USB2.0集線器,增加外設的接入數(shù)量。
1.3.4視頻輸出
EM8620能夠提供模擬和數(shù)字兩種視頻信號輸出,模擬視頻采用復合(CVBS)、分量(S-Video和YPrPb)方式直接輸出,輸出中都可采用Macrovision技術進行防盜版錄制保護。數(shù)字視頻(24bitRGB)連接到DVI信號合成芯片(SIL164),編碼為DVD格式后輸出。
1.3.5DVI信號合成
DVI是目前使用非常廣泛的數(shù)字視頻接口,既可以適應于高/標清數(shù)字電視顯示、也可以用于普通的電腦監(jiān)視器顯示。此處選擇SiliconImage公司的SIL164實現(xiàn)DVI信號合成和發(fā)送。SIL164采用PaneILink數(shù)字技術設計,支持從VGA到UXGA(640×480-1600×1200)的清晰度顯示范圍,數(shù)據速率范圍為25-165Mbps,具有12bit(半像素時鐘沿)和24bit(真彩色支持)兩種設計模式,同時支持I2C總線控制,具有熱插拔特性,完全兼容DVI1.0規(guī)范。
1.3.6音頻輸出
EM8620可提供三路I2S和一路SPDIF等兩種串行數(shù)字音頻信號,其中每路I2S信號承載兩個聲道的PCM數(shù)據,三路I2S信號連接到音頻DAC
后,轉換為6路模擬音頻,用于實現(xiàn)DolbyAC3的5.1聲道環(huán)繞聲;SPDIF串行數(shù)字信號直接輸出,可承載兩路PCM音頻或壓縮的5.1聲道DolbyAC3音頻。
1.3.7外設總線
外設總線上連接有IDE硬盤、DVD光驅和Flash存儲器,IDE硬盤用于實現(xiàn)個人錄像機功能,用戶可以將播放的電路節(jié)目方便地存儲到IDE硬盤,同時也可以用于存儲通過增殖業(yè)務從網絡上下載的各類其他數(shù)據;DVD光驅可使機頂盒實現(xiàn)DVD播放功能,F(xiàn)lash存儲器的作用非常重要,用于存儲整個機頂盒的操作系統(tǒng)軟件。雖然也可以將操作系統(tǒng)安裝到IDE硬盤,但是IDE硬盤的穩(wěn)定性遠不如Flash存儲器,并且還會受到其他應用程序,特別是病毒的攻擊,非常容易造成系統(tǒng)崩潰。
1.3.8FP/VFD和紅外信號接收
FP/VFD用于機頂盒的前面板控制和狀態(tài)顯示,紅外信號接收用于接收遙控器發(fā)送的控制信號。
1.3.9UART
雖然IPTV具有雙向業(yè)務通道,能夠采用認證的方式實現(xiàn)節(jié)目的版權保護,但是考慮到目前數(shù)字電視中的條件接收到多采用智能卡方式,為保護系統(tǒng)的兼容性,此處仍然設計有基于UART的智能卡通信模塊,用于支持使用智能卡進行密鑰解密的工作方式。
2、
軟件主要包括嵌入式的操作系統(tǒng)和各類驅動及應用軟件。由于當前Linux有著優(yōu)良的可移植性和廣泛的兼容性,因此在本方案中操作系統(tǒng)采用μCLinux實現(xiàn),而應用軟件主要包括電子節(jié)目指南、數(shù)字版權保護和條件接收、瀏覽器、圖形用戶界面、軟件解碼模塊等。
2.1嵌入式操作系統(tǒng)
μCLinux是面向MMU(內存管理單元)設計的嵌入式操作系統(tǒng)。內核由Linux2.0Kernel發(fā)展而來,同標準Linux相比,它繼承了原有的工作穩(wěn)定性強、網絡功能強大等主要優(yōu)點。此外,它具有占用空間小、執(zhí)行效率高等特點,由于IPTV機頂盒需要實現(xiàn)各種基于網絡的增殖業(yè)務,因此對于網絡通信協(xié)議的需求比較廣泛,μCLinux包括TCP/IP等多種網絡協(xié)議,能夠支持當前各種基于IP的業(yè)務,同時它還具有良好的開放性,任何新協(xié)議都可以很方便地加入到內核中,具備了持續(xù)升級的可擴展能力。
在使用μCLinux進行軟件設計時,一個需要著重考慮的問題是內存管理,由于EM8620沒有MMU管理存儲器,因此μCLinux不能使用虛擬內存管理技術,內存訪問應采用直接尋址方式,所有程序訪問的地址都是實際的物理地址,操作系統(tǒng)內存空間失去保護后,系統(tǒng)內各個進程實際上是共享同一個內存空間,因此在設計多進程任務時就需要特別注意進行內存保護,防止程序操作越界溢出。具體而言,就是在每個進程初始化時,μCLinux會根據用戶的申請分配一段連續(xù)的堆棧地址空間,而后該進程中所有的數(shù)據操作都在此內存空間內完成,所以開發(fā)人員必須對每個任務進程所需的最大內存空間做出正確估計和分配,一旦生成的數(shù)據空間大于所分配的內存空間,就會產生內存溢出,侵犯其他程序的地址空間,從而導致程序的運行異常,嚴重者將導致系統(tǒng)崩潰。傳統(tǒng)Linux最大的缺點之一是,系統(tǒng)非正常關閉后,經常會產生硬盤碎片,使操作系統(tǒng)無法正常引導啟動,此處,將μCLinux編譯后燒寫到Flash上采用Flash內核啟動方式,避免了上述缺點。
2.2應用軟件
2.2.1電子節(jié)目指南
電子節(jié)目指南是用戶獲取電視節(jié)目播出信息的直接途徑,從現(xiàn)有數(shù)字電視用戶的調查中發(fā)現(xiàn),電子節(jié)目指南是當前最受用戶歡迎的功能,電子節(jié)目指南一般包括電視節(jié)目單、節(jié)目簡介、當前節(jié)目信息顯示、節(jié)目預定等多個環(huán)節(jié),通常它的設計采用基于中間件或定制編寫軟件模塊的方式實現(xiàn),過程復雜、靈活度差。此處采用基于瀏覽器的電子節(jié)目指南設計,電視節(jié)目信息以HTML方式或XML方式傳送,機頂盒接收后利用瀏覽器顯示給用戶觀看,其風格和瀏覽方式都具有很強的靈活性,由于其他類型的增殖業(yè)務如網絡瀏覽、電視購物等方式都需要瀏覽器,因此使用瀏覽器不會增加系統(tǒng)的額外開銷。
2.2.2數(shù)字版權保護
數(shù)字版權保護設計分為兩種,一種是針對已錄制節(jié)目的保護,另一種是針對實時播出節(jié)目的保護,由于機頂盒具有個人錄像機功能,用戶能夠方便地將實時播出的電視節(jié)目錄制到硬盤上,并通過USB接口拷貝出去進行散發(fā)。為防止這種盜版拷貝的情況發(fā)生,設計了嚴格的數(shù)字版權保護模塊,當用戶進行錄像時,對存儲到硬盤的節(jié)目進行加密處理,加密密鑰由每個機頂盒特有的硬件信息生成,這樣即使將節(jié)目拷貝到其他同類型機頂盒中也不能進行播放,從而實現(xiàn)了嚴格的版權保護功能,對于實時播出的加密節(jié)目,沿用了基于智能卡的工作方式,首先提取IP網絡傳送過來的密鑰數(shù)據流,通過UART接口送到智能卡中進行解密,解密后控制字存儲在內存中使用后即刻銷毀,防止盜取和破解。
2.2.3圖形用戶界面
為方便地對IDE硬盤及其他接口進行操作,此處為用戶提供了圖形用戶界面,它采用MiniGui引擎,界面啟動后,用戶可以通過遙控器或連接USB鼠標/鍵盤非常方便地進行操作。
除了上述應用軟件外,還可支持各種Java、flash程序運行,便于實現(xiàn)電視購物、在線游戲等功能,此外其包括WMV9、Real等一系列多媒體播放程序,用于各種類型的網絡音視頻節(jié)目及本地的DVD光盤播放。
2.3軟件調試
軟件調試分為內核調試和應用程序調試兩個步驟。 2.3.1內核調試 內核調試的一個簡單方法是利用JTAG燒寫器直接將μCLinux寫入到Flash中,這種調試過程需要反復擦寫Flash,過程較煩瑣,而且浪費時間,為了克服上述缺點,此處為EM8620編寫了一個Bootloader程序,通過以太網將μCLinux下載到內存中運行。內核調試穩(wěn)定后再燒寫到Flash,如此可以有效地簡化整個調試過程,提高工作效率。 2.3.2應用程序調試 應用程序的開發(fā)和調試采用兩種方式,一種是對功能和消耗資源較少的程序,采用Telnet方式通過以太網連接到機頂盒上直接開發(fā)調試。由于μCLinux支持多用戶工作方式,因此多個不同開發(fā)人員可同時登陸到系統(tǒng)內進行各自調試而互不影響,但是作為一個嵌入式處理器,EM8620的運算能力畢竟有限,如果任務過多會影響調試速度,為此,消耗資源較大的應用程序需采用交叉編譯的方法,即程序的調試和編譯在速度較快的PC機上完成,然后利用GNU工具交叉編譯為基于μCLinux的目標代碼,再通過以太網傳送到機頂盒中運行。 當前,IPTV的發(fā)展正如火如荼,各地電視和電信運行商都在加大力度進行IPTV建設,未來幾年對于IPTV機頂盒的需求將迅速擴大,本文實現(xiàn)的這種基于EM8620的IPTV機頂盒,具有豐富的功能接口,并可支持高清及標清多種視頻格式解碼,符合未來IPTV業(yè)務發(fā)展的技術要求,是一個可長期有效的解決方案。