Thread 中讨论的其他器件:SysConfig、 C2000WARE
工具/软件:
您好 Champ、
我检查 SysConfig 中的死区配置。
通过圈出的选择、 EPwm1Regs.DBCTL.bit.IN_MODE 应设置为2、在我的末尾可以看到该位仍被设置为0。
SysConfig 这里是否有问题?
此致、
Johnny
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.
工具/软件:
您好 Champ、
我检查 SysConfig 中的死区配置。
通过圈出的选择、 EPwm1Regs.DBCTL.bit.IN_MODE 应设置为2、在我的末尾可以看到该位仍被设置为0。
SysConfig 这里是否有问题?
此致、
Johnny
尊敬的 Marlyn:
您能提供更多关于如何检查寄存器值的背景信息吗?
已在调试模式下对其进行检查。
此外、您使用的是哪个版本的 C2000Ware?
使用 最新的 C2000ware (C2000Ware_5_04_00_00)。
时基配置为向上/向下计数模式。
逐步调试并发现它在 EPWM_setFallingEdgeDeadBandDelayInput 行中将 IN_MODE 设置为2。 但在 HRPWM_setFallingEdgeDeadBandDelayInput (LLC_PRI_BASE、EPWM_FED_LOAD_ON_CNTR_ZERO)行中清除该位;如下所示。
另外,我尝试在 board_init ()之后手动写;。 然而、 开始执行时 epwm1A 上有一个250ns 脉冲。
由于 board_init ()中的配置不正确、因此在 syscfg 中禁用 DB 模块并通过该手写内容启用该模块。
epwm1A 的极性发生变化。 我怀疑这种极性变化可能会导致脉冲。
黄色波形为 Epwm1A、蓝色脉冲为 GPIO22。 我们可以看到 epwm1A 上有一个250ns 脉冲。
(1)。 为什么 IN_MODE 使用 第 HRPWM_setFallingEdgeDeadBandDelayInput 行并将其设置为0? 是否有任何违反/覆盖死区馈送信号的配置?
将 IN_MODE 设置为0x00的 HRPWM_setFallingEdgeDeadBandDelayInput 可以在 EPWM_EX8_DEADEMENT 示例中复制。
(2)。 要手动写这个,任何解决方法来解决脉冲?
谢谢。此致、
Johnny
您好 Johnny、
感谢您分享有关此问题的更多信息。
[引述 userid="488507" url="~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1492499/tms320f28p550sj-dead-band-configuration-in-sysconfig/5779034 #5779034"](1)。 为什么 IN_MODE 使用 第 HRPWM_setFallingEdgeDeadBandDelayInput 行并将其设置为0? 是否有任何违反/覆盖死区馈送信号的配置?
将 IN_MODE 设置为0x00的 HRPWM_setFallingEdgeDeadBandDelayInput 可以在 EPWM_EX8_DEADEMENT 示例中复制。
[/报价]HRPWM 代码生成错误地将 setFallingEdgeDelayCountShadowLoadMode 的 HRPWM 功能映射到并再次调用 setFallingEdgeDeadbandDelayInput。 我们将在下一个版本中对其进行更正。
(2)。 要手写此内容、任何解决脉冲问题的变通办法?
能否请在 Board_init ()之前确保 TBCLK 也设置为0。 我看到您在代码片段中调用 disable_main_ mos (),您能为测试目的注释掉吗? 我不确定此软件强制何时加载或清除、以及这对 EPWM1上的输出脉冲有何影响。
此致、
Marlyn