主题中讨论的其他器件:TRF7970A、
大家好、
我在 TRF7970A 的初始化以及对寄存器的读取和写入方面遇到了一些问题。
我将 TRF7970 Booster Pack (器件型号:DLP-7970ABP)与北欧控制器(nRF5340DK)搭配使用。 配置完所有 SPI 引脚(时钟、从器件选择、MOSI 和 MISO)后、我尝试与 TRF7970A 器件进行通信、但不知怎么、我无法接收任何信息。
我将尝试描述我所遵循的所有步骤:
首先、我已经按照 数据表的第6.11节所述初始化了 TRF7970A:
- 4ms 后升高 SS 和 EN。 我没有提交 EN2、因为这不是在 TI 提供的读/写器应用中完成的(我在 TI Launchpad 上成功测试了该应用)。
- 发出软件初始化直接命令(0x03 -> SPI MOSI:0x83)、后跟空闲直接命令(0x00 -> SPI MOSI:0x80)
- 1ms 延迟
- 发出复位 FIFO 直接命令(0x0F -> SPI MOSI:0x8F)
- 向调制器和 SYS_CLK 控制寄存器(0x09)写入针对晶振和系统时钟设置的专用应用设置。 我将0x01写入寄存器、但我不知道我应该在这里写入什么。
- 向稳压器和 I/O 控制寄存器(0x0B)写入适当的应用特定设置。 我向寄存器写入0x00、但我也不确定。
- 向 NFC 目标方侦测水平寄存器(0x18)写入值0x00。 MOSI SPI:0x18 0x00
我使用了逻辑分析仪来查看 SPI 信息、并在下表中总结了我的结果

如表中所示、TRF7970A 通过 SPI-MOSI 接收信息(初始化和一些读取/写入命令)、但通过 SPI-MISO 发回的数据看起来并不正确。 我可以确认通过 SPI-MISO 发送的"随机"值(如0x02和0x14)来自 TRF7970A、因为我从控制器的 SPI 引脚上移除 TRF7970A 时不会接收到这些值。
话虽如此、我对 SPI 通信有一些疑问:
- 空闲直接命令和 FIFO 复位后、值0x02是什么意思?

- 当我写入调制器和 SYS_CLK 控制寄存器时、值0x14意味着什么?

- 在步骤7中、我将0x21写入寄存器0x00。 在步骤8中、我读取该寄存器、但我接收到的信息为0x00。 为什么我无法读取我刚才写入的值?

- 在步骤9中、我执行虚拟读取。 为什么这里以及接收到的信息0x00?
- 这是否与初始化的步骤5和6相关、我不知道要写入寄存器的值?
期待您的反馈。
提前非常感谢!











