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.

[参考译文] MSPM0G3507:PWM 输出、初始脉冲比应该的宽度

Guru**** 2835675 points

Other Parts Discussed in Thread: LP-MSPM0G3507, SYSCONFIG

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1588068/mspm0g3507-pwm-output-initial-pulse-wider-than-it-should-be

器件型号: MSPM0G3507
主题: SysConfig 中讨论的其他器件

我们将在 standby0 模式下使用 LP-MSPm0G3507 平台与 LFCLK 搭配使用。  

重新启动和配置后、初始脉冲标称高电平输出和脉冲低电平会更宽、但我们不明白为什么。

红色迹线是 nRST、黄色迹线是 PWM 输出(应为 32uS)。 这里是 64uS。 其余脉冲正确。

 

有什么想法吗? 感谢您的关注和回复! 并提供帮助!

SDS00066.png 

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

    TIMG0 和 LaunchPad 的引脚 32

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

    尊敬的 Roger:

    如何输出此脉冲(预计为 32 μ s)? 您是尝试使用 PWM 功能还是仅在中断中切换 GPIO?

    您能否指出 MCU 在波形中的哪个阶段处于待机模式?

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

    这是 PWM 函数。

    PWM 计数和触发器在 syscfg...中设置

    以下代码是在设置 GPIO、SYSCTL、RTC 和 I2C 之后的代码。

    这是在 WFI 之前的时候。。。  

    // 05。 PWM 初始化
      SYSCFG_DL_PWM_0_init ();
      DL_TimerA_startCounter (PWM_0_INST);
      DL_GPIO_enableOutput (GPIO_PWM_0_C0_PORT、GPIO_PWM_0_C0_PIN);
    在将启用更改为计时器启动后、初始脉冲的时间为数十毫秒。
    任何建议都将受到欢迎。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Roger:

    GPIO 使能输出应放置在启动计数器之前、以确保 GPIO 在计数器启动之前准备好输出。 另外、请确保不要在 SysConfig 中选中“Start Timer“。

    此外、您将哪个时钟用作 TIMG0 源时钟? LFCLK 或 BUSCLK? 请注意、除 LFCLK 之外的所有高频时钟都将在 Standby0 模式下被禁用。 在本例中、您需要使用 LFCLK。

     如果您尝试在调试模式下进行测试、您是否还可以尝试脉冲宽度是否正常?

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

    谢谢你。

    是的、使用 LFCLK。  

    请详细说明调试模式与其他... 我会很乐意尝试其他模式 — 例如 Free Run??

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

    尊敬的 Roger:

    一个区别是 MCU 可能无法在调试模式下很好地进入低功耗模式(待机模式)。 对于自由运行模式、您只需为 MCU 上电、并让 MCU 在无调试访问权限的情况下自行运行。

    您是否尝试更改了脉冲的 PWM 周期? 预期值与测量值之间是否始终是 2 倍关系?

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

    奇怪的是、它仅在该初始脉冲下发生。

    即使只有一个脉冲、额外的宽度也会导致电池消耗问题。

    我想想一想“隐藏“它的方法。 假设这是一种“启动型问题“、我想看看这里。

    1) 启动计时器、输出被禁用。 然后、在脉冲发生后启用计时器。 (前导,中间,尾随)会有所不同。

    其他?

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

    尊敬的 Roger:

    很抱歉晚才回复。

    您所说的可能是一种权变措施。 由于脉冲是由 PWM 模块生成的、并且生成时间 可预测为。μ s

    对于此问题、您使用的是中心对齐计数模式还是向上或向下计数模式?

    您能否分享 SysConfig 设置的加载值以及更新程序中计数器时的加载值?

    我怀疑初始加载值可能与重新加载值不同。 (如果您始终可以看到第一个脉冲是预期时间的两倍)