已阅读5页,还剩38页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
智能卡网吧托利设计(3) 接触逻辑加密卡读写软件设计,电子和信息工程学院,培训目标,SLE4442卡读取主内存SLE4442卡更新主内存SLE4442卡密码确认,产品开发智能卡网吧托利,开发工作:智能卡网吧fisher卡类型设计智能卡网吧资费器工作流程1,卡的合法性判断:SLE4442卡,本网吧发行的卡,密码是否正确,卡余额的重置和重置响应,卡读取,密码确认2,计时费用:填写卡扣除,发送网络代码,从PC定时到发出的控制信号,收到启动信号后,再次判断卡的合法性。 是4442卡吗?这家网吧发行吗?是法定卡吗?是4442卡吗?卡电源连接,馀额更新,馀额是否足够?发送互联网允许代码,接收PC控制信号,启动?n,发送错误代码1卡类型错误,发送错误代码2伪卡错误,发送错误代码3密码错误,发送错误代码4馀额不足,n,n,n,n,y,y,* * * * * * * * * * * * * * * * * org 0030 hmain 3360 cl rea;中断MOVSP,# 60H设置堆栈,网吧卡功能测试主程序,LCALLPWRON电源控制LCALLRESET重置Mov r0,# 30h读取数据缓冲区1设置第一个地址LCALLREAD读取主内存NOP断点lcall verify;PSC验证XRLA,# 07h断点确保PSC验证是正确的JNZEXIT。PSC验证失败mov r0退出,# 50h设置写入数据缓冲区的第一个地址LCALLWRITE修改主内存mov r0,# 40h设定读取资料缓冲区2个位址LCALLREAD重新读取主内存EXIT:NOP。断点LCALLPWROFF;电源控制SJMP$,卡读写控制是如何实现的?接触逻辑加密卡SLE4442和读取器如何交换数据?如何开始使用SLE4442卡?如何从卡中读取信息?如何确认密码?信息如何记录在卡上?软件设计方法 SLE4442操作时序卡读写程序,通信协议:满足ISO7816同步传输协议数据传输的双线连接协议:CLK信号下降。ResetandAnswer-to-Reset(重置和重置响应):开机后运行芯片,7816RESET子例程实现命令(Command)命令=启动(控制单词地址单词数据单词)停止额外脉冲3354 coom说明:输入此命令后,接口设备IFD必须提供足够的时钟脉冲。如果起始地址为N,则所需的时钟脉冲数为m=(256-n) * 8 1 (n=0至255),例如地址为7EH(N=254),M=17,* * * * * * * * * * * * * * * read : movcom,# 30h读取主内存控制词MOVADDR,# R _ ADDR读取主内存的第一个地址MOVDAT,#00H。读取主存储数据单词(任意)mov R4,num数据数LCALLCOMMAND向卡READ0:LCALLSHIN发送命令。读取数据(输出数据模式)MOVR0,A;将数据发送到数据缓冲区INCR0DJNZR4,READ0如果继续而不读,如何完成命令传输?SETBCLK发送额外的脉冲lcalldelayclrcllcalldelaysetbio。数据线LCALLDELAYRET、命令、重置响应后,芯片正在等待命令。命令=开始(控制单词地址单词数据单词)附加脉冲停止。启动:在CLK处于高状态(h)的情况下,I/O减少沿启动状态进行。停止:CLK处于高状态(h)时,I/o的上升沿停止状态进行。,SLE4442操作命令,* * * * * * * *命令子例程* * * * * * * * * * * * * * * * * * * * * * * * *;子例程发送3字节SLE4442命令。输入参数:COM是控制单词,ADDR是地址单词,DAT是数据单词command : setbcllcalldelay _ 12 cl Rio;Lcalldelayclrcllcalldelaymova,com,命令单词LCALLSHOUTMOVA,ADDR;递送地址单词LCALLSHOUTMOVA,DAT;数据传输lcallshoutlcalldelayclriolcalldelaysetbclk;额外脉冲LCALLDELAYSETBIO停止RET如何在卡上写入一个字节?Sle4442串行输入单字节函数,即MCU为shout : pushbmovb、# 08hx42: rrcamovio、cnopsetbcllcalldelaycllcalldelaydjnjzb、x 42 pop(1)读取数据:输出模式;(2)写入、清除、确认密码:处理模式。将来自IC卡芯片的数据发送给读取器的输出数据模式第一CLK脉冲下降后,I/O行的第一数据有效。然后,每当添加顺序脉冲时,芯片内部的一个数据就会在低(LSB)之前传输到I/O线。在传输了最后所需的数据后,如果要将I/o线设置为高电阻状态(状态z),则需要再添加一个时钟脉冲。每次读取卡输出的位元组时,都会循环执行SHIN副程式。数据处理模式,IC卡芯片的内部处理(写入/清除/确认密码)芯片第一时钟脉冲的下降,将I/o线从高状态(h状态)提升到低状态(l状态),并开始处理。此后,芯片在内部连续计算时间,直到第n个时钟脉冲后的额外时钟脉冲下降沿I/o线再次升高为止,完成芯片处理。I/o线在整个处理过程中锁定到低状态。Sle4442处理模式子例程process : movr7,# 254 dclrclkclriolcalldelaypro 1: setbcllcalldelayclrcllcalldelaydjnzr 7,pro 1 setbiocalldelaydjnzr 7流程2 :使用三个比较验证数据命令连续比较输入的用户密码和存储在加密存储器中的密码。比较以字节1开始。流程:密码确认是否成功,取决于是否可以清除密码错误计数器。验证成功后,清除操作有效。如果验证失败,则删除操作无效,密码错误计数器无法恢复到“111”。但是,如果EC不全部为零,读取器可以重试芯片。EC读取,EC写入1为0,EC=000?确认3字节密码,清除EC,读取EC,EC,EC=111?、Y、Y、N、N、验证通过、验证失败EC中1的数量=允许重试的次数,如果卡已锁定,则比较验证数据CompareVarificationData,命令格式:33H字节地址数据模式字节地址为01H到03H,数据为用户密码。读取加密存储ReadSecurityMemory,命令格式:3lh * * *模式:OUTGOING功能:与读取保护存储一样,可以读取4字节加密内存内容。M=33说明:如果密码比较失败,则只能读取错误计数器(字节0)的内容,字节1、2和3的内容为000000(即无法读取密码),修改加密内存UpdataSecurityMemory,命令格式:39H字节地址数据模式此命令的执行时间和所需的时钟脉冲与修改主存储器时相同。* * * * * * * PSC验证子例程* * * * * * * * verify : movcom,# 31h读取加密内存设置命令控制词MOVADDR,# 00H读加密内存命令地址单词(00H是错误计数器)MOVDAT,# 00H读取加密内存命令数据单词设置(任意)LCALLCOMMAND读取加密内存命令LCALLSHIN。读取错误计数器MOV23H,A;错误计数器值分段(23H)单位LCALLSHIN加密内存读取后3字节mov 24h,alcallshinmov 25 h,alcallshinmov 26 h,amova,23 hset bio将数据线设置为高lcalldelaysetbcllcalldelayclrclk、jbacc.0、next 0。确认错误计数器中有“1”。JBACC.1,NEXT1如果有“1”,则减去“1”。JBACC.0,NEXT2LJMPEXIT1错误计数器全部为“0”的next 0: mov dat、# 06 hajmpcmp 0 next 1: mov dat、# 04 hajmpcmp 0 next 2330mov dat、# 00 hcomp: movcom修改加密内存命令控制词MOVADDR,# 00H修正加密内存命令地址单词(错误计数器)LCALLCOMMAND修正加密内存命令发送(错误计数器减1)lcall process;处理模式,MOVCOM,# 33H设定PSC检查指令控制字MOVADDR,#01H。PSC检查命令地址单词MOVDAT,# PSC1获取PSC第一个字节LCALLCOMMAND。向卡LCALLPROCESS发送PSC验证命令;处理模式MOVCOM,# 33H设定PSC检查指令控制字MOVADDR,#02H。PSC检查命令地址单词MOVDAT,# PSC2获取PSC第二个字节LCALLCOMMAND。向卡LCALLPROCESS发送PSC验证命令;处理模式MOVCOM,# 33H设定PSC检查指令控制字MOVADDR,#03H。PSC检查命令地址单词MOVDAT,# PSC3PSC获取第三个字节LCALLCOMMAND。向卡LCALLPROCESS发送PSC验证命令;处理模式,MOVCOM,# 39H修改加密内存命令控制词MOVADDR,# 00H修正加密内存命令地址词(错误计数器)MOVDAT,# 07H修正加密内存命令数据词(清除错误计数器)向LCALLCOMMAND,卡LCALLPROCESS发送修正加密内存(清除错误计数器)命令。处理模式MOVCOM,# 31H读取加密内存设置命令控制词MOVADDR,# 00H读加密内存命令地址词(错误计数器)mov dat设置,# 00h读取加密内存命令数据单词设置(任意)LCALLCOMMAND向卡LCALLSHIN发送加密内存命令;加密内存读取错误计数器MOV23H,A,LCALLSHIN加密内存中的最后一个3字节mov 24h,alcallshinmov 25 h,alcallshinmov 26 h,amova,23hEC值发送ASETBIO。高数据电缆lcalldelaysetbcllcalldelayclrclkeexit 13360 ret,子任务3:修改主内存UpdataMainMemory,命令格式:38H字节地址数据模式:PROCESSING功能:使用提供的数据指定主存储如果寻址字节的8位中没有需要从0更改为1的单词,则可以不清除。反之亦然。也就是说,如果寻址字节没有需要从一个单词更改为0的单词,则无需写操作,一次至少需要2.5毫秒的时间。因此,在处理模式下,可能会出现以下几种情况之一:清除和写入(5毫秒):仅清除m=256个时钟脉冲写入(2.5毫秒):不清除M=124个时钟脉冲写入(2.5毫秒):对应于m=124个时钟脉冲。* * * * * * * * *修改基本存储子程序* * * * * * * * write : movr4,num要写入的字节数MOVCOM,# 38H修改默认存储控制字符设置WRITE0:MOVADDR,# W _ ADDR修改主内存第一个地址MOVA,R0MOVDAT,A;修改主内存数据单词LCALLCOMMAND。向卡LCALLPROCESS发送修改后的主内存命令。处理模式INCW _ ADDR地址一词指主存储的下一个单元INCR0。指向以下数据DJNZR4,WRITE0:不继续学习,教育接触逻辑加密卡读写控制,步骤1:卡读取1,通过重置响应读取SLE4442卡主内存的前4字节内容。2、以主内存读取方式读取SLE4442卡主内存的前4字节内容。3、读取主存储的所有起始地址、所有长度的数据块内容。准备前期会话:1,增加现有AT24C01卡接口电路的RST连接和牵引电阻。2、完成程序编写、编译。步骤2:确认密码、卡1、确认密码、验证成功
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《2025企业解除劳动合同协议书》
- 2025年重庆市辅警笔试试题含答案
- 2025年中国铁塔招聘考试题库及答案
- 2025年5月铁路机车车辆驾驶人员考试题及参考答案
- 2025年企业级系统架构设计师高级认证考试试卷及答案
- 2025电线电缆购销合同范本
- 2025临时工作合同临时的劳动合同
- 2025短期个人信用贷款借款合同
- 2025协商解除劳动合同协议书样本
- 2025年下半年周口项城广播电视台招考易考易错模拟试题(共500题)试卷后附参考答案
- 96租车合同协议书
- 2026年智慧餐饮行业市场趋势分析报告
- 2026年硫磺市场调查报告
- 大学生创业指导服务方案
- 电力施工电缆施工方案
- 2025至2030燃气发电机组行业产业运行态势及投资规划深度研究报告
- 应聘物流岗位自我介绍
- 压疮风险评估与上报流程
- 2025山东黄金集团招聘笔试历年参考题库附带答案详解
- 污水处理厂安全生产培训课件
- 汽车专业技能理论大赛题库及参考
评论
0/150
提交评论