根据PMBUS 1.3.1版本协议,第二节8.2部分,本文将简述如何通过VOUT_COMMAND进行动态输出电压调节的方法,该方法适用于linear格式的所有PMBUS设备(TPS546C23, TPS546D24和多相控制器)。调压有几个步骤,以TPS546C23为例。TPS546C23的调压实质上是调节其内部的参考电压(EA_REF)。
1. 确定输出电压调压需求:对于一个750mV典型输出,设定其调压需求为15%,即:
2. 由外围硬件电阻分压比值,确定内部参考电压EA_REF的范围:
假设为8.5kΩ,为1.5kΩ,则比值为0.85。由上式可以确定EA_REF范围为:
3. 由EA_REF算式,确定VOUT_COMMAND范围,EA_REF的算式如下,出厂默认设置时,VOUT_SCALE_LOOP为1,VREF_TRIM,STEP_VREF_MARGIN_HIGH×OPERATION[5]和STEP_VREF_MARGIN_LOW×OPERATION[4]为0。一般而言,STEP_VREF_MARGIN_HIGH和STEP_VREF_MARGIN_LOW这两个寄存器是用来在量产时进行拉偏测试用,预先设定好STEP_VREF_MARGIN_HIGH拉偏上限,STEP_VREF_MARGIN_LOW拉偏下限,在产线上仅需要置位OPERATION寄存器[5]和[4]即可进行拉偏测试,非常简便。
由算式可知,VOUT_COMMAND的范围为:
4. 确定VOUT_COMMAND的最小步进值LSB。LSB可由VOUT_MODE(20h)确定。VOUT_MODE在PMBUS的定义中,是一个1 byte的寄存器,地址为20h,用于定义和输出电压有关的寄存器值的格式和步进值。
Bit[7]定义数据是相对值还是绝对值(影响过压和欠压保护相关值的定义),Bit[6:5]定义数据格式,Bit[4:0]定义步进值指数N。步进值计算方法如下,注意Bit[4:0]为补码形式,转化为十进制时需要先转化为原码。步进值计算方法为:
例子:以TPS546C23为例,VOUT_MODE=0x17。二进制为:0 00 10111,数据格式为绝对值,Linear格式,步进值指数补码为10111,首位为1,该值为负数,负数的原码是补码取反再+1,为01001,十进制为-9,则步进值为2-9,为0.001953125V,1.953mV。 注:TPS546C23的VOUT_MODE不可更改,为0x17。 5. 由3~4步的结果确定VOUT_COMMAND寄存器中的值。VOUT_COMMAND寄存器只能存二进制值,所以需要通过3~4步将得到的调压范围进行转化成计算机语言。算式为:
|