利用ARM微處理器和ZigBee模塊組成無線串口集線器
1 引言
隨著21世紀(jì)科學(xué)技術(shù)的不斷進(jìn)步,無線與移動(dòng)通信相應(yīng)得到了迅猛的發(fā)展。方便快捷的無線接入和無線 互連等新概念和新產(chǎn)品,已逐漸融入人們的工作領(lǐng)域和日常生活中。由于如今對(duì)無線頻率的大量使用,使無線頻率資源日漸匱乏,短距離寬帶無線通信技術(shù)受到世界許多國(guó)家工業(yè)界和研究機(jī)構(gòu)的廣泛關(guān)注。伴隨著各種便攜式終端通信設(shè)備的增加,人們對(duì)短距離的無線與移動(dòng)通信需求也越來越迫切。無處不在的網(wǎng)絡(luò)世界,使對(duì)各種電器設(shè)備實(shí)行網(wǎng)絡(luò)化管理已成為必然趨勢(shì)。目前小范圍內(nèi)如以太網(wǎng)中對(duì)終端設(shè)備的管理,主要使用有線方式。近來,隨著與無線通信相關(guān)的新技術(shù)如雨后春筍般涌現(xiàn)出來,大量、廉價(jià)和高度集成的無線模塊的普及,無線聯(lián)網(wǎng)技術(shù)以其安裝成本低、使用方便等特點(diǎn),在一些不便于或需要消除有線連接的場(chǎng)合有了它的用武之地,正在成為家庭網(wǎng)絡(luò)和工業(yè)自動(dòng)化領(lǐng)域的首選技術(shù)。
基于ZigBee[1]的無線串口集線器的研究與設(shè)計(jì),將ZigBee連接在ARM微處理器上,并與遠(yuǎn)端計(jì)算機(jī)通過以太網(wǎng)進(jìn)行連接。這個(gè)集線器可根據(jù)遠(yuǎn)程監(jiān)控和控制應(yīng)用的需求進(jìn)行優(yōu)化、擴(kuò)展,具有簡(jiǎn)單、可靠、低功耗和低成本等優(yōu)勢(shì),實(shí)現(xiàn)對(duì)各種電器、各種偵測(cè)/監(jiān)控設(shè)備的監(jiān)督、管理、設(shè)備操作和遠(yuǎn)程控制。
2 無線串口集線器的總體設(shè)計(jì)
基于ZigBee的無線串口集線器主要由硬件和軟件組成,硬件包括電路板、ARM微處理器、存儲(chǔ)器、串行接口、并行接口、網(wǎng)口和ZigBee無線通信模塊等,軟件部分包括操作系統(tǒng)軟件(OS)和應(yīng)用程序。硬件部分是整個(gè)系統(tǒng)的物理基礎(chǔ),它提供了軟件的運(yùn)行平臺(tái)和通信接口,軟件部分用于控制系統(tǒng)的運(yùn)行,并對(duì)各種事件進(jìn)行響應(yīng)。完成的功能為該設(shè)備中操作系統(tǒng)運(yùn)行正常,外接器件運(yùn)行正常,通過對(duì)ZigBee無線通信模塊協(xié)議的編寫,使ARM微處理器通過ZigBee模塊實(shí)現(xiàn)對(duì)各種電器、偵測(cè)/監(jiān)控設(shè)備的無線通信和操作。與遠(yuǎn)端計(jì)算機(jī)通過以太網(wǎng)相連,組成一個(gè)無線網(wǎng)絡(luò),如圖1所示。該設(shè)備在網(wǎng)絡(luò)中發(fā)揮集線器的功能,具有串行通信接口,并有通訊距離遠(yuǎn)、抗干擾能力強(qiáng)、組網(wǎng)靈活等優(yōu)點(diǎn)和特性。采用點(diǎn)對(duì)點(diǎn)型或星形拓?fù)浣Y(jié)構(gòu),可實(shí)現(xiàn)一點(diǎn)對(duì)一點(diǎn)及一點(diǎn)對(duì)多點(diǎn)之間的串口設(shè)備的數(shù)據(jù)的透明傳輸,使遠(yuǎn)端計(jì)算機(jī)通過此集線器實(shí)現(xiàn)對(duì)電器設(shè)備的遠(yuǎn)程操控。
500)this.style.width=500;" border="0" />
圖1 基于ZigBee的串口集線器的無線網(wǎng)絡(luò)示意圖
3 集線器硬件設(shè)計(jì)
3.1 ARM微處理器設(shè)計(jì)
本課題選用ARM9系列的S3C2410微處理器,重在嵌入式ARM板的核心模塊的設(shè)計(jì),實(shí)現(xiàn)程序運(yùn)行的基本環(huán)境,主要由以下幾部分組成:(1)存儲(chǔ)模塊:Flash存儲(chǔ)器、SDRAM存儲(chǔ)器;(2)對(duì)外通信接口模塊:包括串行接口、并行接口、網(wǎng)口、JTAG接口、ZigBee無線通信模塊;(3)電源和電源管理。如圖2所示為硬件系統(tǒng)組成圖。
500)this.style.width=500;" border="0" />
圖2 集線器硬件系統(tǒng)組成圖
電源模塊功能:采用一個(gè)低功耗正向電壓調(diào)節(jié)器,要有穩(wěn)定的輸出電流,過流及溫度保護(hù)的特點(diǎn)。要具有高效率,小封裝和低功耗的特點(diǎn),要適合嵌入式系統(tǒng)的應(yīng)用。
Flash存儲(chǔ)器功能:用來存放用戶編寫的啟動(dòng)程序,操作系統(tǒng)內(nèi)核以及應(yīng)用程序。
SDRAM(Synchronous Dynamic RAM)同步動(dòng)態(tài)存儲(chǔ)器功能:使用SDRAM不但能提高系統(tǒng)表現(xiàn),還能簡(jiǎn)化設(shè)計(jì)、提供高速的數(shù)據(jù)傳輸。在功能上,需要時(shí)鐘進(jìn)行刷新。在系統(tǒng)運(yùn)行時(shí),所有的程序和數(shù)據(jù)大部分是在SDRAM中與微處理器和外圍設(shè)備交互,所以SDRAM的速度對(duì)于整個(gè)系統(tǒng)的運(yùn)行速度有著至關(guān)重要的影響。
串行接口功能:ARM微處理器通過串行接口與ZigBee無線通信模塊相連,進(jìn)行串行通信和數(shù)據(jù)傳輸。
ZigBee模塊功能:與電器設(shè)備無線通信,負(fù)責(zé)數(shù)據(jù)的無線收發(fā)。
JTAG接口功能:進(jìn)行系統(tǒng)硬件、軟件、應(yīng)用程序的測(cè)試。
3.2 ZigBee無線通信模塊設(shè)計(jì)
3.2.1 ZigBee協(xié)議概述
ZigBee是短距離通信的一種新興雙向無線通信技術(shù)。它具有近距離、低復(fù)雜度、低功耗、低數(shù)據(jù)速率、低成本的優(yōu)點(diǎn),使用2.4GHz波段。由于采用較低的數(shù)據(jù)傳輸速率、較低的工作頻段,ZigBee模塊在未投入使用的情況定義為低功耗的休眠狀態(tài),模塊的整體功耗非常低,因此ZigBee技術(shù)適合于數(shù)據(jù)流量較小的情況。相對(duì)于現(xiàn)有的各種無線通信技術(shù),如GSM、3G、藍(lán)牙等無線通信技術(shù),ZigBee更簡(jiǎn)單、功率及費(fèi)用也更低,能夠更好地適用于自動(dòng)控制和遠(yuǎn)程控制領(lǐng)域,更好地滿足小型廉價(jià)設(shè)備的無線聯(lián)網(wǎng)和控制,支持游戲、消費(fèi)電子、儀器和家庭自動(dòng)化應(yīng)用。
[!--empirenews.page--]3.2.2 ZigBee模塊設(shè)計(jì)
ZigBee無線通信模塊[2]在整個(gè)集線器設(shè)計(jì)中也起著舉足輕重的作用。ZigBee模塊中RF(射頻)收發(fā)器采用射頻收發(fā)模塊采用UZ2400芯片,微處理器采用8051芯片。RF收發(fā)器是ZigBee設(shè)備的核心,任何ZigBee設(shè)備都要有RF收發(fā)器。它與用于廣播的普通無線收發(fā)器的不同之處在于體積小,功耗低,支持電池供電的設(shè)備。它主要進(jìn)行信號(hào)的調(diào)制與解調(diào)、發(fā)送和接收等。微處理器通過SPI總線與RF收發(fā)器相連,主要用于處理射頻信號(hào)、控制和協(xié)調(diào)各部分器件的工作,通過串口與外部設(shè)備之間進(jìn)行通信。ZigBee模塊還包括存儲(chǔ)器、晶振、天線、串口等器件。如圖3所示:
500)this.style.width=500;" border="0" />
圖3 ZigBee無線通信模塊結(jié)構(gòu)圖
4 軟件設(shè)計(jì)
4.1 操作系統(tǒng)軟件設(shè)計(jì)
軟件主要包括操作系統(tǒng)軟件和應(yīng)用程序兩部分。集線器ARM9微處理器中ARM BIOS軟件完成ARM的初始化、SDRAM設(shè)置以及嵌入式Linux的加載,最后控制權(quán)交給操作系統(tǒng)Linux,此后系統(tǒng)在Linux的管理下運(yùn)行應(yīng)用程序。
ARM9微處理器中,選用嵌入式Linux[3-5]作為操作系統(tǒng)。與其他嵌入式操作系統(tǒng)相比,Linux以其易于移植裁減、內(nèi)核小、效率高、完整及性能優(yōu)異的網(wǎng)絡(luò)模塊、源代碼開放并有眾多的開發(fā)者等優(yōu)越的性能,在嵌入式領(lǐng)域得到廣泛的認(rèn)同。所以采用Linux可使產(chǎn)品研發(fā)周期大大縮短。采用ARM9微處理器及嵌入式Linux操作系統(tǒng)可開發(fā)出在多媒體及無線通信等方面具有優(yōu)異性能的無線手持設(shè)備。
用嵌入式Linux軟件系統(tǒng)進(jìn)行系統(tǒng)開發(fā),通常包括與硬件相關(guān)的底層驅(qū)動(dòng)軟件、系統(tǒng)內(nèi)核、設(shè)備驅(qū)動(dòng)接口、通信協(xié)議、圖形界面等。首先建立交叉編譯環(huán)境。建好交叉編譯環(huán)境之后,大致還要做以下五方面的工作:①引導(dǎo)裝載程序(BootLoader),能實(shí)現(xiàn)系統(tǒng)的快速引導(dǎo),提供瞬間開機(jī)功能。負(fù)責(zé)將Linux內(nèi)核加載到內(nèi)存,并將控制權(quán)交給內(nèi)核初始化程序;②Linux內(nèi)核(Kernel)的移植與裁減,Linux內(nèi)核采用模塊化的組織結(jié)構(gòu),通過增減內(nèi)核模塊的方式來增減系統(tǒng)的功能,正確合理的設(shè)置內(nèi)核的功能模塊,只編譯系統(tǒng)所需功能的代碼,來獲得更高的運(yùn)行速度;③裝載文件系統(tǒng)(File system)嵌入式系統(tǒng)一般不具備硬盤等大容量存儲(chǔ)體,而用Flash為主存儲(chǔ)器,其文件系統(tǒng)也具有特殊性;④開發(fā)圖形用戶界面(GUI);⑤選擇上層應(yīng)用程序(Application)。
其中較為重要的是對(duì)ZigBee無線通信模塊協(xié)議的編寫。根據(jù)硬件條件的需要改寫ZigBee協(xié)議[6],使系統(tǒng)在最簡(jiǎn)潔的程序下發(fā)揮硬件的最大功能。ZigBee是基于802.15.4標(biāo)準(zhǔn)開發(fā)的關(guān)于組網(wǎng)、安全和應(yīng)用軟件方面的技術(shù)標(biāo)準(zhǔn)。ZigBee協(xié)議包括高層應(yīng)用規(guī)范(profile)、匯聚層、網(wǎng)絡(luò)層、數(shù)據(jù)鏈路層和物理層。其中數(shù)據(jù)鏈路層和物理層標(biāo)準(zhǔn)由IEEE 802.15.4負(fù)責(zé)制定,網(wǎng)絡(luò)層以上由ZigBee聯(lián)盟制定。IEEE 802.15.4標(biāo)準(zhǔn)于2003年5月制定完成,它滿足國(guó)際標(biāo)準(zhǔn)化組織(ISO)開放系統(tǒng)互連(OSI)參考模型,主要包括物理層、數(shù)據(jù)鏈路層。IEEE 802.15.4協(xié)議與其他無線網(wǎng)絡(luò)相比,突出的優(yōu)點(diǎn)是:組網(wǎng)能力強(qiáng),適應(yīng)面廣,可靠性高,節(jié)能性好。
相對(duì)于其他常見的無線通信標(biāo)準(zhǔn),ZigBee協(xié)議棧具有緊湊而且簡(jiǎn)單的特點(diǎn),而且對(duì)環(huán)境配置要求不高。如圖4所示:
500)this.style.width=500;" border="0" />
圖4 ZigBee的協(xié)議棧模型
ZigBee節(jié)點(diǎn)加入及脫離網(wǎng)絡(luò)握手協(xié)議的設(shè)計(jì)為:當(dāng)某一個(gè)ZigBee節(jié)點(diǎn)要求加入網(wǎng)絡(luò)時(shí),只要將自己的信道設(shè)置成與集線器中ARM微處理器所使用的信道相同,并提供正確的認(rèn)證信息,即可請(qǐng)求加入網(wǎng)絡(luò)。同理,一個(gè)ZigBee節(jié)點(diǎn)要離開網(wǎng)絡(luò),只須向ARM微處理器提出請(qǐng)求即可。一個(gè)節(jié)點(diǎn)成功地加入或脫離網(wǎng)絡(luò),都必須由ARM微處理器控制。因此,集線器中ARM微處理器可以實(shí)時(shí)掌握網(wǎng)絡(luò)的所有節(jié)點(diǎn)信息。
4.2 應(yīng)用軟件設(shè)計(jì)
應(yīng)用軟件在系統(tǒng)軟件Linux的平臺(tái)上進(jìn)行開發(fā)。應(yīng)用軟件根據(jù)實(shí)際需要進(jìn)行安裝,可以廣泛應(yīng)用于工業(yè)控制、家庭自動(dòng)化、醫(yī)療護(hù)理、智能農(nóng)業(yè)、消費(fèi)類電子和遠(yuǎn)程控制等領(lǐng)域。安裝不同的應(yīng)用程序?qū)崿F(xiàn)對(duì)各種智能電器、偵測(cè)/監(jiān)控設(shè)備的通信和操控。
5 結(jié)束語
本文是利用ARM微處理器和ZigBee模塊組成無線串口集線器,進(jìn)而組成無線網(wǎng)絡(luò)?;赯igBee的串口集線器的應(yīng)用將是大量的。它可以應(yīng)用于家庭網(wǎng)、樓宇自動(dòng)化、車載系統(tǒng)、小型辦公室等,具有布置美觀方便,無須專業(yè)人員維護(hù)等優(yōu)點(diǎn),對(duì)未來社會(huì)信息化進(jìn)程將具有深遠(yuǎn)的意義。Internet的家庭寬帶接入和家庭設(shè)備共享將成為主流,串口集線器在家庭中將發(fā)揮不可替代的作用。另外,基于ZigBee的串口集線器在工農(nóng)業(yè)生產(chǎn)等方面的應(yīng)用前景也是廣闊的,它可以應(yīng)用于工農(nóng)業(yè)生產(chǎn)中的自動(dòng)化、網(wǎng)絡(luò)化和智能化地進(jìn)行遠(yuǎn)程設(shè)備控制。