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.

[参考译文] TM4C1294NCPDT:TM4C129x -器件勘误表 PWM #5

Guru**** 2604225 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1351508/tm4c1294ncpdt-tm4c129x---silicon-errata-pwm-5

器件型号:TM4C1294NCPDT

您好!

请说明勘误点 PWM#05生效的情况吗?

如果我们只在启动时更改一次加载值(PWMnLOAD)、是否可以观察到该行为?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [报价用户 id="603067" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1351508/tm4c1294ncpdt-tm4c129x---silicon-errata-pwm-5 "]

    如果我们只在启动时更改一次加载值(PWMnLOAD)、是否可以观察到该行为?

    [/报价]

    此勘误仅在 PWM 计数器计数期间动态更改比较值(针对占空比)时发生。 如果要在启动时更改一次加载值(PWM 周期)、则此勘误表不会对您产生影响。

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

    您好 Charles、

    只有在 PWM 计数器计数时动态更改比较值(针对占空比)时、才会发生此勘误。 [/报价]

    我们将动态更新比较值以控制负载。 在此期间、PWM 输出不被禁用、并且计数器正在计数以生成输出。
    应用中的加载值是一个恒定值、因此我们使用固定的 PWM 周期/频率。

    勘误表是否会产生影响?

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

    您好!

     此勘误表适用于多个 PWM 模块全局同步在一起的情况。 您是否使用多个 PWM 模块? 您是否将它们同步在一起? 如果两者都是、则勘误表适用于您、请按照解决方法操作。 否则、此勘误表不会对您造成影响。  

    另外、也可通过更新寄存器内容在多个 PWM 发生器之间进行同步
    采用以下三种方式之一:


    立即■μ s。 写入值立即生效、硬件立即动作。


    ■局部同步。 写入的值不影响逻辑、直到计数器的值达到
    终止时忽略值零。 在这种情况下、写入的影响会延迟、
    保证定义的行为并防止过短或过长的输出 PWM 脉冲。


    ■全局同步。 写入的值不影响逻辑、直到两个连续的事件
    已发生:(1)发生器函数的更新模式已针对全局
    设置为0、并且(2)计数器计数到值结束时
    PWM 周期。 在这种情况下、写入的影响会延迟到 PWM 周期结束后
    所有更新结束。 该模式允许更新多个 PWM 发生器中的多项
    并且在更新期间不会出现意外的影响;所有操作都是从旧值开始运行、直到
    它们都从新值运行的点。 负载和比较器的更新模式
    匹配值可以在每个 PWM 发生器模块中单独配置。 它通常使得
    在定时器计时时、可以通过 PWM 发生器模块使用同步更新机制
    在这些块中、这是同步的、但为了使该机制能够
    正常运行。

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

    您好 Charles、

    非常感谢您的详细回答。
    我已经收到了我们的软件工程师关于使用 PWM 生成的详细信息。

    您能不能介绍一下我们的实际用例?

    以下条件适用于我们的项目:

    1. 在初始化阶段仅设置一次 PWM 的加载值。 初始化后永远不会修改它(恒定 PWM 周期)。
    2. 比较器 A 和 B 的值通常在运行期间发生变化(以设置不同的占空比)。
    3. 我们使用全局同步模式(以同步比较器 A 和 B 的更改)。

    您知道勘误表 PWM#05在上述条件下对我们的项目是否有影响吗?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    1. 我们使用全局同步模式(以同步比较器 A 和 B 的更改)。

    [/报价]

    我认为您的软件工程师没有完全解释设置。 如果比较器 A 和 B 用于同一 PWM 发生器、则不需要它们之间进行同步。 换句话说、每个 PWM 发生器都有比较器 A 和 B、并且基于同一个时基、因为只有一个计数器。 当计数器递减计数时、当计数器的值等于比较器 A 或比较器 B 时、可采取相应操作。仅当使用多个 PWM 发生器时、才使用全局同步。 例如、 如果要在 PWM 发生器0和发生器3之间同步、并且希望发生器0的比较器 A 与发生器3的比较器 B 同步生效、在这种情况下、新比较值的更新在两个 PWM 发生器都启用之前不会生效 0和发生器3完成其周期。

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

    如果我们对比较器值 A 和 B 进行更改、则需要确保这两个值在同一 PWM 周期中生效。 因此、我们使用全局同步。 如果我们要使用本地同步、则会面临以下风险:我们在新 PWM 周期开始前立即设置比较器 A、而在该周期开始后立即设置比较器 B 值。 因此、在一个 PWM 周期中、A 和 B 的值不会按所需关系进行设置。

    请告诉我们、勘误表是否适用于前面所述的三种条件下的项目。

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

    您好!

     请再次阅读本地同步描述。 使用本地同步、对 CMPA 和 CMPB 的更新在 PWM 周期结束之前不会生效、直到一个 CMP 结束。  

    ■局部同步。 写入的值不影响逻辑、直到计数器的值达到
    终止时忽略值零。 在这种情况下、写入的影响会延迟、
    保证定义的行为并防止过短或过长的输出 PWM 脉冲。

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

    请注意、我们需要更改两个需要在每个 PWM 周期中彼此具有特定关系的值(比较器 A 和比较器 B)。 不能同时在比较器 A 和 B 寄存器中写入新值。 假设我们向比较器 A 写入一个新值、然后马上向比较器 B 写入一个新值。在大多数情况下、 但是、在我们更改比较器 A 之后、并且在更改比较器 B 之前、PWM 计数器有时会达到零值。如果发生这种情况、我们的一个 PWM 周期的 PWM 输出存在缺陷。

     

    请假设我们需要全局同步。 因此、以下条件适用于我们的项目:

    1. 在初始化阶段仅设置一次 PWM 的加载值。 初始化后永远不会修改它(恒定 PWM 周期)。
    2. 比较器 A 和 B 的值通常在运行期间发生变化(以设置不同的占空比)。
    3. 我们使用全局同步模式(以将更改同步到比较器 A 和 B)。

    请告诉我们勘误表 PWM#05在上述条件下对我们的项目是否有影响。

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

    您好!

     在这种情况下、请应用建议的权变措施。  

     同时也是一个头脑,我目前 OOO 有有限的访问互联网,直到下周二. 我的答复可能会有延误。