基于单片机的智能IC卡读写器设计_第1页
基于单片机的智能IC卡读写器设计_第2页
基于单片机的智能IC卡读写器设计_第3页
基于单片机的智能IC卡读写器设计_第4页
基于单片机的智能IC卡读写器设计_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于单片机的智能ic卡读写器设计摘要:随着社会的进步和现代化程度的不断提高,人类所拥有的信息种类和数量都在成倍地增长,每天都要处理许多与个人有关的信息,而这些信息管理十分不便。因此,在实际生活中ic卡的应用范围非常广泛,它有助于解决问题。ic卡读写器是ic卡和计算机之间的传输媒介,它与计算机之间通过串行口相连,本文主要应用89c2051单片机为核心对sle4442卡进行读写控制。接触式ic卡是ic卡领域的一项新兴技术,它是射频识别技术和ic卡技术相结合的产物。首先在绪论中介绍了课题的开发意义及功能概述。 其次在主要描述了系统硬件工作原理,并介绍了ic卡sle4442的内部结构及原理图,论述了本

2、次毕业设计所应用的各硬件接口技术和各个接口模块的功能及工作过程。本系统是以单片机的基本语言汇编语言来进行软件设计,指令的执行速度快。最后具体描述了各个功能模块的软、硬件调试。本文撰写的主导思想是软、硬件结合,以硬件为基础,来进行各功能模块的编写。关键词:读写控制,单片机,ic卡。abstract: raise continuously along with the progress and modern degree of the society, the information category and quantities that the mankind own all be becom

3、ing doubly a growth, want to handle to be many and personal everyday relevant of information, but these information managements is very inconvenient.the application of the ic card is very extensive in the real life. it contributes to solve problem。 ic card's reading and write a machine is the ic

4、 card and of the calculator deliver medium, it goes to connect with each other with of the calculator through a string, this text applies a single slice of 89c2051 machine for the core mainly to the sle4442 cardses to carry on reading and write a control. the contact type ic card is a newly arisen t

5、echnique of the ic card realm, it is the outcome that the radio frequency identifies the technique and the ic card technique to combine together.first introduced in the introduction to the topic of significance and functions outlined.secondly the text inside describes the system hardware work princi

6、ple, and introduce the icsle4442internal structure and chip figure, discuss the function and working process of these degree graduation project station applied each hardware interface technology and each interface module. ithis system edits collected materials the language to proceed with single the

7、 basic language of a machine the software designs, the instruction carries out the speed quick, save memory. .in conclusion concretion description soft and hardware debug of each functional module.the predominance thought that this text compose is soft, the hardware combines together, regarding hard

8、ware as the foundation, proceeds the plait of each function mold piece write.key words: read and write a control, single slice machine, ic card.目录:1 前言11 系统的提出及研究意义。12 系统的研究方向及功能概述。2 正文21 硬件设计思路。22 硬件论证方案。23 硬件各模块的设计。2.3.1 89c2051单片机的简介。2.3.2 sle4442ic卡的简介: 芯片概述:芯片功能;芯片内部逻辑结构; 传输协议:复位和复位响应;命令模式;输出数据

9、模式;处理数据模式;2.3.3 sle4442的应用: 芯片的复位方式; 芯片的操作命令格式;2.3.4 sle4442的接口技术: sle4442卡的接口电路; sle4442卡的插入/退出识别与上电/下电复位过程; sle4442卡的读写; sle4442卡的逻辑加密。2.3.5rs232通信接口芯片:2.3.6电路原理分析24 软件设计思想。 软件结构设计及其分析; 软件系统分析; 25 软件程序设计3 系统调试4 结论5 参考文献6 致谢附录:附录一:外文专业参考资料译文附录二:外文专业参考资料原文附录三:电路原理图附录四:程序流程图附录五:程序清单1前言11系统的提出及研究意义。当今

10、世界信息技术的发展日新月异,一个以电子商务为主要特征的经济时代即将来临,ic卡是一种将个人信息最有效地送入到先进的全球信息网络并获取所需结果的最有效的办法,ic卡将成为人们联网身份识别和实现电子支付手段。其影响面是前所未有的。智能ic卡与普通磁卡相比具有更高的安全性,为此,对智能ic卡的读写进行研究是非常有意义的。按卡与外界数据传输的形式来分,有接触式ic卡和非接触式ic卡两种。当前广泛使用的是接触式ic卡,本文对其进行了详细介绍。目前,ic卡家族中档次最高的智能ic卡,又称cpu卡.顾名思义, 这种卡片上不但有存储数据的存储器和对外联络的通讯接口,还带有具备数据处理能力的微处理器,实际上是一

11、台卡上的单片微机系统.为了管理这一系统中的硬件和软件资源, 卡上存储有进行数据读写和安全管理的程序,以及管理这些程序的卡上操作系统,即cos(chip operating system).cos与我们在pc机上常见的dos和windows 等操作系统有很大不同,它是根据ic卡特点而开发的专用操作系统.cos受ic 卡存储容量和微处理器性能的限制,主要功能是:控制ic卡与外界的信息交换;管理ic卡上各种存储器;在ic卡内执行读写器的各种操作命令.有了cpu与cos,ic卡就有了智能.因此智能ic 卡具有超强的存储性能,提供很高的信息安全性和可靠性.12系统的研究方向及功能概述。 本文主要以89c

12、2051单片机为核心,ic卡读/写设备就是能将数据信息“写入”ic卡或将ic卡内部的数据信息“读出”或“擦除”的电子接口设备,总体来说,可将其分为通用型读/写设备和专用型读/写设备。本设计主要分析接触型ic卡读/写器,作为pc机的嵌入式外设,通过串型接口实现交换。功能:能识别和读/写存储卡;为连机型读/写器,做为依附于pc机的一种外设,通过rs-232c与pc机进行通信;能自动连续读/写,具有上电冷复位,插卡热复位功能;卡上数据读/写采用双认证方式,确保读/写数据的可靠性和准确性;具有一定的抗攻击能力,即对于非法插拔,非法ic卡等具有一定的抵抗能力,可避免短路等造成的读/写损坏;具有声光提示读

13、/写状态;采用动态加密算法,避免ic卡被非法复制,并保证ic卡数据的安全性。2.正文 21硬件设计思路: ic卡的应用领域非常广泛。在ic卡的触点和读/写设备的触点良好接触之前,读/写设备不应对ic卡施加有关信号,以免造成不可预料的损坏。ic卡读/写设备作为系统和用户交换的接口,必将面对各种各样复杂的应用环境。因此,在设计阶段应注意ic卡读/写设备环境。作为操作系统,管理ic卡的硬件资源和数据资源是其基本任务.ic卡上的硬件资源包括cpu,rom,eeprom和ram及通讯接口,这些都由ic卡上操作系统统一管理, 使外部不能直接控制这些资源,使ic卡对外表现为一个"黑匣子"

14、,从而加强了系统的保密性能. 智能卡通讯管理主要功能是执行智能ic卡的信息传送协议, 接收读写器发出的指令,并对指令传递是否正确进行判断.一般可采用奇偶检,crc校验等方式判断传输错误.对于采用分组传输协议的系统, 还可以通过分组长度变化来检出错误。智能卡操作系统最重要的功能之一就是数据安全管理. 这可以具体地分为用户与ic卡的鉴别,核实功能以及对传输数据的加密与解密操作. 智能ic卡cos的应用管理功能是对读写器发来的命令进行判断,译码和处理. 智能卡的各种应用以专有文件形式存在卡上,各专有文件则是由ic 卡的指令系统中指令排列所组成的. "鉴别"是指对ic卡本身的合法性

15、进行验证,判定一张ic卡是不是伪造的.如在前两讲中谈到的多采用多种卡上设置的读,写,擦除密码作为防伪的基本手段.而cos由于可以通过内部软件运行来完成密码转换,因此智能ic 卡上实际写入的密码无法被读写器直接读取,安全性能更强.ic卡由于其高存储量和高保密性,应用领域十分广泛,除覆盖了传统磁卡的全部功能外,还拓展到许多磁卡不能胜任的领域 22硬件论证方案: ic卡是一种集成电路卡,它的读/写设备是每个ic卡应用系统必不可缺的周边设备。该设备通过ic卡的8个触点向ic卡提供电源并与ic卡相互交换信息。虽然ic卡是从磁卡发展而来的。 本ic卡读/写器的硬件系统设计主要有:ic卡的插拔检测,ic卡的

16、电源控制,ic 卡与cpu的接口以及必要的人机界面。软件系统主要由ic卡数据读/写模块,串行通信模块等组成。 sle4442是德国simens公司设计的逻辑加密存储卡。它具有2k位的存储容量和完全独立的可编程代码存储器。内部电压提升电路保证了芯片能够以单一+5v电压供电,较大的存储容量能够满足通常应用领域的各种需要,因此是目前国内应用较多的一种ic卡芯片。芯片采用;多存储器结构,2线连接协议(串行接口满足iso7816同步传输协议),nmos工艺技术,每字节的擦除/写入编程时间位。2。5ms。存储器具有至少10000次的擦写周期,数据保持时间至少10以上。 根据ic卡应用系统的这种典型结构,开

17、发者的主要工作包括:(1) 设计和构造应用系统中心数据库,对应用ic卡管理的数据进行分类存储和管理.由于数据库一般建立在小型机或微机网络服务器上,一般在相应环境中开发设计.(2)对ic 卡上数据的存储格式,读写方式,加密和安全保护方式进行规划和设计.这些可借助ic 卡读写器和微机的开发系统来完成.(3)构造ic卡应用环境,建立网络和读写工作站.作为ic卡系统中的发卡站和结算站,可以采用带联机读写器的小型机或微机.系统设计环境可以是windows下的vb,foxpor,access等软件,一般利用读写器厂家提供的接口函数与数据库软件接口.用户刷卡使用的工作站可以采用pc机加联机读写器组成,需进行

18、用户界面设计,能够提供较友好的用户界面.也可以使用便携式的脱机工作站, 一般由单片机系统组成,带有液晶显示器和小型键盘.这种读写器的用户接口软件, 也需在专用的单片机系统中开发.    因此,一个ic卡应用系统的设计工作除了包括各站点的硬件配置,系统联网, 系统数据库构建和管理软件编程,各工作站用户接口软件的编程,以及ic卡上数据规划与初始分区和数据写。2.3硬件各模块的设计:2.3.189c2051单片机的简介: 本读写器以atmel89c2051为内核。此型号的单片机是一种低消耗,高性能的8位cmos微处理芯片。片内带有2kb的闪烁可编程及可擦除只读存储器,与

19、工业标准的80c51指令集相兼容,dip20封装。片上的perom准许在线对程序存储器重新编码,也可用常规的非易挥发存储芯片编程。它的特点可归纳为:1.与mcs-51产品兼容;2.2kb的在线可重复编程闪烁存储器;:寿命:1000次写/擦除周期,数据保存期10年;3.宽工作电压:范围vcc=2.76v;4.全静态工作方式:024mhz;5.3级程序存储器锁定;6.256*8位内部ram;7.32条可编程i/o口线;8.3个16位定时/计数器;9.5个中断源;10.可编程串行中断;11.低功耗的闲置与掉电模式。l 复位状态: mcs51单片机复位后, 程序计数器pc和特殊功能寄存器复位的状态如表

20、所示。 复位不影响片内ram存放的内容, 而ale、psen在复位期间将输出高电平。由表可以看出: (1) (pc)=0000h 表示复位后程序的入口地址为0000h; (2)(psw)=00h, 其中rs1(psw.4)=0, rs0(psw.3)=0, 表示复位后单片机选择工作寄存器0组; (3)(sp)=07h 表示复位后堆栈在片内ram的08h单元处建立;(4)p0口p3口锁存器为全1状态, 说明复位后这些并行接口可以直接作输入口, 无须向端口写1; (5) 定时器/计数器、 串行口、 中断系统等特殊功能寄存器复位后的状态对各功能部件工作状态的影响。上电复位:l at89c2051结构

21、:at89c2051是一个有20个引脚的芯片,引脚配置如图. 与8051内部结构进行对比后可发现,at89c2051减少了两个对外端口(即p0、p2口),使它最大可能地减少了对外引脚,因而芯片尺寸有所减小。at89c2051芯片的20个引脚功能为:1.vcc 电源电压;2.gnd 接地;3: rst复位输入。当rst变为高电平并保持2个机器周期时,所有i/o引脚复位至“1”。 引脚结构:l xtal1反向振荡放大器的输入及内部时钟工作电路的输入。xtal2来自反向振荡放大器的输出。p1口8位双向i/o口。引脚p1.2p1.7提供内部上拉,当作为输入并被外部下拉为低电平时,它们将输出电流(iil

22、),这是因内部上拉的缘故。 p3口引脚p3.0p3.5与p3.7为7个带内部上拉的双向i/o引脚。p3.6在内部已与片内比较器输出相连,不能作为通用i/o引脚访问。 单片机内部,外部振荡电路: l 单片机存储器分类及配置: mcs51单片机存储器的分类从物理结构上可分为: 片内、 片外程序存储器(8031和8032没有片内程序存储器)与片内、 片外数据存储器4个部分; 从寻址空间分布可分为: 程序存储器、 内部数据存储器和外部数据存储器3大部分; 从功能上可分为: 程序存储器、 内部数据存储器、 特殊功能寄存器、 位地址空间和外部数据存储器5大部分。 (a)程序存储器; (b)内部数据存储器;

23、 (c)外部数据存储器l 特殊功能寄存器(sfr):at89c2051中特殊功能寄存器描述,它们共占用了19字节,其功能与8051sfr功能相对应。l 程序存储器的加密:at89c2051片内有2个锁定位,可以编程(p),也可以不编程(u),从而得到3种锁定位保护模式。内部结构:l 低功耗工作方式:at89c2051有两种低功耗工作方式:空闲方式与掉电方式。 1) 空闲方式(休眠方式):当利用软件使空闲方式位idl(pcon.0)=1时,单片机进入空闲方式。此时,cpu处于休眠状态,而片内所有其他外围设备保持工作状态,片内ram和所有特殊功能寄存器内容保持不变。在空闲方式下,当晶振fosc=1

24、2mhz、电源电压vcc=6v时,电源电流icc从20ma降至5ma,而vcc=3v时,icc由5.5ma降至1ma。中断或硬件复位可以终止空闲方式。 当空闲方式由硬件复位终止时,cpu要从休眠处恢复程序的执行,执行2个机器周期后,内部复位算法才起作用。此时,硬件禁止访问内部ram,但允许访问端口引脚。为了防止休眠被复位终止时对端口引脚意外写入的可能性,在生成空闲方式的指令后不应紧跟对端口引脚的写指令。如果不采用外部上拉,p1.0和p1.1应置“0”;如果采用外部上拉,则应置“1”。 2)掉电方式:掉电方式由掉电方式位pd(pcon.1)=1设置。此时,振荡器停止工作,设置掉电方式的指令成为最

25、后执行的1条指令,片内ram和特殊功能寄存器内容保持不变。在掉电方式下,vccmin=2v。当vcc=6v时,iccmax=100a;当vcc=3v时,iccmax=20a。退出掉电方式的唯一方法是硬件复位。硬件复位将重新定义特殊功能寄存器,但不影响片内ram。复位的保持时间应足够长,以便振荡器能重新开始工作并稳定下来。在vcc没有恢复到正常工作电压之前,不应进行复位。如果不采用外部上拉,p1.0和p1.1应置“0”,否则置“1”。 2.3.2 sle4442ic卡的简介:l 概述:sle4442 是德国西门子simens 公司设计的逻辑加密存储卡它具有2k 位的存储容量和完全独立的可编程代码

26、存储器psc 内部电压提升电路保证了芯片能够以单+5v 电压供电较大的存储容量能够满足通常应用领域的各种需要因此是目前国内应用较多的一种ic 卡芯片芯片采用多存储器结构2 线连接协议串行接口满足iso7816 同步传送协议nmos 工艺技术每字节的擦除/写入编程时间为2.5ms 存储器具有至少10000 次的擦写周期数据保持时间至少10 年。sle4442的触点安排: 操作电压 地 复位 未用 时钟 双向数据线 未用 未用芯片功能芯片功能:sle4442 ic 卡主要包括三个存储器:1256x8 位eeprom 型主存储器。地址031 为保护数据区。该区数据读出不受限制,写入受保护存储内部数据

27、状态的限制。当保护存储器中第n 位n=031 为1 时,对应主存储器中第n 个字节允许进行擦除和写入操作。地址32255 后244 字节为应用数据区,数据读出不受限制,擦除和写入受加密存储器数据校验结果的影响。这种加密校验的控制是对整个主存储器实施的(即包括保护数据区和应用数据区)。232 x1 位prom 型保护存储器.一次性编程以保护主存储器保护数据区,防止一些固定的标识参数被改动.保护存储器同样受加密存储器数据校验结果的影响。34x8 位eeprom 型加密存储器.第0 字节为密码输入错误计数器(ec).ec的有效位是低三位,芯片初始化时设置成”111”这一字节是可读的(ec).的1,2

28、,3字节为参照字存储区.这3 个字节的内容作为一个整体被称为可编程加密代码(psc).其读出写入和擦除均受自身比较操作结果的控制。芯片内部逻辑结构如下:l 传送协议:1. 复位和复位响应:复位和复位响应是根据iso7816-3 标准来进行的。在操作期间的任意时候都可以复位。开始,地址计数器随一个时钟脉冲而被设置为零。当rst 线从高状态h 置到低状态l 时,第一个数据位(lsb)的内容被送到i/o 上。若连续输入32 个时钟脉冲,主存储器中的前四个字节地质单元中的内容被读出。在第33个始终脉冲的下降沿,i/o 线被置成高状态而关闭.2命令模式:复位响应以后芯片等待着命令。每条命令都以一个“启动

29、状态”开始。整个命令包括3 个字节。随后经更着一个附加脉冲并用一个“停止状态”来结束操作。启动状态:在clk 为高状态h 状态期间i/o 显得下降沿为启动状态。停止状态:在clk 为高状态h 状态期间i/o 显得上升沿为停止状态。在接受一个命令之后有两种可能的模式输出数据模式即读数据和处理数据模式。 命令模式的时序图:3输出数据模式:这种模式是将ic 卡芯片中的数据传送个外部设备接口(ifd)的一种操作。在第一个clk 脉冲的下降沿之后,i/o 线上的第一位数据变为有效。随后每增加一个时钟脉冲芯片,芯片内部的一位数据被送到i/o 线上,数据的发送从每个字节的最低位(lsb)开始。当所需要的最后

30、一个数据送出以后,需要再附加一个时钟脉冲来把i/o口置成高状态,以便接受新的命令。在输出数据期间任何“启动状态”和“停止状态”均被屏蔽掉.输出数据模式的时序关系: 4.处理数据模式:这种模式是对ic 芯片作内部处理.芯片在第一个始终脉冲的下降沿将i/o 线从高状态拉到低状态并开始处理。此后芯片在内部连续计时计数,直到低n 个始终脉冲之后的附加一个时钟脉冲的下降沿i/o 线再次置高,完成芯片的处理过程。在整个处理过程中i/o 线被锁定成低状态。处理模式的时序关系:233sle4442卡的应用:l 芯片的复位方式:1部复位:sle4442是基于同步夫位响应的传送协议。芯片的复位时序如前述。2复位:

31、在把操作电压连接到vcc 段之后,芯片内部进行复位操作。i/o 线被置为高状态。必须在对任意地址进行读操作或做一个复位响应操作之后才可以进行数据交换。3:在clk为低状态期间,如果rst 置为高状态,则任何操作均无效。i/o 线被锁定到高状态。需要一个最小维持时间tres=5us 之后,芯片才能接受新的复位。中止状态的时序:l 芯片的操作命令格式: 每条命令包含三个字节其排列顺序如下msb 控制字 lsb msb 地址字 lsbmsb 数据线 lsb b7b6b5b4b3b2b1b0a7a6a5a4a3a2a1a0d7d6d5d4d3d2d1d0 sle4442芯片具有7种命令: 字节1(控制

32、)b7b0字节2(地址)a7a0字节3(数据)功能命令模式30h地址数无效读主存器输出数据模式38h地址数输入数据改主存器处理模式34h无效无效读保护存储器输出数据模式3ch地址数输入数据修改加密处理模式31h无效无效比较校验数据输出模式39h地址数输入数据修改加密处理模式33h地址数输入数据比较校验处理模式 2.3.4sle4442卡的接口技术:ic卡接口设备是由ic卡适配插座,ic卡电气接口电路,用于ic卡时序生成与数据交换的微处理器以及其他主设备的连接接口组成。根据ic卡在插入或退出时,按触点压触和脱离的方式区分主要有两种,一是滑触式结构,这种方式,触点处于固定位置,ic卡在插入或退出时

33、,滑过与之不相关的位置,并滑接在固定的位置,另一类是着陆式结构,这种结构下,ic卡在插入过程中,触点与ic卡同步运动,逐步下压,并稳定与最终位置。l ic卡的接口电路: ic卡的接口电路是连接ic卡与读写机具的通路,由它实现对ic卡的供电,并满足不带电插拔的要求。 一般来说,逻辑电路的“1”和“0”只是反映电压大小的关系,都处于带电状态。若带电插拔ic卡,可能会给ic卡带来损伤,甚至损坏它。因此在插拔前应先断开向ic卡供电的电源。,并切断其逻辑连接,实现对ic卡的保护。 ic卡的逻辑接口电路一般采用集电极开路(oc)输出及非嵌拉保护式输入结构。上拉电阻r源端与ic卡的供电电源相连接。当ic卡处

34、于供电状态时,整个接口电路接通,借口设备与ic卡间构成逻辑通路;而当ic卡处于下电状态时(v=off),上拉电阻r的源端失去了供电,整个与卡的接口的电路均处于不带电状态。这种电路结构简单,可与cmos,ttl接口相兼容,上升沿阻尼较大,不易产生边沿振荡,缺点是当接口端的分布电容较大时,上升沿过缓。在作为cpu卡的时钟驱动时(通常为3.57mhz),就有可能产生丢失脉冲等现象。解决这一问题的办法有两种,第一种:是通过减小时钟驱动端的上拉电,减小上升时间来解决;另一种是采用互补驱动方式来进行时钟驱动,这种方式结构复杂些,但可以实现更高的时钟频率。 所有的ic卡的接口部分都加加了箝位保护二级管,这些

35、箝位二级管可以使各引脚上的电压严格地限定在-vdvcc+vd之间,这样,可以抑制由于线路干扰和逻辑电平变化的边沿产生抖动所带来的瞬态过压,为ic卡提供进一步的保护措施。ic卡接口设备中的ic卡供电电路也是一个相对独立于其他回路,这是由于ic卡接口设备是一个独立于ic卡的设备,当有卡插入时,接口设备便开始向ic卡提供其所须的电力。如果插入的是一张电源与地击穿的坏卡,或是一个金属片之类的物质,就会造成供电回路的短路现象,若ic卡接口设备中无过流保护措施,就会造成设备的损坏。即便有保护措施,若与ic卡接口设备的其他部分共同使用一个保护回路,就会干扰整个设备的正常工作。该电路利用了带输出短路保护特性的

36、78系列三端稳压集成电路,78l05的最大输出电流可达150ma,短路保护电流起点在150ma200ma左右,符合iso/iec7816-3所确定的范围。当插入的卡是一个电源对地的短路负载时,u1会因输出过载而形成短路保护,由于接口设备的供电是在u2提供的稳压回路上,因而不会干扰接口设备的工作,这一段路保护信息会在“短路报警指示”信号线上形成一个低电平输出,接口设备的微处理器通过感知这一信号而切断对ic卡接口的供电,直到该卡退出为止,u1的输出也会随之而转入正常的电压输出范围,以便为后续插入的ic卡提供正常的供电服务。l ic卡的插入/退出识别与上电/下电控制技术:ic卡的插入与退出的识别是通

37、过ic卡适配插座上的感应开关来识别的,对于复杂结构的ic卡适配插座,其识别与控制过程也相当复杂,且针对不同的卡座,其控制也各不相同,ic卡的供电控制是一个直接涉及是否能安全可靠地操作ic卡的过程。它必须严格地遵循iso7816-3规定,其操作如下:(1)上电过程:rst处于l状态; (2)下电过程:rst为状态l; vcc供电; clk为状态l; 接口设备处于接受 vpp不起作用; 方式; vpp上升为空闲状态; i/o为状态a; clk由相应稳定的时钟 vcc关闭。提供; 上电过程: pwron1:lcall recog ;识别是否有卡插入 clr rst ;使rst=l clr clk ;

38、使clk=l lcall delay-0.5ms ;延迟0.5ms。使端口逻辑信号稳定 clr pwr ;给卡供电 clr datout ;使i/o端口=l; ret ;返回下电过程:pwroff1:clr rst ;使rst=l clr clk ;使clk=l clr datout ;使i/o=l lcall delay-0.5ms ;延迟0.5ms,使端口逻辑信号稳定 setb pwr ;给卡下电 ret ;返回 由于ic写主存储器时需要验证密码,所以执行下面程序时请确保sle4442的密码的正确性。如果密码有错误,ic卡校验3次便会锁死报废。 org 8000h ajmp main or

39、g 8100h main:mov sp,#60h write-read-card: mov r0,#pswd mov r0,#0x11 inc r0 mov r0,#0x22 inc r0 mov r0,#0x33 lcall checkpassword jnz wrexit mov r0,#writebuf mov r0,#0x55 inc r0; mov r0,#0x66 mov bytenum,#0x02 mov startadr,#0x20 lcall writecard jnz wrexit mov bytenum,#0x02 mov startadr,#0x20 lcall rea

40、dcard jz write-read-card wrexit:mov a,#00h $include(sle4442.inc); endl ic卡的读写技术:不同类型的ic卡其读写方式或数据协议方式是不同的,其地址计数器是与时钟紧密相关的,当卡复位时,地址计数器置“0”,以后,每向卡发一个节拍的时钟,都将使ic卡的地址计数器加“1”,这一时钟频率上限为50khz或280khz。复位过程:synrst:setb datout ;使能数据线 setb rst ;复位使能 lcall delay-10us ;延迟10us setb clk ;置同步复位时钟h lcall delay-10us ;延

41、迟10us clr clk ;时钟为l lcall delay-10us ;延迟10us clr rst ;复位结束ret 数据字段的定位:synpos:lcall synrst ;ic卡复位 sp1:cjne r3,#00h,sp3 ;判低位 cjne r2,#00h,sp2 ;判高位 ret ;返回 sp2:dec r2 ;高位减1 sp3:dec r3 ;低位减1 setb clk ;开始建立一个时钟脉冲 lcall delay-10us clr clk lcall delay-10us ;时钟脉冲结束 sjmp sp1 ;继续下一次数据的读出过程:synread:lcall sunpo

42、s ;定位至起始地址 setb datain ;使能数据输入线 sr1:mov r5,#08h ;置移位次数为8次 sr2:setb clk ;clk=h mov c,datin ;将数据线上的内容输入到c触发器中 rlc a ;a寄存器循环左移,c的内容进入a最低位 lcall delay-10us ;延时10us clr clk ;clk=l lcall delay-10us ;延时10us djnz r5,sr2 ;判断是否接收完一字节,若是继续,否则转至sr2,继续接收下一位 mov r0,a ;将字节内容送(r0)单元 inc r0 ;数据存放地址加1 djnz r4,sr1 ;判断

43、是否接收完r4个字节,若是继续,否则转至sr1,继续接收 ret ;返回 ic卡的写操作:在器件地址码之后,紧跟着的是字节地址码。地址码长度为8位。时序中的数据为写字节时,由ic卡读/写器中的单片机在sda发送一个8位码长的数据;卡片每收到一个数据字节后,都要通过sda回送一个“确认”信号。 ic卡的读操作有3种:现行地址读、随机地址读、顺序读。 ic卡芯片操作地址:对ic卡而言,a2,a1,a0地址线均为0;因此,写地址为0a0h,读地址为0a1h。ic卡读写器要能读写符合iso7816标准的ic卡。ic卡接口电路作为ic卡与ifd内的cpu进行通信的唯一通道,为保证通信和数据交换的安全与可

44、靠,其产生的电信号必须满足下面的特定要求。 完成ic卡插入与退出的识别操作:ic卡接口电路对ic卡插入与退出的识别,即卡的激活和释放,有很严格的时序要求。如果不能满足相应的要求,ic卡就不能正常进行操作;严重时将损坏ic卡或ic卡读写器。(1)激活过程:为启动对卡的操作,接口电路应按图1所示顺序激活电路:rst处于l状态;根据所选择卡的类型,对vcc加电a类或b类,正常操作条件下vcc的电特性见表1;正常操作条件vcc的电特性符  号 最小值 最大值 条    件 vvcc/v 4.52.7 5.53.3 a类b类 icc/ma 60500.5 a类,在

45、最大允许频率b类,在最大允许频率时钟停止 vpp上升为空闲状态;接口电路的i/o应置于接收状态;向ic卡的clk提供时钟信号(a类卡15mhz,b类卡14mhz)。如图所示,在ta时间对ic卡的clk加时钟信号。i/o线路应在时钟信号加于clk的200个时钟周期(ta)内被置于高阻状态z(ta 时间在ta之后)。时钟加于clk后,保持rst为状态l至少400周期(tb)使卡复位(tb在ta之后)。在时间tb,rst被置于状态h。i/o上的应答应在rst上信号上升沿之后的40040 000个时钟周期(tc)内开始(tc在tb之后)。在rst处于状态h的情况下,如果应答信号在40 000个时钟周期

46、内仍未开始,rst上的信号将返回到状态l,且ic卡接口电路按照图2所示对ic卡产生释放。(2)释放过程:当信息交换结束或失败时(例如,无卡响应或卡被移出),接口电路应按图2所示时序释放电路:rst应置为状态l;clk应置为状态l(除非时钟已在状态l上停止);vpp应释放(如果它已被激活);i/o应置为状态a(在td时间内没有具体定义); vcc应释放。通过触点向卡提供稳定的电源ic卡接口电路应能在表1规定的电压范围内,向ic卡提供相应稳定的电流。l 通过触点向卡提供稳定的时钟ic卡接口电路向卡提供时钟信号。时钟信号的实际频率范围在复位应答期间,应在以下范围内:a类卡,时钟应在15mhz;b类卡

47、,时钟应在14mhz。复位后,由收到的atr(复位应答)信号中的f(时钟频率变换因子)和d(比特率调整因子)来确定。时钟信号的工作周期应为稳定操作期间周期的40%60%。当频率从一个值转换到另一个值时,应注意保证没有比短周期的40%更短的脉冲。l 卡的逻辑加密芯片:逻辑加密卡主要是由eeprom单元阵列和密码控制逻辑构成的,其功能介于存储器卡和cpu卡之间,它具有一定的保密逻辑功能,不像存储器卡那样能够被自由擦写。逻辑加密卡芯片从功能上看,主要分为两个部分,一是eeprom单元阵列,一是保密逻辑部分。 sle4442卡内含256*8位eeprom存储器和32*1位保护存储器,该保护存储器对ee

48、prom的前32字节进行写/删除保护。保护位是一次性的,不能修改。它还有一个可编程序安全码逻辑,整个存储器除了psc以外,均可读,而且只有在比较psc不正确后才能进行写/删除操作。在三次比较psc不正确后将锁住后续的psc比较及写/删除操作。存储器分配: 逻辑加密卡芯片的功能框图: 比较从eeprom中读出的数据和ic卡中读出的数据是否相同: cmploop: mov a,r0 mov r6,a mov a,r1 xrl a,r6 jnz noequ djnz r7,cmploop snequ: clr sw jmp read-insert-card noequ: setb sw jmp read-insert-card$include(sle4442.inc)$include(v12c-24a.inc) end eeprom逻辑图2.3.5rs232通信接口芯片:rs232是目前串行通信中最常用的总线,其标准rs2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论