蔡 亮,王曉榮,諸葛云,周 凱,陸志峰
(南京工業(yè)大學(xué)自動(dòng)化與電氣工程學(xué)院,江蘇南京 210009)
無線傳感器網(wǎng)絡(luò)是一種由許多傳感器節(jié)點(diǎn)(sensor node)組成的一種自組織無線網(wǎng)絡(luò)。該系統(tǒng)主要由網(wǎng)關(guān)/匯聚節(jié)點(diǎn)(sink)、路由節(jié)點(diǎn)、傳感器節(jié)點(diǎn)、CAN總線、監(jiān)控軟件幾部分組成。如圖1。
圖1 系統(tǒng)架構(gòu)
傳感器節(jié)點(diǎn):安裝在液壓支架上,對(duì)其前支柱、后支柱、前身梁3點(diǎn)的壓力進(jìn)行采集。
路由節(jié)點(diǎn):作為通訊的中繼,實(shí)現(xiàn)sink節(jié)點(diǎn)與傳感器節(jié)點(diǎn)的通信,起到傳遞數(shù)據(jù)和命令的作用,同時(shí)在網(wǎng)絡(luò)中可以轉(zhuǎn)發(fā)信號(hào),實(shí)現(xiàn)組網(wǎng)中的遠(yuǎn)距離通訊。
Sink節(jié)點(diǎn):作為整個(gè)網(wǎng)絡(luò)的協(xié)調(diào)器,負(fù)責(zé)組建網(wǎng)絡(luò)、分配地址、匯總信息等功能。
由于液壓支架在井下是直線型排列,傳感器節(jié)點(diǎn)也應(yīng)為帶狀分布。因此3種節(jié)點(diǎn)布局為層次型拓?fù)浣Y(jié)構(gòu)[1]。
系統(tǒng)中的網(wǎng)絡(luò)節(jié)點(diǎn)主要有sink節(jié)點(diǎn)、路由節(jié)點(diǎn)、傳感器節(jié)點(diǎn)。它們?cè)跓o線部分配置基本一致,都選用高性能、低功耗的STM32W108芯片為通信器件。但考慮到通訊的覆蓋面積和使用方便性,傳感器節(jié)點(diǎn)需由電池供電并選用低功耗的負(fù)載芯片,路由節(jié)點(diǎn)和sink節(jié)點(diǎn)可由直流電源供電。下面以傳感器節(jié)點(diǎn)為例,具體說明,如圖2所示。
圖2 傳感器節(jié)點(diǎn)結(jié)構(gòu)圖
傳感器節(jié)點(diǎn)由傳感器、信號(hào)處理單元、按鍵、電源管理單元、通信單元、顯示單元組成。
2.1采集單元
測(cè)壓傳感器選用擴(kuò)散硅式壓力傳感器,有別于傳統(tǒng)的硅應(yīng)變片式傳感器,其具有測(cè)量精度高,穩(wěn)定性好、使用壽命長(zhǎng)等特點(diǎn),同時(shí)固化結(jié)構(gòu)中有極大的內(nèi)部阻抗,功耗更低。設(shè)計(jì)中為了達(dá)到較好的線性度,采取恒流源供電方案。同時(shí)選用具有較寬共模輸入范圍的集成單電源儀表放大器AD623,其使用簡(jiǎn)單,功耗低,最大工作電流為550 μA.
2.2數(shù)據(jù)處理與通訊
STM32W108是一個(gè)完全集成的系統(tǒng)芯片,該芯片集成了符合IEEE 802.15.4標(biāo)準(zhǔn)的2.4 GHz收發(fā)器、32位ARM Cortex-M3微處理器、Flash閃存、RAM存儲(chǔ)器以及基于ZigBee系統(tǒng)使用的很多通用外設(shè)[2]。相比現(xiàn)在常用的ZigBee芯片內(nèi)嵌的8位MCU(8051),其32位處理器處理能力更快,同時(shí)在保持低功耗的基礎(chǔ)上,內(nèi)部自帶有功率放大器(PA),發(fā)射功率可達(dá)+7 dBm,能獲得更大的通信距離。
STM32W108在網(wǎng)絡(luò)節(jié)點(diǎn)的硬件平臺(tái)中作為節(jié)點(diǎn)的控制器與收發(fā)器。內(nèi)部自帶有12位的A/D轉(zhuǎn)換將經(jīng)處理放大后的模擬信號(hào)轉(zhuǎn)化為數(shù)字量,軟件中通過一定算法換算,最終在數(shù)碼管上顯示當(dāng)前壓力值。考慮到節(jié)省電量,傳感器節(jié)點(diǎn)選用數(shù)碼管顯示,不需要查看時(shí)被關(guān)閉,工作人員可通過手動(dòng)或光照開啟數(shù)碼管。
芯片內(nèi)部集成了RF收發(fā)功能,為了更好地引入諧波信號(hào),在雙向的RF端口(引腳RF_P和RF_N)需匹配相應(yīng)硬件電路,包括外置的帶通濾波器濾除不需要的諧波;由電感、電容組成的匹配網(wǎng)絡(luò)優(yōu)化RF性能,如圖3。
圖3 天線匹配電路
圖中左側(cè)電感L1串聯(lián)電容C22構(gòu)成了匹配網(wǎng)絡(luò),防止由于天線阻抗隨環(huán)境的變化而變化從而改變整體電路的阻抗。J1一路可以使用外部天線作為增強(qiáng)信號(hào)使用,設(shè)計(jì)中選用50 Ω鞭狀天線。
2.3電源管理
由于傳感器節(jié)點(diǎn)采用電池供電,為了保證電池的使用壽命,需要考慮電能消耗問題。節(jié)點(diǎn)設(shè)計(jì)中,分2部分供電,一路是模擬電源部分:供給傳感器、恒流源、調(diào)理電路部分;另一路是數(shù)字電源供電:供給CPU和顯示單元。
模擬電源由一個(gè)MOS管來控制通斷,在節(jié)點(diǎn)不需要采集時(shí)關(guān)斷模擬電源部分,節(jié)省不必要的電能消耗。由數(shù)字供電的STM32W在深睡眠和正常工作兩種模式下切換,當(dāng)采集的壓力值需傳輸時(shí)開啟自身的RF射頻通訊功能,一般關(guān)閉不用外設(shè),盡量降低功耗。
2.4其他節(jié)點(diǎn)
路由節(jié)點(diǎn)和sink節(jié)點(diǎn)的顯示模塊都采用液晶顯示,可以包含更多信息,并對(duì)自身網(wǎng)絡(luò)中的狀態(tài)更新顯示,方便檢查。這兩個(gè)節(jié)點(diǎn)不會(huì)進(jìn)行深睡眠,一直處于工作狀態(tài),可以不斷查詢網(wǎng)絡(luò)。
STM32W108的硬件集成了IEEE 802.15.4的大部分MAC需求,其具有CRC計(jì)算、添加和校驗(yàn),RAM數(shù)據(jù)包自動(dòng)發(fā)送、自動(dòng)應(yīng)答傳輸?shù)裙δ堋?/p>
3.1系統(tǒng)網(wǎng)絡(luò)節(jié)點(diǎn)設(shè)計(jì)
系統(tǒng)通訊架構(gòu)需要由Sink節(jié)點(diǎn)來形成網(wǎng)絡(luò)并發(fā)起廣播,路由、傳感器節(jié)點(diǎn)搜索信道網(wǎng)絡(luò),并申請(qǐng)加入,如圖4。初始化包括硬件初始化、串口初始化、中斷使能、對(duì)隨機(jī)數(shù)生成器播種等[3]。
圖4 Sink節(jié)點(diǎn)流程圖
Sink節(jié)點(diǎn)的作用是網(wǎng)絡(luò)維護(hù)和數(shù)據(jù)傳輸。網(wǎng)絡(luò)構(gòu)建完成后就可以給申請(qǐng)加入網(wǎng)絡(luò)的其他節(jié)點(diǎn)分配地址創(chuàng)建列表,接收子節(jié)點(diǎn)上傳的數(shù)據(jù);在數(shù)據(jù)傳輸中主要是從無線網(wǎng)絡(luò)到CAN總線的協(xié)議轉(zhuǎn)換,方便數(shù)據(jù)上傳到監(jiān)測(cè)機(jī)。
另外,反向方式可以向下傳送監(jiān)測(cè)機(jī)的命令指令,Sink節(jié)點(diǎn)向網(wǎng)絡(luò)中所有節(jié)點(diǎn)發(fā)送,由傳輸數(shù)據(jù)包內(nèi)容決定執(zhí)行的子節(jié)點(diǎn)和命令內(nèi)容(參考3.2節(jié)內(nèi)容)。
路由節(jié)點(diǎn)主要包括液晶顯示和電源管理,起到數(shù)據(jù)轉(zhuǎn)發(fā)和顯示作用,在初始化完成后嘗試加入網(wǎng)絡(luò)建立路由表,然后將傳感器節(jié)點(diǎn)傳上來的數(shù)據(jù)包解析,直接轉(zhuǎn)發(fā)給sink節(jié)點(diǎn)或者由路由節(jié)點(diǎn)之間相互通訊(中繼作用)最終送給sink節(jié)點(diǎn)。
傳感器節(jié)點(diǎn)負(fù)責(zé)數(shù)據(jù)的采集和上傳,如圖5所示。加入網(wǎng)絡(luò)前的初始化部分與sink節(jié)點(diǎn)相類似,然后廣播發(fā)送一個(gè)SEARCH幀在信道上循環(huán)搜索,當(dāng)?shù)玫絪ink節(jié)點(diǎn)的允許后會(huì)收到一個(gè)AVAILABLE幀,更新自己的PAN ID和sink節(jié)點(diǎn)保持一致,并且單播發(fā)送一個(gè)JOIN幀給指定sink節(jié)點(diǎn)。如果sink節(jié)點(diǎn)在自己的地址列表中沒有找到空余項(xiàng)就單播發(fā)送一個(gè)拒絕幀,否則將分配的一個(gè)短ID單播發(fā)送。
圖5 傳感器節(jié)點(diǎn)流程圖
由于電池供電的特點(diǎn),如果每次將采集的壓力值都上傳,會(huì)造成節(jié)點(diǎn)能量的大量損耗,而且小段時(shí)間數(shù)據(jù)的意義不大,所以設(shè)計(jì)中采取定時(shí)采集、壓差傳輸?shù)姆绞?。芯片采取?nèi)部睡眠定時(shí)喚醒模式,定時(shí)時(shí)間可以由軟件修改,方便監(jiān)控機(jī)遠(yuǎn)程調(diào)節(jié);采集時(shí)將壓力值與上次發(fā)送保留的數(shù)值比較,如果超過限定門限就打開無線模塊發(fā)送數(shù)據(jù)和采集時(shí)間,并將此次壓力值替換原來的存儲(chǔ)值,否則關(guān)閉外設(shè),直接進(jìn)入睡覺模式等待下一次喚醒。
3.2通信協(xié)議
Sink節(jié)點(diǎn)與網(wǎng)絡(luò)中其他節(jié)點(diǎn)通信時(shí),所有的命令、應(yīng)答均以表1所列的數(shù)據(jù)包格式進(jìn)行[5]。
表1 命令、應(yīng)答數(shù)據(jù)包格式
所有的包都是以0x7C、0x42作為開始字段,0x7C作為結(jié)束字段,負(fù)載包括注釋(MSG_HEADER,如表2)部分和數(shù)據(jù)(MSG_DATA)部分。如果負(fù)載數(shù)據(jù)中出現(xiàn)0x7C則由0x7D 0x5C代替,如果數(shù)據(jù)中有0x7D,則用0x7D 0x5C代替。
上傳和下傳的數(shù)據(jù)包格式都按表1所列,只有MSG_DATA部分內(nèi)容不同。上傳數(shù)據(jù)時(shí)MSG_DATA包含字段如表3,下傳數(shù)據(jù)如表4。
表2 MSG_HEADER包含字段
表3 上傳數(shù)據(jù)字段
表4 下傳數(shù)據(jù)字段
為了驗(yàn)證系統(tǒng)設(shè)計(jì)的可行性,搭建了測(cè)試系統(tǒng)平臺(tái)。采用VB軟件編寫一個(gè)上位機(jī)監(jiān)控界面,系統(tǒng)中有4個(gè)sink節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)添加13個(gè)終端節(jié)點(diǎn)到自己的網(wǎng)絡(luò)中,CAN總線采用主從模式將4個(gè)網(wǎng)絡(luò)的數(shù)據(jù)上傳到PC監(jiān)測(cè)機(jī)。
圖6為監(jiān)控機(jī)上第二個(gè)sink節(jié)點(diǎn)網(wǎng)絡(luò)中某一次手動(dòng)詢問13個(gè)節(jié)點(diǎn)上傳的數(shù)據(jù),壓力值顯示為50 MPa左右。系統(tǒng)可以采取自動(dòng)詢問方式,設(shè)定時(shí)間間隔,定時(shí)更新數(shù)據(jù)。在折線圖的下拉菜單中可以看到一段時(shí)間數(shù)據(jù)的曲線圖,或者根據(jù)數(shù)據(jù)庫(kù)畫出歷史曲線。
圖6 多點(diǎn)實(shí)時(shí)監(jiān)控?cái)?shù)據(jù)
如圖7所示,數(shù)據(jù)庫(kù)中記錄了每一個(gè)網(wǎng)絡(luò)中的各節(jié)點(diǎn)上傳數(shù)據(jù)值、記錄時(shí)間、描述信息等內(nèi)容。
圖7 數(shù)據(jù)庫(kù)
試驗(yàn)結(jié)果表明該系統(tǒng)設(shè)計(jì)上可行,能夠?qū)崿F(xiàn)礦井下壓力點(diǎn)的數(shù)據(jù)采集和無線傳輸。
本套系統(tǒng)是基于STM32W108模塊的應(yīng)用,從耗電管理、數(shù)據(jù)傳輸方面規(guī)劃了各節(jié)點(diǎn)的軟硬件設(shè)計(jì),與現(xiàn)在市場(chǎng)上使用的監(jiān)測(cè)系統(tǒng)具有以下區(qū)別:擴(kuò)散硅傳感器精度高,耗電少,使用壽命長(zhǎng);無線通訊傳輸無需復(fù)雜布線,避免傳輸電纜經(jīng)濟(jì)性差的缺陷;操作便利,降低勞動(dòng)成本,可以在監(jiān)測(cè)機(jī)上遠(yuǎn)程操作,實(shí)時(shí)更新;新型IC芯片使用,各方面性能更強(qiáng)。
參考文獻(xiàn):
[1]胡少軒.基于CC2430液壓支架壓力監(jiān)測(cè)系統(tǒng)的研究.煤礦機(jī)械,2011,32(9):142-145.
[2]沈建華,郝立平.STM32W無線射頻ZigBee單片機(jī)原理儀應(yīng)用.北京:北京航空航天大學(xué)出版社,2010.
[3]STMicroelectronics.STM32W108HB STM32W108CB DataSheet.http://www.st.com/mcu,2010.
[4]基于無線傳感器網(wǎng)絡(luò)的井下液壓支架壓力監(jiān)測(cè)系統(tǒng)設(shè)計(jì).煤礦機(jī)械,2010,31(10):139-141.
[5]Wikipedia.ZigBee.http://en.wikipedia.org/wiki/ZigBee,2010.