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.
您好,
我查看了一个示例代码/代码片段、它可以帮助我在 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 中。 这是正确的方法吗?
需要这些详细信息来为客户配置一些高级详细信息...
谢谢。
此致。
您好,Kris,
是的、实际目的是能够使用 ePWM 计时器模块提供大于16位的周期。
从 TRM 中,不清楚相同的所需的配置。
我看到的唯一参考是我在第一封邮件中提供的寄存器。
此致。
我们无法更改 TBPRD 寄存器的大小、但如果您正在寻找较慢的频率、可以对 ePWM 时基时钟(TBCLK)进行分频、以降低 ePWM 的时钟速率。 这是否适合您的应用?
很好的参考资料。
TBPRDHR 寄存器用于高分辨率 PWM。 它不会增加总周期大小、但当 PWM 配置为高分辨率模式时、它会在 TBPRD 的现有16位内增加更精细的粒度。
请查看 TBCTL 寄存器的 CLKDIV 和 HSPCLKDIV 位。 您可以在我在下面的第334页链接的 TRM 中找到详细信息。 本质上、您需要将 TBCLK 降低到足够慢的频率、使16位达到目标5秒。