双界面卡的发展研究及其技术构架
文章出处:http://www.nexussmartsolutions.com 作者:杨庆森、周晓方 人气: 发表时间:2011年09月15日
1.引言
1.1. 非接触卡与接触卡的介绍
如今,接触式IC卡(下简称接触卡)在人们的日常生活中得到了普遍的应用。在接触卡的普及过程中,逐渐发现了许多的弊端:卡在读写器上经常拔插造成的磨损导致接触不良,从而引起数据传输错误,并且卡与读写器之间的磨损也大大缩短了卡和读写器的使用寿命;另外,接触卡的通讯速率较低,再加上插拔卡的动作延误,造成每一笔交易需要较长时间的等待。
为了解决这些问题,非接触式IC卡(下简称非接触卡)应运而生。非接触卡的优点是显而易见的:它通过无线电波与读写设备进行通讯,无裸露触点,与读写器间也无机械接触,可靠性和使用寿命高;它的通讯速率高于接触卡,在一定距离范围内可以从任意方向与读写设备通讯,从而使操作更为方便、快捷。因此,非接触卡在很多场合已经取代了接触卡,在卡市场所占的份额越来越大。非接触卡也存在缺陷:当卡片弯曲过度时,卡片容易因线圈焊点断裂而失效;在一些场合的通讯容易受环境干扰而失败;加密方法较简单,安全性低于接触卡等。
总的来说,接触卡和非接触卡因使用环境不同各有利弊,因此在实际应用中都得到了广泛的应用。相对来说,在安全要求较高,操作速度要求不高的应用如银行卡中通常使用接触卡;而在安全要求较低,操作速度要求较高的应用如公共交通中,通常使用非接触卡。
非接触式IC卡与接触式IC卡的优缺点比较如表1所示。
1.2. 非接触卡应用发展
随着技术和应用的发展,非接触式卡的应用越来越广泛,功能也越来越强大。应用中出现了非接触式IC卡和接触式IC卡结合的双接口IC卡,双接口IC卡既具有非接触卡的耐用性和方便性,又不失安全性。
越来越多的应用除了对非接触卡的接口提出了要求,还对传统非接触卡的应用开发提出了进一步的要求。原来非接触卡的指令比较简单,功能比较少。要完成一个复杂的操作如建立一个文件需要对非接触卡的数据结构十分了解而且要编写许多条指令。特别的,非接触卡中存放的许多资料是比较敏感,的如金额之类,在对这些资料进行读写时,如果发生意外使操作中断,如何正确恢复资料是一个很头痛的问题,这需要很高软件技巧。所有这些大大阻碍了非接触卡的应用开发。因此在非接触卡集成入CPU,通过COS软件来提供一个简单、强大的应用软件开发接口是一个很好的解决方法。
2.研究目标与内容
本文的研究目标是设计一个带串行接触接口和非接触式接口的CPU卡芯片。我们称这个设计为双界面卡。
本文研究的思路是怎样合理的设计芯片架构,使CPU、操作系统软件和外部界面接口无关,尽量利用原有设计资源完成芯片设计。
2.1 芯片架构
芯片主要由CPU系统、界面接口和存储器三个主要部分组成。界面接口负责和外界进行命令和资料的传输,本芯片提供了ISO/IEC 14443-A的非接触接口和基于串行通迅的接触接口。
CPU系统是兼容8051指令的高速微处理器、外设、RAM、ROM和EEPROM组成。
芯片的架构如图1所示。
这个架构的基本思想是使智能卡的CPU系统与界面之间接口相对独立。使界面接口形成应用的底层,操作系统软件的应用处理不必关心接口的具体实现。这意味着从应用软件开发的角度看到的资料是与应用正在使用何种具体接口是不相关的。接口可以随着应用的发展而改变,可以是接触和非接触的组合,甚至可以是蓝牙、WLAN、IrD、并行接口等其他种类的接口组合。
这种接口和CPU系统在遵循统一访问规范的基础上可以任意组合的特点,提供了对用户、芯片设计者和系统软件设计者很大的好处:在引入新应用或开发新系统时可任意选用已存在的成熟的基本模块,以加快开发的进度,降低开发的成本和风险。
2.2 界面与CPU系统的接口
为了达到界面接口与软件的独立性,CPU系统与各种界面接口之间需要建立一个简单的标准接口。在本文设计中使用增加8051系列处理器的特殊功能寄存器(SFR)的方法作为访问CPU不同界面接口的标准。
非接触界面的接收解调和发射调制电路是在原非接触卡的设计中已有模块,对原来的接收、发射寄存器组进行SFR编址以及增加一些控制寄存器和逻辑电路就可以容易的在非接触接口中设计出支持特殊功能寄存器(SFR)的接口。
接触界面的接口就是一个支持特殊功能寄存器(SFR)的接口的串行(UART)模块,与标准的UART不同的是,这个模块的发送和接收是一个开漏的双向数据线,这意味着接触的串行接口只能以半双工的方法进行通讯。
在完成与外界的数据通讯后,用中断请求信号来唤醒处于休眠模式的CPU。在本设计中,非接触接口使用8051的外部中断INT1,而接触接口使用内部的串行中断。
2.3 电源产生
在双界面卡中一个困难的问题是如何提供CPU系统一个可靠的系统时钟和电源。因为两个界面都会产生时钟和电源,所以系统需要能正确相互切换,而不产生冲突。
本设计提出了一个简单可靠的方法来产生电源和时钟。特别的,本文描述的方法还可以支持两个界面同时工作。
上图表示两个接口电源的切换方法。电容C1是芯片的储能电容,在非接触供电和操作时,C1可以存储电荷;在接触操作使用外部电源时,C1可以稳定Vdd电压。为了防止电流可能的倒流,这里使用二极管D1来保证电流的单向流动。当然,D1存在会使Vdd与外部Ext_Vdd存在一个电压差,解决方法是采用特殊的低阈值MOS管来代替普通的二极管。需要指出的是,来自非接触界面的电压产生电路是桥式整流结构,电流不会反向流动,所以不需要串一个象D1那样的二极管。
DC-DC模块是为了在不同的电源电压下,提供系统一个较低的、稳定的工作电压。这有利于降低芯片的功耗和适应不同应用场合的电源电压的要求。
2.4 复位信号产生
上图是CPU复位信号的产生。上下电检测模块负责监视VDD的电压,在上电过程或工作电压过低时产生上下电复位信号;WDT模块是看门狗电路(watch dog timer),当软件长时间不对WDT模块进行操作后,WDT会产生超时复位信号使CPU复位。CPU对WDT模块进行读写也是通过SFR接口。
特别要指出的是,尽管接触接口有复位信号的输入脚,但不会因此产生CPU的复位。当接触界面的复位信号有效时,接触界面会设置复位标志位并产生中断,由CPU来决定如何处理外部接口的复位请求。
2.5 系统时钟产生
系统时钟有非接触界面和接触界面的两个来源,为了使系统可以工作在来自任意界面的时钟下,而且可以同时和两个界面正确通讯,这需要系统有随时根据应用切换系统时钟的能力。另外,为了尽可能的降低系统的功耗,还需要在CPU不需要工作时将系统时钟关断,在中断产生后把时钟恢复。
如上图所示,芯片通过一个时钟管理模块来完成两个界面时钟clk1(3.39MHz)和clk2(典型频率为3.58MHz)到系统时钟clk的切换,并可由CPU来关断clk来节省功耗。在中断INT1和INT2发生时,时钟管理模块负责恢复系统时钟。
从系统架构可以看出,在正常工作时的CPU和两个界面的时钟并不需要同步,这是因为由功能独立的界面模块负责各自通讯,通讯的时钟可以独自由界面产生,CPU做的只是通过特殊寄存器(SFR)接口访问这两个界面模块。因此在两个界面同时在工作时,CPU的系统时钟可以是clk1和clk2的任何一个。当两个中断都有效时,系统时钟将从先申请中断的那个界面的时钟中恢复,并先处理这个界面的中断。
上图是时钟管理模块的电路图。从CPU来的stop_clk会使clk关断,而来自界面的中断请求INT1、INT2或者来自定时器的中断INT3会清除关断信号,来由恢复时钟选择模块来决定恢复那个时钟。
图中的clk_timer是给定时器的时钟,clk_timer的输出在与门之前是为了保证在系统时钟关闭后,定时器仍有时钟来计数。
3. 结束语
本文研究了非接触IC卡和接触式IC卡的应用,提出一个支持ISO/IEC 14443-A标准的非接触卡接口和支持串行接口的双界面CPU卡平台的设计方案。应用本方案设计的双界面CPU卡可以在兼容已有的非接触卡、接触式CPU卡的应用的基础上,提供更强大的应用开发接口并且能作为移动设备近距离通讯的载体。
本文提出了一个新的双界面卡的架构,这个架构的好处是:使CPU控制系统和具体的接口类型相互独立,使COS软件的开发更加容易;尽量利用IP复用技术,搭积木的设计方法来缩短芯片的设计周期。
作者简介:复旦大学微电子学系 杨庆森、周晓方
参考文献
[1] Ulrich Kaiser,Wolfgang Steinhagen .A Low-Power Transponder IC for High-Performance Identification Systems. IEEE Journal of Solid-State Circuit, Vol30, No. 3. March 1995
[2] 王凛. 存储IC卡芯片的研制. 复旦大学集成电路和系统国家重点实验室硕士论文.1998
[3] Gary Yeap. Pratical low power digital VLSI design. Kluwer Academic Publisher.1998,
[4] 于宏军,赵冬艳. 智能(IC)卡技术全书. 电子工业出版社. 1996年10月
[5] Duane H. Oto, Vinod K. Dham, Keith H. Gudger et al. High-voltage regulation and process considerations for high-density 5V-only EEPROMs, IEEE. J. Solid-State Circuits, vol. SC-18, No. 5, pp.532-538, Oct. 1983.