ImageVerifierCode 换一换
格式:DOCX , 页数:11 ,大小:191.33KB ,
资源ID:11228260      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11228260.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(接触式ic卡sle4442卡读写实验.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

接触式ic卡sle4442卡读写实验.docx

1、接触式ic卡sle4442卡读写实验接触式ic卡sle4442卡读写实验接触式IC卡(SLE4442卡)读写实验1.实验目的了解接触式IC卡的知识,学会如何根据时序逻辑图编写实用程序。2.实验设备及器件IBM PC机一台DP-51PR0C单片机综合仿真实验仪一台三实验内容根据IC卡的读写时序图编写程序,实现IC卡(SLE4442)的读写。四实验要求根据IC卡的时序图编写51单片机程序读写逻辑加密IC卡(SLE4442)读写程 序。五、实验线路与实验原理接触式IC卡的触点定义遵循ISO7816规定,IC卡8个触点分布位置如图3.23所示,对应着DP-51PRO(单片机综合仿真实验仪“ D8IC卡

2、”区IC卡座上方的引线。 本实验使用的是SLE4442卡,SLE4442的触点安排见图3.24。图3.24 IC 卡触点分布图 图3.25 SLE4442的触点安排本实验SLE4442卡与单片机的引脚连线关系见表 3.4。表3.4 SLE4442与单片机引脚连线单片机 实验仪板上对应引线SLE4442引脚P1.0 TP1 I/OP1.1 TP4 CLKP1.2 TP3 RST下面介绍 SLE4442 的有关知识5.1 概述SLE4442是德国西门子(SIMENS公司设计的逻辑加密存储卡。它具有 2K位的 存储容量和完全独立的可编程代码存储器(PSC)。内部电压提升电路保证了芯片能 够以单+5V

3、电压供电,较大的存储容量能够满足通常应用领域的各种需要。因此是 目前国内应用较多的一种 IC 卡芯片。芯片采用多存储器结构, 2 线连接协议 (串 行接口满足ISO7816同步传送 协议),NMOST艺技术,每字节的擦除/写入编程 时间为2.5ms。存储器具有至少10000次的擦写周期,数据保持时间至少10年。SLE4442 IC 卡主要包括三个存储器 :(1)256x8位EEPRO型主存储器。地址031为保护数据区,该区数据读出不受 限制,写入受保护存储内部数据状态的限制。当保护存储器中第 N位(N=031)为 1 时, 对应主存储器中第 N 个字节允许进行擦除和写入操作。地址 32255

4、后 223 字节为应用 数据区,数据读出不受限制,擦除和写入受加密存储器数据校验 结果的影响。这种加密校验的控制是对整个主存储器实施的 (即包括保护数据区和应用数据区 )。(2)32 x1位PROM型保护存储器。一次性编程以保护主存储器保护数据区,防 止 一些固定的标识参数被改动。保护存储器同样受加密存储器数据校验结果的影响。4x8位EEPRO型加密存储器。第0字节为密码输入错误计数器(EC)。EC 的 有效位 是低三位,芯片初始化时设置成“ 111”。这一字节是可读的。 EC 的 1, 2, 3 字节 为参照字存储区。这 3 个字节的内容作为一个整体被称为可编程加 密代码(PSC)。其读出,

5、写入和擦除均受自身“比较”操作结果的控制图3.26 SLE4442卡的内部结构图5.2传送协议(1)复位和复位响应L . _vcc J如1図叫1叫d词両nJ lEMT TW图3.27复位时序图复位和复位响应是根据ISO7816-3标准来进行的。在操作期间的任意时候都可以复位。开始,地址计数器随一个时钟脉冲而被设置为零。当 RST线从高状态(H)置到低状态(L)时,第一个数据位(LSB)的内容被送到I/O上。若连续输入32个时钟脉 冲,主存储器中 的前四个字节单元中的内容被读出。在第 33个脉冲的下降沿, I/O线被置成高状态而关闭。(2)命令模式复位响应以后,芯片等待着命令。每条命令都以一个“

6、启动状态”开始。整个命令包括3个字节。随后紧跟着一个附加脉冲并用一个“停止状态”来结束操 作。启动状态:在CLK为高状态(H状态)期间,I/O为下降沿时为启动状态。 停止状态:在CLK为高状态(H状态)期间,I/O为上升沿时为停止状态。 在接受一个命令之后,有两种可能的模式:输出数据模式(即读数据)和处理数据模式。 iro 启动状3T 掘倒FL的停止狀査“图3.28命令模式的时序图(3)输出数据模式这种模式是将IC卡芯片中的数据传送个外部设备接口 (IFD)的一种操作。L 茜片静询披ft成高状左命令 1 .刚蠱揖 |宓 iLjzLni _n m n图3.29输出数据模式的时序图在第一个CLK脉

7、冲的下降沿之后,I/O线上的第一位数据变为有效。随后每增 加一个时钟脉冲,芯片内部的一位数据被送到I/O线上。数据的发送从每个字 节的最低位(LSB)开始。当所需要的最后一个数据送出以后,需要在附加一个时钟脉冲来把I/O置成高状态, 以便接受新的命令。在输出数据期间,任何“启动状态”和“停止状态”均被屏蔽掉。(4)处理数据模式这种模式是对IC芯片作内部处理。沁趾理过畀 IOX dJLTTL 一 - FLFLn 佃 _n -I| 1 I他理il帝肝鮒 址援过霍轴臺图3.30处理模式的时序图芯片在第一个脉冲的下降沿将I/O线从高状态拉到低状态并开始处理。此后芯 片在内部连续计时计数,直到低n个时钟

8、脉冲之后的附加一个时钟脉冲的下降沿 I/O 线再次置高, 完成芯片的处理过程。在整个处理过程中I/O线被锁定成低状态。5.3 SLE4442卡的应用1.芯片的复位方式外部复位:SLE4442时基于同步复位响应的传送协议。芯片的复位时序如 前述。(2)加电复位:在把操作电压连接到Vcc段之后,芯片内部进行复位操 作。I/O线被 置为高状态。必须在对任意地址进行读操作或做一个复位响应操作 之后才可以进行数据交 换。(3)中止:在CLK为低状态期间,如果RST置为高状态,则任何操作均无效。 I/O线被锁定到高状态。需要一个最小维持时间 tres=5Us之后,芯片才能接受 新的复位,中止 状态的时序关

9、系如图3.31。中止状态之后,芯片又准备下一个操 作。RST /ires* td4i/o !图3.31中止时序图芯片的操作命令命令格式:(1)每条命令包含三个字节,其排列顺序如下表3.5命令格式W E I h Wrfi LSBMSB It. Ill j J SBMSB-iISAB7 86BS B4 B2 BlSOA 7 AS AS A- A J A2 Al AOD7 D& D号 D4 Di DE llDO(2) SLE4442芯片具有七种命令,其格式和功能见表 3.6;V 1 : :; m OMi 1A7A0r V5 3 f: :h i把爭比Jx堆虬笹諭Hid如 i. .iA . :规isfJ

10、4Hi irftTW 巾嚣悄E畋IV Hid3CMaiitn . . i. ;.1 i iJ1I1Ji 11* if -nUbTtiitWjtJEiil ft协魄hi瓷储挣QI1 ”HiJMA31H曲it敦出如检SftSfc機址-吧呵l注意:每个字节来说总是从最低LSB开始读出。写入时首先传送的也是字节的 最低为(LSB)。对保护存储器进行修改时,输入数据必须与原有数据相等,才能正 确保护。比较校验数据流程如下。忧事世*崖牺*序蟲駁图3.32比较校验数据的程序流程图六实验步骤1.在DP-51PR0(单片机综合仿真实验仪上按表 3.4(SLE4442与单片机引脚连 线)在A2区和D6区之间连接好

11、IC卡与单片机之间的连线。2.将SLE4442卡触点朝下插入IC卡座中。3.运行” SLE4442实验程序”(实验程序一)。4.运行C51开发环境观察程序运行结果。实验程序一、从主存储区的0地址读8个字节ORG 8000HAJMP MAINORG 8100HMAIN:MOV SP,#60H ;设置栈底Readn sert_Card:MOV ByteNum, #08HMOV StartAdr, #00H ; 从主存储区的 0 地址读 8 个字节LCALL ReadCardJMP Read_Insert_Card$INCLUDE(SLE4442.INC) ;包含 SLE4442 驱动程序JEND在

12、 JMP Read_Insert_Card 处设置断点,观察 RecBuf 的内容, RecBuf 的定 义见 SLE4442.INC 文件。 LE4442.INC 的源码及注释请见 SLE4442. INC 文件. 实 验程序二、 从 0x20 地址开始写入 2 个数据 0x55 和 0x66, 再读出来, 由于 SLE4442 写主存储器时需要验证密码, 所以执行下面的程序时请确保你 SLE4442 卡的 密码的正确性, 如果密钥错误,你的 SLE4442 校验三次便会锁死报废。 ORG 8000HAJMP MAINORG 8100HMAIN:MOV SP,#60H ;设置栈底Write_

13、Read_Card:MOV R0,#PSWD密码缓冲区首址MOV R0,#0x11INC R0MOV R0,#0x22INC R0MOV R0,#0x33 输; 入密码 : 填充密码缓冲区 LCALL CheckPassword ; 校验密码JNZ WRExit ; 如果校验不成功 , 退出; 密码校验成功 , 进入写卡程序MOV R0,#WriteBuf ;WriteBuf 为写卡缓冲区首址 MOV R0,#0x55INC R0;MOV R0,#0x66 填; 充写缓冲区MOV ByteNum,#0x02MOV StartAdr,#0x20LCALL WriteCard ; 调用写卡子程序J

14、NZ WRExit ; 如果写不成功 , 退出MOV ByteNum,#0x02 ;下面读出刚刚写入的数据 MOV StartAdr,#0x20LCALL ReadCard; 如果读成功,才可以执行这个循环,在此设置断点 , JZ Write_Read_Card; 观察读缓冲区内容WRExit:MOV A,#00H ;在此设置断点$INCLUDE(SLE4442.INC) ;包含 SLE4442 驱动程序 ;END请在 JZ Write_Read_Card 语句处设置断点,在读成功时可以观察读缓冲区的 数据。在 MOV A, #00H 语句处设置断点,这样当发生错误时程序不乱跑。 七、实验思考题(1)如果单片机的晶振频率选用24MHz程序应该做那些修改,才能正确读写SLE4442 卡。(2) 编程序,根据 SLE4442 的时序图用 C 语言编写读写程序。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1