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.

[参考译文] CCS/TMS320F28069:ePWM 死区

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/883997/ccs-tms320f28069-epwm-dead-band

器件型号:TMS320F28069

工具/软件:Code Composer Studio

您好、热线:

我 用 CLKDIV 0和 HSPCLKDIV 0初始化 TBCTL 寄存器->时基使用 SYSCLK (例如80MHz)计时、然后使用半时钟周期-> 2* SYSCLK?调整 DB 发生器。 如何实现这一点。

此致

Gerfried

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

    Gerfried、

    为了确保我理解您的说法、请确认我的陈述。

    1. 您设置 TBCTL.CLKDIV = 0
    2. 您设置 TBCLK.HSPCLKDIV = 0
    3. 然后、您设置 PCLKCR1.EPWMxENCLK = 1
    4. 最后、您看到 DBCTL.HALFCYCLE 变为等于1、但您并不意味着写入该位、对吧?

    在设置外设配置之前、请确保已启用模块时钟。 其次、您是否尝试在代码中添加断点以准确确定何时设置 DBCTL.HALFCYCLE 位? 该位不是由硬件自动设置的、因此您的代码中的某个内容可能会这样做。

    此致、
    Cody  

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

    您好 Cody、

    感谢您的快速回答。

    初始化:前3个。 (PCLKCR1.EPWMxENCLK = 1)、然后1、2、4……

    但我只是不明白为什么 db 生成器与2*SYSCLKOUT 一起工作,而这是最高的

    ePWM 的频率为 SYSCLKOUT。

    是否有一个具有完整说明的文档?

    此致

    Gerfried

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

    Gerfried、

    《技术参考手册》介绍了使用此功能所需了解的所有内容。 在这种情况下、我认为我们不能准确提供半周期时钟的实现方式。

    请按照 TRM 中的说明操作、它应该非常简单、只需启用它、并确保根据新公式调整您的死区延迟值。


    此致、
    Cody