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

聯(lián)系興邦電子

全國咨詢熱線:40000-63966

售后:0371-55132951/55132952

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

一種基于MF RC500的Mifare1卡讀寫器的設(shè)計(jì)與實(shí)現(xiàn)

文章出處:http://m.compasssalessolutions.com 作者:微計(jì)算機(jī)信息   人氣: 發(fā)表時(shí)間:2011年09月18日

[文章內(nèi)容簡介]:本文提出了一種基于MF RC500的Mifare1卡讀寫器設(shè)計(jì)方案,該方案采用AT89S52單片機(jī)實(shí)現(xiàn)對MCM(Mifare Core Module)的控制。本文的設(shè)計(jì)方案具有硬件實(shí)現(xiàn)簡單、易于軟件二次開發(fā)等優(yōu)點(diǎn)。同時(shí),由于良好的電磁兼容性,該系統(tǒng)比較穩(wěn)定,通信可靠性得到了保證。下面首先給出了系統(tǒng)的總體結(jié)構(gòu)以及方案設(shè)計(jì),然后從硬件設(shè)計(jì)及軟件設(shè)計(jì)兩個(gè)方面對系統(tǒng)進(jìn)行了討論和說明

    1 引言  

    隨著射頻技術(shù)的推廣,Mifare1卡已經(jīng)廣泛應(yīng)用于公共交通終端、手持終端、板上單元、非接觸式PC終端等各個(gè)非接觸式通信場合。非接觸式智能卡讀寫系統(tǒng)是射頻技術(shù)中的一個(gè)重要組成部分,可完成指令分析、數(shù)據(jù)采集等諸多功能。這種射頻讀寫系統(tǒng)的實(shí)現(xiàn)原理如下:由讀寫器向Mifare1卡,也就是射頻卡發(fā)射特定頻率的無線電磁波。當(dāng)射頻卡靠近讀寫器時(shí),受讀寫器發(fā)射的電磁波激勵(lì),卡片內(nèi)的LC諧振電路產(chǎn)生共振并且接收電磁波能量。當(dāng)射頻卡接收到足夠的能量時(shí),就將卡內(nèi)存儲(chǔ)的識(shí)別資料以及其他數(shù)據(jù)以無線電波的方式傳輸?shù)阶x寫器并且接受讀寫器對卡內(nèi)數(shù)據(jù)的進(jìn)一步操作。 

    本文提出了一種基于MF RC500的Mifare1卡讀寫器設(shè)計(jì)方案,該方案采用AT89S52單片機(jī)實(shí)現(xiàn)對MCM(Mifare Core Module)的控制。本文的設(shè)計(jì)方案具有硬件實(shí)現(xiàn)簡單、易于軟件二次開發(fā)等優(yōu)點(diǎn)。同時(shí),由于良好的電磁兼容性,該系統(tǒng)比較穩(wěn)定,通信可靠性得到了保證。下面首先給出了系統(tǒng)的總體結(jié)構(gòu)以及方案設(shè)計(jì),然后從硬件設(shè)計(jì)及軟件設(shè)計(jì)兩個(gè)方面對系統(tǒng)進(jìn)行了討論和說明。 

    2系統(tǒng)總體結(jié)構(gòu)及方案設(shè)計(jì)
  
    基金資助:國家科技型中小企業(yè)技術(shù)創(chuàng)新基金(No.00C26212110519) 
  
    本文采用AT89S52單片機(jī)、MF RC500以及外圍電路實(shí)現(xiàn)讀寫器的基本組成。讀寫器與Mifare1卡由射頻場來建立無線鏈接并完成數(shù)據(jù)交換。系統(tǒng)總體結(jié)構(gòu)如圖1所示。 

    系統(tǒng)的工作方式主要是由AT89S52對MF RC500進(jìn)行控制與通信,MF RC500驅(qū)動(dòng)外圍電路對Mifare1卡進(jìn)行讀寫操作。具體說來,MCU(微控制器,即AT89S52)通過串行口接收PC機(jī)的指令,完成對卡的操作和整個(gè)讀寫器的管理;MF RC500負(fù)責(zé)信號的編碼、解碼,信號的調(diào)制、解調(diào);外圍電路建立讀寫器同射頻卡之間的聯(lián)系,此部分的設(shè)計(jì)直接影響到射頻功率的大小以及系統(tǒng)的抗干擾能力;Mifare1卡是系統(tǒng)的應(yīng)用終端,接收讀寫器的指令并返回指令執(zhí)行結(jié)果。  

    3系統(tǒng)硬件設(shè)計(jì)  

    硬件主要包括微型單片機(jī)MCU、MF RC500、時(shí)鐘電路、匹配電路及接口等外圍電路。下面給出各部分的詳細(xì)說明及相關(guān)設(shè)計(jì)。 

    (1) MCU部分 

    系統(tǒng)中選用低功耗、高性能的CMOS 8位單片機(jī)AT89S52。片內(nèi)含8k Bytes ISP(In-system programmable)的可反復(fù)擦寫1000次的Flash只讀程序存儲(chǔ)器。器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)制造,兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器。同時(shí)片內(nèi)帶有防死鎖的WATCHDOG,以確保系統(tǒng)穩(wěn)定運(yùn)行。 

    (2) 基站部分 

    系統(tǒng)的基站單元采用PHILIPS公司生產(chǎn)的MF RC500芯片。MF RC500是與射頻卡實(shí)現(xiàn)無線通信的核心部件,也是讀寫器操作Mifare1卡的關(guān)鍵接口芯片。它利用先進(jìn)的調(diào)制和解調(diào)概念,完全集成了在13.56MHz下所有類型的被動(dòng)非接觸式通信方式和協(xié)議。MF RC500支持ISO14443A所有的層,內(nèi)部的發(fā)送器部分不需要增加有源電路就能夠直接驅(qū)動(dòng)近操作距離的天線(可達(dá)100mm);接收器部分提供一個(gè)堅(jiān)固并有效的解調(diào)和解碼電路,用于ISO14443兼容的應(yīng)答器信號;數(shù)字部分處理ISO14443A幀和錯(cuò)誤檢測(奇偶&CRC)。此外,它還支持快速CRYPTO1加密算法,用于驗(yàn)證Mifare系列產(chǎn)品。方便的并行接口可直接連接到任何8位微處理器,對讀卡器和終端的設(shè)計(jì)提供了極大的靈活性。 

    MF RC500的內(nèi)部EEPROM分為4部分,分別用于保存產(chǎn)品有關(guān)信息、存放寄存器初始化啟動(dòng)文件以及存放加密運(yùn)算的密鑰等。8×64位的FIFO用于緩存微控制器與芯片之間的輸入/輸出數(shù)據(jù)流,可處理數(shù)據(jù)流長度達(dá)64字節(jié)。芯片的中斷請求有定時(shí)設(shè)置到、發(fā)送請求、接收請求、一個(gè)命令執(zhí)行完、FIFO滿、FIFO空等六種。MF RC500內(nèi)有定時(shí)器,其時(shí)鐘源于13.56MHz晶振信號,13.56MHz信號由晶振電路外接石英晶體產(chǎn)生。微處理器可借助于定時(shí)器完成有關(guān)定時(shí)任務(wù)的管理。定時(shí)器可用于定時(shí)輸出計(jì)數(shù)、看門狗計(jì)數(shù)、停止監(jiān)測、定時(shí)觸發(fā)等工作。 

    (3) 時(shí)鐘電路 

    MF RC500內(nèi)部集成了振蕩器緩沖,連接外部的13.56MHz的石英震蕩晶體,以獲取低相位抖動(dòng),如圖2所示。由于提供給MF RC500的時(shí)鐘要作為同步系統(tǒng)的編碼器和解碼器的時(shí)間基準(zhǔn),因此頻率的穩(wěn)定性是正確執(zhí)行的一個(gè)重要因素,為了獲得最佳性能,時(shí)鐘抖動(dòng)應(yīng)該盡可能小。 

    (4) 匹配電路 

    匹配電路包括EMC低通濾波器、接收電路、天線匹配電路和天線。 

    EMC低通濾波電路:MIFARE系統(tǒng)在13.56MHz頻率下操作,石英晶振產(chǎn)生用于驅(qū)動(dòng)MF RC500以及作為驅(qū)動(dòng)天線的13.56MHz能量載波的基頻,這樣會(huì)產(chǎn)生比該頻率更高的諧波,因此對輸出信號必須進(jìn)行適當(dāng)?shù)臑V波,低通濾波器元件包括L0和C0,如圖3所示。 

    接收電路:MF RC500的內(nèi)部接收部分使用一個(gè)受益于副載波雙邊帶的概念裝入卡響應(yīng)的調(diào)整,因此可以使用內(nèi)部產(chǎn)生的VMID電勢作為RX腳的輸入電勢。為了提供一個(gè)穩(wěn)定的參考電壓,必須在VMID腳接一個(gè)對地電容,如圖4所示。 

    天線匹配電路:其中的元器件參數(shù)與天線的電氣特性和環(huán)境有關(guān)。電路如圖5所示。  


    天線:天線設(shè)計(jì)中,最重要的是計(jì)算出天線線圈的電感量,從而確定天線旁路電容和電阻值。一般采用經(jīng)驗(yàn)公式對線圈電感量進(jìn)行估算。假設(shè)天線設(shè)計(jì)為常用的環(huán)行或者矩形,則有: 

    式中, 為導(dǎo)體環(huán)一圈的長度; 為導(dǎo)線直徑或者PCB板上導(dǎo)體的寬度; 為天線形狀因素(環(huán)行天線 =1.07,矩形天線 =1.47); 為圈數(shù)。

    (5) MF RC500與MCU的接口電路 

    MF RC500支持與不同的微處理器直接接口,包括獨(dú)立讀寫選通的MCU連接、公共讀寫選通的MCU連接以及具有公共讀寫選通和掛鉤功能的MCU連接。在每次上電或硬件復(fù)位后,MF RC500也復(fù)位其并行微處理器接口模式并自動(dòng)檢測當(dāng)前微處理器接口的類型。 

    本系統(tǒng)選用具有公共讀寫選通和掛鉤功能的MCU連接方式,圖6為MF RC500與MCU的接口原理。由圖中可以看出,本系統(tǒng)采用中斷(INT1)工作模式,即MCU利用MFRC500提供中斷信息對其進(jìn)行控制。另外,根據(jù)系統(tǒng)的需要,可以采用查詢方式對MF RC500進(jìn)行操作。 

    4系統(tǒng)軟件設(shè)計(jì) 

    軟件設(shè)計(jì)主要包括對MF RC500進(jìn)行初始化、接收上位計(jì)算機(jī)的指令、控制MF RC500,并且把MF RC500的狀態(tài)信息反饋給計(jì)算機(jī)。程序流程如圖7所示。 

    (1) 初始化并行接口 

    首先讀Command 寄存器直到Command的6位值為00H,內(nèi)部初始化階段此時(shí)結(jié)束,MF RC500準(zhǔn)備接收控制;將80H 寫入Page寄存器以初始化微處理器接口;讀Command寄存器,如果該值為00H則微處理器接口初始化成功;在接口初始化之后通過將0X00 寫入頁寄存器,激活線性地址模式。這個(gè)過程可以用以下代碼表示: 

    do{PReset=1; Delay(10);  PReset=0;} // 給復(fù)位脈沖 

    while (ReadRC(RegPage) != 0x80); 

    do{ WriteRC(RegPage,0x0);} 

    while(ReadRC(RegCommand) != 0x00); 

    if (ReadRC(RegCommand) != 0x00) 

    status = MI_INTERFACEERR;//接口初始化錯(cuò)誤 

    else 

    status = 0;        //接口初始化成功 

    (2) 對Mifare1卡的操作 

    MCU對Mifare1卡操作的命令主要有空操作、裝載密碼、驗(yàn)證密碼、讀卡、寫卡和關(guān)卡等。無論哪種操作都必須先把命令代碼寫入到Command寄存器,比如執(zhí)行驗(yàn)證密碼則需要執(zhí)行WriteRC(RegCommand,0x0c)命令。 

    從操作流程上,可以把Mifare1卡的操作分為以下幾項(xiàng): 

    復(fù)位請求:當(dāng)一張Mifare1卡處在讀寫器天線的工作范圍之內(nèi)時(shí),讀寫器向卡發(fā)出REQUEST all(或REQUEST std)命令??ǖ腁TR將啟動(dòng),將卡Block 0中的卡類型(TagType)號共2個(gè)字節(jié)傳送給讀寫器,建立卡片與讀寫器的第一步通信聯(lián)絡(luò)。如果不進(jìn)行復(fù)位請求操作,讀寫器對卡的其它操作將不會(huì)進(jìn)行。 

    反碰撞操作:如果有多張Mifar1e卡處在讀寫器天線的工作范圍之內(nèi)時(shí),讀寫器首先與每一張卡進(jìn)行通信,取得每一張卡的ID號。由于每一張Mifare1卡都具有唯一的ID號,因此讀寫器根據(jù)卡的ID號來保證一次只對一張卡操作。 

    卡選擇操作:完成了上述二個(gè)步驟之后,讀寫器必須對卡進(jìn)行選擇操作。執(zhí)行操作后,返回卡上的SIZE字節(jié)。 

    認(rèn)證操作:經(jīng)過上述三個(gè)步驟,在確認(rèn)已經(jīng)選擇了一張卡片時(shí),讀寫器必須對卡上已經(jīng)設(shè)置的密碼進(jìn)行認(rèn)證。如果匹配,才允許進(jìn)一步的讀寫操作。 

    讀寫操作:對卡的讀、寫、增值、減值、存儲(chǔ)和傳送等操作。 

    5結(jié)論  

    本文的創(chuàng)新工作:基于PHILIPS公司生產(chǎn)的MF RC500芯片,提出了一種結(jié)合單片機(jī)AT89S52的通用射頻卡讀寫器的設(shè)計(jì)與實(shí)現(xiàn)方案。系統(tǒng)實(shí)現(xiàn)了對Mifare1卡讀寫操作的同時(shí),具有以下優(yōu)點(diǎn):(1) 由于接口方式比較多,對IO口操作簡單,可以方便地對MF RC500進(jìn)行控制并獲取相應(yīng)信息;(2) 由于該系統(tǒng)在天線設(shè)計(jì)合理的情況下可靠性比較高,有效距離可達(dá)10cm;(3) 計(jì)算機(jī)只需通過一定的方式發(fā)送命令,即可對卡操作,在此基礎(chǔ)上可以根據(jù)不同的需要開發(fā)出相應(yīng)的軟件產(chǎn)品,具有很大的實(shí)用價(jià)值。 

    實(shí)際應(yīng)用表明該讀寫器架構(gòu)具有響應(yīng)速度快、使用簡單、讀卡距離遠(yuǎn)和通信穩(wěn)定可靠的顯著優(yōu)點(diǎn)。 

本文關(guān)鍵詞:mfrc500,mifare1,讀寫器
回到頂部