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.

[参考译文] CC3200-LAUNCHXL:最大 SPI RX 吞吐率

Guru**** 2769425 points

Other Parts Discussed in Thread: CC3200SDK, CC3200

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/663258/cc3200-launchxl-max-spi-rx-throughput-rate

器件型号:CC3200-LAUNCHXL
Thread 中讨论的其他器件:CC3200SDKCC3200

您好!

我正在使用 CC3200SDK_1.3.0 SDK 中的 SPI_DEMO 示例、我想确认我看到的 SPI 吞吐量、并了解我应该期望的最大实际数据速率。  

我让 cc3200 Launchpad XL 运行 SPI_DEMO 示例的从版本、并将 SPI 主设备配置为16MHz。 为了消除不必要的开销,我在 SlaveIntHandler()函数内的每个字节的 RX 上注释掉了 UART print 命令。 使用此修改后的软件、cc3200仍然只能保持每4us ~1个字节。 因此、即使我的 SPI 总线配置为16MHz、我的有效吞吐量仅为2Mbps。  

我已经确定了信号的范围、一旦我开始将字节到字节的时间减少到~4us 以下、我就开始在 cc3200上丢失数据。  我知道 cc3200运行在80MHz M4上、但2Mbps 似乎仍然很低。 我是否可以采取任何措施来提高 RX 速率?

谢谢、

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

    是的、现在这个示例是一个非常简单的演示、演示了如何使用 driverlib 来一次传输单个字节。 我建议构建一个利用 UDMA 和数据缓冲来提高吞吐量的驱动程序。 这样做、而不是一次使用 CPU 来传输一个字节、会显著提高传输速率。 SDK 中有一个示例、展示了如何使用 UDMA 通过 UART 传输数据。 我建议将此用作使用 CC3200的 SPI 执行此操作的起点。

    此致、
    本·M
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢 Ben。 使用 UDMA、您对 RX 吞吐量的期望是什么? UDMA 处理 SPI RX 寄存器的速度有多快? 知道我应该对 cc3200的预期 RX 速率有所了解。

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

    尊敬的 Juan:

    这方面没有确切的示例、但如果您使用 ping 通等方法来处理缓冲区、则可以将其设计为缓冲区传输之间没有(或至少可以感知)停机时间。 这需要由您的应用仔细处理、但您应该能够准备一个缓冲区并调度 DMA 传输、并且允许 DMA 在主传输和备用传输之间切换以从 SPI 缓冲区持续馈送或拉取。 顺便说一下、SPI 的最大时钟速度可提升至20MHz。

    请查看《技术参考手册》:

    http://www.ti.com/lit/ug/swru367c/swru367c.pdf

    此致、

    本·M

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

    一个快速评论。 我从未在 CC3200通过 SPI 测量过最大吞吐量。 但是、与 NWP 进行最大程度的通信可能是一个好线索...

    应用处理器和 NWP 之间的通信通过 SPI 总线在20MHz 下完成。 此外设实际上与您使用的 SPI 具有相同的设计。 由于使用了通信代码、因此 SimpleLink 驱动程序是以这种方式进行了非常优化的代码。 WiFi 通信的最大实际吞吐量为16Mbit。 由于 NWP 增加了一些开销、我希望至少可以在 SPI 外设18Mbit/s (20MHz)上持续实现。

    1月
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    这一点很好、1月 协议在与 NWP 通信和 NWP 所需的处理方面增加了一些开销、因此它绝对高于最大 UDP 吞吐量。 我仍然认为它可能高于18Mbit、具体取决于具体实施情况、但我认为这是构建应用程序时非常好的参考。

    此致、
    本·M