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