引言
智能卡以其使用方便、交易时间短、安全可靠等特点被广泛应用于交通、医疗、消费等领域。智能卡可分为两大类:接触式智能卡和非接触式智能卡。接触式智能卡通过物理触点和读卡器交换信息,非接触式智能卡通过射频信号来交换信息。非接触式智能卡以其良好的防水、防尘、使用寿命长、交易方便的特点受到越来越多的青睐。然而,非接触式智能卡通过射频来交换信息,为系统的开发和调试带来新的挑战。本文结合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所示。首先监听设备发送固定帧延迟命令,获得智能卡的回复并保存;然后读写设备开始发送命令,对于固定帧延迟命令监听设备直接回复,对于非固定帧延迟命令监听设备传递命令及回复..