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.

[参考译文] CC1312R:SPI 帧格式问题

Guru**** 2589245 points
Other Parts Discussed in Thread: SYSCONFIG

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

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1036451/cc1312r-spi-frame-format-issue

器件型号:CC1312R
Thread 中讨论的其他器件:SysConfig

你好。

我正在使用一个仅支持 SPI 模式0和3 (POL=0、PHA =0或 POL=1、PHA =0)的外部闪存芯片。

当我将 SPI 驱动器配置为使用模式0或3 (SPI_POL0_PHA0或  SPI_POL1_PHA0)时、每个8位帧之间会暂停、在这种情况下 CS 线路短暂拉高、从而结束与外部芯片的任何通信。 请参见图像。

当我将 SPI 驱动 器配置为模式1或模式2 (SPI_POL1_PHA1或 SPI_POL0_PHA1)时。 没有帧暂停、但外部芯片不支持这些模式。 请参见图像。

更换内容应如下所示、见闪存芯片数据表。 请参见图像。

我发现建议将 spiCC26X2DMAHWAttrs 中的.minDmaTransferSize 从默认值10更改为1、但这似乎没有影响。

非常感谢您的任何帮助!

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

    您好、Nick、

    在这种情况下、我认为可能有两种选择。

    第一种方法是使用软件芯片选择、这意味着应用程序负责芯片选择的置为有效和置为无效。

    在这种情况下、您将使用 SysConfig 在3引脚模式下配置 SPI 外设、然后设置可用作 CS 信号的 GPIO。 然后、每次您希望与外部闪存连接时、都需要手动切换 CS 引脚。

    第二个选项是考虑使用 NVS 驱动程序与外部闪存连接。 它可能会让您的事情变得更简单、因为它可能包含您的应用所需的大量内容。

    BR、
    安德莱姆

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

    AndressM、感谢您的建议。 我将尝试一个或两个方法来解决此问题。

    我很好奇、第一张图片是我分享预期行为吗? 在我看来、这使得模式0和3对于大多数应用程序无用。

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

    你(们)好 Nick。

    是的。 这是预期的行为。

    SPI 外设实现的主要问题是它们差异很大。 不同的外设需要不同的片选置位和置位行为。 因此、SPI 驱动器被设计成以透明方式根据芯片选择运行、这样用户就可以实现适合应用和外设的行为。

    BR、
    安德莱姆