引言
射频识别(Radio Frequency Identification,RFID)是利用微波进行双向数据传输的一种非接触式射频自动识别技术。RFID系统具有使用寿命长、低功耗、数据传输快速、稳定、安全、可靠,适应性和抗干扰性强等优点,已广泛用于工业控制、消费类电子、医疗电子、现代物流和校园一卡通等方面。RFID技术是现代物联网的核心技术。我国研究RFID技术起步比较晚,受软件和硬件等条件限制RFID技术还未真正实现大规模应用,大多数属于中、低频数据传输,距国外先进技术还有一段距离。本文重点介绍基于Altera公司Cyclone系列FPGA和ISO1800 0-6C标准超高频RFID读写器的软硬件实现方法。
1 系统原理和结构
1.1 RFID系统原理
典型RFID系统由读写器(Reader)、射频标签(RFIDTag)、天线(Antenna)、中间件(Middle Ware)和应用程序(Application Ware)5部分组成。RFID系统结构框图如图1所示。读写器安装在固定位置,通过USB与PC连接,实现数据通信与读写,读写器对射频标签操作实现用户数据更新与存储。由于系统基于ISO18000-6C标准,射频标签要符合该标准,实现用户数据存储;读写器由编解码电路、数据存储电路、射频前端收发电路、天线、电源电路等构成;天线接收和发送超高频微波信号;中间件、中间信息和数据处理软件,对射频读写器和中间件事件过滤、聚合和计算,抽象出对应用软件有逻辑意义的算法;应用程序直接面对用户人机交互界面。由应用软件操作读写器,读写器收发微波信号修改用户射频标签,应用软件是用户体验和判断RFID系统成功的一个重要因素。
1.2 RFID读写器原理
基于FPGA RFID读写器可分为3个模块:FPGA最小系统、USB串行总线接口电路、RF信号收发电路。FPGA最小系统包含FPGA现场可编程逻辑阵列、JTAG配置电路、系统时钟电路、数据存储电路、显示电路、电源电路。RFID读写器控制核心用Altera公司Cyclone系列的EP1C3T144芯片。由于FPGA基于SRAM技术,下载配置芯片用Altera公司配套的EPCS1,下载模式采用JTAG模式,20 MHz有源时钟晶振,0.3寸共阴数码管,外接5 V直流电源,经两级LM1085转换为3.3 V和1.5 V电压,为FPGA内核和引脚供电。数据存储芯片选用Catalyst公司CMOS技术芯片EEPROMCAT24WC02,通过I2C总线与FPGA连接。USB串行总线接口芯片采用南京沁恒公司的USB通用接口芯片。RF信号收发模块选用Chipcon公司的SmartRF03技术和0.18μm CMOS工艺的CC1100芯片作为微波信号收发前端,通过SPI总线与FPGA连接。
在RFID系统中,读写器是连接射频标签和PC机客户端的核心,通过对读写器命令操作,实现用户数据修改、存储等操作。RFID读写器与标签数据传输可以分为从读写器到标签前向链路和标签到读写器后向链路,前向链路与后向链路采用半双工方式通信,数据传输采用ASK调制,前向链路采用PIE码,后向链路采用Miller码,系统采用CRC-16校验码和特殊防冲突算法保证读写正确。RFID通信可分为2步:阅读器首先获得在辐射范围内标签ID号,然后对ID号符合要求的标签进行读写相应操作。读写器与上位机USB数据通信,通过USB设备枚举完成HID人机接口设备识别和数据读写。
2 系统硬件电路设计
2.1 Cyclone EP1C3T144 FPGA最小系统
FPGA最小系统包含可编程门阵列、电源电路、时钟电路、复位电路、配置电路、滤波电路。现场可编程门阵列采用EP1C3T144。它基于1.5 V,0.13μm全铜SRAM工艺、TQFP144封装;104个I/O口,支持各种I/O标准;支持LVDS,数据传输率为311 Mbps;2910LE逻辑单元、
288 Kb RAM、1个PLL锁相环,支持66 MHz 32位PCI标准,支持外接133 MHz DDR SDROM;单独有源时钟接口,外接20 MHz频率的有源晶振;专用配置电路接口,3.3 V LVTTL供电。FPGA基于SRAM技术,掉电数据易失,采用Altera公司配套的EPCS1JTAG下载模式。系统采用硬件和软件复位:硬件复位接FPGA nconfig引脚,按下此键FPGA代码从EEPROM重新配置;软件复位是编写代码时设置reset引脚,按照代码运行。
由于FPGA芯片内部EEPROM空间有限,FPGA芯片外挂一个2KB EEPROM 24C02,24C02与400kHz I2C接口兼容。供电电压为1.8~6.0V,供电电流为3mA,具有页写缓冲器和写保护功能,SOP8封装。它还具有读写次数多、保存时间长、功耗低的特点。24C02硬件接口电路如图2所示。
2.2 USB串行总线接口电路
CH372简易USB通用串行总线接口集成电路,兼容+5 V和+3.3 V供电,最大工作电流为30 mA,外接12 MHz频率晶振,20引脚SOP封装;兼容USB2.0数据传输协议,支持HID设备热插热拔,内置USB底层通信协议,自动完成标准USB事件枚举;支持数据控制传输、批量传输、终端传输;默认链接端点0所有事件,FPGA负责数据传输与处理,使用方便,CH372硬件接口电路如图3所示。
2.3 CC1100 RF收发电路
CC1100是一款极低功耗UHF收发集成电路。其通信效果好、抗干扰性能强、穿透力强、灵敏度高;可自由设置收发频率,可设置范围为300~348 MHz、400~464MHz、800~928 MHz,可编程控制数据传输速率最高可达500 kbps,4线SPI(SI、SO、SCLK、CSn)接口。CC1100正常工作电压为3.3 V,最高输入电压3.6 V,每个引脚输入电压应相同。868~915 MHz发送模式输出功率为+10 dBm,电流为30 mA,接收最大功率为+10 dBm,硬件自动CRC校验,支持ASK调制解调,调整外围元件可方便调整收发频率。CC1100采用数据缓冲技术,具有2个64字节FIFO,缓冲发送和接收数据。CC1100可软件设置RF发送功率、收发模式、调制格式、信道选择和带宽、数据传输速率、整机工作模式等。
CC1100属于半双工通信,接收和发送在射频控制模块RF CONTRON控制下分时进行,解调由积分器向下积分完成,AGC电路控制回路增益;调制基于直接频率合成,载波信号由晶振与内部PLL电路产生,发送模块和接收模块稍有区别。接收模块包括:低噪声放大器LAN、积分器INTEGRATION、模数转换ADC、解调器DEMODU-LATOR、向前数据误差处理器FEC/INTERLEAVER、包处理PACKET HANDLER、接收数据缓冲器RXFI FO、数字接口电路DIGITAL INTERFACE TO MCU;发送端与接收端不同的模块有:压控振荡器VCO、混频器MIXER、发送数据缓冲器TXFIFO,数据收发由不同模块分时完成。
CC1100具有2种工作状态——空闲状态和工作状态,每种状态对应电流不同。空闲状态可分为等待WAIT状态,内部电流1.9 mA;睡眠SLEEP状态,内部电流400~900 nA;晶振的停振状态仅维持寄存器值不变,内部电流160 nA;工作状态可分为接收(RX)和发送(TX)状态,接收状态根据接收信号强弱内部电流在14.2~15.4 mA范围变化。发送状态下,发送信号功率大小随工作电流变化。14 mA时发射功率为-10 dBm,29 mA时发射功率为+20 dBm。根据工作状态调整工作电流,可实现整机最低功耗。
由于采用ISO18000-6C标准射频空中接口协议,系统采用889 MHz发射和接收频率,改变CC1100第12、13引脚外接电容C1、C2,电感L1、L2的参数可调整射频收发频率,发射天线采用50 Ω偶极子天线。12、13引脚LC网络器件参数可由软件SmartRF studio仿真得到,参考CC1100官方DATASHEET,根据实际情况微调。CC1100数据收发原理图如图4所示。
3 系统软件设计
3.1 RF收发芯片CC1100软件设计
CC1100操作包括芯片数据读写、寄存器与命令滤波器设置访问、数据包与数据传输速率设置、FIFO访问、低功耗策略等。RFID读写器中CC1100数据传输采用同步连续方式,支持硬件数据包处理、FIFO缓冲、数据白化、交错和前向处理。CC1100数据帧包含前导、同步数据、标签地址、数据长度、读写命令、数据地址、数据、CRC校验码、结束位。其中前导数据、同步数据通过CC1100寄存器设置硬件自动完成、CRC校验码硬件自动完成,其他数据需软件设置或配置寄存器。数据帧结构如表1所列。
CC1100通过4线SPI接口与FPGA连接,对内部不同寄存器和不同命令滤波器操作完成数据收发。当SO引脚读数据时SCLK必须在第一个上升沿前被拉低,一个周期内SCLK下降沿完成1位数据建立,上升沿数据保持;CSn=0片选信号有效,数据正常传输;在SCLK控制下SI为同步数据输入,SO为同步数据输出。数据通信完成后SCLK保持低电平,等待下次数据通信。CSn=1时CC1100为降低功耗处于睡眠或晶振停振状态。CC 1100采用电磁波激活WOR低功耗技术,CPU处于深度睡眠等待接收状态,数据到来后,无须唤醒CPU而直接存储到RX FIFO。
CC1100内部可分为配置寄存器地址(0x00~0x2F)和命令滤波器地址(0x30~0x3F)。配置寄存器设置SPI引脚状态、数据调制方式、编码方式、校验方式、数据传输速率、信道带宽等;寄存器状态字STATE第6位到第4位查询当前工作状态,000为空闲状态,001为接收状态,010为发送状态;命令滤波器设置当前工作状态,SRX 0x34=0xFF时启用接收模式,STX 0x35=0xFF时启用发送模式。CC1100分别具有一个64位RX FIFO和TX FIFO,STATE状态字监测FIFO是否溢出。读RX FIFO前必须保证FIFO不为空,写TX FIFO前必须保证FIFO为空,否则读写数据将出错。CC1100寄存器与滤波器设置可以通过软件SmartRF Studio得到最佳配置。
CC1100数据传输速率通过MDMCFG3.DRATE_M和MDMCFG4.DRATE_E配置寄存器和晶振频率设置,先设定数据传输速率和晶振频率,计算出MDMCFG3.DRATE_M和MDMCFG4.DRATE_E配置寄存器值。
3.2 ISO18000-6C空中接口协议
传输频率范围:860~960MHz。
调制方式:ASK,每个信道500kHz,可设置52个信道,标签采用反向散射调制。
最大发射功率:4W。
编码方式:PIE,Miller,FM0。
校验方式:CRC-16。
数据传输速率:40~640kbps。
4 系统实验结果和结论
RFID系统测试包括软件测试、硬件测试、稳定性和EMI测试。软件测试包括用户软件、中间件、标签软件、编解码信号测试;硬件测试包括发射功率、收发距离、收发夹角、标签数量;EMI和稳定性测试包括复杂电磁干扰测试等。用到的仪器有数字存储示波器、矢量分析仪、逻辑测试仪、频谱分析仪、NRT功率计测试仪。它们对读写次数与数据正确率、读写器一标签距离与数据正确率、天线发射功率与数据传输距离、天线对信号放大倍数与信号频率关系进行相关测试与数据分析。
经测试,RF放大器对889 MHz信号放大倍数最大,读写器与标签最大数据传输速率为240 kbps;传输距离在1 m内天线发射功率为1.1 dBm,调整发射功率,最大传输距离可达3 m。基于IS018000-6C标准射频标签协议RFID便携式系统工作稳定可靠,只需USB与PC机连接便可实现读写器与PC机数据通信,简单、方便、可靠,可用于工业控制、消费类电子、食品安全追踪、现代物流、校园一卡通等场所。
责任编辑:ct
评论
查看更多