基于IC智能卡中的非接觸式讀寫模塊設(shè)計(jì)
讀寫卡過(guò)程是一個(gè)較復(fù)雜的程序執(zhí)行過(guò)程,其軟件流程圖如圖3所示,讀寫卡過(guò)程需要執(zhí)行一系列的操作指令,并需調(diào)用多個(gè)C51函數(shù)。如果采用自動(dòng)尋卡方式,MCU需要每隔0.5秒自動(dòng)尋卡一次,如果尋到卡,則ICC置1。

5.1 請(qǐng)求操作
當(dāng)一張Mifare卡片處在讀寫模塊天線的工作范圍之內(nèi)時(shí).上位機(jī)通過(guò)發(fā)送命令來(lái)控制讀寫模塊向卡片發(fā)出REQUEST all(或REQUEST std)命令。卡片的ATR將啟動(dòng),并將卡片BlockO中的卡片類型(TagType)號(hào)(共2個(gè)字節(jié))傳送給讀寫模塊。以建立卡片與讀寫模塊的第一步通信聯(lián)絡(luò)。如果請(qǐng)求卡操作不成功,讀寫模塊對(duì)卡片的其它操作將不會(huì)進(jìn)行。
5.2 防沖突操作
如果有多張Mifare卡片處在卡片讀寫模塊天線的工作范圍之內(nèi)時(shí),讀寫模塊將首先與每一張卡片進(jìn)行通信。以取得每一張卡片的序列號(hào)。由于每一張Mifare卡片都有其唯一的序列號(hào),因此讀寫模塊可根據(jù)卡片的序列號(hào)來(lái)保證一次只對(duì)一張卡操作。該操作得到的卡的返回值即為卡的序列號(hào)。
5.3 卡選擇操作
完成了上述二個(gè)步驟之后,讀卡模塊必須對(duì)卡片進(jìn)行選擇操作。執(zhí)行操作后,返回卡上的卡片序列號(hào)(UID)。
5.4 認(rèn)證操作
經(jīng)過(guò)上述三個(gè)步驟,在確認(rèn)已經(jīng)選擇了一張卡片時(shí)。卡片讀寫模塊在對(duì)卡進(jìn)行讀寫操作之前。必須對(duì)卡片上已經(jīng)設(shè)置的密碼進(jìn)行認(rèn)證,如果匹配,才允許進(jìn)一步的讀寫操作。
5.5 讀寫操作
對(duì)卡的最后操作包括卡片初始化卡值、讀卡、寫卡、增值、減值、存儲(chǔ)等。
6 結(jié)束語(yǔ)
本文主要介紹了一種基于FM1702SL的射頻識(shí)別讀寫模塊的設(shè)計(jì)方法。此模塊只需要上位機(jī)通過(guò)選定的UART或IIC接口來(lái)發(fā)送命令就可以完成對(duì)卡片的操作。經(jīng)實(shí)際應(yīng)用證明,該讀寫模塊具有電路穩(wěn)定、易嵌入到其他模塊使用、功耗低等良好性能。能方便應(yīng)用于各種不同的射頻識(shí)別應(yīng)用系統(tǒng).如考勤系統(tǒng)、門禁系統(tǒng)、公交車收費(fèi)系統(tǒng).以及各種水、電、氣表計(jì)費(fèi)系統(tǒng)等,有十分廣闊的應(yīng)用前景。









評(píng)論