AT88RF020型射頻識別卡及其應(yīng)用
摘要:AT88RF020是13.56MHz的低端射頻識別卡,遵循ISO/IEC 14443 Type B協(xié)議。著重介紹AT88RF020型射頻卡的特點、工作原理及其在學(xué)校就餐管理中的應(yīng)用,同時給出部分程序代碼。
關(guān)鍵詞:射頻識別; AT88RF020;讀卡器; 就餐管理
1 引言
如今,在一些就餐比較集中的大、中專及中學(xué)里,就餐基本上采用微機管理。學(xué)生憑一張非接觸式RFID卡就可以方便地在學(xué)校食堂消費。有些學(xué)校采用了校園一卡通,只要持有合法的RFID卡,就可在全校范圍內(nèi)的公共消費場所進行消費。
RFID是Radio Frequency Identification的縮寫,即射頻識別卡或感應(yīng)式電子電路等。RFID射頻識別是非接觸式的自動識別技術(shù),它通過射頻信號自動識別目標(biāo)對象并獲取相關(guān)數(shù)據(jù),識別工作無需人工干預(yù),可工作于各種惡劣環(huán)境。RFID技術(shù)可識別高速運動物體并可同時識別多個標(biāo)簽,操作快捷方便。AT88RF020型電路就是Atmel公司生產(chǎn)的非接觸式RFID卡。
2 AT88RF020的特點
AT88RF020型射頻識別卡的主要特點如下:
●13.56MHz射頻卡,遵循ISO/ECl4443 Type B協(xié)議;
●容量為2048字節(jié);
●每張卡有惟一序列號;
●帶有加密和鎖定功能;
●有1個1次性計數(shù)器;
●所有傳輸信息中包括1個字節(jié)的循環(huán)校驗碼;
●寫時間為3ms;
●寫次數(shù)為100 000次;
●工作環(huán)境溫度范圍為0℃一70℃。
3 射頻識別系統(tǒng)的組成及工作原理
3.1 RFID系統(tǒng)的基本組成
(1)標(biāo)簽(Tag,即射頻卡)
由耦合元件及電路組成,標(biāo)簽含有內(nèi)置天線,用于和射頻天線進行通信,每個標(biāo)簽具有唯一的電子編碼,附著在物體上標(biāo)識目標(biāo)對象。圖1示出AT88RF020型RFID的內(nèi)部結(jié)構(gòu)。
(2)閱讀器(Reader或讀卡器)
讀取(除讀卡外還可以寫入)標(biāo)簽信息的設(shè)備,可設(shè)計為手持式或固定式。
(3)天線(Antenna)
在標(biāo)簽(射頻卡)和讀卡器之間傳遞射頻信號。有些系統(tǒng)還通過讀卡器的RS232或RS485接口與外部計算機(上位機主系統(tǒng))連接,進行數(shù)據(jù)交換。
3.2 RFID系統(tǒng)的基本工作原理
RFID系統(tǒng)的基本工作原理是讀卡器通過發(fā)射天線發(fā)送一定頻率(如13.56MHz)的射頻信號,當(dāng)射頻卡進入發(fā)射天線工作區(qū)域時產(chǎn)生感應(yīng)電流,射頻卡獲得能量并被激活;射頻卡將自身的編碼等信息通過射頻卡的內(nèi)置發(fā)射天線發(fā)送出去;系統(tǒng)接收天線接收從射頻卡發(fā)送來的載波信號,經(jīng)天線調(diào)節(jié)器傳送到讀卡器,讀卡器對接收的信號進行解調(diào)和解碼后送到后臺主系統(tǒng)進行相關(guān)處理;主系統(tǒng)根據(jù)邏輯運算判斷該卡的合法性,針對不同的設(shè)定做出相應(yīng)的處理和控制,發(fā)出指令信號,控制執(zhí)行機構(gòu)動作。
3.3 RFID系統(tǒng)讀卡器的結(jié)構(gòu)及工作原理
對讀卡器而言,在耦合方式(如電感一電磁)、通信流程(如FDX、HDX、SEQ)、射頻卡到讀卡器的數(shù)據(jù)傳輸方式(如負載調(diào)制、反向散射、高次諧波)及頻率范圍等方面,不同的非接觸傳輸方法雖有根本的區(qū)別,但所有的讀卡器在功能原理上及由此決定的設(shè)計構(gòu)造上都很相似,所有閱讀器均可簡化為高頻接口和控制單元2個基本模塊。高頻接口包含發(fā)送器和接收器,其功能包括產(chǎn)生高頻發(fā)射功率以啟動射頻卡并提供能量;對發(fā)射信號進行調(diào)制,用于將數(shù)據(jù)傳送給射頻卡;接收并解調(diào)來自射頻卡的高頻信號。不同射頻識別系統(tǒng)的高頻接口設(shè)計具有一些差異,電感耦合系統(tǒng)的高頻接口原理如圖2所示。
讀卡器控制單元的功能包括與應(yīng)用系統(tǒng)軟件進行通信并執(zhí)行應(yīng)用系統(tǒng)軟件發(fā)來的命令;控制與射頻卡的通信過程(主一從原則);信號的編解碼。對一些特殊的系統(tǒng)還有執(zhí)行反碰撞算法,對射頻卡與閱讀器間要傳送的數(shù)據(jù)進行加密和解密,以及進行射頻卡和讀卡器間的身份驗證等附加功能。
4 AT88RF020的存儲結(jié)構(gòu)
AT88RF020有2048字節(jié)的存儲容量,分成32頁,每頁8個字節(jié),存儲結(jié)構(gòu)如表1所示。
上表中標(biāo)有“一”的字節(jié)由用戶定義,出廠時初始值為O。
Pseudo Unique PICC ID是卡的惟一序列號;卡序列號由生產(chǎn)廠家寫入,不能修改。
Application Data是應(yīng)用數(shù)據(jù),該數(shù)據(jù)作為ATQB回復(fù)信息的一部分由卡傳輸?shù)阶x寫器中。
Counter是計數(shù)器,每執(zhí)行1次COtJNT指令,計數(shù)器的值就加l,初始值由廠家設(shè)定為0。
Signature是簽名(用于加密),該數(shù)據(jù)位于第2頁的前6個字節(jié),可以通過COUNT指令修改,Countex和Signature可以提供進一步的安全保護。
Password是密碼,放在第3頁中,不能讀出。
Lock Bits是鎖定位,位于第0頁,驗證密碼后,能用LOCK命令修改,鎖定位中的每一位與內(nèi)存各頁對應(yīng),如果某位被設(shè)為“1”,則對應(yīng)的頁就被鎖死,不能再進行寫操作,也沒有機制解鎖,所以某頁一旦被鎖,其內(nèi)容再也不能修改,出廠初始值為0。
5 AT88RF020的常用命令與函數(shù)
5.1 AT88RF020的常用命令
(1)REQB/WUPB
該命令用于尋卡或者喚醒處于HALT狀態(tài)的卡,這種卡只響應(yīng)應(yīng)用代碼(API)為00或01的情況,如果接收到帶有無效API代碼的WUPB命令,那么卡仍然處于HALT狀態(tài)。
(2)ATTRIB
該命令用于從所有響應(yīng)REQB/WUPB的卡中選擇一張卡,此后,卡進入ACTVE狀態(tài)。
(3)Slot MARKER
該命令為讀寫器提供用于查詢隨機數(shù)大于1的卡。
(4)HALTB
此命令設(shè)置卡處于HALT狀態(tài),此后只能執(zhí)行WUPB命令。
(5)READ
READ用于讀取卡中的數(shù)據(jù)。讀取頁0,1,2可以不必驗證密碼,而第3頁的數(shù)據(jù)不能讀出,只能通過PASSWORD命令修改。其他的頁驗證密碼后可以讀出。
(6)WRITE
此命令用于對卡寫入數(shù)據(jù)。
(7)LOCK
此命令只有在驗證密碼之后才能執(zhí)行,用于鎖定某一地址區(qū)域,被鎖定的地址區(qū)域在驗證密碼后才可以進行讀操作。
(8)CHECK PASSWORD
密碼校驗命令,在設(shè)備進入就緒狀態(tài)后執(zhí)行。
(9)DESELECT
如果對處于ACTIVE狀態(tài)的卡執(zhí)行該命令且通過,則卡發(fā)送正確的回答信息,并進入HALT狀態(tài)。
(10)COUNT
該命令用于寫第2頁。COUNT命令中所帶的數(shù)據(jù)寫入第2頁的前6個字節(jié)中,后2個字節(jié)由計數(shù)器使用,每執(zhí)行1次COUNT命令,計數(shù)器的值就加1,計數(shù)器的值達到215時,不能再執(zhí)行COUNT操作,且第2頁被鎖定,不能再修改。執(zhí)行該命令之前要驗證密碼。AT88RF020的上電或重啟動工作流程如圖3所示。
5.2 AT88RF020的函數(shù)
下面以rf_attrib()函數(shù)為例說明AT88RF020的函數(shù)的用法。
(1)函數(shù)rf_attrib()的格式
Int rf_attrib (HANDLE icdev,unsigned long pupi,unsigned char param,unsigned clam eid,unsigned char brTx,unsigned char brRx);
(2)函數(shù)的功能
從已響應(yīng)REQB/WUPB命令的卡中選取1張卡,同時給每張卡分配1個ID號。
(3)函數(shù)的參數(shù)描述
icdev:rf_init()返回的設(shè)備描述符
pupi:Pseudo-Unique PICC Identifier
param:設(shè)為O
cid:卡片ID號(O-15),這個值存儲在卡片中供后面操作使用
brTx:由PCD(近耦合設(shè)備)到PICC(近耦合集成電路卡)的波特率。對于AT88RF020,0x00代表106Kbit/s
brRx:從PICC到PCD的波特率。對于AT88RF020,Ox00代表106Kbit/s
(4)返回值:=0:成功
>0:失敗
(5)例程:int st;
unsigned char Mode=0;
unsigned char_Data[15];
unsigned long pupi=0;
st=rf_requestb(icdev,Mode,0,0,_Data);
if(st==0)
{
memcpy(pupi,_Data[1],4);
st=rf_attrib(icdev,pupi,0,0,0);
}
經(jīng)過選卡后,如果有多張卡進入激活狀態(tài),則可以根據(jù)CID(射頻卡ID號)在同一時間內(nèi)對多張卡操作。以2張卡為例: 說
6 在學(xué)校就餐管理系統(tǒng)中的應(yīng)用
6.1 系統(tǒng)總體方案
采用美國ATMEL公司生產(chǎn)的AT88RF020型射頻識別卡、IDIC(Identificatlon Integrated Circuit)、U2270B型讀寫基站集成電路和ATMEL公司的8位單片機研制開發(fā)學(xué)校食堂就餐管理系統(tǒng),該系統(tǒng)具有預(yù)付收費、目標(biāo)識別、身份驗證、數(shù)據(jù)采集、數(shù)據(jù)加密和數(shù)據(jù)庫管理的功能。系統(tǒng)由AT88RF020卡、就餐管理終端、數(shù)據(jù)庫管理系統(tǒng)、就餐管理終端與數(shù)據(jù)庫管理微機的通信系統(tǒng)4部分組成。主機與就餐管理終端之間的通信采用RS-485標(biāo)準(zhǔn),工作方式為半雙工,每次通信都是主機首先呼叫從機。系統(tǒng)結(jié)構(gòu)原理如圖4所示。
6.2 通信硬件接口設(shè)計
本系統(tǒng)中就餐管理終端與上位機的通信選用RS-485總線標(biāo)準(zhǔn),并采用MAX465來實現(xiàn),它具有RS-485通信接口需要的全部功能,數(shù)據(jù)通信的方向由RE,DE腳來控制,設(shè)計中二者連在一起,由單片機的P1.5控制,當(dāng)它為高電平時,數(shù)據(jù)由就餐管理終端經(jīng)MAX485到外部串行總線,即處于發(fā)送狀態(tài);當(dāng)它為低電平時,數(shù)據(jù)由外部串行總線到就餐管理終端。一般微機的串行口采用RS-232接口,故在上位機一端需要一個RS-232/RS-485轉(zhuǎn)換器。本設(shè)計中采用臺灣ATEN公司生產(chǎn)的485SN型轉(zhuǎn)換器,它是雙向RS-232/RS-485或RS-422轉(zhuǎn)換器,可提供點對點、點對多點(最多可達254個點)的全雙工和半雙工以及多點的單工串行通信。
6.3 通信軟件接口設(shè)計
上位機數(shù)據(jù)庫管理系統(tǒng)采用Visual FoxPro(即VF)編寫,這里介紹的串行通信程序主要是在VF中實現(xiàn)與就餐管理終端的通信程序設(shè)計。本系統(tǒng)采用標(biāo)準(zhǔn)的通信控件communications進行通信程序的設(shè)計,實現(xiàn)掛失數(shù)據(jù)的發(fā)送、用戶卡號的發(fā)送、發(fā)卡和就餐數(shù)據(jù)的接收。每次通信時,首先在上位機的init事件中初始化通信控件olecontroll,初始化設(shè)置為:
7 結(jié)束語
本文介紹了ATRF88020型RFID卡的特點、工作原理及在學(xué)校就餐管理中的應(yīng)用。RFID技術(shù)的典型應(yīng)用還有物流和供應(yīng)管理;產(chǎn)品制造和裝配;航空行李處理;郵件/快運包裹處理;文檔追蹤/圖書館管理;動物身份標(biāo)識;運動計時;門禁控制/電子門票;道路自動收費等。
評論