一种有源RFID局域定位系统方案

在多标签定位系统中,多个标签必然会与读写器通信发生信号碰撞。RFID多标签防碰撞算法有很多种:多址技术ALOHA防碰撞算法、二进制防碰撞算法等。多址防碰撞算法以提高系统复杂性和成本为代价,存在不可克服的缺陷;ALOHA防碰撞算法有时会导致读写器的错误判断,判断标签是否在读写范围内,存在冲突概率高的问题;简单的二进制防碰撞算法有时无法达到效果。本文采用了基于序列号计算间隙数的排序算法,可以克服上述误判的问题,易于实现,效率高,软件编写简单,不受标签数量的限制,是一种稳定、可靠、实用的防碰撞算法。RFID定位算法有:LANDMARC、基于信号达到角度的定位方法(AOA)圆周定位算法简单可靠,易于在线实施,具有一定的定位精度。

1 系统结构设计

该系统主要由读写器和有源标签组成。读写器与标签之间的射频信号通过空间耦合实现无接触信息传输,读写器通过与标签的无线通信获得接收信号强度指示(RSSI)值,这是计算定位标签位置的重要参数。微控制器PIC16F877A控制CC发送和接收2500射频收发模块的数据。读写器网关节点可以通过RS与上位机相连的232接口。如图1所示,系统结构框图。

图1 系统结构框图

读写器和标签的控制模块均采用Microchip公司8位高性能低功耗微控制器PIC16F877A作为主控芯片,采用哈佛总线结构、数据总线和指令总线分离,便于实现所有指令的单字节化和单周期性,有利于改进CPU执行指令的速度。此外,片上数据存储空间较大,存储空间充足,便于通信协议栈的设计和实现。内部看门狗定时器提高了程序执行的稳定性;低功耗休眠模式大大降低了系统的功耗。具有驱动能力强、外部电路简单、功耗低等特点。所以适合作为RFID使用读写器控制器。

选择射频收发器CC2500作为控制芯片,CC数据传输可达5000 kbps高度可配置的调制解调器大大提高了数据传输的性能。同时,通过打开集成在调制解调器上的前向误差校正选项,大大提高了性能。MCU通过SPI接口向CC2500发送操作命令,配置调制方法、工作频率等参数,并通过指令将其配置为接收状态、发送状态、空闲状态或休眠状态。CC2500的引脚SO和SI分别是数据传输的输出和输入信号线,CSN为电影选择信号引脚,SCLK引脚时钟信号。当它收到数据或发送数据时,它会引脚GD00和GD输出相应的状态脉冲,MCU据此来判断CC决定2500的状态CC下一步控制2500。微控制器PIC16F877A和CC如图2所示,2500收发器模块的连接。

2 多标签识别防碰撞算法设计

定位系统涉及多个标签读写器之间的实时通信,需要解决多标签识别信号碰撞问题。排序算法以序列号为基础,具有算法易于实现、响应速度快、执行效率高的特点,是时间重用的一种方法。使用微控制器PIC16F877A通过SPI接口来控制CC将标签作为2500数据发送间隙的应答器,基于序列号对间隙数运算的排序算法实现如下:

在竞争周期中,首先使用标签序列号除以竞争周期间隙数获得的余数来确定竞争数据帧中标签的发送间隙;然后使用标签序列号除以竞争周期间隙数获得的商来确定竞争帧中相应间隙中标签的发送位置,然后在争用周期内发送的争用数据帧的相应间隙填充数据"1";最后,在整个数据发送周期中确定标签的发送顺序(即标签的发送顺序)=发送位及其前发送位"1"总数),从而分配不同序列号的发送时间。本设计采用9个待定位标签,采用上述算法对标签进行识别和排序,具体流程如图3所示此处应答器指标标签应答器)。本设计采用9个待定位标签,采用上述算法对标签进行识别和排序,具体流程如图3所示此处应答器指标标签应答器)。

图3倒数第二行为9个标签的发送时序,发送时序是A0,A4,A8,A1,A5,A2,A6,A3,A7.这样,这9个标签就可以被读写器识别,这是多标签定位系统正常工作的前提。

图3 排序算法基于序列号对时间隙数的计算

3 定位算法设计

本系统采用的定位算法是圆周定位法,它利用读写器接收标签信号获取RSSI值,一种通过相关定位计算公式定位的方法。

接收信号强度与无线信号传输距离的关系可以用(3)来表示,其中RSSI接收信号强度,d是收发节点之间的距离,n是信号传播因素,EAF是环境因素。

读写器无线通信rfid电子标签