射频标签内可以存储数千字节的信息吗?(图)

计算机工程与应用 2006.07 射频识别 (RFID) 是近年来兴起的一种流行技术。主要利用无线电波对记录介质进行读写和识别(俗称“射频标签”);根据使用的工作频段,识别距离可达几十厘米到几米。射频标签可以存储数千字节的信息;同时,一些射频标签还集成了数据加密功能模块。正是由于其具有读写能力、可承载大量数据、难以伪造、非接触等优点,所以射频标签可广泛应用于货物、物品的跟踪监控、自动收费等领域,逐步取代原有的条码识别。趋势。一般来说,整个射频识别系统的开发主要涉及两个部分:数据管理系统的开发和射频识别终端的开发。前者主要包括数据库、服务器控制程序和终端程序的建立和维护。后者主要由射频标签阅读器和存储数据的射频标签组成。具体到实际商品管理系统的应用:在配送部门,系统首先建立每种商品与其所附标签的对应关系,即在数据库中建立商品标识的索引记录,记录货物的品种、批号、发货等。交货时间、制造商等内容通过阅读器写入标签。当货物送达目的地时,可通过阅读器将标签上的数据读取到目的地的数据库终端,获取货物的具体信息并通过网络反馈给配送部门。

与传统的人工拣选相比,RFID系统的应用提高了效率,降低了记录信息出错的概率。在整个RFID系统的开发中,阅读器是一个非常关键的部分。对于上面提到的货物管理系统,往往一批货物通过检测口,这样读写器天线周围会同时出现很多标签,导致读取数据时出现数据冲突。所以在这种情况下,阅读器的设计不仅要能够正确读写单个标签,还要能够同时读取多个标签中的数据,也就是要有防止数据冲突。因此,本文提出了一种在HF频段具有抗数据冲突的读写器设计。阅读器主要基于Ti公司的S6700芯片,工作频率为13.56MHz;完全符合ISO/IEC15693协议标准。读写器芯片和射频标签介绍 S6700多协议收发芯片是Ti公司专门为13.56MHz RFID读写器设计开发的,支持多种RFID传输协议。本设计采用的协议为ISO/IEC15693-2,适用于远程耦合卡,识别距离1m左右。 S6700芯片采用5V直流供电,输出功率200mW,内部集成数据编解码模块。芯片提供给用户MCU数据控制的接口主要有(1)SCLOCK:双向串行时钟线。

在通信过程中,由芯片和后端主控MCU交替使用; (2)DIN:数据输入端。MCU发送的数据通过该输入端传送到芯片;(3)DOUT:数据输出端。S6700通过这个将解码后的数据发送到MCU端口进行进一步处理;同时DOUT还起到FIFO管理的作用,监控FIFO是否溢出,每当FIFO满时,DOUT跳高电平,通知MCU暂停发送数据;直到FIFO被清空,MCU可以继续发送剩余的数据;(4)M_ERR,主要有两个作用:检测发送给RF标签的命令是否发送。命令发送时,清空FIFO缓冲区,并在该管脚上产生一个22us的脉冲,检测是否存在多张卡冲突,当多张卡进入读卡区域时,读卡器的天线会被激活,接收端会造成数据冲突,导致解码错误。这时候M_ERR会跳到高电平,说明标签dat a 冲突,可用于设计使读卡器转向多卡读卡程序。 Ti公司选用的RFID标签是基于RFID系统中读写器的开发与研究(复旦大学电子工程系,上海200433)专注于RFID系统中读写器的开发。读写器采用Ti公司13.56MHz频段S6700读写收发芯片,符合ISO/IEC15693协议标准。

同时详细给出了读卡器的硬件系统组成和软件工作流程,分析了多张卡同时读卡的情况,给出了防数据冲突算法。实施协议。 (Dept.ofElectronicEngineering ,FudanUniversity,Shanghai200433) Abstract: Explain thedevelopmentflow ofthereader/writerdevicein theRFID system.With Ti’s13.56MHz TransceiverIC-S6700,todesignaRFID(RadioFrequencyIdentification)reader/writerdeviceinaccordwiththeISO/ IEC15693protocol.Thentoprovidethehardwareconfigurationandthesoftwareflowofthesystem.Finally,toanalyzethe situationwhenmultiplecardsaretoberead,在该系统中设计了一种实用的抗碰撞剂。关键词:S6700,RFID,ISO/IEC15693,读写器,防碰撞89 2006.07 ISO/IEC15693协议设计的Tag-itHF-I射频标签的计算机工程与应用。

这种类型的射频标签是被动的,即只有当阅读器发出命令时,射频标签才会传输数据进行响应;并且射频标签内部有一个Lock位,可以在写入数据后锁存,防止后面的数据被改变,提高了安全性。卡内的 EEPROM 存储芯片有 64 个 Block,每个 Block 为 32bit,即总共可以存储 2kbit 的信息。另外,每张卡有不同的64位UID卡号,同一家公司生产的射频标签的16位数据是相同的。低 48 位因卡而异。卡号在整个读写过程中非常重要,尤其是在设计同时读写多张卡的过程中。阅读器硬件电路设计 整个系统的主要硬件电路框图如图1所示,由以下几部分组成:电源电路、S6700芯片电路、后端主控单片机电路、与PC的接口电路、外围控制电路(蜂鸣器、控制按钮)等。供电电路主要采用LM7805为所有外围设备提供5V电源。 S6700芯片通过4个引脚SCLOCK、MERR、DOUT和DIN与后端单片机相连。 S6700的外围电路可以参考参考文献[2]。但是,在实际设计中,S6700并没有连接外置天线模块50!参考手册中显示的同轴电缆,但直接连接。

因为加了同轴线后接口电路的稳定性会下降,要让电路在13.56MHz谐振并满足输入阻抗50是不容易的!单片机89S52后端通过74LS373扩展16K静态RAM62256,用于存储读写过程中的操作数据,在读写多张卡时建立数据栈。考虑到在某些情况下不需要将实时数据传回外部上位机,在系统中增加了一个串行EEPROM AT24C64,用于保存从射频标签读取的有用数据,等待以后读取。单片机前端装有读写选择开关、初始化复位开关、蜂鸣器、LED指示灯。主要目的是在整个系统与上位机分离时,手动读取射频标签中的数据。单片机与PC机的接口电路采用MAX232进行电平转换,通过单片机的串口RXD和TXD与PC机通讯。读写器软件流程设计系统的软件结构主要包括以下功能模块:主控程序、读写射频标签程序、数据存储、通过中断与上位机进行串行数据通信、错误异常处理。这里将详细描述读写RFID标签的软件流程。在此之前,首先要明确S6700芯片的基本问答流程,这是设计整个读写流程的基础。 S6700芯片基本问答流程: S1/CMD/DATA/ES1/TRAN1/S2/TAG_DATA/ES2/TRAN2 起始位 S1:表示读写器开始向射频标签发送数据。

结束位ES1:表示数据传输完成,用于多卡读写时的时隙(timeslot)切换。命令字节CMD主要指定S6700与射频标签通信时的具体参数,包括选择的调制方式、数据传输速率等。数据 DATA 由 ISO15693 规定,包括标签是“读操作”还是“写操作”,以及要读取或写入的具体块。 DATA单字节的发送顺序是低位在前,对于多字节参数,遵循“低字节先发送,字节内低位先发送”的发送规则。时钟信号SCLOCK是双向时钟,在发送和接收数据的过程中需要切换时钟线。时钟线切换定义如下: TRAN1:MCU将时钟控制权交给S6700,等待接收数据。 TRAN2:MCU 重新控制时钟并发送新数据。起始位S2:表示外部射频标签的响应数据帧已经到达阅读器的接收器。结束位 ES2:表示接收响应数据完成。 3.1 读写单卡的基本操作程序设计采用KeilC51编程。系统上电后,首先调用GetSysInfo函数,实现协议中的Getsysteminformation命令,返回各种错误码。如果出现多卡冲突,则转向多卡处理程序;如果没有冲突,则可以获取 UID 卡号。下面大致给出这个函数C51的主要实现。

ucharGetSysInfo(uchar*UID) {…………//发送命令TRAN1();//切换到MCU接收状态 while(MERR==0); while(MERR==1); //等待MERR的22us脉冲 while (SCLOCK==0) //等待SCLOCK升起开始接收数据 //添加延迟变量,看是否有数据响应,如果没有则返回NoReply 错误码 if (Delaytime!=WaitTime) Delaytime++; elsereturnNoReply; if(MERR==1) {multiFlag=1; returnMultiColli; //返回多卡冲突错误码 if(multi@7>@klag=single =enter) 卡初始模式,首先检查接收到的第一个字节的最低位,如果为0,则接收后续的UID卡号并暂存8位数组,如果为1,则接收错误码,暂存卡号。具体的读写命令可以调用。在“写数据”的设计中,使用的ISO15693中的发送命令主要是“Write multipleblocks”,命令码为“0x24”,和其数据格式如下:SOF/Flags/CMD_CO DE /UID/StartingBlock/BlockNumber/Data/CRC16/EOF.

其中SOF和EOF会在S6700接收到一些数据后自动生成,作为90计算机工程与应用2006.07数据的起始帧。该命令的响应信号有两种情况。如果“写卡操作”不成功,反馈信号中的错误标志将返回错误代码。此时,可以暂时存储错误代码。重试 2 次后,如果仍然出现错误,则将错误代码返回给 PC。如果没有错误,则每 8 位组成一个数据字节,暂时存储在片外 SRAM 中。如果不需要实时数据传输,可以暂时存储在片外串行 EEPROM 中。读取数据的过程类似rfid读写器防冲突程序,但不同的是在收到响应数据时必须进行CRC校验。本系统使用的CRC生成多项式为CRC16,CRC寄存器的初始值为0xFFFF。需要注意的是,对于多位数据,接收时低字节在前,低位在前,为了CRC程序设计的方便,也为了以后数据传输和存储的方便,所以故意接收到的数据改变从临时数组的高位开始放置。此方法也适用于 UID 卡号的处理。 3.2 多卡同时读写操作调用GetSysInfo函数时,如果返回多卡冲突错误码,则表示读写器天线覆盖的区域内有多个射频标签,所以程序进入多卡处理流程。

协议中给出了 Inventory 命令来处理数据冲突。命令格式如下:SOF/Flags/Inventory/AFI/Mask length/Maskvalue/CRC16/EOF。响应是返回 UID 卡号。 Maskvalue和Masklength的作用如图2所示。Maskvalue在协议中规定必须是整数个字节,所以Padding起到了填零字节的作用。 Slotnumber可以选择为16个时间片; Slotnumber=16 在设计时定义;系统中Slotnumber的增量切换是由读写器每次发送一个结束信号ES1来完成的。每次只有当射频标签中的UID低位与Slotnumber和Maskvalue的组合数据相同时,才响应Inventory命令,然后发回UID卡号。在进入多卡处理程序之前,必须在片外RAM中打开三个堆栈,用于临时存储Maskvalue、Masklen和UID。 maskvalue设置为uchar类型的8位数组,数据从数组高位到数组低位排列。基于尽可能少的程序运行时间的考虑。系统首先设置Maskvalue[7]=00H,Masklen=01H,即根据UID卡号末尾的情况,发送Inventory命令。如果M_ERR持续为1,则表示至少有两张卡号最低位相同的卡,则调用该函数。将slotnumber和Maskvalue数组的有效长度组合成一个新的Maskvalue数组,放到Maskvalue栈上;将修改后的 Masklen 压入栈中。

如果没有冲突,将UID卡号压入UID卡号栈,等待进一步处理。这样,当16个时间片完成后,如果Maskvalue栈为空,就会从UID栈中弹出UID卡号,并执行相应的读写命令,和单-此时卡操作。如果 Maskvalue 堆栈不为空,则从 Maskvalue 堆栈中弹出一个新的 Maskvalue,从 Masklen 堆栈中弹出 Masklen,再次调用 Inventory 命令。当检测到UID栈为空时,函数结束。上面实现的多卡读取算法其实是一个递归函数的应用。处理完最后UID卡号为0的情况后,必须清空Maskvalue数组,改变Maskvalue[7]=01H,Masklen=01H,然后对结束卡的情况进行同样的函数调用数字是1。 测试 测试主要针对两个方面:非实时和实时读写数据的测试。测试中数据传输波特率为57600,基本数据读写操作可以正常进行。在同时读取多张卡的实时测试中,由于实验UID卡号的随机选择和组合,每次花费的时间会略有不同。一般在实时情况下,包括数据、命令存储和传输处理时间,同时读取2kbit数据需要0.8s左右,基本满足实际需求。

目前市面上工作在13.56MHz频段的阅读器大多采用ISOIEC14443标准,所以识别距离一般为0.1m;而本设计采用ISO/IEC15693-2标准,识别距离较短。远,实测达到0.3m。下一步将想办法改进天线设计,同时提高发射功率,接近协议给出的1m左右的识别距离。其次,由于设计中使用了多卡读写栈,只要片外Ram容量足够大,多卡读写时UID卡号的相似度不是特别高,读卡时间仍在可接受范围内;所使用的搜索算法使得卡号不可能被遗漏和重复计算。结束语 本文主要介绍了RFID系统中读写器的开发,给出了基于Ti读写芯片S6700的读写器的硬件和软件设计,重点介绍了同时读取多张卡的情况。读写控制流。 (收稿日期:2005 年,128 页) 91 2006.07 计算机工程与应用 上述推导也证明了这一点。 (2)因为在代理签密阶段每个代理的代理签密份额,如果没有代理签密者的私钥信息,第三方和源签密者都无法生成有效的代理签密,因此,该方案满足不可伪造性强(3)因为验证者在去签密阶段需要通过私钥生成器计算公钥信息),任何验证者都可以确定哪些代理签密者参与了签密活动,说明该方案是高度可识别。

(4)源签密者发送给代理的授权信息包括源签密者和代理签密者的身份信息、阈值t、代理可以表示的信息范围、代理在解密签密阶段,必须验证授权信息,代理签密方无法修改授权信息,因此代理签密方不能超过授权权限rfid读写器防冲突程序,并在创建有效的代理签密结果后, 他们将不能否认您参与了代理签密活动。因此,该方案满足强不可否认性和不可滥用性。结论 基于用户身份的加密系统可以作为基于数字证书的加密系统的有效替代品加密系统。签密是一个逻辑上同时完成数字签名和加密两个功能的系统。步骤,是实现既保密又认证的传输和消息存储的理想方法。代理签名方案是一般数字签名方案的一种变体,已经在许多领域发挥了重要作用。在基于用户身份的加密系统和签密思想下,提出了一种基于用户身份的双线性对偶映射下的门限代理签密方案,证明了该方案满足强要求。性,识别性强不可和可:2005:2005 2005:2005年参考参考参考参考参考文献文献文献文献,zh .o 158在:ProcofCrypto’84,计算机科学讲义,Springer-Verlag,1984; 196: 47-53 6. 于良政。 DigitalSigncryptionorHowtoAchieveCost (Signature & Encryption) <

本文通过一个非常简单的CAD系统二次开发程序,介绍了通过C+​​+语言对外调用CAD系统的全过程。目前MDO框架的编译语言多为面向对象的C++,实现了将CAD系统集成到MDO框架中的过程,从而为各学科的所有分析及相关工程任务提供了一个通用的分析平台和基础。在MDO框架内,可以使用计算流体动力学和有限元分析软件输入模型进行计算,然后将更新后的几何设计变量输入CAD系统更新模型,完成高可信度计算。 (收稿:2005参考文献1.cu米]。北京大学出版社,2003 3.李世国. Pro/TOOLKIT 编程[M].机械工业出版社,2003 4.李翔.多学科设计优化方法及其在飞机设计中的应用[D].博士论文。西北工业大学,2003 5. 方开泰.均匀设计与均匀设计表[M].科学出版社,1994 年 6. Jan Roskam。飞机设计,第一部分:飞机的初步尺寸 18 [M]。 >

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论