关键词: RFID;读写器;频率可调;通信协议;STM32F103VET6
中图分类号: TP302文献标识码: A
Design of Frequency Tunable Multiprotocol RFID Reader
Xie Na, He Pengju, Feng Liang
College of Automation, Northwestern Polytechnical University, Xian 710129, China
Abstract: The communication conditions between reader and tag are analyzed.The operating frequency and transmission rate are set by configuring the registers of wireless transceiver chip, parameters of the components in external matching network are adjusted so as to match with operating frequency of the chip, and the required encoding/decoding mode and packet format are realized by using software programming.Finally,a new adaptable RFID reader is designed.
Key words: RFID; reader; frequency tunable; communication protocol; STM32F103VET6
引言
射频识别(Radio Frequency Identification, RFID)技术是一种通过无线电信号来识别并读取特定目标信息的通信技术。射频识别系统主要包括3部分:标签、读写器、天线。读写器与标签之间通过天线传输射频信号。RFID作为物联网关键应用技术之一,已成为市场关注的焦点,行业发展前景十分广阔。按照标签内部是否带电源,可分为有源标签和无源标签;按照标签的工作频段,可分为低频标签、高频标签、超高频标签和微波标签[1]。随着RFID技术的逐渐成熟,国际上制定了一些通信协议标准,标准中规定了读写器与标签通信的物理介质、通信速率、编码方式、调制方式等。目前经常使用ISO 14443系列、ISO 15693系列和ISO 18000系列等标准[12]。
如今RFID技术发展成熟,应用广泛,标签的种类繁多。但目前市面上RFID读写器的通信频率固定,且一般只满足某一种或者两种[1,3]ISO协议标准。频率相同且遵循的通信协议相同,是标签和读写器能正常通信的必要条件。对于工作在某种频段并符合某种通信协议的标签,只能选用满足这种频率和这种通信协议的读写器才能读取。目前,市场上那些频段固定、通信协议单一的射频读写器已经不能满足实际生产的需求了。
基于此,本文所设计的RFID读写器可根据待读取标签的频率及协议的不同,调整自身的参数信息,以实现多种标签的读取。还可以提高读写器的利用率,减少RFID读写器的种类,降低读写器的成本,给使用者提供方便。
1 系统方案设计
RFID读写器选用STM32F103VET6芯片作为主控制器,与标签通信的部分选用CC1101射频收发模块。读写器结构如图1所示。
图1 读写器结构图
主控制器STM32F103VET6与射频收发模块CC1101之间通过SPI接口传输数据,CC1101负责与标签通信。液晶显示模块用来显示读写器系统的状态和所读取的标签信息。读写器可以通过WiFi无线收发模块和其他设备无线通信,可以将读取到的标签信息传送到远端。
读写器在与标签通信时,信号最终是以电磁波的形式传播的。STM32F103VET6将要传输的数字信息编码后传输给CC1101,经CC1101调制成高频的射频电磁波RF1传播出去。标签接收到RF1信号后,将自身的信息调制成RF2发送出去。读写器中的CC1101将RF2射频信号解调,再经STM32F103VET6处理器解码,获得标签的数据信息。整个通信过程如图2所示。
图2 读写器与标签的信息交换图
RFID读写器和标签之间的信息能否准确地进行交换,与两者的数据编解码方式、数据格式、调制解调方式,以及传输速率有关,通信协议对此进行了规定,通信协议的结构框图如图3所示。
图3 通信协议结构框图
为实现对不同频段、不同通信协议的标签的读取,RFID读写器需要解决频率可调和通信协议可变两大问题。对于频率问题,读写器通过设置CC1101的频率寄存器来设定频率,这属于系统软件设计的内容;同时,通过改变CC1101外围电路的元件参数值以匹配所设定的工作频段,这属于系统硬件设计的内容。对于协议问题,编解码方式和数据格式可以通过在主控制器STM32F103VET6中编程实现,调制解调方式和传输速率都可以通过配置CC1101中的调制器配置寄存器实现,对协议的设置均属于系统软件设计的内容。
2 读写器系统硬件设计
读写器系统硬件部分包括STM32F103VET6主控器、CC1101射频收发模块、液晶显示模块、WiFi收发模块等。读写器通过CC1101射频收发模块与标签进行通信,读写器硬件设计中最关键的是CC1101射频收发模块的外围匹配网络的设计。
2.1 射频收发模块
本设计中选用的CC1101射频收发模块可工作于300~348 MHz、387~464 MHz和779~928 MHz频段,通过配置CC1101中的频率寄存器可很方便地实现CC1101工作频率的设定。图4和图5构成了整个CC1101射频收发模块。
图4是CC1101的引脚连接图,CC1101通过SPI与STM32F103VET6相连。图5是连接CC1101的射频端口和天线的匹配网络图。外围匹配电路可以进行阻抗和频率的匹配。当CC1101的频率寄存器中值改变时,外围匹配电路也需进行调整,才能适应CC1101设定的各工作频率。
图4 CC1101引脚连接图
图5 射频部分匹配网络电路图
经CC1101的射频端口RF_N与RF_P输入、输出的都是差分信号。与射频端口相连的是一个巴伦转换电路,实现差分信号和单端信号的转换。与巴伦转换电路的另一端相连的是两个L型网络,用来滤波和进行阻抗匹配。最末端连接的是天线,可以发送和接收电磁波。CC1101可以在发送模式和接收模式之间进行切换。
CC1101工作频段较宽,一套固定的匹配网络无法满足工作频段内的所有频率。本设计中采用了两套匹配网络,分别对应300~410 MHz频段和410~928 MHz频段,从而覆盖CC1101所有工作频率。这两套电路网络只是元件参数值不同,它们的结构一致,均如图5所示。两套电路中均有可调电容与电感,通过改变可调电容C1和可调电感L1的值可设定对应频段内的任意频率点。图6给出了频率设定的仿真结果,其中各子图的中心频率分别设定为328 MHz、433 MHz、868 MHz和915 MHz。
图6 中心频率设定的仿真结果
图6中这4条曲线的最高点对应的就是匹配网络的中心频率。由仿真结果可知,图5所示匹配网络电路可以实现中心频率可调,解决了与CC1101中设定的工作频率的匹配问题。
2.2 液晶显示模块
液晶显示模块可显示读写器的状态信息及读取到的标签信息,本设计使用MG12864型液晶显示器。MG12864是128(列)×64(行)点阵的液晶显示模块,点阵式液晶显示具有显示信息量大、功耗低、寿命长等特点。MG12864内含汉字字库,显示汉字时只需调用即可,十分方便。用MG12864作为读写器的显示终端,可实时显示读写器当前状态和读取的标签信息。
2.3 WiFi收发模块
WiFi收发模块选用Marvell公司的低功耗SoC 88W8686芯片组成的WMGMR09模块。WMGMR09模块符合2.4 GHz的WiFi标准,封装尺寸小,与主控制器STM32F103VET6的SPI接口相连。
添加WiFi收发模块可以使读写器的工作范围更广。读写器可以做成便携式,在读取到标签信息后通过WiFi收发模块将标签数据经具有WiFi标准的无线路由上传给服务器,可以作为物联网的终端使用。
3 读写器系统软件设计
RFID读写器和标签之间信息的交换遵循的协议和读写器中心频率的调节可通过系统软件设计来完成。图7给出了整个系统的软件流程图。
CC1101可以完成信号的调制与解调。3种基本调制方式为频移键控、幅移键控、相移键控。本设计中选用的CC1101芯片可以支持这3种调制方式,并能进行相应的解调。系统初始化时配置CC1101的MDMCFG2寄存器,可选择与标签一致的调制解调方式。
图7 系统软件流程图
CC1101有可编程控制的数据传输率,最高可达500 kbps,系统初始化时配置MDMCFG3寄存器和MDMCFG4寄存器,可实现设置任意数据传输率,从而匹配不同的标签。
数据帧格式也可以通过编程实现。按照标签符合的数据帧格式编排读写器欲发送的数据,为数据加上帧头与帧尾,还可以根据数据编程生成CRC校验码。读写器接收标签信息时,同样根据标签的数据帧格式,将数据包分解,还可以根据CRC校验码检验数据的正确性。
图8给出了编程实现的二进制信号经FM0编码后再进行FM0解码的结果对照图。
图8 程序实现FM0编码解码结果
软件编程的重点是实现多种数据编解码方式。目前,RFID领域广泛使用的数据编解码方式有FM0编码、PIE编码[1,5]和Manchester编码等。而这些编解码方式都可以容易地用编程实现。数据在主控制器中编解码并按照一定的数据帧格式打包和分析,不受无线收发芯片对编解码方式,以及数据帧格式的限制,设计出来的读写器可以满足多种编解码方式和数据格式的电子标签。
从图8中可以看出,原始信号经FM0编码后再由FM0解码的结果和原始信号一致,证明编程实现FM0编解码很成功。其他编解码方式类似,也可编程实现。
结语
本文给出了一种频率可调、协议可变的RFID读写器的设计方案。读写器能实现工作频率可调,支持多种通信协议,能与多种标签通信等功能,且适应性强、成本低,给RFID的应用带来了极大的方便。