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