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