一种基于51单片机的IC卡读写控制器制造技术

技术编号:2940211 阅读:255 留言:0更新日期:2012-04-11 18:40
本实用新型专利技术公开了一种基于51单片机的IC卡读写控制器,其特征在于:该IC卡读写控制器包括如下模块:寄存器控制模块(4)、数据控制模块(5)、主状态机控制模块(6)、端口控制模块(7);所述IC卡读写控制器进行读控制时数据依次按端口控制模块(7)、数据控制模块(5)、寄存器控制模块(4)和51单片机(1)的顺序进行传输,其中经数据控制模块(5)时数据由串行转换为并行;所述写控制与读控制的数据传输方向相反,其中经数据控制模块(5)时数据由并行转换为串行。与以往技术对比本实用新型专利技术由于采用了硬件实现了51单片机与IC卡之间的数据交换,显著提高了它们之间通信处理的实时性、可靠性和稳定性。(*该技术在2017年保护过期,可自由使用*)

【技术实现步骤摘要】

本技术涉及一种IC卡读写控制器,尤其是一种基于51单片机的 IC卡读写控制器。技术背景CPU卡作为IC卡家族中功能最强、安全性最高的成员,已逐渐在各种 智能卡应用中占据主导地位。本技术用到了在ISO/IEC7816—3中包括 的两种通信协议,即异步半双工字符传输协议和异步半双工块传输协议。 目前大多数接口设备都支持异步半双工字符传输协议,该协议应用较为广 泛。异步半双工字符传输协议和异步半双工块传输协议可以利用51单片机 的GPIO口通过软件编程来实现。但在软件实现过程中,需要通过软件编程 来控制数据收发,用计数器来控制等待时间和保护时间,并且外接的时钟 不一样,计数器初始值配置也不一样,给软件的编写带来麻烦。对于实时 性很强的通信处理,当CPU有比较多的中断时,CPU的处理能力常常满足不 了实时要求,而且通信的可靠性和稳定性较差。
技术实现思路
本技术为了克服了上述现有技术存在的缺陷,提供一种IC卡读写 控制器,通过软、硬件结合实现IC卡与51单片机之间的通讯。一种基于51单片机的IC卡读写控制器,其特征在于该IC卡读写控制器包括如下模块寄存器控制模块4:负责配置IC卡3和主状态机控制模块6的参数; 数据控制模块5:发送反馈信号至寄存器控制模块;主状态机控制模块6:分别发送控制信号至数据控制模块5和IC卡3, 并负责向51单片机1发出中断信号;端口控制模块7:通过IC卡数据线与IC卡时钟线连接IC卡3;所述IC卡读写控制器进行读控制时数据依次按端口控制模块7、数据 控制模块5、寄存器控制模块4和51单片机1的顺序进行传输,其中经数3据控制模块5时数据由串行转换为并行;所述写控制与读控制的数据传输 方向相反,其中经数据控制模块5时数据由并行转换为串行。所述的主状态机控制模块6向寄存器控制模块4发送卡插入中断信号、 奇偶校验错误中断信号、超时中断信号和缓冲器为空的中断信号。所述的51单片机1分别发送控制信号至寄存器控制模块4和主状态机 控制模块6。所述的51单片机1与IC卡3之间的数据传输可采用ISO/IEC 7816—3 标准中的异步半双工字符传输协议或异步半双工块传输协议。本技术的显著有益效果在于与以往技术对比本技术由于采 用了硬件实现了 51单片机与IC卡之间的数据交换,显著提高了它们之间 通信处理的实时性、可靠性和稳定性,现有读写控制器需用软件编程来控 制数据收发、控制等待时间和保护时间,还需用软件解决外接的时钟、计 数器初始值配置不一样的问题,本技术由于大部分工作用硬件实现, 所以大大减少了软件的程序代码量,从而也就降低数据传输时给CPU带来 的负担。附图说明图1是本技术的主机和IC卡的总关系示意图; 图2是本技术的各功能模块连接关系示意图; 图3是本技术传送数据时的字符帧格式示意图; 图4是本技术具体实施例的上电激活时序示意图;图5是本技术的IC卡去激活时序示意图;图6是本技术具体实施例的控制器接收数据状态机工作流程图;图7是本技术具体实施例的控制器发送数据状态机工作流程图。具体实施方式为了便于本领域的技术人员实施本技术所公开的技术,下面将对 照附图,更为详细地说明本技术。图1为本技术读写控制器、主机和IC卡的总关系示意图。51单 片机1与IC卡3之间通过所述读写控制器2实现数据的读取与存储。图2 为本技术具体实施例的读写控制器功能模块连接关系示意图,包括以 下各功能模块寄存器控制模块4:记录对IC卡3参数的配置,如IC卡3支持异步 半双工字符传输协议还是支持异步半双工块传输协议,是正向还是反向, 保护时间、字符等待时间和块等待时间参数,和对IC卡3进行的操作,如 激活、发送数据、接收数据或去激活。单片机通过对这些寄存器的读写操 作,可以读出想要的值,改变寄存器中相关的配置值。寄存器控制模块4 输出热复位、缓存空标志、去激活、激活信号到主状态机控制器模块6。 寄存器控制模块4通过数据总线传输数据到数据控制模块5;主状态机控制模块6:控制IC卡3的交互。如卡激活,数据发送,数据 接收,卡去激活,卡中断的发送,奇偶校验位发送,奇偶检测,接收数据超时 的处理,这些都是在主状态机控制模块6里完成。主状态机控制模块6输出 中断信号至寄存器控制模块4,输出保护时间计数器信号、等待时间计数 器控制信号、发送使能信号和接受使能信号到数据控制模块5。主状态机 控制模块6发送上电使能信号和卡复位信号到IC卡3。本设计中用到两个 计数器, 一个用来计数等待时间,另一个用来计数保护时间;主状态机控制模块6处于工作状态时产生如下中断卡插入中断当读写控制器2检测到IC卡3插入后,产生卡插入信号至主状态机控制模块6,主状态机控制模块6产生卡插入中断;奇偶校验错误中断主状态机控制模块6对发送和接收的数据进行奇 偶校验,并在奇偶校验错误次数达到预先设定的上限时,向51单片机1发送奇偶校验错误中断;超时中断主状态机控制模块6计数等待时间,如超时,则产生超时 中断到51单片机1;缓冲器空中断主状态机控制模块6在数据传输完成产生缓冲器空中断到51单片机1。数据控制模块5:读控制时,并行数据转为串行数据。写控制时,串行数据转为并行数据。数据控制模块5输出接收完成信号和发送完成信号至寄存器控制模块4;端口控制模块7:控制与IC卡相连的双向数据线和时钟,由于IC卡3 的数据线是双向的,所以在端口控制模块7中分成输入和输出,端口控制模 块7发送数据到数据控制模块5和主状态机控制模块6。上述各模块之间以下列过程协调操作-卡的上电激活IC卡3的激活应按一定的时序进行。如附图4,先判 断IC卡是否插入,如果IC卡3已经插入,则可以激活。激活时,先使能 电源电压,经过一段延时后产生时钟,该延时为300个时钟周期。产生时 钟后再延时500个时钟周期,最后产生复位信号。延时通过保护时间计数 器来完成。IC卡3的去激活去激活的时序如图5,要满足要求的时序。延时200 个时钟周期后,时钟信号拉低,再延时200个时钟周期后电源拉低。上电激活应答接收复位之后,IC卡3要发送上电激活应答数据给读 写控制器2。上电激活应答数据包含接口字符,历史字符等重要信息。上 电激活应答接收要产生一个标志位,表示是在进行上电激活应答接收。因 要判断整个上电激活应答期间是否超时,可以用保护时间计数器来完成, 当上电激活应答完成后,检査保护时间计数器中的计数,如果超时主状态 机控制模块6就产生超时中断,由软件处理这种异常情况是选择者重新复 位还是释放电路。数据交换分为数据发送和数据接收。控制器接收数据的流程,如图所示。当缓冲器为空的时候或给智能卡复位之后,控制器就进入接收数据子状态机,即进入接收开始状态601。当检测到IC卡3数据线上为低电平 时,进入接收超时判断状态602。如果超时了,就进入超时中断状态603, 产生超时中断,由软件来决定其是否进入去激活状态。如果没有超时就进 入接收数据状态604, 9 bits数据接收完备后就进入接收奇偶位状态605。 奇偶位接收完备后,状态跳入到接收奇偶位测试状态606,如果工作在异 步半双工块传输协议或者没有检测到奇偶错误的时候,状态跳转到接收完 备状态6本文档来自技高网...

【技术保护点】
一种基于51单片机的IC卡读写控制器,其特征在于:该IC卡读写控制器包括如下模块:    寄存器控制模块(4):负责配置IC卡(3)和主状态机控制模块(6)的参数;    数据控制模块(5):发送反馈信号至寄存器控制模块(4);    主状态机控制模块(6):分别发送控制信号至数据控制模块(5)和IC卡(3),并负责向51单片机(1)发出中断信号;    端口控制模块(7):通过IC卡数据线与IC卡时钟线连接IC卡(3);    所述IC卡读写控制器进行读控制时数据依次按端口控制模块(7)、数据控制模块(5)、寄存器控制模块(4)和51单片机(1)的顺序进行传输,其中经数据控制模块(5)时数据由串行转换为并行;所述写控制与读控制的数据传输方向相反,其中经数据控制模块(5)时数据由并行转换为串行。

【技术特征摘要】

【专利技术属性】
技术研发人员:张亚国常军锋刘俊秀石岭
申请(专利权)人:深圳艾科创新微电子有限公司
类型:实用新型
国别省市:94[中国|深圳]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1