《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 業(yè)界動態(tài) > 基于CC2500的2.45GHz RFID系統(tǒng)設(shè)計

基于CC2500的2.45GHz RFID系統(tǒng)設(shè)計

2009-01-08
作者:劉振文, 鄧毅華, 彭友斌

??? 摘? 要: 提出了一種基于CC2500射頻芯片的低成本2.45GHz RFID系統(tǒng)設(shè)計方案。從硬件電路設(shè)計和軟件實(shí)現(xiàn)兩方面,解決RFID系統(tǒng)中有源標(biāo)簽的功耗問題,并在CC2500的硬件功能基礎(chǔ)之上,利用時分多址(TDMA)與頻分多址(FDMA)相結(jié)合的方法實(shí)現(xiàn)多標(biāo)簽識別的防碰撞算法。?

??? 關(guān)鍵詞: CC2500; RFID; 有源標(biāo)簽; 防碰撞

?

??? 射頻識別RFID(Radio Frequency Identification)是一項利用射頻信號及其空間耦合和傳輸特性,非接觸式地實(shí)現(xiàn)對物體自動識別的技術(shù)。RFID技術(shù)最早在二戰(zhàn)期間被美國國防部用于戰(zhàn)用物資的管理,2004年6月沃爾瑪公司宣布其主要的100家供貨商在2005年前必須使用RFID標(biāo)簽[1],推動了RFID的研究熱潮,而中國RFID的研究起步較晚,近幾年在第二代公民身份證中應(yīng)用了RFID技術(shù)以后,才得到較大發(fā)展。?

??? RFID系統(tǒng)主要可分為閱讀器與標(biāo)簽兩部分,而標(biāo)簽則可分為有源標(biāo)簽與無源標(biāo)簽。無源標(biāo)簽體積小,成本低,但它只能靠閱讀器的磁場提供能量工作,識別距離受到很大限制。有源標(biāo)簽有較大識別距離,但體積較大,成本也較高,而且對標(biāo)簽功耗有非??量痰囊?。有源標(biāo)簽在運(yùn)輸行業(yè)對物品跟蹤方面有很好的應(yīng)用。RFID系統(tǒng)軟件實(shí)現(xiàn)的關(guān)鍵技術(shù)是要解決多標(biāo)簽同時識別時的防碰撞問題。?

1 芯片選型?

??? 本設(shè)計所用的控制器為TI公司生產(chǎn)的MSP430系列16位單片機(jī),它集成了定時器、LCD控制器、硬件乘法器、ADC、DAC、DMA等多種功能模塊,而且價格低,具有很高的性價比。其處理功耗(1.8~3.6V,0.1~400μA,250μA/MIPS)和口線輸入漏電流(最大50nA)在業(yè)界都是最低的,適合用于功耗要求嚴(yán)格的有源標(biāo)簽設(shè)計。?

??? 射頻模塊采用TI公司生產(chǎn)的CC2500芯片,它是一款超低功耗、低成本的無線收發(fā)模塊,其載頻范圍在2.400GHz~2.483GHz內(nèi)可調(diào),可用來實(shí)現(xiàn)多信道通信。它支持多種調(diào)制方式,包括FSK、GFSK、OOK和MSK,數(shù)據(jù)傳輸速率最高可達(dá)500kb/s。CC2500還為信息包處理、數(shù)據(jù)緩沖、脈沖傳送、空閑信道評估、連接品質(zhì)指示和電磁喚醒等功能提供了額外的硬件支持。它有四種主要的狀態(tài):接收(RX)、發(fā)送(TX)、空閑(IDLE)和休眠(SLEEP)。?

??? 空閑信道評估CCA(Clear Channel Assessment)功能是指當(dāng)CC2500處于RX狀態(tài)時,可以檢測自身所處信道的電磁場的強(qiáng)弱以判斷該信道是否空閑。本設(shè)計中利用該功能來避免多個標(biāo)簽同時響應(yīng)閱讀器查詢時發(fā)生的碰撞。當(dāng)一個標(biāo)簽收到閱讀器的查詢時,讓它先進(jìn)行CCA檢測,若檢測到該信道忙,表明已經(jīng)有其他標(biāo)簽響應(yīng)了,自身不再響應(yīng),等待下一次查詢命令到來,否則正常響應(yīng)。?

??? 有源標(biāo)簽設(shè)計的關(guān)鍵問題之一是功耗,解決這一問題一般靠兩種途徑,一是選擇功耗低的元器件,CC2500在250kb/s的速率時,接收的電流消耗為13.3mA,在業(yè)界來說已經(jīng)是非常低。另一種改善功耗的方法是利用科學(xué)的軟件實(shí)現(xiàn),利用CC2500的電磁喚醒功能WOR(Wake on Radio)可設(shè)計一種很好的解決方案。當(dāng)CC2500處于WOR運(yùn)行下的SLEEP狀態(tài)時,除了內(nèi)部實(shí)現(xiàn)喚醒功能的計數(shù)器工作,其他功能都已停止,此時CC2500的功耗僅為900nA。當(dāng)計數(shù)器到達(dá)可編程的指定時間時,自動從SLEEP狀態(tài)切換到IDEL狀態(tài),再進(jìn)入RX狀態(tài),如果此時收到數(shù)據(jù),就退出WOR進(jìn)入正常模式;如果處于RX狀態(tài)在指定時間內(nèi)收不到數(shù)據(jù),則自動回到SLEEP狀態(tài)。因此只要保證在一個完整的WOR周期內(nèi),標(biāo)簽絕大部分時間都處于SLEEP狀態(tài),就可以大大降低標(biāo)簽的功耗。?

2 系統(tǒng)框架?

??? 系統(tǒng)框圖如圖1所示,閱讀器控制器采用的是MSP430F2274單片機(jī),具有32KB的Flash與1KB的RAM,標(biāo)簽控制器采用MSP430F2013單片機(jī),具有2KB的Flash 與128B的RAM,閱讀器與標(biāo)簽都是利用單片機(jī)的P1口模擬SPI口與CC2500射頻模塊的數(shù)字接口進(jìn)行通信。作為閱讀器部分的MSP430F2274則用其專用的TXD與RXD引腳通過MAX3232實(shí)現(xiàn)電平轉(zhuǎn)換后與PC機(jī)的串口相連,以完成閱讀器讀取數(shù)據(jù)的顯示。?

?

?

??? CC2500的外圍器件比較簡單,天線采用Rainsun公司的2.45GHz貼片天線,標(biāo)簽采用紐扣電池供電。CC2500的RF_N與RF_P是差分射頻信號輸出引腳,輸出阻抗為(80+j74)Ω,而天線是50?贅的單端輸入,因此之間需要搭建一個差分到單端的阻抗匹配網(wǎng)絡(luò)。CC2500射頻模塊的電路原理圖如圖2所示。?

?

?

??? 如圖2所示,射頻模塊通過由6個引腳組成的數(shù)字交互界面與控制器進(jìn)行通信。MSP430系列單片機(jī)的端口功能強(qiáng)大,每一個位都可以獨(dú)立地配置成為輸入、輸出、中斷等功能引腳。閱讀器與標(biāo)簽的控制器都可將單片機(jī)的P1腳中的6位,分別與CC2500的SI、CLK、SO、GDO2、GDO0、CS相連接,其中由CS、CLK、SI、SO組成SPI口,負(fù)責(zé)控制器與CC2500之間收發(fā)數(shù)據(jù)的傳送。GDO0與GDO2是CC2500可配置的多功能引腳,當(dāng)CC2500收到數(shù)據(jù)包時,令GDO0觸發(fā)控制器引起中斷,讀取CC2500緩存里的數(shù)據(jù)。通過配置GDO2則可提供CC2500的CCA檢測結(jié)果。?

??? 閱讀器與標(biāo)簽之間以射頻模塊規(guī)定的數(shù)據(jù)包格式通信,CC2500規(guī)定的數(shù)據(jù)通信格式如圖3所示。?

?

?

??? 導(dǎo)言、同步字與CRC校驗在發(fā)送數(shù)據(jù)時是由CC2500硬件自動添加,在接收時由硬件自動去除,在信道特性較好的場合,為提高識別速度,可設(shè)定16位的導(dǎo)言與16位的同步字。CC2500在固定長度通信模式下,可刪去長度域;在可變長度通信模式下,需要8位的長度域給出除去導(dǎo)言與同步字外所有數(shù)據(jù)負(fù)載的字節(jié)數(shù)。本設(shè)計中要用到多種不同長度的通信命令,因此采用了后一種模式。地址域用于CC2500多設(shè)備識別,本設(shè)計沒用到,刪去。最后兩個字節(jié)的CRC校驗是長度域、地址域與數(shù)據(jù)負(fù)載的校驗和。?

3 防碰撞算法?

??? RFID系統(tǒng)軟件實(shí)現(xiàn)的重點(diǎn)是防碰撞算法的實(shí)現(xiàn),目前這類算法的實(shí)現(xiàn)方法有空分多址(SDMA)、頻分多址(FDMA)、碼分多址(CDMA)和時分多址(TDMA)等,而應(yīng)用較廣的是時分多址技術(shù)中兩種主要的算法:二進(jìn)制搜索算法和Aloha算法。Aloha算法實(shí)現(xiàn)簡單, 便于實(shí)際應(yīng)用,但隨著標(biāo)簽數(shù)量的擴(kuò)大,性能將會急劇惡化[2]。二進(jìn)制搜索算法的實(shí)現(xiàn)要比Aloha算法復(fù)雜,但算法識別效率較高[3]。?

??? 本設(shè)計方案中采用FDMA與TDMA相結(jié)合的方法。FDMA利用了CC2500的載頻在2.400GHz~2.483GHz之間可調(diào)的特點(diǎn),本設(shè)計以400KB為間隔,選擇了其中的65個信道。其中第1個信道為主信道,用于平時的查詢與標(biāo)簽的軟件復(fù)位,其余64個信道用作FDMA的子信道。當(dāng)有大量標(biāo)簽同時需要識別時,把標(biāo)簽隨機(jī)分配到這些子信道中,就可以大大減少碰撞的機(jī)會。?

??? 由于是隨機(jī)分配,多個標(biāo)簽被分到同一個子信道上是可能的,此時采用CC2500的CCA功能根據(jù)TDMA的思想來解決多個標(biāo)簽的先后響應(yīng)問題。在標(biāo)簽被分到子信道的同時,以ID號為種子產(chǎn)生一個隨機(jī)延時,當(dāng)標(biāo)簽收到閱讀器查詢后,先度過這一延時,再進(jìn)行CCA檢測與回復(fù)。它與Aloha算法中為了讓各個標(biāo)簽?zāi)茉诓煌臅r間段內(nèi)發(fā)送回復(fù)以求不碰撞的延時是有區(qū)別的,相比之下,此設(shè)計中的延時要小得多,只是讓延時最小的標(biāo)簽首先發(fā)送回復(fù),使延時較大的標(biāo)簽有足夠的時間通過CCA檢測知道信道已經(jīng)被占用。這樣就可以避免在同一個子信道上多個標(biāo)簽同時回復(fù)的情況。在最壞的情況下,標(biāo)簽的延時偶然地出現(xiàn)了一致,同時在信道上做出了響應(yīng),這時閱讀器會因收到的回復(fù)CRC校驗不正確而將其舍棄,并在該信道上重新發(fā)送查詢命令。?

4 系統(tǒng)軟件實(shí)現(xiàn)流程?

??? 閱讀器軟件實(shí)現(xiàn)過程中有以下幾個主要命令:?

??? (1)Query命令:閱讀器對標(biāo)簽進(jìn)行查詢的命令。?

??? (2)QueryAck命令:標(biāo)簽響應(yīng)閱讀器查詢的命令,其中含有標(biāo)簽ID等信息。?

??? (3)Kill命令:閱讀器識讀完標(biāo)簽后,使其處于沉默狀態(tài),不再響應(yīng)同一閱讀器查詢的命令。?

??? (4)Active命令:閱讀器用于軟件復(fù)位在識別場內(nèi)所有標(biāo)簽的命令。?

??? 閱讀器開機(jī)復(fù)位后,在主信道上持續(xù)地發(fā)送Query命令,一旦收到標(biāo)簽回復(fù)的QueryAck命令,閱讀器都默認(rèn)為有多個標(biāo)簽存在,則首先識別該回復(fù)的標(biāo)簽,并在主信道上發(fā)送Kill命令將其滅活,其后,循環(huán)查詢64個子信道。遍查子信道時,在第一個子信道上發(fā)送一個Query命令,若在指定時間內(nèi)沒收到標(biāo)簽回復(fù),則直接到下一個子信道查詢;若收到標(biāo)簽回復(fù),識別后發(fā)送Kill命令將其滅活,然后在該子信道上再發(fā)送一個Query命令,重復(fù)以上過程,直到在指定時間內(nèi)收不到標(biāo)簽回復(fù)為止,表明該子信道上的所有標(biāo)簽都已讀出,繼續(xù)下一個子信道的查詢。當(dāng)64個子信道都查完,即所有標(biāo)簽都已識別,回到主信道上持續(xù)發(fā)送Query命令等待標(biāo)簽回復(fù)。閱讀器軟件流程如圖4所示。?

??? 標(biāo)簽軟件流程如圖5所示,標(biāo)簽平時處于“激活的WOR”模式(是指接收到Query命令馬上響應(yīng)的WOR模式,區(qū)別于下面的“滅活的WOR”,它是指接收到Query命令但不響應(yīng)的WOR模式),在主信道上偵聽閱讀器的查詢。當(dāng)標(biāo)簽進(jìn)入閱讀器磁場,被定時喚醒處于RX狀態(tài)時(設(shè)定RX的持續(xù)時間是兩倍的Query查詢周期),肯定能接收到一個完整的Query命令,隨機(jī)延時后進(jìn)行CCA檢測,若信道空閑,則發(fā)送一個QueryAck命令,然后等待閱讀器返回的Kill命令。標(biāo)簽收到Kill命令表示識讀成功,則進(jìn)入滅活的WOR狀態(tài);若收不到,表示由于標(biāo)簽回復(fù)碰撞或其他原因識讀不成功,則在原來的信道上進(jìn)入RX狀態(tài)偵聽閱讀器重發(fā)的Query命令。?

?

?

??? 如果標(biāo)簽在平時收到閱讀器的Query命令,隨機(jī)延時后的CCA檢測結(jié)果是信道忙,表明有多個標(biāo)簽需要識別,因此隨機(jī)跳到64個子信道其中之一,進(jìn)入RX狀態(tài)偵聽閱讀器的Query命令。在子信道上與閱讀器的通信過程和在主信道上的過程幾乎一樣,唯一差別是當(dāng)標(biāo)簽的CCA檢測表明信道忙時,不再隨機(jī)選擇信道,而是在原來的子信道上處于RX狀態(tài)偵聽閱讀器重發(fā)的Query命令。?

??? 無論標(biāo)簽處于哪種狀態(tài),收到Kill命令后,表示標(biāo)簽被閱讀器成功讀取,回到主信道上進(jìn)入滅活的WOR模式,在標(biāo)簽控制器中啟動一個專用的計時器用來標(biāo)示標(biāo)簽是否離開了閱讀器的磁場。只要標(biāo)簽還在同一閱讀器的識別范圍內(nèi),在被喚醒時還是能收到Query命令,此時標(biāo)簽已被該閱讀器讀取過,不再作出響應(yīng),清零專用計時器,重新計時。如果計時器超過一定時間都沒收到Query命令,則表明標(biāo)簽已經(jīng)離開該閱讀器的識別范圍,關(guān)閉計時器,標(biāo)簽進(jìn)入激活的WOR模式,等待下一個閱讀器的查詢。?

??? RFID應(yīng)用越來越廣泛,本文提出一種體積小、成本低、簡單易行的2.45GHz頻段的RFID系統(tǒng)設(shè)計方案,重點(diǎn)闡述了如何降低有源標(biāo)簽功耗與防碰撞算法的實(shí)現(xiàn),論證其現(xiàn)實(shí)可行性,具有較高實(shí)用價值。?

參考文獻(xiàn)?

[1] 丁軍. RFID技術(shù)及其應(yīng)用[J].工業(yè)儀表與自動化裝置,2006,(5):74-75.?

[2]?KALINOWSKI R, LATTEUX M, SIMPWT D. An adaptive??anti- collision protocol for smart labels[EB/OL]. 2001.?http://www2.lifl.fr/~simplot/recherche/articles/KLS_adaptive_acpsl.pdf.?

[3] 崔沂峰,陳平.射頻識別技術(shù)防碰撞算法的研究[J].科技信息(學(xué)術(shù)版),2007,(11).?

[4] FINKENZELLER K.射頻識別技術(shù)(第3版)[M]. 吳曉峰,?陳大才,譯. 北京:電子工業(yè)出版社, 2006.?

[5] 寧煥生,張彥. RFID產(chǎn)品研發(fā)及生產(chǎn)關(guān)鍵技術(shù)[M].北京:電子工業(yè)出版社.2007.?

[6] CC2500.pdf. Chipcon Products from Texas Instruments. 2006.

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。