




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、参考广州飞瑞敖电子科技有限公司RFID实验箱实验指导书广州飞瑞敖电子科技有限公司实验一 开发环境的搭建及硬件测试实验3一、实验目的3二、实验设备3三、实验原理3四、实验步骤3实验二 LF低频RFID实验7一、实验目的7二、实验设备7三、实验原理7四、实验过程10实验三、HF高频RFID通信协议16一、 实验目的16二、 实验设备16三、 实验原理16四、 实验步骤24实验四 UHF特高频RFID实验28一、 实验目的28二、 实验设备28三、 实验原理28四、 实验步骤34实验五 2.4G有源RFID低功耗实验40一、 实验目的40二、 实验设备40三、 实验原理40四、 实验步骤43实验六
2、HF高频RFID应用49一、 实验目的49二、 实验设备49三、 实验原理49四、 实验步骤49实验七 2.4G 人员定位实验55一、 实验目的55二、 实验设备55三、 实验原理55四、 实验步骤56实验一 开发环境的搭建及硬件测试实验一、实验目的1.1 Keil开发环境的安装1.2 掌握Keil开发环境的使用1.3 掌握STM32单片机固件的烧写方式二、实验设备硬件:RFID实验箱套件,电脑等。软件:Keil三、实验原理本实验箱使用基于Cortex-M3体系的STM32F103VET6单片机作为主控CPU,运行相应的程序,它通过GPIO可以控制实验箱上的其它组件(数码管,矩阵键盘,LED流
3、水灯、LCD液晶屏等)。STM32F103VET6单片机有两路UART通信接口,其中UART1经由MAX232电平转换芯片与实验箱上的UART-STM32 DB9串口相连负责和上位机进行通信。而UART2与实验箱上的SWICH链路选择芯片组相连,通过PD12和PD13两个管脚进行链路选择,并最终和相对应的RFID模块进行通信。更详细的原理图请参考配套光盘附件实验箱原理图 目录下的文档。本实验熟悉和学习Keil开发环境,下载相应的程序到STM32F103VET6上,并对实验箱上的硬件进行检测。在之后的实验中,将会详细的讲解STM32F103VET6单片机是如何控制各个组件并且如何和不同的RFID
4、模块进行通信的。四、实验步骤 4.1 安装光盘应用程序JLINK 驱动安装下的JLink驱动。安装完成后,使用实验箱内的Jlink仿真器将PC机的USB接口和RFID实验箱上液晶屏下方的20pin JTAG接口相连,如果PC能够检测到JLink则驱动安装成功否则请从新安装驱动。4.2 安装光盘应用程序STM32芯片开发环境下的MDK414.exe软件(既KeilVersion4)。4.3 打开keiluVision4开发环境(注:请在网上搜索破解方法),界面如图1.1。图1.1 开发环境界面4.4 打开测试工程,路径为光盘源代码测试程序 APP下的工程文件。如图 1.2 及1.3。图 1.2
5、打开工程图1.3 打开工程4.5 编译源文件,生成hex文件,如图 1.4。图 1.4 编译工程4.6 烧写可执行文件,如图1.5。图 1.5 烧写可执行文件。烧写完成后可观察实验箱。4.7 本次程序使用了实验箱硬件测试程序,请根据光盘附件测试说明文档测试说明文档 来测试RFID实验箱的各个硬件是否正常工作。实验二 LF低频RFID实验一、实验目的1.1 了解ID卡内部存储结构1.2 掌握符合ISO 18000-2标准的无源ID卡识别系统的工作原理1.3 掌握符合ISO 18000-2标准的无源ID卡识别系统的工作流程1.4 掌握本平台ID模块的操作过程二、实验设备硬件:RFID实验箱套件,电
6、脑等。软件:Keil,串口调试助手。三、实验原理3.1 低频RFID系统与ID卡低频RFID系统读卡器的工作频率范围一般从120KHz到134KHz。该频段的波长大约为2500m,除了金属材料影响外,一般低频能够穿过任意材料的物品而不降低它的读取距离。低频RFID系统使用ID卡,全称为身份识别卡(Identification Card),作为其电子标签。ID卡是一种不可写入的感应卡,其内部唯一存储的数据是一个固定的ID卡编号,其记录内容(卡号)是由芯片生产厂商封卡出厂前一次性写入,封卡后不能更改,开发商只可读出卡号加以利用。ID卡与我们通常使用磁卡一样,仅仅使用了“卡的号码”而已,卡内除了卡号
7、外,无任何保密功能,其“卡号”是公开、裸露的。目前市场上主要有台湾SYRIS的EM、美国HID、TI、MOTOROLA等各类ID卡。本实验平台使用EM系列ID卡,它符合ISO 18000-2标准,工作频率为125KHZ,后续的讲解也围绕这种标签展开。ID 标签中保存的唯一数据标签标识符(UID)以 64 位唯一识别符来识别。UID 由标签制造商永久设置,符合 ISO/IECDTR15693。UID 使每一个标签都唯一、独立的编号。UID 包含(图2.1):l 固定的8位分配级“EO”l 根据ISO/IEC 7816-6/AM1定义的8位IC制造商代码l 由IC制造商指定的唯一48位制造商序列号
8、MSN图2.1 UID结构图3.2 ISO18000-2 标准实验平台的低频ID模块符合ISO18000-2标准。询问器载波频率为125KHZ。ISO18000-2标准中规定了基本的空中接口的基本标准:l 询问器到标签之间的通信采用脉冲间隔编码;l 标签与询问器之间通过电感性耦合进行通信,当询问器以标准指令的形式访问标签时载波需加载一个4K位/秒曼彻斯特编码数据信号;l 调制采用ASK调制,调制指数100%; 在实际通信系统中,很多系统都不能直接传送基带信号,必须用基带信号对载波波形的某些参量进行控制,是载波的这些参量随基带信号的变化而变化。由于正弦信号形式简单,便于产生和接收,大多数数字通信
9、系统中都采用正弦信号作为载波,即正弦波调制。数字调制技术是用载波信号的某些离散状态来表示所传送的信息,在接收端也只要对载波信号的离散调制参量进行检测。数字调制方式,一般有振幅键控(ASK)、移频键控(FSK)和移相键控(PSK)三种基本调制方式,如图2.2所示:图 2.2 数字调试方式在二进制振幅键控(ASK)方式下,当基带信号的值为1时,载波幅度为u1;当基带信号的值为0时,载波幅度为u2。定义调制系数为 M=(u1-u2)/(u1+u2),当u2为0时,调制系数m=100%。图 2.3 振幅键控调制l 射频工作区的载波频率125KHz;l 工作频率精度0.1kHz之内;l 标签以64位唯一
10、识别符来唯一识别;更多内容参考ISO 18000-2。3.3 低频RFID系统读卡器本实验平台使用EM系列ID卡,符合ISO 18000-2标准,工作频率为125KHZ,经读卡器译码后输出其十位十进制卡号。图2.4是ID卡及其读卡器的工作原理框图,其中上半部分是ID卡的内部组成结构;下半部分是ID读卡器的组成结构。ID卡的天线与其读卡器的天线之间构成空间耦合“变压器”,读卡器天线作为“变压器”初级线圈向空间发射125KHz的交变电磁场,进入该电磁场的ID卡通过其天线(“变压器”的次级线圈)获取能量,为其内部各功能部件提供工作电压。由于ID卡为只读型RFID卡,读卡器无须向ID卡发送任何数据或指
11、令,一旦ID卡进入读卡器有效的工作区域内,其内部功能部件就开始工作,时序发生器部件控制存储器阵列和数据编码单元将其内部的64位信息调制后按顺序发送给读卡器,其中调制方式为ASK(移幅键控)调制。图2.4 ID卡及读卡器的组成结构读卡器中的4MHz振荡源经过32分频后得到125kHz的基准频率信号,该频率一方面为读卡器发射125kHz的交变电磁场提供工作时钟,另一方面为读卡器中微控制器解码提供基准时钟.当读卡器的工作区域内没有ID卡时,读卡器的检波电路没有输出,一旦有ID卡进入交变电磁场并将其曼彻斯特编码的数据信息调制后发送出来,读卡器的滤波电路、解调电路、检波电路和整形单元将调制在125kHz
12、频率信号中的采用曼彻斯特编码的数据信息解调还原,微控制器接收到曼彻斯特编码数据信息后利用软件解码,从而读取ID卡的64位数据信息。ID卡内部的曼彻斯特编码和原始数据信息关系见图2.5。曼彻斯特编码采用下降沿表示1采用上升沿表示0。读卡器的微控制器软件的主要功能就是对从ID卡接收到的曼彻斯特编码进行解码,得到ID卡内部的64位数据信息,然后进行CRC校验,如果校验成功,那么就完成了一次读卡过程。图 2.5 曼彻斯特编码和原始数据信息关系低频RFID系统工作流程如下:1) 读卡器将载波信号经天线向外发送;2) 标签中的电感线圈和电容组成的谐振回路接收读卡器发射的载波信号,标签中芯片的射频接口模块由
13、此信号产生出电源电压、复位信号及系统时钟,使芯片“激活”;3) 标签中的芯片将标签内存储的数据经曼彻斯特编码后,控制调制器上的开关电流调制到载波上,通过标签上天线回送给阅读器;4) 阅读器对接收到的标签回送信号进行进行ASK解调、解码后就得到了标签的UID号,然后应用系统利用该UID号完成相关的操作。简述上面的过程,我们可以把低频RFID读卡器的功能减单描述为:读取相关ID卡卡号,并把该卡号发送到应用系统上层,由上层系统完成相关数据信息的处理。由于ID卡卡内无内容,故其卡片持有者的权限、系统功能操作要完全依赖于上层计算机网络平台数据库的支持。四、实验过程实验相关的工程代码文件地址:配套光盘源代
14、码上位机开发用RFID-UARTRVMDK4.1 打开光盘源代码上位机开发用RFID-UARTRVMDK工程目录,编译并烧写到实验箱,将实验箱上的UART-STM串口与PC机相连,打开电源,打开串口助手(光盘应用程序串口助手),按图2.6所示信息配置串口参数。图 2.6 串口参数配置4.2 将串口助手软件的发送区选择为十六进制发送,发送字节02 01,此时实验箱上低频模块区域的红色指示灯点亮,将ID卡置于低频模块区的线圈上方进行读卡操作,串口助手软件将会返回正确信息如图2.7所示。图 2.7 串口返回ID卡号4.3 固件程序功能及源码解析。在该工程中,STM单片机内的固件程序有两个作用:A)
15、RFID模块选择功能。B) 上位机和射频模块之间通信数据的包装和转发。如电路原理图2.8、2.9所示。STM单片机的PA2和PA3管脚(既UART2)和一个链路选择开关芯片组(实验箱PCB板上标示为SWITCH)相连,然后通过PD12和PD13两路管脚进行链路选择。链路选择示意表如表1所示:PD12PD13通路描述低电平低电平UART2与RXD3TXD3形成通路,单片机与低频模块实现通信。低电平高电平UART2与RXD4TXD4形成通路,单片机与高频模块实现通信。高电平低电平UART2与RXD5TXD5形成通路,单片机与超高频模块实现通信。高电平高电平UART2与RXD6TXD6形成通路,单片
16、机与2.4GHz模块实现通信。表1图2.8图2.9代码段代码1描述了如何实现的链路选择。Hal.c#define SWTICH1_ON GPIO_SetBits(GPIOD, GPIO_Pin_12); #拉高PD12管脚#define SWTICH1_OFF GPIO_ResetBits(GPIOD, GPIO_Pin_12); #拉低PD12管脚#define SWTICH2_ON GPIO_SetBits(GPIOD, GPIO_Pin_13); #拉高PD13管脚#define SWTICH2_OFF GPIO_ResetBits(GPIOD, GPIO_Pin_13);#拉低PD13
17、管脚Main.cvoid chose_id(void)/RxBuffer11内存储这从上位机(PC)机接收到的数据,STM32通过UART1与PC机通信,UART1从PC机收到的数据暂存到RxBuffer中,通过判断RxBuffer中的第二个字节来判断PC机要做的事情。switch(RxBuffer11) case 0x01:/当RxBuffer1=0x01时,上位机选择与低频RFID模块通信,此时将PD12和PD13全部拉低。USART_Config(USART2, 9600); SWTICH_OFF; SWTICH1_OFF; SWTICH2_OFF; BEEP_ON; Delay(0xF
18、FFFF); BEEP_OFF; break; case 0x02:/当RxBuffer1=0x02时,上位机选择与高频RFID模块通信,此时将PD12拉低、PD13拉高。USART_Config(USART2, 9600); SWTICH_OFF; SWTICH1_OFF; SWTICH2_ON; BEEP_ON; Delay(0xFFFFF); BEEP_OFF; break; case 0x03:/当RxBuffer1=0x03时,上位机选择与特高频RFID模块通信,此时将PD12拉高、PD13拉低。USART_Config(USART2, 57600); SWTICH_OFF; SWT
19、ICH1_ON; SWTICH2_OFF; BEEP_ON; Delay(0xFFFFF); BEEP_OFF; break; case 0x04:/当RxBuffer1=0x04时,上位机选择与2.4G RFID模块通信,此时将PD12和PD13全部拉高。USART_Config(USART2, 9600); SWTICH_OFF; SWTICH1_ON; SWTICH2_ON; BEEP_ON; Delay(0xFFFFF); BEEP_OFF; break; case 0x05:/当RxBuffer1=0x05时,此时上位机有话要跟它已经选择好的模块说(既上位机和RFID模块之间的通信协
20、议),此时STM32单片机只是起到了一个数据转发的功能。 USART2_Puts(&RxBuffer12); break; default: break; 通过上面源码中的注释部分,已经可以了解到,RxBuffer1这个字节相当于一个功能码,它描述了上位机想要做的事情,那RxBuffer0这个字节的作用是什么呢?这个字节值代表的是上位机发送给STM单片机的一条指令的总长度。至此,就不再难以理解4.2节中上位机发给实验箱单片机0x02 0x01这条指令的意义了,0x02指的是指令的长度是两个字节,0x01告诉单片机它想和低频RFID模块通信。建立了STM的UART2和低频读卡器模块的通路
21、同时,选择链路芯片组为低频模块供电,使其处于主动监听的工作状态,此时只需从UART2端口接收数据并且发送至UART1(与STM_UART相连)最终传送给上位机,这一过程是在中断函数中完成的,代码如下:Stm32f10x_it.cvoid USART2_IRQHandler(void)uint8_t tmp;if(USART_GetITStatus(USART2, USART_IT_RXNE) != RESET) /判断读寄存器是否非空 tmp = USART_ReceiveData(USART2);USART_SendData(USART1, tmp); if(USART_GetITStatu
22、s(USART2, USART_IT_TXE) != RESET) /这段是为了避免STM32 USART 第一个字节发不出去的BUG USART_ITConfig(USART2, USART_IT_TXE, DISABLE); /禁止发缓冲器空中断, 4.4仔细阅读和理解该工程中的相关代码,理解并联系链路选择芯片组的使用和串口通信管脚的使用。实验三、HF高频RFID通信协议一、 实验目的1.1 掌握高频读卡器的通讯协议1.2 掌握本平台高频模块的操作过程1.3 掌握高频模块工作原理二、 实验设备硬件:RFID实验箱套件,电脑等。软件:Keil,串口调试助手。三、 实验原理 3.1 高频RFI
23、D系统典型的高频HF(13.56MHz)RFID系统包括阅读器(Reader)和电子标签(Tag,也称应答器Responder)。电子标签通常选用非接触式IC卡,全称集成电路卡又称智能卡,可读写,容量大,有加密功能,数据记录可靠。IC卡相比ID卡而言,使用更方便,目前已经大量使用在校园一卡通系统、消费系统、考勤系统、公交消费系统等。目前市场上使用最多的是PHILIPS的Mifare系列IC卡。读写器(也称为“阅读器”)包含有高频模块(发送器和接收器)、控制单元以及与卡连接的耦合元件。由高频模块和耦合元件发送电磁场,以提供非接触式IC卡所需要的工作能量以及发送数据给卡,同时接收来自卡的数据。此外
24、,大多数非接触式IC卡读写器都配有上传接口,以便将所获取的数据上传给另外的系统(个人计算机、机器人控制装置等)。IC卡由主控芯片ASIC(专用集成电路)和天线组成,标签的天线只由线圈组成,很适合封状到卡片中,常见IC卡内部结构如图3.1所示。图 3.1 IC卡内部结构图较常见的高频RFID应用系统如图3.2所示,IC卡通过电感耦合的方式从读卡器处获得能量。图 3.2 常见高频 RFID 应用系统组成下面以典型的IC卡MIARE 1为例,说明电子标签获得能量的整个过程。读卡器向IC卡发送一组固定频率的电磁波,标签内有一个LC串联谐振电路(如图 3.3),其谐振频率与读写器发出的频率相同,这样当标
25、签进入读写器范围时便产生电磁共振,从而使电容内有了电荷,在电容的另一端接有一个单向通的电子泵,将电容内的电荷送到另一个电容内储存,当储存积累的电荷达到2V时,此电源可作为其他电路提供工作电压,将标签内数据发射出去或接收读写器的数据。图 3.3 IC卡功能结构图3.2 非接触式IC卡目前市面上有多种类型的非接触式IC卡,它们按照遵从的不同协议大体可以分为三类,各类IC卡特点及工作特性如图1.4所示,PHILIPS的Mifare 1卡(简称M1卡)属于PICC卡,该类卡的读写器可以称为PCD。图3.4 IC卡分类高频RFID系统选用PICC类IC卡作为其电子标签,这里以 Philips公司典型的P
26、ICC卡Mifare 1为例,详细讲解IC卡内部结构。Philips是世界上最早研制非接触式IC卡的公司,其Mifare技术已经被制定为IS0 14443 TYPE A国际标准。本平台选用用Mifare 1(S50)卡作为电子标签,其内部原理如图3.5所示。图3.5 M1卡内部原理射频接口部分主要包括有波形转换模块。它可将读写器发出的13.56MHZ的无线电调制频率接收,一方面送调制/解调模块,另一方面进行波形转换,将正弦波转换为方波,然后对其整流滤波,由电压调节模块对电压进行进一步的处理,包括稳压等,最终输出供给卡片上的各电路。数字控制单元主要针对接收到的数据进行相关处理,包括选卡、防冲突等
27、。Mifare1卡片采取EEPROM作为存储介质,其内部可以分为16个扇区,每个扇区由4块组成,(我们也将 16 个扇区的 64 个块按绝对地址编号为 0-63,存贮结构如下图3.6所示:图 3.6 MFI卡片存储结构第 0 扇区的块 0(即绝对地址 0 块),它用于存放厂商代码,已经固化,不可更改。其中:第 03 个字节为卡片的序列号;第4个字节为序列号的校验码;第5个字节为卡片内容“size”字节,第67个字节为卡片的类型字节。每个扇区的块 0、块 1、块 2 为数据块,可用于存贮数据。数据块可作两种应用:用作一般的数据保存,可以进行读、写操作。例如在食堂消费时采用输入饭菜金额的方式扣款。
28、用做数据值,可以进行初始化加值、减值、读值操作。例如在食堂消费时对于定额套餐采用输入餐号的方式加以扣款,又如公交/地铁等行业的检票/收费系统中的扣费。每个扇区的块 3 为控制块,包括了密码 A、存取控制、密码 B。具体结构如下,A0 A1 A2 A3 A4 A5FF 07 80 69B0 B1 B2 B3 B4 B5其中其中 A0A5 代表密码 A 的六个字节;B0B5 代表密码 B 的六个字节;FF 07 80 69 为四字节存取控制字的默认值,FF 为低字节。每个扇区的密码和存取控制都是独立的,可以根据实际需要设定各自的密码及存取控制。存取控制为 4 个字节,共 32 位,扇区中的每个块(
29、包括数据块和的存取条件是由密码和存取控制共同决定的,在存取控制中每个块都有相应的三个控制位,定义如下:块 0:C10C20C30块 1:C11C21C31块 2:C12C22C32块 3:C13C23C33三个控制位以正和反两种形式存在于存取控制字节中,决定了该块的访问权限(如进行减值操作必须验证 KEY A,进行加值操作必须验证 KEY B,等等)。三个控制位在存取控制字节中的位置,以块 0 为例,如下所示: Bit 7 6 5 4 3 2 1 0C20_bC10_bC10C30_bC30C20字节6字节7字节8字节93.3 ISO 14443协议标准简介ISO 14443协议是超短距离智慧
30、卡标准,该标准定义出读取距离7-15公分的短距离非接触智能卡的功能及运作标准,ISO 14443 标准分为TYPE A和 TYPE B两种。TYPE A 的产品具有更高的市场占有率,如Philips公司的MIFARE系列占有了当前约80%的市场,且在较为恶劣的工作环境下有很高的优势。而TYPE B在安全性、高速率和适应性方面有很好的前景,特别适合于CPU卡。这里重点介绍MIFARE 1符合的ISO 14443 TYPE A标准。1) ISO 14443 TYPE A标准中规定的基本空中接口基本标准l PCD到PICC(数据传输)调制为:ASK,调制指数100% l PCD到PICC(数据传输)
31、位编码为:改进的Miller编码l PICC到PCD(数据传输)调制为: 频率为847kHz的副载波负载调制l PICC到PCD位编码为:曼彻斯特编码l 数据传输速率为106kbpsl 射频工作区的载波频率为13.56MHzl 最小未调制工作场的值是1.5A/mrms(以Hmin表示),最大未调制工作场的值是7.5A/mrms (以Hmax表示) ,邻近卡应持续工作在Hmin和Hmax之间l PICC的能量是通过发送频率为13.56MHz的阅读器的交变磁场来提供。由阅读器产生的磁场必须在1.5A/m-7.5A/m之间2) ISO 14443 TYPE A标准中规定的PICC标签状态集,读卡器对
32、进入其工作范围的多张IC卡的有效命令有:l REQA:TYPE A请求命令l WAKE UP:唤醒命令l ANTICOLLISION:防冲突命令l SELECT:选择命令l HALT:停止命令图 3.7为PICC(IC卡)接收到PCD(读卡器)发送命令后,可能引起状态的转换图。传输错误的命令(不符合ISO 14443 TYPE A协议的命令)不包括在内。图 3.7 PICC状态转化图l 掉电状态(POWER OFF):在没有提供足够的载波能量的情况下,PICC不能对PCD发射的命令做出应答,也不能向PCD发送反射波;当PICC进入耦合场后,立即复位,进入闲置状态。l 闲置状态(IDLE STA
33、TE):当PICC进入闲置状态时,标签已经上电,能够解调PCD发射的信号;当PICC接收到PCD发送的有效的REQA(对A型卡请求的应答)命令后,PICC将进入就绪状态。l 就绪状态( READY STATE):在就绪状态下,执行位帧防碰撞算法或其他可行的防碰撞算法;当PICC标签处于就绪状态时,采用防冲突方法,用UID(惟一标识符)从多张PICC标签中选择出一张PICC;然后PCD发送含有UID的SEL命令,当PICC接收到有效的SEL命令时,PICC就进入激活状态(ACTIVE STATE)。l 激活状态(ACTIVE STATE):在激活状态下,PICC应该完成本次应用所要求的所有操作(
34、例如,读写PICC内部存储器);当处于激活状态的PICC接收到有效的HALT命令后,PICC就立即进入停止状态。l 停止状态(HALT STATE): PICC完成本次应用所有操作后,应进入停止状态;当处于停止状态的PICC接收到有效的WAKE_UP命令时,PICC立即进入就绪状态。注意:当PICC处于停止状态下时,在重新进入就绪状态和激活状态后, PICC接受到相应命令,不在是进入闲置状态,而是进入停止状态。3.4 高频系统读写器3.4.1 通信流程高频RFID系统读写器与IC卡通信过程如图3.8所示,主要步骤有:l 复位应答(Answer to request):M1射频卡的通讯协议和通讯
35、波特率是定义好的,当有卡片进入读写器的操作范围时,读写器以特定的协议与它通讯,从而确定该卡是否为M1射频卡,即验证卡片的卡型。l 防冲突机制(Anticollision Loop):当有多张卡进入读写器操作范围时,防冲突机制会从其中选择一张进行操作,未选中的则处于空闲模式等待下一次选卡,该过程会返回被选卡的序列号。具体防冲突设计细节可参考相关协议手册。l 选择卡片(Select Tag)选择被选中的卡的序列号,并同时返回卡的容量代码。l 三次互相确认(3 Pass Authentication):选定要处理的卡片之后,读写器就确定要访问的扇区号,并对该扇区密码进行密码校验,在三次相互认证之后就
36、可以通过加密流进行通讯(在选择另一扇区时,则必须进行另一扇区密码校验)。l 对数据块的操作:包括读、写、加、减、存储、传输、终止。图3.8 读卡器与IC通讯流程3.4.2 防冲突当读写器读写范围内部有多张PICC标签时,读写器利用各卡的UID(惟一标识符)从多张标签中选择出一张PICC标签。不同IC卡其内部的UID大小不同,通常UID由4、7或10个UID字节组成。PICC将这些字节按照其字节数封装在几个串联级别中发送给读卡器,每个串联级别内包含5个数据字节,其中包括3个或4个UID字节,见图3.9,从图可知PICC最多会发送三个串联级别(串联级别数又可以称为UID大小)。图3.9 UID结构
37、图中CT为级联信号,表示在下一级中还有UID;BCC为本级检验码。由图可知,PICC最多应处理3个串联级别,以得到所有UID字节。阅读器防冲突过程如下:1)首先由PCD发送REQA命令或WAKE UP命令,使卡进入READY状态(参见标签状态转换图)。这两个命令的差别是:REQA命令使卡从IDLE状态进入READY状态,而WAKE UP命令使卡从HALT状态进入READY状态。2)PICC接收到命令后,所有处在PCD电磁场范围内的PICC同步发出ATQA应答,说明本卡UID的大小(1、2或3),之后进入READY状态,执行防冲突循环操作。3)PCD通过发送ANTICOLLISION和SELEC
38、T命令执行防冲突循环操作,命令格式如下所示:3.5 上位机与高频RFID模块间的通讯协议在LF低频RFID实验中,上位机和低频RFID模块之间没有任何的协议通信,这是因为低频RFID功能简单,低频RFID模块只有一个工作状态就是监听状态,此时模块只需将监听到的标签数据传给上位机即可。而高频RFID以及之后将要学习的超高频RFID、2.4GRFID模块的功能就要多得多。除了简单的读卡外,还有写入数据,修改密码的功能,这就需要上位机和这些RFID模块之间进行通信。以下便是上位机和高频RFID之间的一些协议。以下数据均为16进制,第一字节表示此次发生的字节长度读卡号 02 A0读数据 09 A1 K
39、ey0 Key1 Key2 Key3 Key4 Key5 Kn.例:0xA1为读数据标志。该卡密码A为16进制:ff ff ff ff ff ff 对应Key0 Key1 Key2 Key3 Key4 Key5;要读的块数为第4块 即 Kn=4;则发送:09 A1 ff ff ff ff ff ff 04 .返回第4块的16字节数据.写数据 19 A2 Key0 Key1 Key2 Key3 Key4 Key5 Kn Num0 Num1 Num2 Num3 Num4 Num5 Num6 Num7 Num8 Num9 Num10 Num11 Num12 Num13 Num14 Num15.例:0
40、xA2为写数据标志。该卡密码A为16进制:FF FF FF FF FF FF 对应Key0 Key1 Key2 Key3 Key4 Key5;要写的块数为第4块 即 Kn=4;要写的数据位 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F则发送:19 A2 FF FF FF FF FF FF 04 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F.修改密码 0F A3 Key0 Key1 Key2 Key3 Key4 Key5 Kn New0 New1 New2 New3 New4 New5 .例:0x
41、A3为修改密码标志。该卡原密码A为16进制:FF FF FF FF FF FF 对应Key0 Key1 Key2 Key3 Key4 Key5;要修改的密码块数为第7块 即 Kn=7;(密码保存在扇区尾块,分别为7,11,15,19.)要修改成的密码为 20 10 20 11 20 12 对应New0 New1 New2 New3 New4 New5则发送:0F A3 FF FF FF FF FF FF 07 20 10 20 11 20 12.注意事项:不建议用户修改卡的密码,四、 实验步骤4.1 打开光盘源代码上位机开发用RFID-UARTRVMDK工程目录,编译并烧写到实验箱,将实验箱上
42、的UART-STM串口与PC机相连,打开电源,打开串口助手(光盘应用程序串口助手),并正确配置串口参数。可以发现此步与实验2中的4.1节相同,它们用的是同一个STM固件程序。4.2 读卡号操作。在串口助手中选择十六进制发送字节0x02 0x02,选择与高频RFID通信,此时高频RFID区的红色LED变亮。将显示区选择为十六进制显示,发送字节0x04 0x05 0x02 0xA0,并进行高频标签的刷卡操作,观察是否有数据返回,如图3.11所示。在3.5节中介绍,高频RFID的读卡指令(协议)为0x02 0xA0,但是此时为什么发送的是0x04 0x05 0x02 0xA0呢?正如实验二中所介绍的
43、,0x04 0x05这两个字节上位机说给STM单片机听的,它的意思是我这条指令一共4个字节(0x),它的用处是一个和RFID模块的通信指令(0x05),STM单片机收到后,首先检测它收到的数据确实是4个,并且知道了0x02 0xa0是上位机要给某个RFID模块的,于是STM单片机就将这两个字节通过UART2口传给了真正能读懂它(0x02 0xa0)的RFID模块。(再次之前已经完成了模块的选择了。)图3.114.3 读数据操作。在串口助手发送区发送十六进制字符串0b 05 09 A1 ff ff ff ff ff ff 04,观察返回值,并解析0b 05 09 A1 ff ff ff ff f
44、f ff 04这条指令的意义。实例如图3.12所示。图 3.12返回块4数据4.4 请同学根据现在所学到的内容,自行完成写卡操作,在完成写卡后,再次读卡,观察是否正确写入信息。4.5 细心的同学可能已经观察到了,上位机和高频RFID模块间的通信协议和我们自定义的STM上的协议非常类似,也是第一个字节代表了整个指令的长度,第二个字节是功能吗。例如读卡号的指令02 A0, 其中02代表了这条指令的长度,而A0则说明上位机想要做的事是读卡号。 而在我们的实验中04 05 02 A0则是指令(协议)中包含了指令(协议)。其中04 05是上位机和STM单片机之间的协议指令,而02 A0则是上位机和高频R
45、FID模块间的协议指令。4.6 将实验箱配套的串口模块插在高频区的4pin插槽上,将PC机和串口模块相连,如图3.13,3.14所示。此时在打开串口助手,设置波特率为9600-8-N-1,再次发送指令02 A0并刷卡,依然会有正确的卡号返回,这是因为此时上位机适合高频模块直接通信了,不再通过STM单片机了,也就不需要发送它和STM单片机之间的协议指令了。图3.13图3.14实验四 UHF特高频RFID实验一、 实验目的1.1 掌握UHF特高频通讯原理1.2 掌握UHF特高频通讯协议1.3 掌握读卡器操作流程1.4 了解UHF特高频应用二、 实验设备硬件:RFID实验箱套件,电脑等。软件:Kei
46、l。三、 实验原理3.1特高频RIFD系统典型的特高频UHF(Ultra-High Frequency)RFID系统包括阅读器(Reader)和电子标签(Tag,也称应答器Responder)。其结构示意图如下图4.1所示。工作步骤如下:阅读器发射电磁波到标签;标签从电磁波中提取工作所需要的能量;标签使用内部集成电路芯片存储的数据调制并反向散射一部分电磁波到阅读器;阅读器接收反向散射电磁波信号并解调以获得标签的数据信息。电子标签通过反向散射调制技术给读写器发送信息。反向散射技术是一种无源RFID电子标签将数据发回读写器时所采用的通信方式。根据要发送的数据的不同,通过控制电子标签的天线阻抗,使得
47、反射的载波幅度产生微小的变化,这样反射的回波就携带了所需的传送数据。控制电子标签天线阻抗的方法有很多,都是基于一种称为“阻抗开关”的方法,即通过数据变化来控制负载电阻的接通和断开,那么这些数据就能够从标签传输到读写器。读写器 天线 Tag图 4.1 RFID系统结构示意图3.2电子标签存储结构特高频标签的工作频率在860MHz960MHz之间,可分为有源标签与无源标签两类。工作时,射频标签位于阅读器天线辐射场的远场区内,标签与阅读器之间的耦合方式为电磁耦合方式。阅读器天线辐射场为无源标签提供射频能量,将无源标签唤醒。目前UHF频段的标签芯片制造商主要有Alien、IMPINJ、TI、NXP、S
48、TM等,标签制造商通过设计天线并制作封装而生产出标签。标签的封装是各种各样,下图4.2是几种标签的外形。不同厂商的标签天线规格不同,同时天线的谐振频率点也不完全相同,这样当使用固定频点的读写器读一类标签时的效果很好,而读另一类标签的效果却会很差。电子标签芯片中的存储器EEPROM一般分为4个区,分别为保留内存(Reserved区)、EPC存储器(EPC区)、TID存储器(TID区)、用户存储器(USR区).有的标签可能没有USR区,而且标签的EEPROM存储器的大小会不同。比如有的标签的TID是8字节,有的是10个字节,其它区也一样。标签内部存储器具体结构如下图4.3所示,4.2 几种标签外形
49、图 4.3标签内部存储结构 l 保留内存:保留内存包含灭活口令(杀死口令)和访问口令。灭活口令为存储在保留内存 00h 至 1Fh 的32 位数值,MSB 优先,默认(未编程时)值为零。询问机可以使用标签的灭活口令灭活标签,使其不对询问机做任何响应。但如果标签的灭活口令为零,则标签不会执行相关灭活操作。可能有些标签没有保留内存区,不含有灭活口令。对这类标签操作时,可以认为其内部有初始化为零值的灭活口令,且该口令被永久的读锁定和写锁定。访问口令为存储在保留内存 20h 至 3Fh的 32 位数值,MSB 优先,默认(未编程时)值为零。访问口令非零的标签在转为保护状态之前要求询问机发出正确的访问口
50、令。可能有些标签没有保留内存区,不含有访问口令。对这类标签操作时,可以认为其内部有初始化为零值的访问口令,且该口令被永久的读锁定和写锁定。l EPC存储器:EPC 存储器包含在 00h 至 0Fh 存储位置的 16 位 StoredCR在 10h 至 1Fh 存储地址的协议控制字(StoredPC)和在 20h 开始的 EPC。有些标签还包含地址从 210h 开始的长为一个或两个字节的扩展协议控制字(XPC)。StoredCRC、StoredPC、EPC 应优先存储 MSB (EPC 的 MSB 应存储在20的存储位置)。StoredCRC 是标签为了保护在盘存操作期间反向散射的 Stored
51、PC 位和 EPC 而使用的循环冗余码校验。上电后,表亲啊计算EPC存储器的末端,但必须直至StoredPC中的length field规定的EPC的末端),并将所有计算的CRC-16映射到EPC存储器00h值1FH中,MSB优先。StoredPC 被划分成 10h 至 14h 存储位置的 EPC 长度、15h 存储位置的用户存储区标识(UMI)、16h 存储位置的扩展协议控制字 XPC 标识(XI)和在 17h 至 1Fh 存储位置的系统编号标识(NSI)。StoredPC 默认(未编程时)值为 0000h。l TID存储器:TID 存储器应包含 00h 至 07h 存储位置的 8 位 IS
52、O/IEC 15963 分配类识别(E0h 或 E2h)。07h以上存储位置的存储值由分配类识别的不同而不同。但一般包含制造商号和标签序号,同时还包含了足够的信息以保证读写器对 TID 存储区的正常操作。l 用户存储器:用户存储器允许存储用户指定数据。该存储器组织为用户定义。如果标签用户存储器未被编程,则其第一个字节的低五位(存储位置为 03h07h)应该为 0。注意所有存储体的逻辑寻址均从零(00h)开始,在一个逻辑存储体中的操作不应访问另 一存储体内的存储位置,物理内存映象图为提供商指定。访问存储器的命令需包含选择存储体类型的 MemBank 参数和以 EBV 格式选择该存储体内特定存储位
53、置的地址参数。更详细内容请参考EPC相关标准。3.3 UHF读写器协议标准3.3.1 标准简介特高频读写系统使用ISO18000-6c或EPC class1Generation2标准。读写器工作频段是840Mhz960Mhz。本实验平台UHF模块采用后者作为设计标准。EPC Class1 Generation2标准中规定高的空中接口的基本标准有:l 读写器发送命令编码采用脉冲间隔编码PIE(Pulse-Interval Encode)。它采用脉冲时间的长短来表示数据0或1。l 阅读器到标签的发射信号调制方式为DSB-ASK,SSB-ASK,或PR-ASK,调制深度最小为80%l 电子标签返回信
54、号编码方式FM0,Miller-2,Miller-4,或Miller-8l 电子标签返回信号调制方式ASK或者PSK(由标签芯片制造商决定)l 标准中还规定了整个读写标签的时序,标签的状态转换图等。同时各国家根据其国情而规定了具体使用的频段和有效的发射功率,在我国频率使用的相关规定有:l 工作频段840845Mhz和920925Mhzl 载波频率容限20e-6l 信道带宽(99%的能量)250Khzl 临道功率泄露比为40dB(第一邻道),60dB(第二邻道)l 发射功率2WE 3.3.2 标签状态EPC Class1 Gen2标准中规定了使用的命令集,命令可以分为通用命令、可选命令、以及定制命令,比如Select,Query,QueryRep,Ack,Req_RN,Read,Write等。读写器可以发送不同的命令,标签芯片根据接收到的不同命令转换其状态,标签有7种状态(图4.4),Ready,Arbitrate,Reply,Acknowledge,Open,Secured,Killed。UHF读写器通过发送不同命令,让标签在这7种状态之间进行转换。标签在不同的状态,会对写器发出的相同命令有不同的反应,时序表现也不尽相同。例如在标签进入了Open或Secured状态后,无论等多长时间,发送访问命令都会在这个状态,而在其它状态,会出现超时并进
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 房地产买卖合同与房地产买卖合同
- 药物治疗了吗练习卷附答案
- 第31讲 概率 2025年中考数学一轮复习讲练测(广东专用)
- 出国劳务经营合同范本
- 2025年车辆买卖定金合同模板
- 品牌命名策划合同范本
- 鸭霸王加盟合同范本
- 烟草专卖内管培训
- 断桥门窗安装合同范本
- 摆摊整体转让合同范本
- 输液港的植入和并发症处理课件
- 世界史知识点总结
- 公司IPQC巡检记录表
- 施工现场建筑垃圾处置专项方案
- 起重设备(龙门吊)安全专项检查表
- 环形锻件的轧制过程的基本原理和工艺流程
- 广东省茂名市电白区人民法院
- Q∕SY 1815-2015 排水采气用起泡剂技术规范
- 矿山环境保护ppt课件(完整版)
- 《我不能失信》PPT【名师课件】
- 幼儿园大班绘本:《没有牙齿的大老虎》 PPT课件
评论
0/150
提交评论