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.

[参考译文] TMS320F280049C:ePWM 的全局加载和开关频率的异步更新

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1606316/tms320f280049c-the-global-loading-of-epwm-and-the-asynchronous-update-of-the-switching-frequency

器件型号: TMS320F280049C

您好!

我们在使用 ePWM 全局加载时遇到问题、如“利用新 ePWM 的特性执行多相控制“中所述。我们可以使用一次性加载模式和全局加载模式、在控制 ISR 与 PWM 开关频率异步时、确保多个 PWM 模块中的所有寄存器在所选事件中都是最新的。 但在数据表中、我们在全局加载中提到、当启用高分辨率模式时、一次性加载模式将被禁用。 我认为、当开关频率是异步时、需要使用全局加载和单负载模式时、它是否会受到影响(修改后的寄存器包括占空比,高精度占空比,相位和高精度相位以及死区时间)? 如果有影响、当开关频率是异步的时、如何更新多个 ePWM 的寄存器?  

image.png

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

    尊敬的 Mingo:

    为了进行澄清、您有多个使用 HR 功能的 PWM、但是您尝试一次加载所有寄存器? 担心这不可能、因为使用 HR 时不应使用全局加载? 或者、当这对您的配置不符合要求时、您是否担心寄存器会被全局加载机制加载/影响?

    请注意、HR 不应与全局加载一起使用、但这并不是说 HR 会自动禁用全局加载。 您当前是否正在 为 HRPWM 启用全局加载?

    此致、

    Allison

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

    尊敬的 Allison:

    目前、我使用 ePWM 的多 HR 模式、并且由于我的更新频率与 ePWM 频率不一致、我尝试一次加载多个寄存器的值。 如何实现此功能? 尽管 EPWMXLINK 可以在多个 ePWM 中实现相同寄存器的同步更新、但这显然是不够的。 无法一次性加载同一 PWM 的不同寄存器更新。 因此、我目前正在寻找一种解决方案、目前正在使用单次触发模式。 对于一次加载多个寄存器的值、您有任何好的建议或替代的实现方法吗?

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

    Mingo,

    要解决您报告的问题、请参阅所附的映像、该映像实施了以下解决方法:

    1. 在 HRPWM 模式下、请勿使用使用 TBPHS 的 SYNC 功能、因为这也是 HRPWM 方法的限制、它可能会导致抖动(如果计数器或相移在 PRD 和零事件周围的 3TBCLK 内、则抖动是 3 TBCLK 的阶跃变化)。 配置 ePWM 时、请按照以下步骤保持同步:
      1. 首先禁用 TBCLK(使用 API:SysCtl_disablePeripheral (SYSCTL_PERIPH_CLK_TBCLKSYNC);)。其次、执行 EPWM 配置。
      2. 在最后一个启用 TBCLK 中(使用 API:SysCtl_enablePeripheral (SYSCTL_PERIPH_CLK_TBCLKSYNC);)。
    2. 为了模拟单稳态、将实现两个 ISR、
      1. 高优先级非可变频率 ISR1(在 LLC 的 FSW 下运行)、它只会更新 EPWM 值和动作限定器寄存器(考虑此代码操作具有确定性响应)。 这意味着您可以分析此 ISR1 并知道更新寄存器所需的确切时间。 该时间应该短于 此 ISR1 的 Min TBPRD(或 LLC 的 Max FSW)。 当计数器向上计数时、此 ISR1 由 CMPC 事件触发。 寄存器更新完成后、直接写入 (非影子)CMPC = 0xFFFF (饱和)、除非固定频率 ISR2 更新 CMPC 以触发该 ISR1 来更新寄存器、否则不会触发下一个周期。
      2. 固定频率 ISR2 、用于执行控制律计算、并且优先级低于可变频率 ISR1。 当它完成所有计算时、它直接写入 ISR1 的变量的“CMPC=TBPRD-20"(“(其中(其中 20 个计数是 ISR 延迟)、
    3. 此配置使用向上/向下计数器方法、将 CMPB 用于相移、并将 CMPA 用于占空比控制。 由于两个边沿位置都是以 HR 阶跃控制的、因此相移和占空比都将是精确的。
    4. HRPWM 方法有一些限制、即 CMP 值不能接近 TBPRD 或 0 ~3TBCLK。 这种方法也考虑了这种限制。
    5. HRPWM 方法其他限制是您可以在 HR 模式下使用周期/占空比、或者在 HR 模式下使用相移。 不能同时使用这三个组件。 在以下方法中、我们仅通过更新 TBPRD/CMPA/CMPB 来使用周期/占空比控制、并且在 HR 模式下仍可在没有抖动的情况下实现相移、50%占空比和周期控制。
    6. 这是三相交错实现、您可以更改值以创建自定义相移和占空比。

    如果对此实现有任何问题、请告诉我。  

    此致、

    Sumit

    e2e.ti.com/.../3_2D00_phase-interleaved-LLC-PWM-update-using-two-ISR.pdf

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

    好的、非常感谢、Allison。 我将进一步研究。