stm32+RC522实现RFID功能

stm32+RC522实现RFID功能

一、利用RC522实现读卡器的读写功能

1、工作原理

读写器向M1卡发一组固定频率的电磁波,卡片内有一个 LC串联谐振电路,其频
率与读写器发射的频率相同,在电磁波的激励下,LC谐振电路产生共振,从而
使电容内有了电荷,在这个电容的另一端,接有一个单向导通的电子泵,将电容
内的电荷送到另一个电容内储存,当所积累的电荷达到2V时,此电容可做为电
源为其它电路提供工作电压,将卡内数据发射出去或接取读写器的数据。

2、读卡器读效果图

RC522效果图

3、使用流程

复位–>寻卡–>防冲突–>选卡–>认证–>读写卡
在这里插入图片描述
在这里插入图片描述
寻卡命令:0x52(WAKE_UP)或者0x26(REQUEST), 0x52是ALL模式,对天线范围
内的所有卡操作,0x26是IDLE模式,只选择天线范围内IDLE模式的卡。与卡的通信数据格式:data[0]=0x52,如果正常,卡会返回两个字节的卡类型,
0x04代表Mifare 1卡。
防冲突和选卡: 命令都是0x93,但后面所带的数据不同,防冲突的数据格式是:
data[0]=0x93,data[1]=0x20,如果正常,卡会返回卡的1字节卡的系类号位数和4
字节卡系列号,选卡的数据格式是:data[0]=0x93,data[1]=0x70,data[2]-data[6]
为读回的卡系列号,如果正常,卡会返回一字节的卡容量(0x08或0x88)。
对卡片的EEPROM进行读写操作,还需要经过密钥的三重认证,1、通过
LoadKeyE2或者LoadKey加载密钥到内部密钥缓冲器,2、启动
Authen1(0x0C),数据格式:data[0]=0x60(A认证方式)或0x61(B认证方
式),data[1]=扇区号,data[2]-data[5]为卡系列号,结束后,检查错误标志位判断
执行结果,3、启动Authen2(0x14)数据格式为空,结束后,检查错误标志位
以及CrtptolOn标志判断执行结果。

4、M1卡存储结构

1、M1卡分为16个扇区,每个扇区由4 块(块 0、块 1、块 2、块 3)组成,(我
们也将16个扇区的64个块按绝对地址编号为0~63,存贮结构如下图所示:
在这里插入图片描述

5、三次验证

M1卡在选卡成功之后,会进行“三次互相验证”,CPU在进入目录后,进行外部
认证和内部认证。
5.1、M1卡的三次互相认证
在这里插入图片描述
5.2、复旦CPU卡的外部认证和内部认证
在这里插入图片描述
说明:文档与代码工程,我已发布在公众号‘漂流小江’中,有需要的可以关注公众号回复"RFID"获取

  • 6
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小江编程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值