请教PN532识别M1卡(寻卡指令)的问题

2020-01-11 18:14发布

本帖最后由 wwwzfgcom 于 2018-1-6 11:30 编辑

使用PN532操作白卡(无内容,未初始化的M1卡)。该卡信息 ATQ 04H ,卡容量08H.  验证密码以及读写扇区均正常。
但是,
使用PN532操作另两张M1卡(该卡信息 ATQ 08H ,卡容量28H),出现问题:验证密码无论正确与否均返回00 6X 00  ,3个字节(操作白卡如果正确返回是一个字节 00 的)。有没有有经验的朋友指教一下,是PN532不支持这种M1卡吗,还是什么问题?

今天再测了一下,发现寻卡返回数据格式都不一致,以下是白卡返回的数据格式:
00 00 FF 00 FF 00 00 00 FF 0C F4 D5 4B 01 01 00 04 08 04 12 F6 0D BB FE 00
以下是另一张卡返回的数据格式:
00 00 FF 00 FF 00 00 00 FF 1A E6 D5 4B 01 01 00 08 28 04 8F 89 A0 4D 0E 77 33 A0 02 86 88 47 48 F1 8F 89 A0 4D B8 00
多出的部分:0E 77 33 A0 02 86 88 47 48 F1 8F 89 A0 4D
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
7条回答
jeames
2020-01-12 00:05
ATA=08H,SAK=28H的卡是CPU卡,寻卡返回数据多出的部分是CPU卡返回的ATS信息
此时卡已经进入CPU状态,不再应答Mifare的指令了,返回的6X XX,就是卡COS返回的错误码,具体定义可参考ISO-7816
这个是PN532把寻卡流程封装的结果,寻卡后判断如果是CPU卡(SAK=2XH),就自动发RATS指令激活CPU卡
如果你能自己发送寻卡指令及防冲突指令,就可以避开这个情况,根据需要分别进入Mifare状态或CPU状态
前提是这张CPU卡有Mifare功能
一般带有Mifare功能的CPU的ATA=04H,SAK=28H

一周热门 更多>