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.

[参考译文] TMS320F28377D:ePWM OSHTSYNC 澄清

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1278383/tms320f28377d-epwm-oshtsync-clarification

器件型号:TMS320F28377D

大家好!

我正在设计一种方案、希望 epwm1 通过 EXTSYNCIN1同步到外部脉冲。 EXTSYNCIN1的源 实际上是频率锁定到 SYSCLK、我知道它的周期是多少、因此我只需要一个同步事件来对齐  epwm1的时基。 从那时起、事情将通过死算保持锁定状态。

我的计划是设置 epwm1 使其能够自由运行、但 EXTSYNCIN1最初会通过 INPUTXBAR5连接到未绑定的 GPIO、以防止 SYNCI 发生。 然后、当我想同步时、我可以执行以下操作

但是在读取 TRM 时、我注意到了 TBCTL2中的 OSHTSYNC 和 OSHTSYNCMODE 位。 TBCTL2表似乎是提及这些位的唯一位置、但它们听起来是实现我所需内容的更好方法(无需循环轮询 TBSTS.SYNCI)。

我只能在 E2E 上找到关于这些位的另外几个问题。 该线程 提示"单触发同步输入将立即发出。 如果已启用。" 这不是我需要的。 但对我来说、这一点不太合理... 它与 TBCTL 中的 SWFSYNC 有何不同?

另一个线程 似乎建议 OSHTSYNC 按照我的要求执行它。 但该主题与 F28002x 器件有关。 F28002x 的 TRM 对该函数有更详细的描述、但存在许多其他差异、包括 F2837x TRM 中未提到的整个寄存器。 《 C2000实时控制 MCU 外设参考指南》中的表3-30指出这两种器件都具有4类 EPWM、但也指出它们之间存在一些差异...

如有任何帮助,将不胜感激。

此致、

迈克

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

    尊敬的 Mike:

    您认为 OSHTSYNC 是实施同步方案的更好方法。 您可以将 OSHTSYNCMODE 设置为1以启用一次性同步模式。 然后、只要 OSHTSYNC 设置为1、就会根据外部同步源的时序允许单个同步脉冲生效。

    SWFSYNC  的不同之处在于: 当将1写入 SWFSYNC 时、软件强制立即发送同步脉冲。 相反、OSFSYNC 同步功能支持由另一个源驱动的一次性同步脉冲(而不是像在 SWFSYNC 中那样立即生效)。 这意味着您可能会向 PWM 模块发送许多外部同步信号(例如使用 EXTSYNCIN1)、但只有在  外部同步脉冲发生之前将 OSHTSYNC 位设置为1时、才会出现单次同步信号。 我知道您提到的第一个主题的措辞有点误导、因此希望这可以帮助您弄清这一点。 不久之后、我们还会将以下图表添加到器件 TRM 中、以防您觉得它有用:

    如果您对此还有其他问题、敬请告知。

    此致、

    艾里森

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

    您好 Allison、感谢您的澄清。

    有关您的图表的另一个问题:模块的一个短同步模式似乎 将在该模块的同步输出(EPWMxSYNCO)上生效、而不是在其同步输入(EPWMxSYNCI)上生效。 如果是这种情况、对于 ePWM1、它将不会阻止多个 EXTSYNCIN1事件影响 ePWM1的时基。 但这样、这些 EXTSYNCIN1事件中只有一个将进一步传播到 ePWM2、依此类推。 是这样吗?

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

    尊敬的 Mike:

    是的、您在这里的理解是正确的。 在 本例中、如果您尝试为 PWM 选通 SYNCI、则可以进行调整、从而使用 PWM2。 PWM1本质上是一个虚拟 PWM、用于门控同步信号传播到 PWM2。 这仍然会 为您节省  "for"循环轮询 SYNCI 的软件开销(尽管轮询"for"循环仍然是一种功能性的选通方式)。 如果您需要进一步说明、请告诉我。

    此致、

    艾里森

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

    尊敬的 Allison:

    好的、听起来不错。 我已经计划将 ePWM1保留为"虚拟"、这只会将同步事件传递给另一个 ePWM。

    谢谢!

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

    "我想,我不会骗你的。" 我将 ePWM1设置为一次性同步模式后、它将按预期在下一个 EXTSYNCIN1事件上传播一个 SYNCO (我将使用 GPIO6直接观察 SYNCO)。 但之后、即使我再次设置 OSHTSYNC、也不会再发生 SYNCO。 即使通过 SOFTPRES2复位外设、也不会脱离此状态。 我可以从 ePWM1产生更多 SYNCO 事件的唯一方法是禁用一次性同步模式(OSHTSYNCMODE=0)或进行器件复位。

    您是否确定一次性同步模式实际上可用于 F2837xD?

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

    尊敬的 Mike:

    在允许单个同步脉冲后、OSHTSYNC 位会自动清零至‘0'。 清除该位后、应该能够再次向 OSHTSYNC 写入‘1以重置/重新打开栅极、并允许随后的一次性同步脉冲(可以重复此周期)。 这应该适用于器件、因此让我们尝试找出问题。 在首次使用 OSHTSYNC 后、您何时"设置"它?您使用的是什么计数模式? 为了说明这一点、 您是否尝试在 ePWM 上执行多个一次性同步事件? 是否 ePWM1能够识别同步输入信号、但不会将同步输出传播到下一个 ePWM? 或者 ePWM1根本不识别外部同步输入吗?

    此致、

    艾里森

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

    您好、Allison。

    当我 通过调试器观察 OSHTSYNC 时、它始终读为零。 TRM 还将其描述为  R-0/W1S。 从外设寄存器中看似乎没有任何方法可以确认一次性锁存器的状态。

    这是处理此任务的代码片段。 在此之前、ePWM 外设会被复位和重新配置、并且可以自由运行。 GPIO6已设置为显示来自 ePWM1的 SYNCO 脉冲。 此例程通过将两个 GPIO 连接在一起(GPIO31是 extsyncin1、我用 GPIO23驱动它)来生成自己的 EXTSYNCIN1:

    我在器件复位后第一次运行此示例时、它会按预期工作、我看到 SYNCO 脉冲、我看到时基复位(通过查看与 epwm1同步的其他信号)。 但在后续尝试时、似乎 EXTSYNCIN1被忽略。 如果我在第19行设置一个断点并 通过调试器手动清除 OSHTSYNCMODE、则会再次检测到 EXTSYNCIN1。

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

    尊敬的 Mike:

    非常感谢您分享这些信息和您的 配置。 我一定会  在周一调查这种行为的原因、并在一天结束前为您提供最新信息。 请随时在同一时间内发送任何进一步的更新。

    此致!

    艾里森

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

    尊敬的 Mike:

    我需要更多时间来继续研究这一问题。 请等待至明天进行更新。

    此致!

    艾里森

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

    尊敬的 Mike:

    感谢您的耐心等待。 是的、 由于自动清除、OSHTSYNC 将始终读取0、因此 SYNCI 位是指示发生了外部同步事件的锁存器。  您是否曾尝试在 上述代码片段中的注释"//SO 等待到检测到 TBSTS 中的 SYNCI 位"之后的"while (EPwm1Regs.TBSTS.bit.SYNCI==0);"中重新添加? (仅 为了进行验证以查看是否仍在检测 SYNCI)。 此外、 您是否能够提供 SYNC 输入信号和 PWM 信号的示波器截图以进一步验证 SYNCIN 脉冲是否正常工作?

     您的外部同步信号的周期/频率是多少? 当您尝试在首次同步后重置/重复使用 OSHTSYNC 时、此值是否保持不变(如在中所示、当这些信号在首次同步后已对齐时、您是否尝试同步这些信号?)? 另一个可能会有所帮助的尝试是、如果您在第一次同步到下一次尝试同步之间更新/更改程序内 PWM 的 TBPHS 值。

    我能问您为什么要在上面列出的函数中启用 EXTSYNCIN1、然后禁用它(并且这两个都是在您使用 OSHTCYNC 之后)? OSHTSYNC 模式无需启用/禁用 SYNC 信号、即可控制 SYNC 信号的传播。 在再次调用此函数之前是否已重新启用外部同步? 很抱歉有所有问题、只是想在这里了解更多背景信息来解决。

    此致、

    艾里森

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

    尊敬的 Allison:

     当我将代码复制到消息中时、while (EPwm1Regs.TBSTS.bit.SYNCI==0)行实际上是一个拼写错误、它应该在等待 SYNCI==1、而不是 SYNCI==0。

    在代码的该点(在我通过 INPUTXBAR5连接 EXTSYNCIN1之前)、TBSTS.bit.SYNCI 始终清零。

    目前、外部 SYNC 信号只是由 GPIO23 (带有宏 DBG2_SET ()和 DBG2_CLR ())生成的单脉冲。

    启用/禁用 EXTSYNC1的代码可能是多余的、尤其是 因为我要在每次重复时手动对 EXTSYNCIN1脉冲一次。 我已经反复讨论、直到 OSHTSYNC 模式的问题得到解决。

    我获取了所看到的一些示波器捕获。  重要的通道包括:

    D2:这是驱动 EXTSYNCIN1的信号(GPIO23 驱动 GPIO31)

    D7:这是 SYNCO (GPIO6)

    D6:这是由 ePWM2产生的占空比为50%的波形、该波形与 ePWM1同步。 通过此设置、D6的上升沿应该在同步发生时立即发生(到处都有几个周期的延迟)。

    前三个图像未 设置 OSHTSYNCMODE 或 OSHTSYNC。 首先、我们非常放大地查看 EXTSYNCIN1置位(D2下降)的时刻。 SYNCO 在通道 D7上显示为短脉冲。 而 ePWM 输出边沿(D6)紧接着、正如预期的那样:

    这里再次放大显示了相同的设置。 从这里我们可以看到 D6相位与 EXTSYNCIN1之间的同步。

    如果我再重复几次,无限持续,它看起来像这样。 我在 D2的下降沿触发(导致 EXTSYNCIN1)、该点之后的一切都非常同步、即使之前的相位已经全部同步。

    接下来、 我对设置 OSHTSYNCMODE 和 OSHTSYNC 行取消注释、然后重新加载代码。 当我第一次尝试实验时,它似乎工作,和以前完全一样:

    但在后续尝试时、I EXTSYNCIN1似乎被忽略。 不会出现 SYNCO 脉冲、ePWM 输出的相位不受影响:

    如果我对无限持续执行多次重复、很明显、没有任何内容同步:

    再说一次、我想重申的是、在每次重复实验之间、我实际上是要重置 ePWM 外设、并从头开始重新配置它们。 但即便如此、 当使用 OSHTSYNCMODE 时、相关内容显然即使通过外设复位也持续存在。

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

    非常感谢您提供的信息和示波器截图、Mike、我看到了您遇到的问题。 如果您说您正在"对 ePWM 外设进行复位并重新配置它们"、那么执行此操作时究竟会发生什么情况? 您是完全重新加载程序还是执行 CPU 复位? 我 也在尝试自己重新出现这个问题、但您是否还可以向我发送您的代码和配置以便我能够使用您的设置来对其进行调试?

    此致、

    艾里森

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

    尊敬的 Allison:

    通过  SYSCTL_resetPeripheral (SYSCTL_Periph_RES_EPWM1)复位外设、即表示外设、该外设使用 SOFTPRES2寄存器位。 我不会重置 CPU 或重新加载代码(除非我提到更改代码以使用 OSHTSYNCMODE)。

    使用上面的第六个图进入该状态(其中已设置 OSHTSYNCMODE 并且已发生一个 EXTSYNCIN1)后、 在我通过调试器清除 OSHTSYNCMODE 或对 MCU 进行热复位或冷复位之前、似乎不会再发生 SYNCI 或 SYNCO。

    我正在定制电路板上对此进行测试、处理 EPWM 初始化的代码对于很长的初始化例程来说是一个相对较小的代码、因此我不能轻松地将其简化为极小的测试用例。 这是一个更完整的代码块、可复位 ePWM1、对其进行配置、启动其运行、然后尝试通过切换 GPIO23来生成 EXTSYNCIN1。 但这不包括任何 GPIO 或 SYSCTL 配置。

    看起来我在 启动 EPWM 时基后通过设置 CpuSysRegs.PCLKCR0.bit.TBCLKSYNC 来立即发出 SWFSYNC 。 这是从旧得多的初始化代码版本保持的。 "我不知道,但我不知道,你是不是在担心我。"

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

    尊敬的 Mike:

    感谢您分享您的计划的更多内容。 我认为 只要 OSHTSYNC 被置位、并且您在尝试同步之前向该位写入"1"、SYSCTL_PERIPH_RES_EPWM1)就不会影响 OSHTSYNC 的性能、即使只能从它读取0也是如此 (这样、通过写入"1"、您仍然可以将其设置为允许单个同步脉冲传播。) 我将根据您的程序的其余部分开发一个测试用例、并尝试找到问题发生的位置。 请最晚在星期二之前收到我的回复。 同时、如果用户可以尝试省略程序的任何其他不必要部分、例如 SWFSYNC 或启用/禁用 EXTSYNCIN 路径、以查看这些部分是否以某种方式 干扰了 OSHTSYNC 设置、这可能会有所帮助。 如果您发现 任何进一步的信息、请随时在此处更新。

    此致、

    艾里森

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

    尊敬的 Mike:

    只是想更新你:我能够运行一个剥离的测试用例,似乎 OSHTSYNC 功能像预期, 但是、当我尝试发出  SYSCTL_resetPeripheral (SYSCTL_Periph_RES_EPWM1)时、它会在测试中中断 EPWM1功能、因此我仍需要做更多的挖掘、以了解在执行外设复位时究竟会受到什么影响、并会向其他人咨询。

    还有一些后续问题:您曾提到要在两次重复之间重置外设、但我想澄清一下、 您那时是否重复调用了 EPWM INIT? 我还想问一下您是否有具体的理由、为什么要在程序中实施外设复位? 它仅用于测试目的还是属于您的开发流程的一部分? 此外、您是否还尝试移除启用/禁用 GPIO 和 SWFSYNC?

    此致、

    艾里森

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

    尊敬的 Allison、感谢您坚持这样做。

    我要重置外设的原因是公平的问题。 有关背景信息、请参阅该较早的主题。  https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/980873/tms320f28379d-initializing-epwms-while-tbclksync-0

    在我的应用中、整个实时电源控制功能(使用 EPWM、ADC、CLA 等)需要能够在 MCU 复位之间多次启动、停止和重新启动。

    最初我没有进行外设复位、但观察到在运行 ePWM 后停止它、然后重新启动它、有时会看到虚假行为、因为 ePWM 内的某些状态机未被正确"清理"。 例如、AQ 状态、事件计数器、活动和影子寄存器... 有很多状态无法通过读取任何寄存器来确定、因此只有在感觉到它们的不利影响后才能注意到它们。 手动重置这些位/寄存器中的每一个使初始化器代码的增长非常大、即使这样也无法100%正常工作。 外设复位看起来是合理的方法。 我将为 ADC 执行同样的操作(它也具有一些内部状态、否则很难重置)。

    如果外设重置也有盲点、则会很遗憾。  现在,我的偏执狂回来了。。。

    此外、您是否还尝试移除启用/禁用 GPIO 和 SWFSYNC?

    我一定可以尝试移除 SWFSYNC、并检查它是否会影响任何东西。 不过、GPIO 这个词具体是什么意思? 在我的设置中、如果我不使用 GPIO23来控制 EXTSYNCIN1、那么无论发生什么、都不会看到任何同步事件。

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

    尊敬的 Mike:

    外设复位应按预期清除所有寄存器设置。 您或许能够为您的计划提供更多背景信息吗? 即、在什么条件下您要调用 ePWM INIT 函数(具有外设复位功能)、以及在每次重复调用 INIT 以复位 ePWM 外设之间会发生哪些其他设置/函数? 能否为 PWM 和 GPIO 配置以及调用 ePWM 初始化的主循环提供更多的代码? 我想知道是不是有其他干扰 OSHTSYNC 的东西、还是缺少其他东西。 只是想了解程序的整个流程、因为通常还有其他东西以某种微妙的方式连接在一起。

     我主要是指 您在代码中同时连接/断开 GPIO23和 GPIO31的时候、因为 OSHTSYNC 应该对外部同步进行门控、防止其传播到其他 ePWM 模块。 请告诉我您是否遇到过与此相关的任何不同行为。

    此外、您是否能够从第一次重复中捕获有效的所有 ePWM 寄存器设置、然后从下一次重复中捕获无效的设置? 如果可以的话、将寄存器从一个迭代直接比较到下一个迭代会很有帮助、以确保设置100%匹配、尽管我不明白如果您在复位后配置 ePWM 为什么不匹配。  

    此致、

    艾里森

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

    尊敬的 Mike:

    附件是我制作的可拆卸示例的代码、用于为 EPWM1重复执行外设复位+一次性同步脉冲以同步 EPWM1、EPWM2和 EPWM3。 一个 GPIO 使用 CPUTIMER ISR 进行切换、因此该 GPIO 可用作 EPWM1的外部同步源。 EPWM1通过 GPIO 切换为高电平来重复同步、但使用一次性同步模式 将除第一个同步脉冲之外的所有脉冲选通至 EPWM2和 EPWM3。 CPUTIMER 中断还会再次调用 EPWM1初始化(具有外设复位并重新配置 EPWM1)、启用一次性同步模式并设置 OSHTSYNC 位以再次传播单个同步脉冲。  我还在执行外设复位之前和之后检查了寄存器、并确保在外设复位后将它们恢复为复位值。

    e2e.ti.com/.../epwm_5F00_oshtsync.c

    e2e.ti.com/.../epwm_5F00_oshtsync.syscfg

    下面是该计划的一些范围截图、以帮助展示其功能:

    • 通道1 = EPWM1
    • 通道2 = EPWM2
    • 通道3 = EPWM3
    • 通道4 =来自 EPWM1的 SYNCOUT 脉冲(由 OSHTSYNC 选通;SYNCOUT 脉冲用作示波器触发器)
      • 通过 OUTPUTXBAR 路由的 SYNCOUT 输出

    启动程序后的第一个同步脉冲可通过全部三个 ePWM 进行传播:

    2.出现发送到 EPWM1的其他同步脉冲,但来自 EPWM2和 EPWM3的门控导致轻微的可见偏移:

    3.再次调用 EPWM1 INIT 后,EPWM1复位,因此在短时间内变为低电平。 一旦完成复位/重新配置且再次设置 OSHTSYNC、下一个同步脉冲就可以通过所有 ePWM 进行同步:

    该周期会重复、因为 GPIO 不断切换、我还循环调用 ePWM 1 INIT (EPWM1复位)。

    请告诉我、这是否对调试有所帮助! 不过、总的来说、我认为这证实了我们所设想的外设复位功能。 只要您在复位后重新配置 EPWM1、重新启用并设置一次性同步模式位、OSHTSYNC 就应该可以正常工作。

    此致、

    艾里森

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

    尊敬的 Allison:

    用于初始化/停止这些外设的代码有几千行、我怀疑它是否有助于了解这么多细节。

    不过、我可以提供更多详细信息。  对上述 EXTSYNCIN1事件的处理基本上是我初始化例程中的最后一步。 代码之后、我完全不在主循环中访问 ePWM 寄存器。 我仅使用 EPWM 来控制其他事件的时序、而这些时序是完全固定的(因此我不需要写入 CMPA 或 CMPB 来调整占空比等)。 我不使用跳匣区域、因此在初始化后应该会有任何影响 ePWM 的东西。 当我需要停止并重新启动外设(以便使它们与新的 EXTSYNCIN1事件同步)时、我首先发出重置到 ePWM 模块的命令。 我不停止他们的时基或做任何其他事情(在我的例子中,我看不出任何问题)。 我对某些其他外设(CLA、ADC、Pie 等)执行同样 的操作、但我怀疑其他外设会真正影响 OSHTSYNCMODE 操作。

    我的确尝试了您的建议、去掉 SWFSYNC、但没有注意到任何效果。

    但我做了另一个实验得到了积极的结果。 我删除了 testExtSyncIn1()函数的最后一行,其中我通过将 INPUTXBAR5更改为虚拟 GPIO 来断开 EXTSYNCIN1与 GPIO31的连接。  如果我这样做、那么 即使  设置了 OSHTSYNCMODE、我也会看到发生了 SYNCO 事件。 我还根据需要看到 ePWM2A 同步的相位。   不过、我对 INPUTXBAR5的这项更改为什么会与 OSHTSYNCMODE 进行这种交互没有任何解释。 也许你可以从这个线索中做一些解释...

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

    尊敬的 Mike:

    非常感谢您的回复。 如果您看到来自每个 EXTSYNCIN 的 EPWM1的 SYNCO 脉冲、即使 EPWM1应处于 OSHTSYNC 模式、 然后、在我看来、正确设置 OSHTSYNC 模式来仅允许单个脉冲通过而不是允许所有同步脉冲存在问题(这是您所说的情况吗? 或者、它是不是根据需要仅允许每个"请求"传输一个同步脉冲?)。

    我看到您在最后一行中从 INPUTXBAR 断开 GPIO -这些是否 在每次重复开始/之前重新连接(假设1个重复= EPWM 外设复位、然后发出外部 GPIO 脉冲作为 EPWM1同步源)? 我假设是、但如果不是、这将解释为什么您以前没有看到 SYNCO 脉冲-因为可能实际上没有 SYNCI 经过 INPUTXBAR 路由到 EPWM1。

    您是否有机会查看我上次回复中的代码和示波器截图? 请告诉我您的想法-希望它有助于确保您担心外设复位偏执狂。

    此致、

    艾里森