引言
智能卡以其使用方便、交易时间短、安全可靠等特点被广泛应用于交通、医疗、消费等领域。智能卡可分为两大类:接触式智能卡和非接触式智能卡。接触式智能卡通过物理触点和读卡器交换信息,非接触式智能卡通过射频信号来交换信息。非接触式智能卡以其良好的防水、防尘、使用寿命长、交易方便的特点受到越来越多的青睐。然而,非接触式智能卡通过射频来交换信息,为系统的开发和调试带来新的挑战。本文结合ISO14443 A类非接触式智能卡通信的特点,给出A类非接触式智能卡监听器的一种设计方法。借助于该设备,能够监听智能卡与读卡器之间的所有信息交换,快速定位问题所在,加速系统开发。
1 A类非接触式智能卡与读写设备的通信机制
非接触式智能卡是无源设备,通过接收射频能量获得电能,供给智能卡工作。非接触式读写设备担当着能量供给与信息交换的双重任务。根据ISO14443协议规定,非接触式读写设备发送磁场强度为1.5~7.5 A/m、频率为13.56 MHz的射频信号,Type A类读写设备向智能卡发送信息,按照改进型米勒编码、100%ASK调制方式;智能卡向读写设备回复数据按照曼彻斯特编码、负载调制方式。智能卡和读写设备数据交互的整个过程中,读写设备是主动方,智能卡只是接收读写设备下发的命令帧,作出相应回复。
根据读写设备命令帧和智能卡回复帧之间延迟时间的不同要求,读写设备的命令可以分为:固定帧延迟命令和非固定帧延迟时间命令。固定帧延迟命令要求智能卡在指定时间点作出回复,包括REQA命令、WUPA命令、ANTICOLLISION命令、SELECT命令。这些命令主要用于智能卡的初始化,对于某一确定的智能卡具有唯一的回复。非固定帧延迟命令要求智能卡在大于某固定时间后发送回复帧,包括以上命令外的所有命令。针对以上两种类型命令,在后面的设计中会对其进行不同处理。
2 设计原理
根据以上智能卡与读写器之间信息交互的原理,在读写设备与智能卡之间加入一个监听设备,使得读写设备发送的命令由监听设备接收,再由监听设备转发至智能卡;智能卡回复的数据由监听设备接收,再由监听设备回复至读写器。这样,监听设备就捕获了读写器与智能卡之间所有的交互数据,如图1所示。
由于监听设备的存在,使得读写设备与智能卡之间的帧延迟具有不确定性,针对固定帧延迟命令,监听设备应该提前获得智能卡对这些命令的回复,在读写设备发送这些命令时,在固定回复时间点直接回复读写设备,而不经过智能卡取回复的过程。针对非固定帧延迟命令,由于命令及回复的多样性且对帧延迟时间要求不高,适合使用监听设备传递数据的工作方式。整体工作流程如图2所示。首先监听设备发送固定帧延迟命令,获得智能卡的回复并保存;然后读写设备开始发送命令,对于固定帧延迟命令监听设备直接回复,对于非固定帧延迟命令监听设备传递命令及回复..
3 设计实现
本文中监听器主要由模拟前端、控制器、非接触式读卡器3部分组成。
3.1 模拟前端设计
模拟前端由分立器件组成,主要实现幅度限制、13.56MHz时钟提取、数据解调、复位检测、数据调制功能,如图3所示。由于二极管PN结电压为0.7V,限幅电路由5个二极管串联组成,限幅电压在3.5V左右;数据解调电路使用二极管进行包络检波,通过迟滞比较器MAX962ESA比较得到数据,调整迟滞比较器的门限电压将改变解调数据的位宽;13.56 MHz时钟提取电路与数据解调电路类似,合理设置迟滞比较器的门限电压,能有效抑制时钟提取电路产生窄脉冲,避免窄脉冲对后面的数字电路产生影响;数据调制部分使用三极管对天线电路泄流完成负载调制的功能,负载过大会影响13.56 MHz时钟信号的提取,负载过小可能会造成读写器无法识别数据,负载大小需在调试时综合其他电路性能进行调节;复位信号主要用于检测读写器是否处于关闭场强状态,控制器通过检测该信号对监听器读卡器作出相应的关闭场强动作。
3. 2 控制器设计
控制器采用Spartan-6 FPGA芯片,主要完成数据解码、数据编码同步发送、与PC机通信、与非接触式读卡器通信等功能,如图4所示。时钟产生电路产生424kHz的同步时钟对数据进行编、解码,在数据3 μs位置,没有13.56 MHz时钟,则由系统时钟进行填补,组成采样时钟;解码电路使用采样时钟对数据采样、判断,去除起始结束位,组成字节写入FIFO,同时统计数据位数,供内部8051控制器读取;编码电路对写入FIFO的数据进行曼彻斯特编码,加入奇偶校验位和帧起始结束位,并在同步时间点发送;USB控制器完成监听器与PC机的通信;8051完成整个监听的流程控制及数据的记录与传送。
3.3 非接触式读卡器设计
非接触式读卡器采用MFRC531,主要完成与智能卡的通信,如图5所示。MFRC531是应用于13.56MHz非接触式通信中高度集成读写芯片系列的一员。该读写芯片系列利用了先进的调制和解调概念,完全集成了13.56MHz下所有类型的被动非接触通信方式和协议,支持ISO/IEC14 443 A/B的所有层和MIFARE经典协议,以及与该标准兼容的标准。内部的发送部分不需要增加有源电路,就能够直接驱动近操作距离的天线(可达100 mm)。接收器部分提供一个坚固而有效的解调和解码电路,用于ISO14443 A兼容的应答器信号。数字部分处理ISO14443 A帧和错误检测。与主机通信模式有8位并行和SPI模式。在本文中,与微控制器通信部分使用8位并行设计,谐振电路部分设计与MFRC531的参考设计保持一致。
4 调试
调试过程可以根据各个模块功能分别调试验证,智能卡模拟前端调试包括谐振频率、限幅电路幅值、包络检波阈值、时钟提取阈值、负载调制强度的调整;控制器调试包括数据同步收发、USB通信、MFRC531控制逻辑调试;非接触式读卡器调试包括谐振频率、Q值等的调整。
结语
通过对以上电路的调试,可以实现对读写设备与智能卡通信的监听,记录并分析二者交互的信息。该设备可以应用于现场调试,快速定位问题所在,加快产品应用开发。由于该设计会增加智能卡回复帧延迟,可能会造成时间紧促系统的读写器等待超时,最终导致监听失败。