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**** 2460850 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1482025/mspm0g3507-duty-cycle-of-first-pwm-period-using-shadow-compare

器件型号:MSPM0G3507

工具与软件:

嗨、
我正在设置一些中心对齐的 PWM 信号、并将其设置为使用影子比较功能、以便仅在发生归零事件时更新比较值。

它运行良好,但有一个奇怪:

第一个占空比似乎具有我似乎无法更改的任意长度。 第一个脉冲后一切都正常、但无论我写入寄存器的顺序如何、第一个脉冲都似乎不受影响。

下面是初始占空比设置为10%的屏幕截图、其中显示了该问题:

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

    您好!

    这是有趣的行为。 您能否将您的项目发送到这里、以便我们对其进行测试和检查。  

    此致、

    Cash Hao

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

    您可能应该 在调用 DL_Timer_setCaptCompUpdateMethod ()之前调用 DL_Timer_setCaptCompUpdateValue() 。 由于 CCUPD 最初为0 (绕过影子)、设置将立即发生。

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

    您好!

    我先看一下这段代码。 仅供检查、是否可以在此处直接提供项目?

    此致、

    Cash Hao

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

    e2e.ti.com/.../60622.project.zip
    给你。

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

    如您在代码中所见、我目前正在测试内容、使用 SysTick 生成中断以更改加载值和比较值。
    有趣的是、如果我不对这些值进行任何更改、而只停留在初始值中、并在设置加载/比较值后启用影子寄存器、我可以得到此结果;


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

    有趣的是,我认为我找到了一个有用的东西,在这些步骤:

    1) 1)设置初始比较和加载值。
    2)启用阴影功能。
    3) 3)再次设置初始比较和加载值。

    我只是想知道在启用影子寄存器之前和之后是否必须同时设置它们是否合理?

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

    您好!

    嗯、我认为不需要设置两次初始比较和加载值。 明天让我运行一些测试、检查一下这种行为。  

    此致、

    Cash Hao  

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

    TRM 表27-16中的条目"0"并没有提及"存储在影子比较寄存器中"、这是事实。 在我看来、它从来没有通过影子寄存器被(立即)置位过。  

    不错的地方

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

    您好!

    我确实观察到我这边的这种行为。

    当我在启用影子功能后再次设置 CC 值时、问题就会消失。 无需在此处再次设置加载值。  

    因此、当前解决方案将在启用影子函数前后两次设置 CC 值。

    此致、

    Cash Hao