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.

[参考译文] TMS320F28027:非正弦表 PWM 代码

Guru**** 2601575 points
Other Parts Discussed in Thread: C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/677368/tms320f28027-non-sine-table-pwm-code

器件型号:TMS320F28027
主题中讨论的其他器件:C2000WARE

我正在寻找一个不使用正弦查找表的正弦 PWM 生成代码。

我需要将输出频率从0到2000Hz、载波频率为20kHz。

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

    我认为在 F28027上实现这一目标的最佳方法是使用 IQ 数学库。 IQsin ()函数需要46个周期、对于20kHz ISR 而言、这似乎不大、即使您在器件的40MHz 版本上运行也是如此。 实际上没有任何与此完全相关的示例代码、但是您可能会发现 C2000Ware 中的小型 F28027示例非常有用、因为它展示了如何在 for ()循环中使用_IQsin。 假设是默认的 C2000Ware 安装路径、您应该可以在以下位置找到它:
    C:\ti\c2000Ware_1_00_03_00\libraries\math\IQmath\c28\examples

    在调用_IQsin ()之前,代码必须在20kHz ISR 中操作软件计数器以获取索引值。 每个频率的计数器增量都不同。 原则上讲、这很简单、但遗憾的是、我认为我们没有类似的例子。

    此致、

    Richard