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.

[参考译文] TCAN4551-Q1:从睡眠模式复位后事务时出现 SPI 错误。

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1586938/tcan4551-q1-spi-errors-on-transactions-after-reset-from-sleep-mode

器件型号: TCAN4551-Q1

您好、  

我一直在为 TCAN4551 开发驱动器。

我有一个虚化序列、它将 RST 引脚提高几毫秒、然后降低它。 之后、数据表显示至少需要 700us 后才能开始 SPI 通信。 我的函数会等待 2ms 以确保安全。 然后、它读取器件 ID、还对暂存区进行写入和读取、以验证 SPI 通信。

如果我在器件上电后运行此序列、则所有命令都正常工作。 如果在器件处于 SLEEP 模式时运行该序列、则我会在从暂存区读取时钟输出的第一个字节中收到 SPI 错误信号。 我确实收到了器件 ID、但可能是暂存区写入有问题。

如果我在将 RST 线路恢复为低电平后等待 3ms、则不会出现 SPI 错误问题。

数据表指出最短时间应为 700us。 是否有理由让 SPI 稳定下来、我必须等待这么长时间? 这是否表明我的电路板上存在硬件设计问题? 为什么为 TCAN4551 加电时和刚刚处于睡眠模式时之间的行为不同?

提前感谢。

编辑

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

    尊敬的 Ed:

    当 TCAN4551 处于睡眠模式时、VIO 引脚上的电源是否会保持开启状态?

    您在 OSC1/2 引脚上使用哪种类型的时钟?  是晶体还是单端 CMOS 时钟?

    700us 最短时间要求来自内部 LDO 导通和稳定所需的时间量。  时钟/晶体还需要保持稳定、以便数字内核能够响应任何 SPI 读取/写入事务。  如果您使用的是晶体、开始振荡可能需要超过 2ms 的时间、这可能是它在只有 2ms 的等待延迟后失败的原因、但在 3ms 等待延迟后工作。

    此致、

    Jonathan

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

    您好、Jonathan、感谢您的快速答复。  

    也许睡眠模式是一个红色的错误。 看起来这些错误可能会在上电后发生、而不仅仅是睡眠模式。

    VIO 为 3.3V 且始终开启。 是的、它是一个 40MHz 晶体。

    我不知道我们的电路板设计人员是否阅读了晶体应用手册或实际测量结果、但我们的实施方案看起来大致可以。

    ...

    您已经解释过、700us 与晶体稳定时间无关。 我可以看到 tCRYSTAL 如图 14 所示。 上电时序 、但不在 图 20 上。 正常模式和待机模式下 RST 引脚的时序。  即使我在降低 RST 之前立即放置断点/延迟、也没有任何区别。 只有降低 RST 后的延迟才起作用。 这将提示 CRY 稳定时间在 RST 变为低电平后开始、可能应该如 图 20 所示。 正常模式和待机模式下 RST 引脚的时序。

    无论哪种方式、我们的硬件似乎都可以、我们只需等待几毫秒。

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

    尊敬的 Ed:

    通过引起器件 POR 事件来实现器件复位。  将 RST 引脚切换为高电平将导致内部主内核 LDO 被禁用。  RST 释放后、LDO 将重新启用、器件将上电至默认值。   

    复位事件还将停止时钟/晶体、因此可能需要再次开始振荡、该时间可能会因晶体类型和电路中的负载电容大小而异。  因此、对于初始上电或复位事件、预计会出现类似的行为。

    此致、

    Jonathan