一種嵌入式無(wú)線(xiàn)智能家居網(wǎng)關(guān)系統的設計方案
2 網(wǎng)關(guān)總體設計
現階段大部分的家庭網(wǎng)關(guān)聯(lián)網(wǎng)方式主要為有線(xiàn)接入,本文提出了一種基于A(yíng)RM處理器和GSM網(wǎng)絡(luò ),以linux為操作系統的家庭網(wǎng)關(guān)無(wú)線(xiàn)接入方案,目的是能通過(guò)手機短信或者遠程終端對控制節點(diǎn)進(jìn)行遠程控制。并使用JENNIC無(wú)線(xiàn)射頻模塊實(shí)現家庭內部子網(wǎng)采集數據的無(wú)線(xiàn)傳輸。
網(wǎng)關(guān)系統的總體結構圖可以簡(jiǎn)化為硬件層和軟件層。硬件層由高性能的微處理器和多個(gè)功能模塊組成。軟件層由嵌入式操作系統以及應用軟件構成,其具體結構如圖2所示。
圖2 網(wǎng)關(guān)總體架構
3 家庭網(wǎng)關(guān)硬件設計
本次網(wǎng)關(guān)設計的硬件層主要采用嵌入式的ARM9開(kāi)發(fā)平臺。嵌入式ARM處理器具有體積小,功耗低,成本低,性能高等特點(diǎn),是十分優(yōu)秀的RISC處理器。其中三星公司的S3C2440是一款優(yōu)秀的ARM9核心處理器,具有400 MHz的主頻,內部集成多個(gè)功能模塊,支持NAND-flash啟動(dòng)等特點(diǎn),是目前市場(chǎng)上最常見(jiàn)的嵌入式處理器芯片。因此,本系統擬采用S3C2440處理器為核心處理器。
考慮主控制器擴展出來(lái)的串行接口數量有線(xiàn),程序的調試,燒寫(xiě),傳感器節點(diǎn)等都需要串行接口。所以,選擇了AU9254這款USB PUB芯片來(lái)實(shí)現USB串行口的擴展。以太網(wǎng)控制器和配合擴展的RJ 45接口主要用于與Internet網(wǎng)絡(luò )互聯(lián)。射頻收發(fā)模塊和GSM無(wú)線(xiàn)模塊擬采用標準的串口集成到網(wǎng)關(guān)上。人機接口打算使用LCD觸摸屏,可以方便地觀(guān)察節點(diǎn)的配置以及檢測環(huán)境的變化。JTAG接口將引導加載程序燒寫(xiě)在網(wǎng)關(guān)中。具體的硬件架構圖如圖3所示。
圖3 網(wǎng)關(guān)硬件架構圖
4 家庭網(wǎng)關(guān)軟件設計
4.1 構建網(wǎng)關(guān)嵌入式Linux操作系統
網(wǎng)關(guān)系統硬件平臺與功能應用之間,需要專(zhuān)門(mén)的負責管理存儲器分配,中斷處理以及任務(wù)調度等功能的軟件模塊,這就是嵌入式操作系統。嵌入式操作系統是用來(lái)支持嵌入式應用的系統的軟件,包括硬件相關(guān)的底層驅動(dòng),系統內核,通信協(xié)議,圖形用戶(hù)界面等。
本文的網(wǎng)關(guān)系統是面向WSN和Internet,GSM互聯(lián)的通信應用,主要完成異構網(wǎng)絡(luò )之間的通信和控制,因此需要選擇實(shí)時(shí)的操作系統。在眾多的嵌入式實(shí)時(shí)操作系統中,從開(kāi)發(fā)成本,軟件支持和代碼開(kāi)放的角度考慮,本文將采用Linux操作系統作為網(wǎng)關(guān)的系統的操作系統。
4.2 建立交叉編譯環(huán)境
交叉編譯就是在一個(gè)平臺上生成另一個(gè)平臺上可以執行的代碼。這里的平臺包括體系結構和操作系統。同一體系結構上可以運行不同操作系統。同樣,同一個(gè)操作系統也可以在不同的體系結構上運行。
本文是在裝有Ubuntu 9.10(基于X86架構的Linux操作系統)的PC機上為網(wǎng)關(guān)系統建立了基于A(yíng)RM9的交叉編譯環(huán)境。建立之后,就可以在PC機上對將在網(wǎng)關(guān)系統上運行的應用程序進(jìn)行編譯,從而生成可以在網(wǎng)關(guān)系統上運行的可執行代碼,最后下到網(wǎng)關(guān)系統上。這也就是目前嵌入式程序開(kāi)發(fā)的宿主機/目標機(HOST/TARGET)模式。
Linux交叉編譯環(huán)境的內容,主要分為4個(gè)部分:GCC編譯器(C語(yǔ)言編譯器),二進(jìn)制工具包(Binutils),標準C庫(Glibc)和Linux內核頭文件。Glibc和GCC都有很多版本,需要根據實(shí)際需要選擇合適的版本。
linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)
評論