《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 基于RFID的室內(nèi)定位系統(tǒng)設(shè)計(jì)
基于RFID的室內(nèi)定位系統(tǒng)設(shè)計(jì)
Icbuy
Icbuy
摘要: RFID讀寫器和標(biāo)簽系統(tǒng)均采用低功耗MCU芯片PIC16F877A作為核心控制單元,以低功耗無(wú)線射頻收發(fā)器芯片CC2500為核心配合外圍濾波器和天線等構(gòu)成系統(tǒng)的通信單元。在讀寫器與標(biāo)簽進(jìn)行數(shù)據(jù)通信的過(guò)程中,通過(guò)獲取RSSI(ReceivedSignalStrengthIndicator,接收信號(hào)強(qiáng)度指示)信號(hào)推測(cè)出讀寫器與標(biāo)簽之間的距離,在獲得來(lái)自于多個(gè)具有固定位置信息的標(biāo)簽的RSSI信號(hào)后,可以實(shí)現(xiàn)對(duì)讀寫器的無(wú)線定位。實(shí)驗(yàn)結(jié)果表明,該系統(tǒng)在室內(nèi)環(huán)境中能夠?qū)崿F(xiàn)較高精度的無(wú)線區(qū)域定位。
Abstract:
Key words :
  RFID讀寫器和標(biāo)簽系統(tǒng)均采用低功耗MCU芯片PIC16F877A作為核心控制單元,以低功耗無(wú)線射頻收發(fā)器芯片CC2500為核心配合外圍濾波器和天線等構(gòu)成系統(tǒng)的通信單元。在讀寫器與標(biāo)簽進(jìn)行數(shù)據(jù)通信的過(guò)程中,通過(guò)獲取RSSI(ReceivedSignalStrengthIndicator,接收信號(hào)強(qiáng)度指示)信號(hào)推測(cè)出讀寫器與標(biāo)簽之間的距離,在獲得來(lái)自于多個(gè)具有固定位置信息的標(biāo)簽的RSSI信號(hào)后,可以實(shí)現(xiàn)對(duì)讀寫器的無(wú)線定位。實(shí)驗(yàn)結(jié)果表明,該系統(tǒng)在室內(nèi)環(huán)境中能夠?qū)崿F(xiàn)較高精度的無(wú)線區(qū)域定位。

  隨著科技的進(jìn)步和社會(huì)經(jīng)濟(jì)的發(fā)展,人們對(duì)定位服務(wù)的要求越來(lái)越高,傳統(tǒng)的定位系統(tǒng)已經(jīng)不能滿足室內(nèi)定位的需求。GPS在戶外環(huán)境的定位中應(yīng)用廣泛,但是由于混凝土等障礙物對(duì)電磁波的阻擋,它在室內(nèi)環(huán)境中是完全失效的。筆者基于有源RFID技術(shù),采用PIC系列單片機(jī)PIC16F877A和TI公司的射頻收發(fā)器芯片CC2500,設(shè)計(jì)出了一種低成本、低功耗,可以適用于室內(nèi)環(huán)境的無(wú)線定位系統(tǒng)。

  1總體設(shè)計(jì)

  RFID室內(nèi)定位系統(tǒng)由讀寫器和標(biāo)簽組成。其中讀寫器按照功能劃分可以分為4個(gè)模塊,如圖1所示。分別是控制模塊、射頻通信模塊、定位信息顯示模塊、電源模塊??刂颇K負(fù)責(zé)控制系統(tǒng)的運(yùn)行,包括對(duì)各種外設(shè)的控制,以及完成定位算法的運(yùn)行等。射頻通信模塊負(fù)責(zé)數(shù)據(jù)的收發(fā),采用ASK調(diào)制方式,實(shí)現(xiàn)讀寫器和標(biāo)簽之間的數(shù)據(jù)傳輸。定位信息顯示模塊主要是顯示定位目標(biāo)的信息。電源模塊用來(lái)給系統(tǒng)的各個(gè)單元提供工作電源。另外,與上位機(jī)連接的讀寫器通過(guò)RS-232串口與上位機(jī)進(jìn)行通信,所以部分讀寫器還帶有串口通信模塊。

圖1讀寫器系統(tǒng)結(jié)構(gòu)

  標(biāo)簽主要由控制模塊、射頻通信模塊、電源模塊組成,如圖2所示。

圖2標(biāo)簽系統(tǒng)結(jié)構(gòu)

  控制模塊中的微控制器通過(guò)SPI接口與射頻收發(fā)器通信,在控制模塊的統(tǒng)一調(diào)度下,讀寫器與標(biāo)簽節(jié)點(diǎn)之間通過(guò)無(wú)線射頻通信交換信息。在讀寫器的無(wú)線信號(hào)覆蓋區(qū)域內(nèi),標(biāo)簽節(jié)點(diǎn)收到來(lái)自讀寫器的廣播信號(hào)后會(huì)處于激活狀態(tài),處于激活狀態(tài)的標(biāo)簽節(jié)點(diǎn)會(huì)將自己的ID號(hào)發(fā)送給讀寫器,然后接收讀寫器的請(qǐng)求命令,將存儲(chǔ)于節(jié)點(diǎn)中的信息傳送給讀寫器;或者接收讀寫器的寫命令,將來(lái)自讀寫器的信息寫入自己的存儲(chǔ)器中。

  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)部集成了一個(gè)在線調(diào)試器(In-CircuitDebugger),可以實(shí)現(xiàn)在線調(diào)試和在線編程。擁有35條單字指令,8k×14個(gè)字節(jié)的FLASH程序存儲(chǔ)器,368×8字節(jié)的RAM,8級(jí)硬件堆棧,內(nèi)部看門狗定時(shí)器,低功耗休眠模式,高達(dá)25mA的吸入/拉出電流,外部具有3個(gè)定時(shí)器模塊,擁有10位多通道A/D轉(zhuǎn)換器,通用同步異步接收/發(fā)送器等功能模塊。它具有功耗低、驅(qū)動(dòng)能力強(qiáng)、外接電路簡(jiǎn)潔等特點(diǎn),同時(shí)具有哈佛總線結(jié)構(gòu)、尋址簡(jiǎn)單、指令條數(shù)少等優(yōu)點(diǎn)。

  微控制器模塊主要由PIC16F877A單片機(jī)及其外圍電路組成。其電路原理圖如圖3所示。在讀寫器系統(tǒng)在中,PIC16F877A的RB0~RB3及RC7,RD4~RD7用作向顯示模塊發(fā)送顯示數(shù)據(jù)的通信接口;OSC1和OSC2擴(kuò)展外部時(shí)鐘電路;PIC16F877A單片機(jī)通過(guò)SPI接口設(shè)置CC2500的工作參數(shù)并與CC2500交換數(shù)據(jù)。

圖3單片機(jī)外圍電路原理圖

  2.2射頻通信模塊

  考慮到功耗、接收靈敏度、傳輸速率和芯片成本等因素,系統(tǒng)采用了TI公司的無(wú)線射頻收發(fā)芯片CC2500作為無(wú)線通信模塊控制器。CC2500是TI公司推出的一款低成本、低功耗、體積小的2.4GHz無(wú)線通信頻段的收發(fā)器,工作頻率波段為2400~2483.5MHz。RF收發(fā)器集成了一個(gè)數(shù)據(jù)傳輸率可達(dá)500kbit/s的高度,可配置的調(diào)制解調(diào)器和一個(gè)64位傳輸/接收FIFO(先進(jìn)先出堆棧)。CC2500的寄存器配置可通過(guò)SPI接口控制。它具有載波監(jiān)聽和休眠模式,非常適合低功耗應(yīng)用。

  射頻通信模塊主要由CC2500收發(fā)器、傳輸與接收天線及其外圍濾波、匹配網(wǎng)絡(luò)組成,其中天線采用了Rainsun公司的貼片天線,系統(tǒng)電路原理圖如圖4所示。

圖4CC2500外圍電路原理圖

  CC2500通過(guò)4線SPI兼容接口(SI,SO,SCLK和CSN)與PIC16F877A相連,這個(gè)接口用作寫入和讀取數(shù)據(jù)。SI為數(shù)據(jù)輸入線,SO為數(shù)據(jù)輸出線,SCLK為時(shí)鐘線,CSN為片選信號(hào)線,低電平有效。SPI接口的狀態(tài)控制線還包含一個(gè)讀/寫信號(hào)控制線。CC2500的狀態(tài)寄存器里指示一些系統(tǒng)的工作狀態(tài)信息。

  2.3電源模塊

  RFID室內(nèi)定位系統(tǒng)一般主要布置在樓宇、倉(cāng)儲(chǔ)建筑物等的內(nèi)部,有些具有移動(dòng)性,所以節(jié)點(diǎn)大多數(shù)需要采用電池供電,在元器件的選取中,盡量選擇低功耗器件以降低系統(tǒng)功耗,2.4~3.6V的電壓可以使系統(tǒng)中所有的器件和模塊正常工作。因此,實(shí)際中采用與之電壓匹配的高能紐扣鋰電池作為供電電源。

  2.4電磁兼容與抗干擾設(shè)計(jì)

  在設(shè)計(jì)2.45GHz的RFID系統(tǒng)時(shí)要考慮電磁兼容性(EMC),以保證讀寫器和標(biāo)簽在設(shè)定的電磁環(huán)境和規(guī)定的安全界限內(nèi)運(yùn)行。在系統(tǒng)設(shè)計(jì)中,元件的選擇和電路設(shè)計(jì)是影響電磁兼容的重要因素,對(duì)于射頻通信模塊需要去耦電容來(lái)去除元件狀態(tài)轉(zhuǎn)換引起的噪聲電壓,并且要注意信號(hào)源和信號(hào)終端的阻抗匹配。PCB上的導(dǎo)線同樣具有阻抗、電感、電容特性,因此在PCB布局和布線也考慮了電磁兼容性等問題。布局是按照信號(hào)流程放置元件,盡量縮短元件之間的連接,CC2500底部通過(guò)多個(gè)過(guò)孔與地層連接。濾波電容盡量靠近器件放置,同時(shí),為了抗電磁干擾,把數(shù)字電源和模擬電源、數(shù)字地和模擬地隔離開來(lái)。RFID定位系統(tǒng)節(jié)點(diǎn)的布設(shè)位置應(yīng)盡量避開高大障礙物,以減少對(duì)電磁波的阻隔,影響傳輸性能。

  3系統(tǒng)軟件設(shè)計(jì)

  3.1定位算法的選擇

  本RFID定位系統(tǒng)采用LANDMARC定位原理。LANDMARC定位算法適用于有源RFID室內(nèi)定位。它將具有固定位置信息的標(biāo)簽作為定位系統(tǒng)中的坐標(biāo)參考點(diǎn),通過(guò)參考點(diǎn)標(biāo)簽與移動(dòng)讀寫器之間的通信,獲取兩者之間的無(wú)線射頻信號(hào)強(qiáng)度值RSSI,繼而獲取讀寫器與多個(gè)參考標(biāo)簽之間的RSSI值,根據(jù)RSSI與通信距離之間的對(duì)應(yīng)關(guān)系,獲取讀寫器與多個(gè)參考標(biāo)簽之間的距離關(guān)系。LANDMARC算法可以通過(guò)比較讀寫器與參考標(biāo)簽之間RSSI值的大小來(lái)獲得離讀寫器距離最近的幾個(gè)參考標(biāo)簽,然后根據(jù)這幾個(gè)最鄰近參考標(biāo)簽的坐標(biāo),并結(jié)合它們的權(quán)重,可計(jì)算出讀寫器的坐標(biāo)。

  3.2RFID定位算法

  無(wú)線信號(hào)的接收信號(hào)強(qiáng)度和信號(hào)傳輸距離的關(guān)系可以用式(1)來(lái)表示,其中RSSI是接收信號(hào)強(qiáng)度,d是收發(fā)節(jié)點(diǎn)之間的距離,n是信號(hào)傳播因子。

  由式(1)中可以看出,常數(shù)A和n的值決定了接收信號(hào)強(qiáng)度和信號(hào)傳輸距離的關(guān)系。射頻參數(shù)A和n用于描述網(wǎng)絡(luò)操作環(huán)境。射頻參數(shù)A被定義為用dBm表示的距發(fā)射器1m時(shí)接收到信號(hào)平均能量的絕對(duì)值。如平均接收能量為-40dBm,那么參數(shù)A被定為40。射頻參數(shù)n指出了信號(hào)能量隨著距收發(fā)器距離增加而衰減的速率,其數(shù)值的大小取決于無(wú)線信號(hào)傳播的環(huán)境。

  RSSI值受周圍環(huán)境的影響較大,具有時(shí)變特性,有時(shí)會(huì)偏離式(1)的描述,根據(jù)接收信號(hào)強(qiáng)度估計(jì)出的距離d就會(huì)有較大誤差。通過(guò)大量數(shù)據(jù)分析,采用了-個(gè)噪聲模型,即環(huán)境衰減因素模型,可有效補(bǔ)償環(huán)境影響帶來(lái)的誤差,如式(2)所示。

  上式中EAF(dBm)為環(huán)境影響因素,它的值取決于室內(nèi)環(huán)境,是靠大量的數(shù)據(jù)累積的經(jīng)驗(yàn)值。EAF(dBm)是一個(gè)隨機(jī)變量,但為了增強(qiáng)實(shí)用性,將其固定為-個(gè)值。通過(guò)大量比較實(shí)驗(yàn)環(huán)境下測(cè)得的RSSI值與理想狀態(tài)下的RSSI值,得到試驗(yàn)環(huán)境EAF(dBm)大概為11dBm,A取值45,n取值3.5。

  在采集到RSSI值后,依據(jù)式(2)就可以得到讀寫器到標(biāo)簽的距離,通過(guò)LANDMARC三邊測(cè)量定位算法就可以定位出讀寫器的位置。如圖5所示。

圖5三邊測(cè)量定位示意圖

  假設(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.3RFID定位系統(tǒng)的工作流程

  定位算法以MPLABIDE7.4為開發(fā)平臺(tái),采用C語(yǔ)言編寫,經(jīng)過(guò)編譯、連接后生成機(jī)器代碼,下載到讀寫器程序存儲(chǔ)器中。RFID定位系統(tǒng)軟件流程圖如圖6所示。

圖6定位系統(tǒng)流程圖

  4結(jié)束語(yǔ)。

  筆者介紹了一種基于PIC16F877A和CC2500的有源RFID讀寫器和標(biāo)簽的硬件系統(tǒng)設(shè)計(jì)及室內(nèi)RFID定位方法,對(duì)讀寫器和標(biāo)簽系統(tǒng)的各個(gè)模塊及運(yùn)行于讀寫器中的定位算法及其工作流程進(jìn)行了詳細(xì)介紹。該有源RFID定位系統(tǒng)在小規(guī)模的室內(nèi)實(shí)驗(yàn)中表現(xiàn)出較好的定位精度。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。