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.
您好、专家、
我的客户使用两个 MCU 进行 PWM 同步、mMCU 生成 sMCU 的 EXSYNCCOUT 事件、 波形如下(紫色波形 mMCU-GPIO37)、
在 sMCU 中、也将 GPIO37用于 PWM EXTSYNCIN1、并将 GPIO3用于 PWM EXSYNCCOUT 仅用于测试。
在 mMCU 和 sMCU 中、都将出现 PWM 中断 、并使用 GPIO 进行切换以指示 PWM ISR 何时发生、
如果 对 sMCU PWM EXTSYNCIN1引脚(GPIO37)使用 GPIO 鉴定模式、则 sMCU PWM ISR 与 mMCU PWM ISR 不匹配、这不符合预期。
但是 sMCU 中的 PWM EXSYNCCOUT 正确且与 PWM EXTSYNCIN1信号匹配、只有 PWM ISR 事件是错误的。
如果它们没有为 sMCU PWM EXTSYNCIN1引脚(GPIO37)使用 GPIO 鉴定模式、 那么一切都正常。
您是否可以将 GPIO 鉴定用于 PWM EXTSYNCIN1? 对此问题有任何建议吗?
由于您的 GPIO 鉴定期的不同、您的鉴定将会延迟、因此需要多次采集输入。 EXTSYNCOUT 也是一个非常短的信号。 您的 GPIO 限定周期将具有一个最大值、如果您执行该操作、则不应具有输出。
你好、Nima、
感谢您的回复。
PWM EXTSYNCIN1输入的信号具有 非常宽的脉冲、而不是非常短的信号、请参阅从 mMCU-GPIO37输出的紫色波形、sMCU EXSYNCCOUT 信号没有问题、只在 sMCU 上的 PWM ISR 有问题。
您如何处理 ISR、在开始时设置 GPIO、然后在结束时清除? 与我分享 ISR 代码!
你好、Nima、
当进入 ISR 时、两个 MCU 都将 GPIO59设置为0、最后将 GPIO59设置为1。
强、
在这种情况下、看起来 ISR 正在按时执行、但持续时间很短。 这就是我希望查看 ISR 内容的原因。
NIMA
你好、Nima、
问题是 ISR 在一个 PWM 周期内发生两次、下面以绿色箭头标记的 ISR 不应发生。 与 sMCU EXSYNCCOUT 信号不匹配。 对此问题有任何建议吗?
启用了哪些中断源? 此外、不需要的中断是否与 GPIO59完全对齐? 看起来它们被配置为独立。
NIMA
你好、Nima、
它们仅在 ePWM ISR 中清除和设置 GPIO59。有关更多详细信息、请参阅我发送给您的代码。
是否有中断嵌套? 您能否清除 ISR 末尾的 ACK 组标志?
此外、请将 EPwm1Regs.ETSEL.bit.INTSEL = 3; 更改为"1"而不是"3"。
当您有3个时。 在向上/向下计数模式下、每个 PWM 周期将获得两个中断。
是的、它们具有 中断嵌套、但 PWM 中断具有更高的优先级、并且可以嵌套 CAN 中断。
在 PWM 中断结束时、将使用以下代码清除 ACK:
EPwm1Regs.ETCLR.bit.INT = 1;
PieCtrlRegs.PIEACX.ALL = PIEACK_Group3;
客户已将 EPwm1Regs.ETSEL.bit.INTSEL = 3从3更改为1、但 仍有问题。
似乎设置相同、只删除 GPIO 鉴定配置、然后问题得到解决、在这些用例中 GPIO 鉴定的任何限制?
他们的 GPIO 鉴定设置是什么?
你好、Nima、
我们可以从我通过电子邮件向您发送的客户代码中找到、如下所示:
83 GpioCtrlRegs.GPBQSEL1.bit.GPIO37 = 1;//=0:同步到
您能否尝试模式0 (同步)并查看问题是否仍然存在? 0和3都可以正常工作。 但我将使用模式0。
是的、0和3都正常、但客户想知道为什么1模式不正常、对此有任何解释、要求客户不要使用模式1?
让我咨询一些设计专家、让您参与其中。
在电子邮件主题中处理此问题。