风火轮PN532 NFC 开发板 串口连接方式
图如下:
风火轮与FT232 模块的连接,需要注意两个地方:
(1)如上图所示:
如果选择 UART模式:需要SEL0为OFF,SEL1为OFF
也就是上图的3和上图的4的地方,需要都是OFF
(2)与FT232 USB转TTL 串口模块的连接,
图中标号 | 板子 | FT232模块 |
---|---|---|
5 | 3.3v | VCCIO |
6 | MOSI/SDA/TX | RXD —–> |
7 | SSEL/SCL/RX | TXD <—– |
8 | GND | GND |
FT232 模块上面的 一个选择5v 还是 3.3v的开关,放在3v3那一侧
风火轮PN532 NFC 开发板 的资料 在csdn 上面有:
搜索的关键词是:PN532开发套餐资料包.rar
开发板,测试:
使用一张如下的卡,放在开发板的天线上
双界面卡FM1216-109复旦CPUFM1216-109CPU双界面卡支持DES算法
从淘宝买的CPU双界面白卡,该卡既支持接触式通信,也支持NFC通信
进入如下目录:
进入cmd模式:
输入如下命令:
nfc-list.exe --device PN532_UART:COM5:115200
其中COM5 根据实际情况取。
得到返回值:
1 ISO14443A passive target(s) found:
ATQA (SENS_RES): 00 08
UID (NFCID1): 33 1e 24 02
SAK (SEL_RES): 20
ATS: 78 80 b0 02 20 90 00 00 00 00 00 33 1e 24 02
使用另外一个工具,
该工具 是VS2010 MFC 实现的 :VC\PCSC\NFCReader\可用bin\NFCReader.exe 1.1版本
唤醒读卡器:
发送的命令为:
0x55,0x55,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0xFF,0x03,0xFD,0xD4,0x14,0x01,0x17,0
返回的包为:
00 00 FF 00 FF 00 00 00 FF 02 FE D5 15 16 00
获取卡片ID:
发送的命令为:
0x0,0x0,0xff,0x4,0xfc,0xd4,0x4a,0x1,0x0,0xe1,0x0,
返回的包为:
00 00 FF 00 FF 00 00 00 FF 1C E4 D5 4B 01 01 00 08 20 04 33 1E 24 02 10 78 80 B0 02 20 90 00 00 00 00 00 33 1E 24 02 5A 00
接触式读卡器,读这个卡
执行程序:
只针对这个卡,可以读UID,有些其他的卡商的卡,通过ATR 读不出来UID
补充一张有转接线的图,不用每次都重新确认线是否连接正确
注意FT232模块的线序:
PN532 协议包 格式解析:
参考:PN532 User Manual UM0701-02.pdf page28
PREAMBLE 1个字节 00
START CODE 2个字节 00 0F
LEN 1个字节 包括 TFI 和 PD0 到 PDn 总的字节数
LCS 1个字节 需要满足 LEN + LCS 的 低字节 为0x00 比如 0x100
TFI 1个字节 帧识别
D4h 表示 从PC 到PN532
D5h 表示 从PN532 到PC
DATA LEN-1个字节 PD0 是 Command Code
DCS 1个字节 校验码
低字节的[TFI + PD0 + PD1 + … + PDn + DCS] = 0x00
POSTAMBLE 1个字节
注意 PN532 是使用的射频信号,不好将板子靠近金属机箱测试。
容易读写出错。需要保持一定的距离
串口驱动
下一篇: 什么是CI/CD