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