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.

[参考译文] CC2640R2L:有关 SPI 主设备传输大小限制的问题。

Guru**** 2387060 points
Other Parts Discussed in Thread: CC2640R2L, CC2642R
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1177664/cc2640r2l-issue-about-spi-master-transfer-size-limit

器件型号:CC2640R2L
主题中讨论的其他器件: CC2642R

大家好、

我正在使用 CC2640R2L 开发蓝牙可寻址 RGB 色带控制器。

我使用 SPI 主设备将字节发送到控制 LED 的驱动器

8字节表示红色
8字节表示绿色
8字节表示蓝色
第一个驱动程序总共有24个字节来识别颜色并打开 LED
如果我连续发送总共48个字节、它将占用前24个字节并将其余字节传递给第二个驱动程序、依此类推
连续

为了使驱动器激活 LED、它必须在低电平信号中保持超过280μs μ s 的时间

 

要发送字节、我需要遵循以下时间:

数据传输时间代码
T0H   代码0、高电压时间       220ns ~ 380ns
t0l   代码0、低 电压时间       580ns ~ 1us

T1H    代码1、高电压时间       580ns ~ 1us
T1L    代码1、低 电压时间       580ns ~ 1us

电阻   器帧单元,低电压时间   > 280μs μ s

我需要连接总共为7200字节的300个驱动器、但当 SPI 的大小超过1024字节时、它有一个暂停周期、这个周期会对通信产生影响。

是否有任何方法可以在没有暂停的情况下直接发送7200字节?

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

    您好!

    感谢您的参与。

    请您用英文重新写邮件、以便我们的工程师发表意见。

    此致、

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

    就绪

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

    您好!

    您使用 SPI 驱动器的方式并不是完全标准的。 但是、您应该设法通过将 SPI 驱动程序设置为回调模式并在写回调中对下一个 SPI 操作排队来满足您的要求。  

    如需了解相关信息、我已通过 CC2642R 完成了一个个人项目来驱动此类 LED。 我实施的解决方案使用传感器控制器(在您使用的器件上不可用)。 您可能希望查看: https://github.com/ClementINSA/NeoPixel_CC13x2_CC26x2 (注意:这是 TI 不拥有或不支持的个人项目)。

    我希望这将有所帮助、

    此致、

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

    从我看到的情况来看、由于 UDMA 限制、这些暂停会发生

    是否有任何方法可以移除 UDMA 并使其仅运行 SPI?

    或者通过任何方法来操纵寄存器以增加限制大小或减少此暂停时间?

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

    您好!

    SPI 驱动器配置为使用 UDMA。 除非完全重新编写驱动程序、否则无法更改此设置。

    您可以正确地说、UDMA 一次传输的字节不能超过1024字节、但是、如果下一次 UDMA 传输发生在 SPI 已消耗所有数据之前、则不应发生暂停。

    请问您是否已经测试过我以前提出的建议? "您应该设法通过将 SPI 驱动程序设置为回调模式并在写回调中对下一个 SPI 操作排队来满足您的要求。"
    结果如何?

    此致、