主题中讨论的其他器件:TPS92518
还有另一种我无法确定的行为。
如果92518的最后一个命令是写入(特别是对 TOFF[MAX])、那么在我不与器件通信之后的某个时刻、SPI 错误位会被置位。
但是、如果我最后一次读取状态寄存器、那么 SPIE 不会被置位。
以更详细地描述这一点。 我正在编写一些 python、这些 python 通过我设计的具有 SPI 控制器的 FPGA 中的四个32位寄存器与四个 TPS92518HV 进行通信。
为了简化操作、我一次处理16位的所有事务。 写入命令被发送了两次、我从第一次写入中抓取了回复数据、以确保事务按照计划进行。
这样做会导致 SPI 错误位在几秒钟后再次轮询时被置位。
当我将序列更改为对所需寄存器进行写入、然后对状态寄存器进行读取时、写入响应帧到达、但 SPI 错误位不会被置位。
似乎器件需要传输写入响应帧或发生 SPI 错误。
如果不是这样、我违反了什么规则?
更重要的是、我是否有更好的方法来访问该器件? 是否有 NOP 命令可让我获取响应帧?
非常感谢。