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.

[参考译文] TMS320F28335:使用 F28335生成正弦 PWM

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/703703/tms320f28335-sine-pwm-generation-using-f28335

器件型号:TMS320F28335

我对这一主题中所提出的同样的疑问。  

"我将使用3个 ePWM 模块。 PWM 用于比较 CMPA/CMPB 与 TBCTR 的值。 CMPA 的值根据所需频率的正弦波进行调制、而三角波是 TBCTR 向上计数到 TBPRD 再向下计数(使用上-下计数器)。 现在、我在这里看到的一些代码片段使用512点查找表、该表提供915Hz 正弦信号、但我的目标是50-60Hz 信号。 我的开关频率/PWM 频率为10kHz。 假设信号频率为60Hz、PWM 频率为10kHz、我将需要167个数据点、我不确定如何获得这些数据点。 "

问题1.   要使用512点查找表获得50Hz 频率的正弦波、我们只能使用  25600Hz 的载波频率(三角波)作为(512)*(载波的时间周期)=(在我的例子中、所需正弦波的计时器周期=0.02秒)。 如果我希望在选择任何所需的采样频率时具有更大的灵活性、"怎么可能"?  

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

    Anmol、

    我在这方面没有太多经验、但:

    根据您的帖子、载波的周期是正弦波周期与 LUT 大小的比率。 如果您希望具有固定的正弦波周期 和可变载波频率、则在没有其他自由度的情况下、您需要调整 LUT 的大小。

    也许您可以在存储器中包含多个不同大小的 LUT。 另一种可能的解决方案是包含一种算法、使用数学库重新计算 LUT 大小和 LUT 值、并将生成的 LUT 放入 RAM 中、以便与 PWM 配合使用。

    此致、
    Cody