1、1南 阳 理 工 学 院本科生毕业设计(论文)学院(系):计算机与信息工程学院专 业: 通信工程 学 生: 乔军惠 指导教师: 路新华 完成日期 2012 年 4 月2南 阳 理 工 学 院 本 科 毕 业 设 计(论文)RFID 二进制树防碰撞算法设计学 院(系): 计算机与信息工程学院 专 业: 通信工程 学 生 姓 名: 乔军惠 学 号: 104060820064 指 导 教 师(职称): 路新华(讲师) 评 阅 教 师: 完 成 日 期: 2012 年4 月 南阳理工学院Nanyang Institute of Technology3RFID 二进制树防碰撞算法设计【摘要】射频识别技术
2、 RFID是目前正快速发展的一项新技术,它通过射频信号进行非接触式的双向数据通信,从而达到自动识别的目的。随着 RFID 技术的发展,如何实现同时与多个目标之间的正确的数据交换,即解决 RFID 系统中多个读写器和应答器之间的数据碰撞,成为了限制RFID 技术发展的难题,采用合理的算法来有效的解决该问题,称为 RFID 系统的防碰撞算法。在各种算法当中,二进制树算法因为它识别应答器的确定性,成为了应用最广泛的一种,多个国际标准均对其进行了规定,这推动了防碰撞算法的发展,但是也带来了解决思路不统一的矛盾。在传统思路中,一般是通过单片机来进行算法处理,随着RFID 技术的发展,未来的一个重要方向是
3、现场可编程门阵列 FPGA,做为一种现场可编程的专用集成电路,FPGA 拥有高速度,可编程等多个适应于算法处理的优点,从而为 RFID 防碰撞算法问题开辟了新的有效途径根据上述分析,全文针对 RFID 系统二进制树防碰撞算法,进行了理论与实践方面的探讨,主要分为三个方面,首先是二进制树算法的理论研究,将现有的二进制树算法进行了归纳,汇总为基本算法,动态算法,退避式算法三类,阐述了各个算法的思路,对其进行了性能评价;其次,在现有的三类防碰撞算法的基础上,提出了一种新的改进型二进制树算法,该算法识别速度快,执行效率高,极大的改进了识别效果。【关键词】:射频识别;防碰撞算法;读写器;应答器;现场可编
4、程门阵列AbstractRFID is anewly developedtechnologywhich communicates through thecontact RF signal, so asto achieve objective automatic identificationAlong with the development of RFID technology,how to realize Data Exchange accurately amongMultiple Targets at the same time becomes the key problem of RFI
5、D technologyRFID anti-collision algorithm is the solution to the above mentioned problemsIn all the algorithms,binar y algorithm is most widely used as an international standard fbr its exactness ofidentincationInter national standards have put forward manyregulations on binary algorithmIt not onlyp
6、romotes the development of anticoUis ion algorithm,but also b“ngs the conflict to a unilFied solutionTraditionalideas in general are handled byMCUAlong with the development ofRFID technology,an imponant direction in the future is the field programmable gates arrayFPGAAs kindof integrated circuitstha
7、tcanbe programmed in the field,FPGA is fast and programmableAll these adVantagesopenup anewef active way ofRFIDanticolli sionarithmeticIn viewof the above problems,this paperprobes into the RFID systembinary prevent collisionfrom the perspectives ofboth theory and practiceIt canbediVided into three
8、aspects:6rstly,theoretica l researchon binary algorithmIt sums up all thebinary algorithms in being and gather to three categorys suchas Basic algorithm, Dynamic algorithm and Backoff algorithmMoreo Ver,it Expounds the idea of the various algorithms and evalues their perf6rmance; secondary,it introd
9、uces an improved version of algorithm onthe basis of specinc standardThis algorithm has fast recognition, high efnciency and greatly improved4the identification resultsKey Words:RFID ;Antic ollision;ReadWrite DeVices; Transponders;FPGA目 录1 引言 611 RFID 技 术简介 612 RFID 系 统 6121 RFID 系 统组成 6122 RFID 系 统
10、分类 7123 RFID 系统工作原理 813 RFID 技术现状及其 发展 8131 RFID 技 术应用 .8132 RFID 标 准统一化 9133 RFID 防 碰撞算法 914 课题提出的背景及其 意义 .915 本文的主 要工作 102 现有 RFID 二进制树防碰撞算法 1121 RFID 防碰撞算法概 述 .1122 RFID 二进制树防碰撞算法概述 .11221 基本概念 11222 性能指标 12223 算法分类 1323 基本二进制树防碰撞 算法 14231 算法思路 14232 实例演示 15233 性能评价 1724 动态二进制树防碰撞 算法 19241 算法思路 1
11、9242 实例演示 21243 性能评价 2225 退避式二进制树防碰 撞算法 22251 算法思路 22252 实例演示 24253 性能评价 2526 本章小结 253 改进型二进制树防碰撞 算法 .2531 涉及二进制树算法的 国际标准 25311 IS0 15693 25312 IS014 443 .2632 IS014 443 标准二进制树防 碰撞算法 .27321 基本概念 27322 算法思路 2833 改进型二进制树防碰 撞算法 325331 改进方向 32332 基本概念 32334 实例演示 3734 本章小结 394 FPGA 实现改进型二进制树防碰 撞算法 4041 F
12、PGA 技 术 .40411 FPGA 简 介 .40412 FPGA 设 计流程 .40413 FPGA 设 计工具 .42414 FPGA 设 计语言 .45415 TestB ench 验 证平台 4542 RFID 系统中的防碰 撞模块 .4643 FPGA 实现算法流程 .4644 曼彻斯特 解码模块 4745 命令处理 模块 50451 请求命令 处理 50452 防碰撞命 令处理 51453 选择命令 处理 53454 去选择命 令处理 5346 命令选择 模块 5347 数据存储 模块 5548 密勒编码 模块 5649 模块连接 57410 本章小结 .58结论 .58致谢
13、.6261 引言11 RFID 技术简介自动设备识别技术是目前国际上发展很快的一项新技术,英文名称为Automatic Equipment Identif ication,简称 AEI,它通过一些先进的技术手段,实现人们对各种设备在不同状态下的自动识别和管理【ll】 。目前,应用最广泛的自动识别技术大致可以分为光学技术和无线电技术两种,其中光学技术普遍应用于条形码和摄像两大类,而无线电技术在自动识别领域的应用更具体的名称为射频识别,英文名为 Radio Frequency Identification,简写为 RFIDI21。RFID 技术通过射频方式进行非接触的双向通信,达到自动识别的目的,
14、它源起于上世纪四五十年代,最初是基于雷达与微波理论的发展,自从上世纪九十年代以来,RFID 技术快速发展,得到了广泛的应用,进入新世纪后,各个国家,组织还有企业都加大了对 RFID技术的投入,生产了大批相应的产品,在多个领域有了成功的应用案例。RFID 被誉为二十一世纪的十大战略性产业之一,可以预想,未来 RFID 技术的发展空间是无限广阔的。12 RFID 系统121 RFID 系统组成根据实际应用环境,RFID 系统结构有多种不同分法,一般来说,一个典型RFID 系统包括三个部分:前端信息载体,数据交换环节,后端应用环境【3】 。在具体应用中,前端信息载体有多个名称,如标签(Tag),智能
15、标签(Smart Labels),射频卡(RF Card)等,本文建议采用应答器 (Transponder)这种更具普遍意义的说法。在 RFID系统中,应答器放置在待识别的物体上,它内部存储的信息表征着该物品的独一性。通常来说,应答器由耦合元件和微电子芯片组成,主要电气性能为工作频率,读写能力,数据传输率,信息数据存储量,防碰撞能力,信息安全性能等,应答器的分类也是以这些性能为依据的,例如根据存储器可将应答器分为 EEPROM,FROM(铁电存储器),SRAM(静态随机存储器),根据信息注入方式可分为集成电路固化,现场线改写,现场无线改写,根据电源供给方式分为无源,半无源,有源。一般来说,应用
16、最广泛的是无源+集成电路固化+静态随机存储的应答器。由于在 RFID 系统中,应答器是大规模生产的。应答器的典型产品有 TI 公司的 6000 系列,Philips 公司的ICODE 等。数据交换环节即 RFID 系统中的读出写入设备,它是系统的核心部件,是后端应用环境和前端信息载体的数据通道,在实际应用中,往往被称为查询器,扫描器,阅读器,编程器等,本文建议采用读写器(ReadWrite Device)这种更具普遍意义的说法,这样既包括了从应答器中读出信息,同时也包括了向应答器中写入信息。根据天线与读写器模块的分离与否,读写器可以分为分离式和集成式,但无论哪种读写器,其基本结构都是类似的,从
17、硬件部分来说,典型的读写器7由三块组成:射频通道模块,控制处理模块,天线。后端应用环境主要完成数据信息的存储及处理,它实质上就是一个数据管理系统,也是一个全局控制系统,一般由 PC机或者工作站组成,同时也包括了应用软件在内,整个后端应用环境负责接收来自读写器的数据,并进行存储以及相应的处理,协同调节多个读写器的工作,该部分在应用中常称为中间件(Savant),它扩展了 RFID 系统的应用范围和应用能力,是未来 RFID 系统智能化,大型化发展的有力技术支撑,是 RFID技术发展的重要方式。微软公司近年来也介入了RFID 技术领域,所瞄准的就是 RFID系统后端应用的相关软件和服务。综上所述,
18、一个典型的RFID 系统的组成如图所示:图 1.1 RFID 系统组成122 RFID 系统分类RFID 系统依据不同的标准,可以分为很多类别,各个不同的RFID 系统,在工作方式和应用范围上,有着各自不同的特点,在应用时要根据实际需要来选择。几种典型的分类方式如下所示:根据作用距离的远近,RFID 系统可以分为如下三个方面:(1)密耦合:典型的作用范围为 0lcm。(2)遥耦合:典型的作用范围为 lcm1m。(3)远距离系统:典型的作用范围为 l10m。根据工作频率的大小,RFID 系统可以分为如下四个方面:(1)低频:30300KHz,典型应用为134KHz。(2)高频:330MHz,典型
19、应用为1356MHz(3)超高频:300MHz58GHz,典型应用为24G。(4)混频:多个频率的混合使用,典型应用为134KHz+430MHz。根据应答器供电方式,RFID 系统可以分为三个方面:(1)无源系统:由读写器负责给应答器供电。(2)半无源系统:应答器内的电池仅做辅助作用。8(3)有源系统:应答器内置电池负责供给工作电压。123 RFID 系统工作原理RFID 是一门多学科综合技术,涉及到电磁场理论,数字电路,模拟电路,无线电广播,通信原理等多方面知识RFlD 系统中,读写器将要发送的信号调制到载波上,经由射频通道,通过天线发送出去,应答器上的电压根据载波的变化而变化,将该电压信号
20、进行整流和滤波后,得到解调后的数据,这是下行链路的过程,应答器传输的数据的变化控制应答器天线上负载电阻的通断,从而促使读写器天线上电压的变化,从而实现了数据的上行链路传输。在数据的双向传输过程中,是通过电磁场的相互感应来实现的,该过程也可以用变压器的模型来予以参考。同时,根据 RFID 系统的不同,在供电方式上有无源或者有源,调制方式上有幅度调制或者相位调制,数据读取上有电感耦合或者反向散射等区别【5】 。13 RFID 技术现状及其发展131 RFID 技术应用做为一种新兴的自动识别技术,RFID 近年来发展很快,在国内国外都取得了广泛的应用,主要体现在以下几个领域【6】 。(1)物流管理
21、物流管理是RFID 技术最具应用前景的领域,近年来提出了一个物联网的概念,意在将全球所有的物品信息都用唯一的电子代码来表示,从而将这些物品都联系在一起,可以随时随地的识别,追踪,管理这些物品,最终在产品,用户,企业和政府之间建立但是该应用涉及到的方面太广,技术难度很大,目前还在研究当中。(2)身份识别利用 RFID 技术,将应答器嵌入到身份证,护照等各种证件当中,甚至植入动物皮毛,用来跟踪和识别目标。这方面应用的典型例子是我国目前实行的二代身份证,它基于 ISOIEC14443 标准定义的 TYPE B 类型卡。RFID 在身份识别方面的主要问题是频段的局限性,一般使用的是 l35KHz 和
22、1356MHz的工作频率,这是因为过高的频段容易带来对人体有害的电磁辐射。(3)防伪应用应答器在防伪应用中有识别快速,伪造难,成本低等优点,再加上安全认证和加密功能,就可以大大提高伪造的难度和成本,同时,在识别的时刻,可以通过读写器的快速阅读功能,在瞬间得出所有物品的信息,并加以记录和处理。目前在日本和欧洲已经有了类似的应用。(4)交通管理交通管理是RFID 最先应用的领域,目前已经拥有了成熟的技术,它利用了应答器便捷快速识别,可靠性高,安全性强的特点,目前主要应用范围是电子车票,高速公路收费等方面,在我国深圳,基于 RFID 技术的高速公路收费系统已经得到了成功的应用。RFID 技术的应用远
23、不止以上提及的四个方面,它在诸9如生产线自动化管理,门禁系统,新生婴儿防错管理,地理信息标识等多个方面都有着广泛应用,可以毫不夸张的说,RFID 技术有着良好的发展前景,它孕育的经济效益将是超乎想像的。132 RFID 标准统一化RFID 最初是各个厂家在各自的独立标准下开发出来的,缺乏统一的规范,因此制约了该项技术在大规模系统中的应用,随着 RFID 技术的发展,参与到其中的国家,组织,企业也越来越多,目前形成了国际标准化组织 ISO,泛在 ID中心 UID,全球电子产品代码管理中心 EPC三大标准体系,这些标准涉及到RFID 系统的物理结构,通信协议,防碰撞算法,应用系统接口协议等等多个方
24、面的内容,它们针对不同的频率,基于不同的工作原理,甚至在同样的应用背景下也有着巨大的协议上的区别。而要建立一个全球互联的 RFID产品网络,实现 RFID 技术的飞跃发展,就必须解决标准不统一的难题,近年来,随着 RFID技术的应用越发广泛,有识之士都意识到并着手解决这个问题,目前主要有两种思路,一是生产出适应于不同标准,多制式兼容的 RFID产品,二是制定一个统一的RFID 硕十学位论技术标准。但是 RFID 本身的技术难度,以及标准带来的经济利益的冲突,使得该目标实施起来非常困难。由此可见,标准统一化问题的重要性与困难性是并存的,这将是一个任重而道远的过程。133 RFID 防碰撞算法随着
25、 RFID 技术的发展,多目标识别成为了一个很重要的应用方向,特别在目标跟踪,物品识别,访问控制等操作中,利用 RFID 技术,对附着在不同目标上的应答器快速可靠的进行识别,从而大大提高了定位的精确度,管理的自动化促进了整个产业链的发展。因此,如何保证迅速快捷,又安全可靠的同时识别多个目标,就成为了 RFID 技术发展的关键性技术。在 RFID系统中,当工作范围内同时出现了多个读写器和多个应答器时,读写器与读写器之间,应答器与应答器之间的相互干扰,称 RFID系统发生了碰撞【7】 ,从而导致数据不能正确的传输,信息无法得到正确的读取,一方面影响了产品的识别,另一方面还可能导致信息的泄露。在全球
26、信息安全意识广泛普及的背景下,可靠的安全机制成为了RFID 技术发展的关键性制约因素,如何有效的解决 RFID 系统的碰撞问题,成为了技术的关键,对此就需要采用一定的防碰撞算法来对其进行处理。目前关于防碰撞算法的研究还在进行当中,理论成果已经得出了很多,许多国际标准也对一些成熟的算法进行了规定,但是无论在理论效率还是实际应用上,都还存在很大的改进空间。14 课题提出的背景及其意义早期的 RFID 技术很少涉及到防碰撞问题,而在近年来,随着 RFID 技术的发展,应用范围的扩大,使得防碰撞问题日益成为制约 RFID 发展的关键技术,原因有两个,首先,早期的 RFID 一般是近距离感应耦合式系统,
27、其操作频率功10率普遍较低,读取的速度慢,范围小,所以也较少有发生碰撞的可能,而目前RFID 应用中多目标识别成为了主流方向,这就要求实现在多个物品中正确的识别出单个目标;其次,早期的 RFID 应用没有统一的规范,各个厂家的RFID 产品也仅是应用在单个的系统当中,不存在碰撞的可能,而近年来 RFID 应用迅速发展,各个不同 RFID 制造商的产品之间的不兼容,也带来了碰撞问题。总之,由于多目标识别应用的需要,RFID 系统防碰撞问题成为了关键技术,为了解决碰撞,可以从硬件和软件两方面着手,由于 RFID 系统的大规模应用限制了成本,所以,硬件实现是不实际的,因此就需要采用一定的防碰撞算法来
28、予以解决。依前所述,RFID 系统碰撞主要有两种情况,读写器碰撞和应答器碰撞,读写器碰撞是一个应答器同时收到不同读写器发出的命令,应答器碰撞是一个读写器同时给不同应答器发送命令。在实际的应用当中,应答器由于其低成本的优越,从而得到大量的生产,而读写器往往是固定在系统的某处,来识别多个应答器,所以碰撞的主要情况是应答器碰撞,即一个读写器的工作范围内同时出现了多个应答器,并且对该读写器发出的命令同时予以响应,从而导致读写器无法正确的识别出一个应答器,称该现象为发生了应答器碰撞。解决碰撞的过程相应的被称为防碰撞,如前所述,该防碰撞过程主要从软件的角度来予以解决,称为防碰撞算法【8】 。在上述前提下,
29、基于应答器的确定型二进制树防碰撞算法是目前最好的一种选择,对其进行研究,是最有实际应用价值的,所以,本文将对其进行理论分析与具体实现,在研究过程中,注重与新一代智能 RFID 系统的结合,应用拥有强大功能的 FPGA(FieldProgrammableGateArray)做为算法运行的微处理器,这种思路将是未来 RFID 技术发展的重要方向,RFID 技术中的关键算法与先进的电子技术FPGA 的结合,将为 RFID 技术的应用拓开广阔的前景。15 本文的主要工作本文将在 RFID 技术的前提下,结合当前数字电路设计的主流思路,重点研究 RFID 的关键技术防碰撞算法,并主要着眼于其中基于应答器
30、的确定性算法,即二进制树防碰撞算法,在理论分析的基础上,对其进行具体实现。基于上述考虑,论文将分四章来予以讲述,文章结构与内容安排如下:第 1 章:绪论。系统的介绍了 RFID技术,描述了典型RFID 系统的结构组成,提出了 RFID 系统的分类思想,讲述了 RFID 系统的工作原理,以及其应用范围,重点强调了RFID 技术的现状和所面临的主要问题,由此体现了研究 RFID 关键技术防碰撞算法的意义,明确了本文的主要研究内容。第 2 章:现有 RFID 二进制树防碰撞算法。概要性的描述了 RFID 防碰撞算法,对其进行了分类,重点介绍其中的二进制树防碰撞算法,研究了三种最基本的二进制树算法,对
31、其进行了原理阐述,性能分析,以及实例演示。第 3 章:改进型二进制树防碰撞算法。二进制树防碰撞算法在多个国际标准中均有规定,基于 IS014443标准的 TYPEA 是其中的一个典型例子,本章首先介绍了涉及到二进制树防碰撞算法的几个标准,其次详细研究了 ISOl4443标准对二进制树防碰撞算法的规定,最后提出了在此基础上的改进算法,这也是本章的重点。第 4 章:FPGA 实现改进型二进制树防碰撞算法。FPGA 技术是目前数字电路11设计的主流思路,利用 FPGA 做主处理器,是 RFID技术发展的方向,本章探讨了这一想法,介绍了 FPGA 技术的相关要点,并应用 FPGA,实现了改进型二进制树
32、防碰撞算法。2 现有 RFID 二进制树防碰撞算法21 RFID 防碰撞算法概述RFID 系统的数据通信双方是读写器和应答器,在实际的 RFID 系统工作时,可能会出现同时多个读写器和多个应答器共存的情况,毫无疑问,此时系统的数据交换就会出现信道与时序上的重叠,也就是发生了碰撞,在多个读写器与多个应答器的射频识别系统中,存在着两种形式的冲突方式,一种是同一应答器同时收到不同读写器发出的命令,另一种是同一个读写器同时收到多个不同应答器返回的数据,前者我们称为读写器碰撞,后者称为应答器碰撞【9】 ,在实际应用当中,一般是读写器做为主设备,来识别多个应答器,所以发生读写器碰撞的应用场合是不多的,因此
33、下文将着重研究应答器碰撞。在上述前提下,有两种类型的通信方式,一种是读写器发送的数据同时被多个应答器接收,称为“无线广播” ,另一种是多个应答器的数据同时传送给读写器,称为“多路存取” ,两者都是无线电技术中长期面临的难题,同时也发展出一系列相应的解决思路,一般来说分为四种,即空分多路(SDMA),码分多路(CDMA),频分多路(FDMA),时分多路(TDMA),从 RFID系统的通信形式、功耗、系统复杂性以及成本多方面综合考虑,时分多路法是最有实际应用价值的,它也是目前RFID 防碰撞算法应用中最广泛的一类,时分多路法的基本思想是把整个可供使用的通路容量按时间分配给多个用户,从而达到在不同时
34、隙将各个应答器一一识别出来的目的【11】 。时分多路法按照能量的供给者可以分为两大类,一类是应答器驱动型,另一类是读写器驱动型,这也正是对应了第一章中 RFID系统分类思路中的有源系统和无源系统,根据实际应用情况,无源系统是应用最广泛的一类,所以下文重点研究读写器驱动型的时分多路法。在该类读写器驱动型时分多路法中,目前最常用的防碰撞算法有两种,一类是基于时隙ALOHA 的统计型算法,另一类是基于二进制树的确定型算法,统计型算法的意义是在一定的时隙范围内,系统有可能识别出所有应答器,确定型算法的最大优点是,在一定的时隙范围内,系统一定可以将所有的应答器一一识别出来【13】 。从应用的角度来说,正
35、确有效的识别是实际所需要的,因此下文将着重于二进制树防碰撞算法的研究。22 RFID 二进制树防碰撞算法概述221 基本概念在 RFID防碰撞算法中,二进制树算法是目前应用最广泛的一种,之所以称12为“二进制树” ,是因为在算法执行过程中,读写器要多次发送命令给应答器,每次命令都把应答器分成两组,多次分组后最终得到唯一的一个应答器,在这个分组过程中,将对应的命令参数以节点的形式存储起来,就可以得到一个数据的分叉树,而所有的这些数据节点又是以二进制的形式出现的,所以称为“二进制树” 。为了便于描述算法,声明一些基本概念如下:首先,在 RFID系统当中,每个应答器都是独一无二的,它们的独立性通过唯
36、一的自身序列号来体现,该序列号在不同的标准中有不同的名称,如 EPC 标准中称其为电子产品代码 EPC,即英文 ElectronicProduct Code 的缩写,IS014443 标准中称其为唯一标识码 UID,即英文 Unique Identmer 的缩写【15】 。事实上,这些都是对应答器序列号的名称描述,因为下文涉及到的防碰撞算法是普遍意义上的,既包括了 EPC 标准中的规定,也包括了 ISO 标准中的规定,因此在本文对普遍意义上的防碰撞算法的描述过程中,统一用序列号 SN(SerialNumber)来描述上述概念,同时,序列号的长度,格式,以及编码方式也是各个标准各自差异的,为了说
37、明的便利,统一定义为8 位长度的二进制码。如图 21 所示。图 21 应答器序列号数据格式读写器与应答器之间进行数据交换时,往往要传输序列号的部分或者全部位,此时的传输顺序定义为:先发送低位,再发送高位。在读写器或者应答器内部,对数据进行比较时,遵循这样的原则,即按位依次比较,先比较低位,再比较高位,约定 01,根据这个比较顺序,在判断大小时,低位数据优先,即两数 A,B 相比较,从低位开始的第一个不相等位的大小决定了两数的大小,只有当两个数的全部位均相等时,两数才相等。222 性能指标定义碰撞解决时期 CRI,即 Collision Resolution Interval【16】 ,即解决一
38、个读写器工作范围内碰撞所需要的时隙数,对二进制树算法的评价,一些常用的性能指标如下所示【17】:首先是算法执行效率 ,定义如下:在算法执行过程,一共个时隙 ,识别了 n 个应答器,则 =n/ 表示算法的执行效率。分析如下:n=l,显而易见,在第一个时隙内不发生碰撞,可以成功识别该应答器, =1。n2,由于应答器序列号的唯一性,将有碰撞发生,在一个时隙内发生碰撞的概率 p 是一个随机事件,在 n 个应答器信息包中i 个发生碰撞的概率为:13给出 i 个碰撞,则 CRI 的长度为:其中 1 是 n个信息包最初的一个时隙, 是 i 个碰撞的顺利传输的时隙,是 n-i 个无碰撞传输的时隙。由上式可知,
39、 是逐渐递归的,通过递归可得:根据式(2.3),上式可化为:由此可见, 是关于 p 的函数,则 =n/ 也是关于 p的函数,一般情况下,可以参考二项分布,将 p 取为 12。算法的第二个重要的性能指标是稳定性,显然,基于 TDMA 的二进制树防碰撞算法是沿着时间轴线来执行协议的,有一系列的碰撞解决时期 CRI,定义一个随机变量 ,表示第 k 个CRI 的长度,这些 形成一个马尔可夫链(Markovchain),因为第个 C RI 的长度由它开始的第一个时隙传输的信息,也就是在 k个 CRI 区间内到达的信息包决定的,所以,如果马尔可夫链满足遍历性分布,那么这个系统就可以说是稳定的。马尔可夫链遍
40、历性分布要满足下列两个条件【18】:这里有:也就是 n 个信息包从发生碰撞开始传输的 CRI 区间长度的数学期望,是在一个时隙内到达这个系统信息包的期望值,该过程属于泊松过程【l9】 。一般来说,在二进制树防碰撞算法中,系统都能够满足马尔可夫链的两个遍历性分布条件,即作为一种确定型的算法,二进制树防碰撞算法是稳定的。算法的第三个重要14性能是系统通信复杂度,显而易见,系统的通信双方是读写器与应答器,则通信复杂度也应该从这两方面着手考虑,即读写器与应答器各自发送的数据位的位数。该指标的评价标准是基于能量消耗的角度的,即发送的数据信息量越少,则整个系统消耗的能量也越少,这显然是一个理想的效果。22
41、3 算法分类在基本的二进制树搜索算法的基础上,有多种形式的二进制树搜索算法,它们之间主要的区别在于命令的数据形式,主要有两点。(1)命令参数是1bit 数据,还是多 bit 数据。(2)命令参数长度是固定的,还是变化的。图 22 是一个二进制树搜索算法的分类图,在基本二进制树的基础上,按照命令参数分为 1bit 和多 bit,根据传输的命令参数的长度分为定长二进制树和动态二进制树两种,根据二进制树遍历时是一轮前进到底的还是退避返回的分为前进二进制树和退避二进制树两种。需要说明的是,这只是一个大略的分类法,主要目的在于说明二进制树分类的基本原则。事实上,分类所得的这些算法中也有互相重合的,如动态
42、二进制树算法既可以采用前进思路,也可以采用退避思路。另外,在具体应用时,可能还存在多种不同的说法,如 lbit长二进制树中还有修正二进制树 MBBT,加强二进制树 EBBT等区别【20】 。图 22 二进制树算法分类23 基本二进制树防碰撞算法231 算法思路定义两个具有普遍意义的命令来描述算法:(1)请求命令 Request(SN):该命令携带一个参数 SN,应答器接收到该命令,将自身的 SN 与接收到的 SN 比较,若小于或者等于,则该应答器回送其 SN给读写器。注:Request(SN)初始值设为Request(11111111)。(2)休眠命令 Sleep(SN):该命令携带一个参数
43、SN,应答器接收到该命令,将自身的 SN 与接收到的 SN 比较,若等于,则该应答器被选中,进入休眠状态,15也即是不再响应 Request 命令,除非该应答器通过先离开读写器工作范围再进入的方式重新上电,才可以再次响应 Request 命令。基本二进制树算法的流程图如图 23 所示:图 23 基本二进制树算法流程基本二进制树算法的步骤如下:(1) 应答器进入读写器工作范围,读写器发出一个最大序列号,所有应答器的序列号均小于该最大序列号,所以在同一时刻将自身序列号返回给读写器。(2) 由于应答器序列号的唯一性,当应答器数目不小于两个时,必然发生碰撞发生碰撞时,将最大序列号中对应的碰撞起始位设置
44、为 O,低于该位者不变,高于该位者设置为 l。(3) 读写器将处理后的序列号发送给应答器,应答器序列号与该值比较,小于或等于该值者,将自身序列号返回给读写器。(4) 循环这个过程,就可以选出一个最小序列号的应答器,与该应答器进行正常通信后,发出命令使该应答器进入休眠状态,即除非重新上电,否则不再响应读写器请求命令。也就是说,下一次读写器再发最大序列号时,该应答器不再响应。(5)重复上述过程,即可按序列号从小到大依次识别出各个应答器。注:第五步时,从步骤 1 开始重复,也就是说,读写器识别完一个应答器后,将重新发送原始的最大序列号。16232 实例演示根据上述分析,下面给出一个基本二进制树搜索算
45、法的实例演示,如图24所示。假设 RFID 系统中有一个读写器R,四个应答器Tl(10100101),T2(10l01101),T3(11010101),T4(11101101),在某一时刻,四个应答器同时进入读写器的工作范围之内,读写器发出命令,四个应答器同时响应,由于其序列号 SN 的唯一性,将发生应答器碰撞,从而启动防碰撞循环,分析如下:图 2.4 基本二进制树算法实例注:图中共有四轮循环,依次识别出四个应答器,分别以不同格式的线条表示,并加有循环轮次的数字标识。(1)启动第一轮循环,读写器发送Request(1lll1111)命令,所有应答器响应该命令,将自身序列号与该 SN(1l1l
46、1111)比较,均小于该值,于是所有应答器均返回自身序列号给读写器,因为序列号的唯一性,应答器返回的序列号在读写器接收端发生碰撞,读写器检测到返回数据为 lXXXXl0l,其中 X 表示该位发生了碰撞,读写器做如下处理:将碰撞起始位 D4 位置0,低于该位者不变,高于该位者置 l,得到 11ll0l01,作为下一次Request 命令携带的参数值,即Request(11110l01)。(2)读写器发送Request(11110101)命令,所有应答器响应该命令,将自身序列号与该 SN(11110l01)比较,其中 T1(10l00101),T3(1l010101)的序列号小于该值,则 Tl,T
47、3 返回自身序列号给读写器,在读写器接收端发生碰撞,读写器检测到返回数据为 1XXX0l01,读写器做如下处理:将碰撞起始位 D5 位置0,低于该位者不变,高于该位者置 l,得到 11l00l01,作为下一次Request 命令携带的参数值,即 Request(11100101)。17(3)读写器发送Request(11100101)命令,所有应答器响应该命令,将自身序列号与该 SN(111 00l01)比较,其中 Tl(10100l01)的序列号小于该值,则 Tl返回自身序列号给读写器,在读写器接收端不发生碰撞,读写器检测到返回数据为 10100101,读写器做如下处理:将该数值作为下一次
48、Sleep 命令携带的参数值,即 Sleep(10100101)。(4)读写器发送Sleep(10100101)命令,所有应答器响应该命令,将自身序列号与该 SN(10l00111)比较,其中 T1(10l00101)的序列号等于该值,则 T1 执行该命令,进入休眠状态,即除非重新上电,否则不再响应 Request 命令。(5)启动第二轮循环,读写器发送Request(111l1111)命令,除 T1 外所有应答器响应该命令,将自身序列号与该 SN(11111l11)比较,均小于该值,于是所有应答器均返回自身序列号给读写器,因为序列号的唯一性,应答器返回的序列号在读写器接收端发生碰撞,读写器检
49、测到返回数据为 1XXXXl01,其中 X 表示该位发生了碰撞,读写器做如下处理:将碰撞起始位 D4 位置0,低于该位者不变,高于该位者置 1,得到 11110101,作为下一次Request 命令携带的参数值,即 Request(11110101)。(6)读写器发送Request(11110101)命令, 除 Tl 外所有应答器响应该命令,将自身序列号与该 SN(11l10101)比较,其中 T3(1l010l01)的序列号小于该值,则 T3 返回自身序列号给读写器,在读写器接收端不发生碰撞,读写器检测到返回数据为 110l0101,读写器做如下处理:将该数值作为下一次 Sleep 命令携带的参数值,即 Sleep(11010101)