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