基于MF RC500的非接觸式IC卡讀寫器設計
文章出處:http://hz-huyue.com 作者:位永輝 劉篤仁 人氣: 發表時間:2011年10月21日
[文章內容簡介]:介紹了一種基于Philips公司的基站芯片MF RC500的非接觸式IC卡讀寫器的設計方法,給出了MF RC500的特性、系統組成和天線的設計規范,同時給出了AT89S52單片機與MF RC500、AT 89C52與RS232、以及MF RC500與天線的接口原理電路,最后還給出了對Mi-fare卡的操作流程和讀卡程序。
0 引言
近幾年來,IC卡中非接觸式射頻卡的高度安全保密性和使用簡單等特點,使之在各領域的應用中異軍突起,成為當今IC智能卡中的流行寵物,應用前景十分廣闊。與傳統的接觸式IC卡、磁卡相比,利用射頻識別技術(radio frequncy i-dentification)開發的非接觸式IC識別器,無論在系統壽命、防監聽、防解密等性能上都具有很大的優勢。為此,本文給出了利用AT 89C52、MFRC500、Mifare卡來構建非接觸式IC讀寫器,并在該讀寫器基礎上開發適用各方面自動識別系統。
1 MF RC500的主要特性
MF RC500是應用于13.56 MHz非接觸式通信中高集成讀卡器IC系列中的一員。該讀卡IC利用先進的調制和解調概念,完全集成了13.56 MHz下所有類型的被動非接觸式通信方式和協議。MF RC500能夠支持ISO14443A所有的層。其內部的發送器部分不需要增加有源電路就能夠直接驅動近操作距離的天線(可
達100 mm);MFRC500的接收器部分提供有一個堅固而有效的解調和解碼電路,可用于ISO14443兼容的應答器信號;數字部分則用于處理ISO14443A幀和錯誤檢測(奇偶&CRC)。此外,它還支持快速CRYPTO1加密算法,以用于驗證Mifare系列產品。其方便的并行接口可直接連接到任何8位微處理器上,這樣就給讀卡器/終端的設計提供了極大的靈活性。
MF RC500的主要特點如下:
◇帶有高集成度模擬電路以用于卡應答的解調和解碼;
◇緩沖輸出驅動器可使用最少數目的外部元件以連接到天線;
◇近距離操作(可達100 mm);
◇有用于連接13.56 MHz石英晶體的快速內部振蕩器緩沖區;
◇帶低功耗的硬件復位功能;
◇并行微處理器接口帶有內部地址鎖存和IRQ線;
◇有易用的發送和接收FIFO緩沖區;
◇支持MIFARE Clasic;
◇支持MIRFARE有源天線;
◇適合高安全性的終端。
MF RC500采用SO32封裝的管腳配置如圖1所示。
2 IC卡系統組成
圖2所示是基于MF RC500的非接觸式IC卡讀寫器的系統結構框圖。該系統主要由MCU、MFRC500、看門狗以及232通信模塊組成。系統的工作方式是先由MCU控制MF RC500驅動天線對Mifare卡(也就是應答器PICC)進行讀寫操作。然后,根據所得的數據對其它接口器件進行響應操作。最后,與PC機之間進行通信,并把數據傳給上位機。
系統MCU選用AT 89C52主要是因為AT 89C52開發簡單,運行穩定。為了防止系統“死機”,系統中使用X5045作為看門狗。由于此系統的通訊距離要求不是太遠,故采用RS-232通訊模塊與PC機進行通訊。
3 天線的設計
由于MF RC500的頻率是13.56 MHz,屬于短波段,因此可以采用小環天線。小環天線有方形、圓形、橢圓形、三角形等,本系統采用方形設計。其天線示意圖如圖3所示。
該天線的最大幾何尺寸同工作波長之間沒有一個嚴格的界限。對于13.6 MHz的系統來說,天線的最大尺寸在50 cm左右。
在天線設計中,品質因數Q是一個非常重要的參數。對于電感耦合式射頻識別系統的PCD天線來說,較高品質因數會使天線線圈中的電流強度大些,由此可改善對PICC的功率傳送。
若以f0表示工作頻率,那么通過品質因數就可以很容易計算出天線的帶寬:
B="f0"/Q (1)
從式(1)中可以看出,天線的傳輸帶寬與品質因數成反比。因此,過高的品質因數會導致帶寬縮小。從而減弱PCD的調制邊帶,這樣可能導致PCD無法與卡通信。因此,一般系統的最佳品質因數應為10~30,最大不能超過60。
4 MF RC500與AT89S52的接口電路
圖4為MF RC500與AT89S52的接口電路,圖5為AT89S52與RS-232接口電路。
5 對Mifare1卡的操作流程
整個系統的工作由對Mifare卡操作和系統后臺處理兩大部分組成。本文只介紹對Mifare卡的操作流程。Mifare卡的操作可以分為以下幾項:
(1) 復位請求
當一張Mifare卡片處在卡讀寫器的天線工作范圍之內時,程序員控制讀寫器向卡片發出RE-QUEST all(或REQUEST std)命令。此時卡片的ATR將啟動,并將卡片Block 0中的卡片類型(TagType)號共2個字節傳送給讀寫器,從而建立卡片與讀寫器的第一步通信聯絡。
如果不進行該位請求操作,讀寫器對卡片的其它操作將不能進行。
(2) 反碰撞操作
如果有多張Mifare卡片處在卡片讀寫器的天線工作范圍之內,PCD將首先與每一張卡片進行通信,以取得每一張卡片的系列號。由于每一張Mifare卡片都具有其唯一的序列號而決不會相同,因此,PCD根據卡片的序列號來保證一次只對一張卡進行操作。該操作將使PCD得到PICC的返回值作為卡的序列號。
(3) 卡選擇操作
完成了上述二個步驟之后,PCD必須對卡片進行選擇操作。執行該操作后,將返回卡上的SIZE字節。
(4) 認證操作
經過前面敘述的三個步驟以后,便可以在確認已經選擇了一張卡片時,在PCD對卡進行讀寫操作之前,使系統對該卡片上已經設置的密碼進行認證。如果該認證匹配,便可允許進一步的讀寫操作。
(5) 讀寫操作
對卡的最后操作即是讀、寫、增值、減值、存儲和傳送等操作。
6 讀卡程序
根據上面的流程,便可采用基于Keil C的C語言進行編程,程序如下:
RC500發送請求時,req_code是請求模式,一共有request all和Request std兩種模式。Requestall指令是非連續性讀卡指令,只讀一次。但有一個例外,即當某一次Request all指令讀卡失敗時,如卡片沒能通過密碼認證或其它原因而出錯時,Request all指令將連續地讀卡,直到讀卡成功才進入非連續性的讀卡模式。Request std指令的使用和Request all指令剛巧相反。Request std指令是連續性的讀卡指令。當某一張卡片在MCM天線的有效工作范圍(距離)內時,Request std指令在成功地讀取這一張卡片之后,將進入MCM對卡片的其它操作。如果其它操作完成,程序員又將MCM進入Request std指令操作,那么,Request std指令將連續地再次進行讀卡操作,而不管這些片卡是否被拿走。只要有一張卡片進入MCM之天線有效工作范圍(范圍)內,Request std指令將始終連續地再次進行讀卡操作。對于Mifare1卡,該函數反回值為0004H。其程序如下:
這是三輪認證函數,整個過程是先將所要訪問的區密碼加密(如區0的初始密碼為6個FFH),再將加密后的密碼通過Loadkey存入MF RC500的Key緩存中,接著進行認證。
7 結束語
IC卡以其高度的信息集成及安全性已經融人當今信息技術的主流,并越來越受到人們的青睞。本文介紹了PHILIPS公司的MFICS50非接觸式IC卡的內部結構和工作原理,給出了基于MFRC500的嵌入式讀寫模塊的軟硬件設計方法。此讀寫模塊的使用使復雜的IC卡技術變得非常簡單,因而對非接觸式智能卡的推廣具有重要意義。目前,該系統已可用于考勤、門禁、售飯等多種系統中。與磁卡、只讀射頻卡(EM卡)組成的系統相比,該系統的性能大大改善,并且為“一卡通”的實現提供了必備條件。
本文關鍵詞:IC卡讀寫器,讀寫器,非接觸式IC卡,M,C卡讀寫器,讀寫器,非接觸式IC卡,MF,卡讀寫器,讀寫器,非接觸式IC卡,MFR,讀寫器,讀寫器,非接觸式IC卡,MFRC,寫器,讀寫器,非接觸式IC卡,MFRC5,器,讀寫器,非接觸式IC卡,MFRC50,,讀寫器,非接觸式IC卡,MFRC500,讀寫器,非接觸式IC卡,MFRC500,,寫器,非接觸式IC卡,MFRC500,I,器,非接觸式IC卡,MFRC500,IC,,非接觸式IC卡,MFRC500,IC卡
上一篇:基于ARM的RFID閱讀器設計[ 10-21 ]
下一篇:基于MF RC632射頻識別讀寫器芯片的專用讀卡器設計[ 10-21 ]