MFRC522 概述:命令与特性解析

需积分: 50 77 下载量 85 浏览量 更新于2024-08-10 收藏 941KB PDF 举报
"这篇文档是关于MFRC522芯片的通用特性和命令概述,作者为koller。MFRC522是一种非接触式IC卡读卡器芯片,广泛应用于RFID系统。文档主要介绍了该芯片如何处理数据、命令执行机制以及一系列的内部命令功能。" MFRC522芯片在处理数据时具有特定的机制。每个需要数据流作为输入的命令会在发现FIFO(先进先出)缓冲区有数据时开始处理,但发送和接收命令例外。发送命令由BitFramingReg寄存器的StartSend位启动,而接收命令则需在FIFO接收到正确数量的参数后才开始。FIFO不会在命令启动时自动清空,需要额外操作。此外,可以先写入命令参数和/或数据字节到FIFO,然后启动命令。命令执行过程中,微控制器可以通过向命令寄存器写入新的命令代码(如Idle命令)来中断当前执行的命令。 文档中列出了MFRC522芯片的8种主要命令,包括: 1. Idle(0000):无动作,用于取消当前命令执行。 2. CalcCRC(0011):激活CRC协处理器进行CRC计算,结果存储在CRCResultReg寄存器中。可通过写入任何命令(如Idle)来清除。 3. Transmit(0100):发送FIFO缓冲区的数据。 4. NoCmdChange(0111):修改命令寄存器的不同位而不影响其他命令。 5. Receive(1000):激活接收器电路。 6. Transceive(1100):根据ControlReg寄存器的Initiator位,进行发送或接收操作。 7. MFAuthent(1110):执行MIFARE标准认证。 8. Soft Reset(1111):对MFRC522进行复位。 CalcCRC命令详细说明了FIFO内容会被传输到CRC协处理器执行CRC计算,计算结果不受字节数量限制。CRC的预设值由ModeReg寄存器的CRCPreset位控制,并在命令启动时加载。若SelfTest位在AutoTestReg寄存器中设置正确,MFRC522会进入自测试模式,执行CalCRC命令会进行一次数字自测试,结果会被写入FIFO。 MFRC522的这些特性使其在非接触式通信中具备高效且灵活的数据处理能力,同时提供了多种操作选项,以适应不同的应用需求。对于开发非接触式读卡器或RFID系统的工程师来说,理解这些命令和操作机制至关重要。