新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 采用AT89C51CC01和FM1712芯片的射頻卡讀寫器的實現

        采用AT89C51CC01和FM1712芯片的射頻卡讀寫器的實現

        作者: 時間:2012-02-13 來源:網絡 收藏

        6 對卡的操作

        本文引用地址:http://www.104case.com/article/172112.htm

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

          

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

          (2) Request (請求):當一張Mifare卡片處在卡片的天線工作范圍之內時,程序員可控1制向卡片發出REQUEST all(或REQUESTstd)命令,以啟動卡片的ATR將卡片Block0中的卡片類型(TagType)號共2個字節傳送給讀寫器,從而建立卡片與讀寫器的第一步通信聯絡。如果不進行復位請求操作,讀寫器對卡片的其它操作將不能進行。

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

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

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

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

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

          7 結束語

          IC卡以其高度的信息集成及安全性已經融入當今信息技術的主流之中。本文介紹的讀寫器所用的讀卡FM1712是一款優秀的新型國產,經實驗證明,基于該設計的Mifare卡讀寫器,工作十分穩定。此外,在此讀寫器的基礎上,只要稍加改動還能開發成不同的射頻識別應用系統,因而具有很好的市場前景。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 麟游县| 吴忠市| 且末县| 浪卡子县| 大丰市| 大理市| 武邑县| 武乡县| 屯留县| 高台县| 白沙| 安顺市| 长寿区| 瓮安县| 建阳市| 鄂伦春自治旗| 河东区| 湖州市| 鄄城县| 忻州市| 子洲县| 武义县| 永顺县| 新乐市| 赞皇县| 微山县| 贺州市| 陇西县| 兴安盟| 于都县| 安阳县| 南雄市| 道孚县| 吐鲁番市| 承德市| 昭通市| 连平县| 福建省| 黄梅县| 宿州市| 平阳县|