《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 基于nRF24L01的防拆卸有源電子標(biāo)簽設(shè)計(jì)
基于nRF24L01的防拆卸有源電子標(biāo)簽設(shè)計(jì)
來源:電子技術(shù)應(yīng)用2013年第8期
嚴(yán)林祥,張紅雨
電子科技大學(xué) 電子工程學(xué)院,四川 成都611731
摘要: 介紹了一種具有防拆卸功能的低功耗有源電子標(biāo)簽設(shè)計(jì),對(duì)標(biāo)簽的硬件電路和軟件進(jìn)行了討論。電子標(biāo)簽采用nRF24L01作為射頻芯片,通過一個(gè)開關(guān)實(shí)現(xiàn)電子標(biāo)簽的防拆卸功能。為攜帶異常狀態(tài)的數(shù)據(jù)包分配單獨(dú)的數(shù)據(jù)通道,使得標(biāo)簽與物體分離時(shí)能夠快速通知監(jiān)測(cè)人員。在強(qiáng)行拆除標(biāo)簽時(shí),讀卡器采用記錄標(biāo)簽異常狀態(tài)的次數(shù)來區(qū)別對(duì)待非法人員和合法人員。最后,對(duì)只讀型有源電子標(biāo)簽的防碰撞算法進(jìn)行了討論。該有源電子標(biāo)簽非常適合用于戶外某些物品的實(shí)時(shí)監(jiān)控或查詢管理。
中圖分類號(hào): TP368
文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2013)08-0044-03
Design of anti-demolition read-only active RFID tag based on nRF24L01
Yan Linxiang,Zhang Hongyu
School of Electronic Engineering, University of Electronic Science and Technology of China, Chengdu 611731,China
Abstract: This paper introduces a design of a read-only active RFID tag, which has low-power and anti-demolition features. The hardware and software of the active RFID tag are discussed. The tag uses nRF24L01 as RF chip, and achieves anti-demolition via a switch. In order to notify monitors once the tag and the object separated, a separate data pipe is assigned for carrying the abnormal state packets. When removing a tag, the reader records the number of abnormal state to treat illegal and legal personnel. Finally, the read-only active tag anti-collision algorithm is discussed. The active RFID tag is well suited for real-time monitoring or query outdoor certain items.
Key words : active RFID tag;anti-demolition;anti-collision;low power;nRF24L01

    在2.45 G無線通信中,目前可以采用的成熟且有統(tǒng)一協(xié)議標(biāo)準(zhǔn)的應(yīng)用領(lǐng)域有ZigBee、藍(lán)牙等。但也有采用封閉協(xié)議通信的2.45 G無線技術(shù),如無線鼠標(biāo)、2.45 G有源RFID讀寫器等。它們大多使用Nordic Semiconductor公司的nRF24L01芯片,各個(gè)廠家可以根據(jù)自己的需求制定自己的通信協(xié)議[1-2]。雖然藍(lán)牙、ZigBee都是標(biāo)準(zhǔn)協(xié)議,但它們協(xié)議復(fù)雜、開發(fā)難度大,而非標(biāo)準(zhǔn)無線射頻協(xié)議具有低功耗、低成本、易開發(fā)等優(yōu)點(diǎn)。

    基于nRF24L01的有源電子標(biāo)簽在物體識(shí)別、數(shù)據(jù)采集等領(lǐng)域中有著廣泛的應(yīng)用前景。但有些場(chǎng)合要求電子標(biāo)簽不能隨意拆卸,一旦拆卸必須通知管理人員。在這種場(chǎng)合,標(biāo)簽發(fā)送的正常數(shù)據(jù)包與異常數(shù)據(jù)包在傳輸過程中要有不同的競(jìng)爭(zhēng)級(jí)別;合法人員和非法人員對(duì)標(biāo)簽操作時(shí)的報(bào)警機(jī)制要有所不同。
    本文基于上述問題,對(duì)只讀型有源電子標(biāo)簽的低功耗、防拆卸防碰撞等功能進(jìn)行了討論。
1 防拆卸標(biāo)簽整體設(shè)計(jì)
    文中電子標(biāo)簽由電源、主控模塊、射頻模塊和防拆開關(guān)4部分組成。電源模塊給整個(gè)電子標(biāo)簽供電。由于電子標(biāo)簽要求體積小和攜帶方便,因此可以采用紐扣電池供電。主控模塊和射頻模塊一起實(shí)現(xiàn)標(biāo)簽與讀卡器的通信。防拆卸有源電子標(biāo)簽結(jié)構(gòu)示意圖如圖1所示。

    圖1中,當(dāng)電子標(biāo)簽固定于監(jiān)測(cè)物體時(shí),防拆開關(guān)處于閉合狀態(tài)。此時(shí)主控模塊控制射頻模塊向讀卡器發(fā)送正確信息。一旦標(biāo)簽與物體非法分離,就改變了標(biāo)簽與物體的狀態(tài),使射頻模塊將這個(gè)異常信息發(fā)給讀卡器。
2 主控芯片與射頻芯片的選則
    本文采用nRF24L01作為射頻芯片,該芯片內(nèi)置頻率發(fā)生器、功率放大器、調(diào)制器和解調(diào)器等功能模塊,可使電路設(shè)計(jì)簡(jiǎn)單。同時(shí),nRF24L01具有極低的電流消耗,芯片工作在接收模式時(shí)的電流僅為12.3 mA,0 dBm功率發(fā)射為11.3 mA,掉電模式僅為900 nA[3]。
    nRF24L01芯片與主控芯片采用SPI串行接口進(jìn)行通信。主控制芯片可以使用GPIO模擬SPI接口工作時(shí)序或者SPI控制器兩種方式來控制射頻芯片。GPIO模擬SPI接口的方式會(huì)導(dǎo)致比較多的時(shí)間耗費(fèi)在模擬SPI接口的時(shí)序上, 訪問效率比較低。但本文電子標(biāo)簽功能單一,發(fā)送信息間隔比較長(zhǎng),這種工作方式可以滿足實(shí)際的應(yīng)用。因此,選擇價(jià)格相對(duì)低且不帶SPI控制器的MSP430F2121單片機(jī)作為主控芯片。該芯片內(nèi)帶Flash存儲(chǔ)功能,工作電壓在1.8 V~3.6 V之間。實(shí)時(shí)運(yùn)行模式下,若工作頻率為1 MHz,電壓為2.2 V,則芯片的工作電流為250 μA;而在待機(jī)模式的電流只有0.7 μA。
3 拆卸檢測(cè)電路設(shè)計(jì)
    如圖2所示,拆卸檢測(cè)電路在硬件中是通過防拆開關(guān)SW1來實(shí)現(xiàn)的。當(dāng)開關(guān)與物體固定時(shí),開關(guān)處于按下狀態(tài),此時(shí)開關(guān)接地,從而MSP430F2121的P2.2管腳輸入為低電平;當(dāng)開關(guān)與物體分離時(shí),開關(guān)彈起,P2.2輸入為高電平。因此,在開關(guān)彈開時(shí)刻,P2.2管腳會(huì)有一個(gè)由低電平到高電平的上升沿。當(dāng)MSP430F2121檢測(cè)到這個(gè)變化時(shí),則進(jìn)行中斷處理。MSP430F2121的其他引腳主要用于與JTAG下載器進(jìn)行調(diào)試。

4 射頻模塊電路設(shè)計(jì)
    本文射頻模塊電路主要由nRF24L01、天線、晶振電路組成,如圖3所示。MSP430F212采用GPI0模擬SPI接口的方式與nRF24L01通信。其中,標(biāo)簽的天線基于1/4波長(zhǎng)單端PCB印制天線理論設(shè)計(jì),也可以利用AppCAD軟件所提供的微帶線模型進(jìn)行計(jì)算[4]。射頻模塊PCB的設(shè)計(jì)對(duì)標(biāo)簽的整體性能有很大的影響,在PCB設(shè)計(jì)時(shí),必須考慮到各種電磁干擾問題,注意調(diào)整電阻、電容和電感的位置,直流電源及電源濾波電容要盡量靠近nRF24L01的VCC引腳。

5 電子標(biāo)簽軟件設(shè)計(jì)
    除了上述的硬件電路,標(biāo)簽的軟件設(shè)計(jì)對(duì)整體的性能也有很大的影響。本文的電子標(biāo)簽軟件的主要功能為:系統(tǒng)低功耗控制、防拆開關(guān)狀態(tài)檢測(cè)和電子標(biāo)簽防碰撞算法,具體如圖4所示。

5.1 軟件低功耗控制
    系統(tǒng)初始化后,MSP430F2121進(jìn)入低功耗模式,定時(shí)器中斷或開關(guān)觸發(fā)的外部中斷將它喚醒。為了降低能耗,nRF24L01工作模式在掉電模式、待機(jī)模式I和發(fā)射模式之間進(jìn)行變換。在寄存器設(shè)置時(shí),使其進(jìn)入待機(jī)模式I,此時(shí)芯片內(nèi)部振蕩器停振,射頻收發(fā)單元停止工作。發(fā)送信息時(shí),芯片工作在發(fā)送模式,而在其他空閑時(shí)間則使芯片進(jìn)入低功耗模式(待機(jī)模式I)。當(dāng)nRF24L01進(jìn)入掉電模式時(shí),芯片內(nèi)部的各功能模塊關(guān)閉,保持最小電流消耗。nRF24L01初始化后,把配置寄存器中的電源模式位(PWR_UP)置為1,接收模式位(PRIM_RX)設(shè)置為0,最后通過設(shè)置信號(hào)線CE為高電平且保持在10 μs以上即可使nRF24L01進(jìn)入發(fā)送模式。在完成一次數(shù)據(jù)的發(fā)送過程中,處于發(fā)射模式的時(shí)間不會(huì)超過4 ms[3]。因此,在標(biāo)簽發(fā)送數(shù)據(jù)的過程中,只有在非常短的時(shí)間內(nèi)電流的數(shù)量級(jí)會(huì)達(dá)到毫安級(jí)別,而其他時(shí)間則處于低功耗狀態(tài),電流為微安級(jí)別。
5.2 防碰撞算法實(shí)現(xiàn)
    nRF24L01有125個(gè)頻點(diǎn),能夠?qū)崿F(xiàn)點(diǎn)對(duì)點(diǎn)、點(diǎn)對(duì)多點(diǎn)的無線通信。在接收模式下有6個(gè)數(shù)據(jù)通道可供選擇(如圖5所示),而每個(gè)數(shù)據(jù)通道作為RF信道中一個(gè)邏輯通道,都有自己的地址。因此,可以將電子標(biāo)簽發(fā)送數(shù)據(jù)包的地址設(shè)置為讀卡器6個(gè)數(shù)據(jù)通道中的某個(gè)未被使用的通道地址,從而實(shí)現(xiàn)一個(gè)讀卡器可以接收6個(gè)電子標(biāo)簽的數(shù)據(jù)。但實(shí)際應(yīng)用中,標(biāo)簽個(gè)數(shù)遠(yuǎn)大于6,因此要采用防碰撞算法來解決數(shù)據(jù)沖突。

 

 

    nRF24L01自身有一定的防碰撞能力。當(dāng)nRF24L01設(shè)置為接收模式時(shí),其內(nèi)部基帶協(xié)議引擎會(huì)不停地搜索6個(gè)通道中合法的數(shù)據(jù)包。但每次只有一個(gè)數(shù)據(jù)通道的數(shù)據(jù)包被接收處理。
    此外,一旦防拆開關(guān)彈起,要盡快地將這個(gè)異常發(fā)送給讀卡器。因此可以為攜帶異常狀態(tài)的數(shù)據(jù)包預(yù)留一個(gè)或兩個(gè)數(shù)據(jù)通道。而如果沒有發(fā)生異常,則把數(shù)據(jù)包發(fā)往事先規(guī)定的通道。這樣就避免了攜帶異常狀態(tài)的數(shù)據(jù)包與正常狀態(tài)的數(shù)據(jù)互相競(jìng)爭(zhēng)數(shù)據(jù)通道,從而使讀卡器能夠快速地處理異常數(shù)據(jù)包。
    如果每個(gè)標(biāo)簽采用固定的時(shí)間間隔發(fā)送數(shù)據(jù),發(fā)生碰撞的可能性仍然很大。因此可以利用隨機(jī)數(shù)生成函數(shù)產(chǎn)生一個(gè)在(N1,N2)之間的隨機(jī)數(shù),把這個(gè)隨機(jī)數(shù)給定時(shí)計(jì)數(shù)器賦值,使得定時(shí)器的定時(shí)間隔在(T1,T2)之間[5-6]。若增大T2-T1,則發(fā)生碰撞的概率減小。
5.3 防拆開關(guān)狀態(tài)檢測(cè)
    nRF24L01發(fā)送數(shù)據(jù)包的數(shù)據(jù)域長(zhǎng)度為0~32 B,可以根據(jù)實(shí)際需要對(duì)其進(jìn)行設(shè)置。本文將數(shù)據(jù)包的長(zhǎng)度設(shè)置為5 B,其中4 B用于存放標(biāo)簽的唯一ID號(hào),1 B用于放置標(biāo)簽的狀態(tài)。正常情況下,將代表標(biāo)簽與物體未分離的狀態(tài)寫入數(shù)據(jù)域。一旦標(biāo)簽與物體分離,則把異常狀態(tài)寫入數(shù)據(jù)域,并且將數(shù)據(jù)包立即發(fā)送出去。當(dāng)中斷函數(shù)結(jié)束后,在每次發(fā)送過程中,主函數(shù)通過檢測(cè)P2.2管腳的高低電平來修改標(biāo)簽與物體的狀態(tài)。為了準(zhǔn)確判斷防拆開關(guān)是否彈起,可以在兩次檢測(cè)之間加入適當(dāng)?shù)难訒r(shí)以消除抖動(dòng)帶來的誤判。讀卡器收到標(biāo)簽發(fā)送的信息后,提取其中的標(biāo)志域,即可實(shí)時(shí)了解標(biāo)簽與物體的狀態(tài)。
    另外,考慮一種特殊情況:如果某些非法人員將標(biāo)簽與物體強(qiáng)行拆開后,把標(biāo)簽的開關(guān)又重新閉合。這樣讀卡器在讀到幾個(gè)非法狀態(tài)后,又會(huì)馬上誤以為標(biāo)簽與物體仍然正常。由于非法狀態(tài)的時(shí)間比較短,監(jiān)測(cè)人員可能沒有覺察到,但是標(biāo)簽所跟蹤的物體已經(jīng)被盜了。
    對(duì)于上面的問題,可以通過設(shè)計(jì)讀卡器對(duì)標(biāo)簽狀態(tài)的檢測(cè)機(jī)制來解決。一旦讀卡器識(shí)別到標(biāo)簽的非法狀態(tài),就對(duì)這個(gè)標(biāo)簽的ID號(hào)進(jìn)行記錄。此后,讀卡器在讀到這個(gè)標(biāo)簽的N次范圍內(nèi),不管這個(gè)標(biāo)簽數(shù)據(jù)包中的狀態(tài)域代表哪種情況,讀卡器都認(rèn)為是非法狀態(tài)。當(dāng)合法人員對(duì)標(biāo)簽進(jìn)行操作時(shí)可以將N設(shè)置為0,而在正常跟蹤監(jiān)測(cè)時(shí),將N設(shè)置為一個(gè)比較大的數(shù),一旦有非法狀態(tài),有足夠的報(bào)警時(shí)間。
6 電子標(biāo)簽防拆卸功能測(cè)試
    測(cè)試時(shí)讀卡器采用1.5 dBi棒狀天線與電子標(biāo)簽通信,識(shí)別距離可以達(dá)到100 m。采用增益更大的天線,使得讀取距離更遠(yuǎn),可以滿足實(shí)時(shí)監(jiān)控或查詢管理戶外物品的應(yīng)用。同時(shí)規(guī)定,數(shù)據(jù)包狀態(tài)標(biāo)志為1表示標(biāo)簽固定在所監(jiān)測(cè)的物體上,狀態(tài)標(biāo)志為82表示標(biāo)簽與物體分離。改變標(biāo)簽中的開關(guān)狀態(tài),讀卡器接收到的標(biāo)簽發(fā)送數(shù)據(jù)包中ID號(hào)和狀態(tài)標(biāo)志位如圖6所示。其中圖6(b)是標(biāo)簽與物體分離時(shí)讀卡器數(shù)據(jù)接收界面的實(shí)驗(yàn)截圖,圖中可以發(fā)現(xiàn)此時(shí)狀態(tài)位已經(jīng)改變。

    本文設(shè)計(jì)的基于nRF24L01射頻芯片的防拆卸只讀型有源電子標(biāo)簽體積小、功耗低,可以廣泛用于戶外物體監(jiān)測(cè)。同時(shí),該電子標(biāo)簽可擴(kuò)展性強(qiáng),若將電子標(biāo)簽外接一些數(shù)據(jù)采集的傳感器,將采集到的數(shù)據(jù)通過射頻模塊發(fā)送給讀卡器,即可實(shí)現(xiàn)電子標(biāo)簽的無線數(shù)據(jù)采集與傳輸。
參考文獻(xiàn)
[1] 王愛玲,盛小寶.RFID技術(shù)及應(yīng)用[M].北京:中國(guó)物資出版社,2007.
[2] 曹青梅,徐立友,曹艷玲,等.基于nRF24L01的移動(dòng)數(shù)據(jù)通訊網(wǎng)絡(luò)設(shè)計(jì)[J].微型機(jī)與應(yīng)用,2011,30(24):43-45.
[3] Nordic Semiconductor.nRF24L01 single chip 2.4 GHz transceiver product specification[EB/OL].(2007-xx-xx)[2013-05-03].http://www.nordicsemi.com/eng/Products/2.4GHz-RF/nRF24L01.
[4] 趙春暉,張朝柱.微波技術(shù)[M]北京:高等教育出版社,2007.
[5] 鄧一文,張紅雨,張鵬程,等.RFID高頻讀寫器防碰撞算法研究[J].電子設(shè)計(jì)工程,2011,19(19):31-34.
[6] 周清.射頻識(shí)別(RFID)技術(shù)中防碰撞算法的研究[D].無錫:江南大學(xué),2012.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。