李飛,高瑜翔,焦啟源,李曉輝
(成都信息工程大學(xué)通信工程學(xué)院,四川成都610225)
基于AT86RF233的室內(nèi)定位系統(tǒng)
李飛,高瑜翔,焦啟源,李曉輝
(成都信息工程大學(xué)通信工程學(xué)院,四川成都610225)
為了解決室內(nèi)定位不準(zhǔn)確、成本高、安裝不方便等問題,提出了一種基于AT86RF233相位差測距的二維定位系統(tǒng)。系統(tǒng)由上位機(jī)、網(wǎng)關(guān)、基站、協(xié)調(diào)器、終端五部分組成,通過測量4個基站到終端的距離實現(xiàn)定位。由C#編寫的上位機(jī)軟件控制定位的啟動和停止,執(zhí)行定位算法和在一個圖形界面上實時顯示終端的所處位置。實驗表明本系統(tǒng)具有部署簡單、低成本、定位精度較好等優(yōu)點。
無線通信;室內(nèi)定位;相位差測距;支持自組網(wǎng)
隨著物聯(lián)網(wǎng)的日趨發(fā)展,室外定位的技術(shù)成熟和人們對高質(zhì)量生活的不斷需求,越來越多的人投入到對室內(nèi)定位的研究?,F(xiàn)在的室內(nèi)定位技術(shù)主要有:超寬帶、超聲波、紅外線、RFID,Zigbee等[1]。這些定位技術(shù)各有缺點:超寬帶定位需要基站的精準(zhǔn)時間同步,超聲波定位為滿足精度需大量底層硬件設(shè)施成本較高,紅外線定位直線視距和傳輸距離較短,RFID定位結(jié)構(gòu)復(fù)雜需要在現(xiàn)場布置大量參考標(biāo)簽,而基于信號場強(qiáng)的Zigbee定位穩(wěn)定性和精度都比較低。因此一種低成本,高精度,部署方便的室內(nèi)定位系統(tǒng)就將具有很大的意義。由于采用GPS載波相位差分技術(shù)的室外定位甚至可以在動態(tài)定位中達(dá)到厘米級的精度[2],所以本文的定位系統(tǒng)考慮通過測量無線信號發(fā)送和接收時刻相位差值計算出距離從實現(xiàn)定位。由ATEML公司設(shè)計的無線芯片AT86RF233具有支持相位差測距功能配合其官網(wǎng)相位差分測距應(yīng)用能夠容易實現(xiàn)基站對終端的距離測量,其還有價格低、體積小等優(yōu)點,所以為本系統(tǒng)首選無線芯片。
如果能夠測量出基站在i時刻發(fā)送的載波信號相位θi與定位終端在j時刻接收到的該信號相位θj的差值θj-θi和此過程中相位經(jīng)歷的整周相位數(shù)N,則有公式:
公式中d為基站與終端的距離,λ為電磁波在空氣中的傳播速度。但是在單個基站和單個終端的通信中,如何測量或消除初始相位θj和整周相位N是一個算法難點,本文中不論述該算法的原理。本系統(tǒng)是基于ATMEL公司相位差分測距應(yīng)用的二次開發(fā)。由ATMEL公司設(shè)計的2.4G收發(fā)一體的無線芯片AT86RF233支持相位差分測距功能。AT86RF233內(nèi)部PHY_PMU_VALUE寄存器值為捕獲到的載波信號相位與本地再現(xiàn)參考信號相位差值,配合對ATMEL官網(wǎng)上提供RTB(Rang tool box)軟件包里的相位差分測距LIB移植可實現(xiàn)單個基站與終端間的距離測定。
本系統(tǒng)采用4個基站,其坐標(biāo)分別為S1(x1,y1),S2(x2,y2),S3(x3,y3),S4(x4,y4);d為移動終端P(x,y)到4個基站的測量距離,可構(gòu)建如下方程:
將(3),(4),(5)分別減(2)可得方程(6),(7),(8):
對方程(6),(7),(8)采用最小二乘法求解[3]可得定位終端的坐標(biāo)為:
本文的定位系統(tǒng)如圖1,由上位機(jī)、網(wǎng)關(guān)節(jié)點、基站節(jié)點、協(xié)調(diào)器節(jié)點和定位終端節(jié)點五部分構(gòu)成。基站實現(xiàn)對定位終端的距離測定。網(wǎng)關(guān)實現(xiàn)基站和上位機(jī)的數(shù)據(jù)交互。上位機(jī)負(fù)責(zé)定位的啟動和終止定位算法的實現(xiàn)、定位結(jié)果的圖形顯示。協(xié)調(diào)器的功能等同于中繼,在遠(yuǎn)距離測距中作為基站和中繼的橋梁。
圖1 系統(tǒng)組成結(jié)構(gòu)
為實現(xiàn)小體積應(yīng)用,本系統(tǒng)主機(jī)或基站等節(jié)點僅由單片機(jī)最小系統(tǒng)、E2PROM模塊和無線模塊三部分構(gòu)成,如圖2所示。
圖2 基站節(jié)點硬件構(gòu)成
其中MCU采用ATXMEGA256A3[4-5]單片機(jī)作為控制芯片,其工作電壓為1.6~3.6 V,含有8事件通道系統(tǒng)。該功能可靈活實現(xiàn)多類外部事件觸發(fā)到多類內(nèi)部事件的硬件執(zhí)行,在應(yīng)用中提高了系統(tǒng)運(yùn)行效率。
存儲模塊芯片采用AT24C512C,其功能主要是對系統(tǒng)的配置參數(shù)(如:本機(jī)地址,信道頻率,發(fā)射功率等)進(jìn)行存儲,避免掉電后,繁瑣的重配置工作。
無線模塊芯片采用AT86RF233,其不僅支持相位差分測距還硬件支持IEEE802.15.4協(xié)議如自動應(yīng)答、協(xié)議過濾等;AT86RF233接收靈敏度為-101DBM,工作環(huán)境為-45~80度,并具有超低功耗,在深度睡眠下可低至20 na,最大功率發(fā)射下也才13.8 ma。
為減小多徑干擾的影響,AT86RF233天線分集功能支持通過對兩根天線的控制來選擇有效信號傳輸路徑,在DIG1、DIG2管腳會輸出一對差分信號用于控制天線。本系統(tǒng)中每個節(jié)點使用了一對天線,兩跟天線方向正交,通過外接射頻開關(guān)控制天線的選通。
5.1軟件結(jié)構(gòu)
本系統(tǒng)通信協(xié)議滿足IEEE802.15.4標(biāo)準(zhǔn),可方便以后將本系統(tǒng)擴(kuò)展為基于此協(xié)議的Zigbee、6Lowpan等自組網(wǎng)定位系統(tǒng)。軟件結(jié)構(gòu)如圖3所示:應(yīng)用層向底層提出或是完成測距、定位等各類應(yīng)用。MAC完成IEEE802.15.4標(biāo)準(zhǔn)指定功能包括協(xié)議格式幀數(shù)據(jù)的解析和封裝等等。內(nèi)存和隊列管里單元管理各層對內(nèi)存空間的申請使用和各類事件[6]。PHY層實現(xiàn)IEEE802.15.4規(guī)定電氣信號的物理連接等。
圖3 軟件框架
5.2定位協(xié)議
本系統(tǒng)采用自定位協(xié)議控制定位過程實現(xiàn),在通信中本協(xié)議內(nèi)容屬于IEEE802.15.4規(guī)定MPDU[7](協(xié)議數(shù)據(jù)單元的)的MSDU(服務(wù)數(shù)據(jù)單元)。每個指令的協(xié)議內(nèi)容為:首先是3字節(jié)協(xié)議ID(由LCT3個字符表示),然后是1字節(jié)指令I(lǐng)D,根據(jù)指令I(lǐng)D后面可添加定位模式、移動終端地址等字節(jié)單元,最后是1字節(jié)序列號和2字節(jié)CRC校驗。其中0x11表示手動定位模式,0x12表示自動定位模式其后面不需要接終端地址。0x22表測距成功,0x21表示測距失敗其后面不需要添加距離數(shù)據(jù)。在自動定位模式時網(wǎng)關(guān)會在不同時刻向某一基站發(fā)送相同的指令,由于各類原因很可能造成后一時刻終端返回數(shù)據(jù)是對前一刻基站指令的響應(yīng),讓基站產(chǎn)生誤判造成數(shù)據(jù)時間錯位。本設(shè)計中采用序列號對比:基站發(fā)送含序列號的指令,每次發(fā)送時序列號改變,終端返回帶序列號的數(shù)據(jù),當(dāng)雙方的序列號一致時基站判斷數(shù)據(jù)有效。協(xié)議格式如表1所示。
5.3通信防碰撞處理
由于室內(nèi)面積較小,當(dāng)兩個節(jié)點通信時,其他節(jié)點也可能同時收到它們的信息,通信碰撞不容忽略。本系統(tǒng)從3個方向進(jìn)行了防碰撞處理。
5.3.1CSMA-CA算法的執(zhí)行
IEEE802.15.4規(guī)定的MAC通信防碰撞處理機(jī)制在本系統(tǒng)中由AT86RF233芯片硬件自動完成[8]。其中心思想為:每次發(fā)送數(shù)據(jù)前對當(dāng)前信道進(jìn)行評估,如果當(dāng)前信道空閑則發(fā)送,否則隨機(jī)延遲一段時間后再次對當(dāng)前信道評估;然后重復(fù)執(zhí)行上述步驟直到重復(fù)執(zhí)行次數(shù)達(dá)到設(shè)定的最大值(AT86RF233相關(guān)寄存器可設(shè),最大次數(shù)<7)后,則不管當(dāng)前信道如何都發(fā)送數(shù)據(jù)。
表1 自定義定位協(xié)議格式
5.3.2協(xié)議類型過濾
AT86RF233有對IEEE802.15.4協(xié)議硬件過濾功能。其原理為對接收到的MAC幀頭數(shù)據(jù)解析:根據(jù)FCF字節(jié)檢查協(xié)議類型和版本號,然后將地址域里的終端地址及PAN ID等與本機(jī)匹配;當(dāng)以上條件都滿足時該幀數(shù)據(jù)通過,否則丟棄,以上功能由芯片硬件自動完成。
5.3.3軟件設(shè)計防碰撞處理
在程序中,也對防碰撞做了處理:程序設(shè)計對接收到的數(shù)據(jù)源地址進(jìn)行判斷,只有該地址為程序邏輯需求地址時數(shù)據(jù)才有效。
5.4網(wǎng)關(guān)軟件設(shè)計
網(wǎng)關(guān)初始化工作完成后,就開始監(jiān)聽上位機(jī)發(fā)送串口數(shù)據(jù)。收到停止命令時停止定位;收到啟動定位指令時,網(wǎng)關(guān)就向第一個基站發(fā)送測距指令并將測得距離數(shù)據(jù)返回給上位機(jī),接著向第二個基站測送測距指令,并依次循環(huán)。工作流程如圖4所示。
圖4 網(wǎng)關(guān)工作流程
5.5基站軟件設(shè)計
基站初始化后,AT86RF233就進(jìn)入監(jiān)聽狀態(tài);當(dāng)收到網(wǎng)關(guān)測距指令后就執(zhí)行對終端的距離測量。測距流程如圖5所示。
5.6上位機(jī)軟件設(shè)計
上位機(jī)通過串口向網(wǎng)關(guān)發(fā)送控制指令,負(fù)責(zé)定位的啟動和終止,并通過串口搜集來自網(wǎng)關(guān)的測距數(shù)據(jù)執(zhí)行定位算法和圖形顯示定位目標(biāo)的位置,軟件結(jié)構(gòu)如圖6所示。
6.1動態(tài)定位測試
在發(fā)射功率為0 dbm,室內(nèi)面積大小位為8 m*8 m的環(huán)境下,手持移動終端節(jié)點在室內(nèi)走一個圈,測試結(jié)果如圖7所示。
可以看出界面顯示了一個較為平滑的閉合圖形;說明本系統(tǒng)在較小的室內(nèi)面積下,有較好的動態(tài)定位效果。
圖5 基站工作流程
圖6 上位機(jī)工作流程
圖7 動態(tài)定位測試效果
6.2定位精準(zhǔn)度測試
在發(fā)射功率為0 dbm不使用中繼的情況下,測得單個基站的通信半徑為40 m所以估算出此情形下系統(tǒng)的無盲點定位面積為28 m*28 m。在該面積內(nèi)實施定位測量,結(jié)果如表2所示。
表2 定位測試數(shù)據(jù)
由上表可以看出在良好環(huán)境中遠(yuǎn)距離定位誤差大于近距離定位誤差,這反應(yīng)了信號強(qiáng)弱對定位精度的影響;而當(dāng)處于狹小空間復(fù)雜環(huán)境內(nèi)定位誤差隨空間大小變化不明顯,此時影響定位精度的主要因素應(yīng)是內(nèi)部環(huán)境復(fù)雜度。
本文提出的室內(nèi)定位系統(tǒng)方案僅由幾個節(jié)點就可完成,節(jié)點體積小現(xiàn)場布置容易,系統(tǒng)定位精度較好,在一些對精度要求不高的場合可以實現(xiàn)低成本應(yīng)用。且本系統(tǒng)通信協(xié)議滿足IEEE802.15.4標(biāo)準(zhǔn),軟件采用分層結(jié)構(gòu),系統(tǒng)不僅可以用于定位,也可用于個人無線局域網(wǎng)絡(luò)的實現(xiàn)。
[1]汪苑,林錦國.幾種常用室內(nèi)定位技術(shù)的探討[J].中國儀器儀表,2011(2):54-57.
[2]王廣運(yùn).載波相位差分GPS定位技術(shù)[J].測繪工程,1999,8(1):12-18.
[3]楊俊,武奇生.GPS基本原理及其Matlab仿真[M].西安:西安電子科技大學(xué)出版社,2006.
[4]蔣金元.基于多機(jī)通信的AVR單片機(jī)高級用戶板的設(shè)計與開發(fā)[D].華東師范大學(xué),2005.
[5]林登.C專家編程[M].徐波,譯.北京:人民郵電出版社,2008.
[6]陳媛,何波,涂曉紅.算法與數(shù)據(jù)結(jié)構(gòu)[M].北京:清華大學(xué)出版社,2005.
[7]電氣和電子工程師協(xié)會.IEEE 802.15.4-2006標(biāo)準(zhǔn).低速率無線個人局域網(wǎng)絡(luò)的無線多媒體接入控制及物理層規(guī)范[S].華盛頓:IEEE計算機(jī)協(xié)會,2006.
[8]Ateml公司.AT86RF233技術(shù)手冊[EB/OL].[2014-07].http:// www.atmel.com/Images/Atmel-8351-MCU_Wireless-AT86 RF233_Datasheet.pdf.
Indoor position location system based on AT86RF233
LI Fei,GAO Yu-xiang,JIAO Qi-yuan,LI Xiao-hui
(Communication Engineering Institute,Chengdu University of Information Technology,Chengdu 610225,China)
To solve problems like inaccuracy,high-cost and inconvenience of installing in indoor position system,a twodimensional indoor position system based on AT86RF233 of phase difference measurement is designed.The system consists of five parts:upper computer,gateway,base station,coordinator and terminal and it can realize the positioning by measuring the distance between four base station and terminal.The upper computer software compiled by C#controls starts and stops of location,executes position algorithm and displays real-time location of the terminal on GUI.The test shows that the system has the advantages of simple deployment,low cost and good positional accuracy.
wireless communication;indoor position location;phase difference ranging;support ad hoc networks
TN98
A
1674-6236(2016)12-0108-03
2015-07-07稿件編號:201507060
李飛(1983—),男,四川綿陽人,碩士研究生。研究方向:無線通信及移動互聯(lián)網(wǎng)。