超高頻射頻識別系統(tǒng)讀寫器設(shè)計
文章出處:http://56733.cn 作者:張曉鵬,朱云龍,羅海波 人氣: 發(fā)表時間:2011年10月15日
引 言
射頻識別(RFID,RadioFrequency Iden tiFication) 技術(shù)是一種新興的自動識別技術(shù)。它是利用無線射頻方式進(jìn)行非接觸雙向數(shù)據(jù)通信,以達(dá)到目標(biāo)識別并交換數(shù)據(jù)的目的??捎脕砀櫤凸芾韼缀跛械奈锢韺ο螅诠I(yè)自動化、商業(yè)自動化、交通運(yùn)輸控制管理、防偽及軍事等眾多領(lǐng)域都有廣泛的應(yīng)用前景。按照工作頻段的不同,RFID系統(tǒng)還可以分為低頻(135kHz以下)、高頻(13. 56MHz)、超高頻( 860~960MHz) 和微波( 2. 4GHz以上) 等幾類。目前大多數(shù)RFID系統(tǒng)為低頻和高頻系統(tǒng),但超高頻(UHF) 頻段的RFID系統(tǒng)具有操作距離遠(yuǎn)、通訊速度快、成本低、尺寸小等優(yōu)點(diǎn),更適合未來物流、供應(yīng)鏈領(lǐng)域的應(yīng)用,也為實現(xiàn)“物聯(lián)網(wǎng)”提供了可能。因此超高頻RFID系統(tǒng)的發(fā)展是當(dāng)前RFID系統(tǒng)發(fā)展的重點(diǎn)。本文介紹了符合ISO1800026標(biāo)準(zhǔn)的超高頻RFID電子標(biāo)簽主要特點(diǎn)、結(jié)構(gòu)、工作原理及讀寫方法,提出了相應(yīng)讀寫器的解決方案,重點(diǎn)闡述了讀寫器的硬件設(shè)計及軟件程序流程。實際應(yīng)用結(jié)果表明該讀寫器具有以下特點(diǎn):讀寫速度快(單個標(biāo)簽64bit/6ms)、識別率高,識別距離遠(yuǎn)(≥4m)。
標(biāo)簽工作原理及特性
工作原理
RFID系統(tǒng)一般由讀寫器和標(biāo)簽(或稱應(yīng)答器、電子標(biāo)簽、智能標(biāo)簽) 及天線組成。本文采用某公司的UCODEHSL標(biāo)簽,符合ISO18000-4與ISO18000-6標(biāo)準(zhǔn),本身無電源,靠讀寫器的射頻場獲得能源,采用負(fù)載調(diào)制方式,工作頻段為UHF或2. 45GHz。工作原理如圖1所示。
PC機(jī)通過RS232接口遠(yuǎn)程控制讀寫器。讀寫器接到命令后,通過天線發(fā)送射頻命令實現(xiàn)對標(biāo)簽的操作,同時接收標(biāo)簽返回的數(shù)據(jù)。標(biāo)簽靠其偶極子天線獲得能量,并由芯片( IC) 控制接收、發(fā)送數(shù)據(jù)。
圖1:工作原理
IC結(jié)構(gòu)
標(biāo)簽IC主要由模擬、數(shù)據(jù)處理及EEPROM三個模塊構(gòu)成,如圖2所示。
圖2:標(biāo)簽IC結(jié)構(gòu)
模擬RF接口模塊為IC提供穩(wěn)定電壓,并將獲得的數(shù)據(jù)解調(diào)后供數(shù)據(jù)模塊處理,同時將數(shù)據(jù)調(diào)制后返回給讀寫器。數(shù)字處理模塊包括狀態(tài)轉(zhuǎn)換機(jī)、讀寫協(xié)議執(zhí)行、與EEPROM的數(shù)據(jù)交換處理等功能。
存儲特性
標(biāo)簽內(nèi)置2048bit的EEPROM,分成64塊(block) ,每塊32bit。其中8byte為ID存儲空間,216byte為用戶存儲空間。每字節(jié)都有相應(yīng)的鎖定位,該位被置“1”就不能再被改變??梢酝ㄟ^LOCK命令將其鎖定,通過Query locK(查詢鎖定) 命令讀取鎖定位的狀態(tài),鎖定位不允許被復(fù)位。Byte0~7被鎖定,為標(biāo)簽的標(biāo)識碼(Unique ID)。64bitUID包含50bit的獨(dú)立的串號,12bit的邊界碼和一個兩位的校驗碼。Byte 8~219是未鎖定空間,供用戶使用。Byte 220~223也是未鎖定的,作為寫操作完畢的標(biāo)志bit或者用戶空間。
標(biāo)簽的讀寫
命令格式
讀寫器的命令格式
讀寫器的命令格式如下:
幀頭探測段是一個至少持續(xù)400Ls的穩(wěn)定無調(diào)制載波(相當(dāng)于16bit數(shù)據(jù)的傳輸) ;幀頭是9bit的NRZ格式的manchester“O”,即:010101010101010101;開始符是用來標(biāo)記有效數(shù)據(jù),原返回率采用5位的開始符(1100111010) ,4倍返回率采用開始符(11011100101) ;CRC采用16bit的CRC編碼。
標(biāo)簽的應(yīng)答格式
標(biāo)簽的應(yīng)答格式如下:
靜默是標(biāo)簽持續(xù)2byte 的無反向散射(40kb/s的速率下相當(dāng)于400Ls的持續(xù)時間) ;返回幀頭是:“00000101010101010101000110110001”;CRC采用16bit的CRC編碼。
防沖突機(jī)制
充電后的IC有三種主要數(shù)字狀態(tài):準(zhǔn)備(READY,初始狀態(tài)) ;識別( ID,標(biāo)簽期望讀寫器識別的狀態(tài)) ;數(shù)據(jù)交換(DATE EXCHANGE,標(biāo)簽已被識別狀態(tài))。
圖3:狀態(tài)轉(zhuǎn)換圖
首先,標(biāo)簽進(jìn)入讀寫器的射頻場,從無電狀態(tài)進(jìn)入準(zhǔn)備狀態(tài)。讀寫器通過“組選擇”和“取消選擇”命令來選擇工作范圍內(nèi)處于準(zhǔn)備狀態(tài)中所有或者部分的標(biāo)簽,來參與沖突判斷過程。為解決沖突判斷問題,標(biāo)簽內(nèi)部有兩個裝置:一個8bit的計數(shù)器;一個0或1的隨機(jī)數(shù)發(fā)生器。標(biāo)簽進(jìn)入ID狀態(tài)的同時把它的內(nèi)部計數(shù)器清“0”。它們中的一部分可以通過接345第3期張曉鵬,朱云龍等:超高頻射頻識別系統(tǒng)讀寫器設(shè)計收“取消”命令重新回到準(zhǔn)備狀態(tài),其它處在識別狀態(tài)的標(biāo)簽進(jìn)入沖突判斷過程。被選中的標(biāo)簽開始進(jìn)行下面循環(huán):
① 所有處于ID狀態(tài)并且內(nèi)部計數(shù)器為0的標(biāo)簽將發(fā)送它們的UID。
②如果多于一個的標(biāo)簽發(fā)送,讀寫器將發(fā)送失敗命令。
③ 所有收到失敗命令且內(nèi)部計數(shù)器不等于0的標(biāo)簽將其計數(shù)器加1。收到失敗命令且內(nèi)部計數(shù)器等于0的標(biāo)簽(剛剛發(fā)送過應(yīng)答的標(biāo)簽) 將產(chǎn)生一個“1”或“0”的隨機(jī)數(shù),如果是“1”,它將自己的計數(shù)器加1;如果是“0”,就保持計數(shù)器為0并且再次發(fā)送它們的UID。
④如果有一個以上的標(biāo)簽發(fā)送,將重復(fù)第2步操作;
⑤如果所有標(biāo)簽都隨機(jī)選擇了“1”,則讀寫器收不到任何應(yīng)答,它將發(fā)送成功命令,所有應(yīng)答器的計數(shù)器減1,然后計數(shù)器等于0的應(yīng)答器開始發(fā)送,接著重復(fù)第2步操作;
⑥如果只有一個標(biāo)簽發(fā)送并且它的UID被正確接收,讀寫器將發(fā)送包含UID的數(shù)據(jù)讀命令,標(biāo)簽正確接收該條命令后將進(jìn)入數(shù)據(jù)交換狀態(tài),接著將發(fā)送它的數(shù)據(jù)。讀寫器將發(fā)送成功命令,使處于ID狀態(tài)的標(biāo)簽的計數(shù)器減1;
⑦如果只有一個標(biāo)簽的計數(shù)器等于1并且返回應(yīng)答,則重復(fù)第5和第6步操作;如果有一個以上的標(biāo)簽返回應(yīng)答,則重復(fù)第2步操作;
⑧如果只有一個標(biāo)簽返回應(yīng)答,并且它的UID沒有被正確接收,讀寫器將發(fā)送一個重發(fā)命令。如果UID被正確接收,則重復(fù)第5步操作。如果UID被重復(fù)幾次的接收(這個次數(shù)可以基于系統(tǒng)所希望的錯誤處理標(biāo)準(zhǔn)來設(shè)定) ,就假定有一個以上的標(biāo)簽在應(yīng)答,重復(fù)第2步操作。
系統(tǒng)硬件構(gòu)成
本系統(tǒng)選用W 77E58單片機(jī)作為主控模塊,與發(fā)射模塊和接收模塊、串口通信模塊共同構(gòu)成射頻標(biāo)簽的讀寫系統(tǒng)。系統(tǒng)硬件原理如圖1中讀寫器部分所示。
主控模塊
主控模塊選擇W INBOND公司的W 77E58,它是一款高速、高集成、增強(qiáng)型內(nèi)核為8051的高性能單片機(jī);內(nèi)置32kbit可重復(fù)編程的Flash EPROM,1kbit用MOV指令訪問的內(nèi)部SRAM(節(jié)省了16條數(shù)據(jù)/地址I/O口線) ,以及2個增強(qiáng)型全雙工串行口。使用W 77E58的系統(tǒng)速度要比傳統(tǒng)51系列單片機(jī)快2. 5倍左右。工作頻率為40MHz的W 77E58相當(dāng)于100MHz左右的8051。
發(fā)射模塊
發(fā)射模塊由射頻調(diào)制/發(fā)射芯片和功率放大芯片組成。其原理如圖4所示。調(diào)制/發(fā)射芯片選用MotorolA公司的MC33493,它是由鎖相環(huán)調(diào)諧的UHF頻段調(diào)制/發(fā)射芯片,采用OOK或FSK調(diào)制,具有集成的VCO、環(huán)路濾波器、可調(diào)的輸出功率,工作頻段可選擇315~434或868~928MHz。工作頻段由BAND(3) 管腳控制、調(diào)制方式則由MODE (14) 管腳設(shè)定。RFOUT(10) 管腳的輸出頻率F(oUt) = F(Y1)×[Ratio] (PLL )。
圖4:發(fā)射模塊
本設(shè)計中BAND(3) 管腳置低電平,選用868~928MHz的頻段;工作頻率設(shè)定在915MHz,f(Y1) = 915MHz/64= 14. 297MHz;MODE (14) 管腳置低電平,采用OOK調(diào)制方式;DATACL K(1)、DATA(2)、ENABL E (13) 管腳分別為時鐘、數(shù)據(jù)輸入和芯片工作開關(guān),由單片機(jī)來控制。
為了提高系統(tǒng)的發(fā)射功率,本設(shè)計選用了RFMicroDevice 公司的RF2132功率放大芯片對MC33493輸出的射頻信號進(jìn)行功率放大;RF2132是一種高功率、高效率的線性放大器,具有29dBm的線性輸出功率。
接收模塊
接收模塊由射頻接收/解調(diào)芯片和信號放大芯片組成。原理如圖5所示。射頻接收/解調(diào)芯片選用MotorolA公司的MC33593,它是一種由鎖相環(huán)調(diào)諧的UHF頻段低功率射頻接收/解調(diào)芯片,工作頻帶在868~928MHz,中頻帶寬為500kHz,采用OOK或FSK調(diào)制,由DMDAT(13) 管腳設(shè)定。具有集成的VCO、環(huán)路濾波器。
本設(shè)計中DMDAT(13) 管腳置低電平,采用OOK調(diào)制。晶體振蕩器的頻率選擇與MC33493相同。系統(tǒng)時鐘(11)、數(shù)據(jù)接口(15、16) 及輸入控制開關(guān)(14) 由單片機(jī)控制。
為了提高系統(tǒng)的接收靈敏度,本設(shè)計在天線和射頻接收/解調(diào)器之間增加了一套射頻信號放大電路,主要由RF2173組成,其功能是用于對天線接收到的射頻信號進(jìn)行放大,以提高M(jìn)C33593輸入射頻信號的信號強(qiáng)度;RF2173具有最大32dB的增益。
圖5:接收模塊
串口通信模塊
讀寫器采用RS232接口與計算機(jī)通信,電平轉(zhuǎn)換芯片用ICL232。通過該接口計算機(jī)向讀寫器發(fā)送讀、寫標(biāo)簽等命令,讀寫器可把結(jié)果回送給計算機(jī)。
系統(tǒng)軟件設(shè)計
主程序
由于系統(tǒng)在PC機(jī)的監(jiān)控下工作,兩者之間為主從通信方式。主控模塊上電完成正常初始化過程后,便進(jìn)入等待狀態(tài),等PC機(jī)發(fā)來指令。當(dāng)接收到PC機(jī)指令后,轉(zhuǎn)去處理相應(yīng)的程序。處理完畢后執(zhí)行結(jié)果信息返回PC機(jī)。主程序框圖如圖6所示。
圖6:接收模塊
防沖突程序
在讀寫器天線所覆蓋的范圍之內(nèi)有多個標(biāo)簽存在時,讀寫器發(fā)送命令后,會引起響應(yīng)沖突,從而導(dǎo)致通信失敗。當(dāng)讀寫器檢測到?jīng)_突后,可使用命令來處理存在的沖突。通過發(fā)送命令可以記錄讀寫器天線覆蓋范圍內(nèi)的標(biāo)簽的UID,然后利用UID的唯一性,讀寫器和各個標(biāo)簽分別建立獨(dú)立的通道進(jìn)行通信,從而消除沖突。讀寫器首先發(fā)送命令給標(biāo)簽,在命令的數(shù)據(jù)域和參數(shù)域中分別包含UID的掩碼和掩碼的長度,傳送給標(biāo)簽的掩碼要求是整字節(jié),如果此掩碼不是整字節(jié)的話將自動在高位補(bǔ)零。通過設(shè)置標(biāo)志域的相應(yīng)標(biāo)志位,讀寫器可以設(shè)置接收標(biāo)簽響應(yīng)的時隙為3或6,在各時隙中,讀寫器都可以接收標(biāo)簽返回的UID,讀寫器通過發(fā)送結(jié)束信號的UID和當(dāng)前時隙序號的最低4bit加命令數(shù)據(jù)域中的掩碼進(jìn)行比較,如果不匹配則無應(yīng)答,如果匹配將送回自己的UID。在某一時隙可能出現(xiàn)多個標(biāo)簽同時做出響應(yīng),這時讀寫器要記下沖突的標(biāo)簽掩碼和時隙計數(shù)器的值,以做進(jìn)一步?jīng)_突處理。流程圖如圖7。
圖7:接收模塊
結(jié)束語
本文設(shè)計的超高頻射頻識別讀寫器能夠讀寫UCODE HSL 系列多種標(biāo)簽,讀寫速度最快(從單個標(biāo)簽上平均讀取64bit,耗時不超過6ms每多取32bit耗時累加1ms;每單個標(biāo)簽上平均寫入32bit,耗時不超過25ms每多寫入32bit耗時累加25ms) ,讀寫距離(≥4m) ,有效地解決了多標(biāo)簽防沖撞問題,此超高頻射頻識別系統(tǒng)尤其適用于物流、供應(yīng)鏈領(lǐng)域。