网站大量收购独家精品文档,联系QQ:2885784924

第5章 高频RFID阅读器设计课件.ppt

  1. 1、本文档共96页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
小结 通过本章的学习,学生应该能够掌握: Mifare是NXP(前身为飞利浦半导体)所拥有的13.56MHz非接触性辨识技术 Mifare MF1是符合ISO/IEC 14443A的非接触智能卡 1024*8bit EEPROM存储器分为16区,每区4块,每块16字节 读写控制位管理着使用密钥A和B读写存储器的权限 MF RC522是应用于13.56MHz非接触式通信中高集成度读写卡系列芯片中的一员 MF RC522包含一64*8位的FIFO缓冲区。它用来缓存主机MCU和MFRC522的内部状态机之间的输入和输出数据流 RC522的操作由可执行一系列命令的内部状态机来决定。 谢谢 当MFAuthent命令有效时,任何FIFO访问都被禁止。 只要访问FIFO的操作发生,ErrorReg寄存器的WrErr位就置位。 该命令在Mifare卡被认证且Status2Reg寄存器的MFCrypto1On位置位时自动终止。 当卡未响应时该命令不会自动终止,因此,定时器必须初始化成自动模式。 这时,除IdleIRQ外,TimerIRQ也可用作终止的标准。 在认证过程中,RxIRQ和TxIRQ被禁止。 认证命令结束后(处理完协议后或将IDLE写入命令寄存器后)只有Crypto1On位有效。 如果认证过程中有错误出现,则ErrorReg寄存器的ProtocolErr位置位。 Status2Reg寄存器的Crypto1On位清零。 5.3 RC522基本操作-RC522命令 当MFAuthent命令有效时,任何FIFO访问都被禁止。只要访问FIFO的操作发生,ErrorReg寄存器的WrErr位就置位。 该命令在Mifare卡被认证且Status2Reg寄存器的MFCrypto1On位置位时自动终止。 当卡未响应时该命令不会自动终止,因此,定时器必须初始化成自动模式。 这时,除IdleIRQ外,TimerIRQ也可用作终止的标准。 在认证过程中,RxIRQ和TxIRQ被禁止。 5.3 RC522基本操作-RC522命令 认证命令结束后(处理完协议后或将IDLE写入命令寄存器后)只有Crypto1On位有效。 如果认证过程中有错误出现,则ErrorReg寄存器的ProtocolErr位置位。Status2Reg寄存器的Crypto1On位清零。 9. SoftReset命令 该命令用来执行一次器件复位。内部缓冲区的配置数据保持不变。 所有寄存器都设置成复位值。 命令完成后自动终止。 由于SerialSpeedReg寄存器被复位,串行数据速率被设置成9600kbps。 5.3 RC522基本操作-RC522命令 RC522有14种基本指令集,实现不同方式的数据传输,其指令代码及含义如表5- 11所示。 基本指令 指令代码 含义 Request Std 0x26 寻天线区内未进入休眠状态的卡 Request All 0x52 寻天线区内全部卡 AntiCollision2 0x95 防冲撞 AntiCollision1 0x93 防冲撞 Authentication_A 0x60 验证A密钥 Authentication_B 0x61 验证B密钥 Read 0x30 读块 Write 0xa0 写块 Write4 0xa2 写四字节 Increment 0xc1 加 Destore 0xc0 减 Restore 0xc2 调快数据到缓冲区 Transfer 0xb0 传送数据 No Command 0x50 休眠 5.3 RC522基本操作-RC522基本指令 5.4 高频RFID阅读器程序设计 高频RFID阅读器程序,主要工作是能够操作RC522按照Mifare卡的规则和流程对MF1卡进行读写和验证 本例一般分为三部分:初始化程序、驱动程序和主程序。 5.4 高频RFID阅读器程序设计-初始化程序 初始化程序用于各种管脚和器件的初始化,以便能够正常进行解码。 下述内容用于实现任务描述5.D.1,编写RC522的初始化程序。 基于模块化和移植的考虑,可将本例中初始化子程序单独封装成为子函数InitAll(),具体源码如下所示: 【描述5.D.1】 InitAll() //初始化子函数 void InitAll(void) { InitPort(); InitRc522(); INT_Init(); TIMER_init(); //液晶屏显示初始化 LCD_init(); loc(1,0); LCD_display(高频HF读卡器:); loc(4,0); LCD_display(请刷卡); //参数,标志位初始化 bWarn=0; bPass=0; SysTime=0; KeyNum

文档评论(0)

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

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

1亿VIP精品文档

相关文档