基于Philips MF RC522的ISO14443A标准卡读写

好久没写点什么了,前一阵子做了14443A标准卡的读写,底层驱动都已经写好了,所以主要是一些搭积木的工作,但是也应该记点下来。

---------------------------------------------------无知的分割线----------------------------------------------------

笔者用的标准卡是mifare MF1 IC S70,具有4Kb的EEPROM,分为32个sector(每个sector有4个block)和8个sector(每个sector有16个block),工作频率13.56MHz,这里得说一下,S70比S50的EEPROM大,其余没有区别。

首先来看下卡片手册里面的读写流程图:

可见从Power On Reset开始,依次是 Answer To Request(寻卡)、Anticollision Loop(防冲撞处理并读出卡片ID)、Select Card(选定卡片)、3 Pass Authentication(验证密码)、具体操作。

再来看具体操作:

有读、写卡片,增钱减钱(block为value模式下),存储和转移。

下面是卡片EEPROM的存储格式:

从下至上的地址依次为1、2、3、4、5、6。。。每个sector的灰色block为这个扇区存储密钥、访问方式和普通block模式的控制block。

默认情况下卡片的A密钥和B密钥都为0xff,0xff,0xff,0xff,0xff,0xff,当block设置为data block时,每个block的16个字节都可改写成数值;当设置为value block时,就有固定格式了:

下面这个表显示了Access Bits的存储格式和相应代表的意思:

sector控制block

普通block

需要注意的是每次读写都需验证密钥。

转载于:https://www.cnblogs.com/evisie/archive/2011/07/29/2120510.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值