基于RFID技术的室内定位系统设计

  RFID 读写器和标签系统均采用低功耗MCU 芯片PIC16F877A 作为核心控制单元, 以低功耗无线射频收发器芯片CC2500 为核心配合外围滤波器和天线等构成系统的通信单元。在读写器与标签进行数据通信的过程中, 通过获取RSSI(Received Signal Strength Indicator,接收信号强度指示)信号推测出读写器与标签之间的距离,在获得来自于多个具有固定位置信息的标签的RSSI 信号后,可以实现对读写器的无线定位。实验结果表明,该系统在室内环境中能够实现较高精度的无线区域定位。

 

  随着科技的进步和社会经济的发展,人们对定位服务的要求越来越高,传统的定位系统已经不能满足室内定位的需求。GPS 在户外环境的定位中应用广泛,但是由于混凝土等障碍物对电磁波的阻挡,它在室内环境中是完全失效的。笔者基于有源RFID 技术,采用PIC 系列单片机PIC16F877A 和TI 公司的射频收发器芯片CC2500,设计出了一种低成本、低功耗,可以适用于室内环境的无线定位系统。

 

  1 总体设计

 

  RFID 室内定位系统由读写器和标签组成。其中读写器按照功能划分可以分为4 个模块,如图1 所示。分别是控制模块、射频通信模块、定位信息显示模块、电源模块。控制模块负责控制系统的运行,包括对各种外设的控制,以及完成定位算法的运行等。射频通信模块负责数据的收发, 采用ASK 调制方式,实现读写器和标签之间的数据传输。定位信息显示模块主要是显示定位目标的信息。电源模块用来给系统的各个单元提供工作电源。另外,与上位机连接的读写器通过RS-232 串口与上位机进行通信, 所以部分读写器还带有串口通信模块。

 

  基于RFID技术的室内定位系统设计

 

  图1 读写器系统结构

 

  标签主要由控制模块、射频通信模块、电源模块组成,如图2 所示。

 

 基于RFID技术的室内定位系统设计

 

  图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 交换数据。

 

  基于RFID技术的室内定位系统设计