RFID世界網(wǎng) >
技術(shù)文章 >
制造 >
正文
高頻RFID讀卡器軟件設(shè)計
作者:沈忱,胡明
來源:RFID世界網(wǎng)
日期:2011-06-07 16:02:28
摘要:文中主要闡述了基于Philips 系統(tǒng)的RFID讀卡器的設(shè)計,并著重于軟件部分程序的設(shè)計。對初始化、發(fā)送請求、防沖突、選擇卡、三重認證、讀卡和寫卡模塊都給出了詳細的程序流程圖,并作了相應(yīng)的說明。
一、引言
RFID(Radio Frequency Identification)即無線射頻識別系統(tǒng)達,也稱為無線IC 標簽、電子標簽、感應(yīng)式電子芯片、非接觸卡等,它是一種透過無線電波來到非接觸的資料獲取和存取的技術(shù),即一種非接觸式的自動識別技術(shù),通過射頻信號自動識別目標對象并獲取相關(guān)數(shù)據(jù),識別工作無須人工干預,可工作于各種惡劣環(huán)境。RFID 技術(shù)可識別高速運動物體并可同時識別多個標簽,操作快捷方便。自2004 年以來,與RFID 技術(shù)相關(guān)的文章在各個媒體上不斷涌現(xiàn)相關(guān)的報道讓這個歷史其實并不短的技術(shù)在短時間內(nèi)成為國際追逐的焦點。從全球巨型商業(yè)帝國沃爾瑪,到國際IT 巨頭IBM、HP、微軟等等,從美國國防部到中國國家標準委,全都在RFID魔棒的指揮下舞蹈起來。本文所論述的工作,主要是在基于Philips系統(tǒng)的RFID 讀卡器的軟件設(shè)計及其調(diào)試。具體來說,主要是在利用AT89S51 單片機控制Philips 的RFID 芯片,讀取射頻卡上的信息,并將其顯示在數(shù)碼管上。
二、基本原理及相關(guān)理論
1.RFID 標簽的組成
(1)讀寫器:也是由天線、信號收發(fā)報機與譯碼器組成。RFID 標簽上的芯片被激活啟動后,就進行需要的讀出、寫入數(shù)據(jù)操作,讀寫器可把通過天線得到的標簽芯片中的數(shù)據(jù),經(jīng)過譯碼器進行譯碼,送往主計算機處理。
(2)天線:標簽和讀寫器收發(fā)報機之間的管道,通過天線來控制系統(tǒng)信號的獲得與交換。天線的形狀和大小有多種多樣,例如可以裝在門框上,接收從該門通過的人或物品的相關(guān)數(shù)據(jù);還可安裝在適當?shù)攸c監(jiān)控道路上的交通情況等。
(3)標簽:其核心部分是發(fā)射機應(yīng)答器,能夠接收并發(fā)送信號,一般被做成低功率的集成電路,與外部的電磁波或電磁感應(yīng)相互作用,產(chǎn)生RFID 標簽工作時所需的功率并進行數(shù)據(jù)傳輸。RFID 標簽通常是由印刷層、芯片層與底層構(gòu)成。芯片層在印刷層與底層之間,是標簽的核心部分,芯片層不能承受印刷壓力,因此通常的做法是先印好印刷層,做好底層,再與芯片層復合。
2.RFID 讀卡器工作原理
RFID(射頻識別)系統(tǒng)由兩部分組成:讀/寫單元和電子收發(fā)器。讀寫器通過天線發(fā)出一定頻率的射頻信號,當射頻卡進入發(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)動作。讀寫器的控制單元的功能包括:與應(yīng)用系統(tǒng)軟件進行通信,并執(zhí)行應(yīng)用系統(tǒng)軟件發(fā)來的命令;控制與射頻卡的通信過程(主—從原則);信號的編解碼。對一些特殊的系統(tǒng)還有執(zhí)行防沖突算法,對射頻卡與讀寫器間要傳送的數(shù)據(jù)進行加密和解密,以及進行射頻卡和讀寫器間的身份驗證等附加功能。射頻識別系統(tǒng)的讀寫距離是一個很關(guān)鍵的參數(shù)。目前,長距離射頻識別系統(tǒng)的價格還很貴,因此尋找提高其讀寫距離的方法很重要。影響射頻卡讀寫距離的因素包括天線工作頻率、讀寫器的射頻輸出功率、讀寫器的接收靈敏度、射頻卡的功耗、天線及諧振電路的Q 值、天線方向、讀寫器和射頻卡的耦合度,以及射頻卡本身獲得的能量及發(fā)送信息的能量等。大多數(shù)系統(tǒng)的讀取距離和寫入距離是不同的,寫入距離大約是讀取距離的40%~80%。系統(tǒng)工作原理如圖1 所示。
本次設(shè)計的目的是設(shè)計一款應(yīng)用于13.56MHz 的射頻讀卡器,使其能非接觸地讀取IC 卡信息,使信息準確無誤地顯示在數(shù)碼管上,并保證一定的讀卡距離。
編程平臺:Keil uVision2;程序燒錄軟件:AtmelMicrocontroller ISP Software
1.對IC卡操作的流程如圖2 所示。
(2)發(fā)送請求:發(fā)送請求命令過程為ISO/IEC14443 TYPE A 通信協(xié)議中的REQA 命令。借助RC500 的TRANSCEIVE 命令將REQA 命令發(fā)送至IC 卡,并接收返回的數(shù)據(jù)。發(fā)送請求命令的作用就是搜尋有無IC 卡靠近,跟據(jù)返回得數(shù)據(jù)判斷有無需要與之通信的IC 卡。
請求模式有Request all 和Request std 兩種。Request all 指令是非連續(xù)性的讀卡指令,只讀一次。但有個例外,當某一次Request all 指令讀卡片失敗時,例如,卡片沒能通過密碼認證或其它原因而出錯時,Request all 指令將連續(xù)地讀卡,直到讀卡成功才進入非連續(xù)性的讀卡模式。
Request std 指令的使用和Request all 指令剛巧相反。Request std 指令是連續(xù)性的讀卡指令。當某一張卡片在天線的有效的工作范圍(距離)內(nèi),Request std 指令在成功地讀取這一張卡片之后,進入對卡片的其它操作。如果其它操作完成之后,程序員又將程序進入Request std 指令操作,則Request std 指令將連續(xù)地再次進行讀卡操作,而不管這些片卡是否被拿卡。只要有一張卡片進入天線的有效的工作范圍內(nèi),Request std 指令將始終連續(xù)地再次進行讀卡操作。對于Mifare One 卡,該函數(shù)反回值為0004H。發(fā)送請求程序流程圖如圖4 所示。
(4)選擇卡:選擇卡的過程即為ISO/IEC14443 TYPE A 協(xié)議中的SELECT 命令。作用是選擇一張卡。其程序流程圖如圖5 所示。
①由IC 卡向讀卡器發(fā)送一個隨機數(shù)據(jù)RB。
②讀卡器收到RB 后,向IC 卡發(fā)送一個令牌數(shù)據(jù)TOKEN AB,其中包含了讀卡器發(fā)出的一個隨機數(shù)據(jù)RA。
③IC 卡收到TOKEN AB 后,對TOKEN AB 的加密部分進行解密,并校驗第一次由步驟①中IC 卡發(fā)出的隨機數(shù)RB 是否與步驟②中接收到的TOKEN AB 中的RB 相一致。
④如果步驟③中校驗結(jié)果正確,則IC 卡向讀卡器發(fā)送令牌TOKEN BA 給讀卡器。
⑤讀卡器收到令牌TOKEN BA 后,將對令牌TOKEN BA中的RB 進行解密;并校驗由步驟②中讀卡器發(fā)出的隨機數(shù)RA是否與步驟④中接收到的TOKEN BA 中的RA 相一致。如果上述的每一個步驟都能正確通過驗證。則整個認證過程將成功,讀寫器將能對剛通過認證的這一分區(qū)進行下一步的操作。反之,如果認證過程中的任何一個環(huán)節(jié)出錯,則整個認證過程終止,認證過程必須重新開始。MF RC500 認證程序步驟是固定的,即采用LoadKeyE2或LoadKey 命令將密鑰裝入密鑰緩沖區(qū);采用Authent1 命令,結(jié)束時檢測錯誤標志以獲得該命令執(zhí)行的狀態(tài),若所接收數(shù)據(jù)的最后一位為000B,表示由IC 卡讀入的該字節(jié)是正確的;啟動Authent2 命令,結(jié)束時檢測錯誤標志和CryptolOn標志位,若CryptolOn 標志位為1,說明認證成功;若為0則認證失敗。三重認證程序流程圖8 所示。
四、結(jié)束語
RFID 的應(yīng)用范圍非常的廣泛,凡是我們?nèi)粘I钪械氖?、衣、住、行、育、樂所有牽涉到的物品,皆能使用RFID。本文基于Philips 系統(tǒng)進行RFID 讀卡器的設(shè)計,著重于整個軟件設(shè)計流程。
參考文獻
[1] 游戰(zhàn)清,李蘇劍.無線射頻識別技術(shù)(RFID)理論與應(yīng)用[J].北京:電子工業(yè)出版社,2004:101-103.
[2] 曾雋芳.RFID 技術(shù)發(fā)展與應(yīng)用現(xiàn)狀分析及未來趨勢展望[J].金卡工程,2007,11(1):55-59.
[3] GINNY LU. 掀起的技術(shù)熱潮.A&S:國際中文版,2007,(2):64-65.
[4] 李素彩.RFID 技術(shù)在物流領(lǐng)域的應(yīng)用——RFID 技術(shù)概述[J].物流技術(shù)與應(yīng)用,2006,11(12):64-67.
[5] 李成.RFID——實現(xiàn)生產(chǎn)過程自動化[J].汽車制造業(yè),2007,(2):39-41.
[6] 孫劍,陳琪明.RFID 中間件在世界及中國的發(fā)展現(xiàn)狀[J].物流技術(shù)與應(yīng)用,2007,12,(2):98-101.
RFID(Radio Frequency Identification)即無線射頻識別系統(tǒng)達,也稱為無線IC 標簽、電子標簽、感應(yīng)式電子芯片、非接觸卡等,它是一種透過無線電波來到非接觸的資料獲取和存取的技術(shù),即一種非接觸式的自動識別技術(shù),通過射頻信號自動識別目標對象并獲取相關(guān)數(shù)據(jù),識別工作無須人工干預,可工作于各種惡劣環(huán)境。RFID 技術(shù)可識別高速運動物體并可同時識別多個標簽,操作快捷方便。自2004 年以來,與RFID 技術(shù)相關(guān)的文章在各個媒體上不斷涌現(xiàn)相關(guān)的報道讓這個歷史其實并不短的技術(shù)在短時間內(nèi)成為國際追逐的焦點。從全球巨型商業(yè)帝國沃爾瑪,到國際IT 巨頭IBM、HP、微軟等等,從美國國防部到中國國家標準委,全都在RFID魔棒的指揮下舞蹈起來。本文所論述的工作,主要是在基于Philips系統(tǒng)的RFID 讀卡器的軟件設(shè)計及其調(diào)試。具體來說,主要是在利用AT89S51 單片機控制Philips 的RFID 芯片,讀取射頻卡上的信息,并將其顯示在數(shù)碼管上。
二、基本原理及相關(guān)理論
1.RFID 標簽的組成
(1)讀寫器:也是由天線、信號收發(fā)報機與譯碼器組成。RFID 標簽上的芯片被激活啟動后,就進行需要的讀出、寫入數(shù)據(jù)操作,讀寫器可把通過天線得到的標簽芯片中的數(shù)據(jù),經(jīng)過譯碼器進行譯碼,送往主計算機處理。
(2)天線:標簽和讀寫器收發(fā)報機之間的管道,通過天線來控制系統(tǒng)信號的獲得與交換。天線的形狀和大小有多種多樣,例如可以裝在門框上,接收從該門通過的人或物品的相關(guān)數(shù)據(jù);還可安裝在適當?shù)攸c監(jiān)控道路上的交通情況等。
(3)標簽:其核心部分是發(fā)射機應(yīng)答器,能夠接收并發(fā)送信號,一般被做成低功率的集成電路,與外部的電磁波或電磁感應(yīng)相互作用,產(chǎn)生RFID 標簽工作時所需的功率并進行數(shù)據(jù)傳輸。RFID 標簽通常是由印刷層、芯片層與底層構(gòu)成。芯片層在印刷層與底層之間,是標簽的核心部分,芯片層不能承受印刷壓力,因此通常的做法是先印好印刷層,做好底層,再與芯片層復合。
2.RFID 讀卡器工作原理
RFID(射頻識別)系統(tǒng)由兩部分組成:讀/寫單元和電子收發(fā)器。讀寫器通過天線發(fā)出一定頻率的射頻信號,當射頻卡進入發(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)動作。讀寫器的控制單元的功能包括:與應(yīng)用系統(tǒng)軟件進行通信,并執(zhí)行應(yīng)用系統(tǒng)軟件發(fā)來的命令;控制與射頻卡的通信過程(主—從原則);信號的編解碼。對一些特殊的系統(tǒng)還有執(zhí)行防沖突算法,對射頻卡與讀寫器間要傳送的數(shù)據(jù)進行加密和解密,以及進行射頻卡和讀寫器間的身份驗證等附加功能。射頻識別系統(tǒng)的讀寫距離是一個很關(guān)鍵的參數(shù)。目前,長距離射頻識別系統(tǒng)的價格還很貴,因此尋找提高其讀寫距離的方法很重要。影響射頻卡讀寫距離的因素包括天線工作頻率、讀寫器的射頻輸出功率、讀寫器的接收靈敏度、射頻卡的功耗、天線及諧振電路的Q 值、天線方向、讀寫器和射頻卡的耦合度,以及射頻卡本身獲得的能量及發(fā)送信息的能量等。大多數(shù)系統(tǒng)的讀取距離和寫入距離是不同的,寫入距離大約是讀取距離的40%~80%。系統(tǒng)工作原理如圖1 所示。
本次設(shè)計的目的是設(shè)計一款應(yīng)用于13.56MHz 的射頻讀卡器,使其能非接觸地讀取IC 卡信息,使信息準確無誤地顯示在數(shù)碼管上,并保證一定的讀卡距離。
編程平臺:Keil uVision2;程序燒錄軟件:AtmelMicrocontroller ISP Software
1.對IC卡操作的流程如圖2 所示。
(2)發(fā)送請求:發(fā)送請求命令過程為ISO/IEC14443 TYPE A 通信協(xié)議中的REQA 命令。借助RC500 的TRANSCEIVE 命令將REQA 命令發(fā)送至IC 卡,并接收返回的數(shù)據(jù)。發(fā)送請求命令的作用就是搜尋有無IC 卡靠近,跟據(jù)返回得數(shù)據(jù)判斷有無需要與之通信的IC 卡。
請求模式有Request all 和Request std 兩種。Request all 指令是非連續(xù)性的讀卡指令,只讀一次。但有個例外,當某一次Request all 指令讀卡片失敗時,例如,卡片沒能通過密碼認證或其它原因而出錯時,Request all 指令將連續(xù)地讀卡,直到讀卡成功才進入非連續(xù)性的讀卡模式。
{$page$}
Request std 指令的使用和Request all 指令剛巧相反。Request std 指令是連續(xù)性的讀卡指令。當某一張卡片在天線的有效的工作范圍(距離)內(nèi),Request std 指令在成功地讀取這一張卡片之后,進入對卡片的其它操作。如果其它操作完成之后,程序員又將程序進入Request std 指令操作,則Request std 指令將連續(xù)地再次進行讀卡操作,而不管這些片卡是否被拿卡。只要有一張卡片進入天線的有效的工作范圍內(nèi),Request std 指令將始終連續(xù)地再次進行讀卡操作。對于Mifare One 卡,該函數(shù)反回值為0004H。發(fā)送請求程序流程圖如圖4 所示。
(4)選擇卡:選擇卡的過程即為ISO/IEC14443 TYPE A 協(xié)議中的SELECT 命令。作用是選擇一張卡。其程序流程圖如圖5 所示。
①由IC 卡向讀卡器發(fā)送一個隨機數(shù)據(jù)RB。
②讀卡器收到RB 后,向IC 卡發(fā)送一個令牌數(shù)據(jù)TOKEN AB,其中包含了讀卡器發(fā)出的一個隨機數(shù)據(jù)RA。
③IC 卡收到TOKEN AB 后,對TOKEN AB 的加密部分進行解密,并校驗第一次由步驟①中IC 卡發(fā)出的隨機數(shù)RB 是否與步驟②中接收到的TOKEN AB 中的RB 相一致。
④如果步驟③中校驗結(jié)果正確,則IC 卡向讀卡器發(fā)送令牌TOKEN BA 給讀卡器。
⑤讀卡器收到令牌TOKEN BA 后,將對令牌TOKEN BA中的RB 進行解密;并校驗由步驟②中讀卡器發(fā)出的隨機數(shù)RA是否與步驟④中接收到的TOKEN BA 中的RA 相一致。如果上述的每一個步驟都能正確通過驗證。則整個認證過程將成功,讀寫器將能對剛通過認證的這一分區(qū)進行下一步的操作。反之,如果認證過程中的任何一個環(huán)節(jié)出錯,則整個認證過程終止,認證過程必須重新開始。MF RC500 認證程序步驟是固定的,即采用LoadKeyE2或LoadKey 命令將密鑰裝入密鑰緩沖區(qū);采用Authent1 命令,結(jié)束時檢測錯誤標志以獲得該命令執(zhí)行的狀態(tài),若所接收數(shù)據(jù)的最后一位為000B,表示由IC 卡讀入的該字節(jié)是正確的;啟動Authent2 命令,結(jié)束時檢測錯誤標志和CryptolOn標志位,若CryptolOn 標志位為1,說明認證成功;若為0則認證失敗。三重認證程序流程圖8 所示。
四、結(jié)束語
RFID 的應(yīng)用范圍非常的廣泛,凡是我們?nèi)粘I钪械氖?、衣、住、行、育、樂所有牽涉到的物品,皆能使用RFID。本文基于Philips 系統(tǒng)進行RFID 讀卡器的設(shè)計,著重于整個軟件設(shè)計流程。
參考文獻
[1] 游戰(zhàn)清,李蘇劍.無線射頻識別技術(shù)(RFID)理論與應(yīng)用[J].北京:電子工業(yè)出版社,2004:101-103.
[2] 曾雋芳.RFID 技術(shù)發(fā)展與應(yīng)用現(xiàn)狀分析及未來趨勢展望[J].金卡工程,2007,11(1):55-59.
[3] GINNY LU. 掀起的技術(shù)熱潮.A&S:國際中文版,2007,(2):64-65.
[4] 李素彩.RFID 技術(shù)在物流領(lǐng)域的應(yīng)用——RFID 技術(shù)概述[J].物流技術(shù)與應(yīng)用,2006,11(12):64-67.
[5] 李成.RFID——實現(xiàn)生產(chǎn)過程自動化[J].汽車制造業(yè),2007,(2):39-41.
[6] 孫劍,陳琪明.RFID 中間件在世界及中國的發(fā)展現(xiàn)狀[J].物流技術(shù)與應(yīng)用,2007,12,(2):98-101.