張 穎,苗全利,劉小華,許海林
(1.上海海事大學(xué) 信息工程學(xué)院,上海 200135;2.上海杰圖軟件技術(shù)有限公司 上海 201203)
隨著科技的進(jìn)步和社會(huì)經(jīng)濟(jì)的發(fā)展,人們對(duì)定位服務(wù)的要求越來(lái)越高,傳統(tǒng)的定位系統(tǒng)已經(jīng)不能滿(mǎn)足室內(nèi)定位的需求。GPS在戶(hù)外環(huán)境的定位中應(yīng)用廣泛,但是由于混凝土等障礙物對(duì)電磁波的阻擋,它在室內(nèi)環(huán)境中是完全失效的[1]。筆者基于有源RFID技術(shù),采用PIC系列單片機(jī)PIC16F877A和TI公司的射頻收發(fā)器芯片CC2500,設(shè)計(jì)出了一種低成本、低功耗,可以適用于室內(nèi)環(huán)境的無(wú)線(xiàn)定位系統(tǒng)。
圖1 讀寫(xiě)器系統(tǒng)結(jié)構(gòu)Fig.1 System structure of the reader
RFID室內(nèi)定位系統(tǒng)由讀寫(xiě)器和標(biāo)簽組成。其中讀寫(xiě)器按照功能劃分可以分為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)讀寫(xiě)器和標(biāo)簽之間的數(shù)據(jù)傳輸。定位信息顯示模塊主要是顯示定位目標(biāo)的信息。電源模塊用來(lái)給系統(tǒng)的各個(gè)單元提供工作電源。另外,與上位機(jī)連接的讀寫(xiě)器通過(guò)RS-232串口與上位機(jī)進(jìn)行通信,所以部分讀寫(xiě)器還帶有串口通信模塊。
標(biāo)簽主要由控制模塊、射頻通信模塊、電源模塊組成,如圖2所示。
圖2 標(biāo)簽系統(tǒng)結(jié)構(gòu)Fig.2 System structure of the tag
控制模塊中的微控制器通過(guò)SPI接口與射頻收發(fā)器通信,在控制模塊的統(tǒng)一調(diào)度下,讀寫(xiě)器與標(biāo)簽節(jié)點(diǎn)之間通過(guò)無(wú)線(xiàn)射頻通信交換信息。在讀寫(xiě)器的無(wú)線(xiàn)信號(hào)覆蓋區(qū)域內(nèi),標(biāo)簽節(jié)點(diǎn)收到來(lái)自讀寫(xiě)器的廣播信號(hào)后會(huì)處于激活狀態(tài),處于激活狀態(tài)的標(biāo)簽節(jié)點(diǎn)會(huì)將自己的ID號(hào)發(fā)送給讀寫(xiě)器,然后接收讀寫(xiě)器的請(qǐng)求命令,將存儲(chǔ)于節(jié)點(diǎn)中的信息傳送給讀寫(xiě)器;或者接收讀寫(xiě)器的寫(xiě)命令,將來(lái)自讀寫(xiě)器的信息寫(xiě)入自己的存儲(chǔ)器中。
在系統(tǒng)設(shè)計(jì)中,考慮到系統(tǒng)的功耗、成本及性能等要求,選擇Microchip公司的PIC16F877A作為系統(tǒng)的微控制器。PIC16F877A是一款具有RISC結(jié)構(gòu)的16位高性能單片機(jī),內(nèi)部集成了一個(gè)在線(xiàn)調(diào)試器(In-Circuit Debugger),可以實(shí)現(xiàn)在線(xiàn)調(diào)試和在線(xiàn)編程。擁有35條單字指令,8k×14個(gè)字節(jié)的FLASH程序存儲(chǔ)器,368×8字節(jié)的RAM,8級(jí)硬件堆棧,內(nèi)部看門(mén)狗定時(shí)器,低功耗休眠模式,高達(dá)25 mA的吸入/拉出電流,外部具有3個(gè)定時(shí)器模塊,擁有10位多通道A/D轉(zhuǎn)換器,通用同步異步接收/發(fā)送器等功能模塊。它具有功耗低、驅(qū)動(dòng)能力強(qiáng)、外接電路簡(jiǎn)潔等特點(diǎn),同時(shí)具有哈佛總線(xiàn)結(jié)構(gòu)、尋址簡(jiǎn)單、指令條數(shù)少等優(yōu)點(diǎn)。
微控制器模塊主要由PIC16F877A單片機(jī)及其外圍電路組成。其電路原理圖如圖3所示。在讀寫(xiě)器系統(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ī)外圍電路原理圖Fig.3 Schematic of the circuit around single-chip microcontroller
考慮到功耗、接收靈敏度、傳輸速率和芯片成本等因素,系統(tǒng)采用了TI公司的無(wú)線(xiàn)射頻收發(fā)芯片CC2500作為無(wú)線(xiàn)通信模塊控制器。CC2500是TI公司推出的一款低成本、低功耗、體積小的2.4 GHz無(wú)線(xiàn)通信頻段的收發(fā)器,工作頻率波段為2 400~2 483.5 MHz。RF收發(fā)器集成了一個(gè)數(shù)據(jù)傳輸率可達(dá)500 kbit/s的高度,可配置的調(diào)制解調(diào)器和一個(gè)64位傳輸/接收FIFO(先進(jìn)先出堆棧)。CC2500的寄存器配置可通過(guò)SPI接口控制。它具有載波監(jiān)聽(tīng)和休眠模式,非常適合低功耗應(yīng)用[2-3]。
射頻通信模塊主要由CC2500收發(fā)器、傳輸與接收天線(xiàn)及其外圍濾波、匹配網(wǎng)絡(luò)組成,其中天線(xiàn)采用了Rainsun公司的貼片天線(xiàn),系統(tǒng)電路原理圖如圖4所示。
CC2500通過(guò) 4線(xiàn) SPI兼容接口(SI,SO,SCLK 和 CSN)與PIC16F877A相連,這個(gè)接口用作寫(xiě)入和讀取數(shù)據(jù)。SI為數(shù)據(jù)輸入線(xiàn),SO為數(shù)據(jù)輸出線(xiàn),SCLK為時(shí)鐘線(xiàn),CSN為片選信號(hào)線(xiàn),低電平有效。SPI接口的狀態(tài)控制線(xiàn)還包含一個(gè)讀/寫(xiě)信號(hào)控制線(xiàn)。CC2500的狀態(tài)寄存器里指示一些系統(tǒng)的工作狀態(tài)信息。
RFID室內(nèi)定位系統(tǒng)一般主要布置在樓宇、倉(cāng)儲(chǔ)建筑物等的內(nèi)部,有些具有移動(dòng)性,所以節(jié)點(diǎn)大多數(shù)需要采用電池供電,在元器件的選取中,盡量選擇低功耗器件以降低系統(tǒng)功耗,2.4~3.6 V的電壓可以使系統(tǒng)中所有的器件和模塊正常工作。因此,實(shí)際中采用與之電壓匹配的高能紐扣鋰電池作為供電電源。
在設(shè)計(jì)2.45 GHz的RFID系統(tǒng)時(shí)要考慮電磁兼容性(EMC),以保證讀寫(xiě)器和標(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)線(xiàn)同樣具有阻抗、電感、電容特性,因此在PCB布局和布線(xiàn)也考慮了電磁兼容性等問(wèn)題。布局是按照信號(hào)流程放置元件,盡量縮短元件之間的連接,CC2500底部通過(guò)多個(gè)過(guò)孔與地層連接。濾波電容盡量靠近器件放置,同時(shí),為了抗電磁干擾,把數(shù)字電源和模擬電源、數(shù)字地和模擬地隔離開(kāi)來(lái)。RFID定位系統(tǒng)節(jié)點(diǎn)的布設(shè)位置應(yīng)盡量避開(kāi)高大障礙物,以減少對(duì)電磁波的阻隔,影響傳輸性能。
圖4 CC2500外圍電路原理圖Fig.4 Schematic of the circuit around CC2500
本RFID定位系統(tǒng)采用LANDMARC定位原理。LANDMARC定位算法適用于有源RFID室內(nèi)定位。它將具有固定位置信息的標(biāo)簽作為定位系統(tǒng)中的坐標(biāo)參考點(diǎn),通過(guò)參考點(diǎn)標(biāo)簽與移動(dòng)讀寫(xiě)器之間的通信,獲取兩者之間的無(wú)線(xiàn)射頻信號(hào)強(qiáng)度值RSSI,繼而獲取讀寫(xiě)器與多個(gè)參考標(biāo)簽之間的RSSI值,根據(jù)RSSI與通信距離之間的對(duì)應(yīng)關(guān)系,獲取讀寫(xiě)器與多個(gè)參考標(biāo)簽之間的距離關(guān)系。LANDMARC算法可以通過(guò)比較讀寫(xiě)器與參考標(biāo)簽之間RSSI值的大小來(lái)獲得離讀寫(xiě)器距離最近的幾個(gè)參考標(biāo)簽,然后根據(jù)這幾個(gè)最鄰近參考標(biāo)簽的坐標(biāo),并結(jié)合它們的權(quán)重,可計(jì)算出讀寫(xiě)器的坐標(biāo)。
無(wú)線(xiàn)信號(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ā)射器1 m時(shí)接收到信號(hào)平均能量的絕對(duì)值。如平均接收能量為-40 dBm,那么參數(shù)A被定為40。射頻參數(shù)n指出了信號(hào)能量隨著距收發(fā)器距離增加而衰減的速率,其數(shù)值的大小取決于無(wú)線(xiàn)信號(hào)傳播的環(huán)境[4]。
RSSI值受周?chē)h(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)的誤差[5],如式(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)大概為 11 dBm,A 取值 45,n取值 3.5。
在采集到RSSI值后,依據(jù)式(2)就可以得到讀寫(xiě)器到標(biāo)簽的距離,通過(guò)LANDMARC三邊測(cè)量定位算法就可以定位出讀寫(xiě)器的位置。如圖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),讀寫(xiě)器坐標(biāo)為 p(x,y)。 則讀寫(xiě)器坐標(biāo)計(jì)算公式為[6]:
由式(2)可以計(jì)算出讀寫(xiě)器的坐標(biāo)位置為:
圖5 三邊測(cè)量定位示意圖Fig.5 Schematic diagram of locating by three-side measurement
定位算法以MPLAB IDE 7.4為開(kāi)發(fā)平臺(tái),采用C語(yǔ)言編寫(xiě),經(jīng)過(guò)編譯、連接后生成機(jī)器代碼,下載到讀寫(xiě)器程序存儲(chǔ)器中。RFID定位系統(tǒng)軟件流程圖如圖6所示。
圖6 定位系統(tǒng)流程圖Fig.6 Flow chart of locating system
筆者介紹了一種基于PIC16F877A和CC2500的有源RFID讀寫(xiě)器和標(biāo)簽的硬件系統(tǒng)設(shè)計(jì)及室內(nèi)RFID定位方法,對(duì)讀寫(xiě)器和標(biāo)簽系統(tǒng)的各個(gè)模塊及運(yùn)行于讀寫(xiě)器中的定位算法及其工作流程進(jìn)行了詳細(xì)介紹。該有源RFID定位系統(tǒng)在小規(guī)模的室內(nèi)實(shí)驗(yàn)中表現(xiàn)出較好的定位精度。
[1]Carroll M,Wysocki T A.Fading characteristics for indoor wireless channels at 5GHz unlicensed bands [C]//in Proc.SympoTIC'03,the Joint First Workshop on Mobile Future and Symposium on Trends in Communications, Bratislava,Slovakia, 2003:102-105.
[2]Rabaey J M, Ammer M J, da Silva J L Jr, et al.PicoRadio supports ad hoc ultra-low power wireless networking[J].Computer, 2000, 33 (7): 42-48.
[3]Texas Instruments,CC2500 Datasheet[R].2007
[4]Savarese C,Rabaey J M,Beutel J.Locating in distributed ad-hoc wireless sensor network[C]//Proc.of the 2001 IEEE International Conference on Acoustics, Speech, and Signal Processing, SaltLake City: IEEE SignalProcessing Society, 2001(4): 2037-2040.
[5]Bulusu N, Heidemann J, Estrin D, GPS-less low cost outdoor localization for very small devices [J].IEEE Personal Communications, 2000, 7 (5): 28-34.
[6]孫俞,射頻識(shí)別(RFID)室內(nèi)定位算法研究[D].成都:西南交通大學(xué),2005.