摘 要:提出了一种基于ISO/IEC15693协议的标签芯片编解码系统设计的实现方法,使编解码更加完整准确。采用Verilog HDL建立RTL模型,用ModelSim进行功能仿真,并在Altera DE2-115与射频前端搭建的平台上进行了FPGA验证。最后不仅功能验证正确,而且比协议中要求的识别凹槽宽度范围广,处理更加灵活,同时减小了射频前端模拟解调的压力。对其他编解码系统的实现也有一定的借鉴意义。
关键词:射频识别;ISO/IEC15693;编解码系统;疏耦合标签
射频识别RFID(Radio Frequency Identification)技术是利用射频信号通过空间耦合实现非接触信息传递并通过所传递的信息达到识别目的的技术,是自动识别技术在无线电技术方面的具体应用和发展[1]。
ISO/IEC 14443与ISO/IEC 15693标准都是针对13.56 MHz无源式RFID标签的设计标准,前者是近耦合标签,最大识别距离只有20 cm;后者是疏耦合标签,最大识别距离可达1.5 m[2]。ISO/IEC 14443标准的RFID标签芯片应用局限于会员管理、人员考勤、购物卡、一卡通等标签卡。而ISO/IEC 15693标准的RFID标签芯片应用广泛,可以用于开放式门禁、开放式会议签到、贵重物品管理、数字化图书馆的图书管理、医药管理、资产管理、产品防伪、物流及供应链等诸多领域。此外,ISO/IEC 15693协议与ISO/IEC 18000-3协议兼容,适用范围广,市场前景广阔。
本文对ISO/IEC 15693标准的RFID标签的编解码过程进行分析,给出了编解码系统设计的方法,并进行了仿真结果分析、FPGA下载验证。
1 VICC通信过程及传输数据格式
ISO/IEC 15693标准的阅读器(VCD)与标签(VICC)之间的通信通过ASK调制方式进行,分别使用了10%和100%两种调制指数[3]。VCD通过脉冲位置编码(PPM)的方式将数据发送到VICC, 而VICC又通过曼彻斯特编码的方式将数据发送到VCD。在VCD与VICC的通信过程中,VICC是被动的。VICC正确对VCD的请求进行解码,才能够做出正确的处理。另外,返回的响应格式也由请求标志决定,所以解码过程是非常重要的。响应编码也同样重要,它关系到VCD对VICC的状态的判断,这关系到之后的通信能否正确进行。VICC的工作过程如图1所示。
VICC收到的请求数据格式以及返回的响应数据格式如表1、表2所示,每种方式可以任意组合。表1中的数据是对解码的要求,按任意组合可以有4种情况,其中10%调制与256取1的编码结合,适合要求识别距离相对远的情况;表2中的数据对应的是编码的要求,按任意组合也有4种情况。
由于VICC是被动的,返回的数据速率和格式由请求数据的第一个字节中的低2位决定,最低位决定是单幅载波还是双副载波格式,次低位决定是高速率传输还是低速率传输[4],如表3所示。
2 编解码系统的设计方案
对编解码系统进行设计时,由于VICC是被动的,采取VICC进入场之后,复位VICC解码使能置1,当解码处理完成之后,等待VICC的操作处理,当返回响应时,解码使能置0,编码使能置1。返回结束后,编码使能置0,解码使能置1,等待下一次的VCD请求。这样解码和编码不会冲突,而且降低了功耗。
2.1 解码设计的方案
对前端模拟信号传过来的波形按ISO15693协议规定进行解码。模拟前端传送过来的数据是4取1或256取1的脉冲调制编码,对其进行解码时要抓住PPM的特点,确保这两种编码都支持。解码的流程图如图2所示,两种编码的识别和数据的解码都是通过判断两个相邻凹槽的距离来判断。最先识别开始帧(SOF),把256取1模式的初始化数据定为“255d”,因为如果将它的SOF的后一个槽算作之前的一个数据,则它所在凹槽的位置就是“255d”;同样可以得到4取1模式的初始化数据为“10b”。数值通过相邻凹槽的时间差来判断。由于数据信号的凹槽宽度为9.44 μs,解码的计时取9.44 μs为1,可以准确识别每个数据,并且采用此方法可以识别的最小信号宽度达到700 ns,比协议中要求的2.1 μs~9.44μs[3]识别的宽度范围要广。处理更加灵活,同时减小了射频前端模拟解调的压力。此外,ASK调制系数有10%和100%两种,信号与时钟进行“与”运算,并将两种情况统一,则可使处理更加简单,资源利用率更高。协议中提到的所有数据格式都能满足,最终确保解码完全准确。
2.2 编码设计的方案
在VICC收到正确的请求处理完成之后,要响应VCD,响应的数据要通过特殊的编码处理。为保证控制命令高速长距离传输的稳定性,对其进行平衡编码,采用曼彻斯特编码将消除直流分量,从而使控制系统具有良好的抗干扰性能[5]。低速模式持续的时间和脉冲个数是高速模式的4倍, 而且不同模式的载波对应的编码方式不同。时钟由不同的速率模式控制,高速与低速对应的编码是一致的,不同的只是编码时间,因此低速的时钟分频系数是高速的4倍。根据曼切斯特编码的特点,“0”就是1到0的跳变,“1”就是0到1的跳变,1是32分频的时钟,而0在单副载波情况下是无调制的,双副载波调制下是28分频的时钟,因此只要加一个选择器,对应的模式就选择对应的副载波,两种副载波调制也就完成了。整个的编码状态转换如图3所示。进入场复位之后编码模块处于空闲状态,当编码使能信号置1时开始传输响应,先发送开始帧,之后传输数据,数据传输结束后发送结束帧,最后编码使能置0回到空闲状态。这样确保了响应的安全可靠。
3 仿真验证
采用Verilog HDL语言编写程序并进行了测试,用ModelSim进行了功能仿真验证;同时选用CycloneIVE系列开发板进行 FPGA验证。此处选用4取1的PPM编码方式,从输入的第一个字节为“02h”可以看出,响应编码是高速率传输,单幅载波模式。由两波形图可以看出,编码与解码的功能得到实现,数据完整可靠。
图4中“i_dec_clk”是解码模块的时钟信号;“i_dec_nrst”是解码模块的复位信号;“i_dec_data”是射频输入信号;“o_trans256_sof”是接收数据为256取1(PPM方式)的标志;“o_trans4_sof”是接收数据为4取1的标志,此处是4取1的PPM编码,有置“1”;“o_dec_byte”是接收完一个整字节的标志,每个字节输出时都有置“1”;“o_dec_byte_num”是接收数据的字节数,共9 B;“o_dec_eof”是接收数据的结束帧标志;“o_dec_command”是接收的数据解码之后按十六进制显示的结果。
图5中“i_en”是编码模块的使能信号;“i_mod”是编码模式,即低位是副载波形式,高位是传输的数据速率;“i_tx_end”是响应数据,包括16 bit的CRC传输完成标志;“i_data”是要编码的数据,按位显示;“o_rd”是编码完成的数据;“o_end”是编码完成的标志,包括EOF;“o_tx_en”是传输编码数据的使能信号,不包括SOF与EOF。
本文给出的编解码系统的设计已成功应用于基于ISO/IEC 15693标准的RFID标签芯片的开发项目中,并通过了仿真验证和FPGA验证。从仿真验证结果来看, 该部分编码解码完全正确, 凹槽宽度可以小到700 ns,且具有设计简单、硬件资源利用率低、抗干扰性强等特点, 并且功能仿真结果表明,在与整个标签芯片中其他模块代码进行连接时,编解码系统的设计完全满足ISO/IEC 15693标准的所有编解码模式。疏耦合的RFID标签应用范围广,市场需求大。通过调节编解码模式可灵活控制识别距离,迎合市场不同需求。
参考文献
[1] 黄玉兰.物联网射频识别(RFID)核心技术详解[M].北京:人民邮电出版社,2010.
[2] Identification cards-Contactless integrated circuit cards Vicinity cards-Part 1:Physical characteristics[S].ISO/IEC 15693-1,2010-10-01.
[3] Identification cards-Contactless integrated circuit cards Vicinity cards-Part 2:Air interface and initialization[S]. ISO/IEC 15693-2,2006-12-15.
[4] Identification cards-Contactless integrated circuit(s) cards Vicinity cards-Part 3:Anti-collision and transmission protocol[S].ISO/IEC 15693-3,2000-03-10.
[5] 刘敬彪,琚汝强,盛庆.基于光缆的深海摄像系统的设计与实现[J].电子技术应用,2012,38(3):30-33.