基于FPSLIC的UHF频段RFID阅读器的实现
前言
通常,RFID系统由电子标签(tag)、阅读器(reader)和数据管理系统这三个主要部分组成,如图1所示。
电子标签部分又可以细分为标签天线和标签芯片两部分。每个电子标签都含有唯一的识别码,用来表示电子标签所附着的物体。当电子标签接收到阅读器的发射信号的时候,电子标签被唤醒,然后根据阅读器发射的指令完成相应的动作,并将响应信息发射回给阅读器。电子标签上有数KB的存储单元,可以反复读写10,000次以上。
阅读器也可以细分为阅读器天线和阅读器两部分。阅读器通过发射信号唤醒和传送指令给电子标签,并接收标签返回的信号。在初步的过滤、处理信号之后,将有用的数据通过网络和数据管理系统交互,从而完成对电子标签的信息获取和解析。
数据管理系统主要完成数据信息的存储及管理、数据管理系统可以由简单的小型数据库担当,也可以是集成了RFID管理模块的大型ERP数据库管理软件。它通过网络与分散在异地的阅读器通信,实时获取阅读器捕获到的电子标签信息。
按频段RFID产品可以分为低频125KHz、高频13.56MHz、超高频915MHz以及微波频段2.45GHz和5.8GHz。本文实现了具有自主知识产权的UHF频段(915MHz)RFID阅读器。UHF阅读器兼容识别ISO18000-6和ANSI256的无源RFID标签,可根据发射功率调整识别距离。阅读器识别无源RFID标签可达5~10米的识别距离,50张标签/秒,并采用了RFID信号防冲撞算法,可以同时识别同一区域内多张RFID标签。
图1 RFID系统构成
本设计方案可以广泛应用在以下领域:
1.制造业,实现精细制造,提高生产效率,保障产品质量。
2.企业供应链管理,有效控制企业库存量,降低市场风险,提高盘点效率。
3.仓储物流业和交通运输,物流全过程的跟踪监控,提高调度的准确性和效率。
基于FPSLIC的设计
FPSLIC就是在基于SRAM的SoC中嵌入AVR MCU内核和FPGA门阵列逻辑。AVR、FPGA、SRAM模块之间的接口已经实现,而且可以配置,可以节省2000~5000门。一个FPSLIC里有10000~ 40000门的FPGA、一个单片机、一个储存器、多种外围设备和现成的接口。其低价格的软件包括:设计主控流程、综合验证、布线工具以及硬件和软件的仿真。
嵌入在FPSLIC 里的MCU为Atmel的AVR。它是一个8Bit RISC的MCU,可以执行的单时钟指令可达120多条,AVR代码效率和性能跟一般8位的MCU相比凸显优越。当把它嵌入以SRAM为主的FPSLIC时,更可表现其三大特点 :提高速度、降低功耗、程序存储量降低。
嵌入在FPSLIC 中的FPGA为Atmel的AT40K系列。该系列FPGA内有10ns的分布式SRAM,它可以异步操作,也可以同步操作。AT40K的设计是用VHDL/Verilog或画图的方式在计算机上形成的。由于AT40K还可以当作DSP的协处理器使用。客户可以把一些需要快速执行的功能在FPGA里实现,比如FIR、FFT、interpolators 和DCT,从而使得该FPGA能很好地应用在多媒体、电信和工业控制等领域。
AT94K40的内部程序/数据SDRAM分为3块:10K×16位专用程序存储器(地址范围:0x0000~0x27ff);4K×8位专用数据存储器(0x0000~0x0fff);6K×16位或12K×8位可配置存储器。
开发软件采用System Designer 3.0。硬件和软件同步仿真。
本设计的主控板框图如图2所示。
本方案的具体设置包括:
1.现在使用的设置为16K×16位的程序存储器,4K×8位的数据存储器。在4K×8位专用数据存储器(0x0000~0x0fff)中包含了64个AVR I/O寄存器。其中AVR与FPGA的通信中使用到了以下寄存器:
FISCR:FPGA I/O选择控制寄存器
FISUA~D:FPGA I/O选择、中断控制寄存器
2. 考虑到需要以80KHz频率发送OOK信号,通常的4MHz的板上晶振在不分频的情况下使用匹配中断(匹配值为50),才勉强实现,但由于指令执行周期(0.25s)太长,实际发送OOK信号时达不到要求的速度。故改用18.432MHz的晶振,匹配值为225。匹配值的计算公式为:匹配值=晶振频率/分频系数/80KHz。
3. AVR代码中使用了Uart0&1的接收/发送中断与Timer0的匹配中断。
4. 波特率设置:BAUD=Fck/16*(UBR+1),Fck为时钟频率,UBR为波特率寄存器高字节UBRHI和低字节UBRRn的数值(0~4095)。下面给出典型值:
Fck=4MHz,UBR=25,BAUD= 9600bps
Fck=18.432MHz,UBR=9,BAUD= 115200bps
5. 由FPGA实现的功能为:补码变换,差分处理,FIR低通滤波,归一化判决,去毛刺,同步提取。
其中对各步骤简要说明如下:
a)补码变换:因为ADC的输出信号为1ff~000(3~2V), 3ff~200(2~1V)。若要分出信号的正负,就需要本步骤,具体操作为将大于511的输出减去1024。
b)差分处理:增强信号。
c)FIR低通滤波:去除高频噪声。
d)归一化判决:将A/D采样得到的电压值转变为I/O信号。
e)去毛刺:去除毛刺信号。
f)同步提取:提取码元信号,平均一个码元拥有4个采样点。
开发体会
采用FPSLIC开发优势在于:资源比较丰富,I/O设置很灵活,有很大的发挥余地;FPGA的运算速度很快;由于使软硬件同步仿真,虽然难度大了,但也缩短了开发周期;总体的性价比好。
感觉不足的地方有:AVR协同FPGA工作的速度跟不上,当运作频繁时总是FPGA等候AVR;System Designer的界面不够友好,使用起来不太方便;布线的速度慢。
总体来说,本文利用FPSLIC实现了超高频段RFID阅读器,为 FPSLIC在这方面的应用打开了思路。■
参考文献