摘要:针对室内无线区域定位的需求,设计了基于有源RFID(Radio Frequency Identification)技术的无线定位系统。
RFID 读写器和标签系统均采用低功耗MCU 芯片PIC16F877A 作为控制单元, 以低功耗无线射频收发器芯片CC2500 为配合外围滤波器和天线等构成系统的通信单元。在读写器与标签进行数据通信的过程中, 通过获取RSSI(Received Signal Strength Indicator,接收信号强度指示)信号推测出读写器与标签之间的距离,在获得来自于多个具有固定位置信息的标签的RSSI 信号后,可以实现对读写器的无线定位。实验结果表明,该系统在室内环境中能够实现较高的无线区域定位。
随着科技的进步和社会经济的发展,人们对定位服务的要求越来越高,传统的定位系统已经不能满足室内定位的需求。GPS 在户外环境的定位中应用广泛,但是由于混凝土等障碍物对电磁波的阻挡,它在室内环境中是完全失效的。笔者基于有源RFID 技术,采用PIC 系列单片机PIC16F877A 和TI 公司的射频收发器芯片CC2500,设计出了一种低成本、低功耗,可以适用于室内环境的无线定位系统。
1 总体设计
RFID 室内定位系统由读写器和标签组成。其中读写器按照功能划分可以分为4 个模块,如图1 所示。分别是控制模块、射频通信模块、定位信息显示模块、电源模块。控制模块负责控制系统的运行,包括对各种外设的控制,以及完成定位算法的运行等。射频通信模块负责数据的收发, 采用ASK 调制方式,实现读写器和标签之间的数据传输。定位信息显示模块主要是显示定位目标的信息。电源模块用来给系统的各个单元提供工作电源。另外,与上位机连接的读写器通过RS-232 串口与上位机进行通信, 所以部分读写器还带有串口通信模块。
图1 读写器系统结构
标签主要由控制模块、射频通信模块、电源模块组成,如图2 所示。
图2 标签系统结构
控制模块中的微控制器通过SPI 接口与射频收发器通信,在控制模块的统一调度下,读写器与标签节点之间通过无线射频通信交换信息。在读写器的无线信号覆盖区域内,标签节点收到来自读写器的广播信号后会处于激活状态,处于激活状态的标签节点会将自己的ID 号发送给读写器,然后接收读写器的请求命令,将存储于节点中的信息传送给读写器;或者接收读写器的写命令,将来自读写器的信息写入自己的存储器中。
2 系统硬件设计
2.1 控制器部分
在系统设计中,考虑到系统的功耗、成本及性能等要求,选择Microchip 公司的PIC16F877A 作为系统的微控制器。
PIC16F877A 是一款具有RISC 结构的16 位高性能单片机,内部集成了一个在线调试器(In-Circuit Debugger),可以实现在线调试和在线编程。拥有35 条单字指令,8k×14 个字节的FLASH 程序存储器,368×8 字节的RAM,8 级硬件堆栈,内部看门狗定时器,低功耗休眠模式,高达25 mA 的吸入/拉出电流, 外部具有3 个定时器模块, 拥有10 位多通道A/D 转换器,通用同步异步接收/发送器等功能模块。它具有功耗低、驱动能力强、外接电路简洁等特点,同时具有哈佛总线结构、寻址简单、指令条数少等优点。
微控制器模块主要由PIC16F877A 单片机及其外围电路组成。其电路原理图如图3 所示。在读写器系统在中,PIC16F877A 的RB0~RB3 及RC7,RD4~RD7 用作向显示模块发送显示数据的通信接口;OSC1 和OSC2 扩展外部时钟电路;PIC16F877A 单片机通过SPI 接口设置CC2500 的工作参数并与CC2500 交换数据。
图3 单片机外围电路原理图
2.2 射频通信模块
考虑到功耗、接收灵敏度、传输速率和芯片成本等因素,系统采用了TI 公司的无线射频收发芯片CC2500 作为无线通信模块控制器。CC2500 是TI 公司推出的一款低成本、低功耗、体积小的2.4 GHz 无线通信频段的收发器,工作频率波段为2400~2 483.5 MHz。RF 收发器集成了一个数据传输率可达500kbit/s 的高度, 可配置的调制解调器和一个64 位传输/接收FIFO(先进先出堆栈)。CC2500 的寄存器配置可通过SPI 接口控制。它具有载波监听和休眠模式,非常适合低功耗应用。
射频通信模块主要由CC2500 收发器、传输与接收天线及其外围滤波、匹配网络组成,其中天线采用了Rainsun 公司的贴片天线,系统电路原理图如图4 所示。
图4 CC2500 外围电路原理图
CC2500 通过4 线SPI 兼容接口(SI,SO,SCLK 和CSN)与PIC16F877A 相连,这个接口用作写入和读取数据。SI 为数据输入线,SO 为数据输出线,SCLK 为时钟线,CSN 为片选信号线,低电平有效。SPI 接口的状态控制线还包含一个读/写信号控制线。CC2500 的状态寄存器里指示一些系统的工作状态信息。
2.3 电源模块
RFID 室内定位系统一般主要布置在楼宇、仓储建筑物等的内部,有些具有移动性,所以节点大多数需要采用电池供电,在元器件的选取中,尽量选择低功耗器件以降低系统功耗,2.4~3.6 V 的电压可以使系统中所有的器件和模块正常工作。因此,实际中采用与之电压匹配的高能纽扣锂电池作为供电电源。
2.4 电磁兼容与抗干扰设计
在设计2.45 GHz 的RFID 系统时要考虑电磁兼容性(EMC),以保证读写器和标签在设定的电磁环境和规定的安全界限内运行。在系统设计中,元件的选择和电路设计是影响电磁兼容的重要因素,对于射频通信模块需要去耦电容来去除元件状态转换引起的噪声电压,并且要注意信号源和信号终端的阻抗匹配。PCB 上的导线同样具有阻抗、电感、电容特性,因此在PCB 布局和布线也考虑了电磁兼容性等问题。布局是按照信号流程放置元件, 尽量缩短元件之间的连接,CC2500 底部通过多个过孔与地层连接。滤波电容尽量靠近器件放置,同时,为了抗电磁干扰,把数字电源和模拟电源、数字地和模拟地隔离开来。RFID 定位系统节点的布设位置应尽量避开高大障碍物,以减少对电磁波的阻隔,影响传输性能。
3 系统软件设计
3.1 定位算法的选择
本RFID 定位系统采用LANDMARC 定位原理。LANDMARC定位算法适用于有源RFID 室内定位。它将具有固定位置信息的标签作为定位系统中的坐标参考点,通过参考点标签与移动读写器之间的通信,获取两者之间的无线射频信号强度值RSSI, 继而获取读写器与多个参考标签之间的RSSI 值,根据RSSI 与通信距离之间的对应关系,获取读写器与多个参考标签之间的距离关系。LANDMARC 算法可以通过比较读写器与参考标签之间RSSI 值的大小来获得离读写器距离近的几个参考标签,然后根据这几个邻近参考标签的坐标,并结合它们的权重,可计算出读写器的坐标。
3.2 RFID 定位算法
无线信号的接收信号强度和信号传输距离的关系可以用式(1)来表示,其中RSSI 是接收信号强度,d 是收发节点之间的距离,n 是信号传播因子。
由式(1)中可以看出,常数A 和n 的值决定了接收信号强度和信号传输距离的关系。射频参数A 和n 用于描述网络操作环境。射频参数A 被定义为用dBm 表示的距发射器1 m时接收到信号平均能量的。如平均接收能量为-40dBm,那么参数A 被定为40。射频参数n 指出了信号能量随着距收发器距离增加而衰减的速率,其数值的大小取决于无线信号传播的环境。
RSSI 值受周围环境的影响较大,具有时变特性,有时会偏离式(1)的描述,根据接收信号强度估计出的距离d 就会有较大误差。通过大量数据分析,采用了-个噪声模型,即环境衰减因素模型,可有效补偿环境影响带来的误差,如式(2)所示。
上式中EAF(dBm)为环境影响因素,它的值取决于室内环境,是靠大量的数据累积的经验值。EAF(dBm)是一个随机变量,但为了增强实用性,将其固定为-个值。通过大量比较实验环境下测得的RSSI 值与理想状态下的RSSI 值,得到试验环境EAF(dBm)大概为11 dBm,A 取值45,n 取值3.5。
在采集到RSSI 值后,依据式(2)就可以得到读写器到标签的距离, 通过LANDMARC 三边测量定位算法就可以定位出读写器的位置。如图5 所示。
图5 三边测量定位示意图
假设标签1 的坐标为p1(x1,y1),标签2 的坐标为p2(x2,y2),标签3 的坐标为p3(x3,y3),读写器坐标为p(x,y)。则读写器坐标计算公式为:
由式(2)可以计算出读写器的坐标位置为:
3.3 RFID 定位系统的工作流程
定位算法以MPLAB IDE 7.4 为开发平台,采用C 语言编写,经过编译、连接后生成机器代码,到读写器程序存储器中。RFID 定位系统软件流程图如图6 所示。
图6 定位系统流程图
4 结束语。
笔者介绍了一种基于PIC16F877A 和CC2500 的有源RFID 读写器和标签的硬件系统设计及室内RFID 定位方法,对读写器和标签系统的各个模块及运行于读写器中的定位算法及其工作流程进行了详细介绍。该有源RFID 定位系统在小规模的室内实验中表现出较好的定位。
[1]. PIC16F877A datasheet https://www.dzsc.com/datasheet/PIC16F877A+_318860.html.
[2]. CC2500 datasheet https://www.dzsc.com/datasheet/CC2500+_1131992.html.
[3]. RS-232 datasheet https://www.dzsc.com/datasheet/RS-232+_584855.html.
[4]. Microchip datasheet https://www.dzsc.com/datasheet/Microchip+_1097736.html.
[5]. RISC datasheet https://www.dzsc.com/datasheet/RISC+_1189725.html.
[6]. RD4 datasheet https://www.dzsc.com/datasheet/RD4_1148402.html.
[7]. CSN datasheet https://www.dzsc.com/datasheet/CSN_2332574.html.
[8]. EMC datasheet https://www.dzsc.com/datasheet/EMC_2342312.html.
[9]. PCB datasheet https://www.dzsc.com/datasheet/PCB+_1201640.html.
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。