北斗衛(wèi)星導(dǎo)航系統(tǒng)致力于向全球用戶提供高質(zhì)量的定位、導(dǎo)航和授時服務(wù),包括向全球免費提供定位、測速和授時服務(wù)。目前,北斗衛(wèi)星系統(tǒng)的建設(shè)正按計劃穩(wěn)步推進,目前已成功發(fā)射了16顆北斗導(dǎo)航衛(wèi)星,服務(wù)范圍覆蓋了亞太地區(qū)。
無線傳感器網(wǎng)絡(luò)(Wireless Sensor Network,WSN)是由大量的靜止或移動的傳感器以自組織和多跳的方式構(gòu)成的無線網(wǎng)絡(luò),以協(xié)作地感知、采集、處理和傳輸網(wǎng)絡(luò)覆蓋地理區(qū)域內(nèi)被感知對象的信息,并最終把這些信息發(fā)送給網(wǎng)絡(luò)的所有者。在無線傳感網(wǎng)技術(shù)中,最為符合低功耗、低成本、高可靠性要求的當屬ZigBee技術(shù)。ZigBee技術(shù)是一種工作在全球、美國和歐洲3個頻段上的無線通信技術(shù),基于無線通信協(xié)議。它具有低功耗、低成本、低復(fù)雜度、自動組網(wǎng)的特點,主要適合于短距離無線通信、組網(wǎng)、自動控制和遠程控制等領(lǐng)域,并可以嵌入至各種設(shè)備中。
這兩種熱門技術(shù)特點鮮明,如果將它們結(jié)合,即把定位導(dǎo)航技術(shù)與短距離組網(wǎng)技術(shù)結(jié)合,就可以滿足對于不同規(guī)模和要求的檢測、定位、導(dǎo)航等各項需求,方便數(shù)據(jù)傳輸。
1 創(chuàng)新功能
1.1 精確定位
ZigBee節(jié)點廣泛應(yīng)用于野外環(huán)境勘測、智能交通監(jiān)控等領(lǐng)域,單純的ZigBee節(jié)點采集的數(shù)據(jù)是一維數(shù)據(jù),孤立的數(shù)據(jù)不利于分析與決策。如果將采集地的位置信息也一起獲取,就可以把采集到的環(huán)境信息與位置信息相結(jié)合,在匯總、分析時繪制成一個二維的數(shù)據(jù)地圖,更將直觀地了解信息的分布狀況;而如果再加上精確的時間,就組成了三維的數(shù)據(jù)體,這樣的數(shù)據(jù)更加綜合、全面。
1.2 間接定位
衛(wèi)星定位通常要求在有天空視野的室外,因而在室內(nèi)就定位困難。利用ZigBee的間接定位,當周圍已經(jīng)存在了包含定位設(shè)備的ZigBee網(wǎng)絡(luò)時,就可以接入ZigBee網(wǎng)絡(luò)實現(xiàn)間接定位。相當于在這個區(qū)域內(nèi)任意可接入網(wǎng)絡(luò)的地點提供了實時間接定位的服務(wù),任何設(shè)備都可以透過ZigBee網(wǎng)絡(luò)獲取自己當前的位置信息,這樣不僅降低了定位服務(wù)的成本,也擴大了定位的應(yīng)用范圍。
1.3 網(wǎng)絡(luò)授時
ZigBee網(wǎng)絡(luò)雖然具備低成本、低功耗、高可靠性的優(yōu)勢,但是考慮到網(wǎng)絡(luò)延時和較低的數(shù)據(jù)傳輸速率,因此在系統(tǒng)實時性方面不盡如人意。當ZigBee網(wǎng)絡(luò)面對的是某種對實時性要求較高的應(yīng)用時,勢必會因為較大的時延,影響數(shù)據(jù)的精確性。如果采用從北斗衛(wèi)星導(dǎo)航系統(tǒng)獲取的精確時間,然后對全網(wǎng)所有節(jié)點校時,那么節(jié)點的同步性就得到了提高,從而提高系統(tǒng)的響應(yīng)速度。
1.4 數(shù)據(jù)通信
北斗衛(wèi)星導(dǎo)航系統(tǒng)雖然可以提供精確的時間和位置信息,但是卻沒有信息的傳遞能力,ZigBee網(wǎng)絡(luò)就為這種信息組織提供了一種簡便的方式。通過把北斗定位的數(shù)據(jù)架設(shè)于ZigBee網(wǎng)絡(luò)之中,就可以讓位置信息傳遞起來。
2 北斗+ZigBee終端的系統(tǒng)設(shè)計
2.1 結(jié)構(gòu)體系
北斗導(dǎo)航系統(tǒng)與ZigBee網(wǎng)絡(luò)結(jié)構(gòu)體系如圖1所示,主要由ZigBee網(wǎng)絡(luò)節(jié)點和北斗導(dǎo)航節(jié)點組成。傳感網(wǎng)子網(wǎng)內(nèi)一般由一個主節(jié)點和多個節(jié)點組成。主節(jié)點主要負責(zé)ZigBee網(wǎng)絡(luò)的組網(wǎng)和網(wǎng)內(nèi)設(shè)備的管理,同時與北斗定位導(dǎo)航模塊通信。
2.2 硬件設(shè)計
在ZigBee節(jié)點的設(shè)計上,選用Freescale公司針對ZigBee技術(shù)推出的MC13213芯片。該芯片是完整的單芯片解決方案,其內(nèi)部集成了HCS 08 MCU和遵循IEEE802.15.4標準的第二代無線射頻收發(fā)器,也稱為Modem。MC13213能夠以非常低的總材料成本建立強大的網(wǎng)絡(luò)節(jié)點。其特點是速度快,片內(nèi)資源豐富。其硬件框圖如圖2所示。
北斗定位導(dǎo)航模塊以芯星通公司的UM220芯片為核心設(shè)計。UM220是針對車輛監(jiān)控、氣象探測和電信電力授時等應(yīng)用而推出的北斗/GPS雙系統(tǒng)模塊。單芯片支持北斗BD2/GPS功能,無需外接CPU即可直接輸出NMEA數(shù)據(jù),支持UART、SPI、1PPS、I2C等多種接口。引腳連接如圖3所示,本設(shè)計通過TXD3、RXD3分別與MC13213的PTE1(TXD1)、PTE0(RXD1)相連,實現(xiàn)數(shù)據(jù)通信。
2.3 軟件設(shè)計
ZigBee是基于IEEE 802.15.4標準的低功耗個域網(wǎng)協(xié)議。根據(jù)這個協(xié)議規(guī)定的技術(shù),是一種短距離、低功耗的無線通信技術(shù)。ZigBee設(shè)備包括IEEE 802.15.4(該標準定義了RF射頻以及與相鄰設(shè)備之間的通信)的PHY和MAC層,以及ZigBee堆棧層——網(wǎng)絡(luò)層(NWK)、應(yīng)用層和安全服務(wù)提供層。
由于受無線傳輸功耗的限制,傳輸有效距離在100 m以內(nèi),因此對于在區(qū)域范圍內(nèi)的覆蓋就需要通過內(nèi)置的ZigBee協(xié)議棧實現(xiàn)自動組網(wǎng)和路徑計算功能。在終端設(shè)計中,數(shù)據(jù)傳輸?shù)某休d媒介是ZigBee網(wǎng)絡(luò),不管是精確定位的坐標信息,還是間接定位的偵測信息,亦或是時間同步的數(shù)據(jù),都依賴于ZigBee所提供的數(shù)據(jù)服務(wù)進行傳輸。
精確定位的功能依賴于北斗導(dǎo)航定位所獲得的精確坐標。UM220模塊提供北斗的定位信息。UM220輸出數(shù)據(jù)采用ASCII碼,按照NMEA-0183格式進行異步串行通信,因此通過將其通過串口與MC13213相連,設(shè)定每秒輸出一次定位信息,通過MC13213內(nèi)置的單片機處理定位信息。UM 220輸出語句有$BDGGA、$BDGSA、$BDGSV、$BDRMC等。其中$BDGGA定位數(shù)據(jù)語句是最為常用的語句,因此我們選用它作為定位信息的輸出語句。
$BDGGA語句包括17個字段:語句標識頭,世界時間,緯度,緯度半球,經(jīng)度,經(jīng)度半球,定位質(zhì)量指示,使用衛(wèi)星數(shù)量,水平精確度,海拔高度,高度單位,大地水準面高度,高度單位,差分GPS數(shù)據(jù)期限,差分參考基站標號,校驗和結(jié)束標記(用回車符和換行符),分別用14個逗號進行分隔。由此便獲得了經(jīng)、緯度和海拔高度的精確信息。這些信息將存儲在MC13213的內(nèi)存中,不僅實現(xiàn)節(jié)點的精確定位,作為自己的位置信息,也為其他節(jié)點的間接定位提供參考信息。
間接定位常用的算法有兩種:基于距離的定位算法、與距離無關(guān)的定位算法。距離無關(guān)的定位算法的優(yōu)點是,對節(jié)點的硬件結(jié)構(gòu)要求較低;缺點是定位精度不高,難以滿足室內(nèi)定位的精度要求?;诰嚯x的定位則是通過測量節(jié)點間點到點的距離或角度信息,再使用一定的計算方法計算節(jié)點位置。常用的測距技術(shù)有RSSI、TOA、TDOA和AOA等。由于ZigBee無線通信模塊可以直接提供RSSI值,因此本設(shè)計使用RSSI信息來實現(xiàn)定位功能。
利用RSSI測量距離,需要建立距離與RSSI的模型。由于經(jīng)驗?zāi)P驮趯嶋H定位前,需要先模擬測試環(huán)境,建立該環(huán)境中各個距離上的位置和信號強度關(guān)系的離線數(shù)據(jù)庫,操作起來較為繁瑣,數(shù)據(jù)庫也不適合單片機的應(yīng)用,因此這里采用理論模型,用無線電傳播路徑損耗模型進行計算。
自由空間無線電傳播路徑損耗模型公式如下:
Loss = 32.44 + 10klog10d + 10klog10f (1)
式中,d為接收點距信源的距離,單位為km;f為頻率,單位為MHz;k為路徑衰減因子。
實際應(yīng)用環(huán)境中,由于存在多徑、繞射、障礙物等各種影響岡素,因此還要對模型進行改進。這里采用一種對數(shù)一常態(tài)分布模型,其計算公式為:
式中,Xσ是平均值為0的高斯分布隨機變數(shù),取其標準差范圍為4~10;k的取值范圍為2~5。取d=1,代入式(1)可得Loss,即PL(d0)的值。由此得到未知節(jié)點接收錨節(jié)點信號時的信號強度公式如下:
RSSI = 發(fā)射功率 + 天線增益 - 路徑損耗(PL(d))
假設(shè)移動節(jié)點0接收到n(n≥3)個固定節(jié)點發(fā)送的信號,從接收到的n個信號中選取接收信號最強的3個固定節(jié)點作為信標節(jié)點A、B、C。利用RSSI測距方法,測量到的距離分別為dA、dB、dC,此時就可以根據(jù)dA、dB、dC采用圖4所示的三邊測量法確定位置。如果不相交于一點,則可以根據(jù)質(zhì)心法來實現(xiàn)。
理論上,雖然獲取3個已定位節(jié)點的信息就可以確定一個未知節(jié)點的位置,但是實際情況會因為干擾而出現(xiàn)偏差。例如,當兩個射頻之間出現(xiàn)意外遮擋物時,接收信號會降低30 dBm。為了修正異常,提高定位結(jié)果的精確性,間接定位需要盡可能多的已定位節(jié)點的RSSI值,進行相關(guān)的定位計算,那么當采用大量的節(jié)點后,RSSI的值將趨于穩(wěn)定,這時就可以得出更加精確的定位結(jié)果。
ZigBee全網(wǎng)的時間同步使用FTSP算法實現(xiàn)。它通過發(fā)送一條報文并在發(fā)送和接收兩端分別打下時間戳來實現(xiàn)一對一或者一對多的時間同步。FTSP算法提供多跳的時間同步,由網(wǎng)絡(luò)的根節(jié)點維護一個全局時鐘,其他的所有節(jié)點都同步到根節(jié)點,由此將全網(wǎng)中的所有節(jié)點時間同步。
FTSP算法的實現(xiàn)步驟如下:
①發(fā)射同步(sync)字節(jié),計算時間戳t,計算方法為當前的時間減去消息數(shù)據(jù)部分的發(fā)射時間,消息數(shù)據(jù)部分的發(fā)射時間,可以通過數(shù)據(jù)長度和發(fā)射速率得出。發(fā)射時間戳t。
②接收數(shù)據(jù)包,記錄sync字節(jié)最后到達的時間tr,計算位偏移(bit offset)。在收到完整消息后,計算位偏移產(chǎn)生的時間延遲tb,計算方法為計算位偏移和接收速率。
③接收節(jié)點計算與發(fā)送節(jié)點之間的時鐘偏移量off-set,然后調(diào)節(jié)本地時鐘與發(fā)送節(jié)點的時鐘同步。
3 性能測試
3.1 定位誤差測試
間接定位的實際測試中,共部署了23個傳感節(jié)點,其中使用北斗直接定位的有11個,沒有提供北斗定位而使用ZigBee定位的有12個。節(jié)點隨機分布,節(jié)點間設(shè)置了10~20 m不等的距離,然后進行了10次間接定位的實驗。通過統(tǒng)計數(shù)據(jù),分析與實際測量值的誤差,結(jié)果如圖5所示。
綜合計算,10次實驗的平均定位誤差為1.7 m??紤]到平均14 m的節(jié)點間距離,定位誤差較小,符合應(yīng)用要求。
3.2 時間同步誤差測試
在時間同步的仿真中,依然采用間接定位測試中的節(jié)點。23個節(jié)點位置隨機分布,時間同步周期為5 s,在原有ZigBee協(xié)議中增加了部分模塊的功能,包括MAC層的時間戳。在實驗中,分別記錄了FTSP在網(wǎng)絡(luò)中節(jié)點間單跳和多跳的平均同步誤差,測試次數(shù)為10次,實驗結(jié)果如圖6所示。
根據(jù)實驗結(jié)果,兩個節(jié)點單跳FTSP平均誤差為2.12μs;但是到7跳的時候,兩個節(jié)點的平均誤差,F(xiàn)TSP為11.97 μs,結(jié)果表明,F(xiàn)TSP算法在多跳網(wǎng)絡(luò)中的同步誤差精度較高,曲線平滑,符合要求,可以達到提升ZigBee網(wǎng)絡(luò)時間同步準確性的目的。
結(jié)語
本文中北斗衛(wèi)星董偉系統(tǒng)的定位信息和授時功能結(jié)合ZigBee系統(tǒng),利用精確的定位和授時數(shù)據(jù)大力改進了ZigBee協(xié)議棧的性能,不僅增強了節(jié)點的功能,還實現(xiàn)了間接定位、精確定位、全網(wǎng)時間同步的改進。同時,ZigBee網(wǎng)絡(luò)的傳輸性彌補了北斗導(dǎo)航數(shù)據(jù)缺失流動性及數(shù)據(jù)形態(tài)孤立的缺陷??傮w而言,設(shè)計終端效果良好,性能穩(wěn)定,達到了預(yù)期效果。
相關(guān)閱讀:
ZigBee與WiFi首次合作,雙模網(wǎng)關(guān)的設(shè)計與實現(xiàn)
看電子工程師如何使用Zigbee分析儀為種植保駕護航?
揭秘小米智能家庭套裝ZigBee方案的"真實面目"