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.

[参考译文] CC3220SF:SPI 初始化时用于发送开始延迟设置的 SPI 片选

Guru**** 2482105 points
Other Parts Discussed in Thread: CC3220SF, IWR6843AOP

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1320570/cc3220sf-spi-chip-select-to-transmit-start-delay-setting-in-spi-initialization

器件型号:CC3220SF
主题中讨论的其他器件: IWR6843AOP

尊敬的社区:

我有一个将 IWR6843AOP 连接到 CC3220SF 的定制电路板。 我正在尝试通过 SPI 引导加载程序将 IWR 映像从 CC3220SF 闪存加载到 IWR RAM 中。

CC3220SF 上的 SPI 将是主器件、IWR 将是从器件。 映像将使用 SPI 从 CC3220SF 传输到 IWR6843AOP RAM。

IWR6843AOP 上的引导加载程序有特定的要求。

要使 SPI 引导加载程序正常工作,请参阅 MMWAVE-Radar-Interface 文档中的 SPI 要求,第 3.2.4节"SPI Message Sequence–Command/Response"(SPI 消息序列–命令/响应):

主机应确保 CS 变为低电平与 SPI 时钟开始之间至少有2个 SPI 时钟延迟
2。主机应确保每通过 SPI 传输16位就会切换一次 CS
3.连续 CS 之间应至少有2个 SPI 时钟的延迟
SPI 需要在模式0 (相位1、极性0)下运行
5. SPI 字长应为16位(半字)

我认为、为了满足第一个要求、我将需要 CS 传输启动延迟、以在 SPI 主设备设置中进行设置。

下图来自 IWR TRM 第 23.2.6.4.1节"芯片选择-有源-发送-启动-延迟"(C2TDELAY)

可在 SPI 设置中设置其他四个要求。

我在 SPI 驱动程序文件中找不到此设置。

您能否告诉我、我应该如何完成我的第一项要求?

谢谢。此致、

斯瓦普尼尔

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

    尊敬的 Swapnil:

    根据适用于 CC3220的 TRM、SPI 外设无法在 CLK 之前提前告知 CS 时间。 但是、没有什么可以阻止您通过 GPIO 手动使用 SPI 3线模式和 CS 控制。

    1月

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

    尊敬的 Swapnil:

    根据适用于 CC3220的 TRM、SPI 外设无法在 CLK 之前提前告知 CS 时间。 但是、没有什么可以阻止您通过 GPIO 手动使用 SPI 3线模式和 CS 控制。

    1月

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

    您好、Jan、

    感谢您的回答、但根据我的第二个要求、我必须在通信期间每16位传输切换一次 CS、我该如何实现这一点?

    谢谢。此致、

    斯瓦普尼尔

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

    尊敬的 Swapnil:

    我想您别无选择、只能发送2个字节、然后可以通过 GPIO 手动切换 CS。

    通过 SPI_CHCONF 寄存器中使用标志强制、您可以在两个字事务之间选择 SPIEN (CS pinu)的行为。 但这仅适用于4线制模式。 并且您无法使用此模式、因为您需要提前安排 CS 引脚时间。

    由 GPIO 手动控制 CS 可能效率稍低。 如果速度不是您优先考虑的问题、那么它应该工作正常。

    1月

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

    您好、Jan、

    只是为了提供相关信息、我如何 在  SPI_CHCONF 寄存器上设置该标志强制。

    此致、

    斯瓦普尼尔

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

    您好!

    可通过像这样直接写入寄存器来设置此值:

    // set
    HWREG(GSPI_BASE+MCSPI_O_CH0CONF) |= MCSPI_CH0CONF_FORCE;

    1月