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.

[参考译文] TMS320F28377S:ePWM 加/减模式、AQCTLA.CAU=10 (设置)、CMPA 为>TBPRD、在计数器方向改变时输出强制为高电平

Guru**** 2478765 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/844015/tms320f28377s-epwm-up-down-mode-aqctla-cau-10-set-cmpa-is-tbprd-output-is-forced-high-on-change-of-counter-direction

器件型号:TMS320F28377S

您好!

ePWM 处于向上/向下计数模式、AQCTLA.CAU=10 (设置)、所有其他操作为00 (不执行任何操作)或01 (清除)。 CMPA 高于 TBPRD、因此永远不会匹配、无论是在递增计数还是递减计数时都是如此、但在计数器方向改变时输出强制为高电平。 是否为预期行为? 如果是、那么为什么在 AQCTLA/B 描述中没有记录它?

我希望实现用户安全更改频率。 错过一个脉冲是可以的、不能产生比允许的脉冲更宽的脉冲。 我更愿意将一个 PWM 周期 CMPA 设置为当前 TBPRD 从未达到的值。 我 清楚地看到的是、计数方向的变化会切换输出、而不应该改变。 在单向计数模式下、将 CMPA 设置为>TBPRD 按预期工作、永远不会发生操作、 为什么 不在双向计数模式下工作? 谢谢。

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

    这不应该发生。 您对 tbctr=prd 的操作是什么?

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

    感谢您的回复。

    正如我说过的、所有其他操作都不是行动:

               EPwm2Regs.AQCTLA.bit.CBU = AQ_NO_ACTION;
               EPwm2Regs.AQCTLA.bit.CBD = AQ_CLEAR;
               EPwm2Regs.AQCTLA.bit.CAU = AQ_SET;
               EPwm2Regs.AQCTLA.bit.CAD = AQ_NO_ACTION;
               EPwm2Regs.AQCTLA.bit.ZRO = AQ_CLEAR;
               EPwm2Regs.AQCTLA.bit.PRD = AQ_NO_ACTION;

    CMPA 脉冲的增加越来越短、直到 CMPA 超过 TBPRD、但脉冲不会消失、脉冲宽度会停止变化。  与其他 同步 EPWM 输出相比、上升沿似乎匹配 TBPRD。

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

    请参阅随附的可编译工程。 频率更低、但问题仍然与上述相同。

    e2e.ti.com/.../epwm2_5F00_updown_5F00_aqctl_5F00_cmpa_5F00_gt_5F00_tbprd_5F00_issue.zip

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

    EK、

    此行为在器件的 TRM 中进行了说明。 我在这里提供了摘录、方便您查阅。

    请注意、此表中有一个小错误、我已提交更正、表两列标题中均显示"CAD/CBD"。 左列的标头应为"Compare on up-Count Event CAU/CDU (对向上计数事件 CAU/CDU 进行比较)"。

    简而言之、即使您的值大于在递减计数模式或递增递减计数模式下运行时的周期、您也会在周期内收到匹配结果。 在向上计数模式下、您将不会收到匹配项。

    此致、
    Cody

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

    您好、Cody、

    感谢您的回复、回答正确、但没有什么意见。

    此行为在器件的 TRM 中进行了说明。

    嗯、我同意在桌子等树林中的某个地方提到行为、但不太同意这种解释。  图符合行动要求的子模块我认为与行为完全相反、甚至与您提到的表相反。 如果 有额外的 TBCTR=TBPRD 操作由 CAU 使能操作启用、 那么我认为  应该在图中以某种方式提到它、不是吗? 此外、我在 TRM 中的任何位置都找不到您提到的表的引用、难怪我没有看到它。 行动限定符描述和/或 CMPA/B 描述中的一些警告可能会有所帮助。

    在我看来、这种行为看起来像是操作限定符逻辑中的一些令人厌恶的错误、这样在 CTR_Dir 发生变化时会发生错误的 CMPA/CMPB 匹配、是不是吗? 也许我错了、如果是、您能提供哪些应用将从 TBCTR=TBPRD 的 PRD 操作限定符之外受益?

    我更改了逻辑、以利用从未发生的 CMPA=0操作、而不是将 CMPA 移到 TBPRD 以上。 现在似乎运行良好。

    谢谢、

    Edward

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

    爱德华

    我同意这一点在文档中有点 Burred。 在我们发言时、我碰巧正在对 PWM 文档进行全面检查、因此我将把它放在要更正的事项列表中。

    我还将查看这 一符合行动要求的子模块图、看看我是否可以对其进行澄清。 为了确保我看到的是正确的图:您有确切的图名吗?还是"符合操作要求的子模块"?

    既然我们有了这条开放的通信线路、您对 PWM 部分是否还有其他反馈? 即使这只是一个需要很长时间才能理解的东西、我们也可以更好地展示这种材料。

    据我所知、这是通过设计故意实现的。 它对于变频应用应该非常有用。 如果未实现、则当您缩短周期时、CMPx 事件可能会丢失。

    此致、
    Cody  

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

    您好、Cody、

    我指的是 spruhx5g 图14-19。 动作限定符子模块。 嗯、不是很好、但是如果 CMPA/...、有一些关于表行为的引用的注释 将有所帮助。 使用该表中的一些有关例外情况的详细信息缩放 AQ 砖型将有所帮助。 可能是 CTR_Dir 与 CTR = CMPA/B 进行或其他操作时切换产生的短脉冲... 对于其他人而言、明确的内容可能不是很清楚、请谨慎进行更改。

    嗯、我在理解 PWM 方面遇到了问题、但我的理解仍然远远不够完善、但接下来的项目中弥补了所有差距。

    我现在记得的是 T1和 T2的动作限定符。 名称较短、因此难以搜索。 在图14-21 EPWMxA 和 EPWMxB 输出的可能操作限定器操作下、有 AQTSCRSEL 的引用。 最好将其链接(超链接或 PDF 中调用的任何内容)到 AQTSCRSEL 寄存器说明。 BTW 图14-21的用途是什么? 它引起了人们的注意、但在花了一些时间了解它可以提供的信息、而不是寄存器 AQCTLA 之后、AQCTLB 我想知道 是否需要该表。 BTW 文档很大、从未链接的寄存器名称切换到寄存器说明并不是很容易。 这是一个大问题、文本中提到的寄存器链接到寄存器的数量太少。 说明。

    谢谢、此致、

    Edward

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

    爱德华

    感谢您的反馈! 我将看到我可以做些什么来实现这些更改。

    我在搜索"t1"时也看到问题、"DCAEVT1"经常出现、无法使搜索有用。

    此致、
    Cody