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.

[参考译文] RTOS/CC2650:SPI_CLOSE ()和 SPI_OPEN ()调用速度太慢

Guru**** 2611705 points
Other Parts Discussed in Thread: CC2650

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/582609/rtos-cc2650-too-slow-spi_close-and-spi_open-calls

器件型号:CC2650

工具/软件:TI-RTOS

你(们)好。

 

我对 TI RTOS 有点陌生。 我有以下问题。

使用 CC2650、我们使用相同的 SPI 总线与三个不同的 SPI 器件进行通信。 我们希望加快速度,但我们目前遇到的一个问题是,  当从一个器件更改为另一个器件时,我们需要为新器件配置(不同的速度、不同的时钟极性/相位等)执行 SPI_CLOSE ()和 SPI_OPEN ()调用, 由于某种原因、这两个调用需要比代码的其余部分花费太多的时间。

我是否可以做些什么来加快这两个调用的执行速度? "直接寄存器访问"是唯一的方法吗?

请注意、目前我们仅从一个任务中使用 SPI。

提前感谢。

 

胡安

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

    如果所有器件使用相同的配置(相同的波特率、相位/极性等)、我建议您手动控制 CS 引脚。
    您的 SPI 传输如下所示:

    1 -切换特定于您的器件的 CS 引脚
    2 - SPI_TRANSFRA传输
    3-复位 CS 引脚
    4-对其它设备重复相同的步骤

    如果您需要更改每个器件的 SPI 配置、则应使用 driverlib (cc26xxware)。
    SPI 模块实际上称为 SSI。

    您可以在 Resource Explorer (CCS 中的 View 菜单下)中找到该文档。
    Resource Explorer 也可在线使用:
    http://dev.ti.com/tirex

    在 Resource Explorer 中、打开以下路径:
    Software -> TI-RTOS for CC2650-> Documents-> Documentation 链接

    在 CC13xx/CC26xx 专用文档下、打开文档概述链接。

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

    尊敬的 Juan:

    我们的本地 SPI 驱动器专家提供了一些提示:

    [引用 user="Juan CS">我是否可以做些什么来加快这两个调用的执行速度? [/报价]

    否;他们必须关闭并重新打开驱动程序才能使用新配置。

    [报价用户="Juan CS"]是唯一的方法吗?

    是的、只要他们小心(确保没有活动的传输)、他们就可以始终只使用 driverlib 调用来重新配置驱动程序。  这也是假设它们不会改变使用的引脚或 UDMA 通道。  他们应该查看 SSIConfigSetExpClk() driverlib API。


    Steve