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.

[参考译文] PMP40988:pmp40988中 CMPA_SR_ON_TIME 和 AC_CHECK 的用途

Guru**** 2482225 points
Other Parts Discussed in Thread: PMP40988

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

https://e2e.ti.com/support/tools/simulation-hardware-system-design-tools-group/sim-hw-system-design/f/simulation-hardware-system-design-tools-forum/1417382/pmp40988-the-purpose-of-cmpa_sr_on_time-and-ac_check-in-pmp40988

器件型号:PMP40988

工具与软件:

您好!

我在 CCS 中介绍了 PMP40988参考代码。 在中  ttplpfc_settings.h 进行编程  TTPLPFC_CMPA_IS_SR_ON_TIME 变量定义为零(第23行)。 此变量将在中再次使用 ttlpfc.h 多次归档。  

例如、

//
//启用 xA xB 交换
//
#if TTPLPFC_CMPA_IS_SR_ON_TIME
TTPLPFC_HAL_ENABLE_SWAP_DEADBAND_OUTPUT (TTPLPFC_HIGH_FREQ_PWM1_BASE);
TTPLPFC_HAL_ENABLE_SWAP_DEADBAND_OUTPUT (TTPLPFC_HIGH_FREQ_PWM2_BASE);
#else
TTPLPFC_HAL_DISABLE_SWAP_DEADBAND_OUTPUT (TTPLPFC_HIGH_FREQ_PWM1_BASE);
TTPLPFC_HAL_DISABLE_SWAP_DEADBAND_OUTPUT (TTPLPFC_HIGH_FREQ_PWM2_BASE);
#endif

我在代码中找不到用于的任何行  TTPLPFC_CMPA_IS_SR_ON_TIME  变量变为1。 使用 if-else 条件的目的是什么?  

同样  TTPLPFC_PWM_AC_CHECK 变量在中定义为零(第62行)  ttplpfc_user_settings.h 初始文本文件。 但是、它的值在其他任何位置都不会改变。 它也在中使用  ttlpfc.h  初始文本文件。

例如、

#if TTPLPFC_PWM_AC_CHECK == 1.
TTPLPFC_rampGenerate();
TTPLPFC_dutyPU = TTPLPFC_dutyPU_DC * TTPLPFC_acSine;
TTPLPFC_pwmDriver ();
#else
TTPLPFC_dutyPU = TTPLPFC_dutyPU_DC;
TTPLPFC_pwmDriver_DC ();
#endif

因此、在这里、我也无法确定如果变量始终保持为零、if-else 条件将如何工作。 我们是否需要最初为不同模式定义设置文件中的值?

谢谢你。

Naveed

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

    变量"TTPLPFC_CMPA_IS_SR_ON_TIME"用于探索更改在代码中实现占空比的方式所产生的影响。 它不再使用、应从代码库中删除。

    类似" TTPLPFC_PWM_AC_CHECK" 从以前的代码库中复制但从未使用的代码。

    代码有几个类似这样的伪影需要清除和删除。