1、SmartCardIC卡公交收费机设计(三) MIFARE 1卡读写软件设计电子与信息工程学院SmartCard课 程 目 标q 非接触式 IC卡读写控制 q MIFARE 1卡读写控制功能的实现SmartCard项目开发 IC卡公交收费系统q系统需求分析:q具备小额电子钱包功能,定额方式收费q操作方便快捷q工作距离 50cmq具备显示余额、异常报警(非法卡或余额不足)q可将当班收款额上传总站数据库q公交公司可调整定额额度q卡遗失可挂失q抗干扰能力强SmartCard项目设计之三 软件实现q读写器与 M1卡交换数据的过程:1)由读写 器 MCU( 微控制器)发送指令给 MCM,2) MCM执行
2、指令并将其转换为射频信号发送给卡;3)卡接收到来自 MCM的指令后,按指令完成其内部的各种处理,并回送应答信号 /数据给 MCM;4) MCM接收卡回送的射频信号并将其转换为数字信号输出给 MCU, 读写器 MCU读取 MCM接收到的应答 /数据,即可完成与 M1卡的数据交换。SmartCardMCM基本通信指令集SmartCardMCM内核特殊寄存器SmartCardMIFARE卡的读写操作步骤 q 激活 MCMqMCM软复位q 向 MCM下载密码( LOAD KEY), 校验传输密码正确后可向 MCM的 KEY-RAM写入用户自己设定的密码,以上操作与卡无关。q 请求应答 ( ANSWER
3、 TO REQUEST): 寻卡 q 防冲突( ANTICOLLISION): 选择唯一一张卡 q 选择标记 ( SELECT): 激活所选择的卡 q 认证 ( AUTHENTICATION): 安全性q 读写操作(读、写、加值、减值):交换数据 (READ/WRITE/INCREAMENT/DECREMENT)q 停止( HALT): 置卡为停止模式,防止重复操作。SmartCardSOR/LOAD KEYREQUESTANTICOLLISIONREAD/WRITE/INC/DECHALTMIFARE 卡操作步骤卡操作步骤AUTHENTICATIONSELECT卡应答: TAGTYPE( 2
4、B)卡应答: SN( 4B) +校验码( 1B)卡应答: SIZE( 1B)卡应答: AE位SmartCard指令时序 每个指令由 7个基本步骤组成,必须按此时序编程才能完成该指令:( 1)初始化,设置各寄存器,特别是 BCNTS和 BCNTR。( 2) 送指令码 到 DATA, 由 MCM发送指令。( 3) 设置 TOC, MCM准备接收来自卡的应答或数据。( 4)检查 DV标志,查询数据接收是否完成。 DV标志为 ” 1” 表明 MCM与 MIFARE卡片之间的传输已经完成,并且主处理机可能已经 从 MCM中收到数据,可以进行下一步操作。 而 DV=0表示数据接收尚未完成或未能接收到数据,
5、则程序循环检测 DV标志直至 DV=1。 有一种情况例外,既当定时器溢出时,无论接收是否完成 DV都将被设置为 1,同样将进行下一步操作。( 5)清 零 TOC。( 6) 检查出错标志,若有标志被设置,则进行相应的出错处理,例如设置出错标志等,并返回主程序;若没有标志被设置,表示接收正确,将进行下一步操作( 7) MCU从 DATA读出 MCM接收到的应答或数据。 SmartCardAnswer to Request ( 请求应答)指令 qRequest 指令将通知 MCM在天线有效的工作范围(距离)内寻找 MIFARE 1卡。q命令码: 26H或 52H。q卡收到该指令将回送卡类型号作为卡应答: TAGTYPE(2个字节)