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.

[参考译文] LAUNHXL-TMS57004:PWM 信号互补对的输出

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1086330/launchxl-tms57004-output-of-complementary-pairs-of-pwm-signals

部件号:LAUNHXL-TMS57004
“线程: HALCOGEN”中讨论的其它部件

我已经将  LAUNHXL-TMS57004用于电池管理系统应用,我想用相同的开发套件控制双向直流/直流转换器。

我想问您以下问题:

1)您能否为我提供 HALCOGen 的设置以生成互补的 PWM 信号对?

2)  LAUNCXLL-TMS57004支持多少对互补 PWM 信号?

请提前感谢。

 

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

    尼古拉奥斯,您好!

       是否需要两个 PWM 输出之间的可编程死区? ADC 采样是否由 PWM 信号触发?

    生成6对 PWM 输出没有问题。

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

    王启杰,您好!

    感谢您的快速响应。

    首先,我想生成两 个具有死机时间的互补 PWM 信号。 我可以在 HALCOGen HET 选项卡中生成两个互补的 PWM 信号,而不会出现死时间,但我想知道如何插入死时间。  

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

    尼古拉奥斯,您好!

    HAlcGen 不支持死机功能。 要插入停滞时间,您需要编写自己的 N2HET 代码来生成 PWM

    我创建了一个示例以生成两个带死区的 PWM 输出。 PWM 频率为10kHz,PWM1的占空比为38%,PWM2的占空比为41%:

    要使用此示例,您需要将 HETPFR[15:8]配置为0x7,并将 HETXOR 配置为0xC000;

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

    下面是 HET 代码:

    e2e.ti.com/.../pwm1ph.het

    和 HET IDE 上使用的项目:

    e2e.ti.com/.../pwm1ph_5F00_ls0432.zip

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

    从以下链接下载 HET IDE:

    https://www.ti.com/tool/HET_IDE

    HET IDE 是一种基于 Windows 的应用程序,它提供了一种简单的方法来开始开发和调试 HET 代码。

    仿真内核提供了程序执行的完全可见性,还提供了中断点功能,可以停止对特定指令的执行。 SynaptiCAD 的 Wavefront Pro 为波形创建和可视化提供了一个专业工具。

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

    您可以使用 HET IDE 项目属性 GUI 配置 HETPFR 和 HETXOR:

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

    感谢您的回复。 为了获得10kHz 的成功,我不得不在 .het 文件的代码:defper .eq1F40h 中更改 defper  。

    此外,我做 了以下更改,因为我想使用 NHET00和 NHET04引脚。

    PHAHI .eq4.

    PHALO .eq0

    二氧化碳当量22.

    此外,我激活了 XOR 选项卡中的引脚0_1,4_5。

    但是,当我向 LAUNCXL-TMS57004运行代码时,我会得到以下脉冲,这些脉冲不是互补的:

    请告诉我是否需要更改.het 代码中的其他内容? 此外,我可以在 CCS 代码中动态更改 PWM 占空比吗?

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

    这解决了我的问题:

    1) HALCOGen:

      a)启用 HET 驱动程序。

      B)在 HET/PWM 0-7选项卡中:

         启用 Pin0 并设置占空比=18%,极性高

         启用 Pin1并设置占空比=65%,极性高

         启用 PIN2占空比=15%,极性高

         启用 Pin3占空比=68%,极性低

    2)在 sys_main.c 中

    hetInit();
    hetREG1->DIR = 0x0000000FU;//将 HET 引脚0,1,2,3方向设为输出  
    hetREG1->XOR = 0x00000003U;//设置引脚[0] XOR 引脚[1], 引脚[2] XOR /引脚[3]

    3) NHET 00和 NHET02中的探头: