基于MCl3192的無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
關(guān)鍵詞 ZigBee技術(shù) 無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn) MCl3192 LPC2138
引 言
無(wú)線傳感器網(wǎng)絡(luò)是計(jì)算機(jī)技術(shù)、通信技術(shù)和傳感器網(wǎng)絡(luò)技術(shù)相結(jié)合的產(chǎn)物,是互聯(lián)網(wǎng)領(lǐng)域研究的熱點(diǎn)之一。應(yīng)用于無(wú)線傳感器網(wǎng)絡(luò)的技術(shù)有許多種(如藍(lán)牙技術(shù)、紅外技術(shù)和超帶寬無(wú)線通信技術(shù)等),推動(dòng)了無(wú)線傳感器網(wǎng)絡(luò)的發(fā)展。但是,在家庭控制、醫(yī)療護(hù)理和工業(yè)監(jiān)測(cè)應(yīng)用中不需要很高的帶寬,需要的只是低延遲、低功耗;而如果使用現(xiàn)有的、過(guò)于復(fù)雜的無(wú)線通信技術(shù),將非常耗電,占用過(guò)多的計(jì)算和通信資源。為滿足上述要求,ZigBee技術(shù)應(yīng)運(yùn)而生。ZigBee技術(shù)是一種具有統(tǒng)一技術(shù)標(biāo)準(zhǔn)的短距離無(wú)線通信技術(shù),把低功耗、低成本作為重要目標(biāo),主要應(yīng)用于低速傳輸,可以作為無(wú)線傳感器網(wǎng)絡(luò)的通信協(xié)議。
傳感器節(jié)點(diǎn)是組成無(wú)線傳感器網(wǎng)絡(luò)的基本單元,是構(gòu)成無(wú)線傳感器網(wǎng)絡(luò)的基礎(chǔ)平臺(tái)。ZigBee網(wǎng)絡(luò)節(jié)點(diǎn)通常是一個(gè)微型嵌入式系統(tǒng),完成數(shù)據(jù)的采集、處理和傳送,是決定網(wǎng)絡(luò)性能的重要因素。本文采用Freescale公司的ZigBee無(wú)線收發(fā)射頻芯片MCl3192和Philips公司的32位ARM芯片LPC2138,完成了無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的設(shè)計(jì),給出了軟、硬件設(shè)計(jì)方案,并且在硬件基礎(chǔ)上進(jìn)行了結(jié)果分析。
1 ZigBee技術(shù)及其優(yōu)勢(shì)
ZigBee協(xié)議標(biāo)準(zhǔn)是由ZigBee聯(lián)盟與IEEE 802.15.4的任務(wù)小組來(lái)共同制定的,其協(xié)議棧主要由5層體系組成,結(jié)構(gòu)如圖1所示。其中,物理層和MAC層標(biāo)準(zhǔn)主要由IEEE 802.15.4的任務(wù)小組完成;網(wǎng)絡(luò)層和安全層由ZigBee聯(lián)盟制定;應(yīng)用層的開(kāi)發(fā)則根據(jù)用戶的應(yīng)用需要對(duì)其進(jìn)行開(kāi)發(fā),用戶提供機(jī)動(dòng)、靈括的組網(wǎng)方式。
ZigBee技術(shù)適合于承載數(shù)據(jù)流量較小的業(yè)務(wù),特別是無(wú)線傳感器網(wǎng)絡(luò),因?yàn)樗哂幸韵聝?yōu)點(diǎn):功耗低。由于其傳輸速率低,發(fā)射功率儀為1mW,所以功耗很低;而且采用了休眠模式,因此ZigBee設(shè)備非常省電。據(jù)估算,ZigBee設(shè)備僅靠?jī)晒?jié)五號(hào)電池就可以維持長(zhǎng)達(dá)6個(gè)月~2年左右的使用時(shí)間。
時(shí)延短。通信時(shí)延和從休眠狀態(tài)激活的時(shí)延都非常短,典型的搜索設(shè)備的時(shí)延為30ms,休眠激活的時(shí)延為15ms,活動(dòng)設(shè)備信道接人的時(shí)延為15ms。因此,ZigBee技術(shù)適用于對(duì)時(shí)延要求苛刻的無(wú)線控制等應(yīng)用。
網(wǎng)絡(luò)容量大。一個(gè)星型結(jié)構(gòu)的ZigBee網(wǎng)絡(luò)最多可以容納254個(gè)從設(shè)備和1個(gè)主設(shè)備,一個(gè)區(qū)域內(nèi)最多可以同時(shí)存在100個(gè)獨(dú)立而且互相重疊覆蓋的ZigBee網(wǎng)絡(luò)。
安全可靠。采取了碰撞避免策略,避開(kāi)了發(fā)送數(shù)據(jù)的競(jìng)爭(zhēng)和沖突;采用完全確認(rèn)的數(shù)據(jù)傳輸模式,每個(gè)發(fā)送的數(shù)據(jù)包都必須等待接收方的確認(rèn)信息;還提供了基于循環(huán)冗余校驗(yàn)的數(shù)據(jù)包完整性檢查功能,支持鑒權(quán)和認(rèn)證。
基于以上特點(diǎn)與優(yōu)勢(shì),ZigBee技術(shù)在無(wú)線傳感器網(wǎng)絡(luò)中的應(yīng)用將有廣闊的發(fā)展空間。
2 MCl3192芯片與LPC2138芯片簡(jiǎn)介
MCl3192是Freescale公司推出的符合ZigBee標(biāo)準(zhǔn)的射頻芯片。其工作頻率是2.405~2.480GHz,該頻帶劃分為16個(gè)信道,每個(gè)信道占用5MHz的帶寬;采用直接序列擴(kuò)頻的通信技術(shù),數(shù)據(jù)傳輸速率為250kbpes。MCl3192具有一個(gè)優(yōu)化的數(shù)字核心,有助于降低MCU處理功率,縮短執(zhí)行周期。為了適應(yīng)低功耗的要求,芯片除了接收、發(fā)送和空閑3種工作狀態(tài)外,還有3種低功耗運(yùn)行模式:①掉電模式,這種模式下芯片電流小于1μA;②睡眠模式,這種模式下電流在3μA左右;③休眠模式,這種模式下下電流約為35μA。芯片采用可編程功率輸出模式,發(fā)送功率為O~4 dBm,接收靈敏度可以達(dá)到 92dBm,傳輸距離30~70m。
LPC2138芯片是Philips公司推出的一個(gè)支持實(shí)時(shí)仿真和嵌入式跟蹤的32位ARM7微控制器。它具有豐富的片上存儲(chǔ)功能,帶有512KB嵌入的高速Flash存儲(chǔ)器和32 KB片內(nèi)靜態(tài)RAM;還帶有多個(gè)串行接口,2個(gè)8路lO位A/D轉(zhuǎn)換器,1個(gè)D/A轉(zhuǎn)換器和47個(gè)GPIO,以及多達(dá)9個(gè)邊沿或電平觸發(fā)的外部中斷。LPC2138有兩種低功耗模式:空閑模式和掉電模式。較小的封裝和極低的功耗使其町以理想地與MCl3192結(jié)合,作為基于ZigBee技術(shù)的無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)。
3 無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)設(shè)計(jì)
傳感器節(jié)點(diǎn)一般由數(shù)據(jù)采集單元、數(shù)據(jù)處理單元、數(shù)據(jù)傳輸單元和電源管理單元等功能模塊組成,如圖2所示。數(shù)據(jù)采集單元負(fù)責(zé)采集監(jiān)視區(qū)域的信息并完成數(shù)據(jù)轉(zhuǎn)換,采集的信息包含溫度、濕度、光強(qiáng)度、加速度和大氣壓力等;數(shù)據(jù)處理單元負(fù)責(zé)控制整個(gè)節(jié)點(diǎn)的處理操作、路由協(xié)議、同步定位、功耗管理以及任務(wù)管理等;數(shù)據(jù)傳輸單元負(fù)責(zé)與其他節(jié)點(diǎn)進(jìn)行無(wú)線通信,交換控制消息和收發(fā)采集數(shù)據(jù);電源管理單元選通所用到的傳感器。
3.1 節(jié)點(diǎn)硬件設(shè)計(jì)
圖3是節(jié)點(diǎn)的硬件原理圖。電路外圍元器件較少,主要包括6個(gè)模塊:LPC2138 MCU模塊、MCl3192無(wú)線射頻模塊、電源模塊、UART串口模塊、JTAG接口模塊和數(shù)據(jù)采集I/O模塊。LPC2138和MCl3192通過(guò)SPI總線連接。LPC2138的SPI接口工作在主機(jī)模式,是數(shù)據(jù)傳輸?shù)目刂品?;MCl3192設(shè)為從機(jī)模式。LPC2138通過(guò)4線SPI接口對(duì)MC13192的內(nèi)部寄存器進(jìn)行讀寫(xiě)操作,從而完成對(duì)MCl3192的控制以及數(shù)據(jù)通信。由傳感器輸出的模擬信號(hào)經(jīng)過(guò)10位A/D變換后輸入到LPC2138中,LPC2138將傳感器采集的信號(hào)經(jīng)過(guò)處理后通過(guò)MC13192發(fā)射出去。對(duì)傳感器的控制信號(hào)可以從MC13192的天線接收進(jìn)來(lái),通過(guò)SPI傳送到LPC2138上,經(jīng)過(guò)其判斷處理后通過(guò)GPIO口傳送到傳感器上,以實(shí)現(xiàn)對(duì)傳感器的控制。MCl3192芯片指定的晶振頻率為16 MHz,考慮到晶振對(duì)通信質(zhì)量的影響,在制作PCB板時(shí)應(yīng)將晶振的位置盡可能地靠近MCl3192芯片的XTAL1和XTAL2引腳。電源電路采用兩種方式:一種是3.6V干電池;另一種是鈕扣電池,可以根據(jù)需要選用。
3.2 節(jié)點(diǎn)軟件設(shè)計(jì)
按照硬件電路設(shè)計(jì)思路,軟件采用模塊化結(jié)構(gòu)程序設(shè)計(jì)方式。軟件模塊包括:數(shù)據(jù)發(fā)送模塊、數(shù)據(jù)接收模塊、UART串口模塊、LPC2138與MCl3192連接的SPI模塊、中斷服務(wù)模塊。系統(tǒng)軟件編程的基本思路:先對(duì)SPI端口、MC13192控制端口和LPC2138控制端口進(jìn)行初始化;使能SPI端口、UART端口和A/D;初始化MCl3192芯片;開(kāi)啟接收機(jī)后,即可運(yùn)行任務(wù)程序,實(shí)現(xiàn)接收或發(fā)送數(shù)據(jù)。這里簡(jiǎn)要給出LPC2138與MCl3192之間的SPI通信程序。發(fā)送和接收程序流程如圖4和圖5所示。
3.3 實(shí)驗(yàn)結(jié)果
圖6為硬件節(jié)點(diǎn)實(shí)物圖。該電路板經(jīng)過(guò)仿真調(diào)試應(yīng)用良好,可以實(shí)現(xiàn)多個(gè)節(jié)點(diǎn)間的通信;在實(shí)驗(yàn)電路板上設(shè)置了一個(gè)LED,可以通過(guò)燈的閃爍來(lái)指示信息接收的質(zhì)量以及接收的成?。荒軌蚶么薪涌谂c計(jì)算機(jī)進(jìn)行通信,并且可以通過(guò)JTAG接口電路進(jìn)行程序的固化。初步的實(shí)驗(yàn)表明:通信距離基本達(dá)到預(yù)期目標(biāo),在空曠地帶以最大功率傳輸,可以以較小誤碼率傳輸60多米。采用l節(jié)電壓為3.6 V、容量為2l00mAh的干電池供電時(shí),節(jié)點(diǎn)連續(xù)工作的時(shí)間為3~4天。如果使得該節(jié)點(diǎn)始終工作在超低功耗的工作狀態(tài),則其工作時(shí)間可以超過(guò)1年,能夠滿足特定應(yīng)用場(chǎng)合對(duì)電池壽命的要求。
結(jié)語(yǔ)
經(jīng)實(shí)驗(yàn)證明,以MC13192和LPC2138為核心構(gòu)造的無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn),在功耗、傳輸距離以及無(wú)線傳輸速率等性能上都能滿足應(yīng)用要求。在此方案基礎(chǔ)之上,通過(guò)移植ZigBee協(xié)議棧,可以構(gòu)建ZigBee網(wǎng)絡(luò)的網(wǎng)絡(luò)層、應(yīng)用層及安全層,再配以滿足特定要求的傳感器便可實(shí)現(xiàn)具體的應(yīng)用網(wǎng)絡(luò)。