于洪濤等
摘 要: 設(shè)計(jì)了一種基于無(wú)線透?jìng)鱾鞲芯W(wǎng)絡(luò)的分布式環(huán)境監(jiān)測(cè)系統(tǒng)。設(shè)計(jì)采用1100E射頻芯片作為無(wú)線收發(fā)芯片,通過在ATmega128L微處理器中編寫透?jìng)魉惴ǔ绦?,?shí)現(xiàn)對(duì)各環(huán)境參數(shù)的數(shù)據(jù)透?jìng)?,使用RS 232C串口與PC機(jī)進(jìn)行通信,實(shí)現(xiàn)了對(duì)目標(biāo)監(jiān)測(cè)區(qū)域各環(huán)境參數(shù)的實(shí)時(shí)采集。給出實(shí)驗(yàn)測(cè)試采集到的多組數(shù)據(jù),通過對(duì)實(shí)驗(yàn)數(shù)據(jù)的分析,說(shuō)明該設(shè)計(jì)可以在400 m內(nèi)同時(shí)實(shí)現(xiàn)對(duì)254個(gè)無(wú)線節(jié)點(diǎn)的實(shí)時(shí)監(jiān)測(cè),測(cè)量誤差約為±0.1%~±3%。
關(guān)鍵詞: 無(wú)線透?jìng)鳎?透?jìng)魉惴ǎ?環(huán)境監(jiān)測(cè); ATmega128L
中圖分類號(hào): TN911?34; TP274.2 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2015)18?0128?05
Abstract: A distributed environment monitoring system based on wireless transparent transmission sensor networks was designed. A 1100E RF chip is taken in this design as a wireless transceiving chip. The data transparent transmission of the parameters in various environments is realized by writing transparent transmission algorithm routine in ATmega128L microprocessor. Real?time acquisition of parameters in target mornitoring region and various environments was implemented by using RS?232C serial port and PC to communicate. Multi?group data acquired by experiment test are presented. The analysis of the experimental data illustrates that this system can achieve real?time monitoring of 254 wireless nodes simultaneously within 400 meters, and the measurement error is about ±0.1% ~±3%.
Keywords: wireless transparent transmission; transparent transmission algorithm; environment monitoring ; ATmega128L
0 引 言
環(huán)境信息影響著人們對(duì)環(huán)境質(zhì)量的判定,對(duì)人們的生活產(chǎn)生了不小的影響[1]。隨著射頻無(wú)線通信技術(shù)的廣泛應(yīng)用,現(xiàn)已實(shí)現(xiàn)對(duì)環(huán)境參數(shù)的多點(diǎn)遠(yuǎn)距離智能化實(shí)時(shí)采集[2]。在農(nóng)業(yè)生產(chǎn)中,通過ZigBee技術(shù)能夠?qū)崟r(shí)監(jiān)測(cè)溫室中的溫濕度信息,有效地提高了農(nóng)業(yè)生產(chǎn)的經(jīng)濟(jì)價(jià)值[3]。在工業(yè)生產(chǎn)中,通過GPRS技術(shù)實(shí)現(xiàn)了對(duì)礦井內(nèi)瓦斯等易燃易爆危險(xiǎn)氣體的實(shí)時(shí)監(jiān)測(cè),極大地保證了工業(yè)生產(chǎn)制造過程中的安全[4]。這些無(wú)線環(huán)境監(jiān)測(cè)技術(shù)克服了傳統(tǒng)的環(huán)境監(jiān)測(cè)方式網(wǎng)絡(luò)部署難,維護(hù)成本高,節(jié)點(diǎn)智能化程度低等缺點(diǎn),極大地提高了數(shù)據(jù)的傳輸效率。但是,在實(shí)際應(yīng)用時(shí),ZigBee技術(shù)的穿透性較差,數(shù)據(jù)傳輸距離較近,其他主流無(wú)線傳感網(wǎng)絡(luò)(WiFi,藍(lán)牙,nRF等)對(duì)其同頻干擾較大,數(shù)據(jù)傳輸時(shí)誤碼率較高[5]。GPRS在進(jìn)行數(shù)據(jù)傳輸時(shí)需要消耗大量流量,終端芯片資源配置較大[6]。
本文設(shè)計(jì)了一種無(wú)線透?jìng)鱾鞲芯W(wǎng)絡(luò)應(yīng)用于分布式環(huán)境監(jiān)測(cè)系統(tǒng),在進(jìn)行組網(wǎng)時(shí)無(wú)需考慮射頻無(wú)線芯片的收發(fā)協(xié)議和配置方法,可以透過無(wú)線芯片直接將其當(dāng)作普通的有線模塊使用,降低了終端芯片的資源利用率,通過鉗位電路和電平轉(zhuǎn)換實(shí)現(xiàn)了RS 232通信的兼容轉(zhuǎn)換。本文設(shè)計(jì)的無(wú)線、透?jìng)鱾鞲芯W(wǎng)絡(luò)大大降低了射頻無(wú)線通信網(wǎng)絡(luò)的硬件和設(shè)計(jì)研發(fā)成本,保證了通信的距離和準(zhǔn)確性。設(shè)計(jì)可以實(shí)現(xiàn)對(duì)400 m范圍內(nèi)有建筑物遮擋的環(huán)境狀況下進(jìn)行實(shí)時(shí)監(jiān)測(cè)。
1 系統(tǒng)總體設(shè)計(jì)
該無(wú)線透?jìng)鳝h(huán)境監(jiān)測(cè)傳感網(wǎng)絡(luò)主要包括終端監(jiān)測(cè)部分,無(wú)線透?jìng)骶W(wǎng)絡(luò),PC監(jiān)測(cè)端。
(1) 終端監(jiān)測(cè)部分。微處理器ATmega128L將各傳感器采集來(lái)的環(huán)境參數(shù)的模擬信號(hào)經(jīng)過A/D轉(zhuǎn)換,轉(zhuǎn)化為數(shù)字信號(hào),并在LCD液晶屏上實(shí)時(shí)顯示各環(huán)境參數(shù),并與報(bào)警閾值比較。
(2) 無(wú)線透?jìng)骶W(wǎng)絡(luò)。設(shè)計(jì)透?jìng)魉惴?,使用ATmega128L將暫存在存儲(chǔ)器中的傳感器數(shù)據(jù)轉(zhuǎn)化為符合RS 232有線通信協(xié)議的數(shù)據(jù),進(jìn)一步轉(zhuǎn)換為無(wú)線協(xié)議的數(shù)據(jù)發(fā)送到遠(yuǎn)端,并與PC監(jiān)測(cè)端的無(wú)線透?jìng)骶W(wǎng)絡(luò)相連接,使無(wú)線通信等效為有線通信。該透?jìng)鞯刃D如圖1所示。
(3) PC監(jiān)測(cè)端部分。PC機(jī)將各個(gè)透?jìng)鳠o(wú)線節(jié)點(diǎn)實(shí)時(shí)采集來(lái)的環(huán)境參數(shù)進(jìn)行存儲(chǔ)和處理,并將各時(shí)刻的參數(shù)以圖像的形式顯示出來(lái),并且用戶可以根據(jù)實(shí)際監(jiān)測(cè)的需要,通過PC機(jī)對(duì)系統(tǒng)報(bào)警閾值進(jìn)行修改。
2 系統(tǒng)硬件設(shè)計(jì)
2.1 終端監(jiān)測(cè)端硬件設(shè)計(jì)
該系統(tǒng)的微處理器均采用ATmega128L單片機(jī)[7]。它采用獨(dú)特的RISC結(jié)構(gòu),豐富的內(nèi)部資源可以更好地運(yùn)行相對(duì)復(fù)雜的透?jìng)魉惴āT谥噶顖?zhí)行方面,微控制單元采用Harvard結(jié)構(gòu),指令大多為單周期,透?jìng)魉惴ㄔ诠ぷ鲿r(shí),可以嚴(yán)格的控制時(shí)序,保證通信的準(zhǔn)確性。在能源管理方面,ATmega128L提供多種電源管理方式,以盡量節(jié)省節(jié)點(diǎn)能量,保證了各節(jié)點(diǎn)長(zhǎng)時(shí)間持續(xù)工作。在可擴(kuò)展方面,提供了多個(gè)I/O口,有助于終端機(jī)各傳感器模塊的選擇和
擴(kuò)展,防止了各傳感器信號(hào)及數(shù)據(jù)相互干擾。ATmega128L提供的USART(通用同步異步收發(fā)器)控制器、SPI(串行外設(shè)接口)控制器等與無(wú)線收發(fā)模塊相結(jié)合,能夠?qū)崿F(xiàn)大吞吐量,高速率的數(shù)據(jù)收發(fā)。
如圖2所示,環(huán)境監(jiān)測(cè)終端機(jī)工作時(shí),電化學(xué)甲醛傳感器、溫度傳感器、濕度傳感器、光照傳感器發(fā)出的微弱信號(hào)經(jīng)過放大電路后被放大,然后對(duì)其進(jìn)行A/D轉(zhuǎn)換等一系列的加工后再由ATmega128L對(duì)其進(jìn)行處理,如果甲醛等環(huán)境參數(shù)濃度值高于環(huán)境參數(shù)濃度的國(guó)標(biāo),那么蜂鳴器就會(huì)發(fā)出警報(bào),同時(shí)各環(huán)境參數(shù)濃度值會(huì)被輸送到LCD上顯示出來(lái)。如果在國(guó)標(biāo)的允許范圍內(nèi),那么只顯示濃度值而不發(fā)出警報(bào)。此外,ATmega128L將各環(huán)境參數(shù)經(jīng)射頻芯片CC1100E傳送到透?jìng)骶W(wǎng)絡(luò)。
2.2 透?jìng)髯越M模塊硬件設(shè)計(jì)
CC1100E芯片在進(jìn)行數(shù)據(jù)傳輸時(shí)采用UART0通信協(xié)議,ATmega128L可以嚴(yán)格按照時(shí)序讀寫用以控制芯片內(nèi)部的32個(gè)寄存器,靈活配置各參數(shù),如圖3所示。
CC1100E接口RF_CLK,RF_CS,RF_SOMI,RF_SIMO分別和ATmega128L的串行外設(shè)接口端PB2,PB1,PD2,PD3相連接。RF_CLK端口為PB2端口傳輸數(shù)據(jù)的時(shí)鐘信號(hào);RF_CS作為片選信號(hào),僅當(dāng)片選信號(hào)為低電平時(shí),ATmega128L對(duì)CC1100E的操作才有效。
RF_SOMI用于從ATmega128L到CC1100E的串行數(shù)據(jù)傳輸。為了降低整數(shù)據(jù)透?jìng)鞯墓?,CC1100E在數(shù)據(jù)接收或收發(fā)狀態(tài)聲明時(shí),系統(tǒng)設(shè)計(jì)采用中斷方式。
RF_GDO0,RF_GDO2必須與微處理器的外部中斷相連,以便使用CC1100E喚醒微處理器,設(shè)計(jì)時(shí)將RF_GDO0,RF_GDO2分別與具有中斷能力的PD6,PD7相連接。CC1100E在高頻工作狀態(tài)下,發(fā)射前段和天線饋點(diǎn)需要巴倫電路和匹配網(wǎng)絡(luò)。
3 系統(tǒng)軟件設(shè)計(jì)
3.1 透?jìng)骶W(wǎng)絡(luò)控制算法設(shè)計(jì)
微處理器ATmega128L通過射頻無(wú)線收發(fā)芯片CC1100E,把暫存的各參數(shù)數(shù)據(jù)發(fā)送到遠(yuǎn)程接收端,如圖4所示。首先微處理器ATmega128L通過透?jìng)魉惴刂粕漕l發(fā)射芯片CC1100E發(fā)送信號(hào)校檢標(biāo)志碼。這個(gè)過程的目的是給遠(yuǎn)程端射頻無(wú)線收發(fā)芯片發(fā)送符合該透?jìng)髯越M傳感網(wǎng)絡(luò)的通信匹配標(biāo)志,以判斷是否為本通信所需的無(wú)線數(shù)據(jù)包。
ATmega128L通過CC1100E連續(xù)發(fā)送校檢標(biāo)志碼0X55和0XAA共2個(gè)字節(jié),供遠(yuǎn)端芯片查詢確認(rèn)。其次,ATmega128L通過CC1100E發(fā)送校檢結(jié)束標(biāo)志碼0X88和0XFE,表示校檢標(biāo)志發(fā)送結(jié)束。然后,發(fā)送數(shù)據(jù)包長(zhǎng)度信息Length,告訴接收端芯片本次數(shù)據(jù)包發(fā)送的長(zhǎng)度。最后,ATmega128L從發(fā)送端的緩存中發(fā)送長(zhǎng)度為L(zhǎng)ength的數(shù)據(jù)包。
微處理器ATmega128L通過射頻無(wú)線收發(fā)芯片CC1100E,把遠(yuǎn)程端發(fā)送來(lái)的數(shù)據(jù)接收到本地芯片緩存。如圖5所示。當(dāng)ATmega128L通過CC1100E收到上升沿校驗(yàn)標(biāo)準(zhǔn)碼時(shí),說(shuō)明有數(shù)據(jù)傳來(lái),立即喚醒轉(zhuǎn)入接收模式。
接收模式時(shí),如果接收到的0X55和0XAA字節(jié)數(shù)小于6,則說(shuō)明此時(shí)通信與該自組傳感網(wǎng)絡(luò)不匹配,本次通信結(jié)束,進(jìn)入待機(jī)睡眠狀態(tài);如果連續(xù)接收到0X55和0XAA,并且接收到的字節(jié)數(shù)大于等于6,則說(shuō)明通信與該自組傳感網(wǎng)絡(luò)匹配,隨后的信號(hào)將是本地芯片所需要的無(wú)線信號(hào)。如果接收到0X88和0XFE,則表明校檢標(biāo)志接收完畢,等待下面的信號(hào),如果一直沒有接收到校驗(yàn)標(biāo)志碼0X88和0XFE,則表明本次通信失敗,通信結(jié)束。當(dāng)接收到0X88和0XFE之后緊接著接收到的為數(shù)據(jù)包長(zhǎng)度信息Length,由此判定數(shù)據(jù)包的長(zhǎng)度。最后一步,接收緊接著的長(zhǎng)度為L(zhǎng)ength的數(shù)據(jù)包,并且存入接收端緩存。完成本次數(shù)據(jù)的接收。
3.2 監(jiān)測(cè)終端軟件設(shè)計(jì)
如圖6所示,首先對(duì)液晶屏和單片機(jī)中的寄存器初始化,寄存器包括A/D轉(zhuǎn)換寄存器,定時(shí)器0中斷寄存器和定時(shí)器2寄存器。
將A/D轉(zhuǎn)化寄存器中的輸入信號(hào)經(jīng)過A/D轉(zhuǎn)換函數(shù)后再經(jīng)過定時(shí)器中斷函數(shù),系統(tǒng)根據(jù)這個(gè)信號(hào)來(lái)判斷所測(cè)區(qū)域各環(huán)境參數(shù)的濃度和是否發(fā)出警報(bào),如果發(fā)出警報(bào),那么ATmega128L的PWM端口決定了蜂鳴器的頻率,如果不發(fā)出警報(bào),那么各參數(shù)濃度數(shù)據(jù)就直接顯示在LCD屏上。整個(gè)系統(tǒng)是一直運(yùn)行的,當(dāng)輸入的信號(hào)發(fā)生改變,那么LCD上的環(huán)境參數(shù)濃度值也會(huì)發(fā)生相應(yīng)的改變。取值頻率設(shè)置為30 ms取一次值,由定時(shí)器中斷函數(shù)來(lái)實(shí)現(xiàn)控制。
3.3 上位機(jī)軟件設(shè)計(jì)
為了清晰地觀察室內(nèi)各環(huán)境參數(shù)的變化情況,使用LabView設(shè)計(jì)了上位機(jī)。上位機(jī)部分程序如圖7所示。
4 實(shí)驗(yàn)數(shù)據(jù)及分析
4.1 實(shí)驗(yàn)結(jié)果及分析
在對(duì)終端機(jī)進(jìn)行測(cè)試時(shí),在400 m距離范圍內(nèi),對(duì)5間不同房間的溫度和甲醛含量進(jìn)行了測(cè)試,其中0xf1為封閉的實(shí)驗(yàn)室,0xf2為封閉的教室,0xf3為封閉宿舍,0xf4為通風(fēng)教室,0xf5為通風(fēng)宿舍。測(cè)試結(jié)果如表1所示。如表1所示,在密閉狀態(tài)下,所監(jiān)測(cè)房屋0xf1一天的甲醛濃度都維持在0.06~0.08 ppm,遠(yuǎn)超過國(guó)家室內(nèi)甲醛濃度標(biāo)準(zhǔn)。教室、實(shí)驗(yàn)室、宿舍等場(chǎng)所由于長(zhǎng)時(shí)間不通風(fēng),室內(nèi)甲醛的濃度會(huì)比較高,人們長(zhǎng)期生活在這種環(huán)境下,會(huì)對(duì)身體造成嚴(yán)重的傷害。系統(tǒng)采集到的溫度數(shù)據(jù),與標(biāo)準(zhǔn)溫度誤差范圍均在3%以下。
4.2 透?jìng)鱾鞲芯W(wǎng)絡(luò)性能分析
通過對(duì)透?jìng)髂K的測(cè)試,系統(tǒng)穩(wěn)定工作時(shí),每5 s需通信轉(zhuǎn)發(fā)心跳幀一次,空中每幀數(shù)據(jù)都會(huì)轉(zhuǎn)發(fā)一次,最多支持240字節(jié)長(zhǎng)度數(shù)據(jù)包。當(dāng)空中波特率固定為9 600 b/s通信距離為400 m平原條件時(shí),通信誤碼率為10-3~10-4。透?jìng)鲾?shù)據(jù)在傳輸過程中會(huì)存在一定延時(shí),適用于傳輸距離遠(yuǎn)且對(duì)實(shí)時(shí)性要求不高的場(chǎng)合。
系統(tǒng)模塊在正常工作模式下,通過控制SLP管腳電平,可以使系統(tǒng)進(jìn)入休眠狀態(tài),當(dāng)SLP管腳接收到下降沿信號(hào)時(shí),模塊進(jìn)入休眠模式。處于休眠模式時(shí),模塊的工作電流小于5 μA。 模塊進(jìn)入休眠模式后,RST腳輸入一個(gè)低電平信號(hào)(>1 ms)可以使模塊退出休眠模式,進(jìn)入正常工作狀態(tài)。
5 結(jié) 語(yǔ)
本文提出的無(wú)線通信透?jìng)魉惴?,透過無(wú)線通信把傳統(tǒng)的無(wú)線傳感網(wǎng)絡(luò)當(dāng)作有線通信使用,工作時(shí)無(wú)需任何用戶協(xié)議,即可實(shí)現(xiàn)數(shù)據(jù)的透明傳輸,自動(dòng)路由。可以自動(dòng)跳頻抗干擾,自動(dòng)路由數(shù)據(jù),網(wǎng)絡(luò)結(jié)構(gòu)中不需單獨(dú)的路由器或中繼器,穿透障礙物能力強(qiáng),極大地降低了終端芯片的資源利用率和無(wú)線傳感網(wǎng)絡(luò)硬件成本。環(huán)境采集終端機(jī),續(xù)航能力強(qiáng),各傳感器靈敏度高,采集到的各參數(shù)與實(shí)際誤差相差極小。樣品機(jī)實(shí)物圖如圖8所示。
當(dāng)數(shù)據(jù)速率提高時(shí),系統(tǒng)通信的誤碼率會(huì)增加,如需進(jìn)一步提高透?jìng)髂K的性能??刹捎靡韵录夹g(shù)來(lái)提高通信可靠性[8?10]。在物理層,模塊采用差分曼徹斯特編碼技術(shù)發(fā)送數(shù)據(jù),從而保證通信中的同步問題。
在數(shù)據(jù)鏈路層,使用循環(huán)冗余編碼進(jìn)行數(shù)據(jù)幀校驗(yàn),用以保證數(shù)據(jù)到達(dá)用戶應(yīng)用層以后的可靠性。
注:本文通訊作者為吳迪。
參考文獻(xiàn)
[1] 夏新.淺談強(qiáng)化環(huán)境監(jiān)測(cè)質(zhì)量管理體系建設(shè)[J].環(huán)境監(jiān)測(cè)管理與技術(shù),2012(1):1?4.
[2] 何曉峰,王建中,王再富.基于MAX6675的多路溫度采集與無(wú)線傳送系統(tǒng)[C]//浙江省信號(hào)處理學(xué)會(huì)2012學(xué)術(shù)年會(huì)論文集.杭州:浙江省信號(hào)處理學(xué)會(huì),2012:4?6.
[3] 尹航,張奇松,程志林.基于ZigBee無(wú)線網(wǎng)絡(luò)的溫濕度監(jiān)測(cè)系統(tǒng)[J].機(jī)電工程,2008(11):20?23.
[4] 劉萍.基于多傳感器融合的礦井環(huán)境監(jiān)測(cè)系統(tǒng)研究[J].礦山機(jī)械,2013(6):110?113.
[5] 蒲泓全,賈軍營(yíng),張小嬌,等.ZigBee網(wǎng)絡(luò)技術(shù)研究綜述[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2013(9):6?11.
[6] 王益祥,牛江平.遠(yuǎn)程無(wú)線抄表系統(tǒng)的研究[J].自動(dòng)化儀表,2011(3):4?7.
[7] 鄒麗新,翁桂榮.單片微型計(jì)算機(jī)原理[M].蘇州:蘇州大學(xué)出版社,2001.
[8] SUZUKI N, MITANI T, SHINOHARA N. Study and development of a microwave power receiving system for ZigBee device [C]// Proceedings of the 2010 IEEE Asia?Pacific Microwave Conference. Kansas: IEEE, 2010: 45?48.
[9] ZHANG G, LIU S G. Study on electrical switching device junction temperature monitoring system based on ZigBee technology [C]// Proceedings of the 2010 IEEE International Conference on Computer Application and System Modeling. Taiyuan, China: IEEE, 2010: 692?695.
[10] Dissanayake S D, Karunasekara P P C R, Lakmanaarachchi D D, et al. ZigBee wireless vehicular identification and authentication system [C]// Proceedings of the IEEE the 4th International Conference on Information and Automation for Sustainability. Colombo: IEEE, 2008: 257?260.
[11] 曹金山,張澤濱.無(wú)線傳感網(wǎng)絡(luò)安全改進(jìn)方案研究[J].現(xiàn)代電子技術(shù),2014,37(20):38?40.
[12] 彭燕.基于ZigBee的無(wú)線傳感器網(wǎng)絡(luò)研究[J].現(xiàn)代電子技術(shù),2011,34(5):49?51.