1 引 言
射频识别(RFID)是利用射频频段实现非接触双向通信进行识别和交换数据的一种自动识别技术。根据射频卡的数据调制方式可分为主动式和被动式2种。主动式RFID系统由于其信息实时性强、数据容量大、读写速度快、可远程读取等优点适用于供应链管理、军事物流、实时定位系统等领域。过去由于主动式射频卡体积和功耗较大、电池寿命有限等因素,严重限制了主动式RFID系统的应用和普及;近年来,得益于微型集成电路技术和微机械加工制造技术的进步,微型智能射频卡得到了发展,在低功耗IC技术方面的突破,为发展小型、低功耗主动射频卡创造了条件。
本文以新型射频芯片nRF905为例,设计了一个工作在微波频段的主动式射频识别系统,给出了系统中关键的通信模块设计方案。
2 RFID系统概述
基本的RFID系统包括阅读器和射频卡(应答器)2部分。阅读器可以是只读或读写装置,通常包含射频模块(发射和接收)、控制单元及与射频卡耦合的元件(电感线圈或天线等),此外还应有连接上位机的通信接口以便将所获得的数据传给上位机。射频卡放置在待识别的物体上,他是RFID系统真正的数据载体。射频卡通常由耦合元件和微电子芯片组成。其结构框图如图1所示。
图1 主动式可读写RFID系统示意图
RFID系统根据工作频率的不同分为低频、中频和微波系统,微波系统工作频率主要有433MHz,869MHz,915MHz,2145GHz和518GHz等。微波RFID系统为电磁耦合系统,适用于识别距离远,读写速率高的场合。此外,根据射频卡的数据调制方式还可分为主动式和被动式RFID系统。一般无源系统为被动式,有源系统采用主动式,即射频卡用自身的射频能量主动发送数据给阅读器,调制方式可为调幅、调频或调相。被动式系统中射频卡采用调制反向散射方式发射数据,读写器的能量必须来回穿过障碍物2次,因此要求阅读器有较大的发射功率。主动式RFID系统,射频卡采用电池供电,工作可靠性高,作用距离更远。
3 主动式RFID系统设计
射频芯片应用于RFID系统设计可以实现RFID产品的小型化、模块化和智能化;使得RFID系统成本更低,作用距离更远,可扩展性更好,极大地促进了RFID系统(特别是主动式RFID系统)的发展和应用。下面是以无线射频芯片nRF905为例的主动式RFID系统设计。
3.1 无线收发芯片nRF905简介
nRF905是NorDICVLSI公司推出的高性能单片无线收发芯片,工作在ISM(工业、科学、医疗)频段433MHz/868MHz/915MHz三个频道,119~316V低工作电压,集成了频率合成、射频发射接收、调制解调、多频道切换等功能,采用抗干扰能力强的GFSK调制解调技术,传输速率达100kb/s,天线接口为差分形式易于连接低成本的PCB环形天线或单端天线。
nRF905采用32脚QFN封装(5×5mm)体积小巧,外围元件少,工作频率稳定可靠,功耗极低,曼彻斯特编解码由片内硬件完成,内建待机和掉电模式,通过SPI(串行外设接口)与微控制器通信,特别适合低成本、低功耗但同时性能和集成度要求高的应用场合。
如表1所示,nRF905有2种工作模式和2种节能模式,由PWRUP,TRXCE,TXEN三个引脚控制。由于采用先进的ShockBurst技术,使得数据能够在微控制器中低速处理,在nRF905中高速发送,中间有很长的空闲时间,因此能够节约存储器和微控制器资源,减少编程时间。
nRF905通过SPI接口进行配置,共有5个内部配置寄存器。其中,状态寄存器包含数据就绪(DR引脚)和地址匹配(AM引脚)信息,射频配置寄存器包含工作频率和输出功率等信息,发送地址寄存器包含发送目标地址和数据字节长度信息,有效发送数据寄存器包含待发送的有效ShockBurst数据包信息,有效接收数据寄存器包含接收到的有效ShockBurst数据包信息。掉电模式下nRF905的工作电流仅为215μA且寄存器内容不变。值得注意的是,只有在待机或掉电模式才能激活nRF905的SPI接口与MCU通信,这点在设计通信协议时应充分考虑到。
3.2 主动式RFID系统硬件设计
以往的射频识别系统硬件设计通常基于分立元件,设计工作量大、硬件集成度低、成本高、开发周期长。而现有的基于复杂可编程逻辑器件(CPLD)或数字信号处理(DSP)芯片的设计通常需要完成复杂的通信模块软件设计,成本也相对较高[5]。而本文应用nRF905设计的主动式RFID系统,充分发挥了射频芯片高集成度、低功耗、工作频率稳定、无需曼彻斯特编解码及通信协议设计简洁等优点;大大降低了设计成本,缩短了开发周期,并且硬件更加易于调试可扩展性好。RFID系统的硬件设计框图如图2所示。
图2 采用nRF905的主动式RFID系统硬件设计框图
系统电路硬件主要分为射频接口和控制系统2大部分。本设计中射频接口即为nRF905射频模块(包含外围元件及PCB环形天线);控制电路基于51系列微控制器搭建。微控制器通过SPI接口控制nRF905,其中微控制器(MCU)采用Atmel公司生产的低电压、高性能COMS8位单片机AT89C2051,该微控制器兼容标准MCS51指令系统,内含128B的随机存取数据存储器RAM和2kB的可反复擦写FLASH只读程序存储器,可以将驱动及控制nRF905的程序写入该闪存,无需外接EPROM而简化了电路设计降低了系统功耗。本设计采用为MAX6821作为监控电路对MCU进行上电复位,比传统阻容复位更加可靠,该芯片还集成了看门狗定时器,可有效避免程序跑飞。
图3给出了核心部分的电路原理图,给出了AT89C2051与nRF905的电路连接及外围元件和PCB环形天线。图中D1是MAX232电平转换芯片,U1是MaximIntegratedProducts公司生产的MAX6821,低电压、SOT23封装、微处理器监视器,带有手动复位及看门狗定时器,能监控从+118~+510V的系统电压,有9个工厂预设的门限可供使用。当电源电压下降到复位门限以下时,复位输出产生并保持至少140ms。
4 通信协议设计
数据通信的双方必须遵守相互约定的通信协议才能实现安全、可靠、有效的数据通信。本RFID系统中,通信协议设计是系统设计的一个至关重要的部分。阅读器与上位机采用RS232串口通信,工作在异步方式,传输速率9600b/s。射频卡与阅读器的非接触数据交换构成一个无线数据通信系统,数据通过nRF905在阅读器和射频卡之间无线传输,本文设计了以nRF905作为射频接口的主动式RFID系统的通信协议,可以将基本控制,通信等功能函数编程写入控制系统,通过调用函数功能模块以完成特定的功能,如物流跟踪、自动收费等。
4.1 数据帧格式
为减少无线通信中的相互干扰,提高通信效率,待传输的数据必须先打包成数据帧。数据帧的长度必须合适,太长则易被干扰,太短会导致通信效率低。本文设计了表2所示的数据帧格式,其中前导码为nRF905自动产生,用来进行接收和发射数据同步;地址(2B)是发送的目的地址,要求在本RFID系统内无重复;数据长度(1B)用来指明有效数据的长度;有效数据(4B);校验字为8位的CRC校验,由nRF905中硬件电路产生。
4.2 数据通信流程
nRF905作为阅读器与射频卡的通信接口,采用半双工方式通信,在发射和接收模式间切换需要等待550μs的稳定时间。RFID系统中无线通信的软件流程如图4所示。
图4 阅读器与射频卡通信流程
数据通信采用传输前侦听的“载波检测协议”,即接收数据前先检测载波信息(nRF905的CD引脚)和地址匹配信息(AM引脚)只有当载波存在且发送地址正确(高电平)时才接收数据包;发送数据前也要先转到接收模式侦听CD引脚为低电平(要传输的频率通道未被占用)方转入发射模式发送数据;使用此协议可以实现简单有效的防碰撞。此外还可以根据需要对MCU编程实现更为复杂的防碰撞或加密解密算法。nRF905开始总是工作在待机状态,通过SPI接口接收到控制系统的命令后选择进入发射或接收数据的模式,在阅读器与射频卡之间进行无线通信,接收或发射完有效的数据包后数据就绪引脚DR被置高,MCU检测到DR为高,即将nRF905转入低功耗的待机模式。此时MCU还可通过SPI口读出nRF905接收到的有效数据。
5 结 语
本文以nRF905芯片作为射频接口,设计了一种工作在微波频段的新型主动式射频识别系统,并给出了其通信模块实现方案。这种新型的基于射频芯片的主动式RFID系统信息实时性好、数据容量大、作用距离远,并具有集成度高、易于调试、低功耗、低成本和易扩展等特点,可以广泛应用于对数据实时性要求高及数据需反复读写的场合。