無線射頻芯片與單片機系統相結合,可以實現早期火災信號的探測和預報警。本文主要介紹基于ZigBee標準的射頻芯片CC2500和以STC89LE516AD單片機為核心的無線火災報警系統的硬件電路及軟件流程設計。該系統通過射頻收發模塊實現數據的傳輸。
關鍵詞 ZigBee CC2500 STC89LE516AD 火災報警系統
現有的火災報警系統,多采用有線技術進行火災傳感器網絡的組建。這類方案的特點是擴展性能差,布線繁瑣,影響美觀。由于采用硬線連接,線路容易老化或遭到腐蝕、鼠咬、磨損,故障發生率較高,誤報警率高。采用無線傳輸方式構建的無線火災傳感器網絡恰好可以避免這些問題。相對而言,無線的方式比較靈活,避免了重新布線的麻煩,網絡的基礎設施不再需要掩埋在地下或隱藏在墻里,無線網絡可以適應移動或變化的需要;但是,無線通信技術在火災監控領域的應用相對還是很少。這主要是因為目前沒有一項無線通信技術適合在火災監控領域進行廣泛的推廣,而且現有一些無線通信產品的價格偏高,導致無線通信技術在火災監控中的應用停滯不前。
隨著近年來人類在微電子機械系統、無線通信、數字電子方面取得的巨大成就,使得發展低成本、低功耗、小體積、短距離通信的多功能傳感器成為可能。ZigBee技術的出現就解決了這些問題。將無線ZigBee傳感器網絡和人工智能結合,可以大大提高火災報警系統的可靠性。正是由于ZigBee技術具有功耗極低、系統簡單、組網方式靈活、成本低、等待時間短等性能,相對于其他無線網絡技術,它更適合于組建大范圍的無線火災探測器網絡。
1? ZigBee技術簡介[1-2]
1.1? ZigBee技術產生背景
為了滿足小型、低成本設備無線聯網的要求,2000年12月成立了IEEE 802.15.4工作組,主要負責制定物理層和MAC層的協議,其余協議主要參照和采用現有的標準;高層應用、測試和市場推廣等方面的工作則由成立于2002年8月的聯盟負責。聯盟由英國Invensys公司、日本三菱電氣公司、美國Motorola公司以及荷蘭Philips公司組成,如今已經吸引了上百家芯片公司、無線設備公司和開發商的加入。
1.2? ZigBee技術概述
ZigBee技術是一種近距離、低復雜度、低功耗、低數據速率、低成本的雙向無線通信技術,主要適合于自動控制和遠程控制領域,可以嵌入到各種設備中,同時支持地理定位功能。
一般而言,隨著通信距離的增大,設備的復雜度、功耗以及系統成本都在增加。相對于現有的各種無線通信技術,ZigBee技術將是功耗和成本最低的技術;但是ZigBee技術的數據速率低和通信范圍較小的特點,又決定了ZigBee技術適合于承載數據流量較小的業務。
ZigBee技術可采用的拓撲模型有星形網絡結構、網狀網絡結構和簇狀樹形結構(Mesh)。前兩者的結構示意圖如圖1所示。
1.3? ZigBee技術優點
ZigBee技術有以下特點:
①? 省電。由于工作周期很短、收發信息功耗較低,并且采用了休眠模式,因此ZigBee技術可以確保2節五號電池支持長達6個月到2年左右的使用時間。不同的應用對應的功耗自然是不同的。
②? 可靠。采用了碰撞避免機制,同時為需要固定帶寬的通信業務預留了專用時隙,避免了發送數據時的競爭和沖突。MAC層采用了完全確認的數據傳輸機制,每個發送的數據包都必須等待接收方的確認信息。
③? 成本低。模塊價格低廉,且ZigBee協議是免專利費的。
④? 時延短。針對時延敏感的應用作了優化,通信時延和從休眠狀態激活的時延都非常短。設備搜索時延典型值為30 ms,休眠激活時延典型值是15 ms,活動設備信道接入時延為15 ms。
⑤? 節點通信設置易于配置。
⑥? 網絡容量大。ZigBee可以采用星形、網狀、串狀結構組網,而且可以通過任一節點連接組成更大的網絡結構。從理論上講,其可連接的節點多達64 000個。1個 ZigBee網絡最多可以容納254個從設備和1個主設備,1個區域內可以同時存在最多100個ZigBee網絡。
⑦? 安全。ZigBee提供了數據完整性檢查和鑒權功能,加密算法采用AES128,同時各個應用可以靈活確定其安全屬性。
⑧? 全球通用性和完好的開放性。ZigBee標準協議,使ZigBee設備間的通信成為輕而易舉的事情。
2? 系統方案設計
系統總體結構框圖如圖2所示。無線傳感器將探測到的火災信號通過ZigBee無線通信方式發送至數據集中器;數據集中器將收集的數據送至火災監控中心,再由火災監控中心對這些數據進行計算處理和統計評估。火災信號判斷的原則不是簡單的非準則,而需要同時考慮其他多種因素。根據預先設定的有關規則,將這些數據轉換為適當的報警動作指標,相應地發出預報警。例如,產生少量煙,但溫度急劇上升——發出報警;產生少量煙,且溫升平緩——發出預報警等。
從網絡節點邏輯功能上,ZigBee設備可以分為終端設備(end device)、路由節點(router)、網絡協調器(PAN coordinator);從設備的功能性上區分,可以分為全功能設備FFD(Full Function Device)和簡約功能設備RFD(Reduced Function Device)。其中,全功能設備可以充當網絡協調器、路由結點或終端設備,而簡約功能設備只能充當終端設備節點。因此,從網絡邏輯結構上分析,ZigBee火災報警系統內的數據集中器是ZigBee網絡中的網絡協調器;數據集中點是路由節點;無線傳感器是終端設備,根據傳感器安置的位置,也可設為路由節點。一個ZigBee網絡最多支持65 535個節點,完全可以滿足需要。
3? 系統硬件設計
系統主要由數據采集端和數據接收端構成。數據采集端由傳感器、MCU和無線收發芯片等組成。MCU與無線收發芯片通過SPI總線連接,二者構成無線傳輸模塊。數據接收端使用相同的無線收發模塊,并利用RS232異步串口與PC機通信。其功能相當于一個接入點,一方面將主機向數據采集端發送的控制信號以無線的方式發射出去,另一方面接收采集數據并上傳給主機。系統硬件結構框圖如圖3所示。
系統工作原理:當傳感器測試到火災信號時,由火災控制中心對這些數據進行計算處理和統計評估。火災信號判斷的原則不是簡單的非準則,而需要同時考慮其他多種因素。根據預先設定的有關規則,將這些數據轉換為適當的報警動作指標,相應地發出預報警。
主控MCU是STC89LE516AD單片機,為51內核增強型8位單片機,與Intel MCS51系列單片機完全兼容。STC89LE516AD有豐富的片上存儲功能,具有64 KB Flash和512字節 RAM。單片機自身固化有ISP程序,通過串口下載程序。
CC2500是一款低成本、低功耗、高性能的無線收發芯片。其工作頻段為2.4 GHz的ISM頻段;具有良好的無線接收靈敏度和強大的抗干擾能力;在休眠模式時僅0.9 μA的流耗,外部中斷或RTC能喚醒系統;在待機模式時少于0.6 μA的流耗,外部中斷能喚醒系統;硬件支持CSMA/CA功能;電壓為1.8~3.6 V;在傳輸模式下,當輸出功率為-12 dBm時,電流消耗為12 mA。CC2500的接收器敏感度為-101 dBm(在10 kbps時);最大輸出功率為0 dBm,數據速率可在1.2 kbps~500 kbps之間變化;帶有2個強大的支持幾組協議的USART,以及1個MAC計時器、1個常規的16位計時器和2個8位計時器。
4? 軟件設計
系統的軟件由數據采集端和數據接收端程序組成,均包括初始化程序、發射程序和接收程序。初始化程序主要是對單片機、射頻芯片、SPI等進行處理;發射程序將建立的數據包通過單片機SPI接口送至射頻發生模塊輸出;接收程序完成數據的接收并進行處理。數據采集端軟件流程如圖4所示,接收端軟件流程如圖5所示。
串口初始化程序如下:
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發送程序:
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;
}
主程序如下:
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);
}
}
結語
經實驗證明,以STC89LE516AD單片機為核心,基于ZigBee技術的火災報警系統,可以準確地進行早期的火災探測,實現火災預報警。相信通過努力,一個功能完善,基于ZigBee技術的無線火災報警系統將得到推廣和應用。
評論
查看更多