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