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