×
单片机 > 单片机程序设计 > 详情

RFID低功耗电子标签和手持阅读器设计开发

发布时间:2021-05-13 发布时间:
|

射频识别RFID(Radio Frequency Identification)是近20年来蓬勃兴起的一种自动识别技术,它的应用领域十分广泛,如油田采油车出入自动识别管理与监测系统就是一个很好的例子,它能使管理人员及时掌握油田采油车辆和油井采油动态[1],以便更好地进行合理调度与管理等。


本文设计开发的RFID电子标签和阅读器应达技术参数指标如表1和表2所示。



1 硬件设计


1.1 总体方案


本文设计开发的射频收发系统的组成如图1所示。计算机通过异步串口向ARM控制器传送指令;ARM控制器再通过nRF24L01按照一定通信协议[2]将信号发送给指定地址的标签;若标签处于阅读器范围内[3],经外部触发后,会发送标签的一些相关信息给阅读器;阅读器部分的无线收发模块通过串口将接收到的数据上传至上位机进行数据显示处理。



1.2 电路设计


1.2.1 低功耗电子标签


单片机与nRF24L01连接电路设计如图2所示。



MSP430F149单片机的P1.6引脚接收来自nRF24L01的中断,低电平有效;由P1.7引脚控制nRF24L01的CE端,CE端的电平决定nRF24L01工作在接收模式还是发送模式;由P5.0引脚控制nRF24L01的片选使能CSN,CSN为低后SPI接口等待执行指令,每一条指令的执行都必须经过一次CSN由高到低的变化;MISO和MOSI分别为串行输入和输出,分别由P5.1和P5.2引脚控制。


1.2.2 阅读器


ARM系列单片机STR711FR2芯片与nRF24L01连接电路设计如图3所示。由单片机的P0.7引脚来控制CE端;由P0.10引脚接收来自nRF24L01的中断;由P1.9引脚控制nRF24L01的片选使能CSN;由P0.12引脚控制串行输出口MOSI;由P0.13引脚控制串行输入口MISO。STR711FR2采用16 MHz有源晶振,与上位机采用串口通信。



2 软件设计


2.1 通信协议和串口中断


本文所设计的RFID通信模块实现的功能包括广播识别、读/写标签编号、读/写标签密码、读/写标签数据信息。该通信协议如表3所示。



若在通信协议中设置较短的地址和校验可以提高传输的效率,同时为增强程序的运行效率,阅读器采用UART全局接收中断模式,以保证即时接收到上位机的指令。阅读器串口中断子程序如下:


void UART0_IRQHandler(void)


{ int k;


for (k=0; k<18; k++)


UART_ByteReceive(UART0, (u8*) &


bRByte[k], 0xFF);


uart_flag=1;


}


2.2 软件流程图


2.2.1 阅读器指令发送子程序


阅读器上电后,检查阅读器与上位机通信是否正常,当调试好串口工作后,按如图4所示的发送主程序流程进行指令发送。首先进行初始化,将nRF24L01的工作模式、通信地址及通信速率等参数配置好,然后等待上位机的数据包。阅读器在对上位机发送来的指令校验无误后,会向指定标签发送数据包,标签收到数据包后会发送一帧应答数据包,阅读器接收到应答数据包后,在PDA显示出来,至此完成一次数据的传递。



当有多个标签时,阅读器采用分时发送识别指令方式,可知道哪个标签没有在阅读器范围内。但应注意的是,阅读器每次向标签发送指令后,都应随后再发送一包指令来清理标签自动应答缓冲区(W_ACK_PAYLOAD),避免下次发送不同的指令时出现应答错误。


2.2.2 标签指令接收子程序


标签上电后,首先进行初始化,使标签完成一些配置寄存器的设置,然后进入待机模式,当标签进入阅读器的范围内,经阅读器唤醒后,标签会产生接收中断跳入监听指令子程序,即从低功耗模式转入工作模式,开始监听空中的数据包。当自动应答有效时,ACK消息将被发回。标签指令接收子程序流程图如图5所示。



2.3 电子标签低功耗模式软件编程实现


低功耗标签子程序设计如下所示:


while(1)


{ if(flag_r==0)


CLR_CE; //使NRF24L01进入待机模式


WDTCTL=WDT_MDLY_32; //定时器


IE1|=WDTIE;


BIS_SR(LPM0); //单片机进入LPM0模式


while(flag_wr==1||flag_r==1) //接收中断标志


{ IE1|=0x00;


flag_wr=0;


lag_r=0; //接收标志清零


BIS_SR(LPM2);} //使单片机进入LPM2模式


delay(3000); }


3 标签测试结果与分析


标签设计可根据需要设计出两种天线形式,本次测试设计出板载天线[4]和外置天线两种电路板。测试时可将毫安表串联于电路中,观察标签的功耗变化,在不同的功耗下分别进行测试。测试结果表明,外置天线和板载天线都能满足使用者要求。外置标签通信测试结果如图6所示。



从图中可以看出,功耗在12.3 mA时,随着阅读器与电子标签距离的增加,到达10 m处通信成功率恒定为100%,此时标签一直处于接收模式;设置并调整软件中相关参数使得标签功耗为6 mA左右时,随着距离的增加,在6 m以内通信成功率为100%,大于6 m时通信成功率会有一定的下降,但能保证在90%以上;设置并调整软件相关参数使得功耗降低到1.2 mA左右时,随着距离的增加通信成功率会明显降低,但在10 m以内仍能保证较高的通信成功率,此时功耗已降到最低,通过重复2~3次识别,其成功率完全能满足使用需求。


本文设计了一种由单片机控制、以nRF24L01为无线射频收发芯片的RFID通信方案,其特点是通信快速和功耗较低。电子标签在不工作情况下,功耗可降到1.2 mA左右。该设计还适用于多个电子标签场合,阅读器采用分时向标签发送指令的方式,每次发送后应再发送一包指令清理标签自动应答缓冲区(W_ACK_PAYLOAD),以避免下次出现应答错误。


该设计所研制的样机具有功耗低、通信快速、误码率低、抗干扰性好、能识别多个标签等特点,能满足对体积和功耗要求较高的油田开发设备的实际使用要求。



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
STM32单片机的复用端口初始化的步骤及方法