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.

[参考译文] CC1352R:SPI 启用/禁用

Guru**** 2563590 points
Other Parts Discussed in Thread: CC1352R, CC3120MOD, CC3120, SYSCONFIG

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

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/913022/cc1352r-spi-enable-disable

器件型号:CC1352R
Thread 中讨论的其他器件: CC3120MODCC3120SysConfig

您好!

我在对功耗非常敏感的应用中使用 CC1352R。

SPI 用于与 CC3120MOD NWP 进行通信。

SPI 是主器件。

当通过 TI 驱动程序的 SPI_init()函数启用 SPI 模块时,电流消耗增加~120uA。 根据数据表、UDMA 为53.6uA、 SSI 模块为69.4uA。

在 TI 驱动程序中,没有与 SPI_init()相反的函数。

我想在不使用时对 SPI 进行去 INIT。

我是否可以使用 CR1寄存器中的 SSE 位来启用/禁用 SPI 模块、但不进行其他更改?

这是正确的工作方式吗?

此致、

Ilian   

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

    Ilian、您好!

    您是否考虑基本上关闭 SPI 驱动器? (SPI_CLOSE ())

    我已经查看了代码,它似乎释放了所有依赖项,所以它应该做诀窍:)

    此致、

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

     您好、Cl é ment、

    感谢您的回答!

    我还没有尝试这种方法(因为我看到在 SPI 以 SPI_open 运行之前电流消耗会增加)。

    这意味着 SPI 模块通过调用 SPI_init()接收电源和时钟,对吧?

    仅当 我需要 SPI 与外设(SPI 从站)进行通信时、我才想使用 SPI。

    如果 SPI_CLOSE 移除 SPI 模块的时钟和电源,则应该可以正常工作:)

    SPI_Close()用于移植的 WiFi 驱动程序的上下文中。

    例如、当与 CC3120的事务处理完成时、WiFi 驱动 器应使用 SPI_CLOSE、并且应使用 SPI_CLOSE 和从 SPI_OPEN 返回的句柄。

    如果之后我在 mainThread 中使用 SPI_Close、我认为这不会产生任何效果。

    此致、

    Ilian   

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

    Ilian、您好!

    [引用 user="Ilian Chakarov"]这意味着 SPI 模块通过调用 SPI_init ()接收功率和时钟,我对吗?[/quot]

    这不正确。 SPI_init()基本上会将所有 SPI 实例标记为已初始化。 如果您查看代码(代码在您的 SDK 中的 source\ti\drivers\spi\SPICC26X2dma.c 和 source\ti\drivers\spi.c 中可用)、您将看到 Power_setDependency ()在 SPI_open ()内被调用。

    您是否验证了额外的功耗是否可能是由于 SPI 引脚在未使用时的配置方式所致? (我想知道引脚在物理上未连接时会有一个[上拉或下拉]。) 在这种情况下,该解决方案更倾向于 Board_init()、PIN_init()或 GPIO_init()。 您还可以通过 SysConfig 更改未使用引脚的配置。

    我希望这将有所帮助、

    此致、

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

    您好 Clement、

    感谢您的回答!

    是的、我已经检查了代码、您是对的。

    这意味着、WiFi 驱动器通过 SPI_Open ()和 SPI_Close ()在内部存储 SPI 模块的使用(根据系统的功耗)。

    此致、

    Ilian