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/LAUNCHXL-F28027:BOOSTXL-C2KLED

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/683735/ccs-launchxl-f28027-boostxl-c2kled

器件型号:LAUNCHXL-F28027
主题中讨论的其他器件:controlSUITEBOOSTXL-C2KLED

工具/软件:Code Composer Studio

在 数字电源库中使用的大多数 PWMdriver 中、如 PWM_DualUpDwnCnt_CNF (int16 n、int16 period、int16 Mode、int16 Phase)、该"n"指的是什么?

我正在使用 BOOSTXL-C2KLED (C:\ti\controlSUITE\development_kits\c2000_LaunchPad\f2802x_examples\LED_Boost_PC)、在代码中、PWM 设置为(LED_Boost_PC_Main.c):

PWM_DualUpDwnCnt_CNF (1、prd、1、0);
PWM_DualUpDwnCnt_CNF (2、prd、0、400);
PWM_1ch_UpDwnCnt_CNF (3、prd、0、400);

在 ISR 中(LED_Boost_PC_ISR.asm)、它是:

PWMDRV_DualUpDwnCnt_init 1;EPWM1AB
PWMDRV_1ch_UpDwnCnt_init 2;EPWM2A

 C:\ti\controlSUITE\libs\app_libs\digit_power\f2802x_v3.5\Doc\DPLib.pdf 中的文档未对此进行详细说明。

此致、

维克多

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我将其与类似的硬件 TMDSRGBLEDKIT (C:\ti\controlSUITE\development_kits\Multi-DCDC-Color-LED-Kit_v1.0\LED-ColorMix_v1_0)进行比较

    Main.c (LED-ColorMix-Main.c)为:

    PWM_2ch_UpCnt_CNF (1、prd、1、0);
    PWM_2ch_UpCnt_CNF (2、prd、0、2);
    PWM_2ch_UpCnt_CNF (3、prd、0、2);
    PWM_2ch_UpCnt_CNF (4、prd、0、2);

    并且 ISR.asm (LED-ColorMix-ISR.asm)为:

    PWMDRV_2ch_UpCnt_init 1;EPWM1AB
    PWMDRV_2ch_UpCnt_init 2;EPWM2AB
    PWMDRV_2ch_UpCnt_init 3;EPWM3AB
    PWMDRV_2ch_UpCnt_init 4;EPWM4AB

    这让我感到困惑。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    大家好、我已经修改了 BOOSTXL-C2KLED (C:\ti\controlSUITE\development_kits\c2000_LaunchPad\F2802x_examples\LED_Boost_PC\LED_Boost_PC_Main.c):

    PWM_DualUpDwnCnt_CNF (1、prd、1、0);
    // PWM_DualUpDwnCnt_CNF (2、prd、0、400);org
    PWM_1ch_UpDwnCnt_CNF (2、prd、0、400);// PWM_1ch_UpDwnCnt_CNF (3、 PRD、0、400);// org

    似乎仍在工作...

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

    我在 PWM1-2上使用了 PWM_DualUpDwnCnt_CNF、并在开环配置上添加了 Duty4

    LED_Boost_PC_Main.c

    long Duty4=0; //开环占空比
    PWM_DualUpDwnCnt_CNF (1、prd、1、0);
    PWM_DualUpDwnCnt_CNF (2、prd、0、0);
    PWMDRV_DualUpDwnCnt_Duty2A =&Duty3;
    PWMDRV_DualUpDwnCnt_Duty2B =&Duty4;
    extern long * PWMDRV_DualUpDwnCnt_Duty2A;
    extern long * PWMDRV_DualUpDwnCnt_Duty2B;


    LED_Boost_PC_ISR.asm

    PWMDRV_DualUpDwnCnt_init 1;EPWM1AB
    PWMDRV_DualUpDwnCnt_init 2;EPWM2AB

    PWMDRV_DualUpDwnCnt 1.
    PWMDRV_DualUpDwnCnt 2.

    我甚至使用了 PWM_DualUpDwnCnt_CNF 和 PWM_1ch_UpDwnCnt_CNF

    LED_Boost_PC_Main.c

    PWM_DualUpDwnCnt_CNF (1、prd、1、0);
    PWM_1ch_UpDwnCnt_CNF (2、prd、0、0);
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    维克多

    我很难跟上您的回复。 您现在是否有套件可以满足您的要求? 您单击该主题已解决。 如果您有具体问题、请告诉我。

    为了回答您原来的问题、PWM_DualUpDwnCnt_CNF (Int16 n、Int16 Period、Int16 Mode、Int16 Phase)等函数中的"n"用于提取 ePWM 编号、因此保持"dbriver"函数为通用、而不是编码到任何特定的 ePWM 模块。


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

    因此、我仍然有同样的困惑。
    为什么在 BOOSTXL-C2KLED 中、它的声明如下所示。

    PWM_DualUpDwnCnt_CNF (1、prd、1、0);
    PWM_DualUpDwnCnt_CNF (2、prd、0、400);
    PWM_1ch_UpDwnCnt_CNF (3、prd、0、400);

    而在 TMDSRGBLEDKIT 中

    PWM_2ch_UpCnt_CNF (1、prd、1、0);
    PWM_2ch_UpCnt_CNF (2、prd、0、2);
    PWM_2ch_UpCnt_CNF (3、prd、0、2);
    PWM_2ch_UpCnt_CNF (4、prd、0、2);

    此致、

    维克多
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    维克多
    这是两个独立的开发套件。 当然、它们将具有不同的硬件、因此、配置代码将不同。

    除了它们不同之外、什么会导致您在不同声明之间的混淆?

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

    BOOSTXL-C2KLED 使用 PWM1AB 和 PWM2A (仅 B 未使用)。 而 TMDSRGBLEDKIT 使用 PWM1-4AB。
    因此、我的理解是:

    PWM_DualUpDwnCnt_CNF (1、prd、1、0);// PWM1A
    PWM_DualUpDwnCnt_CNF (2、prd、0、400);// PWM1B
    PWM_1ch_UpDwnCnt_CNF (3、prd、0、400);// PWM2A

    在 BOOSTXL-C2KLED 中、您能否为 PWM1B 声明 PWM_DualUpDwnCnt_CNF?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    维克多

    请查看您提供的函数的函数定义。
    查看 PWM_DualUpDwnCnt_Cnf.c、该函数的说明清楚地指出、这将配置所提供 EPPWM 的通道 A 和通道 B。
    例如、PWM_DualUpDwnCnt_CNF (1、prd、1、0)将配置 EPWM1A 和 EPWM1B。

    PWM_1ch_UpDwnCnt_CNF 函数(在 PWM_1ch_UpDwnCnt_Cnf.c 中定义)将仅配置 ePWM 的 A 通道。

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

    这就是我对它的理解。
    但是、查看代码(以及我如何理解代码的注释)。

    PWM_DualUpDwnCnt_CNF (1、prd、1、0);// PWM1 (A/B)
    PWM_DualUpDwnCnt_CNF (2、prd、0、400);// PWM2 (A/B)
    PWM_1ch_UpDwnCnt_CNF (3、prd、0、400);// PWM3A

    但是,如果看一下硬件(BOOSTXL-C2KLED),它只使用 PWM1 (A/B)和 PWM2A。

    此外、如果您查看 ISR (LED_Boost_PC_ISR.asm)、可以看到:

    PWMDRV_DualUpDwnCnt_init 1;EPWM1 (A/B)
    PWMDRV_1ch_UpDwnCnt_init 2;EPWM2A

    因此 main.c 和 isr.asm 都不同步。

    因此、我在 e2e.ti.com/.../2519328中的注释 表明、要么在 PWM1-2 (A/B)上使用 PWM_DualUpDwnCnt_CNF、要么在 PWM1 (A/B)上使用 PWM_DualUpDwnCnt_CNF、在 PWM2A 上使用 PWM_1ch_UpDwnCnt_CNF

    如果在 PWM1-2上同时使用 PWM_DualUpDwnCnt_CNF、请按如下方式进行编辑:

    LED_Boost_PC_Main.c

    long Duty4=0;//为 PWM2B 添加了开环占空比
    PWM_DualUpDwnCnt_CNF (1、prd、1、0);
    PWM_DualUpDwnCnt_CNF (2、prd、0、0);
    PWMDRV_DualUpDwnCnt_Duty2A =&Duty3;
    PWMDRV_DualUpDwnCnt_Duty2B =&Duty4;
    extern long * PWMDRV_DualUpDwnCnt_Duty2A;
    extern long * PWMDRV_DualUpDwnCnt_Duty2B;

    LED_Boost_PC_ISR.asm

    PWMDRV_DualUpDwnCnt_init 1;EPWM1AB
    PWMDRV_DualUpDwnCnt_init 2;EPWM2AB

    PWMDRV_DualUpDwnCnt 1.
    PWMDRV_DualUpDwnCnt 2.


    如果在 PWM1AB 上使用 PWM_DualUpDwnCnt_CNF、在 PWM2A 上使用 PWM_1ch_UpDwnCnt_CNF、请按如下方式编辑:

    LED_Boost_PC_Main.c

    PWM_DualUpDwnCnt_CNF (1、prd、1、0);
    PWM_1ch_UpDwnCnt_CNF (2、prd、0、0);

    我对上述代码的理解和编辑是否正确?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    维克多

    您的理解似乎与代码显示的内容一致。 我不知道您要具体做什么、但您可以使用任何函数、无论您需要使用这些函数。 硬件不同、因此在两者之间移植代码需要更改引脚和其他配置。 您可以根据需要随意修改代码和初始化。 您的最后陈述对我来说看起来很好。

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

    只需再次确认即可。
    BOOSTXL-C2KLED 的代码中是否存在一些错误?

    在 main.c 中、代码为:

    PWM_DualUpDwnCnt_CNF (1、prd、1、0);// PWM1 (A/B)
    PWM_DualUpDwnCnt_CNF (2、prd、0、400);// PWM2 (A/B)
    PWM_1ch_UpDwnCnt_CNF (3、prd、0、400);// PWM3A

    但是,如果看一下硬件(BOOSTXL-C2KLED),它只使用 PWM1 (A/B)和 PWM2A。

    在 ISR (LED_Boost_PC_ISR.asm)中、它是:

    PWMDRV_DualUpDwnCnt_init 1;EPWM1 (A/B)
    PWMDRV_1ch_UpDwnCnt_init 2;EPWM2A

    main.c 和 isr.asm 没有看到 tally。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    维克多

    看起来确实为 EPWM2B 和 EPWM3A 执行了一些额外配置。 我在代码中没有看到使用这些代码的其他任何位置、也没有在硬件中使用它们。 您可以随意将其剪切出来并测试它是否正常工作。 我不确定我们是否会在未来的版本中修复软件、但我将提交一个 TT 来进行研究。

    -Mark