RFID实验箱实验指导书 - 图文

更新时间:2023-09-23 20:14:01 阅读量: IT计算机 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

广州飞瑞敖电子科技有限公司

R F I D 实 验 箱

实验指导书

广州飞瑞敖电子科技有限公司

实验一 开发环境的搭建及硬件测试实验 ..................................................................................... 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 实验六 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流水灯、LCD液晶屏等)。STM32F103VET6单片机有两路UART通信接口,其中UART1经由MAX232电平转换芯片与实验箱上的UART-STM32 DB9串口相连负责和上位机进行通信。而UART2与实验箱上的SWICH链路选择芯片组相连,通过PD12和PD13两个管脚进行链路选择,并最终和相对应的RFID模块进行通信。更详细的原理图请参考配套光盘\\附件\\实验箱原理图 目录下的文档。

本实验熟悉和学习Keil开发环境,下载相应的程序到STM32F103VET6上,并对实验箱上的硬件进行检测。在之后的实验中,将会详细的讲解STM32F103VET6单片机是如何控制各个组件并且如何和不同的RFID模块进行通信的。

四、实验步骤

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 打开工程

图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实验箱套件,电脑等。 软件:Keil,串口调试助手。

三、实验原理

3.1 低频RFID系统与ID卡

低频RFID系统读卡器的工作频率范围一般从120KHz到134KHz。该频段的波长大约为2500m,除了金属材料影响外,一般低频能够穿过任意材料的物品而不降低它的读取距离。低频RFID系统使用ID卡,全称为身份识别卡(Identification Card),作为其电子标签。ID卡是一种不可写入的感应卡,其内部唯一存储的数据是一个固定的ID卡编号,其记录内容(卡号)是由芯片生产厂商封卡出厂前一次性写入,封卡后不能更改,开发商只可读出卡号加以利用。ID卡与我们通常使用磁卡一样,仅仅使用了“卡的号码”而已,卡内除了卡号外,无任何保密功能,其“卡号”是公开、裸露的。目前市场上主要有台湾SYRIS的EM、美国HID、TI、MOTOROLA等各类ID卡。本实验平台使用EM系列ID卡,它符合ISO 18000-2标准,工作频率为125KHZ,后续的讲解也围绕这种标签展开。

ID 标签中保存的唯一数据——标签标识符(UID)以 64 位唯一识别符来识别。UID 由标签制造商永久设置,符合 ISO/IEC DTR15693。UID 使每一个标签都唯一、独立的编号。UID 包含(图2.1):

固定的8位分配级“EO”

根据ISO/IEC 7816-6/AM1定义的8位IC制造商代码 由IC制造商指定的唯一48位制造商序列号MSN

图2.1 UID结构图

3.2 ISO18000-2 标准

实验平台的低频ID模块符合ISO18000-2标准。询问器载波频率为125KHZ。ISO18000-2标准中规定了基本的空中接口的基本标准:

询问器到标签之间的通信采用脉冲间隔编码;

标签与询问器之间通过电感性耦合进行通信,当询问器以标准指令的形式访问标签时载波需加载一个4K位/秒曼彻斯特编码数据信号; 调制采用ASK调制,调制指数100%; 在实际通信系统中,很多系统都不能直接传送基带信号,必须用基带信号对载波波形的某些参量进行控制,是载波的这些参量随基带信号的变化而变化。由于正弦信号形式简单, 便于产生和接收,大多数数字通信系统中都采用正弦信号作为载波,即正弦波调制。数字调制技术是用载波信号的某些离散状态来表示所传送的信息,在接收端也只要对载波信号的离散调制参量进行检测。数字调制方式,一般有振幅键控(ASK)、移频键控(FSK)和移相键控(PSK)三种基本调制方式,如图2.2所示:

图 2.2 数字调试方式

在二进制振幅键控(ASK)方式下,当基带信号的值为1时,载波幅度为u1;当基带信号的值为0时,载波幅度为u2。定义调制系数为 M=(u1-u2)/(u1+u2),当u2为0时,调制系数m=100%。

图 2.3 振幅键控调制

射频工作区的载波频率125KHz; 工作频率精度0.1kHz之内;

标签以64位唯一识别符来唯一识别;

更多内容参考ISO 18000-2。

3.3 低频RFID系统读卡器

本实验平台使用EM系列ID卡,符合ISO 18000-2标准,工作频率为125KHZ,经读卡器译码后输出其十位十进制卡号。

图2.4是ID卡及其读卡器的工作原理框图,其中上半部分是ID卡的内部组成结构;下半部分是ID读卡器的组成结构。

ID卡的天线与其读卡器的天线之间构成空间耦合“变压器”,读卡器天线作为“变压器”初级线圈向空间发射125KHz的交变电磁场,进入该电磁场的ID卡通过其天线(“变压器”的次级线圈)获取能量,为其内部各功能部件提供工作电压。由于ID卡为只读型RFID卡,读卡器无须向ID卡发送任何数据或指令,一旦ID卡进入读卡器有效的工作区域内,其内部功能部件就开始工作,时序发生器部件控制存储器阵列和数据编码单元将其内部的64位信息调制后按顺序发送给读卡器,其中调制方式为ASK(移幅键控)调制。

图2.4 ID卡及读卡器的组成结构

读卡器中的4MHz振荡源经过32分频后得到125kHz的基准频率信号,该频率一方面为读卡器发射125kHz的交变电磁场提供工作时钟,另一方面为读卡器中微控制器解码提供基准时钟.当读卡器的工作区域内没有ID卡时,读卡器的检波电路没有输出,一旦有ID卡进入交变电磁场并将其曼彻斯特编码的数据信息调制后发送出来,读卡器的滤波电路、解调电路、检波电路和整形单元将调制在125kHz频率信号中的采用曼彻斯特编码的数据信息解调还原,微控制器接收到曼彻斯特编码数据信息后利用软件解码,从而读取ID卡的64位数据信息。

ID卡内部的曼彻斯特编码和原始数据信息关系见图2.5。曼彻斯特编码采用下降沿表示‘1’采用上升沿表示‘0’。读卡器的微控制器软件的主要功能就是对从ID卡接收到的曼彻斯特编码进行解码,得到ID卡内部的64位数据信息,然后进行CRC校验,如果校验成功,那么就完成了一次读卡过程。

图 2.5 曼彻斯特编码和原始数据信息关系

低频RFID系统工作流程如下:

1) 读卡器将载波信号经天线向外发送;

2) 标签中的电感线圈和电容组成的谐振回路接收读卡器发射的载波信号,标签中芯片的射频接口模块由此信号产生出电源电压、复位信号及系统时钟,使芯片“激活”;

3) 标签中的芯片将标签内存储的数据经曼彻斯特编码后,控制调制器上的开关电流调制到载波上,通过标签上天线回送给阅读器;

4) 阅读器对接收到的标签回送信号进行进行ASK解调、解码后就得到了标签的UID号,然后应用系统利用该UID号完成相关的操作。

简述上面的过程,我们可以把低频RFID读卡器的功能减单描述为:读取相关ID卡卡号,并把该卡号发送到应用系统上层,由上层系统完成相关数据信息的处理。由于ID卡卡内无内容,故其卡片持有者的权限、系统功能操作要完全依赖于上层计算机网络平台数据库的支持。

四、实验过程

实验相关的工程代码文件地址:?\\配套光盘\\源代码\\上位机开发用\\RFID-UART\\RVMDK

4.1 打开\\光盘\\源代码\\上位机开发用\\RFID-UART\\RVMDK工程目录,编译并烧写到实验箱,将实验箱上的UART-STM串口与PC机相连,打开电源,打开串口助手(\\光盘\\应用程序\\串口助手),按图2.6所示信息配置串口参数。

图 2.6 串口参数配置

4.2 将串口助手软件的发送区选择为十六进制发送,发送字节02 01,此时实验箱上低频模块区域的红色指示灯点亮,将ID卡置于低频模块区的线圈上方进行读卡操作,串口助手软件将会返回正确信息如图2.7所示。

图 2.7 串口返回ID卡号

4.3 固件程序功能及源码解析。

在该工程中,STM单片机内的固件程序有两个作用:

A) RFID模块选择功能。

B) 上位机和射频模块之间通信数据的包装和转发。

如电路原理图2.8、2.9所示。STM单片机的PA2和PA3管脚(既UART2)和一个链路选择开关芯片组(实验箱PCB板上标示为SWITCH)相连,然后通过PD12和PD13两路管脚进行链路选择。链路选择示意表如表1所示: PD12 低电平 低电平 高电平 高电平 PD13 低电平 高电平 低电平 高电平 通路描述 UART2与RXD3TXD3形成通路,单片机与低频模块实现通信。 UART2与RXD4TXD4形成通路,单片机与高频模块实现通信。 UART2与RXD5TXD5形成通路,单片机与超高频模块实现通信。 UART2与RXD6TXD6形成通路,单片机与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管脚 Main.c void chose_id(void) { //RxBuffer1[1]内存储这从上位机(PC)机接收到的数据,STM32通过UART1与PC机通信,UART1从PC机收到的数据暂存到RxBuffer中,通过判断RxBuffer中的第二个字节来判断PC机要做的事情。 switch(RxBuffer1[1]) { case 0x01: //当RxBuffer[1]=0x01时,上位机选择与低频RFID模块通信,此时将PD12和PD13全部拉低。 USART_Config(USART2, 9600); SWTICH_OFF; SWTICH1_OFF; SWTICH2_OFF; BEEP_ON; Delay(0xFFFFF); BEEP_OFF; break; case 0x02: //当RxBuffer[1]=0x02时,上位机选择与高频RFID模块通信,此时将PD12拉低、PD13拉高。 USART_Config(USART2, 9600); SWTICH_OFF; SWTICH1_OFF; SWTICH2_ON; BEEP_ON; Delay(0xFFFFF); BEEP_OFF; break; case 0x03: //当RxBuffer[1]=0x03时,上位机选择与特高频RFID模块通信,此时将PD12拉高、PD13拉低。

USART_Config(USART2, 57600); SWTICH_OFF; SWTICH1_ON; SWTICH2_OFF; BEEP_ON; Delay(0xFFFFF); BEEP_OFF; break; case 0x04: //当RxBuffer[1]=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: //当RxBuffer[1]=0x05时,此时上位机有话要跟它已经选择好的模块说(既上位机和RFID模块之间的通信协议),此时STM32单片机只是起到了一个数据转发的功能。 USART2_Puts(&RxBuffer1[2]); break; default: break; } } 通过上面源码中的注释部分,已经可以了解到,RxBuffer[1]这个字节相当于一个功能码,它描述了上位机想要做的事情,那RxBuffer[0]这个字节的作用是什么呢?这个字节值代表的是上位机发送给STM单片机的一条指令的总长度。至此,就不再难以理解4.2节中上位机发给实验箱单片机0x02 0x01这条指令的意义了,0x02指的是指令的长度是两个字节,0x01告诉单片机它想和低频RFID模块通信。

建立了STM的UART2和低频读卡器模块的通路同时,选择链路芯片组为低频模块供电,使其处于主动监听的工作状态,此时只需从UART2端口接收数据并且发送至UART1(与STM_UART相连)最终传送给上位机,这一过程是在中断函数中完成的,代码如下:

Stm32f10x_it.c void USART2_IRQHandler(void) { uint8_t tmp; if(USART_GetITStatus(USART2, USART_IT_RXNE) != RESET) //判断读寄存器是否非空

{ tmp = USART_ReceiveData(USART2); USART_SendData(USART1, tmp); } if(USART_GetITStatus(USART2, USART_IT_TXE) != RESET) //这段是为了避免STM32 USART 第一个字节发不出去的BUG { USART_ITConfig(USART2, USART_IT_TXE, DISABLE); //禁止发缓冲器空中断, } }

4.4仔细阅读和理解该工程中的相关代码,理解并联系链路选择芯片组的使用和串口通信管脚的使用。

图 3.7 PICC状态转化图

掉电状态(POWER OFF):在没有提供足够的载波能量的情况下,PICC不能对PCD发射的命令做出应答,也不能向PCD发送反射波;当PICC进入耦合场后,立即复位,进入闲置状态。

闲置状态(IDLE STATE):当PICC进入闲置状态时,标签已经上电,能够解调PCD发射的信号;当PICC接收到PCD发送的有效的REQA(对A型卡请求的应答)命令后,PICC将进入就绪状态。

就绪状态( READY STATE):在就绪状态下,执行位帧防碰撞算法或其他可行的防碰撞算法;当PICC标签处于就绪状态时,采用防冲突方法,用UID(惟一标识符)从多张PICC标签中选择出一张PICC;然后PCD发送含有UID的SEL命令,当PICC接收到有效的SEL命令时,PICC就进入激活状态(ACTIVE STATE)。

激活状态(ACTIVE STATE):在激活状态下,PICC应该完成本次应用所要求的所有操作(例如,读写PICC内部存储器);当处于激活状态的PICC接收到有效的HALT命令后,PICC就立即进入停止状态。

停止状态(HALT STATE): PICC完成本次应用所有操作后,应进入停止状态;当处于停止状态的PICC接收到有效的WAKE_UP命令时,PICC立即进入就绪状态。注意:当PICC处于停止状态下时,在重新进入就绪状态和激活状态后, PICC接受到相应命令,不在是进入闲置状态,而是进入停止状态。 3.4 高频RFID系统读写器

3.4.1 通信流程

高频RFID系统读写器与IC卡通信过程如图3.8所示,主要步骤有:

复位应答(Answer to request):M1射频卡的通讯协议和通讯波特率是定义好的,当有卡片进入读写器的操作范围时,读写器以特定的协议与它通讯,从而确定该卡是否为M1射频卡,即验证卡片的卡型。

防冲突机制(Anticollision Loop):当有多张卡进入读写器操作范围时,防冲突机制会从其中选择一张进行操作,未选中的则处于空闲模式等待下一次选卡,该过程会返回被选卡的序列号。具体防冲突设计细节可参考相关协议手册。

选择卡片(Select Tag)选择被选中的卡的序列号,并同时返回卡的容量代码。

三次互相确认(3 Pass Authentication):选定要处理的卡片之后,读写器就确定要访问的扇区号,并对该扇区密码进行密码校验,在三次相互认证之后就可以通过加密流进行通讯(在选择另一扇区时,则必须进行另一扇区密码校验)。

对数据块的操作:包括读、写、加、减、存储、传输、终止。

图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结构

图中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和SELECT命令执行防冲突循环操作,命令格式如下所示:

3.5 上位机与高频RFID模块间的通讯协议

在LF低频RFID实验中,上位机和低频RFID模块之间没有任何的协议通信,这是因为低频RFID功能简单,低频RFID模块只有一个工作状态就是监听状态,此时模块只需将监听到的标签数据传给上位机即可。而高频RFID以及之后将要学习的超高频RFID、2.4GRFID模块的功能就要多得多。除了简单的读卡外,还有写入数据,修改密码的功能,这就需要上位机和这些RFID模块之间进行通信。以下便是上位机和高频RFID之间的一些协议。 以下数据均为16进制,第一字节表示此次发生的字节长度 读卡号 02 A0 读数据

09 A1 Key0 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. 例:0xA2为写数据标志。

该卡密码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 . 例:0xA3为修改密码标志。

该卡原密码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-UART\\RVMDK工程目录,编译并烧写到实验箱,将实验箱上的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呢?正如实验二中所介绍的,0x04 0x05这两个字节上位机说给STM单片机听的,它的意思是我这条指令一共4个字节(0x),它的用处是一个和RFID模块的通信指令(0x05),STM单片机收到后,首先检测它收到的数据确实是4个,并且知道了0x02 0xa0是上位机要给某个RFID模块的,于是STM单片机就将这两个字节通过UART2口传给了真正能读懂它(0x02 0xa0)的RFID模块。(再次之前已经完成了模块的选择了。)

图3.11

4.3 读数据操作。在串口助手发送区发送十六进制字符串0b 05 09 A1 ff ff ff ff ff ff 04,观察返回值,并解析0b 05 09 A1 ff ff ff ff ff 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则是上位机和高频RFID模块间的协议指令。

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实验箱套件,电脑等。 软件:Keil。

三、 实验原理

3.1特高频RIFD系统

典型的特高频UHF(Ultra-High Frequency)RFID系统包括阅读器(Reader)和电子标签(Tag,也称应答器Responder)。其结构示意图如下图4.1所示。工作步骤如下:阅读器发射电磁波到标签;标签从电磁波中提取工作所需要的能量;标签使用内部集成电路芯片存储的数据调制并反向散射一部分电磁波到阅读器;阅读器接收反向散射电磁波信号并解调以获得标签的数据信息。电子标签通过反向散射调制技术给读写器发送信息。

反向散射技术是一种无源RFID电子标签将数据发回读写器时所采用的通信方式。根据要发送的数据的不同,通过控制电子标签的天线阻抗,使得反射的载波幅度产生微小的变化,这样反射的回波就携带了所需的传送数据。控制电子标签天线阻抗的方法有很多,都是基于一种称为“阻抗开关”的方法,即通过数据变化来控制负载电阻的接通和断开,那么这些数据就能够从标签传输到读写器。

读写器 天线 Tag

图 4.1 RFID系统结构示意图

3.2电子标签存储结构

特高频标签的工作频率在860MHz?960MHz之间,可分为有源标签与无源标签两类。工作时,射频标签位于阅读器天线辐射场的远场区内,标签与阅读器之间的耦合方式为电磁耦合方式。阅读器天线辐射场为无源标签提供射频能量,将无源标签唤醒。目前UHF频段的标签芯片制造商主要有Alien、IMPINJ、TI、NXP、STM等,标签制造商通过设计天线并制作封装而生产出标签。标签的封装是各种各样,下图4.2是几种标签的外形。不同厂商的标签天线规格不同,同时天线的谐振频率点也不完全相同,这样当使用固定频点的读写器读一类标签时的效果很好,而读另一类标签的效果却会很差。

电子标签芯片中的存储器EEPROM一般分为4个区,分别为保留内存(Reserved区)、EPC存储器(EPC区)、TID存储器(TID区)、用户存储器(USR区).有的标签可能没有USR区,

而且标签的EEPROM存储器的大小会不同。比如有的标签的TID是8字节,有的是10个字节,其它区也一样。标签内部存储器具体结构如下图4.3所示,

4.2 几种标签外形

图 4.3标签内部存储结构

保留内存:保留内存包含灭活口令(杀死口令)和访问口令。灭活口令为存储在保留内存 00h 至 1Fh 的32 位数值,MSB 优先,默认(未编程时)值为零。询问机可以使用标签的灭活口令灭活标签,使其不对询问机做任何响应。但如果标签的灭活口令为零,则标签不会执行相关灭活操作。可能有些标签没有保留内存区,不含有灭活口令。对这类标签操作时,可以认为其内部有初始化为零值的灭活口令,且该口令被永久的读锁定和写锁定。访问口令为存储在保留内存 20h 至 3Fh的 32 位数值,MSB 优先,默认(未编程时)值为零。访问口令非零的标签在转为保护状态之前要求询问机发出正确的访问口令。可能有些标签没有保留内存区,不含有访问口令。对这类标签操作时,可以认为其内部有初始化为零值的访问口令,且该口令被永久的读锁定和写锁定。

EPC存储器:EPC 存储器包含在 00h 至 0Fh 存储位置的 16 位 StoredCR在 10h 至 1Fh 存储地址的协议控制字(StoredPC)和在 20h 开始的 EPC。有些标签还包含地址从

210h 开始的长为一个或两个字节的扩展协议控制字(XPC)。StoredCRC、StoredPC、EPC 应优先存储 MSB (EPC 的 MSB 应存储在20的存储位置)。StoredCRC 是标签为了保护在盘存操作期间反向散射的 StoredPC 位和 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。

TID存储器:TID 存储器应包含 00h 至 07h 存储位置的 8 位 ISO/IEC 15963 分配类识别(E0h 或 E2h)。07h以上存储位置的存储值由分配类识别的不同而不同。但一般包含制造商号和标签序号,同时还包含了足够的信息以保证读写器对 TID 存储区的正常操作。

用户存储器:用户存储器允许存储用户指定数据。该存储器组织为用户定义。如果标签用户存储器未被编程,则其第一个字节的低五位(存储位置为 03h—07h)应该为 0。 注意所有存储体的逻辑寻址均从零(00h)开始,在一个逻辑存储体中的操作不应访问另 一存储体内的存储位置,物理内存映象图为提供商指定。访问存储器的命令需包含选择 存储体类型的 MemBank 参数和以 EBV 格式选择该存储体内特定存储位置的地址参数。

更详细内容请参考EPC相关标准。 3.3 UHF读写器协议标准

3.3.1 标准简介

特高频读写系统使用ISO18000-6c或EPC class1Generation2标准。读写器工作频段是840Mhz~960Mhz。本实验平台UHF模块采用后者作为设计标准。EPC Class1 Generation2标准中规定高的空中接口的基本标准有:

读写器发送命令编码采用脉冲间隔编码PIE(Pulse-Interval Encode)。它采用脉冲时间的长短来表示数据0或1。

阅读器到标签的发射信号调制方式为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(第二邻道) 发射功率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读写器通过发送不

本文来源:https://www.bwwdw.com/article/kdzd.html

Top