1 引言
目前的信息家電還處在初級(jí)階段,信息家電的標(biāo)準(zhǔn)還未確定,對(duì)其的研究也還未有突破性的進(jìn)展。另外,隨著以PC為中心拓展出來的各種家庭數(shù)字產(chǎn)品開始浮出水面,在未來的數(shù)字家庭中,PC作為家庭應(yīng)用的控制中心的地位將越來越受到重視。
本文利用SX52單片機(jī)和外圍擴(kuò)展模塊模擬信息家電,利用PC模擬家庭網(wǎng)關(guān),從而成功搭建了一個(gè)模擬家庭網(wǎng)關(guān)和信息家電交互的平臺(tái)。這種利用一個(gè)單片機(jī)集成系統(tǒng)對(duì)信息家電進(jìn)行模擬為研究信息家電的內(nèi)部體系結(jié)構(gòu)以及家庭網(wǎng)關(guān)和信息家電功能分配提供了實(shí)驗(yàn)平臺(tái),同時(shí)大大節(jié)省了資源和費(fèi)用。
創(chuàng)新點(diǎn):本文描述了利用SX52為主芯片,通過擴(kuò)展外圍電路和軟件模塊模擬信息家電的通用方法,并以模擬電風(fēng)扇做了具體實(shí)現(xiàn),為后續(xù)對(duì)信息家電和家庭網(wǎng)關(guān)的研究提供了基礎(chǔ)實(shí)驗(yàn)平臺(tái)。
2 信息家電
信息家電是所有能夠通過網(wǎng)絡(luò)系統(tǒng)交互信息的家電產(chǎn)品,也就是說信息家電是將數(shù)字技術(shù)和網(wǎng)絡(luò)技術(shù)集成在電冰箱、洗衣機(jī)等傳統(tǒng)家用電器上并以此為基礎(chǔ)建立家庭網(wǎng)絡(luò)環(huán)境,信息家電具有以下特點(diǎn):
?。?)相互之間通過有線或無線方式相連,能相互識(shí)別并協(xié)同工作與網(wǎng)絡(luò)化;
(2)能夠遵循一定的協(xié)議,通過家庭網(wǎng)關(guān)或直接與外部網(wǎng)絡(luò)進(jìn)行信息交互;
?。?)與用戶雙向交流,功能單一集中并且便于學(xué)習(xí),使用簡單;
?。?)信息家電應(yīng)該具有實(shí)時(shí)化,數(shù)字化與智能化的特點(diǎn);
(5)應(yīng)用嵌入式操作系統(tǒng)。其內(nèi)部體系結(jié)構(gòu)可用下圖表示:
其中虛框顯示的嵌入式操作系統(tǒng)層,在今后隨著信息家電產(chǎn)品功能的增多增強(qiáng),使用嵌入式操作系統(tǒng)是一種必然趨勢,本文在單片機(jī)上實(shí)現(xiàn)模擬系統(tǒng)就沒有采用嵌入式操作系統(tǒng),這樣極大地節(jié)省了資源和費(fèi)用。
3 家庭網(wǎng)絡(luò)與家庭網(wǎng)關(guān)
家庭網(wǎng)絡(luò)借助現(xiàn)有的計(jì)算機(jī)網(wǎng)絡(luò)技術(shù),將家庭內(nèi)各種家電和設(shè)備連網(wǎng),通過網(wǎng)絡(luò)為人們提供各種豐富、多樣化、個(gè)性化、方便、舒適、安全和高效的服務(wù)。實(shí)現(xiàn)家庭網(wǎng)絡(luò)與外部信息的交換需要設(shè)計(jì)一個(gè)理想的家庭網(wǎng)關(guān)。家庭網(wǎng)關(guān)是一種簡單的、智能的、標(biāo)準(zhǔn)化的、靈活的整個(gè)家庭網(wǎng)絡(luò)接口單元,它可以從不同的外部網(wǎng)絡(luò)接收通訊信號(hào),通過家庭網(wǎng)絡(luò)傳遞信號(hào)給某個(gè)消費(fèi)設(shè)備。家庭網(wǎng)關(guān)應(yīng)具備的兩個(gè)主要功能是:(1)作為家庭內(nèi)部網(wǎng)絡(luò)和外部網(wǎng)絡(luò)連接的一種物理接口;(2)使住宅用戶可以獲得各種家庭服務(wù)的平臺(tái)。
家庭網(wǎng)關(guān)接口的有效的解決方案,當(dāng)前比較統(tǒng)一的觀點(diǎn)是開發(fā)一個(gè)集中式網(wǎng)關(guān),它將提供一個(gè)最有效的橋接外部網(wǎng)絡(luò)和家庭網(wǎng)絡(luò)或設(shè)備的解決方案。
4 嵌入式Web服務(wù)器
嵌入式Web服務(wù)器(EmbeddedWebServer,EWS)是指將Web服務(wù)器引入到現(xiàn)場測試和控制設(shè)備中,在相應(yīng)的硬件平臺(tái)和軟件系統(tǒng)的支持下,使傳統(tǒng)的測試和控制設(shè)備轉(zhuǎn)變?yōu)榫邆淞艘訲CP/IP為底層通信協(xié)議,Web技術(shù)為核心的基于互聯(lián)網(wǎng)的網(wǎng)絡(luò)測試和控制設(shè)備。EWS系統(tǒng)與傳統(tǒng)的Web應(yīng)用相比,簡化了系統(tǒng)結(jié)構(gòu),將信息采集和信息發(fā)布都集成到現(xiàn)場的測控設(shè)備中。由于有了標(biāo)準(zhǔn)的接口形式和通信協(xié)議,內(nèi)嵌于設(shè)備的Web服務(wù)器可以向任何接入它所在網(wǎng)絡(luò)的合法用戶提供統(tǒng)一的基于瀏覽器方式的操作和控制界面,瀏覽器成了設(shè)備的前端控制板。由于Web技術(shù)的開放性和獨(dú)立平臺(tái)特性,大大降低了軟件系統(tǒng)和通信系統(tǒng)的設(shè)計(jì)、維護(hù)工作量,節(jié)省了人員培訓(xùn)費(fèi)用等,提高了現(xiàn)場測試和控制設(shè)備的管理水平。
5 硬件選型
5.1 SX52的優(yōu)勢
用單片機(jī)實(shí)現(xiàn)嵌入式互聯(lián)網(wǎng)方案的技術(shù)難點(diǎn)是:如何利用單片機(jī)本身有限的資源對(duì)信息進(jìn)行TCP/IP協(xié)議處理,使之變成可以在互聯(lián)網(wǎng)上傳輸?shù)腎P數(shù)據(jù)包。目前解決這個(gè)問題有兩種方案:一種是PC網(wǎng)關(guān)+專用網(wǎng),缺點(diǎn)是要增加布線和第三方協(xié)議轉(zhuǎn)換軟件;另一種是32位MCU+RTOS,弊端是開發(fā)難,成本極高。而用軟件方法實(shí)現(xiàn)網(wǎng)絡(luò)協(xié)議比采用集成網(wǎng)絡(luò)協(xié)議的芯片,具有節(jié)省空間、降低成本的優(yōu)點(diǎn),更重要的是可以隨意配置甚至修改各種協(xié)議,且能通過軟件升級(jí)方式跟隨未來的發(fā)展。
通過美國Ubicom公司的SX52微控器進(jìn)行網(wǎng)絡(luò)控制更具其獨(dú)特優(yōu)勢,主要體現(xiàn)在:
?。?)速度快,在100MHz頻率下能達(dá)到100MIPS;
?。?)現(xiàn)成的網(wǎng)絡(luò)協(xié)議模塊供套用,可以通過虛擬外設(shè)功能來運(yùn)行網(wǎng)絡(luò)協(xié)議棧,例如TCP、IP、HTTP以及SMTP等;
?。?)強(qiáng)大的虛擬外設(shè)功能,即通過軟件對(duì)I/O口進(jìn)行靈活的配置,CPU執(zhí)行虛擬軟件模塊就可以驅(qū)動(dòng)普通的I/O口來模擬外設(shè)的功能,比如UART、SPI、IIC和FSK等。采用其成功的網(wǎng)絡(luò)協(xié)議模塊和一些適用于小型嵌入系統(tǒng)的做法構(gòu)筑現(xiàn)場控制Web服務(wù)器是最明智的做法。
5.2 SX52主要模塊功能特點(diǎn)
5.2.1 CPU模塊(包括在線下載ISP電路)
此模塊實(shí)現(xiàn)開發(fā)系統(tǒng)板的系統(tǒng)控制,并實(shí)現(xiàn)網(wǎng)絡(luò)接口控制,主要包含SX52BD、24C256。
SX52BD開發(fā)系統(tǒng)板主CPU,它是UBICOM公司生產(chǎn)的一款RISC指令集的高速8位單片機(jī),片上帶有4K×16位的Flash存儲(chǔ)器和262×8位的RAM。由于采用CPU并行流水線方式及單時(shí)鐘周期指令,在100MHz晶振驅(qū)動(dòng)下指令執(zhí)行速度可達(dá)100MIPS。這款單片機(jī)以其優(yōu)異的性能,可以廣泛應(yīng)用在需要網(wǎng)絡(luò)支持的場合,尤其適合于需要網(wǎng)絡(luò)遠(yuǎn)程控制或遠(yuǎn)程監(jiān)控的應(yīng)用中。開發(fā)系統(tǒng)板所實(shí)現(xiàn)的網(wǎng)絡(luò)協(xié)議(IP、ARP、DHCP、UDP、TCP、HTTP、SMTP)就是通過此芯片實(shí)現(xiàn)的。
EEPROM器件24C256用于存儲(chǔ)網(wǎng)頁內(nèi)容,主CPU通過I2C總線訪問24C256,其中存儲(chǔ)的網(wǎng)頁內(nèi)容通過主CPU的讀寫操作可以實(shí)現(xiàn)網(wǎng)頁的瀏覽、重新下載和更新。
5.2.2 網(wǎng)絡(luò)接口模塊
此模塊實(shí)現(xiàn)了兩種網(wǎng)絡(luò)接口方式:以太網(wǎng)接口和調(diào)制解調(diào)器接口,主要包含RTL8019AS、以太網(wǎng)收發(fā)濾波器芯片、MAX232等。
5.2.3 用戶試驗(yàn)區(qū)模塊
主CPU的信號(hào)引腳都已經(jīng)連接到用戶試驗(yàn)區(qū)的周圍,有5組共40條信號(hào)線。開發(fā)使用人員可以在試驗(yàn)區(qū)利用這些信號(hào)進(jìn)行相應(yīng)的外圍電路擴(kuò)展試驗(yàn)。
5.2.4 調(diào)試、仿真和下載模塊
開發(fā)系統(tǒng)板上有調(diào)試、仿真和下載接口。通過CPU模塊中的SIP4針插座(SX-KEY),配接UBICOM公司提供的“SXKEY”
仿真頭與此插座相連,就可以實(shí)現(xiàn)在線式系統(tǒng)的仿真(包括單步、斷點(diǎn)等功能)、調(diào)試、和程序ISP方式編程下載。
6 模擬系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
6.1 添加外圍硬件電路
本文選擇PC機(jī)和SX52作為模擬實(shí)現(xiàn)信息家電和家庭網(wǎng)關(guān)交互的平臺(tái)是非常合適的,因?yàn)槲覀兝闷溆脩粼囼?yàn)區(qū)模塊擴(kuò)展外圍模塊電路(如電風(fēng)扇遙控模塊)模擬信息家電,以實(shí)現(xiàn)通過遠(yuǎn)程終端(Web瀏覽器或者專用控制客戶端)對(duì)信息家電的控制,本文只討論利用嵌入式Web服務(wù)器,通過Web頁面的方式實(shí)現(xiàn)對(duì)家電的遠(yuǎn)程控制這一方式。在板上添加了電風(fēng)扇遙控發(fā)射電路(主芯片CS5104),由主CPU直接控制,能夠?qū)崿F(xiàn)對(duì)電風(fēng)扇的遙控功能,同時(shí)為了了解開發(fā)系統(tǒng)遙控效果,還添加了遙控接收電路(主芯片CS8206),可以響應(yīng)發(fā)射電路的遙控信號(hào)。還添加了遙控接收端狀態(tài)LED(12只)用于顯示電風(fēng)扇狀態(tài)。硬件構(gòu)成框圖如圖2所示,本文只給出包含電風(fēng)扇模塊的框圖,添加其它模塊類似。
關(guān)鍵字:SX52單片機(jī) 信息家電
6.2 軟件的設(shè)計(jì)與實(shí)現(xiàn)
通過瀏覽器的web頁面控制信息家電,首先要定義控制協(xié)議,讓從網(wǎng)關(guān)發(fā)送過去的信息能夠被家電接收解釋并能執(zhí)行正確的操作,系統(tǒng)工作流程如下:
?。?)開發(fā)系統(tǒng)板上電后初始化主芯片及各外圍芯片。
?。?)打開PC機(jī)瀏覽器,輸入http://10.1.1.20/index.htm,由瀏覽器發(fā)出的連接嵌入式Web服務(wù)器請(qǐng)求經(jīng)過開發(fā)板上的RTL8019AS,再經(jīng)SX52解釋后在其控制下把讀取請(qǐng)求發(fā)送至存儲(chǔ)網(wǎng)頁的24C256,24C256根據(jù)SX52發(fā)送過來的命令取出網(wǎng)頁后通過RTL8019AS送至PC的瀏覽器,即打開遠(yuǎn)程控制端如圖3所示。
(3)選擇圖3中的“速度”再點(diǎn)擊“確定”,啟動(dòng)開發(fā)板上的電風(fēng)扇模塊,然后根據(jù)需要點(diǎn)擊前面的選項(xiàng)控制風(fēng)扇,瀏覽器就將控制信息通過網(wǎng)線傳給RTL8019AS,再經(jīng)SX52解釋轉(zhuǎn)化為控制命令發(fā)送給電風(fēng)扇遙控發(fā)射芯片,該芯片發(fā)送遙控信號(hào)遙控接收電路通過相應(yīng)的LED顯示,從而響應(yīng)控制請(qǐng)求。最后通過觀看控制界面上燈的狀態(tài)與開發(fā)板上相應(yīng)LED顯示是否相符,從而檢驗(yàn)?zāi)M系統(tǒng)運(yùn)行成功與否。
由于考慮到單片機(jī)的處理能力,定義單個(gè)字符傳遞控制信息不僅可以節(jié)省資源,而且可以縮短響應(yīng)時(shí)間,滿足更高的實(shí)時(shí)性要求。以對(duì)電風(fēng)扇模塊的模擬為例,通過網(wǎng)頁發(fā)送給網(wǎng)關(guān)的控制協(xié)議具體實(shí)現(xiàn)如下:用'e'代表關(guān)閉,'f'代表定時(shí),'g'代表風(fēng)速/啟動(dòng),'h'代表工作模式,'i'代表搖頭。每選擇一個(gè)選項(xiàng),按“確定”后,就發(fā)送一次上面相應(yīng)字符給信息家電(SX52),后面相應(yīng)的燈就按已經(jīng)定義好的規(guī)律變亮或是變暗。
代碼添加和修改,再按以下的步驟完成最后的工作:
?。?)制作控制頁面,實(shí)現(xiàn)以上協(xié)議,并顯示電風(fēng)扇的控制狀態(tài)信息,頁面外觀如圖3所示。然后計(jì)算該頁面的大小,利用SX52特有的哈希函數(shù)計(jì)算出URI。
?。?)修改Eth_my3.src源文件中開發(fā)板IP地址值,URI值等,裁剪掉DHCP、SMTP等模塊,添加電風(fēng)扇初始化代碼、中斷代碼和協(xié)議轉(zhuǎn)化模塊。
?。?)利用匯編/編程器軟件SXKey52.exe將文件e2file3ttm1.
src下載到開發(fā)系統(tǒng)板,然后利用PC上運(yùn)行的裝載程序E2File.
exe將網(wǎng)頁裝載到EEPROM中,再次利用SXKey52.exe將網(wǎng)頁服務(wù)器程序Eth_my3.src下載到開發(fā)系統(tǒng)板,最后打開PC上的瀏覽器,在地址欄輸入http://10.1.1.20/index.htm就可以看見如圖3所示的界面,通過該界面可以對(duì)開發(fā)板上的電風(fēng)扇硬件電路進(jìn)行控制。
7 小結(jié)
本文從研究信息家電內(nèi)部結(jié)構(gòu)和家庭網(wǎng)關(guān)出發(fā),選擇高性能的8位SX52單片機(jī)集成系統(tǒng)并進(jìn)行軟硬件裁剪,成功地利用外圍硬件電路和虛擬外圍及網(wǎng)絡(luò)協(xié)議軟件虛擬模塊,搭建了模擬信息家電的平臺(tái),為進(jìn)一步研究家庭網(wǎng)關(guān)和信息家電內(nèi)部結(jié)構(gòu)以及二者之間的功能分配和通信協(xié)議打下了堅(jiān)實(shí)的基礎(chǔ)。