一种多SAM模块的低功耗IC卡读卡器设计与实现
文章出处:http://www.nexussmartsolutions.com 作者:武卫东 王光兴 人气: 发表时间:2011年10月16日
IC卡又叫智能卡,它将大规模集成电路(IC:Integrated circuit)封装在卡片中,卡片上印有说明文字和图像,可以存储大量信息.具有极强的保密性能,抗干扰、无磨损、寿命长等优点。
根据其内部结构Ic卡可以分为以下3类:1.存储卡;2.逻辑加密卡;3.CPU卡。CPU卡内部带有微处理器,把具有存储加密及数据处理能力的芯片镶嵌在塑料基片中;CPU卡采用密钥管理机制认证过程,通过加密算法运算在SAM卡和CPU卡之间动态进行,CPU卡和SAM卡之间传递的是一种动态变化的伪随机码,在实际应用中被破译和攻击的可能性非常小;在性能上比存储卡有较好的安全性,兼容性和扩展性;CPU卡信息传输方式遵循ISO7816—3国际标准,芯片升级时不需要对系统内的微控制器程序进行改动,这是存储卡和逻辑加密卡所不能作到的。CPU卡采用文件方式对数据进行存储,可以对不同应用的数据文件进行目录管理,很容易实现一卡多用。
CPU卡的这些优势使其在智能卡表、通信、设备,交通收费网络、安全金融设备等领域得到越来越广泛的应用。但是目前市面上的CPU型IC卡种类较多,彼此之间的安全认证过程不尽相同,且彼此保密。所以为了使渎卡器兼容不同IC卡,需要设计一种可以使用不同的SAM卡来对不同的IC卡进行安全认证的读卡器,作者根据某通信有限公司的要求,设计了一种超低功耗的读卡器。文章第一部分介绍了读卡器的硬件结构和工作原理,第二部分介绍了系统的软件设计,第三部分对系统进行了低功耗测试和性能测试,最后给出了结论。
1 读卡器的硬件结构和工作原理
(1)MSP430F149单片机是读卡器主控制器,负责判断读卡器中是否插卡,若插卡,则通过对SAM卡卡座中的SAM卡的扫描,对CPU卡进行型号判别。判定IC卡类型后,使用相应的SAM 卡模块,对该CPU进行安全认证,认证结束,通知主机,IC卡合法,主机启动相应的业务进行服务.通过通信协议,主机可以发送读余额、扣费等指令,MSP430F149单片机接到指令.通过标准协议向CPU卡发出读余额、扣费等操作指令,CPU卡接到指令后自动完成这些操作。
(2)电源:由于该读卡器在实际使用中是嵌入到所应用的系统中,所以系统应该提供标准的5V电源(可以在RS一232 C接口端取),为了降低读卡器的功耗,选用的MSP430F149需要3V的工作电压,因此选用AS818 DC—DC芯片进行电源转换。
(3)用户卡:用户卡用CPU型IC卡,用户卡卡座选用的是常开型卡座,当用户卡插入时,迫使卡座中SW开关的两个脚短路,这两个脚一端接地,一端接单片机具有中断功能的I/0脚,通过外部上拉,中断启动。在实际运行时,由于大部分时间处于低功耗状态(睡眠模式),所以在软件上采用中断唤醒的工作方式。用户卡驱动模块电路图如图4所示,CD4066起开关作用,在不读卡时使其与主控器的控制信号隔离。
(4)SAM卡:为了兼容各种用户卡,渎取不同公司的SAM 卡,SAM卡卡座选用的是普通的卡座,通过CMOS电压向rITrL电压转换电路和MSP430F149相连。电压转换电路利用双电源电平移位器74LVC4245来实现。SAM 卡驱动模块电路图与用户卡类似。
(5)RS一232 C接口:IC卡读写器多数是采用RS232串口进行通信的,其硬件的实现比较简单,一般的主机系统都具有RS一232 C接口,因此可以保证读卡器具有很好的通用性。
2 读卡器的软件设计
软件功能模块,核心部分包括以下几个模块:SAM卡的操作模块、用户卡4436卡的操作模块、IC操作模块和串口发送和协议解析模块。SAM卡的操作模块主要完成对SAM卡进行复位、基本写读操作和命令的发送和返回字节数据的解析。4436卡的操作模块主要完成对4436卡数据的读取和认证的操作。IC卡的操作模块主要完成对24c01卡和24c01管理卡的指定地址的读写操作。串口发送和协议解析模块主要完成对通信协议的解析和数据的读取和发送。
读卡器的软件主流程图从略。判断有无卡,通过检测SW引脚的状态实现,置位为有卡,否则为无卡。当有卡时MSP430F149MCU向主机发出请求,读卡器接收主机命令,模块执行检查卡类型子程序,根据时序检测卡的类型,并返回数据。
3 综合测试
系统的稳定性测试:采用了72小时重复认证和读写的方法,通过编写专门的测试程序对读卡器进行了测试,测试结果表明该系统运行稳定可靠。
低功耗测试:根据技术指标要求先将演示系统的读卡器进行测试。
本测试方法采用VC9807电流表串联测量的方法,测试时采用的测试程序为一循环认证程序,即设计的一个无限循环的连续认证的程序,因此所测的电流为系统的最大工作电流。设计时,采用全贴片元器件的设计和焊接工艺,设计的读卡器体积60mm*40mm*20mm。因此可以方便地嵌人到公用电话机、自动会员机、自动提款机等系统中,具有体积小的特点。
4 结论
综上所述,通过对不同CPU卡和SAM卡的研究和分析,提出了通过使用多SAM卡模块的循环扫描对多种用户卡进行认证管理,实现了对多种CPU卡的支持,读卡器兼容多种用户卡的方法,经过联合调试,系统完成了低功耗和项目所规定的技术要求,通过了某通信公司的项目验收,很好完成了此项目,同时具有低功耗,运行稳定、体积小等特点。