设为首页 | 成都一卡通
当前位置: 首页 > 一 卡 通 > 其他一卡通 >
其他一卡通
超高频射频识别系统读写器设计
发布时间:2013-04-19 来源:未知
引言 射频识别(RFID,RadioFrequencyIdentiFication)技术是一种新兴的自动识别技术。它是利用无线射频方式进行非接触双向数据通信,以达到目标识别并交换数据的目的。可用来跟踪和管理几乎所有的物理对象,在工业自动化、商业自动化、交通运输控制管理、防伪及军事等众多领域都有广泛的应用前景。按照工作频段的不同,RFID系统还可以分为低频(135kHz以下)、高频(13.56MHz)、超高频(860~960MHz)和微波(2.4GHz以上)等几类。目前大多数RFID系统为低频和高频系统,但超高频(UHF)频段的RFID系统具有操作距离远、通讯速度快、成本低、尺寸小等优点,更适合未来物流、供应链领域的应用,也为实现“物联网”提供了可能。因此超高频RFID系统的发展是当前RFID系统发展的重点。本文介绍了符合ISO1800026标准的超高频RFID电子标签主要特点、结构、工作原理及读写方法,提出了相应读写器的解决方案,重点阐述了读写器的硬件设计及软件程序流程。实际应用结果表明该读写器具有以下特点:读写速度快(单个标签64bit/6ms)、识别率高,识别距离远(≥4m)。 标签工作原理及特性 工作原理 RFID系统一般由读写器和标签(或称应答器、电子标签、智能标签)及天线组成。本文采用某公司的UCODEHSL标签,符合ISO18000-4与ISO18000-6标准,本身无电源,靠读写器的射频场获得能源,采用负载调制方式,工作频段为UHF或2.45GHz。工作原理如图1所示。 PC机通过RS232接口远程控制读写器。读写器接到命令后,通过天线发送射频命令实现对标签的操作,同时接收标签返回的数据。标签靠其偶极子天线获得能量,并由芯片(IC)控制接收、发送数据。图1:工作原理 IC结构 标签IC主要由模拟、数据处理及EEPROM三个模块构成,如图2所示。图2:标签IC结构 模拟RF接口模块为IC提供稳定电压,并将获得的数据解调后供数据模块处理,同时将数据调制后返回给读写器。数字处理模块包括状态转换机、读写协议执行、与EEPROM的数据交换处理等功能。 存储特性 标签内置2048bit的EEPROM,分成64块(block),每块32bit。其中8byte为ID存储空间,216byte为用户存储空间。每字节都有相应的锁定位,该位被置“1”就不能再被改变。可以通过LOCK命令将其锁定,通过QuerylocK(查询锁定)命令读取锁定位的状态,锁定位不允许被复位。Byte0~7被锁定,为标签的标识码(UniqueID)。64bitUID包含50bit的独立的串号,12bit的边界码和一个两位的校验码。Byte8~219是未锁定空间,供用户使用。Byte220~223也是未锁定的,作为写操作完毕的标志bit或者用户空间。 标签的读写 命令格式 读写器的命令格式 读写器的命令格式如下: 帧头探测段是一个至少持续400Ls的稳定无调制载波(相当于16bit数据的传输);帧头是9bit的NRZ格式的manchester“O”,即:010101010101010101;开始符是用来标记有效数据,原返回率采用5位的开始符(1100111010),4倍返回率采用开始符(11011100101);CRC采用16bit的CRC编码。 标签的应答格式 标签的应答格式如下: 静默是标签持续2byte的无反向散射(40kb/s的速率下相当于400Ls的持续时间);返回帧头是:“00000101010101010101000110110001”;CRC采用16bit的CRC编码。 防冲突机制 充电后的IC有三种主要数字状态:准备(READY,初始状态);识别(ID,标签期望读写器识别的状态);数据交换(DATEEXCHANGE,标签已被识别状态)。图3:状态转换图 首先,标签进入读写器的射频场,从无电状态进入准备状态。读写器通过“组选择”和“取消选择”命令来选择工作范围内处于准备状态中所有或者部分的标签,来参与冲突判断过程。为解决冲突判断问题,标签内部有两个装置:一个8bit的计数器;一个0或1的随机数发生器。标签进入ID状态的同时把它的内部计数器清“0”。它们中的一部分可以通过接345第3期张晓鹏,朱云龙等:超高频射频识别系统读写器设计收“取消”命令重新回到准备状态,其它处在识别状态的标签进入冲突判断过程。被选中的标签开始进行下面循环: ①所有处于ID状态并且内部计数器为0的标签将发送它们的UID。 ②如果多于一个的标签发送,读写器将发送失败命令。 ③所有收到失败命令且内部计数器不等于0的标签将其计数器加1。收到失败命令且内部计数器等于0的标签(刚刚发送过应答的标签)将产生一个“1”或“0”的随机数,如果是“1”,它将自己的计数器加1;如果是“0”,就保持计数器为0并且再次发送它们的UID。 ④如果有一个以上的标签发送,将重复第2步操作; ⑤如果所有标签都随机选择了“1”,则读写器收不到任何应答,它将发送成功命令,所有应答器的计数器减1,然后计数器等于0的应答器开始发送,接着重复第2步操作; ⑥如果只有一个标签发送并且它的UID被正确接收,读写器将发送包含UID的数据读命令,标签正确接收该条命令后将进入数据交换状态,接着将发送它的数据。读写器将发送成功命令,使处于ID状态的标签的计数器减1; ⑦如果只有一个标签的计数器等于1并且返回应答,则重复第5和第6步操作;如果有一个以上的标签返回应答,则重复第2步操作; ⑧如果只有一个标签返回应答,并且它的UID没有被正确接收,读写器将发送一个重发命令。如果UID被正确接收,则重复第5步操作。如果UID被重复几次的接收(这个次数可以基于系统所希望的错误处理标准来设定),就假定有一个以上的标签在应答,重复第2步操作。 系统硬件构成 本系统选用W77E58单片机作为主控模块,与发射模块和接收模块、串口通信模块共同构成射频标签的读写系统。系统硬件原理如图1中读写器部分所示。 主控模块 主控模块选择WINBOND公司的W77E58,它是一款高速、高集成、增强型内核为8051的高性能单片机;内置32kbit可重复编程的FlashEPROM,1kbit用MOV指令访问的内部SRAM(节省了16条数据/地址I/O口线),以及2个增强型全双工串行口。使用W77E58的系统速度要比传统51系列单片机快2.5倍左右。工作频率为40MHz的W77E58相当于100MHz左右的8051。 发射模块 发射模块由射频调制/发射芯片和功率放大芯片组成。其原理如图4所示。调制/发射芯片选用MotorolA公司的MC33493,它是由锁相环调谐的UHF频段调制/发射芯片,采用OOK或FSK调制,具有集成的VCO、环路滤波器、可调的输出功率,工作频段可选择315~434或868~928MHz。工作频段由BAND(3)管脚控制、调制方式则由MODE(14)管脚设定。RFOUT(10)管脚的输出频率F(oUt)=F(Y1)×[Ratio](PLL)。图4:发射模块 本设计中BAND(3)管脚置低电平,选用868~928MHz的频段;工作频率设定在915MHz,f(Y1)=915MHz/64=14.297MHz;MODE(14)管脚置低电平,采用OOK调制方式;DATACLK(1)、DATA(2)、ENABLE(13)管脚分别为时钟、数据输入和芯片工作开关,由单片机来控制。 为了提高系统的发射功率,本设计选用了RFMicroDevice公司的RF2132功率放大芯片对MC33493输出的射频信号进行功率放大;RF2132是一种高功率、高效率的线性放大器,具有29dBm的线性输出功率。 接收模块 接收模块由射频接收/解调芯片和信号放大芯片组成。原理如图5所示。射频接收/解调芯片选用MotorolA公司的MC33593,它是一种由锁相环调谐的UHF频段低功率射频接收/解调芯片,工作频带在868~928MHz,中频带宽为500kHz,采用OOK或FSK调制,由DMDAT(13)管脚设定。具有集成的VCO、环路滤波器。 本设计中DMDAT(13)管脚置低电平,采用OOK调制。晶体振荡器的频率选择与MC33493相同。系统时钟(11)、数据接口(15、16)及输入控制开关(14)由单片机控制。 为了提高系统的接收灵敏度,本设计在天线和射频接收/解调器之间增加了一套射频信号放大电路,主要由RF2173组成,其功能是用于对天线接收到的射频信号进行放大,以提高MC33593输入射频信号的信号强度;RF2173具有还不错大32dB的增益。图5:接收模块 串口通信模块 读写器采用RS232接口与计算机通信,电平转换芯片用ICL232。通过该接口计算机向读写器发送读、写标签等命令,读写器可把结果回送给计算机。 系统软件设计 主程序 由于系统在PC机的监控下工作,两者之间为主从通信方式。主控模块上电完成正常初始化过程后,便进入等待状态,等PC机发来指令。当接收到PC机指令后,转去处理相应的程序。处理完毕后执行结果信息返回PC机。主程序框图如图6所示。图6:接收模块 防冲突程序 在读写器天线所覆盖的范围之内有多个标签存在时,读写器发送命令后,会引起响应冲突,从而导致通信失败。当读写器检测到冲突后,可使用命令来处理存在的冲突。通过发送命令可以记录读写器天线覆盖范围内的标签的UID,然后利用UID的性,读写器和各个标签分别建立独立的通道进行通信,从而消除冲突。读写器首先发送命令给标签,在命令的数据域和参数域中分别包含UID的掩码和掩码的长度,传送给标签的掩码要求是整字节,如果此掩码不是整字节的话将自动在高位补零。通过设置标志域的相应标志位,读写器可以设置接收标签响应的时隙为3或6,在各时隙中,读写器都可以接收标签返回的UID,读写器通过发送结束信号的UID和当前时隙序号的还不错低4bit加命令数据域中的掩码进行比较,如果不匹配则无应答,如果匹配将送回自己的UID。在某一时隙可能出现多个标签同时做出响应,这时读写器要记下冲突的标签掩码和时隙计数器的值,以做进一步冲突处理。流程图如图7。图7:接收模块 结束语 本文设计的超高频射频识别读写器能够读写UCODEHSL系列多种标签,读写速度还不错快(从单个标签上平均读取64bit,耗时不超过6ms每多取32bit耗时累加1ms;每单个标签上平均写入32bit,耗时不超过25ms每多写入32bit耗时累加25ms),读写距离(≥4m),有效地解决了多标签防冲撞问题,此超高频射频识别系统尤其适用于物流、供应链领域。