实验524G有源RFID低功耗.docx
- 文档编号:9013853
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:15
- 大小:565.27KB
实验524G有源RFID低功耗.docx
《实验524G有源RFID低功耗.docx》由会员分享,可在线阅读,更多相关《实验524G有源RFID低功耗.docx(15页珍藏版)》请在冰豆网上搜索。
实验524G有源RFID低功耗
实验五2.4G有源RFID低功耗实验
一、实验目的
1.1了解有源RFID的相关标准
1.2了解有源RFID的应用领域
1.3熟悉有源标签内部结构及其工作状态
1.4实习有源RFID识别系统的各组成部分结构及工作原理
1.5分析2.4G固件程序,了解低功耗工作模式原理
二、实验设备
硬件:
RFDI实验箱套件,电脑等。
软件:
Keil。
三、实验原理
有源RFID系统
阀读器
图5.1有源系统组成
典型的有源RFID识别系统结构组成如上图所示,主要包括主机、阅读器、有源标签
三大部分。
其中主机就是普通电脑,是RFID识别系统与特定应用系统的联结点,安装应
用软件,通过阅读器提供的访问接口查询阅读器上已识别的标签ID。
本节仅对阅读器和有
源标签的基本结构及其工作原理进行说明。
阅读器:
阅读器在系统中的作用是探测监听附近区域的标签,解析并存储其ID,
等待主机查询取用。
有源RFID系统中的阅读器与无源系统的阅读器在原理和结构上没有本质区别。
阅读器的一般结构示意图5.2所示
1
图5.2有源阅读器结构图
处理器:
处理器主要是指阅读器内的核心单片机,通过其上固化存储的程序完成对阅读
器各功能模块的控制和相关数据处理功能。
数据存储器:
数据存储器用于暂存已收到的标签ID。
一般单片机芯片都集成了数据存
力型理
WWo
射频发送模块:
阅读器与有源标签的通信接口,通过编码调制的无线电波与标签进行数据
交换。
模块的发送和接收工作流程如下图5.3所示:
模块内部一般有载波生成电路、调制解
调电路、载波收发电路。
如果模块采用硬件实现编解码,还会包含符合特定编码规则的编
解码模块,否则将由嵌入式软件驱动实现数据编解码。
在阅读器的实际设计中,本模块可以
由散件搭建,也可以选用成品集成电路。
图5.3射频模块工作流程图
通信接口:
本模块完成与主机的信息交换。
如果阅读器与主机采用有线连接,则通信
接口有很多标准设备可供选择,如RS232,RS485,CAN,Ethernet等。
如果阅读器与主
机间采用无线连接,则通信接口就是一个射频收发模块。
天线:
天线的主要作用是向外辐射电磁波。
一般天线都具有特征频率和方向特性,只有
根据实际情况选用合适的天线才能保证阅读器的能力得到最大的发挥。
有源标签
有源标签的结构组成如图5.4所示,与阅读器相比减少了通信接口部分,各部分的功能
及工作原理基本一致。
差别在于标签与阅读器功能不同而导致的器件选型差异。
标签存储器
容量一般比阅读器存储器小,仅存储标签ID及少量数据;一般有源标签都以自带电池为电
源,所以必须选择功耗尽量低的设计,如果标签通过外部电源供电,则在设计上无需过多考
虑功耗问题。
目前简单的有源标签大多为主动式ID标签,仅存储一个只读ID码,并按一定周期间
隙向外广播ID;更高级的标签能够存储更多信息,响应阅读器的命令,甚至被设计为各种无线传感器或检测设备。
有源标签的最主要特点就在于标签不依靠阅读器发送的载波提供能量,而是具有独立的
能量供应系统。
所以有源标签与无源标签相比,具有识别距离更远,配套阅读器发射功率更低的优点,但也有标签成本高,体积大,寿命短等缺点。
电霹存储器
时蛔收发索央处理器
图5.4有源标签结构图
有源RFID协议标准
有源RFID协议目前尚无统一的事实标准,不同厂商的协议实现差异性较大,所以阅读
器和标签一般都不能互换通用。
工作在2.45GHz的有源RFID系统,其协议实现多参考ISO18000-4标准中的内容;工作在433MHz的有源RFID系统主要参考ISO18000-7标准。
本实验平台上的有源RFID工作在2.45GHz,所以本节仅对与其相关的ISO18000-4标准
作简单介绍。
标签存储结构
ISO18000-4标准(以下简称18000-4)规定标签数据以字节为单元进行存储,最大256个存储单元,每个单元可实现写锁定。
实际存储结构实现为四字节只读ID,ID由生产商在出厂时设置。
标签状态转换
18000-4规定的标签在与阅读器的交互过程中会随命令不断改变自身状态,状态转换如下图5.5所示:
图5.5有源标签状态转换图
编码方式
18000-4规定编码方式分为上行链路(阅读器->标签)和下行链路两种,上行为曼彻斯特
编码,下行为FM0编码。
调制方式
18000-4规定信号调制方式为上行链路和下行链路两种,上行为GMSK调制,下行为OOK
调制。
信息帧结构
18000-4规定的信息帧为比特流,结构可分命令帧和响应帧两种。
其中命令帧的结构为:
起始符+定界符+命令码+数据+CRC16;响应帧结构为:
起始符+数据+CRC16。
所有信息帧的发
送顺序为高位优先。
标签识别过程
本实验平台所用2.4G有源RFID标签为主动式只读ID标签,阅读器模块为被动接
收模块,系统实现为纯标签ID识别系统,不对标签作数据读写操作,具有多标签冲突处
理机制。
标签识别机制:
本实验平台所用标签在独立3V电源驱动下间歇性工作,周期性对外
广播ID,周期约为550ms。
标签对外广播ID的过程完全独立于阅读器的控制之外,阅读器只是监听标签广播,检测到信号后解调解码获得ID数据。
标签实际的工作状态转换
如图5.6所示
四、实验步骤
手册地址:
光盘附件\2.4G资料
实验相关的工程代码文件地址:
光盘源代码\2.4G有源\2.4G有源RFID实验-低功耗
标签代码光盘源代码\2.4G有源\2.4G标签与读卡器固件\RFID_Tag,不支持二次开发。
标签配置指令请参考光盘附件\2.4G资料标签配置命令注意事项:
首先需要将纽扣电池与标签进行焊接。
安装标签。
标签结构如图所示:
标签底部标有VCC与GND,请将黑线焊接到GND上,红线焊接到VCC上即可,标签初
始化为主动模式。
图5.9
打开光盘源代码上位机开发用\RFID-UART\RVMDK工程目录,编译并烧写到实验箱,将实验箱上的UART-STM串口与PC机相连,打开电源,打开串口助手光盘应用程
序串口助手),并正确配置串口参数。
可以发现此步与实验2中的4.1节相同,它们用的是同
一个STM固件程序。
在串口助手上以十六进制发送
0204,选择并使能2.4GHzRFID模块。
和低频RFID模块相同,2.4GHzRFID模块一旦使能,将处于主动监听阶段,无需上位机发
送任何命令也可以查询周边的2.4G标签,并将标签数据返回给上位机。
注意:
当有多组同学一同做该实验室,因为读卡器的读卡范围很广,会接收到别组学生的标签号,建议学生一组一组有顺序的完成这一步骤。
打开光盘源代码\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_SetBarC010r(hWin,0,GUI_LIGHTCYAN);
FRAMEWIN_SetClientC010r(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_SetTextC010r(hButton_bussys[0],0,GUI_BLUE);
BUTTON_SetTextC010r(hButton_bussys[1],0,GUI_BLUE);
BUTTON_SetTextC010r(hButton_bussys[2],0,GUI_BLUE);
BUTTON_SetBkC010r(hButton_bussys[0],0,GUI_LIGHTCYAN);
BUTTON_SetBkC010r(hButton_bussys[1],0,GUI_LIGHTCYAN);
BUTTON_SetBkC010r(hButton_bussys[2],0,GUI_LIGHTCYAN);
BUTTON_SetBkC010r(hButton_bussys[0],1,GUI_GRAY);
BUTTON_SetBkC010r(hButton_bussys[1],1,GUI_GRAY);
BUTTON_SetBkC010r(hButton_bussys[2],1,GUI_GRAY);
/*获彳导edit部件的句柄及设置控件参数*/
edit[0]=WM_GetDia1ogItem(hWin,GUI_ID_EDIT0);
edit[1]=WM_GetDia1ogItem(hWin,GUI_ID_EDIT1);
/*设置EDIT部件采用10进制范围50-20000*/
EDIT_SetDecMode(edit[1],0,0,2000,0,0);
EDIT_SetMaxLen(edit[0],40);
whi1e
(1)
{
f1ag=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();
}
}
点击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);
break;
}
}
点击stop按钮,停止接受标签信息。
点Lowpower按钮,进入低功耗模式,标签被动接受指令。
可用万用表检测主动模式
与被动模式下耗电情况。
标签低功耗核心代码:
if(rx_buf[0]==0x22)
(
sta=0;
delay(15);
PD_Mode();
rtc2_on();
PWRDWN=0x04;
送TICK信号唤醒
RX_Mode();
//数据已收到
//关RF
//开RTC2
//进入低功耗模式,等待RTC2发
memrx=0x22;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 524 有源 RFID 功耗