3. 2、M iller解码子模块
密勒解码子模块包括帧前导序列检测与副载波解调部分、密勒解码部分,如图5所示。电子标签返回阅读器的数据是突发传输的,每一次数据传输前有帧前导序列,所以在进行解码之前需检测到该序列。帧前导序列检测与副载波解调部分在检测帧前导序列后,对信号进行副载波解调,得到密勒编码基带波形。密勒解码部分根据密勒编码规则,对密勒编码基带波形进行解码,并检查传输数据是否违反编码规则,从而统计数据传输质量。
图5、M iller解码子模块框图
帧前导序列检测与副载波解调部分首先对接收数据码流进行相位翻转检测,于相位翻转(码流中出现大凹槽或大凸槽)处在相位翻转标志信号phase_invert上输出一个脉冲。在帧前导序列中,只有传输比特“1 ”时符号中间发生相位翻转,所以在进行帧前导序列检测时若检测到phase_ invert上有一个脉冲,便可认为码流中出现了一个“1” 。为增强抗干扰能力,还需结合使用一个计数器cnt_ ipu l_sta对输入数据同步脉冲i_pulse 进行计数以计量相邻两个相位翻转的时间间隔,当遇见phase _ invert脉冲或cnt_ipul_sta计数到2×M 时便清零重新计数。整个解调过程用一个有限状态机控制。
经过副载波解调,得到密勒编码基带数据data及其同步脉冲信号data_pu lse。在密勒解码模块,设置长度为10的移位寄存器data_r[ 9:0],在data_pulse的同步下将data 逐位移入data_r[ 9:0]。随后根据data_r[ 9:0]的内容进行密勒解码。解码过程中有一个计数器对解码后的比特进行计数,当计数结果和帧数据长度相同或者检测到帧结尾序列(即data _ r[ 7:0] =8’b01 000 000或8’b10 111 111)时,则输出o_end脉冲表示解码结束,停止解码,等待下一帧数据的到来。
4、设计实现与仿真验证
以上设计方案采用V er ilog HDL实现,并在NCVerilog中进行功能仿真。对解调器模块和解码器模块的仿真结果分别如下图6、图7、图8、图9所示。
图6、ASK解调模块仿真结果——相位偏移为10°
图7、PSK解调模块仿真结果
图8、FM 0解码模块仿真结果—— 解码正确
图9、M iller解码模块仿真结果——解码正确
本文还选用Altera的EP3C16Q240C8N FPGA,根据具体应用开发了阅读器的基带处理电路板,FPGA 中包括了嵌入式处理器软核N IOS II、基带处理接收端电路RTL和发送端电路RTL代码,由该基带处理板与射频前端电路一起组成UHF RFID 阅读器的验证平台。通过该验证平台本文完成了基带处理接收端电路RTL设计的原型验证。
软件仿真结果表明,解调器能在各种不同相位偏移情况下对接收到的ASK 信号进行正确解调,对频率偏移量处于快捕带内的PSK 调制信号能够很快实现载波相位跟踪进而实现正确解调;解码器能够对正确的FM0 /M iller输入数据进行解码,并且可以检测到帧起始检测超时错误和违反FM0 /M iller编码规则错误的情况。FPGA 原型验证结果表明,整个阅读器基带处理电路包括其接收端电路可以满足设计要求。