基于二進制防碰撞算法的RFID定位系統(tǒng)的設(shè)計
摘要:設(shè)計了一種以PIC16F877A為主控芯片的RFID定位系統(tǒng),以低成本、低功耗的2.4 GHz CC2500作為射頻收發(fā)芯片。從硬件電路設(shè)計和軟件設(shè)計實現(xiàn)方面闡述了RFID定位系統(tǒng)設(shè)計的基本流程,并在CC2500的硬件功能基礎(chǔ)之上,采用二進制搜索法有效地解決了多標(biāo)簽識別防碰撞的問題。通過接收標(biāo)簽的RSSI值,采用LANDMARC定位算法實現(xiàn)精確定位。
關(guān)鍵詞:CC2500;RSSI;RFID;LANDMARC;讀寫器;標(biāo)簽
引言
目前,有很多定位技術(shù)都可以對物體進行定位,但在小區(qū)域(如室內(nèi))定位服務(wù)中,現(xiàn)有的定位技術(shù)存在著一定的缺陷,如GPS技術(shù)用于停車場這種小區(qū)域的定位服務(wù)中,成本太高而且定位精度不高。其他技術(shù)如超聲波技術(shù)、射頻識別(Radio Frequency Identication,RFID)技術(shù)、IEEE802.11、超寬帶(UWB)等,應(yīng)用于室內(nèi)定位服務(wù),各有優(yōu)劣。射頻識別定位技術(shù)以其非接觸、非視距、靈敏度高和成本低的優(yōu)點,正成為定位系統(tǒng)的優(yōu)選技術(shù)。然而,在實際應(yīng)用中不可能只對一個標(biāo)簽定位,多標(biāo)簽定位必然會造成標(biāo)簽之間的碰撞,為了解決標(biāo)簽之間的碰撞問題,目前國內(nèi)外所研究的防碰撞算法如下:多址技術(shù)(SDMA、TDMA、CDMA、FDMA),ALOHA防碰撞算法,二進制防碰撞算法。其中二進制防碰撞算法易于實現(xiàn)且效率和精度高,近幾年得到廣泛運用。
1 設(shè)計方案
閱讀器采用的是PIC16F877A微控制器,閱讀器與標(biāo)簽都是利用模擬SPI口與CC2500射頻模塊的數(shù)字接口進行通信。作為閱讀器部分的PIC 16F877A則用其TXD與RXD引腳通過MAX3232實現(xiàn)電平轉(zhuǎn)換后,與PC機的串口相連以實現(xiàn)讀寫器讀取數(shù)據(jù)的功能。
讀寫器與標(biāo)簽之間的射頻信號通過空間耦合實現(xiàn)無線信息傳遞,讀寫器通過與標(biāo)簽的無線通信,獲得接收信號強度指示(RSSI)值,再采用LANDMAR定位算法,就可以計算出目標(biāo)的相對坐標(biāo)位置,實現(xiàn)精確定位。在大多數(shù)情況下讀寫器在識別標(biāo)簽時難免會出現(xiàn)碰撞的問題,為了解決這一問題,利用二進制搜索法來防止多標(biāo)簽識別時發(fā)生碰撞。系統(tǒng)框圖如圖1所示。
1.1 微控制器
本系統(tǒng)讀寫器和標(biāo)簽都采用PIC16F877A作為微控制器。PIC16F877A是8位的高性價比微控制器,并且采用不同的寬度,便于實現(xiàn)全部指令的單字節(jié)化、單周期化,從而有利于提高CPU執(zhí)行指令的速度。此外,數(shù)據(jù)存儲空間比較大,擁有8K×14個字節(jié)Flash程序存儲器、368×8個字節(jié)數(shù)據(jù)存儲(RAM)空間、256×8個字節(jié)EEPROM數(shù)據(jù)存儲空間。還具有8級的硬件堆棧、內(nèi)部看門狗定時器、低功耗休眠模式、25 mA的吸入/拉出電流。外部具有3個定時器模塊。它還具有2個16位捕捉器、2個16位比較器、2個10位PWM模塊、10位多通道A/D轉(zhuǎn)換器、通用同步異步接收/發(fā)送器等功能模塊。它具有功耗低、驅(qū)動能力強、外接電路簡單、尋址簡單、指令條數(shù)少等優(yōu)點。
微控制器PIC16F877A通過SPI接口與CC2500射頻收發(fā)芯片實現(xiàn)數(shù)據(jù)的接收與發(fā)送。PC機可以利用串口調(diào)試助手發(fā)送命令,通過RS232串口連接讀寫器,控制讀寫器與標(biāo)簽之間的一切操作。
1.2 射頻收發(fā)芯片
無線通信的通信距離、通信效率與其主芯片密切相關(guān)。CC2500是一種低成本的2.4 GHz射頻收發(fā)芯片,為低功耗無線應(yīng)用而設(shè)計。電路工作在2 400~2 483.5 Hz的ISM(工業(yè)、科學(xué)及醫(yī)學(xué))和SRD(短距離設(shè)備)頻率波段。
射頻收發(fā)芯片集成了一個數(shù)據(jù)傳輸可達500 kbps的高度可配置的調(diào)制解調(diào)器。通過開啟集成在調(diào)制解調(diào)器上的前向誤差校正選項,使性能得到提升。CC2500為數(shù)據(jù)處理、數(shù)據(jù)緩沖、突發(fā)數(shù)據(jù)傳輸、清晰信道評估、連接質(zhì)量指示和電磁波激發(fā)提供廣泛的硬件支持。CC2500在通信中空中接口的數(shù)據(jù)是以一個固定格式傳輸,讀寫器和標(biāo)簽之間的數(shù)據(jù)傳輸必須嚴格按照這個格式進行,否則無法通信。
導(dǎo)言、同步字與CRC校驗在發(fā)送數(shù)據(jù)時是由CC2500硬件自動添加,在接收時由硬件自動去除。在信道特性較好的場合,為了提高識別速度,可設(shè)定16位的導(dǎo)言與16位的同步字。CC2500在固定長度通信模式下,可刪去長度域;在可變長度通信模式,需要8位的長度域給出除去導(dǎo)言與同步字外所有數(shù)據(jù)負載的字節(jié)數(shù)。其數(shù)據(jù)格式如圖2所示。
CC2500與MCU之間的接口通過SPI接口相連,MCU通過SPI接口向CC2500發(fā)送操作命令,配置其調(diào)制方式、工作頻率等參數(shù),通過命令配置其為接收狀態(tài)、發(fā)送狀態(tài)、空閑狀態(tài)或休眠狀態(tài)。
波段開關(guān)相關(guān)文章:波段開關(guān)原理
評論