兩種UHF RFID標(biāo)準(zhǔn)標(biāo)簽數(shù)據(jù)結(jié)構(gòu)差異對(duì)讀寫器設(shè)計(jì)的影響
掃描二維碼
隨時(shí)隨地手機(jī)看文章
引言
由國(guó)家質(zhì)量監(jiān)督檢驗(yàn)檢疫總局和國(guó)家標(biāo)準(zhǔn)化管理委員會(huì)發(fā)布,于2014年5月1日實(shí)施的GB/T29768-2013《信息技術(shù)射頻識(shí)別800/900MHz空中接口協(xié)議》規(guī)定了840?845MHz和920?925MHz頻段射頻識(shí)別系統(tǒng)空中接口的物理層和媒體訪問(wèn)控制層參數(shù)以及協(xié)議工作方式。該標(biāo)準(zhǔn)是由2011年頒布的國(guó)軍標(biāo)GJB7377.1-2011《軍用射頻識(shí)別空中接口第一部分:800/900MHz參數(shù)》轉(zhuǎn)化而來(lái),兩者在前向前導(dǎo)碼和反向鏈接頻率以及啟動(dòng)查詢和分類命令結(jié)構(gòu)有些差異,但是查詢機(jī)制兩者完全相同,它們的數(shù)據(jù)結(jié)構(gòu)的標(biāo)簽與符合ISO18000-6C標(biāo)準(zhǔn)1的標(biāo)簽在媒體訪問(wèn)控制層和協(xié)議工作方式上有比較大的差異。所以目前這三種標(biāo)準(zhǔn)在標(biāo)簽數(shù)據(jù)結(jié)構(gòu)上可以分為兩類,為了適應(yīng)這種差異,在讀寫器軟件設(shè)計(jì)上需要有些對(duì)應(yīng)措施。
1標(biāo)簽數(shù)據(jù)結(jié)構(gòu)差異
ISO18000-6C標(biāo)簽數(shù)據(jù)結(jié)構(gòu)如圖1所示,完整電子標(biāo)簽由USER、TID、EPC和RESERVED四個(gè)Bank組成,其中EPC部分包含CRC、PC和EPC數(shù)據(jù)三個(gè)部分。CRC由標(biāo)簽本身自動(dòng)對(duì)PC和EPC兩部分計(jì)算得到,在寫標(biāo)簽時(shí)不需要特意單獨(dú)寫入CRC內(nèi)容。
GB/T29768標(biāo)簽數(shù)據(jù)結(jié)構(gòu)4如圖2所示,完整電子標(biāo)簽由也是用戶區(qū)、安全區(qū)、編碼區(qū)和標(biāo)簽信息區(qū)四個(gè)空間組成,其中編碼區(qū)由編碼長(zhǎng)度和編碼頭組成。
兩種標(biāo)簽構(gòu)成相似,但是在密集標(biāo)簽分群盤點(diǎn)方面,ISO18000-6C標(biāo)簽的數(shù)據(jù)結(jié)構(gòu)相對(duì)更容易在存儲(chǔ)空間有限的基于微控制器讀寫器設(shè)計(jì)中實(shí)現(xiàn)。
2微控制器讀寫器解碼的可行性分析
在讀寫器設(shè)計(jì)中,通常采用微控制器實(shí)現(xiàn)對(duì)電子標(biāo)簽的解碼識(shí)別,當(dāng)使用比較快的反向鏈接頻率時(shí),標(biāo)簽的應(yīng)答信號(hào)脈沖間隔只有幾微秒甚至更短,受微控制器處理速度限制,如果微控制器帶有時(shí)鐘定時(shí)器等中斷,處理這樣快速脈沖可能會(huì)因?yàn)橹袛嗾加米R(shí)別處理的時(shí)間從而丟失脈沖信號(hào)導(dǎo)致解碼失敗,因此不使用定時(shí)器中斷可以減少高反向鏈接頻率時(shí)的解碼失敗可能性。在盤點(diǎn)標(biāo)簽的解碼周期中,無(wú)論ISO18000-6C還是GB/T29768都規(guī)范了標(biāo)簽命令間隔,在ISO18000-6C和GB/T29768中都定義了相同的時(shí)間參數(shù)T2數(shù)值范圍3Tpri~20Tpri。超過(guò)規(guī)范時(shí)間,標(biāo)簽會(huì)反轉(zhuǎn)內(nèi)部標(biāo)志,在ISO18000-6C中,因?yàn)榉聪蜴溄宇l率為40~640kHz,相應(yīng)T2數(shù)值范圍最大允許值為500~32.5μs,在GB/T29768標(biāo)準(zhǔn)中反向鏈接頻率為64~640kHz,相應(yīng)T2數(shù)值范圍最大允許值為325~32.5μs,所以當(dāng)設(shè)計(jì)高速的反向鏈接頻率讀寫器時(shí),使用微控制器解碼標(biāo)簽的過(guò)程中,沒(méi)法將剛剛解碼的標(biāo)簽傳給上位機(jī)以便騰出空間,只能先緩存在微控制器的數(shù)據(jù)存儲(chǔ)空間中。由于微控制器系統(tǒng)存儲(chǔ)空間容量有限,這限制了基于微控制器的讀寫器每輪最多識(shí)別標(biāo)簽的容量。如果期望使用帶有外部擴(kuò)展SDRAM的嵌入式控制系統(tǒng),因?yàn)橄到y(tǒng)都帶有節(jié)拍定時(shí)器,存在中斷處理開銷,這在識(shí)別高反向鏈接頻率標(biāo)簽是不可接受的,即使使用雙微控制器,其中一個(gè)控制器專用于標(biāo)簽識(shí)別,也會(huì)受指令執(zhí)行速度影響,不能設(shè)計(jì)出高反向鏈接速度的讀寫器。
3標(biāo)簽分群解碼的實(shí)現(xiàn)比較
讀寫器還有緩存標(biāo)簽數(shù)據(jù)能力,以便轉(zhuǎn)給上位機(jī)控制器,受微控制器存儲(chǔ)容量的限制,設(shè)計(jì)中可以考慮把標(biāo)簽分群分批次識(shí)別來(lái)解決微控制器存儲(chǔ)容量的瓶頸。在分群方面,ISO18000-6C標(biāo)簽數(shù)據(jù)結(jié)構(gòu)相對(duì)GB/T29768的標(biāo)簽數(shù)據(jù)結(jié)構(gòu)有些優(yōu)勢(shì)。
ISO18000-6C標(biāo)簽數(shù)據(jù)結(jié)構(gòu)(圖1),包含的CRC部分所占地址是固定在00h~0Fh這16個(gè)位空間處,分群所用SELECT命令構(gòu)成參見圖3所示。
對(duì)于隨機(jī)的或是編號(hào)成序列的一群標(biāo)簽,利用標(biāo)簽的CRC存放中的幾個(gè)位作為分群SELECT命令的掩碼Mask,結(jié)合指示位置的Pointer和指示匹配長(zhǎng)度的Length,如果用CRC的二進(jìn)制高三位,Pointre=00h,Length=03h,Mask依次可配置成000b?111b,可以把標(biāo)簽分成8個(gè)子群來(lái)進(jìn)行盤點(diǎn),作為對(duì)比評(píng)估,如果用標(biāo)簽EPC部分做掩碼來(lái)分群,假如選標(biāo)簽大致成序列,而且選中的是序列的二進(jìn)制最低三位,那可以最均勻地分配出8個(gè)子群,但是如果在另外一個(gè)識(shí)別場(chǎng)合,標(biāo)簽群的序列號(hào)定義是新的格式,那就不幸可能標(biāo)簽全集中到一個(gè)群中,但是利用CRC部分的數(shù)據(jù)卻可以相對(duì)均勻地把成序列的標(biāo)簽群拆分。這方面的比較說(shuō)明了利用EPC部分位來(lái)分群的局限性,而利用CRC存放部分的數(shù)據(jù)位來(lái)分群可以在不確認(rèn)標(biāo)簽數(shù)據(jù)格式前提下,相對(duì)均勻的把標(biāo)簽分成小群。
GB/T29768標(biāo)簽數(shù)據(jù)結(jié)構(gòu)(圖2)缺少CRC部分,故編碼頭部分在GB/T297683中沒(méi)有描述,通過(guò)參考GJB7377-2011和GJB7382-20115等類似標(biāo)準(zhǔn),得知其不具有序列性質(zhì),由于缺少固定位置相對(duì)隨機(jī)的的數(shù)據(jù)結(jié)構(gòu),GB/T29768標(biāo)簽分群能力大大弱于ISO18000-6C標(biāo)簽,不利于存儲(chǔ)容量有限的微控制器的讀寫器盤點(diǎn)大群標(biāo)簽。
4基于FPGA實(shí)現(xiàn)的讀寫器解決方案
前面分析了基于微控制器的讀寫器在實(shí)現(xiàn)高速盤點(diǎn)大群標(biāo)簽特別是盤點(diǎn)GB/T29768標(biāo)準(zhǔn)標(biāo)簽的困境,如果采用并行操作的FPGA代替指令串行執(zhí)行的微控制器,利用FPGA設(shè)計(jì)多個(gè)并行工作的狀態(tài)機(jī),通過(guò)先進(jìn)先出寄存器就可以在新命令發(fā)出過(guò)程中把前面命令獲得的標(biāo)簽返回?cái)?shù)據(jù)通過(guò)接口轉(zhuǎn)移到外部嵌入式控制器,不用進(jìn)行分群盤點(diǎn)方式就可以實(shí)現(xiàn)大容量的記錄處理。
基于FPGA代替微控制器的讀寫器結(jié)構(gòu)框圖如圖4所示,其中FPGA中的控制狀態(tài)機(jī)是整個(gè)系統(tǒng)的核心,它通過(guò)接口控制器、命令狀態(tài)機(jī)、解碼狀態(tài)機(jī)、頻率控制器、FIFO控制器等部分實(shí)現(xiàn)讀卡功能。
圖4基于FPGA代替微控制器的讀寫器結(jié)構(gòu)框圖
接口控制器包含同步串行接口SPI從控制器,可以使FPGA通過(guò)SPI接口與外部嵌入式微控制器通訊,接受嵌入式控制器命令并返回得到的標(biāo)簽數(shù)據(jù),是對(duì)外交互通道。
命令狀態(tài)機(jī)根據(jù)控制狀態(tài)機(jī)處理的接口命令和解碼狀態(tài)機(jī)解調(diào)的信息,把新的命令序列處理成串行數(shù)據(jù)送給外部數(shù)字模擬轉(zhuǎn)換器,進(jìn)而輸出IQ兩路模擬信號(hào)供給調(diào)制器。
解碼器把來(lái)自外部模擬數(shù)字轉(zhuǎn)換器的數(shù)據(jù),根據(jù)解碼規(guī)則處理出標(biāo)簽信息,轉(zhuǎn)給控制狀態(tài)機(jī)去控制命令狀態(tài)機(jī),并把需要輸出的數(shù)據(jù)放入FIFO存儲(chǔ)器中緩存,等待外部嵌入式控制器取走。
頻率控制器根據(jù)控制狀態(tài)機(jī)的命令,輸出相應(yīng)命令串驅(qū)動(dòng)外部頻率合成器產(chǎn)生所需要的射頻載波,再給后級(jí)調(diào)制解調(diào)輸出。
FPGA可以并行處理數(shù)據(jù),在控制狀態(tài)機(jī)讓命令狀態(tài)機(jī)發(fā)送命令或是解碼狀態(tài)機(jī)在處理返回信息同時(shí)還可以處理接口控制器的事務(wù),把前面緩沖在FIFO存儲(chǔ)器的數(shù)據(jù)通過(guò)接口傳給外部嵌入式控制器,外部的嵌入式控制器外掛大容量的SDRAM,其與FPGA之間的SPI通訊接口接口傳送的速率要高于標(biāo)簽響應(yīng)速率,所以只要外部嵌入式控制器與FPGA配合好,突發(fā)性地把FIFO存儲(chǔ)器中的緩沖數(shù)據(jù)取走,就能實(shí)現(xiàn)基于微控制器的讀寫器無(wú)法實(shí)現(xiàn)的高反向鏈接頻率下的巨大讀卡容量。
在基于FPGA的讀寫器中,設(shè)計(jì)為最高640kHz的反向鏈接頻率時(shí),因?yàn)椴僮鞯牟⑿行?,不同于基于微控制器的指令方式,處理前述?biāo)簽標(biāo)準(zhǔn)中的&參數(shù)沒(méi)有任何壓力,同時(shí)解碼處理方式是依靠模擬數(shù)字轉(zhuǎn)換器輸入,可以對(duì)數(shù)據(jù)先進(jìn)行濾波再進(jìn)行邊沿識(shí)別,利用相對(duì)微控制器更完善的識(shí)別判斷手段,提高對(duì)弱信噪比信號(hào)識(shí)別的成功率。而基于微控制器的讀寫器,最高處理反向鏈接速度是320kHz,速度很快,因?yàn)樽R(shí)別代碼指令執(zhí)行需要時(shí)間,過(guò)短的數(shù)據(jù)間隔導(dǎo)致前面沒(méi)處理完成后面新數(shù)據(jù)就到達(dá)的狀況,這時(shí)數(shù)據(jù)會(huì)丟失導(dǎo)致解碼失敗,另外一個(gè)性能限制是命令之間時(shí)間參數(shù)&問(wèn)題,已經(jīng)處理的數(shù)據(jù)沒(méi)有充足時(shí)間傳給上位機(jī)只能先放到RAM中緩存,容量受限。
5結(jié)語(yǔ)
在對(duì)GB/T29768與ISO18000-6C兩種標(biāo)簽的數(shù)據(jù)結(jié)構(gòu)差異對(duì)比分析基礎(chǔ)上,分析了基于微控制器實(shí)現(xiàn)讀寫器的局限性和基于FPGA結(jié)構(gòu)的讀寫器實(shí)現(xiàn)的優(yōu)越性,當(dāng)然,后者開發(fā)難度,器件成本、功耗和體積都會(huì)有所增加。在應(yīng)用場(chǎng)合,可以根據(jù)需求,有針對(duì)性地采用高性能或是適當(dāng)降低讀取指標(biāo)關(guān)注小體積低成本的方案。
20211222_61c346a7a89cf__兩種UHFRFID標(biāo)準(zhǔn)標(biāo)簽數(shù)據(jù)結(jié)構(gòu)差異對(duì)讀寫器設(shè)計(jì)的影響