射频芯片的选取
目前,发展较为成熟的RFID系统主要是125kHz和13.56MHz系统,相应的RFID专用芯片也较多,主要有TI公司的S6700系列,NXP公司的MIFARE系列等。然而,用于UHF RFID的专用芯片却很少,TI公司和NXP公司虽然宣称已经量产符合Gen2的RFID芯片,但由于各种因素,还没能真正大量投入使用。再者,为了满足用户对远识别距离的要求,一般需使用有源UHF RFID系统,而目前有源UHF RFID专用芯片更是难觅其踪。所以,需要寻找一款适合超高频RFID且易于开发的低成本射频芯片,来设计有源UHF RFID系统。
随着集成电路产业的发展,8051内核已经被集成到各种片上系统(SoC)中,这些SoC具有更多的功能、更快的速度、更小的体积和功耗,同时可以继续使用8051 MCU几十年来积累的各种应用软件资源,具有广阔的发展空间。许多国际知名公司,如TI、ATMEL、Chipcon、Nordic等都推出了各种兼容8051内核的新一代短距离无线通信芯片,Chipcon在2006年初被TI公司所收购。通过分析比较发现,Chipcon公司的CC1010和Nordic公司的nRF9E5都可用于UHF RFID系统,而nRF9E5体积更小、成本更低,且具有一些独特的功能。
nRF9E5功能分析
结构组成
nRF9E5内嵌8051兼容微控制器、RF收发器和4通道10位A/D转换器,其功能结构如图1所示。
nRF9E5的片内微控制器与标准8051兼容,指令时序与标准8051稍有区别。中断控制器支持5个扩展中断源:ADC中断、SPI中断、唤醒中断和两个无线收发中断。此外,还扩展了两个数据指针,使得片外RAM存取数据更为方便。
nRF9E5内置收发器具有与单片射频收发器nRF905相同的功能,可通过片内MCU的并行口或SPI口与微控制器通信。收发器由频率合成器、功率放大器、调制器和接收单元组成。输出功率、频道和其他射频参数可通过对特殊功能寄存器RADIO编程进行控制。在发射模式(TX)下,最小工作电流仅为9mA(输出功率-10dBm),接收(RX)模式下的工作电流为12.5mA,掉电模式下的工作电流仅为2.5μA。可见,nRF9E5的功耗很低,比较适宜应用到有源RFID系统中,以延长电池寿命。
载波检测
载波检测是nRF9E5的一大特色功能。在ShockBurst接收方式下,当工作信道内有射频载波出现时,载波检测引脚(CD)被置高。也就是说,当收发器准备发送数据时,它首先进入接收模式并检测所工作的信道是否可以发送数据(信道是否空闲),这是一种简单的传输前监听协议。载波检测的标准一般比灵敏度低5dB,比如,灵敏度为-100dBm,载波检测功能探测低至-105dBm的载波。这个特性很好地避免了同一工作频率下不同发射器数据包之间的碰撞,对于解决RFID系统中的碰撞问题很有帮助。
ShockBurst工作模式
nRF9E5采用Nordic公司的ShockBurst技术(自动处理前缀、地址和CRC),实现低速数据输入,高速数据输出,从而降低了系统的平均功耗。在ShockBurst接收模式下,当收到一个有效地址的射频数据包时,地址匹配寄存器(AM)和数据就绪寄存器(DR)通知片内MCU把数据读出。在ShockBurst发送模式下,nRF905自动给要发送的数据加上前缀和CRC校验码。当数据发送完后,数据就绪寄存器(DR)会通知MCU数据已经处理完毕。当系统没有发送和接收任务时,将进入空闲方式。ShockBurst技术降低了MCU存储器需求,同时也缩短了软件开发时间。
有源UHF RFID系统设计
硬件设计
电子标签和读写器是RFID系统中最重要的硬件组成部分,将nRF9E5芯片应用于有源UHF RFID系统(工作频率为433MHz)中,设计有源电子标签电路和读写器框图。
有源RFID系统中的电子标签是自带电池的,可以主动发送信号,而不像无源标签需要读写器发出的无线电波能量激活才能工作。nRF9E5具有小体积、低功耗、优越的电源管理方式和极少的外围器件等特点,非常适用于有源电子标签中。
图2是有源标签的基本框图,其中电池可采用普通的3V纽扣电池,图3是射频收发电路的原理图,ANT1和ANT2为天线连接引脚,采用PCB环形差分天线,可以进一步减小标签的体积。25320为EEPROM,在nRF9E5上电后,系统根据引导程序,把25320中的程序代码拷贝到nRF9E5的4KB RAM中。晶振工作频率为16MHz,为了得到精确的内部偏置电压,通常在引脚IREF和地之间接一个阻值为22kΩ,误差为1%的电阻。
图3 射频收发电路图
RFID读写器的任务是控制射频模块向标签发射读取信号,并接收标签的应答,对标签的对象标识信息进行解码,将对象标识信息连带标签上其他相关信息传输到主机以供处理。读写器基本结构如图4所示,可以将读写器简化为控制系统和由射频收发器组成的射频模块两个基本的功能块。
图4 读写器基本结构
控制系统通常采用ASIC组件和微处理器来实现,主要功能有:与应用系统软件进行通信,并执行从应用系统软件发来的动作指令;控制与标签的通信过程;信号的编码与解码;执行防碰撞算法;对读写器和标签之间传送的数据进行加密和解密;进行读写器和标签之间的身份验证。射频模块的主要功能是:产生高频发射能量;对发射信号进行调制,用于将数据传输给标签;接收并解调来自标签的射频信号。
在所设计的系统中,读写器中的射频模块与有源标签中的射频模块电路类似,只是为了更有效地传输射频信号,采用单端连接的50Ω阻抗天线,需要在芯片天线连接引脚和天线之间加一个匹配网络,如图5所示。
图5 射频匹配网络
控制系统中的微控制器可采用高性能的单片机或ARM处理器,数字处理单元可以采用DSP或FPGA进行设计,而RS-232串口、以太网口是为和PC提供更多的接口选择,这些内容很多文献已做了大量研究,这里不再详述。在本系统中,采用三星的ARM9 S3C2440A作为微控制器,将Xilinx Spartan-3E系列FPGA XC3S500E用作数字处理单元。
通信协议标准
由于读写器与标签之间的通信可能会受到其他数据终端或外界环境的干扰而发生错误,因此,需要通信协议来保证数据传输的可靠性。nRF9E5的协议格式参见表1,其中,前缀就是数据头,设备地址包括读写器地址和标签地址,CRC校验码可选为8位或16位。
表1 nRF9E5的协议格式
前缀 设备地址 数据块 CRC校验码
目前生产RFID产品的很多公司都采用自己的协议标准,国际上还没有统一的标准。就发展趋势来看,对于超高频(UHF)RFID系统,ISO/IEC 18000-7(针对433MHz有源RFID系统)和EPCglobal Class1 Gen2(针对860MHz~960MHz无源RFID系统)协议标准,有望成为统一的国际标准。本文所设计的RFID系统通信协议依据ISO/IEC 18000-7协议标准。读写器到标签的通信数据格式参见表2,其中用户ID、标签ID和参数为可选项,由命令类型决定是否选用。标签到读写器广播式响应的通信数据格式参见表3。
表2 读写器到标签的通信数据格式
命令前缀 命令类型 厂商ID 标签ID 读写器ID 命令字 参数 CRC
表3 标签到读写器的通信数据格式
标签状态 消息长度 读写器ID 标签ID 厂商ID 用户ID 数据 CRC
软件配置
在整个系统的软件设计中,无线射频数据的传输是最主要的部分。首先要对nRF9E5进行初始化配置,这可以通过设置RF配置寄存器来完成,配置内容包括工作频率、输出功率、自动重发功能、校验码长度等。部分代码如下。
#define HFREQ_PLL 0 // 0=433MHz, 1=868/915MHz
#define PA_PWR 3 // 0=最小功率,…,3 =最大功率
#define CRC_MODE 1 // 0=8位校验码,1=16位校验码
……
无线数据发送和接收的流程分别如图6和图7所示。图中TRX_CE为发送和接收使能寄存器位,DR为数据就绪寄存器位,AM为地址匹配寄存器位,AUTO_RETRAN为自动重发寄存器位。ShockBurst工作模式在前文已有介绍。
图6 nRF9E5发送数据流程
图7 nRF9E5接受数据流程
本系统防碰撞问题尚未完全解决,在实际应用中,需要重点考虑。除前文提到nRF9E5的载波检测功能外,还需要有专门的防碰撞算法。目前,用的较多的方法是ALOHA法和二进制树搜索算法,以及由它们改进发展得到的一系列算法。
结束语
nRF9E5是目前外接元件需求最少的单片RF收发芯片之一,覆盖了国际上通用的ISM频段,具有很多优良的特性,适于构建各种无线数传通信平台,文中将其应用于RFID系统中,设计了一套有源UHF RFID系统,实验测试显示,最大通信距离近100米,有效识别距离超过20米。这只是初步尝试,更多工作需要深入研究,系统实用性有待于进一步验证。