文獻(xiàn)標(biāo)識碼: A
文章編號: 0258-7998(2011)12-0047-03
高速公路在能見度較低時會對車輛駕駛帶來安全隱患,所以,在惡劣的天氣下,高速公路被迫關(guān)閉,這會造成很大的損失。因此需要合理解決此問題以提高高速公路的利用率,而有效監(jiān)督是確保高速公路上的車輛在極端惡劣天氣安全行駛的必要措施。
目前市場上用于車輛定位的是車載GPS,但是由于受制于民用,即使在信號很好的情況也會有5 m的誤差。而采用蝙蝠定位原理的超聲波技術(shù),其定位精度最高能達(dá)到9 cm,但是這類系統(tǒng)的成本太高,無法大面積推廣。而近幾年發(fā)展迅速的無線局域網(wǎng)定位系統(tǒng)很好地解決了上述問題。在一定的區(qū)域內(nèi)安裝適量的無線基站,根據(jù)這些基站獲得的待定物體發(fā)送的信息,結(jié)合基站的地理數(shù)據(jù)確定物體的具體位置。這類系統(tǒng)可以利用現(xiàn)有的無線局域網(wǎng)設(shè)備,僅需要增加相應(yīng)的信息分析服務(wù)器即可完成定位,成本較低,而且其精度能達(dá)到1 m。本文利用基于IEEE802.15.4的ZigBee定位及通信功能設(shè)計了一套應(yīng)用于高速公路上的車輛在極端天氣下鄰車協(xié)調(diào)的裝置。
1 系統(tǒng)設(shè)想
1.1 系統(tǒng)構(gòu)成
該系統(tǒng)包含無線通信模塊ZigBeeCC2431和液晶顯示模塊。其中,無線通信模塊ZigBeeCC2431主要用于通信和定位的功能,在高速公路的兩側(cè)每隔一段距離就安放一個ZigBeeCC2430作為參考節(jié)點,CC2431安裝在車上作為移動節(jié)點來定位(CC2431有一個無線定位跟蹤引擎,而CC2430沒有),通過ZigBee的無線通信功能,將前后車輛的坐標(biāo)數(shù)據(jù)互相傳遞,并將數(shù)據(jù)以坐標(biāo)形式顯示出來,使駕駛員對周圍的車輛情況一目了然。
1.2 ZigBee通信
ZigBee是一種新興的短距離、低功耗、低數(shù)據(jù)速率、低成本和低復(fù)雜度的無線網(wǎng)絡(luò)技術(shù),它的基礎(chǔ)是IEEE 802.15。但I(xiàn)EEE僅處理低級MAC層和物理層協(xié)議,因此ZigBee聯(lián)盟擴展了IEEE,對其網(wǎng)絡(luò)層協(xié)議和API進行了標(biāo)準(zhǔn)化。有了協(xié)議標(biāo)準(zhǔn)后,數(shù)千個微小的傳感器就可以相互協(xié)調(diào)實現(xiàn)通信.并且這些傳感器只需很少的能量,以接力的方式通過無線電波將數(shù)據(jù)從一個傳感器傳到另一個傳感器,所以它們的通信效率非常高[1]。另外,由于網(wǎng)絡(luò)流量會隨著待測節(jié)點數(shù)量的增加而成比例遞增,因此,ZigBee 還允許同一網(wǎng)絡(luò)中存在大量的待測節(jié)點。最后,這些數(shù)據(jù)就可以進入計算機用于存儲和分析。
1.3 ZigBee無線定位
木文采用CC2431無線定位引擎技術(shù),該技術(shù)基于RSSI,定位系統(tǒng)由參考節(jié)點和移動節(jié)點組成。參考節(jié)點是已知自身位置并將其通過發(fā)送數(shù)據(jù)包的方式通知其鄰節(jié)點。移動節(jié)點接收參考節(jié)點發(fā)出的數(shù)據(jù)包信號,從數(shù)據(jù)包中獲取參考節(jié)點位置坐標(biāo)及相應(yīng)的RSSI值,并將其寫入定位引擎,然后利用定位引擎計算可以讀出自身位置。RSSI值由接收節(jié)點(移動節(jié)點)計算獲得,在參考節(jié)點發(fā)送給移動節(jié)點的數(shù)據(jù)包內(nèi),它至少包含參考節(jié)點的水平位置坐標(biāo)參數(shù)X和豎直位置坐標(biāo)參數(shù)Y,定位原理如圖1所示。
硬件定位引擎CC2431在速度、精度、占用處理器時間等方而都比軟件定位方法更有優(yōu)勢。定位引擎的特點:定位估計算法需3~16個參考節(jié)點;定位估計分辨率為0.25 m;計算節(jié)點位置耗時少于50 μs;定位范圍為64 m×64 m;定位偏差小于3 m;采用分布式計算定位估計方法。該方法使用已知參考節(jié)點的RSSI信號,進行定位集中計算方法帶來的大量網(wǎng)絡(luò)傳輸與通信延遲的問題,分布式定位計算都可避免[2]。當(dāng)CC2431把所有必要的參考讀取后,就開始定位計算,然后輸出移動節(jié)點的定位坐標(biāo)。
2 系統(tǒng)的硬件設(shè)計
無線傳感器節(jié)點一般由傳感器模塊、數(shù)據(jù)處理模塊、電源和數(shù)據(jù)模塊組成。由于本文主要涉及通信和定位,因此忽略傳感器模塊。ZigBeeCC2431自帶具有高性能和低功耗的8051微控制器核,故無須再配備其他處理器。系統(tǒng)中其余模塊只是芯片的級聯(lián),只有天線需要自己設(shè)計,系統(tǒng)中使用了兩種天線:一種是外界的2.4 G天線,通過SMA頭連接,市場上有很成熟的外接天線;另一種是采用倒F型微帶天線,其制作成本低且具有較低的傳輸損耗和較好的微波傳輸特性。另外,用一個128×64點陣的圖形點陣液晶顯示屏顯示當(dāng)前車輛之間的位置,提供盡可能詳盡的當(dāng)前信息,完成人機交互。設(shè)計中使用一個升壓變換器為液晶顯示器電路提供7 V的工作電壓。圖2為系統(tǒng)結(jié)構(gòu)圖。
在板上安裝4個LED,一個用于電源指示,其余3個連接無線傳感器節(jié)點插座,用來表示無線傳感器節(jié)點當(dāng)前的工作狀態(tài),如圖3所示。
3 系統(tǒng)的軟件設(shè)計
無線傳感器網(wǎng)絡(luò)以ZigBee2006協(xié)議棧為基礎(chǔ),網(wǎng)絡(luò)中按照節(jié)點完成的功能分為協(xié)調(diào)器節(jié)點、參考節(jié)點、移動節(jié)點。協(xié)調(diào)器節(jié)點在整個系統(tǒng)中負(fù)責(zé)建立和配置網(wǎng)絡(luò),等待其他類型節(jié)點入網(wǎng)。參考節(jié)點在網(wǎng)絡(luò)中充當(dāng)路由節(jié)點或者終端設(shè)備節(jié)點,負(fù)責(zé)信號的采集和處理以及外部設(shè)備狀態(tài)的控制和查詢。移動節(jié)點將收集所有參考節(jié)點對它的請求所返回的信息,讀出相關(guān)的RSSI值,將收集到的數(shù)值傳輸?shù)接布ㄎ灰娌⒃谥笞x出、計算,得到位置并將該位置信息在液晶上顯示。
3.1 ZigBee網(wǎng)絡(luò)的建立
在一個ZigBee網(wǎng)絡(luò)中,只有協(xié)調(diào)器具有建立網(wǎng)絡(luò)、維護鄰居設(shè)備表、分配邏輯網(wǎng)絡(luò)地址、允許設(shè)備MAC層/應(yīng)用層連接或斷開網(wǎng)絡(luò)的功能,而路由器則只具有維護鄰居設(shè)備表、對邏輯網(wǎng)絡(luò)地址進行分配、允許設(shè)備MAC層/應(yīng)用層連接或斷開網(wǎng)絡(luò)的功能。所有的ZigBee設(shè)備都具有連接或斷開網(wǎng)絡(luò)的功能。
協(xié)調(diào)器通過NLME-NETWORK-FORMATION.request原語來啟動一個新網(wǎng)絡(luò)的建立過程。
NLME-NETWORK-FORMATION.request(Scanchannels, ScanDuration,BeaconOrder,SuperframeOrder,BatteryLifeExtension)
{
}
3.2 加入網(wǎng)絡(luò)
只有當(dāng)設(shè)備為ZigBee協(xié)調(diào)器或者路由器時,才允許設(shè)備嘗試與網(wǎng)絡(luò)連接,該過程通過NLME-PERMIT-JOINING.request原語來允許設(shè)備與網(wǎng)絡(luò)連接。
NLME-PERMIT-JOINING.request
{
PermitDuration
};
3.3 參考節(jié)點應(yīng)用程序?qū)崿F(xiàn)
參考節(jié)點在網(wǎng)絡(luò)中充當(dāng)路由器的角色,在定位系統(tǒng)中由用戶指定固定坐標(biāo)是靜態(tài)節(jié)點,其坐標(biāo)位置是固定的,不參與定位計算,因此參考節(jié)點可由CC2430或者CC2431器件實現(xiàn),節(jié)點的任務(wù)是提供包含本身位置X、Y坐標(biāo)和RSSI值給定位節(jié)點。安放參考節(jié)點數(shù)的經(jīng)驗法則是,使用盡可能多的節(jié)點,至少使用3個[3]。如果節(jié)點太少,每個節(jié)點的影響都很大,一個不正確的RSSI值就會很大程度上影響位置的計算。參考節(jié)點工作流程圖如圖4所示。
3.4 移動定位節(jié)點應(yīng)用程序
移動節(jié)點可在參考節(jié)點所包圍的區(qū)域內(nèi)任意移動。移動節(jié)點收集定位區(qū)域內(nèi)所有參考節(jié)點的RSSI值,并使用定位算法來計算其坐標(biāo)位置,定位節(jié)點模塊選擇CC2431。程序?qū)崿F(xiàn)如下:
Void CalcultePostition
(LOC_REF_NODE refNodes
[LOC_EN-GINE_NODE_CAPA],
uint a_val,uint n_index,uint
*locX,uint *locY)
{
}[4]
移動節(jié)點工作流程圖如5所示。
3.5 液晶顯示
當(dāng)移動節(jié)點計算出位置信息并經(jīng)過處理器處理以后送給顯示器顯示,其上用亮點來顯示車輛位置:
void Lcd12864DrawPoint( unsigned char X , unsigned char Y, unsigned char Color )
{
}
4 系統(tǒng)測試及顯示結(jié)果
系統(tǒng)測試步驟如下:
(1)將8個參考節(jié)點布置在空曠的區(qū)域;
(2)配置參考節(jié)點,即給參考節(jié)點初始化一個位置信息;
(3)將移動節(jié)點放置在參考節(jié)點區(qū)域內(nèi),本次選擇1個移動節(jié)點作為測試用;
(4)將位置信息通過12864顯示出來。
通過多次改變移動節(jié)點的位置來測量移動節(jié)點的位置,然后與實際位置進行比較,表1是在一個區(qū)域內(nèi)測量的結(jié)果。
圖6顯示的是實際位置(4,5.5),測量位置為(4.4,6.2)的移動節(jié)點位置。由圖可以看到,需要定位的點不斷閃爍,其余靜止不動的是參考節(jié)點的位置,其待定點的誤差不超過1 m,基本上達(dá)到本實驗的要求。
在此實驗的基礎(chǔ)上再添加多個移動的節(jié)點,利用ZzigBee的通信功能互相傳遞位置數(shù)據(jù),然后顯示出它們的位置。
本系統(tǒng)由于受到環(huán)境的干擾,信號出現(xiàn)了一點偏差,顯示的位置和實際位置有點出入,但是隨著技術(shù)的發(fā)展,利用ZigBee無線通信及定位技術(shù)完全可實現(xiàn)在能見度較低或冰雪天氣等極端惡劣情況下對車輛的動態(tài)定位,從而使高速公路上的車輛能相互協(xié)調(diào)與監(jiān)督,確保車輛行駛的安全,提高高速公路的利用率。
參考文獻(xiàn)
[1] 王偉杰,黃守志,趙學(xué)增.基于ZIGBEE的高速公路車輛間通信技術(shù)研究[J].大連交通大學(xué)學(xué)報,2009(6).
[2] 王中生,曹琦.基于ZigBee技術(shù)的無線定位研究與實現(xiàn)[J].計算機技術(shù)與發(fā)展,2010(12).
[3] 徐志京,胡波.基于CC2431的無線定位技術(shù)研究[J].電子設(shè)計工程,2009(10).
[4] 宋保業(yè),許琳.帶定位引擎的射頻芯片CC2431[J].單片機與嵌入式系統(tǒng)應(yīng)用,2007(11).