超高頻段RFID標(biāo)簽的數(shù)字電路設(shè)計
1 引 言
射頻識別(RFID)技術(shù)作為一種新興的自動識別技術(shù),近年來在國內(nèi)外得到了迅速發(fā)展。目前,我國開發(fā)的RFID產(chǎn)品普遍基于中低頻,如二代身份證、票證管理等。在超高頻段我國自主開發(fā)的產(chǎn)品較少,難以適應(yīng)巨大的市場需求以及激烈的國際競爭。超高頻(UHF)標(biāo)簽是指工作頻率在860~960 MHz的RFID標(biāo)簽,具有可讀寫距離長、閱讀速度快、作用范圍廣等優(yōu)點,可廣泛應(yīng)用于物流管理、倉儲、門禁等領(lǐng)域。為適應(yīng)市場需求,本文以EPC C1G2協(xié)議為主,ISO/IEC18000.6為輔,設(shè)計了一種應(yīng)用于超高頻標(biāo)簽的數(shù)字電路。
2 UHF RFID標(biāo)簽的工作原理
射頻識別系統(tǒng)通常由讀寫器(Reader)和射頻標(biāo)簽(RFID Tag)構(gòu)成。附著在待識別物體上的射頻標(biāo)簽內(nèi)存有約定格式的電子數(shù)據(jù),作為待識別物品的標(biāo)識性信息。讀寫器可無接觸地讀出標(biāo)簽中所存的電子數(shù)據(jù)或者將信息寫入標(biāo)簽,從而實現(xiàn)對各類物體的自動識別和管理。讀寫器與射頻標(biāo)簽按照約定的通信協(xié)議采用先進(jìn)的射頻技術(shù)互相通信,其基本通訊過程如下。
(1)讀寫器作用范圍內(nèi)的標(biāo)簽接收讀寫器發(fā)送的載波能量,上電復(fù)位;
(2)標(biāo)簽接收讀寫器發(fā)送的命令并進(jìn)行操作;
(3)讀寫器發(fā)出選擇和盤存命令對標(biāo)簽進(jìn)行識別,選定單個標(biāo)簽進(jìn)行通訊,其余標(biāo)簽暫時處于休眠狀態(tài);
(4)被識別的標(biāo)簽執(zhí)行讀寫器發(fā)送的訪問命令,并通過反向散射調(diào)制方式向讀寫器發(fā)送數(shù)據(jù)信息,進(jìn)入睡眠狀態(tài),此后不再對讀寫器應(yīng)答;
(5)讀寫器對余下標(biāo)簽繼續(xù)搜索,重復(fù)(3)、(4)分別喚醒單個標(biāo)簽進(jìn)行讀取,直至識別出所有標(biāo)簽。
3 UHF RFID標(biāo)簽的結(jié)構(gòu)及系統(tǒng)規(guī)格
UHF RFID標(biāo)簽的示意圖如圖1所示,由模擬和數(shù)字兩部分組成。模擬電路主要包括天線、喚醒電路、時鐘產(chǎn)生電路、包絡(luò)檢波電路、解調(diào)電路和反射調(diào)制電路;數(shù)字部分主要實現(xiàn)EPC通信協(xié)議,識別讀寫器發(fā)出的命令并執(zhí)行,如實現(xiàn)多標(biāo)簽閱讀時的防沖突方法、執(zhí)行讀寫器發(fā)送的讀寫命令、實現(xiàn)讀寫器和標(biāo)簽的通訊過程以及對輸出數(shù)據(jù)進(jìn)行編碼等。協(xié)議規(guī)定的標(biāo)簽系統(tǒng)規(guī)格如表1所示。
圖1 UHF RFID標(biāo)簽的示意圖
表1 UHF RFID標(biāo)簽系統(tǒng)規(guī)格
4 標(biāo)簽數(shù)字電路的設(shè)計方法
4.1 電路的整體系統(tǒng)設(shè)計
經(jīng)過對協(xié)議內(nèi)容的深入研究,本文采用Top.down的設(shè)計方法,首先對電路功能進(jìn)行詳細(xì)描述,按照功能對整個系統(tǒng)進(jìn)行模塊劃分;再用VHDL硬件描述語言進(jìn)行RTL代碼設(shè)計并進(jìn)行功能仿真;功能驗證正確后,采用EDA工具,指定工藝庫,進(jìn)行邏輯綜合優(yōu)化;最后采用自動布局布線進(jìn)行版圖設(shè)計形成芯片。本文確定的系統(tǒng)結(jié)構(gòu)框圖如圖2所示,它包括譯碼模塊、CRC (循環(huán)冗余校驗,cyclic redundancy check)校驗?zāi)K、狀態(tài)機(jī)模塊、CRC產(chǎn)生模塊、存儲器、編碼模塊和時鐘分頻模塊。譯碼模塊接收模擬部分解調(diào)出的命令信號,根據(jù)協(xié)議中規(guī)定的命令格式將信號譯碼成標(biāo)簽數(shù)字部分可識別的二進(jìn)制數(shù)據(jù),并發(fā)送到CRC校驗?zāi)K和狀態(tài)機(jī)模塊。CRC校驗?zāi)K對收到的命令進(jìn)行完整性校驗,若確認(rèn)為有效命令,則觸發(fā)狀態(tài)機(jī)模塊,控制標(biāo)簽執(zhí)行相應(yīng)操作,如讀寫存儲器、防沖突控制等。處理完成后則將要發(fā)送的數(shù)據(jù)送至CRC產(chǎn)生模塊產(chǎn)生相應(yīng)的CRC校驗碼,然后將要發(fā)送的數(shù)據(jù)和校驗碼一起送至編碼模塊,最后由編碼模塊以特定的脈沖形式發(fā)送給模擬部分進(jìn)行處理后再采用射頻技術(shù)發(fā)送給讀寫器。為降低功耗,時鐘分頻模塊將全局時鐘進(jìn)行分頻,分頻后的頻率可由數(shù)字部分其他模塊使用。存儲器存儲標(biāo)簽的標(biāo)識性信息。下面將具體介紹各模塊的實現(xiàn)方法。
圖2 標(biāo)簽數(shù)字部分系統(tǒng)結(jié)構(gòu)框圖[!--empirenews.page--]
4.2 譯碼模塊具體實現(xiàn)方法
讀寫器發(fā)出的命令采用PIE (pulse.interval encoding)格式,命令以同步頭(preamble)開始,如圖3所示。譯碼模塊的實現(xiàn)方法為:首先判斷同步頭,標(biāo)簽對輸入信號進(jìn)行檢測,一旦檢測到下降沿說明可能是一條新命令的定界符(delimiter),馬上計數(shù)低電平,將計數(shù)值存人寄存器count0中,同時檢測輸入信號是否有上升沿跳變,若發(fā)現(xiàn)上升沿跳變,則數(shù)據(jù)清零重新計數(shù),并把delimiter之后的計數(shù)值存入寄存器count中,不斷比較寄存器count0和count的值,依據(jù)圖3所示的關(guān)系依次判斷出delimiter, 數(shù)據(jù)0,RTcal(reader to tag calibration),TRcal (tag to reader calibration), 確認(rèn)同步頭;然后把同步頭之后的數(shù)據(jù)比RTcal/2短的作為數(shù)據(jù)0,比RTtcal/2長的作為數(shù)據(jù)1,從一系列高低電平中恢復(fù)出真正的1信號和0信號,依次存入命令寄存器,并提供控制狀態(tài)機(jī)及校驗?zāi)K的相關(guān)標(biāo)志位。
圖3 PIE格式,R=>T(reader to rag)同步
4.3 CRC校驗和產(chǎn)生模塊
UHF RFID系統(tǒng)采用循環(huán)冗余校驗(CRC校驗)來判斷數(shù)據(jù)的有效性和完整性,CRC校驗可以保護(hù)讀寫器發(fā)出的RjT (reader to tag)命令和標(biāo)簽反向散射的TjR (tag to reader)序列。從數(shù)學(xué)角度來看,CRC校驗是用將被處理的數(shù)據(jù)字節(jié)當(dāng)作一個二進(jìn)制多項式A ( )的系數(shù),該系數(shù)除以發(fā)送方和接收方預(yù)先約定好的生成多項式g ( )后,將求得的余數(shù)P ( )作為CRC校驗碼。CRC的計算包括了要計算其CRC值的數(shù)據(jù)字節(jié)以及所有前面的數(shù)據(jù)字節(jié)的CRC值。當(dāng)一個數(shù)據(jù)塊被傳輸時,數(shù)據(jù)發(fā)送方計算此數(shù)據(jù)塊的CRC校驗碼,并將此校驗碼附在數(shù)據(jù)塊后一起傳輸。數(shù)據(jù)接收方計算所有接收數(shù)據(jù)的CRC值,其結(jié)果總是零,否則在傳輸過程中一定出現(xiàn)了傳輸錯誤。用零校驗可以很容易地分析數(shù)據(jù)的完整性,避免代價很高的校驗和比較過程。協(xié)議中采用線性反饋移位寄存器來實現(xiàn)CRC校驗,CRC.5校驗和CRC.16校驗的電路示意圖如圖4所示。
圖4 CRC-5和CRC-16電路
4.4 射頻標(biāo)簽中的狀態(tài)機(jī)
RFID標(biāo)簽所有的操作都基于由一系列邏輯控制的狀態(tài)轉(zhuǎn)換進(jìn)行的,此為標(biāo)簽數(shù)字電路的核心部分。本設(shè)計采用有限狀態(tài)機(jī)來實現(xiàn)此模塊,這里用到了3類基本操作和7種典型的狀態(tài)。如圖5所示,當(dāng)收到不同命令時,標(biāo)簽將會在7種狀態(tài)間進(jìn)行轉(zhuǎn)換。選擇(select)命令和盤存(inventory)命令用于從標(biāo)簽群中識別出特定的一個,標(biāo)簽所處的相應(yīng)狀態(tài)為ready,arbitrate,reply,acknowledged;一旦標(biāo)簽被識別,讀寫器即可發(fā)出訪問(access)命令,讀取標(biāo)簽的信息或?qū)⑿畔l(fā)送給標(biāo)簽,標(biāo)簽所處的相應(yīng)狀態(tài)為open,secured,killed。
圖5 讀寫器對標(biāo)簽操作及標(biāo)簽的狀態(tài)
識別多個標(biāo)簽時采用隨機(jī)分槽防碰撞算法(slotted random anti.collision algorithm)解決沖突問題。讀寫器向讀寫范圍內(nèi)的每個標(biāo)簽發(fā)送包含參數(shù)Q (取值0 15)的Query命令,控制標(biāo)簽往各自的分槽計數(shù)器內(nèi)載入一個由Q值決定的隨機(jī)數(shù)(取值范圍0~2Q.1),隨機(jī)數(shù)的產(chǎn)生主要基于線性移位反饋寄存器 。讀寫器再發(fā)出其他inventory命令改變隨機(jī)數(shù)的值,只有當(dāng)隨機(jī)數(shù)的值為0時,標(biāo)簽才會應(yīng)答。若多個標(biāo)簽的計數(shù)器值同時為0時,這些標(biāo)簽同時應(yīng)答,從而造成沖突。讀寫器檢測到?jīng)_突后,發(fā)出inventory命令讓沖突標(biāo)簽的隨機(jī)數(shù)值從0000h(十六進(jìn)制數(shù))變到7FFFh,再通過設(shè)置新的Q參數(shù)來隨機(jī)散列分槽計數(shù)器值,使得發(fā)生沖突的多個標(biāo)簽逐一被識別,保留一個處于活動狀態(tài)的標(biāo)簽與讀寫器建立無碰撞通信,這樣就有效地解決了沖突問題。雖然此種方法的判別線性度比二進(jìn)制數(shù)搜索法低,但讀取速度高,演算機(jī)制完整,可防范多種信號碰撞的可能性,大幅降低信號碰撞的幾率。
4.5 編碼模塊
標(biāo)簽反向散射給讀寫器的數(shù)據(jù)采用FM0編碼,圖6給出了FM0編碼的格式。
圖6 FM0編碼格式
FM0編碼的數(shù)據(jù)前應(yīng)以前同步碼開始,選擇哪種前同步碼由讀寫器所發(fā)命令中的TRext參數(shù)決定;FM0編碼在每個數(shù)據(jù)邊界處倒轉(zhuǎn)相位,并在數(shù)據(jù)0中間倒轉(zhuǎn)相位。FM0編碼具有記憶功能,一序列的信號中,后一位電平必須承接上一位末尾電平,所以需要一個寄存器存放上一位末尾處的電平信號,由此來判斷下一信號的起始電平。根據(jù)讀器所發(fā)命令確定標(biāo)簽返回數(shù)據(jù)的鏈路頻率(LF:link frequency), 由內(nèi)部時鐘計數(shù)產(chǎn)生所需頻率,以此作為標(biāo)簽返回數(shù)據(jù)的發(fā)送頻率。為降低功耗,可以將全局時鐘分頻,降低時鐘頻率。為了準(zhǔn)確實現(xiàn)編碼的功能,需要在充分理解標(biāo)準(zhǔn)的基礎(chǔ)上,嚴(yán)格定義該模塊與狀態(tài)機(jī)之間的接口時序。編碼模塊只有與狀態(tài)機(jī)模塊在時序上密切配合,雙方才能正確地發(fā)送和接收信號。實現(xiàn)過程為:當(dāng)狀態(tài)機(jī)發(fā)送的使能信號有效時,編碼模塊進(jìn)入編碼狀態(tài),同時,狀態(tài)機(jī)送出數(shù)據(jù)信號;編碼模塊被觸發(fā)啟動后,首先按照協(xié)議要求產(chǎn)生前同步碼,再把要輸出的數(shù)據(jù)依次編碼,產(chǎn)生1 bit中高低各半的0信號或統(tǒng)一電平的1信號,串行送出;當(dāng)狀態(tài)機(jī)發(fā)送最后一位數(shù)據(jù)的同時,通知編碼模塊,狀態(tài)機(jī)的數(shù)據(jù)已經(jīng)發(fā)送完畢。 [!--empirenews.page--]
4.6 存儲器及存儲控制邏輯
RFID標(biāo)簽的數(shù)據(jù)信息都存儲在存儲器中,一般采用EEPROM,用于存儲EPC代碼以及password等標(biāo)簽的標(biāo)識性信息。存儲器與狀態(tài)機(jī)的接口 5 J為:Di是存儲器輸入數(shù)據(jù)信號;Do是存儲器輸出數(shù)據(jù)信號;Addr是存儲器輸入地址信號;oen是存儲器輸出使能信號,高電平有效;cen是存儲器芯片使能信號,高電平有效;we是存儲器讀寫控制信號,we=1時寫有效;we=0時讀有效。
5 仿真結(jié)果及版圖
本文采用VHDL完成了UHF RFID標(biāo)簽數(shù)字電路的RTL代碼設(shè)計,同時對標(biāo)簽與讀寫器通訊過程進(jìn)行全面的模擬和仿真,并基于0.18μm CMOS工藝標(biāo)準(zhǔn)單元庫,用EDA相關(guān)工具對該電路進(jìn)行了前端綜合和后端物理實現(xiàn)。仿真結(jié)果如圖7所示,可以看到,綜合后的電路將讀寫器發(fā)出的PIE格式命令CMD data成功地譯碼為二進(jìn)制數(shù)據(jù),存人命令寄存器command中,并提供了控制狀態(tài)機(jī)及校驗?zāi)K的相關(guān)命令的使能信號(Query en,QueryAdjust—en等);在各種命令使能信號的觸發(fā)下標(biāo)簽執(zhí)行相應(yīng)操作,按讀寫器要求產(chǎn)生各種輸出數(shù)據(jù)(rn,handle等);并將輸出數(shù)據(jù)進(jìn)行FM0編碼產(chǎn)生CMD out;還實現(xiàn)了與存儲器的接口。仿真結(jié)果顯示標(biāo)簽數(shù)字電路在各情況下均正常工作,完全滿足協(xié)議要求。綜合后的電路規(guī)模約為11000門,功耗約為35μw。由于電路規(guī)模很大,要通過自動布局線進(jìn)行版圖設(shè)計,所設(shè)計的版圖如圖8所示。版圖已經(jīng)通過了DRC(設(shè)計規(guī)則檢查)和LVS(版圖與電路圖一致比較)驗證,時序分析也滿足要求,電路具有較大的裕量,可靠性較高。
圖7 仿真結(jié)果
圖8 標(biāo)簽數(shù)字電路版圖
6 結(jié)束語
本文依據(jù)EPC C1G2及ISO/IEC18000-6協(xié)議,利用VHDL硬件描述語言和EDA工具設(shè)計實現(xiàn)了UHF RFID標(biāo)簽數(shù)字電路,可應(yīng)用于工作在超高頻段的各種RFID標(biāo)簽的數(shù)字部分。文中給出的仿真結(jié)果表明完成的設(shè)計符合協(xié)議要求。邏輯綜合也得到讓人滿意的結(jié)果,這些都保證了電路的高性能和后端設(shè)計的順利完成。后期的工作是對流片結(jié)果進(jìn)行測試,另外,在滿足協(xié)議功能要求的基礎(chǔ)上,如何盡可能地簡化電路結(jié)構(gòu)并盡可能降低功耗是進(jìn)一步研究的課題。