基于EPC Gen2标准实现FMO编码的UHF读写器设计

描述

射频识别技术(Radio Frequency Identification,缩写RFID),射频识别技术是20世纪90年代开始兴起的一种自动识别技术,射频识别技术是一项利用射频信号通过空间耦合(交变磁场或电磁场)实现无接触信息传递并通过所传递的信息达到识别目的的技术。从信息传递的基本原理来说,射频识别技术在低频段基于变压器耦合模型(初级与次级之间的能量传递及信号传递),在高频段基于雷达探测目标的空间耦合模型(雷达发射电磁波信号碰到目标后携带目标信息返回雷达接收机)。UHF频段RFID系统具有读写速度快、存储容量大、识别距离远、成本低、尺寸小等特点,更适合未来物流、供应链领域的应用,也为实现"物联网"提供可能。因此超高频RFID系统的发展是当今RFID系统发展的重点。这里所提出的UHF读写器是基于EPC Gen2标准来实现的,阅读器对标签的读写是通过发送射频能量和对回波检测来实现的,其中由标签返回给阅读器数据发送采用FM0编码格式。

1 FMO编码原理

用预先规定的方法将文字、数字或其他对象编成数码,或将信息、数据转换成规定的电脉冲信号。编码在电子计算机、电视、遥控和通讯等方面广泛使用。编码是信息从一种形式或格式转换为另一种形式的过程。解码,是编码的逆过程。在计算机硬件中,编码(coding)是在一个主题或单元上为数据存储,管理和分析的目的而转换信息为编码值(典型地如数字)的过程。在软件中,编码意味着逻辑地使用一个特定的语言如C或C++来执行一个程序。在密码学中,编码是指在编码或密码中写的行为。

FM0(即Bi-Phase Space)编码的全称为双相间隔码编码。在一个位窗内采用电平变化表示逻辑。如果电平从位窗的起始处翻转,则表示逻辑"1".如果电平除了在位窗的起始处翻转,还在位窗中间翻转则表示逻辑"O".根据FM0编码的规则可以发现无论传送的数据是0还是1,在位窗的起始处都需要发生跳变,如图1所示。

读写器

根据EPC Gen2协议规定,从标签接收刭的数据都是FM0编码格式,是以前同步码开始的,前同步由2部分构成:前12个前导零与之后的6位特定位。需要注意的是在前同步码中有1位发生了偏移(即应发生相转化但实际上没有),表示为"V",用于区分前同步码与数据码,前同步码之后为收到的数据,如图2所示。

读写器

2 UHF读写器读写原理

读写器即 射频标签读写设备是射频识别系统的两个重要组成部分(标签与读写器)之一。射频标签读写设备根据具体实现功能的特点也有一些其他较为流行的别称,如:阅读器(Reader),查询器(Interrogator),通信器(Communicator),扫描器(Scanner),读写器(Reader and Writer),编程器(Programmer),读出装置(Reading Device),便携式读出器(Portable Readout Device),AEI设备( Automatic Equipment Identification Device)等。 通常情况下,射频标签读写设备应根据射频标签的读写要求以及应用需求情况来设计。随着射频识别技术的发展,射频标签读写设备也形成了一些典型的系统实现模式。

根据EPC Gen2标准,该UHF读写器属于半双工通信,遵循读写器先发言(RTF)原则,即标签是否需要返回信号建立在有没有接收到并正确解调出读写器发来的指令。系统开始工作时,先由读写器通过射频模块进行调制,发出一系列的读标签指令,当标签进入读写器响应区域时,接收到射频能量,开始解调读写器的指令,只有正确得到读指令后,标签才会将自己的ID信息等数据通过反向散射方式回发给读写器。读写器将收到的反向散射信号解调成基带信号之后再送到处理器中进行解码处理。

标签主要由射频接口(天线、数据调制、解调、电源电路)、控制逻辑及EEPROM存储器3个模块构成,调制解调模块完成对发送接收信号的调制解调,能量检测电路通过天线线圈接收到电压后给控制中心提供稳定的电压。控制逻辑由冲突检测、读写控制、存取控制、EEPROM接口控制和RF接口控制部分组成,主要负责处理与外部通信协议和与读写EEPROM.

采用高性能的ARM7的LPC2103进行解码,采用12MHz外部晶振,该芯片可内部倍频,内部时钟工作在60 MHz的频率上,完全满足高速下的解码需求。LPC2103有2个32位的捕获比较器,具有多达7路捕获通道。采用LPC2103的定时器TO和相应的捕获引脚,在输入信号发生上跳变或者下跳变时捕获定时器值,并产生中断将该定时器值取出进行判断,其系统框图如图3所示。

读写器

3 FMO解码

用特定方法把数码还原成它所代表的内容或将电脉冲信号、光信号、无线电波等转换成它所代表的信息、数据等的过程。解码在无线电技术和通讯等方面广泛应用。

根据FMO解码的特点,目前常见的解码方法是:根据起始处的上升沿或下降沿以及位窗中的采样点来判断出此位窗所表示的数据。设定一个位窗时间长度为T,1)位窗起始处为下降沿,在该位窗3/4T处采样,采样为1则位窗表示数据"0",采样为0则位窗表示数据"1";2)位窗起始处为上升沿,在该位窗3/4T处采样,采样为1则位窗表示数据"1",采样为0则位窗表示数据"0".

这种方法的缺点很明显。因为UHF频段频率很高,当在接收过程中会出现频率偏移的情况时,会造成位宽时间T较大的变化,而程序仍以固定的时间间隔3/4T去解码,所以每次都会发生一定的偏移,根据协议,UHF读写器将接收到标签传送过来的1个128字节的数据,这样在解码过程中,将出现累积偏移过多导致漏读或多读情况,从而产生误判。

通过读写器命令设置,可以使标签返回数据采用160 Kb/s的速率,在FM0码相邻两个边沿之间的间隔只可能有3种情况:0.5T、T、1.5T.在12 MHz的外部时钟下,"0"的高半位宽"H"和低半位宽"H"为3.125μs,捕获出的定时器计数值为0x25左右,记为0.5T;收到1个"0"或者1个"1"的位宽为6.25 μs,捕获出的定时器计数值为Ox4B左右,记为T;在前同步码中,"V"的位宽为9.375μs,捕获出的定时器计数值为0x70左右,记为1.5T.解码流程图如图4所示。

读写器

根据FMO码特点,当捕获到一个"H"或者"L"时,要判断这个O.5T是"0"的前半位还是后半位。是前半位时,要等待下一个0.5T结合成1个"0";是后半位时,要与之前剩余的半位结合成"0".捕获到1个T宽度的数据时,则记为"1".

在进行对接收到的FMO码解码时,因为没有同步信号,所以必须要先对数据进行同步,也就是要先解码到连续的12个"0"与之后的1010 V1前同步码数据,才能对后面真正需要的数据进行解码。在解前同步码时,前12个"O"按照2个0.5T组成1个"0"的原则,要有连续的24个0.5T出现才会进行下面的解码,不然就会返回重新开始统计12个"0".在之后解码1010V1时,要注意一个特殊的位"V",当捕获到一个1.5T宽度的数据时,才记为"V";在此期间,只要解码出一位有错误,则返回重新开始统计12个"0".只有前同步码全部正确解出时,才能进行对需要的数据进行解码,依据捕获到的宽度是0.5T还是1T来判断是"0"的半位还是一个完整的"1".

在EPC Gen2使用中,根据读写器发送命令的不同,标签返回的FM0码里或者存在CRC5,或者存在CRC16,或者没有校验,有CRC的码在解码完成后都要进行CRC校验。当检测到结束位时,CRC校验正确,则本次通信正常,可以进行下一步的通信。

在实际运用中,读写器接收回路上会出现发送回路泄露过来的很多杂波信号以及一些毛刺,会有连续多个"0"出现,会形成连续的24个宽度为0.5T的间隔,可能会误判成前同步码开始,但后续的前同步码解码过程在出现1.5T宽的"V"时会出错,在进行校验或检测停止位时也可能会出现错误,这时也要重新搜索前同步码。

4 结束语

在UHF读写器设计中,关键问题就是对接收到的解调数据进行正确解码,既要解决信号频率的偏移,也要能在高速通信过程中,快速正确解码,采用这种解码方法可以在对FM0码捕获位宽的同时进行同步解码,速度比较快,而且由于对载波频率的变化不敏感,故读卡成功率高。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分