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.

[参考译文] UCD3138:通过 PMBus 设置 UCD3138RJAR UV

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

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1566265/ucd3138-ucd3138rjar-uv-setting-via-pmbus

器件型号:UCD3138


工具/软件:

尊敬的专家:

我的客户想调整 UCD3138RJA 的 UVP 设置。 您能否评论 如何通过 PMBus 调整 UVP 设置?

此致、

兰迪

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

    您好 Randy、

    我将提供星期五的回复。

    此致、

    Jonathan Wong

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

    尊敬的 Jonathan:

    您今天会提供建议吗?

    祝你一切顺利

    Colin Huang

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

    您好 Colin、

    是否要更改 Fusion GUI 中的 UV 或 PMBus 代码? 在 Fusion GUI 中更改 UV 阈值非常简单。

    如果您要更改在 UCD3138 中完成 UV 处理的方式、可以转到  PMBUS_topology.c 了解 UCD3138 将如何响应 UV 命令。 例如、如果 Fusion GUI 或某些 PMBus 控制器发送 0x44 PMBus 命令(根据 PMBus 规范定义为 VOUT_UV_FAULT_LIMIT)、然后 UCD3138 将执行  PMBUS_READ_WRITE_Vout_UV_FAULT_LIMIT ()  测量输出。 如果您想更改 UCD3138 将执行的操作来响应此命令、则可在此处执行此操作。

    例如、下面是 UCD3138 LLC 代码中与 UV 故障相关的代码片段。 在中提供了以下内容  PMBUS_topology.c 。  

    //UV Fault
    inline Uint8 pmbus_write_vout_uv_fault_limit(void)
    {
    	pmbus_dcdc_config[0].vout_uv_fault_limit = pmbus_buffer[1] + (pmbus_buffer[2] << 8);
    	configure_fault_levels();
    	return PMBUS_SUCCESS;
    }
    inline Uint8 pmbus_read_vout_uv_fault_limit(void)
    {
    	pmbus_read_two_byte_handler(pmbus_dcdc_config[0].vout_uv_fault_limit);
    	return PMBUS_SUCCESS;
    }
    
    Uint8 pmbus_read_write_vout_uv_fault_limit(Uint8 pmbus_read)
    {
    	if(pmbus_read)
    		return pmbus_read_vout_uv_fault_limit();
    	else
    		return pmbus_write_vout_uv_fault_limit();
    }
    
    //UV fault response
    
    
    inline pmbus_read_vout_uv_fault_response(void)
    {
    	  pmbus_read_one_byte_handler(pmbus_dcdc_config[0].vout_uv_fault_response);
    	  return PMBUS_SUCCESS;
    }
    
    inline pmbus_write_vout_uv_fault_response(void)
    {
    	pmbus_dcdc_config[0].vout_uv_warn_limit= pmbus_buffer[1];
    	return PMBUS_SUCCESS;
    }
    
    Uint8 pmbus_read_write_vout_uv_fault_response(Uint8 pmbus_read)
    {
    
    	if(pmbus_read)
    			return pmbus_read_vout_uv_fault_response();
    		else
    			return pmbus_write_vout_uv_fault_response();
    }
    
    //UV Warn
    inline Uint8 pmbus_write_vout_uv_warn_limit(void)
    {
    	pmbus_dcdc_config[0].vout_uv_warn_limit = pmbus_buffer[1] + (pmbus_buffer[2] << 8);
    	configure_warning_levels();
    	return PMBUS_SUCCESS;
    }
    inline Uint8 pmbus_read_vout_uv_warn_limit(void)
    {
    	pmbus_read_two_byte_handler(pmbus_dcdc_config[0].vout_uv_warn_limit);
    	return PMBUS_SUCCESS;
    }
    
    Uint8 pmbus_read_write_vout_uv_warn_limit(Uint8 pmbus_read)
    {
    	if(pmbus_read)
    		return pmbus_read_vout_uv_warn_limit();
    	else
    		return pmbus_write_vout_uv_warn_limit();
    }

    此致、

    Jonathan Wong