基于FPGA的RFID系統(tǒng)解碼模塊設(shè)計
RFID技術(shù)(radio frequency identification)是一種非接觸式智能識別技術(shù),它通過射頻信號自動識別目標(biāo)對象并獲得相關(guān)信息。整個識別過程無需人工介入,可同時識別多個對象并可以識別高速運動的物體,操作簡單,廣泛應(yīng)用在車輛自動識別系統(tǒng)、物流管理與監(jiān)控、倉庫管理、門禁系統(tǒng)以及軍事等領(lǐng)域。
RFID系統(tǒng)由三部分組成:讀頭、天線和電子標(biāo)簽,如圖1所示。
其中讀頭是整個系統(tǒng)的核心部分,控制整個識別過程中與標(biāo)簽之間的通信,并提供與后臺計算機的接口。天線用來發(fā)送射頻信號給電子標(biāo)簽,并把電子標(biāo)簽響應(yīng)的數(shù)據(jù)接收回來。電子標(biāo)簽存儲著目標(biāo)的信息,它進入識別區(qū)域時被天線發(fā)送的射頻信號激活,然后向讀頭返回應(yīng)答,從而完成一次識別。
本文要介紹的解碼模塊是基于ISO/IEC15693標(biāo)準(zhǔn)設(shè)計的,實現(xiàn)了從帶干擾的返回信號(此信號已經(jīng)去掉載波)中精確的提取標(biāo)簽信息的功能。此設(shè)計直接影響識別的準(zhǔn)確性。
1 ISO/IEC15693協(xié)議
ISO/IEC15693協(xié)議是國際化標(biāo)準(zhǔn)組織制定的關(guān)于射頻識別技術(shù)的一項標(biāo)準(zhǔn),工作頻率為13.56MHz,電子標(biāo)簽屬于無源標(biāo)簽。協(xié)議詳細(xì)描述了射頻識別技術(shù)的信號調(diào)制方式、讀頭向標(biāo)簽發(fā)送數(shù)據(jù)的編碼方式、標(biāo)簽返回數(shù)據(jù)的編碼方式以及各種指令包格式和應(yīng)答包格式。協(xié)議還介紹了電子標(biāo)簽的防沖撞機制。本文中的標(biāo)簽返回數(shù)據(jù)的解碼模塊就是以此協(xié)議為基準(zhǔn)設(shè)計的,下面詳細(xì)介紹標(biāo)簽向讀頭返回數(shù)據(jù)的格式。
電子標(biāo)簽首先將原始數(shù)據(jù)(digital bits,即要返回的標(biāo)簽信息)進行曼徹斯特編碼(manchester bits),然后再用編碼后的數(shù)據(jù)信息以FSK方式調(diào)制到低速率的子載波423.75kHz和484.28kHz信號上(RF Bits FSK),即曼徹斯特碼的高電平部分使用484.28kHz方波信號表示,低電平部分使用423.75kHz方波信號表示。最后再由子載波調(diào)制到13.56MHz的載波上,以此方式回傳給讀頭。返回信號編碼及子載波形式如圖2所示。
為了達到數(shù)據(jù)的傳輸同步,電子標(biāo)簽在曼徹斯特碼的起始和結(jié)尾分別加入幀頭和幀尾,幀頭部分為11100010,用423.75kHz和484.28kHz信號調(diào)制后如圖3所示。幀尾部分為01000111,與幀頭的順序完全相反,調(diào)制后如圖4所示。
2 解碼模塊的結(jié)構(gòu)及其實現(xiàn)原理
整個讀頭的結(jié)構(gòu)由模擬電路部分和數(shù)字電路部分組成。模擬電路的作用是產(chǎn)生13.56MHz的載波信號、調(diào)制發(fā)送信號和解調(diào)返回信號。數(shù)字電路部分負(fù)責(zé)數(shù)字信號的編解碼。FPGA是數(shù)字電路部分的核心,理想情況下返回信號經(jīng)過模擬電路解調(diào)到達FPGA后,其數(shù)據(jù)格式如圖2中RF Bits FSK所示。但在射頻信號傳輸過程中和模擬電路的解測過程中都難免有噪聲干擾,進入FPGA的信號實際上是帶干擾FSK信號。因此必須在解碼模塊中對干擾加以消除,否則會大大降低電子標(biāo)簽的識別成功率。解碼模塊共分為八個部分,如圖5所示,下面將對這些模塊的功能進行具體介紹。
2.1 FSK信號的還原到曼徹斯特碼
按照圖2所示數(shù)據(jù)格式的逆順序進行解碼,首先將RF Bits FSK信號還原為Manchester Bits信弓。此部分由圖5中的倍頻器、周期測量模塊和比較器三個模塊實現(xiàn)。在本設(shè)計中計數(shù)器在高頻時鐘信號(本設(shè)計采用100MHz時鐘信號)的驅(qū)動下,測量FSK信號中相鄰的兩個信號上升沿之間的計數(shù)值,依此來區(qū)分423.75kHz和484.28kHz兩個頻率的信號。
首先為了提高計數(shù)的精度,將50M的系統(tǒng)時鐘經(jīng)過FPGA中的DCM模塊倍頻成100MHz,然后由此時鐘來驅(qū)動周期測量模塊,來計算RF Bits FSK兩個相鄰上升沿之間(即RF Bits FSK的一個周期)的計數(shù)值,再通過比較器與門限比較來確定是423.75kHz或484.28kHz的信號。若是423.75kHz信號,則100M時鐘在其一個周期內(nèi)計數(shù)值為236,若是484.28kHz信號,計數(shù)值為206,所以選擇折中門限為221。計數(shù)值大于此門限則認(rèn)為此RF Bits FSK周期是423.75kHz信號,用低電平表示,小于此門限則為484.28kHz信號,用高電平表示。理想情況下解調(diào)后的信號就是曼徹斯特碼,如圖6所示。
但是一般情況下,此時的信號都是帶有干擾的,用真實數(shù)據(jù)仿真結(jié)果如圖7中的Disturbed_code所示,在信號中會有很有窄的脈沖出現(xiàn)。
2.2 去干擾處理
由于Disturbed_code是帶干擾的曼徹斯特碼,所以在進行曼徹斯特解碼之前必須對數(shù)據(jù)進行消除干擾的處理,否則會導(dǎo)致曼徹斯特解碼的錯誤。去干擾的原理是在取得幀同步以后使用430kHz(由50MHz時鐘分頻得到)時鐘對Disturted_code信號進行采樣,每個曼徹斯特碼周期采樣8次,每采樣8次判斷一次采樣值中1的個數(shù),若1的個數(shù)大于等于5則認(rèn)為此曼徹斯特碼周期內(nèi)的數(shù)據(jù)為1,否則為0。這里是考慮在一個曼徹斯特碼周期(曼徹斯特碼頻率為53.4kHz)內(nèi)脈沖干擾只是很窄的一部分,所以我們將一個曼徹斯特碼周期分為8個時間段,每個時間段采樣一次來判斷是1還是0,若8個時間段內(nèi)1的個數(shù)多則此周期的曼徹斯特碼為1,同理0的個數(shù)多則判為0。用430kHz是因為一個曼徹斯特碼周期正好為8個430kHz脈沖周期。當(dāng)然,此判斷方法會使信號有一定的延遲,但時間很短,不影響識別速度。去干擾之后便得到純凈的曼徹斯特碼,結(jié)果如圖7所示。
2.3 幀頭檢測
本設(shè)計中使用的去除干擾的方法是建立在準(zhǔn)確識別數(shù)據(jù)幀頭的基礎(chǔ)之上的,所以在進行去干擾處理之前必須進行幀頭檢測,精確的幀頭檢測對識別的正確性影響很大。SOF檢測模塊實現(xiàn)了幀頭檢測的功能??紤]到幀頭部分也會有干擾,本設(shè)計采用下面的相關(guān)算法來識別幀頭。具體實現(xiàn)算法如下:
其中X[71:0]為一個72位的移位寄存器,以480kHz(此頻率時鐘正好將一個曼徹斯特碼周劃分為9個時間段)的頻率將Disturbed_code移入其中,⊙為按位同或,ffffffe0000003fe00H是理想情況下幀頭(11100010)經(jīng)過480kHz采樣速率采樣所得到的值。當(dāng)Z為最大值時,說明此時接收的幀頭與期望值匹配達到最佳,這就準(zhǔn)確的找到了幀頭的位置。仿真結(jié)果如圖8所示。
2.4 曼徹斯特解碼
經(jīng)過前面的處理,我們已經(jīng)得到理想的曼徹斯特碼,下面介紹曼徹斯特解碼模塊的解碼過程。前面已經(jīng)取得了幀同步,現(xiàn)在從第一個Manchester_code數(shù)據(jù)位的中間位置開始,以53.4kHz(此頻率為1個曼徹斯特碼周期)的頻率將Manchester code移入串行移位寄存器N[1:0]中,采用下述方法實現(xiàn)解碼。
每2個53.4kHz信號周期判斷一飲K的數(shù)值,當(dāng)K=2時輸出解碼數(shù)據(jù)為1(曼徹斯特碼10表示原碼1),k=0時輸出解碼數(shù)據(jù)為0(即曼徹斯特碼為01,表示原碼0),每16個53.4kHz信號周期便可以得到一個字節(jié)的標(biāo)簽數(shù)據(jù)。這樣直到幀尾出現(xiàn)便完成了曼徹斯特的解碼工作。
曼徹斯特解碼后的數(shù)據(jù)同時送往圖5中CRC校驗?zāi)K進行校驗和標(biāo)簽信息數(shù)據(jù)棧進行存儲。若CRC校驗正確,則會給出一個Data_ok的信號通知其它部分來讀取此標(biāo)簽信息數(shù)據(jù)棧中的數(shù)據(jù)。到此為止便完成了整個上行信號的解碼工作。其真實數(shù)據(jù)的仿真結(jié)果如圖9所示。
此設(shè)計經(jīng)過FPGA的驗證,并結(jié)合本課題組成員的模擬電路部分實現(xiàn)了RFID系統(tǒng)的正常工作,標(biāo)簽檢測準(zhǔn)確,讀取速度快,每秒可以讀50張標(biāo)簽,雙天線作用距離可達1.5m。
RFID系統(tǒng)采用非接觸式射頻識別技術(shù),識別速度快、安全性高,應(yīng)用于超市、礦下工人身份識別等領(lǐng)域可大大提高效率和安全性,所以RFID有著廣泛的應(yīng)用前景。
評論