摘要:針對室內(nèi)無線區(qū)域定位的需求,設(shè)計(jì)了基于有源RFID(Radio Frequency Identification)技術(shù)的無線定位系統(tǒng)。
RFID 讀寫器和標(biāo)簽系統(tǒng)均采用低功耗MCU 芯片PIC16F877A 作為核心控制單元, 以低功耗無線射頻收發(fā)器芯片CC2500 為核心配合外圍濾波器和天線等構(gòu)成系統(tǒng)的通信單元。在讀寫器與標(biāo)簽進(jìn)行數(shù)據(jù)通信的過程中, 通過獲取RSSI(Received Signal Strength Indicator,接收信號強(qiáng)度指示)信號推測出讀寫器與標(biāo)簽之間的距離,在獲得來自于多個具有固定位置信息的標(biāo)簽的RSSI 信號后,可以實(shí)現(xiàn)對讀寫器的無線定位。實(shí)驗(yàn)結(jié)果表明,該系統(tǒng)在室內(nèi)環(huán)境中能夠?qū)崿F(xiàn)較高精度的無線區(qū)域定位。
隨著科技的進(jìn)步和社會經(jīng)濟(jì)的發(fā)展,人們對定位服務(wù)的要求越來越高,傳統(tǒng)的定位系統(tǒng)已經(jīng)不能滿足室內(nèi)定位的需求。GPS 在戶外環(huán)境的定位中應(yīng)用廣泛,但是由于混凝土等障礙物對電磁波的阻擋,它在室內(nèi)環(huán)境中是完全失效的。筆者基于有源RFID 技術(shù),采用PIC 系列單片機(jī)PIC16F877A 和TI 公司的射頻收發(fā)器芯片CC2500,設(shè)計(jì)出了一種低成本、低功耗,可以適用于室內(nèi)環(huán)境的無線定位系統(tǒng)。
1 總體設(shè)計(jì)
RFID 室內(nèi)定位系統(tǒng)由讀寫器和標(biāo)簽組成。其中讀寫器按照功能劃分可以分為4 個模塊,如圖1 所示。分別是控制模塊、射頻通信模塊、定位信息顯示模塊、電源模塊?刂颇K負(fù)責(zé)控制系統(tǒng)的運(yùn)行,包括對各種外設(shè)的控制,以及完成定位算法的運(yùn)行等。射頻通信模塊負(fù)責(zé)數(shù)據(jù)的收發(fā), 采用ASK 調(diào)制方式,實(shí)現(xiàn)讀寫器和標(biāo)簽之間的數(shù)據(jù)傳輸。定位信息顯示模塊主要是顯示定位目標(biāo)的信息。電源模塊用來給系統(tǒng)的各個單元提供工作電源。另外,與上位機(jī)連接的讀寫器通過RS-232 串口與上位機(jī)進(jìn)行通信, 所以部分讀寫器還帶有串口通信模塊。
圖1 讀寫器系統(tǒng)結(jié)構(gòu)
標(biāo)簽主要由控制模塊、射頻通信模塊、電源模塊組成,如圖2 所示。
圖2 標(biāo)簽系統(tǒng)結(jié)構(gòu)
控制模塊中的微控制器通過SPI 接口與射頻收發(fā)器通信,在控制模塊的統(tǒng)一調(diào)度下,讀寫器與標(biāo)簽節(jié)點(diǎn)之間通過無線射頻通信交換信息。在讀寫器的無線信號覆蓋區(qū)域內(nèi),標(biāo)簽節(jié)點(diǎn)收到來自讀寫器的廣播信號后會處于激活狀態(tài),處于激活狀態(tài)的標(biāo)簽節(jié)點(diǎn)會將自己的ID 號發(fā)送給讀寫器,然后接收讀寫器的請求命令,將存儲于節(jié)點(diǎn)中的信息傳送給讀寫器;或者接收讀寫器的寫命令,將來自讀寫器的信息寫入自己的存儲器中。
2 系統(tǒng)硬件設(shè)計(jì)
2.1 控制器部分
在系統(tǒng)設(shè)計(jì)中,考慮到系統(tǒng)的功耗、成本及性能等要求,選擇Microchip 公司的PIC16F877A 作為系統(tǒng)的微控制器。
PIC16F877A 是一款具有RISC 結(jié)構(gòu)的16 位高性能單片機(jī),內(nèi)部集成了一個在線調(diào)試器(In-Circuit Debugger),可以實(shí)現(xiàn)在線調(diào)試和在線編程。擁有35 條單字指令,8k×14 個字節(jié)的FLASH 程序存儲器,368×8 字節(jié)的RAM,8 級硬件堆棧,內(nèi)部看門狗定時器,低功耗休眠模式,高達(dá)25 mA 的吸入/拉出電流, 外部具有3 個定時器模塊, 擁有10 位多通道A/D 轉(zhuǎn)換器,通用同步異步接收/發(fā)送器等功能模塊。它具有功耗低、驅(qū)動能力強(qiáng)、外接電路簡潔等特點(diǎn),同時具有哈佛總線結(jié)構(gòu)、尋址簡單、指令條數(shù)少等優(yōu)點(diǎn)。
微控制器模塊主要由PIC16F877A 單片機(jī)及其外圍電路組成。其電路原理圖如圖3 所示。在讀寫器系統(tǒng)在中,PIC16F877A 的RB0~RB3 及RC7,RD4~RD7 用作向顯示模塊發(fā)送顯示數(shù)據(jù)的通信接口;OSC1 和OSC2 擴(kuò)展外部時鐘電路;PIC16F877A 單片機(jī)通過SPI 接口設(shè)置CC2500 的工作參數(shù)并與CC2500 交換數(shù)據(jù)。
圖3 單片機(jī)外圍電路原理圖
2.2 射頻通信模塊
考慮到功耗、接收靈敏度、傳輸速率和芯片成本等因素,系統(tǒng)采用了TI 公司的無線射頻收發(fā)芯片CC2500 作為無線通信模塊控制器。CC2500 是TI 公司推出的一款低成本、低功耗、體積小的2.4 GHz 無線通信頻段的收發(fā)器,工作頻率波段為2400~2 483.5 MHz。RF 收發(fā)器集成了一個數(shù)據(jù)傳輸率可達(dá)500kbit/s 的高度, 可配置的調(diào)制解調(diào)器和一個64 位傳輸/接收FIFO(先進(jìn)先出堆棧)。CC2500 的寄存器配置可通過SPI 接口控制。它具有載波監(jiān)聽和休眠模式,非常適合低功耗應(yīng)用。
射頻通信模塊主要由CC2500 收發(fā)器、傳輸與接收天線及其外圍濾波、匹配網(wǎng)絡(luò)組成,其中天線采用了Rainsun 公司的貼片天線,系統(tǒng)電路原理圖如圖4 所示。
圖4 CC2500 外圍電路原理圖
CC2500 通過4 線SPI 兼容接口(SI,SO,SCLK 和CSN)與PIC16F877A 相連,這個接口用作寫入和讀取數(shù)據(jù)。SI 為數(shù)據(jù)輸入線,SO 為數(shù)據(jù)輸出線,SCLK 為時鐘線,CSN 為片選信號線,低電平有效。SPI 接口的狀態(tài)控制線還包含一個讀/寫信號控制線。CC2500 的狀態(tài)寄存器里指示一些系統(tǒng)的工作狀態(tài)信息。
2.3 電源模塊
RFID 室內(nèi)定位系統(tǒng)一般主要布置在樓宇、倉儲建筑物等的內(nèi)部,有些具有移動性,所以節(jié)點(diǎn)大多數(shù)需要采用電池供電,在元器件的選取中,盡量選擇低功耗器件以降低系統(tǒng)功耗,2.4~3.6 V 的電壓可以使系統(tǒng)中所有的器件和模塊正常工作。因此,實(shí)際中采用與之電壓匹配的高能紐扣鋰電池作為供電電源。
2.4 電磁兼容與抗干擾設(shè)計(jì)
在設(shè)計(jì)2.45 GHz 的RFID 系統(tǒng)時要考慮電磁兼容性(EMC),以保證讀寫器和標(biāo)簽在設(shè)定的電磁環(huán)境和規(guī)定的安全界限內(nèi)運(yùn)行。在系統(tǒng)設(shè)計(jì)中,元件的選擇和電路設(shè)計(jì)是影響電磁兼容的重要因素,對于射頻通信模塊需要去耦電容來去除元件狀態(tài)轉(zhuǎn)換引起的噪聲電壓,并且要注意信號源和信號終端的阻抗匹配。PCB 上的導(dǎo)線同樣具有阻抗、電感、電容特性,因此在PCB 布局和布線也考慮了電磁兼容性等問題。布局是按照信號流程放置元件, 盡量縮短元件之間的連接,CC2500 底部通過多個過孔與地層連接。濾波電容盡量靠近器件放置,同時,為了抗電磁干擾,把數(shù)字電源和模擬電源、數(shù)字地和模擬地隔離開來。RFID 定位系統(tǒng)節(jié)點(diǎn)的布設(shè)位置應(yīng)盡量避開高大障礙物,以減少對電磁波的阻隔,影響傳輸性能。
3 系統(tǒng)軟件設(shè)計(jì)
3.1 定位算法的選擇
本RFID 定位系統(tǒng)采用LANDMARC 定位原理。LANDMARC定位算法適用于有源RFID 室內(nèi)定位。它將具有固定位置信息的標(biāo)簽作為定位系統(tǒng)中的坐標(biāo)參考點(diǎn),通過參考點(diǎn)標(biāo)簽與移動讀寫器之間的通信,獲取兩者之間的無線射頻信號強(qiáng)度值RSSI, 繼而獲取讀寫器與多個參考標(biāo)簽之間的RSSI 值,根據(jù)RSSI 與通信距離之間的對應(yīng)關(guān)系,獲取讀寫器與多個參考標(biāo)簽之間的距離關(guān)系。LANDMARC 算法可以通過比較讀寫器與參考標(biāo)簽之間RSSI 值的大小來獲得離讀寫器距離最近的幾個參考標(biāo)簽,然后根據(jù)這幾個最鄰近參考標(biāo)簽的坐標(biāo),并結(jié)合它們的權(quán)重,可計(jì)算出讀寫器的坐標(biāo)。
3.2 RFID 定位算法
無線信號的接收信號強(qiáng)度和信號傳輸距離的關(guān)系可以用式(1)來表示,其中RSSI 是接收信號強(qiáng)度,d 是收發(fā)節(jié)點(diǎn)之間的距離,n 是信號傳播因子。
由式(1)中可以看出,常數(shù)A 和n 的值決定了接收信號強(qiáng)度和信號傳輸距離的關(guān)系。射頻參數(shù)A 和n 用于描述網(wǎng)絡(luò)操作環(huán)境。射頻參數(shù)A 被定義為用dBm 表示的距發(fā)射器1 m時接收到信號平均能量的絕對值。如平均接收能量為-40dBm,那么參數(shù)A 被定為40。射頻參數(shù)n 指出了信號能量隨著距收發(fā)器距離增加而衰減的速率,其數(shù)值的大小取決于無線信號傳播的環(huán)境。
RSSI 值受周圍環(huán)境的影響較大,具有時變特性,有時會偏離式(1)的描述,根據(jù)接收信號強(qiáng)度估計(jì)出的距離d 就會有較大誤差。通過大量數(shù)據(jù)分析,采用了-個噪聲模型,即環(huán)境衰減因素模型,可有效補(bǔ)償環(huán)境影響帶來的誤差,如式(2)所示。
上式中EAF(dBm)為環(huán)境影響因素,它的值取決于室內(nèi)環(huán)境,是靠大量的數(shù)據(jù)累積的經(jīng)驗(yàn)值。EAF(dBm)是一個隨機(jī)變量,但為了增強(qiáng)實(shí)用性,將其固定為-個值。通過大量比較實(shí)驗(yàn)環(huán)境下測得的RSSI 值與理想狀態(tài)下的RSSI 值,得到試驗(yàn)環(huán)境EAF(dBm)大概為11 dBm,A 取值45,n 取值3.5。
在采集到RSSI 值后,依據(jù)式(2)就可以得到讀寫器到標(biāo)簽的距離, 通過LANDMARC 三邊測量定位算法就可以定位出讀寫器的位置。如圖5 所示。
圖5 三邊測量定位示意圖
假設(shè)標(biāo)簽1 的坐標(biāo)為p1(x1,y1),標(biāo)簽2 的坐標(biāo)為p2(x2,y2),標(biāo)簽3 的坐標(biāo)為p3(x3,y3),讀寫器坐標(biāo)為p(x,y)。則讀寫器坐標(biāo)計(jì)算公式為:
由式(2)可以計(jì)算出讀寫器的坐標(biāo)位置為:
3.3 RFID 定位系統(tǒng)的工作流程
定位算法以MPLAB IDE 7.4 為開發(fā)平臺,采用C 語言編寫,經(jīng)過編譯、連接后生成機(jī)器代碼,下載到讀寫器程序存儲器中。RFID 定位系統(tǒng)軟件流程圖如圖6 所示。
圖6 定位系統(tǒng)流程圖
4 結(jié)束語。
筆者介紹了一種基于PIC16F877A 和CC2500 的有源RFID 讀寫器和標(biāo)簽的硬件系統(tǒng)設(shè)計(jì)及室內(nèi)RFID 定位方法,對讀寫器和標(biāo)簽系統(tǒng)的各個模塊及運(yùn)行于讀寫器中的定位算法及其工作流程進(jìn)行了詳細(xì)介紹。該有源RFID 定位系統(tǒng)在小規(guī)模的室內(nèi)實(shí)驗(yàn)中表現(xiàn)出較好的定位精度。
作者:張穎 苗全利 劉小華 許海林 來源:《電子設(shè)計(jì)工程》
免責(zé)聲明:本文僅代表作者個人觀點(diǎn),與C114中國通信網(wǎng)無關(guān)。其原創(chuàng)性以及文中陳述文字和內(nèi)容未經(jīng)本站證實(shí),對本文以及其中全部或者部分內(nèi)容、文字的真實(shí)性、完整性、及時性本站不作任何保證或承諾,請讀者僅作參考,并請自行核實(shí)相關(guān)內(nèi)容。