物聯(lián)傳媒 旗下網(wǎng)站
登錄 注冊(cè)

面向復(fù)雜事件處理的RFID引擎設(shè)計(jì)與實(shí)現(xiàn)

作者:微型機(jī)與應(yīng)用2010年第16期
來(lái)源:RFID世界網(wǎng)
日期:2016-05-09 16:42:26
摘要:無(wú)線射頻識(shí)別是信息采集技術(shù)之一,通過(guò)研發(fā)RFID引擎,提出在面向復(fù)雜事件處理的RFID引擎的設(shè)計(jì)思想與相關(guān)算法,通過(guò)使用所設(shè)計(jì)的引擎對(duì)數(shù)據(jù)進(jìn)行實(shí)時(shí)采集,測(cè)試結(jié)果證明設(shè)計(jì)是可行的。

  RFID技術(shù)是利用無(wú)線電波自動(dòng)識(shí)別人或者物的技術(shù)。該系統(tǒng)一般由電子標(biāo)簽、數(shù)據(jù)管理系統(tǒng)和讀寫(xiě)器三部分組成,準(zhǔn)確地獲取RFID的數(shù)據(jù)是射頻識(shí)別系統(tǒng)的關(guān)鍵。

  目前,RFID技術(shù)仍然發(fā)展不成熟,尤其是在事件處理方面存在如下缺陷:一方面,來(lái)自閱讀器的標(biāo)簽信息數(shù)據(jù)量太大,并且包含過(guò)多的冗余數(shù)據(jù),降低了事件處理的效率;另一方面,標(biāo)簽所包含的語(yǔ)義信息過(guò)于簡(jiǎn)單,無(wú)法被上層應(yīng)用軟件直接使用;再者,利用無(wú)線電波頻率自動(dòng)識(shí)別,當(dāng)現(xiàn)場(chǎng)電子標(biāo)簽過(guò)多時(shí),RFID識(shí)別的準(zhǔn)確性與讀取速度會(huì)明顯下降。RFID中間件在事件處理方面僅僅利用平滑過(guò)濾算法對(duì)標(biāo)簽數(shù)據(jù)做簡(jiǎn)單的平滑處理,隨后將處理后的標(biāo)簽數(shù)據(jù)上傳給應(yīng)用層,這種情況在數(shù)據(jù)量小的情況下可以滿足一定的需求,可是RFID大部分的應(yīng)用環(huán)境所面對(duì)的都是海量的數(shù)據(jù),因此傳統(tǒng)的事件處理方法大大增加了上層應(yīng)用軟件的負(fù)擔(dān),使其數(shù)據(jù)處理效率急劇下降,不能滿足現(xiàn)實(shí)的需求。因此,在復(fù)雜事件情況下,如果把數(shù)據(jù)處理部分由RFID引擎(即讀寫(xiě)器系統(tǒng))在進(jìn)入之前就由應(yīng)用軟件來(lái)完成,是一個(gè)理想的選擇。

  1 復(fù)雜事件處理概念

  復(fù)雜事件處理(Complex Event Progressing)技術(shù)是20世紀(jì)90 年代中期由斯坦福大學(xué)的David Luckham教授提出是一種新興的基于事件流的技術(shù),它將系統(tǒng)數(shù)據(jù)看作不同類(lèi)型的事件,通過(guò)分析事件間的關(guān)系(成員關(guān)系、時(shí)間關(guān)系、因果關(guān)系以及包含關(guān)系等)建立不同的事件關(guān)系序列庫(kù)(即規(guī)則庫(kù)),再利用過(guò)濾、關(guān)聯(lián)、聚合等技術(shù)由簡(jiǎn)單事件產(chǎn)生高級(jí)事件。在研究構(gòu)建RFID引擎時(shí),先進(jìn)行定性的理論模型的研究。

面向復(fù)雜事件處理的RFID引擎設(shè)計(jì)與實(shí)現(xiàn)

  從復(fù)雜事件定義中可以看出在發(fā)生復(fù)雜事件情況下正確快速的電子標(biāo)簽是一個(gè)十分值得研究的課題。短距離的RFID讀寫(xiě)器與電子標(biāo)簽一般是一對(duì)一讀寫(xiě)設(shè)計(jì),即短距離的RFID讀寫(xiě)器在設(shè)計(jì)中只允許一次讀一個(gè)電子標(biāo)簽,當(dāng)近距離有多個(gè)電子標(biāo)簽時(shí),讀寫(xiě)器不能工作。對(duì)于長(zhǎng)距離的RFID讀寫(xiě)器,如在半徑30 m距離范圍內(nèi),其RFID讀寫(xiě)器的檢測(cè)電子標(biāo)簽最好不要超過(guò)30個(gè),如果再考慮交集域,則所讀電子標(biāo)簽就更多,這種情況下要準(zhǔn)確讀取電子標(biāo)簽,就必須要制定通信協(xié)議,使范圍內(nèi)的電子標(biāo)簽?zāi)馨错樞颉?zhǔn)確無(wú)誤地逐一讀寫(xiě)。

  2 復(fù)雜事件處理的RFID引擎設(shè)計(jì)

  2.1 設(shè)計(jì)總體思想

  在復(fù)雜事件下,RFID引擎設(shè)計(jì)分為兩大部分:一是發(fā)射及接收部分,另一個(gè)是讀寫(xiě)控制與通信部分。

  發(fā)射及接收部分的作用是:(1)產(chǎn)生無(wú)線發(fā)射的能量;(2)對(duì)發(fā)射的信號(hào)進(jìn)行調(diào)制;(3)接收并解調(diào)來(lái)自射頻的電子標(biāo)簽的信號(hào)并進(jìn)行存取。

  讀寫(xiě)控制與通信部分的作用是:(1)能完成與應(yīng)用系統(tǒng)上位機(jī)通信,并執(zhí)行上位機(jī)指令;(2)控制與電子標(biāo)簽的通信過(guò)程;(3)完成信號(hào)的編碼、解碼;(4)執(zhí)行信號(hào)安全加密、解密及各種算法,進(jìn)行電子標(biāo)簽、RFID引擎設(shè)計(jì)及一般閱讀器身份認(rèn)證。

  除此之外,還應(yīng)考慮產(chǎn)品的小型化、低成本、多功能多數(shù)據(jù)接口問(wèn)題,以及發(fā)射、接收制式、波段的兼容等問(wèn)題。

  2.2 關(guān)于引擎設(shè)計(jì)

  讀取電子標(biāo)簽的準(zhǔn)確與否,首先取決于系統(tǒng)結(jié)構(gòu)的優(yōu)劣。

  本設(shè)計(jì)的通信結(jié)構(gòu)包括:

  (1)物理層。只完成信息的準(zhǔn)確交互,不進(jìn)行任何信息的檢測(cè)、校正。

  (2)網(wǎng)絡(luò)層。保存最新的節(jié)點(diǎn)地址表,包括物理地址和虛擬地址。

  (3)傳輸層。決定通信節(jié)點(diǎn)和完成節(jié)點(diǎn)的多次握手,建立通信、信息的打包并交付下層進(jìn)行發(fā)送或接收數(shù)據(jù)。最后,通過(guò)網(wǎng)絡(luò)模塊連接PC,并與其信息交互。

  建立了可靠的通信后,假如此時(shí)要讀電子標(biāo)簽的信息,就要在引擎收到標(biāo)簽的確認(rèn)信息后把下一步收到的標(biāo)簽內(nèi)容發(fā)給PC機(jī);假如此時(shí)要寫(xiě)標(biāo)簽的信息,則要在標(biāo)簽發(fā)送完確認(rèn)信息后等待來(lái)自讀寫(xiě)器的數(shù)據(jù)包,讀寫(xiě)器收到節(jié)點(diǎn)的確認(rèn)信息后發(fā)送數(shù)據(jù)包。由上所述特制定的指令包如表1、表2、表3所示。

面向復(fù)雜事件處理的RFID引擎設(shè)計(jì)與實(shí)現(xiàn)

  2.3 引擎的工作原理

  圖1所示為引擎工作的方框圖。

面向復(fù)雜事件處理的RFID引擎設(shè)計(jì)與實(shí)現(xiàn)

  (1)引擎要求與某個(gè)電子標(biāo)簽進(jìn)行通信,此時(shí)引擎發(fā)送地址指令包,請(qǐng)求建立通信,數(shù)據(jù)包中包括讀或?qū)懙戎噶钚盘?hào);(2)電子標(biāo)簽收到地址指令包后,發(fā)送自己的標(biāo)簽內(nèi)容到該引擎;(3)引擎收到電子標(biāo)簽的內(nèi)容后,再把內(nèi)容打包發(fā)回給該電子標(biāo)簽;(4)該電子標(biāo)簽把收到的內(nèi)容與自己的標(biāo)簽內(nèi)容進(jìn)行比較,如果相同表示兩者間的通信可靠,此時(shí)發(fā)送確認(rèn)信息;如果不同表示兩者通信不可靠,此時(shí)發(fā)送失敗信息并轉(zhuǎn)與上位應(yīng)用系統(tǒng)、上位PC通信驗(yàn)證;假如重復(fù)多次都失敗,則引擎向PC機(jī)報(bào)警。

  關(guān)于地址表的建立與確定:

  創(chuàng)建兩個(gè)地址表data1和data2用于保存最近兩次搜索到的電子標(biāo)簽地址,引擎每搜索一次電子標(biāo)簽地址,便把該地址表輪流保存在data1和data2中并進(jìn)行排序,搜索完畢后,按新舊地址表的順序進(jìn)行比較。此時(shí)建立兩個(gè)執(zhí)行地址表rundata1和rundata2,如果沒(méi)有新地址表,而舊地址表的電子標(biāo)簽地址保存在ruandata1中表示該標(biāo)簽移出了檢測(cè)范圍;如果有新地址表,而在舊地址表中沒(méi)有電子標(biāo)簽保存在rundata2,表示有新標(biāo)簽移進(jìn)檢測(cè)范圍。最后兩個(gè)執(zhí)行地址表的地址分開(kāi)上傳給PC機(jī),并進(jìn)行報(bào)告。

  圖2所示為面向復(fù)雜事件處理的RFID引擎的方框圖。

面向復(fù)雜事件處理的RFID引擎設(shè)計(jì)與實(shí)現(xiàn)

  3 設(shè)計(jì)的實(shí)現(xiàn)與效果

  硬件實(shí)現(xiàn)可以采用自主開(kāi)發(fā)硬件,也可采用已有IC及電子器件構(gòu)成硬件電路。設(shè)計(jì)的電路要建立系統(tǒng)模型,開(kāi)發(fā)要符合中國(guó)無(wú)線頻譜規(guī)范和RFID通信協(xié)議要求。

  設(shè)計(jì)采用高性能射頻收發(fā)器CC1101,用雙51系列MCU,其中一個(gè)可通過(guò)SPI 接口連接CC1101的主要運(yùn)行參數(shù)并對(duì)發(fā)送/接收FIFO口進(jìn)行控制;而另一個(gè)與存取、輸入設(shè)備連接,利用軟件控制算法,完成對(duì)區(qū)域內(nèi)一定數(shù)量電子標(biāo)簽的準(zhǔn)確讀寫(xiě)。

  表4所示是引擎在復(fù)雜條件下閱讀電子標(biāo)簽的測(cè)試結(jié)果。

面向復(fù)雜事件處理的RFID引擎設(shè)計(jì)與實(shí)現(xiàn)

  從表4可以看出,引擎識(shí)別水平還沒(méi)有達(dá)到在任何時(shí)間任何條件下閱讀準(zhǔn)確度都為100%。這樣,引擎的準(zhǔn)確度不能得到嚴(yán)格保證,從而信息的出錯(cuò)率就不能降到最低。環(huán)境影響、貼標(biāo)簽物品的材質(zhì)、一次閱讀標(biāo)簽的數(shù)量都會(huì)影響到閱讀的精確度。如果RFID不能夠提供足夠高的信息精確度,其應(yīng)用無(wú)疑不會(huì)受到歡迎。針對(duì)這種情形,還可以通過(guò)設(shè)置冗余引擎以及改善閱讀流程來(lái)提高準(zhǔn)確度。