GM-3568JHF丨ARM+FPGA异构开发板应用开发教程:13 PN532 NFC读卡案例

本篇教程基于ShiMetaPi 研发的FPGA+ARM开发板------GM-3568JHF展开。

1 案例简介

本案例旨在介绍如何通过 40PIN 树莓派接口使用 PN532 NFC 卡获取水滴卡 ID。

2 模块介绍

PN532 NFC HAT 是专为树莓派设计的 NFC 扩展板,采用PN532主控,同时支持I2C、SPI和串口通信,可以给树莓派扩展 NFC 通讯功能。

3 模式切换介绍

3.1 串口通信模式

使用跳线帽,把 I0 设置为 L,l1 设置为 L 用跳线帽连接 RSTPDN ->D20 将拨码开关设置为

3.2 SPI 通信模式

使用跳线帽,把 I0 设置为 L,l1 设置为 H 用跳线帽连接 RSTPDN ->D20 将拨码开关设置为

3.3 I2C 通信模式

使用跳线帽,把 I0 设置为 H,l1 设置为 L 用跳线帽连接 RSTPDN ->D20,连接 INT0 -> D16 (避免Clock Stretching) 将拨码开关设置为

4 操作流程

4.1 串口通信模式

打开终端,将本案例 bin 目录下(05-开发资料\软件开发资料\linux_demo\smdt_nfc_demo\bin)的可执行程序 smdt_nfc_demo 拷贝至开发板文件系统 (源码可以在 src 路径下查看)。

在终端执行如下指令,切换到 smdt_nfc_demo 可执行程序所在目录

复制代码
#切换到 smdt_nfc_demo  可执行程序所在目录
cd '可执行文件所在目录'

#查看 smdt_nfc_demo  是否在该目录下
ls

若可执行文件 smdt_nfc_demo 在当前目录下,则修改可执行文件的权限。

复制代码
#添加可执行权限
chmod +x smdt_nfc_demo

#查询是否修改成功
ls -ld smdt_nfc_demo

查询确认文件修改权限成功后,执行 ./smdt_nfc_demo -h 可以查看该程序的帮助信息 本测试脚本中部分设置的默认参数如下: device: /dev/ttyS3 即 UART3

复制代码
#查看帮助信息
./smdt_nfc_demo -h

执行结果如下图:

输入下面指令,可以切换模式

复制代码
#PN532 NFC唤醒模式
./smdt_nfc_demo -w

#RPN532 读卡ID模式
./smdt_nfc_demo -r

执行 ./smdt_nfc_demo -w ,将会进入PN532 NFC模块唤醒模式,返回唤醒响应帧,执行结果如下:

输入Ctrl+Z 可以强制退出该模式

执行 ./smdt_nfc_demo -r ,将会进入PN532 NFC模块读卡ID模式,读到卡ID后将会在终端显示 卡ID 对应的响应帧,执行结果如下:

输入Ctrl+Z 可以强制退出该模式

相关推荐
女神下凡4 天前
嵌入式设计的各种存储芯片的硬件/软件设计规范,非常全面。
arm开发·单片机·嵌入式硬件
从零开始的嵌入式之旅4 天前
day47
arm开发·经验分享·笔记·嵌入式硬件
博览鸿蒙4 天前
FPGA开发使用的语言
fpga开发·fpga
老当益壮梁奶奶4 天前
ARM汇编学习笔记(六):【i.MX6ULL】时钟系统与定时器(EPIT & GPT)
c语言·arm开发·嵌入式硬件·学习·51单片机
明德扬4 天前
机器人多摄像头如何做FPGA多路视频聚合?
学习·fpga开发·fpga
昌原的儿子LEO4 天前
IMX6ULL 时钟系统与 EPIT/GPT 定时器原理与配置
arm开发·学习
sunoo-2294 天前
【ARM嵌入式学习笔记Day6】一文打通i.MX6ULL时钟体系:PLL/PFD/预分频+滞回比较器全解析
arm开发·笔记·vscode·单片机·imx6ull·汇编语言
M78佐菲4 天前
ARM学习笔记(1)
linux·arm开发·笔记·嵌入式硬件·学习
JoYER_cc5 天前
FPGA 调试实录:LED 闪烁程序从踩坑到仿真验证的完整经验总结
fpga开发
sunoo-2295 天前
【嵌入式裸机开发Day04】i.MX6ULL 蜂鸣器驱动详解:从引脚地址查找到代码实现全流程
arm开发·单片机·嵌入式硬件·学习·串口·裸机