Mifare 1非接觸式IC卡讀寫(xiě)核心模塊MCM200
?。矗?“Read"或“Write"操作子程序
Read指令允許MCU通過(guò)MCM來(lái)讀?。停椋妫幔颍?1卡片上完整的16個(gè)Bytes的數(shù)據(jù)塊。Read指令操作只能一個(gè)塊(Block)一個(gè)塊地讀,即一次只能讀?。保秱€(gè)字節(jié)。如果只要求讀取某Block中的幾個(gè)字節(jié)的數(shù)據(jù),也只能一個(gè)整塊16個(gè)字節(jié)一起讀取,再由程序員選取指定的字節(jié)。從卡片上讀到的數(shù)據(jù)必須由MCU進(jìn)行校驗(yàn),以確保數(shù)據(jù)的有效。
“Write” 寫(xiě)指令允許用戶寫(xiě)數(shù)據(jù)到MIFARE卡片上(完整的16 個(gè)BYTEs的數(shù)據(jù)塊)。只有在“Authentication” 認(rèn)證指令完成后,才允許對(duì)數(shù)據(jù)扇區(qū)或數(shù)據(jù)塊進(jìn)行“Write”寫(xiě)指令操作。寫(xiě)入的數(shù)據(jù)塊的數(shù)據(jù)結(jié)構(gòu)如下:
15 14 13 12 11 10 9 8
address address address address V A L UE
7 6 5 4 3 2 1 0
V A L UE V A L UE
通過(guò)一個(gè)寫(xiě)操作可將存儲(chǔ)的數(shù)據(jù)在每一個(gè)block塊中寫(xiě)3次并反寫(xiě)1次,從而完成數(shù)據(jù)塊的初始化。塊的地址必須寫(xiě)4次,其中2次為反向?qū)懭?。正/?fù)數(shù)據(jù)值將以標(biāo)準(zhǔn)的二進(jìn)制補(bǔ)碼格式來(lái)表示。
4.6 “Increment”或 “Decrement”增值或減值子程序
通過(guò)Mifare 1內(nèi)部電路能夠執(zhí)行“Increment” &“Decrement”增值/減值操作,在根據(jù)KEY A 和KEY B 進(jìn)行“Increment”&“Decrement”增值/減值操作時(shí); “Increment”增值表示將指定的值加到卡片的存儲(chǔ)器中;“Decrement”減值則表示從卡片的存儲(chǔ)器中減去指定的值。每一個(gè)“Increment”& “Decrement”增值/減值操作都必須跟隨一條“Transfer” 傳送指令,這樣才能真正地將數(shù)據(jù)結(jié)果傳送到卡片上。如果沒(méi)有傳送指令,數(shù)據(jù)結(jié)果仍將保持在數(shù)據(jù)緩沖寄存器中。
評(píng)論