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