新聞中心

EEPW首頁 > 手機與無線通信 > 設計應用 > 基于MF RC500芯片的射頻讀寫器設計和實現(xiàn)方案

基于MF RC500芯片的射頻讀寫器設計和實現(xiàn)方案

作者: 時間:2009-07-27 來源:網(wǎng)絡 收藏
(5) 與MCU的接口電路
支持與不同的微處理器直接接口,包括獨立讀寫選通的MCU連接、公共讀寫選通的MCU連接以及具有公共讀寫選通和掛鉤功能的MCU連接。在每次上電或硬件復位后, 也復位其并行微處理器接口模式并自動檢測當前微處理器接口的類型。

本文引用地址:http://2s4d.com/article/157945.htm


本系統(tǒng)選用具有公共讀寫選通和掛鉤功能的MCU連接方式,圖6為MF RC500與MCU的接口原理。由圖中可以看出,本系統(tǒng)采用中斷(INT1)工作模式,即MCU利用MFRC500提供中斷信息對其進行控制。另外,根據(jù)系統(tǒng)的需要,可以采用查詢方式對MF RC500進行操作。
4系統(tǒng)軟件
軟件主要包括對MF RC500進行初始化、接收上位計算機的指令、控制MF RC500,并且把MF RC500的狀態(tài)信息反饋給計算機。程序流程如圖7所示。


(1) 初始化并行接口
首先讀Command 寄存器直到Command的6位值為00H,內部初始化階段此時結束,MF RC500準備接收控制;將80H 寫入Page寄存器以初始化微處理器接口;讀Command寄存器,如果該值為00H則微處理器接口初始化成功;在接口初始化之后通過將0X00 寫入頁寄存器,激活線性地址模式。這個過程可以用以下代碼表示:
do{PReset=1; Delay(10); PReset=0;} // 給復位脈沖
while (ReadRC(RegPage) != 0x80);
do{ WriteRC(RegPage,0x0);}
while(ReadRC(RegCommand) != 0x00);
if (ReadRC(RegCommand) != 0x00)
status = MI_INTERFACEERR;//接口初始化錯誤
else
status = 0; //接口初始化成功
(2) 對Mifare1卡的操作
MCU對Mifare1卡操作的命令主要有空操作、裝載密碼、驗證密碼、讀卡、寫卡和關卡等。無論哪種操作都必須先把命令代碼寫入到Command寄存器,比如執(zhí)行驗證密碼則需要執(zhí)行WriteRC(RegCommand,0x0c)命令。
從操作流程上,可以把Mifare1卡的操作分為以下幾項:
復位請求:當一張Mifare1卡處在天線的工作范圍之內時,向卡發(fā)出REQUEST all(或REQUEST std)命令??ǖ腁TR將啟動,將卡Block 0中的卡類型(TagType)號共2個字節(jié)傳送給,建立卡片與讀寫器的第一步通信聯(lián)絡。如果不進行復位請求操作,讀寫器對卡的其它操作將不會進行。
反碰撞操作:如果有多張Mifar1e卡處在讀寫器天線的工作范圍之內時,讀寫器首先與每一張卡進行通信,取得每一張卡的ID號。由于每一張Mifare1卡都具有唯一的ID號,因此讀寫器根據(jù)卡的ID號來保證一次只對一張卡操作。
卡選擇操作:完成了上述二個步驟之后,讀寫器必須對卡進行選擇操作。執(zhí)行操作后,返回卡上的SIZE字節(jié)。
認證操作:經(jīng)過上述三個步驟,在確認已經(jīng)選擇了一張卡片時,讀寫器必須對卡上已經(jīng)設置的密碼進行認證。如果匹配,才允許進一步的讀寫操作。
讀寫操作:對卡的讀、寫、增值、減值、存儲和傳送等操作。
5結論
本文的創(chuàng)新工作:PHILIPS公司生產(chǎn)的MF RC500,提出了一種結合單片機AT89S52的通用卡讀寫器的。系統(tǒng)了對Mifare1卡讀寫操作的同時,具有以下優(yōu)點:(1) 由于接口方式比較多,對IO口操作簡單,可以方便地對MF RC500進行控制并獲取相應信息;(2) 由于該系統(tǒng)在天線設計合理的情況下可靠性比較高,有效距離可達10cm;(3) 計算機只需通過一定的方式發(fā)送命令,即可對卡操作,在此基礎上可以根據(jù)不同的需要開發(fā)出相應的軟件產(chǎn)品,具有很大的實用價值。
實際應用表明該讀寫器架構具有響應速度快、使用簡單、讀卡距離遠和通信穩(wěn)定可靠的顯著優(yōu)點。

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


上一頁 1 2 下一頁

評論


相關推薦

技術專區(qū)

關閉