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

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

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

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

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

1 系统工作原理和CPLD特性

    射频卡读写系统又称射频识别系统(Radio Frequency Identification),它是利用无线方式进行非接触式双向数据通信,进而达到识别目标并交换信息的目的。射频识别技术发展迅速,在门禁、交通这、防盗、金融、身份证管理、工业自动化等方面有着广泛的应用前景。按照相关标准,非接触IC卡可以分为3种:(1)密耦合卡(ISO10536),作用距离0~1cm。(2)近耦合卡(ISO 14443),作用距离0~10cm。(3)疏耦合卡(ISO 15693),作用距离0~150cm。

    基于ISO 15693协议标准设计的射频卡读写器是目前中低频段工作距离最远(达1.5米)的射频识别装置。射频卡由半导体厂商提供,目前国内外均有符合该标准的商用化射频卡。

    读写器和射频卡之间的数据交换主要有两种:(1)下行数据是读写器向射频卡发送的具有固定帧格式的指令和数据:(1)上行数据是射频卡响应读写器指令后返回的数据。读写器分前端收发模块和后台数据处理模块。本文主要涉及数据处理部分,其主要功能有:指令装配、下行数据编码(读写器→卡)、上行数据解码(卡→读写器)以及差错控制模块。射频卡读写器结构如图1所示。 

射频卡读写器结构图

    在实际应用中,密耦合卡和近耦合卡距离射频卡读写器作用距离特别小,一般每次只要求响应一张卡(如公交售票系统)。而疏耦合卡往往应用在对多卡同时进行响应的场合(如多个持卡行李同时经过门检),读写器与多卡同时进行数据交换可以通过软件设计加入“防碰撞机制”实现。但是由于读写器在响应某张卡时的数据交换时间被限制在200μs~300μs内,选用普通单片机无法达到这一要求,因此在设计中选用了高速CPLD器件来实现编码、解码以及差错控制功能。一方面在响应时间上满足了实际应用的需要;另一方面简化了软件设计。

    CPLD是从PAL和GAL发展起来阵列型高密度PLD器件,内部由可编程逻辑宏单元、可编程I/O单元、可编程内部连线构成。它们大多采用E2PROM和FLASH闪存工艺,掉电后编程信息不丢失[2]。器件性能可以满足不同场合的需要,如XILINX.htm" target="_blank" title="XILINX货源和PDF资料">XILINX公司XC95XL系列CPLD具有低功耗特性,输出电压2.5V/3.3V,端到端延时5ns,系统最高工作频率可达178M[3]。目前CPLD器件被广泛应用于代替中小规模数字电路,提高系统的可靠性、抗干扰性能和处理速度。通过管脚锁定和预留切换端口,可以在不改动原PCB电路板的基础上对模块的功能进行修改和完善,给调试带来方便。

2 功能模块实现

2.1 编码器与译码器

    单片机启动编码后,编码模块向单片机发中断(INT0)获取待编码的指令数据,同时将指令数据送入并行CRC模块。当指令数据完成编码后,控制电路将2字节CRC值紧接在数据之后进行编码。译码时,译码器检测到起始位后,开始译码。译码后的数据通过中断(INT1)通知单片机取走。并同时送入CRC并行运算模块进行校验,单片机在特定的时刻(接收完最后一字节数据时)读取CRC校验标志端口CRCALL0,判断整个数据串的正确性。

编译码的数据格式如下:

    (1)数据编码 从读写器到卡的数据采用脉冲位置调制即“1/256”编码。用256个时隙表示8bit数据,通过控制bit脉冲出现的时间位置来表示0~255范围内的数据。如图2,在第255个位置出现的位置脉冲(9.44μs高电平的9.44μs低电平)表示数据E1(HEX),采用计数器加控制电路即可实现。控制部分协助实现数据无缝编码及形成帧起始位和结束位,用VHDL设计易于实现。编码后的数据进行ASK调制(13.56MHz载波),经天线发射出去。 

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

    (2)数据译码 从射频卡返回的数据经过一次解调(去掉13.56MHz载波)后,数据编码格式如图3所示。可以直接进行数据译码,也可以去除子载波(423.75kHz)后得到Manchester码再译码。这里采用后者,通过在每一bit的前、后半段时间内两次取样、判决、加以串并变换即可得到译码后的并行数据并送至并行CRC模块进行CRC校验,同时送往单片机处理,行CRC模块在校验结束时通知单片机取校验结果。 

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

2.2 差错处理模块

    与射频卡内部电路配合,读写器端采用了常用的CRC检错得传机制。为了缩短处理时间,满足读写器在实际应用中对多张卡同时处理时的响应时间要求,设计采用硬件实现。

    计算下行数据的CRC值以及对上行数据进行CRC校验,实际上都是完成数据的CRC计算,二者可以共用一个模块,通过控制部分协调分工。通常CRC采用性反馈移位寄存器串行实现(见图4),这里提出了一种并行计算CRC的方法,具有更高的处理速度,使读写器对响应时间缩短。 

更多

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

推荐文章

论坛热帖