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