电子说
在当今的电子设备领域,近场通信(NFC)技术的应用愈发广泛,从移动支付到门禁系统,NFC 为我们的生活带来了极大的便利。NXP 推出的 MFRC631 作为一款高性能的 ISO/IEC 14443 A/B 前端芯片,在 NFC 应用中发挥着重要作用。本文将对 MFRC631 进行全面解析,涵盖其基本特性、功能模块、寄存器配置以及应用设计等方面,希望能为电子工程师们在实际设计中提供有价值的参考。
文件下载:MFRC63102HN,151.pdf
MFRC631 是一款经济高效的 NFC 前端芯片,专为支付应用设计。它支持多种操作模式,包括 ISO/IEC 14443 类型 A 和 MIFARE Classic 通信模式的读写操作,以及 ISO/IEC 14443B 模式的读写操作。其内部发射器能够驱动与 ISO/IEC 14443A 和 MIFARE Classic IC 卡及应答器通信的读写器天线,无需额外的有源电路。数字模块则管理完整的 ISO/IEC 14443A 帧和错误检测功能(奇偶校验和 CRC)。
MFRC631 支持多种 MIFARE 产品,如 MIFARE Classic(1 kB 和 4 kB 内存)、MIFARE Ultralight、MIFARE Ultralight C、MIFARE Plus 和 MIFARE DESFire 等,并且支持 MIFARE 产品系列高达 848 kbit/s 的双向传输速度。此外,它还支持 ISO/IEC 14443B 读写器通信方案的第 2 层和第 3 层(除防冲突功能外),防冲突功能需在主机控制器的固件以及上层实现。
MFRC631 集成了 NXP ISO/IEC14443 - A 和 Innovatron ISO/IEC14443 - B 知识产权许可,支持高达 848 kbit/s 的传输速度,能满足多种应用场景的需求。它不仅支持 ISO/IEC 14443 类型 A、MIFARE Classic 和 ISO/IEC 14443 B 模式,还能通过硬件实现 MIFARE Classic 产品的加密读写操作,增强了数据传输的安全性。
具备低功耗卡检测功能,可有效降低设备的功耗。同时,它还支持多种灵活高效的节能模式,包括硬关机、待机和低功耗卡检测模式,有助于延长设备的电池续航时间。
支持多种主机接口,如 SPI(最高 10 Mbit/s)、I2C - bus 接口(快速模式最高 400 kBd,快速模式 + 最高 1000 kBd)和 RS232 串行 UART(最高 1228.8 kBd,电压电平取决于引脚电源),方便与不同的主机设备进行连接。此外,还提供了单独的 I2C - bus 接口用于连接安全访问模块(SAM),增强了系统的安全性。
中断控制器负责处理中断请求的启用和禁用,所有中断都可以通过固件进行配置。固件还可以触发中断或清除待处理的中断请求。芯片实现了两个 8 位中断寄存器 IRQ0 和 IRQ1,以及两个 8 位中断使能寄存器 IRQ0En 和 IRQ1En。通过设置中断控制器寄存器中的位 7,可以设置和清除位 0 至 6。
MFRC631 通过在寄存器 Status1Reg 中设置位 IRQ 来指示某些事件,并且如果激活,还会通过引脚 IRQ 发出信号。引脚 IRQ 上的信号可用于利用主机的中断处理功能来中断主机,从而实现高效的主机软件。
MFRC631 实现了五个定时器,其中四个定时器(Timer0 至 Timer3)的输入时钟可以通过寄存器 T(x)Control 配置为 13.56 MHz、212 kHz(从 27.12 MHz 石英派生)或第五个定时器(Timer4)的下溢事件。每个定时器都实现了一个 16 位宽的计数器寄存器,定时器的重载值在寄存器 T(x)ReloadHi 和 T(x)ReloadLo 中定义。第五个定时器 Timer4 连接到内部 LFO(低频振荡器)作为输入时钟源,可用于唤醒系统。
在该模式下,读写器到卡的通信采用 100% ASK、Miller 编码,传输速度为 106 kbit/s 至 848 kbit/s;卡到读写器的通信采用子载波负载调制、Manchester 编码或 BPSK,传输速度同样为 106 kbit/s 至 848 kbit/s。内部 CRC 协处理器根据 ISO/IEC 14443 A 第 3 部分计算 CRC 值,并根据传输速度内部处理奇偶校验生成。
读写器到卡的通信采用 NRZ、Miller 编码,传输速度为 106 kbit/s 至 848 kbit/s;卡到读写器的通信采用子载波负载调制、BPSK 编码,传输速度为 106 kbit/s 至 848 kbit/s。MFRC631 连接到主机后,可管理完整的 ISO/IEC 14443 B 协议。
MFRC631 支持多种主机接口类型,包括 SPI、I2C、I2CL 和串行 UART。在上电或从掉电恢复后,它会自动重置接口并检查当前的主机接口类型。通过控制引脚的逻辑电平组合来识别主机接口。
作为 SPI 通信的从设备,SPI 时钟 SCK 由主设备生成。数据从主设备到从设备通过 MOSI 线传输,从 MFRC631 到主设备通过 MISO 线传输。支持高达 10 Mbit/s 的数据速度,NSS 信号用于启用或禁用 SPI 接口。读写数据时,遵循特定的字节顺序和地址字节格式。
内部 UART 接口与 RS232 串行接口兼容,电压电平在 VSS 和 PVDD 之间。可通过设置寄存器 SerialSpeedReg 中的 BR_T0 和 BR_T1 位来选择不同的传输速度,默认传输速度为 115.2 kbit/s。读写数据时,遵循特定的帧格式。
实现了与 NXP Semiconductors I2C 接口规范兼容的接口,支持标准模式、快速模式和快速模式 +。在数据传输过程中,遵循特定的数据有效性、起始和停止条件、字节格式和应答规则。支持 7 位寻址,设备地址的高 5 位由 NXP 保留,低 2 位可由用户自由配置。
MFRC631 实现了专用的 I2C 或 SPI 接口,可方便地将 MIFARE SAM 集成到应用中。SAM 可作为加密协处理器,与微控制器和读写器 IC 进行通信,有效降低协议开销,提高交易时间性能。
提供符合 IEEE 1149.1 的边界扫描接口,可通过测试单元对引脚功能进行覆盖,实现无需物理测试探针的互连测试。支持多种边界扫描命令,方便对芯片进行测试和编程。
MFRC631 实现了一个 512 × 8 位的 FIFO 缓冲区,用于缓冲主机和内部状态机之间的输入和输出数据流。可通过寄存器配置 FIFO 的大小(255 字节或 512 字节),并通过相关寄存器获取 FIFO 的状态信息,如长度、几乎满或几乎空的警告等。还可以通过设置 FIFOFlush 位清除 FIFO 缓冲区。
集成的非接触式 UART 支持外部主机在线处理协议要求的帧和错误检查,最高传输速度可达 848 kbit/s。外部电路可连接到通信接口引脚 SIGIN 和 SIGOUT 进行数据调制和解调。
引脚 TX1 和 TX2 输出的信号是经包络信号调制的 13.56 MHz 载波,可直接驱动天线。可通过寄存器 DrvMode 配置信号,通过 TxAmp 设置调制指数。为避免过冲,提供了过冲保护功能,通过两个定时器 overshoot_t1 和 overshoot_t2 实现。还可通过位生成器对数据流进行编码。
采用多功能正交接收器架构,具有完全差分信号输入(RXP 和 RXN)。可配置为实现各种 13.56 MHz 协议的最佳接收性能,接收过程包括多个步骤,如正交解调等。支持单端和差分模式,单端模式下接收灵敏度会降低。
通过配置相关寄存器,可将 MFRC631 的模拟部分和数字部分分离,实现有源天线概念。外部有源天线电路可连接到 MFRC631 的数字电路,提高系统的灵活性和性能。
用于创建各种协议符号,如 ISO14443 协议中的 SOF 或 EOF 符号。可通过符号定义寄存器和模式寄存器配置符号,每个符号由一组寄存器定义,包括位时钟和子载波频率、脉冲类型/长度和包络类型等。
MFRC631 实现了三种不同的内存:EEPROM、FIFO 和寄存器。上电时,通过自动将 EEPROM 区域的内容复制到寄存器来初始化寄存器。可通过执行 LoadProtocol 命令将 EEPROM 中的默认协议设置复制到寄存器,改变 MFRC631 的行为。读写 EEPROM 部分 2 可用于存储用户数据或预定义的寄存器设置。FIFO 用作输入/输出缓冲区,可提高系统性能。
EEPROM 大小为 8 kB,按页组织,每页 64 字节。不同的内存区域有不同的用途,如产品信息和配置、寄存器重置、MIFARE Classic 密钥存储和寄存器设置协议区域等。
EEPROM 在生产时进行初始化,其内容可用于将 MFRC631 的某些寄存器重置为默认设置。通过执行 LoadProtocol 命令,可将 EEPROM 中的寄存器设置复制到相应的寄存器。
晶体振荡器为 MFRC631 提供时钟,作为载波生成、正交混频器 I 和 Q 时钟生成以及同步系统的编码器和解码器的时间基准。为获得最佳性能,建议使用内部振荡器缓冲器和推荐的电路,以确保时钟频率的稳定性和低抖动。
MFRC631 可通过 CLKOUT 引脚提供频率可配置的时钟(1 MHz 至 24 MHz),时钟源为 27.12 MHz 晶体振荡器。通过两个分频器确定输出频率,可根据需要配置不同的频率和分频比。
实现了低频振荡器(LFO),Timer4 可配置为使用 LFO 生成的时钟作为输入时钟,用于唤醒系统。LFO 在芯片生产时进行了校准,运行频率为 16 kHz。如果需要更高的精度,可通过数字状态机对 LFO 进行微调。
MFRC631 由 VDD(电源电压)、PVDD(焊盘电源)和 TVDD(发射器电源)供电,三者相互独立。建议使用阻塞电容对这些电源进行缓冲,以提高电源的稳定性。
LPCD 是一种节能模式,分为待机和检测两个阶段。通过唤醒计数器(WUC)控制待机时间,在检测阶段检测 I 和 Q 通道的值,并与寄存器中的阈值进行比较。如果超过阈值,将触发 LPCDIRQ 中断。
在 PDOWN 引脚施加 10 μs 的高电平可启动内部复位程序。复位完成且振荡器进入稳定工作状态后,芯片即可使用,典型的启动时间为 2.5 ms。
MFRC631 的行为由状态机控制,通过向命令寄存器写入命令代码来执行命令。命令的参数和数据通过 FIFO 缓冲区进行交换。每个命令可通过向命令寄存器写入新的命令代码来停止。
提供了多种命令,如空闲命令、低功耗卡检测命令、加载密钥命令、MIFARE Classic 认证命令、接收命令、发送命令、收发命令、EEPROM 读写命令、加载寄存器命令、加载协议命令等。
不同的命令具有不同的功能和执行条件,如空闲命令用于取消当前命令执行,LPCD 命令用于低功耗卡检测,MFAuthent 命令用于 MIFARE Classic 认证等。在执行命令时,需要根据命令的要求设置相应的参数和寄存器。
根据寄存器的功能,其访问条件有所不同。主要分为读/写(r/w)、动态(dy)、只读(r)、只写(w)和保留(RFU)等类型。
提供了多个可由主机修改的寄存器,涵盖了命令控制、主机控制、FIFO 控制、中断控制、非接触式接口配置、定时器配置、发射器配置、CRC 配置等多个方面。
通过命令寄存器控制命令的执行,可设置命令的启动和停止,以及接收器和发射器电路的电源状态。
HostCtrl 寄存器用于控制接口访问权限,可设置寄存器的可修改性、总线控制权和 SAM 接口的选择。
包括
全部0条评论
快来发表一下你的评论吧 !