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.

[参考译文] MSPM0G3507:如何使用 MSPM0G3507 DMA+PWM 驱动 WS2812B LED 灯条

Guru**** 2689775 points

Other Parts Discussed in Thread: MSPM0G3507, SYSCONFIG

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1589865/mspm0g3507-how-to-use-mspm0g3507-dma-pwm-to-drive-ws2812b-led-strip

器件型号: MSPM0G3507
主题: SysConfig 中讨论的其他器件

我有一个工程需要使用 MSPM0G3507 来控制 WS2812B LED 灯条。 如何使用 MSPM0G3507 的 DMA+PWM 方法驱动 WS2812B 条带? 如何在 CCS 中配置正确的 DMA+PWM? 所需的控制方法与本文中介绍的方法类似: https://blog.csdn.net/Suk1111/article/details/112430295

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

    嗨、Libin、

    从技术上讲、这可以通过 DMA + PWM 实现。

    1. DMA 源地址是一个缓冲区、用于存储每个 PWM 脉冲的占空比值。 (bit0 和 bit1 缓冲区中的值只有两种类型)。
    2. DMA 目标地址是计时器 CC 寄存器。 该寄存器确定 PWM 模式下的 PWM 占空比。
    3. 使用 PWM 模式启用计时器、并将 PWM 周期设置为 1.25us。
    4. DMA 传输由(例如 PWM 上升沿)触发。
    5. 因此、PWM 占空比将持续更新为所需的位流。

    但有一个限制是、我们需要确保所有 DMA 传输都可以在一个时间段内完成。 因此、最大 LED 通道数将受到 DMA 传输带宽的限制。 (您可能需要测试它可以支持的最大信道数)。

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

    DMA 传输由 PWM 的上升沿等触发。 如何在 CCS 中将其配置为通过 PWM 的上升沿等触发。

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

    嗨、Libin、

    使 DMA 由 PWM 边沿触发的一种方法是:

    • 将 DMA 触发源配置为 FSUB_0。
    • 在 SysConfig PWM 模块页面中、您可以启用 PWM 事件发布者并启用 PWM 零事件。

          

    • 回到 DMA 配置、FSUB_0 可以进一步从 PWM 零事件订阅。

          

    事件模块可以在 MSPM0 中的不同外设之间实现硬件连接、  有关更多详细信息、请参阅 MSPM0 G 系列 80MHz 微控制器技术参考手册(修订版 C)的“事件“一章。