首页 理论教育 超高频RFID读写实验-物联网实验教程

超高频RFID读写实验-物联网实验教程

时间:2023-10-21 理论教育 版权反馈
【摘要】:感受UHF频段的RFID技术远距离读写的能力,并能够使用IOT-RFID-UHF读写器进行相关工作和工程的实现。规定主机发给读写器的数据帧为命令,读写器返回给主机的数据帧为响应。通过对PC后台程序的阅读,对超高频RFID有一个直观的认识和了解。

超高频RFID读写实验-物联网实验教程

1.实验目的

通过本实验了解IOT-RFID-UHF读写器(915MHz)的工作方式、后台配置程序、演示程序的操作方式,能够正确地操作读写器对标签进行读写。感受UHF频段的RFID技术远距离读写的能力,并能够使用IOT-RFID-UHF读写器进行相关工作和工程的实现。

2.实验设备

(1)硬件

● IOT-RFID-UHF读写器1台。

● RS232串口通信线(交叉线)1条。

● +5V/1A电源适配器1个。

天线1副。

● 915MHz无源RFID卡片若干。

(2)软件

● 工作参数配置程序SetReaderMemo.exe。

● 读写器演示程序ReaderMemo.exe。

3.实验原理

本实验通过PC后台与IOT-RFID超高频读写器的串口通信,实现对读写器的工作方式和各参数的配置,并实现UHF读写器对于标签的读取、写内存、单标签读取、多标签读取、天线选择配置等功能定义。PC后台和读写器的通信采用面向字节的异步通信协议数据格式。规定主机发给读写器的数据帧为命令,读写器返回给主机的数据帧为响应。命令或响应数据帧是变长字节数,采用组包方法并用CRC校验方法进行后向检错。

978-7-111-34147-5-Chapter03-124.jpg

图3-21 IOT-RFID超高频读写器通信协议结构图

通信协议采用如图3-21所示的层次结构,包括物理层、数据链路层应用层。本协议对物理层和数据链路层进行了定义。

物理层完成信号比特数据发送与接收,IOT-RFID读写器在物理层有多种连接方式,包括RS-232、RS-485、USB、韦根接口和网络接口。

其中RS-232接口具体设计要求如下:

● 1位起始位、8位数据位、1位停止位、无奇偶校验

● 通信波特率设计为9600bit/s、19200bit/s、38400bit/s、57600bit/s、115200bit/s可选。读写器上电或复位后初始波特率为9600bit/s,可由主机发送命令改变读写器通信波特率。当主机与读写器传输发生错误时,读写器波特率恢复为9600bit/s。数据链路层具体规定命令帧和响应帧的类型与数据格式。帧类型分为命令帧、响应帧。

下面详细介绍数据链路层通信协议格式和部分设置命令。

(1)命令帧格式

命令帧是主机操作读写器的数据帧,格式如表3-1所示。

表3-1 IOT-RFID超高频读写器命令帧格式

978-7-111-34147-5-Chapter03-125.jpg

其中:

Start为帧头域,固定为0xE0;

Length是包长域,表示Length域后帧中字节数,长度2字节;

ReaderID是站地址域,在总线网络中,表明读写器的唯一身份,0xFF代表任意站,0x00代表广播地址,0x01~0xFE代表可独立寻址的站;

Flags是数据区的标志域,0x00表示Parameter域不存在,0x01表示有Parameter域;

Command是命令码域,一个字节;

Parameter是命令帧中的参数域,该域为可选域,取决于命令码;

CRC是CRC-16循环冗余校验域,校验范围是从帧头域到参数域最后一个字节为止,采用CRC_CCITT多项式(x16+x12+x5+1),初始值为0xFFFF。

(2)响应帧格式

响应帧是读写器返回给主机的数据帧,响应帧包含了读写器需要采集的数据,其格式定义如表3-2所示。

表3-2 IOT-RFID超高频读写器响应帧格式

978-7-111-34147-5-Chapter03-126.jpg

其中:

Start为帧头域,固定为0x0E;

Length是包长域,表示Length域后帧中字节数,长度2字节;

ReaderID是站地址域,返回读写器的ID;

Flags是数据区的标志域,0x00返回帧中不存在数据域,0x01表示存在;

Response Code是响应码域,取值为所响应的命令帧的命令码;

Status表示命令的执行结果,0表示正确执行,其他值表示有错误发生;

Response Data是响应帧中的参数域;

CRC是CRC-16循环冗余校验域,校验数据与命令帧相同。(www.xing528.com)

(3)读写器常用命令

1)Set Baud Rate:该命令设置读写器RS232的通信波特率,命令的格式如表3-3所示。

表3-3 设置读写器RS232通信波特率命令格式

978-7-111-34147-5-Chapter03-127.jpg

New Baud Rate为需要设置的波特率参数。具体参数含义为:0x00,9600bit/s;0x01,19200bit/s;0x02,38400bit/s;0x03,57600bit/s;0x04,115200bit/s。

读写器接收到此命令帧后,以原来波特率返回命令完成帧后修改读写器参数以新波特率进行通信。后台接收到相应操作时调用该函数来对读写器进行处理设置。PC后台设置读写器RS232通信波特率的相关代码如下:

978-7-111-34147-5-Chapter03-128.jpg

978-7-111-34147-5-Chapter03-129.jpg

2)Reset Reader:该命令对读写器进行复位,命令的格式如表3-4所示。

表3-4 读写器复位命令格式

978-7-111-34147-5-Chapter03-130.jpg

读写器收到此命令帧后,先返回命令完成帧,然后对读写器进行复位。在实验中,后台接收到相应按钮操作后,会调用该函数对读写器进行命令操作,发送相应的命令帧,以实现读写器的复位,相关的PC后台代码如下:

978-7-111-34147-5-Chapter03-131.jpg

978-7-111-34147-5-Chapter03-132.jpg

3)SetReaderID:该命令设置读写器ID,命令格式如表3-5所示。

表3-5 设置读写器ID命令格式

978-7-111-34147-5-Chapter03-133.jpg

New Reader ID为修改后的读写器ID,读写器接收到此命令帧后,修改读写器ID值,并以新读写器ID返回如表3-6所示格式的命令完成帧。

表3-6 读写器ID设置完成命令格式

978-7-111-34147-5-Chapter03-134.jpg

PC后台程序设置读写器ID的相关代码如下:

978-7-111-34147-5-Chapter03-135.jpg

978-7-111-34147-5-Chapter03-136.jpg

4.实验内容

了解ISO 18000-6C相关标准,并熟悉IOT-RFID-UHF读写器的正确操作方法。通过对PC后台程序的阅读,对超高频RFID有一个直观的认识和了解。

5.实验步骤

1)把RS-232交叉串口线母头一端可靠连接在PC的COM1端,另一端公头可靠连接在读写器的串口端。

2)选择将要工作的天线号ANT1,将天线的MAC端连接到读写器上对应的天线接口ANT1上。

3)将5V的电源适配器输入端连接到交流电源的插座上,直流输出端插入读写器电源插孔,给读写器供电,可以观察到读写器上红色LED灯被点亮,系统即完成初始化过程,进入待机状态,同时读写器会自动检测天线接口上的天线,安装有天线的ANT1对应的LED将被点亮。如果未被点亮,请检查电源和读写器。(在读写器上电之前必须确保已连接上了天线)。接通读写器后,读写器进入待机状态,考虑到用户需要,读写器在出厂时已经配置了基本参数,以满足基本的操作要求。如果不需要对参数进行设置,请直接进入步骤5)进行相关操作。当用户需要对读写器的工作参数进行个性化配置时,请进入下面的操作步骤。

4)在PC上打开工作参数配置程序SetReaderMemo.exe,选择串口COM1,与连接PC的串口端匹配;波特率可以根据要求在下拉菜单中选择设置,ReaderID为“FF”,单击“连接”按钮,观察状态信息栏的输出信息,如果读写器与PC连接成功,信息栏中会显示相关信息;如果信息框出现“串口打开失败”等信息,表明读写器与PC连接失败,请检查读写器和串口线。

单击“参数设置”按钮,可以查询和设置读写器相关查询,参数配置分为工作方式设置、读写器参数设置、协议参数设置和功率设置4个模块。在工作方式模块中,可设置读写器的工作方式,分别可选主从工作方式、定时工作方式或触发工作方式;同时可设置通信方式,分别可选RS-232、RS-485等方式;可配置蜂鸣器的工作方式和掉电波特率保存等设置,在选择完相关信息后,单击右边的“设置参数”按钮,可将相关设置配置到读写器中,单击“查询设置”按钮可查询读写器现有的配置参数。

单击“默认参数”可将读写器参数恢复到出厂默认状态。如果设置成功,信息栏中将显示相应信息。在读写器参数模块中可设置读写器串口波特率、当前工作天线和工作天线、天线检测、读写器工作频段,跳频频点、跳频时间间隔、读写器相关ID和IP号等,在协议参数模块中可设置支持协议及相关参数,主要为协议标准选择,功率设置可分别配置1~4号天线的工作功率,并可查询现有的天线工作功率。

单击“EPCC1G2标签读写命令”,可以对CIG2标签进行设置和读取地址的命令设置,此设置主要针对不同的用户区进行设置,通常情况下无需使用,请慎重设置。设置完所有的读写器参数后。

单击“更新数据”,将所有参数更新到读写器中,同时读写器会自动和SetReaderMemo.exe断开连接。

在PC上打开读写器演示程序ReaderMemo.exe,选择串口COM1,与连接PC的串口端匹配;波特率可以根据要求在下拉菜单中选择设置,ReaderID“FF”,单击“连接”按钮,观察状态信息栏的输出信息,如果读写器与PC连接成功,信息栏中会显示相关信息;如果信息框出现“串口打开失败”等信息,表明读写器与PC连接失败,请检查读写器和串口线。

在读写器演示程序中,分为标签ID识别命令、ISO18000标签读写命令、EPCC1G2标签读写命令、读写器参数设置命令4个模块。

5)将对应的UHF标签放于天线的正前方,角度尽量和天线表面平行,然后单击“标签ID识别命令”按钮,可选择识别命令、识别的标签类型,读取次数和读取的时间间隔,同时也可以选择连续读取功能,在选择完后,单击“开始”按钮读写器开始工作,读取相应标签,信息栏中将显示读取到的标签ID号和次数,此时对应的COM口和RF口LED灯将会连续闪亮,等读取到相关标签时,READ的LED灯闪亮,同时蜂鸣器鸣叫(蜂鸣器鸣叫已被选择)。单击“连续开始”按钮,信息栏中将显示读取命令次数、读取成功数和对应的标签ID号,再次单击“连续开始”按钮,连续读取结束,按钮右边的显示框中将自动显示出指令次数、成功次数和成功率统计。

在ISO 18000标签读写命令、EPC C1G2标签读写命令中,可分别对ISO18000-6B和6C的标签进行相关的用户区数据读写,以及LOCK操作。在相关操作后信息栏中将显示对应的信息。

在读写器参数设置命令中,可以对读写器的部分参数进行设置,如波特率、当前工作天线、跳频方式、工作天线的功率等,在选择完相关参数后,需要单击其右方的“设置”按钮使参数设置生效,其中的循环标志是指对所选择的天线进行循环工作读取。

6.思考题

1)实验中用到了天线ANT1,能否通过实验的学习,手动改为其他天线接口?

2)本套系统能否增加通信距离,手段都有哪些?

3)如何实现多标签读取?

7.补充阅读

[1]ISO/IEC 18000-6:2004Information technology—Radio frequency identification for item management—Part6:Parameters for air interface communications at 860 MHz to 960 MHz.

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈