基于ZigBee技術(shù)的火災(zāi)報警系統(tǒng)設(shè)計
摘要 無線射頻芯片與單片機系統(tǒng)相結(jié)合,可以實現(xiàn)早期火災(zāi)信號的探測和預(yù)報警。本文主要介紹基于ZigBee標(biāo)準的射頻芯片CC2500和以STC89LE516AD單片機為核心的無線火災(zāi)報警系統(tǒng)的硬件電路及軟件流程設(shè)計。該系統(tǒng)通過射頻收發(fā)模塊實現(xiàn)數(shù)據(jù)的傳輸。
關(guān)鍵詞 ZigBee CC2500 STC89LE516AD 火災(zāi)報警系統(tǒng)
現(xiàn)有的火災(zāi)報警系統(tǒng),多采用有線技術(shù)進行火災(zāi)傳感器網(wǎng)絡(luò)的組建。這類方案的特點是擴展性能差,布線繁瑣,影響美觀。由于采用硬線連接,線路容易老化或遭到腐蝕、鼠咬、磨損,故障發(fā)生率較高,誤報警率高。采用無線傳輸方式構(gòu)建的無線火災(zāi)傳感器網(wǎng)絡(luò)恰好可以避免這些問題。相對而言,無線的方式比較靈活,避免了重新布線的麻煩,網(wǎng)絡(luò)的基礎(chǔ)設(shè)施不再需要掩埋在地下或隱藏在墻里,無線網(wǎng)絡(luò)可以適應(yīng)移動或變化的需要;但是,無線通信技術(shù)在火災(zāi)監(jiān)控領(lǐng)域的應(yīng)用相對還是很少。這主要是因為目前沒有一項無線通信技術(shù)適合在火災(zāi)監(jiān)控領(lǐng)域進行廣泛的推廣,而且現(xiàn)有一些無線通信產(chǎn)品的價格偏高,導(dǎo)致無線通信技術(shù)在火災(zāi)監(jiān)控中的應(yīng)用停滯不前。
隨著近年來人類在微電子機械系統(tǒng)、無線通信、數(shù)字電子方面取得的巨大成就,使得發(fā)展低成本、低功耗、小體積、短距離通信的多功能傳感器成為可能。ZigBee技術(shù)的出現(xiàn)就解決了這些問題。將無線ZigBee傳感器網(wǎng)絡(luò)和人工智能結(jié)合,可以大大提高火災(zāi)報警系統(tǒng)的可靠性。正是由于ZigBee技術(shù)具有功耗極低、系統(tǒng)簡單、組網(wǎng)方式靈活、成本低、等待時間短等性能,相對于其他無線網(wǎng)絡(luò)技術(shù),它更適合于組建大范圍的無線火災(zāi)探測器網(wǎng)絡(luò)。
1 ZigBee技術(shù)簡介[1-2]
1.1 ZigBee技術(shù)產(chǎn)生背景
為了滿足小型、低成本設(shè)備無線聯(lián)網(wǎng)的要求,2000年12月成立了IEEE 802.15.4工作組,主要負責(zé)制定物理層和MAC層的協(xié)議,其余協(xié)議主要參照和采用現(xiàn)有的標(biāo)準;高層應(yīng)用、測試和市場推廣等方面的工作則由成立于2002年8月的聯(lián)盟負責(zé)。聯(lián)盟由英國Invensys公司、日本三菱電氣公司、美國Motorola公司以及荷蘭Philips公司組成,如今已經(jīng)吸引了上百家芯片公司、無線設(shè)備公司和開發(fā)商的加入。
1.2 ZigBee技術(shù)概述
ZigBee技術(shù)是一種近距離、低復(fù)雜度、低功耗、低數(shù)據(jù)速率、低成本的雙向無線通信技術(shù),主要適合于自動控制和遠程控制領(lǐng)域,可以嵌入到各種設(shè)備中,同時支持地理定位功能。
一般而言,隨著通信距離的增大,設(shè)備的復(fù)雜度、功耗以及系統(tǒng)成本都在增加。相對于現(xiàn)有的各種無線通信技術(shù),ZigBee技術(shù)將是功耗和成本最低的技術(shù);但是ZigBee技術(shù)的數(shù)據(jù)速率低和通信范圍較小的特點,又決定了ZigBee技術(shù)適合于承載數(shù)據(jù)流量較小的業(yè)務(wù)。
ZigBee技術(shù)可采用的拓撲模型有星形網(wǎng)絡(luò)結(jié)構(gòu)、網(wǎng)狀網(wǎng)絡(luò)結(jié)構(gòu)和簇狀樹形結(jié)構(gòu)(Mesh)。前兩者的結(jié)構(gòu)示意圖如圖1所示。
圖1 ZigBee網(wǎng)絡(luò)拓撲結(jié)構(gòu)
1.3 ZigBee技術(shù)優(yōu)點
ZigBee技術(shù)有以下特點:
① 省電。由于工作周期很短、收發(fā)信息功耗較低,并且采用了休眠模式,因此ZigBee技術(shù)可以確保2節(jié)五號電池支持長達6個月到2年左右的使用時間。不同的應(yīng)用對應(yīng)的功耗自然是不同的。
② 可靠。采用了碰撞避免機制,同時為需要固定帶寬的通信業(yè)務(wù)預(yù)留了專用時隙,避免了發(fā)送數(shù)據(jù)時的競爭和沖突。MAC層采用了完全確認的數(shù)據(jù)傳輸機制,每個發(fā)送的數(shù)據(jù)包都必須等待接收方的確認信息。
③ 成本低。模塊價格低廉,且ZigBee協(xié)議是免專利費的。
④ 時延短。針對時延敏感的應(yīng)用作了優(yōu)化,通信時延和從休眠狀態(tài)激活的時延都非常短。設(shè)備搜索時延典型值為30 ms,休眠激活時延典型值是15 ms,活動設(shè)備信道接入時延為15 ms。
⑤ 節(jié)點通信設(shè)置易于配置。
⑥ 網(wǎng)絡(luò)容量大。ZigBee可以采用星形、網(wǎng)狀、串狀結(jié)構(gòu)組網(wǎng),而且可以通過任一節(jié)點連接組成更大的網(wǎng)絡(luò)結(jié)構(gòu)。從理論上講,其可連接的節(jié)點多達64 000個。1個 ZigBee網(wǎng)絡(luò)最多可以容納254個從設(shè)備和1個主設(shè)備,1個區(qū)域內(nèi)可以同時存在最多100個ZigBee網(wǎng)絡(luò)。
⑦ 安全。ZigBee提供了數(shù)據(jù)完整性檢查和鑒權(quán)功能,加密算法采用AES128,同時各個應(yīng)用可以靈活確定其安全屬性。
⑧ 全球通用性和完好的開放性。ZigBee標(biāo)準協(xié)議,使ZigBee設(shè)備間的通信成為輕而易舉的事情。
2 系統(tǒng)方案設(shè)計
系統(tǒng)總體結(jié)構(gòu)框圖如圖2所示。無線傳感器將探測到的火災(zāi)信號通過ZigBee無線通信方式發(fā)送至數(shù)據(jù)集中器;數(shù)據(jù)集中器將收集的數(shù)據(jù)送至火災(zāi)監(jiān)控中心,再由火災(zāi)監(jiān)控中心對這些數(shù)據(jù)進行計算處理和統(tǒng)計評估?;馂?zāi)信號判斷的原則不是簡單的非準則,而需要同時考慮其他多種因素。根據(jù)預(yù)先設(shè)定的有關(guān)規(guī)則,將這些數(shù)據(jù)轉(zhuǎn)換為適當(dāng)?shù)膱缶瘎幼髦笜?biāo),相應(yīng)地發(fā)出預(yù)報警。例如,產(chǎn)生少量煙,但溫度急劇上升——發(fā)出報警;產(chǎn)生少量煙,且溫升平緩——發(fā)出預(yù)報警等。
圖2 系統(tǒng)總體結(jié)構(gòu)框圖
從網(wǎng)絡(luò)節(jié)點邏輯功能上,ZigBee設(shè)備可以分為終端設(shè)備(end device)、路由節(jié)點(router)、網(wǎng)絡(luò)協(xié)調(diào)器(PAN coordinator);從設(shè)備的功能性上區(qū)分,可以分為全功能設(shè)備FFD(Full Function Device)和簡約功能設(shè)備RFD(Reduced Function Device)。其中,全功能設(shè)備可以充當(dāng)網(wǎng)絡(luò)協(xié)調(diào)器、路由結(jié)點或終端設(shè)備,而簡約功能設(shè)備只能充當(dāng)終端設(shè)備節(jié)點。因此,從網(wǎng)絡(luò)邏輯結(jié)構(gòu)上分析,ZigBee火災(zāi)報警系統(tǒng)內(nèi)的數(shù)據(jù)集中器是ZigBee網(wǎng)絡(luò)中的網(wǎng)絡(luò)協(xié)調(diào)器;數(shù)據(jù)集中點是路由節(jié)點;無線傳感器是終端設(shè)備,根據(jù)傳感器安置的位置,也可設(shè)為路由節(jié)點。一個ZigBee網(wǎng)絡(luò)最多支持65 535個節(jié)點,完全可以滿足需要。
3 系統(tǒng)硬件設(shè)計
系統(tǒng)主要由數(shù)據(jù)采集端和數(shù)據(jù)接收端構(gòu)成。數(shù)據(jù)采集端由傳感器、MCU和無線收發(fā)芯片等組成。MCU與無線收發(fā)芯片通過SPI總線連接,二者構(gòu)成無線傳輸模塊。數(shù)據(jù)接收端使用相同的無線收發(fā)模塊,并利用RS232異步串口與PC機通信。其功能相當(dāng)于一個接入點,一方面將主機向數(shù)據(jù)采集端發(fā)送的控制信號以無線的方式發(fā)射出去,另一方面接收采集數(shù)據(jù)并上傳給主機。系統(tǒng)硬件結(jié)構(gòu)框圖如圖3所示。
圖3 系統(tǒng)硬件結(jié)構(gòu)框圖
系統(tǒng)工作原理:當(dāng)傳感器測試到火災(zāi)信號時,由火災(zāi)控制中心對這些數(shù)據(jù)進行計算處理和統(tǒng)計評估。火災(zāi)信號判斷的原則不是簡單的非準則,而需要同時考慮其他多種因素。根據(jù)預(yù)先設(shè)定的有關(guān)規(guī)則,將這些數(shù)據(jù)轉(zhuǎn)換為適當(dāng)?shù)膱缶瘎幼髦笜?biāo),相應(yīng)地發(fā)出預(yù)報警。
主控MCU是STC89LE516AD單片機,為51內(nèi)核增強型8位單片機,與Intel MCS51系列單片機完全兼容。STC89LE516AD有豐富的片上存儲功能,具有64 KB Flash和512字節(jié) RAM。單片機自身固化有ISP程序,通過串口下載程序。
CC2500是一款低成本、低功耗、高性能的無線收發(fā)芯片。其工作頻段為2.4 GHz的ISM頻段;具有良好的無線接收靈敏度和強大的抗干擾能力;在休眠模式時僅0.9 μA的流耗,外部中斷或RTC能喚醒系統(tǒng);在待機模式時少于0.6 μA的流耗,外部中斷能喚醒系統(tǒng);硬件支持CSMA/CA功能;電壓為1.8~3.6 V;在傳輸模式下,當(dāng)輸出功率為-12 dBm時,電流消耗為12 mA。CC2500的接收器敏感度為-101 dBm(在10 kbps時);最大輸出功率為0 dBm,數(shù)據(jù)速率可在1.2 kbps~500 kbps之間變化;帶有2個強大的支持幾組協(xié)議的USART,以及1個MAC計時器、1個常規(guī)的16位計時器和2個8位計時器。
4 軟件設(shè)計
系統(tǒng)的軟件由數(shù)據(jù)采集端和數(shù)據(jù)接收端程序組成,均包括初始化程序、發(fā)射程序和接收程序。初始化程序主要是對單片機、射頻芯片、SPI等進行處理;發(fā)射程序?qū)⒔⒌臄?shù)據(jù)包通過單片機SPI接口送至射頻發(fā)生模塊輸出;接收程序完成數(shù)據(jù)的接收并進行處理。數(shù)據(jù)采集端軟件流程如圖4所示,接收端軟件流程如圖5所示。
圖4 數(shù)據(jù)采集端軟件流程
串口初始化程序如下:
void UartInit(void) {
SCON=0x50;//串口方式1,允許接收
TMOD=0x21;//定時器1工作方式2,定時器0工作方式1
TH1=TIMER1;
TL1=TIMER1;
TR1=1;//啟動定時器1
}
SPI初始化程序如下:
CpuInit(void) {
UartInit();
//TimerInit();
SpiInit();
delay(5000);
}
SPI發(fā)送程序:
INT8U SpiTxRxByte(INT8U dat) {
INT8U i,temp;
temp=0;
SCK=0;
for(i=0; i<8; i++) {
if(dat & 0x80)MOSI=1;
else MOSI=0;
dat<<=1;
SCK=1;
_nop_();
_nop_();
temp<<=1;
if(MISO)temp++;
SCK=0;
_nop_();
_nop_();
}
return temp;
}
中斷程序如下:
void Timer0ISR(void) interrupt 1 {
EA=0;
TH0+=TIMER0H;
TL0+=TIMER0L;
TimerCount++;
timer[0]++;
timer[1]++;
EA=1;
}
圖5 數(shù)據(jù)接收端軟件流程
主程序如下:
main(void) {
INT8U arrTx[4];
CpuInit();
POWER_UP_RESET_CC2500();
halRfWriteRfSettings();
halSpiWriteBurstReg(CCxxx0_PATABLE, PaTabel, 8);
LED1=0;
LED2=0;
delay(30000);
LED1=1;
LED2=1;
delay(30000);
arrTx[0]=0xBB;
arrTx[1]=0xAA;
arrTx[2]=0x55;
arrTx[3]=0x09;
while(1) {
halRfSendPacket(arrTx,4);
LED2=0;
delay(10000);
LED2=1;
delay(10000);
}
}
結(jié)語
經(jīng)實驗證明,以STC89LE516AD單片機為核心,基于ZigBee技術(shù)的火災(zāi)報警系統(tǒng),可以準確地進行早期的火災(zāi)探測,實現(xiàn)火災(zāi)預(yù)報警。相信通過努力,一個功能完善,基于ZigBee技術(shù)的無線火災(zāi)報警系統(tǒng)將得到推廣和應(yīng)用。
參考文獻
[1] 趙景宏,李英凡,許純信. ZigBee技術(shù)簡介[J].電力系統(tǒng)通信,2006,27(165).
[2] 陳景運,周祥平.ZigBee技術(shù)在工業(yè)控制領(lǐng)域的應(yīng)用[J].專題技術(shù)與工程應(yīng)用,2006,6(36).
[3] 王凱,彭瑜,鄭麗國,等. 基于ZigBee無線水表自動抄表系統(tǒng)的研究與設(shè)計[J].自動化儀表,2006(5).
[4] 周游,方濱,王普.基于ZigBee技術(shù)的智能家居無線網(wǎng)絡(luò)系統(tǒng)[J].電子技術(shù)應(yīng)用,2005(5).
[5] 杜麗敏,郭文成.ZigBee技術(shù)在遠程抄表系統(tǒng)中的應(yīng)用[J].單片機與嵌入式系統(tǒng)應(yīng)用,2006(7).
評論