ISO15693协议的Inventory
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的更多相关文章
- 射频识别技术漫谈(24)——ISO15693的防冲突与传输协议
遵守ISO15693协议的电子标签都有一个8字节共64bit的全球唯一序列号(UID),这个UID一方面可以使全球范围内的标签互相区别,更重要的是可以在多标签同时读写时用于防冲突.8字节UID按权重从 ...
- 射频识别技术漫谈(23)——ISO15693的载波、调制与编码
射频识别技术中的通讯大多是主从式,主动方一般是读写器,被动方称为“卡片”或“标签”.到底是叫“卡片”还是“标签”,好像也没有严格的区分.习惯上可以从以下4个方面界定:一是形状,卡片通常体积较大,更像“ ...
- iso15693芯片读写工具套件 icode-slix2读写 nfc type 5 tag读写
iso15693芯片读写工具套件 icode-slix2读写 nfc type 5 tag读写校验套件 iso15693工具套件支持icode-slix,icode-slix2芯片的读写,支持iso1 ...
- RFID Hacking③:使用ProxMark3嗅探银行闪付卡信息
0×00 前言 RFID是Radio Frequency Identification的缩写,术语为射频识别,俗称电子标签.按照工作频率的不同,RFID标签可以分为低频(LF).高频(HF).超高频( ...
- 记录使用微信小程序的NFC和蓝牙功能读取15693芯片的开发历程
开发目标: (1) 对于Android手机,直接通过微信小程序调用手机的NFC功能,对15693协议的芯片进行读写操作: (2)对于苹果手机(及没有NFC模块的手机),通过微信小程序的蓝牙功能连接到蓝 ...
- Proxmark3命令帮助
Proxmark3命令帮助 目录 [隐藏] 1 使用技巧 2 help 主帮助命令(基于r830以及以下版本) 3 hw 硬件检测相关命令 4 data 图形窗口/缓冲区数据操作等命令 5 ...
- RFID编码
信号编码系统包括信源编码和信道编码两大类,器作用是把要传输的信息尽可能的与传输信道相匹配,并提供对信息的某种保护以防止信息受到干扰.信源编码与信源译码的目的是提高信息传输的有效性以及完成模数转换等:信 ...
- NFC芯片选型及基本电路框架
RFID作为一项专业度较高的技术,在一些公司,可能还会专门招聘专业的RFID工程师.本篇阐述的涉及到的只是基本选型设计.电路框架,关于RFID天线调试.低功耗检卡调试等,后续再其他篇章会继续更新! N ...
- 6.Swift协议|扩展|访问权限|异常调试|类型转换|运算函数|ARC|类类型初试化器|值类型初始化器
1. 协议(Protocol):与OC之间唯一不同的是Swift中的协议不管是属性还时方法全部是必须实现的 /** protocol*/ protocol FullNamed { /** 计算属性申明 ...
随机推荐
- Hard 计算0到n之间2的个数 @CareerCup
一种是Brute force,O(nlogn) 另一种是找规律O(n),见http://hawstein.com/posts/20.4.html 当某一位的数字小于2时,那么该位出现2的次数为:更高位 ...
- ECLIPSE里面SVN图标消失,文件状态不显示问题
ECLIPSE里面SVN状态图标消失,重新启动eclipse,重新导入工程也不能显示SVN状态图标.这多半是由于之前eclipse没有正常关闭引起的. 解决办法2个: 方法一:1. 在Window&g ...
- Android图片框架---Glide
Glide *** 使用* 一.添加依赖* compile 'com.github.bumptech.glide:glide:3.7.0'* compile 'com.android.support: ...
- jquery自定义插件来实现分页的效果
本节将介绍如何定义自己的jquery插入,实现分页效果,话不多说,.看看达到的效果: 分页插件 实现的代码例如以下: <!DOCTYPE HTML PUBLIC "-//W3C//DT ...
- Android 开源项目android-open-project解析之(三) ScrollView,TimeView,TipView,FlipView
九.ScrollView Discrollview 支持滚动时Item淡入淡出,平移,缩放效果的ScrollView 项目地址:https://github.com/flavienlaurent/di ...
- YYCache 源码分析(一)
iOS 开发中总会用到各种缓存,YYCache或许是你最好的选择.性能上有优势,用法也很简单.作者ibireme曾经对比过同类轮子:http://blog.ibireme.com/2015/10/26 ...
- 几句话实现导航栏透明渐变 – iOS
首先我们来看下效果 一开始当我们什么只设置了一张图片作为它的头部视图的时候,它是这样的 首当其冲的,我们先得把导航栏弄透明 那么我们首先得知道,设置navigationBar的BackgroundCo ...
- 进阶篇,第二章:MC与Forge的Event系统
<基于1.8 Forge的Minecraft mod制作经验分享> 这一章其实才应该是第一章,矿物生成里面用到了Event的一些内容.如果你对之前矿物生成那一章的将算法插入ORE_GEN_ ...
- rest-简介
一说到REST,我想大家的第一反应就是“啊,就是那种前后台通信方式.”但是在要求详细讲述它所提出的各个约束,以及如何开始搭建REST服务时,却很少有人能够清晰地说出它到底是什么,需要遵守什么样的准则. ...
- 动态的显示当前的时间---setInterval的用法
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...