0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

使用单片机实现智能卡接口控制器的设计资料说明

Wildesbeast 来源:单片机教程网 作者:单片机教程网 2020-10-06 18:08 次阅读

---智能卡(SmartCard)又称集成电路卡(Integrated Circuit Card,即IC卡),将微电子技术和单片机技术结合在一起,具有高的可靠性、安全性和灵活性,其广泛地应用于电信、金融、交通及公共事业等领域。智能卡接口控制器是连接智能卡和主控设备的桥梁,是智能卡处理设备中的最重要组成部分之一。面对庞大的市场需求,各大芯片厂商都推出了各自的智能卡接口控制器芯片,例如,Philips的8007、Linear的LTC1755/6等。本文也提出一种实用的智能卡接口控制器的设计方案。

单片机智能卡设计的硬件结构

读写器的硬件组成如图1所示。包括电源、单片机系统、RS 232接口、IC卡读写接口、多路 时钟系统和复位电路等几个主要部分。

单片机系统由89C52CPU、三态地址锁存器和静态存贮器组成。89C52的P0口与三态地址锁存 器形成地址总线的低8位,即A0~A7,以及数据总线D0~D7;89C52的P2.0~P2.6形成地址 总线的高8位,即A8~A12。静态存贮器用于保存读写器运行过程中预设的一系列软件指令。串行接口用于实现读写器与用户端设备,如PC机等之间的数据通信。在当前系统中采用了一片MAX232,其中的RXD、TXD做为数据的I/O通道接CPU串行口,完成读写器CPU与外部间的数据交换。同时,外部用户端还可通过串口的RTS信号对IC卡读写器进行软件上的复位。

通用的智能卡多为异步型CPU卡,在其时钟方面多需要不同的控制和发生体系。因此在读写 器中设置有专门的时钟电路和时钟控制电路,主要由74LS253双四选一电路及D触发器等组成 。晶振提供的脉冲经分频产生时钟信号分别送到四选一电路输入端。另外2个输入端分别接地和T0(89C52CPU的T0引脚),T0信号通过软件编程分频后向IC卡提供时钟信号,时钟频率、脉冲宽度可由具体编程决定。四选一电路的选择控制端分别接P1.0和P1.1、P1.0和P1.1,分别对应于不同的频率关系。

在读写器的硬件构成上,还提供有上/下电控制电路。这部分电路用于控制对卡的上电和下 电操作,也就是提供对卡的电源开关控制。主要由89C52的P1.7、R3,R4和三极管Q2等组成开关电路来控制对卡的上/下电。当需要给IC卡加电时,通过预先设定的程序使P17置“0”,使Q2导通,VCC通过Q2将CVCC送至IC卡;当I C卡下电时,置P1.7为“1”使Q2截止,从而禁止向IC卡供电。详细电路如图2所示。

作为用户与IC卡之间的交互平台,读写器需要分别建立与外部用户和内部IC卡之间的数据通 信体系。读写器中的IC卡接口即提供读写器与IC卡间进行数据交换的通道。根据目前通用的IC卡接口标准,与IC卡的接口基本上由8个信号组成:CLK时钟、I/O数据、RST复位等,另外有3个NC信号供用户自己定义。将他们分别与读写器中CPU接口线相连,再由CPU通过预设的软件指令控制和实现与IC卡间的数据交换,如图3所示。

3读写器的软件体系

用户以何种方式和过程使用读写器是读写器开发中的关键部分之一,其核心目标是在设备硬件体系的基础上,开发并提供一个使用户能够对硬件进行直接操作的软件层,这个软件层部分包括的主要是一系列的应用协议和与其相配合的控制程序。在使用读写器的过程中,PC机或其他外部用户系统必须遵循或借助于这些协议,才能够与读写器内部的控制程序正确互动和协调一致,以实现对设备有效的使用。依据实际的应用要求,该读写器的软件体系主要包含以下几个组成部分。

3.1对读写器的启动

用户在开始使用读写器,也就是要求与读写器进行数据通信前,首先需对设备进行复位,使其加电启动系统并进入待机状态。

具体实施过程为PC机端首先通过已选择好的串口,根据标准串口通信协议发送一个正脉冲至 读写器端的RTS引脚。同时在读写器中,为了使用户(如PC机)能够验证设备的当前复位状态,在读写器被正确复位后,其上的控制系统会发送一个第一响应码至用户端,在用户正确接收到后,需返回一个第二响应码至读写器,使读写器端与用户端能够相互确认并建立起正确有效的通信体系。否则在用户端需要继续等待,读写器在一定限时内会重发第一响应码。但如果用户端长时间未能收到正确数据,此时重新进行复位操作。

3.2通信“握手”

为保证数据通信过程的正确有效,使读写器保持较好的通信质量,在协议中规定对用户设备 与读写器间建立的通信信道的可靠性进行实时的校验。即在对读写器进行复位启动后,还需要在用户端与读写器间进行一个称为通信“握手”的校验程序,目的在于检验当前通信信道的工作状态是否正常。其具体内容主要是对一组预定义的数据,在用户端与读写器之间进行通信传输,通过验证通信结果是否符合预设的数据内容,校验当前通信信道是否正确可靠。通常为用户发送第一响应码至读写器,读写器正确接收到则返回第二响应码至用户端,而用户端若正确接收到第二响应码则继续下一步工作,否则等待读写器端重发数据。但如果在限时内未收到正确的第二响应码数据则确认为当前通信出现异常,并提示系统报告当前错误情况。

3.3指令格式

读写器的用户在与读写器进行数据通信时,根据智能卡应用规范,用户端都应当遵循一定的 格式组织和创建指令及提供所需的相关数据,目前在读写器的控制与使用协议中定义并使用了以下的一种指令格式。

指令由5个基本字节组成:字节1:CLA,指令标识符一;字节2:INS,指令标识符二;字节3,4:P1和P2,指令参数;字节5:LC,数据长度。

用户端依据这样格式建立和发送指令序列至读写器,其中字节1和字节2形成一个二级的指令标识,说明当前指令操作码的含义;字节3和字节4提供一个参数空间,辅助说明指令操作码;字节5说明当前指令操作数的数据长度,主要是针对于非定长数据的通信传输过程。

3.4操作流程

在用户实际使用读写器操作智能卡的过程中,绝大部分操作都是在完成一个由用户端发送指令和数据至读写器,由读写器解释执行并转发至智能卡,最后由智能卡端返回结果至读写器,读写器最终返回至用户端的一个操作过程。因此也以他作为主要依据来规范相关的软件协议,具体如下所示:

复位启动读写器协议要求中的第一步工作。

通信“握手”为确保通信过程的正确有效,用户与读写器进行数据通信 前都将要先进行这一步工作。

发送指令用户向读写器发送操作指令时,指令组建必须要符合协议中的 规定格式。

发送数据对于含有操作数的指令,在送出指令码后,还必须将相关的 数据送至读写器。

接收状态码读写器在接收到并执行用户指令后,会根据执行结果的内容返回执行状态码和结果数据至PC机,由此用户可得到指令的执行结果。

接收数据如果当前用户指令要求读写器提供结果数据,读写器在返回执行状态码后,需继续送结果数据至PC机。根据协议,结果数据的长度由指令码中的LC字节说明。

4对智能卡的操作COS命令接口

读写器作为用户端与IC卡间的操作平台,在接受用户端控制与使用的同时,还有一个重要的 功能就是实现对智能卡的操作。COS命令接口就是对智能卡操作的前端实现部分。通常在智能卡应用当中,智能卡本身都具备一个COS系统,由他协调并控制卡上的所有指令和数据处理过程,读写器必须借助于COS系统才能够实现相应的功能。COS命令接口做为读写器端的CO S数据通道直接影响到读写器对卡的操作。在这一部分协议中规定读写器向IC卡发送一组定制的指令数据,IC卡接收到这组协议数据后,通过解释这组指令数据的具体含义、形成操作指示,再进一步转换为读、写、比较、认证及其他控制操作,然后将操作结果返回给接口设备,从而完成一次对卡的操作过程。读写器向卡发送的具有特定操作含义的数据块就是对智能卡的操作命令;而从卡返回读写器的状态及数据信息即为执行结果。其详细过程如图4所示。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    5991

    文章

    43904

    浏览量

    619614
  • 控制器
    +关注

    关注

    112

    文章

    15020

    浏览量

    170337
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10335

    浏览量

    206226
收藏 人收藏

    评论

    相关推荐

    基于FPGA的身份认证智能卡设计

    基于FPGA的身份认证智能卡的设计方案。在FPGA内部实现身份认证相关的数据加密运算,加密算法采用128 bit Rijndael算法。相关的身份信息和加密运算所需要的常量数据均存放在FLASH存储中,加密
    发表于 10-14 12:45

    单片机照明灯智能控制器资料

    单片机照明灯智能控制器资料
    发表于 08-20 11:07

    低功耗低成本智能卡接口DS8313

    Maxim推出低功耗、低成本智能卡接口DS8313。器件能够在主机微控制器与5V、3V或1.8V智能卡之间进行电平转换,为智能卡工作提供高达
    发表于 05-23 05:01

    基于低成本MCU的UART驱动智能卡

    和固件开发,给设计师带来了新的挑战。不幸的是,只有一些高档微控制器具有可以直接驱动智能卡的专用UART。里所述的设计,可以让你采用低端8位微控制器上标准的UART来驱动智能卡,本文采用
    发表于 07-19 08:25

    接口芯片控制器两个智能卡参考设计

    接口芯片控制器两个智能卡参考设计显示LTC1955用于双智能卡到RS232应用,由单个锂离子电池供电
    发表于 06-01 09:34

    STEVAL-IPT007V1是基于ST8034HC的智能卡接口评估板

    STEVAL-IPT007V1,ST8034xx接口设备评估板放置在智能卡和微控制器之间,提供所有必要的电源,保护,检测和控制功能,同时需要最少的外部元件。 STEVAL-IPT007
    发表于 06-11 15:09

    智能卡接口ST8024L介绍

    ST8024L是一款智能卡接口,旨在最大限度地降低所有需要智能卡(例如机顶盒,电子支付,付费电视和身份证)的应用中的微处理硬件和软件复杂性
    发表于 08-13 09:37

    支持智能卡和微控制器的NCN6001智能卡接口

    NCN6001DEMO / D,演示板使用NCN6001智能卡接口。 NCN6001是一种混合集成电路,旨在支持智能卡和微控制器之间的接口
    发表于 08-14 09:34

    双SIM智能卡电源和接口芯片LTC4558资料推荐

    双SIM智能卡电源和接口芯片LTC4558资料下载内容包括:LTC4558功能和特点LTC4558引脚功能LTC4558内部方框图LTC4558典型应用电路
    发表于 03-30 06:37

    多协议双智能卡接口DS8007相关资料下载

    的完成智能卡处理,并且每个槽具有独立的处理和可变波特率能力。接口由内部时序控制,支持自动激活和关闭时序、可处理T = 0、T = 1所需
    发表于 05-17 06:55

    智能卡接口芯片ST8024相关资料下载

    概述:该ST8024是一个完整的低成本模拟接口异步3 V和5 V智能卡。它可以放置在和微控制器与极少的外部元件来执行所有的电源保护和控制
    发表于 05-17 07:20

    智能卡芯片的优点及其缺点

    资料描述:自从上世纪七十年代MCU诞生以来,芯片的破解技术与防止芯片被破解方案就在不断在上演着“道高一尺,魔高一丈”,一山更比一山高的追逐。本文将单片机在安全保护方面的发展历程与大家分享。并在文章的最后,总结了现阶段安全级别最高的智能卡
    发表于 11-03 08:52

    采用51单片机和LCD1602实现车载空调控制器的设计资料分享

    实现通过PWM控制风扇的转速;实现通过继电器控制加热和制冷。标签:51单片机、LCD1602、PWM控制
    发表于 11-19 06:38

    智能卡(CPU卡),什么是智能卡(CPU卡)

    智能卡(CPU卡),什么是智能卡(CPU卡) 智能卡又称CPU卡。CPU卡内嵌芯片相当于一个特殊类型的单片机,内部除了带有控制器,存储器,
    发表于 04-02 13:36 2802次阅读

    使用STM32F05xx微控制器设计智能卡接口

    电子发烧友网站提供《使用STM32F05xx微控制器设计智能卡接口.pdf》资料免费下载
    发表于 09-21 14:49 0次下载
    使用STM32F05xx微<b class='flag-5'>控制器</b>设计<b class='flag-5'>智能卡</b><b class='flag-5'>接口</b>