实验524G有源RFID低功耗.docx

上传人:b****5 文档编号:27634975 上传时间:2023-07-03 格式:DOCX 页数:12 大小:1.08MB
下载 相关 举报
实验524G有源RFID低功耗.docx_第1页
第1页 / 共12页
实验524G有源RFID低功耗.docx_第2页
第2页 / 共12页
实验524G有源RFID低功耗.docx_第3页
第3页 / 共12页
实验524G有源RFID低功耗.docx_第4页
第4页 / 共12页
实验524G有源RFID低功耗.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

实验524G有源RFID低功耗.docx

《实验524G有源RFID低功耗.docx》由会员分享,可在线阅读,更多相关《实验524G有源RFID低功耗.docx(12页珍藏版)》请在冰豆网上搜索。

实验524G有源RFID低功耗.docx

实验524G有源RFID低功耗

实验五2.4G有源RFID低功耗实验

一、实验目的

1.1了解有源RFID的相关标准

1.2了解有源RFID的应用领域

1.3熟悉有源标签内部结构及其工作状态

1.4实习有源RFID识别系统的各组成部分结构及工作原理

1.5分析2.4G固件程序,了解低功耗工作模式原理

二、实验设备

硬件:

RFDI实验箱套件,电脑等。

软件:

Keil。

三、实验原理

3.1有源RFID系统

图5.1有源系统组成

典型的有源RFID识别系统结构组成如上图所示,主要包括主机、阅读器、有源标签三大部分。

其中主机就是普通电脑,是RFID识别系统与特定应用系统的联结点,安装应用软件,通过阅读器提供的访问接口查询阅读器上已识别的标签ID。

本节仅对阅读器和有源标签的基本结构及其工作原理进行说明。

3.1.1阅读器:

阅读器在系统中的作用是探测监听附近区域的标签,解析并存储其ID,等待主机查询取用。

有源RFID系统中的阅读器与无源系统的阅读器在原理和结构上没有本质区别。

阅读器的一般结构示意图5.2所示

图5.2有源阅读器结构图

处理器:

处理器主要是指阅读器内的核心单片机,通过其上固化存储的程序完成对阅读器各功能模块的控制和相关数据处理功能。

数据存储器:

数据存储器用于暂存已收到的标签ID。

一般单片机芯片都集成了数据存储器。

射频发送模块:

阅读器与有源标签的通信接口,通过编码调制的无线电波与标签进行数据交换。

模块的发送和接收工作流程如下图5.3所示:

模块内部一般有载波生成电路、调制解调电路、载波收发电路。

如果模块采用硬件实现编解码,还会包含符合特定编码规则的编解码模块,否则将由嵌入式软件驱动实现数据编解码。

在阅读器的实际设计中,本模块可以由散件搭建,也可以选用成品集成电路。

图5.3射频模块工作流程图

通信接口:

本模块完成与主机的信息交换。

如果阅读器与主机采用有线连接,则通信接口有很多标准设备可供选择,如RS232,RS485,CAN,Ethernet等。

如果阅读器与主机间采用无线连接,则通信接口就是一个射频收发模块。

天线:

天线的主要作用是向外辐射电磁波。

一般天线都具有特征频率和方向特性,只有根据实际情况选用合适的天线才能保证阅读器的能力得到最大的发挥。

3.1.2有源标签

有源标签的结构组成如图5.4所示,与阅读器相比减少了通信接口部分,各部分的功能及工作原理基本一致。

差别在于标签与阅读器功能不同而导致的器件选型差异。

标签存储器容量一般比阅读器存储器小,仅存储标签ID及少量数据;一般有源标签都以自带电池为电源,所以必须选择功耗尽量低的设计,如果标签通过外部电源供电,则在设计上无需过多考虑功耗问题。

目前简单的有源标签大多为主动式ID标签,仅存储一个只读ID码,并按一定周期间隙向外广播ID;更高级的标签能够存储更多信息,响应阅读器的命令,甚至被设计为各种无线传感器或检测设备。

有源标签的最主要特点就在于标签不依靠阅读器发送的载波提供能量,而是具有独立的能量供应系统。

所以有源标签与无源标签相比,具有识别距离更远,配套阅读器发射功率更低的优点,但也有标签成本高,体积大,寿命短等缺点。

图5.4有源标签结构图

3.2有源RFID协议标准

有源RFID协议目前尚无统一的事实标准,不同厂商的协议实现差异性较大,所以阅读器和标签一般都不能互换通用。

工作在2.45GHz的有源RFID系统,其协议实现多参考ISO18000-4标准中的内容;工作在433MHz的有源RFID系统主要参考ISO18000-7标准。

本实验平台上的有源RFID工作在2.45GHz,所以本节仅对与其相关的ISO18000-4标准作简单介绍。

3.2.1标签存储结构

ISO18000-4标准(以下简称18000-4)规定标签数据以字节为单元进行存储,最大256个存储单元,每个单元可实现写锁定。

实际存储结构实现为四字节只读ID,ID由生产商在出厂时设置。

3.2.2标签状态转换

18000-4规定的标签在与阅读器的交互过程中会随命令不断改变自身状态,状态转换如下图5.5所示:

图5.5有源标签状态转换图

3.2.3编码方式

18000-4规定编码方式分为上行链路(阅读器->标签)和下行链路两种,上行为曼彻斯特编码,下行为FM0编码。

3.2.4调制方式

18000-4规定信号调制方式为上行链路和下行链路两种,上行为GMSK调制,下行为OOK调制。

3.2.5信息帧结构

18000-4规定的信息帧为比特流,结构可分命令帧和响应帧两种。

其中命令帧的结构为:

起始符+定界符+命令码+数据+CRC16;响应帧结构为:

起始符+数据+CRC16。

所有信息帧的发

送顺序为高位优先。

3.3标签识别过程

本实验平台所用2.4G有源RFID标签为主动式只读ID标签,阅读器模块为被动接收模块,系统实现为纯标签ID识别系统,不对标签作数据读写操作,具有多标签冲突处理机制。

标签识别机制:

本实验平台所用标签在独立3V电源驱动下间歇性工作,周期性对外广播ID,周期约为550ms。

标签对外广播ID的过程完全独立于阅读器的控制之外,阅读器只是监听标签广播,检测到信号后解调解码获得ID数据。

标签实际的工作状态转换如图5.6所示

图5.6有源标签实际工作状态转换图

四、实验步骤

手册地址:

\光盘\附件\2.4G资料

实验相关的工程代码文件地址:

\光盘\源代码\2.4G有源\2.4G有源RFID实验-低功耗

标签代码\光盘\源代码\2.4G有源\2.4G标签与读卡器固件\RFID_Tag,不支持二次开发。

标签配置指令请参考\光盘\附件\2.4G资料\标签配置命令

注意事项:

首先需要将纽扣电池与标签进行焊接。

4.1安装标签。

标签结构如图所示:

图5.7标签图5.8纽扣电池

标签底部标有VCC与GND,请将黑线焊接到GND上,红线焊接到VCC上即可,标签初始化为主动模式。

图5.9

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

可以发现此步与实验2中的4.1节相同,它们用的是同一个STM固件程序。

在串口助手上以十六进制发送0204,选择并使能2.4GHzRFID模块。

和低频RFID模块相同,2.4GHzRFID模块一旦使能,将处于主动监听阶段,无需上位机发送任何命令也可以查询周边的2.4G标签,并将标签数据返回给上位机。

注意:

当有多组同学一同做该实验室,因为读卡器的读卡范围很广,会接收到别组学生的标签号,建议学生一组一组有顺序的完成这一步骤。

4.3打开\光盘\源代码\2.4G有源\2.4G有源RFID实验-低功耗工程,编译并烧写入实验箱。

上电后,进入例程主界面。

也可以进行相同的测试。

界面核心代码:

voidWindow(void){

uint8_ti=0;

unsignedcharedit_cur;

GUI_CURSOR_Show();

/*建立窗体,包含了资源列表,资源数目,并指定回调函数*/

hWin=GUI_CreateDialogBox(aDialogCreate,GUI_COUNTOF(aDialogCreate),_cbCallback,0,0,0);

/*设置窗体字体*/

FRAMEWIN_SetFont(hWin,&GUI_FontComic18B_1);

FRAMEWIN_SetBarColor(hWin,0,GUI_LIGHTCYAN);

FRAMEWIN_SetClientColor(hWin,GUI_BLACK);

//FRAMEWIN_SetDefaulteBorSize(0);

/*BUTTON部件句柄及设置控件参数*/

hButton_bussys[0]=WM_GetDialogItem(hWin,GUI_ID_BUTTON0);

hButton_bussys[1]=WM_GetDialogItem(hWin,GUI_ID_BUTTON1);

hButton_bussys[2]=WM_GetDialogItem(hWin,GUI_ID_BUTTON2);

 

BUTTON_SetFont(hButton_bussys[0],&GUI_FontComic18B_1);

BUTTON_SetFont(hButton_bussys[1],&GUI_FontComic18B_1);

BUTTON_SetFont(hButton_bussys[2],&GUI_FontComic18B_1);

 

BUTTON_SetTextColor(hButton_bussys[0],0,GUI_BLUE);

BUTTON_SetTextColor(hButton_bussys[1],0,GUI_BLUE);

BUTTON_SetTextColor(hButton_bussys[2],0,GUI_BLUE);

BUTTON_SetBkColor(hButton_bussys[0],0,GUI_LIGHTCYAN);

BUTTON_SetBkColor(hButton_bussys[1],0,GUI_LIGHTCYAN);

BUTTON_SetBkColor(hButton_bussys[2],0,GUI_LIGHTCYAN);

BUTTON_SetBkColor(hButton_bussys[0],1,GUI_GRAY);

BUTTON_SetBkColor(hButton_bussys[1],1,GUI_GRAY);

BUTTON_SetBkColor(hButton_bussys[2],1,GUI_GRAY);

 

/*获得edit部件的句柄及设置控件参数*/

edit[0]=WM_GetDialogItem(hWin,GUI_ID_EDIT0);

edit[1]=WM_GetDialogItem(hWin,GUI_ID_EDIT1);

 

/*设置EDIT部件采用10进制范围50-20000*/

EDIT_SetDecMode(edit[1],0,0,2000,0,0);

EDIT_SetMaxLen(edit[0],40);

while

(1)

{

flag=0;

if(1==rec_f2)

{

rec_f2=0;

atoh(RxBuffer2,hex,8);

EDIT_SetText(edit[0],hex);

EDIT_SetValue(edit[1],i++);

Beep();

}

WM_Exec();

}

}

4.5点击start按钮,读写器开始接受标签信息。

按键响应函数:

staticvoid_cbCallback(WM_MESSAGE*pMsg){

intNCode,Id;

switch(pMsg->MsgId){

caseWM_NOTIFY_PARENT:

//通知父窗口有事件在窗口部件上发生

Id=WM_GetId(pMsg->hWinSrc);//获得对话框窗口里发生事件的部件的ID

NCode=pMsg->Data.v;//通知代码

switch(NCode){

caseWM_NOTIFICATION_RELEASED:

//窗体部件动作被释放

if(Id==GUI_ID_BUTTON1){//停止按钮动作

GPIO_SetBits(GPIOD,GPIO_Pin_3);

}

elseif(Id==GUI_ID_BUTTON0){//开始按钮动作

GPIO_ResetBits(GPIOD,GPIO_Pin_3);

USART2_OUT(start,2);

//BeepInit();

}

elseif(Id==GUI_ID_BUTTON2){//低功耗按钮动作

USART2_OUT(lowpower,2);//发送低功耗指令

}

break;

default:

break;

}

default:

WM_DefaultProc(pMsg);//默认程序来处理消息

break;

}

}

4.6点击stop按钮,停止接受标签信息。

4.7点Lowpower按钮,进入低功耗模式,标签被动接受指令。

可用万用表检测主动模式与被动模式下耗电情况。

标签低功耗核心代码:

if(rx_buf[0]==0x22)//数据已收到

{

sta=0;

delay(15);

PD_Mode();//关RF

rtc2_on();//开RTC2

PWRDWN=0x04;//进入低功耗模式,等待RTC2发送TICK信号唤醒

RX_Mode();

memrx=0x22;

}

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1