大家好!
最近在使用PMBus协议和一个电源模块进行通信,也就是华为的GDC1K5D5023-PD 电源模块。我之前也了解过Linear16数据格式,但是这个电源模块中把 N 设置为负-12,也就是把VOUT_MODE设置为了0x14,对此有点不理解。好像大多数情况下VOUT_MODE会设置为0x17或者0x15,如果这里N设置为-12,并且我的输出电压要设置为48V,那尾数部分得到的结果远超16位无符号整数的最大值了。还望大家解答下,谢谢了!
大家好!
最近在使用PMBus协议和一个电源模块进行通信,也就是华为的GDC1K5D5023-PD 电源模块。我之前也了解过Linear16数据格式,但是这个电源模块中把 N 设置为负-12,也就是把VOUT_MODE设置为了0x14,对此有点不理解。好像大多数情况下VOUT_MODE会设置为0x17或者0x15,如果这里N设置为-12,并且我的输出电压要设置为48V,那尾数部分得到的结果远超16位无符号整数的最大值了。还望大家解答下,谢谢了!
引用 皆我百晓生 小程序回复内容作答:
你好!
PMBus是一种用于通信和控制电源系统的数字通信协议。Linear16是一种PMBus中的数据格式,用于表示16位无符号整数。在Linear16中,数值范围为0到65535。
在你提到的情况中,将N设置为负数-12,并且将VOUT_MODE设置为0x14,这意味着输出电压的数值计算方式不同于常见的使用VOUT_MODE=0x17或0x15的情况。
根据PMBus协议规范,为了得到实际的输出电压,需要根据下列公式进行计算:
VOUT_actual = VOUT_MODE × N × 2^M
其中VOUT_MODE代表输出电压模式的编码值,N代表尾数,M代表指数。
由于你提到输出电压要设置为48V,这意味着你需要调整N和M的值以得到所需的输出电压值。请参考电源模块的文档或相关资料,了解具体的数值计算方法和设置方式。也建议根据所提供的电源模块型号,查找华为的官方资料或与其技术支持团队联系,以获取准确的信息和帮助。
希望能帮到你!