NFC模块PN532使用
1、PN532数据包格式:
(1)正常数据包:
00 | 00 FF | LEN | LCS | TFI | PD0…PDn | DCS | 00 |
---|
- 00 :序列头
- 00 FF :起始号
- LEN :数据包长度,包含TFI
- LCS :数据长度校验和,LEN+LCS = 0
- TFI :命令; D4表示主机到PN532,D5表示PN532到主机
- PD0…PDn:数据
- DCS :数据校验和,TFI+PD0+…+PDn = 0
- 00 :序列结尾
(2)应答包:
00 | 00 FF | 00 FF | 00 |
---|
00 :序列头
00 FF :起始号
00 FF :应答包
00 :序列结尾
(3)非应答包:
00 | 00 FF | FF 00 | 00 |
---|
00 :序列头
00 FF :起始号
FF 00 :没有应答
00 :序列结尾
(4)加长数据包:
00 | 00 FF | FF | FF | LENM | LENL | LCS | TFI | PD0…PDn | DCS | 00 |
---|
在正常情况下,只能发送256个字节的数据,PN532提供一种特殊的格式可以发送更多的数据;
- FF :正常模式下时为包的长度,特殊时为FF
- FF :正常模式下为数据长度校验和,特殊为FF
- LENM,LENl:数据包长度的高位和低位,包含TFI
2、PN532操作
下面以操作m1-s50卡为例
(1)唤醒:
- 发送:55 55 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff 03 fd d4 14 01 17 00
- 应答: 00 00 FF 00 FF 00 00 00 FF 02 FE D5 15 16 00
(2)寻卡:
- 发送:00 00 FF 04 FC D4 4A 02 00 E0 00
- 应答:00 00 FF 00 FF 00 00 00 FF 0C F4 D5 4B 01 01 00 04 08 04 90 1F 2A A4 51 00
这里 90 1F 2A A4 为 UID号;
(3)验证:
- 发送:00 00 FF 0F F1 D4 40 01 60 07 FF FF FF FF FF FF 90 1F 2A A4 0D 00
- 应答:00 00 FF 00 FF 00 00 00 FF 03 FD D5 41 00 EA 00
验证的是07这个块,41 00 为正确
(4)读写:
注:读写操作时卡在验证后不能拿开
a、读第7块的数据:
- 发送:00 00 FF 05 fb D4 40 01 30 07 B4 00
- 应答:00 00 FF 00 FF 00 00 00 FF 13 ED D5 41 00 00 00 00 00 00 00 FF 07 80 69 FF FF FF FF FF FF 01 00
41 00 表示正确,00 00 00 00 00 00 FF 07 80 69 FF FF FF FF FF FF为第7块的数据;
b、写第6块:
- 发送:00 00 ff 15 EB D4 40 01 A0 06 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F CD 00
- 应答:00 00 FF 00 FF 00 00 00 FF 03 FD D5 41 00 EA 00
再读取第6块数据会读到写入的数据了。
著作权归本网站(https://makerinchina.cn)所有,转载请注明来自 MakerInChina.