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.
工具与软件:
我有4个需要完全对齐的 PWM (0-3)。 PWM0在零时生成 SyncOut、所有其他 PWM (1-3)均启用相位、同步配置为 EPWM0 SyncOut。 我还将所有 TBPHS 设置为0。
当使用示波器时、PWM0和 PWM1-3不同步约5ns (或1个时钟周期@ 200MHz)。 因此、从 PWM0生成 SYNCOUT 并由其他 PWM SYNCIN 接收的时间看起来、已经过去了1个时钟周期。
PIC 显示了 PWM0与 PWM2的比较。 PWM2滞后于 PWM0。
是否有建议的解决方案可使下游 PWM 恰好同步到 PWM0?
下面是寄存器的转储:
感谢您的支持
我认为这是一个公认的(但没有详细记录)现象。
我在 C:\ti\mcu_plus_sdk_am263px_10_01_00_34\examples\drivers\epwm\EPWM_synchronization\EPWM_synchronization.c 中找到以下文件
/* When the Sync Pulse arrives, the rising edge is detected and the EPWM holds the state of the Sync singal present. The phase shift value is loaded to the TB Counter of EPWM on the next valid TBCLK. This may cause a TBCLK delay on the "Synced" PWM with the "Syncing" PWM. Hence the 1 count difference in the validation */
我在 TRM 中找不到类似的注释、但这并不是说它不存在。 就像我说的、没有详尽的文档记录。
您好、Huey、Kier、
我需要与我们的 ePWM 软件专家一起查看此内容、ePWM 软件专家将于星期一回来。 如果 TRM 缺少此方面的信息、我可以努力将其添加到将来的修订版中。
此致、
Ralph Jacobi
Huey、您好!
我能够与另一位熟悉您看到的行为的 ePWM 专家进行了交谈。
正如 Kier 所说、这是一个已知问题、并且根据 SYSCLK 速度、你应该使用 TBPHS 值1或2。 根据此处的延迟、TBPHS 值1可能适合该情况。
或者、另一种解决方案根本不使用 SYNC 功能。 启用 TBCLKSYNC 后、PWM 应同时启动。
此致、
Ralph Jacobi
感谢您的响应。 可以看到、使用递增计数器时、延迟为1 Ttbclk。 但是当使用向上/向下计数时、SYNC 会偏移2 Ttbclk。 t Fpwm 为40kHz。 您能否确认使用递增/递减计数器会产生2倍的偏移?
我很好奇我们是否可以使用比较 D 来生成同步输出信号。 EPWMSYNCOUTEN [CMPDEN]=1。
我的问题是、使用递增/递减计数器时、哪个比较会触发同步脉冲? 向上计数、向下计数、还是这两者都进行?
谢谢。
尊敬的 Huey:
从内部模块到目标模块的延迟为:
递增/递减计数器不应将偏移加倍。
有一个 syncdir 位用于确定事件后计数是向上还是向下。 这可能会影响该行为。 您能否检查两种位设置、并根据检查偏移是否有差异?
此致、
Ralph Jacobi
尊敬的 Ralph:
我使用了 epwm_synchronization 示例、并按顺序执行以下示例。
TBCLK = 200MHz /(8*1)= 25MHz -> Ttbclk = 40ns。 已比较 EPWM0 -> EPWM1同步。
1.将 EPWM1设置为无相移。
2.改为加/减计数器模式。
3.将 TBCLK 更改为200MHz。
这确认了您的以上评论。 2个延迟是由于 TBCLK=EPWMCLK 造成的。 它不依赖于 syncdir 或时钟模式。
感谢您阐述 SYNC 的工作原理。
2个问题:
谢谢
PS。 我已经决定根本不使用 SYNC 功能、只需确保在初始化期间启用 TBCLK 时所有 TBCTR 都为零。 如果我们需要在操作模式下进行同步、那么了解 SYNC 的工作原理会很好。
尊敬的 Huey:
这是预期的芯片功能吗? 我在 TRM 和勘误表中均未提及此行为。[/QUOT]是的、这是预期的芯片功能、我们的 TRM 遗漏了一些与此相关的注释、ePWM 审阅者在发布最后版本之前没有发现此遗漏。 我们将在下一个 TRM 版本中解决该问题。
[/quote]使用 CMPD 通过递增/递减计数器为 EPWM0生成 SYNCOUT 时、同步脉冲是在递增计数还是递减计数时生成? 这是可配置的吗? [报价]编辑: 下面的评论仍然至少部分相关、但在发布回复后我意识到该问题特定于 CMPD 模式、这与我最初的回答略有不同。 当使用 CMPDEN 启用 EPWMxSYNCO 信号时、它将在向上或向下计数时触发。 我不认为这是可配置的、但我会与另一位专家进行验证。
因此、 不会在计数的特定部分期间生成同步脉冲。 当 SYNC 脉冲在向上/向下计数模式下发生时、会有一个位决定 SYNC 之后向上/向下计数器的方向。 该位是 TBCTL 中的 PHSDIR 位。
如果 PHSDIR = 0、则 当 SYNC 脉冲发生时、时基计数器 开始递减计数。
如果 PHSDIR = 1、则 当 SYNC 脉冲发生时、时基计数器 开始 递增计数 。
第 7.5.6.4.6节时基计数器模式和时序波形中提供了这方面的示例。
此致、
Ralph Jacobi