UHF读写器设计中的FM0解码技术
通过读写器命令设置,可以使标签返回数据采用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所示。本文引用地址://m.amcfsurvey.com/article/187636.htm
根据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码捕获位宽的同时进行同步解码,速度比较快,而且由于对载波频率的变化不敏感,故读卡成功率高。
评论