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.

[参考译文] UCD3138PSFBEVM-027:UCD3138 PSFB EVM27开发板欠压保护问题

Guru**** 2576845 points
Other Parts Discussed in Thread: UCD3138

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/930853/ucd3138psfbevm-027-ucd3138-psfb-evm27-development-board-undervoltage-protection-problem

器件型号:UCD3138PSFBEVM-027
主题中讨论的其他器件:UCD3138

你好。

我最近测试了 UCD3138 PSFB EVM27开发板的欠压保护功能。

我查看源代码:

#define VIN_ON (346)//已转换(2674)
#define VIN_OFF (340)//转换(2630)
#define VIN_UV_FAULT_LIMIT (346)

我尝试修改 Vin 的欠压关断点、我想将其从340V 调整到335V。 我修改了代码。

#define VIN_OFF (335)//

再次调试时、我发现欠压关断点仍为340V。 我不知道还有什么需要更改以降低欠压关断点。

谢谢你。

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

    浏览代码、我不会看到任何错误。   

    我认为最可能的选择是、您不会下载存储默认值的数据闪存。  您是否已设置 GUI 以下载数据闪存?

    如果您想使用内存调试器、以下是顺序:

    我将从标准中断中的调节状态处理程序函数中的代码开始、在这里使用它:

    否则为(VIN_NOT 足够|| VIN_UV_FAULT)//IF

    PMBus_STATUS_WORD |= PMBus_STATUS_WORD_INPUT;
    SUPPLY_STATE = STATE_FAULT;
    FAULT_TYPE =欠压;

    VIN_NOT 足够是在 system_defines.c 中定义的

    #define VIN_NOT_FLUMATE (ADC_Values.VIN_mon < PMBus_DCDC_CONFIG_ENDE[0].VIN_OFF)

    就个人而言、我不喜欢这些巧妙的#define -我更喜欢放入真正的变量-#define 使跟踪代码变得更困难。   

    您可以使用内存调试器检查并查看 PMBus_DCDC_CONFIG_ENMODE[0].VIN_OFF 中的值。   

    PMBus_DCDC_CONFIG_ENMODE[0].VIN_OFF 在 CONFIG_FUNCES.c 中的 PMBUS_DATA_translation 函数中计算:

    PMBus_DCDC_CONFIG_ENMODE[0].VIN_OFF =(UINT16)(线性11_translation (PMBus_DCDC_CONFIG[0].VIN_OFF、0)* VIN_Scaler);


    PMBus_DCDC_CONFIG[0]在 constants.c 中进行初始化、如下所示:

    #pragma DATA_SECTION (PMBUS_DCDC_CONFIG_CONSTICTIONS、".CONFIG")
    volatile const PMBus_DCDC_CONFIG PMBus_DCDC_CONFIG_CONSTERENTS_[DCDC_PAGE_nums]={DEFAULT_PMBus_DCDC_1_CONFIG};

    您还应该能够查看此值、并确保在您更改#define 中的值时该值发生更改。  请注意、它位于数据闪存中。  这样做是为了便于电源工程师使用 PMBus 命令更改值、然后将其写入数据闪存。  当然、在数据闪存中更改它们不会在生产代码中更改它们。   

    上面使用的常量数组在 pmbus_topology.h 中定义如下:

    #define DEFAULT_PMBus_DCDC_1_CONFIG{\
    输出电压、\
    switching_frequency _default、\
    VOUT_OV_FAULT_LIMIT、\
    IOUT_OC_FAULT_LIMIT、\
    TEMP_OT_FAULT_LIMIT、\
    IIN_OC_FAULT_LIMIT、\
    MODE_SWITCH_HI_UPPER、\
    MODE_SWITCH_HI_LOWER、\
    MODE_SWITCH_LOW_UPPER、\
    MODE_SWITCH_LOW_LOWER、\
    TON_THRESHOLD、\
    TOP_OFF_THRESHOLD、\
    LL_ENABLE、\
    CPCC_PMAX、\
    CPCC_IMAX、\
    CPCC_TON、\
    CPCC_ENABLE、\
    CPCC_TIME_OUT_EN、\
    0、\
    VIN_ON、\
    VIN_OFF、\
    VIN_OV_FAULT_LIMIT、\
    VIN_UV_FAULT_LIMIT、\
    VOUT_UV_FAULT_LIMIT}

    我建议在 CCS 中使用搜索和显示声明以及显示调用列表函数、这是我发现此编号链的方法。  它就像查看原理图并通过您想要了解的信号进行跟踪一样。  这是一种非常方便的基本固件调试技术、尤其是对于电源等具有大量数字信号的应用。