1第七章RFID防碰撞技术一、教学内容的引入二、产生碰撞的原因三、防碰撞机制主要内容四、防碰撞算法2五、读写器防碰撞机制的实现2一、教学内容的引入多个文件箱同时通过闸门读写器,如何正确识别?3二、产生碰撞的原因在RFID系统应用中,因为多个读写器或多个标签,造成的读写器之间或标签之间的相互干扰,统称为碰撞。1什么是碰撞1、读写器碰撞2、标签碰撞2碰撞的类型43Data1Data5Data4Data3Data5Data4Data3Data2Data2Data1RFID数据碰撞示意图二、产生碰撞的原因TimeTime完全碰撞Time读写器TagATagB5tag1阅读器tag2tag3tag4tag5多标签碰撞二、产生碰撞的原因一个读写器的读写范围内有多个标签存在,发生通信冲突。64二、产生碰撞的原因Tag3Tag2Tag1Reader1Reader2多读写器一标签干扰标签1接收到的信息为两个读写器发射信号的矢量和,是一个未知信号。7如何解决碰撞的问题呢?三、防碰撞机制系统常用的反碰撞法有以下四种:空分多路法(SDMA)、频分多路法(FDMA)、时分多路法(TDMA)和码分多路法(CDMA)859RFID系统中防碰撞算法分类电子标签的低功耗、低存储能力和有限的计算能力等限制,导致许多成熟的防碰撞算法(如空分多路法)不能直接在RFID系统中应用。这些限制可以归纳为:(1)无源标签没有内置电源,标签的能量来自于读写器,因此算法在执行的过程中,标签功耗要求尽量低;(2)RFID系统的通信带宽有限,因此防碰撞算法应尽量减少读写器和标签之间传输信息的比特数目;(3)标签不具备检测冲突的功能而且标签间不能相互通信,因此冲突判决需要读写器来实现;(4)标签的存储和计算能力有限,这就要求防碰撞协议尽可能简单,标签端的设计不能太复杂。三、防碰撞机制三、防碰撞机制读写器Tag3Tag5Tag2Tag6Tag4Tag7Tag11、空分多路法(空间分割多重存取)(SDMA)利用空间分割构成不同的信道。如:在一颗卫星上使用多个天线,每个天线的波束射向地球表面不同区域。地面上不同地区的地球站,它们在同一时间,即使使用相同的频率进行工作,它们之间也不会形成干拢。空分多址(SDMA)是一种信道增容的方式,可以实现频率的重复使用,充分利用频率资源。106ReaderTagTagTag三、防碰撞机制分离的空间范围内重新使用确定的资源(通信容量)自适应SDMA,电子控制定向天线,天线的方向直接对准某个标签空分多路法的缺点是天线系统复杂,会大幅度提高成本。11三、防碰撞机制读写器Tag1Tag3Tag5Tag4Tag2阅读器广播命令阅读器读写区域f1f2f3f4f52、频分多路法(频率分割多重存取)(FDMA)将信道频带分割为若干更窄的互不相交的频带(称为子频带),划分后的每个子频带分给一个用户专用(称为地址)。127ReaderTagTagTagabcabc三、防碰撞机制把若干个使用不同载波频率的传输通路同时供给通信用户使用。频分多路法可将需要传输的每路信号调制到不同的载波频率上,传输过程中不同频率的各路信号不会相互干扰,缺点是每个接收通路必须有自已单独的接收器,阅读器的费用高。133、时间分割TDMAa’b’c’abcReaderTag1Tag2Tag3a’ab’bc’c三、防碰撞机制TDMA是把整个可供使用的信道容量按时间分配给多个同户的技术。1484、码分多路法三、防碰撞机制1516四、防碰撞算法1.RFID中防碰撞算法分类917四、防碰撞算法2、标签防碰撞算法RFID系统的标签防碰撞算法大多采用时分多路法,该方法可分为非确定性算法和确定性算法。非确定性算法也称标签控制法,在该方法中,读写器没有对数据传输进行控制,标签的工作是非同步的,标签获得处理的时间不确定,因此标签存在“饥饿”问题。ALOHA算法是一种典型的非确定性算法,实现简单,广泛用于解决标签的碰撞问题。确定性算法也称读写器控制法,由读写器观察控制所有标签。按照规定算法,在读写器作用范围内,首先选中一个标签,在同一时间内读写器与一个标签建立通信关系。二进制树型搜索算法是典型确定性算法,该类算法比较复杂,识别时间较长,但无标签饥饿问题。四、防碰撞算法1防碰撞的基本算法ALOHA18aloha[əˈloʊhə]int.夏威夷人问候语,欢迎,再见;ALOHA算法是一种随机接入方法,其基本思想是采取标签先发言的方式,当标签进入读写器的识别区域内时就自动向读写器发送其自身的ID号,在标签发送数据的过程中,若有其他标签也在发送数据,将会发生信号重叠,从而导致冲突。读写器检测接收到的信号有无冲突,一旦发生冲突,读写器就发送命令让标签停止发送,随机等待一段时间后再重新发送以减少冲突。1019(1)纯ALOHA(PureALOHA)法标签只要有数据发送请求就立即发送出去,而不管无线信道中是否已有数据在传输。它是无线网络中最早采用的多址技术,也是最为简单的一种方法。在RFID系统中,这种方法仅适用于只读标签(Readonlytag)。ALOHA系统所采用的多址方式基于TDMA,是一种无规则的时分多址,或者叫随机多址。用于实时性不高的场合。四、防碰撞算法20四、防碰撞算法纯ALOHA算法若读写器检测出信号存在相互干扰,读写器就会向电子标签发出命令,令其停止向读写器传输信号;电子标签在接收到命令信号之后,就会停止发送信息,并会在接下来的一个随机时间段内进入到待命状态,只有当该时间段过去后,才会重新向读写器发送信息。各个电子标签待命时间片段长度是随机的,再次向读写器发送信号的时间也不相同,这样减少碰撞的可能性。当读写器成功识别某一个标签后,就会立即对该标签下达命令使之进入到休眠的状态。而其他标签则会一直对读写器所发出命令进行响应,并重复发送信息给读写器,当标签被识别后,就会一一进入到休眠状态,直到读写器识别出所有在其工作区内的标签后,算法过程才结束。1121纯ALOHA算法纯ALOHA算法中的信号碰撞分两种情况:(1)一种是信号部分碰撞,即信号的一部分发生了冲突;(2)一种则是信号的完全碰撞,是指数据完全发生了冲突。如图所示,发生冲突的数据都无法被读写器所识别。四、防碰撞算法纯ALOHA算法通信量越大,碰撞的可能性也越大。主要特点是各个标签发射时间不需要同步,是完全随机的,实现起来比较简单。当标签不多时它可以很好的工作。缺点就是数据帧发送过程中碰撞发生的概率很大。经过分析,ALOHA法的最大吞吐率只有18.4%,80%以上的信道容量没有被利用。对于较小的数据包量,无线信道的大部分时间没有被利用,而随着数据包量的增加,标签碰撞的概率又会明显增加。22四、防碰撞算法1223四、防碰撞算法(2)帧时隙ALOHA法时间被分成多个离散时隙,电子标签必须在时隙开始处才可以开始传输信息。读写器以一个帧为周期发送查询命令,当电子标签接收到读写器的请求命令时,每个标签通过随机挑选一个时隙发送信息给读写器。若一个时隙只被唯一标签选中,则此时隙中标签传输的信息被读写器成功接收,标签被正确识别。若两个或两个以上标签选择了同一时隙发送,则就会产生冲突,这些同时发送信息的标签就不能被读写器成功识别。整个算法的识别过程都会如此循环,一直到所有标签都被识别完成。24四、防碰撞算法帧时隙ALOHA算法工作过程如下图所示。该算法的缺点是当标签数量远大于时隙个数时,读取标签的时间会大大增加;当标签个数远小于时隙个数时,会造成时隙浪费。1325一个典型的帧时隙ALOHA算法过程如下图所示。四、防碰撞算法在每一帧初始时刻,读写器发出请求指令,向标签提供帧长等信息。每个标签根据信息随机选择一个时隙向读写器发送信息。假设标签的序列号为4比特,在第一帧中,标签1和标签3选择了时隙1与读写器通信,标签2和标签4选择了时隙2。时隙1和时隙2都发生了碰撞,而标签5在时隙3中被读写器成功识别。第二帧中标签3和标签2被成功识别。如此循环直到所有标签被成功识别为止。帧时隙ALOHA法将时间划分为一段段等长的时隙,记为T0。规定数据帧只能在时隙的开始才能发送出去。如果一个时隙内只有一个站点到达,则该分组会传输成功;如果有多于一个的分组到达,将会发生碰撞。和纯ALOHA一样,发生碰撞后,各标签仍是经过随机时延后分散重发的。如果有许多标签处于阅读器的作用范围内,在最不利的情况下,经过多次搜索也可能没有发现序列号,因为没有唯一的标签能单独处于一个时隙之中而发送成功。因此,需要准备足够大量的时隙,这样做法降低了防碰撞算法的性能。26四、防碰撞算法14算法二进制树型搜索算法由读写器控制,基本思想是不断的将导致碰撞的电子标签进行划分,缩小下一步搜索的标签数量,直到只有一个电子标签进行回应。2二进制树型搜索算法树分叉算法27四、防碰撞算法冲突节点非冲突节点011011100101树分叉算法基本思想是:将处于碰撞的标签分成左右两个子集0和1,先查询子集0,若没有碰撞,则正确识别标签,若仍有碰撞则分裂,把1子集分成10和11两个子集,直到识别子集1中所有标签。28四、防碰撞算法15基于曼彻斯特编码信号的曼彻斯特(Manchester)编码可以让读写器准确地判断出数据碰撞的比特位置。曼彻斯特编码(ManchesterEncoding)-(摘自百度百科)也叫做相位编码(PhaseEncode,简写PE),是一个同步时钟编码技术,被物理层使用来编码一个同步位流的时钟和数据。它在以太网媒介系统中的应用属于数据通信中的两种位同步方法里的自同步法(另一种是外同步法),即接收方利用包含有同步信号的特殊编码从信号自身提取同步信号来锁定自己的时钟脉冲频率,达到同步目的。曼彻斯特编码,常用于局域网传输。曼彻斯特编码将时钟和数据包含在数据流中,在传输代码信息的同时,也将时钟同步信号一起传输到对方,每位编码中有一跳变,不存在直流分量,因此具有自同步能力和良好的抗干扰性能。但每一个码元都被调成两个电平,所以数据传输速率只有调制速率的1/2。2二进制搜索算法29四、防碰撞算法(2)曼彻斯特码每一位的中间有一个跳变,跳变既作为时钟,又作为数据。在半个位周期时的负跳变(即电平由1变为0)表示二进制“1”,正跳变表示二进制“0”。曼彻斯特码也是一种归零码。2.1数据编码(信源编码)(第六章)3016(1)REQUEST——请求(序列号)。此命令发送一序列号作为参数给射频卡。应答规则是,射频卡把自己的序列号与接收到的序列号比较,如果自身序列号小于或等于REQUEST指令序列号参数,则此射频卡回送其序列号给读写器。这样可以缩小预选的射频卡的范围;如果大于,则不响应。“识别”有多个标签----防碰撞指令规则所有接收到FAIL指令且内部计数器不等于0的标签计数器加1。所有接收到FAIL指令且内部计数器等0的标签将产生一个1或者0的随机数,如果是1,则标签计数器加1,如果是0,则标签计数器保持不变,并再次发送其识别码。(2)SELECT——选择(序列号)。用某个(事先确定的)序列号作为参数发送给射频卡。具有相同序列号的射频卡将以此作为执行其他命令(例如读出和写入数据)的切入开关,即选择这个射频卡。具有其他序列号的射频卡只对REQUEST命令应答。31四、防碰撞算法(3)READ-DATA——读出数据。选中的射频卡将存储的数据发送给读写器。“识别”有多个标签----防碰撞指令规则(4)UNSELECT——取消选择。取消一个事先选中的射频卡,射频卡进入无声状态,在这种状态下射频卡完全是非激活的,对收到的REQUEST命令不作应答。为了重新话化射频卡,必须先将射频卡移出读写器的作用范围再进入,以实行复位。32四、防碰撞算法17射频卡进入读写器的工作范围,读写器发出一个最大序列号让所有射频卡响应;同一时刻开始传输它们的序列号到读写器的接收模块。读写器对比射频卡响应的序列号的相同位数上的数。出现不一致的现象即有的序列号该位为0,而有的序列号该位为1把有不一致位的数从最高位到低位依次置O再输出系列号,即依次排