OLD---射频卡操作芯片MFRC522在电能量管理终端中的应用设计-old_第1页
OLD---射频卡操作芯片MFRC522在电能量管理终端中的应用设计-old_第2页
OLD---射频卡操作芯片MFRC522在电能量管理终端中的应用设计-old_第3页
OLD---射频卡操作芯片MFRC522在电能量管理终端中的应用设计-old_第4页
OLD---射频卡操作芯片MFRC522在电能量管理终端中的应用设计-old_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

射频卡操作芯片射频卡操作芯片 MFRC522MFRC522 在电能量管理终端中的应用设计在电能量管理终端中的应用设计 1 1 陶维青 1 王璟1 黄俊祥1 1 合肥工业大学电气与自动化工程学院 安徽合肥 230009 E mail wqtao tonado wang jxh smile 摘摘 要要 本文介绍了在现有电能量管理终端的硬件平台基础上 对射频卡操作芯片 MFRC522 进行二次开 发的方法 文章首先介绍 MFRC522 的特性 接着对 MFRC522 与终端主控 DSP 的连接方式进行阐述 然 后提出了射频天线设计的方法以及其中需要注意的问题 随后对 MFRC522 初始化的方法以及其中需要配 置的寄存器进行了描述 最后阐述了射频卡操作指令以及 MFRC522 射频卡操作的实现方法并给出了软件 流程 关键词 关键词 MFRC522 射频卡 电能量管理终端 Application Design of RF Card Operation Chip MFRC522 in Energy Management Terminal Unit Wei qing Tao1 Jing Wang1 Jun xiang Huang1 1 School of Electric Engineering and Automation Hefei University Of Technology Hefei Anhui 230009 E mail wqtao tonado wang jxh smile Abstract In this paper we present an application design of RF Card operation chip MFRC522 in Energy Management Terminal Unit EMTU First introduces the characteristics of MFRC522 describes MFRC522 and EMTU s DSP connecting circuit diagram Then describes the method of RF antenna design and some important things Describes the method of MFRC522 initialization and some registers need to configure At last describes the RF Card operation commands and the software flow diagram of MFRC522 achieves RF card operation Key words MFRC522 RF Card Energy Management Terminal Unit 1 引言引言 随着 城市一卡通 工程的实施和推广 射频卡凭借安全 可靠 便捷的特点在公共 交通 城市支付方面充当着电子钱包的角色 随着智能电网技术的发展以及一卡通的普及 电能量管理终端也需要具有射频卡读写功能 MFRC522 是 Philips 公司继 MFRC500 MFRC531 及 CLRC632 等一系列典型产品后推出的一款针对智能仪表领域的符 合 ISO1443A 协议的射频卡操作芯片 采用统一的 3 3V 供电 内置 13 56MHz 无源天线驱 动 且具有多种串行接口 I2C SPI UART 相比以前的产品 MFRC522 具有低电压 低功耗 低成本 体积小 与主控器件通讯方便的特点 本次设计的硬件平台采用安徽科大鲁能科技有限公司的电能量管理终端 终端具有多 种扩展接口 扩展板与终端扩展接口接驳后即可进行功能性扩展 设计时将 MFRC522 以 及天线等外部电路以扩展板的形式进行实现 再配合软件完成了终端的射频卡操作功能 2 MFRC522 扩展板的硬件设计扩展板的硬件设计 终端的主控 DSP 通过对 MFRC522 寄存器操作来控制芯片 芯片收到 DSP 发来的命令 后 通过天线按照 ISO1443A 协议格式向附近发出 13 56 MHz 频率的调制信号与卡片通讯 1 陶维青 合肥工业大学电气与自动化工程学院副教授 硕士生导师 wqtao 王 璟 合肥工业大学电气与自动化工程学院研究生 tonado wang 黄俊祥 合肥工业大学电气与自动化工程学院研究生 jxh smile 2 1 MFRC522 与终端主控 DSP 的连接电路 终端扩展口为扩展板提供 3 3V 电源以及由主控 DSP 引出的 GPIO 口 所以设计时 MFRC522 使用 I2C 总线与 DSP 的 GPIO 模拟的 I2C 总线相连 硬件电路图如下所示 46 MFRC522 D4 D5 D6 EA D1 D2 IRQ D3 SDA DVSS PVSS TVSS AVSS DVDD PVDD TVDD AVDD TX1 TVSS TX2 RX VMID PGND OSCIN OSCOUT I2C VDD3 3 天 线 D7 SCL DSP GPIOB1 GPIOB3 GPIOB0 C318 22pF C317 22pF 27 12MHZ VDD3 3 R12 10k R11 10k R3 10k NRSTPD GPIOB4 45 48 49 1 3 2 12 15 11 16 13 17 14 33 21 22 4 5 10 18 6 23 24 31 27 26 25 32 28 29 30 图 1 DSP 与 MFRC522 的连接电路图 为使 MFRC522 进入 I2C 工作模式 I2C 引脚应该拉高电平 EA 引脚和 D1 D6 引脚 共同确定 MFRC522 作为 I2C 从设备的 7 位地址 当 EA 1 即高电平时 MFRC522 地址的 其中 6 位数据由 D1 D6 的电平高低来确定 剩下一位为 0 在这种情况下 需要注意 D1 D6 位的值不要与 I2C 协议中规定的一些特殊地址相同 以免发生冲突 当 EA 0 即低 电平时 则 MFRC522 的地址高四位为 0101 其余低三位由 D1 D3 的电平高低来确定 本 次设计使 EA 0 所以芯片地址 7 位地址为 0101 000 为 I2C 总线读写控制位 1 为读 0 为写 DSP 的 GPIOB0 B1 分别模拟 I2C 的数据线 SDA 和时钟线 SCL GPIOB3 用来接收 MFRC522 的中断处理请求 IRQ DSP 通过 GPIOB4 将复位信号发送至 MFRC522 的 NRSTPD 引脚 需要强调的是 复位操作不仅需要向 NRSTPD 输入一个由低到高的电平跳 变 还需要向其命令寄存器 CommandReg 写入软件复位命令指令 0X0F 才能完成整个复位 过程 2 2 MFRC522 天线的设计 在天线设计中须注意以下两点 1 保证产生一个尽可能强的电磁场 以使卡片能够获 得足够的能量来给自己供电 2 需要考虑调谐电路的带通特性 天线的输出能量必须保证 足够的通带范围来传送调制后的信号 天线是一个特定谐振频率的 LC 电路 其输入阻抗是输入端信号电压与信号电流之比 输入阻抗具有电感分量和电抗分量 电抗分量的存在会减少天线从馈线对信号功率的提取 因此在设计中应当尽可能使电抗分量为零 让天线表现出纯电阻特性 谐振频率计算公式 为 1 1 2 f LC 式中 L 为天线等效电感 C 为天线等效电容 在本设计中 天线工作频率 f 为 13 56 MHz 考虑到如果天线的等效电感 L 太高 则等效电容 C 的值就必须很小 而电感一旦超 出 5 uH 电容匹配问题就更困难 为解决以上问题 使用 MFRC522 的两个 TX 引脚 并 联两个天线 从而使得感抗减半 环状天线电感经验计算公式为 2 1 11 1 2 ln p I IKN D a L H 其中 I1为环形天线一圈的周长 D1为导线直径或 PCB 板上天线导线的宽度 K 为天线形状系数 圆形天线为 1 07 矩形天线为 1 47 N1为天线的圈数 p 为与线圈结 构相关的系数 印刷电路板线圈取 1 8 关于天线的重要参数 品质因数 Q 计算公式如下 3 LL Q 2 RR f Q 值用来评价输出效率 Q 值越高 其能量输出效率越高 但当 Q 值过高时 会导致 带通变窄 从而影响调制信号的发送 因此我们采用 10 30 的低 Q 值设计 若经式 3 计算的 Q 值大于 30 可以在天线的两边分别串联电阻 增加天线阻抗 以降低 Q 值 MFRC522 提供无源天线接口 其引脚为 TX1 TX2 RX VMID 其中 TX1 TX2 为天线 1 输出 天线 2 输出 RX 为天线接收 VMID 为接收的偏置电压 为了使感抗减 半 容易匹配电容 设计使用双天线并联发射电路 电路如下 图 2 MFRC522 的天线设计电路图 射频发射部分 TX1 TX2 差分信号通过电感 L200 L201 电容 C212 C213 的谐振把 TX 方波信号 从低电压升高到将近 50V 的正弦波 C209 C211 为隔直电容 C214 与天线实现并联谐振 使天线获得最大的电流 提供给卡最大的能量 天线中间点接地 有利于提高抗干扰性能 射频接收部分 接收信号通过 C208 R217 进入到 RX 脚上 VDIM 为接收的偏置电压 外部的 C207 滤波提高稳定性 通过 R210 对 RX 进行偏置 让 RX 脚电平处于电源的中间点 提高接收 灵敏度 2 3 硬件调试中遇到的问题及解决方法 在设计的一开始 MFRC522 上电复位后 与 DSP 通讯正常 通过软件可以读写 MFRC522 内部寄存器 但是无法进行射频卡读写操作 笔者一开始认为是内部寄存器配置 不正确 耽误了近十天的时间在检查寄存器配置上 后来使用示波器对天线发射信号进行 测量 发现天线部分工作异常 所以在开发中天线的设计还是比较重要的 对一些心得总 结如下 1 天线的面积一般认为大一些好 其绕线的圈数一般为 5 到 8 圈 若天线的面积做不 大 可以适当提高圈数 一般将电感量控制在 1 5uH 即可 2 匹配的调节 一般 L200 L201 采用 1uH 电感 最好采用绕线电感 C209 C211 值不变 调整 C214 的天线谐振电容或者调整 C212 和 C213 的值 使 R110 R112 天线两 端的电压达到 50V 左右 一般电压高一些 读卡距离会远一些 3 调节 R110 R112 的值 让天线的品质因数 Q 为合适值 从能量来说 天线的电 压越高 读卡器对卡提供更大的能量 读卡距离会更远 但是如果电压过高 会导致卡反 射的信号被天线屏蔽 反而会降低读卡距离 所以在调节的过程中需要找到一个最佳 Q 值 3 MFRC522 的软件操作流程的软件操作流程 3 1 MFRC522 的初始化 MFRC522 功能强大 在芯片复位时 各种寄存器设置将恢复默认 为了使其能够读写 ISO14443A 射频卡 需要某些寄存器重新配置 具体需要重新配置的寄存器如下 表 1 需要重新配置的寄存器列表 寄存器名称地址作用 CommandReg0 x01控制芯片的起停及其他命令的执行 TxASKReg0 x15设置芯片的发送调制器的调制方式 TxModeReg0 x12设置数据发送速率和编码方式 RxModeReg0 x13设置数据接收速率和编码方式 DemodReg0 x19设置解调器参数 GsNReg0 x27设置天线引脚 TX1 TX2 的电导 TxConrolReg0 x14设置天线引脚 TX1 TX2 的开启与否 ConrolReg0 x0c对多方面进行设置 是综合寄存器 TxSelReg0 x16设置内部发送器的工作方式 RxSelReg0 x17设置内部接收器的工作方式 MFRC522 初始化进程中 寄存器操作顺序如下 1 CommandReg 复位模块 需要注意的是 复位操作不仅需要向复位引脚 NRSTPD 输入一个由低到高的电平跳变 还需要向其命令寄存器 CommandReg 写入软件复位命令指 令 0 x0F 才能完成整个复位过程 2 TxASKReg 设置调试深度为 100 的 ASK 调制 遵循 ISO14443A 协议要求 3 TxModeReg 开启 CRC 校验功能 设置传输速率为 106kbit s 与射频卡速率相匹配 4 RxModeReg 开启 CRC 校验功能 设置传输速率为 106kbit s 设置接收器工作模 式为收到数据后停止工作 5 DemodReg 芯片接收器有 I Q 两个频道 设置为 Q 频道接收 6 GsNReg 设置天线引脚 TX1 TX2 的电导 7 TxConrolReg 设置芯片为双天线工作模式 8 ConrolReg 使能双天线 使双天线工作 发送信号 随后需要延时 5ms 等待天线 信号稳定 9 TxSelReg 设置内部发送器使用内部编码器 Miller Pulse 编码 其它默认设置 10 RxSelReg 设置使用内部解码器 其它默认设置 3 2 MFRC522 射频卡操作的实现 射频卡的基本操作包括读 写 增减值 需要使用不同的指令进行实现 指令分为 Command 指令和卡指令 Command 指令是面向 MFRC522 的 写入 CommandReg 的低四 位 由 MFRC522 进行识别和响应 具体 Command 指令及其功能列表如下 表 2 Command 指令及其功能列表 指令名称指令代码指令功能 Idle0 x00空闲 取消当前操作 CalcCRC0 x03开启 CRC 校验 Transmit0 x04从 FIFO 中发送数据 NoCmd Change0 x07无指令变化 Receive0 x08开始接收数据 Transceive0 x0B将 FIFO 中的数据通过天线发送 发送完毕后接收数据 MFAuthent0 x0E进行 Mifare 射频卡密码验证 Soft Reset0 x0F配合 NRSTPD 完成 MFRC522 的复位 在一般情况的操作中 并不是用到所有指令 常用的几个指令有 Idle 使读卡器进 入空闲模式 CalcCRC 用于 CRC 校验 Transceive 该指令最常用 用于数据的收发 MFAuthent 用于射频卡中的密码验证 卡指令在 MFRC522 内相当于普通数据 由天线发射出后 它的识别过程在射频卡内 进行 卡指令及其功能列表如下 表 3 卡指令及其功能列表 指令名称指令代码指令功能 Request Std0 x26请求天线范围内非休眠状态的卡 Request All0 x52请求天线范围内所有卡 AntiCollision0 x93防碰撞 在多张卡在天线范围内的情况下 选取一张卡 Select Tag0 x93选卡 将防碰撞返回的卡号选中 对该卡进行操作 Authentication A0 x60验证卡内某扇区密码 A Authentication B0 x61验证卡内某扇区密码 B Read0 x30读卡 Write0 xA0写卡 16 字节操作 即对射频卡整块操作 Increment0 xC1增值 Decrement0 xC0减值 Restore0 xC2复制 将卡内某一块数据整体复制到指定块 Transfer0 xB0将 buffer 数据传送至指定块 增 减值需要该指令完成 HALT0 x50使卡进入休眠状态 结束 MFRC522 与卡的通信 需要说明的是 射频卡内部每个扇区都有独立的 A B 两组密码 根据射频卡内该扇 区的 AccessBit 设置决定如何访问 可以是仅密码 A 有效 仅密码 B 有效和 A B 同时有 效 当某一扇区密码验证成功后即可访问该扇区的所有数据块 读卡器与射频卡的典型通讯过程如下 将待发送数据 包括卡指令 按一定格式写入 MFRC522 的 FIFOData 寄存器后 再写 Command 指令到 CommandReg 开始通信 卡若收 到数据先读取数据中的卡指令 再将余下数据根据卡指令进行操作 并将结果返回 MFRC522 的 FIFOData 寄存器 卡内部数据操作由卡内芯片自动进行 只要将 Command 指令写入 CommandReg 中 使用定时器延时后读取 FIFOData 寄存器中的返回值来确定射频卡是否完成操作 射频卡 的操作流程包括 请求 防碰撞 选卡 密码验证 具体操作响应和 HALT 休眠 卡操作 完毕后 使卡进入 HALT 休眠状态 此时只有 Request All 指令才能请求该卡 软件设计中 使用了重试计数方式 当操作失败时 重试计数 N 加 1 最多可以重试 5 次 超过 5 次后 自动退出射频卡操作并将重试计数 N 清零 流程如图 3 所示 选卡 验证成功 读 写增 减复制 传递数据 否 是 防碰撞 开始 请求 密码验证 HALT休眠 N清零 结束 N 5 N 1 是 否 图 3 射频卡操作流程图 在射频卡密码验证成功后的数据操作中 增 减值过程比较复杂 其过程如下 1 发送 增 减值指令 0 xC1 0 xC0 目标块号 CRC 校验 2 字节 共 4 字节数据 若返回 1010 则表示本步骤操作成功 可以进入下一步骤 2 发送 待增 减的具体值 4 字节 CRC 校验 2 字节 共 6 字节数据 若返回 1010 则表 示本步骤操作成功 可以进入下一步

温馨提示

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

评论

0/150

提交评论