射频识别技术漫谈(24)——ISO15693的防冲突与传输协议
遵守ISO15693协议的电子标签都有一个8字节共64bit的全球唯一序列号(UID),这个UID一方面可以使全球范围内的标签互相区别,更重要的是可以在多标签同时读写时用于防冲突。8字节UID按权重从高到低标记为UID7--UID0,其中UID7固定为16进制的E0H,UID6是标签制造商的代码,例如NXP的代码为04H,TI的代码为07H;UID5为产品类别代码,比如ICODE SL2 ICS20是01H,Tag-it HF-I Plus Chip为80H,Tag-it HF-I Plus Inlay为00H。剩下的UID4-UID0为制造商内部分配的号码。
电子标签数量众多,应用范围极为广泛。为了区分不同行业中的电子标签,ISO用一个字节的AFI (Application family identifier)来区分不同行业中的电子标签。AFI的高半字节表示主要行业,低半字节表示主要行业中的细分行业。其中AFI=00H表示所有行业。需要注意的是并不强制要求电子标签支持AFI,电子标签是否支持AFI是可选的,在收到"Inventory"清点命令后,如果标签不支持AFI,则标签必须立刻做出应答;如果支持AFI,则只有收到的AFI与标签存储的AFI一致才做出应答。
15693国际标准还规定了一个字节的可选的数据存储格式识别符(DSFID),用来区分标签中不同的数据存储格式。如果标签支持DSFID,在清点命令中标签将返回一个非零的DSFID,读写器可据此判断射频场中的标签是否具有期望的数据格式。
电子标签的内存最大可达8K字节,以数据块(Block)为单位进行管理,标签内最多可以有256个数据块,每个数据块最大可以有32字节。数据块的内容可以锁定以防止修改。
读写器与标签之间的数据交流使用"命令-应答"的方式,如下所示:
命令:标志(Flags)+命令码(Command code)+参数(parameters)+数据(Application data)+校验(CRC16)
应答:标志(Flags) +参数(parameters)+数据(Application data)+校验(CRC16)
可见应答除了没有应答码之外,结构与命令码类似。每一条命令及其应答都使用CRC校验以保证数据的完整性。读写器可以发出一条请求后让射频场内的所有电子标签同时应答(Addressed mode),也可以指定一个电子标签应答(Non-addressed mode)。在Non-addressed模式下,可以使用两种方法指定一个电子标签,一种是命令中给出电子标签的唯一序列号UID,另一种是命令中不给出 UID,而是在之前的步骤中先选中一个标签,使其处于选中(select)状态,然后命令中指明仅要求处于选中状态的标签做出应答。
ISO15693电子标签的防冲突与ISO14443A中基于位的防冲突类似。其最根本的一点就是基于标签有一个全球唯一的序列号。因为序列号的唯一性,所以全球范围内的任意两个标签,其64bit的序列号中总有一个bit的值是不一样的,也就是说任意两个标签的序列号总有一个bit上一个是“0”,另一个是“1”。防冲突的过程可以1位1位的进行,也可以4位4位的进行。具体的原理参见位和时隙相结合的防冲突机制。
电子标签支持的命令可以分为强制(Mandatory)命令、可选(Optional)命令和用户(Custom)命令三种。强制命令和可选命令的功能和格式在标准中都有明确而详细的定义,用户命令则由标签制造商制定。
强制命令有两个:清点(Inventory)和保持静默(Stay quiet),标签必须支持。标签最基本的功能是可以通过防冲突送出一个标签识别号,这两个命令就是实现这个功能的。如果磁场中有多个标签,使用清点命令可以得到一个标签UID,然后使用保持静默命令使其休眠;然后再使用清点命令可以得到下一个标签UID,依次类推,从而实现对射频场中的所有标签实现清点轮询。
可选命令是否支持由标签制造商决定,可以分为以下4类:
1.对整个标签操作:选择(Select)、复位(Reset to ready)、读取系统信息(Get system information);
2.对标签数据块操作:读单块(Read single block)、写单块(Write single block)、锁数据块(Lock block)、读多块(Read multiple blocks)、写多块(Write multiple blocks)、读多块安全状态(Get multiple block security status);
3.对AFI操作:写AFI(Write AFI)、锁定AFI(Lock AFI);
4.对DSFID操作:写DSFID(Write DSFID)、锁定DSFID(Lock DSFID)。
射频识别技术漫谈(24)——ISO15693的防冲突与传输协议的更多相关文章
- 射频识别技术漫谈(23)——ISO15693的载波、调制与编码
射频识别技术中的通讯大多是主从式,主动方一般是读写器,被动方称为“卡片”或“标签”.到底是叫“卡片”还是“标签”,好像也没有严格的区分.习惯上可以从以下4个方面界定:一是形状,卡片通常体积较大,更像“ ...
- 射频识别技术漫谈(2)——国际标准【worldsing 笔记】
如果你只是智能卡的用户,通常可以不必关注国际标准,但作为智能卡的专业开发人员,则至少也要对相关标准有所了解.国际标准一般都是西方人制定的,原版都是英文的,而所谓中文版往往是对原版的直译,许多情况下并未 ...
- 射频识别技术漫谈(10)——识别号的格式变化【worldsing笔记】
从事RDID行业的朋友经常会遇到这样的情况,同一张ID卡,在不同厂家生产的读卡器上读出的识别号完全不一样,有时甚至差之千里.ID卡的识别号一般是在出厂时被固化在卡片的ROM里,本身是不会改变的,问题出 ...
- 射频识别技术漫谈(5)——防冲突【worldsing 笔记】
正常情况下读写器某一时刻只能对磁场中的一张射频卡进行读写操作.但是当多张卡片同时进入读写器的射频场时,读写器怎么办呢?读写器需要选出唯一的一张卡片进行读写操作,这就是防冲突. 防冲突机制是非接触式智能 ...
- 射频识别技术漫谈(6)——通讯协议概述【worldsing笔记】
通讯协议是通讯的双方或多方在交流时遵守的规矩,包括谁先发起通讯,先交流什么,后交流什么,一方如何问,另一方如何答等.在这里通迅的双方指的是读写器和卡片. 首先是谁先发起通讯,很显然有两种,读写器先发言 ...
- 射频识别技术漫谈(4)——数据编码【worldsing 笔记】
前已述及,射频识别技术中的调制方法一般使用调幅(AM),也就是将有用信号调制在载波的幅度上传送出去.这里的"有用信号"指用高低电平表示的数据"0"或" ...
- 射频识别技术漫谈(25)——Felica简介
Felica是SONY公司开发的射频识别技术,该技术使用的载波频率与ISO14443A和ISO14443B一样,都是13.56MHz,所以有人把它称为ISO14443C,但SONY并没有正式接受这样的 ...
- 射频识别技术漫谈(15)——Mifare1的安全性及7字节序列号M1卡【worlsing笔记】
Mifare1的安全性主要指卡中数据的安全性,要求卡中的数据不能被非法修改或窃听.数据的安全性主要使用加密技术来保证,加密技术有两个关键因素:加密算法和密钥.现代加密技术的一大特点是加密算法公开,如果 ...
- 射频识别技术漫谈(1)——概念、分类
现代社会智能卡已经渗透到生活的方方面面,公交卡.考勤卡.身份证.手机卡等等数不胜数. 智能卡按使用时是否和读卡器接触可分为接触式智能卡和非接触式智能卡,接触式智能卡上有6-8个触点,使用时插在卡 ...
随机推荐
- SPDY HTTP2.0
SPDY(读作“SPeeDY”)是Google开发的基于TCP的应用层协议,用以最小化网络延迟,提升网络速度,优化用户的网络使用体验.SPDY并不是一种用于替代HTTP的协议,而是对HTTP协议的增强 ...
- javascript操作JSON对象,增加 删除 修改
JS只能输入数字,数字和字母等的正则表达式 1.文本框只能输入数字代码(小数点也不能输入) <input onkeyup="this.value=this.value.replace( ...
- JAVA编译中拒绝访问的问题及解决方案
在java编译时出现,可以将C盘内的文件转移到其他盘,此问题可能是权限不足不能够读取C盘文件造成的. 文件名与类名要一致,包括大小写,也是要一致!
- A - 数塔
A - 数塔 Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Submit Statu ...
- Django Web开发【1】Django简介
前言 看完<Django Book>之后, 总想找个实例来实战开发下,无奈国内Django的书籍相当少,只能从英文书籍中吸取养料,偶然之后得到Learning Website Develo ...
- ubuntu-10.04的测试环境 安装测试 Coreseek开源中文检索引擎-Sphinx中文版
主要参考文档:http://www.coreseek.cn/products-install/install_on_bsd_linux/ 一. 32位版本: coreseek安装需要预装的软件: ap ...
- IOS 特定于设备的开发:处理基本方向
UIDevice类使用内置的orientation属性获取设备的物理方向.IOS设备支持这个属性的7个可能的值. >UIDeviceOrientationUnknown:方向目前未知. > ...
- Tensorflow tflearn 编写RCNN
两周多的努力总算写出了RCNN的代码,这段代码非常有意思,并且还顺带复习了几个Tensorflow应用方面的知识点,故特此总结下,带大家分享下经验.理论方面,RCNN的理论教程颇多,这里我不在做详尽说 ...
- 简单介绍一下ODI的几个基本概念
简单介绍一下ODI的几个基本概念 ODI的几个基本概念是本文我们主要要介绍的内容,接下来我们就开始介绍这一过程,一起来看看吧! 什么是资料库 ODI资料库可安装在任何支持ANSIISO89的数据库 ...
- ProFTPD 初探
ProFTPD:一个Unix平台上或是类Unix平台上(如Linux, FreeBSD等)的FTP服务器程序.