非接觸式智能卡(射頻卡)以其高度安全保密性、通信高速性、使用方便性廣泛應(yīng)用于三表行業(yè),實現(xiàn)預(yù)付費功能,使人們生活質(zhì)量有了很大的提高。射頻卡技術(shù)應(yīng)用于水表將是智能水表的一次偉大革命。
MF RC522是Philips公司針對三表最新推出的一款非接觸式低功耗讀寫基站芯片,它是應(yīng)用于13.56MHz非接觸式通信中高集成讀卡IC系列中的一員。該讀卡IC系列利用了先進(jìn)的調(diào)制和解調(diào)概念,完全集成了13.56MHz下所有類型的被動非接觸式通讀方式和協(xié)議。MF RC522支持ISO14443A所有的層,傳輸速度最高達(dá)424kbps,具有三種主機接口方式:SPI模式、UART模式、I2C模式。
本設(shè)計采用MSP430系列超低功耗16位單片機為主控芯片,系統(tǒng)3.3V供電完全適合MFRC522供電要求,實現(xiàn)了低功耗的完美結(jié)合。
1 系統(tǒng)設(shè)計
該系統(tǒng)以TI MSP430F413單片機為核心,工作電壓為1.8V~3.6V,內(nèi)置LCD驅(qū)動器24%26;#215;4段,可以縮小體積、降低成本,在休眠模式下典型電流僅為0.7μA;采用內(nèi)部Flash保存用水?dāng)?shù)據(jù)、剩余水量和水表狀態(tài)信息;電源監(jiān)控采用理光R3111E(可根據(jù)設(shè)定的門限電壓選擇相應(yīng)的型號);水表閾門采用2.5V~6V直流電機,當(dāng)人為破壞水表或所購買水量低于設(shè)定值時,水表報警并及時關(guān)掉閥門,同時將數(shù)據(jù)保存在內(nèi)部Flash中;采用MFRC522讀寫芯片讀寫Mifare 1 S50卡片實現(xiàn)預(yù)付費功能。系統(tǒng)框如圖1所示。
本設(shè)計利用RC522 UART模式與單片機通信,由于MSP430F413沒有硬件串口,故需使用TIMERA模擬串口,如圖2所示。
對于MSP430F413而言,P1.0(TimerA捕獲/比較輸出口)口是UART的TX,P1.1(TimerA捕獲/比較輸出口)是UART的RX。
2 MFRC522命令寄存器及基本指令集
2.1 命令寄存器CommandReg(0x01)
MF RC522內(nèi)部有64個寄存器,共分4頁:PAGE0:COMMAND AND STATUS;PAGE1:COMMAND;PAGE2:CFG;PAGE3:TEST。MF RC522通過內(nèi)部寄存器的讀寫控制與Mifare 1 IC卡數(shù)據(jù)通信。
CommandReg命令控制字如表1所示。
Command命令類別如表2所示。
2.2 基本指令集
MF RC522有14種基本指令集,實現(xiàn)不同方式的數(shù)據(jù)傳輸,如表3所示。
3 軟件設(shè)計
MSP430F413首先對MF RC522進(jìn)行初始化配置,寄存器設(shè)置好后,MF RC522可以接收控制執(zhí)行命令執(zhí)行操作,實現(xiàn)與Mifare 1 S50卡片通信;Mifare 1 S50卡根據(jù)接收到的指令進(jìn)行相應(yīng)操作。但是MSP430F413并不是通過簡單的指令就可以讀寫IC卡片,需要一系列的操作才能完成通信。主要包括:(1)請求喚醒;(2)防重疊;(3)選擇卡片;(4)密碼認(rèn)證;(5)讀寫操作。
MSP430F413對Mifare 1 S50卡片操作流程,如圖3所示。
3.1 請求Request Std/Request All
當(dāng)在天線有效工作距離內(nèi)檢測到卡片,MF RC522發(fā)送Request Std/Request All請求指令,卡片接收到請求指令后返回握手信號,從而判斷操作是否成功。
Request Std(0x26)連續(xù)讀卡指令
Request All(0x52)非連續(xù)讀卡指令
3.2 Atcollision(防重疊)
MF RC522能夠防止多張卡片重疊造成的數(shù)據(jù)錯誤。當(dāng)在天線有效工作距離內(nèi)檢測到多張卡片時,MCU讀取序列號進(jìn)行判斷檢測。
Mifare 1 S50卡具有全球唯一4個字節(jié)的序列號,SN存放在Sector0的Block0內(nèi)前4個字節(jié),第5個字節(jié)存放校驗碼(4字節(jié)異或結(jié)果),MCU控制循環(huán)讀取序列號,直到讀取一個校驗正確的序列號后,保存并退出循環(huán);當(dāng)然出錯也會退出循環(huán)。
Sector0的Block0數(shù)據(jù)格式如表4所示。
3.3 Select(選擇卡片)
將Anticollision操作讀取的序列號SN 4個字節(jié)還有異或的校驗碼發(fā)送到Mifare 1 S50卡上,卡片接收后與自身SN及校驗碼核對,只有完全一樣才能選定卡片。
3.4 Authentication(密碼認(rèn)證)
Mifare 1 S50卡有1KB容量,分為16個扇區(qū):Sector0到Sector15,每個Sector(扇區(qū))包括4個Block(塊),每個Block具有16個byte的存儲容量。Block被分為Block0至Block3;整個Mifare 1 S50非接觸式智能卡共有64個Block。
每個Sector的Block3都存放著本扇區(qū)自己的密碼KeyA、KeyB和Access Bits。通過Access Bits設(shè)置密碼方式和數(shù)據(jù)塊類型(Write/Read或Value)。
只有密碼完全認(rèn)證通過后,才可以對卡片進(jìn)行Write/Read操作。
3.5 Write/Read(讀寫操作)
Authentication密碼認(rèn)證通過后,可以對64Block進(jìn)行讀寫操作。其中Sector0中的Block0只能執(zhí)行讀操作。Mifare 1 S50讀寫時是以Block為單位的,讀或?qū)懚际轻槍φ麄€Block 16字節(jié)的數(shù)據(jù),不能單個字節(jié)讀寫。為了確保數(shù)據(jù)的正確性,可進(jìn)行數(shù)據(jù)校驗。
3.6 Decrement/Increment(增值和減值操作)
當(dāng)數(shù)據(jù)塊通過設(shè)置Access bits配置成Value型時,可以對其進(jìn)行Decrement/Increment操作。為了防止數(shù)據(jù)出錯,Value Block設(shè)有復(fù)雜的數(shù)據(jù)格式。Value重復(fù)存放3次,其中原碼存放2次,補碼再存放1次;Adr重復(fù)存放4次,其中原碼存放2次,補碼再存放2次。
Value:增值或減值 Adr:操作Block地址
執(zhí)行Decrement/Increment后,把結(jié)果存放在內(nèi)部數(shù)據(jù)緩沖寄存器中,等待Transfer指令操作寫入指定的目標(biāo)Block中。
3.7 Restore
Restore指令是將Mifare 1 S50內(nèi)某一Block內(nèi)容讀出,存放在內(nèi)部數(shù)據(jù)緩沖寄存器中,等待Tranfer指令操作寫入指定的目標(biāo)Block中,相當(dāng)于復(fù)制Block a到Block b中。
3.8 Transfer(傳送)
Transfer指令操作是將內(nèi)部數(shù)據(jù)緩沖區(qū)內(nèi)數(shù)據(jù)傳送到目標(biāo)Block中。執(zhí)行Decrment/Increment和Restore指令操作都需要Transfer指令,數(shù)據(jù)才能成功傳輸。
3.9 Halt(停機)
Halt指令操作將結(jié)束MF RC522與Mifare S50通信。
MF RC522作為新一代非接觸IC卡與傳統(tǒng)的IC卡相比有著很大的優(yōu)勢,具有較強的保密性能和防碰撞功能,特別是采用低電壓供電大大降低功耗,能夠與超低功耗MSP430單片機結(jié)合實現(xiàn)低功耗預(yù)付費水表的設(shè)計。
責(zé)任編輯:gt
-
芯片
+關(guān)注
關(guān)注
459文章
51927瀏覽量
433776 -
單片機
+關(guān)注
關(guān)注
6058文章
44822瀏覽量
644799 -
射頻
+關(guān)注
關(guān)注
106文章
5717瀏覽量
169406
發(fā)布評論請先 登錄
相關(guān)推薦
MSP430F413的新型智能水表的設(shè)計
[原創(chuàng)]超低功耗單片機MSP430F413實現(xiàn)的智能遙控器設(shè)計
MFRC522與單片機測試過程代碼
基于單片機的預(yù)付費智能卡水表軟時鐘結(jié)構(gòu)設(shè)計與分析
MSP430F413實現(xiàn)的智能遙控器設(shè)計
基于MFRC522的熱量表預(yù)付費模塊設(shè)計
基于MSP430F413的新型智能水表的設(shè)計

基于MFRC522的熱量表預(yù)付費模塊設(shè)計[圖]
基于MSP430F149的RFID讀卡器模塊設(shè)計的詳細(xì)中文資料介紹

使用51單片機和MFRC522實現(xiàn)RFID的源代碼和資料合集免費下載

MFRC522測試程序分享
基于MSP430F413單片機的智能水表的設(shè)計

評論