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