采用SX52單片機(jī)模擬家庭網(wǎng)關(guān)的設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
1 引言
信息家電(3C或說(shuō)是IA)對(duì)人們來(lái)說(shuō)已經(jīng)不再是一個(gè)陌生的名字了,它是利用電腦、電信和電子技術(shù)與傳統(tǒng)家電相結(jié)合的創(chuàng)新產(chǎn)品, 是為數(shù)字化與網(wǎng)絡(luò)技術(shù)更廣泛地深人家庭生活而設(shè)計(jì)的新型家用電器。要將它們與外部網(wǎng)絡(luò)(如Internet)連接進(jìn)行信息交互,利用家庭網(wǎng)關(guān)進(jìn)行集中式管理無(wú)疑是一個(gè)理想的解決方案。
家庭網(wǎng)關(guān)就是這樣一種簡(jiǎn)單的、智能的、標(biāo)準(zhǔn)化的、靈活的整個(gè)家庭網(wǎng)絡(luò)接口單元,它可以從不同的外部網(wǎng)絡(luò)接收通訊信號(hào),通過(guò)家庭網(wǎng)絡(luò)傳遞信號(hào)給某個(gè)消費(fèi)設(shè)備。但是,目前家庭網(wǎng)關(guān)在體系結(jié)構(gòu)、功能分配等方面的標(biāo)準(zhǔn)還未確定,對(duì)其的研究正在如火如荼進(jìn)行中。
本文采用SX52嵌入式網(wǎng)絡(luò)單片機(jī)集成式開(kāi)發(fā)系統(tǒng)主模塊模擬家庭網(wǎng)關(guān),并利用其外圍擴(kuò)展模塊模擬信息家電,從而成功搭建了一個(gè)模擬家庭網(wǎng)關(guān)和信息家電交互的軟硬件平臺(tái),這種利用一個(gè)單片機(jī)集成系統(tǒng)對(duì)家庭網(wǎng)關(guān)和信息家電進(jìn)行模擬,為研究信息家電的內(nèi)部體系結(jié)構(gòu)以及家庭網(wǎng)關(guān)和信息家電功能分配提供了實(shí)驗(yàn)平臺(tái),同時(shí)大大節(jié)省了資源和費(fèi)用。
2 關(guān)理論研究
2.1信息家電
信息家電是所有能夠通過(guò)網(wǎng)絡(luò)系統(tǒng)交互信息的家電產(chǎn)品,也就是說(shuō)信息家電是將數(shù)字技術(shù)和網(wǎng)絡(luò)技術(shù)集成在電冰箱、洗衣機(jī)等傳統(tǒng)家用電器上并以此為基礎(chǔ)建立家庭網(wǎng)絡(luò)環(huán)境,信息家電具有以下特點(diǎn):(1)通過(guò)有線或無(wú)線方式相連,能相互識(shí)別并協(xié)同工作與網(wǎng)絡(luò)化;(2)能夠遵循一定的協(xié)議,通過(guò)家庭網(wǎng)關(guān)或直接與外部網(wǎng)絡(luò)進(jìn)行信息交互;(3)功能單一[1]集中并且使用簡(jiǎn)單;(4)具有實(shí)時(shí)化、數(shù)字化與智能化的特點(diǎn);(5)應(yīng)用嵌入式操作系統(tǒng)。
根據(jù)這些特點(diǎn),我們將其內(nèi)部體系結(jié)構(gòu)分為上下兩大模塊層,上層為軟件模塊,由上至下為應(yīng)用層(如服務(wù)注冊(cè)、應(yīng)用協(xié)議解釋等)、嵌入式操作系統(tǒng)層(如嵌入式Linux、 WinCE等)、設(shè)備驅(qū)動(dòng)層(如液晶顯示屏驅(qū)動(dòng)、觸摸屏驅(qū)動(dòng)等),下層為硬件模塊,包括核心主板(包括嵌入式處理器芯片如S3C2410等) 、家電硬件及控制層(自帶控制模塊)、外圍芯片(如RTL8019AS、Bluetooth等)。其中核心主板為主控制器,信息家電通過(guò)外圍芯片與外界進(jìn)行信息交互,在核心主板的控制下再與家電控制模塊進(jìn)行雙向信息交流,從而實(shí)現(xiàn)對(duì)家電硬件的監(jiān)控。這里提到的嵌入式操作系統(tǒng)在今后隨著信息家電產(chǎn)品功能的增多增強(qiáng),對(duì)其的使用是一種必然趨勢(shì),本文在有限資源的單片機(jī)上實(shí)現(xiàn)模擬系統(tǒng)就沒(méi)有對(duì)其進(jìn)行討論。
2.2家庭網(wǎng)關(guān)
單個(gè)的信息家電也可以具有與Internet直接連接上網(wǎng)的功能,但是借助現(xiàn)有的計(jì)算機(jī)網(wǎng)絡(luò)技術(shù),將家庭內(nèi)各種家電和設(shè)備連網(wǎng),通過(guò)家庭網(wǎng)絡(luò)為人們提供各種豐富、多樣化、個(gè)性化、方便、舒適、安全和高效的服務(wù),把所有的信息家電連接起來(lái)形成一個(gè)家庭網(wǎng)絡(luò),再把接入Internet的功能移至到家庭網(wǎng)關(guān),由家庭網(wǎng)關(guān)承擔(dān)起與Internet進(jìn)行信息交互的責(zé)任,這不僅會(huì)減少信息家電的負(fù)載、降低成本,而且對(duì)家庭網(wǎng)絡(luò)化也是一種促進(jìn),因?yàn)榧彝ゾW(wǎng)絡(luò)內(nèi)部可以使用不同的協(xié)議,從而更具靈活性。因此,實(shí)現(xiàn)家庭網(wǎng)絡(luò)與外部信息的交換需要設(shè)計(jì)一個(gè)理想的家庭網(wǎng)關(guān)。
家庭網(wǎng)關(guān)應(yīng)具備的兩個(gè)主要功能是:(1)作為家庭內(nèi)部網(wǎng)絡(luò)和外部網(wǎng)絡(luò)連接的一種物理接口;(2)使住宅用戶可以獲得各種家庭服務(wù)(包括現(xiàn)有的服務(wù)和未來(lái)可能出現(xiàn)的服務(wù),譬如經(jīng)過(guò)授權(quán)能打開(kāi)朋友家的影碟機(jī)進(jìn)行影片觀看等)的平臺(tái)。
家庭網(wǎng)關(guān)接口的有效的解決方案,當(dāng)前比較統(tǒng)一的觀點(diǎn)是開(kāi)發(fā)一個(gè)集中式網(wǎng)關(guān),它將提供一個(gè)最有效的橋接外部網(wǎng)絡(luò)和家庭網(wǎng)絡(luò)或設(shè)備的解決方案。另外,以 PC作為家庭網(wǎng)關(guān),體積過(guò)大,環(huán)境適應(yīng)能力差,而且還必須安裝兩個(gè)網(wǎng)絡(luò)適配器(一個(gè)用于連接 Internet,一個(gè)用于連接內(nèi)部網(wǎng)絡(luò)),總的費(fèi)用也比一臺(tái)專(zhuān)用網(wǎng)關(guān)要高。因此,設(shè)計(jì)專(zhuān)用網(wǎng)關(guān)是完全有必要的。鑒于家庭網(wǎng)關(guān)的功能特點(diǎn),其邏輯結(jié)構(gòu)應(yīng)如圖1所示?!?/p>
3 件選型
3.1 SX52的特點(diǎn)
如何利用單片機(jī)本身有限的資源對(duì)信息進(jìn)行TCP/IP協(xié)議處理,使之變成可以在互聯(lián)網(wǎng)上傳輸?shù)腎P數(shù)據(jù)包?目前有兩種方案:一種是PC網(wǎng)關(guān)+專(zhuān)用網(wǎng),缺點(diǎn)是要增加布線和第三方協(xié)議轉(zhuǎn)換軟件;另一種是32位MCU+RTOS,弊端是開(kāi)發(fā)難,成本極高。而用軟件方法實(shí)現(xiàn)網(wǎng)絡(luò)協(xié)議比采用集成網(wǎng)絡(luò)協(xié)議的芯片,具有節(jié)省空間、降低成本的優(yōu)點(diǎn),更重要的是可以隨意配置甚至修改各種協(xié)議,且能通過(guò)軟件升級(jí)方式跟隨未來(lái)的發(fā)展。
通過(guò)美國(guó)Ubicom公司的SX52 微控器進(jìn)行網(wǎng)絡(luò)控制就具備這個(gè)優(yōu)勢(shì),其主要特點(diǎn)有:(1)速度快,在100MHz頻率下能達(dá)到100MIPS;(2)現(xiàn)成的網(wǎng)絡(luò)協(xié)議模塊供套用,可以通過(guò)虛擬外設(shè)功能來(lái)運(yùn)行網(wǎng)絡(luò)協(xié)議棧,例如TCP、IP、HTTP以及SMTP等;(3)強(qiáng)大的虛擬外設(shè)功能,即通過(guò)軟件對(duì)I/O口進(jìn)行靈活的配置,CPU執(zhí)行虛擬軟件模塊就可以驅(qū)動(dòng)普通的I/O口來(lái)模擬外設(shè)的功能,比如UART、SPI、IIC和FSK等。采用其成功的網(wǎng)絡(luò)協(xié)議模塊和一些適用于小型嵌入式系統(tǒng)的做法構(gòu)筑現(xiàn)場(chǎng)控制是非常合適的做法。
3.2 SX52主要功能模塊
3.2.1 CPU模塊(包括在線下載 ISP 電路)
此模塊實(shí)現(xiàn)開(kāi)發(fā)系統(tǒng)板的系統(tǒng)控制,并實(shí)現(xiàn)網(wǎng)絡(luò)接口控制,主要包含SX52BD。SX52BD為開(kāi)發(fā)系統(tǒng)板主CPU,它是一款RISC指令集的高速8 位單片機(jī),片上帶有4K×16 位的Flash存儲(chǔ)器和262×8位的RAM。由于采用CPU并行流水線方式及單時(shí)鐘周期指令,指令執(zhí)行速度可達(dá)100MIPS。這款單片機(jī)可以廣泛應(yīng)用在需要網(wǎng)絡(luò)支持的場(chǎng)合,尤其適合于需要遠(yuǎn)程監(jiān)控的應(yīng)用中。開(kāi)發(fā)系統(tǒng)板所實(shí)現(xiàn)的網(wǎng)絡(luò)協(xié)議(IP、ARP、DHCP、UDP、TCP、HTTP、SMTP)就是通過(guò)此芯片實(shí)現(xiàn)的。
3.2.2 網(wǎng)絡(luò)接口模塊
此模塊實(shí)現(xiàn)了兩種網(wǎng)絡(luò)接口方式: 以太網(wǎng)接口和調(diào)制解調(diào)器接口, 主要包含RTL8019AS、以太網(wǎng)收發(fā)濾波器芯片、MAX232等。
3.2.3 用戶試驗(yàn)區(qū)模塊[!--empirenews.page--]
主CPU的信號(hào)引腳都已經(jīng)連接到用戶試驗(yàn)區(qū)的周?chē)?,?組共40條信號(hào)線。開(kāi)發(fā)使用人員可以在試驗(yàn)區(qū)利用這些信號(hào)進(jìn)行相應(yīng)的外圍電路擴(kuò)展試驗(yàn)。
4 擬系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
4.1 硬件設(shè)計(jì)與實(shí)現(xiàn)
本文選擇SX52作為模擬實(shí)現(xiàn)信息家電和家庭網(wǎng)關(guān)交互的平臺(tái)是非常合適的,因?yàn)槲覀兝闷溆脩粼囼?yàn)區(qū)模塊擴(kuò)展外圍模塊電路(如電冰箱遙控模塊)模擬信息家電,以主模塊模擬家庭網(wǎng)關(guān),以實(shí)現(xiàn)通過(guò)遠(yuǎn)程終端(Web瀏覽器或者專(zhuān)用控制客戶端)對(duì)信息家電的控制,本文只討論利用專(zhuān)用控制客戶端,通過(guò)串口通訊方式實(shí)現(xiàn)對(duì)家電的遠(yuǎn)程控制。
在板上添加了紅外遙控發(fā)射電路(主芯片CS5104)模擬電冰箱,能夠?qū)崿F(xiàn)對(duì)電冰箱的遙控功能,同時(shí)為了了解開(kāi)發(fā)系統(tǒng)遙控效果,還添加了遙控接收電路(主芯片CS8206),可以響應(yīng)發(fā)射電路的遙控信號(hào)。還添加了遙控接收端狀態(tài)LED(9只)用于顯示電冰箱狀態(tài)。硬件構(gòu)成框圖如圖2所示,本文只給出包含電冰箱模塊的框圖,添加其它模塊類(lèi)似。
圖2 系統(tǒng)硬件構(gòu)成框圖
4.2 軟件設(shè)計(jì)與實(shí)現(xiàn)
通過(guò)專(zhuān)用控制客戶端控制信息家電,首先要定義控制協(xié)議,讓從客戶端發(fā)送過(guò)去的信息被家庭網(wǎng)關(guān)解包提取有效信息后能進(jìn)行協(xié)議轉(zhuǎn)換,把控制信息轉(zhuǎn)化為控制命令發(fā)送給信息家電,以執(zhí)行正確的操作,系統(tǒng)工作流程如下:
(1)開(kāi)發(fā)系統(tǒng)板上電后初始化主芯片及各外圍芯片。
(2)打開(kāi)客戶端程序如圖3所示。
(3)根據(jù)需要配置控制電冰箱的各選項(xiàng),點(diǎn)擊“確定”后即啟動(dòng)開(kāi)發(fā)板上的電冰箱模塊,然后客戶端程序發(fā)出的服務(wù)請(qǐng)求(包含連接家庭網(wǎng)關(guān)的認(rèn)證請(qǐng)求),經(jīng)過(guò)開(kāi)發(fā)板上的RTL8019AS,再經(jīng)SX52解釋驗(yàn)證,如果驗(yàn)證成功,在SX52控制下把已經(jīng)轉(zhuǎn)換的請(qǐng)求信息發(fā)送給電冰箱遙控發(fā)射芯片,該芯片發(fā)送遙控信號(hào)遙控接收電路,通過(guò)相應(yīng)的LED顯示,從而響應(yīng)遠(yuǎn)程控制請(qǐng)求。最后通過(guò)觀看控制界面上的顯示狀態(tài)與開(kāi)發(fā)板上相應(yīng)LED顯示是否相符(界面上表示溫度的滑竿只設(shè)計(jì)了三個(gè)固定溫度,在開(kāi)發(fā)板上用三個(gè)LED分別顯示),從而檢驗(yàn)?zāi)M系統(tǒng)運(yùn)行成功與否.
圖3 專(zhuān)用控制客戶端界面
由于考慮到單片機(jī)的處理能力,定義單個(gè)字符傳遞控制信息不僅可以節(jié)省資源,而且可以縮短響應(yīng)時(shí)間,滿足更高的實(shí)時(shí)性要求。以對(duì)電冰箱模塊的模擬為例,由客戶端程序發(fā)送給網(wǎng)關(guān)的信息,由網(wǎng)關(guān)提取后轉(zhuǎn)發(fā)給電冰箱模塊,其中的控制協(xié)議具體實(shí)現(xiàn)如下:用"e"代表關(guān)閉,"t"代表設(shè)置溫度(考慮到單片機(jī)的處理能力有限,只利用 “高中低”代表溫度設(shè)定值),"s"代表啟動(dòng)/凍速(快速、標(biāo)準(zhǔn)、慢速,啟動(dòng)后默認(rèn)為標(biāo)準(zhǔn)),"m"代表工作模式(省電模式和正常模式)。選擇好各選項(xiàng)按 “確定”后,就將控制信息以數(shù)據(jù)報(bào)的形式發(fā)送給家庭網(wǎng)關(guān)(SX52),家庭網(wǎng)關(guān)再進(jìn)行解拆包,把來(lái)自客戶端的有效控制信息提取出來(lái),再轉(zhuǎn)換成為模擬信息家電的電冰箱模塊所能識(shí)別的形式,最后通過(guò)I2C總線發(fā)給電冰箱模塊。后面相應(yīng)的燈就按已經(jīng)定義好的規(guī)律變亮或是變暗,表示溫度的滑竿的狀態(tài)也相應(yīng)變化。
根據(jù)上面制定的協(xié)議,制作客戶端和在相應(yīng)的文件中進(jìn)行代碼添加和修改,再按以下的步驟完成最后的工作:
(1)制作客戶端實(shí)現(xiàn)以上協(xié)議,并顯示電冰箱的控制狀態(tài)信息,頁(yè)面外觀如圖3所示。
(2)修改i2c_uartdemo.src源文件,將其中的串口連接方式改為以太網(wǎng)連接方式,并添加電冰箱初始化代碼、中斷代碼和協(xié)議轉(zhuǎn)化模塊。
(3)利用匯編/編程器軟件SXKey52.exe將文件i2c_uartdemo.src下載到開(kāi)發(fā)系統(tǒng)板,然后利用PC上運(yùn)行的客戶端程序(如圖3所示)對(duì)開(kāi)發(fā)板上的電冰箱硬件電路進(jìn)行控制。
5 結(jié)束語(yǔ)
本文從研究家庭網(wǎng)關(guān)和信息家電出發(fā),選擇高性能的8位SX52單片機(jī)集成系統(tǒng)并進(jìn)行軟硬件裁剪,成功地利用外圍硬件電路和虛擬外圍及網(wǎng)絡(luò)協(xié)議軟件虛擬模塊,搭建了模擬家庭網(wǎng)關(guān)和信息家電的嵌入式實(shí)驗(yàn)平臺(tái),為進(jìn)一步研究家庭網(wǎng)關(guān)和信息家電內(nèi)部結(jié)構(gòu)以及二者之間的功能分配打下了堅(jiān)實(shí)的基礎(chǔ)。
參考文獻(xiàn)
[1] 秦勃,章軍,基于嵌入式系統(tǒng)的安全網(wǎng)關(guān)的設(shè)計(jì),微計(jì)算機(jī)信息,2005年第21卷第8-2 期