CPLD在射频卡读写器中的应用 - 中国一卡通网
用户名密码 [免费注册] [找回密码] 推广技巧 发布求购 建商铺  发产品  会员体制比较  
 

CPLD在射频卡读写器中的应用

来源:中国一卡通网  作者:江美龙 于兴启 毕慧玲 沈树群  发布时间:2008-01-10 15:36:30  字体:[ ]

关键字:cpld  射频卡读写器  射频卡读写系统  crc  读写器  

摘   要:提出了一种射频卡读写器数字处理模块的设计方案,特点是利用单片CPLD器件实现了读写器编码、译码和差错处理功能,系统体积小,性能稳定。该方案采用了原理图和VHDL相结合的灵活设计,给出了一种快速CRC-CCITT并行实现的方法。


    CRC-CCITT算法生成多相式为:x 16+x 12+x 5+1[4]。计算CRC实际上是将数据通过线性反馈移位寄存器,所有数据移入后CRC寄存器的值即为16位CRC值。并行CRC运算模块每次输入8位数据,相当于一次并行运算就得到了串行移位运算时需要8位移位所得的结束。由表1~表4可以知道并行CRC实现的原理:每个时钟到来时完成8bit数据CRC值计算;下一个8bit数据到来时,把上一个8bit数据的CRC值C15~C0作为初值,继续完成并行CRC计算。即每次处理一个字节。 

表1    移位前CRC寄存器值(初值)

R15 R14 R13 R12 R11 R10 R9 R8 R7 R6 R5 R4 R3 R2 R1 R0
C15 C14 C13 C12 C11 C10 C9 C8 C7 C6 C5 C4 C3 C2 C1 C0

表2    1次移位后CRC寄存器值

R15 R14 R13 R12 R11 R10 R9 R8 R7 R6 R5 R4 R3 R2 R1 R0
X0 C15 C14 C13 C12 C11
X0
C10 C9 C8 C7 C6 C5 C4
X0
C3 C2 C1

表3    2次移位后CRC寄存器

R15 R14 R13 R12 R11 R10 R9 R8 R7 R6 R5 R4 R3 R2 R1 R0
X1 X0 C15 C14 C13 C12
X1
C11
X0
C10 C9 C8 C7 C6 C5
X1
C4
X0
C3 C2

表4     8次移位后CRC寄存器值

R15 R14 R13 R12 R11 R10 R9 R8 R7 R6 R5 R4 R3 R2 R1 R0
X7
X3
X6
X2
X5
X1
X4
X0
X3 X7
X2
X6
X1
X5
X0
C15
X4
C14
X3
C13
X2
C12
X1
C11
X7
X0
C10
X6
C9
X5
C8
X4


    表中参数说明:Ri为CRC移位寄存器值(R0为低位),Ci为CRC移位寄存器初值(C0为低位),Di为输入数据(D0为低位),Xi=Di XDR Ci,同一栏中数据的运算关系是异或(XOR)。

    每次并行数据到来时,各CRC寄存器值按表4运算关系更新。最后一个字节数据输入后CRC寄存器的值(R0~R15)即为该数据组的CRC值。模块设计采用了VHDL语言,同步更新R0~R15寄存器的值,从表中看出,一次CRC计算最多完成4组XOR运算。如:R3<=C11 XOFR D7 XOR C7 XOR D0 XOR X0;R15<=D7XOR C7 XOR D3 XOR C3。

3 控制模块

    单片机扩展了RAM后,P2口只有P2.5~P2.7可以用来提供控制信号,不能满足需要,因而在CPLD内部将3路信号扩展为8路控制信号,以实现对各部分进行协调控制。主要有编码器和译码器的启动信号、复位信号、指令标志信号、CRC输出信号等控制信号。

4 性能分析

    这里选用1片XILINX XC95144实现整个数据处理模块的功能,使用软件平台是XILINX.htm" target="_blank" title="XILINX货源和PDF资料">XILINX Foundation 3.1i。XC95144内部有144个宏单元、3200可用门。图5和图6分别给出了编码器和译码器的部分时序仿真结果及其说明。可以看到,二者均实现了协议要求,编码器在准确的位置实现脉冲位置调制,译码器能准确地对曼彻斯特码数据进行译码,并计算出输入数据的CRC值。 

CPLD在射频卡读写器中的应用

CPLD在射频卡读写器中的应用

    用AT89C51单片机提供编码数据以及模拟待译码曼码数据流对模块功能进行实测,用示波器观察各测试点信号,结果基本上与时序仿真的波形图相同,达到了预期设计的目标。

    本文较系统地介绍了一类远距离射频卡读写器数字处理模块的设计,特别在于:(1)采用单片CPLD实现了射频卡读写器数字模块功能,采用了原理图和VHDL相结合自顶向下的设计方法[2][5],样机PCB版面积小,开发周期短,性能稳定。其设计方案和思路对其他类别射频卡读写器设计具有一定的参考价值。(2)提出了一种快速实现CRC-CCITT的并行运算方法,该方法适用于高速数据传输场合。

    为了提高系统的安全性,可以对对写入卡中的数据进行加密处理,即引入数据加密模块,并将整个设计配置到一片容量更大的CPLD或FPGA中。 

作者:北京邮电大学电子工程学院智能信息处理实验室(100876)江美龙 于兴启 毕慧玲 沈树群

更多

新闻投稿合作邮箱:yktchina-admin@163.com    字体[ ] [收藏] [进入论坛]

推荐文章

论坛热帖