梁艷超,程永強
(太原理工大學 信息工程學院,山西 太原 030024)
依據(jù)各種狀態(tài)參數(shù)實時監(jiān)控井下狀況,保持井下信息傳遞的通暢性,對礦井的安全生產(chǎn)具有十分重要的意義。而目前礦井內(nèi)的通信以及電源的供給大多還使用有線電纜,施工難度大、成本高、安全設計復雜。因此采用電池供電和無線通信相對于有線電纜具有明顯的優(yōu)勢?;赯igbee[1-3]的礦用數(shù)據(jù)采集綜合實驗平臺可以將不同傳感器采集的數(shù)據(jù)通過Zigbee無線網(wǎng)絡發(fā)送給中繼器進行處理和保存,各部分均使用電池供電,節(jié)點可以實現(xiàn)多點采集,而且中繼具有友好的人機交互界面和觸摸屏,能對整個系統(tǒng)實現(xiàn)復雜靈活的控制。
基于Zigbee的礦用數(shù)據(jù)采集綜合實驗平臺由節(jié)點和中繼兩部分組成,如圖1所示。節(jié)點主要位于礦井中巷道的上方,每隔30~50m設一個,它的主要作用是進行數(shù)據(jù)的采集和傳遞。每個節(jié)點由Zigbee模塊和傳感器模塊組成,傳感器模塊將待采集量轉(zhuǎn)化為數(shù)字量,再由Zigbee模塊將這些信息通過無線網(wǎng)絡傳給下一個節(jié)點。每個節(jié)點不僅會將本節(jié)點的信息采集并發(fā)送,還會將上一個節(jié)點的數(shù)據(jù)打包并與本節(jié)點的數(shù)據(jù)一起發(fā)送給下一個節(jié)點。這樣各個節(jié)點接力似地將信息依次傳遞下去,組成了一個線型的網(wǎng)絡系統(tǒng)。當其中的某個節(jié)點出現(xiàn)問題,系統(tǒng)會自動跳過這個節(jié)點,與下一個節(jié)點進行通信。數(shù)據(jù)最終會傳送給中繼,中繼再將數(shù)據(jù)顯示出來,并存儲于Flash中,以便以后查閱。顯示模塊是一個人機交互界面,通過它可以按節(jié)點、按時間查看數(shù)據(jù),可以對數(shù)據(jù)進行分析處理,以折線的形式顯示出來,也可以通過觸摸操作對網(wǎng)絡進行參數(shù)設定和控制。
節(jié)點硬件框圖如圖2所示。主控芯片采用TI的CC2530射頻芯片[4-8],天線采用 PCB天線的方式,減小了空間。為了保障信號能在井下順利傳輸,CC2530射頻前端加增了功率放大芯片CC2591[9],可以使最大發(fā)射功率增加到20dBm。而且多種發(fā)射功率可調(diào),增加了設計靈活性和系統(tǒng)的穩(wěn)定性。若RSSI(接收的信號強度指示)值大于-80為理想值,在增加功放芯片CC2591以后即使在150m(本平臺節(jié)點間通信距離最遠為100m)處,16dBm的發(fā)射功率也能滿足要求。
節(jié)點采用無線傳輸,不能采用外接電源,也不能更換電源,因此必須采用大容量電池的同時,也要減小系統(tǒng)功耗,而且電源芯片的選擇也決定著系統(tǒng)的穩(wěn)定性。本設計中電池采用的是19AH的鋰氬電池。平臺每次從睡眠中喚醒工作后的平均工作電流是50mA,每次工作時間60s,每半個小時喚醒一次,相當于一天工作48次,這樣系統(tǒng)可工作的時間T=1/0.05×60×19/48=475天。每個節(jié)點礦下的生命周期為1年左右,符合系統(tǒng)要求。穩(wěn)壓電源采用TI的具有超低操作電流的3.3V低紋波充電泵tps60211。當系統(tǒng)進入休眠時,芯片可以工作在snooze模式,這樣能使芯片進入2μA的極低功耗狀態(tài);當系統(tǒng)從休眠狀態(tài)喚醒后,芯片又會進入正常的工作模式,以保證正常的電流供給。為了進一步降低功耗,基準電源、傳感器的電源均通過開關管AO3401由單片機控制,在不使用的情況下,這些器件都會處于關斷狀態(tài)。
CC2530的P0口可配置為八路12位ADC,其精度滿足平臺要求。為了保證CC2530在模數(shù)轉(zhuǎn)換時的精度,在P0.7引腳使用了基準電壓源REF3030[10],它能提供了3V、0.2%高精度的基準電壓。所以平臺提供了多達七路可自由使用的ADC,結(jié)合不同類型的傳感器可以多點采集不同的信息量。
中繼硬件框圖如圖3所示。主控芯片采用STM32F103VET6[11],內(nèi)嵌uc/OS操作系統(tǒng),可以輕松實現(xiàn)復雜的功能;結(jié)合ucGUI,實現(xiàn)了友好的人機交互界面和復雜靈活的系統(tǒng)功能;Zigbee通信模塊與STM32主控芯片過SPI接口相連;顯示器采用10.9cm(4.3英寸)、分辨率為320×240像素的TFT液晶屏;控制器為SSD1963,使用CPU的FSMC功能驅(qū)動;觸摸屏為四線電阻屏,接口采用SPI接口,可顯示人機交互界面,并能通過觸摸屏對系統(tǒng)實現(xiàn)各種命令的發(fā)送和數(shù)據(jù)的讀取操作;閃存存儲器用于將系統(tǒng)的數(shù)據(jù)存儲起來,以便查閱分析,閃存芯片采用3片M25P64閃存芯片[12]。使用SPI串行接口進行讀寫操作,方便高速。存儲器按天分段,按時間分頁,如果一個系統(tǒng)有100個節(jié)點,每個節(jié)點兩路數(shù)據(jù),每半個小時喚醒發(fā)送一次,存儲一年的數(shù)據(jù)量為402B×48×365天=7043040B。考慮到節(jié)點數(shù)可能增加和日期可能增長等情況,設計中的3×64Mbit的容量完全可以滿足要求。中繼電池采用5節(jié)3.2V、5AH磷酸鐵鋰電池。電源芯片采用TI的tps63001。它具有1.8~5.5V的寬輸入電壓范圍,高達96%的效率,1.2A的輸出電流。符合中繼的供電要求。
節(jié)點協(xié)議流程及其數(shù)據(jù)的流動方向如圖4、表1所示。未采用TI的Z-Stack協(xié)議棧,首先是因為系統(tǒng)的網(wǎng)絡比較特殊,節(jié)點分布在巷道中;其次,由于系統(tǒng)對功耗要求比較高,為降低功耗要求程序越簡單越好,所以采用了自定義的數(shù)據(jù)格式和通信協(xié)議。
圖4 協(xié)議流程
表1 數(shù)據(jù)流動方向
3.1.1 數(shù)據(jù)格式
數(shù)據(jù)格式如圖5所示。
圖5 數(shù)據(jù)格式
一個數(shù)據(jù)報由4個部分構成,分別是命令字段、數(shù)據(jù)編號、數(shù)據(jù)長度和數(shù)據(jù)字段。命令字段有2個字節(jié),用來表示本數(shù)據(jù)報的作用,即指明將要完成什么功能;數(shù)據(jù)編號字段有2個字節(jié),表示該數(shù)據(jù)的次序編號;數(shù)據(jù)長度字段有2個字節(jié),說明數(shù)據(jù)字段中數(shù)據(jù)的長度,數(shù)據(jù)字段為可變長度,最長為100字節(jié),它存放了需要處理的數(shù)據(jù)。
3.1.2 通信協(xié)議描述
由于節(jié)點對次序的要求嚴格,所以,安裝的時候也要按照次序,先從近節(jié)點依次向遠節(jié)點安裝,每個節(jié)點在下井安裝前都已經(jīng)接通電源,但處于低功耗狀態(tài),先用中繼將待安裝節(jié)點激活。節(jié)點的網(wǎng)絡地址出廠值都為0x0000,中繼的出廠地址固定為0x0001。此時中繼先發(fā)初始化命令,如果系統(tǒng)中沒有節(jié)點,中繼向0x0000地址發(fā)送,如果系統(tǒng)中已經(jīng)有節(jié)點,中繼則向最近的節(jié)點上發(fā)送;節(jié)點收到命令后,判斷為地址數(shù)據(jù)時,若本地地址為0x0000,則將地址取出,作為本地地址;如果本節(jié)點為最后一個節(jié)點,則向0x0000地址發(fā)送。如果不是最后一個節(jié)點,則向下一個節(jié)點傳遞命令;節(jié)點得到地址信息后,則向上一節(jié)點發(fā)送成功指令。依次傳遞到中繼,節(jié)點初始化過程完成。
節(jié)點初始化完成后,就進入接收同步時間狀態(tài)。如果收到的是同步時間命令,則首先把命令發(fā)送給下一個節(jié)點,然后將數(shù)據(jù)字段中的時間取出,其中一部分為時間的基準,其作用是避免長時間工作引起的累積時間誤差;另一部分為睡眠時間,其作用是決定下次喚醒的時間。時間設定完成后,節(jié)點進入接收數(shù)據(jù)狀態(tài),如果此時收到的是數(shù)據(jù)命令,則說明此節(jié)點狀態(tài)錯誤,節(jié)點立即進入發(fā)送數(shù)據(jù)狀態(tài)并處理數(shù)據(jù),若本節(jié)點為最后一個節(jié)點,則同樣進入發(fā)送數(shù)據(jù)狀態(tài)。當數(shù)據(jù)發(fā)送完成后,睡眠開始。
當喚醒時間到,節(jié)點將自動進入接收時間狀態(tài)。如果在除等待初始化地址狀態(tài)以外的任何狀態(tài)等待超過2min,則認為通信失敗,節(jié)點自動進入休眠狀態(tài)。當超過3次通信失敗,節(jié)點將不再進入睡眠狀態(tài),直到通信成功。
在任何發(fā)送狀態(tài)時,如果在發(fā)送完成后30ms內(nèi)沒有接收到目地節(jié)點發(fā)回來的應答,則再次發(fā)送;如此反復20次,20次后也未收到應答消息,則認為發(fā)送失敗。接收端收到數(shù)據(jù)后,為確保發(fā)送端能接收到應答信號,接收端將每隔5ms無條件發(fā)送5次應答,然后進入下一狀態(tài)。
本系統(tǒng)還有其他命令,與上述過程相似,不再贅述。
中繼的顯示界面使用ucGUI設計,使用觸摸屏進行操作。主要功能包括:節(jié)點初始化、時間設置、日期設置、時間同步、數(shù)據(jù)按節(jié)點查詢、按時間查詢、繪制折線、數(shù)據(jù)清除等。
系統(tǒng)主要建立了2個任務:主任務(用戶界面任務)和觸摸屏任務(SPI串口任務)。主任務還負責通過SPI接口向Zigbee模塊發(fā)送命令,再由Zigbee模塊將命發(fā)送出去;而當Zigbee模塊接收到數(shù)據(jù)時,也通過SPI接口將數(shù)據(jù)發(fā)送給主任務進行處理。中繼上的Zigbee通信模塊定時時間與節(jié)點相同,當多次未與節(jié)點通信成功,Zigbee通信模塊將一直向節(jié)點發(fā)送命令,直到通信成功為止。
礦井中的設備必須進行防爆設計,平臺的設計嚴格按照GB3836.4—2010和GB3836.2—2010,電路符合本安要求,外殼也符合隔爆要求。
在電源部分,除了電源芯片外,輸入端還增加了限流電阻和整流二極管,當電源芯片出現(xiàn)問題或某個整流二極管損壞時,電路仍然可以正常工作,不會因為電壓的不正常而燒毀。平臺的工作電壓為3.3 V,電路之間的爬電距離、電容電感的選擇都符合本安要求。
基于Zigbee的礦用數(shù)據(jù)采集綜合實驗平臺實現(xiàn)了井下數(shù)據(jù)的多點采集與無線傳輸。靈活簡單穩(wěn)定的通信協(xié)議,可以形成通用開放的Zigbee網(wǎng)絡,以便其他基于Zigbee的數(shù)據(jù)通過本網(wǎng)絡進行傳輸,實現(xiàn)一網(wǎng)多用。也可以在此基礎上開發(fā)頂板離層儀、多點位移計、錨桿應力計等煤礦產(chǎn)品。
(References)
[1]李小珉,趙志宏,郭志.Zigbee無線傳感器網(wǎng)絡組網(wǎng)實驗[J].電子測量技術,2007,30(4):147-149,195.
[2]陶為戈,錢志文,賈子彥,等.ZigBee無線傳感器網(wǎng)絡實驗教學體系研究與探索[J].實驗技術與管理,2012,11(29):163-165.
[3]趙迎新,徐平平,夏桂斌,等.基于無線傳感器網(wǎng)絡的教學實驗平臺設計[J].電氣電子教學學報,2008,30(5):48-50.
[4]Texas Instruments.CC2530datasheet[EB/OL].[2013-01-05].http://www.ti.com.cn/product/cn/cc2530.
[5]Texas Instruments.CC2530Software Examples User’s Guide[EB/OL].[2013-01-05].http://www.ti.com.cn/product/cn/cc2530.
[6]Texas Instruments.CC2530-2591EM 參考設計[EB/OL].[2013-01-05].http://www.ti.com.cn/product/cn/cc2530.
[7]Texas Instruments.CC253x/4xUser Guide[EB/OL].[2013-01-05].http://www.ti.com.cn/product/cn/cc2530.
[8]Texas Instruments.CC2530-Software Examples[EB/OL].[2013-1-5].http://www.ti.com.cn/product/cn/cc2530.
[9]Texas Instruments.CC25912.4GHz RF Front End[EB/OL].[2013-1-5].http://www.ti.com.cn/product/cn/cc2591.
[10]Texas Instruments.REF3030datasheet[EB/OL].[2013-1-5].http://www.ti.com.cn/product/cn/ref3030.
[11]STMicroelectronics.STM32F103VET6datasheet[EB/OL].[2013-01-05].http://www.stmicroelectronics.com.cn/internet/mcu/product/164491.jsp.
[12]Numonyx.M25P64.datasheet[EB/OL].[2013-01-05].http://www.micron.com/parts/nor-flash/serial-nor-flash/m25p64-vmf3tpb.