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.

[参考译文] F28M35H52C:PWM 100%占空比将关闭输出

Guru**** 2537200 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/738646/f28m35h52c-pwm-100-duty-cycle-turns-off-the-output

器件型号:F28M35H52C

我正在使用设置为反相输出的16位计时器处理2kHz 周期的 PWM。 除了在100%的 PWM 下、所有功能都运行良好、输出会关闭而不是稳定地打开。 器件中是否存在一些诀窍或错误?

可在高达99.9%的占空比下正常工作。

频率设置如下(初始化期间):

 TimerLoadSet (TIMER0_BASE、TIMER_A、SysCtlClockGet (system_clock_speed)/2000);  //步骤5 - PWM freq 2kHz

通过调用来设置 PWM:

 TimerMatchSet (TIMER0_BASE、TIMER_A、PWM_2K_DUTY (value));

其中:

#define PWM_2K_DUTY (x)(uint32_t)((x * M3_PWM_FREQ)/ 1000)

#define M3_PWM_FREQ (SysCtlClockGet (system_clock_speed)/2000)

值为%x10。 例如、 999 = 99.9%

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

    您好!

    这是预期行为、并在技术参考手册的第7.2.4.5节"常见配置波形"中进行了介绍

    如果您在零上加载 CMPA/CMPB、则使用大于或等于1的 CMPA/CMPB 值。 如果在周期上加载 CMPA/CMPB、则使用小于或等于 TBPRD-1的 CMPA/CMPB 值。 这意味着在一个 PWM 周期内将始终有一个至少为一个 TBCLK 周期的脉冲、当非常短时、这个脉冲往往被系统忽略。 如果您的应用不接受这种情况、请使用中描述的方法    

    但愿这对您有所帮助。

    Hrishi