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.

[参考译文] 全局加载和一次性加载

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1343839/global-load-and-one-shot-load

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

文章《应用报告 利用新型 ePWM 功能实现多相控制》由 Aki Li 和 Nima Eskandari 介绍  TIDA-00961。

从何处获取   TIDA-00961代码? 谢谢

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

    没关系--我找到了代码,我对全局加载和一次性加载有一些疑问

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

    文章《应用报告 利用新型 ePWM 功能实现多相控制》由 Aki Li 和 Nima Eskandari 介绍  TIDA-00961  具有 以下代码的示例工程:


    EPWM_setGlobalLoadTrigger (base1、EPWM_GL_LOAD_PULSE_CNTR_PERIOD);

    EPWM_setGlobalLoadTrigger (BASE2、EPWM_GL_LOAD_PULSE_SYNC);

    因此、 "base1.TBCTR = period" 是 "全局加载时刻"?  它是否生成了 某种类型的"全局加载同步脉冲"、其他 ePWM (本例中为 BASE2)可以在这同一个"全局加载时刻"用于"全局加载"、如"EPWM_GL_LOAD_PULSE_SYNC"所示?

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

    另一个问题:  

    TIDA-00961  示例工程 具有 以下代码:


    EPWM_setGlobalLoadTrigger (BASE2、EPWM_GL_LOAD_PULSE_SYNC);

    这意味着 BASE2的"影子到活动加载"在"同步事件"时刻发生。 该 "同步事件"是如何生成的?

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

    尊敬的 Quentin:

    很抱歉这么晚才回复。 您可以配置同步事件。

    对于每个 ePWM 模块、您可以定义 同步源(称为"SYNCI"的同步输入)和同步输出(称为"SYNCO")。 这些可以是两个完全独立/独立的信号、也可以直接将输入信号作为输出进行传递(例如、使用该输出信号来同步另一个 PWM 模块)。

    您可以看看 TRM 图18-7。 时基计数器同步方案、您可以了解 ePWM 模块如何使用信号、以及信号如何传递给同步其他 ePWM 模块。 例如、EPWM1可从外部信号获取其同步信号。 它还可以为其他 ePWM 模块(在 SYNC 线路下方)输出 SYNC 信号以用作同步源。 例如、您还可以选择一个 counter=0事件作为 EPWM1同步输出源。 这意味着每次 EPWM1的计数器匹配"0"时、将在同步输出线路上生成一个脉冲、您可以在其他 ePWM 触发特定操作中将该同步脉冲用作同步输入"事件"。 因此、总的来说、可根据您的应用/需求通过各种事件来生成 SYNC 信号。 这将导致单个脉冲、该脉冲可用于触发其他操作(例如相移等)发生

    我还想强调一下我们的一些资源、这些资源提供了有关这些主题的一些有用信息。

    1.  ePWM 开发人员指南、介绍了使用所有各种子模块的 ePWM 设置非常清晰简单。 这包括操作限定符以及在时基子模块中设置同步(第3.3节)。 它展示了如何使用 SysConfig GUI 轻松配置此库、但也展示了 driverlib 代码。
    2. 另一个资源是 ePWM 视频系列。 你可以观看所有这些模块(这些都是很短的视频)、也可以跳至你遇到问题的子模块(例如时基子模块或动作限定器子模块)。
    3. 如果这些内容不够详细、 TRM  部分提供了有关应用这些内容的相当详细的说明、以下列举了一些可能对您有所帮助的内容:
      1. 18.4.3.3时基计数器同步
      2. 18.4.6时基计数器模式和时序波形

    请告诉我、这些内容是否有助于澄清问题! 如果没有、可以随时在这里发表评论、我很乐意提供进一步的帮助  

    此致、

    艾里森

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

    尊敬的 Allison:

     

    非常感谢您的详细阐述! 我理解了所有这些。

     

    但我的问题是专门针对 TIDA-00961 示例项目。 来自以下代码:

     

    EPWM_setGlobalLoadTrigger (base1、EPWM_GL_LOAD_PULSE_CNTR_PERIOD);

    EPWM_setGlobalLoadTrigger (BASE2、EPWM_GL_LOAD_PULSE_SYNC);

     

    我相信在 "base1.TBCTR = period" 的 时刻,"base1 ePWM"会执行它自己的全局加载,同时也会生成"SYNCO"传递到"BASE2 ePWM"作为其"SYNCI"。 因此、如果使用280049C、"BASE2 ePWM"会在接收到"SYNCI"时执行自己的全局加载、而该 SYNCI"比 base1的"SYNCO"晚2个时钟周期?  请您确认吗?

     

    谢谢。

    昆廷

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

    尊敬的 Quentin:

    很高兴之前解释的一切都很清楚!  

    是的、因此当器件 TRM 指出:

    因此、如果 BASE2 PWM 具有基于 SYNC 信号的全局负载、这也会产生一些延迟。 如果您对此有疑问、请告诉我。

    此致、

    艾里森

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

    谢谢 Allison、请关闭此案例