家庭網絡的目標是將一個家庭中的各種信息家電(如數字電視、游戲機、PDA等)及其它控制設備(如電表、水表、汽表、能源自動控制、保安系統等)通過網絡連接為一個小范圍的局域網,以便集成控制網和信息網的服務,即解決“最后10米的問題”,它主要包括家庭網絡的聯網技術和接人技術兩部分內容。由于未來家庭內部將會有多個信息設備(包括電腦、信息家電和控制設備)同時聯入Internet,為降低家庭用戶管理和維護的復雜性,一般不可能為每個信息設備都提供一個Internet出口,而且在目前沒有一種主導聯網解決方案的情況下,要解決各種信息設備之間的互聯和互操作問題,通常在考慮家庭網絡的組成時,往往會設置一個家庭網關。家庭網關是家庭區域網的關鍵設備,它可使家庭中的信息設備相互通信,并可通過同一個Internet高速管道實現集成的語音、數據和視頻服務。
1 基于HHBF561的家庭網關技術
家庭網關平臺主要完成網絡協議的轉換和處理,包括MPU,RAM、ROM、多種網絡接口及外設接口、RTOS、網絡通信協議和應用軟件等。家庭網關是一個家庭專用設備。與實現網關功能的普通PC機相比,傳統的操作系統往往不夠穩定,易用性較差。而作為提供關鍵功能(如安全可靠)的網關。專用設備則在性價比上存在較大優勢。考慮到家庭網關的靈活性、可移植性,本文基于HHBF561開發板,并采用主流家庭聯網技術和接入技術,來對家庭網關進行如下定義:
(1) 網關是一個協議轉換器,是一種可以對數據格式。傳輸速率和媒體驅動方式等協議的轉換和通信轉發的設備。
(2) 設備資源管理器必須有一個I/O設備,通常應由一個輸入裝置(鍵盤,鼠標或話筒等)和顯示裝置組成,并應能解釋設備描述文件。
(3) Web服務器應具有瀏覽器功能,可以將設備配置管理文件轉換成操作頁面,并具有用超文本傳輸協議HTTP發送的能力。
(4) 網關還應該是一個防火墻,應能保證家庭網絡的信息安全。
2 基于HHBF561平臺的軟件開發
整個開發系統包括硬件開發板、底層軟件支持庫、驅動程序、操作系統和上層應用程序。這里以實現可視VoIP網關為例對其進行詳細介紹。
在網關軟件的整體結構中,網關的上層應用包括最主要的控制部分程序,主要負責控制SIP核心協議棧SIP和RTP/RTCP核心協議棧的正常運轉。同時控制芯片工作以完成IP網側和PSTN網側協議的相互轉換。而其它部分軟件由于各自的功能比較集中,因而可單獨模塊化實現。而整個軟件運行的基礎則是嵌入式操作系統。
2.1 μClinux操作系統
Linux是一種很受歡迎的操作系統,它與U-NIX系統兼容,并具有開放的源代碼。它原本被設計為桌面系統,現在則廣泛應用于服務器領域。Linux更大的影響在于它正逐漸的應用于嵌入式設備。μClinux正是在這種氛圍下產生的。在μClinux這個英文單詞中,μ表示Micro(小的意思),C表示Control(控制的意思),所以uClinux就是Micro-Control-Linux,字面上的理解就是針對微控制領域而設計的Linux系統。
μClinux的一大特點是它沒有MMU(Mem-mory Management Unit,內存管理單元),它是針對沒有MMU的CPU而設計的,并專為嵌入式系統做了許多小型化的工作。雖然μClinux不能使用處理器的虛擬內存管理技術,但出于移植簡單和盡量靠攏標準Linux的需要,μClinux仍然沿用標準Linux的分頁內存管理結構。系統在啟動時將對實際存儲器進行分頁,它實際上采用的是實存儲器管理策略。μClinux系統對于內存的訪問是直接的,它對地址的訪問不需要經過MMU,所有程序中訪問的地址都是實際的物理地址。該操作系統對內存空間沒有保護,各個進程實際上共享一個運行空間,而沒有獨立的地址轉換表。一個進程在執行前,系統必須為進程分配足夠的地址空間,然后再全部載入主存儲器的連續空間。
2.2 μClinux的移植
由于向一個新的平臺上移植μClinux會涉及到很多文件,但是最主要的還是要使uClinux在指定的平臺上正常啟動,其它與平臺相關的文件可以在進一步開發過程中再進行修改,我先分析一下在啟動過程中都有哪些文件和具體硬件平臺相關,再修改相應文件,以便一步一步地完成系統的移植工作。
2.3 Bootlaoder
Bootlaoder在沒有操作系統支持的情況下,便可構建最簡單的軟件運行環境,并可將其保存在BOOTROM中,這樣,系統上電就能直接運行,從而實現簡單命令行控制和網絡通訊功能。該開發板可從上位機通過tftp下載操作系統,并提供gdb調試,同時可以在此軟件平臺上搭建脫離操作系統的應用程序。Bootloader的啟動模式要求其能夠實現自動加載功能。這可借鑒vxworks中的啟動方式,即可啟動之初有一小段時間等待用戶輸入,一旦用戶輸人就進入下載模式。下載模式可提供手動下載和內存監控功能。
2.4 TCP/IP網絡協議棧
通過家庭網關可使網絡與各種信息設備相連,相互交互進行工作,但需要支持多種協議。物理層和數據鏈路層協議主要包括UWB協議和Cable Modem鏈路控制協議;網絡層和傳送層協議主要包括ARP、RARP、ICMP、DHCP Client/Server/Proxv、PPP、TP、DNS、RIP V1.0/V2.0、TCP、UDP等協議;應用層協議主要包括TFTP、TFLNET、STMP、IMAP4、POP3、HTTP和SNMP等協議;安全協議可以采取一些較為簡便的安全措施,如包過濾、NAT/PAT及多層次口令保護等。上述協議是家庭網關中可能用到的最大協議集合。實際上,在開發具體產品時,可根據應用情況和產品配置情況進行合理的裁剪。
3 基于HHBF561平臺的硬件設計
本文給出了兩種硬件設計方案,分別為IPTV機頂盒解決方案和可視VoIP解決方案。
3.1 IPTV機頂盒解決方案
在該方案中,32位RISC MCU負責運行嵌入式Llinux,以進行無線局域網/以太網傳輸、硬盤存儲、音頻編解碼、文件管理以及控制處理等。MCU從網絡接收到的媒體流可以存儲到硬盤或者通過SPI接口(速率可達12 Mbps)傳給BF533,然后由BF533負責H.264@D1格式的視頻編解碼。該產品可實現的功能如下:
(1)支持H.264@D1格式的視頻播放;
(2)支持PCMCIA+802.11b無線接入;
(3)支持IrDA紅外遙控;
(4)支持100Mbps以太網;
(5)支持硬盤存儲;
(6)實現VGA/S port/CVBS視頻輸出和立體聲音頻輸出;
(7)支持PS2鍵盤輸入。
3.2 可視化VoIP解決方案
目前,ARM9系列的處理器在手持終端(如PDA、Smart Phone、PMP)產品上已經有了非常廣泛的應用。而實際上,它在可視電話上也有非常明顯的優勢。因此,設計一個基于BF533和ARM9(400 MHz) MCU的可視VoIP電話方案是非常可行的。
該方案通過使用ARM9+BF533以及相關的軟件支持可以實現以下功能:
(1)在局域網和廣域網內進行音視頻的電話對講;
(2)通過多媒體娛樂功能可以播放MPEG4視頻和MP3、WMA音樂;
(3)支持email服務;
(4)支持軟鍵盤和手寫輸入;
(5)可外接鍵盤和鼠標。
4 相關說明
4.1 語音編碼技術
語音通信是可視電話最基本的功能。然而,受網絡條件的限制,可視電話不可能占用太大的帶寬。為了適應低碼率語音通信的要求,ITU-T推出了G.72X系列語音壓縮標準。其中G.723.1、G.728、G.729和G.729A已在IP電話中得到了廣泛應用。不同的語音壓縮標準所采用的技術不同,它們可提供不同的碼率、時延和語音質量。
4.2 視頻編碼技術
原始的視頻數據需要占用非常高的帶寬。因此,如果要通過網絡傳輸,必須通過壓縮技術盡量降低視頻資料的碼率,以適應不同的網絡條件。事實上,視頻壓縮算法的效率決定著可視電話的圖像質量和應用前景。
4.3 通信協議
為保證可視電話通過網絡進行可靠的通信,不同的終端必須運行統一的通信控制協議,以保證相互協同工作。ITU-T推出的H.320/323標準是面向不同網絡、不同網絡介面,不同信令過程、以及為適應不同網絡而優化設計的包結構。其中復用協定規定了視頻資料、語音資料等的打包標準,而控制協定的作用則是在終端之間協商通信方式,如視頻編碼標準的協商,語音編碼標準的協商,通道帶寬的協商等。基于以太網的可視電話通常采用H.323控制協議。
5 結束語
家庭網關做為家庭網絡中最重要的一個設備,它連接著家庭網絡與運營商,因此,對于家庭網絡的開展至關重要。本文基于華恒科技的HHBF561開發板所設計的嵌入式家庭網關平臺,提出了兩種家庭網關設計方法,并對可實現的功能進行了描述。
責任編輯:gt
-
操作系統
+關注
關注
37文章
6801瀏覽量
123285 -
開發板
+關注
關注
25文章
5032瀏覽量
97375
發布評論請先 登錄
相關推薦
評論