博客防碰撞算法.docx
- 文档编号:2467802
- 上传时间:2022-10-29
- 格式:DOCX
- 页数:14
- 大小:182.42KB
博客防碰撞算法.docx
《博客防碰撞算法.docx》由会员分享,可在线阅读,更多相关《博客防碰撞算法.docx(14页珍藏版)》请在冰豆网上搜索。
博客防碰撞算法
RFID防碰撞算法2012-02-0911:
40:
28
分类:
嵌入式
1.1防碰撞概述
RFID系统存在着两种不同的通信冲突形式。
第一种是标签冲突,是指多个标签同时响应读写器的命令而发送信息,引起信号冲突,使读写器无法识别标签。
第二种是读写器冲突,读写器冲突是指由一个读写器检测到由另一个读写器所引起的干扰信号。
这里主要对标签冲突进行陈述。
当读写器向工作场区内的一组标签发出查询指令时,两个或两个以上的标签同时响应读写器的查询,由于标签传输信息时选取的信道是一样的且没有MAC的控制机制;返回信息产生相互干扰,从而导致读写器不能正确识别其中任何一个标签的信息,降低了读写器的识别效率和识读速度,上述问题称为多标签碰撞问题。
随着标签数量的增加,发生多标签碰撞的概率也会增加,读写器的识别效率将进一步下降。
RFID系统必须采用一定的策略或算法来避免冲突现象的发生,将射频区域内多个标签分别识别出来的过程称为防冲突,或者防碰撞。
在RFID技术越来越普及的当代,很多应用场合都遭遇到碰撞问题,防碰撞技术已经成为RFID系统应用必须面临和解决的关键问题。
防碰撞问题主要解决的是如何快速和准确地从多个标签中选出一个与读写器进行数据交流,而其他的标签同样可以从接下来的防碰撞循环中选出与读写器通信。
1.1.1防碰撞研究现状
从技术方面来说,多标签防碰撞(Anti-collision)技术可以分为空分多路(SDMA)、时分多路(TDMA)、码分多路(CDMA)、频分多路(FDMA)这4种方法。
SDMA是在分离的空间范围内进行多个目标识别的技术,采用这种技术的系统一般是在一些特殊应用场合,例如这种方法在大型的马拉松活动中获得了成功。
FDMA是把若干个使用不同载波频率的传输通路同时供通信用户使用的技术,但读写器的成本高,因为每个接收通路必须有自己的单独接收器供使用,电子标签的差异更为麻烦。
CDMA是数字技术的分支—扩频通信技术发展起来的一种崭新的无线通信技术。
CDMA技术的原理是基于扩频技术,而用户具有特征码,即CDMA包含扩频(SS-SpreadSpectrum)与分码两个概念,缺点是频带利用率低、信道容量较小;地址码选择较难;接收时地址码的捕获时间较长。
其通信频带及其技术复杂性等很难在RFID系统中推广应用。
因此,对于射频识别系统来说,时分多路是最常见的技术。
1.1.2防碰撞发展趋势
根据时分多路的防碰撞技术及电子标签工作频段的不同,人们提出了不同的防碰撞算法。
总结为概率性防碰撞算法和确定性防碰撞算法两大类,其代表性算法分别为ALOHA法和二进制树形搜索法。
ISO/IECl4443协议定义了TYPEA、TYPEB两种类协议,分别推荐了基于二进制搜索思想和基于时隙ALOHA法两种不同的防碰撞算法。
而ISO/IECl5693协议采用的防碰撞方式是动态时隙ALOHA法,它借助电子标签的唯一序列号,实现对读写器天线磁场中的多个电子标签的查询。
ISO/IECl8000-6协议定义了TYPEA、TYPEB和TYPEC三种协议,也是分别采用的防碰撞方式是二进制搜索法和时隙ALOHA法。
之后有很多研究人员提出了基于这两种算法的改进算法。
基于时隙ALOHA的防碰撞算法在RFID技术中应用非常广泛,典型的如:
ISO/IECl8000-6C协议标准中采用的算法是基于ALOHA算法并且依照具体应用做了一定的改进,下面就以ISO/IECl8000-6的TYPEC中的时隙防碰撞理论为例作简要说明。
1.2ISO/IECl8000-6C协议的相关简介
在介绍ISO/IECl8000-6的TYPEC中的时隙防碰撞理论之前,有必要对ISO/IECl8000-6C协议(下文简称为:
6C协议)的相关概念及内容做介绍,以便对时隙防碰撞的理论原理有更好的理解。
目前RFID存在三个主要的技术标准体系:
总部设在美国麻省理工学院(MIT)的Auto-IDCenter(自动识别中心)、ISO标准体系以及日本的UbiquitousIDCenter(泛在ID中心,UIC)。
而EPCGlobal是美国统一代码协会(UCC)和欧洲物品编码协会(EAN)于2003年9月共同成立的非营利性组织,其前身就是1999年10月1日在美国麻省理工学院成立的非营利性组织Auto-IDCenter。
EPCGlobal针对电子产品编码(ElectronicProductCode)超高频(860~960MHz)射频识别系统制定了EPCGlobalGeneration2(简称Gen2)协议。
而ISO组织针对超高频射频识别应用制定了ISO18000-6系列标准。
2006年7月,Gen2空中接口协议被国际标准化组织接纳为ISO/IEC18000-6C标准(即6C协议的诞生),这意味着6C协议可在更广泛的范围内得以应用。
6C协议规定了在860MHz~960MHz的频率范围内操作的无源反向散射、读写器讲话优先(ITF)的射频识别系统要求。
下面就这些具体要求并结合防碰撞的内容作简要叙述。
1.2.1与防碰撞相关的术语及概念
R=>T(ReadertoTag):
读写器对标签。
T=>R(TagtoReader):
标签对读写器。
RNG(RandomNumberGenerator):
随机或伪随机数发生器。
RN16(RandomNumber16):
16位随机或伪随机数。
命令集:
用于读写器考察和修改标签的一套命令。
主要包括强制指令(包括Select,Query等)、任选指令、专利指令、定制指令等。
盘存周期:
连续发出的Query命令之间的时间。
Q:
读写器用以调节标签响应的可能性的参数。
在盘存周期中将Q-位随机(或伪随机)数载入其槽计数器的读写器命令标签。
读写器也可命令该标签使其槽计数器减值。
当槽计数器数值(槽)为零时,该标签做出回答。
Q为该范围内的整数,相当的标签响应可能性的范围是从2^0=1至2^15。
槽:
槽即标签可能响应的盘存周期内的某点。
槽为标签的slotcounter输出的数值。
当槽为零时(槽计数器中的数值),标签做出回答。
数据编码:
标签应将反射散射的数据编为该数据速率的副载波FM0基带或Miller调制。
读写器发出编码选择的命令。
FM0基带:
下图为生成FM0(两相空间)编码的基本功能和状态图。
FM0在每个边界倒转基带相位,数据-0有一个附加的中间符号相位倒转。
状态图描绘了所发送的FM0基本功能的逻辑数据序列。
S1-S4状态标记表明四种可能FM-编码符号,代表各FM0基本功能的两个相位。
这些状态标签还表示键入状态后即传输的FM0波形。
状态转换的标签表示被编码的数据序列的逻辑值
1.2.2与防碰撞相关内容
1.2.2.1与防碰撞有关的指令
6C协议标准含有的指令主要可以分为四种类型:
强制指令,任选指令,专利指令,定制指令。
而在读写器对标签进行操作的全部指令中与防碰撞有关的指令主要有:
Query、QueryRep、QueryAdjust、ACK、NAK这些指令均属于强制指令,也就是说只要是符合6C协议标准的标签和读写器都必须支持这些指令。
下面对每个上述指令进行解释:
Query:
开始并设定一个盘存的周期;设定T=>R的链路频率、数据速率和编码方式和调制模式等等。
使标签状态从就绪状态转换到仲裁状态。
QueryAdjust:
在一帧结束后,读写器对标签数目进行一个估计,然后以此估计将会得到合理的帧长度值,而QueryAdjust指令的功能就是把修改后的帧长度信息发送给标签。
QueryRep:
标签收到此指令后将使内部的计数器进行减1,如果结果为零的话,将被射RNl6给读写器,状态转到应答状态。
如果不为零的话,不反射信息给读写器,状态也维持不变。
ACK:
读写器发送ACK指令(包含参数RN16)对标签进行确认,如果RNl6正确,标签将回复EPC给读写器。
如果不对,标签将转换仲裁状态。
NAK:
读写器使用此命令将使不在就绪和杀死状态的全部标签回到仲裁状态,如果标签正好停在就绪和杀死的状态,那么标签将不响应NAK指令,维持在就绪或者杀死的状态。
1.2.2.2连接定时
如下图描绘了R=>T和T=>R的链路定时。
该图(未按比例绘制)规定了读写器(询问机)与标签群之间的相互通信过程。
下表显示了图中的定时要求,Tpri为T=>R的链路周期(Tpri=1/LF)。
读写器应在盘存周期期间采用固定的R=>T的链路速率,在改变R=>T链路速率之前,读写器应至少为8个RTcal传输连续波(CW)。
连接定时图
参数
最小值
典型值
最大值
描述
T1
MAX(RTcal,10Tpri)×(1-FT)-2µs
MAX(RTcal,10Tpri)
MAX(RTcal,10Tpri)×(1-FT)+2µs
从读写器发射到标签应答的时间(特别地,从询问发射的最后位的最后上升沿到标签应答的第一上升沿的时间),由标签天线终端处测得
T2
3.0Tpri
20.0Tpri
标签解调读写器信号所需的时间,由标签响应信号的最后位的下降沿到读写器发射第一个下降沿测得
T3
0.0Tpri
发送另一个命令之前在T1后的读写器等待时间
T4
2.0RTcal
读写器命令之间的最小时间
连接定时参数
注:
1.Tpri表示FM0符号的周期或单载波周期;RTcal表示读写器对标签的校准符号;LF表示链路频率(LF=1/Tpri)。
2.T2的最大值仅适用于在应答或确认状态下的标签。
对于在应答或确认状态下的标签,若T2结束(例如达到其最大值):
●标签没有收到有效命令,则该标签应转为仲裁状态。
●在接收有效命令期间,该标签应执行该命令。
●在接收无效命令期间,该标准应在确定该命令为无效命令后立即转为仲裁状态。
在其它状态下,T2的最大值不受限制。
3.读写器可以在间隔T2前(即在标签应答期间)传输新命令。
在这种情况下,不要求作出应答的标签解调或根据新命令作出响应,并可以加电复位。
1.2.2.3标签状态及转换图
所有满足6C协议标准的标签必须可以实现7个状态:
就绪状态、仲裁状态、应答状态、确认状态、开放状态、保护状态、灭活状态。
这7个状态中和防碰撞有关的四个状态分别是:
就绪状态、仲裁状态、应答状态、确认状态。
标签应执行如图所示的状态图。
标签状态图
注:
1.Select:
确认/取消确认SL或设置已盘标记到A或B。
2.Query:
若新通话与前通话匹配的话,则为A—>B或者B—>A,否则不改变已盘标记。
QueryRep/QueryAdjust:
若该通话事发前Query命令匹配的话,则为A—>B或者B—>A,否则该命令无效,标签忽略该命令。
3.Query启动新盘存周期,并可以改变通话;标签可以进入就绪状态、仲裁状态或应答状态
1.2.2.3.1就绪状态
标签应执行就绪状态。
就绪可以被视为通电标签被灭活或正参与某盘存周期的保持状态。
进入激励射频场后,未灭活的标签应进入就绪状态。
标签应保持其就绪状态直至收到其已盘参数(Query命令规定的通话的已盘参数)和sel参数(Query命令规定的通话参数表示选择与Query命令匹配的标签)与其当前标记值匹配的Query命令。
匹配标签应从其RNG中抽出Q位数,将该数字载入其槽计数器内,若该数字非零则转换到仲裁状态,若该数字为零则转换到应答状态。
若处于除被灭活之外任何状态的标签电源断电,则应在恢复电源后即返回就绪状态。
1.2.2.3.2仲裁状态
标签应执行仲裁状态。
仲裁可以被视为参与当前盘存周期但其槽计数器数值非零的标签的“保持状态”。
处于仲裁状态的标签每次收到其通话参数与当前盘存周期通话匹配的QueryRe
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 博客 碰撞 算法