大家好、
我们的客户希望使用 TPS544C20通过 I2C 接口动态更改输出电压、目前我们可以通过读取/写入寄存 器成功实现 I2C 通信、但我们不了解如何通过 STEP_VREF_MARGIN_HIGH 和 STEP_VREF_MARGIN_LOW 寄存器设置输出电压。 您能帮我们提供更详细的解释和示例、说明如何设置它们以通过 I2C 接口更改输出电压吗?
非常感谢!
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.
大家好、
我们的客户希望使用 TPS544C20通过 I2C 接口动态更改输出电压、目前我们可以通过读取/写入寄存 器成功实现 I2C 通信、但我们不了解如何通过 STEP_VREF_MARGIN_HIGH 和 STEP_VREF_MARGIN_LOW 寄存器设置输出电压。 您能帮我们提供更详细的解释和示例、说明如何设置它们以通过 I2C 接口更改输出电压吗?
非常感谢!
有2种方法可以通过电源管理总线(PMBus)接口更改 TPS544C20的输出电压。
第一个是 VREF_TRIM (命令代码 D4)命令、它以 2mV/LSB 步长上下更改基准电压。
如果您设置 VREF_TRIM = 0001h (+1 LSB)、基准电压将从600mV 增加到602mV、输出电压将以相同比例增加 VOUT_TRIM = VOUT_nom *(600mV + Vref_TRIM * 2mV)/ 600mV。
例如、当输出为0.9V 时、基准电压增加2mV 将使输出电压增加3mV (2mV * 0.9V/0.6V = 3mV)。 对于1.2V 输出、每个2mV 的 VREF 调节都会改变输出电压4mV。 (2mV * 1.2V/0.6V = 4mV)
VREF_TRIM 还使用16位2的补码格式支持负值、因此 FFFFh =-1LSB、将基准电压降低2mV。
使用 VREF_TRIM 更改 VOUT 仅需要发送1条命令。
第二种方法是使用 Margin 命令。 这需要2条命令。 OPERATION (命令代码01h)命令用于选择是增大裕量、增大 VOUT 还是减小裕量、减小 VOUT、以及 STEP_VREF_MARGIN_HIGH (命令代码 D5h)或 STEP_MARGIN_LOW (命令代码 D6h)命令。 由于这需要两条命令、因此会稍微复杂一些、但即使 STORE_USER_ALL (命令代码15h)函数将更改存储到 NVM 中、TPS544C20也将返回默认输出电压、因为 OPERATION 命令不支持 NVM、并且始终在不启用裕量的情况下加电。
STEP_VREF_MARGIN_HIGH 和 STEP_VREF_MARGIN_LOW 的工作方式与上面的 VREF_TRIM 命令类似、将 FB 上的基准电压调整2mV / LSB、并使用相同的有符号2的补码格式、除了 STEP_VREF_MARGIN_LOW 只能接受负值、STEP_VREF_MARGIN_HIGH 只能接受正值。
示例:
使用 VREF_TRIM 调节1.0V 输出的 VOUT
1) 1) TPS544C20在 Vref = 0.6V 和 Vout = 1.0V 时加电
2) 2)要将 VOUT 从1.0V 增加到1.05V、我们会将基准电压从0.6V 增加到0.6V x (1.05/1.0V)= 0.630V、这会增加+30mV、因此我们需要向命令代码 D4写入+15LSB (000Fh)。 如下所示:
开始//器件地址+写入位//命令代码= D4 //低字节数据= 0Fh //高字节数据= 00h //停止
3)为了将 VOUT 从1.0V 降低到0.95V、我们将基准电压从0.6V 衰减到0.6V x (0.95/1.0V)= 0.570V、这会降低30mV、因此我们需要将-15lbs (FFF1h)写入 VREF_TRIM、如下所示:
开始//器件地址+写入位//命令代码= D4 //低字节数据= F1h //高字节数据= FFh //停止
要使用 STEP_VREF_MARGIN_HIGH 值执行相同的操作、我们需要:
1) 1)将调整值写入命令代码 D5 (数据低字节= 0Fh、高字节= 00h)
2) 2)将10101000'b (A8h)写入操作(命令代码01h)、以选择"on"和"Margin High、对故障执行"
这会将 输出电压更改为1.05V。 将操作写入00h 或80h 将使输出电压返回到1.0V。
要将输出电压更改为0.95V、我们需要:
1) 1)将调整值写入命令代码 D6 (日期低字节= F1h、数据高字节= FFh)
2) 2)将10011000'b (98h)写入命令代码01以选择"on"和"Margin Low、对故障执行"