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