RFID防碰撞算法的FPGA仿真实现

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
图4为接收到的数据在【7】、[5】、【1】位存在碰撞现象
图4【7]、【5],【1]位存在碰撞时解码器时序仿真
82 欢迎网上投稿聊Ⅳw.神t眦t.cn www.aet眦t.com.cn
《电子技术应用》2007年第1期
万方数据
时解码器的时序仿真结果。图中圆圈圈出部分为 解码后的碰撞位,由图可以看出标识碰撞位的 nag_out的输出数据为10100010,可知,接收到的数 据的[7】、[5】、【1]位发生了碰撞。 2.2.3存储节点的L|FO栈
ISO 14443—3f3J规定了TYPE A和,IYPE B两种防冲 撞机制。二者防碰撞机制的原理不同,前者是基于位碰 撞检测协议,而TYPE B则通过系列命令序列完成防碰 撞。ISO 15693采用轮询机制、分时查询的方式完成防碰 撞机制,这在标准的第三部分有详细规定。基于此的现 存防碰撞算法有ALOHA…算法、分隙ALOHA算法和二 进制树形搜索算法等,前两者的信道最佳利用率分别为 18.4%和36.8%,但随着标签数量的增大,性能将急剧恶 化。二进制树形搜索算法在一次性读取标签的数目和速 度上有了极大的提高。 1.2二进制树形搜索防碰撞算法原理
数据采集系统由A/D数据采集单元、 USB从接口单元、U盘读写单元组成。硬件原 理图如图1所示。被测信号经A/D转换后写
入FIFO中;当FIFo数据半满后,产生中断,通知DSP进 行数据压缩处理;DSP把压缩好的数据依次写入USB接 口芯片的4个从FIF0中,4个从nFO对应USB的4个 端点,DSP一边写入数据,已写满的从FIFO就一边通过 相应端点由SIE把数据发送到上位机,上位机一边把收
关键词:USB DSP FPGA高速传输
测量仪器一般由数据采集、数据分析和显示三部分 组成,而数据分析和显示可以由PC机的软件来完成, 因此只要额外提供一定的数据采集硬件就可以和PC机 组成测量仪器。这种基于PC机的测量仪器被称为虚拟 仪器…。而在一些数据量比较大、采集时间比较长的场 合,就需要采用高速的数据传输通道。基于 虚拟仪器的思想和高速传输通道的要求,设 计了一种基于DSP和USB2.0的高速数据传 输接口。 1数据采集系统硬件
目前使用的防碰撞算法大多通过软件方式实现,容 易造成应用软件非常复杂而且多张卡片应用时速度很
《电子技术应用》2007年第1期
本刊邮箱:eta@ncse.com.cn
81
万方数据
图2二进制树形搜索算法流程示意图
慢。因此,对其采用软硬件结合的方式,用FPGA【61实现防 碰撞算法,可达到速度快、成本低的要求。 2.1总体设计方案
M粕chester解码及碰撞位判断是整个跳跃式二进制 树形防碰撞算法的关键。解码和碰撞位的判断均由 M肌chester解码器模块完成。
首先,Mallchester解码器模块中定义了一个两位的移 位寄存器,用来检测标签发送的Manchester码的同步头, 以便判断出编码的到来。一旦移位寄存器检测到标签发 送过来的信号的同步头,MarIchester解码器便开始解码工 作。采样信号的产生可以利用循环计数的计数器来实现。 该计数器在高频时钟的边沿到来时自动加1,其循环周期 与MaIlchester编码时钟周期相等。为防止延迟干扰,在计 数器循环周期的1/4、3/4处令采样信号为高电平。当解码 完成后解码器将向控制状态机发送一个d8ta_ready脉冲信 号,表明已经解码完毕,可以向状态机传送数据。
关键词:防碰撞算法RFID FPGA仿真
RFID【11(Radio Frequency Identmcation)是利用无
…舢…石厂]【]石门■石■一 线信道实现双向通信的一种识别技术,可识别远距离的
贴有标签的目标,并读写相关数据。RFID系统可识别高
速运动的物体并可同时识别多个目标,操作快捷方便。
…埘…,几一刖Lr岬扎 本文基于RFID系统,解决了同一时间识别多个目标的
冲突问题。
1概述 RFID系统主要由射频通信和计算机信息系统两部
分组成,其中,射频通信部分主要包括读写器和标签(射
…胍厂]n厂]厂]厂]
频卡)。其间存在两种通信形式:从读写器到电子标签的
数据传输,即读写器发送的数据流被其覆盖范围内的多 个标签所接收,这种通信形式也被称为无线电广播;在 读写器的作用范围内有多个标签同时应答,这种形式被 称为多路存取。在后一种通信形式中,标签数据的混叠 问题被称为碰撞问题。为了防止由于多个电子标签的数 据在读写器的接收机中相互碰撞而不能准确被读出,必 须采用防碰撞算法Ⅲ来加以克服。 1.1防碰撞算法
本刊邮箱:eta@ncse.com.cn
83
万方数据
基于USB和DSP昀数据采集系统帕设计
戴小俊1’2,丁铁夫1,郑喜凤- (1.中国科学院长春光学精密机械与物理研究所,长春130033; 2.中国科学院研究生院,北京100039)
摘要:介绍了一种利用USB2.0的高速传输特性,基于USB和DSP的数据采集系统。详细论述 了系统的总体结构、部分硬件设计,并简要叙述了相应固件程序的实现。
call命令中读写器与标签对数据的处 理也要占用一定的时间。可以等价为 传送小于8bit的数据。这样每次命令 的执行共有144bit的数据传送。所以,
n一型掣:753。 每秒钟可执行call命令次数扎为: l‘●q 由算法可知,当区域内存在的标
签数为L时,则全部被识别出所执行 的call命令的次数约为牡,因此本文
UFO(Last In First Out)栈用来存储算法执行 过程中所经过的节点的信息。为了协调LIFO内部 的工作状态,在UFO栈的模块中定义了一个小型 的状态机。其工作状态及转换条件流程图如图5 所示。
.竺竺,.Iifowr:l&&
lifoBaidu Nhomakorabead=1&&
图5 UF0栈内部状态机 对UF0栈穿插写入和读取数据,以验证UFO模块 功能。第一次写入两个数据10100011、11100010,进行一 次读取操作;然后连续写入两个数据10101010、 01011011,再连续进行四次读取操作。其仿真结果如图6 所示。 由图6可看出,第一次写入两数据后,UFO栈的栈
ⅣⅢ一尝:4296。 大数目为Ⅳ娜,可以计算出: ‘.X叶 3.2算法识别速度
ISO 14443定义了TYPE A、TYPE B两种类型协议, 其通信速率均为106l【bps。以此标准来计算算法的识别 速度。
算法执行过程中以call命令和sleep命令为单元,每 次命令的执行都要发送64bit的参数,8bit的m参数,接 收标签返回的64bit数据,共传送136bit的数据。另外
EPC标签模块可以抽象为一个M蛐chester编码器模 块,RFID读写器内部包含三个基本的功能模块:M蚰ch. ester解码器模块、UFO模块和控制整个算法的状态机 模块。其基本模块连接关系如图3所示。
戳 :!至鲞:赢 控制信号2
L——二 Mnchester
l编码器麽磊磊■
解码器l缸m I兰
算法控制 状态机
10100011,ta92=10011011,ta93=00010001,t讲=11101100。
其算法流程示意图如图2所示。 从图2可以看出,call命令的epc参数由碰撞位判
断得出,而call命令中的m参数又由相应的epc参数求 得,这样就使得算法在执行过程中跳过了空闲的节点, 提高了算法的执行效率。又因为算法可以形象地用二进 制树来描述,故称为“二进制树形防碰撞算法”。 2碰撞算法的FPGA仿真实现
M粕chester编码器即为RFlD标签,它的主要数据输 入包括该标签的数据、call或sleep命令标志以及相应的 epc参数和m参数。当接收到RFID读写器也就是算法 控制状态机的控制信号后做出相应的判断,如果满足 call命令的条件则开始对标签数据进行Manchester编 码,编码完成后将编码后的数据发送给M蚰chester解码 器,M姐chester解码器接收到数据后开始进行解码工作。 如果满足sleep命令的条件,标签则进入睡眠状态,对以 后的call命令不作应答。 2.2.2 MancheSter解码器
将MarIchester编码模块、M锄chester解码模块、UFO 模块和算法控制状态机模块连接起来进行算法的综合 仿真。
测试中设定读写器作用范围内共有四个RFID标
图6 uF0栈读写功能仿真结果
《电子技术应用》2007年第1期
图7综合时序仿真测试结果
签,标签的EPC码为8位二进制码。四个标签的数据信
二进制树形搜索防碰撞算法嘲适用于TYPE A。A型标 签采用Manchester编码方式,这使得准确地判断出碰撞位
成为可能。图1所示为利用Manchester编码识别碰撞位。 当读写器接收到发送的标签信号时,首先判断是否
发生碰撞以及发生碰撞的具体位置,然后根据碰撞的具 体位置确定下一次发送的请求命令中的参数,再次发 送,直到确定其中的一张标签为止。为了便于说明,假定 标签的数据为8bit,并定义命令call(epc,m),其含义为: 读写器向其覆盖范围内的标签发送召唤指令,如果标签 数据Ⅲ与call命令中epc参数的前m位相等,则满足这 个条件的标签做出应答。设在某时刻有四个标签同时进 入读写器的作用范围内,它们的EPC码分别为ta91=
RFID防碰撞算法的FPGA仿真实现
宁焕生1,郭旭峰1,丛玉2,刘文明1,薛明华1 (1.北京航空航天大学电子信息工程学院,北京100083; 2.中国矿业大学(北京)化学与环境工程学院,北京100083)
摘要:研究无线射频身份识别(RFID)系统中的防碰撞算法的硬件仿真设计。在介绍防碰撞算法 原理的基础上,基于曼彻斯特编码(Manchester)方式,实现了多标签识读过程中的解码和防碰撞算法。 利用FPGA对算法进行了仿真,结果表明本方法具有速度上的优越性和技术上的可行性。
内数据为10100011、11100010,栈顶数据为11100010,进 行一次读操作,栈顶数据变为10100011;第二次连续写 入两数据10101010、01011011后,栈顶数据变为01011011, 连续进行三次读取操作后,根据empty标志信号可以看 出此时UFO已经为空,所以在第四次读取时并没有读 出数据。 2.3综合仿真
息分别为:ta91=10100011,ta92=10011011,ta93=00010001, ta94=11101100。其仿真结果如图7所示。 3仿真结果分析 3.1一次性最大读取标签数
通过LIFO栈的仿真和分析可得到如下结论:如果 LIFO的大小为Ⅳ个单元,则算法一次最多可以处理的 标签数目即为Ⅳ+1。这表明系统防碰撞算法一次性最大 读取标签数由IJIFO栈的设计大小决定。不同的FPGA 器件可用的存储器空间大小不同,使得基于其上设计的 算法的该项性能指标也不同。目前的FPGA器件大都内 置了较大的存储器,例如Altera公司的低成本Cyclone II 系列产品,最大提供1.1Mbit的存储容量。可以估算,存 储器的1/4用于存储节点信息的参数,l,4用于存储节 点信息的碰撞位标志,1,4用来存储解出的标签数据,1,4 作为系统保留。由于标签数据信息长度为64bit,用Cyclone Ⅱ系列FPGA器件实现算法,设一次性可读取标签的最
(3)读写器收到标签发来的数据进行M粕chester解 码。如果无碰撞发生则存储数据后强制该标签进入睡眠 状态;如果产生碰撞,则根据解出的数据和碰撞位标志 进行下一次call命令。如此循环执行直到读写器范围内 的所有标签都被识别出来。
本文采用Verilog HDL语言作为设计输入,仿真工具 采用Quanus II 5.1 build 216 03,06,2006 SJ FuU Version; FPGA器件为EP2C5T144C6。 2。2 RFID读写器各模块设计及仿真 2.2.1 MancheSter编码器
epc数据
霉l霉f 3亡耄耋
RnD读写器
UF0
图3 RFID防碰撞算法基本功能模块连接示意图
具体工作流程如下: (1)RFID读写器内部的状态机每隔一段时间发送 一次call命令; (2)读写器覆盖范围内的标签收到call命令后判断
是否满足call命令的条件,若满足则发送。epc码给读写 器,否则不作反应;
相关文档
最新文档