工具/软件:
尊敬的专家:
我的客户想调整 UCD3138RJA 的 UVP 设置。 您能否评论 如何通过 PMBus 调整 UVP 设置?
此致、
兰迪
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.
您好 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