新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 一种用于定位的低功耗有源RFID标签的设计方案

一种用于定位的低功耗有源RFID标签的设计方案

作者:时间:2013-11-12来源:网络收藏

  

  3.系统软件设计

  系统软件设计选用了IAR EmbeddedWorkbench V4.11B平台下的C语言编程环境,设计中综合考虑了M S P 4 3 0 F 2 0 1 2和芯片的低功耗性能、稳定性和程序执行效率。

  3.1 软件流程

  本系统属于双向通信系统,标签在发送数据前处于监听状态,的接收功能被打开,同时处于LPM3模式,直至接收到阅读器广播的“开始”

  指令,并通过中断将唤醒。

  被中断唤醒后开始判断指令是否正确,如果正确则进入正常发送周期,否则返回LPM3模式。

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

  

  3.2 防冲突设计

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

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

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

  3.3 部分程序代码

  3.3.1 单字节SPI发送/接收函数

  

  3.3.2 根据命令字读/写接收(发送)数据包



评论


相关推荐

技术专区

关闭