NFC----PN532

2023-11-16

      一、PN532简介

1.1、PN532由NXP出品,是一款高度集成的载波的13.56MHz传输模块,基于80C51内核有40KROM、                           1KRAM。 使用不同的固件支持13.56MHz频段的无线协议。

     硬件接口:I2C、SPI、高速UART(HSU).

        1.2、PN532有三个模式,可以通过两个引脚来选择


                    标准模式:PN532的默认模式

    仿真模式:PN532在该模式下用RS232串口9600bps,不能改变波特率。支持IRQ引脚的仿真,中断发生                                      的时候P70_IRQ引脚是低电平。

    RFfiledON Mode:这个模式下,复位后PN532立刻打开射频。P33——INT1和P34/SIC_CLK引脚选择调       制和波特率,数据字节持续发送。这个模式下,温度传感器不能用。


     二、PN532工作模式

     PN532的固件可以满足各种需要,待机模式、低电量模式、虚拟卡模式、发起者/PCD模式、目标/PICC模式。通过固件切换5种不同模式。或者根据内部的状态及主控器的命令切换模式。

 

2.1 目标/PICC模式

               PN532被配置成这个模式,或者ISO/IEC 14443-4卡模式



2.2、如果有目标卡被激活,PN532进入发起者或PCD模式。


       2.3 、ISO/IEC 14443-4 PICC竞争概念,不支持B类的PICC卡。


     三、主控器接口

系统的主控制可以和PN532交互通过SPI、I2C或者高速UART、通过16、17引脚来选择通信方式。


 如果用SPI接口,PVDD不接的话,需要使用LowVbat模式。

        P70_IRQ 引脚,PN532和控制器除了连接通信接口,还要连接一个IRQ引脚,当有命令的时候通知控制器。

    3.1、控制器(单片机)和PN532的交互

            单片机和PN532通过帧格式进行半双工通信,有4中帧类型,单向或者双向的。

    标准帧:命令从单片机到PN532、响应从PN532到单片机,最大传输255个字节。

        扩展帧:有效数据最多264个字节,少于255个字节也可以用这个帧。



       ACK帧:响应帧可能是单片机到PN532也可能是PN532到单片机。

  

         NACK帧:只能是单片机发给PN532,表示上一个回复帧接收没有成功,让PN532重传上一次数据到单片机。


           错误帧:PN532到单片机,通知单片机在应用层有错误发生。


     3.2、单片机和PN532的对话架构

   单片机给PN532发送命令,PN532给单片机一个响应,然后PN532执行命令,然后PN532返回给单片机一个         命令执行结果。单片机可以给PN532一个ack,也可以不给

            3.2.1、数据链路层交互: 


              3.2.2、单片机到PN532的链路层错误:如果PN532检测到了一个数据链路层的错误,它将不会给单片机回                         复ACK。


链路层几种可能的错误:LCS错误、高速串口的帧错误、DCS错误、高速串口的超时错误。

         3.2.3、PN532 到单片机发生在数据链路层的错误:单片机检测到 一个错误的响应帧,单片机给PN532发送一                   个NACK帧。


          3.2.4、终止退出:单片机可能给PN532帧强制PN532退出当前的进程,PN532不再进行后续处理不在响应单               片机,PN532开始等待一个新的单片机命令。


      3.3、应用层

  3.3.1、成功交换数据

单片机发送一个命令,然后到手一个响应。


         3.3.2、强制退出

单片机可以强制PN532退出有两种方法:发送一个ACK帧给PN532 (数据链路层的退出)、发送新的命令终止上一个命令的执行。  



           3.3.3、应用层错误

PN532检测到一个应用层的错误,返回一个语法错误帧给单片机。错误的原因:单片机发给PN532一个不               可知的命令、不符合规定的帧的长度、命令帧中不正确的参数。

               

      4、高速串口通信(HSU)

            PN532的HSU是一个全双工的接口,速度高达1.288M。PN532的RX引脚接收一个命令,TX引脚给控制器一        个响应。



                 PN532在收到命令后,必须在15ms以内进行响应ACK,如果单片机在15ms以内没收到ACK帧,单片机重   发相同的命令帧。

     5、握手机制

            单片机唤醒PN532或者PN532唤醒单片机。两个握手信号:PN532到单片机的是P70_IRQ引脚、单片机到                PN532的是H_REQ引脚。H_REQ引脚是可选的。

     6、命令

           帧结构包括了数据的类型和数量,INPUT:单片机发送数据到PN532,OUTPUT:PN532发送数据到单               片机。

                   命令可以用来将PN532配置成发起者或者目标卡。下表给出了“Command Code (cc)”,下表给出了单片              机到PN532的帧。


        RF 射频交互命令:

       列表中打“×”的表示PN532作为发起者或者目标可以使用的命令。

  





       6.1、错误解决

              交互的过程中,PN532会返回一个状态字节来表示RF交互是否成功。不成功的命令,只有状态字节被返回          到单片机。状态字节的bit6和bit7有特殊的意义。


             NADpresent 位通知单片机PN532响应帧的数据(InDataExchange或TgGetData)包含了一个NAD字节。

     MI位设置成1通知单片机PN532配置成目标卡从发发起者收到了数据。

    Error Code,错误类型,参看数据手册67页。

       6.2  命令详解

          6.2.1、诊断—— 诊断命令用来进行自我诊断


           语法错误原因:未知的NumTst,未知的测试号码。

   NumTst的定义参看手册第69页。

     6.2.2、得到固件版本号

       6.2.3、读寄存器的值—— 这个命令用来读PN532的SFR寄存器或者存储区的XRAM

      6.2.4 写寄存器

      6.2.5  读GPIO

      6.2.6  写GPIO

      6.2.7  设置串口波特率

  


      6.2.8、

InJumpForDEP    激活RF射频范围内目标卡进入Ready状态,使用IEC/IOS 18092 (DEP)的数据交换格式.            只能激活一个。

      6.2.9、InJumpForPSL   激活RF射频范围内目标卡进入Ready状态,使用PSL或者DEP的交换格式。

      6.2.10、InListPassiveTarget,主动模式下激活射频范围内的多张卡。





       6.2.11、数据交换—— PN532作为发起者或目标者进行数据交换







本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

NFC----PN532 的相关文章

  • 三天搞定射频识别技术(二)2.3寻卡防冲突选卡

    寻卡防冲突 功 能 寻卡 参数说明 req code IN 寻卡方式 0x52 寻感应区内所有符合14443A标准的卡 0x26 寻未进入休眠状态的卡 pTagType OUT 卡片类型代码 0x4400 Mifare UltraLight
  • 射频工程师笔记---射频通信基础

    文章更新或问题可关注本人公众号 回顾一下移动通信技术的发展 其实是互联网和通信技术的融合过程 在这个过程中 很多应用都在不断加入其中 比如计算机跟通信的融合产生了互联网 互联网跟手机的融合带来了移动互联网 手机可以看杂志 看视频 听音乐 于
  • I/Q信号

    当前的数字射频芯片 无一例外的用到了I Q信号 就算是RFID芯片 内部也用到了I Q信号 然而绝大部分射频人员 对于IQ的了解除了名字之外 基本上一无所知 I Q信号一般是模拟的 也有数字的比如方波 基带内处理的一般是数字信号 在出口处都
  • Arduino加速度计射频自动化系统

    该项目旨在设计基于加速度计的实验室自动化系统 该系统分为两部分 1 发送器部分和 2 接收器部分 对于该实验 考虑使用两个负载灯泡和风扇 图1给出了系统框图 物料清单 发送端 接收端 接线 发送端 接收端 原理图 代码 发送端代码 接收端代
  • 电子工程师必知必会——矢网史密斯Smith Chart圆图测试阻抗

    史密斯圆图是由很多圆周交织在一起的一个图 正确的使用它 可以在不作任何计算的前提下得到一个表面上看非常复杂的系统的匹配阻抗 唯一需要作的就是沿着圆周线读取并跟踪数据 本期视频贝贝就带大家学习矢网的史密斯圆图如何测试负载的阻抗 一起来学习吧
  • Arduino和LabVIEW射频灾害紧急报警系统

    该项目将在发生灾难时生成紧急警报 该系统分为两部分 传感器节点和 2 服务器 连接该开关阵列以在处理端生成紧急信号 然后将其发送到传感器节点 图1给出了系统框图 物料清单 接线 原理图 代码 传感器节点端代码 处理端代码 仿真模型 LabV
  • 原理图和PCB设计--EMC审查项(具体实施需结合公司实际项目做合理变更)

    原理图EMC设计检查要点 PCB EMC设计检查要点
  • Arduino和LabVIEW射频温度监控系统

    该项目将要设计使用RF调制解调器的温度监控系统 该系统分为两部分 1 发送器部分和 2 接收器部分 发送器部分包括Arduino Uno 电源 温度传感器 LCD和RF调制解调器 接收器部分包括Arduino Uno 电源 PC LabVI
  • 学习笔记:射频基础测试参数(S参数、OP1dB、IMD、NF)

    本篇非常表面的介绍了一些射频测试测量的基本参数 主要包括有S参数 OP1dB IMD NF等基础测试测量 只针对个人方便记录 目录 1 S参数 2 OP1dB 1dB压缩点 3 IMD 互调 IP3 3阶截获点 4 NF 噪声系数 1 S参
  • Arduino和LabVIEW射频校园火警系统

    该项目的目的是设计一个用于校园火灾警报的监控系统 该系统分为两个部分 1 发射器部分和 2 接收器部分 其方式是 它将在发射器部分的火灾传感器的帮助下感应周围的火灾 并与接收器进行通信 使用2 4 GHz RF调制解调器无线连接 在接收端
  • 三天搞定射频识别技术(二)2.4 S50卡原理

    M1卡 M1卡是谁 所谓的M1芯片 是指菲利浦下属子公司恩智浦出品的芯片缩写 全称为NXP Mifare1系列 常用的有S50及S70两种型号 属于非接触式IC卡 非接触式IC卡又称射频卡 成功地解决了无源 卡中无电源 和免接触这一难题 是
  • 射频中的 IM3、IIP3、OIP3、G、P1dB指标之间的关系

    噪声系数与非线性失真是描述射频系统性能优劣的两个重要指标 噪声 限制了系统所能处理的最低信号电平 非线性失真 限制了系统所能处理的最高信号电平 在非线性器件 放大器 混频器等 输入端 输入等幅度不同频率的双音信号 f1 f2 由于器件的非线
  • 射频功率放大器PA芯片选型

    一 功率放大器选型 下图示例一个PA的核心参数 从频率失真和非线性失真两个方面基本可以上述参数的含义及其作用 如频率范围 功率平坦度 S21等主要和频率失真有关 即不同频率信号所表现的增益和相位差值 以及该PA的适用频段 而输出功率 输出功
  • SX1278学习

    一 简介 采用扩频技术 接收灵敏度更高 用户自行决定扩频调制带宽 BW 扩频因子 SF 纠错率 CR 支持标准的GFSK FSK OOK GMSK调制模式 带宽范围7 8 500KHz 扩频因子6 12 137MHz 1020MHz 低功率
  • 每个工程师都应该知道的 5 个射频发射器测量指标(自NI官网翻译)

    概述 射频发射器是现代通信的重要组成部分 射频发射器由核心射频组件设计和组装而成 具有多种不同的形式和应用 我们经常想到无线通信中的射频发射器 但这个概念同样适用于有线应用 如有线电视 蜂窝电话 雷达 军事通信 航空电子设备 无线局域网 调
  • 一分钟带你快速认识S参数

    S 参数是SI与RF领域工程师必备的基础知识 大家很容易从网络或书本上找到S Y Z参数的说明 但即使如此 在相关领域打滚多年的人 仍然可能还是会被一些问题困扰着 你懂S参数吗 不懂的话 那么请继续往下看 S参数简介 S参数 也就是散射参数
  • NFC----PN532

    一 PN532简介 1 1 PN532由NXP出品 是一款高度集成的载波的13 56MHz传输模块 基于80C51内核有40KROM 1KRAM 使用不同的固件支持13 56MHz频段的无线协议 硬件接口 I2C SPI 高速UART HS
  • 【Cadence】virtuoso Layout复制版图链接到新的原理图

    稍微记录一下备忘 需求描述 1 假设cell1中含有schematic1和layout1 2 现复制cell1到cell2 3 修改cell2中的schematic2后 需要相应地修改layout2 4 如果打开layout2 会发现链接到
  • 【芯片驱动】2. CMT2300A配合硬件测试(灵敏度和发射功率)的软件实现

    前言 在开发一款无线射频产品的时候 软件是一部分 硬件也是一部分 而决定无线收发性能的 首先是硬件的匹配电路 然后才到软件部分的优化 一款无线射频产品 首先需要先决定是在那个频率范围内 当然是国家允许的范围内 然后硬件则需要在基于这个频点范
  • CMW500测试设置及问题处理

    测试CATM1需要打开eMTC Auto Mode 最新的U BLOX R510S模块 这里需要设置为RMC模式 设置为eMTC Auto Mode会出现连接后就断开的情况 没法测试 Measure subframe设置为5 不同的band

随机推荐

  • Retrofit源码解析三——对接口方法参数注解的处理

    private Nullable ParameterHandler result null if annotations null for Annotation annotation annotations 核心就是这一句 实际上就是把前面
  • Firefox意外的服务器响应,WebSockets的无法解决的“意外地得到了延续帧”错误(Websockets unresolva...

    我知道了 事实证明 我当初采用的代码放在一个NULL字符后的握手响应报头的新行后 我没有注意到这一点 它看起来像一个 浏览器移动所有所接收的WebSocket消息通过离开单个NULL字符在前一次的认证响应被处理的字符缓冲区 以及b 这不是一
  • 2020美赛E题解题思路方法:淹溺在塑料中

    自20世纪50年代以来 由于塑料的用途多种多样 如食品包装 消费品 医疗器械和建筑等 塑料制造业呈指数级增长 虽然有显著的好处 但与塑料产量增加有关的负面影响也受到关注 塑料制品不易分解 难以处理 只有大约9 的塑料被回收利用 1 每年大约
  • Git命令参考手册

    git init 初始化本地git仓库 创建新仓库 git config global user name xxx 配置用户名 git config global user email xxx xxx com 配置邮件 git config
  • [NOIP1998 普及组] 阶乘之和

    题目描述 用高精度计算出 S 1 2 3 n n 50 其中 表示阶乘 定义为 n n n 1 n 2 1 例如 5 5 4 3 2 1 120 输入格式 一个正整数 n 输出格式 一个正整数 S 表示计算结果 输入输出样例 输入 1 3
  • 华为机试题:HJ107 求解立方根(python)

    文章目录 1 题目描述 2 Python3实现 3 知识点详解 1 input 获取控制台 任意形式 的输入 输出均为字符串类型 1 1 input 与 list input 的区别 及其相互转换方法 2 print 打印输出 3 whil
  • MyBatis中Like模糊查询的几种写法和注意点

    目录 友情提醒 第一章 Mybatis中SQL语句的模糊查询 1 1 第一种方式 直接双引号拼接 1 2 第二种方式 数据库为MySQL时用CONCAT 函数 1 3 第三种方式 bind元素 友情提醒 先看文章目录 大致了解知识点结构 直
  • spring cloud alibaba 学习(三)Nacos-NacosNamingService初始化流程

    1 NacosServiceManager 的创建 Configuration proxyBeanMethods false ConditionalOnDiscoveryEnabled ConditionalOnNacosDiscovery
  • linux shell脚本

    微信可以设置雪花昵称了 真漂亮 一 Shell中有许多预定义的特殊字符 n n是一个数字 大于10则用大括号括起来 12 代表程序的第n个参数 总共有多少个参数 指所有的参数 指所有的参数 上次命令执行的返回值 注意 我们发现 和 的意思是
  • 计算机网络-04 网络路由

    第四讲 网络路由 给每次数据传输确定一个端到端的路径 通常是找到两点之间的最小代价路径 保存在路由器的转发表FIB中 基于分布式计算 网络模型用无向图表示 节点是网络设备 路由器 节点间链路是带权重的边 权重即链路开销 可以是延迟 拥塞程度
  • PHP: 深入pack/unpack

    PHP作为一门为web而生的服务器端开发语言 被越来越多的公司所采用 其中不乏大公司 如腾迅 盛大 淘米 新浪等 在对性能要求比较高的项目中 PHP也逐渐演变成一门前端语言 用于访问后端接口 或者不同项目之间需要共享数据的时候 通常可以抽取
  • 外部中断库函数

    外部中断 STM32外部中断简介 GPIO 跟中断线的映射关系 主函数讲解 外部中断初始化函数 STM32外部中断简介 STM32 的每个 IO 都可以作为外部 中断的中断输入口 这点也是 STM32 的强大之处 STM32F103 的中断
  • selenium浏览器驱动下载

    Chrome谷歌浏览器 下载地址 http chromedriver storage googleapis com index html 不同的Chrome的版本对应的chromedriver exe 版本也不一样 下载时不要搞错了 如果是
  • 升压BOOST电路和降压BUCK电路最容易的理解

    升压电路框图 首先在了解BOOST电路时 要学会如何分析最简单的升压电路框图 如图 首先识别每个元件基本功能 电感 储能i电感 MOS管 开关作用 二极管 续流 电容 储能电容 了解升压电路的原理 要明白Vout和Vin的差别 所以我们从V
  • Centos 7 - Anaconda3 安装教程及报错集锦 - 取消自动激活 base 环境方法

    目录 序言 1 报错 WARNING cannot verify mirrors tuna tsinghua edu cn s certificate issued by C US O Let s Encrypt CN R3 Issued
  • 人工智能之深度学习-初始环境搭建(安装Anaconda3和TensorFlow2步骤详解)

    Python微信订餐小程序课程视频 https edu csdn net course detail 36074 Python实战量化交易理财系统 https edu csdn net course detail 35475 前言 本篇文章
  • ubuntu16.04 编译ARM平台qt5.12.3

    环境 系统 ubuntu16 04 开发板 IMAX8 IMAX8交叉编译工具aarch64 linux gnu 编译步骤 1 配置交叉编译环境 sudo gedit etc bash bashrc 在最后一行加入交叉编译工具的bin目录
  • TypeScript 快速入门

    目录 第一章 快速入门 0 TypeScript简介 1 TypeScript 开发环境搭建 2 基本类型 3 编译选项 4 webpack 5 Babel 第一章 快速入门 0 TypeScript简介 TypeScript是JavaSc
  • 整数类型

    C 中提供的整数类型有三种 int long short 每种类型又分为有符号和无符号两种类型 有符号整数既可以表示非负整数 又可以表示负整数 但是 无符号整数不能表示负数 只能表示非负整数 一 无符号整数 在内存中 int整数通常占4字节
  • NFC----PN532

    一 PN532简介 1 1 PN532由NXP出品 是一款高度集成的载波的13 56MHz传输模块 基于80C51内核有40KROM 1KRAM 使用不同的固件支持13 56MHz频段的无线协议 硬件接口 I2C SPI 高速UART HS