新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 采用AT89C51CC01和FM1712芯片的射頻卡讀寫器的實(shí)現(xiàn)

采用AT89C51CC01和FM1712芯片的射頻卡讀寫器的實(shí)現(xiàn)

作者: 時(shí)間:2012-02-13 來源:網(wǎng)絡(luò) 收藏

6 對(duì)卡的操作

本文引用地址:http://m.butianyuan.cn/article/172112.htm

  內(nèi)部有8個(gè)寄存器頁(yè),每頁(yè)有8個(gè)寄存器,每個(gè)寄存器有8位數(shù)據(jù)。這些寄存器是統(tǒng)一編址的(從0x00到0x3F),MCU通過SPI接口與通信來對(duì)這些寄存器進(jìn)行設(shè)置。如MCU需要讓執(zhí)行某個(gè)命令(Transceive),就可以把此命令的代碼(1E)寫入Command寄存器。必須注意的是,MCU對(duì)卡片的操作不是簡(jiǎn)單的一條指令所能完成的,其中必須有對(duì)FM1712內(nèi)部硬件寄存器的設(shè)置。其操作如圖4所示。以下是對(duì)卡的操作定義。

  

  (1) 初始化:包括對(duì)MCU的初始化和對(duì)各硬件寄存器設(shè)定初始值、打開RF場(chǎng)以及看門狗復(fù)位等操作;同時(shí)要初始化FM1712的SPI接口和定時(shí)器。設(shè)置定時(shí)器控制寄存器,并打開TX1、TX2。

  (2) Request (請(qǐng)求):當(dāng)一張Mifare卡片處在卡片的天線工作范圍之內(nèi)時(shí),程序員可控1制向卡片發(fā)出REQUEST all(或REQUESTstd)命令,以啟動(dòng)卡片的ATR將卡片Block0中的卡片類型(TagType)號(hào)共2個(gè)字節(jié)傳送給讀寫器,從而建立卡片與讀寫器的第一步通信聯(lián)絡(luò)。如果不進(jìn)行復(fù)位請(qǐng)求操作,讀寫器對(duì)卡片的其它操作將不能進(jìn)行。

  (3) Anticollision Loop(防沖突機(jī)制):如果有多張Mifare卡片處在卡片讀寫器的天線工作范圍之內(nèi),PCD將首先與每一張卡片進(jìn)行通信,以取得每一張卡片的系列號(hào)。由于每一張Mifare卡片都具有其唯一的序列號(hào)而決不會(huì)相同,因此,PCD可根據(jù)卡片的序列號(hào)來保證一次只對(duì)一張卡進(jìn)行操作。該操作后,PCD得到PICC的返回值即為卡的序列號(hào)。

  (4) Select Tag(選擇卡片):完成上述步驟之后,PCD必須對(duì)卡片進(jìn)行選擇操作。執(zhí)行操作后,返回卡上的SIZE字節(jié)。

  (5) Authentication(三次相互驗(yàn)證):經(jīng)過上述步驟并在確認(rèn)已經(jīng)選擇了一張卡片時(shí),讀寫器在對(duì)卡進(jìn)行讀寫操作之前,還必須對(duì)卡片上已經(jīng)設(shè)置的密碼進(jìn)行認(rèn)證。如果匹配,才允許進(jìn)一步進(jìn)行讀寫操作。

  (6) 讀寫操作:對(duì)卡的最后操作就是讀、寫、增值、減值、存儲(chǔ)和傳送等操作。在每一個(gè)加值和減值操作后都必須跟隨一條Transfer傳送指令。這樣才能真正地將數(shù)據(jù)結(jié)果傳送到卡片上。如果沒有傳送指令,數(shù)據(jù)結(jié)果仍將保持在數(shù)據(jù)緩沖寄存器中。

  (7) 若循環(huán)詢問是Request All指令,那么,在處理完一張卡片后,還要判斷是否還有未處理完的卡片。

  7 結(jié)束語(yǔ)

  IC卡以其高度的信息集成及安全性已經(jīng)融入當(dāng)今信息技術(shù)的主流之中。本文介紹的讀寫器所用的讀卡FM1712是一款優(yōu)秀的新型國(guó)產(chǎn),經(jīng)實(shí)驗(yàn)證明,基于該設(shè)計(jì)的Mifare卡讀寫器,工作十分穩(wěn)定。此外,在此讀寫器的基礎(chǔ)上,只要稍加改動(dòng)還能開發(fā)成不同的射頻識(shí)別應(yīng)用系統(tǒng),因而具有很好的市場(chǎng)前景。


上一頁(yè) 1 2 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉