用IXP網(wǎng)絡(luò )處理器設計的數字家庭媒體中心系統
摘 要 隨著(zhù)電子消費類(lèi)設備需求的不斷增加以及Internet數字媒體內容的迅猛發(fā)展,家庭網(wǎng)絡(luò )中的數字媒體內容開(kāi)始持續增長(cháng),人們更加迫切地需要增強對等通信與信息共享的能力。本文描述了一種基于IXP網(wǎng)絡(luò )處理器架構的數字家庭媒體中心系統(DHMCS)的設計及其實(shí)現。
關(guān)鍵詞ARM,家庭媒體系統,嵌入式系統,NMPR,UPnP
1 引 言
1.1 數字家庭的廣泛應用
數字技術(shù)和計算機技術(shù)的飛速發(fā)展正不斷產(chǎn)生眾多的數碼產(chǎn)品,從個(gè)人電腦、手機、PDA到MP3、數字電視、DVD、DV/DC,數字家電產(chǎn)品已經(jīng)步入了人們的日常生活之中。同時(shí),寬帶通信與互聯(lián)網(wǎng)應用的普及也極大地促進(jìn)了數字媒體內容的發(fā)展。因此,構建一個(gè)寬帶接入、內部互聯(lián)、內容共享的數字家庭媒體中心的需求也變得日益突出。
根據IDC的定義,數字家庭是指可以實(shí)現家庭內部所有設施控制并可得到反饋信息,聲音、文字、圖像信息可在不同家用設備上共享,并可隨時(shí)隨地實(shí)現這些控制與信息共享[1]。IDC的最新報告表明,至2008年數字家庭市場(chǎng)直接帶來(lái)的網(wǎng)絡(luò )、終端等相關(guān)軟/硬件的投資將超過(guò)100億美元,其中雙向機頂盒2008年約安裝3 300百萬(wàn)臺,年復合增長(cháng)率將達到311.7%,智能家庭網(wǎng)關(guān)由于其數字家庭高端解決方案的市場(chǎng)定位,2003~2008年的年復合增長(cháng)率將高達89.4%[1]。因此,數字家庭媒體中心的推廣必將會(huì )產(chǎn)生巨大的附加產(chǎn)值,帶來(lái)巨大的發(fā)展潛力。從1994年數字家庭概念的誕生,到今天數字家庭市場(chǎng)的正式啟動(dòng);從“維納斯”計劃的推出,到通用即插即用論壇(UPnP,Universal Plug and Play)、數字生活網(wǎng)絡(luò )聯(lián)盟(DLNA,Digital Life Network Alliance)的成立,經(jīng)過(guò)十余年的發(fā)展,數字化生活已進(jìn)入了真正的發(fā)展期。
1.2 ARM技術(shù)的發(fā)展
嵌入式系統源自80年代以來(lái)的8位單片機技術(shù)。在90年代后期,隨著(zhù)網(wǎng)絡(luò )技術(shù)的飛速發(fā)展,人們的日常生活進(jìn)入了后PC時(shí)代,許多電子設備需要TCP/IP網(wǎng)絡(luò )功能和更智能、更強大的計算能力,如語(yǔ)音、音頻、視頻的數據采集、處理與傳輸,圖形界面和觸摸屏技術(shù),無(wú)線(xiàn)控制技術(shù)和相應的軟件協(xié)議等。因此,對功能更強大的嵌入式處理器的需求也變得越來(lái)越突出。ARM作為嵌入式系統領(lǐng)域中應用最廣泛的32位處理器體系結構,已遍及工業(yè)控制、消費類(lèi)電子、通信系統、網(wǎng)絡(luò )應用、無(wú)線(xiàn)通信、成像和安全等各類(lèi)應用領(lǐng)域,并成為多個(gè)應用領(lǐng)域的標準CPU,ARM技術(shù)已經(jīng)滲透到人們生活的各個(gè)方面。
采用ARM技術(shù)知識產(chǎn)權(IP)核的微處理器目前包括:ARM7系列、ARM9系列、ARM9E系列、ARM10E系列、SecurCore系列、StrongARM系列和XScale系列。它們的共同特點(diǎn)是:體積小,功耗低,成本低,性能高;支持Thumb(16位)/ARM(32位)雙指令集,能很好地兼容8/16位器件;大量使用寄存器,指令執行速度更快;大部分數據操作都在寄存器中完成;尋址方式靈活簡(jiǎn)單,執行效率高;指令長(cháng)度固定。除了具有上述共同特點(diǎn)之外,每個(gè)系列還具有各自的特色和應用領(lǐng)域。其中,ARM7、ARM9、ARM9E和ARM10E為4個(gè)通用處理器系列,每個(gè)系列提供一套相對獨特的性能來(lái)滿(mǎn)足不同應用領(lǐng)域的需求;SecurCore系列專(zhuān)門(mén)為安全性要求較高的應用而設計,如電子商務(wù)、電子政務(wù)、電子銀行業(yè)務(wù)、網(wǎng)絡(luò )和認證系統等領(lǐng)域;Intel公司的StrongARM系列融合了Intel的設計和處理技術(shù)以及ARM體系結構的電源效率,在軟件上兼容ARMv4體系結構,同時(shí)還采用了具有Intel自身優(yōu)點(diǎn)的技術(shù),適用于便攜式通信和消費類(lèi)電子領(lǐng)域;Intel公司的XScale系列是基于A(yíng)RMv5TE體系結構的解決方案,具有高性能、高性?xún)r(jià)比、低功耗等優(yōu)點(diǎn),適用于數字移動(dòng)電話(huà)、個(gè)人數字助理和網(wǎng)絡(luò )產(chǎn)品等領(lǐng)域。
2 數字家庭媒體中心系統的設計
隨著(zhù)電子消費類(lèi)設備需求的不斷增加(如數碼相機、數字攝像機、MP3播放器和高清DVD等設備)以及Internet數字媒體內容的迅猛發(fā)展,家庭網(wǎng)絡(luò )中的數字媒體內容開(kāi)始持續增長(cháng),人們更加迫切地需要增強對等通信與信息共享的能力。為了滿(mǎn)足數字媒體在家庭內部以及外部Internet充分流通和共享的需求,我們開(kāi)發(fā)了一種高性?xún)r(jià)比的數字家庭媒體中心系統(DHMCS,Digital Home Media Center System)。該系統結合Intel的IXP網(wǎng)絡(luò )處理器和ESS多媒體解碼芯片,無(wú)縫地連接家庭內部的個(gè)人電腦和家電,并通過(guò)以太網(wǎng)/無(wú)線(xiàn)網(wǎng)絡(luò )連接家庭外的寬帶Internet,在家庭環(huán)境內/外共享數字媒體內容,能夠對多種媒體格式進(jìn)行管理、存儲、顯示以及分配,提供集成的數據、多媒體應用以及自動(dòng)控制與遠程管理等功能。
圖1描述了DHMCS系統的整體框架。它通過(guò)DHCP協(xié)議、PPPoE協(xié)議、UDP協(xié)議、FTP協(xié)議、HTTP協(xié)議、UPnP協(xié)議[2]以及USB接口,從家庭PC機、寬帶Internet連接的網(wǎng)絡(luò )、存儲卡和DVD等設備中獲取多媒體數據,并且將這些數字媒體內容在電視機和音響設備上播放。同時(shí)還提供媒體文件的管理以及遠程控制功能。
圖1 DHMCS系統整體框架
2.1 DHMCS的系統結構
DHMCS由兩個(gè)子系統組成:一個(gè)是由IXP 425(Intel XScale系列)網(wǎng)絡(luò )處理器構成的網(wǎng)絡(luò )子系統;另一個(gè)是由ESS 6688 DVD解碼芯片構成的數據解碼子系統,以下簡(jiǎn)稱(chēng)為“IXP子系統”和“ESS子系統”。IXP子系統通過(guò)UDP協(xié)議、FTP協(xié)議、HTTP協(xié)議和UPnP協(xié)議,從網(wǎng)絡(luò )上獲取媒體數據;ESS子系統則對這些媒體數據進(jìn)行解碼并進(jìn)行音頻/視頻輸出,同時(shí)也能對存儲卡和DVD上的播放資源進(jìn)行處理。IXP子系統和ESS子系統通過(guò)I2C總線(xiàn)和雙端口SRAM(DPRAM)連接起來(lái),其中: I2C總線(xiàn)主要負責控制命令和響應的傳輸;而DPRAM則主要負責媒體數據的傳輸。本文的后續部分主要討論IXP子系統,而ESS子系統則超出了本文的范圍。圖2詳細描述了DHMCS中IXP子系統和ESS子系統的結構。
圖2 DHMCS中IXP子系統和ESS子系統的結構
DHMCS完成一個(gè)用戶(hù)的請求涉及以下7個(gè)步驟:① ESS子系統將用戶(hù)請求網(wǎng)絡(luò )媒體文件的按鍵轉換為一個(gè)請求信息,并且按照一定格式寫(xiě)入DPRAM中,然后ESS子系統使能相應的中斷,通知IXP子系統DPRAM中的數據就緒;② IXP子系統從DPRAM中讀取就緒的數據,獲取用戶(hù)的請求信息;③ IXP子系統根據獲取的請求信息和指定的服務(wù)器,建立Ethernet/WiFi網(wǎng)絡(luò )連接;④ 服務(wù)器返回請求的媒體數據到IXP子系統中;⑤ IXP子系統將返回的數據通過(guò)相應的應用函數接口寫(xiě)入DPRAM;⑥ IXP子系統使能相應的中斷,通知ESS子系統用戶(hù)請求的數據已返回;⑦ ESS子系統解碼返回的媒體數據,并通過(guò)音頻/視頻接口輸出。
為了實(shí)現DHMCS的網(wǎng)絡(luò )功能,將IXP子系統的軟件功能劃分為以下3層: 應用層、操作系統層和驅動(dòng)層。應用層主要提供網(wǎng)絡(luò )功能模塊以及和ESS子系統通信所需的模塊,具體來(lái)說(shuō),包括UPnP協(xié)議、DHCP協(xié)議、PPPoE客戶(hù)端、FTP客戶(hù)端、HTTP客戶(hù)端,以及通信協(xié)議模塊。操作系統層基于MontaVista v3.0的Linux內核,具有內存管理、進(jìn)程調度、設備管理、文件系統、中斷處理和網(wǎng)絡(luò )協(xié)議棧等功能。驅動(dòng)層主要提供各種設備的驅動(dòng),包括以太網(wǎng)驅動(dòng)、無(wú)線(xiàn)WiFi驅動(dòng)、Flash驅動(dòng)、DPRAM驅動(dòng)、I2C驅動(dòng),以及USB驅動(dòng)。圖3描述了上述軟件結構。
圖3 IXP子系統的軟件結構
2.2 IXP子系統的應用層設計
用戶(hù)發(fā)出的請求主要有3類(lèi): 文件類(lèi)請求(包括目錄列表等請求)、系統的設置或者命令請求,以及UPnP媒體流請求。對應于以上請求,將IXP子系統的應用層劃分為:應用代理模塊、媒體文件下載模塊(負責通過(guò)TCP/IP協(xié)議取得請求文件)、UPnP媒體流模塊(負責處理UPnP請求)、用戶(hù)遠程設置模塊(負責處理系統設置請求),以及與ESS子系統進(jìn)行數據傳輸和命令控制的通信協(xié)議模塊。應用代理模塊層在DHMCS系統中處于樞紐位置,它將各種網(wǎng)絡(luò )應用(如FTP、HTTP、UPnP以及用戶(hù)遠程設置)有效地連接起來(lái),起到應用代理的作用。應用代理模塊首先從通信協(xié)議模塊接收ESS子系統發(fā)送的用戶(hù)請求;然后交給相應的模塊處理;最后將服務(wù)器返回的數據和響應通過(guò)通信協(xié)議模塊返回給ESS子系統。圖4描述了IXP子系統應用層的模塊劃分。
圖4 IXP子系統應用層的模塊劃分
IXP子系統和ESS子系統之間的數據傳輸和命令控制則由通信協(xié)議模塊和通信驅動(dòng)模塊共同完成。通信協(xié)議模塊主要負責IXP子系統和ESS子系統之間通信協(xié)議的實(shí)現,它將用戶(hù)的請求或者服務(wù)器返回的媒體數據構造成數據包(Packet),并將每個(gè)Packet拆分為幾個(gè)更小的mPacket,以便通信驅動(dòng)模塊的傳輸,另外兩個(gè)子系統之間的確認消息也在這一層實(shí)現;而通信驅動(dòng)模塊主要負責具體的硬件傳輸,它直接控制I2C總線(xiàn)和DPRAM硬件,能夠將信息準確無(wú)誤地傳輸到ESS子系統中。參考OSI標準的7層模型,將IXP子系統和ESS子系統之間的通信協(xié)議劃分為以下4個(gè)層次:應用層進(jìn)行ESS子系統的請求消息和IXP子系統的響應消息的交互,完成消息的解析和處理;傳輸層主要是對要傳輸的數據進(jìn)行分段重組(SAR),實(shí)現媒體文件和命令端到端的傳輸;鏈路層主要是進(jìn)行DPRAM內存塊的讀/寫(xiě)以及I2C總線(xiàn)上的控制命令傳輸,提供兩端訪(fǎng)問(wèn)DPRAM和I2C總線(xiàn)的通信機制;DPRAM提供雙端口讀/寫(xiě)內存塊的通道,I2C提供命令控制通道。整個(gè)過(guò)程如圖5所示。
圖5 IXP子系統和ESS子系統之間通信協(xié)議的層次劃分
3 IXP子系統的實(shí)現
本節將詳細介紹IXP子系統中UPnP媒體流模塊以及IXP子系統和ESS子系統之間的媒體數據傳輸功能的實(shí)現。系統中其他模塊的實(shí)現相對容易,在此不做描述。
3.1 UPnP媒體流模塊的實(shí)現
我們實(shí)現的UPnP媒體流模塊符合Intel的網(wǎng)絡(luò )多媒體產(chǎn)品規范[3](Networked Media Product Requirements:NMPR v1.0)。NMPR規范將媒體設備劃分為3部分: 媒體服務(wù)器(Media Server)、播放器(Renderer)和控制點(diǎn)(Control Point),并且利用UPnP協(xié)議完成這3部分之間媒體數據和控制命令的傳輸。我們實(shí)現的UPnP媒體流模塊實(shí)際上包含了Renderer和Control Point這兩部分,媒體服務(wù)器可以是符合NMPR規范的任意的PC機。
圖6 UPnP媒體流模塊的實(shí)現
圖6描述了UPnP媒體流模塊的實(shí)現過(guò)程。首先應用代理模塊向控制點(diǎn)發(fā)送用戶(hù)的數據請求,控制點(diǎn)接收到用戶(hù)的請求后就與媒體服務(wù)器進(jìn)行通信;然后將媒體服務(wù)器的響應信息返回給應用代理模塊,隨后媒體服務(wù)器將用戶(hù)所請求的媒體數據傳輸給Renderer;最后Renderer將這些數據返回給應用代理模塊,再由通信協(xié)議模塊傳輸給ESS子系統,再由ESS子系統對這些媒體數據進(jìn)行解碼輸出。同時(shí)控制點(diǎn)還可與Renderer相互通信,實(shí)現一系列媒體播放的功能。
3.2 DPRAM媒體數據傳輸功能的實(shí)現
通信協(xié)議模塊實(shí)現的主要功能有:將Packet拆分成多個(gè)mPacket;向通信驅動(dòng)模塊發(fā)送或接收mPacket;向應用代理模塊發(fā)送用戶(hù)的數據請求和控制命令,并接收服務(wù)器的響應消息;管理請求隊列和響應隊列。完成一次IXP子系統和ESS子系統之間媒體數據傳輸所涉及的數據變化如圖7所示。
圖7 IXP子系統和ESS子系統之間數據傳輸所涉及的數據變化
應用代理層到DPRAM的數據傳輸過(guò)程為:① 應用層根據需要將相應的數據傳遞到傳輸層;② 傳輸層收到報文后檢查報文的長(cháng)度,如果報文長(cháng)度大于底層所能夠傳輸的報文長(cháng)度,則傳輸層將報文進(jìn)行拆分,添加相應的報頭信息,以保證接收端能夠正確地重組,并傳遞給鏈路層;③ 鏈路層收到上層報文后,在報頭添加相應的控制信息,以保證接收端能夠正確地存取數據,然后將報文發(fā)送到DPRAM上。反之,由DPRAM到應用層的數據傳輸過(guò)程為:① 鏈路層從DPRAM中讀取報文,并去掉相應的報頭信息,將數據傳遞給傳輸層;② 傳輸層收到底層傳遞的數據后,根據該層添加的報頭信息重組報文,然后傳遞給應用層。
4 結束語(yǔ)
本文結合了IXP網(wǎng)絡(luò )處理器和ESS解碼芯片的特點(diǎn),實(shí)現了一種具有高性?xún)r(jià)比的家庭媒體中心系統。它充分滿(mǎn)足了數字媒體在家庭內部以及外部Internet充分流通和共享的需求。
評論