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.

[参考译文] TMS320F28069M:SPWM 生成实现

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/595264/tms320f28069m-spwm-generation-implementation

器件型号:TMS320F28069M
Thread 中讨论的其他器件: controlSUITE

大家好、我将设计一个 H 桥独立逆变器作为我的最终毕业项目。 为了控制逆变器、我将使用 TMS320F28069M DSP。 但是、我对 DSP 非常陌生、我想知道我是否正确理解了如何使用微控制器生成 SPWM。 Analogically、获取 SPWM 的方法是将正弦波与三角波进行比较。 所以、我的想法是使用 TBCNTR 作为振幅为 TBPRD 的三角波、使用 CMPA 作为瞬时正弦波值。 这个想法基于附加的镜像、此镜像可在 SPRUH18G 文件中找到。

我这样做的方法是将 ePWM 模块配置为基于时间的模块、并且每当 TBCNTR 达到 CMPA 并且计时器递减时、值触发中断、并且在中断代码内将 CMPA 值更改为新的占空比、 这可能基于正弦表。

因此、我只想知道我刚才建议的算法是否正确、或者是否有一些有关 ePWM 中断事件的详细信息使该算法无法工作。

提前感谢、

拉斐尔。

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

    拉斐尔

    很抱歉、您的帖子回复延迟。  

    您已经正确描述了使用 C28x PWM 架构实现 SPWM 的最简单方法。  您将需要生成查找表来调制 CMPA 比较寄存 器、配置时基周期以及设置 PWM 寄存器。  ISR 只需读取 LUT 中的下一个值、可能会进行缩放、然后将其写入 CMPA 寄存器。  

    没有一个代码示例可以完全实现这一点、但您可能希望查看 controlSUITE 中"development_kits"子目录中的逆变器示例。  OU 可以在此处找到一些适用于 F28069器件的有用培训资源:

    http://processors.wiki.ti.com/index.php/C2000_Archived_Workshops

    但愿这对您有所帮助。

    此致、

    Richard

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

    拉斐尔

    我想补充一下、我们在最新的 F28377D 技术讲座中为实验室实施了正弦波查找表。

    1日专题讨论会将此内容纳入实验4:

    http://processors.wiki.ti.com/index.php/C2000_One-Day_Workshop

    为期3天的技术讲座在实验11中展示了这一点:

    http://processors.wiki.ti.com/index.php/C2000_Multi-Day_Workshop

    此致、

    Richard