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

聯(lián)系興邦電子

全國咨詢熱線:40000-63966

售后:0371-55132951/55132952

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

Mifare1系列射頻卡讀卡器的開發(fā)

文章出處:http://xianjuhong.com 作者:劉志平 趙國良   人氣: 發(fā)表時(shí)間:2011年10月23日

[文章內(nèi)容簡介]:Mifare1系列射頻卡具有高度安全、高可靠性及分區(qū)存儲結(jié)構(gòu)等特點(diǎn),其應(yīng)用范圍越來越廣.文中提出了一種基于AT89S52和MF RC500實(shí)現(xiàn)的Mifare1射頻卡讀卡器的設(shè)計(jì)方法. 先介紹了系統(tǒng)的組成及工作原理,然后給出了系統(tǒng)的硬件設(shè)計(jì),最后給出了軟件設(shè)計(jì)流程和相應(yīng)程序.

    近幾年來,由于非接觸式IC智能射頻卡的高度安全保密性,使之在IC智能卡領(lǐng)域中異軍突起,成為當(dāng)今IC智能卡中的流行寵物,應(yīng)用前景十分廣闊.非接觸式智能卡讀寫系統(tǒng)是射頻技術(shù)中的重要組成部分,其實(shí)現(xiàn)原理為:由讀寫器向Mifare1卡,也就是射頻卡發(fā)射特定頻率的無線電磁波,當(dāng)射頻卡靠近讀寫器時(shí),受讀寫器發(fā)射的電磁波激勵(lì),卡片內(nèi)的IC諧振電路產(chǎn)生共振并且接收電磁波能量.當(dāng)射頻卡接收到足夠的能量時(shí),就將卡內(nèi)存儲的識別資料以及其他數(shù)據(jù)以無線電波的方式傳輸?shù)阶x寫器
并且接受讀寫器對卡內(nèi)數(shù)據(jù)的進(jìn)一步操作。文中提出了一種Mifare1射頻卡讀卡器系統(tǒng)的設(shè)計(jì),此系統(tǒng)是針對煤礦考勤而研制,目前已投人使用.該系統(tǒng)采用AT89S52單片機(jī)實(shí)現(xiàn)對射頻芯片MF RC500的控制,完成對Mifare1卡卡號的讀取以及數(shù)據(jù)的無線交換.下面首先給出系統(tǒng)的總體結(jié)構(gòu)以及工作原理,然后從硬件和軟件設(shè)計(jì)2個(gè)方面對系統(tǒng)進(jìn)行詳細(xì)討論和說明. 

1 系統(tǒng)總體結(jié)構(gòu)及工作原理 

    該讀卡器由AT89S52單片機(jī)、MF RC500芯片和外圍電路組成,與Mifare1卡的數(shù)據(jù)交換都是通過2者之間的射頻場來完成.系統(tǒng)結(jié)構(gòu)如圖1所示.

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

Mifarel系列射頻卡讀卡器系統(tǒng)總體框圖

圖1 Mifarel系列射頻卡讀卡器系統(tǒng)總體框圖 

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

    硬件主要包括單片機(jī)、MF RC500、匹配電路及天線設(shè)計(jì)等外圍電路.下面給出各部分的詳細(xì)說明及相關(guān)設(shè)計(jì). 

2.1 單片機(jī) 

    系統(tǒng)中選用低成本、高性能的CMOS 8位單片機(jī)AT8 9 S5 2.片內(nèi)含8 k BytesISP的可反復(fù)擦寫1 000次的Flash只瀆程序存儲器,器件采用ATMEL公司的高密度、非易失性存儲技術(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.2 MF RC500芯片 

    Philips公司的MF RC500芯片是應(yīng)用于13.56 MHZ非接觸式通信的高集成讀卡IC系列中的一員.該讀卡IC系列利用先進(jìn)的調(diào)制和解調(diào)概念,完全集成了在13.56 MHz下所有類型的被動非接觸式通信方式和協(xié)議.MF RC500支持ISO14443A所有的層,內(nèi)部的發(fā)送器部分不需要增加有源電路就能夠直接驅(qū)動近操作距離的天線(可達(dá)100 mm);接收器部分提供一個(gè)堅(jiān)固而有效的解調(diào)和解碼電路,用于ISO14443兼容的應(yīng)答器信號;數(shù)字部分處理:ISO14443A幀和錯(cuò)誤檢測(奇偶&CRC).此外,它還支持快速CRYPTO!加密算法,用于驗(yàn)證Mifare1系列產(chǎn)品,方便的并行接口可直接連接到任何8位微處理器,給閱讀器的設(shè)計(jì)提供了極大的靈活性.MF RC500可方便地用于各種基于ISO/IEC 14443A標(biāo)準(zhǔn)并且要求低成本、小尺寸、高性能以及單電源的非接觸式通信的應(yīng)用場合。

   MF RC500的內(nèi)部EEPROM分為4部分,分別用于保存產(chǎn)品有關(guān)信息、存放寄存器初始化啟動文件以及存放加密運(yùn)算的密鑰等.8×64位的FIFO用于緩存微控制器與芯片之問的輸人輸出數(shù)據(jù)流,可處理數(shù)據(jù)流長度達(dá)64 Byte.

2.3 匹配電路及天線設(shè)計(jì) 

    有2個(gè)不同的概念可以設(shè)計(jì)一個(gè)天線和一個(gè)匹配電路:一種是直接匹配的天線,讀卡器和天線的最小距離可以建立一個(gè)小型的完整終端;另一種是50 Ω匹配的天線,可以作為讀卡器和天線之間用長距離同軸電纜連接應(yīng)用的一個(gè)簡單解決方案,連接讀卡器匹配電路和天線的同軸電纜最長距離可達(dá)10 m.在本系統(tǒng)中,采用的是直接匹配的天線.

    直接匹配的天線的理論工作距離可達(dá)100m,工作距離主要由天線的大小以及天線匹配電路的修正值決定,需要的部件有EMC濾波器、接收電路和天線本身的匹配等.圖2是本系統(tǒng)使用的直接匹配天線電路.

直接匹配天線電路配置

圖2 直接匹配天線電路配置

    2.3.1 EMC電路 

    MIFARE系統(tǒng)的工作頻率是13.56 MHz,這個(gè)頻率要用一個(gè)石英振蕩器發(fā)生,但它同時(shí)也產(chǎn)生高次諧波.為了符合國際EMC規(guī)定13.56 MHz中的3次、5次和高次諧波要被良好地抑制,除了多層設(shè)計(jì)外,還需要加低通濾波器.低通濾波器由元件L0和C0成.一般選取L0為1 μH,C0為68 μF。

    2.3.2 接收電路 

    MF RC500的內(nèi)部接收部分使用了一個(gè)新的接收概念,它使用卡響應(yīng)的副載波負(fù)載調(diào)制所產(chǎn)生的2個(gè)邊頻帶,建議使用內(nèi)部產(chǎn)生的VMID電勢作為RX管腳的輸人電勢.為了減少干擾,在VMID管腳連接一個(gè)電容到地.讀卡器的接收部分需要在RX 和VMID引腳之間連接一個(gè)分壓器.另外建議在天

第1頁第2頁

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

    由于本系統(tǒng)應(yīng)用在煤礦考勤中,所以軟件部分主要包括對礦工所持Mifare1卡卡號的讀取以及把當(dāng)天下井時(shí)長存入卡片中.讀取卡號在防碰撞操作中完成,時(shí)間存人在寫卡操作過程中完成.具體工作流程如圖3所示。

Mifarel系列射頻卡讀卡器的開發(fā)

圖3 系統(tǒng)軟件流程 

    圖3實(shí)際上是對一張Mifare1卡的完整操作過程,主要包括復(fù)位請求、防碰撞、選卡、密碼驗(yàn)證、寫卡等操作.其執(zhí)行順序必須依次進(jìn)行,不能顛倒.下面結(jié)合實(shí)際開發(fā)經(jīng)驗(yàn),詳細(xì)介紹對Mifare1卡的每一步操作. 

3.1 復(fù)位請求 

    當(dāng)一張Mifarel卡處在讀寫器天線的1二作范圍之內(nèi)時(shí),讀寫器向卡發(fā)出REQUEST all命令.卡的ATR將啟動,實(shí)現(xiàn)復(fù)位請求.請求成功,則將卡Block 0中的卡類型(TagType)號共2個(gè)字節(jié)傳送給讀寫器,建立卡片與讀寫器的第一步通信聯(lián)絡(luò).如果不進(jìn)行復(fù)位請求操作,讀寫器對卡的其他操作將不會進(jìn)行.具體操作程序?yàn)椋?/p>

3.2 防碰撞 

    如果有多張Mifare1卡處在讀寫器天線的工作范圍之內(nèi)時(shí),讀寫器首先與每一張卡進(jìn)行通信,取得每一張卡的ID號.由于每一張Mifarel卡都具有惟一的ID號,因此讀寫器根據(jù)卡的ID號來保證一次只對一張卡操作,操作成功后將返回卡的ID號.具體操作程序?yàn)椋?/p>

3.3 選擇卡 

    完成上面2個(gè)步驟后,就可以對某張卡進(jìn)行選擇操作,這時(shí)其他卡將不響應(yīng)而進(jìn)入空閑狀態(tài).如果通信成功,被選擇的卡將返回其容量大?。唧w操作程序?yàn)椋?/p>

3.4 密碼驗(yàn)證 

    一張Mifare1只有通過密碼驗(yàn)證后才能對其EEPROM中的數(shù)據(jù)進(jìn)行讀寫操作.為此,用戶必須事先將密碼編程到MF RC500的非易失性密匙存儲器中,RC500將與卡片各個(gè)扇區(qū)中的密碼A或密碼B驗(yàn)證,成功后方能進(jìn)行下一步操作.所以用戶必須妥善保管卡片中的密碼,一旦丟失,將無法對卡片進(jìn)行任何操作,此卡報(bào)廢.具體操作程序?yàn)椋?nbsp;

    M500 HostCodeKey (KeyUncode,KeyCode);6字節(jié)密碼轉(zhuǎn)換成12字節(jié)
    status= M500PiccAuthKey(PICC_AUTHENT1A,CardSnr,KeyCode,4)/block4密碼4驗(yàn)證if(status! =0)//失敗
    return ;

3.5 寫卡 

    經(jīng)過密碼證實(shí)后,就可以對卡中各扇區(qū)的數(shù)據(jù)進(jìn)行讀、寫、增值和減值等操作.下面舉例說明如何把礦工下井時(shí)長寫入到數(shù)據(jù)塊中. 

    char value[16];
    PrepareValue(0,value);//將初始下井時(shí)長0 h格式化到value數(shù)組中
    M500PiccWrite(4,value);//存value到Block4數(shù)據(jù)塊中
    PrepareValue(TimeData,value);//將當(dāng)天下井時(shí)長
    TiineData格式化到value數(shù)組中
    M500PiccValue(PICC—INCREMENT,4,value,4);//Block4中數(shù)據(jù)每次做加TiineData操作

4 結(jié)束語 

    介紹了Mifare1系列射頻卡的讀卡器開發(fā),并結(jié)合到實(shí)際應(yīng)用中.經(jīng)實(shí)踐證明,本系統(tǒng)運(yùn)行穩(wěn)定,操作方便,能對有效范圍內(nèi)的多張卡準(zhǔn)確無誤地讀寫,讀寫距離可達(dá)7 cm,目前在煤礦考勤中發(fā)揮著重要作用.

    作者簡介:劉志平(1983-- 男,碩士研究生,主要研究方向:計(jì)算機(jī)控制、應(yīng)用技術(shù)

    原文下載地址:http://www.yktchina.com/BBS/disptopic.asp?boardid=4&topicid=3796&frompage=1

第1頁第2頁

本文關(guān)鍵詞:射頻卡讀卡器,mifare1卡,mfrc,頻卡讀卡器,mifare1卡,mfrc5,卡讀卡器,mifare1卡,mfrc50,讀卡器,mifare1卡,mfrc500,卡器,mifare1卡,mfrc500,,器,mifare1卡,mfrc500,天,,mifare1卡,mfrc500,天線,mifare1卡,mfrc500,天線設(shè),ifare1卡,mfrc500,天線設(shè)計(jì)
回到頂部