肖開泰
(1.煤科集團沈陽研究院有限公司,遼寧 撫順1131222;煤礦安全技術(shù)國家重點實驗室,遼寧 撫順113122)
根據(jù)國家相關(guān)要求所有煤礦必須建設(shè)完善煤礦井下安全避險“六大系統(tǒng)”[1],人員定位系統(tǒng)是六大系統(tǒng)之一。人員定位可通過GPS、GSM 和CDMA 移動蜂窩網(wǎng)絡(luò)、WiFi、RFID、藍牙、紅外線超聲波混合、Zigbee 等無線技術(shù)實現(xiàn)[2],并在各自領(lǐng)域成功應(yīng)用,部分技術(shù)也在煤礦井下成功應(yīng)用,但受煤礦井下空間有限、信號屏蔽物較多、高溫多濕、粉塵浮游物含量高、電磁環(huán)境復(fù)雜多變等諸多因素影響,普遍存在定位距離近、精度差的問題,難以滿足煤礦對高精度定位的新需求。UWB(Ultra Wide Band)超寬帶技術(shù)具有信道容量大、功率消耗低、多徑分辨能力強、穿透能力強、抗干擾能力強、隱蔽性好和定位精度高的特點[3],可滿足煤礦高精度定位需求。
UWB(Ultra Wide Band)是近年來新興的、與傳統(tǒng)通信技術(shù)有極大差異的通信無線新技術(shù)[4]。受其工作方式影響使之天生具有超高的分辨率,且因其工作頻率高、信號占空比極低,故形成的窄脈沖的多徑信號在時間上不易重疊,可保證其多徑信號在時間上得到分離[5],而無線通信技術(shù)正是通過計算已知節(jié)點(定位基站)和未知節(jié)點(定位標(biāo)簽)之間的距離實現(xiàn)定位,在時間分量得到保證的情況下,實現(xiàn)的定位精度自然會高。UWB 定位原理示意圖圖1。
圖1 UWB 定位原理示意圖Fig.1 UWB positioning principle diagram
圖1 中定位基站A1(x1,y1,z1)、定位基站A2(x2,y2,z2)、定位基站A3(x3,y3,z3)為3 個位置已知點,定位標(biāo)簽T(x,y,z)為位置未知點,無線信號自T 發(fā)出到被A1、A2和A3成功接收所消耗的時間為ti(i=1,2,3),由此可計算出T 至A1、A2和A3的距離di(i=1,2,3)=ti×C(C 為無線電波在空氣中的傳播速度),分別以A1、A2和A3圓心,di為半徑畫圓,可得到3 個相交的平面圓形,相交區(qū)域即為T 的坐標(biāo)區(qū)域,利用平面幾何知識可得式(1):
將di(i=1,2,3)=ti×C 代入式(1),可得出定位標(biāo)簽T(x,y,z)的坐標(biāo),從而實現(xiàn)對定位標(biāo)簽T 的定位。
定位基站和定位標(biāo)簽的硬件主體結(jié)構(gòu)基本一致,由stm32 模塊、DW1000 模塊、電源轉(zhuǎn)換模塊、液晶顯示模組和相關(guān)配套電路元件組合而成,定位基站相比定位標(biāo)簽增加了以太網(wǎng)模塊、485 通信模塊和usb 模塊,主控模塊stm32 和dw1000 通過spi 通信進行數(shù)據(jù)交互[6],硬件主體結(jié)構(gòu)電路框圖如2。
圖2 硬件主體結(jié)構(gòu)電路框圖Fig.2 Circuit design block diagram
1)主控單元STM32 模塊。主控單元選擇使用高性能ARM32CortexTM -M3 內(nèi)核的意法半導(dǎo)體STM32F107RC[7],可以在低功耗、短啟動時間和多種喚醒事件之間達到最佳平衡[8],工作電壓2~3.6 V,主頻率為72 MHz,包括3 個SPI、1 個USB OTG、5個USART、2 個CAN 和1 個百兆等多個標(biāo)準(zhǔn)通信接口,支持睡眠、停機、待機3 種低功耗模式,具有處理速率高、功率低、體積小、成本低、適應(yīng)性強等特點。芯片共外接12 MHz 和32.678 kHz 2 個晶振,其中32.678 kHz 為外部晶振,連接于芯片的3、4 腳,用于控制NRST 復(fù)位引腳(7 腳)為RTC 提供時鐘服務(wù);12 MHz 晶振為主頻晶振,連接于芯片的5、6腳,為芯片工作提供時鐘服務(wù)。20、21、22、23 腳為SPI 1 接口,用來讀寫操作射頻模塊DW1000;26 腳與DW1000 的23 腳相連,配置為外部輸出引腳用來喚醒休眠的DW1000 模 塊;29、30、33、34、36 腳連接LCD 控制器;57 腳配置外部中斷,連接到DW1000的22 腳,接收DW1000 發(fā)出的允許進行測距電平信號。
2)射頻DW1000 模塊。射頻模塊選用基于UWB通信的DW1000[9],支持EEE802.15.4-2011 標(biāo)準(zhǔn)的射頻收發(fā)模塊,相比其它模塊更經(jīng)濟、準(zhǔn)確,可達到厘米級別的測距性能。芯片的1、2、13、14 腳為空;3、4 腳為外部晶振引腳,本電路中選用8.4 MHz 晶振;16、17 腳連接射頻天線;23 腳是外部喚醒接口與主控芯片STM32F107RC 的26 腳相連,用于喚醒休眠狀態(tài)或深度休眠狀態(tài)的DW1000;24 腳是SPI 芯片選擇引腳,有效的低電平從高到低轉(zhuǎn)換可以表示1 個新的SPICSn 事務(wù)的開始,也可以作為信號喚醒休眠狀態(tài)下的或者深度休眠下的DW1000;27 腳是重置復(fù)位引腳,低電平有效,可通外部漏極驅(qū)動器拉低以重置DW1000;30~38 腳是6 個通用的I/O 端口,39、40、41、24 腳是SPI 的4 個端口,分別跟主控模塊STM32F107RC 的SPI 1 相連,用以讀寫DW1000 中的數(shù)據(jù),其余為電源或I/O 管腳。
3)射頻天線。定位基站考慮到覆蓋問題,采用外置式全向天線;定位標(biāo)簽考慮便攜問題,采用陶瓷板載天線;工作頻率是3.5~6.5 GHz,與射頻電路共同組成用于無線信號收發(fā)的天線模塊[10]。
定位基站和標(biāo)簽上電后,STM32F107RC 首先進行自身初始化(通過調(diào)用peripherals_init()函數(shù)實現(xiàn)),其次訪問DW1000(通過調(diào)用writetospi()函數(shù)實現(xiàn)) 對其SPI 接口進行初始化,完成后STM32F107RC 通過SPI 對DW1000 的寄存器進行讀寫操作,調(diào)用dwt_initialise()和dwt_configure()函數(shù)對DW1000 進行信道的選擇、發(fā)射功率和發(fā)射速度進行相關(guān)配置完成設(shè)備初始化,初始化流程如圖3。
圖3 系統(tǒng)初始化流程圖Fig.3 Flow chart of system initialization
通信幀的設(shè)計采用IEEE802.15.4 協(xié)議標(biāo)準(zhǔn)格式,由前導(dǎo)碼和SFD 組成同步頭、數(shù)據(jù)率物理頭和數(shù)據(jù)有效負載長度一起組成。前導(dǎo)碼的作用是讓定位基站識別,SFD 是定界符,表示前導(dǎo)碼的結(jié)束和有效負荷的開始,物理頭用于為指定的接收端提供各種有效載荷。在測距過程中設(shè)定poll message、response message 和final message 3 種通信幀,分別表示輪詢、應(yīng)答和結(jié)束消息,定位標(biāo)簽會廣播輪詢消息,收到輪詢消息的定位基站會在規(guī)定時間內(nèi)返回應(yīng)答消息,超時未返回的無效,定位標(biāo)簽收到定位基站應(yīng)答消息后,廣播發(fā)送結(jié)束消息給所有定位基站,定位基站基站收到結(jié)束消息后根據(jù)其中的時間戳信息計算距離,從而實現(xiàn)對定位標(biāo)簽的測距定位。
定位信息能否獲得取決于通信幀是否成功收發(fā),首先定位標(biāo)簽主控模塊STM32F107RC 對DW1000 進行初始化,成功后DW1000 就處于等待指令的空閑狀態(tài),主控模塊STM32F107RC 將待發(fā)數(shù)據(jù)寫到DW1000 的寄存器對前導(dǎo)碼長度、脈沖重復(fù)頻率以及數(shù)據(jù)傳輸率等信息進行設(shè)置,設(shè)置不成功重復(fù)上面寫入配置操作,設(shè)置成功后發(fā)送通信幀,DW1000 收到發(fā)送指令后馬上按設(shè)置將通信幀發(fā)送出去,如果發(fā)送成功,DW1000 會返回1 個發(fā)送成功信號給主控模塊STM32F107RC,如果沒有發(fā)送成功,DW1000 會重新執(zhí)行發(fā)送操作,直到發(fā)送成功為止,若需要再次發(fā)送則重復(fù)以上過程,否則休眠,通信幀的發(fā)送流程圖如圖4。
圖4 通信幀的發(fā)送流程圖Fig.4 Communication frame delivery flow chart
通信幀接收由DW1000 的接收機完成,接收前需要將DW1000 的工作模式設(shè)置為接收(通過STM32F107RC 通過SPI 1 對DW1000 進行配置完成),接收流程從搜索前導(dǎo)碼開始,DW1000 接收機搜索前導(dǎo)碼并對成功接收到的前導(dǎo)碼進行檢測,檢測失敗則對前導(dǎo)碼檢測是否超時進行判斷,超時則對接收機進行重新配置,未超時就繼續(xù)檢測前導(dǎo)碼,如果檢測成功則獲取前導(dǎo)碼及定界符對前導(dǎo)碼獲取是否完成進行判斷,如果前導(dǎo)碼獲取未完成則對定界符獲取是否超時進行判斷,超時則對接收機進行重新配置,未超時則繼續(xù)獲取前導(dǎo)碼及定界符,如果前導(dǎo)碼獲取完成則獲取幀數(shù)據(jù)并對幀數(shù)據(jù)是否接收完成進行判斷,如果未接收完成則對幀接收時間進行判斷,超時則對接收機進行重新配置,未超時繼續(xù)獲取幀數(shù)據(jù),重復(fù)上述操作直至獲得所有幀數(shù)據(jù),幀數(shù)據(jù)接收完成后進行休眠或繼續(xù)接收通信幀判斷,通信幀接收流程圖如圖5。
測試場地為長7.8 m,寬6 m 的小型會議室;測試設(shè)備:定位基站和定位標(biāo)簽各4 個、移動電源4臺、交換機1 臺、筆記本電腦1 臺。測試過程如下:將定位基站分別放在室內(nèi)的4 個角落,將4 個定位標(biāo)簽分別放置在(4.1,3.2),(7.5,5.5),(1.3,5.5),(1.3,1.8)位置上,通過UWB 測試系統(tǒng)進行相關(guān)參數(shù)配置,配置完成后進行測距,對每個定位標(biāo)簽位置測量20 次。
圖5 通信幀的接收流程圖Fig.5 Communication frame of receiving flow chart
從室內(nèi)測試結(jié)果來看,基于UWB 超寬帶的定位系統(tǒng)的定位精度在未進行算法優(yōu)化的情況下即可達到10~30 cm,后續(xù)加入優(yōu)化算法后定位精度將會進一步提高,可滿足煤礦場景高精度定位的需求。
設(shè)計了基于UWB 超寬帶技術(shù)的高精度人員定位系統(tǒng),分析了系統(tǒng)的定位原理,以stm32 和DW1000 模塊為主體進行了定位基站和定位標(biāo)簽硬件電路設(shè)計,并編制了相應(yīng)執(zhí)行程序。人員定位系統(tǒng)在煤礦歷經(jīng)從無到有、從區(qū)域到范圍定位,現(xiàn)在又將從范圍向點定位邁進,隨著UWB 超寬帶定位技術(shù)的逐步完善,定位算法的不斷升級,現(xiàn)已實現(xiàn)厘米級的定位精度,是目前煤礦人員定位系統(tǒng)向高精度定位更新?lián)Q代的發(fā)展方向。