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.

[参考译文] TMS320F28375S:TMS320F28375S 上与 EPWM2、EPWM6和 EPWM8的同步问题

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1369694/tms320f28375s-synchronization-issue-with-epwm2-epwm6-and-epwm8-on-tms320f28375s

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

工具与软件:

团队、您好!

我正在使用 TMS320F28375S 微控制器、并为我的应用选择了 EPWM2、EPWM6和 EPWM8。 我在同步这些 ePWM 时面临问题。

我能够以适当的占空比正确生成 ePWM、但我的 ePWM 不是同时启动。 我希望 EPWM2、EPWM6和 EPWM8同时启动、但 myEPWM6在 EPWM2之后启动、8在6之后启动。

从参考手册的同步图可以看出、EPWM1、EPWM6和 EPWM7自然同步 EPWM2。 但是、我的设置中未使用 EPWM1、EPWM5和 EPWM7。

能否提供有关如何同时同步 EPWM2、EPWM6和 EPWM8的指导?

PWM 输出也有一种特定的行为:-如果我将 EPWMxA 的占空比设置为50%、将 EPWMxB 的占空比设置为40%、那么 EPWMxB 在 EPWMxA 完成其5%的周期后变为高电平、并在 EPWMxA 剩余5%时变为低电平。

例如、对于10kHz 信号:

- EPWMxA 有一个100微秒的周期。 它在前50微秒内保持高电平、在后50微秒内保持低电平。

- EPWMxB 在前5微秒为低电平,然后变为高电平(100微秒的5%),并在45微秒时变为低电平(在 EPWMxA 高电平周期结束前5%)。

下面是一个更详细的示例:

- EPWMxA 高0到50微秒。

- EPWMxB 高5到45微秒。

这种行为是否正常、或者两者应同时开始?

谢谢!

谢谢。此致、

穆扎米尔·克雷希

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

    尊敬的 Muzammil:

     同步 ePWM 的一个方法是使用 ePWM 模块中的同步/相位硬件。  即 TBCTL。 SYNCOSEL 位和 TBPHS 寄存器。  这使您能够 同步 PWM 或 动态更改相位、而使用 TBCLKSYNC 方法时、相位在初始化时被静态配置。   但是、同步是通过控制器 PWM 模块(例如 EPWM1)进行的、以使的同步脱离、您在这里指定您不使用该同步。  

    我建议您一定要 使用的另一种方法是使用 TBCLKSYNC 功能来同步 ePWM 模块。  如果将 TBCTR 初始化为相同的值、然后使用 TBCLKSYNC 同时启动所有 ePWM 时钟、它们应对齐。 您已经在做这件事了吗?

    此致、

    艾里森

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

    您好 Alison:

    感谢您的答复。  

     同步 ePWM 的一种方法是使用 ePWM 模块中的同步/分相硬件。  即 TBCTL。 SYNCOSEL 位和 TBPHS 寄存器。  这使您能够 同步 PWM 或 动态更改相位、而使用 TBCLKSYNC 方法时、相位在初始化时被静态配置。   但是,同步是通过控制器 PWM 模块(例如 EPWM1)进行的,以使同步脱离,而您指定您在这里不使用该模块。

    虽然不能正确理解这一点、因为我使用 SysConfig 配置了 PWM、但

    另一个我建议您一定要做的方法是 使用 TBCLKSYNC 功能来同步 ePWM 模块。  如果将 TBCTR 初始化为相同的值、然后使用 TBCLKSYNC 同时启动所有 ePWM 时钟、它们应对齐。 您是否已经执行此操作?

    是的、我已经尝试过、现在我的 PWM 已正确同步。

    您能否澄清一下我在前面的邮件中提到的关于占空比的第二个困惑?

    谢谢。此致、

    穆扎米尔·克雷希

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

    尊敬的 Muzammil:

    很高兴听到它们已同步!

    每个通道(通道 A 与 B)的占空比将取决于您为 ePWM 配置的 TBPRD 以及 您为每个通道配置的操作限定符。 当您说将它们设置为50%和40%时、那么使用的 TBPRD 和行动限定符是什么? 根据行动限定符、您是否认为输出与预期不同? 您能否提供示波器捕获或图表来说明您看到的情况与预期情况?

    此致、

    艾里森

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

    您好 Allison:

    我正在 EPWM2A 和 EPWM2B 上生成10kHz PWM。 为此、我的设置如下

    通过此设置、我得到的波形是  

    在上图中、通道0为 EPWM2A、通道1为 EPWM2B。

    在图中、可以观察到 EPWM2B 在 EPWM2A 变为高电平短时间后变为高电平。

    我想这两个值会同时升高。

    我必须进行哪些更改才能获得该波形? 即两者同时变为高电平。

    谢谢。此致、

    穆扎米尔·克雷希

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

    尊敬的 Muzammil:

    您的配置在 CMPA-UP 上设置通道 A 为高电平、并在 CMPB-UP 上设置通道 B 为高电平。  CMPA = 2500和 CMPB 为3000。 通道 A 和通道 B 是一对(它们基于相同的 ePWM 实例、因此具有相同的计数器))、因此自然当计数器达到2500时、通道 A 会首先变为高电平、然后当计数器不断计数并达到3000时、通道 B 会随之变为高电平。 如果您希望两者同时变为高电平、则需要确保动作限定器值相同(有许多不同配置的操作限定器会导致这种情况、但例如、您可以在此处将 CMPA 和 CMPB 设置为相同的值)。  请注意、也可以将 CMPA 用于通道 A 和 B 动作限定符、因此您可以 根据需要将 CMPA-UP (或一些其他指定的计数器值)上的通道 A 和通道 B 设置为高电平。

    总的来说、我建议查看我们一些介绍 ePWM 模块功能的文档、以帮助您熟悉设置/输出:

    此致、

    艾里森