您好!
在安全手册 SPRUI78C 中提到了一个特性"使用 XBAR 的 ePWM 故障检测"。 是否有任何示例说明如何执行此操作以节省时间? 谢谢你
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.
您好!
在安全手册 SPRUI78C 中提到了一个特性"使用 XBAR 的 ePWM 故障检测"。 是否有任何示例说明如何执行此操作以节省时间? 谢谢你
您好!
感谢您的回答。
我的问题是、我们是否可以将其作为 OneShot tripzone 执行、或者它是否只能逐周期执行?
您如何配置 TZ1 &!TZ2器件? 它是这样的:
TZ1 -> ePWM_DC_TYPE_DCAH
TZ2 -> ePWM_DC_TYPE_DCAL
然后配置:
ePWM_TZ_DC_OUTPUT _A1 -> ePWM_TZ_EVENT_DCXL_HIGH_DCXH_LOW
或者如何操作? 因为这对我不起作用。
无论如何、当 PWM 输出被关闭并且两个 PWM 都处于零时、我不明白如何处理状态、因为它也会触发 tripzone 并且无法启动。
您好!
感谢您的回答。
嗯、我尝试过、但它对我不起作用。 下面是我配置的内容:
GPIO_setPadConfig (1、 GPIO_PIN_TYPE_STD);
GPIO_setPadConfig (12、GPIO_PIN_TYPE_INPin);
Xbar_setInputPin (XBAR_Input1、 1U);
Xbar_setInputPin (XBAR_INPUT2、12U);
重点是当我查看调试器时、我在启动时看到 PWM 关闭(两个输出都在逻辑0中):
但是、当我打开 PWM 时、我看到 PWM 引脚交替:
但 Xbar Input1和 INPUT2始终为逻辑1。 它不会改变。 它就像逻辑1中的锁存状态。
TripZone 从未激活。
您能提出建议吗?
[引用用户="Juraj Koys"]
GPIO_setPadConfig (1、 GPIO_PIN_TYPE_STD);
GPIO_setPadConfig (12、GPIO_PIN_TYPE_INPin);
Xbar_setInputPin (XBAR_Input1、 1U);
Xbar_setInputPin (XBAR_INPUT2、12U);
[/报价]
这是您的 ePWM 跳闸区域代码吗?
因此、您已经设置了 DCAEVT2和 DCBEVT2、以便使用 TRIPIN1/2和 TRIPIN3/6。 然后、您可以通过 TZA 操作清除 EPWM 低电平、通过 TXB 操作清除 EPWM 低电平。
TZA 和 TXB 信号来自 ORed OST 和 CBC 电路。
然后、您在 CBC 源中启用了 DCAEVT2。 您已将 CBC 设置为在 CTR=ZERO 时锁定以清除。
通过此设置、当 TRIPIN2为低电平且 TRIPIN1为高电平时、您将关闭 ePWM。
您将 TRIPIN1作为 GPIO1。
TRIPIN2为反相 GPIO12。
这就是您的配置、我看不到错误。
谢谢你。 我终于设法使它发挥作用了:-)所以我的问题得到了解决。
但是、使用此解决方案时存在一定的缺点。
如果我仅将 tripzone 配置为过压保护、我只需使用 ePWM_TZ_EVENT_DCXL_HIGH、以便每当过压比较器立即检测到过压时、tripzone 就会被激活。 直流条件 DCXL_HIGH 立即得到满足。
让我们假设我想保护器件免受过压和 H 桥短路的影响、如上所述。
我必须配置 EPWM_TZ_EVENT_DCXL_HIGH_DCXH_LOW、因此、每当过压比较器检测到过压时、只有在 DCXH_LOW 时才会激活跳匣区域。 这意味着我们可能会等待几微秒、让 PWM1A 更改其状态。
正确吗? 还是我错了?