FM17550指令详解:操作与通信机制

需积分: 38 103 下载量 174 浏览量 更新于2024-08-09 收藏 2.5MB PDF 举报
"FM17550 操作系统实用教程" 本文主要介绍了 FM17550 非接触通信芯片的操作指令及其一般行为。FM17550 是一款支持 FeliCa、MIFARE 和 NFCIP-1 通讯模式的芯片,具备多种功能,包括配置、随机数生成、CRC 计算、数据传输等。 13.2 指令的一般行为: - 对于需要数据输入的指令,只要 FIFO(先进先出)中有足够的数据,就会立即开始执行,但 Transceive 指令除外。Transceive 的发射启动需要 BitFramingReg 寄存器的 StartSend 位被设置。 - 每个需要特定数量参数的指令,必须等到 FIFO 收到相应数量的参数才会开始处理。 - FIFO 缓冲器不会在指令开始后自动清空,允许在启动指令前预先写入参数和/或数据字节。 - 通过向 CommandReg 寄存器写入新的指令码(例如 Idle 指令),可以终止当前指令的执行。 13.3 FM17550 指令描述: - Idle(0000):设置芯片为空闲模式,同时也终止当前指令执行。 - Configure(0001):配置 FM17550 的通讯模式。 - Generate RandomID(0010):生成一个10字节的随机数。 - CalcCRC(0011):激活 CRC(循环冗余校验)协处理器。 - Transmit(0100):发送 FIFO 中的数据。 - NoCmdChange(0111):指令不变,用于在不影响指令的情况下修改 CommandReg 寄存器。 - Receive(1000):激活接收器电路。 - Transceive(1100):发射 FIFO 数据到天线,并自动激活接收器。 - AutoColl(1101):处理 FeliCa 轮询和 MIFARE 防冲突流程(仅支持卡片模拟模式)。 - MFAuthent(1110):执行 MIFARE 安全认证。 - SoftReset(1111):复位 FM17550。 13.3.1 IDLE 指令:将 FM17550 设置为空闲状态,同时取消当前执行的指令。 13.3.2 Config 指令:配置 FM17550,需要按照特定顺序将数据写入 FIFO,例如 SENS_RES、NFCID1、SEL_RES 以及轮询响应等。 这些指令的使用和理解对于操作 FM17550 芯片进行非接触通信至关重要。用户需要根据实际应用场景,结合指令集来编写相应的控制程序,实现与非接触式智能卡和其他 NFC 设备的有效交互。此外,使用 FM17550 还需要遵循相关标准,确保数据的正确传输和系统的安全性。