您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 酒店餐饮 > 实验9-UHF超高频RFID通信协议实验-V20170317
实验9UHF超高频RFID通信协议实验-V201703171.实验目的掌握UHF超高频通讯原理;掌握UHF超高频通讯协议;掌握读卡器操作流程;了解UHF超高频应用;2.实验设备硬件:7号超高频节点,公母直连串口线,电脑等;软件:Keil;3.实验原理3.1超高频RIFD系统典型的超高频UHF(Ultra-HighFrequency)RFID系统包括阅读器(Reader)和电子标签(Tag,也称应答器Responder)。其结构示意图如下图3.1所示。工作步骤如下:阅读器发射电磁波到标签;标签从电磁波中提取工作所需要的能量;标签使用内部集成电路芯片存储的数据调制并反向散射一部分电磁波到阅读器;阅读器接收反向散射电磁波信号并解调以获得标签的数据信息。电子标签通过反向散射调制技术给读写器发送信息。反向散射技术是一种无源RFID电子标签将数据发回读写器时所采用的通信方式。根据要发送的数据的不同,通过控制电子标签的天线阻抗,使得反射的载波幅度产生微小的变化,这样反射的回波就携带了所需的传送数据。控制电子标签天线阻抗的方法有很多,都是基于一种称为“阻抗开关”的方法,即通过数据变化来控制负载电阻的接通和断开,那么这些数据就能够从标签传输到读写器。读写器天线Tag图3.1RFID系统结构示意图3.2电子标签存储结构超高频标签的工作频率在860MHz〜960MHz之间。超高频标签芯片制造商主要有Alien、IMPINJ、TI、NXP、STM等,标签制造商通过设计天线并制作封装而生产出标签。标签的封装是各种各样,下图3.2是几种标签的外形。不同厂商的标签天线规格不同,同时天线的谐振频率点也不完全相同,这样当使用固定频点的读写器读一类标签时的效果很好,而读另一类标签的效果却会很差。图3.2几种标签外形从标签的角度来说,读写器对标签的操作其实是对标签存储器的操作。标签芯片中的存储器EEPROM一般分为4个区,分别为保留内存(Reserved区)、EPC存储器(EPC区)、TID存储器(TID区)、用户存储器(USR区)。标签内部存储器具体结构如下图3.3所示:图3.3标签内部存储结构3.2.1保留内存区保存标签的2个密码,访问密码(AccessPassword)和灭活密码(KillPassword),每个密码长度2个字共32位。APWD可以使C1G2标签进入保护模式对标签进行读写操作;KPWD可以使C1G2标签永久性失能,不再响应外界指令。3.2.2EPC区包括CRC-16,PC,EPC,其中CRC-16用于校验本块的数据完整性,PC定义标签的相应的物理信息,默认0x3000。EPC(ElectronicProductCode)是电子产品代码,用于标识唯一货品单件。EPC代码是由标头、厂商识别代码、对象分类代码、序列号等组成的一组96-bit数字,各部分长度如下表1所示:表1EPC编码结构►标头:识别EPC的长度、类型、结构、版本号►厂商识别代码:识别公司或企业实体►对象分类代码:类似于库存单位(SKU)►序列号:加标签的对象类的特例例如,EPC码010000A8900016F000169DC0(十六进制表示):01(H)为标头;0000A89(H)为厂商识别代码;00016F(H)为对象分类;000169DC0(H)为序列号。EPC编码简单,可以实现对物品的唯一标识。例如,28位厂商识别代码可编码2.68亿家制造商,每家制造商可以有224(约1600万)种产品分类,每种产品可以有236个(687亿)单品,形象的说可以为地球上的每一粒大米赋一个唯一的编码,因此,能够做到对全世界的每件商品唯一识别。与产品条码相比,条码仅是对产品的分类的编码,而EPC码则是给所有的单品都赋予一个全球唯一的编码。EPC码是存储在标签中的货品识别码,用于标识某一单件货品,而不是识别不同标签。标签中的EPC码可以修改,但货品的EPC码是唯一的不发生改变。修改标签的中的EPC码是将标签由标识某一单件货品改为标识另一单件货品。3.2.3TID区存储标签识别号码。TID码是不同标签之间的识别码,用于识别不同标签。TID码由工厂一次性写入,不可以变更,每张标签都有自己唯一的TID码。TID共96-bit,由标签类型、IC厂商代号、IC型号代号和64-bit工厂编程唯一ID组成。例如TID数据如下:E20034120614141100734886其中:►E2:标签类型,E2表示标签符合EPCClass1Gen2协议►003:IC厂商代号,003是标签芯片厂商Alien的代码►412:标签芯片型号代码,412表示的是芯片型号是AlienHiggs3►0614141100734886:工厂编程唯一ID,64-bit,3.2.4用户存储器保存用户定义的数据。注意:所有存储体的逻辑寻址均从零(00h)开始,在一个逻辑存储体中的操作不应访问另一存储体内的存储位置,物理内存映象图为提供商指定。访问存储器的命令需包含选择存储体类型的MemBank参数和以EBV格式选择该存储体内特定存储位置的地址参数。更详细内容请参考EPC相关标准。3.3UHF读写器协议标准3.3.1标准简介超高频读写系统使用ISO18000-6c或EPCclass1Generation2标准。读写器工作频段是840Mhz~960Mhz。本实验平台UHF模块采用后者作为设计标准。EPCClass1Generation2标准中规定的空中接口的基本标准如下:读写器发送命令编码采用脉冲间隔编码PIE(Pulse-IntervalEncode)。它采用脉冲时间的长短来表示数据0或1。EPC编码结构标头厂商识别代码对象分类代码序列号EPC-968282436阅读器到标签的发射信号调制方式为DSB-ASK,SSB-ASK,或PR-ASK,调制深度最小为80%;电子标签返回信号编码方式FM0,Miller-2,Miller-4,或Miller-8;电子标签返回信号调制方式ASK或者PSK(由标签芯片制造商决定);标准中还规定了整个读写标签的时序,标签的状态转换图等。同时各国家根据其国情而规定了具体使用的频段和有效的发射功率,在我国频率使用的相关规定有:工作频段840~845Mhz和920~925Mhz载波频率容限20e-6信道带宽(99%的能量)250Khz邻道功率泄露比为40dB(第一邻道),60dB(第二邻道)发射功率2WE3.3.2标签状态EPCClass1Gen2标准中规定了使用的命令集,命令可以分为通用命令、可选命令、以及定制命令,比如Select(选取),Query(查询),QueryRep(重复查询),Ack(EPC答复),Req_RN(随机数请求),Read(读),Write(写)等。读写器可以发送不同的命令,标签芯片根据接收到的不同命令转换其状态,标签有7种状态(如图3.4),Ready,Arbitrate,Reply,Acknowledge,Open,Secured,Killed。UHF读写器通过发送不同命令,让标签在这7种状态之间进行转换。标签在不同的状态,会对读写器发出的相同命令有不同的反应,时序表现也不尽相同。例如在标签进入了Open或Secured状态后,无论等多长时间,发送访问命令都会在这个状态,而在其它状态,会出现超时并进入Arbitrate状态。图3.4UHF标签状态转换图就绪状态(Ready):未被灭活的标签上电以后,开始所处的状态,准备响应命令。仲裁(Arbitrate)状态:进入盘存周期的标签处在Arbitrate状态,主要为等待响应Query等命令应答(Reply)状态:响应Query后,进入Reply状态,进一步将响应ACK命令就可以发回EPC号码确认(Acknowledge)状态:发回EPC号码后,进入Acknowledged状态,处于确认状态的标签可以转换到除灭活之外的任何状态,视所收到的具体命令而定。公开(Open):AccessPassword不为0才可以进入Open状态,在此进行读、写操作。保护(Secured)状态:已知AccessPassword才可能进入Secured状态,进行读、写、锁定等操作。灭活(Killed)状态:进入到Killed状态的标签将保持状态不变,永远不会产生调制信号以激活射频场,从而永久失效。被灭活的标签在所有环境中均应保持Killed状态,上电即进入灭活状态。灭活操作不可逆转。要使标签进入某一状态一般需要适当次序的一组合法命令,反过来各命令也只能当标签在适当的状态下才能有效,标签响应命令后也会转到其他状态。要使标签进入某一状态一般需要适当的次序的一组合法命令,反过来各命令也只能当标签在适当的状态下才能有效,标签响应命令后也会转到其他状态。3.4UHF读写器特性简介本实验使用GM-MM922超高频模块特性1)通信接口:TTLUart接口2)串口通信速率:9600、19200、38400、57600、115200可配置3)空中接口协议:EPCglobalUHFClass1Gen2/ISO18000-6C4)工作频率:902MHz-928MHz5)盘存标签峰值速度:30张/秒3.5UHF读写器常用指令超高频RFID模块GM-MM922指令分四类,分别是设备控制接口指令集、产品信息指令集、系统设置指令集和EPCC1G2协议指令集。这里对部分指令讲解,详细通信协议介绍请参考配套光盘\附件\芯片手册\超高频\超高频RFID通讯协议\ATIGM_UHF协议文档_PR9200客户。模块波特率设置:例如设置波特率为38400发送:73000100000002000400E02C00960000命令解析:7300是命令头;0100表示写入模块波特率;0000是读写器地址,全0表示广播;0200是波特率设置命令;0400指PLAYLOAD数据长度(低位在前,高位在后);E02C是PLAYLOAD数据的CRC校验码;00960000是波特率38400转十六进制数字(低位在前)。CRC校验码计算:(以配置波特率为38400为例)1.打开安装好的AITGM-922测试设置程序,选择收发监控功能,如下图所示:2.输入命令码,以及波特率的16进制值(低位在前),然后点击生成命令,即可生成配置波特率的命令,如下图所示:由以上的步骤可以得到,生成的命令中,E02C即为CRC校验码。需要生成其他波特率配置命令时,更改指令参数,生成命令即可。例如发送上面的设置38400波特率命令后成功返回:73000300010002000400000000000000命令解析:7300是命令头;0300表示接收数据包;0100是返回读写器地址;0200表示响应的是波特率设置命令;0400指PLAYLOAD数据长度(低位在前,高位在后);0000是PLAYLOAD数据的CRC校验码;00000000表示波特率设置成功。盘存命令:盘存指令标签返回格式指令:标签扇区读取:标签扇区写:4.实验步骤本实验标签芯片采用AlienHIGGS3,该芯片符合EPCglobalClass1Gen2规范以及ISO/IEC18000-6C标准,即该标签的存储结构和状态符合3.2和3.3中的描述。芯片的详情见其手册,手册地址:配套光盘\附件\芯片手册\超高频RFID标签芯片手册\Higgs3_CHS.pdf。这里对部分指令进行实验。4.1设置超高频模块波特率:波特率设为38400在串口调试助手上选择波特率115200(超高频模块出厂默认波特率),十六进制发送指令“73000100000002000400E02C00960000”,如果有十六进制字样“73000300010002000400000000000000”返回,证明波特率设置正常,如图4.1所示:图4.1波特率设置注意,波特率设置完成后,需重启才生效。4.2盘存操作在串口调试助手上发送盘存指令“7300010000002000020001900100”,首先返回命令成功数据“73000300010020000400000000000000”。将超高频标签置于读写
本文标题:实验9-UHF超高频RFID通信协议实验-V20170317
链接地址:https://www.777doc.com/doc-4648203 .html