工具/软件:
您好、
我想创建一个 ePWMxA 应为高电平有效、ePWMxB 应为低电平有效且占空比为 50%的脉冲。 我希望有一个死区、这样可以使关断时间更长、导通时间更短。 例如、B 下降沿 — 45ns 死区、A 上升沿 — A 下降沿 — 45ns 死区 — B 上升沿。
如何实现此目标是因为我会在.syscfg 中使用低电平有效互补设置反转、如果我选择高电平有效互补、则在初始化期间会变为高电平有效、这是不需要的。 有没有解决方案?
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.
工具/软件:
您好、
我想创建一个 ePWMxA 应为高电平有效、ePWMxB 应为低电平有效且占空比为 50%的脉冲。 我希望有一个死区、这样可以使关断时间更长、导通时间更短。 例如、B 下降沿 — 45ns 死区、A 上升沿 — A 下降沿 — 45ns 死区 — B 上升沿。
如何实现此目标是因为我会在.syscfg 中使用低电平有效互补设置反转、如果我选择高电平有效互补、则在初始化期间会变为高电平有效、这是不需要的。 有没有解决方案?
您好、
之前、引脚保持高电平在我启动 PWM
“直至我启动 PWM“是什么意思? 默认情况下、该引脚将保持低电平、您需要设置一个动作来将其强制为高电平、您可以使用 SW 动作限定器将其强制为高电平、直到您想要将其切换以像 PWM 一样开始切换。
在我停止 PWM 后、引脚应保持高电平。
在这里、您还可以使用软件动作限定器和一次性跳闸区来强制置于高电平。 如何设置跳闸区操作? 是否为软件强制跳闸区高电平?
谢谢
您好、
您的意思是“直至我启动 PWM“。 默认情况下、引脚将保持低电平、您需要设置一个动作来将其强制为高电平、您可以使用 SW 动作限定器将其强制为高电平、直到您想要将其切换以像 PWM 一样开始切换。
我的意思是、正如我发送的信号图像中所示、引脚 A 应该为高电平。 在我启动或启用 PWM 的时钟之前、如果我使用低互补 DB 设置、我已经看到引脚在初始化后保持高电平。 我已在.syscfg 文件中配置了一次性软件强制操作以在初始化后更改它、但它无法正常工作。 我使用的 API 是
// To force EPWM_setActionQualifierContSWForceAction(EPWM1_BASE, EPWM_AQ_OUTPUT_A, EPWM_AQ_OUTPUT_HIGH); // Release if just before enabling clock EPWM_disableActionQualifierContSWForce(EPWM1_BASE, EPWM_AQ_OUTPUT_A);
在这里、您还可以使用软件动作限定符和一次性跳闸区来强制设置高电平。 如何设置跳闸区操作? 软件是否强制跳闸区处于高位?
是的、我使用软件强制跳闸区、在.syscfg 中将 TZA 事件设置为高电压状态、并使用以下 API 进行跳闸和复位、但不工作。
// To Trip EPWM_forceTripZoneEvent(ARM1_BASE, EPWM_TZ_FORCE_EVENT_OST); // To Reset EPWM_clearTripZoneFlag(ARM1_BASE, EPWM_TZ_FLAG_OST);
如果出现任何问题、请告诉我
谢谢。
如果我理解正确的软件强制动作限定器 工作正常?
的时钟之前使用低互补 DB 设置、我已经看到引脚在初始化后保持高电平如果在我启动或启用 PWM
对于跳闸区软件强制操作、请确保将 epwmclkdiv 设置为/1。 有关这一点、也请参阅勘误表。

是的、我使用的是软件强制跳闸区、我在.syscfg 中将 TZA 事件设置为高电压状态、并使用以下 API 进行跳闸和复位、但不起作用
谢谢