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.

[参考译文] TMS320F28069:为大于16位的定时器周期配置 ePWM

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/567647/tms320f28069-configure-epwm-for-a-timer-period-greater-than-16-bits

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

您好,

我查看了一个示例代码/代码片段、它可以帮助我在 F28069中配置 ePWM。

我希望提供大于16位的输入周期。

这使得很难将整个周期直接写入 TBPRD 寄存器、因为它会将其截断为16位。

如果我必须配置24位周期、我相信我需要使用 TBPRDM 寄存器吗? 是这样吗?

我使用了以下代码。 我是否遗漏了什么?

ePWM_regs 如 F2806x_Epwm.h 中定义的(C:\ti\controlSUITE\device_support\f2806x\v151\F2806x_headers\include)

volatile struct ePWM_regs * epwm;

 pwm->TBPRDM.half.TBPRDHR = temp && 0x000000FF;
 pwm->TBPRDM.half.TBPRD =(温度>> 8)& 0x0000FFFF;

是否有任何其他需要配置的寄存器?

LSB 8位在 TBPRDHR 中,24至8位在 TBPRD 中。 这是正确的方法吗?

需要这些详细信息来为客户配置一些高级详细信息...

谢谢。

此致。

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

    您能更详细地澄清一下您的问题吗? 标题使其听起来像是您需要比16位提供的周期长、但问题似乎是使用高分辨率功能。

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

    您好,Kris,

    是的、实际目的是能够使用 ePWM 计时器模块提供大于16位的周期。

    从 TRM 中,不清楚相同的所需的配置。

    我看到的唯一参考是我在第一封邮件中提供的寄存器。

    此致。

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

    我们无法更改 TBPRD 寄存器的大小、但如果您正在寻找较慢的频率、可以对 ePWM 时基时钟(TBCLK)进行分频、以降低 ePWM 的时钟速率。 这是否适合您的应用?  

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

    实际上,我们已经在使用 Epwm6计时器来生成超时,该超时是使用16位周期完成的。
    现在我尝试增加这个值,因为我们有可能得到大约5秒,即5000000 us (因为周期是我们中的一个值),它大于16位。
    这将限制我仅生成65535,0.065秒,这可能不足以满足应用程序...

    我不能使用下面的这2个寄存器吗?
    保存低8位和高16位的 TBPRDHR (24位总周期)存储在 TBPRD 中???

    pwm->TBPRDHR =(温度<<8)&& 0xFF00;
    pwm->TBPRD =(temp >> 8)&& 0xFFFF;

    此致。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    参考资料: processors.wiki.ti.com/.../C2000_Archived_Workshops
    查看 F28069的多日技术讲座、第7章-有关 PWM 以及 HRPWM 的大量详细信息、这看起来可能适合您所做的工作。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    很好的参考资料。

    TBPRDHR 寄存器用于高分辨率 PWM。 它不会增加总周期大小、但当 PWM 配置为高分辨率模式时、它会在 TBPRD 的现有16位内增加更精细的粒度。

    请查看 TBCTL 寄存器的 CLKDIV 和 HSPCLKDIV 位。  您可以在我在下面的第334页链接的 TRM 中找到详细信息。  本质上、您需要将 TBCLK 降低到足够慢的频率、使16位达到目标5秒。

    www.ti.com/.../spruh18f.pdf