歡迎您訪問(wèn)鄭州興邦電子股份有限公司官方網(wǎng)站!
阿里巴巴誠(chéng)信通企業(yè)
全國(guó)咨詢熱線:40000-63966
興邦電子,中國(guó)水控機(jī)第一品牌

聯(lián)系興邦電子

全國(guó)咨詢熱線:40000-63966

售后:0371-55132951/55132952

工廠:河南省 鄭州市 高新區(qū)蓮花街電子電器產(chǎn)業(yè)園

PHILIPS MFRC500非接觸式IC卡讀寫(xiě)模塊的應(yīng)用開(kāi)發(fā)

文章出處:http://overnightmodel.com 作者:山東在學(xué)控制科學(xué)與工程學(xué)院 張俊杰 喬誼正   人氣: 發(fā)表時(shí)間:2011年10月27日

[文章內(nèi)容簡(jiǎn)介]:PHILIPS MFRC500非接觸式IC卡讀寫(xiě)模塊的應(yīng)用開(kāi)發(fā)

摘要:本文介紹了PHILIPS公司的MF1ICS50非接觸式IC卡的內(nèi)部結(jié)構(gòu)、工作原理及基于基站芯片MFRC500的嵌入式讀寫(xiě)模塊的軟硬件設(shè)計(jì)。

關(guān)鍵詞:IC卡;非接觸式;嵌入式MF1卡RC500


引言

近幾年來(lái),隨著IC卡中非接觸式射頻卡的高度安全保密性、使用簡(jiǎn)單等特點(diǎn),使之在各領(lǐng)域的應(yīng)用中異軍突起,成為當(dāng)今IC智能卡中的流行寵物,應(yīng)用前景十分廣闊。我們?cè)谏钊肓私饬薖HILIPS公司的MF1ICS50非接觸式IC卡和讀卡設(shè)備的核心模塊MFRC500的工作原理后,開(kāi)發(fā)出了MF1卡讀寫(xiě)模塊。本讀寫(xiě)模塊能完成對(duì)MF1卡所有讀寫(xiě)及控制操作,并且還可以方便的嵌入到其他系統(tǒng)(如:考勤,門(mén)禁)中,受控于主控模塊,成為用戶系統(tǒng)的一部分。用戶利用本模塊可以方便的構(gòu)成自己的智能卡應(yīng)用產(chǎn)品。


內(nèi)部結(jié)構(gòu)及工作原理

MF1卡系統(tǒng)的核心是PHILIPS公司的MIFARE1ICS50系列晶片,該技術(shù)已定為國(guó)際標(biāo)準(zhǔn):ISO/IEC14443TYPEA。目前許多較大的IC卡卡片制造商均以MIFARE技術(shù)為標(biāo)準(zhǔn)。

MF1卡中包含一塊ASIC微晶片和一個(gè)高頻天線,其基本工作原理是:讀寫(xiě)器中的MIFARE基站向MIFARE卡發(fā)一組固定頻率(13.56MHz)的電磁波,卡片內(nèi)有一個(gè)LC串聯(lián)諧振電路,其頻率與基站發(fā)射的頻率相同,在電磁波的激勵(lì)下,LC諧振電路產(chǎn)生共振,使卡片內(nèi)具有電荷,當(dāng)所積累的電荷達(dá)到2V時(shí),卡片中芯片將卡內(nèi)數(shù)據(jù)發(fā)射出去或接收基站對(duì)卡片的操作。

MF1的框圖如圖1,整個(gè)卡片包含了兩個(gè)部分,RF射頻接口電路和數(shù)字電路部分。

圖1 MF11CS50的組成框圖(略)


RF射頻接口電路

在RF射頻接口電路中,主要包括有波形轉(zhuǎn)換模塊。它可將卡片讀寫(xiě)器上的13.56MHz的無(wú)線電調(diào)制頻率接收,一方面送調(diào)制/解調(diào)模塊,另一方面進(jìn)行波形轉(zhuǎn)換,將正弦波轉(zhuǎn)換為方波,然后對(duì)其整流濾波,由電壓調(diào)節(jié)模塊對(duì)電壓進(jìn)行進(jìn)一步的處理,包括穩(wěn)壓等,最終將輸出電壓供給卡片上的各電路。


在數(shù)字電路部分模塊中

ATR模塊

當(dāng)一張MF1卡片處在卡片讀寫(xiě)器的天線工作范圍之內(nèi)時(shí),程序員控制讀寫(xiě)器向卡片發(fā)出RequestAll(或RequestStd)命令后,卡片的ATR將啟動(dòng),將卡片Block0中的卡片類型(TagType)號(hào),共2個(gè)字節(jié)傳送給讀寫(xiě)器,建立卡片與讀寫(xiě)器的第一步通信聯(lián)絡(luò)。如果不進(jìn)行第一步的ATR工作,讀寫(xiě)器對(duì)卡片的其他操作(Read/Write等)將不會(huì)進(jìn)行??ㄆ念愋停═agType)號(hào)共2個(gè)字節(jié),可能為:0004H。

AntiCollision模塊

如果有多張MF1卡片處在卡片讀寫(xiě)器天線的工作范圍之內(nèi),AntiCollision模塊的防重疊功能將啟動(dòng)工作。在程序員控制下的卡片讀寫(xiě)器將會(huì)首先與每一張卡片進(jìn)行通信,取得每一張卡片的序列號(hào)??ㄆx寫(xiě)器中的AntiCollision防重疊功能配合卡片上的防重疊功能模塊,由程序員來(lái)控制讀寫(xiě)器,根據(jù)卡片的序列號(hào)來(lái)選定一張卡片。被選中的卡片將直接與讀寫(xiě)器進(jìn)行數(shù)據(jù)交換,未被選擇的卡片處于等待狀態(tài),隨時(shí)準(zhǔn)備與卡片讀寫(xiě)器進(jìn)行通信。AntiCollision模塊(防重疊功能)啟動(dòng)工作時(shí),卡片讀寫(xiě)器將得到卡片的序列號(hào)。序列號(hào)存儲(chǔ)在卡片的Block0中,共有5個(gè)字節(jié),實(shí)際有用的為4個(gè)字節(jié),另一個(gè)字節(jié)為序列號(hào)的校驗(yàn)字節(jié)。序列號(hào)中實(shí)際有用的4個(gè)字節(jié),可能為:773B72A9。

Select Application 模塊

當(dāng)卡片與讀寫(xiě)器完成了上述的二個(gè)步驟,程序員控制的讀寫(xiě)器要想對(duì)卡片進(jìn)行讀寫(xiě)操作,必須對(duì)卡片進(jìn)行"Select"操作,使卡片真正地被選中。被選中的卡片將卡片上存儲(chǔ)在Block0中的卡片容量"Size"字節(jié)傳送給讀寫(xiě)器。當(dāng)讀寫(xiě)器收到這一字節(jié)后,即可對(duì)卡片進(jìn)行深一步的操作。例如,可以進(jìn)行密碼驗(yàn)證等。讀寫(xiě)器收到的"Size"字節(jié)可能為:88H。

認(rèn)證及存取控制模塊


經(jīng)過(guò)上述三個(gè)步驟,確認(rèn)已經(jīng)選擇了一張卡片時(shí),程序員對(duì)卡片進(jìn)行讀寫(xiě)操作之前,必須對(duì)卡片上已經(jīng)設(shè)置的密碼進(jìn)行三級(jí)認(rèn)證,如果匹配,則允許進(jìn)一步的Read/Write操作。MF1卡片上有16個(gè)扇區(qū),每個(gè)扇區(qū)都可分別設(shè)置各自的密碼,互不干涉。因此每個(gè)扇區(qū)可獨(dú)立地應(yīng)用于一個(gè)應(yīng)用場(chǎng)合。整個(gè)卡片可以設(shè)計(jì)成"一卡通"形式來(lái)應(yīng)用。

控制及算術(shù)運(yùn)算單元

這一單元是整個(gè)卡片的控制中心,是卡片的"頭腦"。它主要進(jìn)行對(duì)整個(gè)卡片的各個(gè)單位進(jìn)行微操作控制,協(xié)調(diào)卡片的各個(gè)步驟;同時(shí)它還對(duì)各種收/發(fā)的數(shù)據(jù)進(jìn)行算術(shù)運(yùn)算處理,遞增/遞減處理,CRC運(yùn)算處理等,是卡片中內(nèi)建的中央微處理機(jī)(MCU)單元。

數(shù)據(jù)加密單元

該單元完成對(duì)數(shù)據(jù)的加密處理及密碼保護(hù)。

存儲(chǔ)器及其接口電路


該單元主要用于存儲(chǔ)數(shù)據(jù),EEPROM中的數(shù)據(jù)在卡片失掉電源后(卡片離開(kāi)讀寫(xiě)器天線的有效工作范圍內(nèi))仍將保持,用戶所要存儲(chǔ)的數(shù)據(jù)存放在該單元中。MF1卡片中的這一單元容量為8196bit(1Kbyte),分為16個(gè)扇區(qū),每個(gè)扇區(qū)由4塊(塊0、塊1、塊2、塊3)組成,(我們也將16個(gè)扇區(qū)的64個(gè)塊按絕對(duì)地址編號(hào)為0~63)。第0扇區(qū)的塊0(即絕對(duì)地址0塊),它用于存放廠商代碼,已經(jīng)固化,不可更改。

每個(gè)扇區(qū)的塊0、塊1、塊2為數(shù)據(jù)塊,可用于存貯數(shù)據(jù)。每個(gè)扇區(qū)的塊3為控制塊,包括了密碼A、存取控制、密碼B。具體結(jié)構(gòu)如下:
每個(gè)扇區(qū)的密碼和存取控制都是獨(dú)立的,可以根據(jù)實(shí)際需要設(shè)定各自的密碼及存取控制。

存取控制為4個(gè)字節(jié),共32位,扇區(qū)中的每個(gè)塊(包括數(shù)據(jù)塊和控制塊)的存取條件是由密碼和存取控制共同決定的。三個(gè)控制位以正和反兩種形式存儲(chǔ)于存取控制字節(jié)中,決定了該塊的訪問(wèn)權(quán)限(如:進(jìn)行減值操作必須驗(yàn)證KEYA,進(jìn)行加值操作必須驗(yàn)證KEYB,等等)。


讀寫(xiě)模塊的結(jié)構(gòu)及工作原理


模塊的核心部份包括一個(gè)控制用微處理器和一個(gè)MIFARE基站芯片。它能獨(dú)立完成對(duì)MIFARE卡的所有操作,還具有與用戶主系統(tǒng)的串行通信能力,可根據(jù)用戶系統(tǒng)的命令完成對(duì)MIFARE卡的讀寫(xiě)操作,并將所得數(shù)據(jù)返回給用戶系統(tǒng)。這個(gè)用戶系統(tǒng)可以是一個(gè)主控板或PC機(jī)。

模塊硬件主要由中央微處理器(89C52)、MIFARE基站芯片、高頻電路、模塊天線、RS232通信電路、復(fù)位電路、LED狀態(tài)顯示和喇叭驅(qū)動(dòng)電路等組成。

寫(xiě)模塊的核心是PHILIPS公司生產(chǎn)的讀寫(xiě)卡專用芯片MFRC500。RC500符合ISO14443A,外接天線后讀卡距離可達(dá)到10cm。RC500與CPU接口非常簡(jiǎn)單,上電或復(fù)位后能自動(dòng)監(jiān)測(cè)與CPU的接口方式,我們采用地址數(shù)據(jù)總線復(fù)用方式。具體見(jiàn)原理圖4。

圖3 硬件結(jié)構(gòu)框(略)
圖4 CPU與RC500接口電路原理圖(略)

RC500內(nèi)部有8個(gè)寄存器頁(yè),每頁(yè)有8個(gè)寄存器,每個(gè)寄存器有8位數(shù)據(jù)。這些寄存器可統(tǒng)一編址(在我們的系統(tǒng)中為0x00--0x3F),CPU將這些寄存器作為外部RAM進(jìn)行操作。例如,CPU需要讓RC500執(zhí)行某個(gè)命令(如:Transmit)時(shí),把此命令的代碼(0x1a)寫(xiě)入Command寄存器可以了。

RC500與卡片的通信是通過(guò)天線發(fā)送一些指令代碼來(lái)完成,并且要按照特定的通訊流程,具體的通信流程如下圖:
CPU對(duì)卡片的操作不是簡(jiǎn)單的一條指令所能完成的,其中必須有對(duì)RC500硬件內(nèi)部寄存器的設(shè)置。例如對(duì)卡片進(jìn)行讀(READ)操作,程序員必須對(duì)RC500內(nèi)部的BitPhase、Rxthreshold、TimerControl、InterruptEn、InterruptRq等寄存器進(jìn)行配置,還要讀PrimaryStatus、SecondaryStatus等寄存器的狀態(tài),對(duì)最終讀得的數(shù)據(jù)還必須進(jìn)行校驗(yàn)。一般的操作步驟如下:寄存器初始化,把要發(fā)送的數(shù)據(jù)(如:Read=0x30)放到RC500內(nèi)部的FIFO(先入先出)寄存器中,然后把命令代碼(如;Transceive=0x1e)寫(xiě)到Command寄存器。RC500便會(huì)執(zhí)行命令,按照特定格式把數(shù)據(jù)發(fā)出去,然后等待卡片返回的數(shù)據(jù)(也放到FIFO中),CPU從FIFO中讀走數(shù)據(jù),完成操作。

在讀寫(xiě)模塊主程序中,標(biāo)準(zhǔn)配置以RS232方式與主控模塊進(jìn)行通信。一條指令包括命令碼、命令塊長(zhǎng)度、命令塊、異或校驗(yàn)幾部分。主程序運(yùn)行時(shí)循環(huán)等待主控模塊的指令,有指令收到,便跳出循環(huán)執(zhí)行該指令。這樣即使用戶不清楚MFRC500和MF1卡的工作原理,也可將讀寫(xiě)模塊方便的嵌入到自己的系統(tǒng)中。

圖5 RC500與MF1卡的通信流程圖(略)

此外,我們還根據(jù)用戶需要有ABA,WIG26等其它串行輸出方式。

讀寫(xiě)模塊應(yīng)用實(shí)例

該讀寫(xiě)模塊已經(jīng)成功的應(yīng)用到山東浪潮瀚海電子公司開(kāi)發(fā)的考勤、門(mén)禁、售飯等系統(tǒng)中。與磁卡、只讀射頻卡(EM卡)組成的系統(tǒng)相比,系統(tǒng)性能大大改善,并且為"一卡通"的實(shí)現(xiàn)提供了必備條件。圖6為一個(gè)典型的網(wǎng)絡(luò)門(mén)禁控制系統(tǒng)。

圖6 MF1卡讀寫(xiě)模塊在門(mén)禁系統(tǒng)的應(yīng)用(略)


結(jié)束語(yǔ)

IC卡以其高度的信息集成及安全性已經(jīng)融入當(dāng)今信息技術(shù)的主流,越來(lái)越受到人們的青睞。本文介紹了PHILIPS公司的MFICS50非接觸式IC卡的內(nèi)部結(jié)構(gòu)和工作原理,以及基于MFRC500的嵌入式讀寫(xiě)模塊的軟硬件設(shè)計(jì)。此讀寫(xiě)模塊的使用使復(fù)雜的IC卡技術(shù)變得非常簡(jiǎn)單,對(duì)非接觸式智能卡的推廣有重要意義。

本文關(guān)鍵詞:PHILIPSMFRC500非接觸式IC,HILIPSMFRC500非接觸式IC卡,ILIPSMFRC500非接觸式IC卡讀,LIPSMFRC500非接觸式IC卡讀寫(xiě),IPSMFRC500非接觸式IC卡讀寫(xiě)模,PSMFRC500非接觸式IC卡讀寫(xiě)模塊,SMFRC500非接觸式IC卡讀寫(xiě)模塊的,MFRC500非接觸式IC卡讀寫(xiě)模塊的應(yīng),FRC500非接觸式IC卡讀寫(xiě)模塊的應(yīng)用,RC500非接觸式IC卡讀寫(xiě)模塊的應(yīng)用開(kāi),C500非接觸式IC卡讀寫(xiě)模塊的應(yīng)用開(kāi)發(fā)
回到頂部