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.

[参考译文] TMS320F280049C:不为我的 ePWM1a 死区时间

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1245308/tms320f280049c-dead-band-not-woking-for-my-epwm1a

器件型号:TMS320F280049C
主题中讨论的其他器件:C2000WARE

您好!

我想在 ePWM1a 中有一个 RED 和 FED、但尽管将其配置为死区延迟、我在 ePWM 波形中看不到任何延迟。  这可能是一个问题。   

我的 ePWM 死区的配置如下

/**<死区配置*/
/**<通过 b 比较器将红色配置为 xxxms 的延迟*//待机校验
//EPWM_setDeadBandCounterClock (EPWM1_BASE、EPWM_DB_COUNTER_CLOCK_FULL_CYCLE);
ePWM_setDeadBandDelayMode (EPWM1_BASE、ePWM_DB_RED、TRUE);
ePWM_setDeadBandDelayMode (EPWM1_base、ePWM_DB_FED、true);

ePWM_setRisingEdgeDeadBandDelayInput (EPWM1_BASE、ePWM_DB_INPUT_EPWMA)
ePWM_setFallingEdgeDeadBandDelayInput (EPWM1_BASE、ePWM_DB_INPUT_EPWMA);

EPWM_setDeadBandDelayPolarity (EPWM1_BASE、EPWM_DB_RED、EPWM_DB_POLICY_ACTIVE_LOW);
EPWM_setDeadBandDelayPolarity (EPWM1_BASE、EPWM_DB_FED、EPWM_DB_POLICY_ACTIVE_HIGH);

EPWM_setRisingEdgeDelayCount (EPWM1_BASE、0x1ff);
EPWM_setFallingEdgeDelayCount (EPWM1_BASE、0x5ff);

EPWM_setDeadBandControlShadowLoadMode (EPWM1_BASE、EPWM_DB_LOAD_ON_CNTR_ZERO);
ePWM_setRisingEdgeDelayCountShadowLoadMode (EPWM1_base、ePWM_RED_LOAD_ON_CNTR_ZERO);
EPWM_setFallingEdgeDelayCountShadowLoadMode (EPWM1_base、EPWM_FED_LOAD_ON_CNTR_ZERO);

我附上示波器读数的快照

谢谢  

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

    尊敬的 Abayomi:

    请参阅死区部分中的此图:

    您能否确认以下信息:

    DBCTL[IN_MODE]为0

    DBCTL[DEDB_MODE]为1

    DBCTL[OUT_MODE]为1

    DBCTL[OUTSWAP]为1

    如果所有这些设置均正确、则会发生以下情况:

    EPWM1A 将进入上升沿延迟模块、

    上升沿延迟模块的输出将进入下降沿延迟模块

    下降沿延迟模块的输出将进入 OUTA、

    谢谢!

    卢克

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

    Luke、您好!

    感谢您的回复。

    我检查了寄存器并更改了代码以在寄存器中获得预期值 、但波形出错、并且 PWM 中没有死区。   

    我的代码/调试器视图的一个快照被包围、波形的一个快照也被包围

    显示寄存器值和代码会话的快照

    示波器通道3和4显示了

    我是否还应该发布 PWM 的整个代码。  我阅读了手册中的 ID 详细信息、并尝试了几种配置 ePWM 的方法、但仍然无法生成死区。

    谢谢

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

    尊敬的 Abayomi:

    您能否在 C2000Ware 中测试 ePWM 示例8? 该示例展示了一个具有上升沿和下降沿延迟的死区示例。 如果该示例有效、我们可以开始识别示例代码与您的代码之间的差异。

    此示例位于[C2000WARE Installation]/driverlib/f28004x/examples/epwm/epwm_ex8_deadband 中

    谢谢!

    卢克

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

    Luke、您好!

    感谢您的回复。  我看了看示例,他们都很好。

    不过、其中没有红色和 FED 延迟的示例。  

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

    Abayomi,

    根据我看到的代码、您的代码似乎是正确的。 您的 TBPRD 是什么? 可能上升沿和下降沿延迟值对于 TBPRD 来说太大。

    您还可以 在死区配置代码之前测试是否添加了 EALLOW 语句?

    谢谢!

    卢克