当前位置:首页 > 单片机 > 单片机
[导读] 本文主要介绍了一种新型的IC卡读写终端的设计,IC卡读写终端是一个单片机嵌入式应用系统。论文从IC卡的国际标准入手,介绍了实现IC卡数据存储的控制方法,并以西门子公司的SLE4442型逻辑加密卡为基础,详细分析了单片机控制IC卡数据读写的软、硬件实现。

摘要: 本文主要介绍了一种新型的IC卡读写终端的设计,IC卡读写终端是一个单片机嵌入式应用系统。论文从IC卡的国际标准入手,介绍了实现IC卡数据存储的控制方法,并以西门子公司的SLE4442型逻辑加密卡为基础,详细分析了单片机控制IC卡数据读写的软、硬件实现。
关键词: 89C51 IC卡 嵌入式 串口

1        前言

IC卡是集成电路卡(Integrated Circuit Card)的简称,有些国家和地区称之为微芯片卡(Microchip Card)或微电路卡(Microcircuit Card)。IC卡的大小和磁卡相同,它把集成电路镶在塑料卡片上,芯片一般是数据不易丢失的存储器(ROM, EPROM.EPROM), 保护逻辑电路,或者CPU。IC卡最初是为了解决金融交易中的安全性问题而设计的,它带来全新的交易概念与巨大的优势。很快,这一优势也为其他应用部门所看中,使之广泛应用于电话、医疗保健、路禁控制和门锁控制等等系统中。随着时间的推移,应用范围还在不断扩大,使用IC卡的数量呈几何级数增长。同时,为了不同应用场合的需求,IC卡制造商们仍在不断地向市场推出新的IC卡,IC卡的价格将随着使用量的增加而逐年下降,所有这些,无疑又会大大推进IC卡在各个领域的普及。无线SOC开发平台499元 S3C44B0 ARM7开发板378元 S3C2410 ARM9开发板780元 AT91SAM7S64 ARM7
    按照IC卡与读写设备的数据交换方式,IC卡可分为接触型IC卡和非接触型IC卡。接触型IC卡就是在使用时,通过有形的电极触点将卡的集成电路与外部接口设备直接接触连接来进行数据交换的IC卡。非接触型IC卡是通过无线电波或电磁场感应的方式,将卡中集成电路内的数据与外部设备接口设备通信,卡片不用直接接触接口设备的电极就可以进行数据读写。按照IC卡的功能和结构又可以把IC卡分为存储型IC卡和智能型IC卡。存储型IC卡是属于被动型,它只能实现数据的各种输入/输出。这种类型IC卡内部电路可分为两大功能部分,数据存储部分和数据加密操作控制部分。而且不是所有IC卡都必须具有这两大功能。我们把只有数据存储功能的IC卡称为非加密型存储卡 (Memory Card)。把具有数据存储功能和数据加密操作控制的IC卡称为加密型存储卡(Memory Card with Security Logic), 它们有暂时或永久的数据存储能力,其内容可供处理或判断之用。智能型IC卡就是在IC卡的集成电路中带有微处理器电路的IC卡。它是一种主动型IC卡,不仅能够管理各种数据的I/O操作,校验来自接口设备的个人密码,而且能够根据应用系统的要求主动识别与之连接的接口设备。因此,在智能型IC卡中能够建立各种应用系统的授权,存放多个应用系统的相关数据,并实现对数据信息存储的高可靠性、高安全性控制,可以进行复杂的信息处理和计算。

IC卡国际标准和读写要求

由于IC卡使用具有流动性与全球性,建立相应的国际标准和国家标准就显得特别重要。在信息技术领域,ISO(国际标准化组织)和IEC(国际电子技术委员会)共同建立了一个技术委员会ISO/IEC JTC1以制定相应国际标准。在IC卡应用系统的设计中,读写设备对IC卡的读写控制的每一个环节都应当遵照相应的国际标准,才能保证数据的正确读取。这是IC卡读写器终端设计的基础。

而在这些标准当中,对芯片和电气特征的定义和操作时序的要求又显得尤为重要。此处以同步卡的电气特征和时序为例进行介绍。使用这种卡时,接口设备将所有线置于状态L,然后VCC加电,Vpp处于空闲状态,CLK、RST和FCB处于状态L,接口设备的I/O置于接收模式。时钟脉冲在VCC上升沿之后相隔t20后提供,时钟脉冲的持续时间为t25。在时钟脉冲上升沿之后至少相隔t22时间FCB仍维持状态L。在I/O线上得到的第1位数据可视为应答,此时CLK处于状态L,并在CLK下降沿t27之后有效。当FCB置于状态H时,每一个时钟脉冲用于读出I/O线上的下个数据位。在复位应答时,第一个时钟脉冲在FCB上升沿之后t24时间给出。时钟脉冲状态H的持续时间为t25,状态L的持续时间为1us(t26)。第二个及其随后的数据位在时钟为低和CLK下降沿之后t27时间给出。数据位依次用时钟脉冲的上升沿采样。

图 一

3        SLEE4442接口电路的设计

SLE4442是由德国西门子公司设计的逻辑加密存储卡。它具有2K位的存储容量和完全独立的可编程加密代码存储器。内部电压提升电路保证了芯片能够以单5V电压供电,较大的存储器容量能够满足应用领域的各种要求。是目前国内应用较多的一种IC卡芯片。这种芯片的特点是采用多存储器结构;2线连接协议,串行接口满足ISO7816同步传送协议;芯片采用NMOS工艺技术,每字节的擦除/写入编程时间为2.5ms;存储器采用至少104次的擦除/写入周期,数据保持时间至少为10年。

而读写器的主控芯片采用的是89C51单片机。89C51单片机是Intel公司开发的8位的系列化处理芯片。内部带有一个8位的CPU,256个字节的RAM,21个特殊功能寄存器(SFR),2个16位的定时/计数器,4个8位并行接口,一个全双工的串行接口,5个中断源及片内时钟振荡器等。由于这是一款非常成熟的单片机,因此本文不作更多的赘述。

该读写器的核心模块即如何实现对IC芯片的有效控制和读写操作。而接口电路的设计直接反映了对该芯片的具体操作思想。由于IC卡的逻辑接口电路一般采用集电极开路(OC)输出及非保护式输入结构,所有让上拉电阻R源端与IC卡的供电电源相连接。当IC卡处于供电状态时,整个接口电路接通,接口设备与IC卡间构成逻辑通路;而当IC卡处于下电状态时,上拉电阻R的源端失去了供电,整个与卡接口的电路均处于不带电状态。所有的IC卡接口部分都加入了保护二极管,这些二极管可以使各引脚上的电压严格地限定在-VD~VCC+ VD之间(VD是保护二极管的正向压降,通常为0.6左右)。这样,可以抑制由于线路干扰和逻辑电平变化的边沿产生抖动所带来的瞬间过压,为IC卡提供了进一步的保护措施。所设计的接口电路图如图二所示。

图 二  IC卡控制和读写电路

 

  IC卡的插入与退出的识别是通过IC卡适配插座上的感应开关来识别的,对于简单的手动插拔的IC卡适配插座来说,这种识别过程相当简单,仅有一个开关,表示卡是否已插入。如果卡己插入到正确位置,IC卡适配插座就会给出一个开关接通(或断开)的信号,而一旦卡离开这个位置,该信号就会立即发生翻转。设计中采用的适配器,无卡插入时开关常闭,卡插到位时开关断开。对于手动式IC卡适配插座来说,这一信号已经足够了。为了确保IC卡已准确地插到位置,插入的识别过程必须加入消颤处理,这主要由软件来实现。

大多数符合ISO7816标准的同步型IC卡的地址计数器是与时钟紧密相关的,当卡复位时,地址计数器置0。以后每向卡发一个节拍的时钟,都将使IC卡的地址计数器加‘1’。这一时钟频率上限为50kHz或280kHz。复位之后的头32个时钟周期内,是卡的复位响应过程,该过程中,厂家的产品编码以位编码方式逐一在数据线上送出,以后的字段则根据厂家及用户所定义的含义不同而各不相同。若某字段定义为可读的,则可将时钟运行到该字段上,然后再逐时钟读出。数据的读出过程可分为三个基本过程:复位,数据字段的定位和数据读出。

489C51软件模块设计

由于89C51是主控芯片,因此89C51需要完成对IC芯片的复位、读写等操作。首先对于复位响应操作,由于复位响应是根据ISO7816标准来进行的。在操作期间的任何时候都可以复位,只有经过了复位才能对IC卡进行其他操作。开始时地址计数器随一个时钟脉冲而被设置成0。当RST线从H状态置到L状态时,第一个数据位的内容被送到I/O线上。若连续输入32个时钟脉冲,主存储器中的前4个字节地址单元中的内容被读出。在第33个时钟脉冲的下降沿,I/O线被置成H状态而关闭。 在复位响应期间,“启动”和“停止”状态被忽略。单片机上的程序设计如下:

CARD_RST:         

CLR    RST

CLR    CLK

LCALL  DELAY_20US

SETB    RST

LCALL  DELAY_20US

SET     CLK

LCALL  DELAY_20US

CLR     CLK

LCALL   DELAY_20US

CLR     RST

LCALL  DELAY_20US

MOV    B,#32

RESET1:

SETB    CLK

LCALL   DELAY_20US

CLR     CLK

LCALL   DELAY_20US

DJNZ    B,RESET1

RET

在命令模式下,复位响应之后,芯片等待着命令。每条命令都以一个“启动状态”开始。整个命令包括三个字节。随后紧跟着一个附加脉冲并用一个“停止状态”来结束操作。当CLK为H状态期间,I/O线的下降沿为启动状态;当CLK为H状态期间,I/O线的上升沿为停止状态;限于篇幅,此处不再列出整个读写操作的程序代码。需要注意的是:脉冲的下降沿之后,I/O线上的第一位数据变为有效。随后每增加一个时钟脉冲,芯片内部的一位数据被送到I/O线上。其输出的顺序是从侮个字节的最低位开始。当所需要的最后一个数据送出以后,需要再附加一个时钟脉冲来把I/O线置成H状态,以便准备接受新的命令。在输出数据期间,任何“启动状态”和“停止状态”均被屏蔽掉。

5、结束语

     本文的创新点是提出了一种新型的IC卡读写器设计方案,在串口通讯的设计中,除了要对单片机的异步通讯口进行操作,还要对PC 机的串口进行底层实时控制,并通过调用系统的API 函数的方法成功的解决了这一问题。由于西门子公司的SLE4442型逻辑加密IC卡是一种比较通用的IC卡芯片,因此通过更新读写器软件也可以操作其他类型的接触式同步IC一卡,使得这种接触式IC卡读写器成为一种通用的读写器。

参考文献:

1         王卓人,邓晋均,刘宗祥, 《IC卡的技术与应用》,北京:电子工业出版社,1999
2         王爱英《智能卡技术》,北京:清华大学出版社,2000
3         何立民等 《单片机高级教程》,北京:北京航空航天大学出版社,2000.8
4         陈志斌 卓家靖 基于单片机和CPLD的嵌入式脉冲发生器设计,北京,《微计算机信息》,2005。NO.2,P107

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭