您好!
传统上、SPI 是一个4线制接口、我的控制器具有 SCLK (输出)、CS*(输出)、MOSI (输出)和 MISO (输入)。
数据表(SNAS698B–2020年5月–2020年12月修订)对于4线 SPI 而言有点不清楚/令人困惑。
- LMK04832-SP 仅列出 SCLK (输出)、 CS*(输出)、 SDIO (BIDIR)、因此仅列出4个信号中的2个。 也许在其他地方有双功能引脚?
- 第12页建议了4线回读的可能性、这意味着4线 SPI 接口功能
- 第43页中的"要使用4线制 SPI 模式、请在其中一个输出多路复用器设置中选择 SPI 读回。 例如 CLKin0_SEL_MUX 或 RESET_MUX。 可以同时读回3线和4线。
- 哪种"输出多路复用器设置之一"?
- 我假设 CLKin0_SEL_MUX 实际上意味 着 CLKin0_SEL0_MUX、其中寄存器0x148的字段值为0x6显示 SPI 读回
- 第43页 还显示了寄存器0x0000有一个"禁用3线 SPI 模式"控制位、这意味着类似于4线 SPI 的器件会替代这个位
- 许多"MUX"寄存器允许选择 SPI 回读
- 寄存器0x148、0x149、0x14A、ox15F 和0x16E
- 在这些寄存器中的任何一个中设置 SPI 读回寄存器的选择都不包括其他选项(即多路复用器)、因此请谨慎选择
- 鉴于此、选择 RESET_MUX 可能最简单
- 寄存器149默认为 SDIO_RDBK_TYPE 的开漏输出
- 是否应将其设置为4线制 SPI 模式下的推挽式?
- 是否还应将另一个引脚设置为 tp 推挽式?
目前的最佳猜测如下:
- 芯片会以某种方式复位
- 在某种程度上、4线主机写入默认的3线 LMK04832-SP SPI 接口、以将其配置为使用/成为4线 SPI 接口
- 寄存器
- 0x000[7]= 0、正常运行和0x000[4]= 1、3线模式被禁用
- 0x149[1]=0时、SDIO_RDBK_TYPE 为推挽(或者只是与 RESET/GPO 输出类型匹配)
- 0x14A[5:3]=0x6、SPI 回读和0x14A[2:0]=0x3 RESET_TYPE 为推挽 式(或仅与 SDIO_RDBK_TYPE 输出匹配)
这是研究、现在 还有一些问题:
- 如果我们将 RESET/GPO 用作 SPI 数据引脚、LMK04832-SP 如何实现复位?
- 当控制器不是3线接口时、如何使用其3线 SPI 接口将器件配置为4线 SPI 接口?
- 在4线制 SPI 模式下使用 配置用于 SPI 读回的*多路复用器引脚之一时,该*多路复用器引脚是否会连接到主机的 MISO (主器件输入、从器件输出)引脚?
- 即、从上面的示例复位/GPO 将连接到主机的 MISO
- 在4线制 SPI 模式下、引脚20 (SDIO)连接到主机的 MOSI (主器件输出、从器件输入)引脚、从而成为 LMK04832-SP 的数据输入?
谢谢、
Dan