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.

[参考译文] MSPM0L1306:使用计时器- PWM 作为通信帧、需要建议

Guru**** 2419730 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1359110/mspm0l1306-using-timer---pwm-as-communication-frame-need-suggestions

器件型号:MSPM0L1306

尊敬的专家:

我的客户正在使用计时器- PWM 进行通信。 例如、占空比为25%的 PWM 表示0、 占空比为75%的 PWM 表示1、因此具有不同占空比的连续 PWM 可以表示串行数据。

要生成此类 PWM、它们需要逐周期更改 PWM 的占空比。 一种实现方式是更改每个中断中的比较寄存器。  

不过、PWM 处于高频率、周期为1.25us。 空的中断服务函数可能已经比 PWM 周期长、因此其速度不足以更改中断中的比较寄存器。

对于如此高的 PWM、是否有关于如何逐周期更改其占空比的建议?

此致、

挂起。

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

    您可以尝试 直接存储器存取。  DMA 可被用于在没有 CPU 干预的情况下自动更新 PWM 比较寄存器。 这可以显著减少 CPU 开销并确保及时更新占空比。

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

    尊敬的 Hang:

    您可以尝试 直接存储器存取。  [/报价]

    DAM 访问是减少延迟的好方法。 您可以使用 TIM 事件触发 DMA 将占空比值从 SRAM 传输到 CC 寄存器。

    B.R.

    萨尔

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

    Hi Sal 和 Nasir、

    谢谢您的建议。 您是指通过 GEN chans 触发 TIM DMA 吗?

    是否有建议客户参考的示例? DMA 示例均为软件触发。

    谢谢。

    挂起。

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

    感谢 Sal 和 Nasir、DMA 解决了这个问题。

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

    尊敬的 Hang:

    谢谢您的反馈、我将关闭该主题。

    如果您还有其他问题、可以在论坛中提交新主题帖。

    B.R.

    萨尔