This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TPS92518HV:SPI 应答数据不符合规格、我出了什么问题?

Guru**** 2386620 points
Other Parts Discussed in Thread: TPS92518
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/831759/tps92518hv-spi-reply-data-doesn-t-match-specification-what-am-i-doing-wrong

器件型号:TPS92518HV
主题中讨论的其他器件:TPS92518

我已启动并运行 SPI 接口、低位似乎正常工作、但高位看起来不能正常工作。

我觉得我一定会误解事情。

当器件首次打开时、我从 SPI 获取的第一条消息是0x8000、SPI 错误。 是这样吗?

然后、我可以写入寄存器、但应答似乎总是设置 MSB、即 SPE、不应设置、除非其余位为零。

当我读取它们时、高位似乎也不在应答范围内、至少 SPE 是如此。

我使用示波器进行了双重检查、以确认我要返回的数据是要发送的数据。

注意:我发送了两次命令、以便发送和接收数据匹配。

下面是一个示例写入命令:

下面是一个示例读取命令。

写入命令为0x821F、读取命令0x0200应写入寄存器0和读取寄存器0。 数据似乎是正确的、但根据规格、SPE 位为高电平是错误的。

我可以错误地设置奇偶校验位并使器件返回0x8000。

是否有任何想法、我对该器件做了什么错误导致了此问题?

谢谢。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我认为我理解。

    无论出于何种原因、SPI 错误都会在上电时设置一次。

    这使得加电后首先返回的字0x8000。

    在每次后续写入或读取时、SPI 错误位保持不变、而返回的其余数据则是您所期望的数据。

    然后、如果我读取寄存器0x01、那么我看到 SPIE 位被置位、最重要的是、这会将其清零、然后在后续读取时、SPIE 为低电平。

    我认为、这种行为应该在文档中更明确地记录下来。

    因此、我需要立即读取寄存器0x01、然后设置最大关闭时间、然后继续处理我的业务。

    如果这是正确的行为、您能确认吗?

    谢谢。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    是的、这是正确的行为。 请参阅 TPS92518数据表 SLUSCR7和参考表3、"状态寄存器字段说明"文本。