历史上的今天

今天是:2024年09月09日(星期一)

正在发生

2020年09月09日 | 基于MSP430F2012和nRF24L01低功耗RFID定位设计

发布者:blazings 来源: eefocus关键字:MSP430F2012  nRF24L01  低功耗  RFID定位 手机看文章 扫描二维码
随时随地手机看文章

  射频识别(RFID)技术是采用无线射频的方式实现双向数据交换并识别身份,RFID定位正是利用了这一识别特性,利用阅读器和标签之间的通信信号强度等参数进行空间的定位。


  RFID标签按供电方式分为有源和无源2种[1],无源标签通过捕获阅读器发射的电磁波获取能量,具有成本低、尺寸小的优势;有源标签通常采用电池供电,具有通信距离远、读取速度快、可靠性好等优点[2],但为了满足煤矿井下定位,需要考虑低功耗设计以增强电池的续航能力。本文从有源标签的设计理念出发,针对小范围空间RFID定位的需求,根据低功耗、高效率的原则进行RFID标签的设计,并阐述了其硬件组成、软件流程和防冲突能力。


  2.系统硬件设计

  2.1 系统结构

  有源标签在设计中除了需要考虑低成本、小型化之外,最重要的是要采取低功耗设计。


  RFID标签从整体结构上看,通常包括2个部分:控制端和射频端,因此在选择控制芯片和射频芯片时需要优先考虑其低功耗性能。本文在此基础上选择了 MSP430F2012控制芯片和nRF24L01射频芯片;天线则选用了Nordic公司的PCB单端天线;标签采用3V-500mAh纽扣电池供电。系统工作在2.4GHz频段。系统结构框图如图1所示。

基于MSP430F2012和nRF24L01低功耗RFID定位设计

  2.2 芯片选择及低功耗设计

  TI推出的MSP430系列单片机是16位Flash型RISC指令集单片机[3],以超低功耗闻名业界。


  MSP430F2012芯片工作电压仅为1.8~3.6V,掉电工作模式下消耗电流为0.1μA,等待工作模式下消耗电流仅为0.5μA.本设计中,MSP430F2012被长时间置于等待工作模式,通过中断唤醒的方式使其短暂进入工作状态,以节省电能。MSP430F2012具有3组独立的时钟源:片内VLO、片外晶振、DCO.其中,片外时钟基于外部晶振;DCO由片内产生,且频率可调。显然,主系统时钟频率的高低决定着系统的功耗,尤其是选择了高速片外晶振的情况下,因此,MSP430F2012提供了在不同时钟源间进行切换的功能。在实际设计中,通过实时重新配置基础时钟控制寄存器以实现主系统时钟和辅助系统时钟间的切换,既不失性能,又节约了能耗。


  MSP430F2012具有LPM0~LPM4五种低功耗模式,合理的利用这五种预设的模式是降低MCU功耗的关键,本设计中,MSP430F2012 在上电配置完毕后将直接进入LPM3模式,同时开启中断,等待外部中断信号。此外,由于MSP430F2012是一款多功能通用单片机,片内集成了较多功能模块,在上电配置时即停止所有不使用的功能模块也能起到降低系统功耗的目的。


  nRF24L01是Nordic公司开发的2.4GHz超低功耗单片无线收发芯片,芯片有125个频点,可实现点对点和点对多点的无线通信,最大传输速率可达2Mbps,工作电压为1.9~3.6V[4]。为了凸显其低功耗性能,芯片预置了两种待机模式和一种掉电模式。更值得一提的是nRF24L01的 ShockBurstTM模式及增强型ShockBurstTM模式[4],真正实现了低速进高速出,即MCU将数据低速送入nRF24L01片内 FIFO,却以1Mbps或2Mbps高速发射出去。本设计正是利用了增强型ShockBurstTM模式,使得MSP430F2012即便在 32768Hz低速晶振下也能通过射频端高速的将数据发射出去,既降低了功耗,又提高了效率,增强了系统防冲突和应付移动目标能力。


  2.3 电路设计

  本系统主要运用于RFID定位方面,除了简单的识别外,重点在于阅读器对标签信号强度的测量,因此阅读器与标签间不会有大数据量频繁的读写操作,在电路设计时可省略片外EEPROM.同时还可以省去稳压电路以节省静态电流消耗。硬件原理图如图2所示。

基于MSP430F2012和nRF24L01低功耗RFID定位设计

  RFID定位MSP430F2012nRF24L01


  3.系统软件设计

  3.1 软件流程

  本系统属于双向通信系统,标签在发送数据前处于监听状态,nRF24L01的接收功能被打开,同时MSP430F2012处于LPM3模式,直至接收到阅读器广播的‘开始’指令,并通过中断将MSP430F2012唤醒。MSP430F2012被中断唤醒后开始判断指令是否正确,如果正确则进入正常发送周期,否则返回LPM3模式。


  考虑到实时定位的需要,系统不能像一般的RFID标签那样仅仅进行有限次验证,本系统采用等间隔持续发送的模式,便于阅读器实时监测目标位置,系统设定的正常发送周期为500ms,由MSP430F2012的Timer_A定时,500ms定时开始后,标签ID通过SPI发送到 FIFO,nRF24L01采用了增强型ShockBurstTM模式,发送失败则会继续重发,标签ID发送完毕后,MSP430F2012判断定时器是否超时,一旦超时则进入下个发送周期,否则处于等待状态直至超时。当阅读器停止广播‘开始’指令,MSP430F2012重新进入LPM3模式以降低功耗。


  系统完整流程如图3所示。

基于MSP430F2012和nRF24L01低功耗RFID定位设计

  3.2 防冲突设计

  nRF24L01自带载波检测功能,在发送数据前先转入接收模式进行监听,确认要传输的频率通道未被占用才发送数据,利用此功能可实现简单的硬件防冲突。


  考虑到本系统采用了500ms的统一发送间隔,在被定位目标众多的场合有可能发生识别冲突,因此需要在程序中合理的增加防冲突算法。ALOHA算法主要用于有源标签,其原理就是,一旦信源发生数据包碰撞,就让信源随机延时后再次发送数据。考虑到程序的复杂性势必引起处理时间的增加,也会带来额外的能耗,本系统采用了较为简单的纯ALOHA算法,即在每个500ms计时周期内随机发送标签ID,这就需要在程序中插入一个随机延时,延时时长的选择通过一个随机值函数来实现,随机延时范围为0~300ms.这种简单的防冲突算法既简化了指令,又能大幅降低冲突概率。


  另外,n R F 2 4 L 0 1传输速率为1 M b p s或2Mbps,单次发送一个数据包,单个数据包最大32bytes,假设标签ID为32bytes,以2Mbps速率发送一次ID的信号宽度(传输时间)约为100~150μs,相对于500ms的整个定时周期而言微乎其微,但仍有可能出现发送饱和的状态,这时可以适当的延长计时周期以增加信道容量。较快的传输速率有助于移动目标的识别和定位,而较短的数据长度也能显着提高标签基于随机延时的防冲突能力,因此尽可能将标签ID的长度限制在 32bytes以内。


  4.测试结果

  对于RFID系统而言,最重要的参数就是读取距离[5]和有效读取率。本次实验测试设备为标签3枚,阅读器一台,PC一台,阅读器基于 MSP430F149和nRF24L01芯片设计,并通过RS232串口与PC进行通信。测试中,分别将3枚标签置于距离阅读器15m、30m、45m 处,便签ID分别为AABBCCDDFFFFFF01、AABBCCDDFFFFFF02、AABBCCDDFFFFFF03,每枚标签进行一小时(约 7200次)连续读取测试。


  从表1测试结果看,30m以内为标签正常读取距离,可满足一般的室内应用,距离为45m 时读取率则显着下降。由于天线的设计对系统性能有较大影响[6],通过改进标签的天线以获取较大输出功率,改进阅读器端天线接收灵敏度也能显着提高系统性能。

基于MSP430F2012和nRF24L01低功耗RFID定位设计

  5.结束语

  本文对基于MSP430F2012和nRF24L01的有源RFID标签的设计进行了详细的介绍。对2款芯片的低功耗性能进行了分析并提出了自己的低功耗设计方案;结合了RFID定位的特点,介绍了有别于一般以识别为主要目的的标签的设计方法,分析了其软件设计流程;针对一般空间内被识别目标众多且常处于移动状态的特点,介绍了系统的防冲突能力。整个系统电路简单,尺寸小,功耗低,通过良好匹配的天线通信距离可达几十米,可以满足煤矿行业井下一般小范围空间内的定位需求。

关键字:MSP430F2012  nRF24L01  低功耗  RFID定位 引用地址:基于MSP430F2012和nRF24L01低功耗RFID定位设计

上一篇:基于MSP430F149的手持式RFID读写器低功耗设计
下一篇:基于MSP430和nRF24L01的有源RFID标签应用设计

推荐阅读

去年在菜鸟与顺丰合作期间,由于菜鸟要求顺丰旗下丰巢快递柜物流信息必须通过菜鸟包裹,包括非淘宝订单,引发顺丰不满。并在2017年合约期将结束时,菜鸟以数据安全为由停止与丰巢合作,并通知将关闭丰巢的数据接口。随后顺丰主动关闭了自提柜数据信息回传,甚至进一步关闭了整个淘宝平台信息接口,双方各执一词并由此引发了一场“大战”。几天后通过国家邮...
数码闲聊站刚刚曝光了vivo NEX 3/3 5G版详细参数,我们来看一下吧。  vivo NEX 3与vivo NEX 3 5G版除了基带不一样之外,其余配置完全一样。vivo NEX 3配备一块6.89英寸、分辨率为2256*1080的瀑布屏;搭载骁龙855 Plus处理器,其中5G版使用X50基带芯片;相机方面,vivo NEX 3后置三摄,分别为:6400万像素+1300万像素+1300网像素,前置1600...
//非常稳定可靠的单片机按键消抖程序,绝对不会产生抖动#include<reg52.h>#define uint unsigned int#define uchar unsigned charsbit K1 = P1^4;sbit K2 = P1^5;void delay1ms(uint n) { uchar a,b,c,d;for(d=n;d>0;d--) for(c=1;c>0;c--) for(b=222;b>0;b--) for(a=12;a>0;a--);}void main(){ ...
大家好,在智能电池的检测模块中会用到HDQ协议,以便监测采集电池的电量、温度、电压和充电状态等信息。ZDS2022示波器对HDQ协议提供了免费的解码分析模块供用户使用,该如何操作呢?按下【Decode】键,将解码类型设为HDQ协议,开启协议触发,按下协议参数软键,可对总线和触发参数进行设置,信源通道根据实际输入信号通道可设置为通道1,数据长度包括8位和...

史海拾趣

问答坊 | AI 解惑

DSP也超频

今天把自己做的DM642板超了一下频。用的-7后缀的SDRAM(143M),调整了一下PLL芯片的倍频设置。将原先的133M频率调为150M,并将电路板上的四个钽电容全部拆下,剩下全板3.3V、1.8V、1.4V共18个10u瓷片电容及其他小瓷片电容。 150M已经超过 ...…

查看全部问答∨

学习DMB-T中。。。。

DMB-T的学习,希望大家给些指引,谢谢…

查看全部问答∨

有朋友在WinCE下做过证书倒入和认证么?请教个问题。。。

有个项目,要在WinCE6.0上面写个VC的应用程序,倒入一个X.509的证书,DER格式的。然后用这个证书对一个文件进行签名,请问有人做过么? 我看了看MSDN,好像要用到CryptToAPI的函数,一大堆,看了以后还是很晕,希望有经验的朋友能够指点一下,如果 ...…

查看全部问答∨

CreateFile为什么返回参数错误?

CString strLastError; CString strFilePath = _T(\"\\\\windows\\\\wz.txt\");         HANDLE hIDFile =  CreateFile(strFilePath,GENERIC_READ,FILE_SHARE_READ,NULL,           &nb ...…

查看全部问答∨

MSP430 LaunchPad学习插曲——资料放送

MSP430F123单相多费率电表   MSP430FE42X单相多功能防窃电电表方案   MSP430程序设计思路   MSP430基础时钟   利尔达三表方案   位移测量   无线点滴监测系统   智能家居方案   直接上传 ...…

查看全部问答∨

cc2520接收问题,一直接收不到正确数据?

cc2520接收问题,一直接收不到正确数据?能发送出正确的数据和设置信道,但是接收只能进中断,每次只能读出很奇怪的数据,下面是接收程序。那位帮忙看看!       CS_CC2520 = 0;     SSI0_Enable();  &n ...…

查看全部问答∨

十年经验教你如何学习嵌入式系统

一、嵌入式系统的概念着重理解"嵌入"的概念主要从三个方面上来理解。 1、从硬件上,将基于CPU的处围器件,整合到CPU芯片内部,比如早期基于X86体系结构下的计算机,CPU只是有运算器和累加器的功能,一切芯片要造外部桥路来扩展实现,象串口之 ...…

查看全部问答∨

开关滤波器max293

有那个高手指导哈,我 弄得,按max293的pdf的开始还出来了,但现在就一直就不行了,我发觉是不是芯片烧了,但我换了几块了但还是这样,有那个高手给我说个解决的办法呀 ,多谢…

查看全部问答∨
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved