基于SPARC V8 SoC平臺家庭網關設計
計算機技術和網絡技術突飛猛進地發(fā)展,使得網絡已經滲透到了生活各個角落。從辦公室里的辦公自動化系統(OAS),到樓宇間的自動化系統(BAS),直到INTERNET,網絡連接了世界的每一個角落。與此同時隨著人們的生活水平長足發(fā)展,住宅環(huán)境的舒適、安全、高效和節(jié)能的要求也越來越高。家庭自動化網絡就是在這樣的背景之下應運而生的。家庭網絡實現家電控制的網絡化和智能化,并且將家庭網絡與INTERNET連接,實現遠程控制。
本文引用地址:http://www.bjwjmy.cn/article/80467.htm家庭網絡系統由設備端控制器、家庭網關、信息控制服務器、遠程查詢服務器等組成(見圖1),本文的重點是介紹家庭網絡的網關系統。
根據設計要求,對家庭網關進行了如下的定義:
⊙網關是一個協議轉換器,對數據格式、傳輸速率和媒體驅動方式等協議的轉換和通信轉發(fā)的設備。
⊙設備資源管理器(網絡控制器)必須有一個I/O設備,通常應有一個輸入裝置(鍵盤、鼠標或話筒等)和某種類型的顯示裝置所組成。能解釋設備描述文件。
⊙Web服務器具有瀏覽器功能,可以將設備配置管理文件轉換成操作頁面,并具有用超文本傳輸協議HTTP發(fā)送的能力。
⊙網關還應該是一個防火墻,保證家庭網絡的信息安全。
根據家庭網設計的需求,這里對家庭網關項目劃分為硬件平臺和軟件平臺兩個部分,采用Uclinux+SPARC V8 SoC的系統平臺來實現網關功能。圖2給出了網關設計的結構圖,其中處理器采用了我國自主研制的SPARC V8 SoC處理器。
SPARC V8 SoC處理器
SPARC V8處理器是航天時代公司為了適應未來航天需要和消費市場而設計的一款處理器,這里我們采用了針對消費市場和家庭網關項目而定制設計的SPARC V8 SoC平臺。與傳統的32位RISC處理器不同,SPARC V8 SoC處理器集成了兩個以太網接口和家庭總線通信控制單元,這就是YT0-010芯片。YT0-010是家庭設備和家庭局域網之間信息的轉接口,適合于小型的家庭網絡。SPARC V8 SoC處理器不同于通用嵌入式處理器,是針對項目要求集成了以太網模塊和家庭網絡通信控制器(YT0-010)在單芯片上的真正的SoC處理器。
圖3是SPARC V8處理器的結構框圖,從中可以看到網口和家庭總線通信控制單元都是集成在AMBA總線上的。
硬/軟件開發(fā)平臺設計
在整個開發(fā)系統中包括了硬件開發(fā)板、底層軟件支持庫、驅動程序、操作系統和上層應用程序。在這里對硬件開發(fā)板和操作系統及其與新設備相關的驅動程序進行介紹。
⊙硬件平臺
開發(fā)板以SPARC V8 SoC處理器為核心,主要由BOOTROM、FLASH、SDRAM、RS-232 接口、網口、復位電路、倍頻電路、電源電路,鍵盤接口 和320x240液晶接口等電路構成。
開發(fā)板中存儲單元由兩片128KB的AT29C1024組成BOOTROM、兩片16M的AM29LV160DB的FLASH和兩片32M的HY57Y561620CT_H的SDRAM組成。RS-232驅動部分使用MAX3232進行電平轉換。
SPARC V8 SoC處理器中有兩套以太網物理驅動模塊,只要在外面連接以太網控制器就可以進行連接了。這里以太網收發(fā)芯片采用INTEL的LXT971連接標準RJ45網絡接口。電源部分由于板上有5V和3.3V并存的電源,所以采用一塊LM1086對5V電源轉換。鍵盤和液晶接口是為以后進行系統顯示和控制而特別預留的接口,后期還會將圖形界面集成到Uclinux操作系統上。
⊙Bootloader
Bootloader在沒有操作系統的支持下,構建了最簡單的軟件運行環(huán)境并將其保存在BOOTROM中,系統上電就直接運行。實現了簡單命令行控 制和網絡通訊功能,開發(fā)板從上位機通過tftp下載操作系統,還提供了gdb調試,可以在此軟件平臺上搭建脫離操作系統的應用程序。
Bootloader啟動模式要求實現自動加載的功能。這里我們借鑒了vxworks中啟動方式,要求啟動之初會有一小段的時間等待用戶輸入,當用 戶輸入的時候就進入下載模式,否則自動進入啟動模式在可能的介質和通訊方式中找到操作系統,這里將操作系統存在的物理位置固定在上位機上通過tftp下載操作系統。下載模式提供手動下載和內存監(jiān)控的功能。
⊙調試手段
SPARC V8 SoC開發(fā)系統提供了兩種調試方式:
硬件調試:硬件調試運用SPARC V8空間處理器提供的DSU(hardware debug support unit),DSU能夠將處理器設定位調試模式,可以讀寫所有的處理器寄存器和存儲器,并且其本身有跟蹤緩存,可以保存執(zhí)行的指令和AMBA AHB 總線上的數據。DUS是可以選擇串口(RS-232C)通訊的。
軟件調試:軟件調試是基于linux調試工具gdb,將gdbtk通過串口連接到的上位機上,當系統運行時,可以通過gdb查看存儲器內容,在程序運行中可以加入斷點,也可以單步執(zhí)行程序,gdb與下位機的的monitor通過GDB遠程串行協議通信。
⊙操作系統
對于操作系統的選擇基于靈活小巧、可移植強、支持SPARC、低成本等考慮,這里選擇uclinux,uclinux的選擇是基于其對無mmu sparc結構硬件平臺的支持,sparcv8空間處理器沒有提供mmu功能,另一個重要的原因是用戶的需求要求低成本和對網絡支持,而uclinux恰恰滿足了這個需求。
uclinux對nommusparc提供了較好的支持,所以我們移植的工作量不大,多集中在板級移植上。我們采用的uclinux是linux2.0內核,根據啟動的順序修改啟動相關的代碼,此外還需要修改包括串口、定時器、中斷控制器等代碼。這樣就可以使操作系統運行在硬件系統之上了。
除此之外,還有對新硬件設備的驅動程序的編寫。如網口驅動和YT0-010驅動等。
有了這樣的軟硬件開發(fā)平臺之后,就可以進行家庭網關設計了。
家庭網關應用
家電設備的遠程控制是使用INTERNET來實現對家電設備的遠程控制。簡單的流程如下:
首先,家電是通過家電控制器與網關進行連接的。在初始化過程中網關與家電通過家庭網絡和握手協議上載家電的信息,包括控制和狀態(tài)信息。這樣做的目的也是為了提高網絡的動態(tài)性能和可擴展性,使得新增設備可以輕松的加入網絡中去。
其次,使用一臺連接在INTERNET上的電腦登錄家庭網關WEB系統,在WEB中提供了可以選擇的設備及其當前設備的狀態(tài)和可以提供的控制。當具有瀏覽器功能的遠程用戶訪問網關時,網關將設備配置管理文件中的所有設備信息數據讀出,并按超文本傳輸協議(HTTP)的要求轉換成相應的網頁數據,傳送給遠程用戶,形成一個可操作的頁面提供給用戶瀏覽器。操作頁面顯示的方式可以是表格、鍵盤、遙控器圖形,或復雜的圖像。操作頁面上的相關部位都有明確的鏈接,指向相關的文件、文件特殊部分的目標地址,或者鏈接目錄表中的地址標簽。使操作頁面成為一個虛擬的遙控器。
然后,用戶通過更改和填寫家電的控制信息來更改家電的狀態(tài)。用戶填寫的控制信息從WEB頁中提交到事務處理過程中,事務處理過程通過網關中的家庭網絡控制單元來來控制信息分發(fā)到各個家電或子系統中去。
最后家電控制器從家庭網絡中接收到這個控制或命令信息,解析控制命令,并實現相應的動作。
這樣就完成了一次遠程控制,由于INTERNET介入方式的多樣化,遠程的控制也呈現出多樣化,例如可以無線上網、手機控制等??偠灾顷懢W關中的WEB服務器,通過提交事務來完成對系統的控制。將服務器放在網關也是考慮在以后考慮到安全和信息完整性,可以在接入網關節(jié)點加入安全驗證和防火墻等安全設備來解析網絡信息。這樣安全性也可以得到保證。
圖4是在實驗環(huán)境下登陸的網關的WEB界面,界面提供了對幾種家電的控制選擇。
實驗環(huán)境1建立在兩套局域網中,網關連接了兩個網絡。兩個網絡分別屬于不同的網段,速度不同,分別是10M網絡A和100M網絡B,分別連接網關的網口1和網口2。B網中的計算機通過網關的網口1登陸網關中WEB服務器,選擇電表,網關中的服務程序通過對數據的處理轉發(fā)給設定為電表的網絡B中的計算機。這樣就驗證網關和WEB服務的基本功能。
在實驗環(huán)境1中進行了大數據量的測試,10萬級網絡數據包轉發(fā)的誤碼率很低,幾乎沒有錯誤。但在實驗環(huán)境1中并沒有用到YT0-010家庭網絡控制器。所以搭建了試驗環(huán)境2對家庭網絡控制器進行驗證。
實驗環(huán)境2對于家庭網絡控制器驗證是通過家庭網絡控制器+設備控制器級聯,并在設備控制器中加入串口并轉發(fā)給發(fā)送電腦,通過發(fā)送和接收數據的比較來完成的。通過大數據量的測試誤碼率很低,幾乎是每百萬條2條以下的誤碼率。
結語
本文介紹了基于SPARC V8 SoC處理器的家庭網關的開發(fā)平臺的設計和實現,并給出了一個網關實現的流程和實驗數據。
參考文獻:
1. 侯磊 單芯片以太網瘦服務器的實現,電子產品世界 2005 12上半月P111~113
2. 嚴國榮 家庭網絡的網關技術, 電聲技術 2001年第8期 p36~39
評論