基于CC2431的室內(nèi)定位系統(tǒng)
摘 要:在室內(nèi)環(huán)境下對移動目標定位可使用的技術主要有超聲波定位技術、射頻識別技術以及基于接收信號強度(RSSI)的定位技術。經(jīng)過比較,基于接收信號強度(RSSI)的定位技術更適合于復雜的室內(nèi)環(huán)境。介紹基于RSSI定位機制的CC2431片內(nèi)集成定位引擎在室內(nèi)定位系統(tǒng)中的應用,并在室內(nèi)環(huán)境下進行了實測,其定位效果良好。
關鍵詞:CC2431;信號接收強度;定位引擎;室內(nèi)定位
隨著無線通信和無線傳感器網(wǎng)絡技術的發(fā)展,基于位置的服務(LBS)顯得越來越重要。在室外環(huán)境下,全球定位系統(tǒng)(GPS)已經(jīng)比較成功地解決了定位問題,它通過GPS接收機測量來自5~24個衛(wèi)星信號的到達時間差(TDOA)進行位置估算,可以提供接近全球的定位覆蓋范圍。而在室內(nèi)環(huán)境下,GPS系統(tǒng)由于衛(wèi)星信號被阻隔而無法完成定位。與此同時,室內(nèi)定位服務的需求日益增加,室內(nèi)定位技術的研究成為各大高校、研究機構和企業(yè)的一個研究熱點。
1 室內(nèi)定位技術
目前已有的室內(nèi)定位技術主要有:超聲波定位技術、射頻識別技術(RFID)以及基于接收信號強度(RS—SI)的定位技術。
超聲波定位技術大都采用反射式測距法,即發(fā)射超聲波并接收由被測物產(chǎn)生的回波,根據(jù)回波與發(fā)射波的時間差計算出待測距離。超聲波定位系統(tǒng)由若干應答器和1個主測距器組成。主測距器放置在被測物體上,在上位機指令信號的作用下向位置固定的應答器發(fā)射同頻率的無線信號,應答器在收到無線信號后向主測距器發(fā)射超聲波信號,從而得到主測距器與各個應答器之間的距離,進而確定被測物體的坐標。Cricket Loca—tion Support System和Active Bat Location System是目前成功使用的兩個系統(tǒng)。但是這類系統(tǒng)需要大量的底層硬件設施投資,成本太高,無法大面積推廣。
射頻識別(RFID)系統(tǒng)主要由電子標簽、讀卡器以及在標簽與讀卡器之間傳遞射頻信號的微型天線3部分組成。當標簽置于讀卡器發(fā)出固定頻率的電磁場附近獲得了能量并產(chǎn)生上電復位后,原本處于“休眠狀態(tài)”的標簽被激活,并將含有自身種類識別碼標志、制造商標志等信息代碼調(diào)制到載波上經(jīng)卡內(nèi)天線發(fā)射出去,供讀卡器處理識別。該定位技術最典型的例子是LAND—MARC系統(tǒng),該系統(tǒng)用活性參考標簽Tag替代離線數(shù)據(jù)采集,其動態(tài)參考信息能夠實時捕捉環(huán)境變化,提高定位精度和可信度?;钚詤⒖紭撕濼ag的應用免去了每個測試點數(shù)百次的人工數(shù)據(jù)采集,且能更好地適應室內(nèi)環(huán)境的波動,提高定位精度。該項技術的定位精度在很大程度上與設備的數(shù)量和分布有關,并要求有與之相配套的設備和基礎設施。
基于接收信號強度(RSSI)定位技術,并根據(jù)接收節(jié)點收到的信號強度,計算出信號的傳播損耗;利用理論與經(jīng)驗模型,將傳輸損耗轉化為距離,再計算出節(jié)點的位置。目前很多控制芯片都具有測量RSSI的功能,無需添加額外的硬件設備來進行精確的時間同步和角度測量,降低了成本,系統(tǒng)的可擴展性良好。因此該項技術已成為室內(nèi)定位技術的研究熱點。
2 CC2431定位系統(tǒng)
CC2431是TI公司推出的針對無線傳感器網(wǎng)絡ZigBeeTM/IEEE 802.15.4應用的片上系統(tǒng)(SoC)解決方案。其內(nèi)部集成了CC2420射頻收發(fā)器、工業(yè)標準增強型8051MCU內(nèi)核、128 KB Flash ROM和8 KBRAM。由于CC2431可工作在4種工作模式下,且工作模式之間的轉換時間較短,因而能夠滿足超低功耗系統(tǒng)的要求。CC2431的主要性能特點如下:
(1)定位引擎能精確計算網(wǎng)絡中節(jié)點位置;
(2)具有高性能低功耗的8051控制器核;
(3)集成符合IEEE 802.15.4標準的2.4 GHz RF無線收發(fā)機(具有工業(yè)級領先的CC2420射頻內(nèi)核);
(4)優(yōu)良的無線接收靈敏度和強大的抗干擾性能;
(5)128 KB可編程閃存;
(6)8 KB RAM,4 KB帶所有功耗模式數(shù)據(jù)保持功能;
(7)強大的DMA功能;
(8)極少的外部元器件;
(9)網(wǎng)狀網(wǎng)絡僅需單一晶體;
(10)低電流損耗(微控制器運行于32 MHz時,接收和發(fā)射分別為27 mA和25 mA);
(11)休眠模式時僅0.9μA電流損耗,外部中斷或RTC能喚醒系統(tǒng);
(12)待機模式下小于O.6μA電流損耗,外部中斷能喚醒系統(tǒng);
(13)低功耗模式與主動模式之間的快速切換保證了低占空比系統(tǒng)的超低平均功耗;
(14)硬件支持CSMA/CA功能;
(15)較寬的電壓范圍(2.O~3.6V);
(16)數(shù)字化的RSSI/LQI支持;
(17)具有電池監(jiān)測和溫度傳感器;
(18)多達8路輸入的8~14位模/數(shù)轉換;
(19)集成AES一128安全協(xié)處理器;
(20)帶有兩個功能強大的支持多組協(xié)議的USART;
(21)支持硬件調(diào)試;
(22)集成看門狗定時器;
(23)具有1個符合IEEE 802.15.4規(guī)范的MAC計時器,1個常規(guī)的16位計時器和兩個8位計時器;
(24)21個普通I/O引腳,其中兩個具有20 mA驅動能力;
(25)強大靈活的開發(fā)工具。
2.1 CC2431定位引擎的操作
CC2431的定位引擎采用基于接收信號強度指示(RSSI)的距離定位方法,根據(jù)接收信號強度及已知參考節(jié)點位置,準確計算出待定位節(jié)點的位置,然后將位置信息發(fā)送給接收端,與集中型定位系統(tǒng)相比,進行分布節(jié)點定位,以減少網(wǎng)絡通信量和網(wǎng)絡通信延遲。CC2431的定位引擎操作流程如圖1所示。
定位引擎需要3~16個參考節(jié)點的坐標[x0,y0,x1,y1,…,x15,y15]作為輸入。參考節(jié)點的坐標表示每個參考節(jié)點的位置,是在[O,63.75]范圍內(nèi)的無符號數(shù)值。最高分辨率為0.25 m。所有參考坐標被裝載入RF寄存器REFCOORD。在寫入寄存器REFCOORD之前,寄存器LOCENG.REFLD位必須置1以指示有1組參考坐標要寫入。16個坐標對都必須寫入,當定位引擎使用的參考節(jié)點數(shù)少于16個時,為了標記某些參考坐標未使用,將0載入作為未使用的參考坐標值,這些參考節(jié)點的RSSI值為O.O。當所有參考坐標寫入后,LOCENG.REFLD=0。定位引擎除了需要參考坐標外,還需要一組測量參數(shù),這些參數(shù)包括:2個射頻參數(shù)A和n,4個搜索邊界坐標和16個RSSI值。定義參數(shù)A為距離發(fā)射機1 m參考距離下接收信號強度的絕對值,定位引擎要求參數(shù)A的范圍為[30.0,50.0],精度為0.5。參數(shù)A為無符號定點值,最后一位為小數(shù)位,其余位表示整數(shù)部分。參數(shù)n被定義為路徑損耗指數(shù)(描述信號功率隨著距離的增加而衰減的速率),這種衰減正比于d=n(d表示發(fā)射機與接收機之間的距離)。在估算定位x,y坐標時,先設定搜索邊界,以降低錯誤和估計時間,最大搜索區(qū)域的x,y范圍為[0.0,63.75]。假設定位引擎搜索被限制在一個矩形區(qū)域,坐標為(xmin,ymin)和(xmax,ymax),輸入定位引擎的4個搜索邊界參數(shù)為xmin,xdelta,ymin,ydelta,其中xdelta=xmax一xminydelta=ymax-ymin,如果選擇在整個可能的區(qū)域內(nèi)搜索,則這4個參數(shù)值為:0.0,63.75,0.0,63.75。如果某個參數(shù)遺漏,則定位引擎無法正確地估算位置。RSSI值是對應于一組參考坐標的RSSI測量值,其范圍在[一40 dBm,一95 dBm],精度0.5 dBm,寫入時符號被去掉。如果使用的參考節(jié)點個數(shù)少于16個,則必須寫入0.O作為接收信號強的度值。所有測量得到的參數(shù)都裝載入RF寄存器MEASPARM。在寫入MEASPARM之前,寄存器位LOCENG.PARID必須置1,以指示有1組測量得到的參數(shù)要寫入。參數(shù)裝載過程開始后,所有22個參數(shù)都必須被寫入。測量得到的參數(shù)寫入順序為[A,n,xmin,xdelta,ymin,ydelta,RSSI0,RSSI1,…,RSSI15]。 當參考坐標和測量得到的參數(shù)寫入后,通過將寄存器位LOCENG.RUN置1啟動定位估計計算。當LOCENG.DONE置1時,估計得到的坐標可以從寄存器LOCX和LOCY中讀出。LOCENG.RUN置1到讀出估計坐標的時間間隔則根據(jù)搜索邊界參數(shù)的不同在50μs~13 ms之間變化。定位引擎不產(chǎn)生任何中斷請求。由LOCX寄存器給出的x坐標估計值包含一個偏移量,該偏移量必須被去除,以得到真實的x坐標。去除的方法如下:x=(xLOCX-xmin+1)%(xdelta+1)+xmin??芍苯邮褂糜蒐OCY寄存器給出的y坐標估計值。
2.2 CC2431定位系統(tǒng)的操作流程
CC2431定位系統(tǒng)由網(wǎng)絡監(jiān)控管理設備、參考節(jié)點與盲節(jié)點組成。其中,網(wǎng)絡監(jiān)控管理設備使用串口發(fā)送和接收定位協(xié)議消息,它依附于主系統(tǒng)并且被用作匯聚節(jié)點接收盲節(jié)點響應、配置參考節(jié)點以及設置盲節(jié)點參數(shù)。當網(wǎng)絡監(jiān)控管理設備應用程序接收到盲節(jié)點的響應信息時,通過串口把數(shù)據(jù)傳給主系統(tǒng)。盲節(jié)點包含CC2431定位引擎,定位引擎通過無線測距范圍內(nèi)應答的參考節(jié)點坐標以及發(fā)送至這些參考節(jié)點信息的。RSSI值完成定位運算。盲節(jié)點首先發(fā)出一定時序的RSSIBlast信息廣播,當?shù)却す?jié)點已配置完成規(guī)定的時間間隔后,盲節(jié)點向參考節(jié)點發(fā)出XY—RSSI請求廣播,每個接收到RSSI Blast信息廣播的參考節(jié)點將進行接收到信息的RSSI值計算,當接收到XY—RSSI請求時,參考節(jié)點將向盲節(jié)點發(fā)回其位置信息以及RSSI值。整個定位系統(tǒng)的定位時序圖如圖2所示。
3 實驗測試及驗證結果
這里以TI公司的CC2431節(jié)點作為實驗平臺,選擇8.O m×8.0 m的實驗室作為實地測試環(huán)境進行測試,在實驗室的4個墻角及中間位置布置了5個CC2431作為參考節(jié)點,其位置已知且固定不動。盲節(jié)點對均勻分布在測試環(huán)境內(nèi)的49個點進行定位測試,定位結果如圖3所示:
根據(jù)獲取的待定位節(jié)點坐標實測數(shù)據(jù),通過Mat—lab進行數(shù)據(jù)處理,以得到系統(tǒng)的定位誤差,定位誤差的分布如圖4所示:
由圖4曲線可以看出,在室內(nèi)環(huán)境下,采用CC2431定位系統(tǒng)能夠分別實現(xiàn)50%和90%的定位,結果誤差前者在1.O m以內(nèi),后者在2.5 m以內(nèi),完全能夠達到室內(nèi)環(huán)境下定位精度的要求。
4 結 語
首先比較目前已有的室內(nèi)定位技術的優(yōu)缺點,重點介紹CC2431定位引擎的使用方法和CC2431定位系統(tǒng)的定位流程。完成了定位系統(tǒng)的部署,定位結果令人滿意。CC2431能夠滿足低功耗、抗干擾、準確快速定位的要求,為室內(nèi)定位提供具有競爭力的解決方案。