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.

[参考译文] AM4376:SPI 总线数据冲突

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1519667/am4376-spi-bus-data-collisions

器件型号:AM4376

工具/软件:

您好:

我们在 AM4376上的 SPI 接口存在问题、即 SPI 总线上的大量流量可能会导致误读数据。 其中一个 MCSPI 接口连接到一个以太网交换机、我们用于配置和监控寄存器。 我们在 AM4376上连接到 MCSPI4、并将其配置为主模式、SPI 总线上只有一个从器件。 我们遇到了寄存器值被错误读取的问题。 在 SPI 总线上执行一些测试后、我们看到当总线上存在大量流量时、偶尔这些 SPI 消息会相互干扰。

我们的应用程序会定期通过 SPI 总线向以太网 PHY 中的某些寄存器启动读取命令。 当我们要对其他寄存器执行多次 SPI 读取时、偶尔会发生其中一次调度的读取操作会干扰已经发生的 SPI 读取。 请参阅以下内容:

为了解决其中一些误读问题、我们已尝试多次读取每个寄存器。 然而、当我们重复读取寄存器时、有时连续的读取会混合到一条命令中、此时芯片选择在发送的所有数据之间保持有效。 我们使用的 PHY 一次仅接受一个读取或写入地址。 该命令包含一个读取/写入字节指示器(分别为0x02或0x03)、一个地址字节、然后是来自开关的响应。 片选线路保持活动状态之后的任何其他时钟切换都会被我们的 PHY 视为从初始地址发送的地址读取/写入数据的请求。 这也会导致产生错误。 请参阅以下内容。

 

 

我们是否需要采取措施来确保当前在总线上处理的 SPI 消息在新消息开始之前完成? 我尝试打开位以启用 MCSPI 控制器中的 FIFO、但这似乎没有改变结果。

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

    您好、

    您是否使用 NDK (网络开发套件)?

    此致、

    Vaibhav

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

    您好、

    我们的代码存在多个 NDK 函数、因此我们似乎在使用 NDK。

    谢谢您、

    Sean

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

    尊敬的 Sean:很遗憾、TI 不再主动支持 NDK。 这是一项新的发展吗? 或产品中最近出现的问题?

    我们提供了常见问题解答、其中一些文档和指向其他常见问题解答的指针可以为您提供帮助

    (+)[常见问题解答]基于 TI-RTOS 或裸机 AM335x/AM437x 软件开发可使用哪些资源? -处理器论坛-处理器- TI E2E 支持论坛

    我将尝试从其他文档来源或之前的 E2E 查找其他指针、但请寻求有限的支持

    谢谢您、

    Paula

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

    您好 Sean、

    我会给出一些指导、以确保数据读取顺利进行。 我希望您在设置中试用这些设置。

    • 在每个读取事务开始之前引入最小延迟。
    • 有两种类型的事务:
      • 其中 CS 分别在每个读取事务之前和之后置位和置位无效。 - 在这种情况下,您需要确保在 CS 为最后的事务取消置位之前没有发出读取事务命令。 这基本上会得到注意、但最好检查是否存在过孔波形。
      • 另一种是 CS 保持低电平、直到所有读取事务都被执行。
    • 围绕 MCSPI 的频率进行研究。
    • 尝试中断/轮询等不同的模式。

    此致、

    Vaibhav