非接触式IC卡实验.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验 非接触式IC卡实验 一、实验目的: 1、掌握8255可编程并行口的应用 2、掌握非接触式IC卡读卡器及M1卡原理及编程方法 3、掌握液晶显示模块与单片机接口及编程方法 二、实验设备: EL-MUT-III型单片机实验箱、8051CPU模块、非接触式IC卡模块。 三、实验内容: 用非接触式IC卡读卡器模块对M1卡进行读/写操作。 四、实验原理: 上电后首先用程序对读卡器芯片(以下简称PCD进行寄存器初始化,完成后进入寻卡状态,通过天线发出寻卡信号。当有IC卡(以下简称PICC,实验程序所使用的卡为MF1 S50卡进入天线有效操作区,并且得到能量后,返回给PCD卡类型值。下一步PCD对卡进行防冲突操作,PICC得到防冲突操作信号后,返回给PCD卡序列号。PCD接收到序列号后,程序对序列号有效性判定。当确认PICC序列号有效后, PCD发送选卡命令,选卡命中包含送出所选卡序列号,这样保证进行下一步操作的卡唯一。PCD装载密匙,所装载密匙与所要操作的PICC扇区密匙一致,同一个扇有两组密匙,密匙A、B。如进行A密匙认证则,装载的密匙为A密匙,进行B密匙认证,则需装载B密匙。装载密匙成功后,开始三遍认证操作。 如下图所示为三遍认证的令牌原理框图: (C 认证过程是这样进行的: (A环:由Mifare 1卡片向读写器发送一个随机数据 RB; (B环:由读写器收到RB后向Mifare 1卡片发送一个令牌数据TOKEN AB, 其中包含了读写器发出的一个随机数据 RA; (C环:Mifare 1卡片收到 TOKEN AB 后,对TOKEN AB 的加密的部分进 行解密,并校验第一次由(A环中Mifare 1卡片发出去的随 机数RB是否与(B环中接收到的TOKEN AB中的RB相一致; (D环:如果(C环校验是正确的,则Mifare 1卡片向读写器发送令牌 TOKEN BA给读写器; (E环:读写器收到令牌TOKEN BA后,读写器将对令牌TOKEN BA中的 RB(随机数进行解密;并校验第一次由(B环中读写器发出去 的随机数RA是否与(D环中接收到的TOKEN BA中的RA相 一致; 如果上述的每一个环都为“真”,都能正确通过验证,则整个的认证过程将成功。读写器将能对刚刚认证通过的卡片上的这个扇区可以进入下一步的操作(READ/WRITE 等操作。 卡片中的其他扇区由于有其各自的密码,因此不能对其进行进一步的操作。如想对其他扇区进行操作,必须完成上述的认证过程。 认证过程中的任何一环出现差错,整个认证将告失败。必须从新开始。 如果事先不知卡片上的密码,则由于密码的变化可以极其复杂,因此靠猜测密码而想打开卡片上的一个扇区的可能性几乎为零。 这里提醒一下程序员和卡片的使用者,必须牢记卡片中的16个扇区的每一个密码,否则,遗忘某一扇区的密码,将使该扇区中的数据不能读写。没有任何办法可以挽救这种低级错误。但是,卡片上的其他扇区可以照样使用。 上述的叙述已经可以充分地说明了Mifare 1 卡片的高度安全性,保密性,及卡 片的应用场合多样性,一卡多用(一卡通。 详细操作流程参阅:FM1702手册,MF1 S50手册,14443协议。 五、实验原理图: 六、实验步骤: 1、实验连线: 8255的片选CS8255与CS2相连;PA0~PA7分别与DB0~DB7相连;PC0与REQ相连;PC7与BUSY相连。 读卡模块片选CS500接CS0,或用跳线短接模块上CS0,EST接CPU板的TXD,CPU 板的RXD接实验箱K1,K1高电平控制读卡,低电平控制写卡。 P0.0~P0.7分别接LED1~LED8,用来动态观察程序执行到的具体位置,此8条线可不接。LED1寻卡成功,LED2防冲突成功,LED3选卡成功,LED4装载密匙成功,LED5验证AUTHENT1成功,LED6验证AUTHENT2成功,LED7读卡成功,LED8写卡成功。 2、全速运行实验程序:OK_STD.ASM 3、M1卡于读卡模块天线上方逐渐向下水平靠近读卡模块,观察LCD显示内容。 4、改变K1状态,再次重复步骤3。 七、实验结果: 当K1打到高电平时,LCD上第一行显示:CARD_SN:+ M1卡序列号,第二行显示读操作:READ_CARD:第三、四行显示从M1卡读出来的16个8位16进制数据。当K1打到低电平时,LCD上第一行显示:CARD_SN:+ M1卡序列号,第二行显示读操作: WRITE_CARD:第三、四行显示写入M1卡的16个8位16进制数据。 八、程序框图:

文档评论(0)

3344483cc + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档