1 引言
近年来,射频识别技术(RFID)作为自动识别的新技术凭借其诸多优点在国内外迅速发展。其应用广泛,在人和动物身份识别、物流管理、交通运输管理、资料及档案存储、工厂的生产控制等诸多领域均凸显其作用和优势。按照工作频率的不同,RFID系统町以分为低频(LF)、高频(HF)、超高频(UHF)和微波等不同频段的系统,低频与高频系统较成熟.超高频技术则刚开始进入大规模应用阶段,其技术水平还没有达到成熟的地步。对于此频段读写器的研究和设计具有较大的意义。
本文依据ISO/IEC18000-6协议,利用FPGA与单片机设计了一种应用于超高频RFID读写器的基带模块,对此类读写器的设计具有借鉴意义。
2 RFID系统结构与工作原理
2.1 RFID系统结构
RFID系统一般包括射频标签,读写器和计算机系统三部分。射频标签是射频识别系统的数据载体,是安装在被识别对象上,存储被识别对象相关信息的电子装置。读写器是利用射频技术读取射频识别标签信息、或将信息写入标签的电子设备。读写器读出的标签信息通过讣算机及网络系统进行管理和信息传输。射频识别系统中,计算机通信网络是对数据进行管理和通信传输的设备。
2.2 RFID系统工作原理
RFID系统足南信息载体和信息获取装置组成。RFID系统的基本模型如图1所示。其中,射频标签为数据载体;读写器足标签信息的读取装置。射频标签与读写器之间通过耦合元件实现射频信号的空中耦合、在耦合通道内,根据时序关系,实现能量的传递、数据的交换。
3 RFID读写器的结构
从电路实现角度来说,读写器可划分为两大部分,即:射频模块与基带模块。
射频模块主要由调制解调电路模块及天线组成,主要功能有两个。一是实现将读写器欲发往射频标签的命令调制到射频信号上,经由发射天线发送到射频标签上,而射频标签对照射的其上的射频信号作出响应。二是实现将射频标签返回到读写器的回波信号进行加工处理.并从中解调提取出射频标签回送的数据。
基带模块主要南读写器控制模块、编解码模块及数据校验等模块组成,主受功能也自.两个,一是接收上位机或键盘输入的命令,作必要的处理后进行编码实现为便于调制到射频信号上的编码调制信号。二是将标签回送列射频模块后经过解调处理后的数据信号进行解码和必要的处理,然后将结果送上位机、显示器或存储器。各模块之间的信息传输和命令控制关系如网2所示。
依据ISO/IECl8000-6协议,超高频读写器应支持二种通讯类型,A类和B类。它应当可以从一个类型转换成另一个类型。本文的读写器通过单片机控制其两种类剐通讯方式的转换。
4 UHF RFID读写器基带模块原理与设计
4.1 UHF RFID渎写器基带模块功能实现方法
如图2,可以将基带模块分为两个部分:单片机部分和FPGA部分。FPGA部分的内部结构如图3,分为编码模块,解码模块,CRC模块以及时钟分频模块,利用Verilog HDL语言进行编写。主要功能足将信息数据进行CRC产牛和编码然后送调制模块后通过天线发送给标签以及将解调后的天线接收回来的标签信息数据进行解码和CRC校验。单片机部分实现对FPGA的控制以及与FPGA进行数据信息的交换、将读写数据与上位机通信、执行上位机发送来的命令,以及将读写状态通过LCD显示,以下重点介绍FPGA部分。
4.2 PIE编码器的功能及实现方法
PIE编码的全称为脉冲宽度编码,它用在A类通讯的前向链路中,编码原理是通过定义脉冲下降沿之间的不I卅时间宽度来表示数据。在标准中定义了一个名称为‘Tari’的时间间隔,也称为基准时间间隔,该时间段为相邻两个脉冲下降沿的时问宽度,持续为207s。由读写器发往标签的数据帧由SOF(帧首)、EOF(帧尾)、数据0和1组成。数据0的编码为1个‘Tari’时间段,数据1的编码为2个‘Tari’时间段,数据帧SOF为3个‘Tari’时间段,数据帧EOF为4个‘Tari’时间段。
当上位机给单片机指令和信息数据后,如图3.单片机启动编码和CRC模块。即单片机给编码模块和CRC模块一个编码启动指令,编码模块接收到启动指令后返同给睢片机一个应答信号,单片机接收到应答信号后将待编码的信息数据送入编码模块和CRC模块。当编码数据完成后,立即将产牛的CRC值送入编码模块进行编码。编码输出每一帧数据都由一个帧首(SOF)、紧接着的数据位、最后以帧尾(EOF)结束组成。编码模块具体实现为:当检测列NRZ码输人为0时,PIE码输出Tari/2长度的低电平和7Tari/2长度的高电平,相当于NRZ码的01;当检测到NRZ码输入为1时,PIE码输出Tari/2长度的低电平和3Tari/2长度的高电平,相当于NRZ码的0111。同理输出SOF时。相当于NRZ码的01011111;输出EOF时,相当于NRZ码的01111111。
4.3曼彻斯特编码器的功能及实现方法
曼彻斯特编码,它用在B类通讯的前向链路中,它是在半个比特周期的负边沿表示二进制l,半个比特周期中的正边沿表示二进制0,如图4
产生曼彻斯特码的方法很简单,只要将时钟与NRZ码(数据)异或后即可。时钟南时钟分频模块产生。单片机的命令执行过程与上面介绍的操作过程相同,区别是上位机给单片机下的不同(A类或B类)通讯方式的命令。
4.4译码模块的功能及实现方法
依据ISO/IECl8000-6协议,超高频读写器和标签之间反向链路编码方式采用FM0编码。所以读写器解码模块是针对FM0编码的译码模块。FM0编码,在半比特周期中的任意的边沿表示二进制0,而没有边沿就是二进制1。此外,在每一比特周期开始时,电平都要反相,如图5
读写器读取的FMO编码信息是由一个16位的帧头开始,并且有多个违例码(顺序未遵守FM0编码规则)作为帧头至数据域过渡的帧标志。
4.5 CRC模块的功能和原理
CRC模块由CRC生成模块和CRC校验模块两个功能模块组成。CRC校验模块主要足在洋码时对收到的命令进行完整性校验,从而确定触发单片机对FPGA的各模块进行控制操作。CRC生成模块主要是在编码时产生CRC值跟随信息数据一起编码后发送,当数据接收到后计算接收的CRC值,如果结果为零则数据传输尤误,否则传输c出错。
根据协议,本文设计用了CRC-5和CRC-16两种CRC校验的算法,从数学角度看,CRC校验和是用生成多项式去除一个多项式(数据字节)即可求得,CRC值为相除后所得余项。CRC-5和CRC-16分别对应的生成多项式为x5+x3+l和x16+x12+x5+1。
4.6 R寸钟分频模块功能及实现方法
时钟分频模块的功能是产生FPGA各模块工作和协调运行所需的时钟频率。FM0编码和曼彻斯特编码,数据速率为40Kbps;PIE编码,1个‘Tari’时间是20μs,所以模块产生的时钟频率有40KHZ、50KHZ和80KHZ,其中FM0编码和曼彻斯特编码都用到40KHZ和80KHZ,因为在这两种编码中,在NRZ编码数据0和1的中间时刻发生电平的跳变,50KHZ主要针对PIE编码使用。与编码译码以及CRC模块一样,时钟分频模块也是由Verilog HDL语言编写,其中40KHZ的频,牢可以由80KHZ的频率经二分频得到。
5 结束语
本文较系统的介绍了依据ISO/IECl8000-6协议,将单片机与FPGA相结合,设计超高频RFID读写器基带模块的方法,设计结合了单片机数据处理能力和控制能力强,FPGA数据采集方便,速度高,编写模块简单有效性能稳定的优点,使得设计的模块抗干扰能力强,简单可靠,对此类读写器基带模块的设计具有借鉴意义。本文未详细介绍读写器射频模块,对于射频模块和基带模块的结合有待进一步研究和探讨。