欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

风火轮PN532 NFC 开发板 串口连接方式

程序员文章站 2022-04-25 10:00:01
...

图如下:
风火轮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通信
风火轮PN532 NFC 开发板 串口连接方式

进入如下目录:
风火轮PN532 NFC 开发板 串口连接方式
进入cmd模式:
风火轮PN532 NFC 开发板 串口连接方式

输入如下命令:

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

使用另外一个工具,
风火轮PN532 NFC 开发板 串口连接方式

该工具 是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 

接触式读卡器,读这个卡
风火轮PN532 NFC 开发板 串口连接方式

执行程序:
风火轮PN532 NFC 开发板 串口连接方式

只针对这个卡,可以读UID,有些其他的卡商的卡,通过ATR 读不出来UID

补充一张有转接线的图,不用每次都重新确认线是否连接正确
风火轮PN532 NFC 开发板 串口连接方式

注意FT232模块的线序:
风火轮PN532 NFC 开发板 串口连接方式

PN532 协议包 格式解析:

参考:PN532 User Manual UM0701-02.pdf page28

风火轮PN532 NFC 开发板 串口连接方式
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 是使用的射频信号,不好将板子靠近金属机箱测试。

容易读写出错。需要保持一定的距离

串口驱动

风火轮PN532 NFC 开发板 串口连接方式

相关标签: nfc PN532