ISO15693的Inventory指令看起来比较让人迷糊,想明白其流程,我认为以下几点是必须了解的:

  第一、ISO15693标签的几种状态,资料上有,这里罗嗦重复一下:

1.PowerOff状态

2.就绪态

3.静默态

4.选中态

其中选中态是可选的,而前三种是必须支持的。

  第二、卡片操作的几个概念:

1.寻址模式,所谓寻址模式,就是读卡设备每次操作卡片前必须带上该卡的UID(不要问我UID是什么,我会拍死你的)。  这就好比老师再给学生上课,老师喊起立,大家都站起来,如果老师喊某某某起立,那么其他人就不用站起来,只需要某某某站起来,读卡设备就像老师,而UID就像每个学生的学号。

  第三、指令域

  FLAG域 + Command域 + Parameter域 + Data域 + CRC校验域(这个一般不用软件处理,目前市场上的读卡设备其硬件都支持自动添加校验,用户只需要将初值配好即可)

防冲突的过程:

  1.发送Inventory命令,这时FLAG域的Address_flag位应设置为0,选slot16模式。

  2.没有接收到response时,发送EOF命令,切换到下一个slot。收到响应时,判断CRC校验位和冲突检测寄存器的值,同时出现CRC错误和冲突检测寄存器的值不为0时表示有冲突,如果冲突检测寄存器的值为0而CRC不为0可以断定为校验错误,去调调天线吧!

  3.由于卡片回送UID时是LSB优先回送,所以冲突寄存器的值一定是冲突发生的位(从右向左数),冲突寄存器的值就是MaskLength的值,冲突的位,有两种配置方法,每种配置方法其实都殊路同归,如果将冲突的位配置为1,那么防冲突首先选出的卡号将是所有参与防冲突指令的卡片中卡号发最大的,反之则是最小的,无论哪种都不影响最终结果。MaskValue的值就是从有至左一直到冲突位截至的字节数,不足一个字节的全部补0.

  4.重新发送Inventory命令,这次发送时需要将FLAG域的Address_flag置位1。即告诉VICC,与MaskValue值中由MaskLength确定的有效位相同的VICC回答,有冲突时继续。

  5.没有冲突时发送EOF并切换到下一个slot。直至slot16.

ISO15693协议的Inventory的更多相关文章

  1. 射频识别技术漫谈(24)——ISO15693的防冲突与传输协议

    遵守ISO15693协议的电子标签都有一个8字节共64bit的全球唯一序列号(UID),这个UID一方面可以使全球范围内的标签互相区别,更重要的是可以在多标签同时读写时用于防冲突.8字节UID按权重从 ...

  2. 射频识别技术漫谈(23)——ISO15693的载波、调制与编码

    射频识别技术中的通讯大多是主从式,主动方一般是读写器,被动方称为“卡片”或“标签”.到底是叫“卡片”还是“标签”,好像也没有严格的区分.习惯上可以从以下4个方面界定:一是形状,卡片通常体积较大,更像“ ...

  3. iso15693芯片读写工具套件 icode-slix2读写 nfc type 5 tag读写

    iso15693芯片读写工具套件 icode-slix2读写 nfc type 5 tag读写校验套件 iso15693工具套件支持icode-slix,icode-slix2芯片的读写,支持iso1 ...

  4. RFID Hacking③:使用ProxMark3嗅探银行闪付卡信息

    0×00 前言 RFID是Radio Frequency Identification的缩写,术语为射频识别,俗称电子标签.按照工作频率的不同,RFID标签可以分为低频(LF).高频(HF).超高频( ...

  5. 记录使用微信小程序的NFC和蓝牙功能读取15693芯片的开发历程

    开发目标: (1) 对于Android手机,直接通过微信小程序调用手机的NFC功能,对15693协议的芯片进行读写操作: (2)对于苹果手机(及没有NFC模块的手机),通过微信小程序的蓝牙功能连接到蓝 ...

  6. Proxmark3命令帮助

    Proxmark3命令帮助     目录 [隐藏]  1 使用技巧 2 help 主帮助命令(基于r830以及以下版本) 3 hw 硬件检测相关命令 4 data 图形窗口/缓冲区数据操作等命令 5  ...

  7. RFID编码

    信号编码系统包括信源编码和信道编码两大类,器作用是把要传输的信息尽可能的与传输信道相匹配,并提供对信息的某种保护以防止信息受到干扰.信源编码与信源译码的目的是提高信息传输的有效性以及完成模数转换等:信 ...

  8. NFC芯片选型及基本电路框架

    RFID作为一项专业度较高的技术,在一些公司,可能还会专门招聘专业的RFID工程师.本篇阐述的涉及到的只是基本选型设计.电路框架,关于RFID天线调试.低功耗检卡调试等,后续再其他篇章会继续更新! N ...

  9. 6.Swift协议|扩展|访问权限|异常调试|类型转换|运算函数|ARC|类类型初试化器|值类型初始化器

    1. 协议(Protocol):与OC之间唯一不同的是Swift中的协议不管是属性还时方法全部是必须实现的 /** protocol*/ protocol FullNamed { /** 计算属性申明 ...

随机推荐

  1. java内存不足

    -Xmx1024m -Xms1024m -XX:PermSize=128m -XX:MaxPermSize=512m ------------------------- 亲测可用

  2. Could not fetch https://api.github.com/repos/RobinHerbots/jquery

    使用 composer 安装YII2时, 如题所示提示, 原因是由于yii安装中, 需要有一些相关的认证[或许说是composer的认证], 如有如下提示 Could not fetch https: ...

  3. linux(centos)上配置nginx、mysql、php-fpm、redis开机启动<转>

    原文 http://levi.cg.am/archives/2925 I.nginx开机启动 在/etc/init.d/目录下创建脚本 1 vi  /etc/init.d/nginx 更改脚本权限 1 ...

  4. 在Linux上怎么安装和配置Apache Samza

    samza是一个分布式的流式数据处理框架(streaming processing),它是基于Kafka消息队列来实现类实时的流式数据处理的.(准确的说,samza是通过模块化的形式来使用kafka的 ...

  5. 解决zabbix图中出现中文乱码问题

    我这周部署了zabbix监控服务器,但是配置过程中发现当有中文时,图中的中文会变成方块 如下图所示: 这个问题是由于zabbix的web端没有中文字库,我们最需要把中文字库加上即可 解决办法如下 1. ...

  6. Sql语句 不支持中文 国外数据库

    由于老美的不支持中文 SQL 语句第一:字段类型改为nvarchar,ntext 第二:强制转化 N update dbo.Role set rolename=N'普通用户' update dbo.T ...

  7. 7-ajax的同步和异步?

    同步和异步统一根据send()执行的位置来实现分割逻辑同步:1.send()后统一不会被执行,直到http事务完成之后才会之后后续逻辑.2.堵塞send()方法的逻辑.异步:1.send()后面照样执 ...

  8. HTML 学习笔记

    1HTML 标题(Heading)是通过 <h1> - <h6> 等标签进行定义的. 并且只有这6种标题,标题中加多个空格,和一个空格没区别,标题文字前后加默认空格会被去除. ...

  9. Android 巧妙实现图片和文字布局

    之前写过一个博客是关于实现图片和文字左右或者上下布局的方法, 下面是博客的主要内容: 布局文件很简单,用来展示RadioButton的使用方法. 1 <?xml version="1. ...

  10. Python Function Note

    Python Function Note #汉诺塔问题Python实现 def my_move(n, a, b, c): if n == 1: print(a + ' --> ' + c) el ...